Elmentele Valorii Vectoriale a unui termen "II"

Avem la dispozitie un sistem caruia am precizat comanda de cautare pentru termenul (ni): "castiga bani online".

Pentru a simplifica exemplul, sa presupunem ca avem de-a face cu un model vectorial de baza, in care:

- nu se ia in considerare locul de aparitie a termenilor in cadrul documentelor, - folosim toti termenii, fara a exclude termenii de legatura (stop words) - folosim termenii in forma actuala (de exemplu daca termenul este "castiga" nu vom folosi forma "castig") - se ia in considerare doar frecventa de aparitie a termenilor.

Sa consideram in acelas timp, ca baza de date este formata din 3 documente, cu urmatorul continut:

D1: "Fara bani nu poti trai"
D2:"Poti castiga bani lucrand din greu"
D3: "Marketingul Online inseamna bani"

Exemplul de mai sus se rezuma pe exemplul Dr. Grossman, insa in cazul nostru am luat un exemplu specific.

Analiza Similaritatii: Sa calculam lungimea fiecarui Vector:

Model Vectorial de Termeni, bazat pe: Wi = tfi * IDFi

Cautare: Q = "castiga bani Online"
D1 : Fara bani nu poti trai
D2 : Poti castiga bani lucrand din greu
D3 : Marketingul Online inseamna bani
D= 3 ; IDF = log(D/dfi)
 

Tfi

Valoarea: Wi =tfi * IDFi

Termeni

Q

D1

D2

D3

dfi

D/dfi IDFi Q D1 D2 D3
fara

0

1

0

0

1

3/1 = 3 0.4771 0 0.4771 0 0
bani

1

1

0

1

3

3/2 = 1.5 0.176 0.176 0.176 0 0.176
nu

0

1

0

0

1

3/1 = 3 0.4771 0 0.4771 0 0
poti

0

1

1

0

2

3/2 = 1.5 0.176 0 0.176 0.175 0
trai

0

1

0

0

1

3/1 = 3 0.4771 0 0.4771 0 0
castiga

1

0

1

0

1

3/1 = 3 0.4771 0.4771 0 0.4771 0
lucrand

0

0

1

0

1

3/1 = 3 0.4771 0 0 0.4771 0
din

0

0

1

0

1

3/1 = 3 0.4771 0 0 0.4771 0
greu

0

0

1

0

1

3/1 = 3 0.4771 0 0 0.4771 0
marketingul

0

0

0

1

1

3/1 = 3 0.4771 0 0 0 0.4771
online

1

0

0

1

1

3/1 = 3 0.4771 0.4771 0 0 0.4771
inseamna

0

0

0

1

1

3/1 = 3 0.4771 0 0 0 0.4771
 

|D1| = (radical)(0.4771(2) +0.176(2) + 0.4771(2) +0.176(2) + 0.4771(2) =0.227 *3 + 0.030 * 2 = 0.061 + 0.681 = 0.742 =0.861
|D2| = (radical)(0.4771(2) * 4 + 0.176(2) = 0.030 + 0.908 =
0.968
|D3| = (radical)(0.4771(2) * 3 + 0.176(2) = 0.030 + 0.681 =
0.843
|Q| = (radical)(0.227 * 2 +0.030) = 0.484 =
0.695


in urmatoarea faza vom calcula marimea scalara:

Q * D1 = 0.176 * 0.176 =0.0310
Q * D2 = 0.4771 * 0.4771 =
0.227
Q * D3 = 0.176 * 0.176 + 0.4771 * 0.4771 =
0.258


Dupa ce am obtinut rezultatele marimii scalarului sa calculam si valoare cosinus ~ directia vectorilor, sau valorile similaritatii:

Cos D1 = Q*D1/ (|Q|*|D1|) = 0.031/(0.695 + 0.861) =0.0199
Cos D2 = Q*D2/ (|Q|*|D2|) = 0.227/(0.695 + 0.968 ) =
0.1365
Cos D3 = Q*D3/ (|Q|*|D3|) = 0.258/(0.843 + 0.695) =
0.1677


in final obtinem urmatorul rezultat:

DOC 3
este foarte relevant !!!
DOC 2
este mai pu?in relevant !!!
DOC 1
este cel mai pu?in relevant !!!
Limitarile modelului in primul rand este o metoda foarte anevoioasa, mai ales in cadrul unor documente care contin mii de cuvinte, adica este o metoda lenta, care necesita timp indelungat de procesare. insa dezavantajul principal al modelului vectorial consta in faptul ca se presupune ca termenii nu au nici o legatura intre ele, adica fiind independente, ceea ce in realitate insa difera, termenii putand fi intr-o relatie de: Polisemie: Termenii pot fi folositi pentru a defini diferite lucruri in diferite contexte ( a conduce o masina, a conduce o conferinta) Sinonime: unii termeni pot fi folositi pentru a explica acelasi lucru ( Asigurare auto ~ Asigurare masina)

Vezi si articolul: Relevanta continutului - Elementele Valorii Vectoriale a unui termen.