shiyybua / NER

基于tensorflow深度学习的中文的命名实体识别
1.05k stars 400 forks source link

预测时words length 与tag length不一致,如下: #46

Open juaner09 opened 6 years ago

juaner09 commented 6 years ago

Traceback (most recent call last): File "/root/pycharm/NER-master/rnn.py", line 181, in predict(net, tag_table, sess) File "/root/pycharm/NER-master/rnn.py", line 142, in predict write_result_to_file(file_iter, tags) File "/root/pycharm/NER-master/utils.py", line 291, in write_result_to_file assert len(words) == len(tags) AssertionError

wanderring commented 6 years ago

config文件里面有个max_sequence tf.app.flags.DEFINE_integer("max_sequence", 100, "max sequence length.") 如果要标注的文本比这个长就会报这个错误,可以试试把这个改大一点儿

juaner09 commented 6 years ago

我试了一下,这样好像不起作用

qq547276542 commented 6 years ago

原因是你预测的句子的长度大于max_sequence 要么增大max_sequence , 要么控制每行的长度不超过max_sequence

juaner09 commented 6 years ago

不可能呀,我设置的max_sequence为1000,但是我实际预测的文本长度不超过100,我跟踪了一下,发现tag的长度总是比预测的文本的长度多1,不知道是哪里不对

SheepAndWolf commented 6 years ago

应该是预测文本第一句多了两个空格 words那边做了strip 所以少了一个词

juaner09 commented 6 years ago

我仔细看了一下我的预测文本,确实有一个地方有两个空格,去掉一个就没问题了,楼上正解。

zdx1012 commented 5 years ago

是不是Python版本的问题,建议用Python2.7测试下