Dansk introduktion

From Apertium
Revision as of 09:55, 19 January 2010 by Jacob Nordfalk (talk | contribs)
Jump to navigation Jump to search

Open Source maskinoversættelse med Apertium

Introduktion

Vi er nok mange der kender problemet: Man har en tekst på dansk og skal bruge den på engelsk. Eller omvendt. Eller man har noget på russisk, og man vil meget gerne lige se om netop det svar man søger måske står i teksten, men kan ikke et ord russisk.

Heldigvis har vi jo Google Oversæt: Vupti, ind med teksten på http://translate.google.com/ og ud kommer en mere eller mindre forståelig oversættelse af teksten.

Men... se nu hvad der sker hvis vi tager en tilfældig side (fra svensk wikipedia) og oversætter til dansk:

Trakterna kring Fredriksberg räknas som bebodda sedan 1600-talet.

Google Oversæt giver:

Områderne omkring Fredriksberg tælles som har været besat siden 1600-tallet.

Hmm... er Google nu egentlig en hjælp?

Den rigtige oversættelse er:

Områderne omkring Fredriksberg regnes som beboede siden 1600-tallet.

Generelt skelner man mellem to brugssituationer:

  • Formidling - maskinoversættelsen giver en råtekst til efterredigering. Målet er at få redigeringsdistancen (dvs antal rettelser der skal til for at rette maskinoversættelsen så den er acceptabel som en rigtig oversættelse) så langt ned som muligt.
  • Forståelse - man kan ikke forstå kildesproget (f.eks. russisk) og bruger derfor en maskine til at lave en oversættelse som man kan forstå.

Google Oversæt har problemer på begge fronter: Redigeringsdistancen er ikke ret meget mindre i forhold til bare at rette den svenske tekst, og forståelsen er gået fløjten (beboet -> besat).

Apertium svensk-dansk

Apertium er open source maskinoversættelsessystem med p.t. over 20 sprogpar og mange flere undervejs.

Apertium er unikt, fordi:

  • ikke blot maskinoveresættelsesmotoren, men også alle sprogdata og alle supplerende værktøjer er frigivet under GPL
  • det har et meget aktivt og hjælpsomt miljø omkring sig
  • det kan udvikles uden at have en universitetsgrad i hverken lingvistik eller IT
  • det er hurtigt voksende og omfattende. Således er der blot de sidste 2 måneder kommet engelsk-esperanto, nynorsk-bokmål og svensk-dansk til

Alle sprogpar kan bruges fra http://apertium.org/, men kan også nemt hentes installeres på UNIX-baserede systemer. Dertil kommer at det findes i som en del af standarddistribtionen af Ubuntu, desværre i en gammel udgave, så vi installerer det fra bunden, hvilket heldigvis ikke er så svært.

Først de nødvendige forudsætninger:

sudo apt-get install subversion build-essential g++ pkg-config libxml2 libxml2-dev libxml2-utils xsltproc flex automake autoconf libtool libpcre3-dev


Nu skal der installeres. Først lttoolbox (som Apertium afhænger af), så Apertium og til sidst selve sprogparret (hvis du ikke har lyst til at taste det ind selv, så ligger instruktionerne også på http://wiki.apertium.org/wiki/Dansk_introduktion).

mkdir apertium
cd apertium

svn co http://apertium.svn.sourceforge.net/svnroot/apertium/trunk/lttoolbox
cd lttoolbox
sh autogen.sh
make
sudo make install
sudo ldconfig
cd ..

svn co http://apertium.svn.sourceforge.net/svnroot/apertium/trunk/apertium
cd apertium
sh autogen.sh
make
sudo make install
sudo ldconfig
cd ..

svn co http://apertium.svn.sourceforge.net/svnroot/apertium/trunk/apertium-sv-da
cd apertium-sv-da
sh autogen.sh
make
sudo make install
cd ..



Nu er vi klar til at prøve en hel oversættelse. Apertium er lavet helt i UNIX-ånden og virker naturligvis med en pipe:

echo "Trakterna kring Fredriksberg räknas som bebodda sedan 1600-talet" | apertium sv-da


Resultatet kommer prompte:

*Trakterna omkring *Fredriksberg regnes som *bebodda siden 1600-talen

Stjerner er ord som Apertium sv-da p.t. ikke kender (men det har jo åben kildekode, så det kan vi jo lave om på - mere herom i en senere artikel). Den slags advasler kan fjernes med parametren -u hvis man helst er fri for dem.

Man kan også oversætte filer, i de mest almindelige formater (txt, html, rtf, odt, docx og et par andre) med parametren -f.

Her prøver jeg at oversætte artiklen her til svensk.

apertium -u -f odt da-sv apertium-dkuug-artikel.odt artikel-svensk.odt


Første afsnit af artiklen her bliver oversat af Apertium med:

Vi är nog många dit känner problemet: Man har en text på danska och skal brukar den på engelska. Eller omvende. Eller man har något på ryska, och man vill mycket gerne lika se om just det svara man søg kanske står i texten, mena kan icke et ord ryska.

Retningen fra dansk til svensk er ikke klar endnu (her bliver det rart med -u), så resultatet bliver blandet - men stadig bedre end at skulle oversætte fra bunden af.


Boks

Jacob Nordfalk er ekstern lektor på Ingeniørhøjskolen i København og medudvikler på Apertium, hvor han har lavet esperanto-engelsk og i foråret 2009 var mentor på udvikling af et svensk-dansk sprogpar.

Jacob er interesseret i at finde folk der vil samarbejde omkring Apertium. I december holdt han et DKUUG-foredrag om Apertium (http://www.dkuug.dk/content/view/259/) som kan ses på http://video.dkuug.dk/. Lørdag 6. marts holder han endnu et foredrag og en workshop om Apertium på http://opensourcedays.org.