Úvod ooooooooooooooooooo Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo Q Úvod do statistického strojového překladu Q Jazykové modely Q Překladové modely Uvod »000000000000000000 Úvod Jazykové modely 000000000000000000000 Překladové modely 000000000000000 Uvod do SMT • pravidlové systémy motivovány lingvistikou • SMT inspirován teorií informace a statistikou • v současnosti mnoho společností se zaměřením na SMT: Google, IBM, Microsoft, Language Weaver (2002) a 50 miliónů stránek denně přeložených pomocí SMT • gisting: stačí, má-li překlad nějaký užitek, nepotřebujeme přesný význam; nejčastější užití MT na internetu Jazykové modely ooooooooooooooooooooo Úvod Schéma SMT Uvod o«ooooooooooooooooo Spanish/English Bilingual Text CEnglish Text Statistical Analysis Statistical An Spanish - Translation Model Broken , English Language Model Decoding Algorithm argmax P(e)*p(s|e) Úvod oo»oooooooooooooooo Jazykové modely ooooooooooooooooooooo Překladové Úvod Nástroje SMT • GIZA++: trénování IBM modelů, zarovnávání na úrovni slov (word alignment pomocí HMM) • SRILM: trénování jazykových modelů • IRST: trénování velkých jazykových modelů • Moses: frázový dekodér, trénování modelů • Pharaoh: předchůdce Mosese • Thot: trénování frázových modelů • SAMT: tree-based modely Úvod 000*000000000000000 Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo Úvod Data pro SMT - (paralelní) korpusy • Linguistics Data Consorcium (LDC): paralelní korpusy pro páry arabština-angličtina, čínština-angličtina atd. Gigaword korpus (angličtina, 7 mld slov) • Europarl: kolekce textů Evropského parlamentu (11 jazyků, 40 M slov) • OPUS: paralelní texty různého původu (lokalizace software) • Acquis Communautaire: právní dokumenty Evropské únie (20 jazyků) Úvod oooo»oooooooooooooo Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo Úvod Pravidelné události v oblasti SMT, soutěže Většinou roční vyhodnocování kvality SMT. Tvorba testovacích sad, manuální vyhodnocování dat, referenční systémy. • NIST: National Institute of Standards and Technology; nejstarší, prestižní; hodnocení překladu arabštiny, čínštiny • IWSLT: mezinárodní workshop překladu mluveného jazyka; překlad řeči; asijské jazyky • WMT: Workshop on SMT; překlady mezi evropskými jazyky Úvod Jazykové modely Překladové modely ooooo»ooooooooooooo ooooooooooooooooooooo ooooooooooooooo Základy SMT Slova • pro SMT v drtivé většině případů základní jednotka = slovo • v mluvené řeči slova neoddělujeme: jak je od sebe oddělíme? • SMT systémy provádí de-tokenizaci • překlad samotný je většinou s lowercase textem • jaká slova má angličtina ->• jaká slova jsou v anglických korpusech • the tvoří 7% anglického textu • 10 nejčastějších slov (tokenů) tvoří 30% textu (!) • Zipfůvzákon: r rank (pořadí ve frekvenčním seznamu slov), f = frekvence výskytu slova, c = konstanta; platí r x f = c • překlepy, čísla, vlastní jména, názvy a cizí slova Úvod oooooo»oooooooooooo Jazykové modely ooooooooooooooooooooo Základy SMT Zipfův zákon Úvod ooooooo»ooooooooooo Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo Základy SMT Věty • syntaktická struktura se v jazycích liší • vkládání funkčních slov, která jsou typická pro daný jazyk (the, interpunkce) • přerovnávání: er wird mít uns gehen he willgo with us • některé jevy nelze přeložit na úrovni věty: anafory • úroveň celého dokumentu: téma (topič) může pomoci při volbě vhodného překladového ekvivalentu • v textu o jeskynních živočiších zřejmě nebude překládat Ďařjako pálka Úvod oooooooo»oooooooooo Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo Základy SMT Paralelní korpusy a základní datový zdroj pro SMT • volně dostupné jsou řádově 10 a 100 miliónů slov veliké • je možné stáhnout paralelní texty z internetu • vícejazyčné stránky (BBC, Wikipedie) • problém se zarovnáním dokumentů, odstavců,... • srovnatelné korpusy (comparable corpora): texty ze stejné domény, ne přímé překlady: New York Times - Le Monde • Kapradí - korpus překladů Shakespearových dramat (Fl) • InterCorp - ručně zarovnané beletr. texty (ČNK, FFUK) Úvod Jazykové modely Překladové modely ooooooooo»ooooooooo ooooooooooooooooooooo ooooooooooooooo Základy SMT Zarovnávání vět • věty si neodpovídají 1:1 • některé jazyky explicitně nenaznačují hranice vět (thajština) • It is small, but cozy. - Es is klein. Aber es ist gemütlich. • pro věty e^, ■ ■ ■ ene a ŕ,, • • • fn, a hledáme páry s-\,...sn • si = ({4tart-r(;)) " " " 4nd-ř(;)}) {estart-e(;)> " " " eend-e(;)}) P typ zarovnání 0.98 0.0099 0.089 0.011 1- 1 1 -0 nebo 0-1 2- 1 nebo 1-2 2-2 Úvod oooooooooo»oooooooo Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo Základy pravděpodobnosti pro SMT Pravděpodobnostní rozložení • graf hodnot pravděpodobnosti pro elementární jevy náhodné veličiny • rovnoměrné: hod kostkou, mincí (diskrétní veličina) • binomické: vícenásobný hod • normální, Gaussovo: spojité, dobře aproximuje ostatní rozložení; zahrnuje rozptyl p) n-k Úvod ooooooooooo»ooooooo Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo Úvod 000000000000*000000 Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo Základy pravděpodobnosti pro SMT Statistika I • náhodná proměnná, pravděpodobnostní funkce, ... • máme data, chceme spočítat rozložení, které nejlépe tato data vystihuje • zákon velkých čísel: čím víc máme dat, tím lépe jsme schopni odhadnout pravděpodobnostní rozložení • např.: hod falešnou kostkou; výpočet -k • nezávislé proměnné: Vx, y : p(x, y) = p(x).p(y) • spojená (joint) pravděpodobnost: hod mincí a kostkou • podmíněná pravděpodobnost: p(y|x) = pro nez. proměnné platí: p(y|x) = p(y) Úvod ooooooooooooo»ooooo Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo Základy pravděpodobnosti pro SMT Úvod 00000000000000*0000 Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo Základy pravděpodobnosti pro SMT Shannonova hra Pravděpodobnostní rozložení pro následující znak v textu se liší v závislosti na předchozích znacích. Doplňujeme postupně znaky (malá abeceda a mezera). Některé znaky nesou více informace (jsou uhádnuty později). Úvod Jazykové modely 000000000000000*000 ooooooooooooooooooooo Základy pravděpodobnosti pro SMT Bayesovo pravidlo , . , p(yx).p(x) pí*i/) = / r p y • příklad s kostkou • p(x) - prior • p(y|x) - posterior Úvod 0000000000000000*00 Jazykové modely ooooooooooooooooooooo Základy pravděpodobnosti pro SMT Statistika II • střední hodnota (diskrétní): ex = J2is • rozptyl: a2 = [*, ~ E(*)]2P/ a očekávaná hodnota: E[X] = Y,Xexx-p( Úvod Jazykové modely Překladové modely 00000000000000000*0 ooooooooooooooooooooo ooooooooooooooc Základy pravděpodobnosti pro SMT SMT - princip noisy channel Vyvinut Shannonem (1948) pro potřeby samoopravujících se kódů, pro korekce kódovaných signálů přenášených po zašuměných kanálech na základě informace o původní zprávě a typu chyb vznikajících v kanálu. Příklad s OCR. Rozpoznávání textu z obrázků je chybové, ale dokážeme odhadnout, co by mohlo být v textu (jazykový model) a jaké chyby často vznikají: záměna 1-1 -I, rn-m apod. arg maxp(e\f) p{é)p{f\e) arg max ,). p(f) arg maxp(e)p(f\e). Úvod 000000000000000000» Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo Základy pravděpodobnosti pro SMT SMT - komponenty noisy channel principu • jazykový model: • jak zjistit p(e) pro libovolný řetěz e o čím víc vypadá e správně utvořené, tím vyší je p(e) • problém: co přiřadit řetězci, který nebyl v trénovacích datech? • překladový model: • pro e a f vypočítej p(f\e) • čím víc vypadá e jako správný překlad f, tím vyšší p • dekódovací algoritmus • na základě předchozího najdi pro větu f nejlepší překlad e • co nejrychleji, za použití co nejmenší paměti Úvod Jazykové modely OOOOOOOOOOOOOOOOOOO »00000000000000000000 Úvod Q Úvod do statistického strojového překladu Q Jazykové modely Q Překladové modely Uvod ooooooooooooooooooo Úvod Jazykové modely Jazykové modely o»ooooooooooooooooooo Překladové modely ooooooooooooooc Noam Chomsky 1969 But it must be recognized that the notion "probability of a sentence" is an entirely useless one, under any known interpretation of this term. Fred Jelinek, 1988 Anytime a linguist leaves the group the recognition rate goes up. Jak pravděpodobné je pronesení české věty s? Ke snídani jsem měl celozrnný ... Uvod ooooooooooooooooooo Úvod Jazykové modely Jazykové modely o»ooooooooooooooooooo Překladové modely ooooooooooooooc Noam Chomsky 1969 But it must be recognized that the notion "probability of a sentence" is an entirely useless one, under any known interpretation of this term. Fred Jelinek, 1988 Anytime a linguist leaves the group the recognition rate goes up-___ Jak pravděpodobné je pronesení české věty s? Ke snídani jsem měl celozrnný ... chléb > pečivo > zákusek > mléko > babičku Úvod ooooooooooooooooooo Jazykové modely oo»oooooooooooooooooo Překladové modely ooooooooooooooo Úvod Jazykové modely • zajímá nás určování pravděpodobnosti následujícího slova • jazykový model je pravděpodobnostní rozložení nad všemi možnými sekvencemi slov daného jazyka Pravděpodobnost sekvencí slov P/jví(včera jsem jel do Brna) Puw(včera jel do Brna jsem) Puw(jel jsem včera do Brna) Použijeme • podmíněnou pravděpodobnost p(x\ y) a • joint probability (společná pravděpodobnost) Úvod ooooooooooooooooooo Jazykové modely ooo»ooooooooooooooooo Překladové modely ooooooooooooooo Úvod Jazykové modely • LM pomáhají zajistit plynulý výstup (správný slovosled) • LM pomáhají s WSD v obecných případech • pokud má slovo více významů, můžeme vybrat nejčastější překlad (pen ->•pero) • ve speciálních textech nelze použít, ale • LM pomáhají s WSD pomocí kontextu • Pim(í go home) > pLM(\ go house) Uvod ooooooooooooooooooo N-gramové modely N-gramové modely Jazykové modely oooo»oooooooooooooooo Překladové modely ooooooooooooooo • n-gram je nejdůležitější nástroj ve zpracování řeči a jazyka • využití statistického pozorování dat • dvojí využití ve strojovém překladu: • po slovech I go je častější home než house apod. • I go to home vs. I go home • generování jazyka Generování unigramy To him swallowed confess hear both. Which. Of save on trail for are ay device and rote life have Every enter now severally so, let. Generování trigramy Sweet prince, Falstaff shall die. Harry of Monmouth's grave. This shall forbid it should be branded, if renown made it empty. , i mpty. J Úvod ooooooooooooooooooo Jazykové modely ooooo»ooooooooooooooo Překladové modely ooooooooooooooo N-gramové modely N-gramové modely - naivní přístup 1/1/ = w-\, w2, • • • ,wn Jak vypočítat p{W)7 Spočítáme výskyty všech 1/1/ v datech a normalizujeme je velikostí dat. Pro většinu velkých 1/1/ však nebudeme mít v datech ani jeden výskyt. Úkolem je zobecnit pozorované vlastnosti trénovacích dat, která jsou většinou řídká (sparse data). „, ,....... ■■ , ' \ ke snídani jsem měl celozrnný chléb P(chleb|ke snídani jsem mel celozrnný) = ke snídani jsem měl celozrnný Úvod Jazykové modely oooooo»oooooooooooooo Překladové modely ooooooooooooooo ooooooooooooooooooo N-gramové modely Markovův řetězec a Markovův předpoklad p{W), kde W je posloupnost slov, budeme modelovat postupně, slovo po slovu, užitím tzv. pravidla řetězu: p(Wi,W2,...Wn) = p(wi )p( w2\wi )p{w3\wi ,w2)... p{wn\Wi... Wn_i ) Jelikož nemáme k dispozici pravděpodobnosti pro dlouhé řetězce slov, omezíme historii na m slov použitím Markovova předpokladu: p{wn\w^ W2, . . . Wn-l) ^ p{wn\wn-m, ■ ■ ■ Wn_2, Wn_-|) Číslo m nazýváme řádem odpovídajícího modelu. Nejčastěji se používají trigramové modely. Úvod ooooooooooooooooooo Jazykové modely ooooooo»ooooooooooooo Překladové modely ooooooooooooooo N-gramové modely Výpočet, odhad pravděpodobností LM Trigramový model používá pro určení pravděpodobnosti slova dvě slova předcházející. Použitím tzv. odhadu maximální věrohodnosti (maximum likelihood estimation): p{w3\w:, w2) county, w2,w3) 52wcount(wi,w2,w) trigram: (the, green, w) (1748) w počet p{w) paper 801 0.458 group 640 0.367 light 110 0.063 party 27 0.015 ecu 21 0.012 Úvod ooooooooooooooooooo Jazykové modely 00000000*000000000000 Překladové modely ooooooooooooooo N-gramové modely Kvalita a srovnání jazykových modelů Chceme být schopni porovnávat kvalitu různých jazykových modelů (trénovány na různých datech, pomocí jakých n-gramů, jak vyhlazených apod.). Je možné použít 2 přístupy: extrinsic a intrinsic vyhodnocení. Dobrý model by měl přiřadit dobrému textu vyšší pravděpodobnost než špatnému textu. Pokud máme nějaký testovací text, můžeme spočítat pravděpodobnost, jakou mu přiřazuje zkoumaný LM. Lepší LM by mu měl přiřadit vyšší pravděpodobnost. Úvod ooooooooooooooooooo Jazykové modely ooooooooo»ooooooooooo Překladové modely ooooooooooooooo N-gramové modely Cross-entropy (křížová entropie) H{Plm) = ~- l0gP/Jw(Wi, wz, ...wn) 1 n = -- JI log Plm{wí\w:,... ) Křížová entropie je průměrná hodnota záporných logaritmů pravděpodobností slov v testovacím textu. Odpovídá míře nejistoty pravděpodobnostního rozložení (zde LM). Čím menší, tím lepší. Dobrý LM by měl dosahovat entropie blízké skutečné entropii jazyka. Tu nelze změřit, ale existují relativně spolehlivé odhady (např. Shannonova hádači hra). Pro angličtinu je entropie na znak rovna cca 1.3 bitu. Uvod ooooooooooooooooooo N-gramové modely Perplexita Jazykové modely 0000000000*0000000000 Překladové modely ooooooooooooooo p p — 2h(Plm) PP{W) = pLM(wAw2w3... wN) n Perplexita je jednoduchá transformace křížové entropie. Dobrý model by neměl plýtvat p na nepravděpodobné jevy a naopak. Čím nižší entropie, tím lépe čím nižší perplexita, tím lépe. Úvod ooooooooooooooooooo Jazykové modely ooooooooooo»ooooooooo Překladové modely ooooooooooooooo Vyhlazování jazykových modelů Vyhlazování jazykových modelů Problém: pokud není v datech určitý n-gram, který se vyskytne v řetězci w, pro který hledáme pravděpodobnost, bude p(w) = 0. Potřebujeme rozlišovat p i pro neviděná data. Musí platit Vw.p(w) > 0 Ještě větší je problém u modelů vyšších řádů. Snaha o upravení reálných počtů n-gramů na očekávané počty těchto n-gramů v libovolných datech (jiných korpusech). Úvod Jazykové modely 000000000000*00000000 Překladové modely ooooooooooooooo ooooooooooooooooooo Vyhlazování jazykových modelů Add-one vyhlazování (Lapiace) Maximum likelihood estimation přiřazuje pravděpodobnost na základě vzorce c Add-one vyhlazování používá upravený vzorec c+1 P =- n+v kde i/je počet všech možných n-gramů. To je však velmi nepřesné, neboť všech možných kombinací je většinou řádově víc než ve skutečnosti (Europarl korpus má 86,700 tokenů, tedy víc jak 7,5 mld možných bigramů. Ve skutečnosti má korpus 30 mil. slov, tedy maximálně 30 mil. bigramů.) Vyhlazování nadhodnocuje neviděné n-gramy. Úvod ooooooooooooooooooo Jazykové modely ooooooooooooo»ooooooo Překladové modely ooooooooooooooo Vyhlazování jazykových modelů Add-a vyhlazování Nebudeme přidávat 1, ale koeficient a. Ten lze odhadnout tak, aby add-a vyhlazování bylo spravedlivější. C + a p =- n + av a můžeme experimentálně zjistit: zvolit více různých a hledat pomocí perplexity nejlepší z nich. Typicky bude spíše malé (0.000X). Úvod Jazykové modely oooooooooooooo»oooooo Překladové modely ooooooooooooooo ooooooooooooooooooo Vyhlazování jazykových modelů Deleted estimation Neviděné n-gramy můžeme vytvořit uměle tak, že použijeme druhý korpus, případně část trénovacího korpusu. N-gramy obsažené v jednom a ne v druhém nám pomohou odhadnout množství neviděných n-gramů obecně. Např. bigramy, které se nevyskytují v trénovacím korpusu, ale vyskytují se v druhém korpusu miliónkrát (a všech možných bigramů je cca 7,5 mld), se vyskytnou cca 106 0.00013x 7.5 x 109 Úvod ooooooooooooooooooo Jazykové modely ooooooooooooooo»ooooo Překladové modely ooooooooooooooo Vyhlazování jazykových modelů Good-Turing vyhlazování Potřebujeme upravit počet výskytů v korpusu tak, aby odpovídal obecnému výskytu v textu. Použijeme frekvenci frekvencí: počet různých n-gramů, které se vyskytují n-krát. Použijeme četnost hapax legomena pro odhad četnostní nikdy neviděných dat. Speciálně pro n-gramy, které nejsou v korpusu máme r* — '0 — (0 + 1)—!- = 0.00015 kde N, = 1.1 x 106 a N0 = 7.5 x 109 (Europarl korpus). Uvod ooooooooooooooooooo Vyhlazování jazykových modelů Jazykové modely OOOOOOOOOOOOOOOO0OOOO Překladové modely ooooooooooooooc Ukázka Good-Turing vyhlazování (Europarl) r FF ŕ 0 7 514 941 065 0,00015 1 1 132 844 0,46539 2 263 611 1,40679 3 123615 2.38767 4 73 788 3,33753 5 49 254 4,36967 6 35 869 5,32929 8 21 693 7,43798 10 14 880 9,31304 20 4 546 19.54487 Úvod ooooooooooooooooooo Jazykové modely ooooooooooooooooo»ooo Vyhlazování jazykových modelů Srovnání metod vyhlazování (Europarl) metoda perplexita add-one 382,2 add-a 113,2 deleted est. 113,4 Good-Turing 112,9 Úvod ooooooooooooooooooo Jazykové modely oooooooooooooooooo»oo Překladové modely ooooooooooooooo Vyhlazování jazykových modelů Interpolace a back-off Předchozí metody zacházely se všemi neviděnými n-gramy stejně. Předpokládejme 3-gramy: nádherná červená řepa nádherná červená mrkev I když ani jeden nemáme v trénovacích datech, první 3-gram by měl být pravděpodobnější. Budeme využívat pravděpodobnosti n-gramů nižších řádů, u kterých máme k dispozici více dat: červená řepa červená mrkev Úvod ooooooooooooooooooo Jazykové modely ooooooooooooooooooo»o Překladové modely ooooooooooooooo Vyhlazování jazykových modelů Interpolace Použijeme interpolaci: Pi{w3\w-\W2) = A-ip(w3) x \2p{w3\w2) x \3p(w3\w-\w2) Pokud máme hodně dat, můžeme věřit modelům vyšších řádů a přiřadit odpovídajícím pravděpodobnostem větší váhu. Pi je pravděpodobnostní rozložení, proto musí platit: VAn : 0 < Xn < 1 n Uvod ooooooooooooooooooo Závěr Jazykové modely 00000000000000000000» Velké jazykové modely - počet n-gramů Kolik je různých n-gramů v korpusu? Překladové modely ooooooooooooooc řád unikátní singletony unigram 86 700 33447 (38,6%) bigram 1 948935 1 132 844 (58,1 %) trigram 8 092 798 6 022 286 (74,4%) 4-gram 15 303847 13 081 621 (85,5%) 5-gram 19882175 18 324 577 (92,2%) Europarl, 30 miliónů tokenů. Úvod ooooooooooooooooooo Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo Q Úvod do statistického strojového překladu Q Jazykové modely Q Překladové modely Úvod Jazykové modely ooooooooooooooooooooo Překladové modely »00000000000000 0000000000000000000 Lexikální překlad Lexikální překlad Standardní slovník neobsahuje informace o tom, jak často se překládá dané slovo na své různé překladové ekvivalenty. key ->• klíč, tónina, klávesa Jak často jsou zastoupeny jednotlivé překlady v překladech? key klíč (0.7), tónina (0.18), klávesa (0.12) Potřebujeme lexikální překladové pravděpodobnostní rozložení pf s vlastností £p'(e) = 1 e Ve : 0 < pf(e) < 1 Pklíč(key)?Pmrkev(carrot) Úvod Jazykové modely Překladové modely ooooooooooooooooooo ooooooooooooooooooooo o»ooooooooooooc Lexikální překlad Zarovnání slov, zarovnávací funkce Překlady si často neodpovídají v počtu slov ani ve slovosledu. Zavádí se alignment function kde y je pozice odpovídajícího slovo v cílové větě (čeština), / je pozice ve zdrojové větě (angličtina). i: 1 2 3 4 5 the castle is very old ten hrad je velmi starý j: 1 2 3 4 5 a je funkce, tedy pro každé slovo we z cílové věty existuje právě jedno slovo wf ze zdrojové věty. Úvod ooooooooooooooooooo Jazykové modely ooooooooooooooooooooo Lexikální překlad Zarovnání slov - další případy • jiný slovosled: it was written here bylo to zde napsané a: 1 ^2,2^ 1,3->4,4->3 • jiný počet slov: jsem maličký i am very small a: 1 -> 1,2-> 1,3->2,4->2 • slova bez překladových ekvivalentů: have you got it ? máš to ? a:1->1,2->4,3->5 • opačný případ, přidáme nové slovo NULL, pozice 0: NULL laugh smát se a: 1 -> 1,2->0 Úvod ooooooooooooooooooo Jazykové modely ooooooooooooooooooooo Překladové modely ooo»ooooooooooo IBM modely IBM model 1 Nemůžeme hledat pf pro jednotlivé věty. Překlad rozložíme do menších kroků, budeme používat pf pro slova. Tomuto přístupu se říká generative modeling. Překladový model IBM-1 je definován jako kde e = (e-i,... e/J je cílová věta, f = (ři,... ftf) zdrojová věta, le je délka cílové věty, lf délka zdrojové věty, e je normalizující konstanta, aby byl výsledný součin pravděpodobnostní rozložení. (If + 1 )/e je počet všech možných zarovnání mezi e a f, přičemž k lf přičítáme 1 kvůli speciálnímu slovu NULL, ř je pravděpodobnostní překladová funkce. Úvod ooooooooooooooooooo Jazykové modely ooooooooooooooooooooo Překladové modely oooo»oooooooooo IBM modely Výpočet překladové pravděpodobnosti Pro výpočet p(e, a|f) potřebujeme znát hodnotu funkce t pro všechna slova (věty). K tomu budeme využívat základní zdroj pro SMT: paralelní korpus se zarovnanými větami. Bohužel nemáme zarovnání slov mezi sebou. To je úkol tzv. word-alignment. Ke slovu přichází expectation-maximization (EM) algoritmus. Uvod ooooooooooooooooooo IBM modely EM algoritmus Jazykové modely ooooooooooooooooooooo Překladové modely ooooo»ooooooooo O inicializuj model (typicky uniformní p. rozložení) O aplikuj model na data (krok expectation) hledáme p(a| e, 0 = ^? kde p(e\f) = EaP(e,a\f) Q uprav model podle dat (krok maximization) upravíme počty zarovnání slova we na wf (funkce c) pomocí předchozího c{we\Wf, e, f) = EaP(ale> f) EjLi á(e, ej)5{f, fa[j)) kde S(x, y) = 1 \f) Pro každé zdrojové slovo f rozložení n říká, na kolik cílových slovo se obvykle f přeloží. n(0|a) = 0.999 n(1|king) = 0.997 n(2|steep) = 0.25 Úvod ooooooooooooooooooo Jazykové modely ooooooooooooooooooooo Překladové modely oooooooooooooo* IBM modely Vložení tokenu NULL Pokud chceme správně překládat do cílového jazyka, který používá slova, jež nemají ve zdrojovém jazyce překladové ekvivalenty, musíme řešit vkládání pomocného tokenu NULL. Nepoužívá se n(x\NULL), protože vložení NULL záleží na délce věty. Přidáme tedy další krok vložení NULL do procesu překladu. Používají se p-i a p0 = 1 - p-i, kde p-i znamená pravděpodobnost vložení tokenu NULL za libovolné slovo ve větě. Uvod ooooooooooooooooooo IBM modely Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo IBM-3 1 2 3 4 ich gehe ja nicht zum haus NULL insertion step I I ^/ /\ \ fertilitystep ich gehe nicht zum zum haus A \ \ \ \ \ ich null gehe nicht zum zum haus 1111111 lexical translation step I do go not to the house ^ ^ 111 distortion steP I do not go to the house 1 2 3 4 5 6 7 Uvod ooooooooooooooooooo IBM modely IBM-3-distortion Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo Poslední krok je téměř shodný s 2. krokem překladového procesu IBM-2 a je modelován tzv. distortion probability distribution: d(j\ÍJe,lf) která modeluje pozice v opačném pořadí: pro zdrojové slovo na pozici / modeluje pozici j cílového slova. Proces překladu z předchozího obrázku se může drobně lišit (viz další obrázek). Uvod ooooooooooooooooooo IBM modely Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo IBM-3 1 2 3 4 5 6 ich gehe ja nicht zum haus NULL insertion step I 1 ^ f /\ \ fertility step ich gehe nicht zum zum haus /♦Ulli ich null gehe nicht zum zum haus ^ ^ ^ ^ ^ ^ ^ lexical translation step I do go not the to house I I y*v ^ I distortion step I do not go to the house Úvod ooooooooooooooooooo Jazykové modely ooooooooooooooooooooo Překladové modely ooooooooooooooo IBM modely IBM-4, IBM-5 IBM-4 Problém distorze tkví v řídkých datech pro dlouhé věty. IBM-4 zavádí tzv. relativní distorzi, kde změny pozic slov závisí na předcházejících slovech. Vychází z předpokladu, že se překládá po frázích, které se přesunují vcelku, případně že některé přesuny jsou více časté (angličtina: ADJ SUB, francouzština SUB ADJ apod.). IBM-5 Tento model řeší další nedostatky předchozích modelů. Např. hlídá, aby se dvě různá zdrojová slova nedostala na jednu pozici v cílové větě atd.