Překladová paměť: automatizace hrubou silou

V poslední době i u nás pomalu, ale jistě vcházejí ve známost systémy automatizovaného překladu založené na tzv. p...


V poslední době i u nás pomalu, ale jistě vcházejí ve známost systémy
automatizovaného překladu založené na tzv. překladové paměti (translation
memory). Někdy se také v souvislosti s těmito systémy hovoří o strojovém
překladu na základě příkladů (example-based machine translation, EBMT). Jedním
z takových systémů je např. Translators Workbench (TW) stuttgartské firmy
TRADOS.
Metoda, kterou tyto systémy obecně pracují, by se dala z jednoho hlediska
nazvat pověstně "metodou hrubé síly": složitá syntakticko-sémantická analýza,
jinak bezpochyby potřebná k vytvoření správného překladu textu, je zde
nahrazena hlavní předností dnešních počítačů velikostí paměti a rychlostí
jejího prohledávání.
Podíváme-li se na věc z trochu jiného úhlu, můžeme si naopak položit otázku,
jestli tato "nová cesta automatizace překladu" totiž prostě hledání analogií s
něčím, co už máme v paměti není vlastně věrnějším obrazem přirozeného lidského
přístupu k překládání než všechny modely založené na nějakých exaktních
gramatikách...
Z třetího úhlu pohledu pak systémy s překladovou pamětí mohou připomínat
pohádku "O tom, jak se hloupý Honza naučil překládat, ještě než k rozumu
přišel". Nutno připustit, že je to trochu zrůdná představa, ale zkuste si
představit Honzu opravdu tak hloupého, že význam složitějších pojmů a
konstrukcí nikdy nepochopí, zato však obdařeného neuvěřitelně velkou pamětí na
slova a věty, oblibujícího si čtení a naslouchání hovorům ve dvou jazycích
(jejichž základy se naučil od svých dvou rodičů) a majícího na to čtení a
naslouchání spoustu času (protože nic jiného ho stejně dělat nenechají).
Nedokázal by nakonec spoustu věcí velmi slušně překládat? Rozvoj systémů s
překladovou pamětí umožnila, či přímo vyvolala situace, kdy mnohé firmy a
instituce už mají ve svých archivech velké objemy starších textů i s jejich
překlady do různých jiných jazyků, a přitom nové texty, jejichž překlady jsou
zadávány, často neobsahují zase tak velké množství opravdu nových informací.
(Představme si například příručky a prospekty k určitým výrobkům nebo službám.
Výrobky, resp. služby a způsoby jejich poskytování, se modernizují, což
vyvolává nutnost neustálé aktualizace průvodních tištěných materiálů, nicméně
podstatné funkce výrobků či cíle nabízených služeb, které je třeba popsat,
zůstávají stejné, a tedy i velká část textů zůstává nezměněná, nebo téměř
nezměněná.)
Principy
Obecná myšlenka, na níž stojí aplikace překladové paměti, je zhruba
následující: potřebujeme-li přeložit nový dokument do určitého jazyka a máme-li
k dispozici do jisté míry podobný starší dokument i s jeho překladem, vyznačíme
v novém dokumentu odlišnosti od staršího a na odpovídajících místech upravíme
starý překlad. Překladová paměť chápáno abstraktně není vlastně nic víc než
schopnost zjistit, že určitá část textu byla už jednou přeložena určitým
způsobem. Realizace této myšlenky v počítači pak zpravidla vypadá následovně:
počítač si vytváří ("nárazově" nebo průběžně, viz dále) překladovou paměť jako
datovou strukturu obsahující určité jednotky textu (např. věty) a jejich
překlady.
počítač porovnává každou novou jednotku textu, která se má přeložit, se svou
překladovou pamětí, a pokud najde v paměti stejnou nebo alespoň významně
podobnou jednotku, nabídne ji uživateli i s jejím překladem ve speciálním
dialogovém okně na pozadí textového editoru, ve kterém uživatel vytváří překlad
aktuálního textu.
uživatel může použít počítačem nabízený překlad beze změn, anebo ho může
upravit; v případě, že počítač nenašel v překladové paměti úplně stejnou
textovou jednotku, zpravidla musí nabízený překlad upravit; konečně pokud
počítač nenašel v překladové paměti žádnou jednotku dost podobnou té, která se
má právě přeložit, musí uživatel tuto jednotku přeložit sám.
Z výše uvedeného ovšem vyplývá, že dokument nově překládaný tímto způsobem
nakonec ani nemusí být velmi podobný jedinému už dříve přeloženému dokumentu.
Stačí, aby se významné části nového dokumentu významně podobaly různým už dříve
přeloženým textům. (Nový výrobek, jehož popis překládáme, například kombinuje
funkce dvou předcházejících.) Je jen třeba, aby dříve přeložené dokumenty, jimž
je ten nový podobný, byly zahrnuty do překladové paměti.
Jak to funguje?
Optimální způsob aplikace systému s překladovou pamětí má dvě fáze:
Naplnění překladové paměti co největším množstvím už jednou přeložených textů,
o kterých předpokládáme, že se jim nově překládané texty budou podobat (k tomu
může sloužit speciální program: např. ve výše zmiňovaném systému TW je to
doplňkový program nazývaný TAlign).
Překládání nových textů s využitím překladové paměti. Během druhé fáze se ovšem
obvykle překladová paměť také automaticky průběžně doplňuje. Této možnosti pak
někteří uživatelé využívají i tak, že vynechají první fázi, neboli začínají s
prázdnou překladovou pamětí. To znamená, že zpočátku uživatel musí
velkou část textů překládat sám. Jakmile se ale v překládaných textech začnou
jakékoli významnější úseky opakovat, překladová paměť umožní výrazně zrychlit
práci. Využití překladové paměti
přitom mimochodem napomůže i větší konzistenci produkovaných překladů.
Nejjednodušší forma překladové paměti je databáze celých vět vstupního jazyka a
odpovídajících vět v cílovém jazyce. Takovou databázi lze velmi snadno
automaticky vytvořit z už existujících překladů starších dokumentů, pokud v
každém dokumentu a jeho překladu odpovídá jedné větě vždy jedna věta. Vzhledem
k odlišnosti jazyků tuto podmínku nemusí každý překlad splňovat. I potom však
jsou k dispozici jisté algoritmy poměrně spolehlivého párování vět (anglicky
sentence alignment) mezi dvěma texty, o kterých je dáno, že jeden je překladem
druhého. Uveďme si pro názornost jeden extrémně jednoduchý příklad. Nechť se v
obou textech vyskytuje právě dvakrát letopočet 1999. Dvě věty, ve kterých se v
každém textu nachází, představují jakési "kotevní body" pro následující
párování.
Textovými jednotkami uchovávanými v databázi by samozřejmě nemusely být jen
celé věty. Záleží pouze na tom, jaké jednotky dokáže stroj snadno automaticky
rozlišovat. Věty mají tu výhodu, že jsou většinou dost jednoduše formálně
vyznačeny začínají velkým písmenem a končí jedním z nemnoha interpunkčních
znamének. Tuto "definici věty" lze dále upřesnit různými odpozorovanými
parametry textů, se kterými pracujete: např., že "normální" věta v technickém
popisu má alespoň 5 slov, že tečka za jednociferným číslem větu
neukončuje a podobně. Rozdělit libovolný text na věty je tudíž
poměrně snadné i bez jakékoli
hlubší lingvistické analýzy.
Co s databází dál?
Můžeme si tedy představovat, že systém má svou databázi vět něčím naplněnou.
Představa databáze obsahující miliony různých vět, které už někdy byly
překládány, může působit hrozivě. V principu ovšem nejde o jiný problém, než
jaký před nás staví rozsáhlé slovníky (které ostatně také musí obsahovat nejen
jednotlivá slova, ale i celé fráze překládané zvláštním způsobem, v některých
odborných oblastech je dokonce podstatně víc víceslovných výrazů než
jednotlivých slov). Techniky, které lze použít k úspornému uložení databáze
slov či frází (tedy slovníku), lze stejně dobře použít i k úspornému uložení
databáze celých vět.
Vlastní použití překladové
paměti je pak alespoň v základních principech velmi jednoduché. Každou nově
překládanou větu se systém pokouší (byv k tomu vyzván např. tlačítkem "hledej
další větu") najít v překladové paměti. Najde-li ji, nabídne uživateli její
překlad. To je nejzákladnější princip, a dá se říci, že čím déle bude systém
používán na vzájemně podobných textech, tím častěji tento princip sám povede k
úspěchu.
Pro opačný případ, tedy když věta nebyla nalezena v překladové paměti, by
teoreticky mohlo být stanoveno nejjednodušší pravidlo: vyzvat uživatele, aby
větu přeložil sám (a uložit si do databáze další větu i s překladem). Většinou
se však konstruktéři snaží, aby se systém při vyhledávání v překladové paměti
"tak snadno nevzdával" a nenajde-li přesně tu větu, kterou je právě třeba
překládat, aby našel alespoň nějakou co nejpodobnější. To lze opět realizovat
různými způsoby, a může to být spojeno s různými zajímavými problémy.
Pro vyhledávání podobných vět samozřejmě musí být stanoveno nějaké rozumné
omezení na "smysluplnou podobnost" jako například to, že věta hledaná v
databázi musí obsahovat více než polovinu slov dané nové věty. (Uživatel
systému TW má možnost zadat konfigurační parametr, kolikaprocentní podobnost
vět je ještě zajímavá, a výrobce doporučuje podle zkušenosti optimální hodnoty
mezi 60 a 75 %. Také může být užitečné omezit maximální počet hledaných
podobných vět. I tak je ovšem dost obtížné hledat v databázi "nazdařbůh" něco,
co se "dostatečně podobá" dané větě. Firma TRADOS k řešení této úlohy aplikuje
blíže nespecifikované technologie nazývané v jejích materiálech "fuzzy
indexing", "fuzzy matching", a dokonce "neural networks" ("neuronové sítě")!
Závěr
Text v rastru na předchozí straně nás přivedl k jistému mantinelu systémů s
překladovou pamětí, který se týká doplňování větných koster.
K ideální práci systémů s překladovou pamětí by takové prvky jako výčty možných
koncovek a odkazy na výraz, podle kterého se z nich má vybírat, měly být do
větných koster doplňovány automaticky. V takovém případě by ale systém musel
provádět syntaktickou analýzu každé věty ale to bylo bohužel právě to, čemu
jsme se chtěli pomocí metody překladové paměti vyhnout!
Spíše je tedy asi třeba předpokládat, že systémy založené na překladové paměti
budou např. při překladu z libovolného jazyka do češtiny vyžadovat lidskou
revizi každé automaticky přeložené věty kdyby už z žádného jiného důvodu, tak
např. proto, aby se do náležitého tvaru dostala všechna přídavná jména a
slovesa.

9 1633 / pahn

Vývoj vět
Zdánlivě podivný pojem, ale podívejme se na to, co vlastně znamená. Je
zajímavé, že často i to, v čem se nové věty liší od těch už v databázi
uložených, je v určitém textu jaksi "stále stejné". Například starší text
obsahoval jisté věty o XY MakeYourself 98, zatímco nový text obsahuje téměř
stejné věty o XY&Z MakeYourself 99 (protože vývoj ničeho nelze zastavit, a
občas při něm dojde i k nějaké té fúzi)...
Z toho vychází následující schéma. Překladovou paměť podle něj lze koncipovat
jako databázi párů (resp. n-tic, pokud se překládá mezi více jazyky) větných
koster, doplněnou terminologickou databází pro dané jazyky a o obor
překládaných textů. Větné kostry se získávají z textů automaticky tak, že se v
konkrétních větách nahradí speciálními symboly proměnných všechny výskyty
těchto prvků:
1. termínů obsažených v terminologické databázi
2. tzv. transwords neboli slov a slovům podobných jednotek textu, které se
nepřekládají vlastních jmen, zkratek (neobsažených v terminologické databázi),
fyzikálních značek, chemických vzorců, čísel ap.
Předpokládejme například, že toto schéma aplikujeme v oboru automobilového
průmyslu. Terminologická databáze obsahuje mimo jiné anglické termíny car (s
českým ekvivalentem vůz) a independent front suspension (s českým ekvivalentem
nezávislé zavěšení předních kol). V již přeloženém anglickém textu se nachází
věta: "The new independent front suspension makes the 99 cars much easier to
drive." Český překlad zní: "Nové nezávislé zavěšení předních kol velmi
usnadňuje řízení vozů modelového roku 99." Na základě této dvojice vět bude do
překladové paměti zařazen záznam definující dvojici větných koster:
ANGLICKY: The new X1 makes the X2 X3 much easier to drive.
ČESKY: Nové X1 velmi usnadňuje řízení X3 modelového roku X2.
(Proměnná X1 byla dosazena za "independent front suspension", resp. "nezávislé
zavěšení předních kol", X2 za "99", a konečně X3 za "cars", resp. "vozů".)
Každou větu nově překládaného anglického textu systém opět převádí na větnou
kostru tak, že výskyty termínů a transwords nahradí symboly proměnných, a poté
hledá v překladové paměti pokud možno stejnou (nebo opět alespoň co
nejpodobnější) anglickou větnou kostru. Nyní je ovšem větší pravděpodobnost, že
najde úplně stejnou větnou kostru. Nová věta může znít např.: "The new ABS
makes the 2001 coupés much easier to drive." Výraz "ABS" by zřejmě byl
rozpoznán jako transword, stejně tak letopočet "2001". Termín "coupé" by jistě
byl nalezen v terminologické databázi (s českým překladem "kupé"). Větě by tedy
byla přiřazena naprosto stejná větná kostra, jakou vidíme v poslední ukázce
záznamu překladové paměti. (Jen konkrétní "obsazení proměnných" by tentokrát
bylo jiné: X1 = "ABS", X2 = "2001", X3 = "coupés"/"kupé".)
Na základě tohoto záznamu překladové paměti (jako určitého obecnějšího vzoru
pro překlad) by tedy uživateli byl nabídnut konkrétní překlad: "Nové ABS velmi
usnadňuje řízení kupé modelového roku 2001."
Větné kostry tedy mohou být využity mnohonásobně; vyhledávání v překladové
paměti je přitom rychlejší nejen proto, že se překladová paměť zmenší, ale také
protože častěji postačí hledání zcela shodné kostry. Aplikaci obdobného
schématu proto nabízí i systém firmy Trados. Uživatel si ovšem k tomu musí buď
přikoupit nebo sám vytvořit terminologickou databázi pro příslušný obor a
jazyky.
Vnímavý čtenář už ale v této chvíli asi tuší, že poslední příklad bohužel
"fungoval" tak dokonale jen díky jisté náhodě: že ABS je v češtině středního
rodu stejně jako nezávislé zavěšení předních kol, a že kupé není třeba
skloňovat! Zde je bohužel "zakopaný pes".

Příklad překladu pomocí TM
Představme si například, že máme právě překládat z angličtiny větu: "What
exactly is a translation memory (TM)?" a že v překladové paměti je k dispozici
tento záznam:
ANGLICKY: What precisely is a translation memory (TM)?
ČESKY: Co přesně představuje překladová paměť?
Jistě může být užitečné zobrazit uživateli informaci ve formě:
VSTUP: What exactly is a translation memory (TM)?
V PŘEKLADOVÉ PAMĚTI NALEZENO:
ANGLICKY: What precisely is a translation memory (TM)?
ČESKY: Co přesně představuje překladová paměť?
V tomto případě by dokonce uživatel mohl použít nabízený překlad bez úprav
významový rozdíl mezi slovy "exactly" a "precisely" je zde nepodstatný. Jenže
to ví (snad) uživatel, systém vyhledávající v databázi nikoliv.
Co když bude databáze obsahovat i jiný podobný záznam? Např.:
ANGLICKY: What is a translation memory (TM)?
ČESKY: Co je to překladová paměť?
Která z anglických vět v překladové paměti je vlastně vstupní větě podobnější?
Jak se to vůbec má počítat? Systém Translators Workbench přiřadí první z nich
podobnost 90 %, druhé 87 %, ovšem jakou matematikou dochází zrovna k těmto
číslům, to si jeho konstruktéři nechávají "pod pokličkou".









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.