nerpy icon indicating copy to clipboard operation
nerpy copied to clipboard

训练好的中文模型预测

Open DuBaiSheng opened this issue 1 year ago • 12 comments

训练好的中文模型预测是不是有问题,给的样例预测结果都是错的。

DuBaiSheng avatar Oct 19 '23 08:10 DuBaiSheng

哪个case错误了?

shibing624 avatar Oct 19 '23 08:10 shibing624

哪个case错误了?

就是王宏来自北京那个。 企业微信截图_33758570-9643-4328-a46e-b0a637451742 我刚下载了模型,然后跑的结果是这个。。

DuBaiSheng avatar Oct 19 '23 08:10 DuBaiSheng

image https://huggingface.co/spaces/shibing624/nerpy

shibing624 avatar Oct 19 '23 08:10 shibing624

image https://huggingface.co/spaces/shibing624/nerpy

就很奇怪,你的这个链接我测试是对的,但是在huggingface 下载的shibing624/bertspan4ner-base-chinese 这个模型预测就有问题,我一开始以为是标签不对应,我看了代码里面的标签,也试了也不对。而且同一句话模型每次预测结果都不一样。 image image

DuBaiSheng avatar Oct 19 '23 09:10 DuBaiSheng

标签是有顺序的,不要随机加。

shibing624 avatar Oct 19 '23 09:10 shibing624

标签是有顺序的,不要随机加。

这个我知道,我下了bert4ner-base-chinese 这个模型,这个模型是正常结果。但是bertspan4ner-base-chinese 不对,这个模型的标签序列是什么呢

DuBaiSheng avatar Oct 19 '23 10:10 DuBaiSheng

看下config文件

shibing624 avatar Oct 20 '23 03:10 shibing624

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.(由于长期不活动,机器人自动关闭此问题,如果需要欢迎提问)

stale[bot] avatar Dec 27 '23 07:12 stale[bot]

您好, { "architectures": [ "BertSpanForTokenClassification" ], "attention_probs_dropout_prob": 0.1, "classifier_dropout": null, "directionality": "bidi", "hidden_act": "gelu", "hidden_dropout_prob": 0.1, "hidden_size": 768, "id2label": { "0": "O", "1": "TIME", "2": "PER", "3": "LOC", "4": "ORG" },

这是bertspan4ner-base-chinese模型配置文件的前面部分,用到的标识符缺少B-I-这样seqeval包对输出标签的组合就有问题了,没有办法按照predictions的标签很好的组合entities。而且predictions的预测结果也是有问题的。

比如我输入这样一段话“王军于2020年毕业于武汉大学,并就职于大同市政府”,bertspan4ner-base-chinese模型的predictions是[{'王': 'ORG'}, {'军': 'O'}, {'于': 'O'}, {'2': 'PER'}, {'0': 'PER'}, {'2': 'PER'}, {'0': 'PER'}, {'年': 'LOC'}, {'毕': 'O'}, {'业': 'PER'}, {'于': 'PER'}, {'武': 'ORG'}, {'汉': 'PER'}, {'大': 'PER'}, {'学': 'O'}, {',': 'O'}, {'并': 'O'}, {'就': 'PER'}, {'职': 'TIME'}, {'于': 'TIME'}, {'大': 'PER'}, {'同': 'O'}, {'市': 'PER'}, {'政': 'PER'}, {'府': 'O'}]。但是这句话您的bert4ner-base-chinese模型就表现得很好。

可是您的readme中bertspan4ner-base-chinese的F1分数是更高的。

vux979 avatar May 16 '24 09:05 vux979

bertspan4ner-base-chinese的label不同,按照我examples里面的示例写labels

shibing624 avatar May 17 '24 03:05 shibing624

https://github.com/shibing624/nerpy/blob/main/nerpy/ner_model.py#L274C25-L274C25

shibing624 avatar May 17 '24 03:05 shibing624

非常感谢您的回复,是我model_type那里写错了,真是不好意思。模型效果很好。

vux979 avatar May 17 '24 05:05 vux979