当我使用 CRF++0.58 对 NE 进行建模时,程序出现问题:
“读取训练数据:tagger.cpp(399) [feature_index_->buildFeatures(this)] 0.00s”
- 开发环境:
- 红帽 linux 6.5,gcc 5.0,CRF++0.58
- 书面特征模板:
- 模板
- 数据集:
- Boson_train.txt
- Boson_test.txt
- 第一列是words,第二列是pos,第三列是NER tagger
- 问题:
- 当我想训练 NER 模型时,我输入这句话“crf_learn -f 3 -c 4.0 template Boson_train crf_model”,然后我收到了这个通知,“正在读取训练数据:tagger.cpp(399) [feature_index_->buildFeatures(this )] 0.00 秒"。我不懂 C++ 语言,所以我无法解决问题。
- 我尝试的方法:
- 1.更改数据集的编码类型。我使用记事本++将“没有BOM的utf-8”更改为“utf-8”。它没有用。
- 2.将分隔符从'\t'更改为''(空格)。它没有用。
- 3.我认为模板可能是错误的。所以我使用 crf++0.58/example/seg/template 进行测试。有效。但是这个模板很简单,所以我使用 /example/JapaneseNE/template 与我的功能模板更相似。它没有用。然后,我检查了 JapaneseNE 示例,它运行良好。所以我很困惑。有没有人可以帮助我。
模板
- U00:%x[-2,0]
- U01:%x[-1,0]
- U02:%x[0,0]
- U03:%x[1,0]
- U04:%x[2,0]
- U05:%x[-2,0]/%x[-1,0]/%x[0,0]
- U06:%x[-1,0]/%x[0,0]/%x[1,0]
- U07:%x[0,0]/%x[1,0]/%x[2,0]
- U08:%x[-1,0]/%x[0,0]
U09:%x[0,0]/%x[1,0]
U10:%x[-2,1]/%x[0,1]
- U11:%x[-2,1]/%x[1,1]
- U11:%x[-1,1]/%x[0,1]
- U12:%x[0,0]/%x[0,1]
- U13:%x[0,1]/%x[1,1]
- U14:%x[0,1]/%x[2,1]
- U15:%x[-1,0]/%x[0,1]
- U16:%x[-1,0]/%x[-1,1]
- U17:%x[1,0]/%x[1,1]
- U18:%x[1,0]/%x[1,1]
U19:%x[2,0]/%x[2,1]
U20:%x[-1,2]
- U21:%x[-2,2]
- U22:%x[0,1]/%x[-1,2]
- U23:%x[0,1]/%x[-2,2]
- U24:%x[0,0]/%x[-1,2]
- U25:%x[0,0]/%x[-2,2]
- U26:%x[-1,2]/%x[-2,2]/%x[0,1]
- U27:%x[-2,2]/%x[0,1]/%x[1,1]
- U28:%x[-1,1]/%x[-1,2]/%x[0,1]
- U29:%x[-1,2]/%x[0,0]/%x[0,1]
- 玻色子火车
- 浙江ns B_product_name
- 在线 b I_product_name
- 杭州 ns I_product_name
- 4 m B_time
- 月 m I_time
- 25 m I_time
- 日 m I_time
- 讯 ng Out
- ( x 出
- 记者 n Out
- x 输出
- x B_person_name
- 施宇翔 nr I_person_name
- x 输出
- 通讯员 n B_person_name
- x 输出
- 方英 nr B_person_name
- ) x 出
- 毒贩n出
- 很zg出
- “ x 出
- 现象 nr 输出
- ” x 出
- , x 出
- 用 p 出
- 微信vn B_product_name
- 交易n输出
- 排气口
- 。 x 输出
- 没 v 出
- 料想v出
- 警方 n B_person_name
- 也d出