Különírás-egybeírás automatikusan Ludányi Zsófia ludanyi.zsofia@nytud.mta.hu Magyar Tudományos Akadémia, Nyelvtudományi Intézet Nyelvtechnológiai Osztály VII. Alkalmazott Nyelvészeti Doktoranduszkonferencia 2013. február 1.
Áttekintés Bevezetés A külön-egybeírásról általában Más online helyesírási tanácsadók A helyesiras.hu újszerűsége Felépítése Előfeldolgozás Elemzés Nyelvtan Szabályok (példákkal) Kimenet Összefoglalás
Bevezetés Helyesírás.hu automatikus nyelvi tanácsadó portál Nyelvtechnológiai eszközökkel támogatott 7 különböző terület: Számnevek helyesírása Keltezés Betűrendbe sorolás Tulajdonnevek helyesírása Elválasztás Helyesírás-ajánló Különírás-egybeírás 3
4
Különírás-egybeírás Önmagában bonyolult területe a magyar helyesírásnak Szabályok alkalmazásának feltétele: meg kell tudni különböztetni a szószerkezeteket és a szóösszetételeket köztük nem éles a határ Emiatt gyakoriak az ingadozások, többféleképpen megítélhető esetek 5
Egyéb online helyesírási tanácsadók I. Jelenlegi internetes helyesírási tanácsadók egyszerű szójegyzéken alapulnak Probléma: csak akkor adnak eredményt, ha a lekérdezni kívánt szó eleve helyesen van írva, ill. megtalálható a mögöttes szótárban 6
Egyéb online helyesírási tanácsadók II. Jobb esetben a helytelen írt szóra is ad eredményt, de szükséges feltétel továbbra is, hogy benne legyen a szótárban Pl. www.magyarhelyesiras.hu: bemenet: lőtt vadkereskedés kimenet: lőttvad-kereskedés, AkH. 139. (AkH. típuspéldája) DE: bemenet: homokos útkaparó kimenet: nincs találat (homokosút-kaparó ~ homokos útkaparó mindkét megoldás jó) 7
A helyesiras.hu újszerűsége Három alappillér: robusztus, többrétegű, annotált szótár formális nyelvtan felhasználói interaktivitás 8
Mit képes kezelni? Nem az összes terület (csak algoritmizálhatóak): jelölt és jelöletlen alárendelői összetételek/szintagmák 6:3-as szabály mozgószabályok rövidítéseket és mozaikszókat tartalmazó összetételek színnévi összetételek, anyagnévi összetételek stb. csak részben: jelentéssűrítő, illetve a szervetlen szóösszetételek
Be- és kimenet Bemenet: akár helytelenül írt (összetett) szó vagy szavak lehet hibás egybe-, külön vagy kötőjellel írás egyéb helyesírási hibák is Kimenet: a szabályok, illetve a rendelkezésre álló eszközök által biztosan megállapíthatóan helyesen (külön-, egybe-, illetve kis- vagy nagykötőjellel) írt alakok magyarázatok hivatkozások az AkH., OH. megfelelő pontjaira. 10
Felépítés 11
Előfeldolgozás Karakterhossz ellenőrzése Esetleges ismétlődő karakterek kiszűrése Felesleges kötőjelek szóközre cserélése után szegmentálás: tokenizálás + spec. Humor lexikonnal darabolás szükség esetén visszakérdezés v. továbbirányítás (Ajánló, Névkereső) Ellenőrzés, szerepel-e a kivételszótárban: jelenleg kb. 2100 elemből áll 12
Elemzés 13
A nyelvtan I. Rekurzív helyesírási szabályrendszer generatív rendszer Különböző elemzések (levezetések) különböző írásmódok Az elemzési fák bejárásából generálhatók a magyarázó szövegek 14
A nyelvtan II. Környezetfüggetlen, jegystruktúrás kidejezésnyelvtan Szófaj, morfológiai jegyek, szótagok/összetételi tagok száma Lexikális jegyek: színnevek, foglalkozások, rangok, keresztnevek, népek és nyelvek nevei, rövidítések,... Fejről öröklődés; konkurens elemzések letiltása Értékadások: írásmód kiszámítása (egybe, külön, kötőjellel stb.) Saját bottom-up parser 15
Példa egy szabályra id: M_EK_ANYAGNEV_1_1_1 rule: N(sem="Material1", ncomparts=1) + N(match="FN,NOM", ncomparts=1) == N(sep='', ncompartsx="2+") comment: "Az anyagnévi jelzőt, ha egyszerű szó, egybeírjuk a nem összetett főnevekkel." refs: AKH-115, OH-117 ex: bőr + kabát = bőrkabát, selyem + ing = selyeming kill: M_EK_JELOLETLEN_BIRTOKOS 16
A parser bemenete Input: bőr + kabát 0. N(wordform="bőr", stem="bőr", match="fn,nom", sem=['material1'], ncomparts="1", nsylls="1", hasnesep="0") 1. N(wordform="kabát", stem="kabát", match="fn,nom", sem=[], ncomparts="1", nsylls="2", hasnesep="0") 17
Példa generált elemzési fára N(sep=[''], ncompartsx="2+") : M_EK_ANYAGNEV_1_1_1 N(wordform="bőr", stem="bőr", match="fn,nom", sem=['material1'], ncomparts="1", ncompartsx="1+", nsylls="1") : 0. N(wordform="kabát", stem="kabát", match="fn,nom", sem=[], ncomparts="1", ncompartsx="1+", nsylls="2") : 1. 18
A kimenet Input: bőr + kabát Ehhez a javasolt alakhoz 1 lehetséges magyarázat tartozik. I.1. magyarázat: A "bőr" főnevet és a "kabát" főnevet egybeírjuk az alábbi szabály alapján: "Az anyagnévi jelzőt, ha egyszerű szó, egybeírjuk a nem összetett főnevekkel." (AKH-115, OH-117) 19
Példa generált elemzési fára 1. megoldás Bemenet: homokos + út + kaparó N(sep=[''], ncomparts="3", nsylls="7", hasnesep="1") : M_EK_JELOLETLEN_TARGYAS_1_2 N(sep=[' '], ncomparts="2", nsylls="4", type="qualificative", hasnesep="1") : M_EK_MINOSEG_1_1_1 A(wordform="homokos", stem="homokos", match="fn,_skep,nom", sem=[], ncomparts="1", nsylls="3", hasnesep="0") A(wordform="homokos", stem="homokos", match="fn,_skep,nom", sem=[], ncomparts="1", nsylls="3", hasnesep="0") A(wordform="homokos", stem="homokos", match="mn,nom", sem=[], ncomparts="1", nsylls="3", hasnesep="0") : 0. N(wordform="út", stem="út", match="fn,nom", sem=[], ncomparts="1", nsylls="1", hasnesep="0") : 1. A(wordform="kaparó", stem="kaparó", match="ige,_okep,nom", sem=[], ncomparts="1", nsylls="3", hasnesep="0") : 2. 20
Példa generált elemzési fára 2. megoldás N(sep=['@-'], ncomparts="3", nsylls="7", hasnesep="1") : M_EK_MOZGO_2_1 N(sep=[' '], ncomparts="2", nsylls="4", type="qualificative", hasnesep="1") : M_EK_MINOSEG_1_1_1 A(wordform="homokos", stem="homokos", match="fn,_skep,nom", sem=[], ncomparts="1", nsylls="3", hasnesep="0") A(wordform="homokos", stem="homokos", match="fn,_skep,nom", sem=[], ncomparts="1", nsylls="3", hasnesep="0") A(wordform="homokos", stem="homokos", match="mn,nom", sem=[], ncomparts="1", nsylls="3", hasnesep="0") : 0. N(wordform="út", stem="út", match="fn,nom", sem=[], ncomparts="1", nsylls="1", hasnesep="0") : 1. N(wordform="kaparó", stem="kaparó", match="fn,nom", sem=[], ncomparts="1", nsylls="3", hasnesep="0") : 2. 21
A kimenet 1. megoldás: homokos útkaparó I.2. magyarázat: 1. Az "út" főnevet és a "kaparó" melléknevet egybeírjuk az alábbi szabály alapján: A jelöletlen tárgyas alárendelői összetételt mindig egybeírjuk. (AKH-123, OH-204) 2. A "homokos" melléknevet és az "útkaparó" főnevet különírjuk az alábbi szabály alapján: A minőségjelzős kapcsolatok tagjait általában különírjuk egymástól, különösen olyankor, ha a kapcsolatnak valamelyik vagy mindkét tagja összetett szó. (AKH-117-a, OH-107) 22
2. megoldás: homokosút-kaparó II.1. magyarázat: A kimenet 1. A "homokos" melléknevet és az "út" főnevet különírjuk az alábbi szabály alapján: A minőségjelzős kapcsolatok tagjait általában különírjuk egymástól, különösen olyankor, ha a kapcsolatnak valamelyik vagy mindkét tagja összetett szó. (AKH-117-a, OH-107) 2. A "homokos út" főnévi szerkezetet és a "kaparó" főnevet kötőjellel írjuk és az első szerkezet egybeírjuk (összerántjuk) az alábbi szabály alapján: Ha egy különírt szókapcsolat olyan utótagot kap, amely az egészhez járul, az egyébként különírandó előrészt az új alakulatban egybeírjuk, és ehhez az utótagot (a szótagszámtól függetlenül) kötőjellel kapcsoljuk. (AKH- 23 139-b, OH-131-132)
Összefoglalás Moduláris, nyelvi technológiával támogatott automatikus helyesírás-ellenőrző rendszer Elemzők és lexikai adatbázisok szükségszerű használata További cél: felhasználói elégedettség kritikus állandó, célzott fejlesztés igénye 24
Irodalom Laczkó Krisztina Mártonfi Attila 2005. Helyesírás. Osiris Kiadó, Budapest. Miháltz Márton Hussami Péter Ludányi Zsófia Mittelholcz Iván Nagy Ágoston Oravecz Csaba Pintér Tibor Takács Dávid 2012. Helyesírás.hu Nyelvtechnológiai megoldások automatikus helyesírási tanácsadó rendszerben. In: Tanács Attila Vincze Veronika (szerk.) MSZNY2013. Magyar Számítógépes Nyelvészeti Konferencia, Szeged: JATEPress, 135 147. Pintér Tibor Oravecz Csaba Mártonfi Attila 2009. Online helyesírási szótár és me gvalósítási nehézségei. In: Tanács Attila Szauter Dóra Vincze Veronika (szerk.) MSZNY 2009. Magyar Számítógépes Nyelvészeti Konferencia, Szeged: JATEPress, 172 182. 25
Köszönöm a figyelmet! 26