36
Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Embed Size (px)

DESCRIPTION

Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció. Szódokumentum mátrix előfordulás alapján. Szó-dokumentum mátrix előfordulás alapján. Eddig a szavak gyakoriságát nem vettük figyelembe Egy terminus előfordulásainak száma egy dokumentumban : szózsákmodell - PowerPoint PPT Presentation

Citation preview

Page 1: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Page 2: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

SZÓDOKUMENTUM MÁTRIX ELŐFORDULÁS ALAPJÁN

Page 3: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Szó-dokumentum mátrix előfordulás alapján

• Eddig a szavak gyakoriságát nem vettük figyelembe• Egy terminus előfordulásainak száma egy

dokumentumban: – szózsákmodell– a dokumentum egy vektor az ℕv térben (egy oszlop)

Antony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth

Antony 157 73 0 0 0 0

Brutus 4 157 0 1 0 0

Caesar 232 227 0 2 1 1

Calpurnia 0 10 0 0 0 0

Cleopatra 57 0 0 0 0 0

mercy 2 0 3 5 5 1

worser 2 0 1 1 1 0

Page 4: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Előfordulás vs. gyakoriság

• Nézzük ismét a ides of march keresést– Julius Caesar-ban 5-ször fordul elő az ides– Más darabban nem fordul elő az ides– march néhány tucat alkalommal fordul elő (több

darabban)– Minden daraban szerepel az of

• Ez alapján a legrelevánsabb a legtöbb of-ot tartalmazó darab lenne

Page 5: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Terminus gyakoriság tf

• További gond, hogy az előző mérték a hosszú dokumentumokat előnyben részesíti, mivel azok több szót tartalmaznak

• Első javítás: előfordulás (támogatottság) helyett gyakoriság (frekvencia)– tft,d = a t terminus előfordulásainak száma d-ben osztva

d szavainak számával• Jó hír – a tf-ek szummája egy dokumentumra 1 lesz– A dokumentumvektor L1 normája egy lesz

• Kérdés, hogy a nyers tf megfelel-e mértéknek?

Page 6: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

A terminus gyakoriság súlyozása: tf

• Mi a relatív fontossága, ha egy szó egy dokumentumban– 0-szor v. 1-szer fordul elő– 1-szer v. 2-szer fordul elő– 2-szer v. 3-szor fordul elő …

• Nem triviális: nyilván minél többször szerepel, annál jobb, de ez nem arányosan növekszik (márpedig a nyers tf-nél ez arányos)– Használhatjuk mégis a nyers tf-et

– De vannak más, a gyakorlatban sokszor alkalmazott lehetőségek

0:log1?0 ,,, dtdtdt tftfwf

Page 7: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Skalárszorzat szerinti illeszkedés

• Az illeszkedést a dokumentum és a keresőkifejezés skalárszorzataként határozzuk meg:

• [Megj: 0, ha merőlegesek (nincsenek közös szavak)]• Az illeszkedés mértéke szerint rangsorolunk• Alkalmazhatjuk a logaritmikus súlyozást (wf ) is a szorzatbana tf

helyett• Továbbra sem veszi figyelembe:

– A szó ritkaságát (megkülönböztető képességét) a dokumentumgyűjteményben (ides vs. of)

i diqi tftfdq ,,

Page 8: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

A szó fontossága függjön a korpuszbeli támogatottságától

• Melyik informatívabb a dokumentum tartalmáról?– Az adóalany szó 10 előfordulása?– Az is 10 előfordulása?

• Korlátozni szeretnénk a gyakori szavak súlyát– De mi számít gyakorinak?

• Ötlet: korpusztámogatottság (collection frequency - cf )– A terminus összes előfordulásainak száma a teljes

gyűjteményben

Page 9: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Dokumentumtámogatottság (df)

• Azonban a dokumentumtámogatottság (df ) jobbnak tűnik:

Szó cf dfferrari 10422 17insurance 10440 3997

• A két mérőszám megadása csak ismert (statikus) korpuszok esetén lehetséges.

• Hogyan használjuk ezután a df-et?

Page 10: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

tf-idf súlyozás

• tf-idf mérték komponensei:– szógyakoriság (tf )• vagy wf, a szó sűrűségét határozza meg a dokumentumban

– inverz dokumentumtámogatottság (idf ) • a szó megkülönböztető képességéet adja meg a korpuszbeli

ritkasága alapján• számolható egyszerűen a szót tartalmazó dokumentumok

száma alapján (idfi = 1/dfi)• de a leggyakoribb verzió:

