Learning to Rank Sven Münnich 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 1
Übersicht 1. Einführung 2. Methoden 3. Anwendungen 4. Zusammenfassung & Fazit 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 2
Was bedeutet Learning to Rank? EINFÜHRUNG 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 3
Beispiel: Dokumentensuche Dokumente { } D = d 1, d 2,..., d n Query f, d ( ) Ranking d, 1 d, 2 d, n 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 4
Beispiel: Produktvorschläge Query Dokumente 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 5
Learning to Rank 1 d 1, 1 d 1, 2 d 1, n1 m d m, 1 d m, 2 d m, nm Learning System Dokumente { } D = d 1, d 2,..., d n Query m+1 f, d ( ) d m+1, 1 d m+1, 2 d m+1, nm+1 Ranking f ( m+1, d m+1, 1 ) f ( m+1, d m+1, 2 ) f ( m+1, d m+1, nm+1 ) 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 6
Learning to Rank Learning System: Verlustfunktion zur Evaluierung der Ergebnisse Ranking System: Permutationen von Feature Vektoren 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 7
Trainingsdaten {( x j, l )} j x j l j Feature Vektor Query-Dokument Relevanz Kann binär sein( relevant nicht relevant ) Bewertet von realen Personen (z.b. Clicktrough Data ) Große Datensätze benötigt: z.b.: 36k Queries, 883k Dokumente, 700 Features 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 8
Beispiel: Clickhrough Data Ranking Query A B User wählt C B > A 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 9
Bewertungsverfahren Binäre Relevanz Mean Reciprocal Rank N-äre Relevanz Discounted Cumulative Gain Normalized Discounted Cumulative Gain Kendalls Tau 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 10
Mean Reciprocal Rank (MRR) MRR = 1 Q Q i=1 1 rank i Mean Durchschnitt Reciprocal Kehrwert Rank Ranges des ersten relevanten Ergebnisses 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 11
Beispiel: MRR Query A Ranking Relevanz A 0 0 A 1 0 A 2 1 A 3 0 A 4 1 A 5 1 Query B Ranking Relevanz B 0 1 B 1 1 B 2 1 B 3 0 B 4 0 B 5 0 Query C Ranking Relevanz C 0 0 C 1 0 C 2 0 C 3 0 C 4 0 C 5 1 MRR = 1 3 1 = 1 " 1 3 rank i 3 3 +1+ 1 % $ ' = 1 # 6 & 2 i=1 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 12
Discounted Cumulative Gain (DCG) DCG p = rel 1 + p i=2 rel i log 2 i ( ) Jeder Treffer mit Relevanz ist Informationsgewinn Gain Gewicht der Relevanz von Ergebnissen mit niedrigem Rang wird reduziert Discounted 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 13
Beispiel: DCG (A) Platz Relevanz CG A 1 4 4 2 3 7 3 0 7 4 1 8 5 0 8 6 5 13 7 3 16 DCG A 4 7 7 7.5 7.5 9.43 10.5 DCG 7 = rel 1 + 7 i=2 rel i log 2 i ( ) = 4 + 3 log 2 ( 2) + + 3 log 2 ( 7) 10.5 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 14
Beispiel: DCG (B) Platz Relevanz CG B DCG B 1 5 5 5 2 3 8 8 3 1 9 8.63 4 0 9 8.63 5 1 10 9.06 6 2 12 9.83 7 4 16 11.25 DCG A 4 7 7 7.5 7.5 9.43 10.5 Welches DCG ist besser? 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 15
Normalized Discounted Cumulative Gain (NDCG) NDCG p = DCG p idcg p Normalisierung mit idealem DCG ideal : Objekte sind absteigend nach ihrer Relevanz sortiert Ermöglicht Vergleich 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 16
Beispiel: NDCG Platz Relevanz CG A DCG A 1 4 4 4 2 3 7 7 3 0 7 7 4 1 8 7.5 5 0 8 7.5 6 5 13 9.43 7 3 16 10.5 NDCG 7,A = DCG 7,A idcg 7,A = 10.5 12.82 0.81 NDCG 7,B 0.89 Relevanz CG i DCG i 5 5 5 4 9 9 3 12 10.89 3 15 12.39 1 16 12.82 0 16 12.82 0 16 12.82 B ist besser! 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 17
Kendalls Tau τ = C D n n 1 ( ) / 2 Nach sortierte Paare mit und C D x j = i +1,, n ( ) ( x i, y i ), x j, y j : Anzahl von konkordanten Paaren x i < x j, y i < y j : Anzahl von diskordanten Paaren x i < x j, y i > y j i =1,, n 1 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 18
Beispiel: Kendalls Tau d X Y A 4 5 B 1 3 C 5 4 D 3 1 E 2 2 d X Y B 1 3 E 2 2 D 3 1 A 4 5 C 5 4 d Y-Paare B (3,2)(3,1)(3,5)(3,4) E (2,1)(2,5)(2,4) D (1,5)(1,4) A (5,4) C Paare konkordant (3,5)(3,4)(2,5)(2,4)(1,5)(1,4) diskordant (3,2)(3,1)(2,1)(5,4) τ = C D n( n 1) / 2 = 6 4 5 4 / 2 = 2 10 = 0.2 C = 6 D = 4 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 19
Support Vector Machine (SVM) I Klassifizierung von Objekten Trennung der Trainingsobjekte in Klassen Maximierung des Freien Bereiches zwischen den Klassen Stützvektoren Klassifikation mit SVM, Florian Markowetz 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 20
Support Vector Machine (SVM) II Hyperebene kann nicht krumm sein Kernel-Trick Klassifikation mit SVM, Florian Markowetz 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 21
Punkte, Paare, Listen METHODEN 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 22
Punkte, j ( f ( x j ), l ) j Punkt: einzelnes Objekt, z.b. Dokument Verlustfunktionen: (Ordinal-)Regression Klassifizierung, z.b. ( ) = max( 0, 1 t y) t 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 23
Paare m i, j, l i >l j ( ( ) f ( x )) j f x i Paar: Dokumentenpaar Klassifizierung auf Basis der Reihenfolge, Verlustfunktionen: Paarweise Klassifizierung ( x i, x j ) x i > x j 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 24
Paarweise Klassifizierung Ranking Query Paarweise Klassifizierung Query A A A B B B C C C 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 25
Listen, j { } ( { f ( x ) j }, l ) j Liste: Query-Dokumentengruppe Intuitivster Ansatz für Learning to Rank Verlustfunktionen: Listenweise 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 26
ANWENDUNGEN 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 27
Ranking SVM Allgemeines Problem: Die Rankingfunktion ergibt verschiedene, nicht vergleichbare Gruppen A Short Introduction to Learning to Rank, Hang Li 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 28
Ranking SVM Paarweise Klassifikation mit ( t) = max( 0, 1 t) Allgemein: m i, j, l i >l j ( ( ) f ( x )) j f x i # min 1 2 w 2 + C % $ w T R i, j m i, j, l i >l j R i, j ( f ( x ) i f ( x )) j 1 R i, j 0 & ( ' 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 29
Ranking SVM A Short Introduction to Learning to Rank, Hang Li 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 30
ListNet Listenweise Klassifikation: ( f ( x ), l ) Verlustfunktion auf Basis von Permutations- Wahrscheinlichkeiten P s ( π ) = n j=1 ( ) ( ) φ s π j n k= j ( ) φ s π k ( ) 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 31
Permutations-Wahrscheinlichkeit P s ( π ) = n j=1 ( ) ( ) φ s π j n k= j ( ) φ s π k ( ) Permutation Scores Positive, monoton wachsende Funktion Jede Permutation ist prinzipiell möglich Sehr aufwändig zu berechnen n! Permutationen π = π ( 1), π ( 2),, π n ( ) s = s 1, s 2,, s n ( ) φ ( x) 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 32
Beispiel: Permutations-Wahrscheinlichkeit Drei Objekte Scores Wahrscheinlichkeit für : P s ( π ') = { 1, 2, 3} ( ) s = s 1, s 2, s 3 π ' = 3, 1, 2 φ ( s 3 ) φ ( s 3 ) +φ ( s 1 ) +φ ( s 2 ) φ ( s 1 ) φ ( s 1 ) +φ ( s 2 ) φ ( s 2) φ ( s 2 ) 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 33
ListNet Top One Probability für ein Dokument : Die Wahrscheinlichkeit, dass auf Platz 1 ist P s d ( j) = P s ( π ) = π( 1)= j, π Ω n d φ s j n k=1 ( ) ( ) φ s k ListNet: Top One Probability P f x ( ) ( x ) j = ( ) ( ) exp f ( x ) j n k=1 exp f ( x ) k 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 34
ListNet Verlustfunktion z.b. mit Kreuzentropie: f ( x ), l n ( ) = P l x j j=1 ( ( x )) j ( )log P f x ( ) Vereinfachte Darstellung normal mit Optimierungsparametern des Modells 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 35
Vergleich Ranking SVM ListNet Methode Paarweise Listenweise Komplexität O(n 2 ) O(m n) Skalierbarkeit je nach Implementierung gut 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 36
ZUSAMMENFASSUNG & FAZIT 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 37
Zusammenfassung Verbesserung durch Minimierung des Fehlers(Verlustes) Drei Methoden Punktweise Paarweise Listenweise Viele verschiedene Modelle z.b.: RankingSVM, ListNet Benötigt große Menge an bewerteten Trainingsdaten Verwendung von Clickthrough Data möglich Effizienz hängt stark von Implementierung ab 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 38
FRAGEN? 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 39
VIELEN DANK! 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 40
Quellen T. Joachims, Evaluating Retrieval Performance Using Clickthrough Data, Proceedings of the SIGIR Workshop on Mathematical/Formal Methods in Information Retrieval, 2002. B. Bai, J. Weston, D. Grangier, R. Collobert, K. Sadamasa, Y. Qi, O. Chapelle, and K. Weinberger. Learning to rank with (a lot of) word features. Information Retrieval Journal, 13(3):291 314, 2010. O. Chapelle, Y. Chang, and T.-Y. Liu, editors. Proceedings of the Yahoo! Learning to Rank Challenge, volume 14 of JMLR Workshop and Conference Proceedings, 2011. Evaluation von Retrievalsystemen, http://psirotkin.net/wp-content/ uploads/2009/05/evaluation-von-retrievalsystemen-dcg.pdf F. Markowetz, Klassifikation mit Support Vector Machines, Berlin Center for Genome Based Bioinformatics, 2003. 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 41
Quellen Hang Li, Zhe Cao, Tao Qin, Tie-Yan Liu, Ming-Feng Tsai, Learning to Rank: From Pairwise Approach to Listwise Approach, Microsoft Research Asia, 2007. Hang Li, A Short Introduction to Learning to Rank, Microsoft Research Asia, 2011. Tie-Yan Liu, Learning to Rank for Information Retrieval, International WWW Conference 2009. 06.12.12 Fachbereich 20 Seminar Recommendersysteme Sven Münnich 42