确定搜索词权重值方法及装置、搜索结果生成方法及装置转让专利

申请号 : CN201010207880.1

文献号 : CN102289436B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭祥

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本申请公开了一种确定搜索词权重值的方法、搜索结果生成方法及装置。一种确定搜索词权重值的方法,包括:接收用户输入的搜索请求和点击信息,生成搜索信息日志,保存入数据库;统计数据库中保存的所述搜索信息日志,生成类目分布词表;从数据库中提取属性词表,优化所述类目分布词表;根据优化后的所述类目分布词表,计算所述类目分布词表中各搜索词的权重。应用以上技术方案,在用户进行搜索时,可以更为合理的确定用户输入的搜索请求中各搜索词的重要性,减少用户的搜索时间。

权利要求 :

1.一种确定搜索词权重值的方法,其特征在于,包括以下步骤:接收输入的搜索请求和点击信息,生成搜索信息日志,保存入数据库;

统计数据库中保存的所述搜索信息日志,生成类目分布词表;所述类目分布词表包括:搜索词、所述搜索词对应的搜索类目、所述搜索词对应的各搜索类目的搜索概率;

从数据库中提取属性词表,优化所述类目分布词表;优化所述类目分布词表具体为:依次判断所述类目分布词表中各搜索词是否属于所述属性词表,如果是,滤除所述搜索词对应的搜索概率低于预设的第一阈值的搜索类目;如果否,将所述搜索词对应的各搜索类目的搜索概率平均化;

根据优化后的所述类目分布词表中各搜索词在各搜索类目中的搜索频率,计算所述类目分布词表中各搜索词的权重值。

2.根据权利要求1所述的方法,其特征在于:

通过下述方式计算所述类目分布词表中各搜索词的权重值:WE(Word)=-C(Word)+C0

其中,Word为搜索词;WE(Word)为所述搜索词对应的权重值;C(Word)为所述搜索词对应的熵;C0大于等于所述类目分布词表中各搜索词对应的熵的最大值。

3.根据权利要求2所述的方法,其特征在于,通过下述方式计算搜索词对应的熵:C(Word)=|p1logp1+p2logp2+p3logp3+····+pmlogpm|其中,Word为搜索词;pi为优化后的所述类目分布词表中所述搜索词对应的第i个搜索类目的搜索概率,0<pi<1;i=1、2、…m;m为所述类目分布词表中搜索类目的总个数。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述类目分布词表中的搜索词进行分类,确定各类型搜索词的关注度;

对各类型的搜索词对应的权重进行修正,使得关注度高的搜索词对应的权重值高于关注度低的搜索词对应的权重值。

5.一种搜索结果生成方法,其特征在于,包括以下步骤:接收输入的搜索请求,获取所述搜索请求中各搜索词对应的权重值;

将各搜索词对应的匹配信息按照各搜索词对应的权重值排序;

其中,各搜索词对应的权重值通过下述步骤得到:

接收输入的搜索请求和点击信息,生成搜索信息日志,保存入数据库;

统计数据库中保存的所述搜索信息日志,生成类目分布词表;所述类目分布词表包括:搜索词、所述搜索词对应的搜索类目、所述搜索词对应的各搜索类目的搜索概率;

从数据库中提取属性词表,优化所述类目分布词表;具体为:依次判断所述类目分布词表中各搜索词是否属于所述属性词表,如果是,滤除所述搜索词对应的搜索概率低于预设的第一阈值的搜索类目;如果否,将所述搜索词对应的各搜索类目的搜索概率平均化;

根据优化后的所述类目分布词表中各搜索词在各搜索类目中的搜索频率,计算所述类目分布词表中各搜索词的权重值;

通过下述方式计算所述类目分布词表中各搜索词的权重值:WE(Word)=-C(Word)+C0

其中,Word为搜索词;WE(Word)为所述搜索词对应的权重值;C(Word)为所述搜索词对应的熵;C0大于等于所述类目分布词表中各搜索词对应的熵的最大值;

通过下述方式计算搜索词对应的熵:

C(Word)=|p1logp1+p2logp2+p3logp3+····+pmlogpm|其中,Word为搜索词;pi为优化后的所述类目分布词表中所述搜索词对应的第i个搜索类目的搜索概率,0<pi<1;i=1、2、…m;m为所述类目分布词表中搜索类目的总个数。

6.一种确定搜索词权重值的装置,其特征在于,包括:日志生成模块,用于接收输入的搜索请求和点击信息,生成搜索信息日志,保存入数据库;

词表生成模块,用于统计数据库中保存的所述搜索信息日志,生成类目分布词表;所述类目分布词表包括:搜索词、所述搜索词对应的搜索类目、所述搜索词对应的各搜索类目的搜索概率;

词表优化模块,用于从数据库中提取属性词表,优化所述类目分布词表;优化所述类目分布词表具体为:依次判断所述类目分布词表中各搜索词是否属于所述属性词表,如果是,滤除所述搜索词对应的搜索概率低于预设的第一阈值的搜索类目;如果否,将所述搜索词对应的各搜索类目的搜索概率平均化;

权重计算模块,用于根据优化后的所述类目分布词表中各搜索词在各搜索类目中的搜索频率,计算所述类目分布词表中各搜索词的权重值;

所述词表优化模块包括:

判断子模块,用于依次判断所述类目分布词表中各搜索词是否属于所述属性词表;

属性词优化子模块,用于当所述判断子模块的结果为是时,滤除所述搜索词对应的搜索概率低于预设的第一阈值的搜索类目;

非属性词优化子模块,用于当所述判断子模块的结果为否时,将所述搜索词对应的各搜索类目的搜索概率平均化。

7.根据权利要求6所述的装置,其特征在于,还包括:分类模块,用于对所述类目分布词表中的搜索词进行分类,确定各类型搜索词的关注度;

修正模块,用于对各类型的搜索词对应的权重值进行修正,使得关注度高的搜索词对应的权重值高于关注度低的搜索词对应的权重值。

8.一种搜索结果生成装置,其特征在于,包括:

日志生成模块,用于接收输入的搜索请求和点击信息,生成搜索信息日志,保存入数据库;

词表生成模块,用于统计数据库中保存的所述搜索信息日志,生成类目分布词表;所述类目分布词表包括:搜索词、所述搜索词对应的搜索类目、所述搜索词对应的各搜索类目的搜索概率;

词表优化模块,用于从数据库中提取属性词表,优化所述类目分布词表;优化所述类目分布词表具体为:依次判断所述类目分布词表中各搜索词是否属于所述属性词表,如果是,滤除所述搜索词对应的搜索概率低于预设的第一阈值的搜索类目;如果否,将所述搜索词对应的各搜索类目的搜索概率平均化;

权重计算模块,用于根据优化后的所述类目分布词表中各搜索词在各搜索类目中的搜索频率,计算所述类目分布词表中各搜索词的权重值;

权重提取模块,用于接收输入的搜索请求,获取所述搜索请求中各搜索词对应的权重值;

结果生成模块,用于将各搜索词对应的匹配信息按照各搜索词对应的权重值排序;

其中,通过下述方式计算所述类目分布词表中各搜索词的权重值:WE(Word)=-C(Word)+C0

其中,Word为搜索词;WE(Word)为所述搜索词对应的权重值;C(Word)为所述搜索词对应的熵;C0大于等于所述类目分布词表中各搜索词对应的熵的最大值;

通过下述方式计算搜索词对应的熵:

C(Word)=|p1logp1+p2logp2+p3logp3+····+pmlogpm|其中,Word为搜索词;pi为优化后的所述类目分布词表中所述搜索词对应的第i个搜索类目的搜索概率,0<pi<1;i=1、2、…m;m为所述类目分布词表中搜索类目的总个数。

说明书 :

确定搜索词权重值方法及装置、搜索结果生成方法及装置

技术领域

[0001] 本申请涉及计算机应用领域,特别是涉及一种确定搜索词权重值的方法及装置、搜索结果生成方法及装置。

背景技术

[0002] 信息搜索系统是一种能够为用户提供信息检索服务的系统,以互联网中常用的搜索引擎为例,作为应用在互联网领域的搜索系统,搜索引擎目前已经成为用户上网必不可少的辅助工具之一。从用户的角度看,搜索引擎一般提供一个包含搜索框的页面,用户在搜索框输入查询串,通过浏览器提交给搜索引擎后,搜索引擎就会返回与用户输入的查询串内容相匹配的信息。
[0003] 对于用户输入的搜索请求,可以由一个或多个搜索词组成。当用户输入的搜索请求由多个搜索词组成时,搜索系统首先对用户输入的搜索请求进行分词,得到多个搜索词,再以搜索词为单位匹配数据库中的信息。然后,系统按照各搜索词的重要性对各搜索词分别匹配到的信息进行排序,返回搜索结果展现给用户。
[0004] 现有技术中,对于各搜索词重要性的划分往往是统计各搜索词的词频得到的。具体的,系统定期对数据库中保存的用户的历史搜索信息进行统计,得到各搜索词出现的频率,作为搜索词对应的词频。词频较高的搜索词被认为是比较重要的;而词频偏低的搜索词则被认为是不太重要的。
[0005] 通过对现有技术的研究,发明人发现现有技术中采用词频确定各搜索词的重要性存在的问题是:首先,词频统计时会包括大量的噪音词,影响统计结果;其次,根据历史搜索信息统计词频,使得查询次数不多但很有价值的搜索词很容易被忽视。这导致利用现有技术得到的各搜索词的重要性对搜索结果的排序不是十分合理,增加了用户的查询时间,甚至导致用户重新输入搜索词进行搜索,增加了服务器的负担和能耗。

发明内容

[0006] 为解决上述技术问题,本申请提供了一种确定搜索词权重值的方法及装置、一种搜索结果生成方法及装置,可以更为合理的确定用户输入的搜索请求中各搜索词的重要性。
[0007] 本申请提供一种确定搜索词权重值的方法,包括以下步骤:
[0008] 接收输入的搜索请求和点击信息,生成搜索信息日志,保存入数据库;
[0009] 统计数据库中保存的所述搜索信息日志,生成类目分布词表;
[0010] 从数据库中提取属性词表,优化所述类目分布词表;
[0011] 根据优化后的所述类目分布词表,计算所述类目分布词表中各搜索词的权重值。
[0012] 本申请还提供一种搜索结果生成方法,包括以下步骤:
[0013] 接收输入的搜索请求,获取所述搜索请求中各搜索词对应的权重值;
[0014] 将各搜索词对应的匹配信息按照各搜索词对应的权重值排序;
[0015] 其中,各搜索词对应的权重值通过下述步骤得到:
[0016] 接收输入的搜索请求和点击信息,生成搜索信息日志,保存入数据库;
[0017] 统计数据库中保存的所述搜索信息日志,生成类目分布词表;所述类目分布词表包括:搜索词、所述搜索词对应的搜索类目、所述搜索词对应的各搜索类目的搜索概率;
[0018] 从数据库中提取属性词表,优化所述类目分布词表;具体为:依次判断所述类目分布词表中各搜索词是否属于所述属性词表,如果是,滤除所述搜索词对应的搜索概率低于预设的第一阈值的搜索类目;如果否,将所述搜索词对应的各搜索类目的搜索概率平均化;
[0019] 根据优化后的所述类目分布词表,计算所述类目分布词表中各搜索词的权重值。
[0020] 本申请还提供一种确定搜索词权重值的装置,包括:
[0021] 日志生成模块,用于接收输入的搜索请求和点击信息,生成搜索信息日志,保存入数据库;
[0022] 词表生成模块,用于统计数据库中保存的所述搜索信息日志,生成类目分布词表;所述类目分布词表包括:搜索词、所述搜索词对应的搜索类目、所述搜索词对应的各搜索类目的搜索概率;
[0023] 词表优化模块,用于从数据库中提取属性词表,优化所述类目分布词表;
[0024] 权重计算模块,用于根据优化后的所述类目分布词表,计算所述类目分布词表中各搜索词的权重值。
[0025] 本申请还提供一种搜索结果生成装置,包括:
[0026] 日志生成模块,用于接收输入的搜索请求和点击信息,生成搜索信息日志,保存入数据库;
[0027] 词表生成模块,用于统计数据库中保存的所述搜索信息日志,生成类目分布词表;所述类目分布词表包括:搜索词、所述搜索词对应的搜索类目、所述搜索词对应的各搜索类目的搜索概率;
[0028] 词表优化模块,用于从数据库中提取属性词表,优化所述类目分布词表;
[0029] 权重计算模块,用于根据优化后的所述类目分布词表,计算所述类目分布词表中各搜索词的权重值;
[0030] 权重提取模块,用于接收输入的搜索请求,获取所述搜索请求中各搜索词对应的权重值;
[0031] 结果生成模块,用于将各搜索词对应的匹配信息按照各搜索词对应的权重值排序。
[0032] 与现有技术相比,本申请实施例所述方法及装置,统计各搜索词在不同搜索类目中的分布,计算各搜索类目的搜索概率,同时,根据搜索系统本身的属性词表进行优化过滤,在计算各搜索词的权重。对于各搜索词,如果其频繁出现在多个搜索类目中,并且在各搜索类目的搜索概率很平均,那么可以认为该搜索词具有很大的通用性,该搜索词对应的权重偏小,表明该搜索词重要性偏低;相反,对于只出现在个别搜索类目中,并且在个别搜索类目的搜索概率较集中,认为该搜索词具有较强的区分能力,其权重值较大,表明该搜索词重要性偏高。
[0033] 采用本申请所述方法及装置,可以更为合理的确定用户输入的搜索请求中各搜索词的重要性,从而使得返回的搜索结果的排序更加合理,减少了用户的查询时间,减轻了服务器的负担和能耗,提高用户的体验满意度。

附图说明

[0034] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0035] 图1为本申请实施例的确定搜索词权重值的方法流程图;
[0036] 图2为本申请实施例的搜索结果生成方法流程图;
[0037] 图3为本申请实施例的确定搜索词权重值的装置结构示意图;
[0038] 图4为本申请实施例的词表优化模块结构示意图;
[0039] 图5为本申请实施例的搜索结果生成装置结构示意图。

具体实施方式

[0040] 首先对本申请实施例的一种确定搜索词权重值的方法,包括:
[0041] 接收用户输入的搜索请求和点击信息,生成搜索信息日志,保存入数据库;
[0042] 统计数据库中保存的所述搜索信息日志,生成类目分布词表;所述类目分布词表包括:搜索词、所述搜索词对应的搜索类目、所述搜索词对应的各搜索类目的搜索概率;
[0043] 从数据库中提取属性词表,优化所述类目分布词表;具体为:依次判断所述类目分布词表中各搜索词是否属于所述属性词表,如果是,滤除所述搜索词对应的搜索概率低于预设的第一阈值的搜索类目;如果否,将所述搜索词对应的各搜索类目的搜索概率平均化;
[0044] 根据优化后的所述类目分布词表,计算所述类目分布词表中各搜索词的权重值。
[0045] 为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0046] 下面以网络搜索应用为例,对本申请所提供的技术方案进行详细说明,图1所示为本申请实施例的确定搜索词权重值的方法流程图,包括以下步骤:
[0047] 步骤S101、系统接收用户输入的搜索请求和点击信息,生成搜索信息日志,并保存入数据库;
[0048] 当用户在搜索页面上输入搜索请求并点击搜索后,所述用户的搜索请求、点击信息会通过网络上的链接传送到系统的后台服务器。后台服务器根据接收到的搜索请求和点击信息,生成搜索信息日志。
[0049] 所述搜索信息日志包括:搜索词、各搜索词对应的搜索类目等。
[0050] 对于互联网中的信息,很多都是按照一定的类目进行发布的,例如,在门户网站中,网页类目可以包括新闻、体育、娱乐、财经等等,在电子商务网站中,商品类目包括家居、服饰、数码、食品等,而数码类目又可以包括手机、相机、电脑等等。那么,对于用户输入的搜索请求,都会对应一个该搜索请求所在的类目,称为搜索类目。
[0051] 以电子商务网站为例进行说明,假设用户的搜索请求为“相机”,用户可以在各种商品类目下进行搜索。当用户在家居类目下搜索“相机”时,则搜索词“相机”对应的搜索类目即为“家居”;当用户在数码类目下搜索“相机”时,则搜索词“相机”对应的搜索类目即为“数码”。
[0052] 需要说明的是,用户输入的所述搜索信息可以为一个搜索词,也可以是多个搜索词组成的搜索串。当所述搜索信息为搜索串时,系统需要先对该搜索串进行分词,得到多个搜索词,再确定各搜索词对应的搜索类目,生成搜索信息日志。当然,对于用户一次输入的搜索串分词得到的各搜索词,其对应的搜索类目是相同的。
[0053] 例如,当用户在家居类目下输入的搜索请求为搜索串时,假设为“相机单反”,则首先系统对搜索串进行分词,得到搜索词“相机”、“单反”,则此时搜索词“相机”对应的搜索类目为“家居”,搜索词“单反”对应的搜索类目也为“家居”。
[0054] 系统确定了各搜索词对应的搜索类目后,生成相应的搜索信息日志,并保存入数据库。
[0055] 步骤S102、系统统计数据库中保存的所述搜索信息日志,生成类目分布词表;
[0056] 其中,所述类目分布词表用于表示数据库中保存的所有的搜索词对应的搜索类目的分布情况,具体为各搜索词对应的各搜索类目的点击次数。
[0057] 具体地,对于同一搜索词,当不同用户采用该搜索词进行搜索时,其对应的搜索类目可能是不同的。因此,在数据库中保存的搜索信息日志中,该搜索词对应的搜索类目也是不同的。步骤S102中,系统统计数据库中保存的所有的搜索信息日志,对各搜索词进行统计,统计同一搜索词对应的所有搜索类目、以及各搜索类目的点击次数,生成该搜索词对应的搜索类目分布信息。
[0058] 统计数据库中所有的搜索词的搜索类目分布信息,组合在一起,生成类目分布词表。
[0059] 具体的,所述类目分布词表可以分为两列,第一列为搜索词,第二列为该搜索词对应的搜索类目分布信息。所述搜索类目分布信息可以包括:该搜索词对应的多个搜索类目的组合、以及各个搜索类目对应的点击次数,其格式如下式所示:
[0060] Word cat1:weight1;cat2:weight2;...;catn:weightn
[0061] 其中,Word为搜索词;cati为该搜索词对应的第i个搜索类目;weighti为该搜索词对应的第i个搜索类目的点击次数;i=1、2...n;n为该搜索词对应的搜索类目的个数。
[0062] 仍以“相机”为例进行说明。根据常识可知,一般电子网站均会将相机归属于“数码”类目。但是对于用户而言,其并不一定只在“数码”类目下搜索相机,用户有可能在“全部类目”下直接搜索相机,也可能在“家居”类目下搜索相机。根据步骤S101可知,对于每次用户的点击搜索,系统均会生成对应的搜索信息日志,用于记录每个用户每次输入搜索词“相机”时对应的搜索类目。
[0063] 则步骤S102中,系统根据数据库中保存的所有的搜索信息日志,对搜索词“相机”对应的所有的搜索类目进行统计,得到搜索词“相机”对应的搜索类目分布信息。
[0064] 假设,通过统计得到,所述搜索词“相机”对应的搜索类目包括:“全部类目”、“数码”、“家居”、“服装”,且各搜索类目对应的点击次数分别为:324、1290、34、8。此时,搜索词“相机”对应的搜索类目分布信息为:
[0065] 相机 全部类目:324;数码:1290;家居:34;服装:8
[0066] 优选地,本申请实施例中,为了更加清楚的表示各搜索词对应的搜索类目的分布情况,可以以概率形式表示各搜索类目对应的点击次数。具体为,统计得到该搜索词对应的点击总次数,进而计算得到所述搜索词对应的各搜索类目的搜索概率。此时,所述搜索类目分布信息可以包括:该搜索词对应的多个搜索类目的组合、以及各个搜索类目对应的搜索概率,其格式如下式所示:
[0067] Word cat1:p1;cat2:p2;...;catn:pn
[0068] 其中,Word为搜索词;cati为该搜索词对应的第i个搜索类目;pi为该搜索词对应的第i个搜索类目的搜索概率;i=1、2、..、n;n为该搜索词对应的搜索类目的个数。
[0069] 仍以搜索词“相机”为例,当采用搜索概率时,其对应的搜索类目分布信息为:
[0070] 相机 全部类目:19.6%;数码:77.9%;家居:2%;服装:0.5%
[0071] 对于本申请实施例,在以下实施方式的描述中,除特殊声明外,所述搜索类目分布信息均是以搜索概率的形式表示。
[0072] 需要说明的是,系统可以定期或不定期的对数据库中保存的所述搜索信息日志进行统计,生成或更新所述类目分布词表。例如,系统可以设定每周或每月对所述类目分布词表自动更新一次;或者是,由系统维护人员自动选择更新所述类目分布词表。
[0073] 步骤S103、从数据库中提取属性词表,优化过滤所述类目分布词表;
[0074] 对于互联网信息,系统会根据网站的性质在数据库中保存该网站对应的属性词表,所述属性词表中保存有该网站的常规属性词汇。例如,在电子商务中,其常规的属性词汇一般包括商品的类型、品牌、型号等;故在电子商务网站中,当商家发布商品信息时,会填写商品的类型、品牌、型号、颜色等信息,此时系统会获取商品的类型、品牌、型号、颜色等能够表示该商品特定属性的信息,作为属性信息保存入数据库中的属性词表中。例如,商家发布一款相机时,填写该手机品牌为“佳能”、类型为“单反”、型号为“D450”、颜色为“黑色”。此时,对于“佳能”、“单反”、“D450”都是可以表示相机的某一特定属性的,而“黑色”则是比较大众的词汇。此时,系统将“佳能”、“单反”、“D450”保存入属性词表,而“黑色”不保存入属性词表。
[0075] 优选地,系统可以对属性词表中的各属性信息进行分类,例如:“佳能”作为品牌词;“单反”和“D450”作为属性词。通常所述属性词表中保存的均是商家和买家比较关注的并且能够体现商品特性的信息。
[0076] 本申请实施例中,系统从数据库中提取出所述属性词表,用于优化过滤步骤S102中生成的所述类目分布词表。
[0077] 具体地,步骤S103中所述优化过滤所述类目分布词表包括以下步骤:
[0078] 步骤S1031:系统依次判断所述类目分布词表中的各搜索词是否属于所述属性词表,如果是,进入步骤S1032;如果否,进入步骤S1033;
[0079] 步骤S1032:将所述搜索词对应的各搜索类目的搜索概率与预设的第一阈值相比较,滤除所述搜索词对应的搜索概率低于所述第一阈值的搜索类目;
[0080] 具体地,在实际应用中,由于用户搜索的随意性和自由性,很容易产生很多不相关的点击信息,造成干扰信息,此类信息需要滤除。
[0081] 例如,个别客户在“服装”类目搜索“相机”,从而使得系统产生一次“搜索词:相机;搜索类目:服装”的信息,但是很明显“相机”和“服装”是不相关的,在“服装”类目下搜索“相机”的用户记录也是比较少的,可以认为这样的记录是一种干扰信息,对于网站的准确搜索是没有用途的,因此可以将其滤除。
[0082] 此处仍以搜索词“相机”为例进行说明。首先系统通过判断,确定“相机”属于属性词表,此时从所述类目分布词表中提取所述搜索词“相机”对应的搜索类目分布信息为:
[0083] 相机 全部类目:19.6%;数码:77.9%;家居:2%;服装:0.5%
[0084] 然后,对搜索词“相机”对应的搜索类目分布信息进行优化,滤除搜索词“相机”对应的搜索概率低于所述第一阈值的搜索类目。具体的,假设预设的第一阈值为5%,通过比较可知,搜索词“相机”对应的搜索类目“家居”和“服装”的搜索概率均低于5%,需要滤除,此时,对于搜索词“相机”,优化后的搜索类目分布信息如下所示:
[0085] 相机 全部类目:19.6%;数码:77.9%
[0086] 步骤S1033:将所述搜索词对应的各搜索类目的搜索概率平均化。
[0087] 在实际应用中,有些用户输入的搜索词并不能用于表明商品的属性,只是一些用于减小搜索范围的限制用词汇,这些词汇一般具有很强的公用性,例如“红色”、“美观”、“价廉”等。这些搜索词可以用于对各种类目的商品进行搜索,例如即可以用于搜索“相机”,也可以用于搜索“上衣”,并不能对各类目商品进行区分。本申请实施例中,这类词汇并不会被保存在属性词表中,因此当系统确定某搜索词不属于属性词表时,可以认为该词汇为各类目通用词汇,并不能用于表示某类目商品的特有属性,其用于各搜索类目的搜索概率是平均的。此时,本申请实施例中,对该类搜索词对应的各搜索类目的搜索概率进行平均化。
[0088] 例如,假设用户输入的搜索串中包括搜索词“美观”,根据步骤S102生成的类目分布词表中,搜索词“美观”对应的搜索类目分布信息如下所示:
[0089] 美观 全部类目:21.2%;数码:15.7%;家居:35.4%;服装:27.8%[0090] 首先,经过系统判断,确定搜索词“美观”不属于属性词表,此时需要对搜索词“美观”对应的各搜索类目的搜索概率进行平均化处理,得到优化后的类目分布词表中搜索词“美观”对应的搜索类目分布信息如下所示:
[0091] 美观 全部类目:25%;数码:25%;家居:25%;服装:25%
[0092] 本申请实施例中,对所述类目分布词表中包括的搜索词依次进行优化,优化各搜索词对应的搜索类目分布信息,进而实现对整个类目分布词表的优化。
[0093] 具体为,依次判断所述类目分布词表中各搜索词是否属于所述属性词表,对于属于属性词表的搜索词,滤除所述搜索词对应的搜索类目中,搜索概率过低的搜索类目;对于不属于属性词表的搜索词,对所述搜索词对应的各搜索类目的搜索概率进行平均化。由此,实现了对步骤S102中得到的类目分布词表的优化过滤,使得所述类目分布词表中各搜索词对应的搜索概率分布信息更加合理。
[0094] 步骤S104、根据优化后的所述类目分布词表,依次计算所述类目分布词表中各搜索词的权重;
[0095] 本申请实施例中,采用信息熵的方式表示各搜索词的权重,以体现该搜索词在信息搜索过程中的重要程度。通过步骤S103得到优化后的所述类目分布词表后,可以根据所述类目分布词表中各搜索词对应的搜索概率分布信息计算各搜索词对应的熵。
[0096] 需要说明的是,由于在计算熵时,需要保证所有搜索词的维度是相同的,但是一般各搜索词对应的搜索类目的个数是不相同的。此时,设定对于各搜索词,其对应的搜索类目均为所述类目分布词表中包括的搜索类目的总个数;对于该搜索词没有包括的搜索类目,设定该搜索词对应的所述搜索类目的搜索概率为0。
[0097] 具体的,通过下式计算所述类目分布词表中各搜索词对应的熵:
[0098] C(Word)=|p1logp1+p2logp2+p3logp3+....+pmlogpm|
[0099] 其中,Word为搜索词;pi为优化后的所述类目分布词表中所述搜索词对应的第i个搜索类目的搜索概率,0<pi<1;i=1、2、...m;m为所述类目分布词表中搜索类目的总个数。
[0100] 以搜索词“相机”和“美观”为例进行说明,其优化后的搜索类目分布信息分别为:
[0101] 相机 全部类目:19.6%;数码:77.9%
[0102] 美观 全部类目:25%;数码:25%;家居:25%;服装:25%
[0103] 设定所述类目分布词表中搜索类目的总个数m=5,则搜索词“相机”和“美观”对应的熵分别为:
[0104] C(相机)=|0.196×log0.196+0.779×log0.779+0×log0+0×log0
[0105] +0×log0|
[0106] =0.2232
[0107] C(美观)=|0.25×log0.25+0.25×log0.25+0.25×log0.25+0.25×log0.25
[0108] +0×log0|
[0109] =0.602
[0110] 熵是信息量无序度的度量。各搜索词对应的熵越大说明搜索词所表达的信息越不确定,搜索词相对越不重要。例如,搜索词“相机”的熵小于搜索词“美观”的熵,可以认为搜索词“美观”相较搜索词“相机”而言,不太重要。
[0111] 优选地,本申请实施例中,可以直接将各搜索词对应的熵作为各搜索词对应的权重值。此时,对应的,搜索词的权重值越低说明该搜索词越重要,反之,权重值越高,说明该搜索词越不重要。但是,这种表示权重值的方式并不符合人们习惯的认知方式。一般均认为,搜索词越重要,其权重值应越高,反之,搜索词越不重要,其权重值应越低。
[0112] 因此,本申请实施例中,可以通过下述方式获取各搜索词的权重值:
[0113] WE(Word)=-C(Word)+C0
[0114] 其中,Word为搜索词;WE(Word)表示搜索词Word对应的权重;C(Word)为搜索词Word对应的熵;C0为基准值。
[0115] 其中,C0大于所述类目分布词表中各搜索词对应的熵的最大值,可以表示为:
[0116] C0>max(C1,C2....Cj)
[0117] 其中,j为所述类目分布词表中搜索词的总个数。
[0118] 例如:假设所述类目分布词表中各搜索词对应的熵的最大值为0.99,则可以设定C0=1,此时,仍以搜索词“相机”和“美观”为例进行说明,有:
[0119] WE(相机)=-0.2232+1=0.7768
[0120] WE(美观)=-0.602+1=0.398
[0121] 此时,搜索词“相机”对应的权重大于搜索词“美观”对应的权重,说明,搜索词“相机”比搜索词“美观”重要。
[0122] 至此,本申请实施例所述方法实现了对搜索词的权重的计算。本申请实施例所提供的确定词权重值的方法,统计各搜索词在不同搜索类目中的分布,计算各搜索类目的搜索概率,同时,根据搜索系统本身的属性词表进行优化过滤,再确定各搜索词的权重值。对于各搜索词,如果其频繁出现在多个搜索类目中,并且在各搜索类目的搜索概率很平均,那么可以认为该搜索词具有很大的通用性,该搜索词对应的权重偏小,表明该搜索词重要性偏低;相反,对于只出现在个别搜索类目中,并且在个别搜索类目的搜索概率较集中,认为该搜索词具有较强的区分能力,其权重值较大,表明该搜索词重要性偏高。
[0123] 采用本申请所述方法,可以更为合理的确定用户输入的搜索请求中各搜索词的重要性,从而使得返回的搜索结果的排序更加合理,减少了用户的搜索时间,提高了用户的体验满意度。
[0124] 具体的,前面已经说过,对于各搜索词,其权重值代表了该搜索词的重要程度。权重值越高,说明该搜索词越重要;反之,权重值越低,说明该搜索词不重要。从用户的角度而言,当所述搜索词对应的权重值越高时,说明用户对该搜索词的关注程度越高,因此,将权重值较高的搜索词对应的匹配信息靠前排序,优先展现给用户,从而实现了搜索结果中排序在前的信息是用户更为关注的信息,提高了用户的体验满意度。
[0125] 具体的,对于搜索词“相机”和搜索词“美观”,很明显,用户优先关注的应是“相机”对应的搜索结果,进一步才是“美观”对应的搜索结果。而同时,可以看到,系统从数据库中获取的,搜索词“相机”对应的权重高于搜索词“美观”的权重。因此,在返回搜索结果时,将搜索词“相机”对应的匹配信息靠前排序,搜索词“美观”对应的匹配信息靠后排序。由此使得用户更为关注的搜索信息排在靠前的位置,更便捷了用户的搜索,提高了用户的满意程度。
[0126] 对于不同的搜索词,一般都表示不同类型的信息。对于用户的搜索,各类型信息的关注程度是基本确定的。
[0127] 例如,在商务网站中,对于搜索词一般可以区分为以下类型:产品词、品牌词、属性词等。所述产品词用于表示某一商品的类别,例如该商品是属于相机、服装、还是食品等;所述品牌词用于表示某一商品的品牌,例如该商品品牌为佳能、尼康、还是富士等;所述属性词用于表示商品的特有属性,例如该商品为单反机、卡片机等。
[0128] 对于不同类型的搜索词,可以预先设定其关注程度。例如,对于商务网站,一般可以认为产品词比品牌词更受关注,品牌词比属性词更受关注。因此,本申请实施例所述方法中,根据各搜索词的类型,对各搜索词的权重进行修正,使得关注程度较高的类型的搜索词对应的权重值高于关注程度较低的类型的搜索词对应的权重值。
[0129] 具体地,以商务网站为例,使得属于产品词的搜索词对应的权重值高于属于品牌词的搜索词对应的权重值,同时,使得属于品牌词的搜索词对应的权重值高于属于属性词的搜索词对应的权重值。
[0130] 例如,假设对于搜索词“相机”、“佳能”、“单反”,通过步骤S104中计算得到的各搜索词对应的权重值分别为:
[0131] WE(相机)=0.7768
[0132] WE(佳能)=0.5982
[0133] WE(单反)=0.8781
[0134] 此时,可以发现WE(相机)高于WE(佳能),而WE(佳能)低于WE(单反),即为当前权重满足了产品词的权重高于品牌词的权重,但是品牌词的权重却低于了属性词权重。因此,优选地,还可对步骤S104计算得到的权重值进行修正。具体地,所述修正过程包括:
[0135] 对所述类目分布词表中的搜索词进行分类,确定各类型搜索词的关注度;
[0136] 对各类型的搜索词对应的权重进行修正,使得关注度高的搜索词对应的权重值高于关注度低的搜索词对应的权重值。
[0137] 具体地,所述对各类型的搜索词对应的权重进行修正,具体为:
[0138] 对各类型搜索词对应的权重值分别加上该类型搜索词对应的修正值。
[0139] 例如,仍以搜索词“相机”、“佳能”、“单反”为例进行说明。
[0140] WE′(相机)=WE(相机)+ΔWE(产品词)
[0141] WE′(佳能)=WE(佳能)+ΔWE(品牌词)
[0142] WE′(单反)=WE(单反)+ΔWE(属性词)
[0143] 具体的,通过对各类型搜索词对应的权重值WE(Word)加上对应的修正值ΔWE(Word),使得修正后的关注度高的搜索词对应的权重值WE′(Word)大于关注度较低的搜索词对应的权重值。
[0144] 例如,可以设定ΔWE(产品词)=1,ΔWE(品牌词)=0.8,ΔWE(属性词)=0.3;此时修正后的搜索词“相机”、“佳能”、“单反”的权重值分别为:
[0145] WE′(相机)=0.7768+1.0=1.7768
[0146] WE′(佳能)=0.5982+0.8=1.3982
[0147] WE′(单反)=0.8781+0.3=1.1781
[0148] 由此使得,WE′(相机)高于WE′(佳能),而WE′(佳能)高于WE′(单反),即为当前权重满足了产品词的权重高于品牌词的权重,且品牌词的权重高于属性词权重。
[0149] 本申请实施例还提供一种搜索结果生成方法。参照图2,为本申请实施例的搜索结果生成方法流程图。所述方法包括:
[0150] 步骤S201、系统接收用户输入的搜索请求,获得所述搜索请求中各搜索词对应的权重值;
[0151] 当系统接收到用户输入的搜索请求时,会对所述搜索请求进行分词处理。当所述搜索请求仅仅为一个词时,则分词处理后得到的搜索词即为该搜索词本身,例如,搜索请求为“相机”,则搜索词即为“相机”;当所述搜索请求包括多个词时,则分词处理后得到的搜索词为多个,例如,搜索请求为“相机美观”,则搜索词为“相机”和“美观”。
[0152] 对于分词处理后得到的各搜索词,系统查询所述数据库,获取各搜索词对应的权重值。例如,系统通过查询数据库,得到所述搜索词“相机”何搜索词“美观”分别对应的权重值为:
[0153] WE(相机)=0.7768
[0154] WE(美观)=0.398
[0155] 其中,所述搜索词的权重值的确定方法与上述本申请实施例中的所述确定搜索词权重值的方法相同,在此不再赘述。
[0156] 步骤S202、将各搜索词对应的匹配信息按照各搜索词对应的权重值排序,展现给用户。
[0157] 针对用户在搜索时所输入的搜索信息,搜索引擎往往能够检索到多条匹配信息,这个数量可能会达到数十至数万。从用户的角度来讲,往往只会重点关注在搜索结果中排序比较靠前的信息。这样,在搜索引擎向用户提供搜索结果时,如何对这些信息进行排序就显得尤为重要,搜索结果的排序是否合理将直接影响着用户的体验。
[0158] 优选地,本申请实施例所述方法中,还可以进一步包括:
[0159] 根据步骤S201中获取所述搜索请求中各搜索词对应的权重值,对各搜索词进行主、辅搜索词划分。
[0160] 具体地,当所述搜索词对应的权重值大于预设的第二阈值时,确定所述搜索词为主搜索词;否则,确定所述搜索词为辅搜索词。
[0161] 系统根据所述搜索请求中包括的各搜索词进行搜索时,以所述主搜索词为主,其返回的搜索结构中,必须包含所述主搜索词,而所述辅搜索词则可有可无。但是,所述辅搜索词可以帮助系统对返回给用户的搜索结果进行排序,将含有该辅搜索词的搜索结果排在不含有辅搜索词的搜索结果之前。
[0162] 本申请实施例中,根据所述搜索信息中各搜索词的权重值,对各搜索词对应的匹配信息进行排序,并将排序后的匹配信息作为搜索结果展现给用户。当所述搜索词对应的权重值越高时,说明用户对该搜索词的关注程度越高,因此,将权重值较高的搜索词对应的匹配信息靠前排序,优先展现给用户,从而实现了搜索结果中排序在前的信息是用户更为关注的信息,提高了用户的体验满意度。
[0163] 以上介绍以电子商务搜索为例对本申请技术方案进行了介绍,可以理解的是,这只是本申请技术方案的举例说明,事实上,本申请技术方案可以应用于各类搜索需求,例如图书数据库搜索、文献数据库搜索等。并且应用范围也仅不局限于互联网领域,其他如单机、局域网中的搜索,都可以应用本申请所提供的技术方案。
[0164] 对应于上述确定搜索词权重值的方法实施例,本申请还提供一种确定搜索词权重值的装置,参照图3所示,所述装置包括:
[0165] 日志生成模块10,用于接收用户输入的搜索请求和点击信息,生成搜索信息日志,保存入数据库;
[0166] 词表生成模块20,用于统计数据库中保存的所述搜索信息日志,生成类目分布词表;所述类目分布词表包括:搜索词、所述搜索词对应的搜索类目、所述搜索词对应的各搜索类目的搜索概率;
[0167] 词表优化模块30,用于从数据库中提取属性词表,优化所述类目分布词表;
[0168] 权重计算模块40,用于根据优化后的所述类目分布词表,计算所述类目分布词表中各搜索词的权重。
[0169] 参照图4所示,所述词表优化模块30包括:
[0170] 判断子模块301,用于依次判断所述类目分布词表中各搜索词是否属于所述属性词表;
[0171] 属性词优化子模块302,用于当所述判断子模块的结果为是时,滤除所述搜索词对应的搜索概率低于预设的第一阈值的搜索类目;
[0172] 非属性词优化子模块303,用于当所述判断子模块的结果为否时,将所述搜索词对应的各搜索类目的搜索概率平均化。
[0173] 优选地,本申请实施例中,所述权重计算模块40通过下述方式计算所述类目分布词表中各搜索词的权重:
[0174] WE(Word)=-C(Word)+C0
[0175] 其中,Word为搜索词;WE(Word)为所述搜索词对应的权重;C(Word)为所述搜索词对应的熵;C0大于等于所述类目分布词表中各搜索词对应的熵的最大值。
[0176] 所述权重计算模块40通过下述方式计算搜索词对应的熵:
[0177] C(Word)=|p1logp1+p2logp2+p3logp3+....+pmlogpm|
[0178] 其中,Word为搜索词;pi为优化后的所述类目分布词表中所述搜索词对应的第i个搜索类目的搜索概率,0<pi<1;i=1、2、...m;m为所述类目分布词表中搜索类目的总个数。
[0179] 优选地,所述装置还包括:
[0180] 分类模块,用于对所述类目分布词表中的搜索词进行分类,确定各类型搜索词的关注度;
[0181] 修正模块,用于对各类型的搜索词对应的权重进行修正,使得关注度高的搜索词对应的权重值高于关注度低的搜索词对应的权重值。
[0182] 对应于上述搜索结果生成方法实施例,本申请还提供一种搜索结果生成装置,参照图5所示,所述装置包括:
[0183] 日志生成模块100,用于接收用户输入的搜索请求和点击信息,生成搜索信息日志,保存入数据库;
[0184] 词表生成模块200,用于统计数据库中保存的所述搜索信息日志,生成类目分布词表;所述类目分布词表包括:搜索词、所述搜索词对应的搜索类目、所述搜索词对应的各搜索类目的搜索概率;
[0185] 词表优化模块300,用于从数据库中提取属性词表,优化所述类目分布词表;
[0186] 权重计算模块400,用于根据优化后的所述类目分布词表,计算所述类目分布词表中各搜索词的权重值。
[0187] 权重提取模块500,用于接收用户输入的搜索请求,获取所述搜索请求中各搜索词对应的权重值;
[0188] 结果生成模块600,用于将各搜索词对应的匹配信息按照各搜索词对应的权重值排序。
[0189] 优选地,所述词表优化模块300具体包括:
[0190] 判断子模块,用于依次判断所述类目分布词表中各搜索词是否属于所述属性词表;
[0191] 属性词优化子模块,用于当所述判断子模块的结果为是时,滤除所述搜索词对应的搜索概率低于预设的第一阈值的搜索类目;
[0192] 非属性词优化子模块,用于当所述判断子模块的结果为否时,将所述搜索词对应的各搜索类目的搜索概率平均化;
[0193] 优选地,所述搜索结果生成装置还包括:
[0194] 主词设定模块,用于当所述搜索词对应的权重值大于预设的第二阈值时,确定所述搜索词为搜索主词。
[0195] 为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0196] 通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
[0197] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0198] 本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0199] 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0200] 以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。