首页> 中国专利> 一种查询词推荐方法和查询词推荐系统

一种查询词推荐方法和查询词推荐系统

摘要

本申请提供了一种查询词推荐方法和查询词推荐系统,以提供更准确的推荐结果。其中,一种查询词推荐方法包括:接收输入的字符,并确定输入所述字符的用户标识信息;获取所述用户标识信息对应的偏好特征向量,所述偏好特征向量包括偏好查询词和偏好查询词对应的权重;并且,获取以所述输入字符为前缀的查询词对应的候选查询词向量,所述候选查询词向量包括候选查询词和候选查询词对应的权重;计算所述候选查询词向量与所述偏好特征向量的相似度;根据所述相似度和所述候选查询词对应的权重对所述候选查询词进行排序得到推荐查询词。本申请上述方法针对不同用户给出的推荐查询词也不同,推荐结果更加准确,更符合不同用户的搜索意图。

著录项

  • 公开/公告号CN103870505A

    专利类型发明专利

  • 公开/公告日2014-06-18

    原文格式PDF

  • 申请/专利权人 阿里巴巴集团控股有限公司;

    申请/专利号CN201210548573.9

  • 发明设计人 吴振元;王林青;汤佳宇;林锋;

    申请日2012-12-17

  • 分类号G06F17/30(20060101);

  • 代理机构11319 北京润泽恒知识产权代理有限公司;

  • 代理人苏培华

  • 地址 英属开曼群岛大开曼资本大厦一座四层847号邮箱

  • 入库时间 2024-02-20 00:20:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-10-27

    授权

    授权

  • 2014-07-16

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

    实质审查的生效

  • 2014-06-18

    公开

    公开

说明书

技术领域

本发明涉及互联网搜索,特别是涉及一种查询词推荐方法和查询词推荐 系统。

背景技术

在互联网搜索领域中,用户在搜索输入框中输入部分查询词字符时,为 了节省用户的输入时间,网站会为用户推荐一些符合用户搜索意图并且以用 户输入字符为前缀的查询词,而且按照相关性的高低把这些推荐的查询词进 行排序,以供用户选择。

目前大多数网站的推荐系统是统计所有用户的历史搜索的查询词,根据 这些查询词的搜索次数以及搜索之后有点击行为的次数来推荐以用户输入 字符为前缀的相关查询词。

但是,这种推荐系统由于统计的是网站的历史搜索日志,因而无法准确 提供符合搜索意图的推荐查询词。

而且,对于不同的用户,搜索意图一般是不同的,而现有的推荐系统针 对不同用户输入的相同字符,推荐结果都是一样的,因此现有的推荐系统无 法满足不同用户的搜索查询意图,尤其是对于只输入一个字符的情况,结果 更糟糕。

发明内容

本申请提供了一种查询词推荐方法和查询词推荐系统,以提供更准确的 推荐结果。

为了解决上述问题,本申请公开了一种查询词推荐方法,包括:

接收输入的字符,并确定输入所述字符的用户标识信息;

获取所述用户标识信息对应的偏好特征向量,所述偏好特征向量包括偏 好查询词和偏好查询词对应的权重;并且,

获取以所述输入字符为前缀的查询词对应的候选查询词向量,所述候选 查询词向量包括候选查询词和候选查询词对应的权重;

计算所述候选查询词向量与所述偏好特征向量的相似度;

根据所述相似度和所述候选查询词对应的权重对所述候选查询词进行 排序得到推荐查询词。

可选地,所述获取所述用户标识信息对应的偏好特征向量包括:

获取所述用户标识信息对应的历史偏好特征向量,所述历史偏好特征向 量包括历史偏好查询词和历史偏好查询词对应的权重;

获取所述用户标识信息对应的实时偏好特征向量,所述实时偏好特征向 量包括实时偏好查询词和实时偏好查询词对应的权重;

将所述历史偏好特征向量和所述实时偏好特征向量组合为所述用户标 识信息对应的偏好特征向量。

可选地,所述组合包括:

将所述历史偏好特征向量和所述实时偏好特征向量中的相同查询词合 并为同一个偏好查询词,并将所述相同查询词的权重相加作为所述偏好查询 词的权重;

将所述历史偏好特征向量和所述实时偏好特征向量中的不同查询词及 其权重提取出来,作为所述偏好特征向量中的偏好查询词和偏好查询词对应 的权重。

可选地,所述获取所述用户标识信息对应的历史偏好特征向量包括:

以所述用户标识信息为关键词查询历史偏好特征索引,并获取对应的预 先生成的历史偏好特征向量,其中,所述历史偏好特征索引以用户标识信息 作为关键词,并以历史偏好特征向量作为关键词对应的值;

所述历史偏好特征向量的生成包括:

获取所述用户标识信息对应的历史访问日志并进行统计,从中抽取出中 心词及中心词对应的权重并组成中心词向量;

将中心词向量进行加权计算得到历史偏好特征向量。

可选地,所述获取所述用户标识信息对应的实时偏好特征向量包括:

以所述用户标识信息为关键词查询实时偏好特征索引,并获取对应的实 时生成的实时偏好特征向量,其中,所述实时偏好特征索引以用户标识信息 作为关键词,并以实时偏好特征向量作为关键词对应的值;

所述实时偏好特征向量的生成包括:

获取所述用户标识信息在当前同一session内的访问日志并进行统计, 从中抽取出中心词及中心词对应的权重并组成中心词向量;

将所述用户实时搜索行为的时间序列衰减函数和实时搜索行为的时间 作为权重因子,对所述中心词向量进行线性加权得到实时偏好特征向量。

可选地,所述用户标识信息为用户cookie,或登录账户,或用户cookie 与登录账户的组合信息。

可选地,所述计算所述候选查询词向量与所述偏好特征向量的相似度包 括:

将所述偏好特征向量和所述候选查询词向量相乘作为分子;

将所述偏好特征向量的模和所述候选查询词向量的模相乘作为分母;

将所述分子和分母做除运算,除运算的结果作为所述候选查询词向量与 所述偏好特征向量的相似度。

可选地,所述根据相似度和所述候选查询词对应的权重对所述候选查询 词进行排序得到推荐查询词包括:

将所述候选查询词的相似度和所述候选查询词对应的权重进行线性加 权得到每个候选查询词的总权重;

依据所述每个候选查询词的总权重对所述候选查询词进行排序得到推 荐查询词。

可选地,所述获取以所述输入字符为前缀的查询词对应的候选查询词向 量包括:

以所述输入字符为前缀查询前缀查找索引,并获取对应的预先生成的候 选查询词向量,其中,所述前缀查找索引以候选查询词作为关键词,并以候 选查询词的权重作为关键词对应的值;

所述候选查询词向量的生成包括:

获取全量的历史访问日志并进行统计,从中抽取出查询词及查询词对应 的特征向量;

根据所述查询词特征向量进行线性加权,计算得到每个查询词的权重;

将所述查询词作为候选查询词,将所述查询词的权重作为候选查询词的 权重,得到候选查询词向量。

本申请还提供了一种查询词推荐系统,包括:

接收模块,用于接收输入的字符,并确定输入所述字符的用户标识信息;

偏好获取模块,用于获取所述用户标识信息对应的偏好特征向量,所述 偏好特征向量包括偏好查询词和偏好查询词对应的权重;

候选获取模块,用于获取以所述输入字符为前缀的查询词对应的候选查 询词向量,所述候选查询词向量包括候选查询词和候选查询词对应的权重;

相似度计算模块,用于计算所述候选查询词向量与所述偏好特征向量的 相似度;

排序输出模块,用于根据所述相似度和所述候选查询词对应的权重对所 述候选查询词进行排序得到推荐查询词。

可选地,所述偏好获取模块包括:

历史获取子模块,用于获取所述用户标识信息对应的历史偏好特征向 量,所述历史偏好特征向量包括历史偏好查询词和历史偏好查询词对应的权 重;

实时获取子模块,用于获取所述用户标识信息对应的实时偏好特征向 量,所述实时偏好特征向量包括实时偏好查询词和实时偏好查询词对应的权 重;

组合子模块,用于将所述历史偏好特征向量和所述实时偏好特征向量组 合为所述用户标识信息对应的偏好特征向量。

可选地,所述组合子模块包括:

合并子单元,用于将所述历史偏好特征向量和所述实时偏好特征向量中 的相同查询词合并为同一个偏好查询词,并将所述相同查询词的权重相加作 为所述偏好查询词的权重;

提取子单元,用于将所述历史偏好特征向量和所述实时偏好特征向量中 的不同查询词及其权重提取出来,作为所述偏好特征向量中的偏好查询词和 偏好查询词对应的权重。

可选地,所述系统还包括:

历史偏好特征生成模块,用于获取所述用户标识信息对应的历史访问日 志并进行统计,从中抽取出中心词及中心词对应的权重并组成中心词向量, 将中心词向量进行加权计算得到历史偏好特征向量;

所述历史获取子模块以所述用户标识信息为关键词查询历史偏好特征 索引,并获取对应的预先生成的历史偏好特征向量,其中,所述历史偏好特 征索引以用户标识信息作为关键词,并以历史偏好特征向量作为关键词对应 的值。

可选地,所述系统还包括:

实时偏好特征生成模块,用于获取所述用户标识信息在当前同一session 内的访问日志并进行统计,从中抽取出中心词及中心词对应的权重并组成中 心词向量,将所述用户实时搜索行为的时间序列衰减函数和实时搜索行为的 时间作为权重因子,对所述中心词向量进行线性加权得到实时偏好特征向 量;

所述实时获取子模块以所述用户标识信息为关键词查询实时偏好特征 索引,并获取对应的实时生成的实时偏好特征向量,其中,所述实时偏好特 征索引以用户标识信息作为关键词,并以实时偏好特征向量作为关键词对应 的值。

可选地,所述排序输出模块包括:

计算子模块,用于将所述候选查询词的相似度和所述候选查询词对应的 权重进行线性加权得到每个候选查询词的总权重;

排序输出子模块,用于依据所述每个候选查询词的总权重对所述候选查 询词进行排序得到推荐查询词。

与现有技术相比,本申请包括以下优点:

首先,本申请实施例在推荐查询词的时候不仅将候选查询词向量对应的 权重作为排序因子,而且参考了用户的偏好特征,并且根据用户的偏好特征 生成了偏好特征向量,将候选查询词向量与偏好特征向量的相似度作为排序 因子,使得推荐结果更准确,可以迅速准确地推荐出符合搜索意图的查询词, 节省了搜索的时间。而且,由于不同用户的偏好不同,采用本申请实施例的 方法针对不同用户给出的推荐查询词也不同,因此更符合不同用户的搜索意 图。

其次,本申请实施例中的偏好特征向量包括历史偏好特征向量和实时偏 好特征向量。由于同一用户在同一session内的搜索意图一般是一样的,因 此本申请实施例参考了用户的实时偏好特征,并综合历史偏好特征,这样可 以保证当次推荐结果更加准确,更符合当次实时的搜索意图。

当然,实施本申请的任一产品不一定需要同时达到以上所述的所有优 点。

附图说明

图1是本申请实施例所述一种查询词推荐方法的流程图;

图2是本申请实施例所述偏好特征索引的建立示意图;

图3是本申请实施例所述另一种查询词推荐方法的流程图;

图4是本申请实施例所述生成历史偏好特征向量的示意图;

图5是本申请实施例所述一种查询词推荐方法的示意图;

图6是本申请实施例所述一种查询词推荐系统的结构框图;

图7是本申请实施例所述另一种查询词推荐系统的结构框图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图 和具体实施方式对本申请作进一步详细的说明。

为了推荐更加准确的推荐查询词,并满足不同用户的搜索意图,提高用 户的搜索体验,本申请挖掘了用户历史和实时的搜索意图,抽取用户历史和 实时的偏好特征,计算偏好特征和候选查询词的相似度,根据相似度和候选 查询词对应的权重对候选查询词进行排序,推荐出更精确的候选查询词以供 用户选择。

下面通过实施例进行详细说明。

参照图1,其示出了本申请实施例所述一种查询词推荐方法的流程图。 本实施例具体可以包括以下步骤:

步骤100,接收输入的字符,并确定输入所述字符的用户标识信息;

本实施例中所述输入的字符即为用户在搜索输入框中输入的查询信息, 用户标识信息可以为用户cookie,或登录账户,或用户cookie与登录账户的 组合信息。其中,cookie是网站为了辨别用户身份而储存在用户本地终端上 的数据。

需要说明的是,能够区分不同用户的信息都可以作为用户标识信息,本 实施例在此不做限定。

步骤102,获取所述用户标识信息对应的偏好特征向量,所述偏好特征 向量包括偏好查询词和偏好查询词对应的权重;

在本实施例中,可以通过访问偏好特征索引来获取用户标识信息对应的 偏好特征向量。如图2所示,为上述偏好特征索引的建立示意图,所述偏好 特征索引以用户标识信息作为关键词,并以偏好特征向量作为关键词对应的 值。

具体地,可以以所述用户标识信息为关键词查询偏好特征索引,并获取 对应的偏好特征向量,偏好特征向量可以包括偏好查询词和偏好查询词对应 的权重。

在本实施例中的一种优选实施例中,所述偏好特征向量可以包括历史偏 好特征向量和实时偏好特征向量,历史偏好特征向量可以是预先生成的,实 时偏好特征向量是在接收到输入字符后,实时生成的。因而在上述优选实施 例中,获取所述用户标识信息对应的偏好特征向量具体可以包括以下子步 骤:

子步骤1,获取所述用户标识信息对应的历史偏好特征向量,所述历史 偏好特征向量包括历史偏好查询词和历史偏好查询词对应的权重;

子步骤2,获取所述用户标识信息对应的实时偏好特征向量,所述实时 偏好特征向量包括实时偏好查询词和实时偏好查询词对应的权重;

子步骤3,将所述历史偏好特征向量和所述实时偏好特征向量组合为所 述用户标识信息对应的偏好特征向量。

步骤104,获取以所述输入字符为前缀的查询词对应的候选查询词向量, 所述候选查询词向量包括候选查询词和候选查询词对应的权重;

在本实施例中,可以通过访问前缀查找索引来获取候选查询词向量,所 述前缀查找索引以候选查询词作为关键词,并以候选查询词的权重作为关键 词对应的值。前缀查找索引可以理解为一个快速查找的key-value对的索引, 其中key是关键字,即为本实施例中的查询词,value是关键字对应的值, 即为本实施例中采用下面所述的公式一计算出来的查询词对应的权重。

具体地,可以根据所述输入字符为前缀匹配以输入字符为前缀的查询 词,然后在前缀查找索引中查询所述以输入字符为前缀的查询词对应的候选 查询词向量,本实施例中候选查询词向量可以包括候选查询词和候选查询词 对应的权重。

需要说明的是,本实施例中步骤102和步骤104并没有先后顺序,在本 实施例中,只是为了区分两个不同的步骤,具体实施的时候,可以先执行步 骤102,然后执行步骤104;也可以先执行步骤104,然后执行步骤102;还 可以同时执行步骤102和步骤104。

步骤106,计算所述候选查询词向量与所述偏好特征向量的相似度;

计算相似度的方法有很多,例如:余弦相似度算法、BM25算法和Jaccard 算法等。本实施例仅以余弦相似度算法为例进行相似度计算的解释说明,但 不应理解为对本申请的限定。

所述采用余弦相似度算法计算相似度S,具体地,首先将所述偏好特征 向量和所述候选查询词向量相乘作为分子,然后,将所述偏好特征向量的模 和所述候选查询词向量的模相乘作为分母,最后,将所述分子和分母做除运 算,除运算的结果作为所述候选查询词向量与所述偏好特征向量的相似度。 余弦相似度算法的公式如以下公式一所示:

S=P·Q|P||Q|(公式一)

其中,P为步骤102所述的偏好特征向量(由历史偏好特征向量和实时 偏好特征向量组合而成),Q为所述候选查询词向量,|P|为偏好特征向量P的 模,|Q|为所述候选查询词向量Q的模,S为所述候选查询词向量Q与所述偏 好特征向量P的相似度。

步骤108,根据所述相似度和所述候选查询词对应的权重对所述候选查 询词进行排序得到推荐查询词。

本实施例以步骤106计算得出的候选查询词向量与所述偏好特征向量的 相似度,和步骤104中获取得到的候选查询词对应的权重为排序因子,对候 选查询词进行排序,并输出,输出结果即为推荐的查询词。

在进行排序的时候,可以首先将所述相似度和所述候选查询词进行线性 加权,然后根据线性加权后的结果对所述候选查询词进行排序得到推荐查询 词。

基于以上实施例的内容,本实施例所述的查询词推荐方法在推荐查询词 的时候不仅将候选查询词向量对应的权重作为排序因子,而且同时将候选查 询词向量与所述偏好特征向量的相似度作为排序因子,使得推荐结果更准 确,可以迅速准确地推荐出符合搜索意图的查询词,节省了搜索的时间。

基于上述图1实施例的内容,为了使本领域技术人员了解本申请的内容, 下面介绍一种更详细的查询词的推荐方法,如图3所示,本实施例所述的查 询词的推荐方法具体可以包括以下步骤:

步骤200,接收输入的字符,并确定输入所述字符的用户标识信息;

本实施例中所述输入的字符即为用户在搜索输入框中输入的查询信息, 用户标识信息可以为用户cookie,或登录账户,或用户cookie与登录账户的 组合信息。需要说明的是,能够区分不同用户的信息都可以作为用户标识信 息,本实施例在此不做限定。

步骤202,获取所述用户标识信息对应的历史偏好特征向量,所述历史 偏好特征向量包括历史偏好查询词和历史偏好查询词对应的权重;

本实施例中,所述步骤202具体可以包括:

以所述用户标识信息为关键词查询历史偏好特征索引,来获取对应的预 先生成的历史偏好特征向量,其中,所述历史偏好特征索引以用户标识信息 作为关键词,并以历史偏好特征向量作为关键词对应的值。

历史偏好特征向量可以通过图4所示的方法预先生成:

首先,获取所述用户标识信息对应的历史访问日志并进行统计,从中抽 取出中心词及中心词对应的权重并组成中心词向量。

本实施例中历史偏好特征的来源是与所述用户标识信息对应的历史访 问日志,历史访问日志中包含历史搜索的查询词、点击、下单、反馈和收藏 等行为所在商品的标题、描述以及类目。本实施例中历史偏好特征可以理解 为从历史访问日志中抽取的中心词,所述中心词和中心词的权重组成历史偏 好特征向量。

本实施例中所述中心词抽取是利用词性规则,不同词性的中心词对应不 同的权重,例如,一般名词的权重高于形容词,形容词的权重高于副词。

其次,将中心词向量进行加权计算得到历史偏好特征向量。

本实施例可以对不同来源的中心词进行加权计算得到历史偏好特征向 量,例如:来源于历史搜索的查询词、或来源于点击行为所在商品的标题、 或来源于点击行为所在商品的描述等,将这些不同来源的中心词进行加权计 算就可以得到历史偏好特征P1。采用如下公式二进行加权计算:

P1=F1(f1,...,fn)    (公式二)

其中,F1(f1,...fn)是各项搜索行为f1,...fn(搜索、点击、下单或反馈)中 所抽取中心词为偏好特征的线性模型函数,F1(f1,...,fn)=w1*f1+w2*f2+...wn*fn, f1是搜索查询词中心词,w1是相应的权重;f2是点击产品的标题的中心词, w2是相应的权重;fn是对商品的反馈中心词,wn是相应的权重, w1+w2+...wn=1。以上f1、f2、fn只是本申请实施例的示例性说明,本领域技 术人员可以理解的是f1、f2、fn可以是其它的词。

步骤204,获取所述用户标识信息对应的实时偏好特征向量,所述实时 偏好特征向量包括实时偏好查询词和实时偏好查询词对应的权重;

本实施例中可以通过以下方式获取所述用户标识信息对应的实时偏好 特征向量:

以所述用户标识信息为关键词查询实时偏好特征索引,并获取对应的实 时生成的实时偏好特征向量,其中,所述实时偏好特征索引以用户标识信息 作为关键词,并以实时偏好特征向量作为关键词对应的值。

所述实时偏好特征向量可以通过以下方法生成:

首先,获取所述用户标识信息在当前同一session内的访问日志并进行 统计,从中抽取出中心词及中心词对应的权重并组成中心词向量;

本实施例所述session,是指用户在浏览某个网站时,从进入网站到浏览 器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间段。

同一session内的访问日志中包含同一session内搜索的查询词、点击、 下单、反馈和收藏等行为所在商品的标题、描述以及类目。本实施例中实时 偏好特征可以理解为从同一session内的访问日志中抽取中心词,中心词组 成的词向量即为中心词向量。

本实施例中所述中心词抽取是利用词性规则,不同词性的中心词对应不 同的权重,例如,一般名词的权重高于形容词,形容词的权重高于副词。

其次,将所述用户实时搜索行为的时间序列衰减函数和实时搜索行为的 时间作为权重因子,对所述中心词向量进行线性加权得到实时偏好特征向 量。

上述实时偏好特征采用以下公式三进行计算:

P2=ΣtW(t1,t2)F3(f1,...fn)(公式三)

其中,W(t1,t2)是用户实时搜索行为的时间序列衰减函数t1和实时搜索行 为的时间t2为参数的权重因子函数;F3(f1,...fn)是各项搜索行为f1,...fn(搜索、 点击、下单或反馈)中所抽取中心词为偏好特征的线性模型函数, F3(f1,...,fn)=w1*f1+w2*f2+...wn*fn,f1是搜索查询词中心词,w1是相应的权重; f2是点击产品的标题的中心词,w2是相应的权重;fn是对商品的反馈中心词, wn是相应的权重,w1+w2+...wn=1。以上f1、f2、fn只是本申请实施例的示例 性说明,本领域技术人员可以理解的是f1、f2、fn可以是其它的词。

步骤206,将所述历史偏好特征向量和所述实时偏好特征向量组合为所 述用户标识信息对应的偏好特征向量。

本实施例中将历史偏好特征向量和实时偏好特征向量组合为偏好特征 向量,可以通过以下方式进行组合:

首先,将所述历史偏好特征向量和所述实时偏好特征向量中的相同查询 词合并为同一个偏好查询词,并将所述相同查询词的权重相加作为所述偏好 查询词的权重;

其次,将所述历史偏好特征向量和所述实时偏好特征向量中的不同查询 词及其权重提取出来,作为所述偏好特征向量中的偏好查询词和偏好查询词 对应的权重。

例如,历史偏好特征向量P1=[(mp3,0.4),(apple,0.2)],其中,mp3是中心 词,0.4是中心词mp3对应的权重,apple是中心词,0.2是中心词apple对 应的权重;实时偏好特征向量P2=[(apple,0.3),(ipad,0.2)],其中apple是中心 词,0.3是中心词apple对应的权重,ipad是中心词,0.2是中心词ipad对应 的权重。

首先,将历史偏好特征向量P1和实时偏好特征向量P2中的相同查询词 apple合并为同一个偏好查询词apple,将相同查询词apple的权重0.2和0.3 相加得0.5,将0.5作为偏好查询词apple的权重。

其次,将历史偏好特征P1和实时偏好特征P2中不同的查询词mp3和 ipad提取出来,作为偏好特征向量P中的偏好查询词。

上述历史偏好特征向量P1和实时偏好特征向量P2组合后的偏好特征向 量P=[(mp3,0.4),(apple,0.5),(ipad,0.2)]。

步骤208,获取以所述输入字符为前缀的查询词对应的候选查询词向量, 所述候选查询词向量包括候选查询词和候选查询词对应的权重;

在本实施例中,可以通过访问前缀查找索引来获取候选查询词向量,所 述前缀查找索引以候选查询词作为关键词,并以候选查询词的权重作为关键 词对应的值。具体地,可以根据所述输入字符为前缀匹配以输入字符为前缀 的查询词,然后再前缀查找索引中查询所述以输入字符为前缀的查询词对应 的候选查询词向量,本实施例中候选查询词向量可以包括候选查询词和候选 查询词对应的权重。

本实施例中所述候选查询词向量的生成包括:

统计历史访问日志,根据查询词的特征向量进行线性加权,计算得到每 个查询词的权重并作为候选查询词的权重;将所述候选查询词的权重对应的 查询词作为候选查询词。

所述历史访问日志可以包括:历史搜索查询词的搜索次数以及历史搜索 查询词的点击转化率。

候选查询词的权重M可以通过以下公式四进行计算得到:

M=ΣtW(t)F2(f1,...,fn)(公式四)

其中,W(t)表示候选查询词查询时间的衰减函数因子,例如可以为指数 衰减函数t表示候选查询词被搜索时距当前的时间;F2(f1,...fn)表示候选 查询词的效果特征的线性函数,查询词的效果特征可以包括:查询词的被搜 索次数、查询词被搜索之后有点击行为的次数或查询词的点击转化率。例如 ,F2(f1,...,fn)=w1*f1+w2*f2+...wn*fn,f1是查询词的被搜索次数,w1是给定的 权重1;f2是查询词被搜索之后又点击行为的次数,w2是给定的权重2;fn是 查询词的点击转化率,wn是给定的权重3,并且w1+w2+...wn=1。

需要说明的是,本实施例中步骤208也可以在步骤202之前执行,具体 实施的时候,可以先执行步骤202-206,然后执行步骤208;也可以先执行 步骤208,然后执行步骤202-206;还可以同时执行步骤202-206和步骤208。

步骤210,计算所述候选查询词向量与所述偏好特征向量的相似度;

计算相似度的方法有很多,例如:余弦相似度算法、BM25算法和Jaccard 算法等。本实施例中可以采用余弦相似度算法计算相似度S,具体地,首先 将所述偏好特征向量和所述候选查询词向量相乘作为分子,然后,将所述偏 好特征向量的模和所述候选查询词向量的模相乘作为分母,最后,将所述分 子和分母做除运算,除运算的结果作为所述候选查询词向量与所述偏好特征 向量的相似度。余弦相似度算法的公式如以下公式一所示:

S=P·Q|P||Q|(公式一)

其中,P为所述偏好特征向量,Q为所述候选查询词向量,|P|为偏好特 征向量P的模,|Q|为所述候选查询词向量Q的模,S为所述候选查询词向量Q 与所述偏好特征向量P的相似度。

步骤212,将所述候选查询词的相似度和所述候选查询词对应的权重进 行线性加权得到每个候选查询词的总权重;

总权重T按照以下公式五进行计算:

T=F1(Q,S)    (公式五)

其中,F4(Q,S)是候选查询词向量Q和相似度S的线性模型函数,例如, T=0.6*Q+0.4*S,其中0.6是候选查询词向量Q对应的权重,0.4是相似度S 对应的权重。

步骤214,依据所述每个候选查询词的总权重对所述候选查询词进行排 序得到推荐查询词。

本实施例以步骤212计算得到的总权重为排序因子,对候选查询词进行 排序,并输出,输出结果即为推荐的查询词。

可以参照图5理解本实施例中的上述步骤200至步骤214。

需要说明的是,上述实施例所述的查询词推荐方法可分为离线处理和在 线处理两部分,具体如下:

1)离线处理部分

离线处理部分主要是统计全量用户的历史访问日志,统计每个用户的历 史搜索行为,抽取每个用户的历史偏好特征,并建立针对每个用户的历史偏 好特征索引;以及统计历史访问日志,计算查询词对应的权重,建立前缀查 找索引。

2)在线处理部分

在线处理部分主要是统计当前同一session内的访问日志,抽取实时偏 好特征,然后计算由所述历史偏好特征和所述实时偏好特征所组成的偏好特 征与所述候选查询词的相似度,最后根据候选查询词的权重和相似度对候选 查询词进行排序,输出更加准确的推荐查询词。

本实施例中的偏好特征向量包含历史特征向量和实时特征向量,可以保 证推荐结果更准确,而且在推荐查询词的时候不仅将候选查询词向量对应的 权重作为排序因子,而且将候选查询词向量与所述偏好特征向量的相似度作 为排序因子,使得推荐结果更准确,可以迅速推荐出符合搜索意图的查询词, 节省了搜索的时间。

需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述 为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述 的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时 进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于 优选实施例,所涉及的动作并不一定是本申请所必需的。

基于上述方法实施例的说明,本申请还提供了相应的查询词推荐系统实 施例,来实现上述方法实施例所述的内容。

参照图6,其示出了本申请实施例所述一种查询词推荐系统的结构框图。 本实施例具体可以包括以下模块:

接收模块11、偏好获取模块12、候选获取模块13、相似度计算模块14 和排序输出模块15,其中,

接收模块11,用于接收输入的字符,并确定输入所述字符的用户标识信 息;

本实施例中接收模块11接收到的字符即为用户在搜索输入框中输入的 查询信息,用户标识信息可以为用户cookie,或登录账户,或用户cookie与 登录账户的组合信息。需要说明的是,能够区分不同用户的信息都可以作为 用户标识信息,本实施例在此不做限定。

偏好获取模块12,用于获取所述用户标识信息对应的偏好特征向量,所 述偏好特征向量包括偏好查询词和偏好查询词对应的权重;

在本实施例中,偏好获取模块12可以通过访问偏好特征索引来获取用 户标识信息对应的偏好特征向量。上述偏好特征索引以用户标识信息作为关 键词,并以偏好特征向量作为关键词对应的值。

具体地,偏好获取模块12可以以所述用户标识信息为关键词查询偏好 特征索引,并获取对应的偏好特征向量,偏好特征向量可以包括偏好查询词 和偏好查询词对应的权重。

在图7所示的本实施例的一种优选实施例中,所述偏好获取模块12具 体可以包括:

历史获取子模块121,用于获取所述用户标识信息对应的历史偏好特征 向量,所述历史偏好特征向量包括历史偏好查询词和历史偏好查询词对应的 权重;

实时获取子模块122,用于获取所述用户标识信息对应的实时偏好特征 向量,所述实时偏好特征向量包括实时偏好查询词和实时偏好查询词对应的 权重;

组合子模块123,用于将所述历史偏好特征向量和所述实时偏好特征向 量组合为所述用户标识信息对应的偏好特征向量。

在本实施例的另一种优选实施例中,所述组合子模块具体可以包括:

合并子单元,用于将所述历史偏好特征向量和所述实时偏好特征向量中 的相同查询词合并为同一个偏好查询词,并将所述相同查询词的权重相加作 为所述偏好查询词的权重;

提取子单元,用于将所述历史偏好特征向量和所述实时偏好特征向量中 的不同查询词及其权重提取出来,作为所述偏好特征向量中的偏好查询词和 偏好查询词对应的权重。

候选获取模块13,用于获取以所述输入字符为前缀的查询词对应的候选 查询词向量,所述候选查询词向量包括候选查询词和候选查询词对应的权 重;

在本实施例中,候选获取模块13可以通过访问前缀查找索引来获取候 选查询词向量,所述前缀查找索引以候选查询词作为关键词,并以候选查询 词的权重作为关键词对应的值。前缀查找索引可以理解为一个快速查找的 key-value对的索引,其中key是关键字,即为本实施例中的查询词,value 是关键字对应的值,即查询词对应的权重。

相似度计算模块14,用于计算所述候选查询词向量与所述偏好特征向量 的相似度;

相似度计算模块14可以采用多种方法计算相似度,例如:余弦相似度 算法、BM25算法和Jaccard算法等。本实施例仅以相似度计算模块14采用 余弦相似度算法为例进行相似度计算的解释说明,但不应理解为对本申请的 限定。

所述相似度计算模块14采用余弦相似度算法计算相似度S,具体地, 首先将所述偏好特征向量和所述候选查询词向量相乘作为分子,然后,将所 述偏好特征向量的模和所述候选查询词向量的模相乘作为分母,最后,将所 述分子和分母做除运算,除运算的结果作为所述候选查询词向量与所述偏好 特征向量的相似度。

排序输出模块15,用于根据所述相似度和所述候选查询词对应的权重对 所述候选查询词进行排序得到推荐查询词。

本实施例排序输出模块15以所述候选获取模块13得到的候选查询词对 应的权重与所述相似度计算模块14计算得到的相似度作为排序因子,对候 选查询词进行排序,排序的结果作为推荐的查询词。

在图7所示的本实施例的一种优选实施例中,所述排序输出模块15包 括:

计算子模块151,用于将所述候选查询词的相似度和所述候选查询词对 应的权重进行线性加权得到每个候选查询词的总权重;

计算子模块151可以采用前述实施例二中的公式五计算每个候选查询词 的总权重,本实施例在此不做赘述,可以参照实施例二中的相关描述。

排序输出子模块152,用于依据所述每个候选查询词的总权重对所述候 选查询词进行排序得到推荐查询词。

需要说明的是,在如图7所示的本实施例的优选实施例中,还包括:

历史偏好特征生成模块16,用于获取所述用户标识信息对应的历史访问 日志并进行统计,从中抽取出中心词及中心词对应的权重并组成中心词向 量,将中心词向量进行加权计算得到历史偏好特征向量;

所述历史获取子模块121以所述用户标识信息为关键词查询历史偏好特 征索引,并获取对应的预先生成的历史偏好特征向量,其中,所述历史偏好 特征索引以用户标识信息作为关键词,并以历史偏好特征向量作为关键词对 应的值。

实时偏好特征生成模块17,用于获取所述用户标识信息在当前同一 session内的访问日志并进行统计,从中抽取出中心词及中心词对应的权重并 组成中心词向量,将所述用户实时搜索行为的时间序列衰减函数和实时搜索 行为的时间作为权重因子,对所述中心词向量进行线性加权得到实时偏好特 征向量;

所述实时获取子模块122以所述用户标识信息为关键词查询实时偏好特 征索引,并获取对应的实时生成的实时偏好特征向量,其中,所述实时偏好 特征索引以用户标识信息作为关键词,并以实时偏好特征向量作为关键词对 应的值。

对于上述查询词推荐系统实施例而言,由于其与方法实施例基本相似, 所以描述的比较简单,相关之处参见图1和图3所示方法实施例的部分说明 即可。

本申请实施例在推荐查询词的时候不仅将候选查询词向量对应的权重 作为排序因子,而且参考了用户的偏好特征,并且偏好获取模块12根据用 户的偏好特征生成了偏好特征向量,排序输出模块15将候选查询词向量与 相似度计算模块14计算得到的偏好特征向量的相似度作为排序因子,使得 推荐结果更准确,可以迅速准确地推荐出符合搜索意图的查询词,节省了搜 索的时间。由于不同用户的偏好不同,采用本申请实施例的方法给出的推荐 查询词也不同。

图7所示的本实施例的优选实施例中,偏好特征向量包括历史偏好特征 向量和实时偏好特征向量,在同一session内的搜索意图一般是一样的,参 考了实时偏好特征并综合历史偏好特征可以保证当次推荐结果更加准确,更 符合当次实时的搜索意图。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明 的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见 即可。

本领域技术人员易于想到的是:上述各个实施例的任意组合应用都 是可行的,故上述各个实施例之间的任意组合都是本申请的实施方案, 但是由于篇幅限制,本说明书在此就不一一详述了。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或 计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、 或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个 其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘 存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序 产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程 图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流 程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算 机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使 得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实 现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定 的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理 设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储 器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程 或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现 的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程 图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的 步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了 基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权 利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

以上对本申请所提供的一种查询词推荐方法和查询词推荐系统,进行了 详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述, 以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对 于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围 上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号