Learning to Rank for Faceted Search Bridging the gap between theory and practice

Similar documents
WebSci and Learning to Rank for IR

Learning to rank, a supervised approach for ranking of documents Master Thesis in Computer Science - Algorithms, Languages and Logic KRISTOFER TAPPER

Information Retrieval

Apache Solr Learning to Rank FTW!

Overview of the NTCIR-13 OpenLiveQ Task

Balancing Speed and Quality in Online Learning to Rank for Information Retrieval

Advanced Topics in Information Retrieval. Learning to Rank. ATIR July 14, 2016

BM25 is so Yesterday. Modern Techniques for Better Search Relevance in Solr. Grant Ingersoll CTO Lucidworks Lucene/Solr/Mahout Committer

Ranking with Query-Dependent Loss for Web Search

Adaptive Search Engines Learning Ranking Functions with SVMs

Northeastern University in TREC 2009 Million Query Track

Representation Learning using Multi-Task Deep Neural Networks for Semantic Classification and Information Retrieval

Learning Ranking Functions with SVMs

Supervised Reranking for Web Image Search

Learning to Rank for Information Retrieval. Tie-Yan Liu Lead Researcher Microsoft Research Asia

A Few Things to Know about Machine Learning for Web Search

We built the Elasticsearch LTR Plugin! then came the hard part

arxiv: v1 [stat.ap] 14 Mar 2018

A Comparing Pointwise and Listwise Objective Functions for Random Forest based Learning-to-Rank

Learning to Rank. from heuristics to theoretic approaches. Hongning Wang

Learning to Rank. Tie-Yan Liu. Microsoft Research Asia CCIR 2011, Jinan,

Learning to Rank: A New Technology for Text Processing

Linking Entities in Tweets to Wikipedia Knowledge Base

Learning Ranking Functions with Implicit Feedback

From Neural Re-Ranking to Neural Ranking:

Learning Temporal-Dependent Ranking Models

Fall Lecture 16: Learning-to-rank

Effective Latent Space Graph-based Re-ranking Model with Global Consistency

TREC OpenSearch Planning Session

ECS289: Scalable Machine Learning

A Stochastic Learning-To-Rank Algorithm and its Application to Contextual Advertising

arxiv: v1 [cs.ir] 16 Oct 2017

CSCI 5417 Information Retrieval Systems. Jim Martin!

Outrun Your Competition With SAS In-Memory Analytics Sascha Schubert Global Technology Practice, SAS

Structured Ranking Learning using Cumulative Distribution Networks

Search Engines and Learning to Rank

Information Management course

Using Machine Learning to Identify Security Issues in Open-Source Libraries. Asankhaya Sharma Yaqin Zhou SourceClear

NTT SMT System for IWSLT Katsuhito Sudoh, Taro Watanabe, Jun Suzuki, Hajime Tsukada, and Hideki Isozaki NTT Communication Science Labs.

IRCE at the NTCIR-12 IMine-2 Task

One-Pass Ranking Models for Low-Latency Product Recommendations

Learning to Match. Jun Xu, Zhengdong Lu, Tianqi Chen, Hang Li

Learning Ranking Functions with SVMs

Personalized Web Search

Entity and Knowledge Base-oriented Information Retrieval

Open Source Search. Andreas Pesenhofer. max.recall information systems GmbH Künstlergasse 11/1 A-1150 Wien Austria

Adapting Ranking Functions to User Preference

Lecture 27: Review. Reading: All chapters in ISLR. STATS 202: Data mining and analysis. December 6, 2017

Multi-label Classification. Jingzhou Liu Dec

International Journal of Innovative Research in Computer and Communication Engineering

Mining the Search Trails of Surfing Crowds: Identifying Relevant Websites from User Activity Data

Data mining with sparse grids using simplicial basis functions

SCIENCE. An Introduction to Python Brief History Why Python Where to use

University of Virginia Department of Computer Science. CS 4501: Information Retrieval Fall 2015

Lizhe Sun. November 17, Florida State University. Ranking in Statistics and Machine Learning. Lizhe Sun. Introduction

International Journal of Advance Engineering and Research Development. A Facebook Profile Based TV Shows and Movies Recommendation System

Case-based Recommendation. Peter Brusilovsky with slides of Danielle Lee

Performance Measures for Multi-Graded Relevance

arxiv: v1 [cs.ir] 26 Nov 2017

arxiv: v1 [cs.ir] 19 Sep 2016

Machine Learning Part 1

Large-Scale Validation and Analysis of Interleaved Search Evaluation

Context based Re-ranking of Web Documents (CReWD)

Differentiable Unbiased Online Learning to Rank

Information Search in Web Archives

UMass at TREC 2017 Common Core Track

Data Science Training

Clickthrough Log Analysis by Collaborative Ranking

LETOR: Benchmark Dataset for Research on Learning to Rank for Information Retrieval Tie-Yan Liu 1, Jun Xu 1, Tao Qin 2, Wenying Xiong 3, and Hang Li 1

This is an author-deposited version published in : Eprints ID : 18777

Opportunities and challenges in personalization of online hotel search

WCL2R: A Benchmark Collection for Learning to Rank Research with Clickthrough Data

Master Project. Various Aspects of Recommender Systems. Prof. Dr. Georg Lausen Dr. Michael Färber Anas Alzoghbi Victor Anthony Arrascue Ayala

doi: / _32

Letter Pair Similarity Classification and URL Ranking Based on Feedback Approach

Data Mining: Concepts and Techniques. Chapter 9 Classification: Support Vector Machines. Support Vector Machines (SVMs)

Information Retrieval. CS630 Representing and Accessing Digital Information. What is a Retrieval Model? Basic IR Processes

Notes: Notes: Primo Ranking Customization

CS229 Final Project: Predicting Expected Response Times

Kernels + K-Means Introduction to Machine Learning. Matt Gormley Lecture 29 April 25, 2018

Learning-to-rank with Prior Knowledge as Global Constraints

arxiv: v1 [cs.ir] 11 Oct 2018

Preface to the Second Edition. Preface to the First Edition. 1 Introduction 1

Midterm Exam Search Engines ( / ) October 20, 2015

Chapter 6: Information Retrieval and Web Search. An introduction

Learning to Rank for Information Retrieval

1 Dulcian, Inc., 2001 All rights reserved. Oracle9i Data Warehouse Review. Agenda

VK Multimedia Information Systems

Text Categorization (I)

Plan for today. CS276B Text Retrieval and Mining Winter Vector spaces and XML. Text-centric XML retrieval. Vector spaces and XML

CS6375: Machine Learning Gautam Kunapuli. Mid-Term Review

Overview of the NTCIR-13 OpenLiveQ Task

Arama Motoru Gelistirme Dongusu: Siralamayi Ogrenme ve Bilgiye Erisimin Degerlendirilmesi. Retrieval Effectiveness and Learning to Rank

arxiv: v2 [cs.ir] 27 Feb 2019

CS178: Machine Learning and Data Mining. Complexity & Nearest Neighbor Methods

Big Data Methods. Chapter 5: Machine learning. Big Data Methods, Chapter 5, Slide 1

Parallel Boosted Regression Trees for Web Search Ranking

A General Approximation Framework for Direct Optimization of Information Retrieval Measures

THIS LECTURE. How do we know if our results are any good? Results summaries: Evaluating a search engine. Making our good results usable to a user

Active Evaluation of Ranking Functions based on Graded Relevance (Extended Abstract)

Transcription:

Learning to Rank for Faceted Search Bridging the gap between theory and practice Agnes van Belle @ Berlin Buzzwords 2017

Job-to-person search system

Generated query

Match indicator

Faceted search Multiple explicit and independent dimensions, called facets Lets users refine search by choosing values No candidate is ideal: many should-have clauses

