Андрей Плахов, Яндекс
Закончил с отличием механико-математический факультет МГУ в 2002 году. Защитил кандидатскую диссертацию по программированию в Институте прикладной математики им. Келдыша РАН. В Яндексе – три года, всё это время занимается повышением качества веб-поиска. Автор поискового релиза «Спектр». До Яндекса в течение семи лет делал компьютерные видеоигры. Внерабочие интересы: P-NP проблема, квантовые вычисления, структурная лингвистика, системная биология, рисование слонов шариковой ручкой.
Тема доклада
Поисковая технология «Спектр».
Тезисы
Большое количество запросов, отправленных в поиск Яндекса, формулируются неоднозначно. Например, по запросу [наполеон] кто-то хочет найти французского императора, а кто-то – рецепт торта. А задавая вопрос [пицца], человек может искать и ресторан с доставкой на дом, и рецепты, и даже фотографии пиццы. В основе работы «Спектра» лежит статистика поисковых запросов. Система исследует запросы всех пользователей Яндекса и выделяет в них различные объекты. Далее объекты распределяются по категориям: имена людей, названия фильмов и книг, города, модели автомобилей и т.д. «Спектр» учитывает, в какую категорию попадает объект, что обычно люди про него спрашивают, что пишут в интернете, и оценивает, какой процент людей ищут этот объект с каждой из возможных целей. Результаты поиска по многозначным запросам ранжируются с помощью вероятностной модели восприятия страницы результатов, при этом максимизируемой характеристикой является вероятность того, что пользователь получит нужный ему ответ.
8. Что такое «хороший поиск»?
Наивный подход
Находить больше правильных ответов
9. Что такое «хороший поиск»?
Наивный подход
Находить больше правильных ответов
Показывать их выше
10. Что такое «хороший поиск»?
Discounted cumulative gain (DCG)
pRelj – вероятность того,
что j-й результат релевантен
poswj – вес j-й позиции
11. Что такое «хороший поиск»?
Discounted cumulative gain (DCG)
Проблема: как правильно
выбрать веса poswj?
12. Как пользователи
просматривают выдачу?
Старт:
j=1
Смотрим на j-й результат
1-pRelj pRelj
Продолжаем? Есть ответ!
pContinue 1-pContinue
j:=j+1 Ответ не найден
13. Как пользователи
просматривают выдачу?
Старт:
j=1
Смотрим на j-й результат
1-pRelj pRelj
Продолжаем? Есть ответ!
pContinue 1-pContinue
j:=j+1 Ответ не найден
14. Как пользователи
просматривают выдачу?
Старт:
j=1
Смотрим на j-й результат
1-pRelj pRelj
Продолжаем? Есть ответ!
pContinue 1-pContinue
j:=j+1 Ответ не найден
15. Как пользователи
просматривают выдачу?
Старт:
j=1
Смотрим на j-й результат
1-pRelj pRelj
Продолжаем? Есть ответ!
pContinue 1-pContinue
j:=j+1 Ответ не найден
16. Как пользователи
просматривают выдачу?
Старт:
j=1
Смотрим на j-й результат
1-pRelj pRelj
Продолжаем? Есть ответ!
pContinue 1-pContinue
j:=j+1 Ответ не найден
17. Как пользователи
просматривают выдачу?
Старт:
j=1
Смотрим на j-й результат
1-pRelj pRelj
Продолжаем? Есть ответ!
pContinue 1-pContinue
j:=j+1 Ответ не найден
18. Как пользователи
просматривают выдачу?
Старт:
j=1
Смотрим на j-й результат
1-pRelj pRelj
Продолжаем? Есть ответ!
pContinue 1-pContinue
j:=j+1 Ответ не найден
19. Как пользователи
просматривают выдачу?
Старт:
j=1
Смотрим на j-й результат
1-pRelj pRelj
Продолжаем? Есть ответ!
pContinue 1-pContinue
j:=j+1 Ответ не найден
24. Неоднозначные запросы
[Ягуар] – автомобиль? Животное? Напиток?
10 результатов об автомобилях хорошо выглядят
на метриках, но устраивают далеко не всех
Что бы ещё показать?
25. Что же такое «Спектр»
Метод, используемый поиском
Яндекса
на неоднозначных запросах:
[МГУ]
[Иоанн Павел II]
[Черепахи]
[Аспирин]
[Ягуар]
Запущен в конце 2010 года
Работает на 15-20% запросов к Яндексу
26. Метрика качества: wide
pFound
Wi – процент i-той поисковой потребности
pfoundi – вероятность найти ответ на i-тую потребнос
Проблема: максимум, когда топ однороде
27. Метрика качества: wide
pFound
Wi – процент i-той поисковой потребности
pfoundi – вероятность найти ответ на i-тую потребнос
Проблема: максимум, когда топ однороде
28. Метрика качества: wide
pFound
Wi – процент i-той поисковой потребности
pfoundi – вероятность найти ответ на i-тую потребнос
Проблема: откуда мы узнаем потребност
30. Поток запросов
Их миллиарды!
И вот лишь некоторые примеры:
[как сделать мотоцикл из двух зажигалок]
31. Поток запросов
Их миллиарды!
И вот лишь некоторые примеры:
[как сделать мотоцикл из двух зажигалок]
[ресторан в темноте]
32. Поток запросов
Их миллиарды!
И вот лишь некоторые примеры:
[как сделать мотоцикл из двух зажигалок]
[ресторан в темноте]
[взрыв в индии сегодня]
33. Поток запросов
Их миллиарды!
И вот лишь некоторые примеры:
[как сделать мотоцикл из двух зажигалок]
[ресторан в темноте]
[взрыв в индии сегодня]
[оральный секс у летучих мышей]
34. Поток запросов
Их миллиарды!
И вот лишь некоторые примеры:
[как сделать мотоцикл из двух зажигалок]
[ресторан в темноте]
[взрыв в индии сегодня]
[оральный секс у летучих мышей]
[изменения в ст 290 ук рф]
35. Поток запросов: примеры
…
турбаза старый замок алтай
турбаза старый замок астрахань
турбаза старый замок на телецком
турбаза старый замок святогорск
турбаза старый замок телецкое
турбаза старый замок телецкое озеро
турбаза старый замок телецкое адрес
турбаза старый замок телецкое телефон
36. Поток запросов: примеры
…
audi a8 4.2 quattro расход топлива
audi a8 4.2 quattro расход
audi a8 4.2 quattro киев
audi a8 4.2 quattro цены
audi a8 4.2 quattro комплектация
audi a8 4.2 quattro комплектация 2003
audi a8 4.2 quattro обзор
audi a8 4.2 quattro отзывы владельцев
audi a8 4.2 quattro характеристики
…
37. Итак, что будем делать?
Используем лог запросов, и узнаем,
какие потребности есть у пользователей!
Увы, не всѐ так просто…
38. Итак, что будем делать?
Используем лог запросов, и узнаем,
какие потребности есть у пользователей!
Увы, не всѐ так просто…
Не все уточнения – «потребности»
39. Итак, что будем делать?
Используем лог запросов, и узнаем,
какие потребности есть у пользователей!
Увы, не всѐ так просто…
Не все уточнения – «потребности»
Они отличаются не только весами
40. Итак, что будем делать?
Используем лог запросов, и узнаем,
какие потребности есть у пользователей!
Увы, не всѐ так просто…
Не все уточнения – «потребности»
Они отличаются не только весами
Разные уточнения – но одна и та же
потребность
41. Зачем нам «семантика»?
Не все расширения полезны
[москва] и [москва тула]
[минута] и [минута славы]
[время] и [время намаза]
[юбки] и [юбки порно]
42. Зачем нам «семантика»?
Не все расширения полезны
[москва] и [москва тула]
[минута] и [минута славы]
[время] и [время намаза]
[юбки] и [юбки порно]
Нужно отобрать «правильные»
расширения
43. Использование семантики
Сосредоточимся на запросах о том, что нам
понятно
Фильмы
Книги
Люди
Гаджеты
Автомобили
Болезни и лекарства
…
Будем распознавать объекты этих категорий.
Для каждой из них - свои поисковые
46. Технология «Спектр»
выясняем, в какие категории попадает запрос
объединяем поисковые потребности, имеющие
смысл
для этих категорий
47. Технология «Спектр»
выясняем, в какие категории попадает запрос
объединяем поисковые потребности, имеющие
смысл
для этих категорий
назначаем им веса
48. Технология «Спектр»
выясняем, в какие категории попадает запрос
объединяем поисковые потребности, имеющие
смысл
для этих категорий
назначаем им веса
получаем лучшие документы для каждой
потребности
49. Технология «Спектр»
выясняем, в какие категории попадает запрос
объединяем поисковые потребности, имеющие
смысл
для этих категорий
назначаем им веса
получаем лучшие документы для каждой
потребности
50. Но всѐ сложнее
содержательные сложности
Сложности классификации
Неклассифицированные запросы
Непонятные результаты
Геолокальность
Временная зависимость
Опасные ответы
…и многие, многие другие
51. И ещѐ сложнее
технологические сложности
Обрабатывать миллиарды запросов,
классифицировать, устанавливать взаимосвязи
Получать ответы по всем поисковым потребностям
(не задавая 15 запросов вместо одного)
На каждый запрос
решать
по NP-полной задаче
• ѐ
…и многие, многие
другие
55. И ещѐ сложнее
Простыми методами давно уже не обойтись
Нам нужно:
больше знать об окружающем мире
56. И ещѐ сложнее
Простыми методами давно уже не обойтись
Нам нужно:
больше знать об окружающем мире
лучше понимать пользовательские сессии
57. И ещѐ сложнее
Простыми методами давно уже не обойтись
Нам нужно:
больше знать об окружающем мире
лучше понимать пользовательские сессии
лучше понимать естественные языки