kgc(知识图谱建设)

一文打尽知识图谱(超级干货,建议收藏!)?原创作者|朱林01序言知识是人类在实践中认识客观世界的结晶。知识图谱(KnOWLedgeGraph,KG)是知识工程的重要分支之一,它以符号形式结构化地描述了物理世界中的概念及其相互关系。知识图谱的基本组成形式为的三元组,实

一文打尽知识图谱(超级干货,建议收藏!)

?原创作者 | 朱林

01 序言

知识是人类在实践中认识客观世界的结晶。知识图谱(KnOWLedge Graph, KG)是知识工程的重要分支之一,它以符号形式结构化地描述了物理世界中的概念及其相互关系。

知识图谱的基本组成形式为<实体,关系,实体>的三元组,实体间通过关系相互联结,构成了复杂的网状知识结构。

kgc(知识图谱建设)

图1 知识图谱组成复杂的网状知识结构

知识图谱从萌芽思想的提出到如今已经发展了六十多年,衍生出了许多独立的研究方向,并在众多实际工程项目和大型系统中发挥着不可替代的重要作用。

如今,知识图谱已经成为认知和人工智能日益流行的研究方向,受到学术界和工业界的高度重视。

本文对知识图谱的历史、定义、研究方向、未来发展、数据集和开源库进行了全面的梳理总结,值得收藏。

02 简史

kgc(知识图谱建设)

表1 知识图谱中常见的符号描述

05 研究方向

知识图谱目前的研究方向可以大致分为四类:知识表征学习(Knowledge Represent Learning, KRL)、知识获取(Knowledge Acquisition)、时序知识图谱(Temporal Knowledge Graph, TKG)和应用(Knowledge-aware Applications)。

图3展示了知识图谱的主要研究方向分支图,图中详细罗列了相关领域的承继关系。

kgc(知识图谱建设)

有两种典型的评分函数,基于距离(图5a)和基于相似度(图5b)的函数。

kgc(知识图谱建设)kgc(知识图谱建设)

图6 典型神经网络编码模型

典型的神经网络模型如图6所示:

CNN(图4a):将三元组输入到dense layer和卷积层(convolution layer)以学习语义表征。

GCN(图4b):充当知识图谱的编码器以生成实体和关系嵌入。

RSN(图4c):编码实体关系序列并有区别地跳过部分关系。

Transformer(图4d):将三元组编码为序列,其中一个实体被[MASK]替换。

目前的研究普遍会采用以上列举的骨干(Backbone)网络作为基础进行堆叠重组,构成适合每个特定任务的网络再进行实验。

辅助信息嵌入 Embedding with Auxiliary Information

辅助信息往往以多模态嵌入的形式将诸如文本描述、类型约束、关系路径和视觉信息等外部信息与知识图谱本身结合起来,以促进更有效的知识表征。

(1)文本描述:知识图谱中的实体具有文本描述,一般表示为集合形式,提供补充的语义信息。KRL在文本描述嵌入的挑战主要是如何将结构化知识和非结构化文本信息一同嵌入到同一表征空间中。因此,学者进行了深入研究。

Wang等人:通过引入实体名称和维基百科锚点,提出了两种对齐模型,用于对齐实体空间和单词空间。

DKRL:扩展了TransE网络,以通过卷积编码器直接从实体描述中学习表征。

SSP:通过将三元组和文本描述投影到语义子空间中来捕捉它们之间的强相关性。

(2)类型信息:实体具有的类型属性。有许多方法可以用来做嵌入,比如:

SSE:结合实体的语义类别,将属于同一类别的实体平滑地嵌入到语义空间中。

TKRL:提出了用于实体投影矩阵的类型编码器模型以捕获类型层次结构。

KREAR:结合一些关系表示的实体属性,将关系类型分类为属性和关系,并对实体描述之间的相关性进行建模。

Zhang等人:用关系簇、关系和子关系的层次关系结构扩展了现有的嵌入方法。

(3)视觉信息:可用于丰富KRL,包括实体图像。典型方法有:

IKRL:包含基于跨模态结构和基于图像的表征,将图像编码到实体空间。跨模态表征确保基于结构和基于图像的表征融合在相同的表征空间中。

(4)不确定信息:ProBase、NELL和ConceptNet等知识图谱包含不确定信息,并为每个相关事实分配了置信度分数。与经典的确定性知识图谱嵌入相比,不确定嵌入模型旨在捕获表征关系的不确定性。由此产生了一些结合不确定信息的方法,包括:

Chen等人:提出了一种不确定的知识图谱嵌入模型,以同时保留结构和不确定性信息。其应用概率软逻辑来推断置信度得分,概率校准采用后处理过程来调整概率分数,使预测具有概率意义。

Tabacof等人:首次研究了封闭世界假设下知识图谱嵌入的概率校准情况,揭示了良好校准的模型可以提高模型准确性。

Safavi等人:在更具挑战性的开放世界假设下进一步探索了概率校准的情况。

知识获取 Knowledge Acquisition

知识获取旨在从非结构化文本和其他结构化或半结构化源中构建知识图谱,补全现有的知识图谱,发现和识别实体和关系。构建良好的大规模知识图谱可用于许多下游应用程序,并通过常识推理为Knowledge-aware模型提供支持,从而为人工智能铺平道路。

知识获取的主要任务包括知识图谱补全、实体识别、实体对齐、关系抽取等面向实体的获取任务。

大多数方法分别实现知识图谱补全和关系提取两个任务。当然,这两个任务也可以集成到一个统一的框架中,如Han等人提出了一种联合学习框架,用于知识图谱和文本之间的数据融合,解决了知识图谱补全如何从文本中提取关系的问题。

还有其他与知识获取相关的任务,例如三重分类(triple classification)、关系分类(relation classification)和开放知识富集(open knowledge enrichment)等等,感兴趣的可以自行查阅相关文献资料。

知识图谱补全 Knowledge Graph Completion(KGC)

由于知识图谱往往不完整,需要持续向知识图谱添加新的三元组,也需要通过现有图谱推断出缺失的实体或者关系,所以就有了知识图谱补全任务,即KGC。

该任务有几个典型的子任务,包括链接预测、实体预测和关系预测,衍生出了包括基于嵌入的模型、关系路径推理、基于强化学习的寻路、基于规则的推理、元关系学习和Triple分类等子分支。

kgc(知识图谱建设)

时序逻辑推理 Temporal Logical Reasoning

逻辑规则也被用于进行时序推理。

Chekol等人:探索了马尔可夫逻辑网络和概率软逻辑,用于对不确定的时间知识图谱进行推理。

RLvLR-Stream:考虑时间闭合路径规则,并从知识图谱流中学习规则结构进行推理。

应用 Knowledge-aware Applications

丰富的结构化知识可用于AI应用程序。然而,如何将这些符号知识整合到现实世界应用程序的计算框架中仍然是一个挑战。

知识图谱的应用包括两个方面:

(1)in-KG应用:如链接预测、命名实体识别等;

(2)out-of-KG应用程序:包括关系提取和更多下游知识感知应用程序,例如问答和推荐系统。

语言表征学习 Language Representation Learning

通过自监督语言模型预训练的语言表征学习已经成为许多NLP系统的一个组成部分。传统的语言建模不利用文本语料库中经常观察到的实体事实,如何将知识整合到语言表征中已引起越来越多的关注。

知识图谱语言模型(KGLM):通过选择和复制实体来学习并呈现知识。

ERNIE-Tsinghua:通过聚合的预训练和随机Mask来融合信息实体。

K-BERT:将领域知识注入BERT上下文编码器。

ERNIE-Baidu:引入了命名实体Mask和短语Mask以将知识集成到语言模型中,并由ERNIE 2.0通过持续的多任务学习进一步改进。

KEPLER:为了从文本中获取事实知识,通过联合优化将知识嵌入和Mask语言建模损失相结合。

GLM:提出了一种图引导的实体Mask方案来隐式地利用知识图谱。

CoLAKE:通过统一的词-知识图谱和改进的Transformer编码器进一步利用了实体的上下文。

