BERT-BiLSTM-CRF-NER
BERT-BiLSTM-CRF-NER copied to clipboard
准确率太低
把你训练的参数贴出来,数据规模也贴出来。
@macanv 我刚跑一遍,识别的也很低,训练参数没改,数据规模,一共1000份文本,训练+验证(0.8)测试(0.2),其中训练 0.9 验证0.1。
用这个代码跑达观竞赛的数据,最后结果F值基本为0,。是因为竞赛是将汉字抽象为数字的原因吗? bert-base-ner-train -data_dir data -output_dir output_data/ -init_checkpoint chinese_L-12_H-768_A-12/bert_model.ckpt -bert_config_file chinese_L-12_H-768_A-12/bert_config.json -vocab_file chinese_L-12_H-768_A-12/vocab.txt -batch_size 16 -label_list 'B-a,I-a,B-b,I-b,B-c,I-c'
processed 133094 tokens with 5073 phrases; found: 5 phrases; correct: 0.
accuracy: 87.99%; precision: 0.00%; recall: 0.00%; FB1: 0.00
a: precision: 0.00%; recall: 0.00%; FB1: 0.00 0
b: precision: 0.00%; recall: 0.00%; FB1: 0.00 5
c: precision: 0.00%; recall: 0.00%; FB1: 0.00 0
用这个代码跑达观竞赛的数据,最后结果F值基本为0,。是因为竞赛是将汉字抽象为数字的原因吗? bert-base-ner-train -data_dir data -output_dir output_data/ -init_checkpoint chinese_L-12_H-768_A-12/bert_model.ckpt -bert_config_file chinese_L-12_H-768_A-12/bert_config.json -vocab_file chinese_L-12_H-768_A-12/vocab.txt -batch_size 16 -label_list 'B-a,I-a,B-b,I-b,B-c,I-c'
processed 133094 tokens with 5073 phrases; found: 5 phrases; correct: 0. accuracy: 87.99%; precision: 0.00%; recall: 0.00%; FB1: 0.00 a: precision: 0.00%; recall: 0.00%; FB1: 0.00 0 b: precision: 0.00%; recall: 0.00%; FB1: 0.00 5 c: precision: 0.00%; recall: 0.00%; FB1: 0.00 0
请问您找到原因了吗?我在自己的数据集上进行实验也全都为0
用这个代码跑达观竞赛的数据,最后结果F值基本为0,。是因为竞赛是将汉字抽象为数字的原因吗? bert-base-ner-train -data_dir data -output_dir output_data/ -init_checkpoint chinese_L-12_H-768_A-12/bert_model.ckpt -bert_config_file chinese_L-12_H-768_A-12/bert_config.json -vocab_file chinese_L-12_H-768_A-12/vocab.txt -batch_size 16 -label_list 'B-a,I-a,B-b,I-b,B-c,I-c'
processed 133094 tokens with 5073 phrases; found: 5 phrases; correct: 0. accuracy: 87.99%; precision: 0.00%; recall: 0.00%; FB1: 0.00 a: precision: 0.00%; recall: 0.00%; FB1: 0.00 0 b: precision: 0.00%; recall: 0.00%; FB1: 0.00 5 c: precision: 0.00%; recall: 0.00%; FB1: 0.00 0
请问您找到原因了吗?我在自己的数据集上进行实验也全都为0
这个预训练模型是中文的预训练模型,达观的数据都是编码后的,怎么能用,需要自己训练bert
@macanv 训练集:
宝 O
宝 O
舌 B-SYM
苔 I-SYM
发 I-SYM
白 I-SYM
, O
烧 O
3 O
8 O
. O
5 O
度 O
, O
嘴 O
角 O
及 O
脸 O
半 O
部 O
有 O
红 O
快 O
, O
像 O
上 O
火 O
的 O
, O
请 O
问 O
医 B-PRO
生 I-PRO
要 O
紧 O
吗 O
? O
眼 O
睛 O
还 O
时 O
常 O
有 O
眼 O
泪 O
水 O
有 O
没 O
有 O
伴 O
随 O
咳 B-SYM
嗽 I-SYM
、 O
腹 B-SYM
泻 I-SYM
、 O
皮 B-SYM
疹 I-SYM
等 O
症 O
状 O
训练完的效果:
processed 34229 tokens with 814 phrases; found: 837 phrases; correct: 343.
accuracy: 94.96%; precision: 40.98%; recall: 42.14%; FB1: 41.55
EXA: precision: 0.00%; recall: 0.00%; FB1: 0.00 0
MED: precision: 48.58%; recall: 65.88%; FB1: 55.92 457
ORG: precision: 0.00%; recall: 0.00%; FB1: 0.00 0
PRO: precision: 0.00%; recall: 0.00%; FB1: 0.00 0
SYM: precision: 31.84%; recall: 84.03%; FB1: 46.18 380
@Sunny-NEU 请问下label怎么设置的啊,我这边按大神的 self.labels = ["O", 'B-aaa', 'I-aaa', 'B-bbb','I-bbb',"B-PER", "I-PER", "B-ORG", "I-ORG", "B-LOC", "I-LOC", "X", "[CLS]", "[SEP]"]这样设置的,训练完毕,借用下图
还是只显示了 PER LOC ORG 新增的aaa,bbb都没有显示,我训练集也按规定标注了新label,只是新增的新标签数据比较少,谢谢
@xaviermuse 我是给了label的.txt文件,类似这样的
@Sunny-NEU 谢谢,我也训练出来了,是因为我训练集太小了
bert-base-ner-train -data_dir data -output_dir output_data / -init_checkpoint chinese_L-12_H 是因为竞赛是将汉字抽象为数字的原因吗?-768_A-12 / bert_model.ckpt -bert_config_file chinese_L-12_H-768_A-12 / bert_config.json -vocab_file chinese_L-12_H-768_A-12 / vocab.txt -batch_size 16 -label_list'Ba,Ia,Bb,Ib,Bc,我知道了'
processed 133094 tokens with 5073 phrases; found: 5 phrases; correct: 0. accuracy: 87.99%; precision: 0.00%; recall: 0.00%; FB1: 0.00 a: precision: 0.00%; recall: 0.00%; FB1: 0.00 0 b: precision: 0.00%; recall: 0.00%; FB1: 0.00 5 c: precision: 0.00%; recall: 0.00%; FB1: 0.00 0
请问您找到原因了吗?我在自己的数据集上进行实验也全都为0
用这个代码跑达观竞赛的数据,最后结果F值基本为0,。是因为竞赛是将汉字抽象为数字的原因吗? bert-base-ner-train -data_dir data -output_dir output_data/ -init_checkpoint chinese_L-12_H-768_A-12/bert_model.ckpt -bert_config_file chinese_L-12_H-768_A-12/bert_config.json -vocab_file chinese_L-12_H-768_A-12/vocab.txt -batch_size 16 -label_list 'B-a,I-a,B-b,I-b,B-c,I-c'
processed 133094 tokens with 5073 phrases; found: 5 phrases; correct: 0. accuracy: 87.99%; precision: 0.00%; recall: 0.00%; FB1: 0.00 a: precision: 0.00%; recall: 0.00%; FB1: 0.00 0 b: precision: 0.00%; recall: 0.00%; FB1: 0.00 5 c: precision: 0.00%; recall: 0.00%; FB1: 0.00 0
请问您找到原因了吗?我在自己的数据集上进行实验也全都为0
请问您找到原因了吗?我也出现了一样都问题,标签BIO标注,和self.label对应,大几小时跑完就是0。
用这个代码跑达观竞赛的数据,最后结果F值基本为0,。是因为竞赛是将汉字抽象为数字的原因吗? bert-base-ner-train -data_dir data -output_dir output_data/ -init_checkpoint chinese_L-12_H-768_A-12/bert_model.ckpt -bert_config_file chinese_L-12_H-768_A-12/bert_config.json -vocab_file chinese_L-12_H-768_A-12/vocab.txt -batch_size 16 -label_list 'B-a,I-a,B-b,I-b,B-c,I-c'
processed 133094 tokens with 5073 phrases; found: 5 phrases; correct: 0. accuracy: 87.99%; precision: 0.00%; recall: 0.00%; FB1: 0.00 a: precision: 0.00%; recall: 0.00%; FB1: 0.00 0 b: precision: 0.00%; recall: 0.00%; FB1: 0.00 5 c: precision: 0.00%; recall: 0.00%; FB1: 0.00 0
请问您找到原因了吗?我在自己的数据集上进行实验也全都为0
请问您解决这个问题了嘛?