知识图谱-学习笔记

一、知识图谱简介

从实际应用的角度出发其实可以简单地把知识图谱理解成多关系图(Multi-relational Graph)

1、什么是图(Graph)

图(Graph)是由节点(Vertex)和边(Edge)来构成,多关系图一般包含多种类型的节点和多种类型的边。

通俗的来讲,知识图谱要解决这样的问题:如何能更好的描述丰富、海量和复杂的互联网数据?

1.1 数据从哪里来?

从网络上可以获取大量的非结构化数据(例如一篇文章,一条评论),面临一些问题:

* 数据很多,关系却难以提取:在海量数据中把这些关系抽出来

* 涉及大量的NLP技术:文本数据较多,如何从文本中提取有价值信息成为关键

        常用技术点:命名实体识别(给词打上标签才好查)、基于实体与关系构建知识图谱网络图 (关系提取)、实体统一(代词消解)

1.2 知识图谱不只是NLP任务

  • 如果可以进行特征提取,那么计算机就可以进行训练和推理任务
  • embedding (如何进行编码)这件事是Ai最核心的内容,为了让计算机读懂咱们的数据
1.2.1 graph embedding

由于业务需求的不同,graph embedding方法差别很大

  • 例如风控模型中对结点进行编码,有了特征编码能做的事就很多了,预测,分析等一些ML任务都能干活了,难点在于如何编码才能更准确体现这个用户的情况。
  •  例如图像视频数据,如图卷积模型

特征表达尤为重要

1.3 知识融合

现有数据包括:实体数据,行为数据,文本数据,图片数据

特征进行融合,得到最终的向量,数据多就全用上

1.4 业务还是算法?

都重要,但是业务决定了算法的选择和数据需求以及模型的建立

非常数学业务才能设计出实用的知识图谱,业务和设计起决定性作用

不同应用场景业务和设计也是完全不同的,须具体分析

算法很多都是通用的(命名实体识别,graph embedding等)

二、图数据库

Neo4j:用的人多,模板好找,报错能查  

neo4j的安装需要jdk10以上版本

三、「新一代知识图谱关键技术」最新2022进展综述

知识图谱以其强大的语义表达能力、存储 能力和推理能力,为互联网时代的数据知识化组织和智能应用提供了有效的解决方案,以知识图谱为基础的典型应用也逐渐走进各个行业领域,包括智能问答、推荐系统、个人助手、战场指挥系统等

本文对3方面的新一代知识图谱关键技术和理论做分析:1)非结构化多模态数据组织与理解; 2)大规模动态图谱表示学习与预训练模型; 3)神经符号结合的知识更新与推理

1. 非结构化多模态数据组织与理解

多模态数据理解旨在实现处理和理解不同模态信息之间共同表达语义的能力。整体上,和知识图谱 相关的多模态数据的理解主要分为基于本体的多模态语义理解和基于机器学习的多模态语义理解。

基于机器学习的多模态语义理解是目前多模态数据理解的主流方法,和知识图谱的联系主要是利用多模态表示学习方法实现知识补全或应用到 下游任务中.多模态表示学习是指通过利用不同多模态数据之间的互补性,剔除模态冗余性,从而将多模态数据的语义表征为实值向量,该实值向量蕴含了不同模态数据的共同语义和各自特有的特征

2 大规模动态图谱表示学习与预训练模型

知识图谱的本质是一种语义网络,亦是一种特 殊的图.动态知识图谱同样是一种特殊的动态图.但 是因为知识图谱的特殊性,动态知识图谱可以被分 为2类:一类是时序动态知识图谱,其中蕴含着时间 特征,知识图谱的结构、实体和关系都会随着时间的 推移发生改变;另一类是非时序动态知识图谱,这类 知识图谱中没有显式的时间特征,但是知识图谱会 发生更新,有新的实体和关系添加到原有的知识图 谱中.一般情况来说,已存在知识图谱中的实体和关 系不会发生改变. 

四、QA-GNN

1.贡献

(i)相关性评分,我们使用LM来估计相对于给定QA上下文的KG节点的重要性

(ii)联合推理,我们将QA上下文和KG连接起来形成一个联合图,并通过图神经网络相互更新它们的表示

2.背景

KG可以提供额外的、结构化的、高质量的知识,提高模型泛化能力,其结构化知识可以帮助人们理解模型输出;LLM可以自动从文本数据中提取知识,从而降低KG的构建和维护成本