BERT-MK:与K-BERT模型类似,更专注于医学语料库,通过知识子图将医学知识集成到预训练语言模型中。

Petroni等人:重新思考语言模型的大规模训练和知识图谱查询,分析了语言模型和知识库,他们发现可以通过预训练语言模型获得某些事实知识。

问答 Question Answering

基于知识图谱的问答(KG-QA)用知识图谱中的事实回答自然语言问题。基于神经网络的方法表示分布式语义空间中的问题和答案,有些方法还进行符号知识注入以进行常识推理。

Single-fact QA:以知识图谱为外部知识源,simple factoid QA或single-fact QA是回答一个涉及单个知识图谱事实的简单问题。

Dai等人:提出了一种条件聚焦神经网络,配备聚焦修剪以减少搜索空间。

BAMnet:使用双向注意机制对问题和知识图谱之间的双向交互进行建模。尽管深度学习技术在KG-QA中得到了广泛应用,但它们不可避免地增加了模型的复杂性。

Mohammed等人:通过评估有和没有神经网络的简单KG-QA,发现复杂的深度模型(如LSTM和GRU等启发式算法)达到了最先进的水平,非神经模型也获得了相当好的性能。

多跳推理(Multi-hop Reasoning):处理复杂的多跳关系需要更专门的设计才能进行多跳常识推理。结构化知识提供了信息丰富的常识,这促进了最近关于多跳推理的符号空间和语义空间之间的常识知识融合的研究。

Bauer等人:提出了多跳双向注意力和指针生成器(pointer-generator)解码器,用于有效的多跳推理和连贯的答案生成,利用来自ConceptNet的relational path selection和selectively-gated注意力注入的外部常识知识。

Variational Reasoning Network(VRN):使用reasoning-graph嵌入进行多跳逻辑推理,同时处理主题实体识别中的不确定性。

KagNet:执行concept recognition以从ConceptNet构建模式图,并通过GCN、LSTM和hierarchical path-based attention学习基于路径的关系表示。

CogQA:结合了implicit extraction和explicit reasoning,提出了一种基于BERT和GNN的认知图模型,用于多跳QA。

推荐系统 Recommender Systems

将知识图谱集成为外部信息,使推荐系统具备常识推理能力,具有解决稀疏问题和冷启动问题的潜力。通过注入实体、关系和属性等知识图谱的辅助信息,许多方法致力于使用基于嵌入的正则化模块以改进推荐效果。

collaborative CKE:通过平移KGE模型和堆叠自动编码器联合训练KGE、文本信息和视觉内容。

DKN:注意到时间敏感和主题敏感的新闻文章由大量密集的实体和常识组成,通过知识感知CNN模型将知识图谱与多通道word-entity-aligned文本输入相结合。但是,DKN不能以端到端的方式进行训练,因为它需要提前学习实体嵌入。

MKR:为了实现端到端训练,通过共享潜在特征和建模高阶项目-实体交互,将多任务知识图谱表示和推荐相关联。

KPRN:虽然其他工作考虑了知识图谱的关系路径和结构,但KPRN将用户和项目之间的交互视为知识图谱中的实体关系路径,并使用LSTM对路径进行偏好推断以捕获顺序依赖关系。

PGPR:在基于知识图谱的user-item交互上执行reinforcement policy-guided的路径推理。

KGAT:在entity-relation和user-item图的协作知识图谱上应用图注意力网络,通过嵌入传播和基于注意力的聚合对高阶连接进行编码。

总而言之,基于知识图的推荐本质上是通过在知识图谱中嵌入传播与多跳来处理可解释性。

文本分类和特定任务应用程序 Text Classification and Task-Specific Applications

知识驱动的自然语言理解(NLU)是通过将结构化知识注入统一的语义空间来增强语言表征能力。最近成果利用了明确的事实知识和隐含的语言表征。

Wang等人:通过加权的word-concept嵌入,通过基于知识的conceptualization增强了短文本表征学习。

Peng等人:集成了外部知识库,以构建异构信息图谱,用于短社交文本中的事件分类。

在精神卫生领域,具有知识图谱的模型有助于更好地了解精神状况和精神障碍的危险因素,并可有效预防精神健康导致的自杀。

Gaurs等人:开发了一个基于规则的分类器,用于知识驱动的自杀风险评估,其中结合了医学知识库和自杀本体的自杀风险严重程度词典。

情感分析与情感相关概念相结合,可以更好地理解人们的观点和情感。

SenticNet:学习用于情感分析的概念原语,也可以用作常识知识源。为了实现与情感相关的信息过滤。

Sentic LSTM:将知识概念注入到vanilla LSTM中,并为概念级别的输出设计了一个知识输出门,作为对词级别的补充。

对话系统 Dialogue Systems

问答(QA)也可以被视为通过生成正确答案作为响应的单轮对话系统,而对话系统考虑对话序列并旨在生成流畅的响应以通过语义增强和知识图谱游走来实现多轮对话。

Liu等人:在编码器-解码器框架下,通过知识图谱检索和图注意机制对知识进行编码以增强语义表征并生成知识驱动的响应。

DialKG Walker:遍历符号知识图谱以学习对话中的上下文转换,并使用注意力图路径解码器预测实体响应。

通过形式逻辑表示的语义解析是对话系统的另一个方向。

Dialog-to-Action:是一种编码器-解码器方法,通过预定义一组基本动作,它从对话中的话语映射可执行的逻辑形式,以在语法引导解码器的控制下生成动作序列。

医学和生物学 Medicine and Biology

知识驱动的模型及其应用为整合领域知识以在医学和生物学领域进行精确预测铺平了道路。医学应用涉及有众多医学概念的特定领域知识图谱。

Sousa等人:采用知识图谱相似性进行蛋白质-蛋白质相互作用预测,使用基因本体。

Mohamed等人:将药物-靶点相互作用预测设定为生物医学知识图谱中与药物及其潜在靶点的链接预测。

Lin等人:开发了一个知识图谱网络来学习药物-药物相互作用预测的结构信息和语义关系。

UMLS:在临床领域,来自Unified Medical Language Systems(UMLS)本体的生物医学知识被集成到语言模型预训练中,用于临床实体识别和医学语言推理等下游临床应用。

Liu等人:设定了医学图像报告生成的任务,包括编码、检索和释义三个步骤。

其他应用

还有许多其他应用程序利用以知识驱动的方法。

(1)学术搜索引擎帮助研究找到相关的学术论文

Xiong等人:提出了带有知识图谱嵌入的显式语义排序,以帮助学术搜索更好地理解查询到的概念的含义。

(2)零样本图像分类受益于知识图谱传播和类的语义描述

Wang等人:提出了一种多层GCN,使用类别和类别关系的语义嵌入来学习零样本分类器。

APNet:使用类别图传播属性表征。

(3)文本生成,组成连贯的多句文本。

Koncel-Kedziorski等人:研究了信息提取系统的文本生成,并提出了一种图谱转换编码器,用于从知识图谱生成图谱到文本的映射,侧重于解决生成自然语言的问题。

Seyler等人:通过在知识图谱上生成结构化查询,同时估计了问题的难度,研究了测验式知识问题的生成。然而,为了表达这个问题,作者使用了基于模板的方法,这可能会限制生成更自然的表达方式。

06 未来发展方向

古往今来,众多学者已经进行了许多工作来应对知识图谱及其相关应用的挑战。然而,仍然存在一些开放性问题值得解决,是未来的研究方向。

复杂推理 Complex Reasoning

知识表征和推理的数值计算需要一个连续的向量空间来捕捉实体和关系的语义。虽然基于嵌入的方法在复杂的逻辑推理上存在局限性,但关系路径和符号逻辑两个方向值得进一步探索。

一些有前途的方法,如循环关系路径编码、基于GNN的知识图谱传递消息以及基于强化学习的寻路和推理,正在用于处理复杂的推理。对于逻辑规则和嵌入的组合,最新的工作将马尔可夫逻辑网络与KGE相结合,旨在利用逻辑规则并处理其不确定性。

通过有效嵌入来实现概率推理以捕获不确定性和领域知识将是一个值得注意的研究方向。

统一框架 Unified Framework

