发明内容
本发明的目的在于为解决上述现有技术缺陷,提供一种经过改进的在商品搜索中按照商品的相似度进行聚类的商品搜索方法,所述的商品搜索方法可以在商品搜索结果中将相同或者相近似的商品聚类组合在一起展现。
本发明的另一目的在于为解决上述现有技术缺陷,提供一种经过改进的在商品搜索中按照商品的相似度进行聚类的商品搜索系统,所述的商品搜索系统可应用所述经过改进的在商品搜索中按照商品的相似度进行聚类的商品搜索方法。
相应地,本发明一种实施方式的商品搜索方法包括如下步骤:
S1、建立商品信息数据库;
S2、根据商品信息数据库中的商品信息编制索引,得到商品索引信息;
S3、根据所述商品索引信息,提取商品图片,并抽取所述商品图片特征值,将与所述特征值相近的商品进行聚类,得到至少一个商品聚类信息;
S4、将所述商品索引信息和所述商品聚类信息存储;
S5、接收用户搜索请求;
S6、搜索与所述搜索请求相关的所述商品索引信息、所述商品聚类信息,得到搜索结果;
S7、输出所述搜索结果。
作为本发明的进一步改进,所述方法还包括更新步骤:
定期的根据商品信息数据库的更新信息,更新所述商品索引信息、商品聚类信息。
作为本发明的进一步改进,在所述S3步骤后,还包括步骤:
计算出至少一个所述商品聚类信息中的商品平均价格信息。
作为本发明的进一步改进,所述S4步骤还包括将所述商品平均价格信息存储。
作为本发明的进一步改进,在所述S6步骤,还包括搜索与所述搜索请求相关的所述商品平均价格信息。
作为本发明的进一步改进,在所述S4步骤后,还包括更新步骤:
定期的根据商品信息数据库的更新信息,更新所述商品索引信息、所述商品聚类信息,以及所述商品平均价格信息。
作为本发明的进一步改进,所述S3步骤中的所述商品图片特征值计算是通过SIFT算法进行。
作为本发明的进一步改进,所述商品索引信息包括商品图片和商品价格,以及商品名称和/或商品型号。
相应地,本发明的一种实施方式的商品搜索系统包括:
UI模块,用于接收用户搜索请求和输出搜索结果;
搜索模块,用于搜索与所述搜索请求相关的商品索引信息、商品聚类信息。
作为本发明的进一步改进,所述搜索模块还用于搜索与所述搜索请求相关的商品平均价格信息。
作为本发明的进一步改进,所述系统还包括:
数据存储模块,用于建立商品信息数据库;
索引建立单元,用于根据所述商品信息数据库中的商品信息编制索引,得到商品索引信息;
聚类单元,用于根据所述商品索引信息,提取商品图片,并抽取所述商品图片特征值,将与所述特征值相近的商品进行聚类,得到至少一个商品聚类信息;
存储单元,用于将所述商品索引信息和所述商品聚类信息进行存储;
UI模块,用于接收用户搜索请求和输出搜索结果;
搜索模块,用于搜索与所述搜索请求相关的所述商品索引信息、所述商品聚类信息,得到搜索结果。
作为本发明的进一步改进,所述系统还包括:
更新模块,用于定期的根据商品信息数据库的更新信息,更新所述商品索引信息、所述商品聚类信息。
作为本发明的进一步改进,所述系统还包括:
价格计算单元,用于计算出至少一个所述商品聚类信息中的商品平均价格信息。
作为本发明的进一步改进,所述存储单元还用于将所述商品平均价格信息存储。
作为本发明的进一步改进,所述搜索模块还用于搜索与所述搜索请求相关的所述商品平均价格信息。
作为本发明的进一步改进,所述系统还包括:
更新模块,用于定期的根据商品信息数据库的更新信息,更新所述商品索引信息、所述商品聚类信息,以及所述商品平均价格信息。
作为本发明的进一步改进,所述商品图片特征值计算是通过SIFT算法进行。
作为本发明的进一步改进,所述系统还包括:
Web服务模块,用于通过网络协议接收客户端发出的查询条件,并将所述查询条件转到所述UI模块,且所述web服务模块还用于接收所述UI模块返回的结果页面,并将所述结果页面返回至所述客户端。
作为本发明的进一步改进,所述商品索引信息包括商品图片和商品价格,以及商品名称和/或商品型号。
本发明的有益效果是:改进了商品搜索的方法及系统,通过增加商品的聚类模块,优化搜索的排序结果,将相同或相似的商品进行聚类,增加商品列表的规整程度,减少用户的进一步筛选操作,提高搜索效率,节约网络流量;同时,减少了客户端向服务器发起访问请求次数,从而减轻了服务器的处理压力,以及减少了占用的网络带宽,提升了网络传输速度,避免造成网络堵塞。
具体实施方式
为了对发明的技术特征、发明目的和技术效果有更加清楚的理解,现对照附图说明本发明的具体实施方式,在各图中相同的标号表示步骤相同的部分。在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。
如图2所示的本发明的商品搜索中按照商品相似度聚类的商品搜索系统10与客户端20实现互动的工作原理图。本实施方式中,该客户端20包括一浏览器,客户可通过该浏览器打开搜索引擎,并在搜索引擎中输入查询条件,一般的,该输入的查询条件为文本信息,当然,该查询条件还可以为图片信息、视频信息等等,当然,在本发明最佳实施方式中,所述搜索引擎即是本发明所述的商品搜索系统。所述商品搜索系统10通过网络接收客户输入至所述浏览器中的查询条件,并对该查询条件进行搜索后,将搜索结果返回至该浏览器。其中,该商品搜索系统10可以包括一台或多台服务器,该客户端20可以包括一个或多个用户终端设备,如个人计算机、笔记本电脑、无线电话、个人数字处理(PDA)、或其它计算机系统和通信系统。
这些服务器和终端设备在架构上都包含一些基本组件,如总线、处理系统、存储系统、一个或多个输入/输出系统、和通信接口等。总线可以包括一个或多个导线,用来实现服务器或终端设备各组件之间的通信。处理系统包括各类型的用来执行指令、处理进程或线程的处理器或微处理器。存储系统可以包括存储动态信息的随机访问存储器(RAM)等动态存储器,和存储静态信息的只读存储器(ROM)等静态存储器,以及包括磁或光学记录介质与相应驱动的大容量存储器。输入系统供用户输入信息到服务器或终端设备,如键盘、鼠标、手写笔、声音识别系统、或生物测定系统等。输出系统包括用来输出信息的显示器、打印机、扬声器等。通信接口用来使服务器或终端设备与其它系统或系统进行通信。通信接口之间可通过有线连接、无线连接、或光连接连接到网络中,使商品搜索系统10、客户端20间能够通过网络实现相互间的通信。网络可以包括局域网(LAN)、广域网(WAN)、电话网络如公共交换电话网(PSTN)、企业内部的互联网、因特网、或上述这些网络的结合等。
服务器和终端设备上均包含有用来管理系统资源、控制其它程序运行的操作系统软件,以及用来实现特定功能模块的应用软件。如图3所示,本发明的一种实施方式的商品搜索系统包括web服务模块100、与web服务模块100交互通信的UI模块102、与所述UI模块交互通信的搜索模块104、与所述搜索模块104通信的聚类模块106、与所述聚类模块106通信的数据存储模块108,以及与所述数据存储模块108通信的更新模块109。值得一提的是,这些模块即可存储并运行于同一服务器中,也可存储并运行在多台服务器中。
所述web服务模块100用于通过网络协议接收从客户端20传来的查询条件,并将该查询条件转到UI模块102,另外,该web服务模块100还用于接收所述UI模块102返回的结果页面,并将所述结果页面返回至客户端20。
所述UI模块102用于接收所述web服务模块100传送的查询条件,并将该查询条件发送至所述搜索模块104;另外,所述UI模块102还用于接收所述搜索模块104返回的搜索结果,并将所述搜索结果拼装为结果页面后,返回所述结果页面至所述web服务模块100。
所述搜索模块104用于搜索与所述搜索请求相关的商品索引信息、商品聚类信息,得到搜索结果。具体地,所述搜索模块104接收所述UI模块102输入的查询条件,并根据所述查询条件在所述聚类模块106中查询,得到包括至少一个商品索引信息,以及商品聚类信息的搜索结果。优选地,在本发明最佳实施方式中,所述搜索模块104还用于根据聚类模块106中的聚类情况,搜索得到聚类商品平均价格信息,并将所述结果发送至所述UI模块102。
所述聚类模块106用于建立并存储商品索引信息、商品聚类信息。在本发明最佳实施方式中,所述聚类模块106还用于建立并存储商品平均价格信息。如何得到所述商品索引信息、商品聚类信息、商品平均价格信息可参下述结合图5的具体描述。
所述数据存储模块108用于建立商品信息数据库。具体地,所述数据存储模块108存储大量卖家提交的商品信息,本发明所用到的商品信息中主要是商品名称与商品的图片。当然,优选地,所述数据存储模块108中的商品信息还包括商品价格、类别、名称、摘要等等。
所述更新模块109用于定期的根据商品信息数据库的更新信息,更新所述商品索引信息、所述商品聚类信息。优选地,所述更新模块109还用于定期更新所述商品平均价格信息。
如图4所示,在本发明一个实施方式中,所述聚类模块106包括索引建立单元1060、聚类单元1062、价格计算单元1064、以及存储单元1066。
索引建立单元1060用于根据所述商品信息数据库中的商品名称编制索引,得到商品索引信息。优选地,在本发明最佳实施方式中,该索引不仅可将存储于数据存储模块108中所有的商品信息建立索引,还可按照商品属性将索引分成多个对应的类别,例如:若按照商品属性为品牌建立索引,则检索所有商品名称中带有品牌的,如将商品名称中包含“诺基亚”归入一类并建立对应的索引,将商品名称中包含“摩托罗拉”的归入另一类并对应的建立索引,以此类推,即可建立按照商品属性为品牌的完整索引表,当然,该商品属性还可以为其他,如品种、销售区域、销售价格、卖家信用等等,按照上述商品属性为品牌相类似的方式,可以为储存于数据存储模块108中的所有商品建立一个完整的索引表。
聚类单元1062用于根据所述商品索引信息,提取商品图片,并抽取所述商品图片特征值,将与所述特征值相近的商品进行聚类,得到至少一个商品聚类信息。所述的商品的图片指的是存储在数据存储模块108中的所有商品的商品信息中包括的表示该商品特征的至少一张图片信息。所述的商品的特征值通过SIFT算法进行计算获得,通过提取图片的局部特征,在尺度空间寻找极值点,提取位置,尺度,旋转不变量,并去掉尺度变化,旋转等几何变形因素的影响,其主要的步骤包括:1.检测尺度空间极值点;2.精确定位极值点;3.为每个关键点指定方向参数;4.关键点描述子的生成。关于SIFT算法的详细介绍可以参考公开资料,即百度文库(http://wenku.baidu.com/view/1fc69cfdc8d376eeaeaa31f6.html)。在通过SIFT算法进行特征值计算后,对进行量化,将量化之后的特征值量值相同或相似的图片进行聚类。
价格计算单元1064用于计算出至少一个商品聚类信息中的商品平均价格信息。一般而言,即使对于一个商品聚类中的同样商品,由于卖家的不同,商品的销售价格会存在一定的区别,通过统计某个商品聚类信息中的所有商品的价格并获得一个整体的平均价格,该平均价格可以作为搜索结果的一部分提供给用户参考,让用户可以更清晰地了解该商品的销售行情,有利于提高客户的使用体验度。
存储单元1066用于存储所述商品索引信息和商品聚类信息。优选地,在本发明最佳实施方式中,所述存储单元1066还用于存储商品平均价格信息,以便搜索模块104可以迅速的搜索所述存储单元1066中的商品索引信息、商品聚类信息、商品平均价格信息,并将搜索到的结果通过UI模块102拼装为结果页面,传输给用户。
以下结合图5描述本发明的一种实施方式的商品搜索中按照商品的相似度聚类的方法。
图5是本发明的一种实施方式的商品搜索方法的工作流程示意图。所述的方法包括如下的步骤:
S1、建立商品信息数据库;所述商品信息数据库储存于如图3所述的数据存储模块108中。所述商品信息主要包括商品名称与商品的图片,当然,优选地,所述商品信息还可包括商品价格、类别、名称、摘要等。所述建立商品信息数据库的步骤,本领域普通技术人员已可通过现有技术熟练掌握,在此不再赘述。
S2、根据商品信息数据库中的商品名称编制索引,得到商品索引信息;优选地,在本发明最佳实施方式中,该索引不仅可将存储于数据存储模块108中所有的商品信息建立索引,还可按照商品属性将索引分成多个对应的类别,例如:若按照商品属性为品牌建立索引,则检索所有商品名称中带有品牌的,如将商品名称中包含“诺基亚”归入一类并建立对应的索引,将商品名称中包含“摩托罗拉”的归入另一类并对应的建立索引,以此类推,即可建立按照商品属性为品牌的完整索引表,当然,该商品属性还可以为其他,如品种、销售区域、销售价格、卖家信用等等,按照上述商品属性为品牌相类似的方式,可以为储存于数据存储模块108中的所有商品建立一个完整的索引表。在本发明的一个实施方式中,所述的步骤S200通过索引建立单元1060完成。
S3、根据所述商品索引信息,提取商品图片,并抽取所述商品图片特征值,将与所述特征值相近的商品进行聚类,得到至少一个商品聚类信息;在本发明的一个实施方式中,所述的步骤S3通过图5中的聚类单元1062完成,聚类单元1062用于比较处于某个商品索引分类下的商品的图片的特征值,将图片的特征值相近的商品放入一个聚类中。所述的商品的图片指的是存储在数据存储模块108中的所有商品的商品信息中包括的表示该商品特征的至少一张图片信息。所述的商品的特征值通过SIFT算法进行计算获得,通过提取图片的局部特征,在尺度空间寻找极值点,提取位置,尺度,旋转不变量,并去掉尺度变化,旋转等几何变形因素的影响,主要的步骤包括:1.检测尺度空间极值点;2.精确定位极值点;3.为每个关键点指定方向参数;4.关键点描述子的生成。关于SIFT算法的详细介绍可以参考公开资料,即百度文库(http://wenku.baidu.com/view/1fc69cfdc8d376eeaeaa31f6.html)。在通过SIFT算法进行特征值计算后,对进行量化,将量化之后的特征值量值相同或相似的图片进行聚类。
S4、将所述商品索引信息和所述商品聚类信息存储;这些商品索引信息、商品聚类信息均存储在所述的聚类模块106的存储单元1066中,以便搜索模块104可以迅速的搜索所述存储单元1066中的商品索引信息、商品聚类信息并将搜索到的结果通过UI模块102拼装为结果页面,传输给用户。优选地,所述聚类模块106定期读取数据存储模块108中商品信息数据库的变化情况并将其更新到索引聚类存储模块中,即是定期的根据数据存储模块108中商品信息数据库的更新信息,更新所述商品索引信息、商品聚类信息。
S5、接收用户搜索请求;所述的搜索请求为用户在客户端浏览中输入的商品查询条件,该关键词通过Web服务模块100、UI模块102传输给所述搜索模块104。
S6、搜索与所述搜索请求相关的所述商品索引信息和所述商品聚类信息,得到搜索结果。优选地,在本发明的最佳实施方式中,在该步骤中,还有搜索与所述搜索请求相关的商品平均价格信息。另外,在本发明的一个实施方式中,所述步骤S2是通过图3中的搜索模块104完成。所述搜索单元1030用于接收所述UI模块102输入的查询条件,并将所述查询条件在所述聚类模块106中查询,得到聚类后的至少一类商品,以及与所述商品相应的商品平均价格。
S7、输出搜索结果。所述的搜索结果通过UI模块102拼装为结果页面后,通过Web服务模块100发送至用户客户端。
在本发明最佳实施方式中,在上述S3步骤后,还包括步骤(图中未示出):计算出至少一个所述商品聚类信息中的商品平均价格信息。在本发明的一个实施方式中,该步骤通过价格计算单元1064完成,价格计算单元1064用于计算出所述的一个聚类中的商品平均价格。一般而言,即使对于一个聚类中的用样商品,由于卖家的不同,商品的销售价格会存在一定的区别,通过统计某个聚类中的所有商品的价格并获得一个整体的平均价格,该平均价格可以作为搜索结果的一部分提供给用户参考,让用户可以更清晰地了解该商品的销售行情,有利于提高客户的使用体验度。
相应地,在所述步骤S4中,还包括将所述商品平均价格信息进行存储。所述聚类模块106定期读取数据存储模块108中商品信息数据库的变化情况并将其更新到索引聚类存储模块中,即是定期的根据数据存储模块108中商品信息数据库的更新信息,更新所述商品索引信息、商品聚类信息、商品平均价格信息。
相应地,在所述步骤S6中,还包括搜索与所述搜索请求相关的商品平均价格信息。
参考图6和图7,以下举例说明本发明的商品搜索方法及系统的工作过程与搜索结果。
在图6中,通过在客户端浏览器打开的商品搜索引擎的查询窗口(图6中标示为“C”的区域)中输入查询条件“诺基亚手机”,然后经过搜索,得到的聚类查询结果经过步骤通过UI模块102拼装成结果页面后,由Web服务模块发回客户端浏览器显示出来,如图6中标示为“D1”、“D2”、“D3”的区域分别显示了三种型号的诺基亚手机的聚类结果,所述的聚类结果中包括了商品的名称、简介、图片等,同时,还包括商品平均价格,以及商品的销售商家的数量。
图7是点击图6中的“D1”商品聚类展开后的商品查询结果示意图。可以看到,在将图6中的“D1”商品聚类展开之后,在该聚类中的所有商品的型号都是相同的(即型号为5800的诺基亚手机),所有的商品仅按照卖家的不同(图7中标示为“E”的区域)逐一提供给用户。
通过以上描述,可以得出,本发明的商品搜索方法及系统,改进了商品搜索的方法及系统,通过增加商品的聚类模块,优化搜索的排序结果,将相同或相似的商品进行聚类,增加商品列表的规整程度,减少用户的进一步筛选操作,提高搜索效率,节约网络流量;同时,减少了客户端向服务器发起访问请求次数,从而减轻了服务器的处理压力,以及减少了占用的网络带宽,提升了网络传输速度,避免造成网络堵塞。
应当理解,虽然本说明书按照实施例加以描述,但并非每个实施例仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施例的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施例或变更均应包含在本发明的保护范围之内。