"Анализ неявных предпочтений пользователей"...

34
1

Upload: yandex

Post on 22-May-2015

10.443 views

Category:

Documents


0 download

DESCRIPTION

Анализ неявных предпочтений пользователей, выраженных в переходах по ссылкам и длительности просмотра страниц, является важнейшим фактором ранжирования документов в результатах поиска или, например, показа рекламы и рекомендации новостей. Алгоритмы анализа кликов хорошо изучены. Но можно ли узнать что-то ещё об индивидуальных предпочтениях человека, используя больше информации о его поведении на сайте? Оказывается, траектория движения мыши позволяет узнать, какие фрагменты просматриваемого документа заинтересовали пользователя. В докладе речь пойдёт о методах сбора данных и алгоритмах анализа поведения пользователя по движениям мыши, а также о применении этих методов на практике. Они позволяют существенно улучшить формирование сниппетов (аннотаций) документов в результатах поиска. Будут представлены свободно доступный программный код, а также коллекция данных о поведении пользователей с привязкой к поисковому запросу. Мы надеемся, они вдохновят исследователей на создание новых методов анализа неявных поведенческих сигналов. Работа с описанием этих алгоритмов была отмечена дипломом «Best Paper Shortlisted Nominee» на международной конференции ACM SIGIR в 2013 году.

TRANSCRIPT

Page 1: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

1

Page 2: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

2

Анализ неявных предпочтений пользователей Михаил Агеев

Page 3: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

3

Emory Intelligent Information Access Lab

Mikhail Ageev Dmitry Lagun Eugene Agichtein

Page 4: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

4

Цель: улучшение поисковых аннотаций

Критерии качества сниппетов !  Readability –  Сниппет должен быть

удобочитаемым !  Representativeness –  Сниппет должен показывать части документа,

которые соответствуют запросу пользователя !  Judgeability –  Хороший сниппет должен содержать ответ на вопрос

пользователя или указание на то, что ответ есть в документе

Page 5: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

5

Алгоритмы выделения сниппетов

!  Сопоставление текста документа с запросом

!  Учет местоположения текста, структуры документа

!  Текстовых факторов недостаточно!

Page 6: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

6

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

–  How many pixels must be dead on a iPad 3 before Apple will replace it?

!  Запрос

–  [how many dead pixels ipad 3 replace] !  Фрагмент с ответом

–  iPad: 3 Dead Pixel -> Apple will replace a new LCD for you

Идеальный сниппет!

Page 7: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

7

Траектория курсора мыши коррелирует с траекторией зрачка

Q. Guo and E. Agichtein. Towards predicting web searcher gaze position from mouse movements. // CHI, 2010. !  Пример: –  Find the worst drought that happened

in the history of the US !  Запрос: –  [worst drought in US]

The worst droughts in the history of the United States occurred during the 1930s and 1950s, periods of time known as 'Dust Bowl' years Идеальный сниппет!

Page 8: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

8

Идея: выделение сниппетов на основе поведения пользователей

!  Поведение пользователей на найденной странице (scroll, движения мыши) позволяет выявить фрагменты, интересующие пользователя

!  Данные о поведении можно собирать при помощи JavaScript browser API

!  Выделение заинтересовавших пользователя фрагментов может позволить улучшить сниппеты

Page 9: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

9

Задачи

!  Как собрать реалистичные данные поведения пользователей? –  В том числе движения мыши на страницах после SERP !  Как по движениям мыши определить фрагменты, заинтересовавшие пользователя? –  Объём данных: около 400 событий на каждый просмотр страницы –  Разные устройства ввода и версии браузеров –  Разные привычки пользователей !  Как объединить данные поведения и текстовые факторы?

Page 10: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

10

План !  Введение !  Метод сбора данных о поведении

пользователей поисковой системы, включающих движения мыши

!  Предсказание фрагментов документов, заинтересовавших пользователя

!  Улучшение поисковых аннотаций (сниппетов) на основе анализа поведения

!  Улучшение поиска ответов на вопрос в Web на основе анализа поведения

!  Заключение

Page 11: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

11

UFindIt: инфраструктура для сбора данных Сбор данных о поведении пользователя !  Цель поиска: найти ответ при помощи поисковой системы !  Игрок находит ответ и подтверждающий URL

Участники !  Amazon Mechanical Turk –  HIT = игра из 12 вопросов !  Мотивация игрока –  Гарантированная оплата $1 за игру –  Бонусы для 25% лучших игроков –  Соревнование! Азарт! !  Проверка данных: ReCaptcha + Автоматическая

проверка выполнения правил игры

Page 12: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

12

Протоколирование: Proxy + JavaScript !  HTTP reverse proxy

–  Пользователь использует привычный интерфейс поиска –  HTML-ссылки преобразуются на лету –  В каждую страницу встраивается код JavaScript

для отслеживания поведения

Page 13: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

13

EMU.js: связь координат мыши с текстом !  Проблема

–  Позиция мыши представлена координатами в окне браузера –  Координаты текста зависят от разрешения экрана, версии и настроек браузера !  Решение

–  Вычислить координаты всех слов на клиенте и сохранить на сервере

Page 14: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

14

Структура данных

Для каждого просмотра страницы известны !  Запрос пользователя к поисковой системе

!  URL и содержание документа

!  Координаты каждого слова в документе

!  Лог действие пользователя: движения мыши, клики, прокрутка

!  Заданный запрос (цель поиска)

!  Ответ, который пользователь отправил

Поведенческие факторы

Обучающая и тестовая выборки

Только для экспериментов

Page 15: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

15

Статистика по собранным данным   !  Код и данные свободно доступны http://ir.mathcs.emory.edu/intent/

109 Пользователей 12 Вопросов

1,175 Поисковых сессий 3,295 Запросов 2,997 Просмотров страниц

662 Различных URL 1,454,257 Атомарных событий

707 Пар запрос-URL (сниппетов) с полным набором данных для экспериментов

Page 16: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

16

План

!  Введение !  Метод сбора данных о поведении

пользователей поисковой системы, включающих движения мыши

!  Предсказание фрагментов документов, заинтересовавших пользователя

!  Улучшение поисковых аннотаций (сниппетов) на основе анализа поведения

!  Улучшение поиска ответов на вопрос в Web на основе анализа поведения

!  Заключение

Page 17: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

17

Предсказание интересных фрагментов !  Текст HTML-страницы разбивается на фрагменты по пять слов

!  6 поведенческих факторов

–  Длительность нахождения курсора мыши над фрагментом –  … рядом с фрагментом (±100px) –  Средняя скорость курсора мыши над фрагментом –  … рядом с фрагментом –  Время показа фрагмента в видимой части окна просмотра (scrollbar) –  Время показа фрагмента в середине окна просмотра !  Предсказание вероятности интересного фрагмента

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

Page 18: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

18

Обучающее множество

!  Положительные примеры –  Фрагменты, пересекающиеся

с ответом пользователя !  Отрицательные примеры –  Все остальные фрагменты

Обучающее множество неполно: мы ничего не знаем об остальных фрагментах, которые пользователь посмотрел

!  Пример –  Вопрос: «Which metals float on

water?» –  Ответ пользователя: «lithium,

sodium, potassium»

Page 19: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

19

Предсказание интересных фрагментов

Чем выше предсказанная интересность фрагмента (BScore), тем больше пересечение с ответом пользователя (ROUGE)

Page 20: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

20

Наиболее важные факторы

! DispMiddleTime – время, в течение которого фрагмент текста был виден на экране

! MouseOverTime – время, в течение которого курсор мыши был над фрагментом текста

Page 21: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

21

План !  Введение !  Метод сбора данных о поведении

пользователей поисковой системы, включающих движения мыши

!  Предсказание фрагментов документов, заинтересовавших пользователя

!  Улучшение поисковых аннотаций (сниппетов) на основе анализа поведения

!  Улучшение поиска ответов на вопрос в Web на основе анализа поведения

!  Заключение

Page 22: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

22

