無監督神經機器翻譯——UNdreaMT
UNdreaMT 是一個開源的無監督神經機器翻譯系統,該系統的具體實現方式在以下的論文里有詳細地描述:
Mikel Artetxe, Gorka Labaka, Eneko Agirre,andKyunghyun Cho.2018.Unsupervised Neural Machine Translation. In Proceedingsofthe Sixth International ConferenceonLearning Representations (ICLR2018).
論文鏈接:
https://arxiv.org/pdf/1710.11041.pdf
如果你需要用該軟體做學術研究,請在論文里引用以下信息:
@inproceedings,
title = ,
booktitle = ,
month = ,
year = {2018}
}
Github 鏈接:
https://github.com/artetxem/undreamt
安裝需求:
Python 3
PyTorch (tested with v0.3)
用法:
下面的指令使用了論文中描述的完全相同的設置用單語語料庫來訓練無監督的 NMT 系統。
python3train.py--srcSRC.MONO.TXT--trgTRG.MONO.TXT--src_embeddingsSRC.EMB.TXT--trg_embeddingsTRG.EMB.TXT--saveMODEL_PREFIX--cuda
上述的數據通過以下的方式提供:
SRC.MONO.TXT 和 TRG.MONO.TXT 是源數據同時是目標語言的單語庫,它們都應該進行預處理,以便原子符號(tokens 或 BPE 單元)由空格分隔。為此,我們推薦使用 Moses 來標記和真實化語料庫,如果開發者想使用 BPE,還可以選擇使用 Subword-NMT。
SRC.EMB.TXT 和 TRG.EMB.TXT 是源語言和目標語言的跨語言嵌入。建議使用 word2vec 或 fasttext 在上面的語料庫中訓練單語嵌入,然後使用 VecMap 將它們映射到共享空間。
MODEL_PREFIX 是輸出模型的前綴。
使用上述的設置,在單個 Titan Xp 上訓練大概需要 3 天。一旦訓練完成,你就能用生成的模型來翻譯,如下所示:
有關更多詳細信息和其他選項,請使用 --help 運行上述腳本。
【限時拼團】
NLP 工程師入門實踐班
三大模塊,五大應用,知識點全覆蓋;
海外博士講師,豐富項目分享經驗;
理論 + 實踐,帶你實戰典型行業應用;
專業答疑社群,結交志同道合夥伴。
新人福利
關注 AI 研習社(okweiwu),回復1領取
【超過 1000G 神經網路 / AI / 大數據,教程,論文】
如何在 Keras 中從零開始開發一個神經機器翻譯系統?
TAG:AI研習社 |