事物、概念之间的关系是人类知识中非常重要的一个部分,但是他们通常隐藏在海量的非结构文本中。为了从文本中抽取这些关系事实,从早期的模式匹配到近年的神经网络,大量的研究在多年前就已经展开。
然而,随着互联网的爆炸发展,人类的知识也随之飞速的增长,因而对关系抽取(Relation Extraction, RE)提出了更高的要求,需要一个有效的RE系统,能够利用更多的数据;有效的获取更多的关系;高效的处理更多复杂的文本;具有较好的扩展性,能够迁移到更多的领域。
本文首先介绍现存的一些RE的方法和面临的挑战,随后,展示一些有潜力的方向。
作者&编辑 | 小Dream哥
1 什么是RE
信息抽取(Information Extraction,IE)的工作主要是从非结构化的文本中抽取结构化的信息,是自然语言处理中非常重要的一个子领域。关系抽取(Relation Extraction,RE)是IE中一个重要的任务,他聚焦于抽取实体之间的关系。
一个完整的RE系统包含命名实体识别和关系分类两个部分。命名实体识别任务从文本中抽取出实体,关系分类任务对实体之间关系进行甄别。
这其中,关系分类任务是相对较复杂一些的任务,因为他需要模型能够对文本的语义进行理解。
如上图所示,关系抽取就是从文本中抽取出实体,并甄别他们之间的关系的任务。图中,先抽取出Tim Cook和Apple,然后根据文本中蕴含的语义信息,认为Tim Cook是Apple公司的CEO。
2 RE的发展过程
RE的发展经历了从模式识别到统计模型,再到如今的神经网络模型3个阶段,下面做一个简单的介绍。
1)模式抽取模型(Pattern Extraction Models)
所谓模式抽取模型,就是用一些文本分析工具对语料进行分析,然后自动的构建一些模式规则。利用这些规则,就可以在新的语料中获得新的关系了。
感兴趣的读者可以参考这些文章进一步了解:
1.Stephen Soderland, David Fisher. 1995. CRYSTAL: Inducing a conceptual dictionary. In procedings of IJCAI, pages 1314-1319
2.Jun-Tae Kim and Dan I.Moldovan. 1995. Acquisition of linguistic patterns for knowledge-based information extraction, TKDE, 7(5):713-724
自动化构建模式的过程难免会出现错误,因而需要人类专家的勘误,这是昂贵的,这是基于模式匹配的方法最主要的局限。
2) 统计关系抽取模型
与基于模式匹配的方法相比,基于统计的方法能够有较大的覆盖范围和较少的人力干预。因而基于统计的关系抽取方法(Statistical Relation Extraction,SRE)一度非常的火热。
所谓基于统计的方法,就是传统的一些机器学习算法,比较典型的包括SVM,贝叶斯算法等;此外,也有一些图方法,通过将实体、文本和关系之间的依赖用图的形式来表示,进而得到正确的实体间关系。
[1] Mengqiu Wang. 2008. A re-examingnation of dependency path kernels for relation etraction. In proceedings of IJCNLP, PAGES 841-846
[2] Xiaofeng Yu and Wai Lam 2010. Jointly identifying entities and extracting relations in encyclopedia text via a graphical model approach. In proceeding of ACL,pages 1399-1407
3) 神经关系抽取模型
跟基于统计的关系抽取模型相比,基于神经网络的模型(Neural Relation Extraction Models)能够更多的获取文本的语义信息,因而具有更强大的抽取能力。
NRE的不同研究主要集中在设计和使用不同的网络架构来获取文本中的语义信息上,例如RNN,CNN,GNNs以及attention-based neural networks等网络,近年来基于Transformer和预训练模型的SRE效果更进一步。
上图展示了不同年份表现最好的RE模型的F1得分,目前在开源的数据集上(SemEval 2010 task8)已经能够取得较好的成绩了。
总的来说,基于NRE的模型取得了较大的进展,是目前RE研究的热点,后续我们会用更多的文章进一步介绍NRE进展,下面先看看目前NRE的一些研究趋势。
3 RE的更多方向
尽管上述提到的NRE模型在一些开源数据集上已经取得了一些比较好的结果,但是仍然需要清醒的认识到,这些模型通常离实际应用仍有一定的距离,还有很多问题兹待解决。
目前大部分的模型使用大量的人工标注,并且只能在单句中抽取预定义好的关系类型,因此,这些工作很难在复杂的情况中取得好的效果。实际上,已经有一些工作尝试解决这些问题,下面对这些问题做一个介绍:
1) Distant Supervised
有监督的的NRE模型需要大规模高质量的数据,这通常是非常昂贵和费时的。为了解决这个问题,Distant Supervied得以应用,他利用知识图谱和适量标注数据来进行自动化标注。
如上图所示,展示了DS数据增强的过程,用关系(APP INC, product, iphone)DS系统能够找到所有包含这两个实体的句子,并且把他们的关系标注为product。
尽管DS提供了一种还算高效的数据增强的方法,但是DS往往会带来很多的噪声数据,如上图的例子,第3句话,“I look up Apple Inc. on my iPhone.”中Apple Inc.和iPhone的关系就不是product。
因此有很多的研究基于如何改善DS,从而减稍噪声数据,大致分为这3个方面:
1.选择信息丰富(informative instances)的句子进行数据增强,包括引入图模型和attention机制等来决策。
2.引入额外的信息来对DS data进行去噪,包括图谱数据,语义信息等。
3.采用随机机制和训练策略来增强DS模型的性能。
2) Long-tail数据的学习:Few-shot Learning
真实世界存在的关系分布通常是长尾的,只有一些非常常见的关系有足够的训练数据,大部分的关系训练数据都非常有限。
如上图展示了NYT-10和wiki-distant两个数据集中关系分布的情况,可以看到,很多的关系样本数目都少于10个。这就要求模型能够从少量的样本中学习到这些关系的特征。而关于从少量样本中学习特征的任务,Few-shot Learning就非常适合这个需求。
Few-shot Learning是从现存的大规模的训练数据中训练学习到样本中非常好的表征,进而能够迁移到新的任务取得较好的效果,如上图所示是一个Few-shot Learning的例子。
Few-shot Learning主要包括两种:
1.Metric Learning,通过现存数据学习一些语义网络,对于新的query,通过跟训练样本进行比较来分类。
2.Meta-Learning,又被称为“学习怎么学习”的方法,基本的思想是让模型先在其它数据比较多的数据集上学到这些有关“该如何学习新的知识”的先验知识,由此让模型先学会“如何快速学习一个新的知识”,进而可以在数据较少的数据集上快速的学习。
3) 处理更复杂的文本
现实情况中,两个实体及关于他们关系的信息可能会贯穿整个文档(文档可能很长);也有可能一段文本中,包含非常多的实体以及实体之间的关系,如上图所示,展示了一段文本中包含复杂关系的例子。
从一段复杂的文本中抽取关系是一个复杂的问题,它需要模型具备在多个句子间进行理解、记忆和推理的能力,目前大部分的RE模型在这方面都还比较弱。
4) 面向开放领域的RE
目前大部分的RE系统都是先预定义好关系集合,RE系统只能从语料中抽取该集合内的关系。现实世界是开放的,并且知识在不断的增加和变化,因此不可能将所有的关系都预定义好再进行抽取。这就需要一种能够不依赖于预定于关系集合就能进行关系抽取的RE系统。
这方面目前以及有了一些探索,主要包括OpenIE和Relation discovery。
上图展示了一种簇基的Relation discovery方法,通过聚类过程进行关系发现和分类。
总结
关系抽取是信息抽取中最重要的部分,是知识图谱、文本结构化等重要的NLP任务的主要技术,是非常重要的一项NLP技能,后续我们会聚焦NRE,介绍更多的RE模型,请大家持续留意与关注。