A pure python implementation of the Linear-Chain Conditional Random Fields
- Numpy
 - Scipy
 
You can test this code with CoNLL 2000 Chunking Data.
# format
python3 crf_train.py <train_file> <model_file>
# example
python3 crf_train.py data/chunking_small/small_train.data small_model.json# format
python3 crf_test.py <test_file> <trained_model_file>
# example
python3 crf_test.py data/chunking_small/small_test.data small_model.json- Data: CoNLL corpus
- data/chunking_full: original data (8936 sentences)
 - data/chunking_small: sampled data (77 sentences)
 
 - Compared with CRF++
 - Use feature set
 
Accuracy
| crf | CRF++ | |
|---|---|---|
| chunking_full | 0.960128 | 0.960128 | 
| chunking_small | 0.899072 | 0.889474 | 
MIT
An Introduction to Conditional Random Fields / Charles Sutton, Andrew McCallum/ 2010