关于三元组的自动化抽取

最近在尝试用Hanlp做一个面向历史文献的三元组自动化抽取。目前思路是这样的,将任务分为实体抽取和关系分类两个步骤。
首先在文本数据清洗方面以自然段作为切割输入,通过实体消歧接口进行代词的替换。

随后用Hanlp的ner进行命名实体识别,主要用MSRA规范(对人物及机构等识别效果较好),OntoNotes规范(对粗细粒的时间和事件识别较佳)。

在关系分类方面,目前用的语义角色标注来确定同个意群中的主语和谓语,再用ner的结果进行候选主语宾语的确定,最后再通过制定的语法规范来抽取谓语,如:

主谓宾

定语后置,动宾关系

含有介宾关系的主谓动补关系

抽取后再进行相关关系的分类。

但遇到一个问题是基于语义角色识别出的谓语效果一般,且基于语义角色识别出的主语和宾语规范率也不高(和ner一致率低),导致召回率过低。不知大佬们是否有建议方法可以解决。(有考虑在依存句法中来抽取但还没实践)

另也有想尝试直接用深度学习的方法,标注数据后直接进行三元组的抽取。不知道Hanlp平台是否支持这样的训练。因为对Hanlp的训练平台还不是很熟悉,所以想请教下~

1赞

OntoNotes上SRL的谓词F1大致在88%左右,不算低了。更高的要求可以看dep的root,dep总体的LAS是90%左右的。

暂时还不支持,像这种pipeline形式的relation extraction在HanLP的现有框架下是很容易实现的,SOTA也是pipeline。一般我们会优先实现我们有研究兴趣的任务的基线模型然后尝试去提高它,次之是内部有工程需求的任务。RE的需求也遇到过,可能年底会有接口上线。