A sz ó g y a k o r isá g é s h e ly e sír á s -e lle n ő r z é s
Halácsy P é te r1, K om ái A ndrás2, N ém eth László1, R ung A ndrás3, Szakadát Istv án1 és Túrón V iktor4
1 B u d a p esti M űszaki és G az d asá g tu d o m á n y i E gyetem , M édia O k ta tá s i és K u ta tó .K ö zp o n t
{ h a la c s y , s z a k a d a t , ru n g } Smokk.bm e. hu 2 M e ta C a rta Inc.
a n d r a s S k o m a i. com
3 B u d a p e sti M űszaki és G azd aság tu d o m án y i E gyetem , K o g n itív T u d o m án y i K özp o n t ru n g S itm .b m e .h u
4 In tern atio n al G ra d u a te College o f L anguage Technology a n d C ognitive S y stem s S aarlan d U niversity - U niv ersity o f E d in b u rg h
V. tr o n O e d .a c . u k
K u lc s s z a v a k m agyar w ebkorpusz, gyakorisági sz ó tár, helyesírás-ellenőrzés, lexikográfia
A b s z t r a k t A Szószablya p ro je k t m á rc iu sá b a n in d u lt az In fo rm a tik ai és Hírközlési M inisztérium tá m o g atásá v al, a B u d a p e sti M űszáki és G az
d aságtudom ányi E gyetem en m űködő M édia O k ta tá s i és K u ta tó K özp o n t vezetésével. A p ro je k t egyik kiem elt célja, hogy a m a g y ar w eboldalák szö
v e g ta rta lm a a la p já n egyedülálló teljességű m ag y ar szógyakorisági szótá
r a t, illetve ehhez kapcsolódó n y ito tt fo rráskódú alkalm azásokat készítsen.
A cikkben röviden b e m u ta tju k a gyakorisági sz ó tá r készítésének m ene
t é t (§1), valam int a b e é p íte tt s z ó tá ra t h asználó alkalm azások, m in t a helyesírás-ellenőrző szóanyagának h aték o n y bőv ítésére k idolgozott gya
korisági inform áción alapuló technológiát. A cikkben m e g m u ta tju k , hogy a helyesírás-ellenőrzők p o n to sság át elsősorban a tő tá r u k m é re te h a tá ro zza m eg (§2), azonban a tő tá r bővítése a Z ip f törvény m ia tt egyre kisebb pontosságnövekedéssel já r (§3).
1. A m agyar w eb és feld olgozása és a Szószablya gyakorisági szótár
A letölthető m agyar web durva becslés alap já n 20-25 millió oldalból áll, am ely
nek jelentős része szövegtartalom nélküli, idegen nyelvű, vagy duplikált oldal;
egyes oldalak folyam atosan változnak, így a letöltését egy szűkebb időinterval
lu m ra kell korlátoznunk. A SzóSzablya első korpusza 2,4 millió w eboldalt ta r
talm azó la rO 2002 decem berében készült el, m íg a m ásodik, jóval teljesebb, 18 millió oldalt tartalm azó gulO 2003 őszét tükrözi. A letö ltö tt nyers korpuszok szű
rését és feldolgozását it t csak röviden ism ertetjük (részletesen ld N ém eth 2003).
A lapform átum ok, a szövegtartalm ak és a karakterkódolás norm alizálását a Szó- szablya keretében kifejlesztett H unnorm alkalm azás segítségével végeztük el. Ez
u tá n a szövegtartalom alap já n tö rté n ő duplikátum szűrésre került sor, am elyet a m agyar ékezetes karaktereket nem ta rta lm a z ó szövegek kizárása követett. A szógyakorisági szótár elkészítéséhez a korpusz szövegeit tokenizáltuk a H untoken program segítségével. 5
A gyakorisági szám ítások jelentős to rzu lá sá t okozhatja, hogy az azonos szol
gáltatóhoz tarto z ó w eboldalak egységes autom atikus generált címszavai a tény
leges gyakoriságuknál jóval nagyobb szám ban jelennek meg a gyűjtésben. E m ia tt az oldalakat csak az első m ondatzáró p o n t u tá n tó l v ettü k figyelembe, és az így k a p o tt halm azon ú jabb tarta lo m ala p ú duplikátum szűrást végeztünk. A szűrések u tá n a korpuszok az oldalak szám át tekintve ren d re 46, illetve 75%-kal csökken
tek.
Az így k ap o tt szöveganyag a nyers eredetihez képes jelentősen ja v u lt m inősé
gileg, a m agyar webköznyelvhez jo b b an közelítő gyakorisági adatok kinyeréséhez azonban egy további kritérium ot alkalm aztunk: a Hunspell helyesírás-ellenőrző álta l e lu ta síto tt szavak arányát. H a ugyanis feltételezzük, hogy egy szöveg her lyesírása egységes, akkor a helyesírás-ellenőrző által helyesebbnek ítélt oldalakból n y ert szóalakok is nagyobb valószínűséggel lesznek helyes szavak, vagyis a szóa
nyag m inőségi előszűrése elvégezhető a helyesírásellenőrző lefedettségétől függet
lenül. A Szeged Korpusz állom ányain elvégzett előzetes helyességvizsgálat alap
já n a tis z títo tt gyakorisági szótárunk szá m á ra a 4% százalékos felső HunspeU- hibaküszöböt ta rto ttu k megfelelőnek. Ez a k ritérium a szűrt weboldalak további 60% -át szű rte ki.
Az így nyert anyag, a webO 433238 w eboldalból áll, N = 113385165 szöveg
szót (token) és V(N) = 4527456 szóalakot (típus) tartalm az. Becslésünk szerint a webO típusainak 80%-a helyes m agyar szóalak, am i lényeges javulás a teljes webkorpuszhoz képest, am elynek szótípusain ez az arány 50% a la tt van. Még szem betűnőbb a hibás szövegszavak előfordulásának csökkenése: ez becslésünk szerint 15%-ról 2,5% -ra csökkent. A teljesen autom atikus módszerekkel nyert webO alap já n elkészített első Szószablya szógyakorisági szótár elérhető a pro jek t honlapján.
A gyakorisági szótárak jelentősége felbecsülhetetlen m ind a nyelvtechnoló
giában m ind nyelvészeti k u tatáso k b an , felhasználási területei számosak a fordí
tástám o g atástó l a pszicholingvisztikai kísérletekig. Az alábbiakban egy speciális terü le tre koncentrálunk: azt elemezzük, hogy a gyakorisági információ milyen m ódon segítheti a a nyelvtechnológiai alkalm azások b eép ített szótárának h a té kony bővítését, vagyis az alkalm azás lefedettségének a növekedését. A technoló
g iá t a helyesírás-ellenőrző alkalm azáson szem léltetjük.
5 E lsősorban tu la jd o n n e v ek és a rövid ítések későbbi h atékonyabb feldolgozása érdeké
ben a szövegek m o n d a tra b o n tá sá t is elvégeztük.
2. H elyesírásellenőrzés és p on tosság
A helyesírás-ellenőrzés alapvető célja, hogy segítségével a szövegben ta lá lh a tó hi
b á k szám át csökkentsük. Egy helyesírás-ellenőrző pro g ram tényleges h ib á já t az h a tá ro z z a meg, hogy (i) a szövegben lévő helyes szavak közül h ányat u ta s ít el, és (ii) a helytelen szavak közül hányat fogad el. H a te h á t egy szöveg ellenőrzésekor m inden 1 0 0 szó közül az ellenőrző csak egyszer hibázik (akár (i), akár (ii) típ u sú h ib á t vét), akkor az t m ondjuk, hogy az ellenőrző h ib á ja h =1%, pontossága 1—h=
99%. M éréseinket tokenekre, nem pedig típ u so k ra alapozzuk. E nnek a m ódszer
ta n i döntésnek a h átteréb en az a megfigyelés áll, hogy a gyakori alakokon v ett pontosság sokkal fontosabb a ritka, egzotikus szóalakok h ib átlan kezelésénél. A hibaszázalék (h) m eghatározásakor te h á t akkor n yerünk a felhasználó gyakorlati tap asztalaiv al egybevágó eredm ényt, h a az egyes szóalakokat gyakorisági súlyuk
n a k megfelelően vesszük szám ításba6
A helyesírásellenőrző m űködését a továbbiakban au tom atikus jav ítási m ód
b a n képzelhetjük el, vagyis amikor az ism eretlen szavakra szerkesztési távolság és gyakoriság alap já n tesz helyettesítést. A zokra az alakokra, am elyekre nincs m egbízható cserejavaslat, elfogadásra kerülnek. A pontosságot így háro m té nyező befolyásolja döntően: a helyesírás-ellenőrző lefedettsége l, belső h ib á ja b, és a m aradványhiba m . A lefedettség egyszerűen azon tokenek arán y a a szöveg
ben, am elyekre nézve a helyesírás-ellenőrző képes jav asla to t tu d ten n i (m aga a szóalak vagy egy ahhoz közeli karakterfüzér szerepel a szótárában). A belső hiba m ágából a javaslattevésből adódó hiba, a m arad v án y h ib a pedig a javaslattevés
bő l k im ara d t és így elfogadott szavak között szereplő helytelen alakok aránya. Az összevont h h ib a te h á t a belső hiba és a m arad v án y h ib a lefedettséggel súlyozott átlaga:
h = lb + ( 1 — l)m (1)
A lefedettséghez csak a javaslattevések és az elfogadott szavak szám át kell tu d n u n k , l m érése te h á t triviális, m m érése azonban jóval összetettebb feladat, am ely nem autom atizálható. Az egyszerűség kedvéért feltesszük, hogy m felül
rő l becsülhető az egész szövegben levő h ibától, vagyis m í-lel nem növekszik.7
A kkor érdem es egyáltalán helyesírásellenőrzőt használni, am ikor az ak tív ellen
őrzés belső p o n tatlan ság a kisebb, m int a szöveg h ib á ja (b < m ) , ekkor azonban h optim alizálása l növelésével, vagyis a tő tá r növelésével érhető el. Eelvethető a kérdés: m i a leghatékonyabb módszere korpuszok alap já n tö rtén ő szótárbőví
tésn ek, 8 vagyis milyen módszerrel g aran tálh ató , hogy a legkisebb befektetéssel a hibaszázalék legnagyobb növekedését érjük el?
6 A to k e n szin tű hibaszám ítás a k o ntextuális in form ációkat is felhasználó helyesírás
ellenőrző esetén m ég fontosabb, így ez az eljárás lehetővé te szi az eredm ények össze
vetését.
7 T u d ju k , hogy a szövegre jellem ző h ib a érték n a g y b a n függ a szöveg típ u sátó l: ekezette- len írásmódban akár a 30-40%-ot is elérheti, átlag o s szövegben 5-6% körüli, gondozott szövegben tip ik u sa n 0.1% a la tt m arad .
8 A helyesírás-ellenőrző szótárbővítése te rm ész ete sen részb en kivételezhető ú j tövek
b e n g azdag anyagok (szótárak, hely ség n év tárák , cégjegyzékek, stb .) átvételével is, d e a kézi átn ézésre m ég szótáraknál is szükség v a n a sa jtó h ib á k m ia tt-
3. Szógyakoriság és a lefed ettség n övelése
A naiv helyesírás-ellenőrző rendszerek a la p já t a helyes alakok gyakoriság szerint rendezett rö g zített listá ja adja. A m agyarban l > 0.5 eléréséhez m á r az első néhány ezer alak figyelembevétele is elégséges: h a ezeket kézzel átnézzük akkor b » 0 g aran tálh ató,9 így (1) alap já n h < m / 2 m inden nehézség nélkül elérhető.
Az alábbiakban a kvantitatív állításokat a M agyar W ebkorpusz két v áltozatán is illusztráljuk, az adatokat webO gyűjtés m ellett összehasonlításképpen a N = 670076633 szövegszót és V ( N ) = 15057395 típ u st ta rta lm a z ó szüretien l a r l gyűjtésre is megadjuk.
Az 50%-os lefedettség garantálásához a 2913 ( l a r l ) , illetve 6486 (webO) szó
alak listá b a vétele szükséges. M ég l > 0.666 (teh á t h < m /3 ) is csupán 15 ezer ( l a r l ) , illetve 24 ezer alak (webO) kézi átnézését igényli. A n aiv m ódszer korlát
j á t az adja, hogy az alacsony tokengyakoriságú szavakból típ u s szerint nagyon sok van. Legyen a m intában pontosan a fc-szor előforduló típ u so k szám a V( k , N), te h á t N = k V (к, N) és V (N ) = Σ /íLi VfA, Ю - Á ltalános ta p a s z ta la t (ld.
pl. B aayen 1996), hogy h a IV > 10®, akkor V ( N ) dom ináns ta g ja V ( 1 , N ) , a típusok több m int fele olyan, hogy az egész szövegben csak egyszer fordul előj vagyis ún. h apax legomenon. A l a r l korpuszban V(1,AT) = 8133805, a webO- ban V ( l , N) = 2567665, vagyis a szóalakoknak ren d re 54.0, illetve 56.7 százaléka hapax, b á r gyakorisággal súlyozott arányuk csak rendre 1.21%, illetve 2.26%. A hapaxok kézi átnézése ezért lehetetlen, vagyis a lefedettség ezzel a m ódszerrel nem vihető 98% fölé, vagyis a h alsó k o rlátja m / 50. G yakorlatilag m ég a két
szer és három szor előforduló szavak is komoly akadályt jelentenek: példáinkban ezek együttes gyakorisága mindössze 7.2% ( l a r l ) , illetve 4.2% (webO), a lista bővítéséhez azonban így is alakok milliőit (8.1, illetve 4.7 m illió) kellene kézzel átnézni! G yakorlatban te h á t a naiv m ódszer alsó h ib a h a tá ra inkább h » m /20;
ez egybevág a gyakorlati tap asz talattal, m iszerint az átlagos (5-6% hibaarányú) nyers szövegből a naiv elven m űködő helyesírás-ellenőrzők lényegesen jo b b (0.3%
hibájú), azonban a gondozott szöveg minőségi követelm ényeit (0.1% a la tti hiba) el nem érő ja v íto tt változatot állítanak elő.
A tisztán izoláló nyelveknél, m int pl. a vietnam i, a naiv m ódszer teljesen kielégítő, hiszen ezekben a nyelvekben a helyesírás ism erete n em jelen t tö b b et, m int az egyes szavak helyes ism erete10 A kom plexebb m orfológiájü nyelveknél, m int amilyen a m agyar, a helyes szóalakok ism erete nem m erül ki a szótövek és a ragok ism eretében, hiszen ezek konkatenációja csak a m orfológia szabályainak figyelembevételével eredményez helyes szóalakot. A helyesírás-elem zőbe te h á t be kell építeni nem csak a töveket és a ragokat, hanem a m orfológiát is. 1 1 A h ib a az ilyen rendszer esetén is a lefedettség lineáris függvénye, u tó b b i viszont három kom ponensre bontható: a tő , a ragok, és a hasonulási szabályok lefedettsége.
9 Szigorú értelemben b nem nulla, hiszen egy biztosan jó szótípus adott környezetben való előfordulása lehet, hogy hibásan kerül elfogadásra. Az ilyen hibákat elhanyagol
hatónak tekintjük
10 A megfontolás lényegében változtatás nélkül átvihető az olyan nyelvekre is, mint az angol, ahol az azonos tőhöz tartozó alakok száma kicsi.
1 1 Ezt látjuk a legtöbb magyar helyesírás-ellenőrzőnél, pl. Hunspell, Helyes-e, Lektor.
A nem -rekurzív, te h á t tételesen felsorolandó kombinációk szám a nem tú l nagy (pl. Veenker (1968) 3020 ragkom binációt vesz lajstrom ba, a Hunspell jelenleg 4936 főnévi, 4041 m elléknévi, és 59 igei alakkal dolgozik) . 1 2 M iután ezek kézzel könnyen ellenőrizhetők, feltehető, hogy a rendszer lefedettsége ebben a ragkom binációk tek in tetéb en 1 0 0%. É re tte b b rendszer esetén még a morfofonológia sza
b ályainak teljes ism erete is elvárható, így a belső hib a legfontosabb fo rrá sa az leh et, hogy a tő tá rb a n egyes elemek hibás morfológiai információval szerepelnek.
A m orfológiai elem zést használó helyesírás-ellenőrzőknél a tő tá r bővítése nem egyszerűen az új tövek felvételét jelenti, hanem előfeltételezi a tövek morfológiai osztályozását is, így a fentiekkel ellentétben 5 = 0 nem garantálható. A h ib a csökkentésének alapvető m ódszere i t t is a m ohó algoritm us: először bevesszük a leggyakoribb alakokat akár elem zetlenül is, különösen h a elemzésük túlságosan kom plikálná a m orfonológiai szabályrendszert (hiszen ennek h ib á já t 0-n akarjuk ta rta n i) , és csak akkor lépünk tovább a T + 1-edik tőhöz, h a az első T tő m ár m inden gyakoribb alakot lefed. Ezzel az eljárással olyan alakokat is lefedünk, am elyek önm agukban nem kerülnének be (vagy m ert hapaxok, vagy ak ár elő sem fordulnak az a d o tt m in táb an ), de m int gyakoribb tövek ritkább ragokkal való kombinációi m ost mégis elérhetővé válnak. Ilyen pl. a decembereinknek alak, am ely kétségkívül jólform ált m agyar szó, m ég a 670m szövegszavas m intánkban sem fordul elő (és a naiv alak-gyakorisági megfontolások alapján soha nem is kerülne be a listáb a), így viszont a december gyakoribb tőszármazékai, valam int a p ro d u k tív toldalékolási m in ták jóvoltából elfogadásra kerül.
Az általu n k haszn ált szótárbővítési eljárás te h á t három lépésre bom lik: elő
ször gyakoriság szerint sorba rendezzük a szóalakokat, m ásodszor vesszük a még hiányzó leggyakoribb alak tövét. E z t au tom atikusan állítjuk elő, a p ro je k t ke
re té b e n kifejlesztett H unstem tövezővel, am ely Hunspell-lel azonos morfológiai szabályrendszerrel dolgozik. Végül m egállapítjuk a tő helyes besorolását. A m ohó algoritm us egyre kisebbeket tu d csak kivenni a m aradékból, és a csökkenés m ér
ték e is jól m egbecsülhető. A szóalakok gyakoriságát első közelítésben Zipf törvé
nye a d ja meg: az r-edik alak valószínűsége l / r B-vel arányos: 13
Pr ~ l / r B (2)
M iu tán az alakok valószínűsége a tő valószínűségének konstansszorosa (K ornai 1992) az összefüggés a tövekre is érvényes. E nnek alapján te h á t a m in tá b an pon
to sa n fc-szor előforduló tövek arán y ára a következő adódik (a levezetés részleteit ld. K ornai 1999):
V ( k, N ) / V ( N ) = 1 / к 1+1*в (3) É p p en a helyesírási h ib ák m ia tt, ez m ég további korrekciót igényel, de к = 1-re áll, hogy V ( 1 , N ) / V ( N ) > 0.5. A m agasabb tagok igen jól illeszkednek a Zipf törvény álta l jósolt (3) értékekhez: az alábbi tá b lá z a t к < 10-re m u ta tja V ( k , N ) m é rt, illetve a V ( N ) / 2 k 1-8 formulával becsült értékeit, valam int a becslés relatív po n to sság át a l a r l és a webO korpuszokra:
12 B á r a rag o k és rag-kom binációk sz ám a elvileg végtelen, a rekurzív esetek (túlzófok leg e sle g esleg es...,b irtokos éé ée ...) viszonylag egyszerű szabályokkal kezelhetők.
13 A £ Z ipf k o n sta n s a m a g y arb an 5 /4 körül v a n (ld. F ü red i e t al 2003).
к
l a r l webO
V{k, N) V ( N ) / 2 k 1 6 b /m V ( k, N ) V ( N ) / 2 k l s b /m
1 8133805 7528697 0.925606 2567665 .2263728 0.881629
2 2393113 2162050 0.903447 632426 650085 1.02792 3 1006086 1042081 1.03578 280327 313333 1.11774 4 628829 620886 0.987369 167517 186688 1.11444 5 385044 415503 1.0791 112747 124933 1.10809
6 297081 299259 1.00733 82215 89981.2 1.09446 7 211134 226748 1.07395 63211 68178.6 1.07859
8 175753 178303 1.01451 50017 53612 1.07188
9 137100 144239 1.05207 41053 43369.8 1.05644
1 0 115697 119322 1.03133 34623 35877.7 1.03624
ténye szerint, h a lista bővítését a rangsor r-d ik tagjánálί abbahagyjuk, a lefedetlen rész aránya, 1 — 1 = 1 /г® . Ebből, az összeget integrállal helyet
tesítve, azt kapjuk, hogy a lefedetlen rész r függvényében csak m in t r l ~B (teh á t В = 5 /4 m ellett a negyedik gyök reciprokával) csökken. A gyakorlatban ez annyit jelen t, hogy míg a 1 0 0 ezer leggyakoribb tő felvétele 5.6% lefedetlenséget hagy, 1 millió tőnél ez 3.2%, 10 millió tőnél 1.8%, és 100 millió tőnél (ennyit korpu-.·
szunk nem is tartalm az) 1%, és általáb a n a lefedetlenség egy nagyságrendnyi csökkenéséhez a kezdeti korpuszt négy nagyságrenddel kell növelni.
4. K onklúzió
A fentiekben m egm utattuk, hogy a helyesírás-ellenőrzők p o ntosságát elsősor
b a n lefedettségük (tehát a tő tá r m érete) határozza m eg. A tokenek és típusok összefüggésének jólism ert törvényeire tám aszkodva levezettük a bővítés várható h a tá s á t a lefedettségre, am it a méréseink alá is tám asz to ttak . Az em beri erő
források m inim alizálása m ia tt te h á t a lefedettség növelését egy h a tá ro n tú l a feldolgozandó szövegek heurisztikákkal operáló előszelekciójával (a m ondatközi nagy kezdőbetűs szavak nagy valószínűséggel tulajdonnevek, am elyeket fel kell venni, a csupa számjegyből áUó szövegszavak viszont telefonszám ok vagy d á tu m ok, am iket viszont autom atikusan el lehet hagyni) érdem es csak megkísérelni.
H ivatkozások
1. Baayen, R. H. 1996: The effect of lexical specialisation on the growth curve of the vocabulary. Computational Linguistics2 2, 455-480.
2. Füredi M., Komái A., Prószéky G. 2003: A SZÓTÁR adatbázis. Kézirat.
3. Komái A. 1992: Frequency in morphology. In: I. Kenesei (ed): Approaches to Hun
garian IV 246-268.
4. Komái A. 1999: Zipf’s law outside the middle range. Proc. Sixth Meeting on Mat
hematics of Language, University of Central Florida, 347-356.
5. Németh L. 2003: A szószablya fejlesztés. Az V. Linux konferencián elhangzott elő
adás cikk változata. URL http://konf2003.linux.hu/.
6. Veenker, W. 1968: Verzeichnis der Ungarische Suffixe und Suffixkombinationen. Mit
teilungen der Societas Uralo-Altaica 3, Hamburg.