Scoring of search results Term-frequency based metric e.g. BM25, TF-IDF: (t in query) tf(t in document) idf(t) Facet weights TF-IDF(jobtitle) 1.5 + TF-IDF(skill) 2.0 + TF-IDF(location) 0.7 + TF-IDF(languages) 0.25 = score

Tuning the system: objectives If I search for a skill Java I want the candidates that also have Java in their Jobtitle field to be weighted higher Education will be a less important match, the more years of experience a candidate has We should weight location matches less when finding candidates in IT

Learning to rank Learn a parameterized ranking model That optimizes ranking order Re-learn for personalization or preference change

Learning to rank by tuning facet weights Do exhaustive search for optimal weights to set Improved our retrieval by 6% (NDCG metric) [ TF-IDF(jobtitle), TF-IDF(skill) TF-IDF(language) ] = score

Tuning facet weights: limitations Cannot consider interdependency of facet field dimensions Cannot take into account the actual content of fields only match indicators

Learning objectives Take into account facet field content Model facet field interdependencies

Learning to rank Machine Learning from user feedback Input: set of {query, lists of assessed documents} Each document has a relevance indication from feedback implicit feedback explicit feedback

Learning to rank Machine Learning from user feedback Input: set of {query, list of assessed documents} Each document has a relevance label from feedback query query query -1-1 +1-1 -1-1 -1 +1 +1? document document document

Learning to rank Algorithm learns how to combine query & document content to optimize ordering considering relevance labels feature extraction machine learning algorithm ranking model

Learning to rank Output: model that gives a relevance score given a query and document query? feature extraction ranking model score document

Dynamic top K reranking query index returned documents result splitter top K documents feature extraction ranking model rest of documents top K documents reranked

Dynamic top K reranking query index returned documents result splitter top K documents feature extraction ranking model rest of documents top K documents reranked

Typical features In learning to rank, each query-document pair is represented by a multi-dimensional feature vector, and each dimension of the vector is a feature indicating how relevant or important the document is with respect to the query. * 1, 2, 3 Used in LTR papers: TF-IDF, BM25, DFR, Language Model, cosine similarity, rank in other engines, etc. Match-indicator between whole query & whole document * "LETOR: A Benchmark Collection for Research on Learning to Rank for Information Retrieval", T. Qin, T. Liu, J. Xu, Jun and H. Li, 2010 1 "Optimizing Search Engines using Clickthrough Data", T. Joachims, 2003 2 "AdaRank: A Boosting Algorithm for Information Retrieval", J. Xu and H. Li, 2007 3 "Multileave Gradient Descent for Fast Online Learning to Rank", A. Schuth, H. Oosterhuis, S. Whiteson and M. de Rijke, 2016

Bag of words software engineer data mining java amsterdam english job title: skill: location: languages: software engineer python, java berlin english, german job title: skill: location: languages: ore mining technician drilling, mining java english, javanese 4 matches 4 matches TF-IDF = 8.29 BM25 = 4.24 TF-IDF = 10.82 BM25 = 4.39

Split up in facet fields job title skill skill location language software engineer data mining java amsterdam english job title: skill: location: languages: software engineer python, java berlin english, german job title: skill: location: languages: ore mining technician drilling, mining java english, javanese 3 matches 1 match

One feature per field job title skill skill location language software engineer data mining java amsterdam english job title: software engineer skill: python, java location: berlin languages: english, german feature vector jobtitle 1/1 skill 1/2 location 0 language 1/1

Dynamic top K reranking query index returned documents result splitter top K documents feature extraction ranking model rest of documents top K documents reranked

Linear models Used in many papers: seminal papers 1, papers about leveraging user preferences 2 papers about online learning / interleaving 3 Also in e.g. documentation about Solr s LTR contrib module 1 Optimizing Search Engines using Clickthrough Data, T. Joachims, 2003 2 A contextual-bandit approach to personalized news article recommendation, L. Li, W. Chu, J. Langford, and R. E. Schapire, 2010. 3 Balancing exploration and exploitation in listwise and pairwise online learning to rank for information retrieval, K. Hofmann, S.Whiteson, M. de Rijke, 2013

