Úvod ooooooooooooooooooo Q Úvod do statistického strojového překladu Úvod »000000000000000000 Úvod Úvod 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 Úvod o«ooooooooooooooooo Úvod oo»oooooooooooooooo Ú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 Ú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 Ú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 ooooo»ooooooooooooo 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 Základy SMT Zipfův zákon 1 10 100 1000 10000 100000 1e+ Ranking Úvod ooooooo»ooooooooooo 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 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 ooooooooo»ooooooooo 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 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 Úvod 000000000000*000000 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 Základy pravděpodobnosti pro SMT Podmíněná pravděpodobnost Úvod 00000000000000*0000 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 ooooooooooooooo»ooo 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 Základy pravděpodobnosti pro SMT Statistika II • střední hodnota (diskrétní): EX = • rozptyl: a2 = [*, ~ E(*)]2P/ • očekávaná hodnota: E[X] = Y,Xe> Úvod ooooooooooooooooo»o 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» 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 o na základě předchozího najdi pro větu f nejlepší překlad • co nejrychleji, za použití co nejmenší paměti