Automatisch vertalen

Wie wel eens een computervertaling heeft gezien, weet dat je automatische vertaalsystemen voorlopig nog maar beter niet kunt gebruiken voor je Franse opstel. Hoe komt het dat computers nog niet zo goed kunnen vertalen als professionele vertalers? En welke systemen gebruiken deze computers?

door en

Van taal A naar taal B

Automatische vertaalsystemen zijn computerprogramma’s die een tekst vertalen zonder menselijke tussenkomst. De gedachte is dat de gebruiker een tekst in taal A invoert in het systeem, en dat die er na verwerking weer uitkomt als een inhoudelijk gelijkwaardige tekst in taal B. In het standaard geval gaat het om geschreven tekst die in digitale vorm aangeleverd wordt (tekst-naar-tekst), maar er bestaan ook al systemen die werken op de uitvoer van spraakherkenningssoftware of die gekoppeld zijn aan tekst-naar-spraaksystemen: spraak-naar-tekst of tekst-naar-spraak.

Het ontwerpen van automatische vertaalsystemen wordt vaak beschouwd als één van de moeilijkste domeinen in de taaltechnologie.

De Universal Translator uit StarTrek kan moeiteloos vertalen tussen alle verschillende talen die er in het universum gesproken worden. Helaas is de taaltechnologie nog niet zo ver ontwikkeld en blijft dit voorlopig nog altijd fictie…

Problemen

Er zijn verschillende redenen waarom het niet gemakkelijk is een systeem te ontwerpen dat een machine in staat stelt te vertalen.

Een eerste reden is lexicale dubbelzinnigheid. Veel woorden hebben meerdere betekenissen en wat een woord precies betekent, hangt vaak af van de context waarin dat woord gebruikt wordt. We illustreren dit aan de hand van volgende twee zinnen:

(1) Voordat we kunnen schaatsen hebben we wel drie nachten met een graad of zes vorst nodig.
(2) Alle macht werd door de huidige vorst in zijn eigen handen gecentraliseerd.

Als je Nederlands spreekt is het duidelijk dat het woord vorst in de eerste zin verwijst naar een weerstoestand en in de tweede zin naar een koninklijk persoon. Dat komt omdat de interpretatie van menselijke taalgebruikers gestuurd wordt door aanwijzingen in de context. Wanneer er van ‘schaatsen’ sprake is, denk je aan ijs, en wie aan ijs denkt associeert dit met vriesweer en dus met vorst. In een context van machtsuitoefening ligt een koninklijke vorst dan weer meer voor de hand.

Die contextuele informatie staat de menselijke taalgebruiker ter beschikking zonder dat iemand dat allemaal moet uitspellen, maar een automatisch vertaalsysteem weet niets zonder dat het beschikt over deze expliciete kennis in een machineleesbare vorm. Zonder die expliciete contextuele informatie kan het systeem geen correcte betekenis toekennen, en (dus) ook geen correcte vertaling genereren.

Daarnaast zorgen ook verschillen in woordvolgorde tussen talen voor moeilijkheden.Zo staat in het Nederlands het bijvoeglijk naamwoord meestal vóór het zelfstandig naamwoord en is dat in het Frans net andersom:

(3) Ik eet een groene appel
(4) Je mange une pomme verte

Als deze verschillen in woordvolgorde altijd hetzelfde zijn, is het voor een automatisch vertaalsysteem niet zo moeilijk om ze te modelleren. Maar jammer genoeg zijn de regels van taal complex. Bekijk even volgend voorbeeld:

(5) top left corner
(6) linkerbovenhoek

Waarom vertalen we top left corner in het Nederlands als linkerbovenhoek en niet als bovenlinkerhoek? Ook daar verschillen de talen wat de conventies betreft: iedere moedertaalspreker weet intuïtief welke combinaties wel of niet mogelijk zijn. Een moedertaalspreker heeft die kennis omdat hij of zij sommige combinaties vaker heeft gehoord of gelezen dan andere combinaties. Dat is zeker het geval bij frequent voorkomende combinaties die ook bekend staan als collocaties of vaste verbindingen.

Een gerelateerde maar nog grotere uitdaging voor automatische vertaalsystemen zijn idiomatische uitdrukkingen. Dit zijn woordgroepen waarvan de betekenis niet af te leiden is uit de afzonderlijke woorden, en die je daardoor niet letterlijk kunt vertalen. Een voorbeeld lees je in zinnen (7) en (8).