我们提出了QA-GNN,这是一个端到端的LM+KG问答模型,解决了上述两个挑战。我们首先使用LM对QA上下文进行编码,并根据之前的工作检索KG子图

两个关键贡献:(i)相关性评分:由于KG子图由主题实体的所有少跳邻居组成,对于给定的QA上下文,一些实体节点比其他实体节点更相关。因此,我们提出了KG节点相关性评分:我们通过将实体与QA上下文连接起来并使用预训练的LM计算可能性来对KG子图上的每个实体进行评分。这提供了一个关于KG的权重信息的一般框架。

(ii)联合推理:我们设计了QA上下文和KG的联合图表示,其中我们明确地将QA上下文视为附加节点(QA上下文节点),并将其连接到KG子图中的主题实体,如图1所示。这个联合图,我们称之为工作图,将两个模态统一成一个图。然后,我们用相关分数增强每个节点的特征,并设计了一个新的基于注意力的GNN模块用于推理。

3.QA-GNN方法

3.1 工作图

给定QA上下文(z),我们将其与检索到的KG连接以形成联合图(工作图G_{w};§3.1),计算以z为条件的每个KG节点的相关性(§3.2;节点阴影表示相关性得分),并对工作图进行推理(§3.3),G_{w}中的每个节点与四种类型中的一种相关联:\tau={Z,Q,A,O},分别表示上下文节点z、Vq中的节点、Va中的节点和其他节点(对应图1和2中的节点颜色,紫色、蓝色、红色、灰色)。

3.2 相关性评分

我们使用预训练的语言模型对每个KG节点在QA上下文条件下的相关性进行评分,对于每个节点v,我们将实体文本(v)与QA上下文文本(z)连接起来,并计算相关性分数

f_{head}(f_{enc}(x)),其中f_{enc}是编码器,将文本输入x映射到h^{LM}的上下文化的向量表示,f_{head}使用该表示来执行相关性评分(我们在3.2中讨论)。在这项工作中,我们特别使用掩码语言模型作为f_{enc},并让h^{LM}表示附加到输入序列x的[CLS]令牌的 输出表示,此相关性评分ρv捕获每个KG节点相对于给定QA上下文的重要性

3.3GNN架构

在一层中更新每个结点的向量表示h_{t}m _{st}表示每个邻居节点s到t的消息传递,\alpha _{st}表示消息的关注权重,消息的总和通过一个2层MLP fn传递和bn层

m _{st}计算:u_{s}=f_{u}(\mathbf{u}_{s})

\mathbf{u}_{t}\mathbf{u}_{s}分别表示t, s节点的类型嵌入层one-hot编码,e_{st}表示边(s,t)的关系类型独热编码,r_{st}表示节点s到节点t的关系嵌入

f_{u}是一个线性变化,f_{r}是一个两层的MLP

\boldsymbol{h}_{s}^{(\ell)}是节点s在当前层的向量表示,f_{m}是一个线性变化,将节点s, s的类型,边(s,t),节点t的类型信息整合,用于传递信息

\alpha _{st}计算:

相关性评分:\rho_{t}=f_{\rho}(\rho_{t}),

\boldsymbol{q}_s=f_q(\boldsymbol{h}_s^{(\ell)},\boldsymbol{u}_s,\boldsymbol{\rho}_s)

\boldsymbol{k}_{t}=f_{k}(\boldsymbol{h}_{t}^{(\ell)},\boldsymbol{u}_{t},\boldsymbol{\rho}_{t},\boldsymbol{r}_{st})

节点s对t的权重计算:

3.4 推理和学习

我们使用来自QA上下文和KG的信息来计算它成为答案的概率

p(a\mid q)\propto\exp(\mathbf{MLP}(\boldsymbol{z^{LM}},\boldsymbol{z^{GNN}},\boldsymbol{g}))

z^{LM}:通过QA上下文的LM表示来初始化z的节点嵌入

z^{\mathrm{GNN}}=\boldsymbol{h}_{z}^{(L)}

g=pooling\{\boldsymbol{h}_{v}^{(L)}|v\in\mathcal{V}_{\mathrm{sub}}\}

使用交叉熵损失来优化模型 

五、基于预训练模型的知识图谱嵌入编辑

1.引言

基于预训练语言模型的知识图谱嵌入可以充分利用文本信息进而取得较好的知识图谱表示性能。不同于直接编辑大型语言模型内部的知识,知识图谱嵌入编辑是针对知识图谱中的事实性知识进行操作。现有的知识图谱嵌入模型一般是作为一个静态工件被部署在服务中,一经训练好知识图谱表示模型就很难适应新出现的实体以及处理事实知识发生修改的情况。

我们介绍的KGEditor,它可以有效地修改不正确的知识或添加新知识,而不会影响现有知识的其余部分

3.模型

本文采用的知识图谱嵌入模型都是基于预训练的知识图谱嵌入模型,基于两种语言模型技术上进行对比实验,包括FT-KGE(微调)和PT-KGE(提示),这两种语言模型存在技术上的差异。

之前的编辑KG嵌入分为两类,一类是外部基于模型的编辑器,使用外部模型控制模型参数,也就是通过构建额外的超网络训练参数W',与原始W存在差异\DeltaW,将\DeltaW添加到原始W中;另一类是附加的基于参数的编辑器,它引入附加的参数来调整模型的最终输出,从而实现对模型的编辑,也就是添加了附加的FFN的维度

右上:EDIT,右下:ADD

通过对上面两种方式相结合,本文构建了一个与FFN架构相同的附加层,并利用其参数进行知识编辑。但是额外FFN层的参数不是依靠微调训练,而是利用额外的超网络来生成附加层的额外调整参数,跟新FFN中的知识。其公式如下:

本文采用了双向LSTM来构建超网络,本文对<x,y,a>进行编码,然后用特殊的分隔符将它们连接起来以输入双向LSTM。本文将双向LSTM的最后隐藏状态输入MLP中,以生成用于知识编辑的单个向量h。

4.数据集

借助了目前知识图谱中常见的两个基准数据集:FB15k237和WN18RR

对应edit任务,本文收集了在KGE模型链接预测任务上具有挑战性的数据。即本文采样了链接预测中,平均实体排序在2,500以上的数据(模型难以预测正确的三元组补全数据)。对于稳定性测试集,本文将模型原本能够预测保持在top k的数据保留下来,做为L-test数据集

对于ADD,我们利用原始训练集来构建预训练数据集和L-test的数据,因为它们以前没有见过

L-test(一个专门用于稳定性测试的数据集:L-test数据集收集了原始模型预测出来的Top 1的三元组数据,作为观测数据集)

5.评估

a.知识的可靠性:通过对候选实体分数进行排序,我们生成一个实体列表,我们通过计算出现在位置k上的正确三元组的数量来度量。

b.知识的局部性:是否会在成功更新特定事实时影响所获得的知识的其余部分

c.编辑知识变化率

ER_{roc}=\frac{|R_{edit}-R_{origin}|}{R_{origin}},          Redit和Rorigin表示编辑前后测试集的平均排名

保留知识变化率

RK_{roc}=\frac{|R_{s.edit}-R_{s.origin}|}{R_{s.edit}}      T-test集的情况(越小越好)

不同模型下不同KGE初始化的性能

6.总结