Linear models End up with weight vector you can multiply with feature vectors. score

Linear models End up with weight vector you can multiply with feature vectors. jobtitle match skill match score location match language match

Tuning facet weights: limitations Cannot consider interdependency of facet field dimensions Cannot take into account the actual content of fields only match indicators jobtitle match skill match score location match language match

Objectives If I search for a skill Java I want the candidates that also have Java in their Jobtitle field to be weighted higher Education will be a less important match, the more years of experience a candidate has We should weight location matches less when finding candidates in IT

Learning objectives Take into account facet field content Model facet field interdependencies

Take into account facet field content jobclass:it was in document jobclass:retail was not in document the query asked for 5+ years of experience 5 possible jobclass categories in document Categorical feature how many minimum years of experience in the query, normalized between 0 and 1 Interval feature

Take into account facet field content Query-document match features Document features Query features Categorical: e.g. denoting job-class, skill etc. Interval: e.g. years of experience

Model facet field interdependencies jobclass:it was in document jobclass:retail was not in document...

Model facet field interdependencies Use nonlinear ranking model based on e.g. Nonlinear neural networks Nonlinear SVM Decision trees

Model facet field interdependencies Decision tree experience_years location_match jobclass_doc_management

Model facet field interdependencies Decision tree... job_class_doc_it > 0 location_match <= 0 location_match <= 0 1.0 1.2 0.3 1.4

Model facet field interdependencies We should weight location matches less when finding candidates in IT job_class_doc_it > 0 location_match <= 0 location_match <= 0 1.0 1.2 0.3 1.4

Model facet field interdependencies If I search for a skill Java I want the candidates that also have Java in their Jobtitle field to be weighted higher skill_java > 0 jobtitle_word_java > 0... 1.5 0.9

Model facet field interdependencies If I search for a skill Java I want the candidates that also have Java in their Jobtitle field to be weighted higher jobtitle_contains_word_from_skill > 0 1.4 0.8

Model facet field interdependencies Education will be a less important match, the more years of experience a candidate has experience_years > 0.2 experience_years > 0.4 education_match > 0 experience_years > 0.6 education_match > 0 1.0 0.2...... 0.9 0.5

Scores model type algorithm performance Linear Ridge regression NDCG +6% Decision tree LambdaMART NDCG +16% Decision tree Random Forests NDCG +22%

Scores: risk vs. reward Number queries NDCG score

Execution time Applying reranking on top 100 index: 1,000,000 documents model: 1000 trees, each max. 7 leaves Original library: +22%

Execution time Culprit: transformation from internal API object to ranking-library object (done for each query-document pair) feature extraction double[] features -> String features -> DataPoint { String relevance_label; String query_id; String description; float[] features} ranking model

Execution time After refactoring model application feature extraction double[] features ranking model Avg. query execution time increase: +4%

Next steps: Implicit user feedback gathering Transform user actions to feedback signals transformation model may differ per customer Avoid modeling an action loop...unless you want to optimize an action validate with human-made assessments Avoid modeling a reinforcing feedback loop deal with position / selection bias

Implicit feedback gathering NDCG click logs explicit feedback assessments validate extracted click features train folds test fold click-to-signal classification find classification(s) with maximum NDCG

Implicit feedback gathering NDCG click logs explicit feedback assessments validate extracted click features train folds test fold click-to-signal classification may differ per customer find classification(s) with maximum NDCG

Conclusions Faceted search can be really improved by LTR With minimal impact on execution times By determining your general learning objectives Selecting features and algorithm accordingly and in harmony Ranking models aren t static Differ in performance per query type / user

Thanks! Any questions? contact: vanbelle@textkernel.nl join us: textkernel.careers