2011. április 17.

Szófaj-elemzés 2 – néhány újabb tapasztalat


Előző posztomban, melyben saját szófaj-egyértelműsítő programom írását kezdtem bemutatni, kiderült, hogy egy egyszerű tanuló-adatbázis és a Bayes-osztályozó algoritmus segítségével egészen tűrhető eredményeket lehet elérni. Intuitív módon belátható azonban, hogy csak ilyen módszerrel nem lehet elérni tökéletes eredményt az ige-felismerés terén, hiszen csak végződések alapján képtelenség megmondani, miért főnév az “embert”, mikor a “megvert” ige. Programom kizárólag morfológiai adatok alapján akar dönteni, azonban, sajnos, itt a kulcsfontosságú ismerni a szavak tövét is – ez már lexikai adat, amely kinyeréséhez ismerni kell (intuitív módon) a szó szemantikáját, vagy legalábbis valamilyen módon meg kell határozni, milyen szerepet tölt be a mondatban: tárgy-e vagy predikátum (szintaktikai szint). Ebből a kicsi példából is látható, hogy a természetes nyelv egy több szintű rendszer, amely szintek közt úgymond “kötelező” az átjárás az értelem megragadásához.

A problémát tulajdonképpen az okozza, hogy a nyelv spórol: ugyanazt a végződést (“ert”) használja fel két, teljesen különböző jelentés átadására – hiszen a kiegészítő, más szintről származó (lexikon, szemantika, szintaktika) információ segít eldönteni, mit akarunk kifejezni. Vagy nem?

Miért nyúl a nyúl? (lexikai káosz)
A királynőt megölni nem kell félnetek jó lesz ha mindnyájan beleegyeztek én nem ellenzem. (szintaktikai káosz)

Úgy tűnik tehát, elméletileg is lehetetlen olyan függvény készíteni, amely bizonyosan megmondja minden egyes neki átadott szóról a szófaját – hiszen az néha még szintaktikai és lexikai információk birtokában is kétséges.

A tanuló program szempontjából ez a jelenség úgy is értelmezhető, mint zaj a bemeneti tanuló adatokban – a természetes nyelvi adatok nem alkotnak teljesen logikus rendszert, képtelenség egy olyan szabályt kitalálni, amely teljesen illik a tanuló adatokban megjelenő szabályosságra.

A Bayes-tanulással betanított program azért sem fog soha teljesen helyes eredményt adni, mert a módszer lényege, hogy a zajos, sok-változás adathalmazban ne (egyébként úgysem felállítható) szabályt keressen, hanem a statisztikailag legvalószínűbb eredményt adja. Ez általában megközelítőleg helyes, mint az előző postból is látható volt. Azonban hogy javítsunk a szófajfelismerés hatékonyságán, érdemes bevonni más módszereket is a Bayes-tanuláson kívül.

A legprimitívebb, ám meglepően hasznos módszer a lookup-taggelés. Ez semmi mást nem jelent, mint hogy egy előre létrehozott szótár-fájlból kikeressük a szót. Hihetetlenül hasznos a leggyakoribb szavaknál – ezek ugyanis aránytalanul nagy számban vannak képviseltetve bármely szövegben (l. Zipf-törvény); a zárt-szófajosztályoknál (modális igék, névmások, kötőszavak, stb.) és a rendhagyó alakoknál.

Szintén nagyon hasznos, és nem is túl bonyolult dolog a tulajdonnév szűrés; így elkerülhető, hogy Berlusconi-t infinitívnek kategorizálja a program.

A szavak szintjén túlnyúló eljárás a transzformáció alapú megközelítés. Erről is lehet részletesen olvasni az NLTK könyvben; ennek lényege, hogy felfedezzünk gyakran előforduló mintákat a szófajok elrendezésében (pl. jó szabály, hogy névelő után mindig főnév következik). Lebutított verzióként egyszerűen elkészíthető egy olyan “hibajavító” algoritmus, amely kiszűri a tévesen kategorizált igéket. Ehhez csupán azt kell tudni, mely szavak után nem lehet ige (esetleg: előtt). Például, névelő, tőszámnév, “soha”, “semmi”, “több”, “más”... Az ilyen szavak felderítésére is könnyű írni egy programot.

Irodalom: Peter Norvig, Stuart J. Russell: Mesterséges Intelligencia - Modern megközelítésben (2. kiadás). Panem, Budapest, 2006.

* * *

Kódot most nem közlök, de itt látható két analizált szövegrészlet. A vizualizációnak köszönhetően láthatóvá válik a szövegek néhány tulajdonsága.

Az első szövegben alapvetően múlt idejű harmadik személyű igék vannak(lila), mivel ez egy beszámoló; emellett a vége felé megjelennek a modális szerkezetek is (sárga).


 Anikó szerint Jerzy és Béci párbaját 90-10 százalékos végeredménnyel a Rácz fiú nyeri majd meg . A bombázó szerint a szépfiú csak azért van még játékban , mert mert eddig nem párbajozott . Anikó azt is kifejtette a vasárnapi párbaj kapcsán , szerinte Gigi szerelme annyira gyenge , hogy bárki legyõzte volna , még az elsõként kiesõ Ildikó is , aki valóban megosztó személy volt a luxusbörtönben . A lány azt is kijelentette , egészen biztos abban , hogy Béci vasárnap visszatér a villába . A fiú azt mondta , õ is ezt szeretné . Mindezt aközben beszélte meg egymással a két villalakó , miközben a rosszkislány vacsoráját készítették . Anikó maga is bevallotta , annyira gyakorlatlan a konyhában , ha nem lett volna vele Béci , lehet , hogy nem készül el a vacsora . A lány annyira elfáradt a fõzésben , hogy a végén szó szerint a padlóra került .
 

A politikus szövegében alig van múlt, ellenben sok jelen (lila) és első személy (hatalmas betűk).
És persze, az is látható, hogy a tagger még nagyon sok javítgatásra szorul:)


tehát a frakción belül természetesen nagy-nagy viták vannak . Ráadásul , ugye , nemcsak a konzultációs kérdőívet fogadtuk be , hanem a tudományos akadémia is adott be indítványokat , abban is találtunk megfontolásra érdemeset , az Alkotmánybíróság elnökének is volt indítványa , Szili Katalinnak egy külön csomagja , amit alaposan , tételről tételre végig kellett néznünk , zöld - és civil szervezetek is adtak be . Tehát , hogy mondjam , igazi kis országként működik most a Fidesz–KDNP-frakció ráadásul miután az LMP meg a szocik nem vesznek részt a vitában , ezért nekünk az ő szavazóik fejével is kell gondolkodnunk annak érdekében , hogy az alkotmány mindenkinek a szempontjait próbálja magába olvasztani .

A szövegek forrásai:

Story magazin: Anikó szerint Jerzy távozik

Orbán Viktor honlapja: Az már nem kérdés, hogy választójogot kapnak a határon túli magyarok







Nincsenek megjegyzések: