TACR                                                                 


Rozhraní pro kontrolu a diktování překladu

Technická zpráva projektu “Technologie zpracování řeči pro efektivní komunikaci člověk­-počítač”

Ing. Sergij Černičko Lingea s.r.o.
Ing. Igor Szőke, Ph.D. Fakulta informačních technologií VUT v Brně
Ing. Jan Pešán Fakulta informačních technologií VUT v Brně
Mgr. Michal Kašpar Lingea s.r.o.
Bc. Martin Kubíček Lingea s.r.o.
Josef Plch Lingea s.r.o.
Brno, leden 2015

Projekt Technologické agentury České republiky
Program: ALFA
Identifikační číslo: TA01011328

Úvod

Ačkoliv technologie strojového překladu se v posledních letech neustále zdokonaluje, stále je využívána hlavně tam, kde jsou nízké požadavky na kvalitu a vysoké požadavky na rychlost a cenu. Příkladem jsou webové služby nabízející překlad vloženého textu nebo překlad webových stránek. Naším cílem je využít strojový překlad i k podpoře lidských překladatelů a zvýšit tak produktivitu jejich práce. Nezbytnou podmínkou takového zvýšení produktivity je implementace uživatelského rozhraní, které maximálně respektuje potřeby a možnosti uživatele a podává mu pomocnou ruku všude tam, kde je to možné.

Dnešní strojový překlad bravurně zvládá překlady ustálených frází a spojení, na druhou stranu, méně častá slovní spojení někdy přeloží překvapivým způsobem, například přidá nebo ubere negaci, či jinak nebezpečně posune význam. Zvlášť záludné je, že i překlad s takto změněným významem může být tak plynulý, že nebudí při běžném čtení žádné podezření, a jedinou šancí k jeho odhalení je tak pečlivé srovnání s originálním textem. Analýzou práce překladatelů kontrolujících automatický překlad a konzultacemi s nimi jsme zjistili, že klíčovým problémem při kontrole automatického překladu je právě kontrola sémantické správnosti překladu a s ní související orientace v textu. Pro kontrolu gramatické správnosti totiž stačí přečíst výsledný text, což je většinou rychlé, ale pro kontrolu adekvátnosti překladu je nutné stále přecházet mezi zdrojovým a cílovým textem a porovnávat je. Pokud přechod mezi zdrojem a překladem znamená hledání, je to nepříjemná a namáhavá činnost. Na druhou stranu, pokud vhodný nástroj usnadní orientaci a hledání odpovídajícího místa v druhém textu zjednoduší a urychlí, je tato činnost mnohem příjemnější, rychlejší a účninnější, protože překladatel se může soustředit na podstatu své práce, tedy kontrolu překladu, a nerozptylují ho podružné problémy jako hledání aktuálně kontrolované věty nebo její odpovídající části ve druhém textu.

Dalším úkonem, který těsně souvisí s kontrolou textu, je jeho následná oprava. V případě změny slovosledu a případně ještě náhrady slov se opět jedná o operaci, která je náročná na čas, a navíc ještě na lidskou paměť, protože během psaní opravy si musí překladatel zamýšlenou novou podobu věty zapamatovat. Proti tomuto lze postupovat několika způsoby (nejlépe současně). Jednak je vhodné poskytnout pro referenci původní znění věty před změnou, čehož lze dosáhnout například editací mimo hlavní text, jednak pomůže zkrácení času, kdy si uživatel musí opravu pamatovat, jednak vyloučení náročných činností během této doby. Posledních dvou cílů lze dosáhnout diktováním. Diktování pamatované věty je pro člověka přirozenou činností a neodpoutává myšlenky k jiným činnostem, například hledání posloupnosti slov, která má být přenesena na jiné místo, nebo mazání a psaní, kdy člověk sleduje měnící se text a hrozí, že při tom zapomene zamýšlenou cílovou podobu.

Shrnutí prací

Bylo navrženo a implementováno uživatelské rozhraní pro kontrolu a diktování překladu a služby zajišťující jeho funkčnost.

Po konzultacích s uživateli byl návrh rozhraní doplněn o další prvky, které usnadňují orientaci jak ve zdrojové, tak v cílové větě, usnadňují vyhledávání částí, které si odpovídají, poskytují podklady pro diktování a usnadňují další zpracování výsledků diktování.

Webové rozhraní systému tvoří a s ostatními systémy komunikuje CAT GUI server (Computer­Aided Translation Graphical User Interface, dále CGS). Ten implementuje import, editaci a export dokumentu, a využívá služeb statistického překladače, slovníkového překladače, generátoru modelů, rozpoznávače řeči a rerankeru.

Postup zpracování překladu dokumentu v systému

Zpracování překladu probíhá v několika krocích.

1. Na počátku se importuje zdrojový dokument, který je automaticky přeložen statistickým překladačem, čímž vznikají:
   ○ přeložený dokument pro další úpravy,
   ○ zarovnání mezi zdrojovým a cílovým dokumentem na úrovni vět a frází, 
   ○ n nejlepších překladů každé věty pro nabízení alternativ. 

2. Dále je spuštěn slovníkový překladač, který ve slovníku hledá výrazy ze vstupního textu, překládá je všemi ve slovníku obsaženými způsoby, a následně je ohýbá do všech tvarů.
3. Výsledky statistického a slovníkového překladače jsou použity jako vstup generátoru modelů. Ten vytvoří jazykové modely jednak pro přípravu rozpoznávače, jednak pro využití v rerankeru.
4. Dále je generována síť rozpoznávače.
5. Následuje kontrola a editace překladu uživatelem, při které může být využito diktování.
6. Po dokončení kontroly je dokument ze systému exportován.

Způsob zpracování diktování

1. Při editaci dokumentu server monitoruje, která věta je v uživatelském rozhraní právě editována, a v předstihu pro ni připravuje rozpoznávač a reranker.
2. Když uživatel nadiktuje nové znění části nebo celé věty, zvuk je odeslán na CGS, který k němu doplní informaci o kontextu a předá ho do rozpoznávače.
3. Rozpoznávač vybere relevantní rozpoznávací síť a provede rozpoznávání, jehož výsledkem je svaz (lattice), který je vrácen CGS. Každá hrana má mimo jiné přiřazeno rozpoznané slovo, kterému odpovídá, a věrohodnost (likelihood) tohoto slova podle akustického modelu.
4. CGS tento svaz přepošle do rerankeru s informací o aktuální větě.
5. Reranker zkombinuje jazykový model připravený pro danou větu s přijatým svazem a provede dekódování svazu. Výsledkem rerankeru je posloupnost vět odpovídajících nejlepším cestám svazem po kombinaci s daným jazykovým modelem.
6. Věty jsou prezentovány uživateli v okně pro alternativní překlady a výsledky diktování.

Rozhraní pro diktování překladu

Při editaci překladu jsou vedle sebe zobrazeny zdrojový text a text překladu, obojí s vyznačenou aktuální větou, dále pod sebou aktuální zdrojová věta, její překlad a alternativní možnosti překladu, vše s barevně vyznačeným dělením na fráze, což urychluje orientaci ve větě a zejména kontrolu významové správnosti překladu, která je asi nejzrádnějším a proto časově nejnáročnějším úkonem posteditace frázového překladu. Po diktování jsou v okně alternativních možností zobrazeny alternativní výsledky rozpoznávání (už bez dělení na fráze), které je možné vybrat do editoru překladu věty pro případnou další úpravu. Jako další zdroje informací pro uživatele jsou na pravé straně k dispozici slovník, v němž se zobrazuje slovo, nad kterým se zastaví kurzor myši, a ukázky jeho použití nalezené ve fulltextu. Tyto součásti byly vybrány, protože jsou zamýšleny v cílové aplikaci a umožňují nám ověřit zachování integrovatelnosti rozhraní pro kontrolu a diktování překladu s dalšími technologiemi.

Implementace systému

CGS je webová aplikace implementována v jazyce Java používající technologie JavaServer Faces [JSF] a Java Persistence API [JPA]. Systém je nasazen na aplikačním serveru GlassFish [GlassFish]. Důvodem pro výběr této technologie byla možnost udržovat si v paměti aplikačního serveru rozsáhlé datové struktury i mezi jednotlivými dotazy z prohlížeče. Jako trvalé úložiště dat je použita databáze MySQL [MySQL].

Úvodní překlad dokumentu je z CGS proveden skripty, které volají frázový překladač Moses [Moses], zde zpřístupněný jako mosesserver přes XMLRPC [XMLRPC]. Pro slovníkový překlad byl vyvinut překladač opttran, který pro jednotlivá slova vrací všechny možnosti překladu ze slovníku Lingea. Pro expanzi tvarů přeložených slov se využívá generátor slovních tvarů Lingea.

Pro generování jazykových modelů se používají jednak vlastní nástroje, jednak toolkity IRSTLM [IRSTLM] a KenLM [KenLM]. Během vývoje na VUT byl využíván toolkit pro práci s jazykovými modely SRILM [SRILM]. Pro rozpoznávání řeči byl implementován server využívající technologie BSCORE [BSCORE] vyvíjené společně firmou Phonexia s.r.o. a skupinou Speech@FIT na VUT Brno. Pro kompilaci rozpoznávacích sítí se využívá toolkit OpenFST [OpenFST].

