88
SCORING AND COMPLETE SEARCH SYSTEM

SCORING AND COMPLETE SEARCH SYSTEM

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SCORING AND COMPLETE SEARCH SYSTEM

SCORING AND COMPLETE

SEARCH SYSTEM

Page 2: SCORING AND COMPLETE SEARCH SYSTEM

THIS LECTURE

Speeding up vector space ranking

Putting together a complete search

system

Will require learning about a

number of miscellaneous topics

and heuristics

Ch. 7

2

Page 3: SCORING AND COMPLETE SEARCH SYSTEM

COMPUTING COSINE SCORES

Sec. 6.3.3

3

Page 4: SCORING AND COMPLETE SEARCH SYSTEM

EFFICIENT COSINE RANKING

Find the K docs in the collection

“nearest” to the query K largest

query-doc cosines.

Efficient ranking:

Computing a single cosine efficiently.

Choosing the K largest cosine values

efficiently.

Can we do this without computing all N

cosines?

Sec. 7.1

4

Page 5: SCORING AND COMPLETE SEARCH SYSTEM

EFFICIENT COSINE RANKING

What we’re doing in effect: solving the K-nearest

neighbor problem for a query vector

In general, we do not know how to do this

efficiently for high-dimensional spaces

But it is solvable for short queries, and standard

indexes support this well

Sec. 7.1

5

Page 6: SCORING AND COMPLETE SEARCH SYSTEM

SPECIAL CASE – UNWEIGHTED QUERIES

No weighting on query terms

Assume each query term occurs only

once

Then for ranking, don’t need to normalize query

vector

Slight simplification of algorithm from

previous lecture

Sec. 7.1

6

Page 7: SCORING AND COMPLETE SEARCH SYSTEM

COMPUTING THE K LARGEST COSINES:

SELECTION VS. SORTING

Typically we want to retrieve the top K docs (in

the cosine ranking for the query)

not to totally order all docs in the collection

Can we pick off docs with K highest cosines?

Let J = number of docs with nonzero cosines

We seek the K best of these J

Sec. 7.1

7

Page 8: SCORING AND COMPLETE SEARCH SYSTEM

USE BINARY HEAP FOR SELECTING TOP K

Shape property: a binary heap is a complete binary tree; that is, all levels of the tree, except possibly the last one (deepest) are fully filled, and, if the last level of the tree is not complete, the nodes of that level are filled from left to right.

Heap property: the key stored in each node is either greater than or equal to (≥) or less than or equal to (≤) the keys in the node's children, according to some total order. Root stores the max or min value

8

1

.9 .3

.8.3 .1

Page 9: SCORING AND COMPLETE SEARCH SYSTEM

USE BINARY HEAP FOR SELECTING TOP K

Takes (worst-case) 2J operations

to construct, then each of K

“winners” read off in 2log J steps.

(Floyd’s method)

For J=1M, K=100, this is about

10% of the cost of sorting.

Sec. 7.1

9

1

.9 .3

.8.3 .1

Page 10: SCORING AND COMPLETE SEARCH SYSTEM

QUIZ: HEAP

Construct a binary max heap from the following

array of keys:

[43, 21, 9, 23, 5, 28, 6, 12]

Draw the binary tree as your answer.

What is the time complexity of building this binary

tree?

What is the time complexity of getting 5 “winners”?

10

Page 11: SCORING AND COMPLETE SEARCH SYSTEM

BOTTLENECKS

Previous approach was “exact”

Primary computational bottleneck in scoring:

cosine computation

Can we avoid all this computation?

Yes, but may sometimes get it wrong

a doc not in the top K may creep into the list of

K output docs

Is this such a bad thing?

Sec. 7.1.1

11

Page 12: SCORING AND COMPLETE SEARCH SYSTEM

COSINE SIMILARITY IS ONLY A PROXY

User has a task and a query formulation

Cosine matches docs to query