本文主要介绍了知识图谱嵌入模型的编辑工作。区别于传统的编辑预训练语言模型的任务,KGE编辑是基于知识图谱中的事实性知识进行操作。此外,本文提出了一个新的编辑方法——KGEditor。KGEditor是一种高效修改模型中知识的一种方法,能够有效地节约计算资源的开销。(排名?

六、FactKG

基于kg的事实验证技术在事实检查领域之外具有广泛的适用性。例如,现代对话系统(例如Amazon Alexa (Amazon Staff, 2018), Google Assistant (Kale和Hewavitharana, 2018))维护并与内部知识图谱进行沟通,确保其内容与用户所说的一致是至关重要的,否则相应地更新知识图谱。

如果我们将用户的话语建模为声明,将对话系统的内部知识图建模为知识来源,那么检查它们的一致性的过程可以看作是一种基于kg的事实验证任务。更一般地说,基于kg的事实验证技术可以应用于需要检查图形和文本之间一致性的情况。

1、引言

对于事实验证,kg还没有充分利用作为一个知识来源。

由于KGs的可靠性和广泛的适用性,它可以成为一种有价值的知识来源。KG由节点和边缘组成,这清楚地表明概念是如何联系在一起的,允许机器对主题链进行推理。

KG是一个有价值的知识来源,有两个优点:

        基于kg的事实验证可以提供更可靠的推理

        基于kg的事实验证技术在事实检查领域之外具有广泛的适用性(如果我们将用户的话语建模为声明,将对话系统的内部知识图建模为知识来源,那么检查它们的一致性的过程可以看作是一种基于kg的事实验证任务。更一般地说,基于kg的事实验证技术可以应用于需要检查图形和文本之间一致性的情况。)

2、数据构建

FACTKG 使用整个DBpedia作为实体集,WebNLG是一个用于评估基于三元组的自然语言生成的数据集,它由来自DBpedia的25,298对高质量文本和RDF三元组组成。

我们的目标是使声明的图形推理模式和语言风格多样化。为了实现这一点,我们将五种推理类型的声明分类:单跳、连接、存在、多跳和否定

2.1、声明的产生

我们的声明是通过转换Sw中的句子生成的,Sw是WebNLG文本图对的一个子集

在实体替换中,我们从原始声明中的所有实体中选择位于4跳之外的新实体。如果双向NLI的结果都是矛盾的,我们就结束这个过程。在关系替换中,我们随机抽取一个与原始关系的头和尾具有相同实体类型的关系。然后,根据特定于所选关系的模板执行替换

2.1.1 单跳

只包涵一个知识三元组的声明类型为单跳,我们通过两种方式替换支持的声明C来创建被拒绝的声明\tilde{C}:实体替换和关系替换

在实体替换中,我们用具有相同实体类型的另一个实体替换支持声明C中的实体e,为了保证\tilde{C} 被拒绝,保证替换的实体与初始的相距4跳以上,NLI(自然语言推理,符号NLI (p, h)表示当p被指定为前提,h被指定为假设时NLI的结果)结果都是矛盾的

关系替换中,该关系的头和尾具有与原始关系相同的实体类型(兼容关系)该关系的头和尾具有与原始关系相同的实体类型(例如currentTeam↔formerTeam)

2.1.2 连接

一种说法可能包含多种不同的事实,当涉及的所有三元组都存在时,声明成立。我们对被支持的声明采取实体替换方法

2.1.3 存在

人们可能会断言某事的存在,从三元组的角度来看,这相当于头部或尾部缺失。为了反映这种情况,我们通过仅从三元组中提取{head, relation}或{tail, relation}来制定支持的声明。被驳斥的主张使用与主张中表示的相同类型的实体来构建,但具有不同的关系

2.1.4 多跳

从DBpedia中提取实体e的类型名t,然而,DBpedia中的每个实体e有几种类型T = {t1, t2,…, tN},对于每个tn∈T,我们将其插入到声明C中的实体e旁边,并使用GPT2-large测量修改后的权利要求的困惑度得分(Radford et al, 2019)。然后我们将声明中的e替换为得分最低的类型名。通过对支持的声明应用实体替换来生成被驳斥的声明。

2.1.5 否定

对于生成声明的四种方法中的每一种,我们都开发了包含否定的声明。并且在附录中为连接和多跳类型的否定指定了专门的标签策略

2.2、口语分格转换

我们使用微调的语言模型和预设模板,通过风格转换将声明转换为口语化风格

2.2.1 模型基础

例如,声称“奥巴马是总统。被转换成“你听说过奥巴马吗?”他是总统!”

通过预训练模型生成500个样例

i)为避免生成的句子与原句过于相似,在500个样本中只选取与原句编辑距离在6或6以上的句子。ii)然后,只选择那些保留动词和命名实体的内容。最后,我们使用双向NLI来保留原始语义。当NLI (O, G)为蕴涵(ENTAILMENT), NLI (G, O)不为矛盾(O指原句子,G指生成的句子)时,候选句子存在,500个样例中评价只有41.2个句子留下来

2.2.2 预设

  • 事实性预设

人们经常使用像“实现”或“记住”这样的动词来表达他们假设的真实性。“我记得那个{声明}。,假设{声明}为真。

  • 非事实性预设

“wish”等动词通常用于描述未发生事件的话语。通过非事实预设方法创造的命题被标记为与原始命题相反的命题

  • 结构性预设

这种类型是以假定某些事实的问题的形式出现的,我们把这个问题本身视为一种命题。例如,“梅西什么时候在巴塞罗那?”,即假设梅西在巴塞罗那。为了创建一个自然的句子形式,只构建与一个跳跃和存在相对应的声明

3、实验

我们发布FACTKG,包括一系列声明、图表证据和标签。图证据包括实体和一组与它们相连的关系序列。我们在FACTKG上进行实验,看看图形证据如何影响事实验证任务。为此,我们根据输入类型将基线分为两个不同的类别,1.仅声明 2.声明且带有图形证据。

