34
1

"Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

  • Upload
    yandex

  • View
    4.322

  • Download
    1

Embed Size (px)

DESCRIPTION

Традиционный подход к поиску рассматривает запросы пользователей вне контекста их личных предпочтений, истории обращения к поисковику, предшествующей активности в браузере. Использование таких данных способно существенно улучшить качество поиска, сделав его персональным. Как правило, различают «длинную» и «короткую» персонализации. Длинная персонализация основана на постоянных предпочтениях человека: привязанности к конкретным ресурсам, общей заинтересованности в какой-либо тематике. Короткая персонализация, напротив, касается сиюминутных потребностей. Она основана на контексте конкретного запроса — учитываются последние обращения человека к поисковику и те страницы, которые он посетил непосредственно перед данным запросом. Одной из главных проблем при построении персонального поиска становится обработка и анализ данных о пользовательском поведении. В докладе мы продемонстрируем, как она решается, и как это помогает делать короткую персонализацию.

Citation preview

Page 1: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

1

Page 2: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

2

Персонализация поиска: контекстное ранжирование

Юрий Устиновский

Page 3: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

3

Персонализация

Общая схема

Page 4: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

4

«Интернет, 12 декабря 2012 года. Яндекс запустил персональный поиск. Он предлагает пользователям подсказки и ответы, учитывая их личные интересы и предпочтения. Так, по запросу [гарри поттер] любителю чтения Яндекс найдет прежде всего книгу, а не фильм или игру».

Корпоративный блог http://company.yandex.ru/

Page 5: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

5

Персонализация

!  Цель – сократить время от первого задания запроса до решения поисковой задачи

!  Данные – информация о том откуда, когда и кем задан запрос

!  Метод – ранжирование документов с учетом персонального контекста

Page 6: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

6

Персонализация

Можно выделить два типа персонализации поиска: !  Длинная персонализация

Учитывает устойчивые предпочтения пользователя (знание языков, образование, профессиональные интересы, хобби)

!  Короткая персонализация

Ориентируется на сиюминутные потребности пользователя (поиск товаров, услуг, отзывов, статей на заданную тему)

Page 7: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

7

Длинная персонализация

Как должна выглядить выдача по запросу «вендетта»? Для меломана и любителя кино по-разному.

Page 8: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

8

Длинная персонализация

Page 9: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

9

Длинная персонализация

Page 10: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

10

Короткая персонализация

Пользователи взаимодействуют с поисковой системой непрерывно

!  Поисковые сессии

–  Последовательности запросов связанных одной информационной потребностью

–  Действия на поисковой выдаче

Используем для извлечения контекста о запросе. Как должна выглядить выдача по запросу «ягуар»?

Page 11: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

11

Контекстное ранжирование

Ягуар  

Дикие  кошки  

Mercedez  benz  s  

Яга   Кощей  Иванушка  дурачок  

По-разному для людей искавших до этого информацию по запросам «дикие кошки» и «mercedes benz s»  

Page 12: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

12

Поисковые сессии

0% 5%

10% 15% 20% 25% 30% 35% 40% 45%

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Дол

я за

прос

ов

Позиция запроса в поисковой сессии

Поисковые сессии помогают в персонализации >60% запросов.

Page 13: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

13

Поисковые сессии

Однако, все еще не работают для ~40% запросов. Выход – найти новый источник контекста для данного запроса: !  Навигационные сессии

–  Действия в браузере помимо переходов с выдачи Яндекса: переходы по ссылкам, переключение между вкладками, открытие страниц из закладок.

Навигационная сесиия, объединенная одной информационной потребностью называется логической сессией.

Page 14: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

14

Логические сессии

Выделение логической сессии внутри навигационной сложная задча. •  "Intent-­‐Based  Browse  AcGvity  SegmentaGon".  35th  European  Conference  on  IR  Research,  ECIR  2013  h\p://bit.ly/yuraust13  

!  Эвристический алгоритм: относим две соседние страницы навигационной сессии к одной логической сессии, если между их посещением прошло меньше T минут.

Page 15: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

15

Логические сессии

0% 5%

10% 15% 20% 25% 30% 35% 40% 45%

0 1 2 3 4 5 6 7

Дол

я се

ссий

Количество страниц, просмотренных пользователем до задания запроса

Логические сессии потенциально помогают в персонализации 59% запросов, для которых не работают поисковые сессии