(7) met de handen in het haar zitten
(8) to be at one’s wit’s end

In beide talen wordt aangegeven dat iemand aan het einde van zijn Latijn is, en niet goed (meer) weet wat te doen, maar elke taal gebruikt hier een totaal verschillend beeld voor. Een machine die regels opgelepeld heeft gekregen om woord per woord of woordgroep per woordgroep te vertalen, kan hier niet mee omgaan.

Met woordenboeken en grammatica’s

Ondanks de vele moeilijkheden waar de taal ons mee confronteert als we een machine iets aan het verstand proberen te brengen, zijn er pogingen gedaan om automatische vertaalsystemen te bouwen. De meer traditionele systemen zijn regelgebaseerd, d.w.z. dat men de machine voedt met woordenboeken, en dat men de grammatica in regels probeert te vatten. Die regelgebaseerde systemen kunnen worden ingedeeld in drie types: directe systemen, transfersystemen en interlinguasystemen.

De benaderingen verschillen van elkaar in het niveau van taalkundige analyse die wordt gebruikt. Dit wordt vaak geïllustreerd aan de hand van de vertaaldriehoek van Vauquois.

Een brontekst (source text) kan op 3 verschillende manieren met een regelgebaseerde benadering worden omgezet in een doeltekst (target text): via directe, transfer- of interlingua systemen.

Directe systemen

In directe systemen wordt de vertaling van elk woord of elke woordgroep opgezocht in een tweetalig woordenboek en vervangen door het equivalente woord of de equivalente woordgroep in de doeltaal. Een direct systeem vereist geen of slechts een zeer minimale taalkundige analyse van de brontaalzin.

Het spreekt voor zich dat de kwaliteit van een direct systeem veel te wensen overlaat. Slechts in uitzonderlijke gevallen levert een woord-voor-woord-vertaling een goede vertaling op, als in:

9) The research was conducted by a team of British archeologists.
(10) Het onderzoek werd gevoerd door een team van Britse archeologen.

Transfersystemen

Transfersystemen bestaan uit drie stappen: analyse, transfer en synthese. In de analysestap wordt de grammaticale structuur van de brontaalzin geanalyseerd. Vervolgens wordt in de transferstap de structuur van de brontaalzin getransformeerd naar de structuur van de doeltaalzin en wordt de vertaling van elk woord of elke woordgroep opgezocht in een bilinguaal woordenboek.

Een voorbeeld van een transformatieregel voor het taalpaar Nederlands-Frans is de verplaatsing van het bijvoeglijk naamwoord binnen een nominale constituent:

De verschillende grammaticale structuren van een zin in het Nederlands en in het Frans. S = Sentence (zin); NP = Noun Phrase (nominale groep); Pron = Pronoun, pers.voornaamwoord; VP = Verb Phrase (werkwoordgroep); V = Verb, werkwoord; Det = Determiner, lidwoord; Adj = Adjective, Bijv.naamwoord; N = Noun, zelfst.naamwoord.

Tijdens de synthese worden vervolgens grammaticaal correcte zinnen gebouwd uit de doeltaalstructuur. In deze stap worden bijvoorbeeld doeltaalspecifieke congruentieregels toegepast (zo krijgt in ons voorbeeld une pomme verte het bijvoeglijk naamwoord vert de uitgang “e” omdat het zelfstandig naamwoord vrouwelijk is).

Het voordeel van een transfersysteem is zijn flexibiliteit. Aangezien de analyse- en synthesemodules ook kunnen worden ingezet voor andere taalparen, moet er voor elke nieuwe talencombinatie enkel een nieuwe transfermodule ontwikkeld worden.

Interlinguasystemen

Een interlinguasysteem bevat maar twee stappen: analyse en synthese. In de eerste stap wordt de brontaalzin geanalyseerd en weergegeven in een abstracte semantische representatie, tussentaal ( interlingua) geheten. Bij de synthese wordt de doeltaalzin gegenereerd uit deze abstracte representatie.

Het voordeel van een interlinguasysteem is een nog grotere flexibiliteit: voor elke nieuwe brontaal moet er maar eenmaal een analysecomponent ontwikkeld worden; voor elke nieuwe doeltaal een synthesecomponent. Conceptueel is dit dus de ideale oplossing. Alleen is er nog niemand in geslaagd om een geschikte tussentaal te ontwikkelen.

De statistische benadering

