Apertium
Stabil frisättning | |
---|---|
Förvar | |
Skrivet i | C++ |
Operativ system | POSIX-kompatibel och Windows NT (begränsat stöd) |
Tillgänglig i | 35 språk, se nedan |
Typ | Regelbaserad maskinöversättning |
Licens | GNU General Public License |
Hemsida |
Apertium är en gratis/öppen källkod regelbaserad maskinöversättningsplattform . Det är fri programvara och släpps under villkoren i GNU General Public License .
Översikt
Apertium är ett maskinöversättningssystem för ytlig överföring , som använder finita tillståndsgivare för alla sina lexikaliska transformationer och dolda Markov-modeller för ordordstaggning eller disambiguering av ordkategorier. Constraint Grammar taggers används också för vissa språkpar (t.ex. bretonska – franska ).
Befintliga maskinöversättningssystem som är tillgängliga för närvarande är mestadels kommersiella eller använder proprietära teknologier, vilket gör dem mycket svåra att anpassa till nya användningsområden; dessutom använder de olika teknologier över språkpar, vilket gör det mycket svårt att till exempel integrera dem i ett enda flerspråkigt innehållshanteringssystem .
Apertium använder en språkoberoende specifikation för att göra det enkelt att bidra till Apertium, effektivare utveckling och förbättra projektets övergripande tillväxt.
För närvarande (december 2020) har Apertium släppt 51 stabila språkpar, som levererar snabb översättning med någorlunda begripliga resultat (fel korrigeras enkelt). Eftersom det är ett med öppen källkod tillhandahåller Apertium verktyg för potentiella utvecklare att bygga sitt eget språkpar och bidra till projektet.
Historia
Apertium har sitt ursprung som en av maskinöversättningsmotorerna i projektet OpenTrad, som finansierades av den spanska regeringen och utvecklades av forskargruppen Transducens vid Universitat d'Alacant . Det designades ursprungligen för att översätta mellan närbesläktade språk, även om det nyligen har utökats för att behandla mer divergerande språkpar. För att skapa ett nytt maskinöversättningssystem behöver man bara utveckla språklig data (ordböcker, regler) i väl specificerade XML -format.
Språkdata som utvecklats för det (i samarbete med Universidade de Vigo , Universitat Politècnica de Catalunya och Universitat Pompeu Fabra ) stöder för närvarande (i stabil version) arabiska , aragoniska , asturiska , baskiska , vitryska , bretonska , bulgariska , katalanska , krimska tatariska , danska , engelska , esperanto , franska , galiciska , hindi , isländska , indonesiska , italienska , kazakiska , makedonska , malaysiska , maltesiska , nordsamiska , norska ( bokmål och nynorsk ) , occitanska , polska , portugisiska , sardiska , ryska , ryska , Språken serbokroatiska , schlesiska , slovenska , spanska , svenska , tatariska , ukrainska , urdu och walesiska . En fullständig lista finns nedan. Flera företag är också involverade i utvecklingen av Apertium, inklusive Prompsit Language Engineering, Imaxin Software och Eleka Ingeniaritza Linguistikoa.
Projektet har deltagit i 2009, 2010, 2011, 2012, 2013 och 2014 utgåvorna av Google Summer of Code och 2010, 2011, 2012, 2013, 2014, 2015, 2017 och 2 av Google Code .
Översättningsmetodik
Detta är en övergripande, steg-för-steg-vy av hur Apertium fungerar.
Diagrammet visar de steg som Apertium tar för att översätta en källspråkstext (texten vi vill översätta) till en målspråkstext (den översatta texten).
- Källspråkstext skickas till Apertium för översättning.
- Deformateraren tar bort formateringsmarkering (HTML, RTF , etc.) som ska hållas på plats men inte översättas.
- Den morfologiska analysatorn segmenterar texten (expanderar elisioner , markerar uppsättningsfraser, etc.) och slår upp segment i språkordböckerna och returnerar sedan basform och taggar för alla matchningar. I par som involverar agglutinativ morfologi , inklusive ett antal turkiska språk , används en Helsinki Finite-State Transducer (HFST). I övrigt används en Apertium-specifik teknologi, kallad lttoolbox .
- Den morfologiska disambiguatorn (den morfologiska analysatorn och den morfologiska disambiguatorn bildar tillsammans delen av taltaggaren ) löser tvetydiga segment (dvs när det finns mer än en matchning) genom att välja en matchning. Apertium arbetar med att installera fler Constraint Grammar för sina språkpar, vilket gör det möjligt att införa mer finkorniga begränsningar än vad som annars skulle vara möjligt. Apertium använder Visual Interactive Syntax Learning Constraint Grammar Parser.
- Lexical transfer letar upp disambiguerade källspråksbasord för att hitta deras målspråksekvivalenter (dvs. mappa källspråk till målspråk) . För lexikal överföring använder Apertium ett XML -baserat ordboksformat som kallas bidix.
- Lexikalt urval väljer mellan alternativa översättningar när källtextordet har alternativa betydelser. Apertium använder en specifik XML -baserad teknik, apertium-lex-tools, för att utföra lexikalt urval .
- Strukturell överföring (dvs. det är ett XML- format som gör det möjligt att skriva komplexa strukturella överföringsregler) kan bestå av en ettstegsöverföring eller en trestegsöverföringsmodul. Den flaggar grammatiska skillnader mellan källspråket och målspråket (t.ex. köns- eller nummeröverensstämmelse ) genom att skapa en sekvens av bitar som innehåller markörer för detta. Den ordnar sedan om eller modifierar bitar för att producera en grammatisk översättning på målspråket. Detta görs också med hjälp av lttoolbox .
- Den morfologiska generatorn använder taggarna för att leverera den korrekta målspråkets ytaform . Den morfologiska generatorn är en morfologisk givare, precis som den morfologiska analysatorn. En morfologisk transduktor både analyserar och genererar former.
- Postgeneratorn gör alla nödvändiga ortografiska ändringar på grund av kontakten mellan ord (t.ex. elisioner ) .
- Omformateraren ersätter formateringsuppmärkning (HTML, RTF , etc.) som togs bort av omformateraren i det första steget.
- Apertium levererar målspråksöversättningen .
Språkpar
Lista över för närvarande stabila språkpar, håll muspekaren över språkkoderna för att se de språk som de representerar.
af
|
ar
|
en
|
ast
|
eu
|
br
|
bg
|
ca
|
de
|
da
|
nl
|
sv
|
eo
|
fi
|
fr
|
gl
|
hin
|
är
|
id
|
Det
|
kaz
|
mk
|
Fröken
|
mt
|
sme
|
anm
|
nn
|
oc
|
pt
|
ro
|
sc
|
hbs
|
slv
|
es
|
sv
|
tat
|
urd
|
cy
|
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
afrikaans | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
arabiska | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (←) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
Aragonese | Nej | Nej | — | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | ||
asturiska | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | ||
baskiska | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Ja (→) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (→) | Nej | Nej | Nej | Nej | ||
Breton | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Ja (→) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
bulgariska | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
katalanska | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | — | Nej | Nej | Ja (⇄) | Ja (→) | Ja (⇄) | Nej | Nej | Nej | Nej | Ja (←) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Ja (⇄) | Nej | Ja (→) | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | ||
tysk | ||||||||||||||||||||||||||||||||||||||
danska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (←) | Nej | Nej | Nej | ||
holländska | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
engelsk | Nej | Nej | Nej | Nej | Ja (←) | Nej | Nej | Ja (⇄) | Nej | Nej | — | Ja (⇄) | Nej | Ja (⇄) | Nej | Ja (←) | Nej | Nej | Nej | Ja (←) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (←) | Nej | Ja (⇄) | Nej | Nej | Nej | Ja (←) | ||
esperanto | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (←) | Nej | Nej | Ja (⇄) | — | Ja (←) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (←) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
finska | ||||||||||||||||||||||||||||||||||||||
franska | Nej | Nej | Nej | Nej | Nej | Ja (←) | Nej | Ja (⇄) | Nej | Nej | Nej | Ja (→) | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (→) | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | ||
galiciska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | ||
hindi | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | ||
isländska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (→) | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | ||
indonesiska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
italienska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (→) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (→) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
Kazakiska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | ||
makedonska | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Ja (→) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (←) | Nej | Nej | Nej | Nej | Nej | Nej | ||
malaysisk | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
maltesiska | Nej | Ja (→) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
nordsamiska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Ja (→) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
norska ( bokmål ) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (←) | — | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
norska ( nynorsk ) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
occitanska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nof | Nej | Ja (←) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | ||
portugisiska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | ||
rumänska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Ja (←) | Nej | Nej | Nej | Nej | ||
sardiska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (←) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (←) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | Nej | Nej | Nej | ||
serbokroatiska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (→) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (→) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | ||
slovenska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | — | Nej | Nej | Nej | Nej | Nej | ||
spanska | Nej | Nej | Ja (⇄) | Ja (⇄) | Ja (←) | Nej | Nej | Ja (⇄) | Nej | Nej | Ja (⇄) | Ja (→) | Ja (⇄) | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Ja (⇄) | Ja (←) | Nej | Nej | Nej | — | Nej | Nej | Nej | Nej | ||
svenska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (→) | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | Nej | ||
tatariska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | Nej | ||
Urdu | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (⇄) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — | Nej | ||
walesiska | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Ja (→) | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | Nej | — |
Se även
- Babel Fish (upphört; omdirigerar till Yahoo!s huvudsajt)
- Jämförelse av applikationer för maskinöversättning
- Jollo (upphört)
- Microsoft Translator
- Moses
- ÖppnaLogos
- SYSTRAN
- Yandex.Translate
Anteckningar
Referenser
- Corbí-Bellot, M. et al. (2005) "En maskinöversättningsmotor för maskinöversättning med öppen källkod för de romanska språken i Spanien" i Proceedings of the European Association for Machine Translation, 10th Annual Conference, Budapest 2005, s. 79–86
- Armentano-Oller, C. et al. (2006) "Öppen källkod portugisisk-spansk maskinöversättning" i föreläsningsanteckningar i datavetenskap 3960 [Computational Processing of the Portuguese Language, Proceedings of the 7th International Workshop on Computational Processing of Written and Spoken Portuguese, PROPOR 2006] , s 50– 59.
- Forcada, ML et al. (2010) "Dokumentation av den öppna källkodsplattformen för översättningsmaskinen Apertium " i Departament de Llenguatges i Sistemes Informatics, University of Alacant .
- Forcada, ML et al. (2011) " Apertium: en gratis/öppen källkodsplattform för regelbaserad maskinöversättning " . i " doi : 10.1007/s10590-011-9090-0
externa länkar
Slutanvändartjänster och mjukvara
(Alla tjänster är baserade på Apertium-motorn)
Webbplatser för översättning online
- Apertium Translation hem
- Prompsit översättare
- PoliTraductor-översättare
- University d' Alacant Översättare
- Universitat Oberta de Catalunya översättare