Извлечение знаний на службе у Яндекс.Маркета

 

Технологии извлечения знаний занимают важное место среди технологий Яндекс.Маркета. Мы давно работаем в этом направлении: наши роботы находят обзоры товаров и документацию на сайтах производителей, другие компоненты классифицируют товары по категориям и привязывают их к карточкам моделей. О последнем достижении на этом поприще — выборе по параметрам во многих популярных категориях Яндекс.Маркета — мы рассказывали совсем недавно.

Как главных товароведов Яндекса, нас особенно заинтересовала формализация параметров товаров, то есть извлечение параметров и их значений из разнообразных текстовых описаний и приведение их к удобному для восприятия и обработки виду. Мы решили дополнить наш арсенал по извлечению знаний компонентом, который получил название «Формализатор».

habracut

Для начала мы выбрали 170 категорий, которые пользуются популярностью у наших пользователей. Для каждой из этих категорий был составлен список наиболее важных параметров. По выбранным параметрам осуществляется формализация предложений магазинов в рамках категорий. Формализатор разбирает текст предложения магазина на составные части, а затем распознает в полученном наборе элементов параметры товара, их значения и единицы измерения и устанавливает взаимосвязи между ними. Для различных параметров применяются ограничения на допустимые значения, а по результатам формализации разрешаются «конфликты», когда на одно значение претендует сразу несколько параметров. Как различить, например, где в строке «DDRII 4096Mb Geforce GTX 295 1792Mb» указана оперативная память компьютера, а какое значение показывает объем видеопамяти? Разбирающийся в компьютерах человек без труда ответит на этот вопрос, а как в подобных случаях быть Формализатору? Ему помогает «умение» учитывать контекст и распознавать в нем названия процессоров, видеокарт, материнских плат и много другого. Формализатор понимает, что рядом с типом оперативной памяти DDRII будет указан ее объем, а за названием видеокарты, вероятнее всего, следует объем видеопамяти. Формализатор также легко конвертирует единицы измерения из одной системы в другую и различает «правильные» гигабайты, равные 1000 мегабайт, в которых измеряется объем жестких дисков, и «неправильные», но популярные — объемом 1024 мегабайта, — используемые для оперативной памяти.

 

 

В результате из описания товара мы получаем осмысленный набор параметров, по которым наши пользователи могут быстро и просто выбрать товар во множестве популярных категорий Яндекс.Маркета. Причем, наш Формализатор одинаково хорошо справляется как с конфигурациями компьютеров, так и с матрасами, акустическими гитарами, роликовыми коньками и многим другим. Однако Формализатор тоже иногда ошибается, поэтому мы предоставили магазинам возможность «подстраховаться» — явно указать параметры товаров и их значения в специальном теге YML-файла, который мы недавно начали принимать от магазинов. Эти данные также оказываются полезными при обучении Формализатора.

Наш Формализатор трудится не покладая рук — сейчас он непрерывно обрабатывает около 1,5 миллионов предложений магазинов из 170 категорий товаров! А в перспективе этот уникальный компонент может приносить ещё больше пользы. К примеру, нам теперь по зубам прайс-листы, содержащие в одном поле через слеш целый клад данных, в которых с первого прочтения и человек разберется не сразу. Формализатору под силу обрабатывать практически любые спецификации, даже китайские и японские, для чего достаточно подключить соответствующие словари. Правда, мы не уверены, что это задача «первой необходимости» для Яндекс.Маркета :).


Первые результаты альтернативного применения Формализатора уже налицо: мы реализовали простую и удобную функциональность — факты о товарах на основе отзывов пользователей. А какие интересные задачи для нашего Формализатора видите вы?


Команда Яндекс.Маркета, извлекаем знания

.
+61
28 июня 2010, 16:52
18

комментарии (31)

–25
PATRICK17 #
1й коммент
НЛО прилетело и опубликовало эту надпись здесь
+1
Kastrulya0001 #
Интереснее в блогах обзоры читать, ИМХО. Покороче и по делу, жаль что Яндекс не собирает и такие обзоры.
0
alexonic #
Доброе утро. Мы собираем обзоры только с проверенных сайтов, например, mobile-review.com. В блогах, к сожалению, редко можно найти стоящие обзоры. У вас есть примеры таких обзоров?
0
Kastrulya0001 #
Я их не собираю. Когда собираюсь что-то купить, ищу тем же Яндексом.
Может вам просто к товару помимо того, что есть добавить поиск обзоров, типа «найти другие обзоры». И написать алгоритм поиска этих обзоров.
Вот могу свой обзор Samsungа только показать, или Panasonicа гыгы))
Но если серьезно, то про хлебопечку подобную я у вас обзоров не нашел, написал сам. И только чуть позже появилось еще пара обзоров в блогах, на Маркете в это время ничего не было.
+2
bobain #
Интересно было бы прочитать про технологии. Пока сказка, какая-то: «жил-был Формализатор».
0
alexonic #
Написано немного в игровой форме, а какие подробности Вас интересует помимо того, что мы рассказали?
0
bobain #
Использующиеся технологии, примерная структура формилизатора. Про любые технические подробности было бы интересно.
0
bobain #
Хотя даже не столько технические, сколько архитектурные подробности интересуют.
+1
alexonic #
Архитектурно выглядит так:
Есть веб-сервис, в котором знания о предметной области настраиваются в xml конфигурации. На вход подаётся текст и тип предметной области, а на выходе после разбора получаем пары ключ-значение.
Для контент-менеджеров в бэкофисе есть интерфейс редактирования предметной области, а также интерфейс формализации предложений для обработки новых предложений.
0
bobain #
Спасибо! Уже интереснее.
+8
rapkasta #
Конечно, гиковская статья. Вот только итак понятно, что есть «некий формализатор».
Более интересно узнать как работает этот самый формализатор, описание которое приведено в тексте слишком очевидно…

