SlideShare a Scribd company logo
1 of 25
Download to read offline
London Information Retrieval Meetup
21 Oct 2019
How to Build your Training Set

for a Learning to Rank Project
Alessandro Benedetti, Software Engineer
21th October 2019
London Information Retrieval Meetup
Sease
Search Services
● Open Source Enthusiasts
● Apache Lucene/Solr experts
! Community Contributors
● Active Researchers
● Hot Trends : Learning To Rank, Document Similarity,
Search Quality Evaluation, Relevancy Tuning
London Information Retrieval Meetup
Who I am
▪ Search Consultant
▪ R&D Software Engineer
▪ Master in Computer Science
▪ Apache Lucene/Solr Enthusiast
▪ S e m a n t i c , N L P, M a c h i n e L e a r n i n g
Technologies passionate
▪ Beach Volleyball Player & Snowboarder
Alessandro Benedetti
London Information Retrieval Meetup
Agenda
● Learning To Rank
● Training Set Definition
! Implicit/Explicit feedback
! Feature Engineering
● Relevance Label
● Metric Evaluation/Loss Function
! Training Set Split
London Information Retrieval Meetup
Learning To Rank
What is it ?
Learning from user implicit/explicit feedback
To
Rank documents (sensu lato)
London Information Retrieval Meetup
Learning To Rank - What is NOT
“Learning to rank is the application of machine
learning, typically supervised, semi-supervised or
reinforcement learning, in the construction of
ranking models for information retrieval
systems.” Wikipedia
Learning To Rank
Users Interactions
Logger
Judgement Collector 

UI
Interactions
Training
London Information Retrieval Meetup
• Sentient system that learn by itself
• Continuously improving itself by ingesting additional feedback
• Easy to set up and tune it
• Easy to give a human understandable explanation of why the model
operates in certain ways
Learning To Rank - What is NOT
London Information Retrieval Meetup
• A set of Examples to train the model on
• It will considered the golden truth
• Each example is composed by:

- relevancy rating

- query Id

- feature vector
• The feature vector is composed by N features (<id>:<value>)
Training Set: What is it?
3 qid:1 0:3.4 1:0.7 2:1.5 3:0

2 qid:1 0:5.0 1:0.4 2:1.3 3:0

0 qid:1 0:2.4 1:0.7 2:1.5 3:1

1 qid:2 0:5.7 1:0.2 2:1.1 3:0

3 qid:2 0:0.0 1:0.5 2:4.0 3:0

0 qid:3 0:1.0 1:0.7 2:1.5 3:1
London Information Retrieval Meetup
Training Set: Gather Feedback
Ratings
Set
Explicit
Feedback
Implicit
Feedback
Judgements Collector
Interactions Logger
Queen music
Bohemian

Rhapsody
D a n c i n g
Queen
Queen 

Albums
Bohemian

Rhapsody
D a n c i n g
Queen
Queen 

Albums
London Information Retrieval Meetup
Feature Engineering : Feature Level
Document level Query level Query Dependent
This feature describes a 

property of the DOCUMENT.

The value of the feature depends only on

the document instance.



e.g.

Document Type = E-commerce Product



<Product price> is a Document Level feature.

<Product colour> is a Document Level feature.

<Product size> is a Document Level feature.
Document Type = Hotel Stay



<Hotel star rating> is a Document Level feature.

<Hotel price> is a Document Level feature.

<Hotel food rating> is a Document Level feature.

Each sample is a <query,document> pair, the feature vector describes numerically this
This feature describes a 

property of the QUERY.

The value of the feature depends only on

the query instance.



e.g.

Query Type = E-commerce Search



<Query length> is a Query Level feature.

<User device> is a Query Level feature.

<User budget> is a Query Level feature.
This feature describes a 

property of the QUERY in correlation

with the DOCUMENT.

The value of the feature depends on

the query and document instance.



e.g.

Query Type = E-commerce Search

Document Type = E-commerce Product



<first Query Term TF in Product title> 

is a Query dependent feature.

<first Query Term DF in Product title> 

is a Query dependent feature.
<query selected categories intersecting

the product categories> 

is a Query dependent feature.



London Information Retrieval Meetup
Feature Engineering : Feature Type
Ordinal CategoricalQuantitative
An ordinal feature describes a property

for which the possible values are ordered.

Ordinal variables can be considered 

“in between” categorical and quantitative variables.
e.g.

Educational level might be categorized as
1: Elementary school education
2: High school graduate
3: Some college
4: College graduate
5: Graduate degree




1<2<3<4<5

An quantitative feature describes a property

for which the possible values are 

a measurable quantity.

e.g.

Document Type = E-commerce Product



<Product price> is a quantity



e.g.

Document Type = Hotel Stay



<Hotel distance from city center>

is a quantity



A categorical feature represents an attribute of an 

object that have a set of distinct possible values.
In computer science it is common to call the possible

values of a categorical features Enumerations.

e.g.
Document Type = E-commerce Product



<Product colour> is a categorical feature

<Product brand> is a categorical feature
N.B. It is easy to observe that to give an order 

to the values of a categorical feature 

does not make any sense.
For the Colour feature :
red < blue < black has no general meaning.
London Information Retrieval Meetup
Feature Engineering : One Hot Encoding
Categorical Features
e.g.
Document Type = E-commerce Product



<Product colour> is a categorical feature
Values: Red, Green, Blue, Other
Encoded Features:

Given a cardinality of N, we build N-1 encoded
binary features

product_colour_red = 0/1

product_colour_green = 0/1

product_colour_blue = 0/1



product_colour_other = 0/1
 Dummy Variable Trap

predict feature value from others features
High Cardinality Categoricals

you may need to encode only the top frequent
London Information Retrieval Meetup
Feature Engineering : Binary Encoding
Categorical Features
e.g.
Document Type = E-commerce Product



<Product colour> is a categorical feature
Values: Red, Green, Blue, Other
Encoded Features:
1) Ordinal Encoding

Red=0, Green=1 Blue=2 Other=3



