60
Searching the Web From Chris Manning’s slides for Lecture 8: IIR Chapter 19

Searching the Web

  • Upload
    nevaeh

  • View
    22

  • Download
    0

Embed Size (px)

DESCRIPTION

Searching the Web. From Chris Manning’s slides for Lecture 8: IIR Chapter 19. Basic assumptions of Classic Information Retrieval. Corpus : Fixed document collection Goal : Retrieve documents with content that is relevant to user’s information need. Bad assumptions in the web context. - PowerPoint PPT Presentation

Citation preview

Page 1: Searching the Web

Searching the Web

From Chris Manning’s slides for Lecture 8: IIR Chapter 19

Page 2: Searching the Web

Basic assumptions of Classic Information Retrieval

Corpus: Fixed document collection Goal: Retrieve documents with content

that is relevant to user’s information need

Page 3: Searching the Web

Classic IR GoalClassic relevance For each query Q and stored document D in a given

corpus assume there exists relevance Score(Q, D) Score is average over users U and contexts C

Optimize Score(Q, D) as opposed to Score(Q, D, U, C) That is, usually:

Context ignored Individuals ignored Corpus predetermined Bad assumptions

in the web context

Page 4: Searching the Web

Algorithmic results=Audience

Advertisements=Monetization

Page 5: Searching the Web

Brief (non-technical) history

Early keyword-based engines Altavista, Excite, Infoseek, Inktomi, Lycos,

ca. 1995-1997 Sponsored search ranking: Goto.com

(morphed into Overture.com Yahoo!) Your search ranking depended on how much

you paid Auction for keywords: casino was

expensive!

Page 6: Searching the Web

Brief (non-technical) history

1998+: Link-based ranking pioneered by Google Blew away all early engines except Inktomi Great user experience in search of a business

model Meanwhile Goto/Overture’s annual revenues

were nearing $1 billion Result: Google added paid-placement “ads”

to the side, independent of search results 2003: Yahoo follows suit, acquiring Overture

(for paid placement) and Inktomi (for search)

Page 7: Searching the Web

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

Page 8: Searching the Web

Web search engine pieces

Spider (a.k.a. crawler/robot) – builds corpus Collects web pages recursively

For each known URL, fetch the page, parse it, and extract new URLs

Repeat Additional pages from direct submissions & other

sources The indexer – creates inverted indexes

Various policies wrt which words are indexed, capitalization, support for Unicode, stemming, support for phrases, etc.

Query processor – serves query results Front end – query reformulation, word stemming,

capitalization, optimization of Booleans, etc. Back end – finds matching documents and ranks them

Page 9: Searching the Web

The Web

No design/co-ordination Distributed content creation, linking Content includes truth, lies, obsolete

information, contradictions … Structured (databases), semi-

structured … Scale larger than previous text

corpora … (now, corporate records) Growth – slowed down from initial

“volume doubling every few months”

Content can be dynamically generated

The Web

Page 10: Searching the Web

The user

Diverse in access methodology Increasingly, high bandwidth connectivity Growing segment of mobile users:

limitations of form factor – keyboard, display Diverse in search methodology

Search, search + browse, filter by attribute …

Average query length ~ 2.3 terms Has to do with what they’re searching for

Poor comprehension of syntax Early engines surfaced rich syntax –

Boolean, phrase, etc. Current engines hide these

Page 11: Searching the Web

The user

Diverse in background/training Although this is improving Few try using the CD ROM drive as a

cupholder Increasingly, can tell a search bar from the

URL bar Although this matters less now

Increasingly, comprehend UI elements such as the vertical slider

But browser real estate “above the fold” is still a premium

Page 12: Searching the Web

The user: information needs

Informational – want to learn about something (~25%)

Navigational – want to go to that page (~40%)

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

Access a service

Downloads

Shop Gray areas

Find a good hub Exploratory search “see what’s there”

Low hemoglobin

United Airlines

Mendocino weather

Mars surface images

Nikon CoolPix

Car rental Finland

Page 13: Searching the Web

Users’ empirical evaluation of results Quality of pages varies widely

Relevance is not enough Other desirable qualities (non IR!!)

Content: Trustworthy, new info, non-duplicates, 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

Page 14: Searching the Web

Algorithmic results

Already, more than a list of docs Moving towards identifying a user’s task (As expressed in the query box) Instead: enabling means for task

