APP下载

基于旅游领域本体的语义检索模型

2020-03-13段跃兴张月琴

太原理工大学学报 2020年2期
关键词:本体检索语义

张 婷,段跃兴,张月琴

(太原理工大学 信息与计算机学院,太原 030024)

随着旅游产业和互联网相关技术的迅速发展[1],如何准确、全面地获取旅游信息资源是亟待解决的问题。基于关键字的传统查询方式因为缺乏语义层次上的处理和表示所以无法将用户输入的检索内容与数据资源库中的内容相匹配,造成结果的不完整、不精确,甚至没有符合用户需求的结果[2]。为了提高旅游信息的查准率和查全率,一些学者建议将本体技术应用于旅游信息的搜索,并获得了一定的进展[3-6]。但多半的方法只是基于本体技术的基础并没有充分考虑到实例和属性之间的关系。此外,本体的推理功能未充分用于发现本体中的隐式关系。鉴于上述原因,本文建立在基于旅游领域本体的基础上,提出了用于发现隐含关系的推理规则。通过分析本体中概念间的关系以及结构上的差别,加之推理规则和相似度算法的支持,将现有基于关键字级别的信息组织方式提高到语义级别,设计出一种可以挖掘出隐含信息的搜索方式,通过了解语义的深度,达到优化搜索结果的目的。

1 本体的构建及推理

1.1 本体的构建

17世纪古希腊哲学领域的相关研究者提出了本体论的概念,它被定义为对世界客观存在的系统描述。本体形象地描述了概念间关系的同时还支持逻辑推理。因此本体技术的引入能够更好地改进检的效率,并且在语义上得到更多保证[7]。以本体为基础的语义检索技术是目前科研发展的热门方向之一,很多学者都进行了相关的探索[8-11]。

旅游领域本体是指用机器可以理解的语言表达形式来组织旅游知识的模型。CHHAVI et al[12]所提出的本体构建思想在某种程度上有助于提高构建本体的效率,然而并没有形成通用的本体构建标准。为此,根据领域间的差异,结合现实情况来选择适当的搭建方式。本文采用七步法的思想来构建旅游本体,由Protege[13]来实现。搭建过程如图1所示。

图1 旅游领域本体构建方法流程图Fig.1 Flow chart of ontology construction method in tourism field

根据上述的构建流程,采用《中国分类词库》、《旅游服务基本条款(GB/T 16766-1997)》和《旅游规划总则(TB/T 18971-2003)》[14],以山西省五台山作为研究对象,整理其中所包含的重要内容,用Protege工具搭建旅游领域本体。本体的类结构如图2所示,共有57个本体类,此外还包括34个数据属性和24个对象属性来描述类的所包含的信息。

图2 五台山旅游本体层次局部结构图Fig.2 Local structure map of tourism ontology level in wutai mountain

1.2 本体的推理

1.2.1本体推理机

本体的一个重要特征是推理能力,在领域本体语义关系的推理中,推理机起着重要的作用,相关推理技术的引入使得更多的隐含信息被发现,并且消除所有类以及实例与类之间的冲突。目前,具有代表性的推理机有Pellet、Racer、FaCT++、KAON2等[15]。本文选择了开源的Jena推理机,它不仅支持OWL等自然语言推理,还通过DIG接口与其他推理机器如Pellet等连接[16]。

1.2.2本体的推理规则

为了给用户检索提供更加全面而准确的信息,基于推理机制,结合推理规则,充分利用旅游领域本体中概念间的关联关系,寻找到旅游领域本体内未曾建立属性关联的实例,并发掘其中所包含的隐藏信息。

本文使用正向的推理规则完成推理的过程。所谓的正向的推理规则指的是左侧条件为真的条件下就可以获取到所需的结论,同时结论信息位于推理规则的右侧位置。和所研究领域没有直接关系的推理规则称为通用规则,换句话说,指的就是任何本体都能运用的规则。如:

(?c1,rdfs:subClassOf,?p),(?p,rdfs:subClassOf,?c2) → (?c1,rdfs:subClassOf,?c2)

领域规则是以通用规则为基础,通过将通用规则的实例化,结合特定领域相关的内容所形成的。例如:

Rule 1:(?xbelongs to ?y),(?ysubclass of ?z)→(?xbelongs to ?z)

Rule 2:(?xhas ?y),(?ysame as ?z)→(?xhas ?z)

Rule 3:(?x,takePartIn,?y)→(?y,hasParticipant,?x)

Rule 4:(?x,rdf:type,Tourist),(?x,hasUphillPath,?y)→(?y,rdf:type,UphillPath)

1.2.3本体的推理过程

本文主要是根据旅游领域本体中所定义的属性来定义推理规则,并通过Jena推理机,将自定义的推理规则加入Jena推理机中完成旅游本体的语义扩展。接着运用SPARQL语言,完成旅游信息的推荐。

2 语义相似度计算方法

为了提高检索的效率,往往需要确定概念集合与搜索内容间的一致性,即需要计算原始概念与搜索内容的相似性。针对该问题当前的方法主要有4类,每一类都有其经典的代表算法及优缺点[17]。

以距离为基础的方法是最基本的方法,虽然计算简单,但是准确度较低。基于内容的计算方法仅考虑概念本身中包含的信息,且取决于所计算的语料库,不同数据资源库获得的结果通常不一样。基于属性的计算方法需要找到两个概念之间共同的属性,虽然利用了概念的属性来计算相似度,但是计算的复杂程度大大增加。混合式的计算方法具有较高的准确性,由于该方法最大限度地利用了概念节点的语义信息,因此混合计算更为精确,是目前的研究重点。文献[18]中提出了一个概念相似度算法,该算法基于本体树结构,将语义距离、上下位概念重合度以及概念节点层次深度等影响因素结合起来,它用于解决病虫害领域的检索效率。在文献[19]中,将Jaccard系数添加到基于距离和信息量的计算方法中进行相似度的计算。在文献[20]中考虑到概念中所包含的信息量的同时结合了诸如概念的位置和速度等影响因子,提出了一种计算语义相似性的混合方法。本文综合分析了混合相似度算法在各领域内的研究现状,提出了一种适用于旅游领域的混合语义相似度计算方法。

2.1 基于路径距离的语义相似度

概念间可能存在多种连接方式,因此,在计算相似度大小的时候,有必要考虑关系路径的影响。

2.1.1关系权重

本体树结构中包括许多概念信息,不同概念之间在关系上的差异导致了概念间在语义层面上相似性大小的差异。

(1)

其中,w1代表概念的关系权重值。

2.1.2节点深度权重

以本体的树形结构为基础,从最顶端的thing开始,逐步向下进行细化。叶子节点含有的信息量最多。

w2=(1/2depth(c)+1/2depth(c)-1+…+1/2) .

(2)

式中:w2代表概念的节点深度权重值;depth(c)代表本体层中概念c的深度,概念c为概念c1和概念c2的最近公共父节点。

2.1.3密度权重

在本体结构图中,概念所含子概念数目的多少,决定了对事物描述的详细程度。密度越大的节点,事物描述的信息越详细。若树结构中某一部分的密度很大,则其父节点所包含的信息更加精确。

(3)

式中:out()表示某概念在本体中有向无环图的出度。out(c)表示概念c的出度,概念c为概念c1和概念c2的最近公共父节点。out(root)表示本体树根节点的出度。

2.1.4关系路径权重

将上文3种影响因素综合考虑,得到综合关系路径权重。

w=α×w1+β×w2+λ×w3.

(4)

其中,α+β+λ=1.

距离与权重的关系如下式所示:

(5)

综上,得到概念c1和概念c2之间语义的相似度计算公式:

(6)

其中,α为调节因子。

2.2 基于信息量的语义相似度

基本思想是比较两个概念(类)之间共享的信息,相同信息数量的多少将会影响到相似度的大小,二者成正比关系。通过本体所构建的树形结构可以得到子节点间相似度,子节点间的相似度大小可以用其共同的父节点所承载的内容来权衡。

(7)

(8)

式中:N代表本体分类树中所有概念的总数;N(c)代表概念在本体树中出现的频率,概念c为概念c1和概念c2的最近公共父节点。

2.3 基于属性的语义相似度

各类不同特质的属性是对事物的描述,公共属性数量的多少决定了事物之间是否有联系。任意节点间所包含的属性相同项越多则代表二者在语义上的相似程度越高。

(9)

其中,count(c1)代表概念c1所拥有的属性个数。

2.4 本体语义相似度综合计算方法

综合考虑基于本体所搭建的树形结构的特点,结合上面所建立用于计算相似度的方法,提出了最终的语义相似度计算方法如下:

sim(c1,c2)=α×sim(c1,c2)dis+β× sim(c1,c2)ic+λ×sim(c1,c2)attr.

(10)

其中,α,β,λ分别表示路径距离、信息含量、属性的调节系数,α+β+λ=1.

3 实验及结果分析

3.1 检索模型的设计

本文提出的基于本体的旅游信息检索模型是以山西五台山旅游信息为例。通过查找与旅游相关的文档,建立具体的旅游信息结构,即构建本体。然后运用爬虫技术采集与其相关的文档,通过预处理建立数据资源库。基于Jena推理规则及语义相似度算法实现模型的构建。本文所提出的检索模型采用B/S架构见图3,主要由以下4部分组成。

图3 旅游信息检索模型Fig.3 Tourism information retrieval model

1) 用户界面模块。该模块主要用于用户与检索模型的信息交流,连接着预处理模块,用户使用图形化界面输入他们所要查询的信息,经过处理后,用户界面将会展示出最终结果。

2)检索预处理模块。通过汉语词法分析系统(ICTCLAS)对用户输入的查询语句进行分词操作以及主谓宾关系的提取操作,此外,引入了用户自定义词典以及停用词表来提高分词效果。该模块实现了准确而标准化的标记并对用户的初始搜索信息进行了处理。

3) 数据存储模块。该模块的作用是构建检索模型的核心部分本体结构,通过收集与旅游相关的文档,筛选出其中的主要信息,并确定出一系列的概念、关系以及实例、属性集合。

4) 检索模块。该模块的主要功能是根据新的检索信息检索数据资源库,并比较查询实例与数据资源库中数据之间的相似性,以相似度的大小作为评判标准,将检索出来的结果逆序排序,从中筛选出高于基准值的结果展示在用户界面上。

3.2 实验环境

本次实验是在Windows平台下使用Java开发工具idea(JDK1.8)进行开发工作,具体开发环境如表1所示。

3.3 实验结果及分析

本次实验以旅游本体中的所有实例作为数据源,通过对旅游论坛上的问题(百度旅游贴吧、旅游问答_知了吧等网站),进行收集整理总结。将游客的问题分为以下8类问句,如表2所示。

表1 系统开发环境Table 1 System development environment

表2 关于五台山景区的用户问题示例Table 2 Examples of user problems in wutaishan scenic spot

根据上述问题类型,将用户查询语句拆分后进行实验,分别计算出每个查询任务的完整性和精确度。部分查询信息见表3.

表3 查询条件Table 3 Query criteria

本实验采用比较法,以信息完整程度、准确程度作为判定优越性的判断依据,通过与传统的基于关键词的搜索方法相比较,反映出系统的优越性。具体的实验结果以折线图的方式进行对比,见图4、图5.

图4 不同方法的查全率Fig.4 Recall of different methods

图5 不同方法的查准率Fig.5 Precision of different methods

从图4和图5中可以看出,本文所使用的搜索方法,无论是完整性还是精确度都优于以关键字为基础的搜索方法,即证明了以本体为基础的查询方式提高了旅游信息的搜索效率。因此,每个评估指标均高于基于关键字的搜索方法。

4 结束语

传统的搜索方式,缺乏概念在语义层面上的处理,这严重限制了检索结果的准确性。因此,本文通过本体和相似度算法,提出了基于语义层面上的语义搜索模型。从实验数据可以看出,与基于关键字的检索模型相比,该模型能够更加深入地理解用户输入的搜索内容,是改进旅游信息检索的有效方法。随着各类相关技术的发展,为了提高总体的检索效率,对目前所建立的检索模型的优化任务是接下来的重点工作。

猜你喜欢

本体检索语义
真实场景水下语义分割方法及数据集
基于MFI4OR标准的本体融合模型研究
眼睛是“本体”
瑞典专利数据库的检索技巧
一种基于Python的音乐检索方法的研究
英国知识产权局商标数据库信息检索
“吃+NP”的语义生成机制研究
情感形容词‘うっとうしい’、‘わずらわしい’、‘めんどうくさい’的语义分析
汉语依凭介词的语义范畴
专题