-
Notifications
You must be signed in to change notification settings - Fork 699
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DeepKE-cnSchema开箱即用版给出的离谱关系抽取结果 #522
Comments
您好,模型训练的时候是基于一句话一个三元组方式训的,您可以先进行实体识别,然后对同一个句子组成1个实体对+句子输入进行多次关系分类,这样可以减轻一下上述问题。如果您想端到端抽取也可以直接使用OneKE http://oneke.openkg.cn/ |
感谢回复!我明白了,所以当前模型只能处理一句话两个实体+一个关系的简单句对吧? 另外,您的意思是two-stage,对一个复杂句提取得到多个实体后,将这些实体两两组合、一次次进行关系抽取是吗?比如上面的句子五个实体,那么就需要进行C5^2=10次关系抽取,然后取置信度高的几个? 我比较好奇当前版本模型对于多个实体的关系抽取是怎么做的,看您的意思的话,当前并不是两两组合一个个判断得到的? |
1 对的 |
谢谢!我采用了您的方法,对"林忠钦,男,汉族,1957年12月6日出生,浙江省宁波市人,机械工程专家,中国工程院院士,教育部科技委先进制造学部 主任。曾任上海交通大学校长、党委副书记。"这句话单独进行两个实体的关系抽取工作,想问下这里为什么会输出“"1957年12月6日" 和 "浙江省宁波市" 在句中关系为:"出生日期",置信度为0.97。”呢? 我应该怎么理解这个结果?1、模型理解正确,没有管浙江省宁波市,而单独把"1957年12月6日" 解读为了出生日期,这跟原句子是相符的;2、模型理解错误,将"1957年12月6日" 理解为浙江省宁波市的出生日期? 类似的情况也在选择“汉族”、“1957年12月6日”两个实体进行关系抽取工作时发生了。[2024-06-06 16:57:01,502][main][INFO] - "汉族" 和 "1957年12月6日" 在句中关系为:"出生日期",置信度为0.97。 对于这种有点无厘头的两个实体之间的关系抽取,我理解应该是生成一个置信度很低的不明确关系才对?
|
您好,这两个应该都是模型出错,您可以根据简单规则过滤掉这类信息,比如地名和日期不可能有出生于关系。 |
请问您还有其他问题吗? |
暂时没有了,感谢!我后面试试oneke去 |
请问一下,你知道怎么使用vscode调试这个代码吗 |
你好,我按here中的指示完成了DeepKE-cnSchema开箱即用版的环境配置。对于一些简短的句子,往往只有两个实体、关系词明确的情况下,程序可以正确预测其中的关系。但是对于稍长、实体略多的情况,这个关系抽取给出的结果比较离谱,而且置信度还挺高。
这里是我predict.yaml的内容,其中两个模型都用的是readme中Bert-wwm的模型。
这里句子稍长,我们来看看模型得到了什么,下面是log:
可以看到,这里实体提取分割的结果很好,准确的完成了五个实体({'林忠钦': '人物', '汉族': 'Text', '1957年12月6日': 'Date', '浙江省宁波市': '地点', '中国': '国家'})的分割。但是关系抽取很离谱,到后面输出“ "浙江省宁波市" 和 "中国" 在句中关系为:"出生地",置信度为0.84。”、“"汉族" 和 "浙江省宁波市" 在句中关系为:"民族",置信度为0.55。”、“"1957年12月6日" 和 "浙江省宁波市" 在句中关系为:"出生日期",置信度为0.97。”等等,详见log,并且这些错误的关系提取有时候还有非常高的置信度,甚至有点像将实体胡乱组合的结果。
我不知道怎么样才能让这个模型对于关系预测更加准确、不会出现这些奇怪的关系,有人可以提供任何帮助吗?感谢!
The text was updated successfully, but these errors were encountered: