基于上下文的智能查询系统设计与开发

2018-09-13 11:22胡柳忻
电脑知识与技术 2018年17期

胡柳忻

摘要:智能检索在信息行业中发展迅速并占据了主导地位,现有搜索引擎大多采用单一关键词搜索模式,无法完全达到用户的查询意图。与此同时,随着各地旅游业的发展,导游业也在逐渐趋于多元化。在手机移动终端上使用景区导游系统,将更加方便游客随时获取景点相关介绍,多方位、多角度地了解景点特色。针对以上问题,提出将基于上下文的智能查询应用于景区导游系统中。实验结果表明,基于语义概念树和局部上下文的查询扩展算法可以有效地提高系统检索效率,基本满足用户的查询意愿。

关键词:智能查询;查询扩展;导游系统;语义概念树;局部上下文

中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2018)17-0095-04

Abstract: Intelligent information retrieval has developed rapidly and occupied the dominant position. Most of the search engines choose the single keyword search mode which cannot meet the user's query intention. Along with the development of tourism, the tour guide industry has also been gradually tended to be diversified. Using scenic tour guide system in mobile terminal, the tourists can get attractions introduction handily and know the features of the scenic spots from all the aspects. In view of this, propose an intelligent query method based on the context algorithm which is used in tour guide system. Experimental results show that the query expansion algorithm based on the tree of semantic concept and the local context can improve the efficiency of retrieval effectively, which can meet the user's query intention.

Key words: intelligent inquiry; query expansion; guide system; semantic concept tree; local context

1 背景

随着计算技术的不断普及和发展,智能化人机交互逐渐成为计算模式发展的主导趋势,特别是Mark Weiser在20世纪90年代提出普适计算的概念之后,这一趋势表现得越发明显。智能查询可以广泛地应用于信息检索、信息推送等领域,而交互上下文往往是系统确定其自身行为最为直接、有效的依据。

目前,搜索引擎使用的查询方式过于单一,大多采用关键词匹配,查询者输入与主题相关的查询词汇,系统自动检索得到包含该词汇的相关内容。虽然该种方法简便可行,但是它对查询词的个数具有一定要求[1-3]并且容易出现词典问题[4],以上原因使得查询扩展技术变得十分重要。现阶段,已有多种查询扩展方法成功应用于实际案例中,例如利用搜索结果选择查询扩展词、在语义学习对象检索领域的本体扩展查询算法、利用医疗本体改善多模式信息检索系统的查询扩展方法等。随着该项技术的逐步发展,更多学者加入到了查询扩展的研究当中,并发布了多部文献对其进行说明,如文献[5]中提到的基于上下文的查询扩展方法。尽管如此,目前几种成型的查询扩展算法,包括全局分析方法[6]、局部分析方法[7]、基于文檔上下文信息的查询扩展等都存在过程繁琐、局限性大、易产生主题漂移现象等不同的弊端。鉴于以上情况,将两种或多种扩展方法综合在一起使用逐渐成为一种新的趋势,它能够有效地提高查询准确度,例如文献[8]提出的基于局部共现分析和概念语义的查询扩展方法、基于本体和局部上下文分析的查询扩展方法等。

与此同时,随着自助旅游的兴起及信息技术在旅游业中的广泛应用,景区导游的范畴已不局限于传统模式,为了在最大程度上节省人力、物力、财力的消耗,专门面向游客的自助电子导游系统逐渐兴起。

在国外,许多博物馆逐渐开始使用电子讲解设备取代传统的人工讲解;温哥华推出的具有显示景点信息、酒店信息功能的电子导游系统也已成功投放于市场;而在波士顿,部分景点采用无绳电话听筒电子导游器,供游客使用[9]。至于国内,自助导游系统的应用在市场中正处于起步阶段,目前市场中已存在GPS定位导航的手机导游服务系统,如故宫导游手持系统。该系统能够帮助用户实时定位所处位置,查询景点图文介绍,同时系统提供旅游攻略、旅游资讯、景区特产美食等相关信息介绍服务。但目前,导游系统更多注重的是导航部分,在景点介绍查询部分普遍采用的是最简单的依据单一关键词进行搜索。在此基础上,将基于上下文的智能搜索应用于景点查询中,改变故有的单一关键词查询模式,使用者能根据自身需求,方便快捷并且更加准确地获取景区信息。

2 算法设计

该系统将基于语义概念树和局部上下文分析的查询扩展算法应用于导游系统查询功能之中,接下来本文将详细介绍该算法并给出算法改进。该算法实现的过程主要有三个步骤[10]。

2.1 语义概念树构造扩展词集

3 系统实现及性能分析

3.1 系统设计

该系统研究的主要内容可以概括为:将智能搜索应用于颐和园景区Android手机自助导游系统中,构建立体化、可视化的多功能景区导航导游系统。该系统实现的功能主要划分为两大部分,分别为景点查询功能和景区导航功能。其中,前者包含相关景点查询功能,该项功能中,在同一景区或不同景区中景点常常出现名称相同的情况,用户输入该景点的名称后系统输出的结果不一定是用户真正需求的,系统无法自動判断哪个景点是用户希望查询的,不能完全达到使用者的搜索意图。该系统使用基于语义概念树和局部上下文的查询扩展算法,通过计算权重得出使用者最有可能查找的景点名称并输出该景点的相关介绍。同时,提供语音输入功能,方便用户使用。

3.2 语音输入

在景点查询功能中,用户可通过手机键盘输入查询内容,但是当使用者处于步行状态或者在某些情况下双手无法在移动终端设备上快速输入关键词时,键盘输入阻碍了查询速度。鉴于该原因,该系统中加入了语音输入功能。

在景点查询功能中,用户可使用该功能,系统后台自动将语音信号转变为文字输出在查询框内,再进行查询功能。语音输入部分,系统应用了讯飞语音。语音作为一种自然交互正在被更多的移动互联网接受,也正在进一步深入人们的日常生活当中,而讯飞语音在不断的发展下逐渐占据了部分市场,其语音识别功能的综合准确率在复杂的环境下已达到90%以上。在实验初期,该功能并不能很好地发挥其作用。由于系统数据库中存在较多固有名词,例如颐和园景区中的景点名称,系统识别得到的词语与实际查询关键词不符,这将大大降低系统的查询准确率。为改良这一功能,采用语音训练,其具体实施方法为针对系统数据库中的每一项内容,进行特定的语音输入训练。例如排云殿的特征词汇“云锦”,在复杂的环境条件下首次语音输入该词语时,系统默认输出的词语为“运进”,接下来对这一词汇进行反复练习,训练10次后,系统已基本能够做到正确识别该词汇。依照此种方法,对于数据库中的每项内容进行多次语音训练,从而大大提高了语音识别的准确度以及查询准确度,增强了系统的实用性。

3.3 结果分析及算法改进

在“相关查询”功能中,采用了基于语义概念树和局部上下文分析的查询扩展算法。以“长廊”为例,在颐和园景区和北海公园景区中均存在长廊景点,即出现景点名称相同的情况。此时,用户输入查询词后,系统依照算法进行后台处理,计算出与原查询词相关度最高的景点名称,并输出该景点的图文介绍。

在该测试用例中,原查询词的语义概念树如图1所示。与原始算法中语义概念树的构造方法有些不同的是,该系统中的概念树的构造并没有使用Hownet知网,也就是说该系统中将词语概念间的联系转换为景区之间的联系。而在“概念树”中每个节点即景区选择方面,主要依据搜索引擎,根据其搜索出来的与原查询景区最为相关的n个景区构造每个节点。依照此种方法构造出的语义扩展词集为semT={"通道","人文","文化长廊","景区","长廊颐和园","长廊北海公园","十里杜鹃长廊"}。

在统计词集的构造方面,检索得到与原查询最相关的n篇文章,该系统中使用颐和园官网中的全部文章以及通过搜索引擎检索到的最相关的三篇文章,然后从该n篇文章中选取与原查询最相关的m个词与词组作为统计扩展词。因此,构造出的统计扩展词集为staT={"长廊颐和园","长廊北海公园","走廊","通道" }。

依照前面介绍的式(2)计算统计扩展词的相关度时,需要的数据,例如扩展词在文章中出现的频率、原查询词在文章中出现的频率等均由爬虫抓取相关网页内容实现。网络爬虫是一种按照一定的规则,自动抓取网络信息的程序,实现对网页或数据的分析与过滤,将不需要的信息排除,留下使用者需要的数据。将颐和园官网的每个页面作为一篇文章,加上通过搜索引擎检索到的最相关的三篇文章,总文章数量为24篇。爬虫可以抓取到关键词存在于哪几个url页面中,即存在于几篇文章中,从而得到该词语出现在前n篇文章中的频率。在整个过程中,首先爬虫抓取想要的网页,然后下载网页,提取正文,并进行分词。之后进行比对,判断某个关键词出现于哪一个url中。以排云殿为例,输入排云殿后,爬虫开始抓取,共得到5个页面即该关键词在前24篇文章中出现的频率为5,爬虫运行结果如图2所示。为了方便用户查看爬虫抓取的内容,系统将url对应的网页正文内容下载下来,存于文件夹中的记事本,如图3所示。该爬虫抓取的结果已自动排除网页中的无关内容。

从上图可以看出,四个扩展词中除了“长廊北海公园”,其他三个扩展词的相关度即bel值较为接近,相对地,也可以说明这三个扩展词与原查询词的相关度较高,其中“通道”扩展词的相关度最高。接下来,也是整个算法的最后阶段,系统后台计算出每个扩展词的权值,令权值调节因子α=1,均衡两个词集的权重,得到最终的综合扩展词集权重,输出权值最大的词语。在该用例中,输出的扩展词为“通道”。

在实际开发的导游系统中,对该方法进行了大量测试。例如,在“景点”界面下,用户可输入景点的特征词,系统将自动匹配数据库中对应的景点ID,从而匹配出相应的景点,并呈现该景点的图文介绍,完成景点查询功能。测试阶段以排云殿为例,“云锦”为排云殿的特征词,输入后,点击按钮“按特征搜索”,即可搜索到排云殿的详细信息,如图5和图6所示。实验结果表明,该方法有效地提高了信息查询的准确率。

4 结束语

该系统将基于上下文的智能查询应用于导游系统中的景点查询,满足用户的真正需求,提高系统的实用性,具有一定的研究意义。在景点查询功能中采用了基于语义概念树和局部上下文分析的查询扩展算法,对改善系统的查询性能有良好的作用。

参考文献:

[1] Furnas G W, Landauer T K, Gomez L M, et al. The vocabulary problem in human-system communication[J]. Communication of ACM, 1987, 30(11): 964-971.

[2] 朱立红, 杨鹤标. 海量结构化数据查询系统的研究与实现[J]. 计算机应用与软件, 2014, 31(2): 29-32.

[3] 丁晓渊, 顾春华, 王明永. 基于查询日志的局部共现查询扩展[J]. 计算机应用与软件, 2013, 30(12): 22-27.

[4] Wen J R, Nie J Y, Zhang H J. Clustering user queries of a search engine[C] //Proceedings of the 10th International Conference on World Wide Web. ACM, 2001: 162-168.

[5] 李卫疆, 赵铁军, 王宪刚. 基于上下文的查询扩展[J]. 计算机研究与发展, 2010, 47(2): 300-304.

[6] Deerwester S C, Dumais S T, Landauer T K, et al. Indexing by latent semantic analysis[J]. JASIS, 1990, 41(6): 391-407.

[7] Attar R, Fraenkel A S. Local feedback in full-text retrieval systems[J]. Journal of the ACM (JACM), 1977, 24(3): 397-417.

[8] 秦玉平, 孟祥娜, 王秀坤, 等. 基于局部共现分析和概念语义的查询扩展研究[J]. 微计算机应用, 2010, 31(6): 8-13.

[9] 刘欣欣. 基于RFID技术的旅游景区导游系统的研究及应用[D]. 石家庄: 河北科技大学, 2012.

[10] 杨海南. 基于语义概念树和局部上下文分析的查询扩展[J]. 武汉理工大学学报: 信息与管理工程版, 2011, 33(1): 79-82.