知识表示

什么是知识表示

  • 知识表示是认知科学和人工智能两个领域共同存在的问题。在认知科学里,他关系到人类如何存储和处理资料。在人工智能里,其主要目标为存储知识,让程序能够处理,达到人类的智慧。目前这个领域任然没有一个完美的答案
  • 人工智能的角度知识表示:
    • 人类如何表示知识
    • 知识的本质是什么?我们如何表示它?
    • 表示法应该只用于某个领域,或者通用于所有领域?
    • 某种知识表达方案的表现能力或者说服力如何?
    • 表示法应该是描述性的,或者是程序性的?

知识表示是关于世界的信息表示符合机器处理的模式,用于模拟人对世界的认识和推理,以解决人工智能中复杂任务。

一种知识表示分类观点(1)基于非逻辑的知识表示(2)基于数理逻辑的知识表示(3)基于统计学习的分布式知识表示。

知识表示的发展

经典知识表示

逻辑描述

命题逻辑:基本概念(命题与联结词)
命题(proposition):具有真假意义的陈述句

∙“太阳从东方升起”,“中国位于北半球”

逻辑联结词(logical connective):用于将多个原子命题组合成复合命题
∙ \bullet ∙ ¬:否定联结词,一X表示对原命题的否定
∙ \bullet ∙ v :析取联结词,XvY表示两个命题存在“或”的关系
∙ \bullet ∙A:合取联结词,XAY表示两个命题存在“与”的关系。
∙ \bullet ∙→:蕴含联结词,X一Y表示“如果X,则Y”(X真而V为假时,条件语句X→Y为假,否则为真)
∙ \bullet ∙ ↔ \leftrightarrow ↔:等价联结词,X ↔ \leftrightarrow ↔Y表示“X当且仅当Y”(X和Y有相同的真值时,双条件语句为真,否则为假)

  • 个体日常生活和数学中所用的“一切的”、“所有的”、“每一个”、“任意的”、“凡”、“都”等词可统称为全称量词;
  • x表示个体域里的某个个体,VxP(x)表示个体域里所有个体都具有性质P。

每一个命题看成是一个二值的逻辑变量
根据真值表运算组合命题的真假值

如果鲸目中的一类背部有背鳍,那么它是海豚科
∙ \bullet ∙X1=鲸鱼有背鳍 X2=这种鲸鱼属于海豚科
∙ \bullet ∙Z1=(X1一X2)

一阶谓词逻辑:基本概念(个体)
个体词:领域内可以独立存在的具体或抽象的客体
∙ \bullet ∙太阳从东方升起:太阳
∙ \bullet ∙小王与小张同岁:小王、小张

谓词逻辑表示法
用谓词逻辑既可以表示事物的状态、属性、概念等事实性知识,也可以表示事物间具有因果关系的规则性知识。
用谓词逻辑表示知识的一般步骤:

  • 定义谓词及个体,确定每个谓词及个体的确切含义;
  • 根据所要表达的事物或概念,为每个谓词中的变量赋以特定的值;
  • 根据所要表达的知识的语义,用适当的逻辑联结词将各个谓词连接起来形成谓词公式。

用谓词逻辑表示下列知识

  • 北京是一个美丽的城市,但她不是一个沿海城市
  • 北京是中国的首都
  • 每一个国家的首都都必定位于这个国家

第1步,定义谓词和个体域;

  • BCity(x): x是一个美丽的城市
  • CCity(x): x是一个沿海城市
  • CapitalOf(x,y): x是y的首都
  • Locatedln(x,y): x位于y
  • x{}y{}

谓词逻辑表示法
用谓词逻辑表示下列知识

  • 北京是一个美丽的城市,但她不是一个沿海城市
  • 北京是中国的首都
  • 每一个国家的首都都必定位于这个国家

第1步,定义谓词和个体域;

  • BCity(x):x是一个美丽的城市
  • CCity(x):x是一个沿海城市
  • CapitalOf(x,y):x是y的首都
  • Locatedln(x,y):x位于y
  • x{}y{}

第2步,将个体带入谓词中;

  • BCity(Beijing)
  • CCity(Beijing)
  • Capitalof(Beijing.China)
  • CapitalOf(x,y)
  • Locatedln(x,y)

第3步,根据语义用逻辑联结词连接。

  • BCity(Beijing)∧¬CCity(Beijing)
  • Capitalof(Beijing,China)
  • x.y CapitalOf(x,y)→Locatedln(x,y)

框架式

人类对知识以一种类似于框架的结构存储在记忆中

框架将所有事物进行抽取,用来表示事物各方面的属性以及事物之间的类属关系

框架:框架是知识表示的基本单位,描述对象(事物、事件或者概念等)属性的数据结构。一个框架由若干个“槽”结构组成,每个槽又可以分为若干个“侧面”
槽:描述某一方面的属性
侧面: 描述相应属性的一个方面,通常是一个属性值。

语义网络(Semantic Network)—非Semantic Web

1960s Quillian在其博士论文中最先提出语义网络。

将知识表示为相互连接的点和边的模式,其中节点表示实体、事件、值等,边表示对象之间的语义关系(有向图表示的知识系统)。

  1. 节点:表示各种事物、概念、情况、属性、动作、状态等,每个节点可以带有若干属性。
  2. 边:表示各种语义联系,指明它所链接的节点间某种语义关系。

语义网络优缺点
优点:

  • 表示自然,易于理解,应用广泛;
  • 符合人类联想记忆;
  • 结构化知识表示

不足:

  • 不严格:没有公认的逻辑基础
  • 难有效处理:网络形式具有灵活的特点,但同时造成了处里和检索的低效率。

产生式系统

一个产生式系统是行为规则的集合。一条规则包括前提(IF)和动作(THEN)两部分。

产生式系统的优缺点
优点:

  • 自然性:符合人类表达因果关系的知识表示形式,表示直观、自然、便于进行推理。
  • 模块性:产生式系统中的规则形式相同,易于模块化管理。
  • 有效性:能表示确定性知识、不确定性知识、启发性知识、过程性知识等。
  • 清晰性:格式固定,便于规则设计,易于对规则库中进行一致性、完整性检测。

不足:

  • 效率不高:匹配规则代价高,求解复杂问题容易造成组合爆炸。
  • 不能表达具有结构性的知识:不能把具体结构关系的事物间的区别于联系表示出来。

语义网中的知识表示

语义网络(Semantic Web)

起源:传统万维网中HTML所表达的页面信息和组织方法,主要面向用户直接阅读,没有将信息的表现形式、内在结构和表达内容分离,没有提供机器可读的语义信息,因而非常不利于机器的理解和处

契机:XML的出现将数据的内容与布局区分开来,为语义更丰富、更自然的Web内容表达打开了新局面。

目标:为Web信息提供机器可以理解的语义,实现Web信息资源在语义层上的全方位互联,从而帮助机器对Web上异构、分布式信息进行有效检索和访问

本质:以Web数据的内容(即语义)为核心,用机器能够理解和处理的方式链接起来的海量分布式数据库。

特征:

  • Web上的事物拥有唯一的URI(Uniform Resource ldentifier,统一资源标识符)
  • 事物之间由链接关联(如人物、地点、事件、建筑物)
  • 事物之间链接显式存在并拥有不同类型
  • Web上事物的结构显式存在

语义网技术栈

语义网提供了一套为描述数据而设计的表示语言和工具,用于形式化的描述一个知识领域内的概念、术语和关系。


第一层:Unicode(统一码)和URI(统一资源标识符),是整个语义网的基础。
Unicode处理资源的编码,实现网上信息的统一编码;URI负责标识资源,支持网上对象和资源的精细标识。
第二层:XML+NS+XML Schema,用于表示数据的内容和结构。
通过XML标记语言将网上资源信息的结构、内容和数据的表现形式进行分离。
第三层:RDF+RDF Schema,用于描述网上资源及其类型,为网上资源描述提供一种通用框架和实现数据集成的元数据解决方案。
第四层:Ontology Vocabulary,用于描述各种资源之间的联系,揭示资源本身及资源之间更为复杂和丰富的语义联系,明确定义描述属性或类的术语语义及术语间关系。
第五层:逻辑层,主要提供公理和推理规则,为智能推理提供基础。该层用来产生规则。
第六层:证明层,执行逻辑层产生的规则,并结合信任层的应用机制来评判是否能够信赖给定的证明。
第七层:信任层,注重于提供信任机制,以保证用户代理在网上进行个性化服务和彼此间交互合作时更安全可靠。

