【知识图谱搭建到应用】--知识搜集与建模--03

文章目录

  • 知识搜集
  • 知识建模

对于知识图谱,最基本的、基础的就是知识;知识图谱中的知识,其实不是什么难以理解、高深莫测的内容,可以是对某一件事情的说明,可以是某一事物的特征,可以是两者之间的关系,直白说知识就是对某一领域或整个开发域中存在事物的“记录”,并且一般是事实性的记录,因为只有真的知识才是有效的。

若针对某一垂直领域构建知识图谱,知识收集和建模应该是相辅相成的;项目或工作开始初期,肯定是有一个目标是,比如问答系统就是能覆盖具体事物、具体属性、具体关系等,从业务层面抽离出一个知识架构;将事物抽象为“类”、属性抽象为“数值属性”、抽象即为“对象属性”,形成Schema,就是建模的过程。确定好领域范围后,就要针对具体实例寻找相关知识,如一个实例是“李白”,其对应的属性可能就有朝代、字、号等一系列属性,这些属性就是知识,需要搜集。随着数据搜集的越来越多,一般都会发现之前抽象定义的Schema存在不足,需要修改,进而再去搜集更多的数据,使得整个知识越来越丰富。

知识搜集

知识的来源说白了其实就是两大种,一种就是别人已经做好了的,一种就是别人没做好,需要自己处理的。

直观来说,便于知识图谱使用的也是结构化数据,即与MySQL中的数据结构相似,一张表就是一个类,一个字段就是一个数值属性,一行就是类的一个实例。所以,对于一些公开数据集或者开源的知识图谱项目,其中存储的数据属于第一种,大佬已经帮我们做好了的,我们可以直接使用。我们要做的就是定好自己的目标域,从开源的知识来源(如CN-DBpedia)中抽取,一般流程分为以下几步:

  • 构建项目所涉及的实体词汇表
  • 获取实体列表
  • 筛选实体列表
  • 获取开源图谱中对应实体的三元组知识

第二种就是我们自己从头开始构建,主要就是用爬虫用网页爬取相关文本信息,基本都是半结构化或非结构化数据,需要从中解析出目标的结构化数据。如果使用算法,会使用命名实体识别、关系抽取、事件抽取等,还可以基于数据质量、体量等因素决定使用远程监督或有监督等方法进行,或者直接使用人力进行提取。


知识建模

建模的过程本质是对整个知识架构抽象的过程,将整个知识架构抽象为类、对象属性、数值属性,每一个节点就是一种类的实例,节点之间的关系是对象属性,节点自身特征为数值属性;很多地方会直接称为关系和属性,而此处的属性就是数值属性。一般会使用开源软件protégé,在其中可以先定义Schema,然后再基于实际数据建立实例。protégé除了可以创建本体架构将其保存为RDF文件外,还可以读取RDF文件进行解析,将RDF文件内部的结构、实体进行提取,可以有效处理不同格式的RDF文件转换。protege保存本体文件时,可以选择如下多种RDF文件格式,基于实际情况进行选择,其中RDF/XML和Turtle格式使用最多
【知识图谱搭建到应用】--知识搜集与建模--03_第1张图片

你可能感兴趣的:(知识图谱搭建及应用,知识图谱,人工智能)