nerpy
nerpy copied to clipboard
训练好的中文模型预测
训练好的中文模型预测是不是有问题,给的样例预测结果都是错的。
哪个case错误了?
哪个case错误了?
就是王宏来自北京那个。
我刚下载了模型,然后跑的结果是这个。。
https://huggingface.co/spaces/shibing624/nerpy
就很奇怪,你的这个链接我测试是对的,但是在huggingface 下载的shibing624/bertspan4ner-base-chinese 这个模型预测就有问题,我一开始以为是标签不对应,我看了代码里面的标签,也试了也不对。而且同一句话模型每次预测结果都不一样。
标签是有顺序的,不要随机加。
标签是有顺序的,不要随机加。
这个我知道,我下了bert4ner-base-chinese 这个模型,这个模型是正常结果。但是bertspan4ner-base-chinese 不对,这个模型的标签序列是什么呢
看下config文件
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.(由于长期不活动,机器人自动关闭此问题,如果需要欢迎提问)
您好, { "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分数是更高的。
bertspan4ner-base-chinese的label不同,按照我examples里面的示例写labels
https://github.com/shibing624/nerpy/blob/main/nerpy/ner_model.py#L274C25-L274C25
非常感谢您的回复,是我model_type那里写错了,真是不好意思。模型效果很好。