dfnidf

i

i log

Page 11: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Összefoglalás: tf-idf

• Minden i szóhoz minden d dokumentumban rendeljük az alábbi súlyt

• Növekszik a dokumentumon belüli előfordulásokkal• Növekszik a korpuszon belüli ritkasággal

)/log(,, ididi dfntfw

rmcontain te that documents ofnumber the

documents ofnumber total

document in termoffrequency ,

idf

n

jitf

i

di

Mi annak a szónak a súlya,amely minden

doksiban szerepel

Page 12: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Valós értékű szó-dokumentum mátrix

• A szóelőfordulások függvénye: – szózsákmodell– Minden dokumentumok egy valós reprezentál ℝv -

ben – Logaritmikusan skálázott tf.idf

Antony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth

Antony 13.1 11.4 0.0 0.0 0.0 0.0

Brutus 3.0 8.3 0.0 1.0 0.0 0.0

Caesar 2.3 2.3 0.0 0.5 0.3 0.3

Calpurnia 0.0 11.2 0.0 0.0 0.0 0.0

Cleopatra 17.7 0.0 0.0 0.0 0.0 0.0

mercy 0.5 0.0 0.7 0.9 0.9 0.3

worser 1.2 0.0 0.6 0.6 0.6 0.0

Nagyobb lehet 1-nél!

Page 13: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Szózsákmodell-reprezentációról

• Nem tesz különbséget aNitzsche mondta: Isten halottés az Isten mondta: Nitzsche halottmondatok között. Gondot jelent ez nekünk?

Page 14: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

VEKTORTÉR MODELL

Page 15: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció
Page 16: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Dokumentumvektorok

• Minden dokumentumot egy vektornak tekintünk wfidf értékek alapján, ahol az elemek a szavakhoz tartoznak

• Van tehát egy vektorterünk– Ennek a tengelyei a szavak/terminusok– Dokumentumok a vektortér pontjai– Még szótövezéssel is bőven 20,000-nél nagyobb lesz a

vektortér dimenziója• (Ha a mátrixot a másik irányból nézzük, akkor a

dokumentumok lehetnek a tengelyek, és a szavak vannak a vektortér elemei)

Page 17: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Dokumentumvektorok (2)

• Minden q keresőkifejezés is a vektortér vektoraként fogható fel (általában nagyon ritka)

• Az illeszkedést a vektorok közelsége alapján határozzuk meg– Ezután minden dokumentumhoz hozzárendelhető

egy relevanciaérték a q keresőkifejezés esetén

Page 18: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Miért jó, ha dokumentumvektoraink vannak?

• Egy lehetséges alkalmazás: mintadokumentum alapján keresünk– Adott egy D dokumentum, keresünk hasonlókat

(pl. plágiumkeresés)• Ekkor tehát D egy vektor, és hasonló (közeli)

vektorokat keresünk

Page 19: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

És a hipotézis ami mögötte van

Hipotézis: azok a dokumentumok, amelyek a vektortérben vannak egymáshoz hasonló témájúak

t1

d2

d1

d3

d4

d5

t3

t2

θ

φ

Page 20: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

A vektortérmodell

A keresőkifejezés egy vektor• Rövid dokumentumnak tekintjük• Azok a dokumentumok lesznek találatok,

amelyek – vektorként – közel helyezkednek el a keresőkifejezéshez

• Első alkalmazása a Salton féle SMART rendszerben - Salton's Magical Automatic Retriever of Text (1970)

Page 21: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Objektumok hasonlósága

• A szövegfeldolgozás során szükség lehet a leíró elemek hasonlóságának mérésére– Tipikus műveletek:

• a mintához hasonlító dokumentumok keresése• a dokumentumok rangsorolása• dokumentumok csoportosítása• dokumentumok osztályozása• hasonlóság alapú szó keresés• dokumentumok tisztítása

• A hasonlóság mérése távolság alapon történi– Euklédeszi távolság az euklédeszi térben:

Page 22: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Közelség fogalmának követelményei

• Ha d1 közel van d2-höz, akkor d2 közel legyend1-hez (szimmetria).

• Ha d1 közeli d2-höz, és d2 közeli d3-hoz, akkor d1 ne legyen messze d3-tól (kvázi háromszög-egyenlőtlenség)

• Nincs olyan dokumentum, amely közelebb lenne d-hez mint önmaga (reflexív).

Page 23: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Első megközelítés

• A d1 és d2 vektorok távolsága legyen a különségük hossza|d1 – d2|.– Euklideszi-távolság

• Mi a baj ezzel?• Nem foglalkoztunk még a hossz-normalizálással– Hosszú dokumentumok a hosszuk miatt

hasonlóbbak lesznek egymáshoz témától függetlenül

• Könnyen elvégezhetjük a hossznormalizálást, ha a vektorok által bezárt szöget tekintjük

Page 24: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Koszinuszhasonlóság

• Két vektor, d1 és d2 hasonlóságát a köztük lévő szög koszinusza adja meg.

• Megjegyzés – ez nem távolság, hanem hasonlóság, mivel a háromszög-egyenlőtlenség nem teljesül rá

t 1

d 2

d 1

t 3

t 2

θ

Page 25: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Koszinuszhasonlóság (2)

• A vektorok által bezárt szög koszinusza• A nevező tartalmazza a hossznormalizálást.

n

i ki

n

i ji

n

i kiji

kj

kjkj

ww

ww

dd

ddddsim

1

2,1

2,

1 ,,),(

Page 26: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Koszinuszhasonlóság (3)

• A dokumentumvektor hosszát az alábbiak szerint definiáljuk

• Egy vektor úgy normalizálható normalized (a hossza 1), ha minden elemét elosztjuk a hosszával – itt L2 normát használunk

• Ez a vektorokat az egységgömbre képezi le:

• Azaz, • Hosszabb dokumentumoknak nem lesz nagyobb súlya

n

i idd1

2Length

11 ,

n

i jij wd

Page 27: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Normalizált vektorok

• Normalizált vektorok esetében a koszinuszhasonloság a skalárszorzattal egyezik meg.

kjkj dddd

),cos(

Page 28: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

DIMENZIÓ REDUKCIÓ

Page 29: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Dokumentum reprezentáció redukálása• A nagy méret, összetettség több problémát is okoz• Cél: a dokumentumok feldolgozási költéségnek

csökkentése, a feldolgozás minőségének javítása• Megoldás: az elhagyható elemek redukálása.• A elem elhagyható, ha– nem független másoktól– nem diszkriminatív (nem releváns a probléma szempontjából)

Page 30: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Redukciós eljárások

• statisztikai eljárások a vektormodellre– PCA– SVD

• relevancia alapú, discrimination analysis – TFIDF tartomány– stop words

• domain specifikus szűrés– szótár alapú szűrés

• nyelv alapú szűrés– szótövezés– szinonímák használata

Page 31: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

PCA módszer• A módszer lényege, hogy báziscserével az objektumokat

egy alacsonyabb dimenziószámú vektortérbe viszi át• Cél a minimális információ veszteség biztosítása• A lényegesnek tekintett információ klaszterezéshez,

osztályozáshoz: az objektumok egymás közötti távolság viszonyai

• Olyan új koordinátatengelyek kellenek, ahol a nagy az objektumok távolság értékeinek szórása

• nem csak dimenzió elhagyás történik, hanem új dimenzió tengely kijelölés

Page 32: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Vektortérmodell

• Egy {v1,v2,...,vn} vektorrendszer függő, ha valamely eleme lineráisan kombinálható a többi elemtől

• Vektorér bázisa: azon független {v1,v2,...,vn} , melyből a tér összes eleme lineárisan kombinálható

• A tér minden bázisa azonos dimenziójú• Vektortér dimenziója: a bázisainak dimenziószáma• Vektor koordinátái egy adott bázis esetén: a bázisra

vonatkozó lineáris kombinációban szereplő együtthatók

Page 33: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

Lineáris leképzés

• Ha V1, V2 két vektortér, akkor a– Φ:V1 →V2 lineáris leképezés, ha

– teljesül.• Ha {v1,..,vn} a V1 bázisa, {u1,..,um} a V2

bázisa, akkor a lineáris transzformáció egy mátrixszal adható meg.

Page 34: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

PCA fő komponens elemzés

• PCA matematikai hátterének több ekvivalens megközelítése van, a legegyszerűbbek:– azon tengelyt keressük, ahol a vetületek szórása a

legnagyobb– azon tengelyt keressük, amelytől mért távolságok

összege minimális

Page 35: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció

A PCA módszer

• Dokumentum leíró mátrix• az igényelt új bázis egy tengelyének

egység irányvektora: w• a választás célfüggvénye: a vetületek

varianciája (négyzetösszege) maximális legyen

Page 36: Dokumentum vektor modell, dokumentumok előfeldolgozása. PCA redukció