Генерация сниппетов: baseline D. Metzler and T. Kanungo. Machine learned sentence selection strategies for query-biased summarization. In SIGIR Learning to Rank Workshop, 2008. !  Для каждого предложения вычисляем 22 фактора –  Точное соответствие –  Количество найденных слов запроса и синонимов (3 фактора) –  BM25-like (4 фактора) –  Расстояние между словами запроса (3 фактора) –  Длина предложения –  Позиция в документе –  Удобочитаемость: количество знаков пунктуации,

заглавных слов, различных слов (9 факторов)

Page 23: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

23

Генерация сниппетов на основе поведения

!  Линейная комбинация весов предложений baseline-алгоритма TextScore(f) и интересности фрагмента BScore(f)

!  λ влияет на покрытие и качество сниппетов

–  Слишком маленькое λ = сниппеты не отличаются от baseline –  Слишком большое λ = риск низкого качества сниппетов !  Эксперимент:

Page 24: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

24

Постановка эксперимента

!  Попарная оценка сниппетов для двух алгоритмов по критериям:

–  Representativeness Какой из сниппетов лучше отражает соответствие документа запросу? Необходимо прочитать документ до ответа на вопрос.

–  Readability Какой из сниппетов лучше написан, легче читается?

–  Judgeability Какой из сниппетов лучше помогает найти релевантный ответ и решить, нужно ли кликать на ссылку?

Page 25: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

25

Результаты

!  Fraction improved: доля сниппетов, улучшенных за счет учета поведения пользователей

!  Coverage: доля сниппетов, для которых сниппеты с учетом поведения отличаются от baseline

!  При λ  =  0.7  статистически значимое улучшение по всем метрикам

Page 26: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

26

Пример

Baseline BeBS

Page 27: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

27

План

!  Введение !  Метод сбора данных о поведении

пользователей поисковой системы, включающих движения мыши

!  Предсказание фрагментов документов, заинтересовавших пользователя

!  Улучшение поисковых аннотаций (сниппетов) на основе анализа поведения

!  Улучшение поиска ответов на вопрос в Web на основе анализа поведения

!  Заключение

Page 28: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

28

Вопросно-ответный поиск

!  Поиск точного ответа на вопрос пользователя

!  Основные этапы QA (IR Approach)

–  Анализ запроса (POS Tagging, NER), классификация по типу вопроса, формирование шаблонов ответов

–  Поиск релевантных документов – кандидатов на нахождение ответов –  Поиск релевантных пассажей –  Анализ пассажей и извлечение ответов по шаблону

Page 29: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

29

Улучшение извлечения пассажей

!  Baseline algorithm: –  QANUS: open-source QA system from National

University of Singapore (Min Yen Kan, 2010)

!  BeQA: behavior-based QA

–  QANUS fragment score TextScore(f) –  Интересность фрагмента BScore(f)

Page 30: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

30

Поиск релевантных пассажей: результаты ! 

rank𝑖 - позиция первого релевантного ответа

!  Поиск ответов по коллекции

–  All: все документы по всем вопросам –  Clicked: все документы, которые пользователи

посещали при поиске ответа на данный вопрос

–  Relevant: документы, про которые известно, что в них есть правильный ответ

Page 31: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

31

Основные предположения (и ограничения)

!  Эксперименты на информационных вопросах: пользователь ищет текст ответа в документе

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

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

могут быть собраны поисковой системой –  Плагины браузера –  Рекламные площадки –  Счетчики посещений

Page 32: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

32

References

!  Mikhail Ageev, Dmitry Lagun, Eugene Agichtein. Improving Search Result Summaries By Using Searcher Behavior Data // SIGIR 2013

!  Mikhail Ageev, Dmitry Lagun, Eugene Agichtein. The Answer is at your Fingertips: Improving Passage Retrieval for Web Question Answering with Search Behavior Data // EMNLP 2013

!  Код и данные: http://ir.mathcs.emory.edu/intent/

Page 33: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

33

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

Page 34: "Анализ неявных предпочтений пользователей" Михаил Агеев, Яндекс, МГУ

34

Михаил Агеев Исследователь-разработчик

+7(916)607-5072

[email protected]

к.ф.-м.н.