15 декабря 2010 в 13:52

Технология «Спектр» из rss

Когда пользователи задают запросы к Яндексу, примерно в 20% случаев они формулируют запрос неоднозначно. Например, по запросу [наполеон] кто-то хочет найти полководца, а кто-то – рецепт торта. А задавая запрос [суши], человек может искать и ресторан с доставкой на дом, и рецепт блюда. Спектр возможных целей может быть очень широк – так же, как и спектр возможных ответов. И если пользователь не указал в поисковом запросе, что он ищет, то понять это крайне трудно.

Сегодня мы внедрили новую поисковую технологию, которая умеет учитывать множество неявных целей пользователей и показывать соответствующие ответы. Новая технология так и называется – «Спектр».

В основе работы «Спектра» лежит статистика поисковых запросов. Система исследует запросы всех пользователей Яндекса и выделяет в них различные объекты – это могут быть имена людей, названия фильмов и книг, модели автомобилей и тому подобное. Каждый объект относится к одной или нескольким категориям. Например, в запросе [колдрекс инструкция] название лекарства «Колдрекс» — объект, который попадает в категорию «лекарства». А объект «Пушкин» относится к двум категориям — «поэты» и «города». На данный момент «Спектр» выделяет около 60 категорий, и это количество будет еще расти. Знание категорий позволяет поисковой системе понимать разные значения слов в поисковых запросах.
habracut
Кроме того, «Спектр» умеет учитывать при поиске различные потребности пользователей. У каждой категории есть список возможных потребностей – тех намерений, с которыми пользователи ищут тот или иной объект. Например, когда люди ищут какой-нибудь товар, они, как правило, хотят купить его или почитать отзывы и обзоры. То есть для категории «товары» среди потребностей будут «купить», «отзывы» и «обзоры». Всего у категории может быть от двух-трех до нескольких десятков потребностей.

С учетом того, в какие категории попал объект, что люди обычно про него спрашивают, что пишут в интернете и т.д. «Спектр» оценивает процент людей, которые ищут этот объект с каждой из возможных целей. Эти данные используются при ранжировании результатов поиска по многозначным запросам. Используя их, «Спектр» вычисляет пропорции, в которых ответы на ту или иную тему должны быть представлены в результатах поиска. Найденные сайты упорядочиваются таким образом, чтобы спектр ответов соответствовал спектру вопросов. Таким образом, поиск Яндекса максимизирует вероятность того, что человек найдет именно то, что искал. Даже если он не указал это явно в своем запросе, а просто подумал.

«Спектр» анализирует поисковые запросы полностью автоматически – каждый раз рассматривается очень большой массив запросов, более пяти миллиардов. Их обработка происходит одновременно на нескольких сотнях машин. Чтобы данные не теряли актуальность, «Спектр» запускает процесс анализа несколько раз в неделю.

Кроме статистики запросов, «Спектр» умеет использовать данные из справочников и энциклопедий – в том числе из Википедии. Это помогает распознавать недавно появившиеся объекты, узнавать, какие значения объектов не укладываются ни в одну из существующих категорий, и добавлять новые..

Комментарии (25)

+6
GriGor1Z, #
100% неделя Яндекса на Хабре.
+2
kukutz, #
Надеюсь, вам нравится :)
+2
disinvis, #
нравится! :)
+2
CoF, #
То есть, до спектра результаты выдавались «от балды»?
0
Halt, #
Скорее не от балды, а «все в кучу». Релевантную, конечно, но кучу :)
+3
yafinder, #
Нет, не от балды. И до «Спектра» мы разными способами пытались учитывать, чего на самом деле хотят пользователи.

Но до «Спектра» в матмодели, на основе которой строится ранжирование, принималось, что результаты ответа на любой запрос можно линейно упорядочить по их релевантности. Грубо говоря, что все пользователи хотят одного и того же. Оказывается, что для многих запросов (примерно пятая часть потока) это слишком сильное упрощение. Для одних пользователей релевантнее одно, для других — другое, а единственной цифирки, позволяющей учесть интересы каждого, не существует.

«Спектр» как раз и учитывает существование подобных запросов явным образом, и строит выдачу, максимизирующую матожидание события «пользователь нашёл то, что искал» в расширенной вероятностной модели, явно учитывающей, гм, спектр запроса.
0
avenu, #
Чего-то все равно непонятно, вы все время говорите о пользователях во множественном числе. Я понимаю, что с помощью массы вы можете выделить отдельные категории из одного и того же слова. Но вот пользователь в единственном числе что получает, если он снова вбивает «Пушкин»? Учитывается его-то предыдущий поиск или выдача изменяется только при уточнении запроса?
+1
yafinder, #
Персональной выдачи для каждого пользователя у нас пока что нет (это не сарказм, а констатация). Выдача должна быть одна для всех пользователей в данном регионе.
+2
disinvis, #
«Найденные сайты упорядочиваются таким образом, чтобы спектр ответов соответствовал спектру вопросов.»
А если я залогинился на яндексе, поиск лично мои предпочтения не учитывает?
Ну к примеру я чаще всего ищу кулинарные рецепты и при запросе «Наполеон» хотел бы видеть в первую очередь рецепт торта. А первой ссылкой будет тот сайт, на который я чаще перехожу после поиска.

