Dokumentum klasszifikáció október 12.
Dokumentum klasszifikáció Feladat: Dokumentumok automatikus előre definiált osztályokba sorolása. Dokumentum: szöveg + kép + struktúra (multimodalitás) Hogyan definiáljuk előre a kategóriákat?
Alkalmazási területek 1961 óta! Rendszerezés (hirdető újság, konferencia) SPAM szűrés / hír szűrés CRM irányítás WSD Témaazonosítás
és még mindig alkalmazások… multimodális dokumentumok (caption) nyelv azonosítás szerző azonosítás érzelmi töltet megállapítása stílus osztályozás dolgozat javítás
Több címkés osztályozás Egy dokumentumhoz címkék egy halmazát kell hozzárendelni például: OEP kódolás Két visszavezetési lehetőség: –Címkehalmazokat egy-egy kategóriának tekintjük –Minden címkére külön építünk modellt
Rangsor, mint eredmény „hard” kategórizáció: legjobb eredmény rangsor: az eredmény a lehetséges - kategóriák, - dokumentumok rendezett sorozata. Miért jó? Visszakeresésnél tárgyaljuk…
Hierarchikus kategóriák Ha túl sok kategóriánk lenne… Yahoo!, origo.hu (virtuális) kategória-fa Két szélsőséges megközelítés: –Sok kategóriánk van –Top-down módszer Kiértékelési metrika: távolság alapú
Dokumentum reprezentációk Vektor tér modell (VTM) Ontológia alapú VTM Másodrendű VTM Közös előfordulási gráf (co-occurance)
Vektor Tér Modell (VTM) A legelterjedtebb reprezentációs módszer Minden dokumentumot egy vektorral írunk le, ahol a vektor elemei az egyes term-ek előfordulási gyakoriságát jelzik Azokat a term-eket vizsgáljuk amelyek legalább egyszer előfordulnak legalább egy dokumentumban bag-of-words
Term a VTM-ben Szóalak Lemma Stem Frázisok –Szintaktikus alapon –Statisztikai alapon
Gyakorisági leírások D 1 =„Öt görög üt öt törököt.” D 2 =„Öt török meghalt.” Adott term hányszor fordul elő a dokumentumban: tf(D 1 )= tf(D 2 )= Adott term előfordul-e: tb(D 1 )= tb(D 2 )=
TFIDF Term Frequency-Inverted Document Frequency: tf: term frekvencia df: dokumentum frekvencia |D|: dokumentumok száma
TFIDF Minél többször fordul elő a term a dokumentumban annál hangsúlyosabb (tf) Minél több dokumentumban fordul elő a term annál kevésbé segít a egyes dokumentum osztályok szétválasztásában tfidf(D 1 )= tfidf(D 2 )=
VTM jellemzése Előnyök: –egyszerű, gyors –könnyen lehet távolságot számolni dokumentumok közt –standard gépi tanulási technikák alkalmazhatóak Hátrányok: –Termek előfordulását függetlennek tekinti –Szintaktikai kapcsolatok, szemantika –Nagy dimenziós terek, sparsity
Ontológia alapú VTM Az egyes szavak közötti szemantikus kapcsolat felhasználása a cél Term Mutual Information: az adott term szemantikai távolsága az összes többi termtől ami szerepel az adott dokumentumban Ezzel módosítjuk az alap VTM vektorokat (például TFIDF)
Ontológia alapú VTM szemantikai távolság: a WordNet- ben a synseteket és a hypernima relációt felhasználva milyen távol vannak a fogalmak
Másodrendű VTM A vektorba vegyük fel azoknak a termeknek a gyakoriságát is amelyekkel az adott dokumentum termjei gyakran fordulnak elő (más dokumentumokban) I got a new disk today. What do you think of linux? A disk és linux termek gyakran fordulnak elő együtt a “IBM”, “data”, “graphics”, és “memory” termekkel A két dokumentum hasonló, mert a másodrendű környezet megegyezik/nagyon hasonló
Közös előfordulási gráf
Csúcsok: termek Élek: együttes előfordulások száma Hub: „központi” csúcs 1)Minden termre a dokumentumban keressük meg a legközelbbi hub-ot 2)Számoljuk meg, hogy az egyes hubokhoz hány termet „kötöttünk be”. Reprezentáljuk a dokumentumot ezzel a (#hub hosszú) vektorral.
Egyéb jellemzők Dokumentumon belüli pozíció –strukturált dokumentumok –termek egymáshoz viszonyított elhelyezkedése (közös előfordulási gráf) Dokumentum jellemzők –Pl.: dokumentum hossza Kategória jellemzők –Pl.: kategória priori valószínűsége
Dimenzió csökkentés Egy valós feladatnál több lemma (hát még bi-, trigram!) is előfordulhat, ekkora feladatot nem képesek kezelni a gépi tanuló algoritmusok. Két különböző technika: –term szelekció –term transzformáció
Term szelekció Hagyjuk figyelmen kívül (szelektáljuk) a nem annyira fontos termeket. Wrapper megközelítés: Valamilyen technikával próbáljunk ki különböző term halmazokat. Minden halmazra tanítsunk egy modellt, értékeljük ki. Tartsuk meg a legjobbat. Szűrési megközelítés: Van egy függvény ami méri az egyes termek fontosságát. Tartsuk meg a legfontosabbakat
Term-fontosság függvények Dokumentum frekvencia (TFIDF-el ellentmondás?) Valószínűségi függvények A termek és kategóriák marginális, együttes és feltételes valószínűségeiből származnak Pl.: mutual information: log(P(t,c) / P(t)*P(c))
Term transzformáció A cél egy kisebb dimenziós térbe történő transzformáció úgy hogy a dokumentumok egymáshoz viszonyított távolsága a lehető legkevésbé változzon. Előny: kevesebb információt veszítünk Hátrány: nem interpretálhatóak a kinyert irányok
Rejtett Szemantikus analízis Latent Semantic Analysis (LSA) Célja a közel „szinonim” szavak összevonása (együtt kezelése) {(car), (truck), (flower)} --> {( * car * truck), (flower)} Mátrixalgebra: Singular Value Decomposition
Rejtett Szemantikus analízis
Dokumentum klasszifikáció Válasszunk egy reprezentációs formát (jellemzők) Gépi tanuló algoritmusok (DFa, Naive Bayes) Kiértékelési metrika: –precízió, lefedettség, F-measure ha egyes kategóriákra vagyunk kíváncsiak –pontosság (accuracy) ha az egész rendszerre
Klaszterezés Klaszterezés: nincsenek előre definiált kategóriák, nincsenek bejelölt minták, a cél a „hasonló” dokumentumok csoportosítása.
Klaszterezés Honnan tudja a gép, hogy mi szerint akarok csoportosítani !? Mennyire finomak a klaszterek? Rengeteg adat kell általános összefüggések megtanulásához Érdemes mindig használni, hogy benyomást szerezzünk az adatról/jellemzőkről
Dokumentum klaszterezés WWW, nagy vállalatok Jelöletlen szöveg szinte végtelen mennyiségben áll rendelkezésre Alkalmazások: –Automatikus rendezés ( –Előfeldolgozási lépés
Címkézés Miért tartoznak a dokumentumok egy klaszterhez? Klaszterek automatikus címkézése Dokumentumhalmaz automatikus címkézése: [origo]
Vektorok távolsága Cosine hasonlóság: Manhattan távolság: Hamming távolság: