All Projects → NiuTrans → Niutrans.smt

NiuTrans / Niutrans.smt

Licence: gpl-2.0
NiuTrans.SMT is an open-source statistical machine translation system developed by a joint team from NLP Lab. at Northeastern University and the NiuTrans Team. The NiuTrans system is fully developed in C++ language. So it runs fast and uses less memory. Currently it supports phrase-based, hierarchical phrase-based and syntax-based (string-to-tree, tree-to-string and tree-to-tree) models for research-oriented studies.

Projects that are alternatives of or similar to Niutrans.smt

Turbotransformers
a fast and user-friendly runtime for transformer inference (Bert, Albert, GPT2, Decoders, etc) on CPU and GPU.
Stars: ✭ 826 (+817.78%)
Mutual labels:  machine-translation, decoder
Deep-NLP-Resources
Curated list of all NLP Resources
Stars: ✭ 65 (-27.78%)
Mutual labels:  parsing, machine-translation
Alfalfa
Purely functional video codec, used for ExCamera and Salsify
Stars: ✭ 1,164 (+1193.33%)
Mutual labels:  decoder
Uaiso
A multi-language parsing infrastructure with an unified AST
Stars: ✭ 86 (-4.44%)
Mutual labels:  parsing
Opennmt Tf
Neural machine translation and sequence learning using TensorFlow
Stars: ✭ 1,223 (+1258.89%)
Mutual labels:  machine-translation
Making A Custom React Renderer
Tutorial on how to make a custom React renderer
Stars: ✭ 1,184 (+1215.56%)
Mutual labels:  parsing
Lodestone Nodejs
Character tracking and parser library for nodejs
Stars: ✭ 81 (-10%)
Mutual labels:  parsing
Polar 3gpp Matlab
Matlab simulations of the encoder and SCL decoder for the New Radio polar code from 3GPP Release 15
Stars: ✭ 67 (-25.56%)
Mutual labels:  decoder
Evaluate
A version of eval for R that returns more information about what happened
Stars: ✭ 88 (-2.22%)
Mutual labels:  parsing
Decoder Plus Plus
An extensible application for penetration testers and software developers to decode/encode data into various formats.
Stars: ✭ 79 (-12.22%)
Mutual labels:  decoder
Decoder
一个网络摄像头解码监控平台
Stars: ✭ 86 (-4.44%)
Mutual labels:  decoder
Transformers without tears
Transformers without Tears: Improving the Normalization of Self-Attention
Stars: ✭ 80 (-11.11%)
Mutual labels:  machine-translation
Udacity Natural Language Processing Nanodegree
Tutorials and my solutions to the Udacity NLP Nanodegree
Stars: ✭ 73 (-18.89%)
Mutual labels:  machine-translation
Faad2
Freeware Advanced Audio (AAC) Decoder faad2 mirror
Stars: ✭ 82 (-8.89%)
Mutual labels:  decoder
Parsing With Haskell Parser Combinators
🔍 A step-by-step guide to parsing using Haskell parser combinators.
Stars: ✭ 72 (-20%)
Mutual labels:  parsing
Opusfile
Stand-alone decoder library for .opus streams
Stars: ✭ 86 (-4.44%)
Mutual labels:  decoder
Php Svg Lib
SVG file parsing / rendering library
Stars: ✭ 1,146 (+1173.33%)
Mutual labels:  parsing
Chinesenlp
Datasets, SOTA results of every fields of Chinese NLP
Stars: ✭ 1,206 (+1240%)
Mutual labels:  machine-translation
Mini Yaml
Single header YAML 1.0 C++11 serializer/deserializer.
Stars: ✭ 79 (-12.22%)
Mutual labels:  parsing
Buntis
A 100% compliant, self-hosted typescript parser that emits an ESTree-compatible AST
Stars: ✭ 90 (+0%)
Mutual labels:  parsing

NiuTrans.SMT: A Statistical Machine Translation System

  • NiuTrans.SMT is an open-source statistical machine translation system developed by the joint team from the Natural Language Processing Lab. at Northeastern University and the YaTrans Co.,Ltd. The NiuTrans.SMT system is fully developed in C++ language. So it runs fast and uses less memory. Currently it supports phrase-based, hierarchical phrase-based and syntax-based (string-to-tree, tree-to-string and tree-to-tree) models for research-oriented studies.

Features

  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
    • Phrase-based model
    • Hierarchical phrase-based model
    • Syntax-based (string-to-tree, tree-to-string and tree-to-tree) models

Requirements

  • 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.

Installation

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/".

Manual

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.

NiuTrans Team

  • Jingbo Zhu(Co-PI)
  • Tong Xiao(Co-PI)
  • Yinqiao Li
  • Quan Du
  • Qiang Wang
  • Yufan Jiang
  • Ye Lin
  • Yuhao Zhang

Acknowledgements: In the process of the implementation of this project, we get the support of previous graduates, they are Qiang Li (phrase extraction and many scripts), Hao Zhang (decoder, ME-reordering model), Rushan Chen (language model), Shujie Yao (data selection and data preprocessing), Ji Ma (language model and CWMT2013 baseline systems), Kunjie Sun (CWMT2013 Chinese-English baseline system) and Zhuo Liu (CWMT2013 English-Chinese baseline system).

How To Cite NiuTrans

If you use NiuTrans.SMT 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.

Get Support

For any questions about NiuTrans, please e-mail to us ([email protected]) directly.

History

NiuTrans version 1.4.0 Beta - May 12, 2018 (bug fixes)
NiuTrans version 1.3.1 Beta - December 1, 2014 (bug fixes for the t2s/t2t decoder and syntactic rule extraction module)
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)

Acknowledgements

This project is supported in part by the National Science Foundation of China, Specialized Research Fund for the Doctoral Program of Higher Education, and the Fundamental Research Funds for the Central Universities.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].