Překladový systém TectoMT
description
Transcript of Překladový systém TectoMT
1/25
Překladový systémTectoMT
Zdeněk ŽabokrtskýÚFAL MFF UK
2/25
Osnova
Teoretický úvodsystém rovin, motivace pro použití t-roviny, formémy
Vývojové prostředí TectoMTdesign decisions, bloky
Anglicko-český překlad implementovaný v TectoMTscénář, ukázka překladu věty krok po kroku
Závěrečné poznámky
3/25
Překladový trojúhelník
Klíčová otázka: jaká úroveň abstrakce je pro úlohu strojového překladu nejvhodnější?
MT triangle:
sourcelanguage
targetlanguage
interlingua
tectogram.
surf.synt.
morpho.
raw text.
level ofabstraction
"transfer distance"
?
4/25
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 transferu1. překlad syntaktizace2. překlad lexikalizace3. 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 (!)
5/25
Zjednodušená t-rovina
cíl: zjednodušit analýzu a především umožnit deterministickou 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
6/25
Formémy (1)
formém = informace o tom, které morfosyntaktické prostředky byly (budou) užity k vyjá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 shodymorfologické kategorie, které už jsou vyjádřeny gramatémem
7/25
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
8/25
Vývojové prostředíTectoMT
9/25
Cíle
hlavní cílimplementovat 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íleusnadnit život úfalího programátoravytvoř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 životavyužít abstrakční schopnost tektogramatické rovinydodávat data/technologii pro další projektysdílet
10/25
"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
11/25
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áře3. konverze do výstupního formátu
sourcelanguage
targetlanguage
MT triangle:interlingua
tectogram.
surf.synt.
morpho.
raw text.
12/25
Blokymoduly v Perlumalé, samostatně dobře vymezitelné úkolyrů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 pravidelempiricky podložené heuristikysysté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 ...)
13/25
Co je v TectoMT kromě bloků
pml-specifikace formátu tmtprimární souborový formát používaný v TectoMTaplikace 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
datanatrénované modelykonvertory formátůautomatické testy...
14/25
Anglicko-český překlad implementovaný v
TectoMT
15/25
Scénář č.-a. překladuposloupnost 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
16/25
Demo - překlad krok po kroku
17/25
Faktorizace transferu
3 kanály1. transfer formémů
volba syntaktizace v cílovém jazycena základě překladového slovníku formémů
2. transfer lexémůvolba lexikalizace v cílovém jazycena základě překladového slovníku t-lemmatlexém a formém musí být kompatibilní
3. transfer gramatémůvětšinou triviální
18/25
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í funkces(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.9514adj:attr n:2 0.0138 n:of+X n:2 0.7719n:of+X adj:attr 0.0477n:of+X n:z+2 0.0402v:to+inf v:inf 0.4817v:to+inf v:aby+fin 0.0950v:to+inf n:k+3 0.0702
19/25
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 Czengrozšířeno pomocí pravidel pro slovotvorné derivacepravděpodobnosti vyhlazené četnostmi v ČNKvzorek:
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
20/25
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štinyRuční evaluace kvality automatických překladů (dobrovolníci)
21/25
Závěrečné poznámky
22/25
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ů
23/25
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
24/25
Plány do budoucna
nejbližší budoucno:vylepšování stávajících bloků na základě analýzy chybhledá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
25/25
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á.