Jako reranker se používá opět Moses, ale tentokrát jeho vstupem není text, ale svaz, a není použit jako server, ale jako řádkový program spouštěný na lokálním stroji. (Modely rerankeru jsou relativně malé oproti modelům překladače, a proto je jeho start dostatečně rychlý.)

Rozpoznávač řeči

Rozpoznávač řeči je založen na Skrytých Markovových Modelech (HMM) s triphone modely jednotlivých fonémů. Je trénován pomocí Maximum Likelihood metody. Výsledné přepisy slov jsou dekódovány za použití bi­gramového jazykového modelu. Systém v sobě kombinuje dvě základní techniky extrakce příznaků ­ neuronové sítě a PLP (Perceptual Linear Prediction coefficients). PLP příznaky jsou generovány standardním způsobem, včetně akceleračních koeficientů a HLDA (Heteroscedastic Linear Discriminant Analysis) transformace. Neuronová síť je použita k vygenerování tzv. Bottle­Neck příznaků. Tato neuronová síť je natrénována na stejných datech, jako zbytek systému (viz. datová sada).

Na vstupní audio signál je aplikována normalizace (CMN/CVN ­ Cepstral Mean Normalization/Cepstral Variance Normalization) s parametry odhadnutými pro každou nahrávku. Běh systému je několikaprůchodový. V prvním průchodu systém pouze zjistí, kde se v nahrávce vyskytuje řeč (VAD). Druhý průchod slouží k adaptaci systému na řečníka a kanál. Výstupem dekódování je poté svaz (lattice) slov s jejich celkovou likelihood výskytu a také s jednotlivými dílčími pravděpodobnostmi nagenerovanými akustickým modelem a jazykovým modelem.

Datová sada
Akustický model byl natrénován na dvou různých datových sadách. První sada obsahuje cca 80 hodin telefonních rozhovorů z různých zdrojů, tak aby byla zachována dostatečná rozmanitost trénovacích dat. Druhá sada obsahuje cca 40 hodin čtené řeči nahrané přes telefonní kanál. Dohromady tak datová sada obsahuje cca 120 hodin řeči, na které byl natrenován jak akustický model, tak neuronová síť pro extrakci příznaků.

Experimenty

VUT pokračovalo na vývoji a experimentování s rozpoznávačem řeči, který byl následně propojen s podpůrným systémem pro překladatele v Lingea. V Lingea byla nahrána a anotována sada 6 dokumentů:

 

Nad těmito dokumenty byly provedeny experimenty pro určení vhodné kombinace zdrojů pro jazykový model, který by byl co nejblíže cílové aplikaci ­ diktování překladů / eventuálně oprava chybně přeložených vět hlasem. Akustický model zůstává obecný, trénovaný na vzdálených mikrofonech z databáze SpeeCon. V rozpoznávači jsou implementovány techniky pro automatickou adaptaci na řečníka a na kanál. Jako vstupy pro jazykový model byly použity následující zdroje:

Ve všech případech se jednalo o dokumenty v angličtině, pro které byla pomocí automatických nástrojů vygenerována česká podpůrná data (viz výše). Z těch byl sestaven jazykový model a vložen do rozpoznávače řeči (Automatic Speech Recognition, ASR). Následně byla nahrávka diktovaná překladatelem v češtině převedena do textu pomocí ASR. Tento automatický přepis byl porovnán s referenčním přepisem (překladem anglického textu) a byla vypočtena úspěšnost (word accuracy v %). Pro další pokusy jsme se rozhodli omezit na datovou sadu EUB, která odpovídá nejpravděpodobnějšímu případu využití, tedy kooperativnímu diktování s běžným, dobře adaptovaným překladačem. Z ASR byly vygenerovány svazy (lattices ­ grafy paralelních hypotéz) a na nich byla vyhodnocena “Oracle” úspěšnost, tedy míra, jak dobře pokrývají hypotézy v grafu referenční texty. Toto číslo je teoreticky dosažitelné dalším zpracováním svazů v Lingea.

Pro lepší porovnání a objektivnost byla v referenčním přepisu odstraněna čísla a rozgenerována interpunkční znaménka na slova. Vycházelo se i z toho, že číslo je rychlejší napsat než nadiktovat, a že naopak interpunkční znaménka mohou být diktována, aby nebylo nutné přecházet mezi diktováním a psaním.

