精华内容
下载资源
问答
  • 七步法构建本体实例

    2018-07-10 16:07:46
    该资源中有owl文件一个用于描述university领域,同时还有一个PPT文档用于说明该ontology的构建过程,另外还有Protégé5.1以及一个现实插件和配置方法。
  • 读斯坦福七步法本体构建前言第一章 什么是本体第二章 为什么要开发本体第三章 一步一步地开发一个本体本体开发过程本体工程与面向对象建模确定领域和范围考虑重用列举重要术语定义类和类层次结构类继承类继承实例...

    前言

    本文是本人读斯坦福发布的七步法构建本体的的基本笔记记录,里面的内容大多为翻译内容通过本人的理解进行了记录,有部分截图直接使用原文中的截图。

    斯坦福的本体构建ppt讲解构建过程和本体概念等的介绍

    第一章 什么是本体

    介绍

    1. 本体是对领域的显式描述*:概念、概念的属性和属性、属性和属性的约 束、个人(经常,但不总是)

    2. 对于一个本体的定义:通用的词汇表、共享的理解本体的例子:
      网络分类:雅虎(类别)
      网购目录:亚马逊(产品目录)

    3. 特定领域的标准术语:统一医学语言系统(UMLS)、UNSPSC -产品和服务术语

    4. 本体工程的定义-定义领域中的术语及其之间的关系的工程技术:
      定义领域(类)中的概念
      在层次结构中安排概念(子类-超类层次结构)
      定义哪些属性和属性(插槽)类可以具有及其值上的约束
      定义个体并填充槽值

    第二章 为什么要开发本体

    1. 共享对信息结构的共同理解
      人与人之间
      软件代理之间
    2. 使得领域知识能够重用
      避免“重复发明轮子”
      引入允许互操作性的标准
    3. 为了让领域假设明显
      更容易更改领域假设(考虑遗传学知识库)
      更容易理解和更新遗留数据
    4. 将领域知识从操作知识中分离出来
      分别重用领域知识和操作知识(例如,基于约束的配置)
    5. 本体仅仅是一个开始,接下来基于本体的事情很多
      提供一个领域的描述:Software agents、Problem-solving methods、Domain-independent applications
      声明一个结构:Databases、Knowledge bases
      构建实例(葡萄酒和葡萄酒厂)
      在这里插入图片描述

    第三章 一步一步地开发一个本体

    本体开发过程

    	本教程:确定范围->考虑重用->列举条款->定义类->定义属性->定义约束条件->创建实例
    	现实:确定范围->考虑重用->列举条款->考虑重用->定义类->列举条款->定义类->定义属性->定义类->定义属性->创建实例->定义类->创建实例->考虑重用->定义属性->定义约束条件->创建实例···········
    	实际上,我们所进行的创建工作应该是一个不断迭代的过程,此教程将其简化为七步法。
    

    本体工程与面向对象建模

    	本体
    		反映了世界的结构
    		通常是关于概念的结构
    		实际的物理表示不是问题
    	某个类结构
    		反映数据和代码的结构
    		通常是关于行为(方法)
    		描述数据的物理表示形式(long int、char等)。
    	工具
    		Protégé(是一个图形本体开发工具,支持丰富的知识模型,是开源的,免费可用的(http://protege.stanford.edu)。)
    		Ontolingua and Chimaera
    		OntoEdit
    		OilEd
    		本教程基于Protégé
    

    确定领域和范围

    	本体将涉及什么领域?
    	我们要用本体论做什么?
    	本体中的信息应该为哪些类型的问题提供答案(Competency Questions:开放式问题)?
    	这些问题的答案可能在生命周期中发生变化?
    Competency Questions(以葡萄酒为例考虑问题)
    	选择葡萄酒时,我应该考虑哪些特点?
    	波尔多是红葡萄酒还是白葡萄酒?
    	赤霞珠和海鲜搭配好吗?
    	什么酒最适合搭配烤肉?
    	葡萄酒的哪些特性会影响它适合做一道菜?
    	葡萄酒的味道或酒体是否会随着年份的变化而变化?
    	纳帕仙粉黛的好年份是什么?
    

    考虑重用

    	为什么重用其他本体?
    		为了节省精力
    		与使用其他本体的工具进行交互
    		使用通过在应用程序中使用而验证的本体
    	如何重用?
    		本体库
    			DAML本体库(www.daml.org/ontologies)
    			Ontolingua本体库(www.ksl.stanford.edu/software/ontolingua/)
    			Protege本体库(protege.stanford.edu/plugins.html)
    		上层本体
    			IEEE标准上层本体(suo.ieee.org)
    			赛克(www.cyc.com)
    		通用本体
    			DMOZ (www.dmoz.org)
    			WordNet www.cogsci.princeton.edu/~wn/))
    		特定领域的本体
    			UMLS语义网
    			GO(基因本体论)(www.geneontology.org)
    

    列举重要术语

    	我们需要讨论哪些术语?
    	这些项的性质是什么?
    	关于这些项我们想说什么?
    列举术语——葡萄酒本体
    	葡萄酒,葡萄,酒厂,地点,葡萄酒的颜色,葡萄酒的酒体,葡萄酒的风味,含糖量白葡萄酒,红葡萄酒,波尔多葡萄酒食品,海鲜,鱼类,肉类,蔬菜,奶酪
    

    定义类和类层次结构

    	类是域中的一个概念
    		一类葡萄酒
    		一类酿酒厂
    		一种红葡萄酒
    	类是具有类似属性的元素的集合
    	类的实例
    		你午餐要喝一杯加利福尼亚葡萄酒
    

    类继承

    	类通常构成一个分类层次结构(子类-超类层次结构)
    	类层次结构通常是一个IS-A层次结构:子类的实例是超类的实例
    	如果您将类看作一组元素,那么子类就是一个子集
    

    类继承实例

    	苹果是水果的一个子类  ----->  每个苹果都是一个水果
    	红葡萄酒是葡萄酒的一个子类  ----->  每一种红酒都是一种红酒
    	基安蒂葡萄酒是红葡萄酒的一个子类  ----->  每一瓶基安蒂葡萄酒都是红葡萄酒
    层次结构中的级别
    

    在这里插入图片描述
    层次结构的传递性
    在这里插入图片描述
    is-a关系是可传递的:
    B是a的子类
    C是B的一个子类
    C是a的子类
    类的直接超类是类的“最近的”超类

    设计开发模式

    	自顶向下——首先定义最一般的概念,然后专门化它们
    	自底向上——定义最具体的概念,然后在更一般的类中组织它们
    	组合——首先定义更突出的概念,然后对它们进行概括和专门化
    必备资料
    	类(和槽)通常有文档
    		用自然语言描述类
    		列出与类定义相关的域假设
    		清单同义词
    	记录类和槽与记录计算机代码一样重要!
    定义类插槽的属性
    	类定义中的插槽描述类实例的属性以及与其他实例的关系
    		每种酒都有颜色、含糖量、生产者等。
    	属性(槽)
    		类型的属性
    			“内在”特性:葡萄酒的风味和颜色
    			“外在”属性:葡萄酒的名称和价格
    			零件:一道菜中的配料
    			与其他对象的关系:葡萄酒生产者(酒厂)
    		简单和复杂属性
    			简单属性(属性):包含基本值(字符串、数字)
    			复杂属性:包含(或指向)其他对象(例如,一个酒厂实例)
    	红酒类的槽位
    

    在这里插入图片描述

    	槽和类继承
    		子类从超类继承所有插槽        
    			如果葡萄酒有名字和味道,红葡萄酒也有名字和味道
    		如果一个类有多个超类,它将从所有超类中继承插槽
    			波特酒既是一种甜点酒,也是一种红葡萄酒。它继承了前者的“含糖量高”和后者的“颜色红”
    属性约束
    	属性约束(facet)描述或限制槽的可能值集
    		葡萄酒的名字是一串
    		葡萄酒生产者就是酿酒厂的一个例子
    		酿酒厂只有一个位置
    	公共特征
    		槽基数——槽中值的数量
    		槽值类型——槽值的类型
    		最小值和最大值——数值槽的值范围
    		默认值——除非显式指定,否则插槽具有的值
    	公共特征:槽基数
    		基数
    			基数N意味着槽必须有N个值
    		最低基数
    			最小基数1意味着槽必须有一个值(required)
    			最小基数0表示插槽值是可选的
    		最大基数
    			最大基数1意味着插槽最多可以有一个值(单值插槽)
    			最大基数大于1意味着插槽可以有多个值(多值插槽)
    	公共特征:值类型
    

    字符串

    一串字符(“Château Lafite”)

    数字

    整数或浮点数(15,4.5)

    布尔值

    真/假标志

    枚举类型

    允许值的列表(高、中、低)

    复杂类型

    另一个类的实例

    指定实例所属的类

    Wine类是Wine类中的slot“produces”的值类型

    槽的域和范围

    		槽的域——具有槽的类(或多个类)
    			更精确地说:类(或多个类)实例可以具有插槽
    		槽值的范围——槽值所属的类
    	特征和类的继承
    		子类从超类继承所有插槽
    		子类可以覆盖facet以“缩小”允许值的列表
    			使基数范围更小
    			用子类替换范围内的类
    

    在这里插入图片描述

    创建实例

    	创建类的实例
    		类成为实例的直接类型
    		direct类型的任何超类都是实例的类型
    	为实例帧分配插槽值
    		槽值应该符合facet约束
    		知识获取工具经常检查这一点
    

    例子

    在这里插入图片描述

    第四章 更进一步-常见的问题和解决办法

    深度优先覆盖

    在这里插入图片描述

    广度优先覆盖

    在这里插入图片描述

    定义类和类层次结构

    	需要记住的事情:
    		没有单一正确的类层次结构
    		但也有一些指导方针
    	要问的问题是:
    		“子类的每个实例都是它的超类的实例吗?”
    

    多重继承

    在这里插入图片描述
    一个类可以有多个超类(superclass)
    子类继承所有父类的插槽和方面限制
    不同的系统以不同的方式解决冲突
    不交类(DISJOINT CLASSES)
    如果类不能具有公共实例,则它们是不相交的
    不相交类也不能有任何公共子类
    在这里插入图片描述
    红葡萄酒、白葡萄酒、玫瑰葡萄酒是互不相干的
    甜酒和红葡萄酒并不是分开的

    避免类循环

    在这里插入图片描述
    多重继承的危险:类层次结构中的循环
    类A、B和C具有等价的实例集
    根据许多定义,A、B和C是等价的

    类层次结构中的兄弟

    在这里插入图片描述
    类层次结构中的所有同级必须具有相同的通用性
    与书中的章节相比较
    完美的类家庭
    如果一个类只有一个子类,则可能存在建模问题
    如果Red Burgundy 仅有的子类是Côtes d’Or,那为什么要引入子层次结构呢?
    在这里插入图片描述
    与项目符号列表中的项目符号进行比较。

    在这里插入图片描述

    	如果一个类有12个以上的子类,则可能需要额外的子类别
    

    在这里插入图片描述

    	但是,如果不存在自然分类,那么长列表可能更自然
    

    在这里插入图片描述
    单一类名和复数类名
    “wine”不是一种“wines”
    在这里插入图片描述
    wine是Wines类的一个实例
    类名应该是
    所有单数
    所有复数
    在这里插入图片描述

    类及其名称

    	类表示域中的概念,而不是它们的名称
    	类名可以更改,但它仍然引用相同的概念
    	相同概念的同义词名称并不是不同的类
    		许多系统允许将同义词列表作为类定义的一部分
    完整的葡萄酒家族
    

    在这里插入图片描述

    域和范围

    在这里插入图片描述
    当为槽定义域或范围时,查找最通用的类
    考虑口味槽
    域名:红酒,白酒,玫瑰酒
    域:酒
    考虑酒厂的生产槽:
    适用范围:红葡萄酒、白葡萄酒、玫瑰葡萄酒
    范围:酒

    定义域和范围

    在这里插入图片描述
    类和超类——用超类替换
    类的所有子类——用超类替换
    类的大多数子类——考虑用超类替换
    Inverse Slots
    在这里插入图片描述
    Maker andProducer
    are inverse slots
    反槽包含冗余信息,但是
    允许在任何方向获取信息
    使额外的验证
    允许在两个方向上显示信息
    实际实现因系统而异
    两个值都存储了吗?
    什么时候填反数值?
    如果我们把连杆换成逆槽会发生什么?
    默认值
    默认值——当创建一个实例时,slot获得的值
    可以更改默认值
    默认值是槽的公共值,但不是必需值
    例如,wine body的默认值可以是FULL
    限制范围
    本体不应该包含关于领域的所有可能信息
    不需要专门化或泛化应用程序所需的内容
    不需要包含类的所有可能属性
    只有最显著的性质
    只有应用程序需要的属性
    本体论的葡萄酒,食品,以及他们的配对可能不会包括
    瓶子的大小
    标签的颜色
    我最喜欢的食物和葡萄酒
    生物实验本体将包含
    生物有机体
    实验者
    实验员是生物有机体的一个子类吗?

    第五章 语义Web语言中的本体

    本体和SW语言

    	大多数语义Web语言都是为表示本体而显式设计的
    		RDF Schema
    		DAML+OIL
    		SHOE
    		XOL
    		XML Schema
    	SW语言
    		这些语言各有不同
    		语法(syntax)
    			这里我们不关心它——本体是概念表示
    		术语(terminology)
    			Class-concept
    			实例对象
    			Slot-property
    		善于表达(expressivity)
    			我们能用一些语言表达的东西,我们不能用其他语言表达
    		语义(semantics)
    			相同的语句在不同的语言中可能意味着不同的东西
    	RDF和RDF模式类
    

    在这里插入图片描述
    RDF Schema Specification 1.0 (http://www.w3.org/TR/2000/CR-rdf-schema-20000327/)
    RDF(S) Terminology and Semantics

    类和类层次结构

    			所有类都是rdfs:Class的实例
    			类层次结构由rdfs:subClassOf定义
    		类的实例
    			定义rdf: type
    		属性
    			属性是全球性的:
    			一个地方的属性名与另一个地方的属性名相同(假设名称空间相同)
    			属性也形成层次结构(rdfs:subPropertyOf)
    	RDF(S)中的属性约束
    		基数约束
    			没有显式基数约束
    			任何属性都可以有多个值
    		属性的范围属性只能有一个范围
    			属性的域一个属性可以有多个域(可以附加到多个类)
    		没有默认值
    	DAML+OIL:类和类层次结构
    		类
    			每个类都是daml: class的一个实例
    		类层次结构
    			定义的rdfs: subClassOf
    		指定类组织的更多方法
    			剥离(daml: disjointWith)
    			等价(daml: sameClassAs)
    		类层次结构可以从类的属性计算出来
    	在DAML+OIL中定义类的更多方法
    		联盟的类
    			A class Person 是男性和女性类的集合
    		限制属性
    			类红色的东西是带有颜色的东西的集合:红色
    		十字路口的类
    			一个红葡萄酒类是葡萄酒和红色事物的交集
    		Complement of a class
    			食肉动物都不是食草动物
    		元素的枚举
    			葡萄酒颜色类包含以下实例:红、白、玫瑰
    	DAML+OIL中的属性约束
    		基数
    			最小,最大,准确的基数
    		属性范围
    			属性范围可以包含多个类:属性的值必须是每个类的一个实例
    			如果需要不同的语义,可以指定显式的类联合吗
    		属性的域-与范围相同
    		没有默认值
    

    第六章 本体工程的研究现状

    本体工程的研究课题

    	Content generation
    	Analysis and evaluation
    	Maintenance 
    	Ontology languages
    	Tool development
    

    内容: Top-Level Ontologies

    	“顶级”是什么意思?
    		对象:有形的,无形的
    		流程、事件、参与者、角色
    		代理,组织
    		空间、边界、位置
    		时间
    	IEEE标准上层本体工作
    		目标:设计单个上层本体
    		流程:合并现有本体的上层
    

    内容:知识获取(Knowledge Acquisition)

    	知识获取是一个瓶颈
    	共享和重用可以缓解这个问题
    	但我们需要自动化的知识获取技术
    		语言技巧:从文本中获取本体
    		机器学习:从结构化文档(例如,XML文档)生成本体
    		利用Web结构:通过爬虫结构化Web站点生成本体
    		知识获取模板:专家只指定所需知识的一部分
    分析
    	分析:语义一致性
    		违反财产限制
    		类层次结构中的循环
    		使用但未定义的术语
    		产生空区间的区间限制(最小>最大值)
    	分析:风格
    		只有一个子类的类
    		没有定义的类和槽
    		没有约束的槽(值类型、基数)
    	自动化分析工具
    		嵌合体(斯坦福KSL)
    		DAML验证器
    	评估
    		本体设计中最困难的问题之一
    		本体设计是主观的
    		本体论正确(客观地)意味着什么?
    		最好的测试是设计本体的应用程序
    	本体维护
    		本体合并
    			拥有两个或多个重叠的本体,创建一个新的本体
    		本体映射
    			创建本体之间的映射
    		版本控制和演化
    			同一本体的不同版本之间的兼容性
    			本体和实例数据版本之间的兼容性
    	本体语言
    		What is the “right” level of expressiveness?
    		What is the “right” semantics?
    		When does the language make “too many” assumptions?
    

    本体工具开发

    		支持各种本体语言(知识交换)
    		Expressivity
    		可用性
    			越来越多的领域专家参与本体开发
    			多个括号和变量将不再适用
    

    下一步该走向何处

    		教程
    			Natalya F. Noy and Deborah L. McGuinness (2001) “Ontology Development 101: A Guide to Creating Your First Ontology” http://protege.stanford.edu/publications/ontology_development/ontology101.html
    			Farquhar, A. (1997). Ontolingua tutorial. http://ksl-web.stanford.edu/people/axf/tutorial.pdf
    			We borrowed some ideas from this tutorial
    		方法论
    			Gómez-Pérez, A. (1998). Knowledge sharing and reuse. Handbook of Applied Expert Systems. Liebowitz, editor, CRC Press.
    			Uschold, M. and Gruninger, M. (1996). Ontologies: Principles, Methods and Applications. Knowledge Engineering Review 11(2)
    
    展开全文
  • 针对维英本体共性知识获取问题,提出一种基于跨语本体重用快速构建维语领域本体方法。该方法将初始维语本体转换为...基于该方法构造了一个旅游领域本体实例,转换率达到78.8%,充分验证了该方法可行性与有效性。
  • 针对传统本体构建方法耗时耗力且主观依赖性强问题,提出了一种基于形式概念分析采煤工作面本体构建方法。该方法可有效地发现领域数据中隐含概念和概念间关系,并通过概念格将本体可视化,将新增信息自动地添加...
  • 首先分别构建以煤矿领域主题词表和文本集为数据源形式背景,并通过并叠置运算得到异构资源形式背景,然后利用概念格构造工具将形式背景转换为概念格,最后从概念格中抽取概念、属性和实例组织成煤矿事故本体。...
  • 针对网络中存在大量有价值却未被利用Web信息,通过... 原型系统对所获得的本体进行了实例化,并利用Jena推理子系统对所构建本体的一致性及推理能力进行了验证,将基于规则推理应用到内蒙古物流领域业务决策过程中.
  • 针对本体构建中构造方法不清晰、本体描述语言不统一、...该方法由描述类、描述属性、将属性关联到类、定义实例和加入本体维护元数据5个步骤组成,有效地解决了本体构建难题。最后以一个实例验证了该方法有效性。
  • 研究了一种基于模糊概念相似度模糊本体构建方法。对目标数据源进行模糊形式概念分析,构建模糊概念格,利用基于模糊概念相似度概念聚类算法产生模糊概念聚类,并最终映射得到模糊本体。该方法对模糊概念内涵及...
  • 利用软件工程思想,提出J,一种民族教育资源本体构建方法,并以傣族教育资源本体构建及实现为例,详细阐述了傣族教育资源概念获取、层次结构划分、概念属性和关系确定以及实例的创建,最后基于Prottégé...
  • 本体是用于描述一个领域术语集合,其组织结构是层次结构化,可以作为一个知识库骨架和基础。目标:获取、描述和表示相关领域知识,提供对该领域知识共同理解,确定领域内共同认可词汇,提供该领域特定...
  • 论文研究-孕灾环境本体构建基础逻辑关系研究.pdf, 应急决策目的是处理灾害后果, 突发事件孕灾环境直接影响着灾害后果. 基于本体孕灾环境形式化建模对于应急...
  • 第一部分为Protégé工具下载安装流程,第二部分为一个本体构建简单实例的详细流程,按照文章所描述步骤即可创建一个简单实例。 环境及工具: Windows10下Protégé5.5.0,网盘提取即可。 链接:...

    前言

    第一部分为Protégé工具下载安装流程,第二部分为一个本体构建简单实例的详细流程,按照文章所描述的步骤即可创建一个简单实例。

    环境及工具:
    Windows10下Protégé5.5.0,网盘提取即可。

    链接:https://pan.baidu.com/s/1kRNl8LFnCfQm2zhYN2x4sQ
    提取码:rc9m

    也可以在protégé官网下载,链接如下,官网提供历史版本。
    protégé官网

    下载及安装

    点击链接,进入官网,点击下图DOWNLOAD NOW
    在这里插入图片描述
    点击Download for Desktop即可下载,点击下方Older versions
    在这里插入图片描述
    下载完毕后,解压,点击下图中荧光标记的应用程序,便可直接运行使用(这一波免安装惊呆了本人),自行选择是否发送快捷方式到桌面。
    在这里插入图片描述

    本体构建流程

    1. 新建类

    打开Protégé后,界面如下,会默认建立一个本体,初次建立直接在默认界面下建立即可。
    在这里插入图片描述
    也可点击File–>New创建本体,如下图所示。
    在这里插入图片描述
    本体编辑,点击Entity进入本体编辑界面,点击Classes,右击owl:Thing–>Add Subclasses,添加类。
    在这里插入图片描述
    在已添加类下继续添加子类,如下图所示。
    在这里插入图片描述
    添加之后如下图所示,‘地点’和‘人物’为同一级别,在‘人物’下添加子类‘程序员’,‘学生’,教师。
    在这里插入图片描述
    如果需要删除类,点击选中将要删除的类,点击下图圈中的按钮,即可删除,此处点击后便会删除‘程序员’子类。
    在这里插入图片描述
    2. 定义不同类间的排他性
    此处定义‘人物’与‘地点’的排他性,选中‘人物’,在界面右下方Description窗口中点击Disjoint With后+
    在这里插入图片描述选择与‘人物’排斥的类‘地点’,点击Continue,添加完成。
    在这里插入图片描述
    3. 新建对象属性

    如下图,将窗口切换至Object properties窗口,与建立类的方法一致,建立对象属性。
    在这里插入图片描述
    对象属性添加成功后,点击选中所添加的属性,在界面右侧可以为属性勾选或添加特征和限制。
    在这里插入图片描述
    点击Domains,为该对象属性层级添加类层级
    在这里插入图片描述
    在这里插入图片描述

    1. 建立数据属性
      如下图,将窗口切换至Data properties窗口,与建立类的方法一致,建立数据属性。同样在界面右侧可以为数据属性勾选或添加特征和限制。
      在这里插入图片描述

    2. 建立实体
      切换窗口至Individuals,点击左上角红色圈中的按钮添加实体。
      在这里插入图片描述
      添加成功后,在界面右侧为实例增加约束。
      在这里插入图片描述
      重复上述操作建立多个实体,删除实体,选中要删除的实体,点击新建实体按钮右侧按钮。

    3. 添加实体间关系
      实体与实体间存在对应关系,同样也可以为实体绑定数据属性。按照下图操作,为实体间添加关系。注意:左侧编辑框填写类属性,右侧编辑框填写实体名称。
      在这里插入图片描述
      类似的操作,如下图,为实体添加数据属性。
      在这里插入图片描述
      至此,一个简单地本体构建过程基本完成。Protégé提供可视化界面。

    4. 可视化
      按照如下图操作,打开可视化界面
      在这里插入图片描述
      可视化界面上方有工具栏,点击选择不同的可视化形式。类层级左上角有‘+’,点击‘+’展开该类层级。图中的箭头表示关系,将光标放置于箭头连线上,即可看到两实体间的关系,如本实例中‘马奔奔–师从–万年青’。
      在这里插入图片描述
      如下图所示,可视化界面最上方,有搜索框,在‘Search’框中输入要查找的内容,点击右侧‘Search’,可视化界面会显示查找内容及其所属的关系。
      在这里插入图片描述

    5. 推理(仅仅是操作步骤,在本实例中,作者并没有推理成功,原因可能是对象属性创建时未勾选特征。此步骤仅供参考。)
      Protégé带有扩展可以做简单地推理,操作步骤如下图所示。
      在这里插入图片描述
      在这里插入图片描述
      上图中显示的是已经定义好的关系,点击“确定”开始推理,推理使用的便是本体构建过程中已创建的关系。

    展开全文
  • 研究了一种基于模糊概念相似度模糊本体构建方法。对目标数据源进行模糊形式概念分析,构建模糊概念格,利用基于模糊概念相似度概念聚类算法产生模糊概念聚类,并最终映射得到模糊本体。该方法对模糊概念内涵及...
  • 对高炉故障诊断知识本体的特性进行分析,得出故障诊断本体构建的故障部位、故障原因、故障现象、解决方案四要素;定义了高炉本体的故障诊断类、属性、实例、关系、域等本体描述的规范框架和说明;在本体建模工具prot...
  • 基于本体的语义推理实例研究,岳笑峥,,作为下一代Web基础的本体正在被越来越多人关注,本文首先介绍了本体的概念、描述语言及构建方法,然后在热门的本体编辑器Protégé
  • 本体构建是开发基于本体的知识管理...文章分析了本体构建的软件工程学方法、语义提取方法和素材选择原则,讨论了结构化、半结构 化知识源构建本体的方法与思路,并以实例进一步论证了研究方法和思路的科学性和可行性。
  • 目前本体构建主要由领域专家手工进行, 具有成本高、时间长、不易演化等困难, 不能满足 m a s hup生态系统对本体需要. 标签作为一种在各类服务注册体系中被广泛使用大众分类手段, 从功能、认知角度对服务进行...
  • 针对通过人工方式构建煤矿事故本体存在耗时耗力、具有局限性等问题,提出了一种煤矿事故本体自动构建方法。首先,以煤矿事故案例文本作为数据源...自动构建的煤矿事故本体更加全面,可为煤矿安全生产工作提供有力支持。
  • 为实现对矿井突水智能化分析和处理,以及突水相关知识在领域内共享和复用,提出基于本体构建矿井突水预警知识库。通过总结突水发生机理研究,归纳出突水领域中重要概念及其相互间联系;利用本体建模工具Protég...
  • 有效地构建、展现本体成为应用本体的关键问题,然而,现有构建本体的各种方法都在不同方面存在着限制。经过分析比较,本文采用形式概念分析理论构造本体阶层来弥补缺陷,并结合机率模式展现本体,用于表达概念之间及...
  • 基于本体的知识图谱构建过程

    千次阅读 2020-03-26 21:25:49
    一、 知识图谱的逻辑架构: 在逻辑上,知识图谱被划分为数据层和模式层,其中: 模式层:在数据层之上,是知识图谱的核心,存储经过提炼的知识,通常通过本体库来管理。...知识图谱的构建的原始数据包含结构...

    一、 知识图谱的逻辑架构:

    在逻辑上,知识图谱被划分为数据层模式层,其中:

    • 模式层:在数据层之上,是知识图谱的核心,存储经过提炼的知识,通常通过本体库来管理。
    • 数据层:存储实例知识数据。

    二、知识图谱的技术架构

    基于本体的知识图谱技术架构

    图1 基于本体的知识图谱技术架构

    通用的基于本体的知识图谱构建架构如图1所示,其中虚线框内的部分为知识图谱的构建过程,同时也是知识图谱更新的过程。

    知识图谱的构建的原始数据包含结构化数据、半结构化数据、非结构化数据三种,通过一系列自动化或半自动化的技术手段,从原始数据中提取出知识要素(即实体及其关系),将其存入知识图谱的模式层与数据层。

    构建知识图谱是一个迭代更新的过程,根据知识获取的逻辑,每一轮迭代包含三个阶段:知识抽取、知识融合、知识加工

    1.1 知识抽取

    知识抽取是一种自动化地从半结构化和非结构化数据中抽取实体、关系以及实体属性等结构化信息的技术,涉及的关键技术包括:实体抽取、关系抽取、属性抽取

    1.1.1 实体抽取

    实体抽取,也称为命名实体识别(Named Entity Recognition, NER),是指从文本预料中自动识别出命名实体

    命名实体(Named Entity):指人名、机构名、地名等以名称为标识的实体,更广泛的还包括数字、日期、货币、地址等等。

    如:姚明、易建联

    1.1.2 关系抽取

    文本语料经过实体抽取之后,得到一系列离散的命名实体。为了得到语义信息,需要从相关语料中提取出实体之间的关联关系,通过关系将实体联系起来,形成网状的知识结构。

    如:姚明 → (朋友) → 易建联

    1.1.3 属性抽取

    从不同信息源中采集特定实体的属性信息。

    如:姚明的生日、身高等信息

    1.2 知识融合

    通过知识抽取获得的信息具有以下两个问题:信息之间关系扁平化,缺乏层次性与逻辑性;存在大量冗余信息。采用知识融合解决上述问题,主要包含两个部分:实体链接、知识合并,其中,实体链接涉及共指消解、实体消歧两种技术。

    1.2.1 实体链接

    实体链接(Entity Linking)是指对于从文本中抽取得到的实体对象,将其链接到知识库中对应的正确实体对象的操作。其基本思想从文本中通过实体抽取得到实体项,进行共指消解、实体消歧,在确认知识库中对应的正确实体对象之后,将该实体项链接到知识库中对应实体。

    - 共指消解

    共指消解(Coreference Resolution)技术主要用于解决多个指称对应同一实体对象的问题。

    共指是NLP领域的概念,主要指多个名词(包括代名词、名词短语)指向真实世界中的同一参照体,且这种指代脱离上下文仍然成立。

    该任务通常通过混用基于实体属性值相似度计算方法(比较描述实体的属性和属性值之间的异同)和基于本体语言等价推理的方法(推理不同实体标志符间的对象共指关系)来完成。

    - 实体消歧

    实体消歧(Entity Disambiguation)技术主要用于解决同名实体产生歧义的问题。

    该任务通常通过计算实体属性之间的相似度,利用聚类模型来完成。

    1.2.2 知识合并

    1.2.1节中所述知识链接用于知识抽取后的半结构化数据与非结构化数据的处理,对于结构化数据,采用知识合并对冗余信息进行处理。

    1.3 知识加工

    知识加工主要包括三个方面的内容:本体构建、知识推理、质量评估

    1.3.1 本体构建

    本体(Ontology)包含某个学科内的基本实体和实体之间的关系,是描述领域知识的通用概念模型。本体可以借助本体编辑软件手动构建,也可以以数据驱动的自动化方式构建。

    1.3.2 知识推理

    知识图谱在完成本体构建后已经初具雏形,但知识之间的关系存在残缺,采用知识推理进一步知识发现,从而对知识图谱的知识进行补全。

    知识推理主要分为三大类:基于规则的推理、基于图的推理、基于深度学习的推理。

    1.3.3 质量评估

    质量评估也是知识库构建技术的重要组成部分,用于对知识的可信度进行量化,通过舍弃置信度较低的知识来保障知识图谱的质量。

    1.4 知识更新

    从逻辑上看,知识图谱的更新包括概念层的更新数据层的更新

    • 概念层的更新
      概念层的更新指新增数据后获得了新的概念,需要自动将新的概念添加到知识图谱的概念层中。
    • 数据层的更新
      数据层的更新主要是新增或更新实体、关系、属性值,对数据层进行更新需要考虑数据源的可靠性、数据的一致性等,并选择在各数据源中出现频率高的事实和属性加入知识图谱。

    知识图谱的更新有两种方式:全面更新、增量更新

    • 全面更新
      指以更新后的全部数据为输入,从零开始构建知识图谱。该方法较简单,但资源消耗大。
    • 增量更新
      以当前新增数据为输入,向现有知识图谱中添加新增知识。该方法较复杂,但资源消耗小。
    展开全文
  • 参照元数据标准构建教育资源本体,对学科领域知识进行语义分析和关联构建学科知识本体,对教育资源实例做语义标注,并通过推理机Jena实现了本体推理和查询。为教育资源库语义搜索及智能服务奠定基础。
  • 针对知识管理中本体构建存在问题,将聚类算法与ODP(Open Directory Project)目录有机结合,给出了一种基于知识资源元数据自适应本体学习方法。根据元数据对文档进行聚类形成本体概念,将生成概念分别映射到...
  • 主题网络舆情分析中,基于本体的知识模型构建是基础和核心工作。在本体理论基础上对主题网络舆情M进行知识化表示:KM={Kc,KD,KG},Kc为与具体舆情主题相关上下文知识,KD为舆情主题所涉及到专业领域知识,Kc为...
  • 2010年新版HOZO,除protege外又一个免费构建本体的好工具,修正了以前版本实例BUG,值得尝试。
  • 提出了运用本体构造企业网络知识管理系统模型方法。本方法克服了原有相关系统存在...以此为基础,重点讨论了基于本体的企业网络知识管理系统构建方法。最后设计了一个企业网络知识管理实验系统,并给出了具体实例
  • 基于构建的本体及空间关系与装配公差类型之间的映射关系,采用SWRL定义了装配公差类型的生成规则。再次,基于实现的本体及定义的规则构建了可选装配公差类型生成知识库系统,在此基础上设计了装配公差类型的自动生成...
  • 知识图谱构建 一、知识图谱概念 知识图谱(Knowledge graph)知识图谱是一种用图模型来描述知识和建模世界万物之间关联关系技术方法。知识图谱由节点和边组成。节点可以是实体,如一个人、一本书等,或是...

                                 知识图谱构建(概念,工具,实例调研) 

    一、知识图谱的概念

    知识图谱(Knowledge graph)知识图谱是一种用图模型来描述知识和建模世界万物之间的关联关系的技术方法。知识图谱由节点和边组成。节点可以是实体,如一个人、一本书等,或是抽象的概念,如人工智能、知识图谱等。边可以是实体的属性,如姓名、书名或是实体之间的关系,如朋友、配偶。知识图谱的早期理念来自Semantic Web(语义网络),其最初理想是把基于文本链接的万维网落转化为基于实体链接的语义网络。

    1.知识图谱的几个关键概念

    1.1 本体

    领域术语集合。本体最为抽象,简单理解就是一堆概念,这堆概念集合能够描述某个具体的domain里的一切事物的共有特征,然后概念间又有一定的关系,所有构成一个具有层级特征的结构。所以在语义网里ontology和schema基本不分家。

    在上面知识图谱的例子中,本体是足球领域schema

    1.2 类型 type

    具有相同特点或属性的实体集合的抽象,如足球球员、足球联赛、足球教练。

    1.3 实体

    实体就是type的实例,如足球球员--梅西,足球联赛--西甲等。

    1.4 关系

    实体与实体之间通过关系关联起来,如梅西是巴塞罗那的球员。

    1.5 属性

    实体自带信息是属性,如梅西 出生日期 1987年6月24日, 身高 1.7米等。

    1.6 知识图谱

    图状具有关联性的知识集合。可以由三元组(实体entity,实体关系relation,实体entity)表示。

    1.7 知识库

    知识库(Knowledge Base),就是一个知识数据库,包含了知识的本体和知识。Freebase是一个知识库(结构化),维基百科也可以看成一个知识库(半结构化),等等。知识图谱可以看成是由图数据库存储的知识库。

    二、知识图谱的分层架构

    知识图谱由数据层(data layer)和模式层(schema layer)构成。

    模式层是知识图谱的概念模型和逻辑基础,对数据层进行规范约束. 多采用本体作为知识图谱的模式层,借助本体定义的规则和公理约束知识图谱的数据层。也可将知识图谱视为实例化了的本体,知识图谱的数据层是本体的实例。如果不需支持推理, 则知识图谱(大多是自底向上构建的) 可以只有数据层而没有模式层。在知识图谱的模式层,节点表示本体概念,边表示概念间的关系。

    在数据层, 事实以“实体-关系-实体”或“实体-属性-属性值”的三元组存储,形成一个图状知识库. 其中,实体是知识图谱的基本元素,指具体的人名、组织机构名、地名、日期、时间等。关系是两个实体之间的语义关系,是模式层所定义关系的实例。属性是对实体的说明,是实体与属性值之间的映射关系。属性可视为实体与属性值之间的 hasValue 关系,从而也转化为以“实体-关系-实体”的三元组存储。在知识图谱的数据层,节点表示实体,边表示实体间关系或实体的属性。

    三、知识图谱构建流程及应用

    知识图谱的构建方法主要有两种:自底向上和自顶而下。

    1.开放域知识图谱的本体构建通常用自底向上的方法,自动地从知识图谱中抽取概念、概念层次和概念之间的关系。

    2.领域知识图谱多采用自顶向下的方法来构建本体。一方面,相对于开放域知识图谱,领域知识图谱涉及的概念和范围都是固定或者可控的;另一方面,对于领域知识图谱,要求其满足较高的精度。自顶向下是先为知识图谱定义好本体与数据模式,再将实体加入到知识库。该构建方式需要利用一些现有的结构化知识库作为其基础知识库。

    图1 知识图谱技术架构图

    图2 知识图谱技术应用

     

    四、知识图谱构建步骤

    4.1信息抽取

    信息抽取从各种类型的数据源中提取出实体、属性以及实体间的相互关系,在此基础上形成本体化的知识表达,涉及的关键技术包括实体抽取、关系抽取和属性抽取。关键问题是如何从异构数据中自动抽取信息到候选指示单元。

    4.1.1实体抽取

    实体抽取又称为命名实体识别(NER),是指从文本数据集中自动识别出命名实体,其目的就是建立知识图谱中的“节点”。 实体抽取任务有两个关键词:find & classify,找到命名实体,并进行分类。

    主要应用:

    (1)命名实体作为索引和超链接

    (2)情感分析的准备步骤,在情感分析的文本中需要识别公司和产品,才能进一步为情感词归类

    (3)关系抽取(Relation Extraction)的准备步骤

    (4)QA 系统,大多数答案都是命名实体

    主要实现方法和工具:

    (1)DeepDive-斯坦福大学开源知识抽取工具(三元组抽取):从更少的结构化数据和统计推断中提取结构化的知识而无需编写任何复杂的机器学习代码。

    (2)FudanNLP: 主要是为中文自然语言处理而开发的工具包,也包含为实现这些任务的机器学习算法和数据集。可以实现中文分词,词性标注,实体名识别,句法分析,时间表达式识别,信息检索,文本分类,新闻聚类等

    FudanNLP GitHub链接

    (3)NLPIR分词 (中科院):主要功能包括中文分词;英文分词;词性标注;命名实体识别;新词识别;关键词提取;支持用户专业词典与微博分析。NLPIR系统支持多种编码、多种操作系统、多种开发语言与平台

    NLPIR GitHub链接

    (4)LTP(哈工大):语言技术平台(Language Technology Platform,LTP)提供了一系列中文自然语言处理工具,用户可以使用这些工具对于中文文本进行分词、词性标注、句法分析等等工作。

    LTP主页链接

    实体抽取,实体链接(两个实体同一个含义需要规整),目前最主流的算法就是CNN+LSTM+CRF进行实体识别。

    4.1.2 关系抽取

    文本语料经过实体抽取之后得到的是一系列离散的命名实体(节点),为了得到语义信息,还需要从相关的语料中提取出实体之间的关联关系(),才能将多个实体或概念联系起来,形成网状的知识结构。研究关系抽取技术,就是研究如何解决从文本语料中抽取实体间的关系。根据对标注数据的依赖程度,实体关系抽取方法可分为有监督学习方法、半监督学习方法、无监督学习方法和开放式抽取方法。

    (1) 有监督的实体关系抽取

    有监督学习方法是最基本的实体关系抽取方法,其主要思想是在已标注的训练数据的基础上训练机器学习模型,然后对测试数据的关系类型进行识别。有监督学习方法包括有基于规则的方法基于特征的方法基于核函数的方法。

    基于规则的方法需要根据待处理语料涉及领域的不同,通过人工或机器学习的方法总结归纳出相应的规则或模板,然后用模板匹配方法进行实体关系抽取。

    基于特征向量的方法是一种简单、有效的实体关系抽取方法,其主要思想是从关系句子实例的上下文中提取有用信息( 包括词法信息、语法信息)作为特征,构造特征向量, 通过计算特征向量的相似度来训练实体关系抽取模型。该方法的关键在于寻找类间有区分度的特征,形成多维加权特征向量,然后采用合适的分类器进行分类。

    基于核函数的实体关系抽取方法,包括词序列核函数方法、依存树核函数方法、最短路径依存树核函数方法、卷积树核函数方法以及它们的组合核函数方法可和基于特征的实体关系抽取方法可以相互补充。

    (2)半监督的实体关系抽取

    基于 Bootstrapping 的半监督实体关系抽取方法从包含关系种子的上下文中总结出实体关系序列模式,然后利用关系序列模式去发现更多的关系种子实例,形成新的关系种子集合。
    基于协同学习( co-learning) 方法, 该方法利用两个条件独立的特征集来提供不同且互补的信息,从而减少标注错误。

    (3)无监督的实体关系抽取

    无监督实体关系抽取方法无需依赖实体关系标注语料,其实现包括关系实例聚类关系类型词选择两个过程。首先根据实体对出现的上下文将相似度高的实体对聚为一类,然后选择具有代表性的词语来标记这种关系。

    (4)开放式实体关系抽取

    该方法能避免针对特定关系类型人工构建语料库,可以自动完成关系类型发现和关系抽取任务。通过借助外部领域无关的实体知识库( 如 DBPedia、YAGO、OpenCyc、FreeBase 或其它领域知识库) 将高质量的实体关系实例映射到大规模文本中,根据文本对齐方法从中获得训练数据,然后使用监督学习方法来解决关系抽取问题。

    4.1.3 关系抽取工具调研

    1.实体间关系抽取,拿到知识图谱最小单元三元组,比较经典算法的就是Piece-Wise-CNN LSTM+ Attention

    关系抽取方法

    2.DeepKE:基于深度学习的开源中文关系抽取工具

    GitHub地址&&OpenKG发布地址

    3. DeepDive是斯坦福大学开发的信息抽取系统,能处理文本、表格、图表、图片等多种格式的无结构数据,从中抽取结构化的信息。系统集成了文件分析、信息提取、信息整合、概率预测等功能。Deepdive的主要应用是特定领域的信息抽取,系统构建至今,已在交通、考古、地理、医疗等多个领域的项目实践中取得了良好的效果;在开放领域的应用

    CSDN介绍

    Deepdive在OpenKG.CN上有一个中文的教程:中文教程

    斯坦福地址:http://deepdive.stanford.edu/

    GitHub地址:https://github.com/HazyResearch/deepdive

    支持中文的提取:http://www.openkg.cn/dataset/cn-deepdive

    4.Standford NLP提供了开放信息抽取OpenIE功能用于提取三元组SPO,所以使用Standford NLP更贴合知识图谱构建任务,

    5.Reverb: 开放三元组抽取http://reverb.cs.washington.edu

    Reverb是华盛顿大学研发的开放三元组抽取工具,可以从英文句子中抽取形如(augument1, relation, argument2)的三元组。它不需要提前指定关系,支持全网规模的信息抽取。

    6.SOFIE: 抽取链接本体及本体间关系SOFIE

    SOFIE是一个自动化本体扩展系统,由max planck institute开发。它可以解析自然语言文件,从文本中抽取基于本体的事件,将它们链接到本体上,并基于逻辑推理进行消歧。

    7.OLLIE:开放三元组知识抽取工具。ollie

    华盛顿大学研发的知识库三元组抽取组件,OLLIE是第二代提取系统。Reverb的抽取建立在文本序列上,而OLLIE则支持基于语法依赖树的关系抽取,对于长线依赖效果更好。

    4.1.3属性抽取

    (1)基于规则匹配的抽取方法

    基于模式匹配的抽取方法也叫基于规则的抽取方法,就是基于事先构造一系列规则来抽取文本中实体-属性的方法。这种方法首先定义相关抽取规则,如,定义相关的规范的tag标,或人工编写正则表达式,然后将这些规则与文本进行匹配,通过匹配的结果得到抽取的实体及其属性。

    基于规则的抽取系统一般由两部分组成,一个是一系列关于抽取规则的集合,第二是一系列定义匹配策略的集合。

    (2)基于模式匹配的实体-属性抽取方法

    基于模式匹配的方法根据其定义模式的方法可以分成三种:基于手工定义的抽取、基于有监督学习的抽取和基于迭代的抽取。基于手工定义方式就是具有通过相关领域专业知识的人员进行人工的定义一系列模式。基于学习的方式就是,首先收集相关语料组成大规模的语料库,然后通过人工标准的非结构化例子训练自动获得模式,构建具有大量实体-属性的知识库。基于迭代的方法是首先定义模板元组,让后对这些模板元组进行迭代,自动产生模式,从而进行对实体-属性的抽取。

    (3)基于关系分类的实体-属性抽取方法

    基于关系分类的方法就是将属性抽取问题转化成关系分类问题。首先将抽取的两个实体视为一个样本,实体直接的关系视为标签,然后通过手工的方式构建样本特征,最后依据这些特征对样本进行分类,分类的结果便是实体之间的关系,也就是属性。基于关系的抽取方法通常借助机器学习的方法来进行,如支持向量机(SVM)、神经网络等,通过对大量语料库的训练来学习分类模型,从而对实体-属性进行抽取。基于关系分类的方法按照其语料库的建设方式可以分为远程监督的方法和全监督的方法。基于远程监督的方法基本由机器构建语 料库,而基于全监督的方法则由人工构建语料库。由于由人工 来构建语料库耗费大量的时间和精力,因此通常目前更热衷于 使用远程监督的方法构建语料库。

    (4)基于聚类的实体-属性抽取方法

    基于聚类的方法就是将属性抽取问题转化成聚类问题。首先构建实体特性向量,然后基于相关方法对这些特征向量进行聚类,最后得到的聚类就是实体的属性。例如对于类别属性可以采用弱监督的聚类方法,对应产品属性可以采用无监 督的聚类方法等。

                              

                                                            图3 基于文本化简的实体属性抽取方法

     

    4.2知识融合

    经由信息抽取之后的信息单元间的关系是扁平化的,缺乏层次性和逻辑性,同时存在大量冗余甚至错误的信息碎片。知识融合旨在解决如何将关于同一个实体或概念的多源描述信息融合起来,将多个知识库中的知识进行整合,形成一个知识库的过程,在这个过程中,主要关键技术包含指代消解、实体消歧、实体链接

    4.2.1关键问题解决方法

    (1)实体统一(共指消解)

    多源异构数据在集成的过程中,通常会出现一个现实世界实体对应多个表象的现象,导致这种现象发生的原因可能是:拼写错误、命名规则不同、名称变体、缩写等等。而这种现象会导致集成后的数据存在大量冗余数据、不一致数据等问题,从而降低了集成后数据的质量,进而影响了基于集成后的数据做分析挖掘的结果。分辨多个实体表象是否对应同一个实体的问题即为实体统一。

    如重名现象,南京航天航空大学(南航)

    1)基于两者混用的方法

    2) 模式匹配

    模式匹配主要是发现不同关联数据源中属性之间的映射关系,主要解决三元组中谓词之间的冲突问题;另一种解释:解决不同关联数据源对相同属性采用不同标识符的问题,从而实现异构数据源的集成

    3)宾语冲突消解

    宾语冲突消解是解决多源关联数据宾语不一致问题。

    (2)实体消歧

    实体消歧的本质在于一个词有很多可能的意思,也就是在不同的上下文中所表达的含义不太一样。如:我的手机是苹果。我喜欢吃苹果。

    1)基于词典的词义消歧

    基于词典的词义消歧方法研究的早期代表工作是Lesk 于1986 的工作。给定某个待消解词及其上下文,该工作的思想是计算语义词典中各个词义的定义与上下文之间的覆盖度,选择覆盖度最大的作为待消解词在其上下文下的正确词义。但由于词典中词义的定义通常比较简洁,这使得与待消解词的上下文得到的覆盖度为0,造成消歧性能不高。

    2)有监督词义消歧

    有监督的消歧方法使用词义标注语料来建立消歧模型,研究的重点在于特征的表示。常见的上下文特征可以归纳为三个类型:

    1.词汇特征通常指待消解词上下窗口内出现的词及其词性;

    2.句法特征利用待消解词在上下文中的句法关系特征,如动-宾关系、是否带主/宾语、主/宾语组块类型、主/宾语中心词等;

    3.语义特征在句法关系的基础上添加了语义类信息,如主/宾语中心词的语义类,甚至还可以是语义角色标注类信息。

    3)无监督和半监督词义消歧

    虽然有监督的消歧方法能够取得较好的消歧性能,但需要大量的人工标注语料,费时费力。为了克服对大规模语料的需要,半监督或无监督方法仅需要少量或不需要人工标注语料。一般说来,虽然半监督或无监督方法不需要大量的人工标注数据,但依赖于一个大规模的未标注语料,以及在该语料上的句法分析结果。

    (3)实体链接(Entity Linking)

    实体链接(entity linking)是指对于从非结构化数据(如文本)或半结构化数据(如表格)中抽取得到的实体对象,将其链接到知识库中对应的正确实体对象的操作。其基本思想是首先根据给定的实体指称项,从知识库中选出一组候选实体对象,然后通过相似度计算将指称项链接到正确的实体对象,通过打分的方法对指称项最高的实体作为目标实体

    1. 向量空间模型

    基于实体指称项上下文与目标实体上下文中特征的共现信息来确定。
    向量表示抽取有效的特征表示,有效地计算向量之间的相似度。

    2)主题一致性模型

    实体指称项的候选实体概念与指称项上下文中的其他实体概念的一致性程度

    1. 协同实体链接

    上面只处理单个实体指称项的链接问题,忽略了单篇文档内所有实体指称项的目标实体之间的关系。对文档内所有实体指称项进行协同链接有助于提升实体链接的性能。

    4)基于神经网络的实体消歧方法

     

    4.2.2知识融合常见的流程和步骤

    http://pelhans.com/img/in-post/xiaoxiangkg_note6/xiaoxiangkg_note6_2.png

    1.数据预处理

    数据预处理阶段,原始数据的质量会直接影响到最终链接的结果,不同的数据集对同一实体的描述方式往往是不相同的,对这些数据进行归一化是提高后续链接精确度的重要步骤。常用的数据预处理有:

    语法正规化:

    语法匹配:如联系电话的表示方法

    综合属性:如家庭地址的表达方式

    数据正规化:

    移除空格、《》、“”、-等符号

    输入错误类的拓扑错误

    用正式名字替换昵称和缩写等

    2.记录连接

    假设两个实体的记录x 和y, x和y在第i个属性上的值是<script type = "math/tex" id="MathJax-Element-8">x_i, y_i</script>, 那么通过如下两步进行记录连接:

    属性相似度: 综合单个属性相似度得到属性相似度向量:

    实体相似度: 根据属性相似度向量得到一个实体的相似度。

    2.1属性相似度的计算

    属性相似度的计算有多种方法,常用的有编辑距离、集合相似度计算、基于向量的相似度计算等。

    (1)编辑距离: Levenstein、 Wagner and Fisher、 Edit Distance with Afine Gaps

    (2)集合相似度计算: Jaccard系数, Dice

    (3)基于向量的相似度计算: Cosine相似度、TFIDF相似度

    2.2实体相似度的计算

    实体关系发现框架Limes

    教程网址:http://openkg1.oss-cn-beijing.aliyuncs.com/d9780259-7e4f-456f-88fa-8274a3def82b/tutorial-limes.pdf

    2.2.1聚合:

    (1)加权平均:对相似度得分向量的各个分量进行加权求和,得到最终的实体相似度

    (2)手动制定规则:给每一个相似度向量的分量设置一个阈值,若超过该阈值则将两实体相连

    (3)分类器:采用无监督/半监督训练生成训练集合分类

    2.2.2聚类:

    (1)层次聚类:通过计算不同类别数据点之间的相似度对在不同的层次的数据进行划分,最终形成树状的聚类结构。

    (2)相关性聚类:使用最小的代价找到一个聚类方案。

    (3)Canopy + K-means:不需提前指定K值进行聚类

    https://img-blog.csdn.net/20180424163856663?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BlbGhhbnM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

    2.2.3知识表示学习:(嵌入式表示

    将知识图谱中的实体和关系都映射低维空间向量,直接用数学表达式来计算各个实体之间相似度。这类方法不依赖任何的文本信息,获取到的都是数据的深度特征。

    (1)分块

    分块 (Blocking)是从给定的知识库中的所有实体对中,选出潜在匹配的记录对作为候选项,并将候选项的大小尽可能的缩小。常用的分块方法有基于Hash函数的分块、邻近分块等。常见的Hash函数有:字符串的前n个字,n-grams,结合多个简单的hash函数等。邻近分块算法包含Canopy聚类、排序邻居算法、Red-Blue Set Cover等。

    (2)负载均衡

    负载均衡 (Load Balance)来保证所有块中的实体数目相当,从而保证分块对性能的提升程度。最简单的方法是多次Map-Reduce操作。

    知识图谱-知识融合

    实体对齐

    知识图谱融合与知识图谱对齐Summary

     

    4.2.3 知识融合实现工具

    (1)本体对齐工具-Falcon-AO

    Falcon-AO是一个自动的本体匹配系统,已经成为RDF(S)和OWL所表达的Web本体相匹配的一种实用和流行的选择。编程语言为Java。匹配算法库包含V-Doc、I-sub、GMO、PBM四个算法。其中V-Doc即基于虚拟文档的语言学匹配,它是将实体及其周围的实体、名词、文本等信息作一个集合形成虚拟文档的形式。可以用TD-IDF等算法进行操作。I-Sub是基于编辑距离的字符串匹配。I-Sub和V-Doc都是基于字符串或文本级别的处理。更进一步的就有了GMO,它是对RDF本体的图结构上做的匹配。PBM则基于分而治之的思想做。首先经由PBM进行分而治之,后进入到V-Doc和 I-Sub ,GMO接收两者的输出做进一步处理,GMO的输出连同V-Doc和I-Sub的输出经由最终的贪心算法进行选取。

    http://pelhans.com/img/in-post/xiaoxiangkg_note6/xiaoxiangkg_note6_9.png(2)Limes 实体匹配

    Limes是一个基于度量空间的实体匹配发现框架,适合于大规模数据链接,编程语言是Java。其整体框架如下图所示:

    http://pelhans.com/img/in-post/xiaoxiangkg_note6/xiaoxiangkg_note6_10.png

    (3)Sematch(开源2017):用于知识图谱的语义相似性的开发、评价和应用的集成框架。 Sematch支持对概念、词和实体的语义相似度的计算,并给出得分。 Sematch专注于基于特定知识的语义相似度量,它依赖于分类( 比如 ) 中的结构化知识。 深度、路径长度 ) 和统计信息内容( 语料库与语义图谱) 。----基于wordNet。

    (4)基于Neo4j 图数据库的知识图谱的实体对齐(目前最常用)

    计算相关性的基本步骤分为三步:
    1,链接neo4j数据库,并且读取出里面的数据
    2,对齐算法运算
    3,拿到运算结果设定一个阀值,来判断大于阀值的就是相关。

    基于Neo4j 图数据库的知识图谱的实体对齐(上)

    基于Neo4j 图数据库的知识图谱的实体对齐(下)

    基于Neo4j 图数据库的知识图谱的关联对齐-最小编辑距离-jacard算法

    python如何写入三元组数据到neo4j

    python爬虫neo4j知识图谱实体的属性补全

    (5)使用jieba完成实体统一,jieba是优秀的中文分词第三方库,中文文本需要通过分词获得单个的词语,jieba是优秀的中文分词第三方库,需要额外安装,jieba库提供三种分词模式,最简单只需掌握一个函数

    jieba库GitHub链接

    (6)TF-IDF(Term Frequency-inverse Document Frequency)是一种针对关键词的统计分析方法,用于评估一个词对一个文件集或者一个语料库的重要程度。一个词的重要程度跟它在文章中出现的次数成正比,跟它在语料库出现的次数成反比。这种计算方式能有效避免常用词对关键词的影响,提高了关键词与文章之间的相关性。

    (7)基于Silk的知识融合

    Silk是一个集成异构数据源的开源框架。编程语言为Python。提供了专门的 Silk-LSL 语言来进行具体处理。提供了图形化用户界面Silk Workbench,用户可以很方便的进行记录链接。

    Silk 的整体框架如下图所示:

    https://pic4.zhimg.com/v2-fea2a16ace6619f5ff2272f748b2a560_r.jpg

    Silk安装,实现介绍

    (8)使用Dedupe包实现实体匹配

    dedupe是一个python 包,在知识融合领域有着重要作用!主要就是用来实体匹配。dedupe是一个用于fuzzy matching, record deduplication 和 entity-resolution的python库。它基于active learing的方法,只需用户标注它在计算过程选择的少量数据,即可有效地训练出复合的blocking方法和record间相似性的计算方法,并通过聚类完成匹配。dedupe支持多种灵活的数据类型和自定义类型。

    知识融合-Dedupe介绍链接

    dedupe 论文:http://www.cs.utexas.edu/~ml/papers/marlin-dissertation-06.pdf

    dedupe 源码:https://github.com/dedupeio/dedupe

    dedupe demo: https://github.com/dedupeio/dedupe-examples

    dedupe 中文网站:http://www.openkg.cn/tool/dedupe

    dedupe 官方网站:https://docs.dedupe.io/en/latest/

    dedupe API说明:https://dedupe.readthedocs.io/en/latest/API-documentation.html

    4.3知识加工(Knowledge Processing)

    海量数据在经信息抽取、知识融合之后得到一系列基本的事实表达,但这并不等同于知识,要想获得结构化,网络化的知识体系,还需要经过质量评估之后(部分需要人工参与甄别),才能将合格的部分纳入知识体系中以确保知识库的质量,这就是知识加工的过程。知识加工主要包括3方面内容:本体构建、知识推理和质量评估。

    4.3.1 相关概念

    本体:定义了组成领域的词汇表的基本术语及其关系,以及结合这些术语和关系来定义词汇表外延的规则。

    领域:一个本体描述的是一个特定的领域。

    术语:指给定领域中的重要概念。

    基本术语之间的关系:包括类的层次结构,包括并列关系、上下位关系等等。

    词汇表外延的规则:包括属性、值约束、不相交描述。

    4.3.2本体构建

    本体构建过程包含三个阶段:实体并列关系相似度计算>实体上下位关系抽取>本体的生成.

    比如对下面这个例子,当知识图谱刚得到“阿里巴巴”、“腾讯”、“手机”这三个实体的时候,可能会认为它们三个之间并没有什么差别,但当它去计算三个实体之间的相似度后,就会发现,阿里巴巴和腾讯之间可能更相似,和手机差别更大一些。

    这就是第一步的作用,但这样下来,知识图谱实际上还是没有一个上下层的概念,它还是不知道,阿里巴巴和手机,根本就不隶属于一个类型,无法比较。因此我们在实体上下位关系抽取这一步,就需要去完成这样的工作,从而生成第三步的本体。

    当三步结束后,这个知识图谱可能就会明白,“阿里巴巴和腾讯,其实都是公司这样一个实体下的细分实体。它们和手机并不是一类。”

     4.3.3知识推理(Knowledge Inference)

    完成了本体构建这一步之后,一个知识图谱的雏形便已经搭建好了。但可能在这个时候,知识图谱之间大多数关系都是残缺的,缺失值非常严重,可以使用知识推理技术,去完成进一步的知识发现。知识推理就是指从知识库中已有的实体关系数据出发,经过计算机推理,建立实体间的新关联,从而扩展和丰富知识网络。

    知识推理工具调研:知识推理工具

    1)单调推理机https://hub.docker.com/r/zb1840/montony_inference/

    单调推理机 montony-inference是一个基于perl语言的内存计算框架的单调语义推理软件。输入为两部分。1事实抽取出三元组。2自定义的一套规则语法的三元组。输出为推理后得出的事实三元组,使用排列组合算法产生新事实加入内存再次迭代计算,一直到没有新的事实产生输出。

    (2)RacerPro : OWL推理器和推理服务器RacerPro

    RacerPro是语义网的OWL推理器和推理服务器。 RACER代表Renamed ABox和Concept Expression Reasoner。 RacerPro是软件的商业名称。

    (3)Jena:建立链接数据的java框架Jena

    Jena用来构建语义Web和关联数据的免费开源的Java框架。它为RDF,RDFS和OWL,SPARQL,GRDDL提供了一个编程环境,并且包括基于规则的推理引擎。

    (4)RDFox: 牛津大学的知识库推理工具RDFox

    RDFox是一个高度可扩展的内存RDF三元组存储,支持共享内存并行OWL 2 RL推理。 它是用C ++编写的跨平台软件,带有一个Java包装器,允许与任何基于Java的解决方案(包括OWL API)轻松集成。

    (5)Virtuoso: 老牌的知识库查询存储推理技术平台Virtuoso

    Virtuoso是一个可扩展的跨平台服务器,将关系,图形和文档数据管理与Web应用程序服务器和Web服务平台功能相结合。Virtouso也是一个OWL推理者。Virtuoso直接提供RDB2RDF(以前称为SQL2RDF)通过Sponger及其墨盒,它还可以从GRDDL,RDFa,微格式和更多输入提供RDF。

    (6)GraphDB:语义数据查询推理引擎http://graphdb.ontotext.com/

    GraphDB(前OWLIM)是最可扩展的语义库。 它包括三元组存储,推理引擎和SPARQL查询引擎。它被封装为Sesame RDF数据库的存储和推理层(SAIL)。GraphDB使用TRREE引擎执行RDFS,OWL DLP,OWL Horst推理和OWL 2 RL。 最支持的表达式语言是OWL 2 RL,包含RDFS。 GraphDB提供可配置的推理支持和性能。

    (7)Hermit: OWL推理机http://www.hermit-reasoner.com/

    HermiT是使用OWL编写的本体论的推理者。给定一个OWL文件,HermiT可以确定本体是否一致,识别类之间的包含关系等等。HermiT是第一个公开可用的OWL推理器,基于一种新颖的“超高级”演算,提供比任何以前已知的算法更有效的推理。以前需要几分钟或几小时进行分类的本体通常可以通过HermiT分类为秒,并且HermiT是能够对一些本体进行分类的第一推理器,这些本体以前被证明对于任何可用系统来说太复杂。

    (8)FaCT++: OWL DL推理器 http://owl.man.ac.uk/factplusplus/

    FaCT++是一个在C ++中实现的OWL DL推理器。它是一个基于tableaux的表达式描述逻辑(DL)的推理器。 它涵盖OWL和OWL 2(不支持关键约束和一些数据类型)基于DL的本体语言。 它可以用作独立的DIG推理器,或作为基于OWL API的应用程序的后端推理器。 现在它被用作ProtégéOWL编辑器中的默认推理器之一。

     

    4.3.4 更新与维护

    在知识图谱更新过程中,根据知识表达的方法可以发现一些新出现的实体,属性以及关系。在构建的一般步骤包括关系属性的抽取,实体关系的抽取以及实体关系的推理过程中,需要把海量的实体、属性、关系转化为机器能够读懂的知识表示方法(XML/OWL)。知识图谱的更新包含数据模式层更新和数据层更新,又可以按照层次进行划分定义为实体属性的更新和推理过程的更新。在知识图谱更新过程中,根据知识表达的方法可以发现一些新出现的实体、属性

    (1)数据模式层更新

    数据模式层是教育知识图谱体系中最为重要的一个层次,是数据的整理与实体关系储存的管理层面。在数据模式层,以语义网的形式存储着大量实体、实体的一般属性。在知识图谱的更新过程中,掌握着更新层次的主体推理算法。如果更新时间小于上一次数据库同步的时间,便可以利用算法对实体进行更新,对实体属性进行增加修改操作。如果推理算法可扩展性强,还可以对实体间关系进行预测补全。现阶段在数据模式层的更新过程中,一般采用两种方式进行更新操作。一为整体数据替换的方式,在数据集成存储中整体下载成规模的结构性数据并进行符合当前知识图谱本体规则的重塑。第二种方式是借助网络众包的形式进行碎片化知识整理。

    (2)数据层更新

    知识图谱的数据更新方式与传统数据库的数据更新有所不同。传统模式的数据更新只关注于数据的本身操作,更在乎于数据的更新时间或有无脏读等模式化操作。并没有考虑整体的结构。知识图谱的更新与维护当中,须要寻找待更新实体以及持续补充实体间的关联,采用良好的实体显示模型,可以判断两个实体间的关联,这叫做知识图谱的补全。在不同角度解决复杂关系模型的问题上,可选取较为简单准确的Trans E推理模型加以改进,得出更新过程中需要改进的最大实体数,作为关联更新算法的数据源加以利用。确定更新算法,采用知识表示模型对知识图谱中实体进行增加,修改操作。确定实体间关系后,谨慎处理实体间删除操作。增加时间戳并且限定更新空间,估算更新频率,改进更新关联算法。使得知识图谱在最短的时间效率内更新最大化实体,考虑更新频率的优化问题,单位时间内减少更新次数。

                                         

                                                                                          知识图片更新流程

    五、知识图谱分析工具及开源项目代码

    (1)知识图谱搜索引擎Magi

    Magi 是由Peak Labs研发的基于机器学习的信息抽取和检索系统,它能将任何领域的自然语言文本中的知识提取成结构化的数据,通过终身学习持续聚合和纠错,进而为人类用户和其他人工智能提供可解析、可检索、可溯源的知识体系。

    https://pic3.zhimg.com/80/v2-cca515f640925dd924edfcdfbfd77fc1_720w.jpg

    (2)中文知识图谱资源库

    OpenKG包含16类的知识图谱,同时包括56个知识图谱相关工具,此外经常发布知识图谱论文解读。

    (3)Github上的一些优秀的知识图谱项目

    1.利用网络上公开的数据构建一个小型的证券知识图谱/知识

    https://github.com/lemonhu/stock-knowledge-graph

    2. 医疗保险领域知识图谱

    https://github.com/AdiaLoveTrance/MedicalInsuranceKG

    3. 农业知识图谱(AgriKG):主要功能包括命名实体别,实体查询,关系查询,农业知识分类,农业知识问答

    https://github.com/qq547276542/Agriculture_KnowledgeGraph

    1.命名实体识别

     

    2.实体查询

    3. 关系查询,搜索与某一实体相关的实体以及他们之间的关系:

     

    4.知识问答

    4. 漫威英雄的知识图谱

    https://github.com/YZHANG1270/Marvel_KnowledgeGraph

    5. 基于知识图谱的《红楼梦》人物关系可视化及问答系统

    https://github.com/chizhu/KGQA_HLM

    6. 小型金融知识图谱构建流程

    https://github.com/jm199504/Financial-Knowledge-Graphs

    7. 中式菜谱知识图谱可视化(CookBook-KG)

    https://github.com/ngl567/CookBook-KG

    8. 从无到有构建一个电影知识图谱,并基于该KG,开发一个简易的KBQA程序

    https://github.com/SimmerChan/KG-demo-for-movie

    9. 上市公司高管图谱

    https://github.com/Shuang0420/knowledge_graph_demo

    10. 红楼梦人物关系图谱

    https://github.com/chizhu/KGQA_HLM

    11. 通用领域知识图谱

    https://github.com/Pelhans/Z_knowledge_graph

    12. 免费1.5亿实体通用领域知识图谱

    https://github.com/ownthink/Kno

     

     

    展开全文
  • 本文提出了一种基于CMMI项目规划的客户关系管理(CRM)本体,用于业务应用。... 类层中有各种概念,本体定义的实例层中有一些实例。 提出的本体可用于构建基于CMMI项目规划的智能CRM系统,用于业务应用。
  • 针对多学科领域知识本体构建难度大和难以普及问题,提出了适用于教育领域基于知识工程本体建模方法,通过确定领域知识范围,对领域知识进行概念和术语提取,然后基于分类后概念集定义层次结构和构建关系模型...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 133
精华内容 53
关键字:

本体构建的实例