我们基线的整个过程。在子图检索步骤中,每个分类器分别预测给定实体与声明要求之间的关系和跳数。随后,我们检查从每个分类器获得的所有n跳关系序列,以找到所有证据路径。在事实验证步骤中,通过利用从子图检索步骤获得的所有输出来验证声明。在这个图中,我们将Transformer编码器表示为TRM。

3.1 子图索检

为了检索图形证据,我们训练了两个独立的BERT模型,即关系分类器和跳分类器

关系分类器从声明和实体中预测关系R的集合,跳分类器预测实体之间遍历的最大跳数。开始遍历子图,其中开始结点是声明中的实体,关系是集合R中的,子图允许重复并且考虑顺序

如果没有其他实体可以到达的路径,那么我们随机选择其中一条路径

3.2 事实验证

我们通过将每个三元组和原始声明用特殊标记<SEP>连接起来,将它们转换为文本。

最终用Bert模型得到三元组和声明的表示,用Transformer编码器来推断最终结果

W指书面风格要求,C指口语化风格要求

七、用知识图推理增强语言模型的答疑能力(OREOLM)

引言

预先训练的语言模型(LMs)缺乏存储所有所需知识的能力,因此通常使用外部知识来源(如知识图)来增强LMs。在这项工作中,我们提出了知识推理授权语言模型(OREOLM),它由一个新的知识交互层组成,可以灵活地插入到现有的基于LM中

1.介绍

之前的Open-Book模型通常假设访问外部文本语料库(例如维基百科)作为外部知识来源,由于此类文本知识来源的规模较大(例如维基百科为20GB),无法在模型参数中进行编码。因此,大多数作品将相关段落作为知识检索

另外的Closedbook模型假设知识可以隐式地存储在语言模型(LM,例如BERT)的参数中,LM可以直接生成答案

鉴于KG的良好性能,Knowledge Base Question Answering (KBQA) systems,如图1(a)所示,大多数KBQA模型使用LM作为解析器将文本问题映射到结构化形式(例如SQL查询或子图),然后基于KG,执行查询获得答案

对于上面讨论的大多数方法,LM没有与KG交互以正确理解问题

本文提出的OREOLM是一种可以应用于基于Transformer的LMs的模型体系结构,以改进Closed-Book ODQA,关键组件是插入在LM层之间的知识交互层(KIL)

KIL与KG推理模块交互,在KG推理模块中,我们为问题中的每个实体维护不同的推理路径。我们将检索和推理过程表述为从上下文实体开始在KG上的上下文化随机游走。每个KIL负责一个推理步骤。它首先预测每个上下文实体的关系分布,然后KG推理模块按照预测的关系分布遍历图。每一步的推理结果总结为从遍历中检索到的实体的加权平均嵌入。通过堆叠T层KIL, OREOLM可以检索离上下文实体T跳的实体,并帮助LM回答需要上下文外知识或多跳推理的开放性问题。我们进一步介绍了如何在未标记的维基百科语料库上预训练OREOLM。除了显著实体跨度掩蔽目标之外,我们还引入了两个自监督目标来指导OREOLM学习更好的实体和关系表示以及如何对它们进行推理

2.方法

红色虚线框突出显示了三个关键过程:1)关系预测(第2.1.1节):知识交互层(KIL)预测提及的每个实体的关系动作。2)一步状态转换(第2.1.2节):KG根据预测关系,对每个图重新加权,并进行情境化随机游走,更新实体分布状态。3)知识集成(第2.2节):将加权聚合实体嵌入添加到占位符令牌中作为检索到的知识。

浅蓝色的块是我们添加的支持KG推理的组件,而深蓝色的Transformer层是知识注入的LM

开放域问答可以抽象为P(a|q, M)

从每个提到的实体mi开始,我们希望模型学习遍历图以检索相关知识,并形成T长度的推理路径来回答这个问题,其中T是一个超参数,表示回答问题所需的最长推理路径。

我们从实体提及“包豪斯”为例进行第一步推理。在KIL的第一个红框中,我们预测实体“包豪斯”应该采取哪些关系动作,并发送预测(例如:“创立”)到KG。在第二个红框中,KG对图进行重新加权,并进行情境化随机游走来更新实体分布,其中“Walter”的概率最高。最后,根据实体分布进行加权,将聚合的实体嵌入发送回KIL并添加到占位符令牌中作为知识,以便稍后的LM层知道关注检索到的“Walter”

  • 16
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值