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