RecSys Challenge 2014 “User...

Preview:

Citation preview

José Miguel Herrera

RecSys Challenge 2014“User Engagement”

José Miguel Herrera

RecSys Challenge 2014• Se centra en evaluación.

• Dataset de Twitter.

• En vez de predecir ratings y recomendación, predicen que ítems generarán mayor user engagement (favs + RTs).

• Optimiza recomendaciones.

• nDCG@10

RecSys Challenge 2014“User Engagement”

Twitter

(Twitter)

Max. 140 caracteres.

Usuario

One-way following connections:

* Following * Followers

MovieTweetings Dataset*

* S. Dooms and T. De Pessemier, “Movietweetings: a Movie Rating Dataset Collected From Twitter,” presented at the RecSys'13: Recommendation System Conference, 2013.

RecSys Challenge 2014“User Engagement”

MovieTweetings Dataset*

Usuario / Ítem / Rating

* S. Dooms and T. De Pessemier, “Movietweetings: a Movie Rating Dataset Collected From Twitter,” presented at the RecSys'13: Recommendation System Conference, 2013.

RecSys Challenge 2014“User Engagement”

MovieTweetings Dataset*RecSys Challenge 2014

“User Engagement”

+ Metadata

* S. Dooms and T. De Pessemier, “Movietweetings: a Movie Rating Dataset Collected From Twitter,” presented at the RecSys'13: Recommendation System Conference, 2013.

Usuario / Ítem / Rating

Paper 1

Usan features de Twitter (dataset extendido)

Learning to rank.

5to lugar

Learning to Rank (LTR) Técnica ML para resolver problemas de ranking.

Típicamente supervisado

Usado: IR, NLP, RecSys.

Se entrena un modelo usando una lista de elementos con algún orden especial.

Learning to Rank (LTR)q1

{doc3, doc1, doc2}{doc1, doc2, doc3}

1: q1, f(doc3) 2: q1, f(doc1) 3: q1, f(doc2)

Learning to Rank (LTR)q1

{doc3, doc1, doc2}{doc1, doc2, doc3}

1: q1, f(doc3) 2: q1, f(doc1) 3: q1, f(doc2)

q2

{doc5, doc4}{doc4, doc5}

1: q2, f(doc5) 2: q2, f(doc4)

Learning to Rank (LTR)

Función de Ranking(model)

q1

{doc3, doc1, doc2}{doc1, doc2, doc3}

1: q1, f(doc3) 2: q1, f(doc1) 3: q1, f(doc2)

Train

qn

{docsorted}{doc1..z}

1: qn, f(docx1) 2: qn, f(docx2) 3: qn, f(docx3) 4: qn, f(docx4) 5: qn, f(docx5) 6: qn, f(docx6)

….

q2

{doc5, doc4}{doc4, doc5}

1: q2, f(doc5) 2: q2, f(doc4)

Learning to Rank (LTR)

Función de Ranking(model)

q1

{doc3, doc1, doc2}{doc1, doc2, doc3}

1: q1, f(doc3) 2: q1, f(doc1) 3: q1, f(doc2)

qn

{docsorted}{doc1..z}

….

q2

{doc5, doc4}{doc4, doc5}

Testing

1: qn, f(docx1) 2: qn, f(docx2) 3: qn, f(docx3) 4: qn, f(docx4) 5: qn, f(docx5) 6: qn, f(docx6)

1: q2, f(doc5) 2: q2, f(doc4)

Train

qw

Learning to Rank (LTR)

q : usuarios feat.: tweets

* F.Objetivo: Loss* no detalle point, pair, listNo usado porque hay que capturar features. En Cambio knn, matriz fact, son más rápidos cuando están disponibles. Acá query: usuarios, documentos: tweets.

T.-Y. Liu, Learning to Rank for Information Retrieval, vol. 3, no. 3. Springer Science & Business Media, 2011, pp. 312–331.

Learning to Rank (LTR)

q : usuarios feat.: tweets F.objetivo

Loss function

Learning to Rank (LTR)No es muy utilizado

(vs KNN, MF)

q : usuarios feat.: tweets F.objetivo

Loss function

Approach• User engagement prediction en Twitter como un

problema de LTR.

• Representar un ranking de tweets por usuario.

• Medida de relevancia de un tweet con respecto a los otros tweets (training).

• Objetivo: Construir un modelo de ranking para optimizar nDCG@10.

User engagement

User engagementvector de features Label: (u, i, d)

Ranking function

Scoring function Free Parameters to be learned

Features Extraction

Experimentos• MART: gradient boosted regression.

• Técn ica para p rob lemas de regres ión y clasificación. Produce un modelo de predicción en base a clasificadores débiles (árboles).

• LambdaMART:

• Optimiza métricas de IR usando λ-gradientes.

• Problemas similares optimiza con buen performance nDCG@10.

Experimentos

BaselinesFM: Factorization Machine (libFM)

✤ Método de factorización: Markov Chain Monte Carlo.

recRating: rating asociado (u,i,d) en base a user engagement.

recHEI: promedio de user engagement de un item en el pasado.

recRandom: valor random user engagement.

Resultados

(rating, engagement): frecuencia

Altos ratings tienden a recibir alto engagement.

Histórico user engagement que recibe un item es un buen predictor del futuro.

Paper 2

Learning to rank (+) regresión.

Usan otras features (agrupan).

Lugar 4 // 1ros sin usar recursos externos.

Extracted features

Actividad del usuario en Twitter

Popularidad del ítem

Tweet y Contexto

Extracted features

Feature selection

Actividad del usuario en Twitter

Popularidad del ítem

Tweet y Contexto

Regresión• Extremely Randomized Trees (Extra-trees)

• Bayesian Ridge Regression

• Stochastic Gradient Descent Regression (SGDR)

• Modelo RL, trata de poner un modelo lineal minimizando una función de pérdida usando la técnica Descenso del Gradiente.

LTRListNet Método probabilistico - computa dif permutaciones

Ranking SVM Usa SVM para computar de a pares.

AdaRank Construir clasificadores débiles y combinarlos.

RankNet NN de 3 capas, compara de a pares.

LambdaRank Usa Gradient descent (similar a RankNet)

ListMLE Maximizar función de pérdida logarítmica (similar a ListNet)

Resultados (2)

Feature selection no ayudó.

Importancia de hacer Feature selection para LTR.

Resultados (2)

Agregación de todos los métodos (supervised Kemeny Approach).

asume que cada ranker tiene un peso.

Agregación mejoró los resultados.

Feature selection no ayudó.

Importancia de hacer Feature selection para LTR.

Comentarios• No hay estudio de features.

• LTR es una buena opción para hacer recomendación*.

• + info

• 2do paper considera user-based.

* A. Karatzoglou, L. Baltrunas, and Y. Shi, “Learning to Rank for Recommender Systems,” presented at the RecSys'13: Recommender System Conference 2013, New York, New York, USA, 2013, pp. 493–494.

Preguntas[1] H. Zamani, A. Shakery, and P. Moradi, “Regression and Learning to Rank Aggregation for User Engagement Evaluation” presented at the the 2014 Recommender Systems Challenge, New York, New York, USA, 2014, pp. 29–34.

[2] E. Diaz-Aviles, H. T. Lam, F. Pinelli, S. Braghin, Y. Gkoufas, M. Berlingerio, and F. Calabrese, “Predicting User Engagement in Twitter with Collaborative Ranking” presented at the the 2014 Recommender Systems Challenge, New York, New York, USA, 2014, pp. 41–46.

[3] H. Li, “A Short Introduction to Learning to Rank” IEICET, vol. 94, no. 10, pp. 1854–1862, 2011.

[4] T.-Y. Liu, Learning to Rank for Information Retrieval, vol. 3, no. 3. Springer Science & Business Media, 2011, pp. 312–331.

[5] A. Karatzoglou, L. Baltrunas, and Y. Shi, “Learning to Rank for Recommender Systems” presented at the RecSys'13: Recommender System Conference 2013, New York, New York, USA, 2013, pp. 493–494.

Notas adicionalesRemover outliers ayudó (usuarios con pocos ratings).

Z-Score ayudó a mejorar el desempeño del ranking.

Bajaron más datos de IMDb (no lo publicaron), pero obtuvieron mejores resultados.

Probaron CF (KNN, MF) sin buenos resultados.

LTRListNet Listwise Método probabilistico - computa dif permutaciones

Ranking SVM Pairwise Usa SVM para computar de a pares.

AdaRank Listwise Construir clasificadores débiles y combinarlos.

RankNet Pairwise NN de 3 capas, compara de a pares.

LambdaRank Pairwise / Listwise Usa Gradient descent (similar a RankNet)

ListMLE Listwise Maximizar función de pérdida logarítmica (similar a ListNet)

1: q1, f(doc3) 2: q1, f(doc5) 3: q1, f(doc2) 1: q2, f(doc1) 2: q2, f(doc3) 1: q3, f(doc2) 2: q3, f(doc3) 3: q3, f(doc6)

LTRListNet Listwise Método probabilistico - computa dif permutaciones

Ranking SVM Pairwise Usa SVM para computar de a pares.

AdaRank Listwise Construir clasificadores débiles y combinarlos.

RankNet Pairwise NN de 3 capas, compara de a pares.

LambdaRank Pairwise / Listwise Usa Gradient descent (similar a RankNet)

ListMLE Listwise Maximizar función de pérdida logarítmica (similar a ListNet)

Pointwise1: q1, f(doc3) 2: q1, f(doc5) 3: q1, f(doc2) 1: q2, f(doc1) 2: q2, f(doc3) 1: q3, f(doc2) 2: q3, f(doc3) 3: q3, f(doc6)

LTRListNet Listwise Método probabilistico - computa dif permutaciones

Ranking SVM Pairwise Usa SVM para computar de a pares.

AdaRank Listwise Construir clasificadores débiles y combinarlos.

RankNet Pairwise NN de 3 capas, compara de a pares.

LambdaRank Pairwise / Listwise Usa Gradient descent (similar a RankNet)

ListMLE Listwise Maximizar función de pérdida logarítmica (similar a ListNet)

Pairwise

Pointwise1: q1, f(doc3) 2: q1, f(doc5) 3: q1, f(doc2) 1: q2, f(doc1) 2: q2, f(doc3) 1: q3, f(doc2) 2: q3, f(doc3) 3: q3, f(doc6)

LTRListNet Listwise Método probabilistico - computa dif permutaciones

Ranking SVM Pairwise Usa SVM para computar de a pares.

AdaRank Listwise Construir clasificadores débiles y combinarlos.

RankNet Pairwise NN de 3 capas, compara de a pares.

LambdaRank Pairwise / Listwise Usa Gradient descent (similar a RankNet)

ListMLE Listwise Maximizar función de pérdida logarítmica (similar a ListNet)

Listwise

Pairwise

Pointwise1: q1, f(doc3) 2: q1, f(doc5) 3: q1, f(doc2) 1: q2, f(doc1) 2: q2, f(doc3) 1: q3, f(doc2) 2: q3, f(doc3) 3: q3, f(doc6)

Recommended