NiuTrans: A Statistical Machine Translation System - Version 1.3.0 Beta
NiuTrans is an open-source statistical machine translation system developed by the Natural Language Processing Group at Northeastern University, China. The NiuTrans system is fully developed in C++ language. So it runs fast and uses less memory. Currently it has already supported phrase-based, hierarchical phrase-based and syntax-based (string-to-tree, tree-to-string and tree-to-tree) models for research-oriented studies.
NEWS: NiuTrans V1.3.0 CWMT2013 was released. This version contains all utilities of NiuTrans V1.3.0 as well as detailed documentation/config of the baseline systems used in CWMT2013 Chinese-English/English-Chinese tasks.
1. Written in C++. So it runs fast.
2. Multi-thread supported
3. Easy-to-use APIs for feature engineering
4. Competitive performance for translation tasks
5. A compact but efficient n-gram language model is embedded. It does not need external support from other softwares (such as SRILM)
6. Supports multiple SMT models
a) Phrase-based model
b) Hierarchical phrase-based model
c) Syntax-based (string-to-tree, tree-to-string and tree-to-tree) models
The system is open-source and available under the GNU General Public License (See more information about GPL here).
To download its source code and the sample data, please click link 1 or link 2.
For Windows users, Visual Studio 2008, Cygwin, and
perl (version 5.10.0 or higher) are required. It is suggested to install cygwin under path "C:\" by default.
For Linux users, gcc (version 4.1.2 or higher), g++ (version 4.1.2 or higher), GNU Make (version 3.81 or higher) and perl (version 5.8.8 or higher) are required.
NOTE: 2GB memory and 10GB disc space is a minimal requirement for running the system. Of course, more memory and disc space is helpful if the system is trained using large-scale corpus. To support large data/model (such as n-gram LM), 64bit OS is recommended.
Please unpack the downloaded package (surppose that the target directory is "NiuTrans") and follow the following instructions to install the system.
For Windows users,
- open "NiuTrans.sln" in "NiuTrans\src\"
- set configuration mode to "Release"
- set platform mode to "Win32" (for 32bit OS) or "x64" (for 64bit OS)
- build the whole solution
You will then find that all binaries are generated in "NiuTrans\bin\".
For Linux users,
- cd NiuTrans/src/
- chmod a+x install.sh
- ./install.sh -m32 (for 32bit OS) or ./install.sh (for 64bit OS)
- source ~/.bashrc
You will then find that all binaries are generated in "NiuTrans/bin/".
The package also offers a manual to describe more details about the system, as well as various tricks to build better MT engines using NiuTrans. Click here to download the manual in pdf.
Jingbo Zhu (Co-PI)
Tong Xiao (Co-PI)
Acknowledgements: In the process of the implementation of this project, we get the support of previous graduates, they are Hao Zhang (decoder, ME-reordering model), Rushan Chen (language model) and Shujie Yao (data selection and data preprocessing).
How To Cite NiuTrans
If you use NiuTrans in your research and would like to acknowledge this project, please cite the following paper
Tong Xiao, Jingbo Zhu, Hao Zhang and Qiang Li. 2012. NiuTrans: An Open Source Toolkit for Phrase-based and Syntax-based Machine Translation. In Proc. of ACL, demonstration session.
For any questions about NiuTrans, please e-mail to us (firstname.lastname@example.org) directly.
NiuTrans version 1.3.0 CWMT2013 - July 22, 2013 (CWMT2013 Chinses-English/English-Chinese baseline system)
NiuTrans version 1.3.0 Beta - July 17, 2013 (bug fixes, decoder updates, data preprocessing system updates, new scripts for CWMT2013)
NiuTrans version 1.2.0 Beta - January 31, 2013 (bug fixes, decoder updates, add preprocessing system, word-alignment tool and recasing module)
NiuTrans version 1.1.0 Beta - August 1, 2012 (bug fixes)
NiuTrans version 1.0.0 Beta - July 7, 2012 (three syntax-based models are supported)
NiuTrans version 0.3.0 - April 27, 2012 (hierarchical phrase-based model is supported)
NiuTrans version 0.2.0 - October 29, 2011 (bug-fixing, 32bit OS supported)
NiuTrans version 0.1.0 - July 5, 2011 (first version)
This project is supported in part by the National Science Foundation of China (60873091; 61073140), Specialized Research Fund for the Doctoral Program of Higher Education (20100042110031), and the Fundamental Research Funds for the Central Universities.