Krista Liin Keeletehnoloogia seminar 22. oktoober 2007 Text Alignment Krista Liin Keeletehnoloogia seminar 22. oktoober 2007
Tekstijoondus Text alignment – laused, lõigud vastavusse Word alignment – sõnade vastavused Text alignment – palju uuritud, päris head meetodid olemas
Eesmärgid Masintõlge Leksikaalsed ressursid Sõnatähenduste ühestamine Kakskeelsed sõnastikud Paralleelgrammatikad Sõnatähenduste ühestamine Teadmusbaas mitmekeelsele infootsingule Tõlkijale abiks Masintõlge – 1 vähestest osadest, mis pole eelnevalt juba valmis Infootsing – information retrieval
Allikad Paralleeltekst e. bitekst – sisult sama tekst mitmes eri keeles Tehnilised tekstid Hansards – parlamendiarutelud Muud ametlikud dokumendid mitme riigikeelega riikides Küllaltki konsistentsed, sõna-sõnalised tõlked Vähemkasutatud tekstid Ajaleheartiklid Ilu- ja religioosne kirjandus Vabamalt tõlgitud, juriidilised probleemid Proceedings – arutelu, menetlus Riigid – Kanada, Šveits, Hong Kong
Tekstijoondus 2 keele tekstid võivad nii sisult kui struktuurilt erineda. Tekstiosade ümberasetus Tekstiosade väljajätmine Bead – joondus kahe keele lausegruppide vahel Iga lause kuulub üksnes ühte gruppi Iga grupp võib koosneda 0-n lausest Tõlge enamasti 1,5 korda pikem Bead = sentence alignment
Erinevaid vastavusi 1:1 – ühele lähtekeele lausele vastab üks sihtkeele lause. 90% juhtudest. 1:2, 2:1, 1:n, n:1 1:0, 0:1 – väljajätmine 2:2 Osa lause sisust on sihtkeeles teises lauses Crossing dependencies – vastavuste ristumine – kas 1:1 või 2:2 NB! Siin tegelikult ei ole ju lähte- ja sihtkeelt. Aga nii on lihtsam, kiirem mõista ja kuna niikuinii enamasti kasut. masintõlke juures Crossing dependencies – need siintoodud meetodid loevad sellised n:n-ks, kuigi tegelikult on ju ristiolevad 1:1
Vastavus Joondus (alignment) – kuidas vastavused üles leida Vastavus (correspondence) – kas laused üldse on teineteise tõlked. Crossing dependencies Vastavuse kriteerium Millal me ütleme, et kaks lauset on vastavuses Enamasti kattuv osalause loetakse piisavaks
Meetodite jaotus Pikkusel põhinevad vs. Leksikaalset infot kasutavad Lausegruppide vastavuste leidmine (beads) vs. Tekstis positsioonide vastavuste leidmine (offset) Palju kasutatakse dünaamilise programmeerimise algoritme
Pikkusepõhised meetodid (Length-based methods) Pikemad laused vastavad enamasti pikematele, lühemad lühematele. Sõnade arv vs. tähemärkide arv P(A,S,T) ≈ ∏Kk=1P(Bk) Gale ja Church (1993) Brown et al. (1991) Wu (1994) Küllaltki efektiivsed – kiiresti suuri koguseid
Gale ja Church 1993; inglise-prantsuse-saksa; UBS korpus Pikkus tähemärkide arvu järgi Lõigud eelnevalt käsitsi vastavusse viidud Lubatavad vastavused ette antud (grupi suurus 0-2 lauset) Lõigud – ilma selleta 3 korda rohkem vigu Aga et saaks sama algoritmiga teha ka lõigud enne
Gale ja Church Tee maksumus cost(l1, l2) μ – tekstide pikkuste suhe Lühima tee D(i,j) leidmise algoritm Tee maksumus cost(l1, l2) μ – tekstide pikkuste suhe s2 – lõikude pikkuste suhted A-align= siis mingit tüüpi 1:2, 1:1 jne vastavus
Gale ja Church Algoritm ruutkeerukusega, praktikas kiire Veaprotsent - 4% Kasutades meetodit kahtlaste vastavuste tuvastamiseks – 0.7% Raskusi 0:1 ja 1:0 vastavuste määramisel
Brown et al. 1991; inglise-prantsuse; Kanada Hansard Sarnane eelnevale meetodile (Gale ja Church) Lausepikkus sõnade arvu järgi Tekstiosade joondamisel kasutati leksikaalseid ankruid Mittehästi joondatud tekstiosad jäeti vaatluse alt välja EM algortim parameetrite määramiseks NB! Section!=sentence Head tulemused, eriti 1:1 osades
Wu 1994; inglise-hiina; Hong Kongi Hansard Sarnane Gale ja Churchi meetodile Kasutab leksikaalset infot Keeled üksteisest kaugemad, kuid tulemused võrreldavad Gale ja Churchi inglise-prantsuse-saksa joondamisega
Positsioonipõhised meetodid Offset alignment Pikkusepõhised meetodid pole piisavalt robustsed Sõltuvad liialt reavahetuste ja kirjavahemärkide korrektsest tuvastamisest Ei püüa joondada lausegruppe, vaid leiab mõningad positsioonid (offset) ühe keele tekstis ja neile vastavad positsioonid teise keele tekstis. Church (1993) Fung ja McKeown (1994) Word offset – positsioon, kust sõna algab
Church 1993; eri keeled Cognate – sarnased sõnad Laensõnad, ühisest algkeelest pärinevad sõnad Church kasutab tähemärkide 4-gramme: pärisnimed, numbrid enamasti ka kaugetes keeltes samad Meetodiks punktidiagrammi koostamine (Dot-plot construction) Raske tulemusi hinnata Eri tähestike puhul ei saa kasutada
Church: Dot-plot
Church X ja y teljel – positsioonid kahe keele tekstide konkatenatsioonis Punkt disgrammil – leidub vastavus 4-grammide vahel Peadiagonaal – tekst on iseendaga vastavuses Väikesed diagonaalid – vastavused kahe eri keele tekstide vahel Heuristiline otsing parima diagonaalitee e. joonduse leidmiseks N-grammidele kaal pöördvõrdeliselt esinemissagedusega
Fung ja McKeown 1994; inglise-hiina; Hong Kongi Hansard Algoritm, mis töötaks Kui lausepiirid pole määratud Kui tekstid on ainult ligikaudu paralleelsed Kui tegu on üksteisest kaugete keeltega Töö käigus kostab väikese kakskeelse sõnastiku, mille järgi joondada
Fung ja McKeown Igale sõnale koostada arrival vector – tema tekstis esinemiste vaheliste kauguste vektor – e.g. 4 korda esineval sõnal (262, 4, 253) Võrrelda 2 keele sõnade vektoreid Üksteisest palju erinevad jätta vaatluse alt välja Meetodi Dynamic Time Warping abil leida vektorite sarnasuse hinnang Kõige sarnasemate vektoritega sõnapaarid sõnaraamatusse Sõnaraamatus olevate sõnapaaride esinemised joonduspositsioonideks (offset)
Leksikaalsed meetodid Joondavad lausegruppe (bead) Robustsemad, kuna kasutavad leksikaalset infot Kay ja Röscheisen (1993) Chen (1993) Haruno ja Yamazaki (1996)
Kay ja Röscheisen 1993; inglise-prantsuse-saksa; Scientific American Lõõmutamisalgoritm: 1. ankruteks valida tekstide esimesed ja viimased laused Genereerida kõikvõimalikud lausevastavused; välista need mis ületavad ankruid mille kaugused ankrutest on liiga erinevad Leida neist lausepaaridest sarnase jaotusega sõnu Leida lausepaarid, mis sisaldavad palju selliseid sõnapaare, võta need uuteks ankruteks. Ülejäänud lausetele määrata 0:1 ja 1:0 vastavused
Kay ja Röscheisen 5 iteratsiooniga veaprotsent 0.7%, suurem osa sellest tulenes lausepiiride määramisest. Meetod ei piira vastavuse tüüpi (leiab ka nt. 3:1 vastavused) Väga robustne Arvutusmahukas Vastavused võivad jääda väljaspoole otsinguala Otsingualast (gener. paaridest) välja siis, kui nt. suured tekstiosad välja jäetud või ümber tõstetud
Chen 1993; inglise-prantsuse; Kanada Hansard Joondamine lihtsa sõnapõhise tõlkemudeli järgi Lubatud sõnavastavused (word bead) {1:0, 0:1, 1:1} P(Bk) = parima sisese sõnavastavuse tõenäosus Veaprotsent 0.4% (aluseks Brown et al.) Vastavuste tüübid on piiratud Parim sõnavastavus leitakse ahne algoritmiga – ei pruugi parim olla Mitu miljonit lausepaari. Suure tekstijupi ärajätmisel problemaatiline.
Chen Tõlkemudeli treenimine – Viterbi versioon EM algoritmist 1. versioon 100 käsitsi joondatud lausepaari peal Edasised iteratsioonid 20000 lauselisel tekstil Dekodeerimine – sarnane Gale ja Church Beam search – lineaarne keerukus
Haruno ja Yamazaki 1996; inglise-jaapani; ajalehed ja –kirjad Sarnane Kay ja Röscheisenile Muudatused, et joondada ka kaugete keelte lühikesi tekste Leksikaalseid vastavusi otsida ainult sisusõnadelt ->POS märgendamine Kasutada sõnavastavuse määramiseks olemasolevat sõnastikku Tehniliste tekstide puhul ei piisa selles Sisusõnad – kauged keeled Sõnastik – lühikesed tekstid (ei anna statistiliselt hästi sõnavastavusi määrata)
Word Alignment Sõnavastavuste leidmine 1:1 1:n 0:1 vastavus – spurious word m:n vastavus – fraasiline vastavus
Sõnajoondus Eeletapp lausete reastamiseks Kakskeelsete sõnastike ekstraheerimine Tõlkemudel Tõenäosusega Sageli EM algoritmiga Samuti olemasolevate sõnastike abi uute koostamisel Hii ruut jms – ei sobi, kui 1 sõnale on rohkem kui 1 pot. Kandidaat. Aitab, kui eeldada, 1:1 vastavusi.
IBM 1. mudel Algoritm: Valida pikkus K sihtkeele lausele F=f1,f2,...,fK Valida vastavus A=a1,a2,...,aJ lähtekeele ja sihtkeele lausete vahel For each j Leia sõna fj tõlkides vastav lähtekeele sõna
IBM 1. mudel Tõenäosus eaj – lähtekeelne sõna, mis vastab sõnale fj t(fx, ey) – tõenäosus tõlkida ey sõnaks fx ε – tõenäosus valida sihtkeele lause pikkuseks J Eeldame, et kõik vastavuse tüübid on sama tõenäosusega (I+1) – on lähtekeeles I sõna + 1 NULL. Astemes J – sihtkeele sõnade arv
IBM 1. mudel Parima vastavuse leidmine: Dekodeerimine – Viterbi algoritm Treenimine – EM algoritm Parima vastavuse leidmine – piisab, kui teame t(f,e) määrata. Ei pea korrutama, võtame parima sõnavastavuse, kuna eeldame, et see ei sõltu ümbritsevate sõnade vastavustest.
HMM joondusalgoritm HMM - Hidden Markov Model Lähedalasuvad sõnad kalduvad tõlkuma lähedalasuvateks sõnadeks. Seega iga sõna vastavuse leidmisel arvestame talle eelneva sõna vastavust. Pikkuse, joonduse ja leksikaalne tõenäosus
HMM joondusalgoritm Iga vastavus sõltub üksnes eelnevast vastavusest. Iga sõna tõlge sõltub üksnes sõnast endast Markovi eeldused P(aj|aj-1,I) arvutame hüppekauguse (jump width) järgi Hüppekaugus – kaugus sihtkeele sõnadele j ja j-1 vastavate lähtekeele sõnade vahel.
HMM joondusalgoritm Dekodeerimine – Viterbi algoritm Baum-Welch = EM variant Dekodeerimine – Viterbi algoritm Treenimine – Baum-Welchi algoritm
Joondusalgortimide treenimine Treenimiseks võetakse 1:1 lausevastavused Lausepaarides leiame sõnavastavuste tõenäosused Tõlketõenäosus t(f,e) saab hinnata leitud vastavuste põhjal EM algoritm Hinnang t-le joonduse põhjal Joondada leitud hinnangu põhjal Parandada t hinnangut t(f,e) hinnata + kaaluda siis hinnang joonduse tõenäosusega, kust ta leiti EM algotirm – iteratsioonid!
EM algoritm
EM algoritm
EM algoritm
Fraasivastavuste leidmine Koostada sõnavastavused Lähtekeelest sihtkeelde Sihtkeelest lähtekeelde Sümmetriseerida Ühisosa leitud vastavustest Klassifitseerija, mis lisab sellele uusi paare leitud vastavuste ühendist NB! Siin fraas kui sõnajärjend, mitte fraas lingvistilises mõttes
Fraasivastavuste leidmine
Fraasivastavuste leidmine Ja siit leiame konsistentsed fraasipaarid, arvutame nende tõenäosused ja paneme oma (phrase translation table) tabelisse Konsistentne fraasipaar (consistent phrase pair) – sõnavastavused on kõik fraasisisesed
Tänan kuulamast