热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

知识图谱表示吱吱了了

知识图谱表示概念:知识图谱是由一些相互连接的实体和他们的属性构成的。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个SPO三元组(Subject-Predicate-Obj

知识图谱表示



概念:

知识图谱是由一些相互连接的实体和他们的属性构成的。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个SPO三元组(Subject-Predicate-Object)。

 

 


表示方法:传统+向量

传统的知识图谱表示方法是采用OWL、RDF、RDFS(改进)等本体语言进行描述;

RDF:(Resource Description Framework,资源描述框架)

RDF由节点和边组成,节点表示实体/资源、属性,边则表示了实体和实体之间的关系以及实体和属性的关系,其本质是一个数据模型(Data Model)。它提供了一个统一的标准,用于描述实体/资源。简单来说,就是表示事物的一种方法和手段。RDF形式上表示为SPO三元组,资源——关系——资源。

表示方法一:

 

表示方法二:N-Triples表示

<http://www.kg.com/person/2> <http://www.kg.com/ontology/chineseName> "川普"^^string.
<http://www.kg.com/person/2> <http://www.kg.com/ontology/position> "美利坚第45任总统"^^string.
<http://www.kg.com/person/2> <http://www.kg.com/ontology/wife> "梅拉尼娅-特朗普"^^string.
<http://www.kg.com/person/2> <http://www.kg.com/ontology/nation> "USA"^^string.
<http://www.kg.com/person/2> <http://www.kg.com/ontology/age> "72"^^int.
<http://www.kg.com/person/2> <http://www.kg.com/ontology/belongparty> <http://www.kg.com/Party/2018>.
<http://www.kg.com/party/2018> <http://www.kg.com/ontology/name> "republic"^^string.
<http://www.kg.com/party/2018> <http://www.kg.com/ontology/fonder> "汉尼巴尔·哈姆林"^^string.
<http://www.kg.com/party/2018> <http://www.kg.com/ontology/born> "1854"^^data.

View Code

@prefix person: <http://www.kg.com/person/> .
@prefix party:
<http://www.kg.com/party/> .
@prefix :
<http://www.kg.com/ontology/> .
person:1 :chineseName "川普"^^string;
:position "美利坚第45任总统"^^string;
:wife "梅拉尼娅-特朗普"^^string;
:nation "USA"^^string;
:age "72"^^int;
party:2018 :name "汉尼巴尔·哈姆林"^^string;
:born "1854"^^data.

View Code

RDFS:(RDF Schema)

 RDFS在RDF的基础上定义了类(class)、属性(property)以及关系(relation)来描述资源,并且通过属性的定义域(domain)和值域(range)来约束资源。RDFS在数据层(data)的基础上引入了模式层(schema),模式层定义了一种约束规则,而数据层是在这种规则下的一个实例填充。

 

 

 

 

OWL:(Web Ontology Language,网络本体语言)

OWL是对RDFS关于描述资源词汇的一个扩展,OWL中添加了额外的预定于词汇来描述资源,具备更好的语义表达能力。在OWL中可以声明资源的等价性,属性的传递性、互斥性、函数性、对称性等等,具体见OWL的词汇扩展。

 

 

 


 向量Embedding:TranE、TranH、TranM等

随着深度学习的发展与应用,我们期望采用一种更为简单的方式表示,那就是【向量】,采用向量形式可以方便我们进行之后的各种工作,比如:推理,所以,我们现在的目标就是把每条简单的三元组 编码为一个低维分布式向量。

 

 

 


TranE:

将每个三元组实例(head,relation,tail)中的关系relation看做从实体head到实体tail的翻译,通过不断调整h、r 和 t(head、relation和tail的向量),使(h + r) 尽可能与 t 相等,即 h + r = t

TransE 是基于实体和关系的分布式向量表示,由 Bordes 等人于2013年提出,受word2vec启发,利用了词向量的【平移不变现象】。

例如:C(king)−C(queen)≈C(man)−C(woman)   其中,C(w)就是word2vec学习到的词向量表示。

TransE 定义了一个距离函数 d(h + r, t),它用来衡量 h + r 和 t 之间的距离,在实际应用中可以使用 L1 或 L2 范数。在模型的训练过程中,transE采用最大间隔方法,最小化目标函数,目标函数如下:

 

其中,S是知识库中的三元组即训练集,S’是负采样的三元组,通过替换 h 或 t 所得,是人为随机生成的。γ 是取值大于0的间隔距离参数,是一个超参数,[x]+表示正值函数,即 x > 0时,[x]+ = x;当 x ≤ 0 时,[x]+ = 0 。算法模型比较简单,梯度更新只需计算距离 d(h+r, t) 和 d(h’+r, t’)。

缺点:

虽然TransE模型的参数较少,计算的复杂度显著降低,并且在大规模稀疏知识库上也同样具有较好的性能与可扩展性。但是TransE 模型不能用在处理复杂关系上 ,原因如下:以一对多为例,对于给定的事实,以姜文拍的民国三部曲电影为例,即《让子弹飞》、《一步之遥》和《邪不压正》。可以得到三个事实三元组即(姜文,导演,让子弹飞)、(姜文,导演,一步之遥)和(姜文,导演,邪不压正)。按照上面对于TransE模型的介绍,可以得到,让子弹飞≈一步之遥≈邪不压正,但实际上这三部电影是不同的实体,应该用不同的向量来表示。多对一和多对多也类似。

 


TranH:

TranH为了解决TranE一对多的问题:

 

 

把h和t 投影到一个超平面,得到投影向量h,r⊥,然后关系作为在这两个投影向量之间的平移。
对于每一种关系都要训练出一个超平面和与之对应的关系r,参数量有所增加。

 TranR:

TransR 认为实体空间和关系空间应该是不同的。
实体 h 和 t 映射到关系空间中再做这种平移变换。

 

 

 

对于每一个关系有一个与之对应的r和 Mr

 

 

摘抄:

https://blog.csdn.net/baijinswpu/article/details/81185965

https://blog.csdn.net/weixin_40871455/article/details/83341561

https://blog.csdn.net/OCR207208207208/article/details/93490339


 



推荐阅读
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 电话号码的字母组合解题思路和代码示例
    本文介绍了力扣题目《电话号码的字母组合》的解题思路和代码示例。通过使用哈希表和递归求解的方法,可以将给定的电话号码转换为对应的字母组合。详细的解题思路和代码示例可以帮助读者更好地理解和实现该题目。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • EPPlus绘制刻度线的方法及示例代码
    本文介绍了使用EPPlus绘制刻度线的方法,并提供了示例代码。通过ExcelPackage类和List对象,可以实现在Excel中绘制刻度线的功能。具体的方法和示例代码在文章中进行了详细的介绍和演示。 ... [详细]
author-avatar
独角戏小说
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有