Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

UCSD Shibo Hao作者

可扩展、可解释,新框架从预训练语言模型中高效提取知识图谱

来自加州大学圣迭戈分校(UCSD)、卡内基梅隆大学(CMU)等机构的研究者提出了一种自动知识抽取框架,可以从 BERT 或 RoBerta 等预训练语言模型中高效且可扩展地提取知识图谱。


知识图谱 (KG) 是表示知识的一种形式,通常由头尾实体及其关系的三元组构成。它被广泛应用在各个领域,包括搜索引擎、推荐系统聊天机器人和医疗保健。传统的知识图谱是通过昂贵的众包(例如 WordNet, ConceptNet, ATOMIC)构建的。尽管最近的研究探索了使用文本挖掘技术来自动构建知识图谱,但由于需要庞大的语料库和复杂的处理流水线,这仍然是一项具有挑战性的任务。此外,文本挖掘的一个不可避免的缺点是抽取的关系仅限于所选语料库所涵盖的关系。例如,许多常识性的知识并不会在人类语言中被显式地表达,因此从语料库中提取它们并不是一件容易的事。自动构建包含有“任何关系”的知识图谱仍然是一个未经探索的领域。


随着神经网络的发展,越来越多的神经网络模型在不同领域的任务上取得优异的表现,例如使用 GPT-3 和 ChatGPT 进行语言建模,以及使用 bioBERT 进行医学预测。在训练过程中,这些模型可以将从数据中学到的知识隐式地存储在它们的参数中。例如,在大规模医疗记录上训练的医学模型可能已经获得了丰富的医学知识,使其能够准确预测疾病。同样,流行病预测模型可能已经从训练数据中隐含地学到了某些传播模式。


最近的研究试图利用语言模型作为知识库 (Language model as knowledge base)。例如,使用手动或自动生成的提示(例如,“奥巴马出生于 __”)来查询语言模型获得答案(例如,“夏威夷”)。但是,语言模型的知识仅仅隐式编码于参数,使得这样的知识库缺乏了知识图谱的优良属性,例如对知识进行复杂查询或是更新。这就引出了一个问题:我们能否自动从语言模型中获取知识图谱,从而结合两者的优点,即语言模型的灵活性和可扩展性,以及知识图谱的易于查询、可编辑性和可解释性?


为实现这一目标,我们提出了一种自动知识抽取框架,能够从 BERT 或 RoBerta 等预训练语言模型中高效且可扩展地提取知识图谱,从而构建一系列新的知识图谱(例如 BertNet、RoBertaNet),相比于传统的知识图谱,能够支持更广泛和可扩展的关系和实体。



  • 论文地址:https://arxiv.org/abs/2206.14268

  • 项目地址:https://github.com/tanyuqian/knowledge-harvest-from-lms

  • demo地址:https://lmnet.io/


图1:项目demo的截图,用户可以自定义关系进行查询


语言模型中获取知识图谱的框架


我们首先定义希望解决的问题:给定用户对于一个关系的描述,我们希望从语言模型中获取该关系的实体对。在我们的框架中,关系被描述为一个带有空槽的提示(prompt),并且通过一些示例实体 (seed entity tuple) 对进一步消除歧义。有了这些输入,我们的框架可以输出实体对列表以及它们对应的置信度(可参考图1中demo的效果)。


兼容性分数


在我们深入介绍抽取知识所需的两个主要阶段之前,我们先介绍提示和实体对之间的兼容性分数。



以 BERT 为例,评分函数中的第一项表示将实体对 (h, t) 填充到提示 p 中的空槽的预测概率。通常,这个联合条件概率是以自回归方式计算的。此外,我们还想确保每一步的概率不会太低,这就是对分数第二项的直观理解。一个具体的例子如图 2 所示,其中 p=”A is the place for B”,h=”library”,t=”study”。我们还介绍了如何处理 h=“study room” 的多单词 (multi-token) 实体。


图2:兼容性分数的计算示例


有了这个兼容性分数,我们接下来介绍从语言模型中获取知识图谱的流程(图 3),它可以分为两个主要阶段:提示构建 和 实体对搜索。


第一阶段:提示构建


语言模型的一个已知的问题是它们对于提示非常敏感。有时,即使措辞上的细微差别也会导致预测结果发生巨大变化。为此,我们希望生成初始输入提示的多个同义改写,并使用它们来约束语言模型的输出。


在具体实现中,我们迭代地对实体元组和提示进行采样,拼装成一个语句并对其进行同义改写(具体来说,我们使用了GPT-3的API)。该过程如图2的左侧所示。生成的提示可能存在语义漂移,因此我们使用一个提示与所有示例实体对之间的平均兼容性分数进行加权,并且在所有提示中使用 softmax进一步归一化权重,这样我们就可以得到一个带有权重的提示集合,作为对一个关系更可靠的描述。


第二阶段:实体对搜索


我们在接下来这一阶段的目标是搜索实体对。搜出的实体对应该与加权提示集拥有较高的兼容性。


