47
Solutions Solutions Recruiting Solutions Ganesh Venkataraman Viet Ha-Thuc Personalizing Search @ LinkedIn

Personalizing Search at LinkedIn

Embed Size (px)

Citation preview

Page 1: Personalizing Search at LinkedIn

Recruiting SolutionsRecruiting SolutionsRecruiting Solutions

Ganesh Venkataraman Viet Ha-Thuc

Personalizing Search @ LinkedIn

Ganesh Venkataraman
formatting fixes needed, last extends into footer
Ganesh Venkataraman
unsure what else to write on post retrieval
Ganesh Venkataraman
Unclear what I can write here
Page 2: Personalizing Search at LinkedIn

Bigger Picture

▪ LinkedIn’s vision– Create economic opportunity for every member of the

global workforce▪ Connect members to other members, knowledge and

opportunity and help them be great at what they do

Page 3: Personalizing Search at LinkedIn

Economic Graph

▪ Organize people, companies, jobs, knowledge and map out the economic graph

3

Page 4: Personalizing Search at LinkedIn

Role of Search

▪ At the heart of the economic graph, search makes the economic graph accessible, useful and actionable

▪ Powers searching people, jobs, companies, schools etc. ▪ On linkedin.com consumer, recruiter, sales solutions

4

Page 5: Personalizing Search at LinkedIn

Powered by Search

5

Page 6: Personalizing Search at LinkedIn

Basic Nomenclature

6

TypeAhead/TYAH Full Search/SERP

Page 7: Personalizing Search at LinkedIn

Search is ...

7

Page 8: Personalizing Search at LinkedIn

8

Page 9: Personalizing Search at LinkedIn

Search is about understanding the user intent

9

Page 10: Personalizing Search at LinkedIn

LinkedIn Search - An Overview

10

Query Processing

Retrieval

Ranking

Federated Page Construction

Search Assist● Instant Results● Guided suggestions● Autocomplete

suggestions

Entity View/Action

Page 11: Personalizing Search at LinkedIn

Let’s talk intent - Navigational

▪ Navigational - exactly one result in mind

11

Page 12: Personalizing Search at LinkedIn

Two types of Intent - Exploratory

▪ Exploratory - Typically more than one entity in mind

12

Page 13: Personalizing Search at LinkedIn

How to handle navigational queries?

Be Fast

Type Less

Be Lenient

13

Page 14: Personalizing Search at LinkedIn

Handling Navigational Queries

▪ Type Less– Index prefixes (‘ga’, ‘gan’, ‘gane’ => ‘ganesh’)

▪ Be Fast– Do not retrieve all documents– Order documents in posting list by static rank – Modify query for targeted retrieval

▪ Be Lenient– Smart spell correction

14

Page 15: Personalizing Search at LinkedIn

Exploratory Queries

▪ If possible guide users to more structured queries▪ Above query could go into different verticals if these are selected▪ User intent becomes much clearer

15

Page 16: Personalizing Search at LinkedIn

Exploratory Queries

16

Page 17: Personalizing Search at LinkedIn

Unclear intent - Federating TYAH results

17

Page 18: Personalizing Search at LinkedIn

LinkedIn Search - Bird’s eye view

18

Query Processing

Retrieval

Ranking

Federated Page Construction

Search Assist● Instant Results● Guided suggestions● Autocomplete

suggestions

Entity View/Action

Page 19: Personalizing Search at LinkedIn

Query Processing - things not strings

1919

TITLE CO GEO

TITLE-237software engineersoftware developer

programmer…

CO-1441Google Inc.

Industry: Internet

GEO-7583Country: US

Lat: 42.3482 NLong: 75.1890 W

(RECOGNIZED TAGS: NAME, TITLE, COMPANY, SCHOOL, GEO, SKILL )

Page 20: Personalizing Search at LinkedIn

Retrieval

▪ Custom search engine to handle 100’s of millions of documents (Galene)

▪ Key Features:– Offline indexing pipeline– Supports live updates with fine granularity– Static Ranking

▪ Posting list organized by static rank for each document

▪ Enables early termination20

Ganesh Venkataraman
Not sure what to write more, we need one slide on retrieval for completeness
Page 21: Personalizing Search at LinkedIn

LinkedIn Search - Bird’s eye view

21

Query Processing

Retrieval

Ranking

Federated Page Construction

Search Assist● Instant Results● Guided suggestions● Autocomplete

suggestions

Entity View/Action

Page 22: Personalizing Search at LinkedIn

Ranking

▪ Manually tuning vs. Learning to Rank (LTR)

▪ Why Learning to Rank?– Hard to manually tune with very large number of features– Challenging to personalize– LTR allows leveraging large volume of click data in an

automated way

22

Page 23: Personalizing Search at LinkedIn

Training Data: Human Label

Page 24: Personalizing Search at LinkedIn

What if the searcher is a job seeker?Or a recruiter?

Training Data: Human Label

Page 25: Personalizing Search at LinkedIn

▪ Relevance depends on who’s searching

▪ Difficult to scale

Training Data: Human Label

Page 26: Personalizing Search at LinkedIn

Training Data: Click StreamApproach: Clicked = Relevant, Skipped = Not Relevant

User eye scan direction

Unfair penalized

Page 27: Personalizing Search at LinkedIn

Training Data: Click StreamApproach: Graded relevance

Uncertain (middle level)

Non-relevant

Relevant

Page 28: Personalizing Search at LinkedIn

Feature Overview

▪ Textual features▪ Social features▪ Homophily features

– Geo– Industry

▪ Inferred Searcher Interests▪ etc.

Page 29: Personalizing Search at LinkedIn

Inferred Searcher Interests

Interests * Locations * Industry ...

Page 30: Personalizing Search at LinkedIn

Learning Algorithm

▪ Coordinate Ascent Algorithm– Listwise approach

▪ Objective function: Normalized Discounted Cumulative Gain (NDCG)– Defined on graded relevance

– Intuition: more useful to show more-relevant documents at higher positions

Page 31: Personalizing Search at LinkedIn

LinkedIn Search - Bird’s eye view

31

Query Processing

Retrieval

Ranking

Federated Page Construction

Search Assist● Instant Results● Guided suggestions● Autocomplete

suggestions

Entity View/Action

Page 32: Personalizing Search at LinkedIn

32

Federated Search Page

Page 33: Personalizing Search at LinkedIn

▪ Why do we need this?– Not to overwhelm the user with too much information –Make results personally relevant

33

Motivation

Page 34: Personalizing Search at LinkedIn

▪ Challenges–Query can be ambiguous

–Incomparability across vertical objects▪Compare objects of different nature: individual job vs. people cluster▪Objects associate with different signals

– Comparability across verticals

34

Motivation

Page 35: Personalizing Search at LinkedIn

35

Overall Approach

Page 36: Personalizing Search at LinkedIn

Learning Federation Model

▪ Predicts: p(click| individual result OR vertical cluster, query, searcher)▪ Training data: click logs▪ Features

–Relevance scores from base rankers–Searcher intent–Query intent–etc.

Page 37: Personalizing Search at LinkedIn

Features▪ Searcher Intents

– Mine searcher profiles and past behavior to infer intent▪ Title recruiter -> recruiting intent▪ Search for jobs -> job seeking intent

– Machine-learned models predict member intents:▪Job seeking▪Recruiting ▪Content consuming

37

Page 38: Personalizing Search at LinkedIn

Features▪Query Intents: e.g. p(job vertical| “software engineer”)

–Mine from historical searches and actions

38

Page 39: Personalizing Search at LinkedIn

Features▪Query Intents: e.g. p(job vertical| “software engineer”)

–Mine from historical searches and actions

▪Personalized Query Intents–p(job vertical| “software engineer”, searcher)

39

Page 40: Personalizing Search at LinkedIn

Features

▪ Query Intents: e.g. p(job vertical| “software engineer”)–Mine from historical searches and actions

▪Personalized Query Intents–p(job vertical| “software engineer”, searcher)

–Individual searcher → searcher group▪p(job vertical| “software engineer”, job seeking searcher)

40

Page 41: Personalizing Search at LinkedIn

Calibrate Signals across Verticals▪ Relevance scores from vertical rankers are incomparable

41

Page 42: Personalizing Search at LinkedIn

Calibrate Signals across Verticals▪ Relevance scores from vertical rankers are incomparable▪ Construct composite features

People relevance score of searcher if result is Peoplef 1= ⎨0, otherwise

42

Page 43: Personalizing Search at LinkedIn

Calibrate Signals across Verticals

▪ Verticals associate with different signals

43

People Result

Job Result

Group Result

Recruiting Intent

Job Seeking Intent

Content Consuming

Intent

Page 44: Personalizing Search at LinkedIn

Calibrate Signals across Verticals

▪ Verticals associate with different signals

44

People Result

Job Result

Group Result

Recruiting Intent

Job Seeking Intent

Content Consuming

Intent

Page 45: Personalizing Search at LinkedIn

Calibrate Signals across Verticals

▪ Verticals associate with different signals

45

People Result

Job Result

Group Result

Recruiting Intent

Job Seeking Intent

Content Consuming

Intent

Page 46: Personalizing Search at LinkedIn

Conclusions▪ Search personalization is at the core of our economic graph

vision–Connect talent with opportunity at massive scale

▪ Click data is useful sources for personalized training data–Need to correct position bias

▪ Personalized features are keys

▪Create composite features to calibrate across verticals

Page 47: Personalizing Search at LinkedIn

47

We are hiring!