Popis jednotlivých experimentů:
  ● Pouze CTS: Základní systém s obecným CTS modelem.
  ● Baseline: MT pro všechny dokumenty smíchány s CTS v poměru 65:35 = jeden jazykový model pro všechny dokumenty. V ostatních případech je pro každý dokument vygenerován samostatný jazykový model.
  ● Baseline per document: MT pro každý dokument zvlášť smíchán s CTS v poměru 65:35 = každý dokument má vlastní jazykový model
  ● První sada experimentů byla provedena na všech dokumentech. EUB byl později zvolen pro další experimenty, protože nejlépe odpovídá předpokládanému použití.
  ● Referenční přepis: Jazykový model natrénovaný pouze na referenčních přepisech

Tabulka 1: Výsledky experimentů

systém ep ecb eub mal emea pouze CTS 68.17 83.69 77.21 (94.74) 61.00 44.38 baseline 75.30 85.68 81.06 60.67 48.59 baseline per dokument 91.46 94.73 81.56 (90.57) 60.67 88.22 MT 86.03 88.14 48.73 (65.27) 4.74 84.00 PHR, MT 86.69 89.66 63.21 (73.67) 32.02 84.34 PHR, GEN, MT 79.84 90.56 74.88 (91.89) 51.19 82.20 PHR, PHRU 69.62 (76.65) PHR, PHRU, MT 69.76 (76.81) PHR, PHRU, GEN 79.29 (88.59) PHR, PHRU, GEN, MT 80.32 (89.38) referenční přepis 94.42 97.27 95.51 (98.81) 87.75 92.10

Náš závěr z výsledků experimentů (Tabulka 1) je:
● Baseline dosáhl rozumné úspěšnosti. Bohužel pro vývoj cílové aplikace se nehodí, protože je třeba skládat dokumentový jazykový model s obecným modelem, který je příliš velký a celou operaci inicializace rozpoznávače neúměrně prodlužuje.
● Ostatní experimenty (bez CTS) mají vyhovující dobu tvorby rozpoznávací sítě z jazykového modelu, ale vesměs výrazně horší úspěšnost.
● Nakonec byl vybrán model vytvořený z výstupů frázových tabulek a z morfologicky rozgenerovaných slovníkových překladů. Úspěšnost se velmi blíží k baseline systému, s tím, že celá tvorba rozpoznávací sítě je mnohem jednodušší a rychlejší.

Závěr

Podařilo se vyvinout technologii, na jejímž základě bude postaven další vývoj rozhraní pro kontrolu překladu. Diktování se v něm osvědčilo zejména jako efektivní prostředek pro přeuspořádání věty. Tato technologie bude nejprve využívána uvnitř společnosti Lingea s. r. o. k některým typům překladů, později plánujeme její nasazení i pro jiné uživatele než zaměstnance.

Literatura

[Moses] Philipp Koehn, Hieu Hoang, Alexandra Birch, Chris Callison­Burch, Marcello Federico, Nicola Bertoldi, Brooke Cowan, Wade Shen, Christine Moran, Richard Zens, Chris Dyer, Ondrej Bojar, Alexandra Constantin, Evan Herbst, Moses: Open Source Toolkit for Statistical Machine Translation​, in Proc. Annual Meeting of the Association for Computational Linguistics (ACL), demonstration session, Prague, Czech Republic, June 2007.

[XMLRPC] http://xmlrpc.scripting.com/default.html

[IRSTLM] Marcello Federico, Mauro Cettolo, Efficient Handling of N­gram Language Models for Statistical Machine Translation, in Proceedings of the Second Workshop on Statistical Machine Translation. Association for Computational Linguistics, 2007.

[KenLM] Kenneth Heafield, Ivan Pouzyrevsky, Jonathan H. Clark, and Philipp Koehn: Scalable Modified Kneser­Ney Language Model Estimation, ACL, Sofia, Bulgaria, 4—9 August, 2013. [SRILM] Andreas Stolcke: SRILM ­ An Extensible Language Modeling Toolkit, in Proc. Intl. Conf. Spoken Language Processing, Denver, Colorado, September 2002

[BSCORE] https://www.phonexia.com/docs/bsapi/

[OpenFST] http://www.openfst.org/twiki/bin/view/FST/WebHome

[JSF] http://www.oracle.com/technetwork/java/javaee/javaserverfaces­139869.html

[JPA] http://www.oracle.com/technetwork/java/javaee/tech/persistence­jsp­140049.html

[GlassFish] http://www.oracle.com/us/products/middleware/cloud­app­foundation/glassfish­server/overview/index.html

[MySQL] http://www.mysql.com