De regels en woordenboeken die deel uitmaken van de analyse-, transfer en synthesecomponent van regelgebaseerde systemen, worden gemaakt door taalkundigen. Het grootste nadeel van deze benaderingen is dat het (achterhalen en) uitschrijven van al die regels ontzettend arbeidsintensief is. De statistische benadering probeert dit probleem op te vangen.

De statistische benadering is een datagebaseerde benadering. Alle kennis die nodig is om nieuwe zinnen te vertalen wordt afgeleid uit parallelle corpora. Dat zijn grote verzamelingen van bestaande vertalingen. Op die corpora worden statistische leertechnieken toegepast, die taalonafhankelijk zijn. Daarom kan – als een parallel corpus voor een taalpaar beschikbaar is – redelijk snel een vertaalsysteem ontwikkeld worden voor dat taalpaar.

Wie echter ‘statistisch’ zegt, zegt ook ‘grote aantallen’: een rekensysteem moet over heel veel data beschikken wil het met enige zekerheid een vertaling kunnen geven van een zin. Dit betekent dus dat er grote parallelle corpora nodig zijn om een statistisch automatisch vertaalsysteem te kunnen bouwen. Google – dat zelf statistische vertaalsystemen ontwikkelt – spreekt van “miljarden woorden aan tekst”. Voor de Europese talen vormen de parallelle teksten van de debatten van het Europees parlement (Europarl) een belangrijk corpus.

De onderdelen van parallelle teksten zijn met elkaar verbonden – ‘gealigneerd’ is de technische term – op zinsniveau. Dat betekent dat de zinnen uit de brontekst verbonden worden met de zinnen uit de doeltekst. Het proces van aligneren verloopt voor een belangrijk gedeelte automatisch. De simpele veronderstelling dat korte zinnen door korte zinnen en lange zinnen door lange zinnen vertaald worden, ligt aan de basis van de meeste zinsaligneringsprogramma’s.

Google biedt met Google Translate een automatische vertaaldienst. Via de site kan je tussen 23 verschillende talen vertalen.
Klik op de afbeelding voor een vergroting

Naast tweetalige informatie heeft een statistisch systeem ook informatie nodig over hoe een zin gevormd moet worden in de doeltaal. Die informatie leert een statistisch systeem uit heel grote eentalige corpora van teksten in de doeltaal.

De meeste automatische vertaalsystemen die nu ontwikkeld worden zijn statistisch of hybride (ze combineren een statistische component met taalkundige regels).

Niet perfect, toch nuttig?

Je kan je afvragen waarom men automatische vertaalsystemen zou ontwikkelen als die nooit de kwaliteit van een professionele vertaler kunnen bereiken. Ook in de huidige stand van zaken zijn automatische vertaalsystemen echter nuttig in sommige omstandigheden.

Beperkt domein

Automatische vertaalsystemen hebben hun nut bewezen voor zeer specifieke toepassingen voor teksten uit een beperkt domein (subtaal). Een bekend voorbeeld is TAUM-Météo (Traduction Automatique Université de Montréal), een Canadees Frans/Engels vertaalsysteem dat weerberichten vertaalt. Weerberichten vormen een ideaal toepassingsgebied voor automatisch vertalen, omdat de teksten worden gekenmerkt door korte zinnen, een beperkte woordenschat, en weinig variatie in de zinsstructuren.

Een ander voorbeeld is de mobiele telefoon van NEC voor Japanse toeristen in Engelstalige landen. De gebruiker kan een zin in het Japans inspreken, waarna een Engelse vertaling op het scherm verschijnt. Omdat het systeem maar een beperkte woordenschat heeft, is het alleen te gebruiken in standaard toeristische situaties als het boeken van een hotelkamer of het bestellen in een restaurant.

Kladversies

Automatische vertaalsystemen worden ook gebruikt om eerste versies te maken van een vertaling die een menselijke vertaler later uitwerkt. Vaak wordt het automatisch vertaalsysteem gekoppeld aan een vertaalgeheugen dat de vertaling van eerder vertaalde zinnen ophaalt uit een databank. Op die manier wordt het vertaalproces aanzienlijk versneld.

Eerste indruk

In de geglobaliseerde kennisuitwisseling maken automatische vertaalsystemen het de gebruiker mogelijk om zich een eerste idee te vormen over de inhoud van een anderstalige tekst. Op basis van de automatische vertaling kan dan bijvoorbeeld worden ingeschat of het de moeite loont om de tekst in handen te geven van een menselijke vertaler.

Zelf verschillende automatische vertaalsystemen uitproberen?