Advanced information retrieval

Modern information retrieval
Modelling
Introduction
• IR systems usually adopt index terms to
process queries
• Index term:
– a keyword or group of selected words
– any word (more general)
• Stemming might be used:
– connect: connecting, connection,
connections
• An inverted file is built for the chosen
index terms
Introduction
• Indexing results in records like
Doc12: napoleon, france, revolution, emperor
or (weighted terms)
Doc12: napoleon-8, france-6, revolution-4, emperor-7
• To find all documents about Napoleon
would involve looking at every
document’s index record (possibly 1,000s
or millions).
• (Assume that Doc12 references another file
which contains other details about the
document.)
Introduction
• Instead the information is inverted :
napoleon : doc12, doc56, doc87, doc99
or (weighted)
napoloen : doc12-8, doc56-3, doc87-5, doc99-2
• inverted file contains one record per
index term
• inverted file is organised so that a given
index term can be found quickly.
Introduction
• To find documents satisfying the
query
napoleon and revolution
– use the inverted file to find the set of documents
indexed by napoleon -> doc12, doc56, doc87, doc99
– similarly find the set of documents indexed by
revolution -> doc12, doc20, doc45, doc99
– intersect these sets -> doc12, doc99
– go to the document file to retrieve title, authors,
location for these documents.
Introduction
Docs
Index Terms
doc
match
Ranking
Information Need
query
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
Set Theoretic
Fuzzy
Extended Boolean
Classic Models
U
s
e
r
Retrieval:
Adhoc
Filtering
boolean
vector
probabilistic
Structured Models
T
a
s
k
Non-Overlapping Lists
Proximal Nodes
Browsing
Browsing
Flat
Structure Guided
Hypertext
Algebraic
Generalized Vector
Lat. Semantic Index
Neural Networks
Probabilistic
Inference Network
Belief Network
IR Models

The IR model, the logical view of the docs, and the retrieval
task are distinct aspects of the system
LOGICAL VIEW OF DOCUMENTS
U
S
E
R
Retrieval
T
A
S
K
Browsing
Index Terms
Full Text
Classic
Set Theoretic
Algebraic
Probabilistic
Classic
Set Theoretic
Algebraic
Probabilistic
Flat
Flat
Hypertext
Full Text +
Structure
Structured
Structure Guided
Hypertext
Retrieval: Ad Hoc x Filtering

Ad hoc retrieval:
Q1
Q2
Collection
“Fixed Size”
Q3
Q4
Q5
Retrieval: Ad Hoc x Filtering

Filtering:
Docs Filtered
for User 2
User 2
Profile
User 1
Profile
Docs for
User 1
Documents Stream
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
= ka  (kb  kc)
 vec(qdnf) = (1,1,1)  (1,1,0)  (1,0,0)
 vec(qcc) = (1,1,0) is a conjunctive component
q
The Boolean Model
Ka

q = ka  (kb  kc)
(1,0,0)
Kb
(1,1,0)
(1,1,1)
Kc




sim(q,dj) = 1 if
 vec(qcc) |
(vec(qcc)  vec(qdnf)) 
(ki, gi(vec(dj)) = gi(vec(qcc)))
0 otherwise
The Boolean Model

Example:
K1, …,K8.
 Documents:
 Terms:
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}
K1 (K2  K3)
 Answer: {D1, D2, D4, D6} ({D1, D2, D3, D6} {D3, D5})
 Query:
= {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:
> 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)
 wij


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
j
dj

q
i



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
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
 tf
of intra-document contents (similarity)
factor, the term frequency within a document
 quantification
of inter-documents separation (dissi-
milarity)
 idf
 wij
factor, the inverse document frequency
= 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
k2
k1
d7
d6
d2
d4
d5
d1
d3
k3
d1
d2
d3
d4
d5
d6
d7
k1
1
1
0
1
1
1
0
k2
0
0
1
0
1
1
1
k3
1
0
1
0
1
0
0
q  dj
2
1
2
1
3
2
1
|dj|
1.41
1
1.41
1
1.73
1.41
1
q
1
1
1
|q|
1.73
Sim(dj,q)
0.82
0.58
0.82
0.58
1
0.82
0.58
The Vector Model:
Example II
k2
k1
d7
d6
d2
d4
d5
d1
d3
k3
d1
d2
d3
d4
d5
d6
d7
k1
1
1
0
1
1
1
0
k2
0
0
1
0
1
1
1
k3
1
0
1
0
1
0
0
q
1
2
3
q  dj
4
1
5
1
6
3
2
The Vector Model:
Example III
k2
k1
d7
d6
d2
d4
d5
d3
d1
k3
d1
d2
d3
d4
d5
d6
d7
k1
2
1
0
2
1
1
0
k2
0
0
1
0
2
2
5
k3
1
0
3
0
4
0
0
q
1
2
3
q  dj
5
1
11
2
17
5
10