Modern information retrieval Modelling. Introduction IR systems usually adopt index terms to process...

30
Modern information Modern information retrieval retrieval Modelling Modelling

Transcript of Modern information retrieval Modelling. Introduction IR systems usually adopt index terms to process...

Modern information Modern information retrievalretrieval

ModellingModelling

IntroductionIntroduction

• IR systems usually adopt index terms to IR systems usually adopt index terms to process queriesprocess queries

• Index term:Index term:– a keyword or group of selected wordsa keyword or group of selected words– any word (more general)any word (more general)

• Stemming might be used:Stemming might be used:– connect: connecting, connection, connectionsconnect: connecting, connection, connections

• An inverted file is built for the chosen An inverted file is built for the chosen index termsindex terms

IntroductionIntroduction

• Indexing results in records likeIndexing results in records likeDoc12: Doc12: napoleon, france, revolution, emperornapoleon, france, revolution, emperor

or (weighted terms)or (weighted terms)Doc12: Doc12: napoleonnapoleon-8, -8, francefrance-6, -6, revolutionrevolution-4, -4, emperoremperor-7-7

• To find all documents about Napoleon To find all documents about Napoleon would involve looking at every document’s would involve looking at every document’s index record (possibly 1,000s or millions).index record (possibly 1,000s or millions).

• (Assume that Doc12 references another file (Assume that Doc12 references another file which contains other details about the which contains other details about the document.)document.)

IntroductionIntroduction

• Instead the information is Instead the information is invertedinverted : :napoleonnapoleon : doc12, doc56, doc87, doc99 : doc12, doc56, doc87, doc99

or (weighted)or (weighted)napoloennapoloen : doc12-8, doc56-3, doc87-5, doc99-2 : doc12-8, doc56-3, doc87-5, doc99-2

• inverted file contains one record per inverted file contains one record per index termindex term

• inverted file is organised so that a given inverted file is organised so that a given index term can be found quickly.index term can be found quickly.

IntroductionIntroduction

• To find documents satisfying the To find documents satisfying the query query napoleonnapoleon andand revolutionrevolution– use the inverted file to find the set of use the inverted file to find the set of

documents indexed by documents indexed by napoleonnapoleon -> -> doc12, doc12, doc56, doc87, doc99doc56, doc87, doc99

– similarly find the set of documents indexed by similarly find the set of documents indexed by revolutionrevolution -> -> doc12, doc20, doc45, doc99doc12, doc20, doc45, doc99

– intersectintersect these sets -> these sets -> doc12, doc99doc12, doc99

– go to the document file to retrieve title, go to the document file to retrieve title, authors, location for these documents.authors, location for these documents.

IntroductionDocs

Information Need

Index Terms

doc

query

Rankingmatch

Introduction

Matching at index term level is quite imprecise No surprise that users get frequently unsatisfied Since most users have no training in query

formation, problem is even worst Frequent dissatisfaction of Web users Issue of deciding relevance is critical for IR

systems: ranking

Introduction

A ranking is an ordering of the documents retrieved that (hopefully) reflects the relevance of the documents to the user query

A ranking is based on fundamental premisses regarding the notion of relevance, such as: common sets of index terms sharing of weighted terms likelihood of relevance

Each set of premisses leads to a distinct IR model

IR Models

Non-Overlapping ListsProximal Nodes

Structured Models

Retrieval: Adhoc Filtering

Browsing

U s e r

T a s k

Classic Models

boolean vector probabilistic

Set Theoretic

Fuzzy Extended Boolean

Probabilistic

Inference Network Belief Network

Algebraic

Generalized Vector Lat. Semantic Index Neural Networks

Browsing

Flat Structure Guided Hypertext

IR Models The IR model, the logical view of the docs, and the retrieval

task are distinct aspects of the system

Index Terms

Full Text

Full Text + Structure

Retrieval

Classic

Set Theoretic Algebraic

Probabilistic

Classic

Set Theoretic Algebraic

Probabilistic

Structured

Browsing

Flat

Flat

Hypertext

Structure Guided

Hypertext

LOGICAL VIEW OF DOCUMENTS

USER T A S K

Retrieval: Ad Hoc x Filtering

Ad hoc retrieval:

Collection“Fixed Size”

Q2

Q3

Q1

Q4Q5

Retrieval: Ad Hoc x Filtering Filtering:

Documents Stream

User 1Profile

User 2Profile

Docs Filteredfor User 2

Docs forUser 1

Classic IR Models - Basic Concepts

Each document represented by a set of representative keywords or index terms

An index term is a document word useful for remembering the document main themes

Usually, index terms are nouns because nouns have meaning by themselves

However, search engines assume that all words are index terms (full text representation)

Classic IR Models - Basic Concepts

Not all terms are equally useful for representing the document contents: less frequent terms allow identifying a narrower set of documents

The importance of the index terms is represented by weights associated to them

Let ki be an index term dj be a document wij is a weight associated with (ki,dj)

The weight wij quantifies the importance of the index term for describing the document contents

Classic IR Models - Basic Concepts

Ki is an index term dj is a document t is the number of index terms K = (k1, k2, …, kt) is the set of all index terms wij >= 0 is a weight associated with (ki,dj) wij = 0 indicates that term does not belong to doc vec(dj) = (w1j, w2j, …, wtj) is a weighted vector

associated with the document dj gi(vec(dj)) = wij is a function which returns the

weight associated with pair (ki,dj)

The Boolean Model

Simple model based on set theory Queries specified as boolean expressions

precise semantics neat formalism q = ka (kb kc)

