我尝试为CRF ++模板添加更多功能。
根据How can I tell CRF++ classifier that a word x is captilized or understanding punctuations?
培训样本
The DT 0 1 0 1 B-MISC
Oxford NNP 0 1 0 1 I-MISC
Companion NNP 0 1 0 1 I-MISC
to TO 0 0 0 0 I-MISC
Philosophy NNP 0 1 0 1 I-MISC
要素模板
# Unigram
U00:%x[-2,0]
U01:%x[-1,0]
U02:%x[0,0]
U03:%x[1,0]
U04:%x[2,0]
U05:%x[-1,0]/%x[0,0]
U06:%x[0,0]/%x[1,0]
U07:%x[-2,0]/%x[-1,0]/%x[0,0]
#shape feature
U08:%x[-2,2]
U09:%x[-1,2]
U10:%x[0,2]
U11:%x[1,2]
U12:%x[2,2]
B
训练阶段没问题。但我没有使用crf_test
输出tilney@ubuntu:/data/wikipedia/en$ crf_test -m validation_model test.data
tilney@ubuntu:/data/wikipedia/en$
如果忽略上面的形状,一切都很好。我哪里出错了?
答案 0 :(得分:1)
我想出来了。这是我的测试数据的问题。我认为每个功能都应该来自训练有素的模型,所以我的测试数据中只有两列:word标签,结果是测试文件的格式与训练数据完全相同!