注意:知识表示的核心层为RDF ONTOLOGY

XML命名空间参考https://www.runoob.com/xml/xml-namespaces.html
XML Schema参考https://www.runoob.com/schema/schema-intro.html

语义网:RDF

RDF(Resource Description Framework,资源描述框架)是一种资源描述语言,利用当前的多种元数据标准来描述各种网络资源,形成人机可读,并可由机器自动处理的文件。
RDF的核心思想:利用IRI(Internationalized Resource Identifiers,国际化资源标识符)来标识事物,通过指定的属性和相应的值描述资源的性质或资源之间的关系。

  • R:Resource,即资源,能唯一标识的对象源,例如:地点、人、事件、餐馆等;
  • D:Description,资源的描述,包括资源属性、关系等;
  • F:Framework,为资源描述提供了描述的语法和模型。

RDF模型
资源(Resource): URI标识的所有事物
文字(Literal):字符串或数据类型的值
属性(Property):描述资源特征、属性、或关系
声明(Statement):一个资源加上属性及属性值

RDF 基本元素

IRI(国际化资源标识符)

  • 一个符合特定语法的UINICODE字符串
  • DBpedia中Leonardo da Vinci的IRl
  • htp://dbpedia.org/resource/Leonardo da_Vinci

字面值(Literal)

  • 字符串和表示数据类型的IRI
  • “1*^^xs:integer

空节点

  • 没有IRI的瞪名节点

参考 https:/www.w3.org/TR/2014/REC-rdf11-concepts-20140225/

RDF:资源和陈述

资源:用IRI或者Literal表示的事物。
陈述:RDF中对资源的一个描述称为陈述(statement),一般用Subject-Predicate-Object(SPO)三元组(triple)表示![]

IRI

URI的一般形式,IRI|入了Unicode字符来解决兼容问题口设计原则:

IRI 命名空间

命名空间:以称为子
名称空间IRI的公共子字符串开头
根据约定,某些名称空间IRI与称为名称空间前缀的短名称相关

Literals

Literal是指一些基本值,比如字符串,日期,数值等。
为方便解析Literal,通常会关联某种数据类型。
RDF没有自己的数据类型定义,使用XML Schea数据类型。

RDF序列化

RDF/XML:XML的格式来表示RDF数据

Turtle https://www.w3.org/TR/turtle/


N-Triples:多个三元组来表示RDF数据集

RDFSs(RDF Schema)

RDF缺陷

  • 表达能力有限,无法区分类和对象
  • RDF是对具体事物的描述,缺乏抽象能力

RDFS是RDF的扩展,它在RDF的基础上提供了一组建模原语,用来描述类、属性以及它们之间的关系。

  • Type
  • Class,subClassof
  • Property,subPropertyOf
  • domain,range

RDFs基本描述元语:
rdf:type:声明一个资源是一个类的实例

  • <人物,rdf:type,rdfs;class>,<姚明,rdf:type,人物>

rdf:Property:定义属性,不分对象属性和数据属性

  • <国籍,rdf:type,rdf:Property>,<专业,rdftype,rdf:Property>

rdfs:domain,rdfs:range:声明属性所应用的资源类和属性值类

  • <国籍,rdfs:domain,人物>,<国箱,rdfs:range,xsd;string>
  • <专业,rdfs:domain,人物>,<专业,rdfs:range,物理学家>

RDF词汇表
RDF只定义了用于描述资源的框架,它并没有定义用哪些元数据来描述资源,也就是说RDF并未说明IRI所代表资源的语义信息。
为了揭示相应的语义信息,此时要借助一些词汇表(vocabulary)。
RDF Schema(RDFS)来定义怎样用RDF来描述词汇集,也就是说RDFS是定义RDF词汇集的词汇集。

语义网:RDFs展示

参考链接:https://zhuanlan.zhihu.com/p/32122644

语义网:OWL