completion

Page 15: Searching the Web
Page 16: Searching the Web
Page 17: Searching the Web
Page 18: Searching the Web

Sponsored search

Page 19: Searching the Web

A sponsored search ad

Page 20: Searching the Web

Ads go in slots

like these

Page 21: Searching the Web

Higher slots get more clicks

Page 22: Searching the Web

Engine: Three sub-problems

1. Match ads to query/context2. Order the ads3. Pricing on a click-through

IR

Econ

Page 23: Searching the Web

Spam

Search Engine Optimization

Page 24: Searching the Web

The trouble with search ads …

It costs money. What’s the alternative? Search Engine Optimization:

“Tuning” your web page to rank highly in the search results for select keywords

Alternative to paying for placement Thus, intrinsically a marketing function

Performed by companies, webmasters and consultants (“Search engine optimizers”) for their clients

Some perfectly legitimate, some very shady

Page 25: Searching the Web

The spam industry

Page 26: Searching the Web

Simplest forms

First generation engines relied heavily on tf/idf The top-ranked pages for the query maui resort were

the ones containing the most maui’s and resort’s SEOs responded with dense repetitions of

chosen terms e.g., maui resort maui resort maui resort Often, the repetitions would be in the same color as

the background of the web page Repeated terms got indexed by crawlers But not visible to humans on browsers

Term density is not a trusted IR signal

Page 27: Searching the Web

Variants of keyword stuffing

Misleading meta-tags, excessive repetition Hidden text with colors, style sheet tricks,

etc.

Meta-Tags = “… London hotels, hotel, holiday inn, hilton, discount, booking, reservation, sex, mp3, britney spears, viagra, …”

Page 28: Searching the Web

Cloaking

Serve fake content to search engine spider DNS cloaking: Switch IP address. Impersonate

Is this a SearchEngine spider?

Y

N

SPAM

RealDocCloaking

Page 29: Searching the Web
Page 30: Searching the Web

More spam techniques Doorway pages

Pages optimized for a single keyword that re-direct to the real target page

Link spamming Mutual admiration societies, hidden links,

awards – more on these later Domain flooding: numerous domains that

point or re-direct to a target page Robots

Fake query stream – rank checking programs “Curve-fit” ranking programs of search engines

Millions of submissions via Add-Url

Page 31: Searching the Web

The war against spam Quality signals - Prefer

authoritative pages based on:

Votes from authors (linkage signals)

Votes from users (usage signals)

Policing of URL submissions

Anti robot test Limits on meta-keywords Robust link analysis

Ignore statistically implausible linkage (or text)

Use link analysis to detect spammers (guilt by association)

Spam recognition by machine learning

Training set based on known spam

Family friendly filters Linguistic analysis, general

classification techniques, etc.

For images: flesh tone detectors, source text analysis, etc.

Editorial intervention Blacklists Top queries audited Complaints addressed Suspect pattern detection

Page 32: Searching the Web

More on spam

Web search engines have policies on SEO practices they tolerate/block

http://help.yahoo.com/help/us/ysearch/index.html http://www.google.com/intl/en/webmasters/

Adversarial IR: the unending (technical) battle between SEO’s and web search engines

Research http://airweb.cse.lehigh.edu/

Page 33: Searching the Web

Size of the web

Page 34: Searching the Web

What is the size of the web ?

Issues The web is really infinite

Dynamic content, e.g., calendar Soft 404: www.yahoo.com/anything is a valid

page Static web contains syntactic duplication,

mostly due to mirroring (~20-30%) Some servers are seldom connected

Who cares? Media, and consequently the user Engine design Engine crawl policy. Impact on recall

Page 35: Searching the Web

What can we attempt to measure?

The relative size of search engines The notion of a page being indexed is still

reasonably well defined. Already there are problems

Document extension: e.g. engines indexe pages not yet crawled, by indexing anchortext.

Document restriction: Some engines restrict what is indexed (first n words, only relevant words, etc.)

The coverage of a search engine relative to another particular crawling process.

Page 36: Searching the Web

New definition ?

IQ is whatever the IQ tests measure.The statically indexable web is

whatever search engines index. Different engines have different preferences

max url depth, max count/host, anti-spam rules, priority rules, etc.

Different engines index different things under the same URL: frames, meta-keywords, document

