API's voor computervertaling

Posted on: 31/07/2019 by: Bert Vanhalst

Eén van de facetten van artificiële intelligentie is het uitvoeren van vertalingen. Taal is inherent heel complex, het is bijgevolg geen evidentie voor een computersysteem om volautomatisch tekst te vertalen. Zo kan een woord meer dan één betekenis hebben en moet de gepaste vertaling gekozen worden in functie van de context. Computers hebben het ook moeilijk om informeel taalgebruik (spreektaal) op een vlotte manier te vertalen. 

Om de kwaliteit van de vertalingen te verbeteren, wordt de laatste tijd meer en meer gebruik gemaakt van Neural Machine Translation (NMT) gebaseerd op deep learning technieken. NMT levert vlottere vertalingen af dan de oudere statistische methodes (Statistical Machine Translation - SMT) omdat NMT de volledige context van een zin gebruikt om woorden te vertalen. SMT houdt enkel rekening met een paar woorden vóór en na het te vertalen woord.

Alhoewel deze nieuwere technieken de kwaliteit van vertalingen kunnen verhogen, dienen computervertalingen meestal nog nabewerkt te worden door een menselijke vertaler.

API's

Het aanbod van software en services voor computervertalingen is groot. Een tool die wellicht gekend is bij het grote publiek is de Google Translate app. Die laat toe om snel korte vertalingen uit te voeren, op basis van tekstinput, spraak, handschrift of camerabeelden. Van de Google Translate app maakten we een Product Quick Review. Die kan je hier vinden.

Daarnaast zijn er een aantal spelers die API’s aanbieden voor computervertaling en taalherkenning:

De features zijn eigenlijk vrij gelijklopend bij die services:

  • Ze bieden allen een REST API aan om computervertalingen en taalherkenning te integreren in toepassingen. De meeste bieden ook client libraries of SDK’s aan. Bij de taalherkenning wordt meestal een betrouwbaarheidsscore teruggegeven.
  • De meeste services bieden een vorm van customisatie aan, waarbij er een eigen woordenboek of model kan opgesteld worden zodat specifieke termen, entiteiten of zinnen adequater vertaald worden.
  • Alle services bieden vertaling van documenten aan of het vertalen van grote hoeveelheden tekst via batch requests.

Het aantal ondersteunde talen varieert wel tussen de verschillende services. Deepl ondersteunt bijvoorbeeld minder talen, maar legt de nadruk naar eigen zeggen meer op de kwaliteit van de vertalingen.

Alle services hebben een betaalmodel waarbij betaald moet worden in functie van het gebruik (pay per use), typisch op basis van het aantal vertaalde characters. Bij bepaalde services is er een beperkt gratis gebruik mogelijk. Er gelden aparte (hogere) tarieven voor vertalingen die uitgevoerd worden op basis van custom modellen. Soms moet er ook betaald worden voor de hosting van die custom modellen.

Toepassingen

Hieronder volgen een aantal voorbeelden van mogelijke toepassingen van translation API's:

  • Het automatisch vertalen van webcontent.
  • Het meertalig maken van een chatbot. Hierbij wordt de chatbot getraind in één taal, bijvoorbeeld het Nederlands. Als iemand een vraag stelt aan de chatbot in een andere taal, wordt de vraag eerst omgezet naar het Nederlands. Het Nederlandstalige antwoord van de chatbot wordt uiteindelijk weer omgezet in de taal waarin de vraag oorspronkelijk gesteld werd.
  • Taalherkenning voor automatische indexatie van documenten.

Tekst versus spraak

Bij taalherkenning moeten we opmerken dat dit goed werkt op basis van tekst. Taalherkenning op basis van spraak-input is echter minder evident. De systemen die beschikbaar zijn, zijn beperkt tot een klein aantal talen. De Speech-To-Text API van Google bijvoorbeeld kan meerdere talen herkennen bij audio transcription, maar je moet al een vrij goed idee hebben van de mogelijke talen: je moet een lijst van potentiële talen meegeven met de vraag en dat aantal is beperkt tot maximum 3. Dit is onvoldoende om een scenario te ondersteunen waarbij men de taal van de gesprekspartner wil nagaan zonder een voorafgaande inperking van de mogelijke talen.

Bij vertaling van spraak is de klassieke flow om de spraak eerst om te zetten in tekst, die tekst te vertalen, en tenslotte de vertaalde tekst om te zetten naar spraak in de doeltaal. Er zijn echter initiatieven voor speech-to-speech translation waarbij spraak rechtstreeks omgezet wordt in vertaalde spraak zonder gebruik te maken van een tussenliggende tekstuele representatie. Dergelijke systemen, zoals Google Translatotron, zouden sneller werken, zouden beter kunnen omgaan met woorden die niet vertaald moeten worden (bijvoorbeeld eigennamen) en zouden de stem van de oorsponkelijke spreker kunnen behouden na vertaling, maar ze bevinden zich momenteel nog in een experimentele fase.

Conclusie

Zoals andere ready-to-use AI services, zijn API’s voor computervertalingen en taalherkenning eenvoudig om te integreren in een eigen toepassing. We moeten ons er evenwel van bewust zijn dat die vertalingen plaatsvinden in de cloud en we bij gebruik akkoord moeten gaan met de gestelde voorwaarden en het privacy-beleid van de leverancier. Ook de kwaliteit van de vertaling is een aandachtspunt, al kunnen we die voor een stuk verhogen door gebruik te maken van een custom model of eigen woordenlijst.