知识图谱简述

知识图谱:KnowledgeGraph以结构化的形式描述客观世界中的概念实体及其关系。知识图谱关注概念,实体及其关系,其中实体是客观世界中的事物,概念是对具有相同属性的事物的概括和抽象。

本体是知识图谱的知识表示基础,可以形式化表示为O={C,H,P,A,I},C为概念集合,如事务性概念和事件类概念,H是概念的上下位关系集合,P是属性集合,描述概念所具有的特征,A是规则集合,描述领域规则,I是实例集合,描述实例-属性-值。

知识表示方法

存储知识,让程序能够处理,达到人类的智慧。

语义网络

节点
表示各种事物、概念、情况、属性、动作、状态等表示各种语义关系

RDF模型

设计目的:最低限度的约束,灵活地描述信息,可用于WEB

  • 采用了基于三元组声明的图模型
  • 基于URI的可拓展词汇集
  • 基于XML的序列化语法编码
  • 形式化的语义和可证明的推论
资源文字属性声明
URI标识的所有事物字符串或数据类型的值描述资源特征、属性或关系一个资源加上属性或属性值

RDF三元组例子

网页作者是Ora,转换为三元组就是(网页,作者,Ora)

RDFS

RDFS用于定义和描述词汇集

  • 类:rdfs:Class
  • 类层次:rdfs:subClassOf
  • 实例定义:rdfs:type
  • 属性定义:rdfs:range, rdfs:domain
  • 属性层次:rdfs:subPropertyOf
类与属性
属性约束
关于一本书的RDF图
RDF语言描述
<?xml version=“1.0”?>
    <RDF xmlns=http://www.w3.org/1999/02/22-rdf-syntax-ns#xmlna:DC=http://purl.org/metadata/dublin-core#>
        <Description about=http://www.dlib.org/dlib/may98/miller>
            <DC:title>
                An introduction to the Resource Description Framework
            </DC:title>
            <DC:creator>
                Eric Miller
            </DC:creator>
            <DC:date>
                1998-0501
            </DC:date>
        </Description>
    </RDF>

上面的写法第一行表示这是一段XML文件,第二行声明了RDF、DC两个名称空间(Namespace),其中RDF是预设的Namespace,在描述(Description)中所有的属性(Properties)都是来自这两个Namespace其中一个;RDF的主要部分写在Description这对标签之中,这里以title、creator、date三个属性(properties)来描述一个资源(Resource),这个Resource的URI就是Description的属性about的值(http://www.dlib.org/dlib/may98/miller)。

OWL(网络本体语言)

根据应用对表达能力和推理复杂度的不同要求,OWL提供了OWL DL和OWL lite两种子语言。

属性性质声明

  • owl:TransitiveProperty. 声明属性的传递性质。例如“位于”这种关系就具有传递性,如果我们知识库里有(华为总部,位于,深圳)和(深圳,位于,广东)这两条三元组知识,那么根据传递性质,机器就可以判定并生成(华为总部,位于,广东)这条新知识。
  • owl:inverseOf. 声明两种关系之间是互反关系,比如“父母”和“子女”就是一组互反关系。
  • owl:SymmetricProperty. 声明两种关系之间是对称关系,比如声明 “mg:friend rdf:type owl:SymmetricProperty”,则根据(mg:小明,mg:friend,mg:小红),有 (mg:小红,mg:friend,mg:小明)
  • owl:FunctionalProperty. 声明属性具有函数性(唯一性),即具体到每个实体在该属性上的取值只能有一个。

JSON-LD

  • JSON-LD提供一种以JSON语法描述有向图、以及在一个文档中混合表示互联数据以及非互联数据的方式
  • 在JSON的语法基础上,JSON-LD提供了一种规范的术语(本体)表示,使得对术语的理解跨越了猜测的过程,使得机器能理解和处理
{
"name":"Manu Sporny",
"homepage":"http://manu.sporny.org/",
"image":"http://manu.sporny.org/images/manu.png"
}


一个JSON描述片段
{
"http://schema.org/name":"Manu Sporny",
"http://schema.org/url":{"@id":"http://manu.sporny.org/"},
"http://schema.org/image":{"@id":"http://manu.sporny.org/images/manu.png"}
}
一个JSON-LD描述片段

知识建模

本体

领域共享知识的描述方式,是语义WEB,语义搜索,知识工程和很多人工智能应用的基础。

知识建模方法

本体工程

知识图谱中需要一个本体来形式化描述和界定它所描述的知识和事实的范围。本体工程是用工程化规范保证本体质量的方法学

1.确定本体的领域和范围

明确一些基本的问题

2.考虑重用现有本体

通常,收集和待开发本体相关的其他本体是有价值的

3.列出本体中的重要术语

将所关心的术语列举出来

4.定义类和类的继承
  • 确保类的继承正确
  • 分析继承结构中的兄弟类引入新类的时机
  • 新类或属性值的取舍实例或类的取舍
  • 范围限制
  • 不相交的子类
5.定义属性和关系
  • 逆属性/关系
  • 缺省属性值
6.定义属性的限制

进一步定义属性的一些限制

7.创建实例

为该类创建实例

知识抽取

从关系数据库中抽取知识(结构化数据)

抽取原理

  • -表(Table)--类(Class)
  • -列(Column)--属性(Property)
  • -行(Row)--资源/实例(Resource/Instance)
  • -单元(Cell)--属性值(Property Value)
  • -外键(Foreign Key)--指代(Reference)

常见抽取工具有

-D2R, Virtuoso,Orcle SW, Morph等

面向半结构化数据的知识抽取

百科知识抽取:YAGO Project

无结构化数据的知识抽取问题(是否可用于流量识别方向

是当前知识图谱构建技术瓶颈

关键技术:

实体识别
关系抽取
事件抽取

实体识别

关系抽取

其一

其二

事件抽取

实体识别

基于规则和词典的实体识别

  • 预处理
    • 划分句子
    • 分词+词性标志
    • 构建词典
  • 识别实体边界
    • 初始化边界:词典匹配、拼写规则、特殊字符、特征词和标点符号
  • 命名实体分类
    • 使用分类规则
    • 基于词典的分类

词典主要在三个方面使用

  • 在分词时辅助分词
  • 实体抽取时根据词典匹配实体
  • 基于词典对实体分类

基于机器学习的实体识别

主要方法包括

  • 隐马尔科夫模型(Hidden Markov Model, HMM)
  • 最大嫡马尔科夫模型(Maximum Entropy Markov Model,MEMM)
  • 条件随机场(Conditional Random Fields,CRF)
  • 支持向量机(Support Vector Machine,SVM)

关系抽取

  • 基于模板的关系抽取
  • 有监督实体关系抽取
  • 弱监督实体关系抽取
  • 远程监督实体关系抽取
  • 无监督实体关系抽取
  • 基于深度学习的关系抽取