HTML dokuentuok hierarchikus osztályozása a WebClassII-vel Készítette: Novák György http://w3.netelek.hu/novakg 2003. 10. 01. Tartalo A jellezők kiválasztásának folyaata...1 Az osztályozás folyaata...2 Teszt eredények...3 Konklúzió...5 Forrás...5 A jellezők kiválasztásának folyaata A WebClassII-ben inden dokuentuot a jellezőknek egy nuerikus vektora reprezentál, aiben egy adott jellező egy adott szó előfordulásainak száát jelenti a dokuentuban. A jellezők halaza inden kategória esetén egyedi, és autoatikusan generálódik pozitív és negatív tanulási példák alapján. Minden tanuló dokuentuot tokenekre bontunk és kiszűrjük belőlük a HTML tag-eket, különleges karaktereket, száokat és a háro karakternél rövidebb tokeneket. Még a jellezők kiválasztása előtt elvégzünk néhány alapvető előfeldolgozási eljárást: 1. Eltávolítjuk a túl gyakran előforduló szavakat, int ailyenek például a kötőszavak. Ezeket a szavakat a Glipse nevű eszközből vesszük. 2. Megállapítjuk az azonos jelentésű szótöveket. (Porter algoritus). Sok olyan ódszert fejlesztettek ki a nyelvtannal foglalkozó eberek, aelyekkel inforációt nyerhetünk ki a szövegekből, azaz indexelni tudjuk azokat. A i esetünkben azonban ezek a technikák ne igazán használhatóak, ivel i ne az egyes dokuentuok tulajdonságaira vagyunk kíváncsiak, hane azokra a jellezőkre, aelyek a dokuentuok egy csoportját egkülönböztetik egy ásik csoporttól. Általában az osztályozáshoz használt szavak halaza sokkal kisebb, int az indexeléshez használtaké. Lássuk a jellezőkiválasztási eljárást (TF-IDF kiterjesztése)! Legyen c egy kategória és c' neki egy gyereke a kategóriák hierarchiájában! Legyen d egy tanuló dokuentu c'-ből, w egy jellező, ely d-ből szárazik (tokenizálás, szűrés és szótőképzés után), és TF d (w) w relatív gyakorisága d-ben! Ekkor ki tudjuk száolni a következőket: a TF d (w) axiális értékét a d dokuentuok között a c' kategóriában: TF c ' w = ax d Tanuló c ' TF d w 1
az oldalfrekvenciát, azaz a c' kategória dokuentuainak azon százalékát, aelyben előfordul a w jellező: PF c ' w = occ c ' w Tanuló c ', ahol Tanuló(c') lehet egy rendes tanuló halaz is, de lehet hierarchiára vonatkozó tanuló halaz is a c' kategória dokuentuaira. Megjegyezzük, hogy csak olyan dokuentuokat használunk indkét függvény kiszáításához, elyeket pozitív intaként veszünk figyelebe c'-re. A c' weblapjaiból kinyert jellezők halazainak uniója egy epírikus kategória szótárat definiál, elyet a kategória által eghatározott topic-okban használnak a dokuentuok. A szótár eleeit jó lenne valailyen szepont szerint sorbarendezni. A HTML oldalak készítői gyakran rejtenek el egy-két kulcsszót az oldalakon, hogy ezáltal azok előrébb szerepeljenek a keresések eredényeként kapott listákon. Aennyiben az egyes katergóriák szótárait a Tf c' (w) PF c' (w) 2 szerint rendezzük, úgy ellenőrzés alatt tudjuk tartani ezt a jelenséget. Sőt, a c' dokuentuaiban használt gyakori szavak a egfelelő kategória szótárának első bejegyzéseiként fognak egjelenni. Ezeknek a szavaknak egy része a kategóriára jellező, íg ások egyszerűen csak gyakori angol szavak. Hogy ezeket a száunkra érdektelen szavakat lejjebb ozgassuk a listában, ne kell ást tennünk, int a Tf c' (w) PF c' (w) 2 szorzatot egszoroznunk egy ICF c (w)=1/cf c (w) faktorral, ahol CF c (w) (kategória gyakoriság) c azon alkategóriáinak száa, aelyekben w előfordul. Ezek után azok a lényeges jellezők, aelyek egkülönböztetik c' dokuentuait a testvér kategóriájába tartozó dokuentuoktól, azok c' kategóriaszótárának első bejegyzésein találhatók. Ha elkészítjük egy c kategória inden c' alkategórájához tartozó szótárat, akkor ezen szótárak unióját tekinthetjük a c szótárának. Ez a szótár olyan jellezőket fog tartalazni, aelyek az egyes alkategóriákon belül gyakran előfordulnak a dokuentuokban, de ás alkategóriák dokuentuaiban viszont ritkán jelennek eg (a kategóriák jellezőinek ortogonalitása). Ennek következtében arra nagyon jól használhatóak ezek a jellezők, hogy egy dokuentuot besoroljunk a c kategóriába, ha az c valaely alkategórájába tartozónak bizonyul (azaz, ha a jellezők alapján a dokuentu beletartozik c valaely alkategóriájába, akkor az c-be is beletartozik). Figyelere éltó, hogy ez a egközelítés a felsőbb kategóriákhoz közel általános jellezők halazát adja (pl.: ath és atheat ), íg a lejjebb elhelyezkedő kategóriákhoz specifikusabb jellezők halazát adja (pl.: topolog ). Ha eghatároztuk a jellezők halazát, akkor a tanuló dokuentuok reprezentálhatjuk jellező vektorokként, aelyben inden jellező érték egy szó gyakorisága. Az osztályozás folyaata Egy új dokuentu besorolása a hierarchia bejárásával történik. A rendszer a gyökértől indul, és az olyan csúcsokon egy tovább, aelyek esetén az osztályozó agasabb értéket ad vissza egy eghatározott küszöbnél. A folyaat végén az összes bejárt csúcsot, azaz kategóriát (akár levél, akár ne) figyelebe vesszük a végső döntésnél. A győztes az a bejárt kategória lesz, aelyre az osztályozó a legagasabb ertéket adta. Ha a dokuentuot a gyökérbe sikerült besorolni, akkor az a dokuentu el lett utasítva. Érdees egelíteni, hogy egy osztályozó alkalazását indíg egelőzi a dokuentuok reprezentálásának egváltoztatása a kiválasztott jellezőknek egfelelően. Mivel a kiválasztott jellezőktől elvárjuk, hogy egyre specifikusabbak legyenek az alsóbb szinten lévő kategóriákban, ezért a a dokuentuok egyre alacsonyabb absztrakciós szinten lesznek reprezentálva az osztályozás folyaán. A reprezentációnak ez az autoatikus változtatása igen 2
kívánatos a hierarchikus osztályozásban. Teszt eredények Ebben a fejezetben a WebClassII teljesítényét tanulányozzuk Web-oldalak egy halazán. A teszteléshez használt adatforrás a Yahoo! ontológia. 1026 olyan dokuentuot vizsgáltunk, aelyek referenciái a http://dir.yahoo.con/science Web könyvtár legfelső két szintjén találhatók. Az első szinten 7, a ásodikon 28 kategória van. Az a dokuentu, aely a gyökérkategóriába lett besorolva, az visszautasított -nak tekintendő, ivel a tartala ne tartozik a 35 alkategória egyikébe se. Az adathalazt egy 5 rekeszes kereszt-egerősítés -nek nevezett ódszer által eleeztük. Ez azt jelenti, hogy az adathalazt először 5 közel azonos éretű rekeszre osztottuk, ajd a WebClassII inden rekesz esetén egy tanulási folyaaton ent át a fennaradó rekeszek dokuentuain, ajd az eredényeket tesztelte a rekeszen. A rendszer teljesítényét a rekeszekre vonatkozó érési eredények átlagával jelleezzük. Több, különböző éretű jellezőhalazt készítettünk inden belső kategóriához, hogy ennek a hatását is eg tudjuk vizsgálni. Az egyes kategóriák esetén a jellezőhalazok érete leginkább 5 és 50 közé esik. A jellezőket hierarchikus tanulóhalazok segítéségvel válogattuk ki. Ez elviekben garantálja, hogy olyan kategóriákhoz is tudjunk egfelelő jellezőhalazt rendelni, aelyekhez nincsenek egfelelő tanuló dokuentuok. Az összegyűjtött statisztikák olyan centroi-alapú vagy naív Bayes osztályozókra vonatkoznak, aelyek a következő háro technika valaelyike szerint lettek tanítva: 1. egyszerű, azaz inden kategóriát összevonunk és figyelen kívül hagyjuk a közöttük lévő kapcsolatokat 2. hierarchikus, egfelelő tanulóhalazokkal, azaz ikor csak a c kategória eleeit soroljuk Training(c)-be 3. hierarchikus, hierarchikus tanulóhalazokkal, azaz ikor ind a c kategória, ind annak alkategóriáiba tartozó dokuentuokat besorolunk a Training(c)-be. Az összehasonlítás alapját képező eredényeket az egyszerű technikával kaptuk. Mind az egyszerű, ind a hierarchikus osztályozó technikák esetén súlyozott átlagát veszünk a pontosságnak is és a visszavonásnak is. Egy c kategória pontossága azt ondja eg, hogy a c kategórába sorolt dokuetuoknak hány százaléka tartozik valójában oda, íg a visszavonás azt adja eg, hogy az összes olyan dokuentunak, aelynek c-be kellene kerülnie, hány százaléka került oda ténylegesen. A teljes {c 1,..., c } kategória tér esetén ezeket a súlyozott átlagokat a következőképpen száoljuk: pontosság= visszavonás= i=1 i=1 pontosság c i w i visszavonás c i w i ahol w i a c i kategória dokuentuainak százaléka., 3
A érések eserényei azt utatják, hogy az egyszerű technika túlteljesíti a hierarchikus technikákat a pontosság tekintetében, íg a hierarchinkus tanulási halazzal dolgozó naív Bayesnek van a legjobb visszavonási értéke a növekvő jellezőhalaz éret ellett. Eellett a centroid alapú osztályozók ajdne indíg kisebb pontosságot és visszavonási értéket utatnak, int a egfelelő naív Bayes osztályozók, az alkalazott technikától (egyszerű, vagy hierarchikus) és a jellezőhalaz éretétől függetlenül. Egy ásik érdekesség, hogy a hierarchikus tanulóhalazok alklaazása indkét teljesítényutatót egnöveli, függetlenül a etódustól és a jellezőhalaz éretétől. Minden tanuló és teszt dokuentu a hierarchia ugyanazon kategóriájába tartozik, így elvárható lenne, hogy az elutasított dokuentuok száa alacsony legyen. Ennek ellenére csak a hierarchikus tanulóhalazos naív Bayes etódus esetén aradt ez az érték 30% alatt. Ez azt jelenti, hogy a gyökér osztályozójához autoatikusan eghatározott küszöb iatt a legtöbb dokuentu ne kerülhet a hierarchia alsóbb szintjeire az osztályozás során. Alacsonyabb küszöbérték ellett az elutasítási arány csökkenhet, de a rendszerünk hajlaosabbá válhat hibázni. Az olyan etódusok, elyek a dokuentuokat a egfelelő kategória helyett - tévesen - egy ahhoz hasonló kategóriába sorolják be, azokat általában jobbnak tartjuk azoknál, aelyek a egfelelőtől teljesen eltérő kategóriába sorolják a szavakat. Éppen ezért háro új értéket definiálunk egy c kategóriához: 1. téves besorolás hibája: c dokuentuainak azon százaléka, aelyek olyan c' kategóriába lettek besorolva, aely teljesen független c-től 2. álatalánosítási hiba: c dokuentuainak azon százaléka, aelyek c valaely őskategóriájába lettek besorolva 3. specializációs hiba: c dokuentuainak azon százaléka, aelyek c valaely alkategóriájába lettek besorolva. Minden egyes kategória esetén a visszavonás, a téves besorolási hiba, a általánosítási hiba és a specializációs hiba összege egyenlő eggyel. A Bayes etódusok, aelyek az elutasított dokuetuok száánál a legkisebb értéket utatták, a leghajlaosabbak a téves besorolási hibákra. Mindaellett a hierarchikus tanulóhalazok esetén a téves besorolási hiba arányának növekedése a centroid alapú egközelítés tekintetében kb. 7%, íg az elutasítások arányának csökkenése 23%-on felüli az 50 jellező/kategória esetén. Az egyszerű egközelítések adják a legkevesebb generalizációs hibát, ivel ők egyszerűen seibe veszik a kategóriák közötti kapcsolatokat. A centorid alapú etódus hierarchikus tanulóhalazzal hajlaos a túláltalánosításra. Ez a eghatározott óvatos küszöbök iatt van így. A ásik oldalról nézve, inden etódusnak alacsony a specializációs hiba aránya. A teszt eredények egy finoabb elezését teszi lehetővé, ha a hierarchiában szintrőlszintre haladva vizsgáljuk a érési eredényeket. Az egyszerű technika általában véve a legjobb ind a legfelső, ind a ásodik szinten. A legfelső szinten inden hierarchikus technika esetén jobb a visszavonás, íg a ásodik szinten csak a hierarchikus tanulóhalazos naív Bayes-nek van jobb visszavonási értéke, int az egyszerű technikáknak. Érdekes, hogy az első szinten a rendes tanulóhalazokat használó etódusok jobban teljesítenek (ind a pontosságot, ind a visszavonást tekintve), int a hierarchikus tanulóhalazokat használó társaik, ugyanakkor a ásodik szinten egfordul ez a helyzet. Más szavakkal, az alacsonyabb szinteken lévő kategóriák nagyobb hasznot húznak a hierarchikus tanulóhalazokból. Végül eg kell elítenünk, hogy a centroid alapú etódus csak az egyszerű egközelítésben száolásigényesebb a naív Bayes-nél, a hierarchikus esetben viszont közel 4
azonos a tanulási idejük. Mindenesetre a hierarchikus technikák tanulási ideje kisebb az egyszerű technikákénál a etódustól függetlenül. Konklúzió Ebben az írásban a HTML dokuentuok kategóriák hierarchiájába történő autoatikus osztályozását vizsgáltuk, aihez a környezetet egy olyan kliens-szerver alkalazás jelentette, ely a Web dokuentuok közös érdeklődésű felhasználók csoportjai közötti elosztását táogatja. Megvizsgáltuk, hogy ennyire hasznos a kategóriák hierarchiája a jellezők kiválasztásánál, az osztályozók felépítésénél, vagy az osztályozás folyaatában. Ai a jellezők kiválasztását illeti, beutattunk egy újfajta technikát a lényeges jellezők kiválogatására a tanuló dokuentuokból. A tanulási részhez két osztályozót tekintettünk, és ajánlottunk egy küszöbölő algoritust egy elutasító osztály esetére. Az osztályozáshoz egy?grafikus? kereső technikát utattunk, ai inden lehetséges utat felderít. A tesztelést olyan dokuentuok halazán végeztük, aelyek a Yahoo! ontológiában vannak indexelve. Háro technikát hasonlítottunk össze: i) egyszerű osztályozás, ii) hierarchikus osztályozás rendes tanulóhalazokkal és iii) hierarchikus osztályozás hierarchikus tanulóhalazokkal. Az eredények a Yahoo! dokuentuain nagy vonalakban a következők: 1. Növekvő jellezőhalaz-éret esetén a legjobb teljesítényt a naív Bayes osztályozók utattak, ind egyszerű, ind hierarchikus tanulóhalazokkal. 2. A Bayes-féle etódusok utasították el a dokuetuok legkisebb százalékát, de ugyanakkor ők követték el a legtöbb osztályozási hibát. Mindenesetre a visszautasítások arányának jelentős csökenése ellensúlyozza a hibás osztályozások arányának kisértékű növekedését. 3. Minél lejjebb járunk a kategóriák hierarchiájában, annál előnyösebbek a hierarchikus tanulóhalazok. A szintről-szintre végrehajtott elezés segít egérteni a hierarchikus és az egyszerű egközelítések eltérő viselkedését. Forrás Michelangelo Ceci and Denato Malerba: Hierarchical Classification of HTML Docuents with WebClassII. Springer-Verlag Berlin Heidelberg 2003 5