知识图谱学习常见问答FAQ - bettermorn/KGCourse GitHub Wiki
学习资源
- 知识图谱白皮书2019 电标院主编
- 肖仰华等 知识图谱:概念与技术 电子工业出版社
- 王昊奋等 知识图谱:方法、实践与应用 电子工业出版社
- 开放知识图谱
- 图神经网络基本概念:台大老师
- 开源图神经网络框架DGL学习教程 图神经网络动手练习
- 《深入浅出图神经网络:GNN原理解析》配套代码
- 浙大陈华钧教授在线课程 配套书籍 陈华钧. 知识图谱导论.
- 认知智能时代:知识图谱实践案例集(速读版)2021年1月 电标院主编 https://mp.weixin.qq.com/s/KJ9I5gcm1ChN2AT6HUIXyw
- 2023年7月26日,为推进知识图谱与大模型在企业级的落地应用,分析知识图谱与大模型融合技术路径,《知识图谱与大模型融合实践研究报告》(2023年版)于第三届知识图谱产业发展论坛暨知识图谱与大模型融合研讨会正式发布。https://mp.weixin.qq.com/s/5oQHqiow79g90hjEuGbyvw https://www.jianguoyun.com/p/DbntH_wQ5-ycChiuy5QFIAA (访问密码 : 1iyiqk)《知识图谱与大模型融合实践研究报告》(2023年版)
大规模知识图谱
论文与代码
理论基础
图神经网络、强化学习、以及注意力机制、低资源条件的方法,可参考网站 https://paperswithcode.com/
知识表示
- code:?
- Modeling Relational Data with Graph Convolutional Networks
- 关系图卷积神经网络 Relational Graph Convolutional Network, R-GCN SCHLICHTKRULL M, KIPF T N, BLOEM P, Van Den Berg R, TITOV I, WELLING M. Modeling relational data with graph convolutional networks[C]//Proceedings of the European Semantic Web Conference. Cham, Switzerland: Springer Cham,2018: 593-607.
- 编码器encoder:嵌入语义,编码器包括CNN,PCNN,LSTM等
- 层次注意力机制: 综合利用不同层次上不同粒度的注意力特性
- 文档:https://docs.dgl.ai/en/0.4.x/tutorials/models/1_gnn/4_rgcn.html
- 代码:https://github.com/dmlc/dgl/tree/master/examples/pytorch/rgcn
知识获取
命名实体识别
- 大多数成功的信息提取系统都可以访问大量文档。 在这项工作中,我们探索了在缺乏训练数据量的领域中获取和合并外部证据以提高提取准确性的任务。 此过程需要发出搜索查询,从新来源中提取以及对提取值进行核对,然后重复进行直到收集到足够的证据为止。 我们使用强化学习框架来解决该问题,其中我们的模型将学习根据上下文信息选择最佳操作。 我们采用了深度Q网络,经过训练可以优化奖励功能,该功能可以反映提取的准确性,同时还要付出额外的努力。 我们在两个数据库中的实验-射击事件和食品掺假案例-表明我们的系统明显优于传统提取器和竞争性的元分类器基准。
命名实体链接Entity Linking(EL)
- DeepType 论文信息和代码
- NCEL论文和代码
- Neural Collective Entity Linking Based on Recurrent Random Walk Network Learning
- RLEL
关系抽取
- 基于已有的关系类型、经过标注后的关系数据(包括句子、头实体、尾实体、关系)建立的模型 ,判断(句子、头实体、尾实体)中头实体和尾实体的关系。 最新的使用Transformer模型的大规模预训练模型,如BERT(Bidirectional Encoder Representations from Transformers)在实体识别等任务上取得了更佳的性能。同时,远程监督学习可以解决语料难以获取的问题,从而提高知识获取能力。远程监督基于这样的假设:如果两个实体在已知知识库中存在,并且两者有相对应的某种关系,那么当这两个实体在其他非结构化文本中存在的时候也能够表达这种关系。远程监督关系抽取是通过将大规模非结构化文本中的语料与知识库对齐,给外部非结构化文本中的句子标注某种关系标签,相当于自动语料标注,从而获取大量训练数据供模型训练。远程监督关系抽取的工作可以分为训练和测试两阶段,其中后期以及目前的发展都集中在神经网络提取特征信息结合多实例学习思想。
模型评价指标类似于分类,包括A,P,R,F1
- 中文关系抽取DeepKE:基于 Pytorch 的深度学习中文关系抽取处理套件 注:PCNN 预处理时,需要按照 head tail 的位置,将句子分为三段,做 piece wise max pooling。如果句子本身无法分为三段,就无法用统一的预处理方式处理句子。 比如句子为:杭州西湖,不管怎么分隔都不能分隔为三段。原文分隔三段的方式为:[...head, ..., tail....],当然也可以分隔为:[..., head...tail, ....],或者 [...head, ...tail, ....] 或者 [..., head..., tail...] 等。具体效果没多少区别。参考 https://github.com/mrbulb/ONEPIECE-KG/tree/master/deepke-master#readme 模型的输入表示为:
{'word': tensor([[11, 47, 8, 48, 14, 40, 49, 8, 50, 20, 51, 3, 11, 52, 53, 54, 55, 14,
56, 57, 18],
[39, 40, 41, 42, 43, 44, 45, 46, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0]]), 'lens': tensor([21, 9]), 'head_pos': tensor([[20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40],
[21, 22, 23, 24, 25, 26, 27, 28, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0]]), 'tail_pos': tensor([[ 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28],
[19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0]]), 'pcnn_mask': tensor([[1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3],
[1, 2, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])}
- [Long-tail Relation Extraction via Knowledge Graph Embeddings and Graph Convolution Networks基于图神经网络的长尾关系抽取] (https://paperswithcode.com/paper/long-tail-relation-extraction-via-knowledge)
- CGCN:Graph Convolution over Pruned Dependency Trees Improves Relation Extraction2018
- Attention Guided Graph Convolutional Networks for Relation Extraction 基于注意力的图卷积网络
- 在句子的依赖树上使用GCN 模型,但采用了多头注意力机制以一种软加权的方式对边(依赖关系)进行选择。
- 关系层次注意力机制(hierarchical attention , HATT):大多数关系抽取方法中,没有考虑到关系之间的语义关联和关系中带有层级结构的特点,并且没有仔细考虑关系的长尾分布,易出现关系数量多的准确率高,关系数量极少的准确率堪忧的问题。针对上面的问题,提出了在关系层次上逐层为包含同一实体对的实例进行权重计算,即使用层次化注意力机制来做具有层级的关系抽取问题。层次注意力机制可以在不同的层次上提供不同粒度的信息选择与噪声处理能力,其中,底层的注意力计算捕捉特定化的关系特征,顶层注意力计算提供粗粒度的实例选择能力,捕捉关系间的关联信息。由于顶层注意力覆盖多种关系,有更充足的训练数据,其能够改善长尾分布的关系抽取。
实体消歧
实体对齐
链接预测
- GMatching:One-Shot Relational Learning for Knowledge Graphs
- SACN:End-to-end Structure-Aware Convolutional Networks for Knowledge Base Completion
- 第一层是关系级别的注意力,其灵感来自不同关系对某一实体的指示权重不同的直觉;
- 第二层是实体级别关注,使得模型能够突出同一关系下不同相邻实体的重要性。
知识推理
如果将知识图谱看作有向图的拓扑结构,可通过随机游走来获取最优的推理路径;如果将知识图谱看作决策过程状态的一部分,可通过强化学习来获得状态转移模型;将知识图谱的推理看作序列生成的过程,可利用神经元网络对关系路径进行模拟。基于神经网络的推理具备更好的推理能力、学习能力和泛化能力,但神经网络结果不可预测和解析。基于神经-符号整合的推理将符号系统的透明性和推理能力与人工神经网络的健壮性和学习能力结合在一起. 图神经网络具备较好的推理能力。Xu等人在论文What Can Neural Networks Reason About?[C]//ICLR, 2020.通过引入算法对齐(algorithmic align-ment)策略,对齐分析了图神经网络与上述四类推理任务的解决算法,从理论上证明图神经网络模型的推理能力。瓦德翰(Vardhan)等人结合马尔可夫逻辑网一阶逻辑和图注意力神经网络的各自优势,提出了概率逻辑图注意网络(pGAT)进行推理。参考HARSHA VARDHAN L V, JIA G, and KOK S. 2020. Prob-abilistic Logic Graph Attention Networks for Reason-ing. In Companion Proceedings of the Web Conference 2020 (WWW '20 Companion), April 20–24, 2020, Tai-pei, Taiwan. ACM, New York, NY, USA 5 Pag-es. https://doi.org/10.1145/3366424.3391265
- 隐性方法:DeepPath
- MINERVA:Meandering In Networks of Entities to Reach Verisimilar Answers 对于比较复杂的数据库补全,由于需要遍历所有待验证的实体,因此导致遍历的数量非常多。如果把知识库的推理看成一个问答问题,将三元组(e1,r,e2)的验证问题转化为问题为(e1q,rq,?)、答案为e2q的问答,利用基于部分观察马尔可夫随机过程(Partially Observed Markov Decision Process)的强化学习模型,可在知识图谱中寻找答案,从而避免了大规模知识图谱的效率问题。为了解决部分观察马尔可夫决策过程的问题,设计了一个历史依赖的智能体策略模型。通过训练决策网络得到决策模型,可以直接用该模型进行知识推理,即从给定的节点和关系出发,逐步对走过的路径进行编码决策,直到到达答案节点。在策略网络中充分考虑了推理的历史信息,不仅可以进行未知答案的推理,而且可以在知识验证中取得更好的性能。
-
Meta Relational Learning for Few-Shot Link Prediction in Knowledge Graphs基于元学习的少样本知识图谱推理
-
Relation Adversarial Network for Low Resource Knowledge Graph Completion基于对抗迁移学习的低资源知识图谱补全
-
CogKR Cognitive Knowledge Graph Reasoning for One-shot Relational Learning
-
Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs
-
Probabilistic Logic Graph Attention Networks for Reasoning by Vardhan
- code?
- pGAT:在提出的模型中,使用变分EM算法优化了由马尔可夫逻辑网络(MLN)定义的所有可能的三元组的联合分布,这有助于有效地结合一阶逻辑和图注意力网络。 来自论文:“我们通过变分EM算法将Markov逻辑网络和图注意力神经网络相结合,从而充分利用了两者的优势。 在E步骤中,我们使用图注意力神经网络嵌入来推断未观察到的三元组。 在M步骤中,基于观察到的三元组和从上述嵌入获得的推断三元组来更新马尔可夫逻辑网络的规则的权重。 我们提出的概率图注意力网络(pGAT)在用于链接预测的FB15K-237 [8]和WN18RR [23]数据集上,在当前最先进的基准上产生竞争性结果。 我们的贡献在于提出pGAT,并为将来的研究建立可比较的牢固基准。”
- 马尔可夫逻辑网络(MLN)是在有限域中组合概率和一阶逻辑的简单方法。 MLN是通过将权重附加到一阶知识库中的公式(或子句)而获得的,并且可以视为构建普通Markov网络的模板。 KB中公式的每种可能的基础都会在构造的网络中产生一个功能。 通过将回答查询所需的最小网络子集接地并在其上运行Gibbs采样器来进行推理。 子网,其初始状态由MaxWalkSat找到。 通过使用L-BFGS算法优化伪似然度量来学习权重,并使用CLAUDIEN系统学习从句。 在大学范围内对真实数据和知识进行的实证测试说明了MLN的前景。 MLN中用于学习和推理的源代码可从以下网站获得: http://alchemy.cs.washington.edu/。【李宏毅】Structure Learning and Markov Logic Network 视频:https://www.bilibili.com/video/BV17V411Z7w5
- pLogicNet:通过使用具有一阶逻辑的马尔可夫逻辑网络来定义所有可能的三元组的联合分布,可以使用变分EM算法对其进行有效地优化。在E步中,使用知识图嵌入模型来推断缺失的三元组,而在M步中,逻辑规则的权重将根据观察到的三元组和预测的三元组进行更新。
- 两层的聚合操作:先对同种关系的邻居进行单独聚合,对于每一种关系,也同时考虑了关系的正反方向,同时对于自身加入了自连接的关系,在将上述所有不同关系的邻居进行聚合之后,再进行一次总的聚合。一个典型的多关系图数据–知识图谱往往包含着大量的关系。为避免单层RGCN需要学习的参数量过大,不为每一种关系都设计一组权重,由于不同关系的节点数量是不一样的,对于一些不常见的关系而言,其权重参数对应的学习数据非常少,会导致过拟合。为了避免上述情况发生,RGCN提出了对Wr进行基分解(basic decomposition)的方案,共享的优化参数可以有效防止非常见关系数据上过拟合现象的出现。
- 图神经网络的推理能力与四类推理任务的解决算法的对齐分析:What Can Neural Networks Reason About?
- 知识补全A Survey on Graph Neural Networks for Knowledge Graph Completion
- 知识推理代码实现
- 注意:运行时 tensorflow < 2.0.0
- AMIE.ipynb (Association rules Mining under Incomplete Evidence) 关联规则挖掘算法
- ANALOGY.ipynb
- ComplEx.ipynb
- DistMult.ipynb
- TransE.ipynb
知识问答
- 预测实体的嵌入,并从知识图谱嵌入中寻找附近的结果,结合了NLP中的预测模型与知识图谱嵌入,论文见 http://research.baidu.com/Public/uploads/5c1c9a58317b3.pdf
应用案例
- 知识图谱白皮书2019 http://www.cesi.cn/images/editor/20190911/20190911094806634.pdf 有很多案例
理论和概念理解
- 知识图谱和专家系统的区别是?
- 知识图谱构建的难点是什么?知识抽取、知识推理
- 事理图谱参考资料 查看《基于事理图谱的文本推理》 作者:丁效、李忠阳、秦兵浏览量:144https://dl.ccf.org.cn/institude/institudeDetail?_ack=1&id=5055106029717504
- 常用图数据库有哪些? 查看课件内容 Neo4j jena
工具问题
- webprotege和桌面版protege的差别是? 参考https://protege.stanford.edu/products.php#web-protege
- web版 https://webprotege.stanford.edu/ WebProtégé是用于Web的本体开发环境,可轻松创建,上载,修改和共享本体以进行协作查看和编辑。WebProtégé完全支持最新的OWL 2 Web本体语言。 高度可配置的用户界面为初学者和专家创建了理想的环境。 协作功能比比皆是,包括共享和权限,主题注释和讨论,监视和电子邮件通知。 RDF / XML,Turtle,OWL / XML,OBO和其他可用于本体上载和下载的格式。
- 桌面版 ProtégéDesktop是一个功能丰富的本体编辑环境,它完全支持OWL 2 Web本体语言,并直接将内存中的连接连接到诸如HermiT和Pellet的描述逻辑推理器。 ProtégéDesktop支持通过完全可自定义的用户界面在单个工作空间中创建和编辑一个或多个本体。可视化工具允许交互式导航本体关系。先进的解释支持有助于追踪不一致之处。可用的重构操作包括本体合并,在本体之间移动公理,重命名多个实体等等。
技术和实践相关问题
- 做知识图谱类解决方案,需要学习到什么程度? 了解步骤,实现的难点,人才需求
- 知识图谱的表现形式是怎样的? 三元组,可以基于三元组完成动态交互平台,知识搜索系统,知识问题系统
- 知识图谱的应用优势是什么? 知识组织和管理,隐性知识显性化 孤立知识系统化