restrictions, document extensions, ...

Page 37: Searching the Web

Sampling URLs

Ideal strategy: Generate a random URL and check for containment in each index.

Problem: Random URLs are hard to find! Enough to generate a random URL contained in a given Engine.

Key lesson.

Page 38: Searching the Web

Sampling methods

Random queries

Random searches

Random IP addresses

Random walks

Page 39: Searching the Web

A B = (1/2) * Size A

A B = (1/6) * Size B

(1/2)*Size A = (1/6)*Size B

Size A / Size B = (1/6)/(1/2) = 1/3

Sample URLs randomly from A

Check if contained in B

and vice versa

A B

Each test involves: (i) Sampling (ii) Checking

Relative Size from Overlap [Bharat & Broder, 98]

Page 40: Searching the Web

Random URLs from random queries [Bharat & B, 98]

Generate random query Lexicon: 400,000+ words from a crawl of Yahoo!

Conjunctive Queries: w1 and w2

e.g., vocalists AND rsi

Get 100 result URLs from the source engine Choose a random URL as the candidate to

check for presence in other engines. This distribution induces a probability weight

W(p) for each page. Conjecture: W(SE1) / W(SE2) ~= |SE1| / |SE2|

Page 41: Searching the Web

Query Based Checking

“Strong Query” for sample document: Download document. Get list of words. Use 8 low frequency words as conjunctive

query Check if sample is present in result set. Problems:

Near duplicates Frames Redirects Engine time-outs Might be better to use e.g. 5 distinct

conjunctive queries of 6 words each. Document extensions Document restrictions …

Sequence of improvements to Bar-Youssef & Gurevich 2006

Page 42: Searching the Web

Random searches

Choose random searches extracted from a local log [Lawrence & Giles 97] or build “random searches” [Notess] Use only queries with small results

sets. Count normalized URLs in result sets. Use ratio statistics

Some particularly flawed implementations also exist

Page 43: Searching the Web

Random searches [Lawr98, Lawr99]

575 & 1050 queries from the NEC RI employee logs 6 Engines in 1998, 11 in 1999 Implementation:

Restricted to queries with < 600 results in total Counted URLs from each engine after verifying query match Computed size ratio & overlap for individual queries Estimated index size ratio & overlap by averaging over all

queries Issues

Samples are correlated with source of log Duplicates Technical statistical problems (must have non-

zero results, ratio average, use harmonic mean? )

Page 44: Searching the Web

adaptive access control neighborhood

preservation topographic hamiltonian structures right linear grammar pulse width modulation

neural unbalanced prior

probabilities ranked assignment

method internet explorer

favourites importing karvel thornber zili liu

Queries from Lawrence and Giles study

softmax activation function

bose multidimensional system theory

gamma mlp dvi2pdf john oliensis rieke spikes exploring

neural video watermarking counterpropagation

network fat shattering dimension abelson amorphous

computing

Page 45: Searching the Web

Random IP addresses [Lawrence & Giles ‘99]

Generate random IP addresses

Find, if possible, a web server at the given address

Collect all pages from server.

Method first used by O’Neill, McClain, & Lavoie, “A Methodology for Sampling the World Wide Web”, 1977. http://digitalarchive.oclc.org/da/ViewObject.jsp?objid=0000003447

Page 46: Searching the Web

Random IP addresses [ONei97, Lawr99]

HTTP requests to random IP addresses Ignored: empty or authorization required or excluded [Lawr99] Estimated 2.8 million IP addresses running

crawlable web servers (16 million total) from observing 2500 servers.

OCLC using IP sampling found 8.7 M hosts in 2001 Netcraft [Netc02] accessed 37.2 million hosts in July 2002

[Lawr99] exhaustively crawled 2500 servers and extrapolated

Estimated size of the web to be 800 million Estimated use of metadata descriptors:

Meta tags (keywords, description) in 34% of home pages, Dublin core metadata in 0.3%

Page 47: Searching the Web

Advantages & disadvantages Advantages

Clean statistics Independent of crawling strategies

Disadvantages Doesn’t deal with duplication Many hosts might share one IP or not accept

http://102.93.22.15 No guarantee all pages are linked to root page.

Power law for # pages/host generates bias

towards sites with few pages. But bias can be accurately quantified IF underlying

