2012-07-02 23 views
12

Stiamo cercando un motore di traduzione automatica open source che possa essere incorporato nel nostro flusso di lavoro di localizzazione. Stiamo guardando le seguenti opzioni:Motori di traduzione automatica open source?

  1. Moses (C++)
  2. Joshua (Java)
  3. Phrasal (Java)

Tra questi, Mosè ha il sostegno della comunità più ampia e ha stato provato da molte società di localizzazione e ricercatori. In realtà ci stiamo orientando verso un motore basato su Java poiché le nostre applicazioni sono tutte in Java. Qualcuno di voi ha usato Joshua o Phrasal come parte del proprio flusso di lavoro. Potresti per favore condividere le tue esperienze con loro? Oppure, Moses è troppo avanti rispetto a questi in termini di funzionalità e facilità di integrazione.

E, è necessario che il motore supporta:

  1. dominio-specifici di formazione (vale a dire che dovrebbe mantenere le tabelle frase separate per ogni dominio che i dati di input appartiene).
  2. Allenamento incrementale (evitando di dover riqualificare il modello da zero ogni volta che si desiderano utilizzare alcuni nuovi dati di allenamento).
  3. Parallelizzazione del processo di traduzione.
+0

[Marcus] (http://stackoverflow.com/users/840647/marcus) ha chiesto: Solo curioso di sapere, hai iniziato a utilizzare Joshua o falso? Se è così, è possibile condividere la tua esperienza? –

+0

Benvenuti in Stack Overflow. Domanda interessante Ho fatto un po 'di ricerca su Google per trovare gli URL che ho inserito nella domanda per te - avresti avuto una domanda ancora migliore se li avessi aggiunti tu stesso (e magari hai trovato un URL migliore del PDF per Phrasal). –

+1

Qualcuno sa perché alcuni dei nomi dei software di traduzione automatica in qualche modo legati a egpyt/israele? per esempio. GIZA, MOSÈ, Joshua. – alvas

risposta

5

Questa domanda è meglio posta sulla mailing list di Moses ([email protected]), penso. Ci sono molte persone che lavorano con diversi tipi di sistemi, quindi avrai una risposta obiettiva. A parte questo, ecco il mio input:

  • Rispetto a Java: non importa in quale lingua viene scritto il sistema MT. Senza offesa, ma puoi tranquillamente supporre che anche se il codice fosse scritto in una lingua che conoscevi, sarebbe troppo difficile da capire senza una conoscenza approfondita di MT. Quindi quello che stai cercando sono le interfacce. Xml-rpc di Moses funziona correttamente.
  • Rispetto ai sistemi MT: cercare i risultati migliori, ignorare il linguaggio di programmazione in cui è scritto. I risultati sono: matrix.statmt.org. Le persone che usano il tuo sistema di MT sono interessate all'output non nelle tue preferenze di codifica.
  • Per quanto riguarda l'intera impresa: una volta che inizi a offrire l'uscita MT, assicurati di adattarla rapidamente. La MT si sta rapidamente spostando verso un processo di pipeline in cui un sistema MT è l'elemento centrale (e non l'unico). Quindi concentrarsi sulla manutenibilità. Nel caso ideale, saresti in grado di connettere qualsiasi sistema MT al tuo framework.

Ed ecco alcuni input sulle vostre richieste di funzionalità:

  • formazione specifica-Domain: non hai bisogno di questa funzione. Ottieni i migliori risultati di MT utilizzando la formazione dei dati specifici del cliente.
  • Formazione incrementale: vedere Stream Based Statistical Machine Translation
  • Parallelizzare il processo di traduzione: sarà necessario implementarlo da soli. Si noti che la maggior parte dei software MT è puramente accademica e non raggiungerà mai un traguardo di 1.0. Ovviamente, aiuta se è disponibile un server multi-thread (Moses), ma anche in questo caso, avrai bisogno di un sacco di codice di sfruttamento.

Spero che questo aiuti. Sentiti libero di rispondermi se hai altre domande.

5

Molto è stato andare avanti, quindi ho pensato di dare un aggiornamento su questo argomento, e lasciare la risposta precedente lì per documentare i progressi.

Formazione specifica del dominio: le tecniche di adattamento del dominio possono essere utili se i tuoi dati sono presi da varie fonti e devi ottimizzare verso un sottodominio. Dalla nostra esperienza, non esiste un'unica soluzione che funzioni sempre al meglio, quindi è necessario provare il maggior numero possibile di approcci e confrontare i risultati. C'è una mail sulla mailing list di Moses che elenca i possibili metodi: http://thread.gmane.org/gmane.comp.nlp.moses.user/9742/focus=9799various. La seguente pagina fornisce anche una panoramica della ricerca attuale: http://www.statmt.org/survey/Topic/DomainAdaptation

formazione incrementale: c'era un interessante discorso sulla IWSLT 2013: http://www.iwslt2013.org/downloads/Assessing_Quick_Update_Methods_of_Statistical_Translation_Models.pdf ha dimostrato che gli attuali metodi incrementali (1) prendere il vostro sistema non in linea, in modo da avere una vera " live-update "dei tuoi modelli (2) sono sovraperformati da re-training completi. Sembra che il problema non sia ancora stato risolto.

Parallelizzazione del processo di traduzione: il server Mosè rimane indietro sul file moses-cmd. Quindi, se vuoi utilizzare le ultime funzionalità, è meglio iniziare da moses-cmd. Inoltre, la comunità non ha mantenuto la sua promessa di non rilasciare mai una versione 1.0 :-). Infatti, puoi trovare l'ultima versione (2.1) qui: http://www.statmt.org/moses/?n=Moses.Releases