Avoimen lähdekoodin kaksitasokielioppikääntäjä Miikka Silfverberg miikka piste silfverberg at helsinki piste fi Kieliteknologia Helsingin yliopisto Avoimen lähdekoodin kaksitasokielioppikääntäjä p.1/23
Sisältö 1. Johdanto 2. Automaattinen morfologinen analyysi 3. Kaksitasokielioppikääntäjä 4. Leikkaava kompositio 5. Kaksitasokääntäjän evaluointia 6. Avoimuus ja aiemmat avoimet vaihtoehdot 7. Pohdintaa 8. Lähteet Avoimen lähdekoodin kaksitasokielioppikääntäjä p.2/23
2. Automaattinen morfologinen analyysi Tehdään kielelle morfologinen jäsennin, joka kuvaa relaation kielen leksikaalisen ja fonologisen tason välillä. Osatehtävät [Karttunen91] 1. Sananmuodostus PALLO+N+PL+PART palloia 2. Morfologisten vaihteluiden kuvaaminen palloia palloja Automaattisen analysin haasteita: Kieliopin muokattavuus, käännettävyys, testattavuus ja suorituskyky. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.3/23
2. Automaattinen... > Äärellistilainen 1/3 Automaattinen morfologinen analyysi on pääosin hoidettavissa äärellistilaisin menetelmin [Koskenniemi83, Johnson72, Kaplan94]. Kielen mahdolliset leksikaaliset muodot voidaan koota äärellistilaiseksi transduktoriksi (?) Morfologiset vaihtelut voidaan kuvata äärellistilaisilla transduktoreina Sekventiaalinen ja rinnakkainen malli. Yksinkertainen formalismi rikas ja hyvin tunnettu algebra. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.4/23
2. Automaattinen... > Äärellistilainen 2/3 Sekventiaalinen malli Johnson huomasi että generatiivinen fonologinen sääntö α β / γ _ δ vastaa äärellistilaista transduktoria. Morfologinen jäsennin on leksikon ja sääntötransduktoreiden kompositio joko lopullisesti laskettuna tai simuloiden. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.5/23
2. Automaattinen... > Äärellistilainen 3/3 Rinnakkainen malli (morfologian kaksitasomalli) Kiinteä aakkosto, joka sisältää kaikki vastaavuudet leksikaalisten ja fonologisten segmenttien välillä. Säännöt ovat rinnakkaisia vastaavuuksien rajoitteita. Jokainen vastaavuus, jota ei ole erikseen kielletty, on sallittu. Morfologinen jäsennin on leksikon kompositio sääntötransduktorien leikkauksen kanssa. Kaikilla säännöillä sama syöte- ja tulostemuoto rinnakkaisen mallin säännöt voivat viitata leksikaaliseen muotoon ja fonologiseen muotoon. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.6/23
2. Automaattinen... > Kaksitasomalli 1/2 Leksikko liittää morfotaksin (leksikaalisen tason) morfofonologiseen tasoon. Se esitetään alileksikoiden puuna [Koskenniemi83]. LEXICON Root talo+n+pl:talo^i Subst01Sija ; LEXION Subst01Sija +Part:^A # ; Lekseemi on sanavartalo. Leksikkossa viitataan jatkoluokkiin (häntärekursio). Avoimen lähdekoodin kaksitasokielioppikääntäjä p.7/23
2. Automaattinen... > Kaksitasomalli 2/2 Säännöt liittävät morfofonologisen tason fonologiseen tasoon. "Monikon I" ^I:j <=> :Vokaali _ :Vokaali ; Jokainen sääntö rajoittaa yhden morfofoneemin fonologisia vastineita. Säännön kontekstit ovat parien säännöllisiä lausekkeita. Sääntö hyväksyy kaikki vastaavuudet joihin se ei viittaa. Operaattorit: <=> <= => /<= Avoimen lähdekoodin kaksitasokielioppikääntäjä p.8/23
3. Kaksitasokielioppikääntäjä hfst-twolc: ohjelma, joka ottaa syötteekseen kaksitasokieliopin ja kääntää siitä joukon sääntötransduktoreita. Kieliopin osat: Aakkosto Äännejoukot Nimetyt säännölliset lausekkeet Muuttujat Säännöt Avoimen lähdekoodin kaksitasokielioppikääntäjä p.9/23
3. Kaksitasokielioppikääntäjä Kielioppiformalismissa on pyritty matkimaan Xeroxia [Karttunen92]. Aakkosto sisältää kaikki mahdolliset parit. Äännejoukkojen rajoitetut ristitulot. Säännöllisten lausekkeiden kieli. Muuttujat. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.10/23
3. Kaksitasokieli... > Säännöt Sääntöjen kääntämisessä käytetään rajoitettua muotoa n.s. yleisistä kontekstirajoitteista [Yli-Jyrä06]. käännetään Σ X Σ 2 C L Σ C R, ( / Σ) Σ delete (Σ X Σ C L Σ C R ) Kontekstirajoitteet muuttavat säännön kontekstin säännölliseksi lausekkeeksi. Säännön keskus voi olla yleinen aakkoston Σ säännöllinen lauseke. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.11/23
3. Kaksitasokieli... > Säännöt > Oikea nuoli "Keskuksen distribuution rajoite" x:y => V_1 _ O_1 ;... V_n _ O_n ; Kääntyy yksinkertaisesti Σ x:y Σ 2 n (V i Σ O i ) i=1 Aiemmin tällaisen säännön kääntäminen oli mutkikasta. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.12/23
3. Kaksitasokieli... > Säännöt > Vasen nuoli "Kontekstin vaatimus" x:y <= V_1 _ O_1 ;... V_n _ O_n ; Kääntyy jokaiselle i V 1 (x: x:y) O i 2 Muutamia erityistapauksia, jotka ovat uusillakin kaavoilla ongelmallisia [Kaplan94] 0:x <= V _ O ; 0:x <= _ O ; Avoimen lähdekoodin kaksitasokielioppikääntäjä p.13/23
3. Kaksitasokieli... > Säännöt > Konfliktit 1/3 "Consonant gradation" %^K:0 <=> [ h Liquid Vowel: ] _ ClosedCoda ; "Geminate gradation" %^K:0 <=> :k _ ClosedCoda ; Konflikti ratkeaa ydistämällä sääntöjen oikeat puolet. %^K:0 => [ h Liquid Vowel: ] _ ClosedCoda ; :k _ ClosedCoda ; Avoimen lähdekoodin kaksitasokielioppikääntäjä p.14/23
3. Kaksitasokieli... > Säännöt > Konfliktit 2/3 "Consonant gradation" %^T:d <=> [ h Liquid Vowel: ] _ ClosedCoda ; "Gradation of t to a liquid" %^T:Cx <=> Cx _ ClosedCoda ; where Cx in Liquid ; Konflikti ratkeaa höllentämällä Consonant gradation sääntöä, mikä on helppo ilmaista, jos kontekstit ovat säännöllisiä lausekkeita. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.15/23
3. Kaksitasokieli... > Säännöt > Konfliktit 3/3 [Yli-Jyrä0X] Konflikti on tilanne, jossa jokin morfofonologinen muoto jää vaille fonologista vastinetta. Generatiivisessa mallissa säännöt järjestetään erityisestä yleisempään. Mahdollisten konfliktitilanteiden luokittelu. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.16/23
3. Kaksitasokieli... > Säännöt > Muuta Kaksitasokielioppien testaaminen vs. Generatiivisten kielioppien testaaminen. Monimutkaisemmat keskukset (merkkijonot, yleisemmät säännölliset lausekkeet,...) ja yleisempien sääntöjen konfliktiresoluutio. Painolliset säännöt. Voisiko konfliktiresoluution toteuttaa painoilla. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.17/23
4. Leikkaava kompositio Kaksitasosääntötransduktoreiden leikkaus on usein aivan liian iso laskettavaksi. Jotta leksikko ja säännöt voidaan yhdistää, käytetään leikkaava kompositiota [Karttunen94] Lasketaan leksikon kompositiota sääntöjen simuloidun leikkauksen kanssa. Leksikko rajoittaa voimakkaasti sääntöjen leikkausta. Leikkaava kompositio on toteutettu hfst-rajapintaan. Oikeellisuus- ja suorituskykytestit. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.18/23
5. Kaksitasokääntäjän evaluointia. Kääntäjällä on käännetty pohjoissaamen säännöstö, jossa on 105 sääntöä (näistä saadaan 555 tapausta, kun muuttujat eliminoidaan ja kaksisuuntaiset säännöt kännetään auki). Tuloksen oikeellisuutta on testattu testipareilla ja transduktorien ekvivalenssitestillä. Tehokkuus (angarak-palvelin): Xerox 0m56s vs. hfst-twolc 10m2s. Xeroxin twolc hoitaa konfliktiresoluution osittain väärin. Miten alla oleva rajapinta hfst vaikuttaa hfst-twolc:n suorituskykyyn? Avoimen lähdekoodin kaksitasokielioppikääntäjä p.19/23
6. Avoimuus ja aiemmat avoimet vaihtoehdot GPL-lisenssit SFST PC-KIMMO+KGEN OpenFst... Avoimen lähdekoodin kaksitasokielioppikääntäjä p.20/23
Lähteet [Karttunen91] Lauri Karttunen: Finite State Constraints, Proceedings of the International Conference on Current Issues in Computational Linguistics, June 10-14, 1991. [Johnson72] C. Douglas Johnson: Formal Aspects of Phonological Description, Mouton, 1972. [Kaplan94] Ronald Kaplan, Martin Kay: Regular Models of Phonological Rule System, Computational Linguistics, Vol. 20, Issue 3, 1994. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.21/23
Lähteet [Koskenniemi83] Kimmo Koskenniemi: Two-Level Morphology: A General Computational Model for Word-Form Recognition and Production, Department of General Linguistics, University of Helsinki, 1983. [Karttunen94] Lauri Karttunen: Constructing Lexical Transducers, Proc. of COLING 94, 1994. [Yli-Jyrä06] Anssi Yli-Jyrä, Kimmo Koskenniemi: Compiling Generalized Two-Level Rules and Grammars, Advances in Natural Language Processing, Lecture Notes in Computer Science, Springer, 2006. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.22/23
Lähteet [Karttunen92] Lauri Karttunen: Two-Level Rule Compiler, Technical Report. ISTL-92-9. Xerox Palo Alto Research Center, California, 1992. Avoimen lähdekoodin kaksitasokielioppikääntäjä p.23/23