Terms are either present or absent. Thus, wij {0,1}

Consider q = ka (kb kc) vec(qdnf) = (1,1,1) (1,1,0) (1,0,0) vec(qcc) = (1,1,0) is a conjunctive component

The Boolean Model

q = ka (kb kc)

sim(q,dj) = 1 if vec(qcc) | (vec(qcc) vec(qdnf)) (ki, gi(vec(dj)) = gi(vec(qcc))) 0 otherwise

(1,1,1)(1,0,0)

(1,1,0)

Ka Kb

Kc

The Boolean Model Example:

Terms: K1, …,K8.

Documents:1. D1 = {K1, K2, K3, K4, K5}

2. D2 = {K1, K2, K3, K4}

3. D3 = {K2, K4, K6, K8}

4. D4 = {K1, K3, K5, K7}

5. D5 = {K4, K5, K6, K7, K8}

6. D6 = {K1, K2, K3, K4} Query: K1 (K2 K3) Answer: {D1, D2, D4, D6} ({D1, D2, D3, D6} {D3, D5})

= {D1, D2, D6}

Drawbacks of the Boolean Model

Retrieval based on binary decision criteria with no notion of partial matching

No ranking of the documents is provided (absence of a grading scale)

Information need has to be translated into a Boolean expression which most users find awkward

The Boolean queries formulated by the users are most often too simplistic

As a consequence, the Boolean model frequently returns either too few or too many documents in response to a user query

The Vector Model

Use of binary weights is too limiting Non-binary weights provide consideration for partial

matches These term weights are used to compute a degree

of similarity between a query and each document Ranked set of documents provides for better

matching

The Vector Model Define:

wij > 0 whenever ki dj wiq >= 0 associated with the pair (ki,q) vec(dj) = (w1j, w2j, ..., wtj) and

vec(q) = (w1q, w2q, ..., wtq) To each term ki is associated a unitary vector vec(i) The unitary vectors vec(i) and vec(j) are assumed

to be orthonormal (i.e., index terms are assumed to occur independently within the documents)

The t unitary vectors vec(i) form an orthonormal basis for a t-dimensional space

In this space, queries and documents are represented as weighted vectors

The Vector Model

Sim(q,dj) = cos() = [vec(dj) vec(q)] / |dj| * |q|

= [ wij * wiq] / |dj| * |q| Since wij > 0 and wiq > 0,

0 <= sim(q,dj) <=1 A document is retrieved even if it matches the

query terms only partially

i

j

dj

q

The Vector Model

Sim(q,dj) = [ wij * wiq] / |dj| * |q| How to compute the weights wij and wiq ? A good weight must take into account two effects:

quantification of intra-document contents (similarity) tf factor, the term frequency within a document

quantification of inter-documents separation (dissi-milarity)

idf factor, the inverse document frequency wij = tf(i,j) * idf(i)

The Vector Model Let,

N be the total number of docs in the collection ni be the number of docs which contain ki freq(i,j) raw frequency of ki within dj

A normalized tf factor is given by f(i,j) = freq(i,j) / max(freq(l,j)) where the maximum is computed over all terms which

occur within the document dj The idf factor is computed as

idf(i) = log (N/ni) the log is used to make the values of tf and idf

comparable. It can also be interpreted as the amount of information associated with the term ki.

The Vector Model The best term-weighting schemes use weights which

are give by wij = f(i,j) * log(N/ni) the strategy is called a tf-idf weighting scheme

For the query term weights, a suggestion is wiq = (0.5 + [0.5 * freq(i,q) / max(freq(l,q)]) * log(N/ni)

The vector model with tf-idf weights is a good ranking strategy with general collections

The vector model is usually as good as the known ranking alternatives. It is also simple and fast to compute.

The Vector Model Example:

• A collection includes 10,000 documents• The term A appears 20 times in a particular document• The maximum apperance of any term in this document is 50• The term A appears in 2,000 of the collection documents.• f(i,j) = freq(i,j) / max(freq(l,j)) = 20/50 = 0.4• idf(i) = log(N/ni) = log (10,000/2,000) = log(5) = 2.32• wij = f(i,j) * log(N/ni) = 0.4 * 2.32 = 0.93

The Vector Model Advantages:

term-weighting improves quality of the answer set partial matching allows retrieval of docs that

approximate the query conditions cosine ranking formula sorts documents according to

degree of similarity to the query Disadvantages:

assumes independence of index terms (??); not clear that this is bad though

The Vector Model: Example I

d1

d2

d3d4 d5

d6d7

k1k2

k3

k1 k2 k3 q dj |dj| Sim(dj,q)d1 1 0 1 2 1.41 0.82d2 1 0 0 1 1 0.58d3 0 1 1 2 1.41 0.82d4 1 0 0 1 1 0.58d5 1 1 1 3 1.73 1d6 1 1 0 2 1.41 0.82d7 0 1 0 1 1 0.58

q 1 1 1 |q| 1.73

The Vector Model: Example II

d1

d2

d3d4 d5

d6d7

k1k2

k3

k1 k2 k3 q djd1 1 0 1 4d2 1 0 0 1d3 0 1 1 5d4 1 0 0 1d5 1 1 1 6d6 1 1 0 3d7 0 1 0 2

q 1 2 3

The Vector Model: Example III

d1

d2

d3d4 d5

d6d7

k1k2

k3

k1 k2 k3 q djd1 2 0 1 5d2 1 0 0 1d3 0 1 3 11d4 2 0 0 2d5 1 2 4 17d6 1 2 0 5d7 0 5 0 10

q 1 2 3