IKTA-27/2000 Magyar nyelvi szófaji egyértelműsítő módszer fejlesztése gépi tanulási algoritmusok felhasználásával A projekt időtartama: szeptember június 30. A projekt összköltsége: 73,50 millió Ft A támogatás mértéke: 36,75 millió Ft. A konzorcium: Szegedi Tudományegyetem Informatikai Tanszékcsoport(50%), MorphoLogic kft (50%) Koordinátor: Gyimóthy Tibor SZTE, telefon: (62)
IKTA-27/2000 Közreműködők SZTE Informatikai Tanszékcsoport: Alexin Zoltán Bibok Károly Csirik János Gyimóthy Tibor (kordinátor) fő nyelvész hallgató MorphoLogic kft.: Prószéky Gábor Tihanyi László
IKTA-27/2000 Szófaji címkék A „házaitokkal”:főnév, többes szám, eszközhatározós eset, birtokos személyrag (többes szám, második személy) A „fognak”több lehetséges címkével is ellátható pl. segédige (jövő idő), többes szám 3. szem. vagy főnév birtokos esetben, vagy főnév részeshatározós esetben Az egyes szavak attribútumait (szám, személy, eset, birtokos személyrag, fok, …) kódoljuk. Minden szóhoz hozzárendelhető a lehetséges kódok halmaza. Az egyértelműsítés feladata a folyamatosan érkező szöveg mondatokra, szavakra bontása, valamint minden egyes szóhoz a helyes címke (annotáció) meghatározása.
IKTA-27/2000 Motiváció A szövegfeldolgozás egyik korai problémája az, ha egy többértelmű szó fordul elő a szövegben: vár, ég, ebben, javított,... Az egyértelműsítés (part-of-speech tagging) témájában több jelentős eredmény született a nyugat-európai nyelvekre A magyar természetes nyelvvel kapcsolatos informatikai kutatások fellendítése. A szófaji egyértelműsítés és alaktani (morfológiai) elemzés a sok részprobléma közül kettő. Az úton továbbhaladva további témákat találhatunk: NP felismerés (NP-chunking), részleges elemzés (shallow parsing), szintaktikus elemzés, szemantikus kódolás, szövegértés, az azonosítási probléma (co-reference),... A mesterséges intelligencia új eszközeinek (tanuló algoritmusok) felhasználása, kipróbálása, új algoritmusok felfedezése. További kutatások számára tanulási adatbázis létrehozása. Szoftver termék fejlesztése, a projekt keretében előállított prototípus alapján. Meglevő szoftver komponensek felfrissítése, hitelesítése a tanuló adatbázis alapján.
IKTA-27/2000 Munkaszakaszok 1. munkaszakasz : szeptember 1 - december 31-ig, 2. munkaszakasz : január 1 - december 31-ig, 3. munkaszakasz : január 1 - június 30-ig.
IKTA-27/2000 A teljes projekt fő célkitűzései Készüljön el egy közepes méretű (legalább 1 millió szavas) kézzel annotált magyar tanuló adatbázis, amely a jelen projekten kívül a továbbiakban más természetes nyelvi feldolgozásokra is alkalmas. Elkülönített programmodul, amely más alkalmazói programrendszerekbe beépíthető, és amely különböző tárgyú, témájú szövegeket is hatékonyan egyértelműsít. Folyamatosan alkalmazkodó rendszer, amely követni tudja a nyelvben bekövetkező változásokat. A választott technológia lehetőség szerint más európai nyelvre is alkalmazható legyen. Használjon nemzetközileg elfogadott az összes európai nyelvet is magába foglaló szófaji (morfológiai) osztályokat, de engedje meg speciálisan a magyar nyelvre jellemző osztályok használatát is. Érje el a legalább 97-98% pontosságot (per-word accuracy). Ez a jól annotált szavak számát jelenti a szövegben előforduló összes szó számához viszonyítva.
IKTA-27/2000 Az első munkaszakasz feladatai voltak Gyűjtse össze a konzorcium egy közepes méretű (legalább 1 millió szavas) annotált magyar tanulási adatbázis alapját képező szöveg mennyiséget. A szöveganyag legyen előre meghatározott szempontok szerint kiválasztott, válogatott textus A választott technológia lehetőség szerint más európai nyelvre is alkalmazható legyen, illetve olyan már használatban lévő, nemzetközileg elfogadott technológiát válasszunk, amely a magyar nyelvi szövegek kezelésére is alkalmas. Használjon nemzetközileg elfogadott a jelentősebb európai nyelveket is magába foglaló szófaji (morfológiai) osztályokat, de engedje meg speciálisan a magyar nyelvre jellemző osztályok használatát is. Készüljenek el a második munkaszakaszban használni kívánt szoftverek prototípusai, amelyeket a tanulási adatbázis kialakítása során fogunk majd alkalmazni. Alapvetően három ilyen feladat volt: a korpusz előfeldolgozása, a szóalaktani elemzés és az egyértelműsítés. A második munkaszakasz előkészítése keretében a tanuló algoritmusok alkalmazási módjáról, a módszerekről, a pontosság mérési technikájáról stb. készüljön egy előzetes tanulmány.
IKTA-27/2000 Az első munkaszakasz eredményei Az 1 millió szavas válogatott szöveg rendelkezésre áll. A szöveg morpho-szintaktikai kódolására az MSD kódokat használjuk. A MULTEXT-East COPERNICUS projektben a kelet-európai nyelvekre is kibővítésre került, a korábban főként a nyugat-európai nyelvekre kidolgozott kódrendszer. A korpusz (elemzési információkkal, címkékkel kibővített szöveg) reprezentálására XML technológiát használunk (TEIXLITE). A szövegfeldolgozáshoz szükséges szoftverek elkészültek. A második munkaszakasz előkészítése keretében a tanuló algoritmusok alkalmazásával kapcsolatban előtanulmányokat és szoftver fejlesztéseket végeztünk.
Az IKTA projekt jelenlegi állapota A korpusz szöveganyagának összegyűjtése (elkészült) A szavakat és kódjaikat tartalmazó lexikon (elkészült) A korpusz egyértelműsítése (2001 év végére) Egyértelműsítő szoftver prototípus (2002 nyár) IKTA-27/2000
A magyar tanulási adatbázis Az 1997-ben készült ún. Orwell korpusznál egy jobb tréning adatbázis elkészítése Megfelelőség a „Multext-East” magyar MSD specifikációnak, azaz a névmások, számnevek és határozószavak teljes osztályozása (ami az Orwell korpuszból kimaradt) Megfelelőség a Magyar értelmező kéziszótár meghatározásainak IKTA-27/2000
Az IKTA és az Orwell korpusz összehasonlítása Méret: szó (plusz írásjelek) Erre a célra válogatott szöveganyag (modern) textus XML technológia Teljes MSD címkézés Felhasználói szabályok Méret token (szavak és írásjelek együtt) Egyetlen regény (speciális nyelvezet) SGML technológia A magyar MSD részleges implementációja N/A IKTA-27/2000
Az MSD lexikális kódolás I. Majdnem minden európai nyelv jellemzőinek reprezentálására alkalmas (pl. angol, német, francia,..., de magyar, szlovák, cseh, észt, bulgár, román, orosz,... is) Minden nyelv speciális esete az általános kódolásnak A szavak kódja egy string, amelyben a főkategóriát az első pozíción található nagy betű kódolja; egyes attribútumokat pedig kis betűk kódolják előre rögzített pozíciókon; a nem használt attribútumok helyén egy „-” jel áll A főkategóriák (A - adjective, melléknév, C - conjunctive, kötőszó, D - determiner, I - interjection, M - numeral, számnév, N - noun, főnév, P - pronoun, névmás, Q - particle, R - adverb, határozószó, S - adposition, névutó, T - article, névelő, V - verb, ige, X - residual, ismeretlen, Y - abbreviation, rövidítés IKTA-27/2000
Az MSD lexikális kódolás II. Az ablakokban szó kódja: Nc-p2 (Noun, common, - (gender), plural, inessive (-ban, -ben rag) A legeslegnagyobbaké melléknév kódja: Afe-pn------s (Adjective, type, degree, - (gender), plural, nominative, - (definiteness), - (clitic), - (animate), - (formation), - (owner number), - (owner person), owned number A HuMor kódokat egy táblázat segítségével alakítja át a MorphoLogic kft. elemző rendszere MSD kódokká A képzők és a szóösszetételekkel kapcsolatos információk elvesznek Sok MSD kód csak „elvben” létezik, előfordulása az írott és beszélt nyelvben lényegében nulla IKTA-27/2000
Néhány adat A lexikon mérete szó (az elsődleges címkézés a HuMor - magyar morfológiai elemző rendszerrel készült; azután a címkéket kézzel ellenőrizték (10 nyelvész hallgató 6 hónapi munkával) Egy szavas részét elkülönítettük az anyagnak és azt külön készítettük el, előzetes statisztikai adatok erre a részre készültek A több címkéjű szavak száma rendkívüli mértékben megnőtt, a szavak 55-60%-a többértelmű ( a ből (57.03%), ugyanez az Orwell korpusznál volt a esetből (31.62%); a többértelmű szavaknak átlagosan 2.92 címkéje van; 1499 bizonytalansági osztályt találtunk (v.ö. 566 az Orwellnél) IKTA-27/2000
A magyar szófaji egyértelműsítő szoftver Követjük az ILP 1999-en bemutatott módszert és minden egyes bizonytalansági-osztályra (ambiguity-class)*, külön tanulási feladatot állítunk elő, majd az eredményeket kombináljuk egymással Környezeti szabályokon alapul: choose_C1_…_Cn(-Predicted, +CurrWord, +LeftCntxt, +RightCntxt) Egy mondaton belül a bizonytalanságok feloldása nemdeterminisztikusan történik *Az azonos morfológiai címkékkel rendelkező szavak egy (bizonytalansági) osztályba tartoznak IKTA-27/2000
Szoftver komponensek Lexikon karbantartó program, a HuMor kivételszótárhoz Text -> XML konverter programok XSLT programok az XML adatbázisok karbantartására Morfológiai elemző program, amely fel tudja használni a HuMor kivételszótárt Egyértelműsítést támogató program Tanulási feladat előállító programok Elemzők, amelyek a tanuló programok outputját elemezni tudják, majd Prolog szabályokká alakítják az eredményt Szabályhalmaz-karbantartó programok, taggerek, teszt programok IKTA-27/2000
Az egyértelműsítő program IKTA-27/2000
Összefoglaló adatok a korpusz első 200 ezer szavas részére Az bizonytalansági-osztályok száma 1499 volt A leggyakoribb előforduló problémás szó az: A, a - ['I', 'Nc-sn', 'Pd3-sn', 'Tf'] bár esetben a előfordulás közül a Tf kódot kapta További gyakori osztályok: Az, az - ['Pd3-sn', 'Tf'] (5447 esetben a 6207-ből Tf), Mármint, Márpedig - ['Ccsp', 'Ccsw'] (3978 esetben az 5548-ból Ccsp) A legkellemetlenebb szavak az: Aztán, Csakhogy - ['Ccsp', 'Ccsw', 'Rx'] 2457 esetben a 4853 előfordulásból a Ccsp kód volt a helyes. Ha mindig ezt választjuk, akkor ez önmagában 2396 hibát hoz be, ami 2,08%-a a bizonytalanságoknak 855 osztály esetében mindig egyetlen címke volt helyes a korpuszban, ebből 736 esetben az előfordulások száma kisebb volt 10-nél, 430 osztály előfordulása 1 volt. IKTA-27/2000