一种基于用户历史数据获得工业产品名称同义词的方法
技术领域
本发明属于B2B领域,尤其是基于同义词搜索方法,具体涉及一种基于用户历史数据获得工业产品名称同义词的方法。
背景技术
B2B是指企业对企业之间的营销关系,将企业内部网通过B2B网站与客户紧密结合起来,通过网络的快速反应,为客户提供更好的服务,从而促进企业的业务发展。
在B2B领域中,一项核心技术为“基于互联网的工业产品搜索功能”,该功能为企业之间的产品贸易提供枢纽和入口。产品需求方为购买所需的工业产品,首先该企业需要在B2B互联网平台上,通过工业产品的搜索功能在互联网上搜索到其所需的工业产品,以获得其所需要的产品信息(供给方、价格、物流等等)。然后,在线下单订购,并开展后期的线下贸易行为。
然而,工业产品B2B平台的搜索技术面临一项重要的实际使用问题,即:搜索用户常常无法准确输入其所期望的产品名称,或搜索用户输入的搜索词条与数据库中存储的工业产品名称不匹配。原因在于:(1)工业产品种类极为繁杂,工业产品的名称经常极为生僻、拗口,难以记忆和掌握;(2)用户素质参差不齐、行业背景不同,导致用户往往不具有足够的相关知识,无法准确输入其所需的工业产品名称;(3)由于工业产品往往具有很多“别名”,搜索用户所输入的产品名称可能与数据库内存储的工业产品名称不一致,即使两种名称所表示同一种工业产品。
例如,“工业酒精”又称“变性酒精”,或“工业火酒”。如果供应商A发布的供货名称为“工业火酒”,而需求企业B由于先验知识不足,仅仅搜索了“工业酒精”,在传统的字符串搜索平台中,B将无法直接搜索到A所发布的供货信息。可见,在用户输入的搜索词条不够准确时,用户往往无法搜索到其所需要的产品结果。
针对工业产品搜索的这一问题,现有技术主要为“基于同义词搜索的解决方案”,主要分为两类:基于工业产品搜索服务提供商的方法和基于工业产品发布者的方法。
第一类为基于工业产品搜索服务提供商的方法,即搜索服务提供商(B2B平台搜索技术人员)在搜索引擎平台内部规定每种工业产品名称的同义词,即搜索服务提供商首先利用先验知识,构建工业产品同义词库。在工业产品同义词库中,规定了每种工业产品名称的同义词列表,例如上面例子中的:工业酒精=变性酒精=工业火酒。在用户搜索某一工业产品名称时,搜索引擎将对其同义词列表中的每个名词发起搜索,并将所有搜索结果进行整合,统一返回给搜索者。
第二类方案为基于工业产品发布者的方法。即工业产品发布者在其发布的产品名称中(或数据库的其他字段中,或网页的其他部分中)罗列多个产品名称(SEO技术)。例如,将发布的产品名称从“工业酒精”改为“工业酒精变性酒精工业火酒”,以提高其被搜索到的概率。
现在技术中“工业产品名称同义词识别”技术主要具有如下缺点:
1.容易出现漏识别,由于工业产品名称过于冗繁、数目庞大,构建同义词库的过程极为耗时耗力,效率低下;切构建同义词库覆盖所有同义词的可能性较低,往往会出现漏识别的情况。2.第一类方案对人力消耗大,构建时间长,不易与技术升级,时效性差。3.第二类方案会破坏工业产品搜索结果美感,降低了结果可读性。4.第二类方案对产品发布者技能要求高,不利于搜索公平性。
发明内容
为解决上述技术问题,本发明提供了一种基于用户历史数据获得工业产品名称同义词的方法,该方法不易出现漏识别,构建同义词库的过程效率高,并且容易构建同义词库,时效性好。
为达到上述目的,本发明的技术方案如下:
一种基于用户历史数据获得工业产品名称同义词的方法,通过对用户使用工业产品搜索引擎产生的历史数据进行分析,挖掘具有相同含义的工业产品名称,包括以下几步:
第一步:对工业产品搜索词条进行分词;
第二步:对工业产品名称意图挖掘;
第三步:对工业产品名称同义词匹配,获得工业产品名称同义词。
本发明的一个较佳实施例中,进一步包括,第一步中对工业产品搜索词条进行切割,将所述搜索词条切割成至少一个汉语单词,汉语单词中包含工业产品名称。
本发明的一个较佳实施例中,进一步包括,第二步中对工业产品名称意图进行挖掘,包括以下几步:
算工业产品名称的搜索倾向:通过用户历史数据,计算每种工业产品名称的每个被点击的搜索结果和相应被点击的次数,对于任意一个工业产品名称W与任意一个搜索结果D,以Count(W,D)表示通过搜索包含W的词条而点击D的次数;对于任意一个搜索词条Q与任意一个搜索结果D,以Count(Q,D)表示所有用户搜索词条Q点击结果D的次数总和;
其次,对工业产品的搜索倾向进行表征:对于任意一个搜索名词Wj,其对于每个搜索结果的搜索倾向:Count(Wj,Dk),对于Wj做如下处理:
去除Count(Wj,Dk)=0的文档Dk,只保留Count(Wj,Dk)≠0的文档Dk;
将所有保留的Dk按照Count(Wj,Dk)进行降序排序,取排名靠前10%的文档Dk(k=1,2,3,……,N)组成的集合为名称Wj的意图表征。
本发明的一个较佳实施例中,进一步包括,Count(W,D)=SUM(Count(Qi,D)),其中,Qi表示所有通过分词后包含W的搜索词条,i为自然数,SUM为求和函数。
本发明的一个较佳实施例中,进一步包括,两个工业产品的意图表征相同,则两个工业产品名称互为同义词。
本发明的一个较佳实施例中,进一步包括,所述历史数据包括用户输入的搜索词条和用户在搜索该词条后,在搜索结果里点击的结果。
本发明的一个较佳实施例中,进一步包括,用户在工业产品搜索平台输入搜索词条发起搜索请求,工业产品搜索引擎直接搜索用户输入的搜索词条,工业产品搜索引擎还降搜索词条中的工业产品名称替换为其同义词,并且重新向工业产品搜索引擎发起搜索请求。
本发明的有益效果是:
其一、本发明的基于用户历史数据获得工业产品名称同义词的方法,该方法构建同义词库的覆盖范围广,不易出现遗漏,并且该方法是基于用户数据挖掘工业产品名称的同义词,数据基数大。
其二、本发明的方法数据来源于用户的真实操作行为,数据反映了用户真正的搜索意图。
其三、本发明的方法缓解了用户先前经验知识不足的缺陷。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例中公开了一种基于用户历史数据获得工业产品名称同义词的方法,通过对用户使用工业产品搜索引擎产生的历史数据进行分析,挖掘具有相同含义的工业产品名称,所述历史数据包括用户输入的搜索词条和用户在搜索该词条后,在搜索结果里点击的结果。
包括以下几步:
第一步:对工业产品搜索词条进行分词;
第二步:对工业产品名称意图挖掘;
第三步:对工业产品名称同义词匹配,获得工业产品名称同义词。
具体的,第一步中对工业产品搜索词条进行切割,将所述搜索词条切割成至少一个汉语单词,汉语单词中包含工业产品名称。搜索词条为搜索用户输入的原始文字,而“工业产品名称”为某种工业产品的名称。例如,如果用户搜索“工业酒精如何购买”,则“工业酒精如何购买”为其“搜索词条”,对该词条进行分词,得到“工业酒精”、“如何”、“购买”,三个汉语单词,其中“工业酒精”为工业产品名称。
本发明的一个较佳实施例中,进一步包括,第二步中对工业产品名称意图进行挖掘,包括以下几步:
首先,计算工业产品名称的搜索倾向:通过用户历史数据,计算每种工业产品名称的每个被点击的搜索结果和相应次数,对于任意一个工业产品名称W与任意一个搜索结果D,以Count(W,D)表示通过搜索包含W的词条而点击D的次数;对于任意一个搜索词条Q与任意一个搜索结果D,以Count(Q,D)表示通过搜索词条Q而点击D的次数;用户历史数据包含了Q与D的一一对应关系,计算Q-D对即可以得到Count(Q,D)。而计算Count(W,D)的方法为:Count(W,D)=SUM(Count(Qi,D))。其中,Qi表示所有通过分词后包含W的搜索词条,i为自然数,SUM为求和函数。
其次,对工业产品的搜索倾向进行表征:对于任意一个搜索名词Wj,其对于每个搜索结果的搜索倾向:Count(Wj,Dk),对于Wj做如下处理:
去除Count(Wj,Dk)=0的文档Dk,只保留Count(Wj,Dk)≠0的文档Dk;
将所有保留的Dk按照Count(Wj,Dk)进行降序排序,取排名靠前10%的文档Dk(k=1,2,3,……,N)组成的集合为名称Wj的意图表征。
如果,任意两个工业产品的意图表征相同,则两个工业产品名称互为同义词。
用户在工业产品搜索平台输入搜索词条发起搜索请求,工业产品搜索引擎直接搜索用户输入的搜索词条,工业产品搜索引擎还降搜索词条中的工业产品名称替换为其同义词,并且重新向工业产品搜索引擎发起搜索请求。
以本实施例上述公开的基于用户历史数据获得工业产品名称同义词的方法,其过程如下:
1.在工业产品搜索引擎中,记录用户输入的每一条搜索词条,同时记录其随后点击的每一个搜索结果,并积累该数据一段时间,形成100万条以上的数据源。
2.获得“搜索词条”-“被点击的搜索结果”的对应关系,对数据中的“搜索词条”进行分词,得到“工业产品名称”-“被点击的搜索结果”的对应关系。
3.对于每个“工业产品名称”,抛弃其未点击的搜索结果,计算被点击的搜索结果的点击次数,并取出点击次数最多的10%的点击结果,以该“结果集合”作为该“工业产品名称”的意图表征。
4.将意图表征相同的“工业产品名称”归集在一起,被归集在一起的“工业产品名称”互为同义词。
5.基于该同义词关系,用户在工业产品搜索平台中发起搜索请求时,引擎不但直接搜索用户输入的搜索词条,同时,引擎还将词条中的工业产品名称替换为其任意的同义词,并重新发起搜索请求。
本发明的基于用户历史数据获得工业产品名称同义词的方法,该方法构建同义词库的覆盖范围广,不易出现遗漏,并且该方法是基于用户数据挖掘工业产品名称的同义词,数据基数大;数据来源于用户的真实操作行为,数据反映了用户真正的搜索意图。
用户在工业产品搜索平台输入搜索词条发起搜索请求,工业产品搜索引擎直接搜索用户输入的搜索词条,工业产品搜索引擎还降搜索词条中的工业产品名称替换为其同义词,并且重新向工业产品搜索引擎发起搜索请求,缓解了用户先前经验知识不足的缺陷。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。