Ny´ılt forr´ ask´ od´ u morfol´ ogiai elemz˝ o N´emeth L´ aszl´ o? , Hal´ acsy P´eter∗ Kornai Andr´as?? , Tr´on Viktor? ? ?
Kivonat A cikk a Sz´ oszablya projekt keret´eben kifejlesztett nyelvf¨ uggetlen morfol´ ogiai elemz˝ o keretrendszert mutatja be. A MorphBase rendszer a Myspell helyes´ır´ as-ellen˝ orz˝ o programk¨ onyvt´ ar ´ tulajdons´ tov´ abbfejleszt´ese. Uj agai, a t¨ obbsz¨ or¨ os affixumlev´ alaszt´ as, a kimeneti inform´ aci´ o, az alternat´ıv t¨ ovek ´es elemz´esek lehet˝ os´ege, ´es az ¨ osszetettsz´ o-kezel´es, alkalmass´ a teszik bonyolult agglutin´ al´ o nyelvek helyes´ır´ as-ellen˝ orz´es´ere, t¨ ovez´es´ere, ´es morfol´ ogiai elemz´es´ere. Az algoritmusok fut´ asid˝ oben feldolgozott nyelvspecifikus c´elra optimaliz´ alt er˝ oforr´ asokat haszn´ alnak (t˝ o- ´es affixumt´ ar), amelyek karbantart´ as´ at ´es gener´ al´ as´ at nagyban megk¨ onny´ıti az erre a c´elra kifejlesztett HunLex el˝ ofeldolgoz´ o.
1. Bevezet´ es A 2003-ban indult Sz´ oszablya projekt [4,6] egyik c´elja egy olyan ny´ılt nyelvtechnol´ ogiai eszk¨ ozk´eszlet elk´esz´ıt´ese volt, amely b˝ov´ıthet˝o, m´as rendszerekbe k¨ onnyen integr´ alhat´ o ´es szabadon felhaszn´alhat´o. A projekt m˝ uszakilag olyan elemz˝ oalgoritmusok kidolgoz´as´at t˝ uzte ki c´elul, amelyek t´amogatni tudj´ak tetsz˝ olegesen komplex agglutin´al´o alaktannal rendelkez˝o nyelvek elemz´es´et. A rendszer teljes architekt´ ur´ aj´at az 1. ´abra szeml´elteti. A HunTools eszk¨ozrendszer h´ arom futtathat´ o komponense a Hunspell helyes´ır´as-ellen˝orz˝o, a Hunstem t¨ ovez˝ o ´es a Hunmorph morfol´ogiai elemz˝o. Ezek mindegyike ´es az ezek alatt fut´ o MorphBase alapk¨onyvt´ar ´es ´ıgy az eg´esz HunTools eszk¨ozk´eszlet term´eszetesen nyelvf¨ uggetlen, ´ıgy a nev¨ ukben szerepl˝o Hun- el˝otag a fejleszt´es eredet´ere, nem pedig a magyar nyelv˝ u er˝oforr´asokra utal. A keretrendszer alapj´at k´epez˝ o elemz˝ oalgoritmusok az Ispell helyes´ır´as-ellen˝orz˝o csal´ad ´altal haszn´alt m´ odszer tov´ abbfejlesztett v´altozatai. A rendszer implement´aci´oja az Ispell technol´ ogi´ an alapul´ o helyes´ır´ as-ellen˝orz˝o f¨ uggv´enyk¨onyvt´ar, a Myspell k´odj´anak tov´ abbfejleszt´es´evel t¨ ort´ent, ´es t¨obb sz´oszint˝ u elemz˝oalgoritmust tartalmaz: helyes´ır´ as-ellen˝ orz´es, t¨ ovez´es ´es morfol´ogiai elemz´es automatikus vagy interakt´ıv hibajav´ıt´ assal. A sz´ amos u ´j k´epess´eggel felruh´azott alapk¨onyvt´ar az ´altal´anosabb MorphBase nevet kapta. Az algoritmusok f¨ uggv´enyk¨onyvt´ar form´aj´aban is el´erhet˝ok, amely a szoftvermodulokkal egy¨ utt a GNU LGPL licenc alatt szabadon felhaszn´alhat´oak. ?
?? ???
Budapesti M˝ uszaki Egyetem M´edia Oktat´ o ´es Kutat´ o K¨ ozpont, {nemeth,halacsy}@mokk.bme.hu MetaCarta Inc.,
[email protected] International Graduate College, Saarland University and University of Edinburgh,
[email protected]
A Sz´ oszablya projekt kiemelt c´elja egy magyar nyelv˝ u ny´ılt morfol´ogiai elemz˝ o kifejleszt´ese volt. Az ehhez sz¨ uks´eges nyelvi er˝oforr´asok – magyar morfol´ ogiai sz´ ot´ ar ´es szab´ alyrendszer – el˝o´all´ıt´as´at ´es tov´abbfejleszt´es´et nagyban k´epes seg´ıteni a HunLex el˝ofeldolgoz´o komponens [9]. Ennek a munk´anak az eredm´enye egy folyamatosan b˝ov¨ ul˝o morfol´ogiai adatb´azis, amelyre ´ep¨ ul˝o elemz˝o rendk´ıv¨ uli lefedetts´eget ´es kiel´eg´ıt˝o pontoss´ag´ u elemz´eseket ad.
1. ´ abra. A Sz´ oszablya sz´ oelemz´esi technol´ ogia fel´ep´ıt´ese
A nyelvtechnol´ ogia fejl˝ od´es´et mindig is komolyan befoly´asolt´ak a helyes´ır´asellen˝ orz´esi alkalmaz´ asok. Ez a magyarban is ´ıgy volt: a h´etk¨oznapi felhaszn´al´ok sz´ am´ ara fontos Helyes-e? j´ oval megel˝ozte a csak a szak´ert˝oknek ´erdekes HelyesLem ´es Humor alkalmaz´ asokat [8]. A rendszer bels˝o logik´aj´at tekintve azonban azt l´ atjuk, hogy ha megb´ızhat´obb´a akarjuk tenni az elfogad´as vagy elutas´ıt´as egyszer˝ u” dichot´ omi´ aj´ an alapul´o d¨ont´eseket, az alaktani tud´as egyre alaposabb ” rendszerbe ´ep´ıt´es´ere van sz¨ uks´eg. J´ol mutatja ezt a Spell, Ispell, Myspell programcsal´ ad fejl˝ od´ese is. A cikk tov´ abbi r´esz´eben ismertetj¨ uk az Ispell technol´ogia t¨ort´eneti h´atter´et ´es m˝ uk¨ od´es´enek alapjait (§2). Ezt k¨ovet˝oen t´argyaljuk a MorphBase algoritmusainak u ´j´ıt´ asait (§3), valamint az egyes elemz´esi algoritmusok k¨ ul¨onbs´egeit (§4).
2. Affixumlev´ alaszt´ asos helyes´ır´ as-ellen˝ orz´ es Els˝ o k¨ ozel´ıt´esben a helyes´ır´as-ellen˝orz´es leegyszer˝ us´ıthet˝o egy gyakori ´es helyes sz´ oalakokat tartalmaz´ o halmazban val´o keres´esre [3]. Az els˝o helyes´ır´as-
ellen˝ orz´esre haszn´ alhat´ o, Les Earnest ´altal a hatvanas ´evekben fejlesztett SPELL program sz´ ot´ ara is csup´ an a leggyakoribb t´ızezer angol sz´oalakot tartalmazta[2]. Nyilv´ anval´ o, hogy kiz´ ar´ olag a lista b˝ov´ıt´es´evel teljes lefedetts´eget nem lehet el´erni, de a sz´ ot´ aron k´ıv¨ uli (out-of-vocabulary, OOV) elemek forr´asa ink´abb a produkt´ıv alaktanban keresend˝o: a j´ol form´alt ¨osszetett szavak ´es toldal´ekolt alakok egy morfol´ ogiailag komplex nyelv eset´eben v´egtelen halmazt alkothatnak. Earnest tan´ıtv´ anya, Gorin 1971-ben nemcsak a sz´ot´arat b˝ov´ıtette tov´abb, hanem a hat´ekonyabb Spell helyes´ır´as-ellen˝orz˝o programmal bevezette a – m´eg heurisztikus, azaz nyelvtanilag motiv´alatlan – szuffixumlev´alaszt´ast. Az ´ altalunk is haszn´ alt, a t¨ovek ´es a hozz´ajuk kapcsolhat´o affixumcsoportok elk¨ ul¨ on¨ ult t´ arol´ asa miatt az er˝oforr´asok m´eret´enek jelent˝os cs¨okken´es´et eredm´enyez˝ o affixumlev´ alaszt´ ast (affix stripping) mint egyszer˝ u elemz´esi m´ odszert[7] eg´esz´ıtette ki Ackerman a t¨ovekhez csatolhat´o affixumokat k´odol´o u ´n. affixumkapcsol´ okkal (affix flags). A jelent˝osen ´at´ırt program 1978-ban Ispell (ITS version of Spell) n´even l´atott napvil´agot, amelynek v´altozatai ma is sz´eles k¨ orben haszn´ alatosak, ´es amely a MorphBase fejleszt´es kiindul´opontj´anak tekinthet˝ o. Az Ispell szellem˝ u elemz´esi m´odszer ´elesen sz´etv´alasztja a nyelvf¨ uggetlen elemz˝ o algoritmust a nyelvspecifikus er˝oforr´asokt´ol, amelyek az adott nyelv t¨ oveit ´es toldal´ekol´ asi szab´ alyait sz¨oveges ´allom´anyok form´aj´aban adj´ak meg. A t˝ ot´ ar egykarakteres affixumkapcsol´okat tartalmaz a t˝ot˝ol perjellel elv´ alasztva, amelyek az affixum-szab´alyok alkalmazhat´os´ag´at vez´erl˝o privat´ıv lexikai jegyeknek is felfoghat´ ok: k´ ar/A j´ ar/AB Az affixum´ allom´ any pedig defini´alja a kapcsol´okhoz tartoz´o affixumokat: SUFFIX A om SUFFIX B tam A fenti defin´ıci´ ok a k´et sz´ ot´ari sz´on k´ıv¨ ul a k´ arom, j´ arom ´es a j´ artam alakokat is gener´ alj´ ak. A Geoff Kuening ´ altal 1998-ban bevezetett affixumt¨ om¨ or´ıt´esnek (affix compression) k¨ osz¨ onhet˝ oen egy affixumkapcsol´o nem csak egy affixumot, hanem affixumok tetsz˝ oleges halmaz´at jel¨oli, ´ıgy az affixumkapcsol´ok imm´ar r´eszparadigm´ akat enged´elyez˝o jegyk´ent interpret´alhat´ok. T´etelezz¨ uk fel, hogy affixumdefin´ıci´ onk a k¨ ovetkez˝o: SUFFIX A ba SUFFIX A ban SUFFIX A b´ ol Ekkor, a sz´ ot´ arban szerepl˝ o v´ ar/A defin´ıci´o a v´ arba, v´ arban, v´ arb´ ol alakot egyar´ ant enged´elyezi. Ez az affixumt´abl´an alapul´o megold´as nagysz´am´ u toldal´ekol´asi szab´ aly redundanciamentes k´odol´as´at teszi lehet˝ov´e, mi´altal az Ispell technol´ogia
hat´ekonyan alkalmazhat´ o az angoln´al l´enyegesen komplexebb morfol´ogi´aj´ u agglutin´ al´ o nyelvekre is. Az affixum-szab´ alyok alkalmazhat´os´ag´at tov´abbi felt´etelekkel korl´atozhatjuk: az affixum´ allom´ anyban minden szab´alyhoz megadhat´o m´eg egy illeszt´esi felt´etel, tov´ abb´ a egy (a t˝ o sz´el´er˝ ol) lev´agand´o karaktersorozat. Az al´abbi p´eld´aban a harmadik mez˝ o az affixum illeszt´ese el˝ott a t˝o v´eg´er˝ol lev´agand´o karaktersorozatot tartalmazza (vagy null´ at).1 A negyedik mez˝o a t˝o v´eg´en alkalmazott illeszked´esi felt´etelt tartalmazza : SUFFIX B 0 val SUFFIX B 0 zal SUFFIX B z szal
[´ o´ uv] [^s]z sz
Az els˝ o szab´ aly szerint az ´ o, u ´ ´es v karakterre v´egz˝od˝o t¨ovek (amelyeknek van B kapcsol´ oja) megkaphatj´ ak a val szuffixumot. A m´asodik enged´elyezi, hogy azok a z karakterre v´egz˝ od˝ o t¨ ovek, amelyek utols´o el˝otti bet˝ uje nem s, zal szuffixumot kaphatnak. A harmadik szab´aly szerint pedig az sz -re v´egz˝od˝o szavak szal toldal´ekot kapnak, de a toldal´ek illeszt´ese el˝ott lev´ag´asra ker¨ ul a t˝o v´egi z karakter. A lev´ ag´ asokkal az egyszer˝ us´ıt˝o ´ır´asm´odot haszn´al´o ¨osszet´etelek (sz+sz → ssz ), illetve a hasonul´ asok” (l´ at → l´ assa) alternat´ıv t¨ovek felv´etele n´elk¨ ul ” val´ os´ıthat´ ok meg.
3. A MorphBase fejleszt´ es ¨ osszetev˝ oi A MorphBase fejleszt´ese egy olyan ny´ılt helyes´ır´as-ellen˝orz˝o fejleszt´es´eb˝ol indult ki, amely k´epes volt a magyar nyelv komplex agglutin´al´o morfol´ogi´aj´at, valamint a magyar helyes´ır´as bonyolult rendszer´et kezelni [5]. A MorphBase k´ odj´ anak alapja a Myspell k¨onyvt´ar, amely az Ispell technol´ogia C++ nyelv˝ u implement´ aci´ oja.2 A Myspell el˝onyei, (i) az affixumlev´alaszt´ast felgyors´ıt´o indexel´es [1], (ii) a nyelvspecifikus er˝oforr´asok fut´asid˝oben t¨ort´en˝o beolvas´asa, (iii) a sz´ albiztoss´ ag, ´es nem utols´osorban, (iv) a teljesen szabad licenc, mind hozz´ aj´ arultak ahhoz, hogy a fejleszt´es alapj´aul v´alasszuk. Ezek a tulajdons´agok a teljes HunTools programcsomagot is jellemzik, ezzel lehet˝ov´e t´eve a k´od hat´ekony integr´ al´ as´ at ´es u ´jrafelhaszn´ al´as´at.3 A MorphBase fejleszt´es k¨oz¨ ul a legfontosabbak az (i) homonim t¨ovek kezel´ese, (ii) a t¨ obbsz¨ or¨ os affixumlev´ alaszt´as bevezet´ese, valamint (iii) a parametriz´alhat´o osszetettsz´ ¨ o-kezel´es. Ezeket az u ´j´ıt´asokat az al´abbiakban r´eszletesen t´argyaljuk. 1 2
3
Prefixum eset´en a t˝ o elej´ere, szuffixumn´ al a v´eg´ere vonatkozik a lev´ ag´ as. A Myspell k¨ onyvt´ ar az OpenOffice.org ny´ılt forr´ ask´ od´ u irodai programcsomaghoz k´esz¨ ult ´es a kor´ abbi z´ art k´ od´ u ellen˝ orz˝ o-modult v´ altotta ki. A HunTools programcsomag C++ nyelven ´ır´ odott, ´es a ny´ılt forr´ as´ u fejleszt´esekben haszn´ alt standard seg´edeszk¨ oz¨ ok (Make, jelenleg Automake, Autoconf) biztos´ıtj´ ak a program platformf¨ uggetlens´eg´et.
3.1. Homonim´ ak A homonim´ ak kezel´ese a Myspellben nincs megoldva: egy karaktersorozathoz (t˝ oh¨ oz) pontosan egy affixumkapcsol´o-halmaz rendelhet˝o. Ez probl´em´at jelent a pontos helyes´ır´ as-ellen˝ orz´es sz´am´ara, hiszen ´ıgy a kategori´alisan t¨obb´ertelm˝ u t¨ ovekhez t¨ obb homonim t˝ o (lemma) jegyeinek uni´oj´at kellett rendelni. Ezzel azonban az adott t˝ oform´ ahoz ellentmond´o affixumok is illeszkedhetnek egyazon sz´ oalakban. P´eld´ aul a helytelen *el¨ ole alak is elfogad´asra ker¨ ul az ¨ ol ige ok´an enged´elyezett igek¨ ot˝ o ´es az ¨ ol f˝on´ev ok´an enged´elyezett n´evsz´oi toldal´ek egyidej˝ u megjelen´ese miatt. A MorphBase eset´eben megvan a lehet˝os´eg a homonim´ak elk¨ ul¨ on´ıt´es´ere, ´ıgy az igei prefixumok ´es a n´evsz´oi szuffixumok egyidej˝ u megjelen´es´et puszt´ an a sz´ ot´ ari besorol´asok le tudj´ak tiltani. A t˝osz´ot´ar teh´at t´amogatja a homonim´ ak megad´ as´ at: ¨l/P o ol/S ¨
# ige # f} on´ ev
´Igy az affixum´ allom´ anyban szerepl˝o igei ´es f˝on´evi szab´alyok, pl.: PREFIX P el SUFFIX S e egyazon t˝ ore nem alkalmaz´ odnak. 3.2. Rekurz´ıv affixumlev´ alaszt´ as Az Ispell az elemz´es sor´ an csak egy prefixum- ´es egy szuffixumszab´aly alkalmaz´ as´ at engedi meg. Egyetlen szuffixum lev´alaszt´asa sz˝ uk lehet˝os´eget k´ın´al az olyan agglutin´ al´ o nyelvek kezel´es´ere mint a magyar, hiszen az ¨osszes sz´am´ıt´asba j¨ ov˝ o toldal´ekmorf-kombin´ aci´ot mind egy-egy affixumszab´alynak kell megfeleltetni. A teljes magyar inflexi´ os rendszer h´ uszezer k¨or¨ uli kombin´aci´ot jelent, a produkt´ıv deriv´ aci´ os toldal´ekol´ as miatt viszont egy f˝on´evi lemm´anak ak´ar 103 − 106 alakja is lehet, az igek¨ ot˝ oket is figyelembe v´eve pedig u ´jabb k´et nagys´agrenddel nagyobb sz´ amot kapunk.Az affixumkombin´aci´ok t´arol´asa teh´at komplex morfol´ ogia eset´en praktikus probl´emak´ent mer¨ ul fel. Ennek a megold´as´ara a MorphBase elemz˝ o algoritmusa t¨obbsz¨or¨os affixumszab´aly-alkalmaz´ast is megenged. Ez annyit jelent, hogy elemz´eskor az affixumlev´alaszt´assal felt´etelezett hipotetikus t¨ ovekr˝ ol u ´jabb affixumok v´alaszthat´ok le. A t¨obbsz¨or¨os affixumlev´alaszt´as jelenlegi megval´ os´ıt´ asa ugyan nem teljes rekurzi´ot, csup´an k´etszeres szuffixumlev´ alaszt´ ast takar, gyakorlatilag viszont m´ar ezzel is n´egyzetesen cs¨okkenthet˝o a szuffixumok sz´ ama, ´ıgy az er˝oforr´asok m´erete, vagyis v´egs˝o soron a program mem´ oriaig´enye. A magyar nyelvi er˝oforr´as affixum´allom´any´aban ´ıgy siker¨ ult a produkt´ıv k´epz˝ oket korl´ atoz´asok n´elk¨ ul le´ırni, mik¨ozben a k´epzett alakok elhagy´ as´ aval a t˝ osz´ ot´ ar m´erete is jelent˝osen cs¨okkent. Ennek a b˝ ov´ıt´esnek k¨ osz¨onhet˝o az is, hogy a prefixumok m´ar nem csak a t¨ ovekhez, hanem az affixumokhoz is k¨othet˝ok. Mivel az alkalmaz´asuk
felt´etelek´ent megk¨ ovetelhetnek egy affixumot, val´oj´aban circumfixumok implement´ al´ as´ at is lehet˝ ov´e teszik. P´eld´aul a magyarban circumfixumk´ent kezelend˝o a mell´ekn´evi fels˝ ofokot kifejez˝ o leg–bb toldal´ekegy¨ uttes: A leg- prefixum csak akkor kapcsol´ odhat a t˝ oh¨ oz, ha a -bb (megfelel˝o alakja) is kapcsol´odik (*legpiros, legpirosabb). Az ilyen circumfixumok kezel´ese eddig csak a szavak sz´ot´arban t¨ort´en˝o felsorol´ as´ aval volt lehets´eges. A rekurz´ıv affixumlev´ alaszt´as implement´al´as´aval term´eszetesen a nyelvspecifikus er˝ oforr´ asok form´ atum´ at is ki kellett b˝ov´ıteni.4 Az affixumdefin´ıci´oban k´et u ´j mez˝ o jelenik meg. A kimeneti morfol´ogiai inform´aci´o (az elemz˝o sz´am´ara, 6. mez˝ o), illetve a folytat´ asi inform´aci´o” (7. mez˝o), amely az affix´alt alakra ” alkalmazhat´ o tov´ abbi affixumszab´alyok kapcsol´oit tartalmazza. PREFIX SUFFIX SUFFIX SUFFIX
P R Q Q
0 0 0 0
leg ak bb bb
. . [PLUR][NOM] . [SUP] . [COMP]
PRN R
A p´eld´ aban a harmadik szab´alyban a P kapcsol´ok jelenl´ete enged´elyezi a leg- prefixumot. Mivel a leg- prefixumra csak a -bb toldal´ekaffixumot tartalmaz´o minta hivatkozik, az els˝ o sor szab´alya csak a harmadik sor alkalmaz´asa ut´an” ” adhat helyes alakot ´es ´ıgy az olyan alakok mint *legpiros ki vannak z´arva. A helyes´ır´ as-ellen˝ orz´eshez m´ ar ennyi is el´eg volna, hiszen a -bb szuffixum viszont allhat a leg- n´elk¨ ´ ul (pirosabb), csakhogy a morfol´ogiai elemz´es sz´am´ara ez nem allja meg a hely´et, hiszen a pirosabb sz´oalak k¨oz´epfok´ ´ u mell´ekn´evk´ent elemzend˝o. A -bb toldal´ekmorf val´ oj´ aban homonim, ´es csak a fels˝ofok jelent´esben folytat” hat´ o” a leg- prefixummal, s˝ot fels˝ofok jelent´esben k¨otelez˝o a leg- prefixum (e k¨ olcs¨ on¨ os f¨ ugg´es miatt nevezz¨ uk circumfixumnak). Azt, hogy egy sz´oalak csak tov´ abb toldal´ekolva jelenhet meg, szint´en egy kapcsol´o adja meg (a harmadik sorban l´ev˝ o N, ti. nem t˝ o”). Ut´obbival tetsz˝oleges olyan k¨ot¨ott t¨ovek is megad” hat´ ok a sz´ ot´ arban, amelyek a tov´abbtoldal´ekol´as szempontj´ab´ol hasznosak, de nem jelenhetnek meg szabadon (pl. lov, bokr ). A k¨ot¨ott t¨ovek kezel´es´et lehet˝ov´e tev˝ o speci´ alis kapcsol´ o szint´en a fejleszt´es sor´an bevezetett u ´j´ıt´as. ¨ 3.3. Osszetett szavak kezel´ ese A sz´ amos tov´ abbi b˝ ov´ıt´es ´es u ´j programparam´eter k¨oz¨ ul az ¨osszetett szavak kezel´es´et ´erdemes kiemelni. Az ¨osszetettsz´o-kezel´es f˝obb tulajdons´agai: – megadhat´ o, hogy mely szavak szerepelhetnek sz´o¨osszet´etelben, ak´ar csak az osszetett sz´ ¨ o els˝ o, vagy utols´o tagjak´ent, (a Hunspell eset´eben a legt¨obb k¨ ozn´ev ilyen, kiv´eve p´eld´aul a h´onap- ´es napneveket), – megadhat´ o a 6–3-as szab´aly (ker´ekp´ arjav´ıt´ assal, de ker´ekp´ ar-jav´ıt´ asi ), – megadhat´ o, hogy mely affixumok megl´ete eset´en szerepelhetnek, illetve nem szerepelhetnek sz´ o¨ osszet´etelekben a k´epz˝ovel ell´atott szavak (m´er˝ ol´ec, de *m´erend˝ ol´ec). 4
Ez a form´ atum kompatibilis a r´egi Myspell er˝ oforr´ asokkal is.
Tapasztalataink szerint a nyelvf¨ uggetlen ¨osszetettsz´o-kezel´es nem, vagy csak igen k¨ or¨ ulm´enyesen val´ os´ıthat´o meg: az ¨osszetett szavak helyes´ır´asa igen nehezen parametriz´ alhat´ o a nyelvi er˝ oforr´ason kereszt¨ ul. Ez´ert a forr´ask´odban elk¨ ul¨on´ıtve jelenik meg egy az ¨ osszetett szavak felismer´es´et seg´ıt˝o oszt´aly, lehet˝ov´e t´eve a modulnak a k¨ ul¨ onb¨ oz˝ o nyelvekhez illetve c´elokhoz adapt´alt v´altozatainak elk´esz´ıt´es´et.
4. Egy m´ odszer, egy adatb´ azis, sz´ amos algoritmus A helyes´ır´ as-ellen˝ orz´essel szemben a morfol´ogiai elemz´eshez vagy a t¨ovez´eshez nem elegend˝ o a sz´ oalakok elfogad´as´ar´ol d¨onteni, hanem a relev´ans morfoszintaktikai kateg´ ori´ ak jelenl´et´et felismerve a bemeneti sz´ohoz kimenetk´ent annot´aci´ot, t˝ oindexet vagy lemm´ at kell rendelni. Emiatt az elfogad´ashoz sz¨ uks´eges elemz´essel p´ arhuzamosan a MorphBase elemz˝o- ´es t¨ovez˝oalgoritmusa a megfelel˝o kimenetkezel˝ ovel is kieg´esz¨ ul. A morfol´ogiai elemz´esn´el minden szab´alyalkalmaz´as sor´an az affixumhoz rendelt annot´ aci´o (kateg´oriac´ımke) regisztr´al´asra ker¨ ul, ´ıgy sikeres elemz´es eset´en az algoritmus k´epes visszaadni a sz´o morfol´ogiai elemz´es´et. A Myspell algoritmusa, ak´ar a MorphBase helyes´ır´as-ellen˝orz˝o algoritmusa az els˝ o elfogadott elemz´es ut´an nem keres tov´abbiakat, hiszen az elfogad´ashoz ez nem sz¨ uks´eges. A t¨ ovez´eshez ´es a morfol´ogiai elemez´eshez azonban a t¨obb´ertelm˝ us´egek kezel´ese (nem a felold´asuk) alapvet˝o k¨ovetelm´eny, legyen az morf homonima (pl. ´ ar, f¨ urdik ) vagy struktur´alis elemz´esi t¨obb´ertelm˝ us´eg (´ertek ), ´ıgy ezek az algoritmusok az ¨ osszes alternat´ıv elemz´est meg tudj´ak keresni. A teljes elemz´es bevezet´ese egy helyen lehet korl´atozva: a szavak ¨osszetett sz´ok´ent val´o elemz´es´et eszerint csak abban az esetben adja vissza a program, ha nem akad egyszer˝ ubb elemz´es. P´eld´ aul a hal´ asz elemz´es´en´el nem kapjuk meg a szab´alyok szerint helyes hal+´ asz felbont´ast, mivel a sz´onak van m´as, nem ¨osszetett szavas elemz´ese is. Ez a m´ odszer j´ol defini´alt nyelvf¨ uggetlen sz˝ ur´est eredm´enyez, ´es tapasztalatunk szerint jelent˝osen cs¨okkenti a felesleges t¨obb´ertelm˝ us´egeket. Az olyan alakok, amelyeknek a homonim egyszer˝ u elemz´ese mellett sz¨ uks´eges az osszetett sz´ ¨ ok´ent val´ o elemz´ese is (pl. kar´ ora), a sz´ot´arba ker¨ ulnek, ´es ´ıgy nem esnek ´ aldozatul a korl´ atoz´ asnak. Az elemz´es az affixumlev´ag´asos m´odszerrel t¨ort´enik mindh´arom sz´oelemz˝o feladat eset´eben. A javaslattev´es ´es hibajav´ıt´as k´epess´eg´et˝ol elvonatkoztatva teh´ at az algoritmusok csak az al´abbi k´et dimenzi´o ment´en parametriz´alhat´ok: 1. elemz´ es teljess´ ege: (a) els˝ o elfogadott elemz´esig (helyes´ır´as-ellen˝orz´es, t¨ovez´es gyors´ıtott indexel´eshez) (b) korl´ atos t¨ obbsz¨ or¨ os elemz´es (c) teljes elemz´es (egyszer˝ ubb elemz´es eset´en is adhat ¨osszetett szavas elemz´est) 2. kimenetfeldolgoz´ as: (a) nincs (helyes´ır´ as-ellen˝orz´es) (b) csak a t˝ ot´ arban (t¨ ovez´es)
(c) mind a t¨ ovekhez, mind az affixum-szab´aly alkalmaz´ashoz (morfol´ogiai elemz´es) A feladatokhoz sz¨ uks´eges minden egy´eb konfigur´aci´o a nyelvi er˝oforr´asok szintj´en t¨ ort´enik. B´ ar ez a feladat egy´altal´an nem trivi´alis, a HunLex el˝ ofeldolgoz´ o seg´ıts´eg´evel egy k¨oz¨os adatb´azisb´ol automatikusan ´all´ıthat´ok el˝o a val´ osidej˝ u alkalmaz´ asok sz´am´ara k¨ ul¨onf´elek´eppen optimaliz´alt er˝oforr´asok.
¨ 5. Osszefoglal´ as Cikk¨ unk ´ altal´ anos tanuls´ aga – ahogy ezt a MorphBase (a Hunspell, Hunstem, ´es Hunmorph programok alapja) is bizony´ıtja –, hogy a h´arom legfontosabb sz´ oszint˝ u elemz´esi feladat, a helyes´ır´as-ellen˝orz´es, a t¨ovez´es, ´es a morfol´ ogiai elemz´es egys´eges m´ odszertannal kezelhet˝o. Ez programoz´astechnikailag nem evidens, hiszen ugyanahhoz a bemenethez a helyes´ır´as-ellen˝orz´es bin´aris (elfogad, elutas´ıt) d¨ ont´est, a t¨ovez˝o a t¨ovet, a morfol´ogiai elemz´es pedig egy osszetett, r´eszint paradigmatikus (inflexi´o), r´eszint szintagmatikus (deriv´aci´o) ¨ adat-strukt´ ur´ at rendel. Az, hogy ezt a h´arom probl´em´at m´egis egys´eges keretben ´erdemes kezelni, a tudom´anyos k¨ozfelfog´assal is u ¨tk¨ozik n´emileg, hiszen a helyes´ır´ as-ellen˝ orz´est k¨ onny˝ u (l´enyeg´eben list´az´assal megoldhat´o), m´ıg a morfol´ ogiai elemz´est neh´ez, bonyolult algoritmusokat ´es nyelv´eszeti szak´ertelmet ig´enyl˝ o probl´em´ anak szok´ as tekinteni. A HunTools ny´ılt forr´ ask´od´ u programk¨onyvt´arunk egyed¨ ul´all´o lehet˝os´eget teremt magyar nyelv˝ u sz¨ ovegek elemz´es´ere. A HunTools rendszer a GNU LGPL licenc alapj´ an szabadon felhaszn´alhat´o, m´odos´ıthat´o ´es nagyobb ipari rendszerekbe integr´ alhat´o, ak´ar ¨on´all´oan futtathat´o szoftvermoduljait, ak´ ar a MorphBase f¨ uggv´enyk¨onyvt´ar algoritmusait haszn´alva. A kompatibilis er˝ oforr´ as-form´ atumnak k¨osz¨onhet˝oen t¨obb, mint 40 nyelvhez haszn´alhat´o helyes´ır´ as-ellen˝ orz˝ ok´ent, valamint sz´ot¨ovez˝ok´ent (a morfol´ogiai kimeneti annot´ aci´ o hi´ any´ aban morfol´ ogiai elemz˝ok´ent nyilv´anval´oan nem). Eszk¨oz¨ unk alkalmaz´ as´ ara k¨ ul¨ on¨ osen az Ispell technol´ogia ´altal mostoh´abban kezelt agglutin´al´o nyelvek k¨ or´eben sz´ am´ıtunk. Felhaszn´al´asa mind kutat´oi, mind ipari k¨or¨okben elkezd˝ od¨ ott: a visszajelz´esek igazolj´ak ´es egyben tov´abb n¨ovelik ny´ılt forr´as´ u fejleszt´esi modell¨ unk siker´et.
K¨ osz¨ onetnyilv´ an´ıt´ as A Sz´ oszablya projekt az Informatikai ´es H´ırk¨ozl´esi Miniszt´erium ITEM p´ aly´ azat´ an nyert t´ amogat´ assal v´alt lehet˝ov´e. A program er˝oforr´asait jelent˝os ´ Rt. ´es az Axelero Internet biztos´ıtotta. Fejleszt´eseinkhez a r´eszben a MATAV Sz´ oszablya fejleszt˝ ok¨ on k´ıv¨ ul a Magyar Ispell ´es a Sz´oszablya levelez˝olist´ak olvas´ oinak ´eszrev´etelei is hozz´aj´arultak. Seg´ıts´eg¨ uket mindannyiuknak k¨osz¨onj¨ uk.
Hivatkoz´ asok 1. B D¨ om¨ olki. Algorithms for the recognition of properties of sequences of symbols. USSR Computational & Mathematical Physics, 5(1):101–130, 1967. Pergamon Press, Oxford. 2. Les Earnest. Machine recognition of cursive writing. Information Processing, 1963. Proc. IFIP Congress 1962, Munich. 3. P´eter Hal´ acsy, Andr´ as Kornai, L´ aszl´ o N´emeth, Andr´ as Rung, Istv´ an Szakad´ at, and Viktor Tr´ on. Sz´ ogyakoris´ ag ´es helyes´ır´ as-ellen˝ orz´es [word frequency and spellchecker accuracy]. In Proceedings of the 1st Hungarian Computational Linguistics Conference, pages 211–217. Szegedi Tudom´ anyegyetem, 2003. 4. P´eter Hal´ acsy, Andr´ as Kornai, L´ aszl´ o N´emeth, Andr´ as Rung, Istv´ an Szakad´ at, and Viktor Tr´ on. Creating open language resources for Hungarian. In Proceedings of Language Resources and Evaluation Conference (LREC04). European Language Resources Association, 2004. 5. N´emeth L´ aszl´ o. Magyar Ispell – V´ alasz a Helyes-e?-re. In IV. GNU/Linux szakmai konferencia, pages 99–107. Linux-felhaszn´ al´ ok Magyarorsz´ agi Egyes¨ ulete, 2002. 6. N´emeth L´ aszl´ o. A Sz´ oszablya fejleszt´es. In V. GNU/Linux szakmai konferencia. Linux-felhaszn´ al´ ok Magyarorsz´ agi Egyes¨ ulete, 2003. 7. James Lyle Peterson. Computer programs for spelling correction: an experiment in program design, volume 96 of Lecture Notes in Computer Science. Springer, 1980. 8. G´ abor Pr´ osz´eky and L´ aszl´ o Tihanyi. Humor – a morphological system for corpus analysis. In Proceedings of the first TELRI seminar in Tihany, pages 149–158, Budapest, 1996. 9. Tr´ on Viktor. Hunlex - morfol´ ogiai sz´ ot´ arkezel˝ o rendszer. In II Magyar Sz´ am´ıt´ og´epes Nyelv´eszeti Konferencia, 2004.