RDFS缺陷

  • 只能表达简单的语义,复杂场景下表达能力较弱;
  • 无法对局部值域的属性进行定义,例如:rdfs:range定义的值域是全局性;
  • 无法定义类、属性、个体之间的等价性,例如:Tim-Berns Lee==T.B.Lee;
  • 无法定义不相交的两个类,例如。无法声明男人和女人是不相交的;
  • 无法对属性值取值进行取值约束,例如:一门课必须有一名教师;
  • 无法对属性特性进行描述,例如:属性具有传递性、对称性等。

W3C提出OWL(Web Ontology Language)
OWL当做是RDFS的一个扩展,其添加了额外的预定义词汇;
提供快速、灵活的数据建模能力,高效的自动推

https://www.w3.org/TR/2004/REC.owl-features-20040210/

https://www.w3.org/TR/owl2-primer/

语义网:OWL1Lite 元语

参考链接:https://wwww3.org/TR/2004/REC-owl-features-20040210/

语义网:常见OWL词汇

描述属性特征的词汇

  1. owl:TransitiveProperty
    表示该属性具有传递性质。例如,我们定义“位于”是具有传递性的属性,若A位于B,B位于C,那么A肯定位于C
  2. owl:SymmetricProperty表示该属性具有对称性。例如,我们定义“认识”是具有对称性的属性,若A认识B,那么B肯定认识A
  3. owl:FunctionalProperty表示该属性取德的唯一性。例如,我们定义“母亲”是具有唯一性的属性,若A的母亲是B,在其他地方我们得知A的母亲是C,那么B和C指的是同一个人。
  4. owlinverseOf定义某个属性的相反关系。例如,定义“父母”的相反关系是“子女”,若A是8的父母,那么B情定是A的子女

本体映射词洒(Ontology Mapping)

  1. owlequivalentClass表示某个类和另一个类是相同的
  2. owl:equivalentProperty表示某个属性和另一个属性是相同的
  3. owl:sameAs表示两个实体是同一个实体

SPARQL

SPARQL基于图匹配模型,使用SELECT-FROM-WHERE句子,增加了图算子OPTIONAL

JSON-LD

  1. JSON-LD提供一种以JSON语法描述有向图、以及在一个文档中混合表示互联数据及非互联数据的方式
  2. 在JSON的语法基础上,JSON-LD提供了一种规范的术语(本体)表示,使得对术语的理解跨越了猜测的过程,使得机器能理解和处理。

语义网知识描述语言体系

知识图谱中的知识表示

传统表示

  1. 基于符号的三元组表示,不能捕获实体间的语义关系(显式和隐式)
  2. 不好直接利用各种机器学习模型进行分析和挖掘

统计学习表示

  1. 给出了一种统计上的分布式表示方式,能捕获实体间的语义关系,特别是隐式关系
  2. 表示形式为向量,能被各种机器学习模型直接使用

知识图谱中的知识表示

语义网

知识体系

本体(Ontology)通过对于概念(Concept)、术语(Terminology)及其相互关系(Relation,Property)的规范化(Conceptualization)描述,勾画出某一领域的基本知识体系和描述语言。

Ontology VS.Knowledge Graph

Ontology:共享概念化的规范,涉及概念、关系和公理三个要素。
KG:服从于ontology控制的知识单元的载体。

知识组织形式

本体(Ontology)

  • 树状结构,不同层节点之间是严格的lsA关系
  • 优点:可以适用于知识的推理
  • 缺点:无法表示概念的二义性(运动员:体育?人物?)

Taxonamy

  • 树状结构,上下位节点之间非严格的lsA关系
  • 优点:可以表示概念的二义性(体育一>运动员)
  • 缺点:不适用于推理,无法避免概念冗余(餐厅:美食?机构?地点?)

Folksonomy

  • 类别标签,更加开放
  • 优点:能够涵盖更多的概念·
  • 缺点:如何进行标签管理?

Ontology学习

手工构建Domain Ontology费时费力
自动构建

  • 目前还不能直接使用
  • 但是可以节省人力

Concept Extraction(节点)
Taxonomical Relation Extraction(关系)
No-taxonomical Relation Extraction(属性)

属性图

知识数值化表示

自然语言中的表示学习

知识图谱表示学习原理

        • 三元组<h,r,t>看成h通过r翻译到t的过程
        • Beijing-China=Pairs - France =Caption-of
          优化目标


知识图谱表示学习例子