360 likes | 423 Views
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
E N D
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ℕvtérben (egy oszlop)
Előfordulás vs. gyakoriság • Nézzük ismét a ides of marchkeresést • Julius Caesar-ban 5-ször fordul elő az ides • Más darabban nem fordul elő azides • 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ágtf • 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 tterminus előfordulásainak száma d-ben osztva dszavainak 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 nyerstfmegfelel-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 sokszoralkalmazott lehetőségek
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 tfhelyett • Továbbra sem veszi figyelembe: • A szó ritkaságát (megkülönböztető képességét) a dokumentumgyűjteményben (idesvs. of)
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 df ferrari10422 17 insurance 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-idfmérték komponensei: • szógyakoriság (tf) • vagywf, 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 mega 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ó:
Összefoglalás: tf-idf • Minden iszóhoz minden ddokumentumban rendeljük az alábbi súlyt • Növekszik a dokumentumonbelüli előfordulásokkal • Növekszik a korpuszon belüli ritkasággal 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 Nagyobb lehet 1-nél!
Szózsákmodell-reprezentációról • Nem tesz különbséget a Nitzsche mondta: Isten halott és az Isten mondta: Nitzsche halott mondatok között. Gondot jelent ez nekünk?
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 qkereső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 Degy vektor, és hasonló (közeli) vektorokat keresünk
És a hipotézis ami mögötte van t3 d2 d3 d1 θ φ t1 d5 t2 d4 Hipotézis: azok a dokumentumok, amelyek a vektortérben vannak egymáshoz hasonló témájúak
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)
Objektumokhasonlósága • A szövegfeldolgozássoránszükséglehet a leíróelemekhasonlóságánakmérésére • Tipikusműveletek: • a mintáhozhasonlítódokumentumokkeresése • a dokumentumokrangsorolása • dokumentumokcsoportosítása • dokumentumokosztályozása • hasonlóságalapúszókeresés • dokumentumoktisztítása • A hasonlóságmérésetávolságalapontörténi • Euklédeszitávolságazeuklédeszitérben:
Közelség fogalmának követelményei • Had1közel van d2-höz, akkor d2közel legyend1-hez (szimmetria). • Had1közelid2-höz, és d2közelid3-hoz, akkord1ne legyen messzed3-tól (kvázi háromszög-egyenlőtlenség) • Nincs olyan dokumentum, amely közelebb lenned-hez mint önmaga (reflexív).
Első megközelítés • A d1ésd2vektorok 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
t 3 d 2 d 1 θ t 1 t 2 Koszinuszhasonlóság • Két vektor,d1ésd2hasonló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á
Koszinuszhasonlóság (2) • A vektorok által bezárt szög koszinusza • A nevező tartalmazza a hossznormalizálást.
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
Normalizált vektorok • Normalizált vektorok esetében a koszinuszhasonloság a skalárszorzattal egyezik meg.
Dokumentumreprezentációredukálása • A nagyméret, összetettségtöbbproblémát is okoz • Cél: a dokumentumokfeldolgozásiköltéségnekcsökkentése, a feldolgozásminőségénekjavítása • Megoldás: azelhagyhatóelemekredukálása. • A elemelhagyható, ha • nemfüggetlenmásoktól • nemdiszkriminatív (nemreleváns a problémaszempontjából)
Redukcióseljárások • statisztikaieljárások a vektormodellre • PCA • SVD • relevanciaalapú, discrimination analysis • TFIDF tartomány • stop words • domain specifikusszűrés • szótáralapúszűrés • nyelvalapúszűrés • szótövezés • szinonímákhasználata
PCA módszer • A módszerlényege, hogybáziscserévelazobjektumokategyalacsonyabbdimenziószámúvektortérbevisziát • Cél a minimálisinformációveszteségbiztosítása • A lényegesnektekintettinformációklaszterezéshez, osztályozáshoz: azobjektumokegymásközöttitávolságviszonyai • Olyanújkoordinátatengelyekkellenek, ahol a nagyazobjektumoktávolságértékeinekszórása • nemcsakdimenzióelhagyástörténik, hanemújdimenziótengelykijelölés
Vektortérmodell • Egy {v1,v2,...,vn} vektorrendszerfüggő, ha valamelyelemelineráisankombinálhatóa többielemtől • Vektorérbázisa: azonfüggetlen {v1,v2,...,vn} , melyből a térösszeselemelineárisankombinálható • A términdenbázisaazonosdimenziójú • Vektortérdimenziója: a bázisainakdimenziószáma • Vektorkoordinátáiegyadottbázisesetén: a bázisravonatkozólineáriskombinációbanszereplő együtthatók
Lineárisleképzés • Ha V1, V2 kétvektortér, akkora • Φ:V1→V2 lineárisleképezés, ha • teljesül. • Ha {v1,..,vn} a V1 bázisa, {u1,..,um} a V2 bázisa, akkor a lineáristranszformációegymátrixszaladható meg.
PCA főkomponenselemzés • PCA matematikaihátterénektöbbekvivalensmegközelítése van, a legegyszerűbbek: • azontengelytkeressük, ahol a vetületekszórása a legnagyobb • azontengelytkeressük, amelytőlmérttávolságokösszegeminimális
A PCA módszer • Dokumentumleírómátrix • azigényeltújbázisegytengelyénekegységirányvektora: w • a választáscélfüggvénye: a vetületekvarianciája (négyzetösszege) maximálislegyen