APP下载

基于云计算的语义搜索引擎探究

2014-04-14汪志群

电子测试 2014年8期
关键词:词频海量搜索引擎

汪志群

(东北石油大学,黑龙江大庆,163318)

0 引言

互联网行业的快速发展正在引领着人们的日常生活和工作方式发生着日新月异的变化。随着互联网行业的急速发展,计算机能量消耗、存储、硬件的成本等都在不断的提高。互联网急需新的解决方案来解决目前的情况。针对当前的互联网情况,数据的分析和收集都需要建立在一种新的平台上,这个平台就是本文所研究的云计算。在云计算上,针对目前的海量数据,进行语义搜索引擎的研究。

1 云计算介绍

云计算指的是提供应用和部署数据中心等这些服务的硬件和软件。数据中心的硬件和软件就是我们所谓的云。当云作为公司或者机关内部使用的时候,我们称之为私有云。当云作为公共服务,对外提供服务的时候,我们称之为公共云。从硬件的角度来说,云计算的好处主要在三个方面。第一,用户不需要提前做出资源配置的计划,云计算的资源是即需即用,取之不尽的。第二,云用户只需要购买或者获取免费的云资源就可以直接使用,随着需要的增加,可以购买更多的资源。第三,云用户可以在需要的时候,使用云资源,不需要的时候及时释放云资源。云计算在发展的过程中遇到了很多的困难,同时也有不少的机遇。

2 搜索引擎介绍

在互联网行业发展的初期,网络信息相对来说比较少,人们需要查阅资料往往通过书籍的查找。然而随着互联网的快速发展,网络数据不断增加,人们想找自己需要的东西不在通过书籍去翻阅了,因为那样的速度实在是太慢了。只需要通过一台联网的电脑,百度或者google 一下就可以了。百度和google 就是所谓的搜索引擎。因为搜索引擎对基本上所有的网页都进行扫描,因此搜索引擎的数据是非常海量的。根据调查显示,目前70%的人,都可以通过搜索引擎来找到自己需要的信息。搜索引擎已经变成了一个信息门户和信息枢纽,成为人们获取知识和解决问题的必备工具。目前大部分的搜索引擎公司都存在着各种各样的问题,比如人员安排是按模块划分、团队间接口不明确、计算机资源不足、存储空间紊乱等。目前,搜索引擎的评价体系已经是非常明晰的了。一个好的搜索引擎必须具备快速、准确、完整等条件。然而,当前的搜索引擎因为公司实力的不同,不可能去下载全世界所有的网页,因为这需要的是一个无法想象的存储容量。就算是搜索引擎巨头Google,据说下载的网页数量也仅仅只有0.02%而已。同时在互联网中,很多的信息并没有被信息化,因此也不可能完全涉及到。摆在众多搜索引擎公司面前的问题,如何在现有硬件设施的基础上更加高效的进行计算和完整的搜索是目前面临的比较大的问题。

3 基于DHT 的全分布网络语义搜索算法

传统的搜索引擎,往往将数据等都存储在特定的服务器上,这样对服务器的要求就比较高。云计算属于一种数据中心架构,它不依赖于固定的服务器,与传统形式的服务器设备相比,它属于一种容易扩展,方便管理的网络服务。使用云计算可以为搜索引擎带来最安全、最可靠的数据存储功能,满足搜索引擎海量数据的数据存储要求。云计算可以把所有的计算资源集中起来,对于搜索引擎这种需要对海量数据进行处理的高强度处理要求来说,云计算是相当适合的。通过软件来实现对计算资源的自动管理。同时云计算可以把现有数据和原有的历史数据进行自动整合,确保文章库的最新。

目前来说,搜索引擎主要非为两大类,一类是全文检索技术,另外一类是分类的搜索算法。全文检索技术的代表是百度和谷歌。全文检索技术通过对大量的文本文档进行倒排索引,然后用户通过一些关键词就可以对文档进行查找。分类的搜索算法的代表是雅虎。分类的搜索算法是通过把网站进行树状的归类,实现目录检索。这两种搜索引擎方法都是基于关键词的。用户需要输入一定量的关键词才能找到自己想要寻找的网页。然而这种搜索引擎缺乏语义关联和语义的联想,有时候未必能搜索到用户想要的信息。因此语义搜索引擎是一种急需补充的技术。

图1 文章距离算法流程图

我们通过把文章向量距离算法和词关联度算法进行结合,并且结合P2P 结构化网络提出文章近似度匹配算法。文章距离算法的流程图如图1 所示。

文章词频的计算方法:词频向量是每篇文章都会产生的,文档通常可以使用向量进行表示,文档中的词就是文档的特征频率,用于文章距离算法中使用。通常我们在进行文章词频提取的时候,我们会去掉一些没有实际表达作用的词汇。

词关联表的产生和扩充:首先搜索引擎会从网络中抓取文章,将文章训练成词关联表”。然而互联网的极速发展,导致每秒钟都有可能有成千上万、不计其数的文章在进行更新,这里我们需要一个可以进行自动更新而且可以持续不断进行大规模训练的词库。因此我们需要定制一个单独的词频更新模块。

关联表属于一个上三角矩阵,在文章库中出现过的实词用行和列进行表示。同一篇文章中,两个单词出现的次数在矩阵行和列的交接处表示出来。例如单词G 和E,他们的交接处是2,表示他们在同一篇文章中出现了两次。当文章库进行更新时,会对词关联度进行更新。随着训练文章数目的增加,矩阵也不断的变大。比如当文章库的数量增加到一定的程度时,G 和E 交接处的数字变成了40,文章库总数量是2000 的话,我们就可以认为这两个词在同一篇文章中的同时出现的概率为百分之二。

词的关联度在词向量扩展时的应用:两篇文章在比较的过程中,一定会出现陌生词汇。陌生词汇指的是这两个词频向量中没有同时出现的词。两篇文章进行向量比较时,需要扩展两篇文章之间的词表才能进行两篇文章之间的向量比较。要不,两篇文章的向量维数将会不同,这样也就不存在向量距离这么一个说法了。如果两篇文章A 和B,它们的词频向量分别为a 和b,这样我们就可以将他们的词频向量进行扩展,扩展为a 和b 的并积。将原来的词的词频保留,新生成的词频一律设置为0 即可。然而这种方法想的有点过于简单了,因为如果A 和B 中的关键词都是陌生的,仅仅通过将词频赋值为0 的做法,很难辨别出来两者之间的关联程度,也就不知道哪两个关键词更加接近。由此,我们就需要设计相应的关联度算法。

关联度算法:关联度算法的主体思想是,当陌生词出现在两篇文章之间的时候,比如文章A 中的关键词对于文章B 来说,是陌生的。这时候,就需要通过一种算法,将A 中现有的关键词,推出B 和A 的关联,并将计算值赋值,而不是之前提到的统统赋值为0。如图2 所示,关键词G 对于文章B 来说属于陌生词,而G 本身拥有从A 到F 这么多的关键词。通过计算关联度来判断G 和文章B 的接近程度。词频向量扩展图如图2 所示。

图2 词频向量扩展图

返回相似文章列表:通过对DHT 中所有的词频表进行距离计算后,通过原文章距离最接近的和排序返回的一些文章的链接和快照。这些链接和快照就是我们常常在使用搜索引擎搜索某些关键词后出来的结果。

4 总结

本文主要的研究对象为基于云计算的语义搜索引擎,将搜索引擎的海量的数据源和海量的数据处理功能部署在云上,通过云计算的手段来完成传统的服务器负载的功能。传统的搜索往往是通过关键词搜索技术进行定位,最后获得搜索结果,本文研究的搜索引擎为语义搜索引擎,将关键词所对应的关联词等同时进行搜索,最后获取到搜索结果。这样获得的搜索结果将会更多,更加能够满足客户的需求。与传统的搜索引擎相比,本文所研究的所有引擎更有市场发展前景,更加适合未来市场的发展需要。

[1] 陈大平集成搜索引擎与元搜索引擎比较研究大学图书情报学刊 2009 年 2 月第 23 卷第 1 期 42-43 页

[2] 崔飞虎、潘正运基于互联网的全文搜索引擎模型信息安全与通信保密2010 年 02 期 120-122 页

猜你喜欢

词频海量搜索引擎
一种傅里叶域海量数据高速谱聚类方法
海量快递垃圾正在“围城”——“绿色快递”势在必行
25年来中国修辞研究的关键词词频统计*——基于国家社科与教育部社科课题立项数据
一个图形所蕴含的“海量”巧题
网络搜索引擎亟待规范
一种海量卫星导航轨迹点地图匹配方法
词频,一部隐秘的历史
基于Nutch的医疗搜索引擎的研究与开发
以关键词词频法透视《大学图书馆学报》学术研究特色
汉语音节累积词频对同音字听觉词汇表征的激活作用*