2) Binary Encoding
product_colour_bit1 = 0/1

product_colour_bit2 = 0/1
Better for high cardinality categorically






Multi Valued?

you may have collisions and not able to use binary features
London Information Retrieval Meetup
Feature Engineering : Missing Values
● Some times a missing value would be equivalent to a 0 value semantic

e.g.

Domain: e-commerce products

Feature: Discount Percentage - [quantitative, document level feature]

a missing discount percentage could model a 0 discount percentage,

missing values can be filled with 0 values

● Some times a missing feature value can have a completely different semantic

e.g.

Domain: Hotel Stay

Feature: Star Rating - [quantitative, document level feature]

a missing star rating it’s not equivalent to a 0 star rating, so an additional feature

should be added to distinguish 

London Information Retrieval Meetup
Relevance Label : Signal Intensity
Discordant training samples
● Each sample is a user interaction (click, add to cart, sale, ect)
● Some sample are impressions (we have showed the document to the user)
● A rank is attributed to the user interaction types

e.g.

0-Impression < 1-click < 2-add to cart < 3-sale
● The rank becomes the relevance label for the sample
London Information Retrieval Meetup
Relevance Label : Simple Click Model
● Each sample is a user interaction (click, add to cart, sale, ect)
● Some sample are impressions (we have showed the document to the user)
● One interaction type is set as the target of optimisation
● Identical Samples are aggregated, the new sample generated will have a new feature:



[Interaction Type Count/ Impressions]



e.g. CTR (Click Through Rate) = for the sample, number of clicks/ number of impressions
● We then get the resulting score (in CTR 0<x<1) and normalise it to get the relevance label

The relevance label scale will depend on the Training algorithm chosen
London Information Retrieval Meetup
Relevance Label : Advanced Click Model
Given a sample:

● We have the CTR from previous model
● We compare it with the avg CTR of all samples
● We take into account the statistical significance

of that (how many initial samples generated our estimation?)

● The relevance label will be the product of those two factors

(scaled up accordingly to the training algorithm scale)
More info in John Berryman blog:

http://blog.jnbrymn.com/2018/04/16/better-click-tracking-1/
London Information Retrieval Meetup
Point-wise Pair-wise List-wise
How many documents you consider at a time, when calculating your loss function?
● Single Document
● You estimate a function that
predicts the best score of the
document
● Rank the results on the 

predicted score
● Score of the doc is 

independent of the other
scores

in the same result list
● You can use any regression or

classification algorithm
● Pair of documents
● You estimate the optimal local
ordering to maximise the global
● The Objective is to set local
ordering to minimise the
number of inversion across all
pairs
● Works better than point wise
because predicting a local
ordering is closer to solving the
ranking problem that just
estimate a regression score
● Entire list of documents for a
given query
● Direct optimization of IR
measures such as NDCG
● Minimise a specific loss
function
● The evaluation measure is avg
across the queries
● Works better than pair wise
Learning To Rank : Metric Evaluation
London Information Retrieval Meetup
Offline Evaluation Metrics[1/3]
• precision TruePositives/TruePositives+FalsePositives
• precision@K (TruePositives/TruePositives+FalsePositives) in topK
• (precision@1, precision@2, precision@10)
• recall TruePositives/TruePositives+FalseNegatives
Learning To Rank : Metric Evaluation
London Information Retrieval Meetup
Offline Evaluation Metrics[2/3]
Let’s combine Precision and recall:
Learning To Rank : Metric Evaluation
London Information Retrieval Meetup
Offline Evaluation Metrics[3/3]
• DCG@K = Discounted Cumulative Gain@K
• NDCG@K = DCG@K/ Ideal DCG@K
Model1 Model2 Model3 Ideal
1 2 2 4
2 3 4 3
3 2 3 2
4 4 2 2
2 1 1 1
0 0 0 0
0 0 0 0
0.64 0.73 0.79 1.0
Learning To Rank : Metric Evaluation
London Information Retrieval Meetup
Learning To Rank : List-wise and NDCG
● The list is the result set of documents

for a given query Id
● In lambdaMart is often used NDCG@K per list
● The Evaluation Metric is avg over the query Ids

when evaluating a training iteration
It is extremely important to assess
the distribution of training samples
per queryId
Model1 Model2 Model3 Ideal
1 1 1 1
1 1 1 1
Model1 Model2 Model3 Ideal
3 3 3 3
7 7 7 7
Query1
Query2
Under sampled QueryId can
potentially sky rock your NDCG
avg
London Information Retrieval Meetup
Build the Lists: QueryId Hashing
● Assess how to calculate your queryId,

each queryId should bring a separate set of results
● No free text query? Group query level features
● Target: uniform distribution of samples per query
● Drop training samples if queryIds are undersampled
London Information Retrieval Meetup
Split the Set: Training/Validation(dev)/Test
● Each training set iteration will assess the evaluation metric on the training and validation set
● At the end of the iterations the final model will be evaluated on an unknown Test Set
● This split could be random
● This split could depend on the time the interactions were collected
London Information Retrieval Meetup
Split the Set: Training/Validation(dev)/Test
K-fold Cross Validation 


More Related Content

What's hot

Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarNaresh Jain
 
Learning to Rank - From pairwise approach to listwise
Learning to Rank - From pairwise approach to listwiseLearning to Rank - From pairwise approach to listwise
Learning to Rank - From pairwise approach to listwiseHasan H Topcu
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender SystemsJustin Basilico
 
Recommending What Video to Watch Next: A Multitask Ranking System
Recommending What Video to Watch Next: A Multitask Ranking SystemRecommending What Video to Watch Next: A Multitask Ranking System
Recommending What Video to Watch Next: A Multitask Ranking Systemivaderivader
 
Boston ML - Architecting Recommender Systems
Boston ML - Architecting Recommender SystemsBoston ML - Architecting Recommender Systems
Boston ML - Architecting Recommender SystemsJames Kirk
 
