È stata pubblicata la versione 2.30.0 del sistema di traduzione automatica OpenNMT-tf (Open Neural Machine Translation), che utilizza metodi di machine learning. Il codice dei moduli sviluppati dal progetto OpenNMT-tf è scritto in Python, utilizza la libreria TensorFlow ed è distribuito con licenza MIT.
Parallelamente, è in sviluppo una versione di OpenNMT basata sulla libreria PyTorch, che si distingue per le funzionalità supportate. Inoltre, OpenNMT basato su PyTorch è presentato come più semplice da utilizzare e multimodale, mentre la variante basata su TensorFlow è considerata modulare, stabile e capace di sfruttare le capacità GPU per accelerare il processo di addestramento della rete neurale. Per facilitare la distribuzione del prodotto, il progetto sta anche sviluppando una versione standalone del traduttore in linguaggio C++ — CTranslate2, che utilizza modelli pre-addestrati senza dipendenze aggiuntive.
I modelli sono stati preparati per le lingue inglese, tedesca e catalana; per le altre lingue, è possibile creare autonomamente un modello basato su un insieme di dati proveniente dal progetto OPUS (per addestrare il sistema vengono forniti due file — uno con le frasi nella lingua di origine e l'altro con la traduzione di queste frasi nella lingua target).
Il progetto si sviluppa con la partecipazione dell'azienda SYSTRAN, specializzata nella creazione di strumenti di traduzione automatica, e di un gruppo di ricercatori di Harvard che sviluppano modelli di linguaggio umano per i sistemi di machine learning. L'interfaccia utente è stata massimizzata per semplificare l'uso, richiedendo solo l'indicazione di un file di input con il testo e un file per salvare il risultato della traduzione. Il sistema di estensioni consente di implementare funzionalità aggiuntive basate su OpenNMT, come autoreferenziazione, classificazione dei testi e generazione di sottotitoli.
Nella nuova versione:
- È stata aggiunta la compatibilità con la libreria TensorFlow 2.11, ma i nuovi ottimizzatori Keras non sono ancora supportati (è necessario utilizzare la modalità tf.keras.optimizers.legacy).
- È stata aggiunta la supporto per la nuova versione del motore CTranslate2 3.x, progettata per eseguire modelli con architettura 'transformer' in modo efficace.
- È stato aggiunto il parametro di addestramento delle modalità pad_to_bucket_boundary per includere il padding aggiuntivo che allinea la dimensione del blocco a valori che sono multipli di length_bucket_width.
- È stato integrato il supporto per le metriche chrf e chrf++ del progetto SacreBLEU, che confrontano la traduzione automatica con la traduzione umana di riferimento.
- È stato rimosso l'attributo del modello ctranslate2_spec, che non è più utilizzato in CTranslate2.
Fonte: opennet.ru
