基于Coreseek的垂直搜索引擎研究与优化的方法

文档序号:10553016阅读:172来源:国知局
基于Coreseek的垂直搜索引擎研究与优化的方法
【专利摘要】一种基于Coreseek的垂直搜索引擎研究与优化的方法:通过对图书领域的网站进行分析,将待爬取的关于图书的网页作为种子链接,进行爬取信息;对主题爬虫爬取到的图书网页信息进行结构化抽取,把非结构化的数据转化为结构化数据;扩充LibMMSeg分词库,将结构化的数据存入数据库,并进行中文分词,使用Coreseek建立索引,通过主题爬虫系统从互动出版社网站爬取出版社和作者信息,结合搜狗细胞词库,按照LibMMSeg的词库格式添加到词典文件中;对用户输入的关键字通过索引在数据库中查询,对查询到的数据按照制定的排序算法进行排序后,返回给用户查看。本发明适应于短文本的图书搜索,更加能满足用户使用搜索引擎寻找图书信息的需求。
【专利说明】
基于Coreseek的垂直搜索引擎研究与优化的方法
技术领域
[0001]本发明涉及一种垂直搜索引擎研究与优化。特别是涉及一种基于Coreseek的垂直搜索引擎研究与优化的方法。
【背景技术】
[0002]目前在相关技术中,有搜索引擎和网络爬虫技术。其中搜索引擎主要分为两类:一种是通用搜索引擎。通用搜索引擎采用关键词匹配的方式检索信息,搜索系统会根据查询词将匹配到的所有结果全部返回给用户,由于一个词的含义可能有许多种,因此在这些返回结果中就存在很多不是用户想要的信息。
[0003]另一类搜索引擎是垂直搜索引擎。垂直搜索引擎的出现解决了通用搜索引擎所面临的问题,垂直搜索引擎并不索引网络中的全部信息,它只关注某一类的特定信息,因此所需要的硬软件资源耗费相对较少。同时由于垂直搜索引擎只关注特定主题的信息,当用户需要较高准确度的检索结果时,垂直搜索引擎就可以满足这种特殊需求。
[0004]网络爬虫技术主要分为两类:一种是通用网络爬虫技术。在通用网络实际工作中,需要动态地维护一个等待爬取的Uniform Resoure Locator(URL)队列,开始时要提取队列中已经选取好的URL种子链接,运用宽度优先或者深度优先的方法进行遍历,对其所指向的网页进行抓取工作,抓取后从这个网页中解析出一个新的URL,然后把它存入到URL队列中。而页面库可以将所有经过解析的页面以一定的数据结构的方式进行保存。爬虫过程是不断重复上述步骤直至待爬取队列已空或者达到了终止条件。
[0005]另一类网络爬虫技术技术是主题网络爬虫技术。由于工作机制的不同,主体网络爬虫相比于通用网络爬虫具有两个不同的功能模块,分别为主题相关性计算模块和候选链接优先级计算模块。这两个模块也是主题网络爬虫实现核心功能的关键模块,它们对爬虫的输出结果的优劣有着直接影响。主题相关性计算模块用来计算已得到的网页与主题的相关性。在进行主题相关性计算前,首先需要设定阈值条件用来筛选网页。候选链接优先级计算模块用来计算主题相关性计算模块所得出的链接的处理优先级。

【发明内容】

[0006]本发明所要解决的技术问题是,提供一种更适应于短文本的图书搜索,可以返回给用户更满意答案的基于Coreseek的垂直搜索引擎研究与优化的方法。
[0007]本发明所采用的技术方案是:一种基于Coreseek的垂直搜索引擎研究与优化的方法,包括如下步骤:
[0008]I)通过对图书领域的网站进行分析,将待爬取的关于图书的网页作为种子链接,然后利用基于分类预测的主题爬虫系统进行爬取信息;
[0009]2)对主题爬虫爬取到的图书网页信息进行结构化抽取,把非结构化的数据转化为结构化数据;
[0010]3)扩充LibMMSeg分词库,对结构化的数据进行中文分词,并将结构化的数据存入数据库,并使用Coreseek建立索引,通过主题爬虫系统从互动出版社网站爬取出版社和作者信息,结合搜狗细胞词库,按照LibMMSeg的词库格式添加到词典文件中;
[0011]4)对用户输入的关键字通过索引在数据库中查询,对查询到的数据按照制定的排序算法进行排序后,返回给用户查看。
[0012]步骤I)所述的对图书领域的网站进行分析,是分析待爬取的网页的网址的结构。
[0013]步骤I)所述的将待爬取的关于图书的网页作为种子链接是在种子链接的页面上必须包括各种图书信息的起始链接,页面上的链接能够直接链接需要爬取的网页。
[0014]步骤I)所述的利用基于分类预测的主题爬虫系统进行爬取信息,是使用Python编程语言实现基于分类预测的网络爬虫系统DouCrawler,爬取网站上关于图书信息的网页。
[0015]步骤4)包括:
[ΟΟ??] (I)利用Core seek全文搜索引擎工具对图书信息进行检索,Core seek基础的排序算法与TF-1DF算法结合,并且考虑到关键字在文档的前面位置出现还是后面位置出现的因素,加入评分因子hit_loc和hit_else,形成C0RE_RANK算法如下:
[0017]C0RE_RANK = Σ((α Xtf_idf+PX(hit_loc= = I)+hit_else)Xuser_weight)X1000+BM25
[0018]其中,tf_idf为使用TF-1DF计算出的查询与文件之间的相似度值,hit_loc为关键字第一次匹配的位置,hit_else为关键字在其他位置是否还有匹配,BM25为统计评分算法,user_weight为每个域中用户定义的权重,α为tf_idf的权重,β为关键字在文档中第一个位置命中的权重;
[0019](2)对用户输入的关键字通过索引在数据库中查询,对查询到的数据按照改进的排序算法进行排序,返回给用户查看。
[0020]本发明的基于Coreseek的垂直搜索引擎研究与优化的方法,在研究垂直搜索引擎的关键技术的基础上,扩充了LibMMSeg分词包并优化了⑶RE_RANK排序算法,优化后的C0RE_RANK排序算法更适应于短文本的图书搜索,并实现了一个面向图书信息的垂直搜索系统,并能提供图书搜索服务。能更好的返回用户的搜索结果,更加能满足用户使用搜索引擎寻找图书信息的需求。
【附图说明】
[0021]图1是本发明基于Coreseek的垂直搜索引擎研究与优化的方法的流程图;
[0022]图2是SPH_RANK_PR0XIMITY_BM25算法的检索结果图;
[0023]图3是SPH_RANK_FIELDMASK算法检索结果图;
[0024]图4是C0RE_RANK算法检索结果图。
【具体实施方式】
[0025]下面结合实施例和附图对本发明的基于Coreseek的垂直搜索引擎研究与优化的方法做出详细说明。
[0026]本发明的基于Coreseek的垂直搜索引擎研究与优化的方法,包括如下步骤:
[0027]I)通过对图书领域的网站进行了解和分析,将待爬取的关于图书的网页作为种子链接,然后利用基于分类预测的主题爬虫系统进行爬取信息;其中,
[0028]所述的对图书领域的网站进行了解和分析,是由于不同的网站的网址的结构不同,所以要分析待爬取的网页的网址的结构。
[0029]在爬取网站之前首先需要对爬取的种子链接进行选取,种子链接的选取关系到爬取的网页的相关性,所述的将待爬取的关于图书的网页作为种子链接是在种子链接的页面上必须包括各种图书信息的起始链接,页面上的链接能够直接链接需要爬取的网页。
[0030]所述的利用基于分类预测的主题爬虫系统进行爬取信息,是使用Python编程语言实现基于分类预测的网络爬虫系统DouCrawler,爬取网站上关于图书信息的网页。
[0031]2)对主题爬虫爬取到的图书网页信息进行结构化抽取,把非结构化的数据转化为结构化数据;
[0032]3)扩充LibMMSeg分词库,对结构化的数据进行中文分词,并将结构化的数据存入数据库进行索引,通过主题爬虫系统从互动出版社网站爬取出版社和作者信息,结合搜狗细胞词库,按照LibMMSeg的词库格式添加到词典文件中;
[0033]4)对用户输入的关键字通过索引在数据库中查询,对查询到的数据按照制定的排序算法进行排序后,返回给用户查看。包括:
[0034](I)利用Coreseek全文搜索引擎工具对图书信息进行检索,针对Coreseek自身的基础排序算法不适合短文本搜索排序的弱点,基于TF-1DF(Term Freqency-1nverseDocument Frequency)算法对图书名称的权重增大,并改进原有排序算法,具体是把Coreseek基础的排序算法与TF-1DF算法结合,并且考虑到关键字在文档的前面位置出现还是后面位置出现的因素,加入评分因子hit_loc和hit_else,形成C0RE_RANK算法。这里使用TF-1DF算法的原因是要把图书名称的权重增大,C0RE_RANK算法如下公式所示:
[0035]C0RE_RANK = Σ((α Xtf_idf+PX(hit_loc= = I)+hit_else)Xuser_weight)X1000+BM25
[0036]其中,tf_idf为使用TF-1DF计算出的查询与文件之间的相似度值,hit_loc为关键字第一次匹配的位置,hit_else为关键字在其他位置是否还有匹配,BM25为统计评分算法,user-weight为每个域中用户定义的权重,α为tf_idf的权重,β为关键字在文档中第一个位置命中的权重,经过实验测试,取为2,为4时,可以得到很好的效果。
[0037](2)对用户输入的关键字通过索引在数据库中查询,对查询到的数据按照改进的排序算法进行排序,返回给用户查看。
[0038]本发明的基于Coreseek的垂直搜索引擎研究与优化的方法,在研究垂直搜索引擎的关键技术的基础上,优化了分词算法和C0RE_RANK排序算法,优化后的⑶RE_RANK排序算法更适应于短文本的图书搜索,并实现了一个面向图书信息的垂直搜索系统,并能提供图书搜索服务。
[0039]下面通过搭建面向图书信息的搜索引擎,对比Coreseek的基本排序算法和改进的排序算法C0RE_RANK在返回结果的评分和内容上不同,判断本发明方法的效果和实用性。
[0040]本发明在实施过程中选取搜索关键词为“女孩”,图2为SPH_RANK_PR0X頂ITY_BM25算法的实验结果,如图2所示,当搜索关键字“女孩”时,检索结果的评分为1637分,且所有的评分都是一样,没有按图书名称的字数排列,对用户来说搜索没有差别性。
[0041 ] SPH_RANK_FIELDMASK算法检索“女孩”的结果如图3所示。
[0042]SPH_RANK_FIELDMASK排序算法认定图书内容权重大于图书名称的权重,返回结果没有特征性。即,SPH_RANK_FIELDMASK排序方式的结果评分都为2,算法规定如果在内容匹配,则评分为2,所以算法认定图书内容权重大于图书名称的权重,返回结果没有特征性。
[0043]改进后的排序算法C0RE_RANK算法搜索“女孩”的检索结果如图4所示。
[0044]C0RE_RANK算法为本发明中在以上几个算法的基础上做出的改进算法,检索结果显示,《女孩》这本书的评分最高,为6243分,因为搜索关键字和图书名称完全匹配,所以在返回结果的第一位并且分数最高,显示的其他书籍分数一样,为1243分,以最快的速度找到需要的结果。
[0045]本发明针对Coreseek的基本排序算法对短文本搜索不敏感的缺点,结合图书信息搜索用词的相关特点对其进行改进。通过多个对比实验说明改进后的排序算法能更好的返回用户的搜索结果,更加能满足用户使用搜索引擎寻找图书信息的需求。
【主权项】
1.一种基于Coreseek的垂直搜索引擎研究与优化的方法,其特征在于,包括如下步骤: 1)通过对图书领域的网站进行分析,将待爬取的关于图书的网页作为种子链接,然后利用基于分类预测的主题爬虫系统进行爬取信息; 2)对主题爬虫爬取到的图书网页信息进行结构化抽取,把非结构化的数据转化为结构化数据; 3)扩充LibMMSeg分词库,对结构化的数据进行中文分词,并将结构化的数据存入数据库,并使用Coreseek建立索引,通过主题爬虫系统从互动出版社网站爬取出版社和作者信息,结合搜狗细胞词库,按照LibMMSeg的词库格式添加到词典文件中; 4)对用户输入的关键字通过索引在数据库中查询,对查询到的数据按照制定的排序算法进行排序后,返回给用户查看。2.根据权利要求1所述的基于Coreseek的垂直搜索引擎研究与优化的方法,其特征在于,步骤I)所述的对图书领域的网站进行分析,是分析待爬取的网页的网址的结构。3.根据权利要求1所述的基于Coreseek的垂直搜索引擎研究与优化的方法,其特征在于,步骤I)所述的将待爬取的关于图书的网页作为种子链接是在种子链接的页面上必须包括各种图书信息的起始链接,页面上的链接能够直接链接需要爬取的网页。4.根据权利要求1所述的基于Coreseek的垂直搜索引擎研究与优化的方法,其特征在于,步骤I)所述的利用基于分类预测的主题爬虫系统进行爬取信息,是使用Python编程语言实现基于分类预测的网络爬虫系统DouCrawler,爬取网站上关于图书信息的网页。5.根据权利要求1所述的基于Coreseek的垂直搜索引擎研究与优化的方法,其特征在于,步骤4)包括: (1)利用Coreseek全文搜索引擎工具对图书信息进行检索,Coreseek基础的排序算法与TF-1DF算法结合,并且考虑到关键字在文档的前面位置出现还是后面位置出现的因素,加入评分因子hit_loc和hit_else,形成C0RE_RANK算法如下: C0RE_RANK = Σ ((α X tf_idf+PX (hit_loc= = I)+hit_else) Xuser_weight) X 1000+BM25 其中,tf_idf为使用TF-1DF计算出的查询与文件之间的相似度值,hit_loc为关键字第一次匹配的位置,hit_else为关键字在其他位置是否还有匹配,BM25为统计评分算法,user_weight为每个域中用户定义的权重,α为tf_idf的权重,β为关键字在文档中第一个位置命中的权重; (2)对用户输入的关键字通过索引在数据库中查询,对查询到的数据按照改进的排序算法进行排序,返回给用户查看。
【文档编号】G06F17/30GK105912662SQ201610222675
【公开日】2016年8月31日
【申请日】2016年4月11日
【发明人】喻梅, 郭佳, 于健, 王建荣, 高洁, 姜月
【申请人】天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1