Tell me more ×
Cross Validated is a question and answer site for statisticians, data analysts, data miners and data visualization experts. It's 100% free, no registration required.

Is there a popular implementation of Conditional Random Fields in Python?

I can't seem to find any that is widely used and popular!

share|improve this question

2 Answers

up vote 2 down vote accepted

CRF++ is a popular choice in general, and has Python bindings. CRFSuite also has bindings documented here, but doesn't seem to have seen as much widespread use as CRF++. As of this writing, higher level machine learning frameworks such as scikit-learn lack CRF support (see this pull request).

share|improve this answer

CRF++ has more incoming links because it is an older library.
CRFSuite is superior in my opinion.

  • CRFSuite's author's claim that it is 20x faster than CRF++ at training a model.
  • Less rigid requirements for the input data.

If you are looking for Python bindings CRFSuite is also better because you can train a model in Python, while in CRF++ you can only test existing models in Python. (That was the deal breaker for me.) CRFSuite also comes with a bunch of example code in Python, such as NER, Chunking, and POS tagging.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.