Thus cosine is anyway a proxy for user happiness

If we get a list of K docs “close” to the top K by

cosine measure, should be ok

Approximate solution!

Sec. 7.1.1

12

Page 13: SCORING AND COMPLETE SEARCH SYSTEM

GENERIC APPROACH

Find a set A of contenders, with K < |A| << N

A does not necessarily contain the top K,

but has many docs from among the top K

Return the top K docs in A

Think of A as pruning non-contenders

The same approach is also used for other (non-

cosine) scoring functions

Will look at several schemes following this

approach

Sec. 7.1.1

13

Page 14: SCORING AND COMPLETE SEARCH SYSTEM

INDEX ELIMINATION

Basic algorithm:

cosine computation algorithm only considers docs

containing at least one query term

Take this further:

Only consider high-idf query terms

Only consider docs containing many query terms

Sec. 7.1.2

14

Page 15: SCORING AND COMPLETE SEARCH SYSTEM

HIGH-IDF QUERY TERMS ONLY

For a query such as catcher in the rye

Only accumulate scores from catcher and rye

Intuition: in and the contribute little to the

scores and so don’t alter rank-ordering much

Benefit:

Postings of low-idf terms have many docs these

(many) docs get eliminated from set A of contenders

Save a lot of time!

Sec. 7.1.2

15

Page 16: SCORING AND COMPLETE SEARCH SYSTEM

DOCS CONTAINING MANY QUERY TERMS

Any doc with at least one query term is a

candidate for the top K output list

For multi-term queries, only compute scores for

docs containing several of the query terms

Say, at least 3 out of 4

Imposes a “soft conjunction” on queries seen on web

search engines (early Google)

Easy to implement in postings traversal

Sec. 7.1.2

16

Page 17: SCORING AND COMPLETE SEARCH SYSTEM

3 OF 4 QUERY TERMS

Brutus

Caesar

Calpurnia

1 2 3 5 8 13 21 34

2 4 8 16 32 64 128

13 16

Antony 3 4 8 16 32 64 128

32

Scores only computed for docs 8, 16 and 32.

Sec. 7.1.2

17

Page 18: SCORING AND COMPLETE SEARCH SYSTEM

CHAMPION LISTS

Precompute for each dictionary term t, the r docs

of highest weight in t’s postings

Call this the champion list for t

(aka fancy list or top docs for t)

Note that r has to be chosen at index build time

Thus, it’s possible that r < K

At query time, only compute scores for docs in the

champion list of some query term

Pick the K top-scoring docs from amongst these

Sec. 7.1.3

18

Page 19: SCORING AND COMPLETE SEARCH SYSTEM

Quantitative

STATIC QUALITY SCORES

We want top-ranking documents to be both

relevant and authoritative

Relevance is being modeled by cosine scores

Authority is typically a query-independent

property of a document

Examples of authority signals

Wikipedia among websites

Articles in certain newspapers

A paper with many citations

Many bitly’s, diggs or del.icio.us marks

Pagerank

Sec. 7.1.4

19

Page 20: SCORING AND COMPLETE SEARCH SYSTEM

20

Page 21: SCORING AND COMPLETE SEARCH SYSTEM

21

Page 22: SCORING AND COMPLETE SEARCH SYSTEM

MODELING AUTHORITY

Assign to each document a query-independent

quality score in [0,1] to each document d

Denote this by g(d)

Thus, a quantity like the number of citations is

scaled into [0,1]

Quiz: suggest a formula for this quality

score.

Sec. 7.1.4

22

Page 23: SCORING AND COMPLETE SEARCH SYSTEM

NET SCORE

Consider a simple total score combining cosine

relevance and authority

net-score(q,d) = g(d) + cosine(q,d)

Can use some other linear combination

Indeed, any function of the two “signals” of user

happiness – more later

Now we seek the top K docs by net score

Sec. 7.1.4

23

