1. Введение в Learning to Rank
Агеев Михаил Сергеевич
НИВЦ МГУ
Лекция на факультете ВМиК, 24 марта 2009
2. Основные материалы
• Публикации по Learning to Rank в SIGIR, ICML,
WWW
• Tutorial on Learning to Rank for Information
Retrieval at www2008, by Tie-Yan Liu
http://research.microsoft.com/en-us/people/tyliu/learning_to_rank_tutorial_-_www_-_2008.pdf
3. План
• Постановка задачи Learning to Rank,
метрики
• Тестовые коллекции
• Методы решения: история и
классификация
• Pointwise approach
• Pairwise approach
• Listwise approach
• Ссылки
5. Функция ранжирования
• Q – множество запросов
• D – множество документов
• x ( q, d ) ∈ n - множество факторов ранжирования
(features), например, x=(tf*idf(q,d), PR(d), len(q))
• f ( x ( q, d ) , w ) ∈ - SCORE-функция
например, f = x ( q, d ) , w , w-вектор параметров
• для запроса q в ответ выдается top-k документов,
упорядоченных по убыванию f
6. Learning to Rank
• Y – оценки релевантности, Y={0,1}, Y={0,1,2,3}
(1=«документ релевантен», 0=«нерелевантен»)
• Есть набор запросов, документов и оценок
релевантности для них («обучающая коллекция»):
(qi, dij, yij), i=1..Ni
• Метрика качества поиска:
∑ L ({f ( x ( q , d ) , w ) , y })
1
L(w) = i ij ij
Ni i
L ( w ) → max
7.
8. Метрики качества поиска
• P@10: точность на уровне 10 документов
P@n =
{количество релевантных среди top n}
n
• P@1 (winner takes all, I’m feeling lucky)
• MAP (Mean Average Precision)
• NDCG@n (Normalized Discounted Cumulative Gain)
16. Свойства метрик
• Метрики считаются отдельно для каждого
запроса, затем вычисляется среднее (все запросы
равны)
• Важен относительный порядок документов, а не
значения SCORE-функции.
Применение любой монотонно возрастающей
функции g(f(x,w)) не меняет порядок.
• Документы в начале списка результатов имеют
больший вес
• Метрика L(w) – не гладкая, не выпуклая,
разрывная, ступенчатая функция!
17. План
• Постановка задачи Learning to Rank,
метрики
• Тестовые коллекции
• Методы решения: история и
классификация
• Pointwise approach
• Pairwise approach
• Listwise approach
• Ссылки
18. Тестовые коллекции - LETOR
• LETOR 3.0 (Learning TO Rank)
– http://research.microsoft.com/en-us/um/beijing/projects/letor/index.html
– Коллекции:
• OHSUMED (340 000 документов из медицинских журналов)
• “.GOV” (1 000 000 документов с правительственных сайтов США)
– 64 features:
• TF, IDF of body, title, anchor, body, whole document;
• TF*IDF, BM25, LM (3 вида, по всем полям)
• HITS, PageRank, HostRank (разные варианты)
• Number of slash in url, length of url, document length
– Около 500 оцененных запросов (из TREC)
– Результаты 8 baseline алгоритмов, множество
опубликованных результатов
19.
20. Яндекс: «Интернет-математика 2009»
• http://company.yandex.ru/grant/2009/datasets
• Цель участников конкурса «Интернет-математика
2009» – с помощью методов машинного обучения
получить формулу ранжирования документов
• Для обучения и проверки используются реальные
данные – значения признаков пар «запрос-
документ» и оценки релевантности, сделанные
асессорами Яндекса.
• 245 features, семантика факторов не указана
• 9 124 запросов
• 97 290 пар документ-запрос для обучения
• Метрика качества ранжирования - NDCG
21.
22. План
• Постановка задачи Learning to Rank,
метрики
• Тестовые коллекции
• Методы решения: история и
классификация
• Pointwise approach
• Pairwise approach
• Listwise approach
• Ссылки
23.
24. Методы решения -1
• Редукция LtR к известным проблемам машинного
обучения
– Pointwise approach (F.Gey 1992)
• Применение методов классификации и регрессии для пар
документ-запрос: релевантна ли данная пара
f(x(q,d),w) ~ y
– Pairwise approach (R.Herbrich 1999, T. Joachims 2002)
• Классификация пар документов:
пара (d1,q) и (d2,q) – корректно классифицирована,
если f(d1,q) > f(d2,q) и d1 более релевантен, чем d2
25. Методы решения -2
• Появление термина LtR (~2005 NIPS’05 workshop),
SIGIR LtR workshop (2007)
– Создание специализированных методов для LtR
– Учет IR-специфичных метрик
• Listwise approach:
– Прямая оптимизация MAP, NDCG (2006-2008):
• Методы бустинга (AdaRank, 2007)
• Сглаживание функции метрики (SoftRank, 2007)
• Оптимизация верхней оценки метрики (SVM_MAP, 2007)
• Использование surrogate loss – функции, похожей на метрику, но
гладкой и/или выпуклой (ListNet, 2007, ListMLE, 2008)
– Использование подходов для оптимизации негладких
функций
• Определяем градиент, но не функцию (LambdaRank, 2006)
• Генетическое программирование (RankGP, 2008)
• Monte-Carlo Markov Chains (Yandex, 2008)
26. Методы решения -3
• Аналитическое исследование разных методов
(Tie-Yan Liu, 2008)
– Сравнение SVM_MAP и AdaRank на основе свойств
используемых loss-функций (SIGIR 2008)
– Рассмотрение loss-функций по параметрам
• Consistency: при достаточно большом количестве примеров
решение оптимизационной задачи даст оптимальное
ранжирование
• Soundness: уменьшение loss-функции соответствует
улучшению ранжирования с точки зрения пользователя
• Непрерывность, дифференцируемость, выпуклость
• Скорость сходимости алгоритма
(ICML 2008)
27. План
• Постановка задачи Learning to Rank,
метрики
• Тестовые коллекции
• Методы решения: история и
классификация
• Pointwise approach
• Pairwise approach
• Listwise approach
• Ссылки
28. Pointwise approach
• Регрессия:
Предположим SCORE = оценка релевантности
f(x, w) ~ y
• Классификация:
Предсказать значение y для данного x
(предсказать релевантна ли пара документ-запрос)
29. Pointwise approach: Логистическая регрессия
• W.S. Cooper, F.C. Gey, D.P. Dabney. Probabilistic retrieval based on
staged logistic regression // SIGIR 1992
• Лучший результат в TREC 1993 (TREC-2)
• Полученная формула:
1 ⎛ tfq tfd tfc ⎞
log O ( R ) = −3.51 + ⎜ 37.4
⎜ + 0.330 + 0.1937 ⎟ + 0.0929 M
M +1⎝ tfq + 35 D + 80 | C|⎟⎠
• M – количество общих слов в запросе и документе
• tfq – количество слов в запросе
• tfd - частотность слов запроса в документе
• |D| - длина документа в словах
• tfc - частотность слов запроса в коллекции
• |C| - длина коллекции в словах
30. f ( xij , w ) = xij , w
Логистическая регрессия
1
P ( xij , w ) = вероятность, что документ релевантен
(
− f xij ,w )
1+ e
⎧ P ( xij , w ) , yij = 1
⎪
L( f ) = ⎨ функция макс. правдоп.
⎪1 − P ( xij , w ) , yij = 0
⎩
(
w = arg max ∏ L f ( xij , w ) , yij
i, j
)
= arg max ∑
i , j | yij =1
(
− ln 1 + e
− xij ,w
) + ∑
i , j| yij = 0
(
ln 1 + e
xij ,w
)
1
P( f ) =
1 + e− f − ln (1 + e − f )
31. Проблемы логистической регрессии
• Оптимизируемая функция L плохо соответствует
метрикам:
– При применении монотонной функции к f порядок
документов не меняется, а L – меняется
– Для разных запросов – разное количество оцененных
документов, а L суммирует равноправно все пары
документ-запрос
– Для разных запросов top-документы имеют разные
SCORE
– Не учитывается связь между SCORE разных
документов
32. План
• Постановка задачи Learning to Rank,
метрики
• Тестовые коллекции
• Методы решения: история и
классификация
• Pointwise approach
• Pairwise approach
• Listwise approach
• Ссылки
33. Pairwise approach
• T. Joachims, Optimizing Search Engines Using Clickthrough Data //ACM
KDD 2002
Click: d1, d3, d7
Вывод:
• d3 лучше d2
• d7 лучше d2
• d7 лучше d4
• d7 лучше d5
• d7 лучше d6
Положительные примеры: (d3,d2), (d7,d2), (d7,d4), (d7,d5),(d7,d6)
Отрицательные примеры: (d2,d3), (d2,d7), (d4,d7), (d5,d7),(d6,d7)
34. Оптимальный линейный сепаратор
SVM (Support Vector Machines)
Максимизация
расстояния между
двумя
параллельными
поддерживающими
плоскостями
1
|| w ||2 + ∑ ξi → min
2 i
yi w, xi(1) − xi(2) ≥ 1 − ξi
ξi ≥ 0
xi(1) xi(2)
36. RankNet
⎛ (32) (2) ⎛ (2) ⎞ (3) ⎞
f ( x, w ) = g ⎜ ∑ w j g ⎜ ∑ w k xk + b j ⎟ + b ⎟ − 2x уровневая нейронная сеть
(3) (21)
⎝ j ⎝ k ⎠ ⎠
1
g (t ) =
1 + e−t
L ( f ) = ∑ cij
i> j
L ( f ) → min
• L(f(x,w)) – гладкая, выпуклая функция по w
• Алгоритм: gradient descent (метод градиентного
спуска)
37. Pairwise approach: проблемы
• Разные запросы имеют разное количество
документов, соответственно,
количество пар ~ (кол-во документов)2
• Не учитывается значимость top-позиций
• Отклонение от конечной цели:
– Пользователи видят не пары документов, а
упорядоченный список документов
– Оптимизируемая функция не похожа на MAP, NDCG
38.
39.
40. План
• Постановка задачи Learning to Rank,
метрики
• Тестовые коллекции
• Методы решения: история и
классификация
• Pointwise approach
• Pairwise approach
• Listwise approach
• Ссылки
41. Listwise approach
→ {1.. D }
D
• Задача машинного обучения: f : D⋅ n
– Input: набор векторов {x(q,d)} – для всех документов
коллекции
– Output: перестановка на множестве документов
• Listwise approach:
– Прямая оптимизация MAP, NDCG (2006-2008):
• Методы бустинга (AdaRank, 2007)
• Сглаживание функции метрики (SoftRank, 2007)
• Оптимизация верхней оценки метрики (SVM_MAP, 2007)
• Использование surrogate loss – функции, похожей на метрику, но
гладкой и/или выпуклой (ListNet, 2007, ListMLE, 2008)
– Использование подходов для оптимизации негладких
функций
• Определяем градиент, но не функцию (LambdaRank, 2006)
• Генетическое программирование (RankGP, 2008)
• Monte-Carlo Markov Chains (Yandex, 2008)
42. SoftRank: сглаживание метрики
• M. Taylor, et al. LR4IR 2007
• Ключевая идея: избежать сортировки результатов
за счет определения SCORE как случайных
переменных
• Основные шаги:
– SCORE f ( x , w ) → p ( s ) , p ( s ) = N ( s | f ( x , w ) , σ )
j j j j j
случайная переменная, нормальное распределени
– Ранг документа – тоже случайная переменная,
вычисляем распределение вероятностей позиций
– SoftNDCG(w) := E( NDCG(w) ) – матожидание,
гладкая функция от w
– Вычисляем arg max SoftNDCG(w) градиентным
методом
43.
44.
45.
46. LambdaRank: аналог физической системы
• NDCG, MAP – разрывные, невыпуклые функции
• Вместо того, чтобы определять loss function,
определим ее градиент:
∂L ( w )
∂x ( q, di )
= −∑
1
j 1+ e
(
fi − f j
NDCG ( f ( x, w ) , y ) − NDCG ( f ( x, w ) , σ i , j y ) )
• Документы в списке «притягиваются» друг к другу
1
– сила притяжения зависит от разницы score: f −f
1+ e i j
– и пропорциональна изменению NDCG при перестановке σ i , j
документов (i, j)
• Оптимизируемая функция гладкая и выпуклая!
47. RankGP: генетическое программирование
• J. Yeh, et al. LR4IR 2007
• Предобработка: нормализация features в [0,1]
xk ( qi , d j ) − min xk ( qi , d m )
xk ( qi , d j ) ← m
max xk ( qi , d m ) − min xk ( qi , d m )
m m
• Построение функции f в виде формулы из
элементов:
S v = { x1 , x2 ,… , xn }
Sc = {0.0, 0.1, 0.2, ... , 0.8, 0.9,1.0}
Sop = {+, −, ×, /}
• Мутация, crossover – замена элементов в формуле
• Функция качества: MAP
49. Listwise методы
• Результаты на LETOR: стабильно лучше, чем
pairwise и, тем более, pointwise методов
• Мало оценок, разные методы измерения: строго
упорядочить методы «лучше-хуже» пока
невозможно
• Трудно анализировать аналитически:
– Loss-функция не всегда задана явно
– Даже если задана – как соотносится L(w) и NDCG(w)?
50. Listwise: аналитические исследования
• Аналитическое исследование разных методов
(Tie-Yan Liu, 2008)
– Сравнение SVM_MAP и AdaRank на основе свойств
используемых loss-функций (SIGIR 2008)
– Рассмотрение loss-функций по параметрам
• Consistency: при достаточно большом количестве примеров
решение оптимизационной задачи даст оптимальное
ранжирование
• Soundness: уменьшение loss-функции соответствует
улучшению ранжирования с точки зрения пользователя
• Непрерывность, дифференцируемость, выпуклость
• Скорость сходимости алгоритма
(ICML 2008)
51. План
• Постановка задачи Learning to Rank,
метрики
• Тестовые коллекции
• Методы решения: история и
классификация
• Pointwise approach
• Pairwise approach
• Listwise approach
• Ссылки
52. Ссылки
• SIGIR Workshop on Learning to Rank for Information
Retrieval
– 2007: http://research.microsoft.com/en-us/um/beijing/events/LR4IR-2007/
– 2008: http://research.microsoft.com/en-us/um/beijing/events/LR4IR-2008/
• SIGIR (ACM SIG on Information Retrieval) 2006-2008:
http://sigir.org/
• ICML (International Conference on Machine Learning) 2007-
2008: http://oregonstate.edu/conferences/icml2007/, http://icml2008.cs.helsinki.fi/
• TREC (Text Retrieval Conference): http://trec.nist.gov
• Tie-Yan Liu home page:
http://research.microsoft.com/en-us/people/tyliu/default.aspx
• Christopher J. C. Burges publications:
http://research.microsoft.com/en-us/um/people/cburges/pubs.htm
• NIPS-2005 Workshop on Learning to Rank
http://web.mit.edu/shivani/www/Ranking-NIPS-05/