一个是模式层也叫做schema层或者本体层,
本体(类的集合):是概念(类)的集合,是大家都公认的概念框架,一般不会改变如“人”、“事”、“物”、“地”、“组织”,在面对对象编程里面,我们把它叫做类,在数据管理里面我们把它叫做元数据;
本体的概念化的内涵意为本体是表示各种客观存在的抽象模型,它并不描绘实体的具体形象而是表达出一个抽象的本质概念;
本体的明确性主要体现在在对客观事物进行描述的过程中利用自身严密的概念化表述优势和系统化的思想,准确地展示描述对象的特征;
本体的形式化体现在本体使用特定的、严格规范化的、无歧义的语言进行描述,以达到明确清晰的目的,所以体现出形式化的特点;
本体的共享性则是指本体所描述和表达的知识信息是具有共享的特性的,它能够被用户普遍的认同并使用。
概念(Concepts):概念的主要作用是用来描述具有相似点或共同特征的资源的集合,也被称作“类”。概念是从客观世界具有共同特征的资源集合中归纳出来的集合中资源共有的特性,从更加概括、抽象的角度揭示事物的特征。
公理(Axioms):是用来判断本体推理过程中推理结果和步骤对错的依据和标准。公理具有永真性。
实例(Instances):是一种信息资源,是类的成员,是我们要分析的个体,是具体化的事物或者信息资源。与概念不同的是,实例充满了个性化。
本体构建方法还没有形成统一的规范,主要原因是众多研究者所处的领域和构建目的不同,因此,他们所采取的方法也不尽相同。研究者提出了多种本体构建方法,领域内普遍认可的主要有以下几种:
METHONTOLOGY法(主要用于化学领域)、
TOVE法
骨架法、
七步法七步法是斯坦福大学研究者Noy和McGuinness在构建领域本体时研究的一种本体构建方法[22]。七步法主要将本体构建过程依次分为七个组成部分。并根据研究的需要对每一部分通过分析,提出相应的详细工作。通过七个步骤完成本体构建工作。七步法体现了本体构建次序的逻辑思路,其步骤主要是:
总结、确定本主题领域的重要概念或术语。
分析领域内概念和术语,合理描述类之间的层次关系和属性关系。
根据领域知识内容描述类的属性。如类“飞机”的属性可以有:“型号”、“价格”、“生产地”等。关系如:继承关系、不相交关系等。
定义属性取值的类型。这是对属性的有效限制,使对属性的描述更加准确。
构建本体实例。根据以上六步所做的充分的准备工作,进入本体的构建环节,按照本体构建要求构建类、子类、属性等,并为类添加个体、为不同属性添加值。最终本体构建完成。
为了更好的构建本体,各领域纷纷开发适合自己领域的本体构架工具。在众多本体构建工具中存在着六个知名的构建工具,它们分别是:Protege、Ontolingua、OntoSaums、OntoEdit以及WebOnto。Protege是斯坦福大学研究人员根据本体构建需要开发的一款本体开发软件,为实现工具软件对其他语言的兼容性和开放性,Protege软件的开发采用面向对象语言—Java语言进行开发。
类的层次结构还只是本体的骨架,不足以全面表现领域知识和提供系统能力问题所需要的答案信息,其血肉就要通过类的关系,即属性来充实了。
属性分为外部属性和内部属性:
数据属性的功能是对个体赋值,将个体和文字联系起来,准确描述旅游领域个体;如对类“人物”设置数据属性、对象属性
数据属性(固有属性):“姓名”、“性别”等,将人物个体与姓名、性别建立联系,用不同性质的数据描述个体的特性;
对象属性(对外关系):“使用”、“选择”等,将人物个体与交通方式和旅游线路等个体联系起来旅游领域类的诸多属性,主要如下:
对象属性(对外关系):人物使用交通、交通供人物使用、景点所在国家、景点所在省份、景点所在城市、人物所在城市、景区所在城市、住处所在城市、餐馆所在城市、景点具有住处、景点具有餐馆、景点供人物游览、人物游览景点、人物选择住处、人物选择餐馆、住处供人使用、餐馆供人使用、景区具有餐馆、景区具有住处、选择旅行社、可选旅行社、提供旅游线路、所选景点、持有证件、国家具有省份、省份具有城市、城市所属省份、省份所属国家。
在对类的属性进行定义之后,应该根据类目的层次关系和属性的特征对属性所包含的不同分面分别进行定义,进一步保证属性的完整性。如对属性的取值进行定义,对属性的基数进行定义等:
赋值类型,某一属性的确定值,如整数型(int),字符串(string),浮点数(float)等。
允许的赋值。允许赋值的主要功能是对属性的赋值特征作进一步的限制,如通过数量、空值等定义属性特征。
赋值的基数,也称基数性。它是对一个属性槽(slot)能够拥有的值得数量限制。
属性值的领域和范围:规定属性属于哪个类[32]。域是对概念的限制,用一种特定的属性对某一概念进行限制,使其成为某一特定类的成员;范围是指对属性值得限制,以确保概念成为某一特定类的成员。例如:属性“使用”的定义域是人物,值域就是字符串数据;属性“门票”的定义域是景区,值域是整数型等等
本体中的关系多种多样,除了基本的语义关系,很多类目关系还需要用户自主归纳总结然后定义。对于本体的基本语义关系来说,主要有四种,分别是:part-of、kind-of、instance-of和attribute-of。
part-of表达概念之间部分与整体的关系,比如:“车轮”与“汽车”之间的关系;
kind-of表达概念之间的继承关系,要求其层次结构中的概念关系必须是同质的、直接父子概念之间具有相同的泛化程度,相当于面向对象思想中的“isa”,比如:“人物”与“旅游者”、“导游”,“旅游者”和“导游”都继承了人物的特性,都具有人的本质,它们都继承了上位类的属性;
instance-of描述的是本体中的实例与本体中类的关系,类似于面向对象中对象与类之间的关系,比如:“杨继超”是旅游领域本体的一个实例,他就是二级类目“人物”的一个具体实例;attribute-of描述的是某个概念或类是另外一个概念或类的一个属性,比:“门票”这一术语就是“景区”类目的属性之一。在以上四种基本关系的基础上,笔者依据旅游领域本体类目的设置和具体特点,还定义了其他一些语义关系类型。具体情况如下:
使用和被使用关系。它们是一对互逆关系。表示两个概念或事物之间存在使用与被使用的关系。例如:“交通方式”作为一种出行工具、方式,只能被“人物”所使用,它们之间存在使用和被使用的关系。
选择和供选择关系,它们也是一对互逆关系。表示两个概念或事物之间选择与被选择的关系,即概念a选择概念b。例如:“人物”选择“旅游线路”、“景区”供“人物”选择。
locatedIn关系,表示两个概念或事物之间“位于”的关系,即概念a位于概念b那里。例如:类目“景区”、“服务机构”与“地理位置”之间的关系。
Has关系,表示概念a与概念b之间存在拥有、提供的关系。例如:类目“景区”has“食宿”。
causes与causedBy关系,表示人物与民俗风情之间引起与被引起的关系。它们是一对互逆关系。如果概念a和概念b之间存在概念a概念b的关系,则概念b由概念a引起。例如:“民俗风情”由“人物”引起,则它们之间存在关系。
…的目的:说明了类目“旅游目的”只能是旅游的主体-人物所拥有。
member关系和memberOf关系,这里定义member关系和memberOf关系是用来说明某事物是另一事物的成员之一。它们是一对互逆关系。例如,旅游局是旅游服务机构的一部分,则它们之间存在memberOf关系,表示为“旅游局”“旅游服务机构”。
相互对立关系或者互补关系,指两个事物或概念是完全对立的两方面,差异性很大,具有一定的互补性。例如:“自助旅游者”和“跟团旅游者”均属于“人物”的一种,且其内涵相互矛盾,但是人物还包括“导游”、“历史名人”等,所以“自助旅游者”和“跟团旅游者”属于矛盾关系
构建本体之前要有详细的规划,包括选择合适的本体描述语言、本体构建的工具以及本体构建的方法,做到统筹兼顾,全面把握本体构建的整个过程。在大众分类标签的基础上,运用微调后的七步法,采用protege4.3软件,展示一下旅游领域本体的构建过程。
本体构建完成后,需要对形成的本体进行保存。Protege本体构建软件为本体文档的保存提供了多种形式,如RDF/XML、OWL等保存格式。 使用各种转换软件即可实现。比如:neosemantics-3.4.0.2支持3.4.x版本neo4j数据库。 结构化的数据源 半结构化的数据源 无结构化的数据源知识抽取就是从数据源中抽取到我们所需要的内容。知识抽取包括三个方面的内容:实体抽取、关系抽取以及属性抽取。 实体抽取。主要指的是从自然文本中抽取到我们所需要的命名实体(例如:地名、人名,以及各种专有名词)。这个过程也叫做命名实体识别(namedentityrecognition,简称NER)。最早的命名实体识别过程,都是基于规则的,由于所有的规则都是需要人为手工的编写,因此需要耗费大量的人力,可扩展性也很差。 在我们得到实体之后,就考虑从文本中挖掘出实体与实体之间的语义信息,也就是它们之间的关联关系。关系抽取不仅是信息抽取的任务之一,也是构建和补全知识图谱的关键所在,其研究的主要内容是从文本内容中挖掘出实体与实体之间的语义关系,从纯文本生成关系数据的过程,是自然语言处理(NLP)中的关键任务。该任务可以描述为:给定一段文本S,确定两个目标实体对 中文数据集可用成熟的LTP工具包实现关系抽取。英文数据集可用成熟的NLTK工具包实现关系抽取。 知识图谱的本质就是图,其中点代表实体,边代表关系。目前可以用两种形式来表示知识图谱。第一种就是RDF,第二种就是属性图的形式。 word1="七星景区"word2="七星公园"r=synonyms.compare(word1,word2,seg=fales)synonyms.compare会返回word1和word2的相似度,seg表示是否需要分词。在实体合并部分仍然会使用到Synonyms。具体实现算法分为3部分,第一部分实体链接、第二部分属性链接、第三部分属性值链接。 知识图谱存储主要可以通过三种方式:第一种是关系数据库(MySQL);第二种是文档数据库(MongoDB);第三种是图数据库(Neo4j)。Neo4j的优势在于: 它有一套自带的类似于SQL的查询语言Cypher,通过Cypher就可以实现在数据库上增删查改; Neo4j不使用schema,因此可以满足用户任何类型的数据需求; 在高度关联的数据上查询速度要比在关系数据库中进行查询快很多; 提供了一个可以支持大规模数据量的查询的模型。 第一种是(实体、关系、实体), 第二种是(实体、属性、属性值)。根据两种类型各自的特点,考虑使用图数据库neo4j存储(实体、关系、实体),存储结果如下图所示: