lonePatient / BERT-NER-Pytorch

Chinese NER(Named Entity Recognition) using BERT(Softmax, CRF, Span)
MIT License
2.05k stars 425 forks source link

您好,我想知道如何利用训练结果去预测新数据 #75

Open haogegenizhenbang opened 2 years ago

haogegenizhenbang commented 2 years ago

运行结束后得到了准确率之类的指标,但是由于是新手不知道如何拿模型结果去跑新的数据去预测,求大神指点。 比如输入一个句子,输出句子里面的实体,这种效果。

LZH-0225 commented 1 year ago

运行结束后得到了准确率之类的指标,但是由于是新手不知道如何拿模型结果去跑新的数据去预测,求大神指点。 比如输入一个句子,输出句子里面的实体,这种效果。

同问,您现在知道怎么做推理了吗?

jenfung commented 1 year ago

同问

ZJsheep commented 1 year ago

把要预测的文章改成BIOS格式,然后把datasets/cner/test.char.bmes替换成你的数据(如果已经跑过的话记得把缓存删掉)。在运行脚本里加一个--do_predict选项运行。最后输出的结果在outputs/cner_output/bert/test_prediction.json里面,每句话一行

(似乎模型会忽略第一句话,不知道为什么,研究了半天)

qry0120 commented 1 year ago

同问,请问您现在知道如何做推理吗?

jesuswa commented 9 months ago

为什么没有推理代码呢?

Violettttee commented 8 months ago

把要预测的文章改成BIOS格式,然后把datasets/cner/test.char.bmes替换成你的数据(如果已经跑过的话记得把缓存删掉)。在运行脚本里加一个--do_predict选项运行。最后输出的结果在outputs/cner_output/bert/test_prediction.json里面,每句话一行

~(似乎模型会忽略第一句话,不知道为什么,研究了半天)~

请问文章改成bios格式是指训练集那样的数据格式吗?不能直接拿原始文章当作输入吗?还是我对BIOS格式的理解不对?(希望能解答一下,我是小白。)

jesuswa commented 7 months ago

把要预测的文章改成BIOS格式,然后把datasets/cner/test.char.bmes替换成你的数据(如果已经跑过的话记得把缓存删掉)。在运行脚本里加一个--do_predict选项运行。最后输出的结果在outputs/cner_output/bert/test_prediction.json里面,每句话一行 ~(似乎模型会忽略第一句话,不知道为什么,研究了半天)~

请问文章改成bios格式是指训练集那样的数据格式吗?不能直接拿原始文章当作输入吗?还是我对BIOS格式的理解不对?(希望能解答一下,我是小白。)

因为这部分是属于测试集,因此需要的是有监督的数据进行评估,test文件也需要标志的原因。

Violettttee commented 7 months ago

把要预测的文章改成BIOS格式,然后把datasets/cner/test.char.bmes替换成你的数据(如果已经跑过的话记得把缓存删掉)。在运行脚本里加一个--do_predict选项运行。最后输出的结果在outputs/cner_output/bert/test_prediction.json里面,每句话一行 ~(似乎模型会忽略第一句话,不知道为什么,研究了半天)~

请问文章改成bios格式是指训练集那样的数据格式吗?不能直接拿原始文章当作输入吗?还是我对BIOS格式的理解不对?(希望能解答一下,我是小白。)

因为这部分是属于测试集,因此需要的是有监督的数据进行评估,test文件也需要标志的原因。

如果我要直接预测,在test.char.bmes中不做bios标注是否可以?

jesuswa commented 7 months ago

把要预测的文章改成BIOS格式,然后把datasets/cner/test.char.bmes替换成你的数据(如果已经跑过的话记得把缓存删掉)。在运行脚本里加一个--do_predict选项运行。最后输出的结果在outputs/cner_output/bert/test_prediction.json里面,每句话一行 ~(似乎模型会忽略第一句话,不知道为什么,研究了半天)~

请问文章改成bios格式是指训练集那样的数据格式吗?不能直接拿原始文章当作输入吗?还是我对BIOS格式的理解不对?(希望能解答一下,我是小白。)

因为这部分是属于测试集,因此需要的是有监督的数据进行评估,test文件也需要标志的原因。

如果我要直接预测,在test.char.bmes中不做bios标注是否可以?

如果你不想要测试集的话你可以修改训练代码,取消评估;但是不改代码的话在调用你的测试集时是需要索引标签的,训练是会报错的,你可以在你已经标记过的数据中切割一部分作为test数据,也是可以的,这样的话就指标会降低,想要训练的更好还是需要数据支持的。