找回密码
 会员注册
查看: 18|回复: 0

知识图谱技术概述_UTF_8

[复制链接]

3

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2024-10-2 12:04:36 | 显示全部楼层 |阅读模式
知识图谱简介“知识图谱”的概念在提出之初特指Google公司为了支撑其语义搜索而建立的知识库。随着知识图谱的不断发展,知识图谱已经成为大数据时代最重要的知识表示形式。从学术的角度,我们可以对知识图谱给一个这样的定义:“知识图谱本质上是语义网络(Semantic Network)的知识库”。但这有点抽象,所以换个角度,从实际应用的角度出发其实可以简单地把知识图谱理解成多关系图(Multi-relational Graph)。 在知识图谱里,我们通常用“实体(Entity)”来表达图里的节点、用“关系(Relation)”来表达图里的“边”。实体指的是现实世界中的事物比如人、地名、概念、药物、公司等,关系则用来表达不同实体之间的某种联系。现实世界中的很多场景非常适合用知识图谱来表达。比如一个社交网络图谱里,实体类型可能包含“人”、“公司”等类型,而关系则可能包括“朋友”、“同事”、“领导”等。此外,图谱中的实体和关系均可以带有属性,作为知识的补充。例如在下图中,“李明”节点包括“年龄”和“职位”两种属性,而“Has_phone”关系则包含“开通时间”属性。人工智能背后两大技术驱动力:特点深度学习隐形模型,通常面向某一个具体任务,如语音识别、人脸识别、下围棋等。尽管深度学习能够在很多任务中取得非常优秀的结果,但也存在很大的局限性,比如需要海量的训练数据以及强大的计算能力,同时,深度学习方法一般难以进行任务上的迁移,缺乏可解释性。知识图谱知识图谱能够广泛地适用于不同的任务。相比深度学习,知识图谱中的海量知识可以用于学习和挖掘,可解释性非常强,类似于人类的思考。知识图谱存储知识图谱主要有两种存储方式:一种是基于RDF的存储;另一种是基于图数据库的存储。它们之间的区别如下图所示。RDF一个重要的设计原则是数据的易发布以及共享,图数据库则把重点放在了高效的图查询和搜索上。其次,RDF以三元组的方式来存储数据而且不包含属性信息,但图数据库一般以属性图为基本的表示形式,所以实体和关系可以包含属性,这就意味着更容易表达现实的业务场景。相较而言图数据库在关联查询的效率上会比传统的关系数据存储方式有显著的提高。当我们涉及到2,3度的关联查询,基于图数据库的查询效率会高出几千倍甚至万倍。除此之外,基于图的存储在设计上会非常灵活,一般只需要局部的改动即可。因此对大数据量的情况,更应用图数据库来进行存储的。知识图谱构建知识图谱的构建是后续应用的基础,而且构建的前提是需要把数据从不同的数据源中抽取出来。构建图谱的数据源主要来自两种渠道:一种是业务本身的结构化数据,这部分数据通常包含在公司内的数据库表并以结构化的方式存储;另一种是难以直接使用的非结构化数据,如网络上的公开数据、开放性的文本数据等。结构化数据一般只需要简单预处理即可以作为后续AI系统的输入,但非结构化数据一般需要借助于自然语言处理等技术来提取出结构化信息。命名实体识别 & 关系抽取首先是实体命名识别,就是从文本里提取出实体并对每个实体做分类/打标签:比如从上述文本里,我们可以提取出实体-“NYC”,并标记实体类型为 “Location”;我们也可以从中提取出“Virgil's BBQ”,并标记实体类型为“Restarant”。这种过程称之为命名实体识别,这是一项相对比较成熟的技术,有一些现成的工具可以用来做这件事情。其次,我们可以通过关系抽取技术,把实体间的关系从文本中提取出来,比如实体“hotel”和“Hilton property”之间的关系为“in”;“hotel”和“Time Square”的关系为“near”等等。实体统一 & 指代消解另外,在命名实体识别和关系抽取过程中,有两个比较棘手的问题:一个是实体统一,也就是说有些实体写法上不一样,但其实是指向同一个实体。比如“NYC”和“New York”表面上是不同的字符串,但其实指的都是纽约这个城市,需要合并。实体统一不仅可以减少实体的种类,也可以降低图谱的稀疏性(Sparsity);另一个问题是指代消解,也是文本中出现的“it”, “he”, “she”这些词到底指向哪个实体,比如在本文里两个被标记出来的“it”都指向“hotel”这个实体。知识计算通过上述过程已经实现从原始杂乱数据中获得到一系列基本的事实表达。接下来需要通过知识计算获得结构化,网络化的知识体系以及更新机制,主要包括以下几个步骤:本体构建:即通过实体并列关系相似度计算、实体上下位关系抽取、本体的生成,完成自动化的本体构建,实现将数据归类成人工的概念集合/概念框架,如“人”、“事”、“物”等。知识推理:通过基于逻辑的推理、基于图的推理和基于深度学习的推理,处理知识图谱之间关系值缺失,完成进一步的知识发现。质量评估:可以对知识的可信度进行量化,通过舍弃置信度较低的知识来保障知识库的质量,这一步骤在实际应用中主要依赖于人工完成。知识更新:在知识图谱实际应用后,将有大量数据涌入和更新,因此知识的更新流程是必须搭建的。更新包括概念层的更新和数据层的更新。biLSTM + CRF时间段主要方法2015年以前HMM、CRF等传统方法2015-2019biLSTM + CRF2019以后BERT ( + CRF)表中为命名实体识别领域的主要发展历程,此处针对经典的biLSTM + CRF算法进行简单介绍。为什么使用LSTM?命名实体识别本质上就是一个序列标注问题,而LSTM的模型结构天然适合进行序列标注。为什么要加CRF?如图,跑步可以被标注为名词或动词,但在“我喜欢跑步”这句话中,由于喜欢本身已经是一个动词,那么根据动词+名词的规则,显然这里的跑步应该被标注为名词,而LSTM的输出序列中是无法考虑到标签的转移关系的。不支持在 Docs 外粘贴 blockLSTM无法对标签转移关系进行建模。而标签转移关系对序列标注任务来说是很重要的,所以就在LSTM的基础上引入一个标签转移矩阵对标签转移关系进行建模,这就和CRF很像了。我们知道,CRF有两类特征函数,一类是针对观测序列与状态的对应关系(如“我”一般是“名词”),一类是针对状态间关系(如“动词”后一般跟“名词”)。在LSTM+CRF模型中,前一类特征函数的输出由LSTM的输出替代,后一类特征函数就变成了标签转移矩阵。给定输入x,如何计算输出y的概率?训练及预测算法在训练过程中使用负对数似然函数作为损失函数进行训练,在预测过程中主要使用维特比算法完成预测,此处不展开介绍。知识图谱嵌入尽管知识图谱技术凭借其将知识结构化表示的能力使其在多个领域得到广泛应用,但其(实体)-(关系)-(实体)的三元组结构也使得知识图谱在很多场景中难以表达。针对这一问题,知识图谱嵌入技术作为一个新的研究方向引起了极大的学术关注,其基本思想是将图谱中的实体和关系转化为连续的空间向量,使其能够被各种模型或算法轻松地进行使用,进而在下游任务中得到更广泛的应用。不支持在 Docs 外粘贴 block如图所示,知识图谱嵌入主要分为融合事实和融合附加信息两个类别。其中融合事实信息可细分为基于平移距离和基于语义匹配两种,而融合附加信息的方法则可以利用实体类型、关联路径、文本描述、逻辑规则、实体属性、时序信息等完成嵌入。此处对效果较好、应用范围较广泛的trans系列嵌入方法进行简要介绍。transEtransE方法作为trans系列的第一个嵌入算法,其基本思想在于使头节点与关系的向量之和尽可能接近于尾节点向量,如图所示:transE损失函数如下:其中分别表示正例与负例三元组中,头节点与关系相加后与尾节点的距离,margin是一个边缘距离参数,表示模型允许的最大误差,距离得分计算方式如下:对d进行计算时可以使用L1或L2正则。在训练过程中,负例的构造是将三元组中的头节点或尾节点随机进行替换完成的。尽管transE能够解决one-hot向量表示方法中的维度灾难及相似性问题,但其只适用于一对一关系,对于一对多、多对一、多对多并不适用。例如对于(长城,位置,北京)和(故宫,位置,北京)两个三元组,使用transE方法训练后长城和故宫的向量将是非常接近的,而这显然不合理。transHtransH方法试图让一个让实体在不同关系下拥有不同的表示,如图所示,对于关系r,transH同时使用平移向量和超平面的法向量来表示它。对于一个三元组,transH首先将头尾实体向量沿法线映射到关系r对应的超平面中,映射方法如下:该超平面属于关系向量,随后使用与transE类似的方法进行训练,其得分函数与损失函数与transE均保持一致。值得注意的是,由于关系r可能存在无限个超平面,transH方法简单令r与近似正交选取一个超平面。transRtransE和transH方法都认为实体与关系是语义空间中的向量,因此在同一实体空间中相似的实体之间非常接近。transR方法则认为每个实体有着不同的属性,而不同的关系对实体所关注的属性也各不相同。为解决这一问题,transR方法为实体与关系分别构建了实体空间和关系空间,随后对于每个三元组(h,r,t),方法首先使用矩阵将实体从实体空间映射到关系空间中。具体来说,对于每一个关系r,transR定义投影矩阵,将实体进行投影:随后在该关系空间中计算每个三元组的得分情况,并使用与transE相同的损失函数进行训练。transR的训练模式使得拥有同一关系的头尾实体之间距离比较接近,同时与不拥有同一关系的实体距离被充分拉开,如图所示:transDtransR方法仍旧存在一些缺陷。首先,在同一关系下,头节点和尾节点共享投影矩阵,然而一个关系的头和尾节点可能有着不同的属性,例如(美国,总统,奥巴马)三元组中美国和奥巴马完全属于不同的类型,因此这种做法不合理;第二,从实体空间到关系空间的投影是实体和关系的交互过程,transR仅让投影矩阵与关系相关,不合理;第三,transR由于引入了空间投影,使得模型参数急剧增加,复杂度大大提高。针对以上问题,transD方法对头、尾、关系均引入一对向量,其中一个代表其实体或关系本身,另一个则用于构造映射矩阵。映射矩阵定义如下:其中分别代表头尾实体及关系的映射向量,映射矩阵由关系和实体共同决定,其中I为单位矩阵,映射方法如下:transD训练过程中损失函数及得分函数与之前保持一致,如图所示:知识图谱应用知识图谱与搜索语义搜索关键词增强:知识图谱技术以多种途径被用来增强关键词搜索,以此来改善搜索的查全率和查准率。基本原理是事先定义词的同义词、上下位词等词集合,当关键词被检索时,其他与该关键词相关的词也通过图搜索的方式也被检索出来,用来扩展或约束搜索。在百度中查询西红柿,则同义词番茄的相关内容也能够展现出来:答案检索型:对用户使用自然语言提出的问题进行语义分析和语法分析,进而将其转化成结构化形式的查询语句,然后在知识图谱中查询答案。在百度搜索“阿里巴巴市值”,结果list中的第一条直接返回答案关系搜索基于知识图谱,快速准确地查询两个实体之间的关系。结构化展示系统收集信息,建立知识库,用户通过图形用户接口(可视化的本体概念树)或关键词提交查询,系统返回用户所查找概念的所有实例在magi中搜索智能问答,页面展示其相关结构化信息知识图谱与金融知识图谱技术在金融领域落地应用主要包括三类:基础数据服务将多源金融数据和信息实现知识结构化,进而为客户提供可视化、智能搜索、智能客服、股权挖掘、产业链挖掘等服务。事件影响分析通过资讯舆情分析,对金融舆情进行监控,发现事件影响进行预警。例如“行业的原材料价格上涨”这一事件,会沿着企业的上下游产业链进行传递,我们可以识别出波及到的企业,命中事件传播波动相关性标的、事件要素投研逻辑相关性标的等,从而为相应投资人提供相关标的的智能资讯服务,例如持仓/自选股预警、投顾等辅助服务。不一致性检验为客户提供风险评估与反欺诈等服务。通过对多路径的不一致性或“关系” 冲突的检验和合并,进行业务排雷、风险评估与反欺诈等。例如欺诈团伙通常会用虚假的身份和信息进行诈骗,不一致性验证可以用来判断一个借款人是否具有欺诈风险:借款人 A 和 B 分别填写了两家不同的公司, 但是填写的公司电话却是同一个,这种情况便无法通过不一致性检验,从而形成一个风险点。知识图谱与推荐基于规则的推荐左图中两部电影共享了“青春”、“成长”两种特征,存在一定相似性。右图中更加完整的知识图谱可以提供物品之间更深层次和更长范围内的关联。例如,根据[少年的你]→[周冬雨]→[青春]→推荐出来[青春梦工厂],这条路径更深更长,可以挖掘更细粒度、深层次的信息,弥补了稀疏或缺失,也一定程度上提高了准确性;根据[少年的你]→[曾国祥],推荐同导演的[七月与安生]、根据[少年的你]→[周冬雨],推荐同主演的电影[后来的我们],一定程度上也提高了推荐的多样性。直接使用知识图谱的结构,获取每个实体在知识图谱中的多边关联实体。例如,用户购买完某商品(实体)后还需要其他下游相关辅助物品或信息,对于买了笔记本的用户可以基于图谱中的下位实体遍历,推荐对应的配件。基于隐层信息的推荐通过基于嵌入的方法获取实体向量或基于社区发现等方法发现图谱中的潜在社区,从而挖掘出具有相似隐层信息的相关节点进行推荐,或是将节点向量作为推荐模型的输入,与其他属性向量特征进行融合,共同提高推荐准确率,此处不展开介绍。新闻推荐DKN:Deep Knowledge-Aware Network for News Recommendation(2018,WWW)https://arxiv.org/pdf/1801.08284.pdf背景:本文提出了一种将知识图谱实体嵌入表示与神经网络融合起来,进行新闻推荐的模型DKN。新闻文本特点:语言高度浓缩,包含大量知识实体和常识,需要从语义和知识两个层面进行学习具有很强的时效性,用户的兴趣实时发生变化本文提出了DKN模型。首先使用一种融合了知识的卷积神经网络KCNN(knowledge-aware convolutional neural network),将新闻的语义表示与知识表示融合起来形成新的embedding表示,再建立从用户的新闻点击历史到候选新闻的attention机制,选出得分较高的新闻推荐给用户。问题定义:给定义一个用户,他的点击历史记为,t是该用户过去一段时间内曾点击过的新闻的。每个都是一个词序列,中的每个单词都对应知识图谱中的一个实体 。举例来说,《Trump praises Las Vegas medical team》其中"Trump"与知识图谱中的实体“Donald Trump”即现任美国总统相对应,"Las"和"Vegas"与实体"Las Vegas"。本文要解决的问题就是给定用户的点击历史,以及单词和知识图谱中实体的关联,预测用户对某一条新闻的点击概率。模型:模型架构如图:DKN的网络输入有两个:候选新闻集合,用户点击过的新闻序列。embedding层,都是用KCNN来提取特征,之上是一个attention层,计算候选新闻向量与用户点击历史向量之间的attentention权重,在顶层拼接两部分向量之后,用DNN计算用户点击此新闻的概率。知识提取识别出文本中的知识实体并利用实体链接技术消除歧义利用新闻文本中的实体与关系就构成了一个原来知识图谱的一个子图,本文把所有与文中的实体的链接在一个step之内的所有实体都扩展到该子图中来。构建好知识子图以后,利用知识图谱嵌入技术得到每个实体的向量根据实体向量得到对应单词的词向量考虑到图谱嵌入过程中的信息损失,为了更好地利用一个实体在原知识图谱的位置信息,文中还提到了利用一个实体的上下文实体来表示该单词,一个实体e的上下文是指该实体在知识图谱网络中的邻居。如图所示,在表示Fight Club实体时,使用它的上下文实体如"United States"、"Oscars"等共同进行表示。公式如下:Knowledge-aware CNN获得了中单词和对应实体的向量之后,相比于简单地把所有的向量拼接起来以后输入给CNN,本文使用的是multi-channel和word-entity-aligned KCNN。具体做法是先把实体的向量,和实体上下文向量映射到一个空间里:其中转换函数g可以使用线性或是非线性方式进行转换。得到映射之后的向量之后,将两种向量作为单词向量额外的通道,类似图像的RGB三个通道:获得了多通道的词表示之后,再通过传统的CNN网络对其进行处理,得到新闻的表示向量。基于注意力机制的点击率预测获取到用户点击过的每篇新闻的向量表示以后,作者并没有简单地作加和来代表该用户,而是计算候选文档对于用户每篇点击文档的attention,再做加权求和,计算attention:用户i对候选新闻k的表示:得到用户表示和新闻表示以后用另外一个DNN来计算用户点击的概率:语言模型与知识图谱的结合:ERNIEERNIE(清华 & 华为,ACL2019)https://arxiv.org/pdf/1905.07129.pdf尽管预训练语言表征模型(BERT等)已经获得了很好的效果,并且在很多 NLP 任务中都可以作为常规模块,但它却忽略了将知识信息整合到语言理解中,导致语言模型只知道语料中各个词汇排列的合理性,却没有真正了解每个词汇的含义。如下图 所示,如果不知道「Blowin' in the Wind」和「Chronicles: Volume One」分别是歌曲与书籍,那么模型很难识别它们是 Bob Dylan 的两个工作。即在实体类型任务中,模型识别不出 Bob Dylan 同时是歌曲作家和书籍作者。图中实线表示已存在的知识事实,红色虚线表示从红色句子中抽取的事实,蓝色虚线表示从蓝色句子抽取的事实。可以看出,使用丰富的知识信息能构建更好的语言理解模型,也有益于各种知识驱动的应用,例如实体类型和关系分类等。要将外部知识组合到语言表征模型中,存在两大主要挑战:结构化的知识编码:对于给定的文本,如何高效地抽取并编码对应的知识图谱事实是非常重要的,这些 KG 事实需要能用于语言表征模型。异常质信息融合:语言表征的预训练过程和知识表征过程有很大的不同,它们会产生两个独立的向量空间。因此,如何设计一个特殊的预训练目标,以融合词汇、句法和知识信息就显得非常重要了。为了克服上面提到的这些挑战,清华 & 华为提出ERNIE,该模型能同时在大规模文本语料库和知识图谱上预训练语言模型。总体而言,ERNIE 分为抽取知识信息与训练语言模型两大步骤。对于抽取并编码的知识信息,研究者首先识别文本中的命名实体,然后将这些提到的实体与知识图谱中的实体进行匹配。研究者通过知识嵌入算法(例如 TransE)编码 KG 的图结构,并将多信息实体嵌入作为 ERNIE 的输入。基于文本和知识图谱的对齐,ERNIE 将知识模块的实体表征整合到语义模块的隐藏层中。与 BERT 类似,研究者采用了带 Mask 的语言模型,以及预测下一句文本作为预训练目标。除此之外,为了更好地融合文本和知识特征,研究者设计了一种新型预训练目标,即随机 Mask 掉一些对齐了输入文本的命名实体,并要求模型从知识图谱中选择合适的实体以完成对齐。现存的预训练语言表征模型只利用局部上下文预测 Token,但 ERNIE 的新目标要求模型同时聚合上下文和知识事实的信息,并同时预测 Token 和实体,从而构建一种知识化的语言表征模型,结构如下:ERNIE 的整个模型架构由两个堆叠的模块构成:(1)底层的文本编码器(T-Encoder),负责获取输入 token 的词法和句法信息;(2)上层的知识型编码器(K-Encoder),负责将额外的面向 token 的知识信息整合进来自底层的文本信息,这样我们就可以在一个统一的特征空间中表征 token 和实体的异构信息了。我们用 N 表示 T-Encoder 的层数,用 M 表示 K-Encoder 的层数。上图中右部分是用于 token 和实体的互相融合的聚合器。信息融合层的输入有两类:一是 token 嵌入,二是 token 嵌入和实体嵌入连接起来的结果。信息融合完成后,它会为下一层输出新的 token 嵌入和实体嵌入。融合层处理过程如下:在处理下游任务时,针对具体任务修改输入句子,为了对齐不同类型输入的 token,这里使用了点线构成的矩形作为占位符,彩色矩形表示具体的标记(mark)token,如图:普通NLP任务:与BERT类似,可使用[CLS]向量作为序列的表征向量。关系分类任务:研究者分别为头部实体和尾部实体设计了不同的 token [HD] 和 [TL],通过添加两个标记(mark)token 来凸显实体提及,从而修改输入 token 序列。这些额外的标记 token 的作用类似于传统的关系分类模型中的位置嵌入,最终也取其 [CLS] token 嵌入以便分类。实体分类任务:相当于关系分类的简化版本,通过加入[ENT]token影响序列输入,随后使用[CLS]token的向量作为表征向量进行分类。ERNIE(百度,1.0)在 BERT 模型中,通过『哈』与『滨』的局部共现,即可判断出『尔』字,模型没有学习与『哈尔滨』相关的知识。而 ERNIE 通过学习词与实体的表达,使模型能够建模出『哈尔滨』与『黑龙江』的关系,学到『哈尔滨』是『黑龙江』的省会以及『哈尔滨』是个冰雪城市。ERNIE 模型本身保持基于字特征输入建模,使得模型在应用时不需要依赖其他信息,具备更强的通用性和可扩展性。相对词特征输入模型,字特征可建模字的组合语义,例如建模红色,绿色,蓝色等表示颜色的词语时,通过相同字的语义组合学到词之间的语义关系。该模型并没用直接输入外部的知识信息,而是通过改变masking策略的方式,隐式地去学习诸如实体关系、实体属性等知识信息。此外,ERNIE 的训练语料引入了多源数据知识。除了百科类文章建模,还对新闻资讯类、论坛对话类数据进行学习。对于对话数据,ERINE 采用 DLM(Dialogue Language Model)建模 Query-Response 对话结构,将对话 Pair 对作为输入,引入 Dialogue Embedding 标识对话的角色,利用 Dialogue Response Loss 学习对话的隐式关系,通过该方法建模进一步提升模型语义表示能力。ERNIE 对实体概念知识的学习以及训练语料的扩展,增强了模型语义表示能力。为验证 ERNIE 的知识学习能力,研究者利用几道有趣的填空题对模型进行了考察。实验将段落中的实体知识去掉,让模型推理其答案。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-12 12:18 , Processed in 0.544092 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表