Upload
nalanie-kyle
View
19
Download
2
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
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– 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
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
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?
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
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 ,,
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
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?
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
Ö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
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!
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?
VEKTORTÉR MODELL
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)
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
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
É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
θ
φ
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)
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:
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).
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
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
θ
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 ,,),(
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
Normalizált vektorok
• Normalizált vektorok esetében a koszinuszhasonloság a skalárszorzattal egyezik meg.
kjkj dddd
),cos(
DIMENZIÓ 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)
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
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
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
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.
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
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