Повторюсь, статья хорошая, но гиковского в ней мало… и она больше похожа на рекламу, но собственно корп.блог от части для этого и существует.
–1
simpl #
Хмм, ну можно попробовать посмотреть, не публиковал ли Яндекс каких научных статей на эту тему. Но я подозреваю, что там идёт какой-нибудь из более-менее стандартных алгоритмов семантического анализа данных, только «заточенный» под конкретные категории товаров.

Ну а вообще — коммерческая тайна же, кто тут алгоритмы будет расписывать?
+2
mkaz #
У Гугла тоже коммерческая тайна, что не мешает научной статье о PageRank иметь десятки тысяч цитат и находиться в свободном доступе.
Как раз интересны-то не детали, а довольно общие вещи: что за алгоритм, да как заточен.

Кстати, если в области поиска смысл коммерческой тайны очевиден, то есть ли она в алгоритмах Маркета? Там ведь ранжирования никакого особенного нет, магазины, с сайтов которых система собирает данные, заранее известны — с ними и так об оптимизации договорились, YML тому пример.
0
WetPrincess #
А почему обязательно ранжирование? Конкурентов Маркета еще никто не отменял.
0
simpl #
И да, о подобных алгоритмах всегда на mathlingvo почитать можно. И послушать. И даже посмотреть (:
0
etz #
Да, очень интересный сайт. Может порекомендуете подобные?
0
alexonic #
А что вас конкретно интересует?
+1
rimmer333 #
Если б он умел на вопросы отвечать, по типу: «Will it blend?» «А на нем крузис пойдет?» или там «Full HD сможет воспроизводить?», сопоставив данные из разных источников, это уже будет круто. Я надеюсь, к тому и идет.
0
alexonic #
Я тоже на это надеюсь, что скоро в спецификациях производителя простыня параметров заменится на понятные пользователю вещи.
+3
rimmer333 #
Мы решили дополнить наш арсенал по извлечению знаний компонентом, который получил название «Терморектальный анализатор».
–1
grokinn #
на форуме оверклокеров есть ветки типа собираем игровой комп ценовые диапазоны а б в г. вот если бы такую базу яндексу, типа покажи ка мне на что проапгрейдится чтоб была топовая машинка, а теперь подешевле и чтоб разгонный потенциал и там ссылочки на обзоры оборудования, вот был бы гиковый сервис.
+1
4epT #
На самом деле система ответов на вопросы была очень полезной. Например:
«Комп, что бы пошёл Crysis 2», «Телек в большую команату, смотреть блюрей», «Мафон в пацансткую тачку» 8) и т.д.
–1
stas_agarkov #
это никому не нужно
как и долбанные голосовые и сенсорные технологии
+7
gene4000 #
А в конце хотелось бы прочитать примерно следующее: «вся эта радость доступна в виде API. вы можете загружать текст и получать распознанные характеристики, или запросить свойства конкретной модели. Подробное описание _тут_»
0
alexonic #
Такие идеи носятся в воздухе. А расскажите, пожалуйста, если мы сделаем такой сервис, то как Вы будете его использовать?
0
gene4000 #
Первое, что приходит в голову. Большее количество магазинов захотят работать с маркетом, потому что смогут получить хорошую структуру свойств товаров. Следовательно сами разбираться не придется. В маркете же не придется повторно разбирать эти данные (не знаю как это происходит, но в случае, если интернет-магазин заливает данные, то в каждом случае нужно делать разбор и проверку, а если у магазина уже такая структура, то здесь получится немного сэкономить).
0
watchcat #
Ребята, есть что почитать на тему information retrieval? Поделитесь ссылками пожалуйста.
0
mkaz #
Introduction to Information Retrieval — очень толковая книга, о чем говорят в том числе и отзывы, приведенные на сайте Amazon.
0
WetPrincess #
А вот рекомендованная выше книга в доступном для чтения виде:
nlp.stanford.edu/IR-book/information-retrieval-book.html

И еще можно посмотреть:
singhal.info/ieee2001.pdf
www.scribd.com/doc/13742235/Information-Retrieval-Data-Structures-Algorithms-William-B-Frakes
0
oen #
А какие библиотеки используются для получения информации, свои или, например, Apache UIMA?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.