Sunteți pe pagina 1din 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Regasirea Informatiilor pe WEB


Curs 03: Indexare (2)

s.l. dr. ing. Alexandru ARCHIP


alexandru.archip@cs.tuiasi.ro
Facultatea de Automatic
a si Calculatoare, Iasi

an universitar: 2014 2015

RIWeb 2014 2015/C03: Indexare 2

1/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Cuprins

Indexarea documentelor WEB


Construirea indecsilor directi
Construirea indecsilor inversi
Algoritmul BSBI
Algoritmul SPIMI

Similaritatea documentelor

RIWeb 2014 2015/C03: Indexare 2

2/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Tipuri de indexare curs 2

Tipuri de indexare curs 2


Indexarea direct
a
Definitie: reprezinta modalitatea de indexare ce are drept scop determinarea
indecsilor relativ la document.
Utilizeaza structuri de date ordonate, pentru care cheia primara de ordonare
este data de un identificator unic al documentului.
Sinonim indexare orizontal
a.
Forma generala
< docID : {termIDx |termIDx docID} >
unde:
docID identificator numeric atasat unui document;
termIDx identificator numeric atasat unui token (cuvant obtinut dupa
pre-procesare) inclus n documentul curent.

RIWeb 2014 2015/C03: Indexare 2

3/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Tipuri de indexare curs 2

Tipuri de indexare (2) curs 2


Indexarea invers
a
Definitie: reprezinta modalitatea de indexare ce are drept scop determinarea
documentelor relativ la index.
Utilizeaza structuri de date ordonate, pentru care cheia primara de ordonare
este data de indecsi sau de identificatori unici ai indecsilor.
Sinonim indexare vertical
a.
Forma generala
< termID : {docIDy |termID docIDy } >
unde:
termID identificator numeric atasat unui token (cuvant obtinut dupa
pre-procesare);
docIDy identificator numeric atasat unui document n cadrul caruia se
regaseste token curent.
RIWeb 2014 2015/C03: Indexare 2

4/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Construirea indecsilor directi

Construirea indecsilor directi


Pasi implicati pentru fiecare document din colectie
1

se identifica/extrage, rand pe rand, fiecare cuvant din cadrul documentului;

fiecare cuvant astfel identificat este filtrat (testat contra listelor de exceptii si
contra listei de cuvinte de tip zgomot stopwords) si retinut n forma
canonica;

n functie de tipul de indexare dorita se poate retine cuvantul determinat,


cuvantul determinat si numarul de aparitii, pozitiile cuvantului determinat n
cadrul documentului, etc.

Rezultat
Colectii de fisiere, n mod uzual cu numele dat de identificatorul de document
docID, ce contin valori de forma termID.

RIWeb 2014 2015/C03: Indexare 2

5/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Construirea indecsilor inversi

Algoritmul Blocked Sort-Based Indexing BSBI

Pseudocod (preluare din [1])


Algoritm 1 BSBI()
1: n 0
2: while all documents have not been processed do
3:
n n+1
4:
block PARSENEXTBLOCK()
5:
BSBI-INVERT(block)
6:
WRITEBLOCKTODISK(block, fn )
7: end while
8: MERGEBLOCKS( f1 , . . . , fn ; fmerged )

RIWeb 2014 2015/C03: Indexare 2

6/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Construirea indecsilor inversi

Algoritmul Blocked Sort-Based Indexing BSBI (2)

Detalii
Algoritmul presupune segmentarea colectiei de documente n blocuri de
dimensiuni aproximativ egale.
Pentru fiecare bloc:
sunt parsate documentele si se determin
a toate perechile de forma
termID-docID (metoda PARSENEXTBLOCK);
pentru fiecare bloc n parte, perechile obtinute sunt sortate dup
a cheie primar
a
termID, cheie secundar
a docID (n cadrul metodei BSBI-INVERT);
se determin
a apoi listele de indecsi inversati concatenarea informatiilor
pentru acelasi termID (n cadrul metodei BSBI-INVERT);

Algoritmul se finalizeaza prin reuniunea tuturor rezultatelor intermediare sub


forma unei indexari unice (metoda MERGEBLOCKS)

RIWeb 2014 2015/C03: Indexare 2

7/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Construirea indecsilor inversi

Algoritmul Single-Pass In-Memory Indexing SPIMI


Pseudocod (preluare din [1])
Algoritm 2 SPIMI (token stream)
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:

output file new file()