Page 16: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

16

Контекстное ранжирование

Используем логические сессии

Page 17: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

17

Контекстное ранжирование

Doc(1)   Doc(2)   Doc(3)   Query  

Url(1)  

Url(2)  

Url(3)  

Url(4)  

Url(5)  

Url(6)  

Url(7)  

Url(8)  

Url(9)  

Url(10)  

Контекст – документы Doc(1), Doc(2), Doc(3). Хотим упорядочить страницы Url(i) поисковой выдачи с учетом контекста.

Page 18: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

18

Контекстное ранжирование

Возникают следующие задачи 1.  Понять полезен ли контекст для запроса. 2.  Если «да», то измерить релевантность каждого из документов Url(i)

контексту.

Обе задачи решаются при помощи машинного обучения.

Page 19: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

19

Персональные оценки релевантности

!  Ключевой элемент любого алгоритма машинного обучения – обучающее множество и разметка. В персональном поиске особенно трудно собрать оценки релевантности.

Page 20: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

20

Персональные оценки релевантности

!  Посмотрим, какие документы пользователи просматривают, и попробуем их отранжировать исходя из контекста так, чтобы показывать выше.

Плюсы: возможность неограниченно наращивать обучающее множество

Минусы: необходимость очистки данных от бесполезных сессий и шума

Page 21: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

21

Признаки

!  Следующим ингридиентом машинного обучения являются признаки, численные характеристики документа, позволяющие оценить его релевантность.

!  Для каждого документа Url(i) мы извлекаем от 42 до 267 признаков, характеризующих запрос, неперсонализированную выдачу, текущую логическую сессию, её связь с нашим документом.

Page 22: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

22

Основные признаки

1. Характеристики запроса 1.  Сколько документов найдено 2.  Насколько разнообразна выдача 3.  Навигационный ли запрос

Page 23: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

23

Основные признаки

2. Характеристики логической сессии 1.  Время проведенное на Doc(j) 2.  Вероятность сформулировать запрос после Doc(j) 3.  Количество страниц в логической сессии

Page 24: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

24

Основные признаки

3. Близость между Doc(j) и Url(i) 1.  Вероятность того, что Doc(j) и Url(i) окажутся в одной логической

сессии 2.  Совпадают ли Doc(j) и Url(i), их хосты 3.  Pointwise mutual information

Page 25: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

25

Основные признаки

4. Близость между Doc(j) и Url(i) аггрегированная по всем документам Doc(j)

Page 26: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

26

Основные признаки

5. Позиция Url(i) в неперсонализированной выдаче

Page 27: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

27

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

Корпоративный блог http://company.yandex.ru/

Page 28: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

28

Метод машинного обучения

!  Обучаем Matrixnet на признаках, минимизируя квадратичное отклонение от разметки на обучающем множестве.

!  Ранжируем согласно обученной оценке.

!  Как понять, работает ли наше контекстное ранжирование?

Page 29: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

29

Метрика MRR (mean reciprocal rank)

Ключевая метрика Чем больше, тем лучше. !  Увеличивает ли наше персональное ражирование MRR?

!  Можно понять анализируя исторические логи.

Page 30: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

30

Метрика MRR (mean reciprocal rank)

!  Идея: смотрим как изменилось бы значение MRR, если бы и раньше выдача была персонализированной.

!  Предположение: если документ кликнут в старой выдаче, то он будет кликнут и в новой. Как следствие, получаем оценку снизу на реальный MRR нашего алгоритма

Page 31: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

31

Результаты

3.4%

3.4%

3.5%

3.5%

3.6%

3.6%

3.7%

3.7%

3.8%

3.8%

1 2 3 4 5 6 7 8 9 10

Отн

осит

ельн

ое у

лучш

ение

MRR

на

затр

онут

ых

запр

осах

Анализируемая длина логической сессии

Page 32: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

32

Выводы

!  Использование навигационного контекста значимо улучшает качество ранжирования

!  Данных уже об одной странице, посещенной перед заданием запроса достаточно, чтобы улучшить ранжирование

!  Более тонкий анализ пользовательского поведения потенциально может значительно улучшить контекстное ранжирование

Page 33: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

33

Спасибо за внимание

Page 34: "Анализ поведения пользователей и персонализация поисковой выдачи". Юрий Устиновский, Яндекс

34

Юрий Устиновский Исследователь-разработчик

[email protected]