crownpku / Information-Extraction-Chinese

Chinese Named Entity Recognition with IDCNN/biLSTM+CRF, and Relation Extraction with biGRU+2ATT 中文实体识别与关系提取
2.22k stars 814 forks source link

NER任务,换了数据集,训练时NER loss出现负数 #40

Open cotitan opened 6 years ago

cotitan commented 6 years ago

您好~我想用你的代码跑自己的数据,我的数据共有十三个实体类别。现在修改到能跑起来了,但是跑起来之后NER LOSS出现负数,如下图,我使用的是IDCNN, iob标注格式。

2018-03-22 18:32:19,216 - log/train.log - INFO - iteration:1 step:100/1449, NER loss:14548.164062
2018-03-22 18:32:24,091 - log/train.log - INFO - iteration:1 step:200/1449, NER loss:3423.436279
2018-03-22 18:32:28,313 - log/train.log - INFO - iteration:1 step:300/1449, NER loss:2515.652588
2018-03-22 18:32:31,800 - log/train.log - INFO - iteration:1 step:400/1449, NER loss:1957.449707
2018-03-22 18:32:36,219 - log/train.log - INFO - iteration:1 step:500/1449, NER loss:-4663.758301
2018-03-22 18:32:40,437 - log/train.log - INFO - iteration:1 step:600/1449, NER loss:-51438.355469
2018-03-22 18:32:44,024 - log/train.log - INFO - iteration:1 step:700/1449, NER loss:-87006806016.000000
2018-03-22 18:32:47,033 - log/train.log - INFO - iteration:1 step:800/1449, NER loss:-699415090167808.000000
2018-03-22 18:32:50,832 - log/train.log - INFO - iteration:1 step:900/1449, NER loss:-180303070683463680.000000
2018-03-22 18:32:53,791 - log/train.log - INFO - iteration:1 step:1000/1449, NER loss:-11487585336817614848.000000
2018-03-22 18:32:57,894 - log/train.log - INFO - iteration:1 step:1100/1449, NER loss:-426165464454536364032.000000
crownpku commented 6 years ago

用bi-lstm会有这样的情况吗? 另外能列出你修改的部分吗?

cotitan commented 6 years ago

找了一下,貌似是只修改了这几个地方。

main.py: 
flags.DEFINE_string("tag_schema",   "iob",    "tagging schema iobes or iob")
flags.DEFINE_string("model_type", "idcnn", "Model type, can be idcnn or bilstm")
训练集校验集测试集路径

bi-lstm没试过

cotitan commented 6 years ago

使用bi-lstm也还是一样有负数。 2018-03-23 10:31:47,184 - log/train.log - INFO - iteration:91 step:90/1449, NER loss:-508.557159 2018-03-23 10:31:52,024 - log/train.log - INFO - iteration:91 step:190/1449, NER loss:-1885.943604 2018-03-23 10:31:56,336 - log/train.log - INFO - iteration:91 step:290/1449, NER loss:-800.320801 2018-03-23 10:32:00,301 - log/train.log - INFO - iteration:91 step:390/1449, NER loss:-1688.683716 2018-03-23 10:32:04,519 - log/train.log - INFO - iteration:91 step:490/1449, NER loss:-2483.698730 2018-03-23 10:32:08,254 - log/train.log - INFO - iteration:91 step:590/1449, NER loss:-1126.127808 2018-03-23 10:32:11,433 - log/train.log - INFO - iteration:91 step:690/1449, NER loss:-703.791748 2018-03-23 10:32:14,821 - log/train.log - INFO - iteration:91 step:790/1449, NER loss:-2323.452393 2018-03-23 10:32:17,616 - log/train.log - INFO - iteration:91 step:890/1449, NER loss:-1277.507202

ouyangliqi commented 3 years ago

我自己写了一个bilstm/idcnn+CRF跑自己的数据,bilistm没有出现负数,但是idcnn跑的时候出现负数,而且loss变化非常大,甚至到负无穷,请问题主找到问题的来源了吗?