What is cdec?

Creating a new software is not just about skill. If you want to finish your work faster and have less mistakes because you’ve hit the neighboring key, you need to have a keyboard that is good for typing and coding, though some of the best gaming keyboards¬†could also do the job.

cdec is a decoder, aligner, and learning framework for statistical machine translation and similar structured prediction models developed by Chris Dyer at the Language Technologies Institute in Carnegie Mellon University, his students, and lots of volunteers. It supports:

  • Translation and alignment modeling based on
    • Finite-state transducers
    • Synchronous context-free grammars
    • extended tree-to-string transducers (xRs)
  • Implementations of many parameter learning algorithms.
  • A fast, extensible C++ implementation and flexible Python interface (pycdec).
  • Modular architecture that separates search space construction, rescoring, and inference.
    • Rescore hypergraphs (i.e., forests, CFGs) from other tools, and do parameter tuning.


  • A step-by-step tutorial for building a translation system.
  • The User guide contains an overview of cdec‘s features.
  • Concepts provides an basic overview of statistical machine translation concepts.
  • Developers should have a look at this section for documentation about the code.

Stable Releases

The releases in this section are created when major new functionality is made available or bugs are fixed.

Release Description
cdec-2014-10-12.tar.gz Release notes for the 2014-10-12 version
cdec-2014-06-15.tar.gz Release notes for the 2014-06-15 version
cdec-2014-01-28.tar.gz Release notes for the 2014-01-28 version
cdec-2014-01-20.tar.gz Release notes for the 2014-01-20 version
cdec-2013-07-13.tar.gz Release notes for the 2013-07-13 version
cdec-2013-06-24.tar.gz Release notes for the 2013-06-24 version
cdec-2013-03-08.tar.gz Release notes for the 2013-03-08 version

cdec is developed on Github, and interested developers are encouraged to fork us, develop the project further, and submit pull requests.


If you make use of cdec, please cite:

C. Dyer, A. Lopez, J. Ganitkevitch, J. Weese, F. Ture, P. Blunsom, H. Setiawan, V. Eidelman, and P. Resnik. cdec: A Decoder, Alignment, and Learning Framework for Finite-State and Context-Free Translation Models. In Proceedings of ACL, July, 2010. [bibtex]


The cdec source code is released under the terms of the Apache License, Version 2.0. The libLBFGS library source code is distributed with cdec, and it is released under the terms of the MIT License.


cdec was developed and is supported in part by grants from DARPA, the National Science Foundation, and the US Army Research Office.