"«Спектр» умеет использовать данные из справочников и энциклопедий – в том числе из Википедии. Это помогает распознавать недавно появившиеся объекты"
Скайнет, блин.
+2
yafinder, #
Нет, персональной выдачи для каждого нет.
Пока что :)

На самом деле, это вовсе не такая очевидная (даже интерфейсно) фича, как может показаться. Ну вот, навскидку: захотелось вам показать у себя в блоге интересную (смешную, ошибочную, завораживающую, ...) выдачу Яндекса, постите вы урл, а каждый читатель видит вместо этого что-то своё. Нехорошо получится.
+2
disinvis, #
зато возрастает «матожидание события «пользователь нашёл то, что искал»» для конкретного пользователя.
В принципе меня в большинстве случаев и так поиск Яндекса устраивает, но всё равно спасибо за то, что продолжаете его улучшать!
0
ilnoor, #
у меня дежавю? habrahabr.ru/blogs/search_engines/107351/
+2
yafinder, #
Это разные вещи. blekko использует эксплицитную информацию (слэштеги), которую следует указывать явно, а «Спектр» — имплицитную.
0
AHDPEu, #
Поправив «данные из справочников» можно управлять чужими выдачами?
Получается, если я компанию конкурента каким либо образом представлю как рецепт пирога, то по нужным мне запросам, мой сайт будет выше?

Где бы почитать о новом алгоритме подробнее? Как с ним взаимодействовать?
Выдачу трясёт не по детски.

P.S. Я не оптимизатор сайтов, так — для себя интересно.
0
Halt, #
Мне кажется, чтобы сделать из компании торт (или не торт :), то надо очень сильно постараться. Ибо товарищи говорят о статистике.
0
yafinder, #
Подробнее многие вещи не описаны именно для того, чтобы максимально затруднить попытки «управлять выдачами» всякими чёрными способами (вроде спама в «справочниках»).

Вообще, какие-то детекторы попыток манипуляции встроены в Спектр загодя. Посмотрим, как скоро сигнализация начнет звенеть.
+1
aleXoid, #
Это как Магадан для SEOшников?
0
corsarmega, #
Да, весь Серч уже извергает поток кирпичей счастья в сторону Яндекса за такой шикарный подарок к НГ)) Теперь у сеошника поприбавится седых волос в паховой области от радости объяснений заказчику, почему перед бумом новогодных продаж сайт улетел в минус по выдаче…
+5
dom1n1k, #
Многие там сильно путают пониятия «оптимизатор» и «спамер» :)
Понравился пример из ветки:
Представьте: продвигались вы год по запросу: голубой слон, стоите в топ3, и тут кто нибудь сделал песню с названием: голубой слон, она стала популярной в итоге полезли mp3 сайты в топы.

А кому они нужны со своим продвижением, исключая клиента? Поисковая выдача загажена до последней крайности. По популярным коммерческим запросам спам на много-много страниц. Я понимаю, что многие просто вынуждены играть по правилам «дикой природы»: все спамят и мне как бы приходится, а иначе останусь честный, но где-то на 100500-ой позиции. Но пользователей это уже просто достало.
–2
maxgalkin, #
Надо убрать поле ввода запроса и оставить просто большую кнопку «Найти». Так будет ещё проще для пользователя!?
+1
yafinder, #
0
maxgalkin, #
Не путайте со спектральной выдачей! =)
0
skvorets, #
Расскажите Хабрахабру про механизм присвоения слову категорий.
(Если это не уникальная секретная разрабока:)
Я сейчас навскидку придумал два. Интересно!
+4
yafinder, #
Попытаюсь.
Используется несколько «источников знаний», которые лучше всего показывать на примерах.

1) название «московский государственный университет» имеет вид «что-то-там университет», значит, наверное, это может быть и организация
2) «мазда сх 7» имеет «расход топлива» и бывает «с пробегом» (это мы и из пользовательских запросов знаем, и в интернете можем «прочитать»), значит, наверное, это может быть и автомобиль
3) в википедии статья «Привидение, которое не возвращается» относится к категориям «Фильмы по алфавиту» и «Фильмы 1929 года», значит, наверное, это может быть и фильм
4) в выдаче по запросу «пирожки с капустой» есть сайт kuking.net, и пользователям он по нраву, значит, они могут быть и едой
5) отношения между категориями: предположим, мы уже знаем, что «запорожец» может быть автомобилем; тогда он точно может быть и товаром
6) для некоторых категорий можно перечислить значительный процент составляющих их объектов просто фиксированным списком, который получен из какого-то внешнего источника. Такой категорией могут быть, например, станции московского метрополитена или города России.

Знание из всех этих источников комбинируется. К сожалению, ни один из них нельзя считать ни абсолютно полным, ни абсолютно точным (отсюда оговорка «может быть») — везде могут быть ложные срабатывания («закон ньютона» не в категории «право», несмотря на источник типа 1), почти всё можно накручивать и спамить. Поэтому все эти способы дополняют и исправляют друг друга; здесь я уже не буду вдаваться в подробности (не потому, что секрет, а потому что скучно). Кроме того, приходится все время держать в голове, что объект может быть и в нескольких категориях одновременно.

Надеюсь, я, если и не ответил полностью на ваш вопрос, то хотя бы снабдил информацией к размышлению :)
+1
alno, #
Было бы еще неплохо иметь опцию отображения этих категорий в выдаче и фильтрации по ним

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