250 likes | 385 Views
Překladový systém TectoMT. Zden ěk Žabokrtský ÚFAL MFF UK. Osnova. Teoretický úvod systém rovin, motivace pro použití t-roviny, formémy Vývojové prostředí TectoMT design decisions, bloky Anglicko-český překlad implementovaný v TectoMT scénář, ukázka překladu věty krok po kroku
E N D
Překladový systémTectoMT Zdeněk Žabokrtský ÚFAL MFF UK
Osnova • Teoretický úvod • systém rovin, motivace pro použití t-roviny, formémy • Vývojové prostředí TectoMT • design decisions, bloky • Anglicko-český překlad implementovaný v TectoMT • scénář, ukázka překladu věty krok po kroku • Závěrečné poznámky
Překladový trojúhelník • Klíčová otázka: jaká úroveň abstrakce je pro úlohu strojového překladu nejvhodnější?
Motivace pro použití t-roviny • obecný předpoklad: na t-rovině jsou si jazyky podobnější transfer by měl být snadnější než na povrchu • kde konkrétně může t-rovina přispět k vytvořeních lepších modelů? • přirozená faktorizace transferu • 1. překlad syntaktizace • 2. překlad lexikalizace • 3. překlad (morfologických) gramatémů • možnost využití stromového kontextu (místo lineárního) • ale: náklady na analýzu a syntézu (!)
Zjednodušená t-rovina • cíl: zjednodušit analýzu a především umožnitdeterministickou syntézu vět • zachované některé vlastnosti t-roviny (věta ~ závislostní strom, "schovaná" funkční slova, typované uzly...), ale • žádné aktuální členění ("uzlosled" kopíruje původní/cílový slovosled) • žádné "kopírované" uzly • žádné odkazy do valenčního slovníku • žádné funktory (kromě koordinačních) • u každého komplexního t-uzlu ale navíc formém
Formémy (1) • formém = informace o tom, které morfosyntaktické prostředky byly (budou) užity kvyjádření závislosti daného t-uzlu vůči jeho řídícímu uzlu • několik desítek hodnot, přijatelné hodnoty podmíněné sémantickým slovním druhem t-uzlu • co formém nezachycuje: • morfologické kategorie vyplývající ze shody • morfologické kategorie, které už jsou vyjádřeny gramatémem
Formémy (2) • příklady formémů navržených pro češtinu: • pro sémantická substantiva • bezpředložkový pád - n:1, n:4, ... • předložkový pád - n:z+2, n:o+6, ... • přivlastňovací tvar - n:poss • pro sémantická adjektiva • atributivní pozice: adj:attr • doplňková pozice: adj:comp • pro sémantická slovesa • finitní tvar - v:fin • f.t. ve v.v. spojkové - v:že+fin, ... • f.t. ve v.v. vztažné - v:rc • infinitiv - v:inf • formémy pro angličtinu: • n:obj1, n:for+X, n:X+ago, v:without+ger, v:to+inf
Cíle • hlavní cíl • implementovat překladový systém, pokud možno s maximálním využitím anotačního schématu PDT (roviny lingvistického popisu, technologie atd.) • vedlejší cíle • usnadnit život úfalího programátora • vytvořit rámec, ve kterém bude možné empiricky ověřit užitečnost softwarových nástrojů z oblasti NLP na aplikaci z reálného života • využít abstrakční schopnost tektogramatické roviny • dodávat data/technologii pro další projekty • sdílet
"Design decisions" • TectoMT - vývojové prostředí, nikoli aplikace pro koncového uživatele (finální aplikace lze samozřejmě izolovat) • Perl, Linux • technologie z PDT 2.0: tred/btred/ntred, PML • důraz na modularitu - rozklad na velký počet podúloh • snadná znovupoužitelnost modulů • snadná nahraditelnost modulů • užití lingvisticky interpretovatelných rovin popisu jazyka • žádná omezení ohledně metod řešení (statistika/pravidla) • komunikace mezi jednotlivými moduly -jednotné objektově orientované API (nikoli přes souborové formáty!) • žádná podpora pro backtracking, žádná podpora pro reranking
MT triangle: interlingua tectogram. surf.synt. morpho. raw text. source target language language Základní pojmy • hierarchie jednotek datové reprezentace • dokument (~ 1 soubor v pml) • svazek stromů (bundle) • strom • uzel • atribut • hierarchie pracovních jednotek • blok • scénář - posloupnost bloků • aplikace - typické schéma: • 1. konverze ze vstupního formátu • 2. spuštění scénáře • 3. konverze do výstupního formátu
Bloky • moduly v Perlu • malé, samostatně dobře vymezitelné úkoly • různé funkce: • bloky pro analýzu/transfer/syntézu, např. SEnglishW_to_SEnglishM::Lemmatize_mtree SEnglishP_to_SEnglishA::Mark_heads TCzechT_to_TCzechA::Vocalize_prepositions • bloky pro alignment, bloky pro evaluaci ... • různé přístupy: • implementace "ostrých" lingvistických pravidel • empiricky podložené heuristiky • systémy s komplexními pravděpodobnostními modely • mnoho bloků jsou jen "wrappery" ke dříve existujícím nástrojům (Collinsův parser, McDonnaldův parser, Brantsův TnT tagger, Hajičova morfologie ...)
Co je v TectoMT kromě bloků • pml-specifikace formátu tmt • primární souborový formát používaný v TectoMT • aplikace PML, zahrnující mj. aplikace PML pro roviny z PDT 2.0 • core - OO rozhraní pro práci s tmt soubory (Perl) • makra pro podporu vizualizace tmt v TrEdu • všechny stromu bundlu na jedné obrazovce • data • natrénované modely • konvertory formátů • automatické testy • ...
Scénář č.-a. překladu • posloupnost cca 80 bloků • EnglishW EnglishM - bloky pro segmentaci, tokenizaci, tagging, lemmatizaci • EnglishM EnglishP - složkový parsing • EnglishP EnglishA - označení hlav, vyrobení a-stromu, nejnutnější afuny • EnglishA EnglishT - spojení funkčních a autosém. a-uzlů do t-uzlu, gramatémy, koreference ... • EnglishT CzechT - klon t-stromu, překlad formémů, lexémů a gramatémů • CzechT CzechA - shoda, přidání a-uzlů pro funkční slova, generování tagů, volba formy • CzechA CzechW - spojení tokenů do věty, spojení vět do textu
Faktorizace transferu • 3 kanály 1. transfer formémů • volba syntaktizace v cílovém jazyce • na základě překladového slovníku formémů 2. transfer lexémů • volba lexikalizace v cílovém jazyce • na základě překladového slovníku t-lemmat • lexém a formém musí být kompatibilní 3. transfer gramatémů • většinou triviální
Překladový slovník formémů • P(Ft|Fs) • natrénováno z 5000 paralelních t-stromů • jednoduchý algoritmus párování paralelních t-stromů po uzlech • postupné přidávání párů uzlů, výběr na základě skórovací funkce • s(na,nč) = w.f(na,nč) , ručně navržené rysy, váhy trénované perceptronem • příklady P(Ft|Fs) adj:attr adj:attr 0.9514 adj:attr n:2 0.0138 n:of+X n:2 0.7719 n:of+X adj:attr 0.0477 n:of+X n:z+2 0.0402 v:to+inf v:inf 0.4817 v:to+inf v:aby+fin 0.0950 v:to+inf n:k+3 0.0702
Překladový slovník lexémů • pravděpodobnostní slovník - P(Lt|Ls) • cca 370.000 překladových párů • kombinace slovníku z PCEDT a slovníku extrahovaného z paralelního korpusu Czeng • rozšířeno pomocí pravidel pro slovotvorné derivace • pravděpodobnosti vyhlazené četnostmi v ČNK • vzorek: buy#N odkup#N 0.350477 buy#N koupěN 0.196962 buy#N kup#N 0.092403 buy#V koupit#V 0.412127 buy#V kupovat#V 0.169639 buy#V nakupovat#V 0.108744 buy#V nakoupit#V 0.075064
Vyhodnocení kvality překladu • WMT'08 Shared Task (soutěž ve strojovém překladu) • směry: z francouzštiny, němčiny, češtiny, španělštiny do angličtiny a/nebo zpět, plus z angličtiny do maďarštiny • Ruční evaluace kvality automatických překladů (dobrovolníci)
Vývoj TectoMT v číslech • doba vývoje: cca 30 měsíců • aktivně přispívajících programátorů: 6 • velikost kódu: cca 25.000 Perl LOCs • počet bloků: cca 200 • dynamika: v repozitáři svn 560 revizí za posledních 6 měsíců
Další aplikace TectoMT • dosud: • příprava dat pro tektogramatickou anotaci angličtiny • na požádání jednorázová zpracování dodaných dat (např. data pro analýzu dialogu, rekonstrukci řeči, zkoumání vztahu syntaxe a prozodie) • brzy: • generátor anglických vět uvnitř dialogovém systému (projekt Companions) • interaktivní t-analýza v TrEdu
Plány do budoucna • nejbližší budoucno: • vylepšování stávajících bloků na základě analýzy chyb • hledání a zapojování lepších alternativ (Morče místo TnT, McDonald místo Collinse...) • vzdálenější budoucno: • v transferu: HMM upravený pro stromy, s perceptronem trénovanou kombinací překladového a jazykového modelu
Závěr • Technických cílu bylo dosaženo: TectoMT je funkční, modulární, umožňuje rychlý a pohodlný vývoj dalších komponent pro NLP i relativně snadnou integraci většiny už existujících. Ověřeno na prototypu překladového systému. • "State-of-the-art" v MT se nepodařilo překonat. Otázka praktického přínosu/vhodnosti t-roviny pro strojový překlad zůstává otevřená.