首页> 中国专利> 搜索对比关联购物信息的垂直搜索引擎及方法

搜索对比关联购物信息的垂直搜索引擎及方法

摘要

本发明公开一种搜索对比关联购物信息的垂直搜索引擎及方法,搜索引擎由数据爬取模块、网页解析模块、索引存储模块、检索模块组成。方法实现当用户查询某款电子产品时,搜索服务会返回给用户在不同购物平台上对该款商品的属性信息,该属性信息主要有不同购物平台上的价格、评价、销售趋势等信息组成;实现对比关联购物信息的查询,便于用户对商品进行对比购买,择优选择,做到全方面查看相关商品的属性信息。

著录项

  • 公开/公告号CN102968495A

    专利类型发明专利

  • 公开/公告日2013-03-13

    原文格式PDF

  • 申请/专利权人 河海大学;

    申请/专利号CN201210498700.9

  • 申请日2012-11-29

  • 分类号G06F17/30(20060101);

  • 代理机构南京苏高专利商标事务所(普通合伙);

  • 代理人柏尚春

  • 地址 210098 江苏省南京市鼓楼区西康路1号

  • 入库时间 2024-02-19 17:33:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-11-18

    授权

    授权

  • 2013-04-10

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20121129

    实质审查的生效

  • 2013-03-13

    公开

    公开

说明书

技术领域

本发明涉及到网络应用中的信息检索技术——垂直搜索引擎,涉及到的技术是在实现电子购物过程中,实现对某款电子产品的关联信息检索,具体是一种搜索对比关联购物信息的垂直搜索引擎和一种搜索对比关联购物信息的垂直搜索方法。

背景技术

在信息时代,搜索引擎已经成为我们生活中必不可少的一部分,人们通过它在海量的信息海洋中实现快速定位信息、快速获取信息、快速解决问题的目的。搜索引擎包括通用搜索引擎和垂直搜索引擎。

通用搜索引擎的技术是利用机器人技术通过网页抓取程序(spider)顺着网页中的超链接,连续的抓取网页,然后根据索引表倒排表(inverted list),即由索引项查找相应的URL。索引表也要记录索引项在文档中出现的位置,以便检索器计算索引项之间的相邻关系或接近关系,并以特定的数据结构存储在硬盘上,最后供用户使用。

该技术能能够快速返回大量的信息给用户,但当我们在海量的网络数据查询我们特定的信息时,我们会发现这些搜索引擎返回给我们的大量信息并不是我们所需要的,而我们真正所需要的信息并非总是在第一时间以及醒目的位置出现,可见,在信息搜索方面上,通用搜索引擎并不能满足我们的电子购物的需求。

垂直搜索引擎是针对某一个领域或者一个行业的信息检索,它的特点是查找准确度高,使用户能够快速定位、准确获取自己所要的信息。尤其是在电子购物平台上,如淘宝网、京东商城网,这些电子购物平台含有大量的图片、商品种类、评价等各种信息,因此一个有效的垂直搜索引擎可以有助于用户快捷购物。它所采用的技术仍是基于通用搜索引擎、在固定的一个网站内进行检索,虽然能够提供在该网站的众多商家信息,但其无法检索其他购物平台的商品信息,也就是说无法实现跨网站搜索。例如,顾客在淘宝网搜索一款手机,那么返回的信息是在淘宝网上商店的信息,无法获取京东商城上的同一款手机的商品信息,即无法提供给顾客全面而又能对比的信息,无法实现“货比三家”式的对比式购物。

在信息检索领域和在商业应用过程中搜索引擎存在很多问题和局限性,出现的问题既有技术层面上的,也有人为的保护主义,总的归纳起来如下:

(1)不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的信息,无法应用于电子购物平台这种专业性强的搜索服务;

(2)垂直搜索引擎虽能准确返回用户定义的信息,但因其在电子商务应用上的保护主义,使得每个网站只提供自己平台上的商品信息,故意屏蔽其他电子网站的商品信息,防止顾客比较、无法实现对比关联信息的检索。

发明内容

发明目的:针对现有技术中存在的问题,本发明提供一种搜索对比关联购物信息的垂直搜索引擎及方法。

技术方案:一种搜索对比关联购物信息的垂直搜索引擎,包括爬取不同购物平台商品信息的网页爬取模块,把爬取出的原始网页解析成文本文件的解析模块,把解析后的海量商品的对比关联属性信息存到数据库中并建立索引便于搜索的索引存储模块,以及提供给用户用来检索商品关联信息的检索模块;

用户通过检索模块中的浏览器输入要查询的商品名称;所述检索模块将所述商品名称发送给索引存储模块;所述索引存储模块将包含所述商品的关联查询信息返回给检索模块中的浏览器,供用户浏览查询使用。

所述网页爬取模块利用Heritrix爬虫技术,获得包含商品属性信息的网页,作为垂直搜索引擎检索的原始数据,尽可能的爬取所有的电子购物平台上的所有商品信息。爬取过程中是以电子购物网站为单位,因此在实现技术上只要实现一个网站,其他网站按照同等技术依次爬取,最后在索引存储模块进行整合。

由于网页爬取模块爬取的原始HTML网页包含了大量的无用的格式信息和标记信息,在建立索引之前必须对网页进行解析,把定向抓取的HTML页面解析成文本文件。所述网页解析模块采用HTMLParser模式解析HTML网页中的Node节点,同时提供访问节点的方法Filter模式。

所述索引存储模块,将网页解析模块解析的文本文件中的商品关联属性信息作为数据库的数据源,提取出文本文件中的属性信息词,规范之后存储在数据库中,建立Lucene索引,使数据库与索引整合。本发明中还进一步设计一种降低索引维护开销、降低磁盘读写次数、减少内存消耗索引优化方法:

首先对要建立索引的逻辑文件进行分类分级,设定不需要建立索引、分词后建立索引、不分词索引共三种索引方式,并把索引建立在选择性高的逻辑文档上。

对数据源选择性处理放入到哈希表中。对所有数据源进行遍历,对于不需要建立索引的数据源直接忽略掉,然后处理不需要被分词的数据源,取出其中的值作为一个大词条按照词条向量存储到哈希表中,对于需要分词的数据源,则调用底层分词接口进行分词,然后将分出的词条放入到哈希表中。这一过程是占用内存较多的过程,因为需要建立索引的分词必须都要放入到哈希表中,除了这些分词,还要存储分词的位置、频率等信息。通过这一过程有效的避免了把所有的数据源都放入到哈希表,避免表的数据量越来越多,进而造成磁盘开销大,内存消耗多,甚至造成内存溢出,最终无法建立索引的现象。

依据词条出现频率分开建立索引。通过上述过程过滤了较多数量不需要建立索引的数据源,然后对放入到哈希表中的数据源进行排序,在排序过程中记录相同分词出现频率,设定高频率词条占总词条数量的1/3,低频率词条占总词条数量2/3,然后按照频率高低分两类分别写入到不同的文件中去,避免所有与词条相关的内容都生成一个索引文件,避免频繁的磁盘读写和大的内存消耗,最后生成索引。

在索引的建立过程强制设定索引合并因子参数。对高频率词条需要检索的概率很大,应减少最终索引的生成数量,设定合并因子数在5到7之间,尽可能的降低磁盘读写次数。对低频率词条设定合因子在2到4之间,尽可能降低索引建立时的内存消耗,以达到间歇性的向索引中添加逻辑文档。通过分类设定合并因子,达到内存消耗和磁盘操作的最佳平衡点,避免一个大索引文件的建立过程中造成频繁的磁盘操作和内存消耗大的现象。

检索模块对用户提供检索入口,返回用户搜索的商品属性对比关联信息,供用户浏览对比购物。

搜索引擎需要提供用户服务,搜索界面是Web交互方式,本搜索引擎采用的是Ajax中的DWR封装框架。该框架可以实现用户检索异步进行,后台负责检索得到关联商品列表送到前台显示与更新。

本发明是由以上4个模块组成,构成搜索对比关联购物信息的垂直搜索引擎的架构,能够较好的实现搜索电子商务平台上关联购物信息的查询。

一种搜索对比关联购物信息的垂直搜索方法,包括如下步骤,

商品信息爬取的步骤如下:

步骤11:选取种子站点;

步骤12:分析种子站点网页结构,选定含有15个链接以上的原始网页;

步骤13:针对原始网页,定制Heritrix网络爬虫;

步骤14:定制中央控制器;

步骤15:对下载的原始HTML页面进行分析,并存储到本地硬盘上;

步骤16:下一级链接的提取分析与爬取,返回步骤14;

步骤17:抓取下来的原始页面整合、分类存储到本地硬盘;

原始网页解析的步骤如下:

步骤21: 分析爬取下来的原始页面,初步分析将要解析的节点结构及节点中内容;

步骤22:封装解析器解析页面类库,扩展解析类;

步骤23:根据步骤21中的分析的节点内容与结构,定制与其相对应的正则表达式与各种过滤器,以便筛选出各种不同的商品属性信息;

步骤24:扩展步骤22中的Parser,根据原始页面URL做一个解析器;

步骤25:根据步骤24的解析器做一个访问器;

步骤26:开始遍历节点,获取每个节点中的内容,根据内容分别进行解析;

步骤27:逐步遍历爬取下来的每一个原始页面,对每一个页面按照以上21-26步骤进行遍历节点,获取商品属性信息;

索引建立的过程如下:

步骤31:利用JE分词构建名称信息词库,需要遍历所有的产品信息,从中解析出产品的品牌和型号,写入制定的产品词库文件中,完成词库提取;

步骤32:产品信息文件存储,存储不同电子购物平台的商品信息,实现商品信息关联,作为用户查询的原始数据; 

步骤33:建立Lucene索引;

步骤34:索引合并运行与处理。

本发明采用上述技术方案,具有以下有益效果:垂直搜索引擎实现快速定位、快速获取、快速返回结果以满足用户需求,并且该垂直搜索引擎能很好的应用在电子购物平台上,突破单个购物网站的局限,实现把不同网站上的商品信息全部返回给客户,让客户真正在购物平台上“货比三家”,择优购物、优惠购物。真正实现通过垂直搜索准确返回不同购物网站上的所有关联购物信息。

附图说明

图1为本发明实施例的搜索对比关联购物信息的垂直搜索引擎模块结构框图;

图2为本发明实施例的网页爬取模块的原理图;

图3为本发明实施例的网页解析流程图;

图4为本发明实施例的索引建立的流程图;

图5为本发明实施例的索引优化方法流程图;

图6为本发明实施例的检索模块的应用系统框架图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

如图1所示,搜索对比关联购物信息的垂直搜索引擎由网页爬取模块、解析模块、索引存储模块和检索模块组成。在网页爬取模块中使用Heritrix爬虫以设定的种子站点为起点进行网页爬取,选取尽可能多的电子购物平台,已达到把所有的对比信息都爬取作为关联信息的来源;在解析模块中利用HTMLParser提供接口解析网页得到图片、属性、标题、对比信息、评价等各种信息;在索引存储模块中把解析得到信息存储到本地数据库中,并建立Lucene索引;在检索模块中利用Ajax框架进行web开发,返回顾客查询的商品信息同时提供各种商品的对比关联信息。

参照图1中网页爬取模块与图2,为了实现搜索对比关联购物信息,必须首先拥有不同购物网站上所有商品的信息,因此我们选取淘宝网、淘宝商城网、京东商城网、PC太平洋、苏宁易购网作为种子站点,由于针对每一个网站的抓取流程都是相同的,因此在本发明专利只需详细叙述一个种子站点即可,在此选取京东商城网。

其详细的实施过程如下:

步骤1:选取京东商城网为种子站点,设定要下载的网页列表。

步骤2:分析京东商城网的HTML页面结构,选取至少含有15个链接以上的网页作为原始网页。

步骤3:针对原始网页,定制自己的Heritrix网络爬虫。定制网络爬虫的步骤如下:

1)针对原始网页定制扩展Heritrix中的Frontier线程类,决定把哪一个链接放到线程池中;

2)针对原始网页定制扩展Heritrix中的Extractor抓取类,决定把含有什么属性信息的网页抓取下来;

3)封装成网络爬虫的核心。

步骤4:定制中央控制器,决定整个抓取任务的开始与结束。中央控制器定义了一下组件:

1)定义抓取任务的起点;

2)设定抓取的范围;

3)定制处理器链,决定抓取链接的顺序;

4)定制线程池,管理抓取的线程数;

5)设定抓取网页的输出路径。

步骤5:开始爬取,多线程设定以节约时间,其中线程个数的设定依据电脑硬件的条件综合选择。

步骤6:对下载的原始HTML页面进行分析,并存储到本地硬盘上。

步骤7:下一级链接的提取分析与爬取,返回步骤4。

步骤8:根据步骤4设定的抓取任务结束点,完成抓取任务,把抓取下来的原始页面整合、分类存储到本地硬盘。

至此网页爬取具体的实施过程完成。

网页爬取获得的数据主要是原始的HTML页面,里边包含了大量的格式信息和标记信息,在索引存储模块建立之前需要对其进行解析,以便进行数据存储与索引建立。在该处理模块中采用HTMLParser模式解析网页中的Node节点,并提供Filter模式访问页面中的节点。参照图1和图3,其具体的实施过程如下:

步骤1:分析爬取下来的原始页面,初步分析将要解析的节点结构及节点中内容。

步骤2:封装解析器(HTMLParser)解析页面类库,扩展解析类。

步骤3::根据步骤1中的分析的节点内容与结构,定制与其相对应的正则表达式与各种过滤器,以便筛选出各种不同的商品属性信息。

步骤4:扩展步骤2中的Parser,根据原始页面URL做一个解析器。

步骤5:根据步骤4的解析器做一个访问器(visitor)。

步骤6:开始遍历节点,获取每个节点中的内容,根据内容分别进行解析。参照图3,分类如下:

a)根据评分过滤器获得商品评分,解析文本文件;

b)根据图片过滤器获得商品评分,解析文本文件;

c)根据属性过滤器获得商品评分,解析文本文件;

d)根据标题过滤器获得商品评分,解析文本文件。

步骤7:逐步遍历爬取下来的每一个原始页面,对每一个页面按照以上步骤进行遍历节点,获取商品属性信息。

步骤8:设定解析后的文本文件和图片存储路径。

至此图1中的解析过程完成。

在解析模块中我们把定向抓取的HTML页面解析成文本文件,但这些数据文件的信息量是相当巨大的,很难直接用来作为搜索引擎搜索的数据来源,为了快速、准确的查找,搜索。必须对提取的数据进一步的分析和整理,建立产品词库,设计数据内容的数据库和索引存储结构,设计文本索引形式的搜索引擎结构。

参照图4索引存储模块的整体流程结构图,在索引建立过程中,需要构建JE分词器构建产品名称信息词库,然后对产品信息数据进行存储与处理,对存储后的数据建立Lucene索引,最后把存储过程和索引过程集中起来进行关联信息的集中处理。其详细实施步骤如下:

步骤1:利用JE分词构建名称信息词库,需要遍历所有的产品信息,从中解析出产品的品牌和型号,写入制定的产品词库文件中,完成词库提取。词库提取过程如下:

a)打开文本文件的存放目录;

b)子目录遍历获取每个文本文件内容;

c)获取产品名称和型号词表文件;

d)生成词库,产品名称和型号此表排序输出,提取词库完成。

当词库建立好后,需要将解析后的海量属性信息进行存储和管理,同时需要提供方便的查询和访问方法。需要管理和索引的信息包括图片信息、商品属性信息、关联对比信息、建立的词库表等。具体实施过程如下:

步骤2:产品信息文件存储,存储不同电子购物平台的商品信息,

实现商品信息关联,作为顾客查询的原始数据。

a)定义商品属性对象,作为装载信息的值对象; 

b)确定数据库和索引的结构和数据类型;

c)把关联属性信息写入数据库。 

步骤3:建立Lucene索引。其详细的实施过程如下:

a)初始化分词实例,对文本进行中文分词和文本分割;

b)创建文件读取对象并与分词器关联,读取磁盘词库文件;

c)创建写索引对象,实现添加商品信息方法;

d)合并索引,完成索引的创建与添加。

步骤4:产品信息的处理与运行。在步骤2中数据库操作已经封装到指定的类,

步骤3中的索引过程也封装到指定的类中,该步骤主要是把两者集中起来对每一款电子产品进行处理。

至此图1中的索引模块完成。实现搜索对比关联购物信息的垂直搜索引擎的核心部分已经全部完成。然后把从各个购物平台上获取的商品属性信息进行整合存储,以供对比关联购物查询。

经过前三个模块的实施,最后的检索模块是向用户提供搜索服务,用户在浏览器的搜索框中输入自己关注的电子产品信息,经过后台的计算把所有的该款关联购物信息全部返还给用户,让用户进行对比选择。由于垂直搜索后台包含了大量的计算,在接受到web前台的用户请求后,需要一段时间的检索和处理,需要灵活方便的管理用户请求,显示结果,实现异步模式的数据相应,以便满足海量用户的并发访问。

为降低索引维护开销、降低磁盘读写次数、减少内存消耗,如图5所示,建立一种索引优化方法:

首先对要建立索引的逻辑文件进行分类分级,设定不需要建立索引、分词后建立索引、不分词索引共三种索引方式,并把索引建立在选择性高的逻辑文档上。

对数据源选择性处理放入到哈希表中。对所有数据源进行遍历,对于不需要建立索引的数据源直接忽略掉,然后处理不需要被分词的数据源,取出其中的值作为一个大词条按照词条向量存储到哈希表中,对于需要分词的数据源,则调用底层分词接口进行分词,然后将分出的词条放入到哈希表中。这一过程是占用内存较多的过程,因为需要建立索引的分词必须都要放入到哈希表中,除了这些分词,还要存储分词的位置、频率等信息。通过这一过程有效的避免了把所有的数据源都放入到哈希表,避免表的数据量越来越多,进而造成磁盘开销大,内存消耗多,甚至造成内存溢出,最终无法建立索引的现象。

依据词条出现频率分开建立索引。通过上述过程过滤了较多数量不需要建立索引的数据源,然后对放入到哈希表中的数据源进行排序,在排序过程中记录相同分词出现频率,设定高频率词条占总词条数量的1/3,低频率词条占总词条数量2/3,然后按照频率高低分两类分别写入到不同的文件中去,避免所有与词条相关的内容都生成一个索引文件,避免频繁的磁盘读写和大的内存消耗,最后生成索引。

在索引的建立过程强制设定索引合并因子参数。对高频率词条需要检索的概率很大,应减少最终索引的生成数量,设定合并因子数在5到7之间,尽可能的降低磁盘读写次数。对低频率词条设定合因子在2到4之间,尽可能降低索引建立时的内存消耗,以达到间歇性的向索引中添加逻辑文档。通过分类设定合并因子,达到内存消耗和磁盘操作的最佳平衡点,避免一个大索引文件的建立过程中造成频繁的磁盘操作和内存消耗大的现象。

为了实现快速搜索的结果,本发明采用了DWR的Ajax方式作为搜索数据的提交与结果的返回,参照图6,用户接口是一个搜索界面,用户提交一个具体的搜索请求(如搜索苹果手机),Ajax框架把请求通过DWR引擎,以HTTP协议方式向web服务器Tomcat发出请求,Tomcat服务器通过索引模块建立的索引向数据库中查询相应的关联信息,然后封装起来返回到web服务器中,通过浏览器加载,把对应的对比关联购物信息显示在前台页面,供用户对比选择。

参照图1,检索模块的实施过程如下:

步骤1:设定数据库访问对象、搜索结果对象、设定搜索服务对象;

步骤2:搜索服务提供统一检索服务,获取用户提交请求;

步骤3:查询分析,搜索需要与该商品关联的其他商品信息,生成查询实例;

步骤4:检索模块检索;

步骤5:结果关联度排序,对比商品排序;

步骤6:结果集返回,供用户浏览,进行对比购物。

以上就是搜索对比关联购物信息的垂直搜索引擎实现过程,提供给用户电子购物的对比关联信息,以上的一系列详细说明仅仅是针对本发明的具体说明,其中的每一个实施方式并不是详细的实现方案,而是具体的实施过程。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号