Activity Ranking in LinkedIn Feed
Activity Ranking in LinkedIn FeedActivity Ranking in LinkedIn Feed
Activity Ranking in LinkedIn FeedBodla Kumar
 
An introduction to Recommender Systems
An introduction to Recommender SystemsAn introduction to Recommender Systems
An introduction to Recommender SystemsDavid Zibriczky
 
Rated Ranking Evaluator (FOSDEM 2019)
Rated Ranking Evaluator (FOSDEM 2019)Rated Ranking Evaluator (FOSDEM 2019)
Rated Ranking Evaluator (FOSDEM 2019)Andrea Gazzarini
 
[QCon.ai 2019] People You May Know: Fast Recommendations Over Massive Data
[QCon.ai 2019] People You May Know: Fast Recommendations Over Massive Data[QCon.ai 2019] People You May Know: Fast Recommendations Over Massive Data
[QCon.ai 2019] People You May Know: Fast Recommendations Over Massive DataSumit Rangwala
 
Incorporating Diversity in a Learning to Rank Recommender System
Incorporating Diversity in a Learning to Rank Recommender SystemIncorporating Diversity in a Learning to Rank Recommender System
Incorporating Diversity in a Learning to Rank Recommender SystemJacek Wasilewski
 
Recommender system introduction
Recommender system   introductionRecommender system   introduction
Recommender system introductionLiang Xiang
 
Recent advances in deep recommender systems
Recent advances in deep recommender systemsRecent advances in deep recommender systems
Recent advances in deep recommender systemsNAVER Engineering
 
CF Models for Music Recommendations At Spotify
CF Models for Music Recommendations At SpotifyCF Models for Music Recommendations At Spotify
CF Models for Music Recommendations At SpotifyVidhya Murali
 
Applied Machine Learning for Ranking Products in an Ecommerce Setting
Applied Machine Learning for Ranking Products in an Ecommerce SettingApplied Machine Learning for Ranking Products in an Ecommerce Setting
Applied Machine Learning for Ranking Products in an Ecommerce SettingDatabricks
 
Recommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filteringRecommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filteringViet-Trung TRAN
 
Context-aware Recommendation: A Quick View
Context-aware Recommendation: A Quick ViewContext-aware Recommendation: A Quick View
Context-aware Recommendation: A Quick ViewYONG ZHENG
 
Recommender Systems (Machine Learning Summer School 2014 @ CMU)
Recommender Systems (Machine Learning Summer School 2014 @ CMU)Recommender Systems (Machine Learning Summer School 2014 @ CMU)
Recommender Systems (Machine Learning Summer School 2014 @ CMU)Xavier Amatriain
 

What's hot (20)

Anatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur Datar
 
Learning to Rank - From pairwise approach to listwise
Learning to Rank - From pairwise approach to listwiseLearning to Rank - From pairwise approach to listwise
Learning to Rank - From pairwise approach to listwise
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Entity2rec recsys
Entity2rec recsysEntity2rec recsys
Entity2rec recsys
 
Recommending What Video to Watch Next: A Multitask Ranking System
Recommending What Video to Watch Next: A Multitask Ranking SystemRecommending What Video to Watch Next: A Multitask Ranking System
Recommending What Video to Watch Next: A Multitask Ranking System
 
Boston ML - Architecting Recommender Systems
Boston ML - Architecting Recommender SystemsBoston ML - Architecting Recommender Systems
Boston ML - Architecting Recommender Systems
 
Activity Ranking in LinkedIn Feed
Activity Ranking in LinkedIn FeedActivity Ranking in LinkedIn Feed
Activity Ranking in LinkedIn Feed
 
Recommender Systems
Recommender SystemsRecommender Systems
Recommender Systems
 
Learn to Rank search results
Learn to Rank search resultsLearn to Rank search results
Learn to Rank search results
 
An introduction to Recommender Systems
An introduction to Recommender SystemsAn introduction to Recommender Systems
An introduction to Recommender Systems
 
Rated Ranking Evaluator (FOSDEM 2019)
Rated Ranking Evaluator (FOSDEM 2019)Rated Ranking Evaluator (FOSDEM 2019)
Rated Ranking Evaluator (FOSDEM 2019)
 
[QCon.ai 2019] People You May Know: Fast Recommendations Over Massive Data
[QCon.ai 2019] People You May Know: Fast Recommendations Over Massive Data[QCon.ai 2019] People You May Know: Fast Recommendations Over Massive Data
[QCon.ai 2019] People You May Know: Fast Recommendations Over Massive Data
 
Incorporating Diversity in a Learning to Rank Recommender System
Incorporating Diversity in a Learning to Rank Recommender SystemIncorporating Diversity in a Learning to Rank Recommender System
Incorporating Diversity in a Learning to Rank Recommender System
 
Recommender system introduction
Recommender system   introductionRecommender system   introduction
Recommender system introduction
 
Recent advances in deep recommender systems
Recent advances in deep recommender systemsRecent advances in deep recommender systems
Recent advances in deep recommender systems
 
CF Models for Music Recommendations At Spotify
CF Models for Music Recommendations At SpotifyCF Models for Music Recommendations At Spotify
CF Models for Music Recommendations At Spotify
 
Applied Machine Learning for Ranking Products in an Ecommerce Setting
Applied Machine Learning for Ranking Products in an Ecommerce SettingApplied Machine Learning for Ranking Products in an Ecommerce Setting
Applied Machine Learning for Ranking Products in an Ecommerce Setting
 
Recommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filteringRecommender systems: Content-based and collaborative filtering
Recommender systems: Content-based and collaborative filtering
 
Context-aware Recommendation: A Quick View
Context-aware Recommendation: A Quick ViewContext-aware Recommendation: A Quick View
Context-aware Recommendation: A Quick View
 
Recommender Systems (Machine Learning Summer School 2014 @ CMU)
Recommender Systems (Machine Learning Summer School 2014 @ CMU)Recommender Systems (Machine Learning Summer School 2014 @ CMU)
Recommender Systems (Machine Learning Summer School 2014 @ CMU)
 