如果直接穷举搜索实体对,搜索空间将会过于庞大。作为一种近似的方法,我们在搜索实体对时只考虑最小单步概率(兼容性函数的左侧一项,简写为MLL)而不是完整的函数。这个近似的评分函数让我们可以在搜索时进行高效的剪枝


作为一个例子:当我们想搜索100个实体对的时候,我们需要维护一个容量为100的最小堆,保存目前为止搜到的MLL最小的100个实体对。堆顶的元素可以作为接下来搜索的一个阈值,因为这是目前搜索到的第100大的MLL。在接下来的搜索中,一旦我们发现在任何一步的概率低于这个阈值,我们都能立刻放弃接下来的搜索,因为接下来搜到的实体的MLL都会小于这个值。如果直到完整搜索出一个实体对都没有被剪枝,我们就弹出堆顶的元素并且把新搜到的实体对的MLL推入堆。


一旦我们收集了足够数量的实体对,我们会用完整的一致性评分函数重新排序,并将其视为置信度。根据置信度,我们尝试使用不同的截断方法来获得最终的知识图谱:(1) 50%: 取搜出实体对置信度排名前一半的。(2)base-k: 对于不同的关系,有效的实体对数量应该是不同的。例如,对于“capital of”这个关系,正确的实体对不应该超过200个,因为全世界国家的数量只有这些。我们设计了一种针对关系的截断方法:取排名第k位的实体对的置信度,乘以百分之10,并且只保留置信度比这个数值更大的实体对。我们将这样获得的知识图谱加上base-k的下标。


抽取出的知识图谱


不同于传统的知识图谱,一旦接受到新的查询,BertNet就可以被扩展。本质上,BertNet的大小没有极限。为了评价我们的框架,我们将这个框架用于ConceptNet的关系集合,以及一个作者们创作的新颖关系集合(例如:capable but not good at),构建出相应的知识图谱


表1:不同知识图谱的统计结果


仅仅使用语言模型作为知识的来源,并且不使用任何训练数据的情况下,我们的框架可以抽取出准确并且多样的知识(表中其他知识图谱构建方法和我们的设置不同,因此数值无法被直接比较)。通过选取不同的截断方法,我们还展示了RobertaNet的大小和准确率的权衡。


总结


在这项工作中,我们提出了一个从语言模型自动抽取知识图谱的框架。它可以处理任意用户输入的关系,并且以高效和可扩展的方式进行知识抽取。我们在两组关系上构建了知识图谱,证明了语言模型不加以外界资源就已经是一个非常有效的知识来源。我们的框架还可以作为对于语言模型的符号解释,为分析语言模型的知识储备提供了工具。

理论CMU加州大学圣地亚哥分校(UCSD)知识图谱预训练模型
相关数据
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

剪枝技术

剪枝顾名思义,就是删去一些不重要的节点,来减小计算或搜索的复杂度。剪枝在很多算法中都有很好的应用,如:决策树,神经网络,搜索算法,数据库的设计等。在决策树和神经网络中,剪枝可以有效缓解过拟合问题并减小计算复杂度;在搜索算法中,可以减小搜索范围,提高搜索效率。

知识库技术

知识库是用于知识管理的一种特殊的数据库,以便于有关领域知识的采集、整理以及提取。知识库中的知识源于领域专家,它是求解问题所需领域知识的集合,包括基本事实、规则和其它有关信息。

知识图谱技术

知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。 知识图谱这个概念最早由Google提出,主要是用来优化现有的搜索引擎。不同于基于关键词搜索的传统搜索引擎,知识图谱可用来更好地查询复杂的关联信息,从语义层面理解用户意图,改进搜索质量。比如在Google的搜索框里输入Bill Gates的时候,搜索结果页面的右侧还会出现Bill Gates相关的信息比如出生年月,家庭情况等等。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

查询语言技术

查询语言泛指向数据库或信息系统查询的各种编程语言。 查询语言必须要能表达所有关系代数所能表达的查询,这样才被称为关系完整的。

聊天机器人技术

聊天机器人是经由对话或文字进行交谈的计算机程序。能够模拟人类对话,通过图灵测试。 聊天机器人可用于实用的目的,如客户服务或资讯获取。有些聊天机器人会搭载自然语言处理系统,但大多简单的系统只会撷取输入的关键字,再从数据库中找寻最合适的应答句。

查询技术

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

WordNet技术

WordNet是由普林斯顿大学心理学家、语言学家和计算机工程师联合设计的一种基于认知语言学的英语词典。它不是光把单词以字母顺序排列,而是按照单词的意义组成一个“单词的网络”。

文本挖掘技术

文本挖掘有时也被称为文字探勘、文本数据挖掘等,大致相当于文字分析,一般指文本处理过程中产生高质量的信息。高质量的信息通常通过分类和预测来产生,如模式识别。文本挖掘通常涉及输入文本的处理过程,产生结构化数据,并最终评价和解释输出。'高品质'的文本挖掘通常是指某种组合的相关性,新颖性和趣味性。

语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

推荐文章
暂无评论
暂无评论~