APP下载

基于本体的教育资源语义检索系统研究

2018-04-09程道文

吉林大学学报(信息科学版) 2018年2期
关键词:检索系统爬虫引擎

于 超, 王 璐, 程道文

(长春工业大学 a. 人文信息学院; b. 应用技术学院; c. 基础科学学院, 长春 130012)

0 引 言

近年来, 网络教育资源飞速增长, 越来越多学习者的研究工作依托于强大的网络信息资源, 同时, 作为语义网核心技术的本体近年得到快速发展[1,2]。但当前主流的信息检索工具依然是基于关键字检索和匹配技术。而教育资源之间却天然存在着近义、 关联以及其他各种语义层面的联系, 仅对字面进行简单的关键字方式匹配, 必然会造成检索资源的大量漏检与误检。为提高查询结果的全面率和准确率, 用语义对用户的查询要求分析和处理不失为更好的选择。本体技术因其良好的概念层次结构和准确的概念表达能力, 被广泛应用于构建语义检索模型。笔者以教育知识本体构建、 语义关联度算法研究及语义检索技术应用为基础, 结合教育领域专业特征, 构建了基于本体的教育资源语义检索模型。进而以这个模型为基础, 完成了基于本体的教育资源检索系统的设计与实现, 通过大量的实验数据验证, 证明了该模型的高效性和准确性。

1 基于本体的语义检索思想概述

基于本体的网络教育资源语义检索模型的设计大体可分为如下4个步骤[3]:

1) 基于相关领域知识, 建立本体;

2) 通过网络爬虫收集专业领域信息并建立知识索引库;

3) 以索引库中的本体作为依托, 将从系统交互界面获得的用户查询关键字集合进行扩展, 系统的检索引擎以新获得的扩展集合作为查询依据进行查询;

4) 提交排序后的检索结果。

基于以上的设计步骤, 从本体的建立与管理、 教育资源的信息获取、 检索集合的扩展查询和检索引擎的实现4个方面进行研究, 完成基于本体的网络教育资源语义检索模型的构建。

2 基于本体的语义检索模型构建

2.1 本体建立

本体库的建立是语义检索系统设计的基础, 同时也是语义检索系统中最重要的组成单元----查询扩展算法设计的基本依据。由于自动生成本体方法有许多不足, 因此笔者以面向对象程序设计课程的主要知识点为数据源, 用Protégé与OWL(Web Ontology Language)相结合的方式创建本体[4], 并将领域本体通过Protégé进行编码, 作为测试数据蓝本。

2.2 教育资源获取

基于本体的语义检索能准确高效实施的首要前提是要有足够可供检索的信息保存于信息库, 因此教育资源信息库的建立是整个检索系统设计与实现的基础。在笔者设计的模型中, 主要利用网络爬虫从网络上获取各种诸如名词术语、 课件、 案例、 试题、 参考资源、 网址资源以及其他基础资源的相关教育资源, 并最终通过Lucene[4]对预处理后的网络资源进行索引库的建设和存储。

2.3 查询扩展

查询扩展是语义检索区别于关键字检索的重要指标。所谓查询扩展是指以本体库中的本体为依据, 将与用户检索条件相关的词条添加于该检索条件, 扩展为新的检索关键字, 进而以新生成的检索关键字进行检索的方式。这种检索方式可从一定程度上弥补用户提供的查询条件不准确的缺陷, 改善待检索信息的检索准确率和全面率。

如何利用查询扩展词, 用合适的条件去扩展查询, 是实现查询扩展的核心问题。本模型是基于前面建立的本体库完成对于查询条件的语义扩展的。在查询扩展前, 首先量化本体库中相关概念的关联程度, 然后依据量化结果决定后查询条件的扩展范围。在查询扩展阶段, 通过推理机按照同位和下位等逻辑关系, 对建立好的领域本体库进行语义推理, 进而对查询条件进行语义扩展。

2.4 检索引擎与结果排序

检索引擎对于语义检索系统具有重要作用, 作为源代码完全开放的全文检索引擎工具包, Lucene是软件基金会的子项目[5-7], 选择其作为检索引擎。Lucene作为应用Java语言实现的开源软件项目, 有较高的易用性和可扩展性。它屏蔽了检索工作中的复杂搜索过程, 使在设计本系统时可更加专注于教育资源的业务领域。同时, Lucene提供了诸如生成文档索引库、 将用户检所请求按语义相似度由高到低排序的功能。