distribution understood Potentially influenced by spamming (multiple

IP’s for same server to avoid IP block)

Page 48: Searching the Web

Random walks [Henzinger & al.,‘99 & WWW9]

View the Web as a directed graph from a given list of seeds.

Build a random walk on this graph Includes various “jump” rules back to visited sites

Does not get stuck in spider traps! Can follow all links!

Converges to a stationary distribution Must assume graph is finite and independent of the walk. Conditions are not satisfied (cookie crumbs, flooding) Time to convergence not really known

Sample from stationary distribution of walk Use the “strong query” method to check coverage by

SE Related papers:

[Bar Yossef & al, VLDB 2000], [Rusmevichientong & al, 2001], [Bar Yossef & al, 2003]

Page 49: Searching the Web

Advantages & disadvantages

Advantages “Statistically clean” method at least in

theory! Could work even for infinite web (assuming

convergence) under certain metrics. Disadvantages

List of seeds is a problem. Practical approximation might not be valid. Non-uniform distribution

Subject to link spamming Still has all the problems associated with

“strong queries”

Page 50: Searching the Web

Conclusions

No sampling solution is perfect. Lots of new ideas ... ....but the problem is getting harder Quantitative studies are fascinating and a

good research problem

Page 51: Searching the Web

Duplicate detection

Page 52: Searching the Web

Duplicate/Near-Duplicate Detection

Duplication: Exact match with fingerprints Near-Duplication: Approximate match Overview

Compute syntactic similarity with an edit-distance measure

Use similarity threshold to detect near-duplicates

E.g., Similarity > 80% => Documents are “near duplicates”

Not transitive though sometimes used transitively

Page 53: Searching the Web

Computing Similarity Segments of a document (natural or

artificial breakpoints) [Brin95] Shingles (Word k-Grams) [Brin95, Brod98]

“a rose is a rose is a rose” => a_rose_is_a rose_is_a_rose is_a_rose_is

Similarity Measure between two docs (= sets of shingles) Set intersection [Brod98] (Specifically, Size_of_Intersection /

Size_of_Union )

Jaccard measure

Page 54: Searching the Web

Shingles + Set Intersection Computing exact set intersection of shingles between all pairs of documents is expensive Approximate using a cleverly chosen subset of

shingles from each (a sketch) Estimate Jaccard from a short sketchCreate a “sketch vector” (e.g., of size 200) for each document Documents which share more than t (say 80%)

corresponding vector elements are similar For doc d, sketchd[i] is computed as follows:

Let f map all shingles in the universe to 0..2m

Let i be a specific random permutation on 0..2m

Pick MIN i (f(s)) over all shingles s in d

Page 55: Searching the Web

Computing Sketch[i] for Doc1

Document 1

264

264

264

264

Start with 64 bit shingles

Permute on the number line

with i

Pick the min value

Page 56: Searching the Web

Test if Doc1.Sketch[i] = Doc2.Sketch[i]

Document 1 Document 2

264

264

264

264

264

264

264

264

Are these equal?

Test for 200 random permutations: , ,… 200

A B

Page 57: Searching the Web

However…

Document 1 Document 2

264

264

264

264

264

264

264

264

A = B iff the shingle with the MIN value in the union of Doc1 and Doc2 is common to both (I.e., lies in the intersection)

This happens with probability: Size_of_intersection / Size_of_union

BA

Why?

Page 58: Searching the Web

Set Similarity

Set Similarity (Jaccard measure)

View sets as columns of a matrix; one row for each element in the universe. aij = 1 indicates presence of item i in set j

Example

ji

ji

jiJ

CC

CC)C,(Csim

C1 C2

0 1 1 0 1 1 simJ(C1,C2) = 2/5 = 0.4 0 0 1 1 0 1

Page 59: Searching the Web

Key Observation

For columns Ci, Cj, four types of rows

Ci Cj

A 1 1B 1 0C 0 1D 0 0

Overload notation: A = # of rows of type A Claim

CBA

A)C,(Csim jiJ

Page 60: Searching the Web

Min Hashing

Randomly permute rows h(Ci) = index of first row with 1 in column

Ci Surprising Property

Why? Both are A/(A+B+C) Look down columns Ci, Cj until first non-

Type-D row h(Ci) = h(Cj) type A row

jiJji C,Csim )h(C)h(C P