gitHub原项目连接:GitHub - leileixiao/ccks_triple_extract: 限定领域的三元组抽取的一次尝试,本文将会介绍笔者在2019语言与智能技术竞赛的三元组抽取比赛方面的一次尝试。看他已经禁止问问题了,项目问题很多
首先数据集问题:
数据集在csdn上有,可能要点积分
只需要一个train_json,测试集需要自己去切数据,直接切最后200条为一个测试集就行,他的验证集就是测试集,你也可以再从train_json中再切个几百条当验证集
之后的序列标注模型就可以完美跑起来了,你可能遇到一些matpolib画图缺字体的问题,这个问题,我遇到了,按照下面这个连接去做就好了,不要跳步骤,不要怕改动源码,都是必要步骤!!!
Pycharm -Python 画图显示中文字体解决方案(Font Family【'Arial Unicode MS'】not found) - 码农教程
之后是关系分类模型的问题:
贼坑!!作者为了测试忘了改回来了,这个问题很难找
第一个是你切好的测试集只要类型没有覆盖全,就给你报错,下面五十个类型的数字标号,在你的测试集上去ctrl+F去找,那个类型没有,想办法去补上一条或者简单粗暴直接删除relation2id.json中的对应类型
报错为:(classes后面4,5之类的都可能出现都是这个问题)
Number of classes, 2, does not match size of target_names, 52. Try specifyin
或者点击错误直接跳到
print(classification_report(y_test.argmax(axis=1), predictions.argmax(axis=1), target_names=values))
本身它就缺36号类型,大胆去删除吧!
之后这
是你数据为什么加载出来就一两条的原因,懒得想就直接写D不要下标了
之后model.train就没什么太难的问题了
可以快乐去跑预测类了
特别注意的是:要是想换别的例句,注意这个格式
最后的"#"后面是原句,前面"#"是用来分割 主体#关系#客体 的
其它类我没有再遇到很费时间的问题了,好兄弟们可以下面提问