图片来源:知乎
导读
最近几年由深度学习引发的人工智能浪潮席卷全球,在互联网普及带来的海量数据以及在摩尔定律支配下飞速提升的算力的双重加持下,深度学习深入地影响了自然语言处理的各个方向,极大推动了自然语言处理的发展。近年来随着研究的深入,人们逐渐认识到,单纯利用深度学习技术,并不能完全解决自然语言处理中的所有问题。例如,“中国的乒乓球谁都打不过”与“中国的足球谁都打不过”这两句话中的“打不过”意思正好相反,但如果缺乏相关知识,计算机很难理解它们之间的差异。而对于这样的问题,只依赖数据标注和算力投入是无济于事的,必须要在自然语言处理中融入知识。因此,融入知识来进行知识指导的自然语言处理,是通向精细而深度的语言理解的必由之路。那么紧接着的问题是,这些知识该从哪里来呢?这就涉及到人工智能研究领域的一个关键问题——知识获取。
本文将从实体关系抽取的现状与未来介绍人工智能的知识获取,总字数,阅读约22分钟。
作者简介
韩旭,清华大学计算机科学与技术系三年级博士研究生,主要研究方向为自然语言处理、知识图谱、信息抽取。在人工智能领域国际著名会议AAAI、ACL、EMNLP、COLING、NAACL上发表多篇论文,是OpenKE、OpenNRE等开源项目的开发者之一。
高天宇,清华大学计算机系四年级本科生,主要研究方向为自然语言处理、知识图谱、关系抽取。在人工智能领域国际著名会议AAAI、EMNLP上发表多篇论文,是OpenNRE等开源项目的主要开发者之一。
刘知远,清华大学计算机系副教授、博士生导师。主要研究方向为表示学习、知识图谱和社会计算。
01
知识图谱
现有大型知识图谱,诸如Wikidata、Yago、DBpedia,富含海量世界知识,并以结构化形式存储。如下图所示,每个节点代表现实世界中的某个实体,它们的连边上标记实体间的关系。这样,美国作家马克·吐温的相关知识就以结构化的形式记录下来。
图1马克.吐温关系结构图
目前,这些结构化的知识已被广泛应用于搜索引擎、问答系统等自然语言处理应用中。但与现实世界快速增长的知识量相比,知识图谱覆盖度仍力有未逮。由于知识规模巨大而人工标注昂贵,这些新知识单靠人力标注添加几无可能完成。为了尽可能及时准确地为知识图谱增添更加丰富的世界知识,研究者们努力探索高效自动获取世界知识的办法,即实体关系抽取技术。
具体来说,给定一个句子和其中出现的实体,实体关系抽取模型需要根据句子语义信息推测实体间的关系。例如,给定句子:“xx大学坐落于北京近郊”以及实体“xx大学”与“北京”,模型可以通过语义得到“位于”的关系,并最终抽取出(xx大学,位于,北京)的知识三元组。
实体关系抽取是一个经典任务,在过去的20多年里都有持续研究开展,特征工程、核方法、图模型曾被广泛应用其中,取得了一些阶段性的成果。随着深度学习时代来临,神经网络模型则为实体关系抽取带来了新的突破。
02
神经网络关系抽取模型
面向自然语言文本序列已经有很多神经网络类型,例如循环神经网络(RNN、LSTM)、卷积神经网络(CNN)和Transformer等,这些模型都可以通过适当改造用于关系抽取。最初,工作[1,2]首次提出使用CNN对句子语义进行编码,用于关系分类,比非神经网络方法比性能显著提升;工作[3,4]将RNN与LSTM用于关系抽取;此外,工作[5]提出采用递归的神经网络对句子的语法分析树建模,试图在提取语义特征的同时考虑句子的词法和句法特征,这个想法也被不少后续工作的进一步探索。这里,我们列出一个表格,总结各类典型神经网络在基准测试数据集合SemEval-Task-8[6]上的效果。
表1各类典型神经网络在基准测试数据集合SemEval-Task-8上的效果
从上表可以看出,这些神经网络模型均取得了优异的实验结果,且相互之间没有显著的性能差异。这是否意味着关系抽取问题就此解决了呢?实际上并非如此。SemEval-Task-8的任务设定为,对预先定义好的关系类别标注大量的训练和测试样例,样例都是相对简单的短句,而且每种关系的样例分布也比较均匀。然而,实际应用中往往面临很多挑战:
数据规模问题:人工精准地标注句子级别的数据代价十分高昂,需要耗费大量的时间和人力。在实际场景中,面向数以千计的关系、数以千万计的实体对、以及数以亿计的句子,依靠人工标注训练数据几乎是不可能完成的任务。
学习能力问题:在实际情况下,实体间关系和实体对的出现频率往往服从长尾分布,存在大量的样例较少的关系或实体对。
神经网络模型的效果需要依赖大规模标注数据来保证,存在“举十反一”的问题。
如何提高深度模型的学习能力,实现“举一反三”,是关系抽取需要解决的问题。
复杂语境问题:现有模型主要从单个句子中抽取实体间关系,要求句子必须同时包含两个实体。
实际上,大量的实体间关系往往表现在一篇文档的多个句子中,甚至在多个文档中。
如何在更复杂的语境下进行关系抽取,也是关系抽取面临的问题。
开放关系问题:现有任务设定一般假设有预先定义好的封闭关系集合,将任务转换为关系分类问题。这样的话,文本中蕴含的实体间的新型关系无法被有效获取。如何利用深度学习模型自动发现实体间的新型关系,实现开放关系抽取,仍然是一个“开放”问题。
所以说,SemEval-Task-8这样的理想设定与实际场景存在巨大鸿沟,仅依靠神经网络提取单句语义特征,难以应对关系抽取的各种复杂需求和挑战。我们亟需探索更新颖的关系抽取框架,获取更大规模的训练数据,具备更高效的学习能力,善于理解复杂的文档级语境信息,并能方便地扩展至开放关系抽取。
我们认为,这四个方面构成了实体关系抽取需要进一步探索的主要方向。接下来,我们分别介绍这四个方面的发展现状和挑战,以及我们的一些思考和努力。
2.1
更大规模的训练数据
神经网络关系抽取需要大量的训练数据,但是人工标注这些训练数据非常费时昂贵。为了自动获取更多的训练数据训练模型,工作[16]提出了远程监督(DistantSupervision)的思想,将纯文本与现有知识图谱进行对齐,能够自动标注大规模训练数据。
远程监督的思想并不复杂,具体来说:如果两个实体在知识图谱中被标记为某个关系,那么我们就认为同时包含这两个实体的所有句子也在表达这种关系。再以(xx大学,位于,北京)为例,我们会把同时包含“xx大学”和“北京”两个实体的所有句子,都视为“位于”这个关系的训练样例。
远程监督的这种启发式标注规则是把双刃剑,它是自动标注训练数据的有效策略,但其过强的设定不可避免地产生错误标注。例如对于知识图谱中(xx大学,校长,人物A)这个三元组事实,句子“人物A担任大学校长”可以反映“xx大学”与“人物A”之间“校长”的关系;但是句子“人物A考入xx大学某系”以及“人物A担任xx大学某职务”并不表达“校长”关系,但却会被远程监督的启发式规则错误地标注为“校长”关系的训练实例。
虽然远程监督思想非常简单也存在很多问题,不过它为更多收集训练数据开启了新的纪元。受到这个思路的启发,很多学者积极考虑如何尽可能排除远程监督数据中的噪音标注的干扰。从年开始,基于远程监督与降噪机制的神经关系抽取模型得到了长足的发展,工作[17]引入了多实例学习方法,利用包含同一实体对的所有实例来共同预测实体间关系。我们课题组林衍凯等人工作[19]提出句子级别注意力机制,对不同的实例赋予不同的权重,用以降低噪音实例造成的影响。工作[20]引入对抗训练来提升模型对噪音数据的抵抗能力。工作[21]则构建了一套强化学习机制来筛除噪音数据,并利用剩余的数据来训练模型。
总结来说,已有对远程监督的降噪方法可以兼顾了关系抽取的鲁棒性与有效性,也具有较强的可操作性和实用性。不过,使用已有知识图谱对齐文本来获取数据训练关系抽取模型,再利用该模型来抽取知识加入知识图谱,本身就有一种鸡生蛋与蛋生鸡的味道。不完善的知识图谱对齐所得到的文本训练数据也将是不完善的,对那些长尾知识而言,仍难以通过这种远程监督机制来得到训练实例。如何提出更有效的机制来高效获取高质量、高覆盖、高平衡的训练数据,仍然是一个值得深入思考的问题。
2.2
更高效的学习能力
即使通过远程监督等办法能够自动获取高质量的训练数据,由于真实场景中关系和实体对的长尾分布特点,绝大部分的关系和实体对的可用样例仍然较少。而且,对于医疗、金融等专业领域的专门关系,受限于数据规模的问题可用样例也很有限。而神经网络模型作为典型的data-hungry技术,在训练样例过少时性能会受到极大影响。因此,研究者们希望探索有效提升模型学习能力的方法,以更好地利用有限训练样例取得满意的抽取性能。
实际上,人类可以通过少量样本快速学习知识,具有“举一反三”的能力。为了探索深度学习和机器学习“举一反三”的能力,提出了少次学习(Few-shotlearning)任务。通过设计少次学习机制,模型能够利用从过往数据中学到的泛化知识,结合新类型数据的少量训练样本,实现快速迁移学习,具有一定的举一反三能力。
过去少次学习研究主要集中于计算机视觉领域,自然语言处理领域还少有探索。我们课题组韩旭同学等的工作[21]首次将少次学习引入到关系抽取,构建了少次关系抽取数据集FewRel,希望推动驱动自然语言处理特别是关系抽取任务的少次学习研究。
FewRel论文工作初步尝试了几个代表性少次学习方法包括度量学习(Metriclearning)、元学习(Metalearning)、参数预测(Parameterprediction)等,评测表明即使是效果最佳的原型网络(PrototypicalNetworks)模型,在少次关系抽取上的性能仍与人类表现相去甚远。
为了更好解决远程监督关系抽取的少次学习问题,我们课题组的高天宇同学等的工作[22]提出了基于混合注意力机制的原型网络,同时考虑实例级别和特征级别的注意力机制,在减少噪音标注影响的同时,能更好地