Similar to How to Build your Training Set for a Learning To Rank Project

How to Build your Training Set for a Learning To Rank Project - Haystack
How to Build your Training Set for a Learning To Rank Project - HaystackHow to Build your Training Set for a Learning To Rank Project - Haystack
How to Build your Training Set for a Learning To Rank Project - HaystackSease
 
Fully Automated QA System For Large Scale Search And Recommendation Engines U...
Fully Automated QA System For Large Scale Search And Recommendation Engines U...Fully Automated QA System For Large Scale Search And Recommendation Engines U...
Fully Automated QA System For Large Scale Search And Recommendation Engines U...Spark Summit
 
A Personalized Assistant Framework for Service Recommendation
A Personalized Assistant Framework for Service RecommendationA Personalized Assistant Framework for Service Recommendation
A Personalized Assistant Framework for Service RecommendationPradeep K. Venkatesh
 
Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Lucidworks
 
Agile software requirements management with Impact Mapping and BDD
Agile software requirements management with Impact Mapping and BDDAgile software requirements management with Impact Mapping and BDD
Agile software requirements management with Impact Mapping and BDDFred Heath
 
How To Implement Your Online Search Quality Evaluation With Kibana
How To Implement Your Online Search Quality Evaluation With KibanaHow To Implement Your Online Search Quality Evaluation With Kibana
How To Implement Your Online Search Quality Evaluation With KibanaSease
 
Context Mining and Integration in Web Predictive Analytics
Context Mining and Integration in Web Predictive AnalyticsContext Mining and Integration in Web Predictive Analytics
Context Mining and Integration in Web Predictive AnalyticsJulia Kiseleva
 
Rated Ranking Evaluator: an Open Source Approach for Search Quality Evaluation
Rated Ranking Evaluator: an Open Source Approach for Search Quality EvaluationRated Ranking Evaluator: an Open Source Approach for Search Quality Evaluation
Rated Ranking Evaluator: an Open Source Approach for Search Quality EvaluationSease
 
Rated Ranking Evaluator: An Open Source Approach for Search Quality Evaluation
Rated Ranking Evaluator: An Open Source Approach for Search Quality EvaluationRated Ranking Evaluator: An Open Source Approach for Search Quality Evaluation
Rated Ranking Evaluator: An Open Source Approach for Search Quality EvaluationAlessandro Benedetti
 
Haystack 2019 - Rated Ranking Evaluator: an Open Source Approach for Search Q...
Haystack 2019 - Rated Ranking Evaluator: an Open Source Approach for Search Q...Haystack 2019 - Rated Ranking Evaluator: an Open Source Approach for Search Q...
Haystack 2019 - Rated Ranking Evaluator: an Open Source Approach for Search Q...OpenSource Connections
 
Content Marketing Masters: Guerrilla User Testing Content Marketing - Stephen...
Content Marketing Masters: Guerrilla User Testing Content Marketing - Stephen...Content Marketing Masters: Guerrilla User Testing Content Marketing - Stephen...
Content Marketing Masters: Guerrilla User Testing Content Marketing - Stephen...Branded3
 
Charles Rygula: Value Beyond Words
Charles Rygula: Value Beyond WordsCharles Rygula: Value Beyond Words
Charles Rygula: Value Beyond WordsJack Molisani
 
Search Quality Evaluation: Tools and Techniques
Search Quality Evaluation: Tools and TechniquesSearch Quality Evaluation: Tools and Techniques
Search Quality Evaluation: Tools and TechniquesAlessandro Benedetti
 
Haystack London - Search Quality Evaluation, Tools and Techniques
Haystack London - Search Quality Evaluation, Tools and Techniques Haystack London - Search Quality Evaluation, Tools and Techniques
Haystack London - Search Quality Evaluation, Tools and Techniques Andrea Gazzarini
 
Search Quality Evaluation to Help Reproducibility: An Open-source Approach
Search Quality Evaluation to Help Reproducibility: An Open-source ApproachSearch Quality Evaluation to Help Reproducibility: An Open-source Approach
Search Quality Evaluation to Help Reproducibility: An Open-source ApproachAlessandro Benedetti
 
Search Quality Evaluation to Help Reproducibility : an Open Source Approach
Search Quality Evaluation to Help Reproducibility : an Open Source ApproachSearch Quality Evaluation to Help Reproducibility : an Open Source Approach
Search Quality Evaluation to Help Reproducibility : an Open Source ApproachAlessandro Benedetti
 
Improving classification accuracy for customer contact transcriptions
Improving classification accuracy for customer contact transcriptionsImproving classification accuracy for customer contact transcriptions
Improving classification accuracy for customer contact transcriptionsMaria Vechtomova
 
Computational Advertising in Yelp Local Ads
Computational Advertising in Yelp Local AdsComputational Advertising in Yelp Local Ads
Computational Advertising in Yelp Local Adssoupsranjan
 

Similar to How to Build your Training Set for a Learning To Rank Project (20)

How to Build your Training Set for a Learning To Rank Project - Haystack
How to Build your Training Set for a Learning To Rank Project - HaystackHow to Build your Training Set for a Learning To Rank Project - Haystack
How to Build your Training Set for a Learning To Rank Project - Haystack
 
Fully Automated QA System For Large Scale Search And Recommendation Engines U...
Fully Automated QA System For Large Scale Search And Recommendation Engines U...Fully Automated QA System For Large Scale Search And Recommendation Engines U...
Fully Automated QA System For Large Scale Search And Recommendation Engines U...
 
A Personalized Assistant Framework for Service Recommendation
A Personalized Assistant Framework for Service RecommendationA Personalized Assistant Framework for Service Recommendation
A Personalized Assistant Framework for Service Recommendation
 
Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020Preparing for Peak in Ecommerce | eTail Asia 2020
Preparing for Peak in Ecommerce | eTail Asia 2020
 
