知识图谱(二)——知识表示

知识应用难点在于知识推理,知识推理的难点在于知识表示。

文章目录

  • 一、经典知识表示理论
    • 1、逻辑
      • (1)命题逻辑
        • a、命题逻辑真值表
        • b、一阶谓词逻辑 vs 高阶谓词逻辑
      • (2)语义网络(Semantic Network)
        • a、关系的类型
        • b、根据论元个数把关系分为:一元关系、二元关系和多元关系
      • (3)框架
        • a、框架的组成
        • b、示例
      • (4)脚本
        • a、脚本的组成
  • 二、语义网中的知识表示方法
    • 1、语义网表示方法
    • 2、语义网知识描述体系
      • (1)XML
      • (2)RDF
      • (3)OWL
        • a、头部
        • b、主体(核心)
        • c、功能性标签
        • d、语义网 vs 语义网络
  • 三、知识图谱中的知识表示方法
    • 1、表示框架
      • (1)本体
      • (2)组合值类型(CVT)
  • 四、知识图谱的数值化表示方法
    • 1、符号的数值化表示
    • 2、文本的数值化表示
    • 3、知识图谱的数值化表示

一、经典知识表示理论

1、逻辑

根据复杂性从弱到强:命题逻辑(propositional logic)、一阶谓词逻辑、高阶逻辑。

(1)命题逻辑

定义了具有真假值的原子命题,并可通过与( ⋀ \bigwedge )、或( ⋁ \bigvee )、非(﹁)、蕴含( ⇒ \Rightarrow )、当且仅当( ⇔ \Leftrightarrow )等,将多个原子命题组合成复合命题,而推理过程则根据逻辑连接词的真值表进行推导。

a、命题逻辑真值表

X Y ﹁X X ⋀ \bigwedge Y X ⋁ \bigvee Y X ⇒ \Rightarrow Y X ⇔ \Leftrightarrow Y
true true false true true true true
false true true false true true false
true false false false true false false
false false true false false true true

只要推论是真,命题就一定为真;推论为假的时候,看假设是否与推论的真值一致,一致的话,命题为真,不一致的话,命题为假。

b、一阶谓词逻辑 vs 高阶谓词逻辑

谓词逻辑分为一阶谓词逻辑和高阶谓词逻辑,主要区别:是否可以量化谓词或集合。

一阶谓词逻辑(一阶逻辑):

  • 在命题逻辑基础上引入了全称量词( ∀ \forall ,表示集合全部)和存在量词( ∃ \exists ,表示在论域中存在至少一个对象),使得一阶逻辑可以量化实体和概念

高阶逻辑:

  • 量化谓词或集合
  • 二阶量化集合
  • 三阶量化集合的集合

(2)语义网络(Semantic Network)

该模型认为人类的记忆是由概念间的联系(语义关系)实现的,其最基本的语义单元为语义基元,用三元组形式表示<节点1,关系,节点2>

a、关系的类型

  • 实例关系(ISA):体现“具体与抽象”的概念,含义为“是一个”,表示一个事物是另一个事物的一个实例。
  • 分类关系(泛化关系)(AKO,a kind of):体现“子类与超类”的概念,含义为“是一种”,表示一个事物是另一个事物的一种类型。
  • 成员关系(A-Member-of):体现“个体与集体”的关系,含义为“是一员”,表示一个事物是另一个事物的一个成员。
  • 属性关系:指事物和其属性之间的关系。常用的属性关系:Have、Can
  • 聚合(聚类、包含)关系:有组织或结构特征的“部分与整体”之间的关系。
  • 时间关系:不同事件在其发生时间方面的先后次序关系。常用的时间关系:在前、在后
  • 位置关系:不同事物在位置方面的关系。常用的位置关系:在、在上、在下、在内、在外
  • 相近关系:不同事物在形状、内容等方面相似或相近

b、根据论元个数把关系分为:一元关系、二元关系和多元关系

  • 一元关系:用一元谓词 P ( x ) P(x) P(x) 表示, P P P 表示实体/概念的性质、属性等, x x x 表示实体。eg:有翅膀(鸟)
  • 二元关系:用二元谓词 P ( x , y ) P(x,y) P(x,y) 表示, x , y x,y x,y 表示实体, P P P 表示实体之间的关系。eg:首都(中国,北京)
  • 多元关系:语义网将多元关系转化为多个二元关系,然后利用合取把这个多元关系表示出来。

(3)框架

框架是一种描述所讨论对象(事物、事件、概念等)属性和行为的数据结构。

a、框架的组成

  • 框架名:每个框架都有一个框架名,唯一标识一个框架。
  • 槽(Slot):包括 槽名、槽值
    • 一个框架由若干个槽构成,每个槽都有槽名;
    • 一个槽用于说明框架某一方面的属性;
    • 属性的值即为槽值。
  • 侧面(Facet):包括 侧面名、侧面值
    • 一个槽有可能划分为若干个侧面,具有相应的侧面名;
    • 一个槽可能含有若干细分属性,一个侧面用来说明其中的一个属性;
    • 属性的值即为侧面值。
  • 约束条件:用来约束、限制槽值、侧面值的填写。一般不单独列出,而包含在值的填写约束中。

b、示例

框架1:<灾难>
	槽1:<时间>
	槽2:<地点>
	槽3:<伤亡>
		侧面3.1:<死亡人数>
		侧面3.2:<失踪人数>
	槽4:<损失>
		侧面4.1:<直接经济损失>
		侧面4.2:<间接经济损失>
	槽5:<救援>
		侧面5.1:<救援部门>
		侧面5.2:<救援时间>
		侧面5.3:<捐赠情况>

(4)脚本

脚本通过一系列的原子动作来表示事物的基本行为,按照时间顺序描述事物的发生,描述动态的过程。脚本表示的知识有确定的时间或因果顺序,必须是前一个动作完成后才会触发下一个动作的开始

特点:表示方法能力有限,因其能够描述有一定时序关系的槽信息,在AI和NLP中得以应用,eg:智能对话系统,如酒店预订、机票预订等。

a、脚本的组成

  • 进入条件:事件发生的前提条件。
  • 角色:事件中可能出现的人物。
  • 道具:事件中可能出现
  • 舞台:脚本中事件发生的空间。
  • 场景:时间发生的序列,是脚本的主体部分。缺陷:需要对所有可能发生动作序列进行枚举。
  • 结局:给出在脚本所描述的事件发生之后通常所产生的结果,对应着进入后续脚本的先决条件。

二、语义网中的知识表示方法

1、语义网表示方法

在拓扑结构上可看作一个图或网络。

 
<影星>
	<中文名>甄子丹中文名>
	<外文名>Donnie Yen外文名>
	<国籍>中国国籍>
	<民族>民族>
	<身高>175cm身高>
	<出生>
		<出生地>广州市出生地>
		<出生日期>1963年7月27日出生日期>
	出生>
	<毕业院校>西安赵长军武术学院 毕业院校>
影星>

与框架相比:不需要对具有多个侧面的属性定义另一个框架,而是直接定义属性和属性关系建立它们之间的联系(eg:定义属性“出生”和属性“出生地”并建立一个“部分-整体”的关系链接“出生”和“出生地”)。

2、语义网知识描述体系

常用:XML(可扩展标记语言,eXtensible Markup Language)、RDF(资源描述框架,Resource Description Framework)和OWL(网络本体语言,Web Ontology Language)

(1)XML

提出:为了解决动态信息的显示问题,以及HTML在数据表示和描述方面混乱的问题而提出的技术标准。但其通用性受到限制(不同时期或属于不同组织的语义知识需要相互兼容)。

一个标准的XML文档需包含一个 序言和若干具体内容,也可包含一个尾注。

  • 序言:对XML的声明以及外部文档的引用。
  • 内容:通过元素来记录,元素的标签必须是字母、下划线、冒号,标签含有的内容可以是文本、数值、时间甚至为空。元素可以嵌套,深度不受限制。
		


 
<人物>
	<名字>马克斯·普朗克名字>
	<国籍>德国国籍>
	<专业>物理学家专业>
	...
人物>
  • 第一行:定义所使用的XML版本和字符编码。
  • 第二行:标签是标准通用标记语言的文档类型声明,表示引用外部文件来定义本地文档中出现的名字,url.dtd标记了要引用文档的路径。

(2)RDF

RDF假设任何复杂的语义都可以通过若干个三元组的组合来表达,并定义这种三元组的形式为“对象 — 属性 — 值”“主语 — 谓语 — 宾语”,其中需要公开或者通用的资源,都会绑定一个可识别的通用资源标识符(universal resource identifier, URI)

示例:

  "Max Planck"@en
<马克斯·普朗克,国籍,德国>

当需要表示的参数超过两个,常通过RDF定义的一组二元谓词来表示,但增加了复杂性,也加大了后续处理的难度。示例如下:

马克斯·普朗克1919年获得诺贝尔奖。 
		转换为 ==》
<获奖信息87,人物,马克斯·普朗克>
<获奖信息87,时间,1919年>
<获奖信息87,名称,诺贝尔奖>

查询语言:SPARQL

RDF Schema(RDFs)是一种用于描述RDF的轻量级语言,主要关注类别和属性的层次结构以及继承关系等,可限制子类和属性层次及其属性的定义域、值域,便于不同知识内容的交互和融合。

(3)OWL

OWL建立在RDF和RDFs上,主要包括头部和主体两部分。

a、头部

使用命名空间中预定义的标签来形成本体的头部,其中预定义命名空间包括 xmlns:owlxmlns:rdfxmlns:rdfsxmlns:xsd等等。示例:物理学家 本体可用如下头部表示

<owl:Ontology rdf:about="">
	<rdfs:comment>一个本体的例子rdfs:comment>
	<rdfs:label>物理学家本体rdfs:label>
owl:Ontology>

表示本模块描述当前本体

b、主体(核心)

用于描述本体的类别、实例、属性之间相互关联的部分。示例如下,包括但不限于此。

  • 类别关系描述本体的类别所属,只需记录父亲(subClassOf)
  • owl:ObjectProperty表示对象类型属性,rdfs:domainrdfs:range表示该属性的定义域和值域。
    • owl:subProperty表示记录属性间的从属关系。
<owl:Class rdf:ID="物理学家">
	<rdfs:subClassOf rdf:resource="科学家"/>
	<rdfs:label xml:lang="en">physicistrdfs:label>
	<rdfs:label xml:lang="zh">物理学家rdfs:label>
	...
owl:Class>
<owl:ObjectProperty rdf:ID="国籍">
	<rdfs:domain rdf:resource="人物"/>
	<rdfs:range rdf:resource="xsd:string"/>
	...
owl:ObjectProperty>

c、功能性标签

  • 传递性:owl:TransitiveProperty
  • 对称性:owl:SymmetricProperty
  • 函数性:owl:FunctionalProperty
  • 可逆性:owl:inverseOf
  • 约束性:owl:Restriction
  • 映射:owl:equivalentClassowl:equivalentProperty

示例:只有获得过诺贝尔奖的物理学家才被称为诺贝尔物理学家

<owl:Class rdf:about="诺贝尔物理学家">
	<rdfs:subClassOf rdf:resource="物理学家"/>
	<owl:Restriction>
		<owl:onProperty rdf:resource="获奖名称"/>
		<owl:allValuesFrom rdf:resource="诺贝尔奖"/>
	owl:Restriction>
owl:Class>

d、语义网 vs 语义网络

语义网络中,对节点和边的描述没有标准,用户按需自行定义,会导致:

  • 不同用户定义方式不同,不便于知识的分享;
  • 无法区分知识描述和知识实例。

语义网基于W3C制定的标准,利用统一的形式对知识进行描述和关联,利于知识的共享和利用。
语义网通过语义具化(Semantic Grounding),让每个概念(实体、类别、关系、事件等)都有一个唯一的标识符。

三、知识图谱中的知识表示方法

1、表示框架

(1)本体

  • 一个知识本体主要涵盖以下内容:事物、概念、属性、关系、函数、约束、规则、公理。
  • 目前大部分知识谱图主要是对前四部分内容(事物、概念、属性、关系)进行建模,只有很少的知识图谱建模了简单的规则结构,也反映不同层次知识在表示上的复杂程度是不同的。
  • 知识用统一的三元组形式表示,不论是对人类操作的便捷性还是对计算机计算的高效性,都有很大优势。
  • 知识图谱的知识表示不仅体现在RDF为基础的三元组之上,还体现在实体、类别、属性、关系等多颗粒度、多层次语义单元的关联之上。

(2)组合值类型(CVT)

待补充

四、知识图谱的数值化表示方法

1、符号的数值化表示

语义计算
特征工程

2、文本的数值化表示

1957年,Firth对分布假说进行进一步阐述和明确:词的语义由上下文决定。

词空间模型(Word Space Model)==》词的分布表示(Distributional Representation)

3、知识图谱的数值化表示

基于张量分解
基于能量函数

你可能感兴趣的:(知识图谱,知识图谱)