dictionary new hash()
while free memory available do
token next(token stream)
if term(token)
/ dictionary then
postings list addToDictionary(dictionary, term(token))
else
postings list getPostingsList(dictionary, term(token))
end if
if isFull(postings list) then
postings list doublePostingsListSize(dictionary, term(token))
end if
addToPostingsList(postings list, docID(token))
end while
writeBlockToDisk(sorted terms, dictionary, output file)
return output file

RIWeb 2014 2015/C03: Indexare 2

8/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Construirea indecsilor inversi

Algoritmul Single-Pass In-Memory Indexing SPIMI


(2)

Detalii
Principiul algoritmului este de a construi dinamic indexul invers, fara a
colecta si sorta perechi de forma < termID docID > (precum n cazul
algoritmului BSBI) [1].
Algoritmul are urmatoarele particularitati: [1]
1

nu realizeaz
a asocieri de forma termID term, ceea ce ar putea conduce la o
organizare mai bun
a a memoriei (practic, nu mai este necesar
a tabelei de
dispersie ce ar asocia un cuv
ant de un identificator numeric);
un token include at
at cheia de indexare (cuv
antul) c
at si valorile acestei chei
(respectiv, n cazul acest particular, documentul/documentele ce includ
cuv
antul curent).

RIWeb 2014 2015/C03: Indexare 2

9/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Similaritatea documentelor
Cautarea documentelor implica...
... identificarea unui set de atribute ale documentelor (???) si a unei metode de
calcul a ,,distantei dintre doua documente.
Abordarea standard similaritatea cosinus
reprezentarea documentelor sub form
a vectorial
a se obtine foarte rapid
dintr-un index direct cantitativ (index direct pentru care se retine si
numarul de aparitii al ficarui cuvant);
similaritatea a doua documente este data (n acest caz) de unghiul format
de vectorii corespunz
atori celor dou
a documente:

d1 d2
cos(^d1, d2) =

kd1kkd2k

RIWeb 2014 2015/C03: Indexare 2

(1)

10/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Similaritatea documentelor (2)

Abordarea standard similaritatea cosinus (2)


Exemplificare calculati, utilizand ecuatia (1), similaritatea urmatoarelor fraze:
d1 : ,,Data mining este o technica noua de analiza a datelor
d2 : ,,Tehnicile data mining pot aduce informatii noi
d3 : ,,Datele sunt colectate prin tehnici specifice
d4 : ,,Profesorul de RIW este gamer

RIWeb 2014 2015/C03: Indexare 2

11/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Similaritatea documentelor (3)

Abordarea standard similaritatea cosinus (3)


Problem
a cat de important este un anumit cuvant ntr-un anumit context?
Rezolvare ponderarea indexului direct cantitativ al fiecarui document prin
1

determinarea importantei unui anumit cuvant n cadrul documentului


curent (P1);

determinarea importantei unui anumit cuvant n cadrul unui anumit


domeniu de documente (P2).

RIWeb 2014 2015/C03: Indexare 2

12/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Similaritatea documentelor (4)


Abordarea standard similaritatea cosinus (4)
Coeficienti utilizati
P1 frecventa de aparitie a cuvantului k n cadrul documentului d (n eng.:
term frequency )
count(k)
(2)
tf (k, d) =
|d|
P2 frecventa inversa de aparitie a cuvantului k n cadrul multimii de
documente D (n eng.: inverse document frequency )
idf (k) = log

|D|
1 + |{d : k d}|

(3)

Vectorul asociat fiecarui document va fi:

d = {key : tf (key , d) idf (key )}


RIWeb 2014 2015/C03: Indexare 2

(4)
13/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Similaritatea documentelor (5)

Abordarea standard similaritatea cosinus (5)


Exemplificare calculati, utilizand ecuatia (1) si reprezentarea (4), similaritatea
urmatoarelor fraze:
d1 : ,,Data mining este o technica noua de analiza a datelor
d2 : ,,Tehnicile data mining pot aduce informatii noi
d3 : ,,Datele sunt colectate prin tehnici specifice
d4 : ,,Profesorul de RIW este gamer

RIWeb 2014 2015/C03: Indexare 2

14/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Problema

Determinare tf /idf
Cum se determina eficient valorile tf /idf ?

RIWeb 2014 2015/C03: Indexare 2

15/ 16

Indexarea documentelor WEB

Similaritatea documentelor

Discutii

Bibliografie

Bibliografie

Christopher D. Manning, Prabhakar Raghavan and Hinrich Sch


utze,
Introduction to Information Retrieval, Cambridge University Press. 2008

Raymond J. Mooney Information Retrieval and Web Search (note de curs)

RIWeb 2014 2015/C03: Indexare 2

16/ 16