Agile software requirements management with Impact Mapping and BDD
Agile software requirements management with Impact Mapping and BDDAgile software requirements management with Impact Mapping and BDD
Agile software requirements management with Impact Mapping and BDD
 
How To Implement Your Online Search Quality Evaluation With Kibana
How To Implement Your Online Search Quality Evaluation With KibanaHow To Implement Your Online Search Quality Evaluation With Kibana
How To Implement Your Online Search Quality Evaluation With Kibana
 
Context Mining and Integration in Web Predictive Analytics
Context Mining and Integration in Web Predictive AnalyticsContext Mining and Integration in Web Predictive Analytics
Context Mining and Integration in Web Predictive Analytics
 
Rated Ranking Evaluator: an Open Source Approach for Search Quality Evaluation
Rated Ranking Evaluator: an Open Source Approach for Search Quality EvaluationRated Ranking Evaluator: an Open Source Approach for Search Quality Evaluation
Rated Ranking Evaluator: an Open Source Approach for Search Quality Evaluation
 
Rated Ranking Evaluator: An Open Source Approach for Search Quality Evaluation
Rated Ranking Evaluator: An Open Source Approach for Search Quality EvaluationRated Ranking Evaluator: An Open Source Approach for Search Quality Evaluation
Rated Ranking Evaluator: An Open Source Approach for Search Quality Evaluation
 
Haystack 2019 - Rated Ranking Evaluator: an Open Source Approach for Search Q...
Haystack 2019 - Rated Ranking Evaluator: an Open Source Approach for Search Q...Haystack 2019 - Rated Ranking Evaluator: an Open Source Approach for Search Q...
Haystack 2019 - Rated Ranking Evaluator: an Open Source Approach for Search Q...
 
Content Marketing Masters: Guerrilla User Testing Content Marketing - Stephen...
Content Marketing Masters: Guerrilla User Testing Content Marketing - Stephen...Content Marketing Masters: Guerrilla User Testing Content Marketing - Stephen...
Content Marketing Masters: Guerrilla User Testing Content Marketing - Stephen...
 
Search quality in practice
Search quality in practiceSearch quality in practice
Search quality in practice
 
Charles Rygula: Value Beyond Words
Charles Rygula: Value Beyond WordsCharles Rygula: Value Beyond Words
Charles Rygula: Value Beyond Words
 
Search Quality Evaluation: Tools and Techniques
Search Quality Evaluation: Tools and TechniquesSearch Quality Evaluation: Tools and Techniques
Search Quality Evaluation: Tools and Techniques
 
Haystack London - Search Quality Evaluation, Tools and Techniques
Haystack London - Search Quality Evaluation, Tools and Techniques Haystack London - Search Quality Evaluation, Tools and Techniques
Haystack London - Search Quality Evaluation, Tools and Techniques
 
Search Quality Evaluation to Help Reproducibility: An Open-source Approach
Search Quality Evaluation to Help Reproducibility: An Open-source ApproachSearch Quality Evaluation to Help Reproducibility: An Open-source Approach
Search Quality Evaluation to Help Reproducibility: An Open-source Approach
 
Product Strategy
Product StrategyProduct Strategy
Product Strategy
 
Search Quality Evaluation to Help Reproducibility : an Open Source Approach
Search Quality Evaluation to Help Reproducibility : an Open Source ApproachSearch Quality Evaluation to Help Reproducibility : an Open Source Approach
Search Quality Evaluation to Help Reproducibility : an Open Source Approach
 
Improving classification accuracy for customer contact transcriptions
Improving classification accuracy for customer contact transcriptionsImproving classification accuracy for customer contact transcriptions
Improving classification accuracy for customer contact transcriptions
 
Computational Advertising in Yelp Local Ads
Computational Advertising in Yelp Local AdsComputational Advertising in Yelp Local Ads
Computational Advertising in Yelp Local Ads
 

More from Sease

Multi Valued Vectors Lucene
Multi Valued Vectors LuceneMulti Valued Vectors Lucene
Multi Valued Vectors LuceneSease
 
When SDMX meets AI-Leveraging Open Source LLMs To Make Official Statistics Mo...
When SDMX meets AI-Leveraging Open Source LLMs To Make Official Statistics Mo...When SDMX meets AI-Leveraging Open Source LLMs To Make Official Statistics Mo...
When SDMX meets AI-Leveraging Open Source LLMs To Make Official Statistics Mo...Sease
 
Introducing Multi Valued Vectors Fields in Apache Lucene
Introducing Multi Valued Vectors Fields in Apache LuceneIntroducing Multi Valued Vectors Fields in Apache Lucene
Introducing Multi Valued Vectors Fields in Apache LuceneSease
 
Stat-weight Improving the Estimator of Interleaved Methods Outcomes with Stat...
Stat-weight Improving the Estimator of Interleaved Methods Outcomes with Stat...Stat-weight Improving the Estimator of Interleaved Methods Outcomes with Stat...
Stat-weight Improving the Estimator of Interleaved Methods Outcomes with Stat...Sease
 
How does ChatGPT work: an Information Retrieval perspective
How does ChatGPT work: an Information Retrieval perspectiveHow does ChatGPT work: an Information Retrieval perspective
How does ChatGPT work: an Information Retrieval perspectiveSease
 
How To Implement Your Online Search Quality Evaluation With Kibana
How To Implement Your Online Search Quality Evaluation With KibanaHow To Implement Your Online Search Quality Evaluation With Kibana
How To Implement Your Online Search Quality Evaluation With KibanaSease
 
Neural Search Comes to Apache Solr
Neural Search Comes to Apache SolrNeural Search Comes to Apache Solr
Neural Search Comes to Apache SolrSease
 
Large Scale Indexing
Large Scale IndexingLarge Scale Indexing
Large Scale IndexingSease
 
Dense Retrieval with Apache Solr Neural Search.pdf
Dense Retrieval with Apache Solr Neural Search.pdfDense Retrieval with Apache Solr Neural Search.pdf
Dense Retrieval with Apache Solr Neural Search.pdfSease
 
Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...
Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...
Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...Sease
 
Word2Vec model to generate synonyms on the fly in Apache Lucene.pdf
Word2Vec model to generate synonyms on the fly in Apache Lucene.pdfWord2Vec model to generate synonyms on the fly in Apache Lucene.pdf
Word2Vec model to generate synonyms on the fly in Apache Lucene.pdfSease
 
How to cache your searches_ an open source implementation.pptx
How to cache your searches_ an open source implementation.pptxHow to cache your searches_ an open source implementation.pptx
How to cache your searches_ an open source implementation.pptxSease
 
Online Testing Learning to Rank with Solr Interleaving
Online Testing Learning to Rank with Solr InterleavingOnline Testing Learning to Rank with Solr Interleaving
Online Testing Learning to Rank with Solr InterleavingSease
 
Apache Lucene/Solr Document Classification
Apache Lucene/Solr Document ClassificationApache Lucene/Solr Document Classification
Apache Lucene/Solr Document ClassificationSease
 
Advanced Document Similarity with Apache Lucene
Advanced Document Similarity with Apache LuceneAdvanced Document Similarity with Apache Lucene
Advanced Document Similarity with Apache LuceneSease
 
Search Quality Evaluation: a Developer Perspective
Search Quality Evaluation: a Developer PerspectiveSearch Quality Evaluation: a Developer Perspective
Search Quality Evaluation: a Developer PerspectiveSease
 
Introduction to Music Information Retrieval
Introduction to Music Information RetrievalIntroduction to Music Information Retrieval
Introduction to Music Information RetrievalSease
 
Explainability for Learning to Rank
Explainability for Learning to RankExplainability for Learning to Rank
Explainability for Learning to RankSease
 
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @Chorus
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @ChorusRated Ranking Evaluator (RRE) Hands-on Relevance Testing @Chorus
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @ChorusSease
 
Interactive Questions and Answers - London Information Retrieval Meetup
Interactive Questions and Answers - London Information Retrieval MeetupInteractive Questions and Answers - London Information Retrieval Meetup
Interactive Questions and Answers - London Information Retrieval MeetupSease
 

More from Sease (20)

Multi Valued Vectors Lucene
Multi Valued Vectors LuceneMulti Valued Vectors Lucene
Multi Valued Vectors Lucene
 
When SDMX meets AI-Leveraging Open Source LLMs To Make Official Statistics Mo...
When SDMX meets AI-Leveraging Open Source LLMs To Make Official Statistics Mo...When SDMX meets AI-Leveraging Open Source LLMs To Make Official Statistics Mo...
When SDMX meets AI-Leveraging Open Source LLMs To Make Official Statistics Mo...
 
Introducing Multi Valued Vectors Fields in Apache Lucene
Introducing Multi Valued Vectors Fields in Apache LuceneIntroducing Multi Valued Vectors Fields in Apache Lucene
Introducing Multi Valued Vectors Fields in Apache Lucene
 
Stat-weight Improving the Estimator of Interleaved Methods Outcomes with Stat...
Stat-weight Improving the Estimator of Interleaved Methods Outcomes with Stat...Stat-weight Improving the Estimator of Interleaved Methods Outcomes with Stat...
Stat-weight Improving the Estimator of Interleaved Methods Outcomes with Stat...
 
How does ChatGPT work: an Information Retrieval perspective
How does ChatGPT work: an Information Retrieval perspectiveHow does ChatGPT work: an Information Retrieval perspective
How does ChatGPT work: an Information Retrieval perspective
 
How To Implement Your Online Search Quality Evaluation With Kibana
How To Implement Your Online Search Quality Evaluation With KibanaHow To Implement Your Online Search Quality Evaluation With Kibana
How To Implement Your Online Search Quality Evaluation With Kibana
 
Neural Search Comes to Apache Solr
Neural Search Comes to Apache SolrNeural Search Comes to Apache Solr
Neural Search Comes to Apache Solr
 
Large Scale Indexing
Large Scale IndexingLarge Scale Indexing
Large Scale Indexing
 
Dense Retrieval with Apache Solr Neural Search.pdf
Dense Retrieval with Apache Solr Neural Search.pdfDense Retrieval with Apache Solr Neural Search.pdf
Dense Retrieval with Apache Solr Neural Search.pdf
 
Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...
Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...
Neural Search Comes to Apache Solr_ Approximate Nearest Neighbor, BERT and Mo...
 
Word2Vec model to generate synonyms on the fly in Apache Lucene.pdf
Word2Vec model to generate synonyms on the fly in Apache Lucene.pdfWord2Vec model to generate synonyms on the fly in Apache Lucene.pdf
Word2Vec model to generate synonyms on the fly in Apache Lucene.pdf
 
How to cache your searches_ an open source implementation.pptx
How to cache your searches_ an open source implementation.pptxHow to cache your searches_ an open source implementation.pptx
How to cache your searches_ an open source implementation.pptx
 
Online Testing Learning to Rank with Solr Interleaving
Online Testing Learning to Rank with Solr InterleavingOnline Testing Learning to Rank with Solr Interleaving
Online Testing Learning to Rank with Solr Interleaving
 
Apache Lucene/Solr Document Classification
Apache Lucene/Solr Document ClassificationApache Lucene/Solr Document Classification
Apache Lucene/Solr Document Classification
 
Advanced Document Similarity with Apache Lucene
Advanced Document Similarity with Apache LuceneAdvanced Document Similarity with Apache Lucene
Advanced Document Similarity with Apache Lucene
 
Search Quality Evaluation: a Developer Perspective
Search Quality Evaluation: a Developer PerspectiveSearch Quality Evaluation: a Developer Perspective
Search Quality Evaluation: a Developer Perspective
 
Introduction to Music Information Retrieval
Introduction to Music Information RetrievalIntroduction to Music Information Retrieval
Introduction to Music Information Retrieval
 
Explainability for Learning to Rank
Explainability for Learning to RankExplainability for Learning to Rank
Explainability for Learning to Rank
 
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @Chorus
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @ChorusRated Ranking Evaluator (RRE) Hands-on Relevance Testing @Chorus
Rated Ranking Evaluator (RRE) Hands-on Relevance Testing @Chorus
 
Interactive Questions and Answers - London Information Retrieval Meetup
Interactive Questions and Answers - London Information Retrieval MeetupInteractive Questions and Answers - London Information Retrieval Meetup
Interactive Questions and Answers - London Information Retrieval Meetup
 

Recently uploaded

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 

Recently uploaded (20)

2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 

How to Build your Training Set for a Learning To Rank Project

  • 1. London Information Retrieval Meetup 21 Oct 2019 How to Build your Training Set
 for a Learning to Rank Project Alessandro Benedetti, Software Engineer 21th October 2019
  • 2. London Information Retrieval Meetup Sease Search Services ● Open Source Enthusiasts ● Apache Lucene/Solr experts ! Community Contributors ● Active Researchers ● Hot Trends : Learning To Rank, Document Similarity, Search Quality Evaluation, Relevancy Tuning
  • 3. London Information Retrieval Meetup Who I am ▪ Search Consultant ▪ R&D Software Engineer ▪ Master in Computer Science ▪ Apache Lucene/Solr Enthusiast ▪ S e m a n t i c , N L P, M a c h i n e L e a r n i n g Technologies passionate ▪ Beach Volleyball Player & Snowboarder Alessandro Benedetti
  • 4. London Information Retrieval Meetup Agenda ● Learning To Rank ● Training Set Definition ! Implicit/Explicit feedback ! Feature Engineering ● Relevance Label ● Metric Evaluation/Loss Function ! Training Set Split
  • 5. London Information Retrieval Meetup Learning To Rank What is it ? Learning from user implicit/explicit feedback To Rank documents (sensu lato)
  • 6. London Information Retrieval Meetup Learning To Rank - What is NOT “Learning to rank is the application of machine learning, typically supervised, semi-supervised or reinforcement learning, in the construction of ranking models for information retrieval systems.” Wikipedia Learning To Rank Users Interactions Logger Judgement Collector 
 UI Interactions Training
  • 7. London Information Retrieval Meetup • Sentient system that learn by itself • Continuously improving itself by ingesting additional feedback • Easy to set up and tune it • Easy to give a human understandable explanation of why the model operates in certain ways Learning To Rank - What is NOT
  • 8. London Information Retrieval Meetup • A set of Examples to train the model on • It will considered the golden truth • Each example is composed by:
 - relevancy rating
 - query Id
 - feature vector • The feature vector is composed by N features (<id>:<value>) Training Set: What is it? 3 qid:1 0:3.4 1:0.7 2:1.5 3:0
 2 qid:1 0:5.0 1:0.4 2:1.3 3:0
 0 qid:1 0:2.4 1:0.7 2:1.5 3:1
 1 qid:2 0:5.7 1:0.2 2:1.1 3:0
 3 qid:2 0:0.0 1:0.5 2:4.0 3:0
 0 qid:3 0:1.0 1:0.7 2:1.5 3:1
  • 9. London Information Retrieval Meetup Training Set: Gather Feedback Ratings Set Explicit Feedback Implicit Feedback Judgements Collector Interactions Logger Queen music Bohemian
 Rhapsody D a n c i n g Queen Queen 
 Albums Bohemian
 Rhapsody D a n c i n g Queen Queen 
 Albums
  • 10. London Information Retrieval Meetup Feature Engineering : Feature Level Document level Query level Query Dependent This feature describes a 
 property of the DOCUMENT.
 The value of the feature depends only on
 the document instance.
 
 e.g.
 Document Type = E-commerce Product
 
 <Product price> is a Document Level feature.
 <Product colour> is a Document Level feature.
 <Product size> is a Document Level feature. Document Type = Hotel Stay
 
 <Hotel star rating> is a Document Level feature.
 <Hotel price> is a Document Level feature.
 <Hotel food rating> is a Document Level feature.
 Each sample is a <query,document> pair, the feature vector describes numerically this This feature describes a 
 property of the QUERY.
 The value of the feature depends only on
 the query instance.
 
 e.g.
 Query Type = E-commerce Search
 
 <Query length> is a Query Level feature.
 <User device> is a Query Level feature.
 <User budget> is a Query Level feature. This feature describes a 
 property of the QUERY in correlation
 with the DOCUMENT.
 The value of the feature depends on
 the query and document instance.
 
 e.g.
 Query Type = E-commerce Search
 Document Type = E-commerce Product
 
 <first Query Term TF in Product title> 
 is a Query dependent feature.
 <first Query Term DF in Product title> 
 is a Query dependent feature. <query selected categories intersecting
 the product categories> 
 is a Query dependent feature.
 

  • 11. London Information Retrieval Meetup Feature Engineering : Feature Type Ordinal CategoricalQuantitative An ordinal feature describes a property
 for which the possible values are ordered.
 Ordinal variables can be considered 
 “in between” categorical and quantitative variables. e.g.
 Educational level might be categorized as 1: Elementary school education 2: High school graduate 3: Some college 4: College graduate 5: Graduate degree 
 
 1<2<3<4<5
 An quantitative feature describes a property
 for which the possible values are 
 a measurable quantity.
 e.g.
 Document Type = E-commerce Product
 
 <Product price> is a quantity
 
 e.g.
 Document Type = Hotel Stay
 
 <Hotel distance from city center>
 is a quantity
 
 A categorical feature represents an attribute of an 
 object that have a set of distinct possible values. In computer science it is common to call the possible
 values of a categorical features Enumerations.
 e.g. Document Type = E-commerce Product
 
 <Product colour> is a categorical feature
 <Product brand> is a categorical feature N.B. It is easy to observe that to give an order 
 to the values of a categorical feature 
 does not make any sense. For the Colour feature : red < blue < black has no general meaning.
  • 12. London Information Retrieval Meetup Feature Engineering : One Hot Encoding Categorical Features e.g. Document Type = E-commerce Product
 
 <Product colour> is a categorical feature Values: Red, Green, Blue, Other Encoded Features:
 Given a cardinality of N, we build N-1 encoded binary features
 product_colour_red = 0/1
 product_colour_green = 0/1
 product_colour_blue = 0/1
 
 product_colour_other = 0/1
 Dummy Variable Trap
 predict feature value from others features High Cardinality Categoricals
 you may need to encode only the top frequent
  • 13. London Information Retrieval Meetup Feature Engineering : Binary Encoding Categorical Features e.g. Document Type = E-commerce Product
 
 <Product colour> is a categorical feature Values: Red, Green, Blue, Other Encoded Features: 1) Ordinal Encoding
 Red=0, Green=1 Blue=2 Other=3
 
 2) Binary Encoding product_colour_bit1 = 0/1
 product_colour_bit2 = 0/1 Better for high cardinality categorically 
 
 
 Multi Valued?
 you may have collisions and not able to use binary features
  • 14. London Information Retrieval Meetup Feature Engineering : Missing Values ● Some times a missing value would be equivalent to a 0 value semantic
 e.g.
 Domain: e-commerce products
 Feature: Discount Percentage - [quantitative, document level feature]
 a missing discount percentage could model a 0 discount percentage,
 missing values can be filled with 0 values
 ● Some times a missing feature value can have a completely different semantic
 e.g.
 Domain: Hotel Stay
 Feature: Star Rating - [quantitative, document level feature]
 a missing star rating it’s not equivalent to a 0 star rating, so an additional feature
 should be added to distinguish 

  • 15. London Information Retrieval Meetup Relevance Label : Signal Intensity Discordant training samples ● Each sample is a user interaction (click, add to cart, sale, ect) ● Some sample are impressions (we have showed the document to the user) ● A rank is attributed to the user interaction types
 e.g.
 0-Impression < 1-click < 2-add to cart < 3-sale ● The rank becomes the relevance label for the sample
  • 16. London Information Retrieval Meetup Relevance Label : Simple Click Model ● Each sample is a user interaction (click, add to cart, sale, ect) ● Some sample are impressions (we have showed the document to the user) ● One interaction type is set as the target of optimisation ● Identical Samples are aggregated, the new sample generated will have a new feature:
 
 [Interaction Type Count/ Impressions]
 
 e.g. CTR (Click Through Rate) = for the sample, number of clicks/ number of impressions ● We then get the resulting score (in CTR 0<x<1) and normalise it to get the relevance label
 The relevance label scale will depend on the Training algorithm chosen
  • 17. London Information Retrieval Meetup Relevance Label : Advanced Click Model Given a sample:
 ● We have the CTR from previous model ● We compare it with the avg CTR of all samples ● We take into account the statistical significance
 of that (how many initial samples generated our estimation?)
 ● The relevance label will be the product of those two factors
 (scaled up accordingly to the training algorithm scale) More info in John Berryman blog:
 http://blog.jnbrymn.com/2018/04/16/better-click-tracking-1/
  • 18. London Information Retrieval Meetup Point-wise Pair-wise List-wise How many documents you consider at a time, when calculating your loss function? ● Single Document ● You estimate a function that predicts the best score of the document ● Rank the results on the 
 predicted score ● Score of the doc is 
 independent of the other scores
 in the same result list ● You can use any regression or
 classification algorithm ● Pair of documents ● You estimate the optimal local ordering to maximise the global ● The Objective is to set local ordering to minimise the number of inversion across all pairs ● Works better than point wise because predicting a local ordering is closer to solving the ranking problem that just estimate a regression score ● Entire list of documents for a given query ● Direct optimization of IR measures such as NDCG ● Minimise a specific loss function ● The evaluation measure is avg across the queries ● Works better than pair wise Learning To Rank : Metric Evaluation
  • 19. London Information Retrieval Meetup Offline Evaluation Metrics[1/3] • precision TruePositives/TruePositives+FalsePositives • precision@K (TruePositives/TruePositives+FalsePositives) in topK • (precision@1, precision@2, precision@10) • recall TruePositives/TruePositives+FalseNegatives Learning To Rank : Metric Evaluation
  • 20. London Information Retrieval Meetup Offline Evaluation Metrics[2/3] Let’s combine Precision and recall: Learning To Rank : Metric Evaluation
  • 21. London Information Retrieval Meetup Offline Evaluation Metrics[3/3] • DCG@K = Discounted Cumulative Gain@K • NDCG@K = DCG@K/ Ideal DCG@K Model1 Model2 Model3 Ideal 1 2 2 4 2 3 4 3 3 2 3 2 4 4 2 2 2 1 1 1 0 0 0 0 0 0 0 0 0.64 0.73 0.79 1.0 Learning To Rank : Metric Evaluation
  • 22. London Information Retrieval Meetup Learning To Rank : List-wise and NDCG ● The list is the result set of documents
 for a given query Id ● In lambdaMart is often used NDCG@K per list ● The Evaluation Metric is avg over the query Ids
 when evaluating a training iteration It is extremely important to assess the distribution of training samples per queryId Model1 Model2 Model3 Ideal 1 1 1 1 1 1 1 1 Model1 Model2 Model3 Ideal 3 3 3 3 7 7 7 7 Query1 Query2 Under sampled QueryId can potentially sky rock your NDCG avg
  • 23. London Information Retrieval Meetup Build the Lists: QueryId Hashing ● Assess how to calculate your queryId,
 each queryId should bring a separate set of results ● No free text query? Group query level features ● Target: uniform distribution of samples per query ● Drop training samples if queryIds are undersampled
  • 24. London Information Retrieval Meetup Split the Set: Training/Validation(dev)/Test ● Each training set iteration will assess the evaluation metric on the training and validation set ● At the end of the iterations the final model will be evaluated on an unknown Test Set ● This split could be random ● This split could depend on the time the interactions were collected
  • 25. London Information Retrieval Meetup Split the Set: Training/Validation(dev)/Test K-fold Cross Validation