知识图谱上的几种表征学习模型已被验证为等价,例如,Hayshi和Shimbo证明了HolE和ComplEx模型在具有特定约束的链接预测方面在数学上是等价的。

ANALOGY:提供了几个代表性模型的统一视图,包括DistMult、ComplEx和HolE。

Wang等人:探索了几个双线性模型之间的联系。

Chandrahas等人:探索了加法和乘法KRL模型的几何理解。

Han等人:将不同模型放在同一个框架下,并提出了一种相互关注的联合学习框架,用于知识图谱和文本之间的信息共享。

目前,对知识表征和推理的统一理解研究仍然较少,但是却很有价值。

可解释性 Interpretability

知识表征的可解释性是知识获取和实际应用的一个重要问题。研究人员已经为可解释性做出了初步努力。

ITransF:使用稀疏向量进行知识转移并通过注意力可视化进行解释。

CrossE:通过使用基于嵌入的路径搜索来为链接预测生成解释,探索了知识图谱的解释方案。

然而,最近提出的神经网络模型取得了很高的性能指标,但是在透明度和可解释性方面仍然存在局限性。一些方法通过使用逻辑规则使神经模型和符号推理相结合提供一定可解释性。

可解释性可以说服人们相信模型的预测,因此,未来工作应该更多地提高可解释性,也相当于提高了预测知识的可靠性。

可扩展性 Scalability

可扩展性在大规模知识图谱中至关重要。计算效率和模型表达能力之间需要权衡,极少有工作是在超过100万个实体的知识图谱上进行的。

几种嵌入方法可以用来简化计算,降低计算成本,例如使用循环相关运算来简化张量积。然而,这些方法仍然难以扩展到数百万个实体和关系。

使用马尔可夫逻辑网络的概率逻辑推理是计算密集型的,因此很难扩展到大规模的知识图谱。最新的神经逻辑模型中的规则是通过简单的蛮力搜索生成的,这使得它在大规模知识图谱上更为力不从心。

要处理繁琐的深层架构和日益增长的知识图谱,还有很长的路要走。

知识聚合 Knowledge Aggregation

全球知识的聚合是以知识作为驱动的应用的核心。例如,推荐系统使用知识图对user-item交互和文本分类进行联合建模,将文本和知识图谱编码到语义空间中。当前大多数知识聚合方法都使用了神经网络架构,如注意力机制和GNN。

Transformer和BERT大规模预训练模型及其变体极大地推动了自然语言处理的发展。

同时,最新的一项研究表明,对非结构化文本进行预训练的语言模型可以获得一定的事实知识,大规模的预训练可以作为一种直接的知识注入后续任务。然而,知识聚合仍然需要有效且可解释,不能用大模型蛮干。

自动构建与动态生成 Automatic Construction and Dynamics

当前的知识图谱高度依赖人工构建,这是劳动密集型且经济成本高的工作。知识图谱在不同认知智能领域的广泛应用需要从大规模非结构化内容中自动构建知识图谱。

最新的研究主要是在现有知识图谱的监督下进行半自动构建。面对多模态、异构性和大规模应用,自动化构建仍然具有很大的挑战。

主流研究集中在静态知识图谱上,在预测Temporal scope有效性和学习时间信息和动态实体方面工作较少。许多事实只在特定时期内成立,动态知识图谱与捕捉动态的学习算法一起,可以通过考虑时间性质来解决传统知识表征和推理的局限性。

07 数据集

目前,许多公共数据集已经发布于网络。这里对通用领域、特定领域、特定任务和时序数据集进行简单介绍和总结。

通用领域数据集

具有通用本体知识的数据集包括WordNet、Cyc、DBpedia、YAGO、Freebase、NELL和Wikidata。很难在一个表中比较它们,因为它们的本体是不同的。因此,表2中仅展示了它们的规模,此外,它们的数量仍在继续变化。

kgc(知识图谱建设)

表2 通用领域数据集的统计信息

WordNet:于1995年首次发布,是一个包含约11万个同义词集的词汇数据库。

DBpedia:是从Wikipedia中提取的社区驱动的数据集。它包含1.03亿个三元组。

YAGO:为解决单源本体知识覆盖率低、质量低的问题,利用维基百科分类页面中的概念信息和WordNet中概念的层次信息,构建了覆盖率高、质量高的多源数据集。此外,它可以通过其他知识源进行扩展。它目前可在线获得超过1000万个实体和1.2亿个事实。

Freebase:是一个可扩展的知识库,于2008年出现,用于存储世界知识。它目前的三元组数量为19亿。

NELL:是通过一个名为Never-Ending Language Learner的智能代理从Web构建的,具有很高的置信度。

Wikidata:是一个免费的结构化知识库,由人工编辑创建和维护。它是多语言的,有358种不同的语言。

上述数据集由社区或研究机构公开发布和维护。此外,还有一些商业数据集。

Cycorp的Cyc知识库:包含大约150万个一般概念和超过2000万条一般规则,一个名为OpenCyc的可访问版本已于2017年弃用。

Google知识图谱:包含超过5亿个实体和35亿个事实和关系。

Microsoft知识图谱:Microsoft构建了一个称为Probase的知识库,其中包含270万个概念。

特定领域数据集

各个行业专业人士设计和收集了其特定领域的一些知识库来评估特定领域的任务。一些值得注意的领域包括生命科学、医疗保健和科学研究,这些库中囊括了复杂的领域和关系,例如化合物、疾病和组织。常见的医学类知识图谱如下表所示:

kgc(知识图谱建设)

表5 开源库列表

AmpliGraph:用于知识表征学习。

Grakn:用于集成知识图谱与机器学习技术。

Akutan:用于知识图谱存储和查询。

研究界还发布了代码以促进进一步的研究。值得注意的是,有三个有用的工具包,即用于知识图嵌入的scikit-kge和OpenKE,以及用于关系提取的OpenNRE。

更多资料可以查看链接:https://shaoxiongji.github.io/knowledge-graphs/,该链接提供了知识图谱出版物的在线集合,以及它们的一些开源实现的链接。

kgc(知识图谱建设)

图9 关于知识图谱的精选研究集

08 简史

随着知识表征学习、知识获取方法和各种知识驱动应用的出现,知识图谱引起了越来越多的研究者关注。

全文全面回顾了知识图谱的历史沿革、重要定义和符号描述,重点对四个重要研究方向知识表征学习、知识获取、时序知识图谱及相关应用进行了全面介绍。此外,还介绍和讨论了一些有用的数据集和开源库资源及未来的研究方向。

如今,知识图谱拥有着庞大的研究社区,拥有大量重要的方法和应用,期待未来对其的进一步研究可以带给我们更美好的生活。

参考文献

[1] S. Ji, S. Pan, E. Cambria, P. Marttinen, P. S. Yu, “A survey on knowledge graphs: Representation, acquisition and applications,” arXiv preprint arXiv:2002.00388, 2020.

[2] M. Nickel, K. Murphy, V. Tresp, and E. Gabrilovich, “A review of relational machine learning for knowledge graphs,” Proceedings of the IEEE, vol. 104, no. 1, pp. 11–33, 2016.

[3] Q. Wang, Z. Mao, B. Wang, and L. Guo, “Knowledge graph embedding: A survey of approaches and applications,” IEEE TKDE, vol. 29, no. 12, pp. 2724–2743, 2017.

[4] Y. Lin, X. Han, R. Xie, Z. Liu, and M. Sun, “Knowledge representation learning: A quantitative review,” arXiv preprint arXiv:1812.10901, 2018.

[5] H. Paulheim, “Knowledge graph refinement: A survey of approaches and evaluation methods,” Semantic web, vol. 8, no. 3, pp. 489–508, 2017.

[6] T. Wu, G. Qi, C. Li, and M. Wang, “A survey of techniques for constructing chinese knowledge graphs and their applications,” Sustainability, vol. 10, no. 9, p. 3245, 2018.

[7] X. Chen, S. Jia, and Y. Xiang, “A review: Knowledge reasoning over knowledge graph,” Expert Systems with Applications, vol. 141, p. 112948, 2020.

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.shpfj.com/18309.html