Анализ неявных предпочтений пользователей, выраженных в переходах по ссылкам и длительности просмотра страниц, является важнейшим фактором ранжирования документов в результатах поиска или, например, показа рекламы и рекомендации новостей. Алгоритмы анализа кликов хорошо изучены. Но можно ли узнать что-то ещё об индивидуальных предпочтениях человека, используя больше информации о его поведении на сайте? Оказывается, траектория движения мыши позволяет узнать, какие фрагменты просматриваемого документа заинтересовали пользователя.
В докладе речь пойдёт о методах сбора данных и алгоритмах анализа поведения пользователя по движениям мыши, а также о применении этих методов на практике. Они позволяют существенно улучшить формирование сниппетов (аннотаций) документов в результатах поиска.
Будут представлены свободно доступный программный код, а также коллекция данных о поведении пользователей с привязкой к поисковому запросу. Мы надеемся, они вдохновят исследователей на создание новых методов анализа неявных поведенческих сигналов. Работа с описанием этих алгоритмов была отмечена дипломом «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/