Page 24: SCORING AND COMPLETE SEARCH SYSTEM

TOP K BY NET SCORE – FAST METHODS

First idea: Order all postings by g(d)

Key: there is a common ordering for all postings

Thus, can concurrently traverse query terms’

postings for

Postings intersection

Cosine score computation

Sec. 7.1.4

24

Page 25: SCORING AND COMPLETE SEARCH SYSTEM

WHY ORDER POSTINGS BY G(D)?

Under g(d)-ordering, top-scoring docs likely to

appear early in postings traversal

In time-bound applications (say, we have to

return whatever search results we can in 50 ms),

this allows us to stop postings traversal early

Short of computing scores for all docs in postings

Sec. 7.1.4

25

Page 26: SCORING AND COMPLETE SEARCH SYSTEM

QUIZ: G(D)-ORDERING

How shall we order the postings by g(d) score, by

increasing order or decreasing order? Why?

26

Page 27: SCORING AND COMPLETE SEARCH SYSTEM

CHAMPION LISTS IN G(D)-ORDERING

Can combine champion lists with g(d)-ordering

Maintain for each term a champion list of the r

docs with highest g(d) + tf-idftd

Seek top-K results from only the docs in these

champion lists

Sec. 7.1.4

27

Page 28: SCORING AND COMPLETE SEARCH SYSTEM

HIGH AND LOW LISTS

For each term, we maintain two postings lists

called high and low

Think of high as the champion list

When traversing postings on a query, only

traverse high lists first

If we get more than K docs, select the top K and stop

Else proceed to get docs from the low lists

Can be used even for simple cosine scores,

without global quality g(d)

A means for segmenting index into two tiers

Sec. 7.1.4

28

Page 29: SCORING AND COMPLETE SEARCH SYSTEM

IMPACT-ORDERED POSTINGS

So far: global ordering and concurrent traversal

We only want to compute scores for docs for

which tft,d is high enough

We sort each postings list by tft,d

Now: not all postings in a common order!

How do we compute scores in order to pick off top

K?

Two ideas follow

Sec. 7.1.5

29

Page 30: SCORING AND COMPLETE SEARCH SYSTEM

1. EARLY TERMINATION

When traversing t’s postings, stop early after

either

a fixed number of r docs

tft,d drops below some threshold

Take the union of the resulting sets of docs

One from the postings of each query term

Compute only the scores for docs in this union

Sec. 7.1.5

30

Page 31: SCORING AND COMPLETE SEARCH SYSTEM

2. IDF-ORDERED TERMS

When considering the postings of query terms

Look at them in order of decreasing idf

High idf terms likely to contribute most to score

As we update score contribution from each query

term

Stop if doc scores relatively unchanged

Can apply to cosine or some other net scores

Sec. 7.1.5

31

Page 32: SCORING AND COMPLETE SEARCH SYSTEM

CLUSTER PRUNING: PREPROCESSING

Pick N docs at random: call these

leaders

For every other doc, pre-compute

nearest leader

Docs attached to a leader: its followers;

Likely: each leader has ~ N followers.

Sec. 7.1.6

32

Page 33: SCORING AND COMPLETE SEARCH SYSTEM

CLUSTER PRUNING: QUERY PROCESSING

Process a query as follows:

Given query Q, find its nearest

leader L.

Seek K nearest docs from among

L’s followers.

Sec. 7.1.6

33

Page 34: SCORING AND COMPLETE SEARCH SYSTEM

VISUALIZATION

Query

Leader Follower

Sec. 7.1.6

34

Page 35: SCORING AND COMPLETE SEARCH SYSTEM

WHY USE RANDOM SAMPLING

Fast

Leaders reflect data distribution

Sec. 7.1.6

35

Page 36: SCORING AND COMPLETE SEARCH SYSTEM

GENERAL VARIANTS

Have each follower attached to b1=3 (say)

nearest leaders.

