Анализ неявных предпочтений пользователей, выраженных в переходах по ссылкам и длительности просмотра страниц, является важнейшим фактором ранжирования документов в результатах поиска или, например, показа рекламы и рекомендации новостей. Алгоритмы анализа кликов хорошо изучены. Но можно ли узнать что-то ещё об индивидуальных предпочтениях человека, используя больше информации о его поведении на сайте? Оказывается, траектория движения мыши позволяет узнать, какие фрагменты просматриваемого документа заинтересовали пользователя.
В докладе речь пойдёт о методах сбора данных и алгоритмах анализа поведения пользователя по движениям мыши, а также о применении этих методов на практике. Они позволяют существенно улучшить формирование сниппетов (аннотаций) документов в результатах поиска.
Будут представлены свободно доступный программный код, а также коллекция данных о поведении пользователей с привязкой к поисковому запросу. Мы надеемся, они вдохновят исследователей на создание новых методов анализа неявных поведенческих сигналов. Работа с описанием этих алгоритмов была отмечена дипломом «Best Paper Shortlisted Nominee» на международной конференции ACM SIGIR в 2013 году.
4. 4
Цель: улучшение поисковых аннотаций
Критерии качества сниппетов
! Readability
– Сниппет должен быть
удобочитаемым
! Representativeness
– Сниппет должен показывать части документа,
которые соответствуют запросу пользователя
! Judgeability
– Хороший сниппет должен содержать ответ на вопрос
пользователя или указание на то, что ответ есть в документе
5. 5
Алгоритмы выделения сниппетов
! Сопоставление текста документа с запросом
! Учет местоположения текста, структуры документа
! Текстовых факторов недостаточно!
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
Идеальный сниппет!
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
Идеальный сниппет!
8. 8
Идея: выделение сниппетов на основе
поведения пользователей
! Поведение пользователей на найденной странице (scroll, движения
мыши) позволяет выявить фрагменты, интересующие пользователя
! Данные о поведении можно собирать при помощи JavaScript browser API
! Выделение заинтересовавших пользователя фрагментов может позволить
улучшить сниппеты
9. 9
Задачи
! Как собрать реалистичные данные поведения пользователей?
– В том числе движения мыши на страницах после SERP
! Как по движениям мыши определить фрагменты,
заинтересовавшие пользователя?
– Объём данных: около 400 событий на каждый просмотр страницы
– Разные устройства ввода и версии браузеров
– Разные привычки пользователей
! Как объединить данные поведения и текстовые факторы?
10. 10
План
! Введение
! Метод сбора данных о поведении
пользователей поисковой системы,
включающих движения мыши
! Предсказание фрагментов документов,
заинтересовавших пользователя
! Улучшение поисковых аннотаций
(сниппетов) на основе анализа поведения
! Улучшение поиска ответов на вопрос
в Web на основе анализа поведения
! Заключение
11. 11
UFindIt: инфраструктура для сбора данных
Сбор данных о поведении пользователя
! Цель поиска: найти ответ при помощи поисковой
системы
! Игрок находит ответ и подтверждающий URL
Участники
! Amazon Mechanical Turk
– HIT = игра из 12 вопросов
! Мотивация игрока
– Гарантированная оплата $1 за игру
– Бонусы для 25% лучших игроков
– Соревнование! Азарт!
! Проверка данных: ReCaptcha + Автоматическая
проверка выполнения правил игры
12. 12
Протоколирование: Proxy + JavaScript
! HTTP reverse proxy
– Пользователь использует привычный интерфейс поиска
– HTML-ссылки преобразуются на лету
– В каждую страницу встраивается код JavaScript
для отслеживания поведения
13. 13
EMU.js: связь координат мыши с текстом
! Проблема
– Позиция мыши представлена координатами в окне браузера
– Координаты текста зависят от разрешения экрана, версии и настроек браузера
! Решение
– Вычислить координаты всех слов на клиенте и сохранить на сервере
14. 14
Структура данных
Для каждого просмотра страницы известны
! Запрос пользователя к поисковой системе
! URL и содержание документа
! Координаты каждого слова в документе
! Лог действие пользователя: движения
мыши, клики, прокрутка
! Заданный запрос (цель поиска)
! Ответ, который пользователь отправил
Поведенческие
факторы
Обучающая
и тестовая выборки
Только для
экспериментов
15. 15
Статистика по собранным данным
! Код и данные свободно доступны http://ir.mathcs.emory.edu/intent/
109 Пользователей
12 Вопросов
1,175 Поисковых сессий
3,295 Запросов
2,997 Просмотров страниц
662 Различных URL
1,454,257 Атомарных событий
707 Пар запрос-URL (сниппетов) с полным набором данных для
экспериментов
16. 16
План
! Введение
! Метод сбора данных о поведении
пользователей поисковой системы,
включающих движения мыши
! Предсказание фрагментов документов,
заинтересовавших пользователя
! Улучшение поисковых аннотаций
(сниппетов) на основе анализа поведения
! Улучшение поиска ответов на вопрос
в Web на основе анализа поведения
! Заключение
17. 17
Предсказание интересных фрагментов
! Текст HTML-страницы разбивается на фрагменты по пять слов
! 6 поведенческих факторов
– Длительность нахождения курсора мыши над фрагментом
– … рядом с фрагментом (±100px)
– Средняя скорость курсора мыши над фрагментом
– … рядом с фрагментом
– Время показа фрагмента в видимой части окна просмотра (scrollbar)
– Время показа фрагмента в середине окна просмотра
! Предсказание вероятности интересного фрагмента
! Метод машинного обучения: GBRT
18. 18
Обучающее множество
! Положительные примеры
– Фрагменты, пересекающиеся
с ответом пользователя
! Отрицательные примеры
– Все остальные фрагменты
Обучающее множество неполно:
мы ничего не знаем об остальных
фрагментах, которые пользователь
посмотрел
! Пример
– Вопрос: «Which metals float on
water?»
– Ответ пользователя: «lithium,
sodium, potassium»
20. 20
Наиболее важные факторы
! DispMiddleTime – время, в течение которого фрагмент текста
был виден на экране
! MouseOverTime – время, в течение которого курсор мыши
был над фрагментом текста
21. 21
План
! Введение
! Метод сбора данных о поведении
пользователей поисковой системы,
включающих движения мыши
! Предсказание фрагментов документов,
заинтересовавших пользователя
! Улучшение поисковых аннотаций
(сниппетов) на основе анализа поведения
! Улучшение поиска ответов на вопрос в Web
на основе анализа поведения
! Заключение
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 факторов)
23. 23
Генерация сниппетов на основе поведения
! Линейная комбинация весов предложений baseline-алгоритма
TextScore(f) и интересности фрагмента BScore(f)
! λ влияет на покрытие и качество сниппетов
– Слишком маленькое λ = сниппеты не отличаются от baseline
– Слишком большое λ = риск низкого качества сниппетов
! Эксперимент:
24. 24
Постановка эксперимента
! Попарная оценка сниппетов для двух алгоритмов по критериям:
– Representativeness
Какой из сниппетов лучше отражает соответствие документа запросу?
Необходимо прочитать документ до ответа на вопрос.
– Readability
Какой из сниппетов лучше написан, легче читается?
– Judgeability
Какой из сниппетов лучше помогает найти релевантный ответ и решить,
нужно ли кликать на ссылку?
25. 25
Результаты
! Fraction improved: доля сниппетов, улучшенных за счет учета поведения пользователей
! Coverage: доля сниппетов, для которых сниппеты с учетом поведения отличаются от baseline
! При λ
=
0.7
статистически значимое улучшение по всем метрикам
27. 27
План
! Введение
! Метод сбора данных о поведении
пользователей поисковой системы,
включающих движения мыши
! Предсказание фрагментов документов,
заинтересовавших пользователя
! Улучшение поисковых аннотаций
(сниппетов) на основе анализа поведения
! Улучшение поиска ответов на вопрос
в Web на основе анализа поведения
! Заключение
28. 28
Вопросно-ответный поиск
! Поиск точного ответа на вопрос пользователя
! Основные этапы QA (IR Approach)
– Анализ запроса (POS Tagging, NER), классификация по типу вопроса,
формирование шаблонов ответов
– Поиск релевантных документов – кандидатов на нахождение ответов
– Поиск релевантных пассажей
– Анализ пассажей и извлечение ответов по шаблону
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)
30. 30
Поиск релевантных пассажей: результаты
!
rank𝑖 - позиция первого релевантного ответа
! Поиск ответов по коллекции
– All: все документы по всем вопросам
– Clicked: все документы, которые пользователи
посещали при поиске ответа на данный
вопрос
– Relevant: документы, про которые известно,
что в них есть правильный ответ
31. 31
Основные предположения
(и ограничения)
! Эксперименты на информационных вопросах: пользователь ищет текст
ответа в документе
! Просмотры страниц сгруппированы по информационной потребности
– Поведенческие факторы усредняются по всем пользователям с одинаковой
информационной потребностью
! Данные о поведении пользователя на найденных страницах
могут быть собраны поисковой системой
– Плагины браузера
– Рекламные площадки
– Счетчики посещений
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/