阅读训练数据失败:tagger.cpp(393)CRF ++

时间:2013-06-02 19:06:16

标签: c++ crf++

当我在我的训练数据(train.txt)上运行CRF ++时,我遇到了以下错误

C:\Users\2012\Desktop\CRF_Software_Package\CRF++-0.58>crf_learn template train.d
ata model
CRF++: Yet Another CRF Tool Kit
Copyright (C) 2005-2013 Taku Kudo, All rights reserved.

reading training data: tagger.cpp(393) [feature_index_->buildFeatures(this)]
0.00 s

我的训练数据包含Unicode字符,数据使用记事本(encoding = Unicode big indian)保存

我不确定如果模板有问题或者是培训数据的格式。如何查看培训数据的格式?

4 个答案:

答案 0 :(得分:3)

我认为这是因为您的模板文件。 请检查您是否包含了作为培训功能的黄金标准的最后一列。列索引从0开始。 例如,如果您的BIO文件中有6列。 模板不应该有%x [0,5]

之类的东西

答案 1 :(得分:0)

问题在于模板文件 检查你的功能是否错误" grammer" 即 U10:%x [-1,0] /%[0,0]

你意识到在第二个%之后有一个缺失的' x' 修正后的行应如下所示 U10:%×[-1,0] /%×[0,0]

答案 2 :(得分:0)

我有同样的问题,文件是UTF-8,模板文件和培训文件肯定是正确的格式。原因是CRFPP期望输入文件中最多1024列。如果在这种情况下输出适当的错误信息,那将会很棒。

答案 3 :(得分:0)

问题不在于Unicode编码,而在于模板文件。

看看这个类似的问:The failure in using CRF+0.58 train NE Model