From query, find b2=4 (say) nearest leaders and

their followers.

Can recurse on leader/follower construction.

Sec. 7.1.6

36

Page 37: SCORING AND COMPLETE SEARCH SYSTEM

QUIZ: NEAREST LEADER

Given a query, and N docs, to find the nearest

leader, how many cosine computations do we do?

1. N

2. NlogN

3. N2

4. N

Sec. 7.1.6

37

Page 38: SCORING AND COMPLETE SEARCH SYSTEM

PARAMETRIC AND ZONE INDEXES

Thus far, a doc has been a sequence of terms

In fact documents have multiple parts, some with

special semantics:

Author

Title

Date of publication

Language

Format

etc.

These constitute the metadata about a document

Sec. 6.1

38

Page 39: SCORING AND COMPLETE SEARCH SYSTEM

FIELDS

We sometimes wish to search by these metadata

E.g., find docs authored by William Shakespeare in

the year 1601, containing alas poor Yorick

Year = 1601 is an example of a field

Also, author last name = shakespeare, etc.

Field or parametric index: postings for each field

value

Sometimes build range trees (e.g., for dates)

Field query typically treated as conjunction

(doc must be authored by shakespeare)

Sec. 6.1

39

Page 40: SCORING AND COMPLETE SEARCH SYSTEM

ZONE

A zone is a region of the doc that can contain an

arbitrary amount of text, e.g.,

Title

Abstract

References …

Build inverted indexes on zones as well to permit

querying

E.g., “find docs with merchant in the title zone

and matching the query gentle rain”

Sec. 6.1

40

Page 41: SCORING AND COMPLETE SEARCH SYSTEM

EXAMPLE ZONE INDEXES

Encode zones in dictionary vs. postings.

Sec. 6.1

41

Page 42: SCORING AND COMPLETE SEARCH SYSTEM

QUIZ: ZONE INDEX

Which one of the previous approaches is better if

I want to search for “William” in the abstract of a

doc? Why?

a) encode zones in the dictionary

b) encode zones in the postings

42

Page 43: SCORING AND COMPLETE SEARCH SYSTEM

TIERED INDEXES

Break postings up into a hierarchy of lists

Most important

Least important

Can be done by g(d) or another measure

Inverted index thus broken up into tiers of

decreasing importance

At query time use top tier unless it fails to yield

K docs

If so drop to lower tiers

Sec. 7.2.1

43

Page 44: SCORING AND COMPLETE SEARCH SYSTEM

EXAMPLE TIERED INDEX

Sec. 7.2.1

44

Page 45: SCORING AND COMPLETE SEARCH SYSTEM

QUERY TERM PROXIMITY

Free text queries: just a set of terms typed into

the query box – common on the web

Users prefer docs in which query terms occur

within close proximity of each other

Let w be the smallest window in a doc containing

all query terms, e.g.,

For the query strained mercy the smallest window in

the doc The quality of mercy is not strained is 4

(words)

Would like scoring function to take this into

account – how?

Sec. 7.2.2

45

Page 46: SCORING AND COMPLETE SEARCH SYSTEM

QUERY PARSERS

Free text query from user may in fact spawn one

or more queries to the indexes, e.g., query rising

interest rates

Run the query as a phrase query

If <K docs contain the phrase rising interest rates, run

the two phrase queries rising interest and interest

rates

If we still have <K docs, run the vector space query

rising interest rates

Rank matching docs by vector space scoring

This sequence is issued by a query parser

Sec. 7.2.3

46

Page 47: SCORING AND COMPLETE SEARCH SYSTEM

AGGREGATE SCORES

We’ve seen that score functions can combine

cosine, static quality, proximity, etc.

How do we know the best combination?

Some applications – expert-tuned

Increasingly common: machine-learned

In later lecture

Sec. 7.2.3

47

Page 48: SCORING AND COMPLETE SEARCH SYSTEM

PUTTING IT ALL TOGETHER

Sec. 7.2.4

48

Page 49: SCORING AND COMPLETE SEARCH SYSTEM

Components we have introduced

thus far

• Document preprocessing (linguistic and otherwise)

• Positional indexes

• Tiered indexes

• Spelling correction

• k-gram indexes for wildcard queries and spelling correction

• Query processing

• Document scoring

• Term-at-a-time processing

49

Page 50: SCORING AND COMPLETE SEARCH SYSTEM

Components we haven’t covered yet

• Document cache: we need this for generating snippets

(=dynamic summaries)

• Machine-learned ranking functions

• Proximity ranking (e.g., rank documents in which the query

terms occur in the same local window higher than documents in

which the query terms occur far from each other)

• Query parser

50

Page 51: SCORING AND COMPLETE SEARCH SYSTEM

Vector space retrieval: Interactions

• How do we combine phrase retrieval with vector space retrieval?

• We do not want to compute document frequency / idf for every

possible phrase. Why?

• How do we combine Boolean retrieval with vector space retrieval?

• For example: “+”-constraints and “-”-constraints

• Post-filtering is simple, but can be very inefficient – no easy

answer.

• How do we combine wild cards with vector space retrieval?

• Again, no easy answer

51

Page 52: SCORING AND COMPLETE SEARCH SYSTEM

RESOURCES

IIR 7, 6.1

52

Page 53: SCORING AND COMPLETE SEARCH SYSTEM

WEB SEARCH BASICS

Page 54: SCORING AND COMPLETE SEARCH SYSTEM

OVERVIEW

Big picture

Ads – they pay for the web

Duplicate detection – addresses one aspect of

chaotic content creation

Spam detection – addresses one aspect of lack of

central access control

Size of the web

54

Page 55: SCORING AND COMPLETE SEARCH SYSTEM

Big Picture

55

Page 56: SCORING AND COMPLETE SEARCH SYSTEM

BRIEF (NON-TECHNICAL) HISTORY

Early keyword-based engines ca. 1995-1997

Altavista, Excite, Infoseek, Inktomi, Lycos

Paid search ranking: Goto (morphed into

Overture.com Yahoo!)

Your search ranking depended on how much you paid

Auction for keywords: casino was expensive!

56

Page 57: SCORING AND COMPLETE SEARCH SYSTEM

BRIEF (NON-TECHNICAL) HISTORY

1998+: Link-based ranking pioneered by Google

Blew away all early engines save Inktomi

Great user experience in search of a business model

Meanwhile Goto/Overture’s annual revenues were

nearing $1 billion

Result: Google added paid search “ads” to the

side, independent of search results

Yahoo followed suit, acquiring Overture (for paid

placement) and Inktomi (for search)

2005+: Google gains search share, dominating in

Europe and very strong in North America

2009: Yahoo! and Microsoft propose combined paid

search offering57

Page 58: SCORING AND COMPLETE SEARCH SYSTEM

Algorithmic results.

Paid

Search Ads

58

Page 59: SCORING AND COMPLETE SEARCH SYSTEM

59

Page 60: SCORING AND COMPLETE SEARCH SYSTEM

WEB SEARCH BASICS

The Web

Ad indexes

Web Results 1 - 10 of about 7,310,000 for miele. (0.12 seconds)

Miele, Inc -- Anything else is a compromise At the heart of your home, Appliances by Miele. ... USA. to miele.com. Residential Appliances. Vacuum Cleaners. Dishwashers. Cooking Appliances. Steam Oven. Coffee System ... www.miele.com/ - 20k - Cached - Similar pages

Miele Welcome to Miele, the home of the very best appliances and kitchens in the world. www.miele.co.uk/ - 3k - Cached - Similar pages

Miele - Deutscher Hersteller von Einbaugeräten, Hausgeräten ... - [ Translate this

page ] Das Portal zum Thema Essen & Geniessen online unter www.zu-tisch.de. Miele weltweit ...ein Leben lang. ... Wählen Sie die Miele Vertretung Ihres Landes. www.miele.de/ - 10k - Cached - Similar pages

Herzlich willkommen bei Miele Österreich - [ Translate this page ] Herzlich willkommen bei Miele Österreich Wenn Sie nicht automatisch weitergeleitet werden, klicken Sie bitte hier! HAUSHALTSGERÄTE ... www.miele.at/ - 3k - Cached - Similar pages

Sponsored Links CG Appliance Express Discount Appliances (650) 756-3931 Same Day Certified Installation www.cgappliance.com San Francisco-Oakland-San Jose, CA Miele Vacuum Cleaners Miele Vacuums- Complete Selection Free Shipping! www.vacuums.com Miele Vacuum Cleaners Miele-Free Air shipping! All models. Helpful advice. www.best-vacuum.com

Web spider

Indexer

Indexes

Search

User

Sec. 19.4.1

60

Page 61: SCORING AND COMPLETE SEARCH SYSTEM

Search is the top activity on the web

61

Page 62: SCORING AND COMPLETE SEARCH SYSTEM

Without search engines, the web

wouldn’t work

• Without search, content is hard to find.

• → Without search, there is no incentive to create content.

• Why publish something if nobody will read it?

• Why publish something if I don’t get ad revenue

from it?

• Somebody needs to pay for the web.

• Servers, web infrastructure, content creation

• A large part today is paid by search ads.

• Search pays for the web.

62

Page 63: SCORING AND COMPLETE SEARCH SYSTEM

Interest aggregation

• Unique feature of the web: A small number of

geographically dispersed people with similar

interests can find each other.

• Elementary school kids with hemophilia

• People interested in translating R5R5 Scheme into

relatively portable C (open source project)

• Search engines are a key enabler for interest

aggregation.

63

Page 64: SCORING AND COMPLETE SEARCH SYSTEM

IR on the web vs. IR in general

• On the web, search is not just a nice feature.

• Search is a key enabler of the web: . . .

• . . . financing, content creation, interest aggregation

etc.

• Web need financing → look at search ads

• The web is a chaotic und uncoordinated collection. →

lots of duplicates – need to detect duplicates

• No control / restrictions on who can author content →

lots of spam – need to detect spam

• The web is very large. → need to know how big it is64

Page 65: SCORING AND COMPLETE SEARCH SYSTEM

USER NEEDS

Need [Brod02, RL04]

Informational – want to learn about something (~40% / 65%)

Navigational – want to go to that page (~25% / 15%)

Transactional – want to do something (web-mediated) (~35% /

20%)

Access a service

Downloads

Shop

Gray areas

Find a good hub

Exploratory search “see what’s there”

Low hemoglobin

United Airlines

Seattle weather

Mars surface images

Canon S410

Car rental Brasil

Sec. 19.4.1

65

Page 66: SCORING AND COMPLETE SEARCH SYSTEM

HOW FAR DO PEOPLE LOOK FOR

RESULTS?

71% CTR for page 1, 6% for page 2 + 3 combined

Page 1 receives 95% traffic, remaining pages get 5%66

Page 67: SCORING AND COMPLETE SEARCH SYSTEM

USERS’ EMPIRICAL EVALUATION OF

RESULTS

Quality of pages varies widely Relevance is not enough

Other desirable qualities (non IR!!) Content: Trustworthy, diverse, non-duplicated, well maintained

Web readability: display correctly & fast

No annoyances: pop-ups, etc.

Precision vs. recall On the web, recall seldom matters

What matters Precision at 1? Precision above the fold?

Comprehensiveness – must be able to deal with obscure queries Recall matters when the number of matches is very small

User perceptions may be unscientific, but are significant over a large aggregate

67

Page 68: SCORING AND COMPLETE SEARCH SYSTEM

