Door Marc van Oostendorp
Vorige week kondigde Google Translate een nieuwe, verbeterde versie aan van de vertalingen van (onder andere) het Nederlands naar het Engels en omgekeerd. Hoe is de nieuwe versie verbeterd? En wat kan er nóg beter? Ik vroeg het aan Antal van den Bosch, de directeur van het Meertens Instituut en zelf als hoogleraar Taal- en Spraaktechnologie ook ervaren in het maken van vertaalcomputers.
DirkJan zegt
Aardig om deze toelichting te horen, want ik was er wel benieuwd naar. Onlangs heb ik hier al zijdelings in een blog gereageerd op de vernieuwing van Google Translate en ik was sceptisch over de capaciteiten van de zogenaamde ‘deap learning’ van het vertaalmodel. En dat ben ik nu nog steeds. Wat is dat precies, hoe werkt het concreet?
Antal van Den Bosch zegt:
“Je mag hopen dus dat het model in de gaten heeft dat er allerlei kloes gegeven worden aan het begin van de zin die later in de zin van pas komen. Het model moet een soort van werkgeheugen bijhouden. Dat is eigenlijk alles wat je nodig hebt. Dat is de grote stap voorbij dan het kijken naar de korte context van drie, vier, vijf woorden. Je kijkt naar die context nog steeds, maar je bewaart ook informatie die mogelijk van nut is later. En het model besluit ook die informatie te bewaren en hij besluit ook sommige van die informatie weer te vergeten.”
Het eerste wat me opvalt dat hij dus afgaat op wat hij over Google Translate heeft gelezen en kennelijk het nieuwe model niet kent. Jammer, want dat zou hij kunnen zeggen waarom zijn voorbeeldzin nog niet goed vertaald wordt:
De man versiert de vrouw wordt nu vertaald met The man decorates a women.
En als Google Translate het ooit wel goed vertaald, dan zou ik concreet het vertaalproces met programmaregels willen lezen. Hoe doet hij dat dan concreet? Ja, je kan alle voorbeeldzinnen er wel instoppen, maar dat is geen model. En wat Van den Bosch niet vertelt is dat er ook een vertaalcommunity is opgericht waarbij mensen handmatig vertalingen gaan verbeteren. Prima, goed idee, maar zo kan ik het ook en heeft niets met een zelflerend model en algoritmes te maken.
Je kan je hier aanmelden.
https://translate.google.nl/community?source=t-new-user
En dan herhaal ik nog een keer de sleutelzin voor mij waarom ik sceptisch blijf. Van den Bosch zegt: “En het model besluit ook die informatie te bewaren en hij besluit ook sommige van die informatie weer te vergeten.” In een woord magisch!
Marc van Oostendorp zegt
Van den Bosch is waarschijnlijk een van de best ingevoerde Nederlanders op dit punt. Iemand die er meer van weet, werkt waarschijnlijk zelf bij Google en zal geen bedrijfsgeheimen verraden. Maar de essentie is dat het systeem ‘zelflerend’ is en zijn eigen conclusies trekt. Hoe hij dat doet, valt vervolgens ook voor de programmeurs waarschijnlijk vaak niet meer te achterhalen: het systeem ontdekt allerlei correlaties, maar dat is zo’n berg dat het menselijkerwijs niet meer te overzien is.
U kunt dus wel bezwaar hebben tegen een systeem met alleen heel veel voorbeelden en zonder ‘programmaregels’, maar dat is nu eenmaal hoe Google werkt; en het is succesvoller dan alle pogingen met wél expliciete regels.
Die community waar u op wijst wordt in het filmpje niet genoemd, omdat het waarschijnlijk binnenkort zal worden opgeheven. Toch is het geen tegenvoorbeeld tegen de ‘zelflerendheid’ van het (oude) systeem. Mensen gaven hier geen regels op, maar betere vertalingen. En daar trok het systeem vervolgens zijn eigen conclusies uit.
DirkJan zegt
Ik geloof juist in redelijke vertalingen met (handmatige) voorbeelden zonder programmeerregels en zonder het zogenaamd zelfleren en ‘kijken’ en conclusies trekken uit contexten van hele zinnen. Google pretendeert nieuwe algoritmes te hebben ontwikkeld die de vertalingen aanzienlijk verbeteren. En blijft bij mij de vraag staan, waarom kan Google Translate nu niet de simpele zin, ‘De man versiert de vrouw’ goed vertalen? En het is mij volstrekt onduidelijk en ongeloofwaardig dat als hij dat wel kan, waarom dat dan menselijkerwijs niet meer zou zijn te achterhalen waarom hij dat doet.
Marc van Oostendorp zegt
Het ‘versieren’-voorbeeld is volgens mij eigenlijk vrij eenvoudig te begrijpen. ‘Versieren’ heeft minstens drie betekenissen:
– mooi maken; dan is het lijdend voorwerp een locatie of een tastbaar object (de kamer versieren, de kerstboom versieren)
– opscharrelen voor de liefde; dan is het lijdend voorwerp een persoon (Joop versieren)
– regelen (een kaartje voor de opera versieren)
Je moet dus weten wat voor soort lijdend voorwerp het is: in het bijzonder moeten Joop, Marietje, ‘iemand’, ‘een leuke vrouw’ en al die andere zaken allemaal in de tweede genoemde betekenis worden gezien. Maar dan moet je dus over al die woorden generaliseren, want voor een individueel geval heeft zelfs Google waarschijnlijk te weinig data: zoveel vertalingen zullen er niet zijn van pakweg ‘Joop versieren’; zeker niet als je rekening moet houden met allerlei andere eisen aan een vertaling, zoals Antal van den Bosch in de video uitlegt.
DirkJan zegt
Wat je dus eigenlijk nu beweert is, Wat niet in de database zit, dat kan Google niet goed vertalen. Maar Van den Bosch heeft het over het ‘kijken naar context’, dan wil ik graag weten hoe hij dat concreet doet, hoe kijkt Google concreet nu naar woorden als ‘vrouw’, ‘boom’ en ‘kaartje’ als het om versieren gaat, of om iets anders. En dan staat de contextkloe in de voorbeeldzin heel dichtbij. Want ook het gegeven dat het moeilijker zou zijn als de contextwoorden verderaf staan vind ik onduidelijk, alsof een computer dan ‘dieper’ moet nadenken. Ik twijfel niet aan hoe het globaal werkt, maar mis concrete voorbeelden met hoe het wel of niet precies in zijn werk gaat. En bedenk dat een zogenaamd ‘dieplerend’ systeem ook gewoon aperte fouten kan opleveren die bijvoorbeeld weer door een statistisch systeem niet worden gemaakt. Of je hebt weer mensen nodig die checken of iets goed of fout is. Maar nogmaals, ik weet niet hoe dat concreet werkt en daar ben ik nieuwsgierig naar.
DirkJan zegt
En ik geloof wel in het kraken van correlaties in zinnen (niet omdat woorden veraf staan, maar omdat het naar meer woorden kijkt), maar ik mis in het verhaal hoe het zit met de menselijke input waarop het toch moet zijn gebaseerd en hoe die correlaties tot stand komen in een computer.
DirkJan zegt
[ Om de context van ‘versieren’ aan verschillende betekenissen te koppelen/korelleren heb je in principe geen vertaling nodig, de juiste context zou een computer ook kunnen bedenken aan de hand van een groot corps met Nederlandse zinnen. Maar ik weet niet hoe het precies werkt. ]
Marc van Oostendorp zegt
De ‘menselijke input’ zijn de miljoenen teksten met vertalingen waarover Google beschikt (bijvoorbeeld omdat er allerlei websites zijn die teksten in twee talen aanbieden, of omdat er boeken gescand zijn in het origineel en de vertaling). Dat is ook het enige, of het belangrijkste.
Op dit moment vertaalt GT ‘een vrouw versieren’ met ’to decorate a woman’, maar ‘een meisje versieren’ met ’to hit on a girl’. Dat betekent dat er veel voorbeelden van het laatste in de database zitten, maar niet genoeg van het eerste. Omdat kennelijk in het algemeen ‘versieren’ het vaakst gebruikt wordt in de betekenis ’to decorate’, wordt dan die versie gekozen.
GT kiest dus voor een woord de meest voorkomende vertaling tenzij er een andere vertaling is die vaker voorkomt in de context waarin die andere vertaling in de bestaande database gebruikt wordt.
DirkJan zegt
Als Google Translate zo werkt, dan vind ik dat wel een essentiële toevoeging bij het verhaal hoe het werkt. En het maakt mij dan nu verder niet uit of Google Translate ‘De man versiert een vrouw’ goed vertaalt, maar /hoe/ het tot deze vertaling komt en dan roept jouw verklaring toch ook weer vragen op, maar ik neem het zo aan. En bij meisje gaat het wel goed en dan denk ik toch stiekem of hier dan mogelijk menselijk vertaalwerk een rol speelt. Dat was ook de insteek van mijn reacties; hoe verhouden deeplearning en handmatig vertalen/leren zich tot elkaar in Google Translate? Daar heb ik dan nog geen compleet antwoord op, maar ik ben een stuk wijzer geworden. Hartelijk dank.
DirkJan zegt
Na wat krakend denkwerk in mijn eigen kleine denkraam deze middag denk ik nu wel wat beter te begrijpen hoe het werkt, maar ik mis waarschijnlijk het hele voortraject waarop een vertaalprogramma is gebaseerd kwa input, en zeker als het dan om Google Translate gaat. En ik durf eigenlijk nergens over te gissen, maar de zin, ‘De man versiert een vrouw’, wordt misschien niet door Google goed herkend omdat de zin te kort is omdat het juist te weinig context heeft om een goede conclusie te trekken. Hoe langer zinnen zijn die je korrelleert en analyseert, hoe groter de kans dat je ‘beter’ vertaalt. Google heeft gezegd dat het systeem zelf beter wordt en dat foute vertalingen nu, wellicht over een tijdje vanzelf wel goed worden vertaald.
joanne zegt
ik heb al zo veel onzin zien staan in vertaalde mail, dat er wat mij betreft weinig hoop is, dat er voorlopig behoorlijk vertaald gaat worden.
groet, joanne
DirkJan zegt
Ik zou graag nog preciezer willen weten hoe Google Translate een tekst automatisch vertaalt, maar dat wil niet zeggen dat ik laatdunkend ben over de dienst. Integendeel, ideaal vertalen is nog ver weg en waarschijnlijk nooit bereikbaar, maar als je een tekst bijvoorbeeld uit een voor mij totaal onbekende taal als Hongaars, Russisch of Chinees vertaalt, dan kom je toch een heel eind met wat er bedoeld wordt. Mooi dat het kan en (gratis) bestaat.