综上所述, 笔者提出的基于本体的语义检索模型结构如图1所示。

图1 基于本体的语义检索模型结构Fig.1 Ontology-based semantic retrieval model structure

3 基于本体的语义检索系统设计

网络爬虫构件、 语义推理引擎构件和检索引擎构件是组成语义检索系统的3个核心构件。其中网络爬虫构件负责完成网络信息的抓取, 语义推理引擎构件负责查询扩展, 检索引擎构件负责完成检索并将排序结果提交给用户。

3.1 网络爬虫构件

服务器端和客户端共同组成了该系统的网络爬虫构件。服务器端保存和管理爬虫的配置文件, 通过对配置文件进行解析调度客户端。客户端主要通过响应接口完成对网络资源的抓取工作。

3.2 语义推理引擎

语义检索系统中, 用户输入的查询条件会交由语义推理引擎, 语义推理引擎负责将这些查询条件与本体库中的领域本体进行概念匹配, 进而将匹配到的概念与原始查询条件结合并进行查询扩展, 最终, 将扩展后得到的新查询条件交给检索引擎进行更准确的查询检索工作。

对用户输入的检索条件进行基于本体的、 高效准确的语义查询扩展的重要前提和核心保障是设计科学合理的语义关联度计算方法, 下面论述该模型所采用的语义关联度计算方法。

1) 语义相似度算法。语义相似度是指两概念在语义上的一致程度, 目前, 研究人员主要采用综合相似度的计算方法[8]。基于领域本体概念结构图的本体概念语义相似度计算主要受以下因素影响[9,10]: 语义距离、 两个概念的最近共同父节点深度和语义重合度等[11]。其中, 基于语义距离的计算方法又是计算语义相似度最为直观的方法, 其基本原理是: 在本体结构图中, 相似度越高的两个本体概念间的路径越短。计算过程如下

(1)

其中Lmax为本体结构图中从头结点到其他所有节点的路径最大值,L(Cx,Cy)为两个本体概念间的最小距离。

由于本体概念结构图对基于距离的本体语义相似度计算结果有很大影响, 因此, 为弥补基于距离相似度计算方法的局限性, 在计算相似度时, 结合了另一种影响语义相似度的因素----两个概念的最近共同父节点深度计算语义相似度。两个本体概念最近共同父节点的深度越深, 其分类就越细, 继承的语义信息就越多[12-14], 则语义相似度就越高。计算过程如下。

(2)

其中Cx是本体C中概念x的实例数, 概念x和概念y的最近公共祖节点用PMRCA(Cx,Cy)表示,PCx和PCy为概念x和概念y的祖节点。

笔者提出领域本体中任意两个概念间的相似度计算公式为

SSim(Cx,Cy)=αSSimedge(Cx,Cy)+βSSimlin(Cx,Cy)

(3)

其中α和β为调节参数, 且α+β=1; 相似度SSim(Cx,Cy)∈[0,1]。

2) 语义相关度算法。语义相关度是指两个概念在语义上的相关联程度, 因此, 计算本体概念的语义关联程度除受语义相似度的影响外, 在一定程度上还受两个概念语义相关度的影响。笔者提出的语义相关度计算方法为: 在本体推理的基础上, 获取与参照概念相关的概念集合, 然后基于此集合进行语义相关度计算。同时应注意, 有些概念之间的相关度会随传递减弱, 如概念x参考概念y, 概念y参考概念z, 则x间接参考z。此时x与z虽然相关, 但其相关度低于x与y的相关度。综合上述因素, 本系统所采用的语义相关度

(4)

其中Rel(ej)表示两个概念相连关系边e所对应的语义相关度权值。该权值由专家根据概念的关系类型分别给出。

3) 语义关联度算法。由于两个本体概念之间的蕴涵关系和概念关系分别取决于其语义相似度和语义相关度。因此, 所提出的语义检索系统使用语义相似度和语义相关度加权计算而得到的语义关联度表示两个本体概念之间的关联程度的计算为

Sre(Cx,Cy)=μSim(Cx,Cy)+θRel(Cx,Cy)

(5)

其中Sre(Cx,Cy)表示两个本体概念的语义关联度;Sim(Cx,Cy)表示两个本体概念的语义相似度;Rel(Cx,Cy)表示两个本体概念的语义相关度;μ和θ为调节参数, 且μ+θ=1, 调节参数可由领域专家预先设定。同时, 相似度Sre(Cx,Cy)∈[0,1]。

3.3 检索引擎

检索引擎中的解析器组件首先负责获取由网络爬虫从网络上收集到的各种教育资源, 由检索引擎的索引构建器对解析器获得的资源进行解析处理并建立查询索引库, 最后由检索引擎中的查询器结合语义推理引擎提供的扩展查询集合完成最终的资源检索以及检索结果的客户端回显工作。

4 基于本体的语义检索系统的实现

图2 基于本体的语义检索系统架构Fig.2 Ontology-based semantic retrieval system architecture

笔者在Linux操作系统层建立了语义检索系统的底层文件系统, Linux的本地文件系统和分布式文件系统(HDFS: Hadoop Distributed File System)共同构成了该语义检索系统的文件系统。HBase与MySQL的集群构架于文件系统层, 两者构成了为检索系统提供数据资源的关系型数据库。对依赖ACID事物的数据文件采用了MySQL集群保存, 而从网络上获取的组织结构松散的教育资源数据由HBase集群保存。在数据库结构布设了基于网络爬虫、 语义推理引擎和检索引擎协同工作需求而设计的分布式计算框架, 该框架可高效的对数据进行分布式查询和相关处理。在系统的最上层是与用户的交互界面, 该界面负责完成初始检索条件的录入以及最终查询结果的回显。语义检索系统架构如图2所示。

在综合分析了各方面因素的前提下, 通过Linux操作系统, Java开发语言, MySQL和HBase数据库, Lucene检索引擎, OWL本体建模工具, Jena本体推理机, Hadoop分布式计算框架, JFinal Web框架实现基于本体的语义检索系统。

5 实验分析与结论

在使用相同的关键字作为检索条件的前提下, 分别利用传统的检索引擎和笔者所设计的基于本体的语义检索系统对网络爬虫抓取的资源进行查询检索, 笔者设计的系统查全率和查准率都要明显的高于传统的检索引擎, 结果如图3和图4所示。

图3 资源检索查准率对比          图4 资源检索查全率对比 Fig.3 Comparison of resource retrieval accuracy        Fig.4 Comprehensive comparison of resource retrieval

从图3和图4结果可得出结论: 利用本体捕捉并建立的用户查询关键词之间的语义关系应用于教育信息检索活动中, 可对原有的查询关键词进行准确的语义扩展, 进而基于扩展后的内容进行检索, 可提供更符合用户期望、 准确的检索结果。

6 结 语

笔者提出对用户输入的查询条件进行基于本体的查询扩展算法, 并将该算法结合本体语义的概念应用在网络教育资源的检索, 设计并实现了使用Lucene对扩展后的查询条件进行检索的语义检索模型。通过大量的实验结果证明, 该语义检索模型的综合查全率和综合查准率分别达到81.5%和83.1%, 在查全率和和查准率两项指标上均优于传统的关键字检索方法。笔者下一步将继续通过对本体库的完善和关键词的语义标注, 对语义检索系统进行进一步的改进, 以期获得更高效、 更准确的检索结果。

参考文献:

[1]贺海涛, 郑山红, 李万龙, 等. 基于关联规则和语义规则的本体概念提取研究 [J]. 吉林大学学报: 信息科学版, 2014, 32(6): 657-663.

HE Haitao, ZHENG Shanhong, LI Wanlong, et al. Research on Ontology Concept Extraction Based on Association Rules and Semantic Rules [J]. Journal of Jilin University: Information Science Edition, 2014, 32(6): 657-663.

[2]成锦晖, 郑山红, 李万龙, 等. 本体领域综合概念相似度计算中的权重确定方法 [J]. 吉林大学学报: 理学版, 2014, 52(6): 1272-1276.

CHENG Jinhui, ZHENG Shanhong, LI Wanlong, et al. Weight Determination Method in the Comprehensive Concept Similarity Computation of Ontology Field [J]. Journal of Jilin University: Science Edition, 2014, 52(6): 1272-1276.

[3]段寿建, 夏幼明, 甘健侯.基于本体和Lucene的语义检索模型设计与实现 [J]. 软件技术, 2009, 32(12): 36-38.

DUAN Shoujian, XIA Youming, GAN jianhou. Design and Implement Based on Semantic Retrieval Model of Ontology and Lucene [J]. Software Technology, 2009, 32(12): 36-38.

[4]王璐, 于超, 王博, 等. 本体语义检索系统 [J]. 长春工业大学学报: 自然科学版, 2013, 34(6): 726-730.

WANG Lu, YU Chao, WANG Bo, et al. Ontology Semantic Retrieval System [J]. Journal of Changchun University of Technology: Natural Science Edition, 2013, 34 (6): 726-730.

[5]袁满, 谢兰, 张晓冉. 数据质量约束规则的本体描述及推理研究 [J]. 吉林大学学报: 信息科学版, 2017, 35(6): 670-677.

YUAN Man, SIE Lan, ZHANG Xiaoran. The Ontology Description and Reasoning of the Rules of Data Quality Constraints [J]. Journal of Jilin University: Information Science Edition, 2017, 35(6): 670-677.

[6]义天鹏, 陈启安. 基于Lucene的中文分析器分词性能比较研究 [J]. 计算机工程, 2012, 38(22): 279-282.

YI Tianpeng, CHEN Qi’an. Research on the Performance Comparison of Chinese Parser Based on Lucene [J]. Computer Engineering, 2012, 38(22): 279-282.

[7]岳绍敏, 李万龙, 王璐, 等. 基于Lucene索引的数据库全文检索 [J]. 吉林大学学报: 理学版, 2014, 52(5): 995-1000.

YUE Shaomin, LI Wanlong, WANG Lu, et al. Database Full Text Retrieval Based on Lucene Index [J]. Journal of Jilin University: Science Edition, 2014, 52(5): 995-1000.

[8]李凯, 李万龙, 郑山红, 等. 改进的多策略本体映射方法 [J]. 吉林大学学报: 信息科学版, 2016, 34(4): 536-542.

LI Kai, LI Wanlong, ZHENG Shanhong, et al. The Improved Multi Strategy Ontology Mapping Method [J]. Journal of Jilin University: Information Science Edition, 2016, 34(4): 536-542.

[9]FRANCISCO M C, MARIO J S, PEDRO M C. Measuring Semantic Similarity between Gene Ontology Terms [J]. Data & Knowledge Engineering, 2007, 61(1): 35-40.

[10]SEVILLA J L, SEGURA V, PODHORSKI A. Correlation between Gene Expression and Go Semantic Similarity [J]. IEEE/ACM Transactions on Computational Biology and Bioinformaties, 2005, 2(4): 66-72.

[11]李文杰, 赵岩. 基于本体结构的概念间语义相似度算法 [J]. 计算机工程, 2010, 36(23): 4-6.

LI Wenjie, ZHAO Yan. Semantic Similarity Algorithm Based on Ontology Structure [J]. Computer Engineering, 2010, 36(23): 4-6.

[12]张胜. 一种基于领域本体的语义检索模型 [J]. 软件导刊, 2014, 13(3): 18-20.

ZHANG Sheng. A Domain Ontology Based Semantic Retrieval Model [J]. Software Guide, 2014, 13(3): 18-20.

[13]肖宝, 李璞, 胡娇娇, 等. 基于潜在语义与图结构的微博语义检索 [J]. 计算机工程, 2017, 43(6): 182-188,194.

XIAO Bao, LI Pu, HU Jiaojiao, et al. Based on the Potential Semantic and Graph Structure of Micro-Blog Semantic Retrieval [J]. Computer Engineering, 2017, 43(6): 182-188,194.

[14]李晓红. 基于本体技术的语义检索及其语义相似度分析 [J]. 电子技术与软件工程, 2017(1): 187.

LI Xiaohong. Semantic Retrieval and Semantic Similarity Analysis Based on Ontology Technology [J]. Electronic Technology and Software Engineering, 2017(1): 187.

猜你喜欢

检索系统爬虫引擎
利用网络爬虫技术验证房地产灰犀牛之说
基于Python的网络爬虫和反爬虫技术研究
新海珠,新引擎,新活力!
车坛往事4:引擎进化之屡次失败的蒸汽机车
浅析图书馆检索系统的应用
基于行车调度指挥的高危作业智能检索系统研究
世界地质公园地图检索系统开发与应用
大数据背景下校园舆情的爬虫应用研究
蓝谷: “涉蓝”新引擎
大数据环境下基于python的网络爬虫技术