QUIZ: WINNING FACTOR

What are the important factors in the quality of

web search? (multiple correct answers)

a) Readability

b) Precision

c) Recall

d) Relevance

68

Page 69: SCORING AND COMPLETE SEARCH SYSTEM

USERS’ EMPIRICAL EVALUATION OF

ENGINES

Relevance and validity of results

UI – Simple, no clutter, error tolerant

Trust – Results are objective

Coverage of topics for polysemic queries

Pre/Post process tools provided Mitigate user errors (auto spell check, search assist,…)

Explicit: Search within results, more like this, refine ...

Anticipative: related searches

Deal with idiosyncrasies Web specific vocabulary

Impact on stemming, spell-check, etc.

Web addresses typed in the search box

“The first, the last, the best and the worst …”69

Page 70: SCORING AND COMPLETE SEARCH SYSTEM

THE WEB DOCUMENT COLLECTION

No design/co-ordination

Distributed content creation, linking, democratization of publishing

Content includes truth, lies, obsolete information, contradictions …

Unstructured (text, html, …), semi-structured (XML, annotated photos), structured (Databases)…

Scale much larger than previous text collections … but corporate records are catching up

Growth – slowed down from initial “volume doubling every few months” but still expanding

Content can be dynamically generatedThe Web

Sec. 19.2

70

Page 71: SCORING AND COMPLETE SEARCH SYSTEM

Search Ads

71

Page 72: SCORING AND COMPLETE SEARCH SYSTEM

First generation of search ads: Goto

(1996)

72

Page 73: SCORING AND COMPLETE SEARCH SYSTEM

First generation of search ads: Goto

(1996)

o Buddy Blake bid the maximum ($0.38) for this search.

o He paid $0.38 to Goto every time somebody clicked on the link.

o Pages were simply ranked according to bid – revenue

maximization for Goto.

o No separation of ads/docs. Only one result list!

o Upfront and honest. No relevance ranking, . . .

o . . . but Goto did not pretend there was any.73

Page 74: SCORING AND COMPLETE SEARCH SYSTEM

Second generation of search ads: Google

(2000/2001)

Strict separation of search results and search ads

74

Page 75: SCORING AND COMPLETE SEARCH SYSTEM

Two ranked lists: web pages (left) and ads

(right)SogoTrade appears

in search results.

SogoTrade appears

in ads.

Do search engines

rank advertisers

higher than

non-advertisers?

All major search

engines claim no.

75

Page 76: SCORING AND COMPLETE SEARCH SYSTEM

QUIZ: PAID RANKING

Why do major search engines deny that they are

doing paid search ranking? (name just one

reason)

76

Page 77: SCORING AND COMPLETE SEARCH SYSTEM

Do ads influence editorial content?

• Similar problem at newspapers / TV channels

• A newspaper is reluctant to publish harsh criticism of

its major advertisers.

• The line often gets blurred at newspapers / on TV.

• No known case of this happening with search engines

yet?

77

Page 78: SCORING AND COMPLETE SEARCH SYSTEM

How are the ads on the right ranked?

78

Page 79: SCORING AND COMPLETE SEARCH SYSTEM

How are ads ranked?

• Advertisers bid for keywords – sale by auction.

• Open system: Anybody can participate and bid on

keywords.

• Advertisers are only charged when somebody clicks on

your ad.

• How does the auction determine an ad’s rank and the

price paid for the ad?

• Basis is a second price auction, but with twists

• For the bottom line, this is perhaps the most

important research area for search engines –

computational advertising.• Squeezing an additional fraction of a cent from each ad means

billions in additional revenue for the search engine.79

Page 80: SCORING AND COMPLETE SEARCH SYSTEM

80

How are ads ranked?First cut: according to bid price only `a la Goto

Bad idea: open to abuse

Example: query [does my wife cheat?] → ad for divorce lawyer

We don’t want to show nonrelevant ads.

Instead: rank based on bid price and relevance

Key measure of ad relevance: clickthrough rateclickthrough rate = CTR = clicks per impressions

Result: A nonrelevant ad will be ranked low.Even if this decreases search engine revenue short-term

Hope: Overall acceptance of the system and overall revenue is

maximized if users get useful information.

Other ranking factors: location, time of day, quality and

loading speed of landing page

The main ranking factor: the query 80

Page 81: SCORING AND COMPLETE SEARCH SYSTEM

81

Google AdsWords demo

81

Page 82: SCORING AND COMPLETE SEARCH SYSTEM

82

Google’s second price auction

bid: maximum bid for a click by advertiser

CTR: click-through rate: when an ad is displayed, what

percentage of time do users click on it? CTR is a measure of

relevance.

ad rank: bid × CTR: this trades off (i) how much money the

advertiser is willing to pay against (ii) how relevant the ad is

rank: rank in auction

paid: second price auction price paid by advertiser82

Page 83: SCORING AND COMPLETE SEARCH SYSTEM

83

Google’s second price auction

Second price auction: The advertiser pays the minimum amount

necessary to maintain their position in the auction (plus 1 cent).

price1 ×CTR1 = bid2 ×CTR2 (this will result in rank1=rank2)

price1 = bid2 ×CTR2 / CTR1

p1 = bid2 ×CTR2/CTR1 = 3.00 ×0.03/0.06 = 1.50

p2 = bid3 ×CTR3/CTR2 = 1.00 ×0.08/0.03 = 2.67

p3 = bid4 ×CTR4/CTR3 = 4.00 ×0.01/0.08 = 0.50

83

Notice 2nd guy pays

more than 1st guy

Page 84: SCORING AND COMPLETE SEARCH SYSTEM

84

Keywords with high bidsAccording to http://www.cwire.org/highest-paying-search-terms/

$69.1 mesothelioma treatment options

$65.9 personal injury lawyer michigan

$62.6 student loans consolidation

$61.4 car accident attorney los angeles

$59.4 online car insurance quotes

$59.4 arizona dui lawyer

$46.4 asbestos cancer

$40.1 home equity line of credit

$39.8 life insurance quotes

$39.2 refinancing

$38.7 equity line of credit

$38.0 lasik eye surgery new york city

$37.0 2nd mortgage

$35.9 free car insurance quote84

Page 85: SCORING AND COMPLETE SEARCH SYSTEM

85

Search ads: A win-win-win?

The search engine company gets revenue every

time somebody clicks on an ad.

The user only clicks on an ad if they are

interested in the ad.

Search engines punish misleading and nonrelevant

ads.

As a result, users are often satisfied with what they

find after clicking on an ad.

The advertiser finds new customers in a cost-

effective way.85

Page 86: SCORING AND COMPLETE SEARCH SYSTEM

QUIZ: SEARCH ADS

Why is web search potentially more attractive for

advertisers than TV spots, newspaper ads or

radio spots? (name just one reason.)

86

Page 87: SCORING AND COMPLETE SEARCH SYSTEM

Not a win-win-win: Keyword arbitrage

• Buy a keyword on Google

• Then redirect traffic to a third party that is paying

much more than you are paying Google.

• E.g., redirect to a page full of ads

• This rarely makes sense for the user.

• Ad spammers keep inventing new tricks.

• The search engines need time to catch up with them.

87

Page 88: SCORING AND COMPLETE SEARCH SYSTEM

88

Not a win-win-win: Violation of

trademarks

• Example: geico

• During part of 2005: The search term “geico” on Google

was bought by competitors.

• Geico lost this case in the United States.

• Louis Vuitton lost similar case in Europe.

• See https://www.cnet.com/news/geico-sues-google-

overture-over-trademarks/

• It’s potentially misleading to users to trigger an ad of a

trademark if the user can’t buy the product on the site.

88