All Projects → Unbabel → Openkiwi

Unbabel / Openkiwi

Licence: agpl-3.0
Open-Source Machine Translation Quality Estimation in PyTorch

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Openkiwi

Opennmt Tf
Neural machine translation and sequence learning using TensorFlow
Stars: ✭ 1,223 (+678.98%)
Mutual labels:  machine-translation
Gtos
Code for AAAI2020 paper "Graph Transformer for Graph-to-Sequence Learning"
Stars: ✭ 129 (-17.83%)
Mutual labels:  machine-translation
Tensor2tensor
Library of deep learning models and datasets designed to make deep learning more accessible and accelerate ML research.
Stars: ✭ 11,865 (+7457.32%)
Mutual labels:  machine-translation
Deep Learning Drizzle
Drench yourself in Deep Learning, Reinforcement Learning, Machine Learning, Computer Vision, and NLP by learning from these exciting lectures!!
Stars: ✭ 9,717 (+6089.17%)
Mutual labels:  machine-translation
Nonautoreggenprogress
Tracking the progress in non-autoregressive generation (translation, transcription, etc.)
Stars: ✭ 118 (-24.84%)
Mutual labels:  machine-translation
Tokenizer
Fast and customizable text tokenization library with BPE and SentencePiece support
Stars: ✭ 132 (-15.92%)
Mutual labels:  machine-translation
Chinesenlp
Datasets, SOTA results of every fields of Chinese NLP
Stars: ✭ 1,206 (+668.15%)
Mutual labels:  machine-translation
Nspm
🤖 Neural SPARQL Machines for Knowledge Graph Question Answering.
Stars: ✭ 156 (-0.64%)
Mutual labels:  machine-translation
Cluedatasetsearch
搜索所有中文NLP数据集,附常用英文NLP数据集
Stars: ✭ 2,112 (+1245.22%)
Mutual labels:  machine-translation
Masakhane Mt
Machine Translation for Africa
Stars: ✭ 142 (-9.55%)
Mutual labels:  machine-translation
En Fr Mlt Tensorflow
English-French Machine Language Translation in Tensorflow
Stars: ✭ 99 (-36.94%)
Mutual labels:  machine-translation
Opus Mt
Open neural machine translation models and web services
Stars: ✭ 111 (-29.3%)
Mutual labels:  machine-translation
Subword Nmt
Unsupervised Word Segmentation for Neural Machine Translation and Text Generation
Stars: ✭ 1,819 (+1058.6%)
Mutual labels:  machine-translation
Niutrans.smt
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.
Stars: ✭ 90 (-42.68%)
Mutual labels:  machine-translation
Deepl Translator
This module provides promised methods for translating text using DeepL Translator (https://www.deepl.com/translator) undocumented API.
Stars: ✭ 145 (-7.64%)
Mutual labels:  machine-translation
Transformers without tears
Transformers without Tears: Improving the Normalization of Self-Attention
Stars: ✭ 80 (-49.04%)
Mutual labels:  machine-translation
Awesome Ai Services
An overview of the AI-as-a-service landscape
Stars: ✭ 133 (-15.29%)
Mutual labels:  machine-translation
Mtbook
《机器翻译:基础与模型》肖桐 朱靖波 著 - Machine Translation: Foundations and Models
Stars: ✭ 2,307 (+1369.43%)
Mutual labels:  machine-translation
Deeply
PHP client for the DeepL.com translation API (unofficial)
Stars: ✭ 152 (-3.18%)
Mutual labels:  machine-translation
Pytorch Dual Learning
Implementation of Dual Learning NMT on PyTorch
Stars: ✭ 141 (-10.19%)
Mutual labels:  machine-translation

OpenKiwi Logo


PyPI version python versions CircleCI Code Climate coverage Code Style GitHub last commit

Open-Source Machine Translation Quality Estimation in PyTorch

Quality estimation (QE) is one of the missing pieces of machine translation: its goal is to evaluate a translation system’s quality without access to reference translations. We present OpenKiwi, a Pytorch-based open-source framework that implements the best QE systems from WMT 2015-18 shared tasks, making it easy to experiment with these models under the same framework. Using OpenKiwi and a stacked combination of these models we have achieved state-of-the-art results on word-level QE on the WMT 2018 English-German dataset.

News

  • An experimental demonstration interface called OpenKiwi Tasting has been released on GitHub and can be checked out in Streamlit Share.

  • A new major version (2.0.0) of OpenKiwi has been released. Introducing HuggingFace Transformers support and adoption of Pytorch-lightning. For a condensed view of changed, check the changelog

  • Following our nomination in early July, we are happy to announce we won the Best Demo Paper at ACL 2019! Congratulations to the whole team and huge thanks for supporters and issue reporters.

  • Check out the published paper.

  • We have released the OpenKiwi tutorial we presented at MT Marathon 2019.

Features

  • Framework for training QE models and using pre-trained models for evaluating MT.
  • Supports both word and sentence-level (HTER or z-score) Quality estimation.
  • Implementation of five QE systems in Pytorch: NuQE [2, 3], predictor-estimator [4, 5], BERT-Estimator [6], XLM-Estimator [6] and XLMR-Estimator
  • Older systems only supported in versions <=2.0.0: QUETCH [1], APE-QE [3] and a stacked ensemble with a linear system [2, 3].
  • Easy to use API. Import it as a package in other projects or run from the command line.
  • Easy to track and reproduce experiments via yaml configuration files.
  • Based on Pytorch-Lightning making the code easier to scale, use and keep up-do-date with engineering advances.
  • Implemented using HuggingFace Transformers library to allow easy access to state-of-the-art pre-trained models.

Quick Installation

To install OpenKiwi as a package, simply run

pip install openkiwi

You can now

import kiwi

inside your project or run in the command line

kiwi

Optionally, if you'd like to take advantage of our MLflow integration, simply install it in the same virtualenv as OpenKiwi:

pip install openkiwi[mlflow]

Getting Started

Detailed usage examples and instructions can be found in the Full Documentation.

Contributing

We welcome contributions to improve OpenKiwi. Please refer to CONTRIBUTING.md for quick instructions or to contributing instructions for more detailed instructions on how to set up your development environment.

License

OpenKiwi is Affero GPL licensed. You can see the details of this license in LICENSE.

Citation

If you use OpenKiwi, please cite the following paper: OpenKiwi: An Open Source Framework for Quality Estimation.

@inproceedings{openkiwi,
    author = {Fábio Kepler and
              Jonay Trénous and
              Marcos Treviso and
              Miguel Vera and
              André F. T. Martins},
    title  = {Open{K}iwi: An Open Source Framework for Quality Estimation},
    year   = {2019},
    booktitle = {Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics--System Demonstrations},
    pages  = {117--122},
    month  = {July},
    address = {Florence, Italy},
    url    = {https://www.aclweb.org/anthology/P19-3020},
    organization = {Association for Computational Linguistics},
}

References

[1] Kreutzer et al. (2015): QUality Estimation from ScraTCH (QUETCH): Deep Learning for Word-level Translation Quality Estimation
[2] Martins et al. (2016): Unbabel's Participation in the WMT16 Word-Level Translation Quality Estimation Shared Task
[3] Martins et al. (2017): Pushing the Limits of Translation Quality Estimation
[4] Kim et al. (2017): Predictor-Estimator using Multilevel Task Learning with Stack Propagation for Neural Quality Estimation
[5] Wang et al. (2018): Alibaba Submission for WMT18 Quality Estimation Task
[6] Kepler et al. (2019): Unbabel’s Participation in the WMT19 Translation Quality Estimation Shared Task
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].