angle-uparrow-clockwisearrow-counterclockwisearrow-down-uparrow-leftatcalendarcard-listchatcheckenvelopefolderhouseinfo-circlepencilpeoplepersonperson-fillperson-plusphoneplusquestion-circlesearchtagtrashx

DeepL API Machinevertalingen een beetje beter maken

We kunnen geen goede vertalingen van een machine verwachten als deze de context niet kent...

31 augustus 2019
post main image
unsplash.com/@danielkorpai

Natuurlijk is niets te vergelijken met een vertaling door een professionele vertaler. Automatische vertaling is moeilijk. DeepL probeert vertalingen te verbeteren door automatisch leren, maar ze zijn nog ver verwijderd van het gebruik van de juiste context.

Laat me je een voorbeeld geven. Deze website gaat over Python, , Flask, computernetwerk, etc. DeepL weet dit niet omdat we het niet kunnen vertellen. Maar het moet weten! De term " "Flask" mag machinaal worden vertaald naar "Flasche" (fles) in het Duits. De term 'Python heeft wielen' kan machinaal vertaald worden: 'Python hat Räder'. De term 'port 25' kan machinaal vertaald worden naar: Hafen 25'. Alles is verkeerd. DeepL Had deze niet moeten vertalen, maar hoe kan het dit weten?

Vertaalcontext

Er is maar één manier om een betere vertaling te krijgen en dat is door een vertaalcontext te leveren aan DeepL. In dit geval bijvoorbeeld: translate_for_context: 'Python,Flask'. Een andere manier zou zijn om DeepL enkele pagina's van de website te geven en de context zelf te laten bepalen. Helaas zijn beide op dit moment niet mogelijk.

Ik las over mensen die vertalingen vergelijken DeepL met Google Translate. Ja, DeepL lijkt (soms) een betere contextvertaler, maar is het altijd een goed idee om te proberen te vertalen binnen een context? En wat is de context in dit geval? En weet een menselijke vertaler dan nog steeds wat de bedoeling is van de oorspronkelijke tekst?

Betere vertalingen

Dus hoe kunnen we de bovenstaande problemen vermijden en een betere vertaling krijgen, of helemaal geen vertaling? Het DeepL suggereert dat je woorden die je niet wilt vertalen tussen tags plaatst, bijvoorbeeld <x> en </x>, en dan deze tag toevoegt aan de ignore_tags parameters. Dit zal werken, maar het is veel werk. In elke tekst moeten we tags invoegen voor woorden die we niet willen vertalen. Ik wil mijn teksten niet vervuilen met niet-vertaalbare tags.

Deze website heeft blogberichten over Python, Flaskenz. Dus in plaats van tags in alle blog posts kunnen we een lijst van gereserveerde woorden maken, wat betekent: vertaal deze woorden niet. Dit is nog steeds veel werk, want we moeten ook onze blog post tekst controleren op woorden die we niet vertaald willen worden. Maar het lijkt een redelijke manier om een eerste versie van een vertaalde tekst te krijgen. En het werk dat we nu doen hoeft niet te worden gedaan met de volgende blog posts.

Een lijst van gereserveerde woorden

Ik maakte een lijst van gereserveerde woorden en verving ze door onvertaalbare tags voordat ik de tekst naar de DeepL API. Dit betekende dat ik de standaard taal (Engels) teksten zin voor zin, woord voor woord moest doornemen. Op deze manier heb ik een lijst gemaakt van zo'n 100 gereserveerde woorden, termen, waaronder 'many-to-many', 'port 25', '', 'multistage', '', 'netmask',', etc.'. Ik moest er ook voor zorgen dat ik geen verschillende versies van deze termen had, zoals MariaDBMariadb, MariaDb. De resulterende vertalingen zijn nu veel beter, maar de teksten zijn nog verre van aanvaardbaar. Wat ik echt nodig heb zijn lijsten. Een lijst die alle trefwoorden voor Pythonbevat, een lijst die alle trefwoorden voor bevat Flask, een lijst die alle trefwoorden voor computernetwerktermen bevat, en sommige van deze lijsten moeten ook vertalingen hebben, omdat niet alle termen in het Engels in een andere taal kunnen zijn. En dan moet ik zelf nog steeds woorden uitsluiten omdat ze gerelateerd zijn aan de blogpost zelf en niet in een lijst staan.

Samenvatting

De resultaten van machinevertalingen zijn misschien acceptabel voor natuurlijke spraak, maar ze zijn zeker niet goed genoeg voor technische teksten zoals op deze website. Het zou mooi zijn als we een context zouden kunnen leveren DeepL (Python, Flask, , , netwerken, etc.) of in staat zijn om deze context zelf te laten DeepL bepalen, bijvoorbeeld door het leveren van enkele gerelateerde webpagina's. Hoewel mijn website meer een showcase is, wil ik zeker dat de vertalingen acceptabel zijn. Voor de volgende blogberichten zal ik gereserveerde woorden aan mijn lijst blijven toevoegen, maar ik zal ook het DeepL advies volgen om tags te plaatsen rond woorden die ik niet vertaald wil worden. Maar niet te veel.

Links / credits

DeepL
https://www.deepl.com/home

Lees meer

DeepL

Laat een reactie achter

Reageer anoniem of log in om commentaar te geven.

Opmerkingen

Laat een antwoord achter

Antwoord anoniem of log in om te antwoorden.