处理查询请求的方法及装置.pdf

上传人:r7 文档编号:1667201 上传时间:2018-07-03 格式:PDF 页数:18 大小:1.60MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310573444.X

申请日:

2013.11.15

公开号:

CN104636403A

公开日:

2015.05.20

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 17/30申请日:20131115|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

腾讯科技(深圳)有限公司

发明人:

郑枫耀

地址:

518044广东省深圳市福田区振兴路赛格科技园2栋东403室

优先权:

专利代理机构:

北京品源专利代理有限公司11332

代理人:

胡彬

PDF下载: PDF下载
内容摘要

本发明公开了一种处理查询请求的方法及装置,方法包括:接收到携带有关键词的查询请求后,根据所述关键词,获得与所述关键词相匹配的第一搜索结果集合;确定所述第一搜索结果集合中,每个搜索结果相对于所述关键词的精确匹配分值和泛化匹配分值,所述精确匹配分值为搜索结果与所述关键词完全匹配的分值,所述泛化匹配分值为搜索结果与所述关键词非完全匹配的分值;根据所述精确匹配分值和泛化匹配分值,得到所述第一搜索结果集合中每个搜索结果相对于所述关键词的最终匹配分值;按照所述最终匹配分值从大到小的顺序,对所述第一搜索结果集合中的搜索结果进行排序,得到并返回第二搜索结果集合。上述技术方案提升了搜索结果的排序效果。

权利要求书

权利要求书
1.  一种处理查询请求的方法,其特征在于,包括:
接收到携带有关键词的查询请求后,根据所述关键词,获得与所述关键词 相匹配的第一搜索结果集合;
确定所述第一搜索结果集合中,每个搜索结果相对于所述关键词的精确匹 配分值和泛化匹配分值,所述精确匹配分值为搜索结果与所述关键词完全匹配 的分值,所述泛化匹配分值为搜索结果与所述关键词非完全匹配的分值;
根据所述精确匹配分值和泛化匹配分值,得到所述第一搜索结果集合中每 个搜索结果相对于所述关键词的最终匹配分值;
按照所述最终匹配分值从大到小的顺序,对所述第一搜索结果集合中的搜 索结果进行排序,得到并返回第二搜索结果集合。

2.  根据权利要求1所述的方法,其特征在于,确定所述第一搜索结果集 合中每个搜索结果相对于所述关键词的精确匹配分值和泛化匹配分值,包括:
对于所述第一搜索结果集合中的每个搜索结果,获取相关的历史查询关键 词集合,以及所述历史查询关键词集合中每个历史查询关键词的相关度分值, 所述相关度分值为搜索结果满足用户查询需求的概率值;
根据所述历史查询关键词集合中每个历史查询关键词的相关度分值,得到 所述第一搜索结果集合中与所述历史查询关键词集合相关的搜索结果的精确匹 配分值和泛化匹配分值。

3.  根据权利要求2所述的方法,其特征在于,获取相关的历史查询关键 词集合,包括:
从第一历史搜索数据中获取相关的历史查询关键词集合,所述第一历史搜 索数据由第二历史搜索数据反转得到;
所述第二历史搜索数据包括所述历史查询关键词及与所述历史查询关键词 相关的历史搜索结果集合,所述历史搜索结果集合中的历史搜索结果按照相关 度分值从大到小的顺序排序,所述历史搜索结果的相关度分值通过以下公式得 到:
score = score 1 × score 2 × ( p 10 × log ( 1 + score 1 ) log ( 1 + DocViews ) + ( 1 - p 10 ) ) ]]>
其中,所述score为所述历史搜索结果的相关度分值,
score 1 = p 0 + p 1 × DocFirstClicks + p 2 × DocClicks + p 3 × DocLastClicks + p 4 × DocOnlyClicks p 1 + p 2 + p 3 + p 4 ]]>
score 2 = p 6 DocClicks + p 7 + p 8 QueryTimes + p 9 p 6 + p 8 ]]>
DocViews为所述历史搜索结果被浏览的总数,p0-p10为权重参数, DocFirstClicks为所述历史搜索结果被第一次点击的总数,DocCliks为所述 历史搜索结果被点击的总数,DocLastClicks为所述历史搜索结果被最后一次 点击的总数,DocOnlyClicks为所述历史搜索结果仅被点击一次的总数, QueryTimes为所述历史查询关键词被查询的次数。

4.  根据权利要求2或3所述的方法,其特征在于,根据所述历史查询关键 词集合中每个历史查询关键词的相关度分值,得到所述第一搜索结果集合中与 所述历史查询关键词集合相关的搜索结果的精确匹配分值,包括:
当所述历史查询关键词集合中存在与所述查询请求中携带的关键词相同的 历史查询关键词时,则将与所述查询请求中携带的关键词相同的历史查询关键 词的相关度分值,作为所述第一搜索结果集合中与所述历史查询关键词集合相 关的搜索结果的精确匹配分值。

5.  根据权利要求2或3所述的方法,其特征在于,根据所述历史查询关键 词集合中每个历史查询关键词的相关度分值,得到所述第一搜索结果集合中与 所述历史查询关键词集合相关的搜索结果的泛化匹配分值,包括:
根据所述历史查询关键词集合中每个历史查询关键词的相关度分值,以及 所述历史查询关键词集合中每个历史查询关键词与所述查询请求中携带的关键 词之间的匹配程度分值,得到第一泛化匹配子分值和第二泛化匹配子分值;
根据所述第一泛化匹配子分值和第二泛化匹配子分值,得到泛化匹配分 值。

6.  根据权利要求5所述的方法,其特征在于,所述第一泛化匹配子分值 通过下式得到:
Σ i = 1 n W i × P i ]]>
其中,i为所述历史查询关键词集合中历史查询关键词的编号,n为所述 历史查询关键词集合中历史查询关键词的总数,Wi为所述历史查询关键词集合 中第i个历史查询关键词的相关度分值,Pi为所述历史查询关键词集合中第i 个历史查询关键词与所述查询请求中携带的关键词之间的匹配程度分值。

7.  根据权利要求5所述的方法,其特征在于,所述第二泛化匹配子分值 通过下式得到:
Σ j = 1 m idf j × score j Σ j = 1 m idf j 2 × Σ j = 1 m score j 2 ]]>
其中,j为所述查询请求中携带的关键词中的词的顺序编号,m为所述查 询请求中携带的关键词中的词的总数,idfj为所述查询请求中携带的关键词中 第j个词的逆向文件频率值,
score j = Σ k = 1 N W k × P k ]]>
k为所述历史查询关键词集合中包含所述查询请求中携带的关键词中第j 个词的历史查询关键词的编号,N为所述历史查询关键词集合中包含所述查询 请求中携带的关键词中第j个词的历史查询关键词的总数,Wk为所述历史查询 关键词集合中,包含所述查询请求中携带的关键词中第j个词的第k个历史查 询关键词的相关度分值,Pk为所述历史查询关键词集合中,包含所述查询请求 中携带的关键词中第j个词的第k个历史查询关键词,与所述查询请求中携带 的关键词之间的匹配程度分值。

8.  根据权利要求5所述的方法,其特征在于,根据所述第一泛化匹配子 分值和第二泛化匹配子分值,得到泛化匹配分值,包括:
通过下式计算得到所述泛化匹配分值:
score_g=α×score_p+β×score_c
其中,score_g为所述泛化匹配分值,score_p为所述第一泛化匹配子分 值,score_c为所述第二泛化匹配子分值,α和β为权重参数,且α+β=1。

9.  根据权利要求1-3任一项所述的方法,其特征在于,根据所述精确匹 配分值和泛化匹配分值,得到所述第一搜索结果集合中每个搜索结果相对于所 述关键词的最终匹配分值,包括:
通过下式计算得到所述最终匹配分值:
score_click=ε×score_s+δ×score_g
其中,score_click为所述最终匹配分值,score_s为所述精确匹配分 值,score_g为所述泛化匹配分值,ε和δ为权重参数,且ε+δ=1。

10.  一种处理查询请求的装置,其特征在于,包括:
请求接收单元,用于接收携带有关键词的查询请求;
搜索单元,用于根据所述请求接收单元接收的查询请求中的关键词,获得 与所述关键词相匹配的第一搜索结果集合;
第一分值确定单元,用于确定所述第一搜索结果集合中,每个搜索结果相 对于所述关键词的精确匹配分值和泛化匹配分值,所述精确匹配分值为搜索结 果与所述关键词完全匹配的分值,所述泛化匹配分值为搜索结果与所述关键词 非完全匹配的分值;
第二分值确定单元,用于根据所述精确匹配分值和泛化匹配分值,得到所 述第一搜索结果集合中每个搜索结果相对于所述关键词的最终匹配分值;
排序单元,用于按照所述最终匹配分值从大到小的顺序,对所述第一搜索 结果集合中的搜索结果进行排序,得到第二搜索结果集合;
结果发送单元,用于返回所述第二搜索结果集合。

11.  根据权利要求10所述的装置,其特征在于,所述第一分值确定单元 包括:
历史数据获得子单元,用于对于所述第一搜索结果集合中的每个搜索结 果,获取相关的历史查询关键词集合,以及所述历史查询关键词集合中每个历 史查询关键词的相关度分值,所述相关度分值为搜索结果满足用户查询需求的 概率值;
分值获得子单元,用于根据所述历史查询关键词集合中每个历史查询关键 词的相关度分值,得到所述第一搜索结果集合中与所述历史查询关键词集合相 关的搜索结果的精确匹配分值和泛化匹配分值。

12.  根据权利要求11所述的装置,其特征在于,所述历史数据获得子单 元具体用于:
从第一历史搜索数据中获取相关的历史查询关键词集合,所述第一历史搜 索数据由第二历史搜索数据反转得到;
所述第二历史搜索数据包括所述历史查询关键词及与所述历史查询关键词 相关的历史搜索结果集合,所述历史搜索结果集合中的历史搜索结果按照相关 度分值从大到小的顺序排序,所述历史搜索结果的相关度分值通过以下公式得 到:
score = score 1 × score 2 × ( p 10 × log ( 1 + score 1 ) log ( 1 + DocViews ) + ( 1 - p 10 ) ) ]]>
其中,所述score为所述历史搜索结果的相关度分值,
score 1 = p 0 + p 1 × DocFirstClicks + p 2 × DocClicks + p 3 × DocLastClicks + p 4 × DocOnlyClicks p 1 + p 2 + p 3 + p 4 ]]>
score 2 = p 6 DocClicks + p 7 + p 8 QueryTimes + p 9 p 6 + p 8 ]]>
DocViews为所述历史搜索结果被浏览的总数,p0-p10为权重参数, DocFirstClicks为所述历史搜索结果被第一次点击的总数,DocCliks为所述 历史搜索结果被点击的总数,DocLastClicks为所述历史搜索结果被最后一次 点击的总数,DocOnlyClicks为所述历史搜索结果仅被点击一次的总数, QueryTimes为所述历史查询关键词被查询的次数。

13.  根据权利要求11或12所述的装置,其特征在于,所述分值获得子单 元具体用于:
当所述历史查询关键词集合中存在与所述查询请求中携带的关键词相同的 历史查询关键词时,则将与所述查询请求中携带的关键词相同的历史查询关键 词的相关度分值,作为所述第一搜索结果集合中与所述历史查询关键词集合相 关的搜索结果的精确匹配分值。

14.  根据权利要求11或12所述的装置,其特征在于,所述分值获得子单 元具体用于:
根据所述历史查询关键词集合中每个历史查询关键词的相关度分值,以及 所述历史查询关键词集合中每个历史查询关键词与所述查询请求中携带的关键 词之间的匹配程度分值,得到第一泛化匹配子分值和第二泛化匹配子分值;
根据所述第一泛化匹配子分值和第二泛化匹配子分值,得到泛化匹配分 值。

15.  根据权利要求14所述的装置,其特征在于,所述分值获得子单元具 体用于通过下式得到所述第一泛化匹配子分值:
Σ i = 1 n W i × P i ]]>
其中,i为所述历史查询关键词集合中历史查询关键词的编号,n为所述 历史查询关键词集合中历史查询关键词的总数,Wi为所述历史查询关键词集合 中第i个历史查询关键词的相关度分值,Pi为所述历史查询关键词集合中第i 个历史查询关键词与所述查询请求中携带的关键词之间的匹配程度分值。

16.  根据权利要求14所述的装置,其特征在于,所述分值获得子单元具 体用于通过下式得到所述第二泛化匹配子分值:
Σ j = 1 m idf j × score j Σ j = 1 m idf j 2 × Σ j = 1 m score j 2 ]]>
其中,j为所述查询请求中携带的关键词中的词的顺序编号,m为所述查 询请求中携带的关键词中的词的总数,idfj为所述查询请求中携带的关键词中 第j个词的逆向文件频率值,
score j = Σ k = 1 N W k × P k ]]>
k为所述历史查询关键词集合中包含所述查询请求中携带的关键词中第j 个词的历史查询关键词的编号,N为所述历史查询关键词集合中包含所述查询 请求中携带的关键词中第j个词的历史查询关键词的总数,Wk为所述历史查询 关键词集合中,包含所述查询请求中携带的关键词中第j个词的第k个历史查 询关键词的相关度分值,Pk为所述历史查询关键词集合中,包含所述查询请求 中携带的关键词中第j个词的第k个历史查询关键词,与所述查询请求中携带 的关键词之间的匹配程度分值。

17.  根据权利要求14所述的装置,其特征在于,所述分值获得子单元具 体用于:
通过下式计算得到所述泛化匹配分值:
score_g=α×score_p+β×score_c
其中,score_g为所述泛化匹配分值,score_p为所述第一泛化匹配子分 值,score_c为所述第二泛化匹配子分值,α和β为权重参数,且α+β=1。

18.  根据权利要求10-12任一项所述的装置,其特征在于,所述第二分值 确定单元具体用于:
通过下式计算得到所述最终匹配分值:
score_click=ε×score_s+δ×score_g
其中,score_click为所述最终匹配分值,score_s为所述精确匹配分 值,score_g为所述泛化匹配分值,ε和δ为权重参数,且ε+δ=1。

说明书

说明书处理查询请求的方法及装置
技术领域
本发明涉及网络查询技术,尤其涉及一种处理查询请求的方法及装置。 
背景技术
目前,各搜索引擎对关键词查询请求的处理,多数考虑了用户历史点击数据。 
通常,对关键词查询请求的处理基于精确匹配查询,即搜索引擎根据关键词查询请求进行搜索,得到搜索结果集合后,搜索引擎还会通过对用户历史点击数据的分析,提取出相关的历史搜索结果集合,得到与关键词完全匹配的精确匹配分值,并按照精确匹配分值调整搜索结果在搜索结果集合中的位置,以提高排序效果。 
但是,上述对关键词查询请求的处理方法基于精确匹配查询,当关键词偏冷门时,历史积累的点击数据偏少,使得排序结果由于缺少点击数据或存在较大的噪音,对排序效果的提升并不理想。 
发明内容
本发明的目的在于提出一种处理查询请求的方法及装置,以提升搜索结果的排序效果。 
为达此目的,本发明采用以下技术方案: 
一种处理查询请求的方法,包括: 
接收到携带有关键词的查询请求后,根据所述关键词,获得与所述关键词相匹配的第一搜索结果集合; 
确定所述第一搜索结果集合中,每个搜索结果相对于所述关键词的精确匹配分值和泛化匹配分值,所述精确匹配分值为搜索结果与所述关键词完全匹配的分值,所述泛化匹配分值为搜索结果与所述关键词非完全匹配的分值; 
根据所述精确匹配分值和泛化匹配分值,得到所述第一搜索结果集合中每个搜索结果相对于所述关键词的最终匹配分值; 
按照所述最终匹配分值从大到小的顺序,对所述第一搜索结果集合中的搜索结果进行排序,得到并返回第二搜索结果集合。 
一种处理查询请求的装置,包括: 
请求接收单元,用于接收携带有关键词的查询请求; 
搜索单元,用于根据所述请求接收单元接收的查询请求中的关键词,获得与所述关键词相匹配的第一搜索结果集合; 
第一分值确定单元,用于确定所述第一搜索结果集合中,每个搜索结果相对于所述关键词的精确匹配分值和泛化匹配分值,所述精确匹配分值为搜索结果与所述关键词完全匹配的分值,所述泛化匹配分值为搜索结果与所述关键词非完全匹配的分值; 
第二分值确定单元,用于根据所述精确匹配分值和泛化匹配分值,得到所述第一搜索结果集合中每个搜索结果相对于所述关键词的最终匹配分值; 
排序单元,用于按照所述最终匹配分值从大到小的顺序,对所述第一搜索结果集合中的搜索结果进行排序,得到第二搜索结果集合; 
结果发送单元,用于返回所述第二搜索结果集合。 
上述技术方案提供的处理查询请求的方法及装置,通过确定所述第一搜索结果集合中,每个搜索结果相对于所述关键词的精确匹配分值和泛化匹配分值,并根据所述精确匹配分值和泛化匹配分值,得到所述第一搜索结果集合中 每个搜索结果相对于所述关键词的最终匹配分值,按照最终匹配分值从大到小的顺序对搜索结果进行排序,增加了历史数据对搜索结果集合中搜索结果的排序的影响,从而使得搜索引擎返回的搜索结果集合的排序更加合理,提升了搜索结果的排序效果。 
附图说明
图1是本发明实施例提供的一种处理查询请求的方法的流程图; 
图2是本发明实施例提供的一种处理查询请求的装置的结构示意图。 
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。 
图1是本发明实施例提供的一种处理查询请求的方法的流程图。本实施例所示的方法可由搜索引擎实现。如图1所示,处理查询请求的方法包括:步骤11至步骤14。 
在步骤11中,接收到携带有关键词的查询请求后,根据所述关键词,获得与所述关键词相匹配的第一搜索结果集合。 
例如,搜索引擎接收到携带有关键词“搜索技术”的查询请求后,在线通过爬虫技术从海量网页中查找标题或正文中包含有关键词“搜索技术”的网页,并将这些标题或正文中包含有关键词“搜索技术”的网页的url作为搜索结果,得到搜索结果集合。 
其中,第一搜索结果集合与步骤14中的第二搜索结果集合,并无实际意义上第一和第二的限定,只是为了表示步骤11中的搜索结果集合与步骤14中的搜索结果集合不同。 
在步骤12中,确定所述第一搜索结果集合中,每个搜索结果相对于所述关 键词的精确匹配分值和泛化匹配分值,所述精确匹配分值为搜索结果与所述关键词完全匹配的分值,所述泛化匹配分值为搜索结果与所述关键词非完全匹配的分值。 
例如,确定所述第一搜索结果集合中每个搜索结果相对于所述关键词的精确匹配分值和泛化匹配分值,可包括: 
对于所述第一搜索结果集合中的每个搜索结果,获取相关的历史查询关键词集合,以及所述历史查询关键词集合中每个历史查询关键词的相关度分值,所述相关度分值为搜索结果满足用户查询需求的概率值;其中,相关度为通过分析同一关键词的用户历史查询和点击行为,衡量与关键词相关的搜索结果集合中每个搜素结果的相关程度。 
根据所述历史查询关键词集合中每个历史查询关键词的相关度分值,得到所述第一搜索结果集合中与所述历史查询关键词集合相关的搜索结果的精确匹配分值和泛化匹配分值。 
其中,精确匹配分值的作用是通过判断当前查询的关键词是否出现在离线相关的关键词集合即历史查询关键词集合中,如果出现,则使用对应的相关度作用于搜索结果的排序。泛化匹配分值的作用是通过判断当前查询的关键词是否都在离线相关的关键词集合即历史查询关键词集合中出现,或者当前查询的关键词与离线关键词即历史查询关键词比较相近,并使用对应的相关度作用于搜索结果的排序。 
示例性的,其中,获取相关的历史查询关键词集合,可包括: 
从第一历史搜索数据中获取相关的历史查询关键词集合,所述第一历史搜索数据由第二历史搜索数据反转得到; 
所述第二历史搜索数据包括所述历史查询关键词及与所述历史查询关键词 相关的历史搜索结果集合,所述历史搜索结果集合中的历史搜索结果按照相关度分值从大到小的顺序排序,所述历史搜索结果的相关度分值通过以下公式得到: 
score = score 1 × score 2 × ( p 10 × log ( 1 + score 1 ) log ( 1 + DocViews ) + ( 1 - p 10 ) ) - - - ( 1 ) ]]>
其中,所述score为所述历史搜索结果的相关度分值, 
score 1 = p 0 + p 1 × DocFirstClicks + p 2 × DocClicks + p 3 × DocLastClicks + p 4 × DocOnlyClicks p 1 + p 2 + p 3 + p 4 - - - ( 2 ) ]]>
score 2 = p 6 DocClicks + p 7 + p 8 QueryTimes + p 9 p 6 + p 8 - - - ( 3 ) ]]>
DocViews为所述历史搜索结果被浏览的总数,p0-p10为权重参数,DocFirstClicks为所述历史搜索结果被第一次点击的总数,DocCliks为所述历史搜索结果被点击的总数,DocLastClicks为所述历史搜索结果被最后一次点击的总数,DocOnlyClicks为所述历史搜索结果仅被点击一次的总数,QueryTimes为所述历史查询关键词被查询的次数。其中,第一历史搜索数据和第二历史搜索数据可离线获得。 
历史搜索结果、历史查询关键词、相关度分值和历史点击数据等历史数据,可通过但不限于以下方式得到:通过数据挖掘的方法从www.soso.com、百度、搜狗(sogou)、360、谷歌(google)等搜索引擎的日志中挖掘出查询关键词的相关搜索结果集,并对每条搜索结果进行相关度打分。 
第二历史搜索数据不仅综合了历史搜索结果的第一次被点击次数,还综合了历史搜索结果仅被点击一次及最后一次被点击的次数,使得第二历史搜索数据中历史搜索结果的相关度,相对于现有的DBN(Dynamic Bayesian Network, 动态贝叶斯网络)模型仅考虑历史搜索结果的第一次被点击次数得到的相关度更精确。 
并且,将公式(3)代入公式(1),可以得到 
score = score 1 × ( p 6 DocClicks + p 4 + p 8 QueryTimes + p 9 p 6 + p 8 ) × ( p 10 × log ( 1 + score 1 ) log ( 1 + DocViews ) + ( 1 - p 10 ) ) ]]>
= ( score 1 × p 6 DocClicks + p 7 + score 1 × p 8 QueryTimes + p 9 p 6 + p 8 ) × ( p 10 × log ( 1 + score 1 ) log ( 1 + DocViews ) + ( 1 - p 10 ) ) ]]>
其中,score1/(DocClicks+p7)表示自身点击率, 
score1/(QueryTimes+p9)表示整体点击率,可见第二历史搜索数据中的相关度分值不仅考虑了自身点击率还考虑了整体点击率,相对于dbn模型只考虑了自身点击率,没有考虑整体点击率,对于某些需要考虑整体点击率的关键词,本发明实施例给出的第二历史搜索数据中给出的历史搜索结果的相关度分值更加合理。 
示例性的,根据所述历史查询关键词集合中每个历史查询关键词的相关度分值,得到所述第一搜索结果集合中与所述历史查询关键词集合相关的搜索结果的精确匹配分值,可包括: 
当所述历史查询关键词集合中存在与所述查询请求中携带的关键词相同的历史查询关键词时,则将与所述查询请求中携带的关键词相同的历史查询关键词的相关度分值,作为所述第一搜索结果集合中与所述历史查询关键词集合相关的搜索结果的精确匹配分值。 
示例性的,根据所述历史查询关键词集合中每个历史查询关键词的相关度分值,得到所述第一搜索结果集合中与所述历史查询关键词集合相关的搜索结 果的泛化匹配分值,可包括: 
根据所述历史查询关键词集合中每个历史查询关键词的相关度分值,以及所述历史查询关键词集合中每个历史查询关键词与所述查询请求中携带的关键词之间的匹配程度分值,得到第一泛化匹配子分值和第二泛化匹配子分值; 
根据所述第一泛化匹配子分值和第二泛化匹配子分值,得到泛化匹配分值。 
示例性的,所述第一泛化匹配子分值可通过下式得到: 
Σ i = 1 n W i × P i - - - ( 4 ) ]]>
其中,i为所述历史查询关键词集合中历史查询关键词的编号,n为所述历史查询关键词集合中历史查询关键词的总数,Wi为所述历史查询关键词集合中第i个历史查询关键词的相关度分值,Pi为所述历史查询关键词集合中第i个历史查询关键词与所述查询请求中携带的关键词之间的匹配程度分值。 
示例性的,所述第二泛化匹配子分值通过下式得到: 
Σ j = 1 m idf j × score j Σ j = 1 m idf j 2 × Σ j = 1 m score j 2 - - - ( 5 ) ]]>
其中,j为所述查询请求中携带的关键词中的词的顺序编号,m为所述查询请求中携带的关键词中的词的总数,idfj为所述查询请求中携带的关键词中第j个词的逆向文件频率(inverse document frequency)值,是一个词语普遍重要性的度量。某一特定词语的idf,可以由总文件数目除以包含该特定词语的文件的数目,再将得到的商取对数得到。 
score j = Σ k = 1 N W k × P k - - - ( 6 ) ]]>
k为所述历史查询关键词集合中包含所述查询请求中携带的关键词中第j个词的历史查询关键词的编号,N为所述历史查询关键词集合中包含所述查询请求中携带的关键词中第j个词的历史查询关键词的总数,Wk为所述历史查询关键词集合中,包含所述查询请求中携带的关键词中第j个词的第k个历史查询关键词的相关度分值,Pk为所述历史查询关键词集合中,包含所述查询请求中携带的关键词中第j个词的第k个历史查询关键词,与所述查询请求中携带的关键词之间的匹配程度分值。 
示例性的,根据所述第一泛化匹配子分值和第二泛化匹配子分值,得到泛化匹配分值,可包括: 
通过下式计算得到所述泛化匹配分值: 
score_g=α×score_p+β×score_c(7) 
其中,score_g为所述泛化匹配分值,score_p为所述第一泛化匹配子分值,score_c为所述第二泛化匹配子分值,α和β为权重参数,且α+β=1。 
在步骤13中,根据所述精确匹配分值和泛化匹配分值,得到所述第一搜索结果集合中每个搜索结果相对于所述关键词的最终匹配分值。 
例如,根据所述精确匹配分值和泛化匹配分值,得到所述第一搜索结果集合中每个搜索结果相对于所述关键词的最终匹配分值,可包括: 
通过下式计算得到所述最终匹配分值: 
score_click=ε×score_s+δ×score_g(8) 
其中,score_click为所述最终匹配分值,score_s为所述精确匹配分值,score_g为所述泛化匹配分值,ε和δ为权重参数,且ε+δ=1。 
在步骤14中,按照所述最终匹配分值从大到小的顺序,对所述第一搜索结果集合中的搜索结果进行排序,得到并返回第二搜索结果集合。 
本实施例提供的处理查询请求的方法通过确定所述第一搜索结果集合中,每个搜索结果相对于所述关键词的精确匹配分值和泛化匹配分值,并根据所述精确匹配分值和泛化匹配分值,得到所述第一搜索结果集合中每个搜索结果相对于所述关键词的最终匹配分值,按照最终匹配分值从大到小的顺序对搜索结果进行排序,增加了历史数据对搜索结果集合中搜索结果的排序的影响,从而使得搜索引擎返回的搜索结果集合的排序更加合理,使得衡量搜索引擎质量指标dcg(Discounted Cumulative Gain,已折扣的累计增益)值得到提高,提高了搜索引擎的性能。尤其地,当请求查询的关键词偏冷门时,历史积累的点击数据偏少,通过综合泛化匹配分值能够使历史数据尽可能多的应用到排序中,解决了现有技术基于精确匹配查询导致的排序结果由于缺少点击数据或存在较大的噪音,对排序效果的提升并不理想的问题。 
以查询关键词ABC为例,对本发明实施例提供的处理查询请求的方法作进一步说明。 
通常,在没有查询请求的情况下,搜索引擎会对历史数据进行统计,也即搜索引擎离线统计历史数据。 
搜索引擎统计历史数据时,通过收集不同用户在不同时间段的关键词的查询、点击数据,按一定时间周期进行衰减累积。此步骤为离线实现,可每天更新一次。 
数据来源可包括soso自身的展现点击数据,也包括如百度、谷歌等其他搜索引擎的点击数据。 
其中,关键词的查询点击数据,包括但不限于关键词查询次数,关键词点击次数,搜索结果首次点击次数,搜索结果点击次数,搜索结果末次点击次数,搜索结果仅有1次点击时的点击次数等。 
例如ABC被查询过3次,每次的搜索结果都为urla、urlb、urlc,其中,第一次查询完后,urla被首次点击,urlb被其次点击,urlc被末次点击,其中,urla仅被点击了1次;第二次查询完后,urla被首次点击,urlb被其次点击,urlc被末次点击,其中,urlc仅被点击了1次;第三次查询完后,urlc被首次点击,urla被其次点击,urlb被末次点击,其中,urla仅被点击1次。则urla被首次点击的次数为2,仅被一次点击的次数为2,被末次点击的次数为0;urlb被首次点击的次数为0,仅被一次点击的次数为0,被末次点击的次数为1;urlc被首次点击的次数为1,仅被一次点击的次数为1,被末次点击的次数为2。 
历史数据的统计方法可以使用大规模数据并行处理映射化简(mapreduce)方法。例如对任务(session)日志以天为单位,汇总点击行为各个指标。映射(Map)阶段以查询的关键词为键值(key),点击数据为值(value)。化简(Reduce)阶段以查询的关键词为键值(key),以当天该关键词的点击数据累积作为value。 
多天数据汇总,对每天reduce输出数据,按一定时间周期(如7天)进行衰减,并累加。 
基于上述统计的历史数据,搜索引擎还进一步将一次点击和多次点击行为的模型融合成统一的离线相关度计算模型,通过该统一的离线相关度计算模型,得到历史查询关键词的历史搜索结果集合中各历史搜索结果的相关度分值。 
具体地,首先获取某一历史查询关键词的所有点击过的搜索结果,并统计关键词的查询次数(记为QueryTimes),关键词查询后被点击的搜索结果的总数(记为QueryClicks),并且,对每个搜索结果,统计点击次数(记为 DocClicks);如果是给出查询结果后被第一次点击,统计被第一次点击总数为DocFirstClicks;如果给出查询结果后被最后一次点击,统计被最后一次点击总数为DocLastClicks;如果只有一次点击,统计只有一次被点击的总数为DocOnlyClicks。被用户浏览过的搜索结果的总数记为DocViews。 
然后通过上述公式(2)得到score1,通过公式(3)得到score2,通过公式(1)得到score。 
score为一个历史查询关键词的一个历史搜索结果的相关度分值。 
计算完一个历史查询关键词的所有搜索结果的相关度分值后,按相关度分值从高到低的顺序对该历史查询关键词的所有搜索结果排序。可以将前100个(top100)搜索结果作为最终的搜索结果输出。 
通过上述方法,可以对所有的历史查询关键词的历史搜索结果集合中的历史搜索结果进行打分排序,得到的结果即上述第二历史搜索数据。 
之后,搜索引擎基于上述第二历史搜索数据,收集一个历史搜索结果对应的所有历史查询关键词。也就是说,将数据反转为计算每个历史搜索结果的历史查询结果集合,并获得每个历史查询结果相对于历史搜索结果的相关度分值,即得到上述第一历史搜索数据。 
例如,用户搜索关键词“tengxun”、“腾讯网”、“qq首页”时,都对搜索结果:“http://www.qq.com/”产生过点击,通过上述获得第二历史搜索数据的方法,计算出关键词与搜索结果的相关度后,进行数据反转,得到的结果如表1所示。 
表1 
历史查询关键词 历史搜索结果 相关度分值
[0089]  tengxun http://www.qq.com/ 0.93 腾讯网 http://www.qq.com/ 0.91 qq首页 http://www.qq.com/ 0.85      
其中,数据反转的方法可以使用mapreduce,Map阶段以历史搜索结果如http://www.qq.com/为键值(key),历史查询关键词及相关度为value。Reduce阶段汇总每个历史搜索结果的历史查询关键词集合,并将历史查询关键词集合中的历史查询关键词按相关度分值排序。 
搜索引擎离线获得的上述第一历史搜索数据和第二历史搜索数据,用于在线关键词查询请求的处理,以提升在线查询的搜索结果的排序效果。 
当搜索引擎接收到客户端发来的携带有关键词ABC的查询请求时,搜索引擎首先在线搜索得到一个搜索结果集合。然后确定搜索结果集合中的每个搜索结果的精确匹配分值和泛化匹配分值,得到搜索结果集合中的每个搜索结果的最终匹配分值。 
假设搜索引擎对关键词ABC进行搜索后得到的搜索结果集合中包含urld,且第一历史搜索数据中,urld对应的历史查询关键词集合及排序如表2所示。 
表2 


而表2中第一个历史查询关键词为ABC,与当前查询的关键词完全一致,则其相关度分值0.3,即搜索结果urld在当前查询请求处理中的精确匹配分值。 
通过上述公式(4)以及上述表2中的分值,可以得到urld的第一泛化匹配子分值=0.3+0.24+0.42+0.56=1.56。 
通过上述公式(6),可以得到关键词中词A的权重得分是:0.3+0.24+0.56=0.83,词B的权重得分是:0.3+0.24+0.42+0.56=1.56,词C的权重得分是:0.3+0.24+0.42+0.56=1.56。 
假设关键词中A、B和C的逆向文件频率(idf)值分别是0.1、0.3和0.6, 
则urld的第二泛化匹配子分值为关键词与权重得分的离弦相似度,具体通过上述公式(5),得到: 
0.1 × 0.83 + 0.3 × 1.56 + 0.6 × 1.56 0.01 + 0.09 + 0.36 × 0.83 2 2 × 1.56 2 = 1.487 0.678 × 2.357 = 0.93 ]]>
通过上述公式(7),得到urld的泛化匹配分值。 
假设公式(7)中,α=0.7,β=0.3,则urld的泛化匹配分值=0.7×1.56+0.3×0.93=1.371。 
然后通过上述公式(8),得到urld的最终匹配分值。 
假设公式(8)中,ε=0.4,δ=0.6,则urld的最终匹配分值=0.4×0.3+0.6×1.371=0.9426。 
类似的,通过上述方法得到当前查询的搜索结果集合中其他搜索结果的最终匹配分值。 
最后,按照各搜索结果的最终匹配分值的从大到小的顺序排列搜索结果集 合中的搜索结果,如,假如urld的最终匹配分值最小,则将urld排在搜索结果集合的最后一个,假如urld的最终匹配分值最大,则将urld排在搜索结果集合的第一个。 
本实施例中,搜索引擎通过离线计算关键词-搜索结果相关度,并将搜索结果相关的关键词集合传递到在线阶段,在线阶段对关键词做精确匹配和泛化匹配打分,并将两者融合得到更加高质量的排序因子即最终匹配分值,应用于搜索结果的排序。搜索引擎增加泛化匹配功能后,用户点击数据有效地提升了排序的效果,从dcg评估上效果能提升10%以上。 
本发明实施例提供的方法不仅适用于soso搜索产品,也可以适用于百度、谷歌、360和搜狗等其它具有“关键词查询-相关度排序”特征的搜索产品。 
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、计算机只读存储器、光盘或软盘等。 
图2是本发明实施例提供的一种处理查询请求的装置的结构示意图。本实施例提供的装置用于实现图1所示的方法,可为搜索引擎。如图2所示,处理查询请求的装置包括: 
请求接收单元21,用于接收携带有关键词的查询请求; 
搜索单元22,用于根据所述请求接收单元接收的查询请求中的关键词,获得与所述关键词相匹配的第一搜索结果集合; 
第一分值确定单元23,用于确定所述第一搜索结果集合中,每个搜索结果相对于所述关键词的精确匹配分值和泛化匹配分值,所述精确匹配分值为搜索结果与所述关键词完全匹配的分值,所述泛化匹配分值为搜索结果与所述关键词非完全匹配的分值; 
第二分值确定单元24,用于根据所述精确匹配分值和泛化匹配分值,得到所述第一搜索结果集合中每个搜索结果相对于所述关键词的最终匹配分值; 
排序单元25,用于按照所述最终匹配分值从大到小的顺序,对所述第一搜索结果集合中的搜索结果进行排序,得到第二搜索结果集合; 
结果发送单元26,用于返回所述第二搜索结果集合。 
示例性的,所述第一分值确定单元23包括: 
历史数据获得子单元,用于对于所述第一搜索结果集合中的每个搜索结果,获取相关的历史查询关键词集合,以及所述历史查询关键词集合中每个历史查询关键词的相关度分值,所述相关度分值为搜索结果满足用户查询需求的概率值; 
分值获得子单元,用于根据所述历史查询关键词集合中每个历史查询关键词的相关度分值,得到所述第一搜索结果集合中与所述历史查询关键词集合相关的搜索结果的精确匹配分值和泛化匹配分值。 
示例性的,所述历史数据获得子单元具体用于: 
从第一历史搜索数据中获取相关的历史查询关键词集合,所述第一历史搜索数据由第二历史搜索数据反转得到; 
所述第二历史搜索数据包括所述历史查询关键词及与所述历史查询关键词相关的历史搜索结果集合,所述历史搜索结果集合中的历史搜索结果按照相关度分值从大到小的顺序排序,所述历史搜索结果的相关度分值通过以下公式得到: 
score = score 1 × score 2 × ( p 10 × log ( 1 + score 1 ) log ( 1 + DocViews ) + ( 1 - p 10 ) ) ]]>
其中,所述score为所述历史搜索结果的相关度分值, 
score 1 = p 0 + p 1 × DocFirstClicks + p 2 × DocClicks + p 3 × DocLastClicks + p 4 × DocOnlyClicks p 1 + p 2 + p 3 + p 4 ]]>
score 2 = p 6 DocClicks + p 7 + p 8 QueryTimes + p 9 p 6 + p 8 ]]>
DocViews为所述历史搜索结果被浏览的总数,p0-p10为权重参数,DocFirstClicks为所述历史搜索结果被第一次点击的总数,DocCliks为所述历史搜索结果被点击的总数,DocLastClicks为所述历史搜索结果被最后一次点击的总数,DocOnlyClicks为所述历史搜索结果仅被点击一次的总数,QueryTimes为所述历史查询关键词被查询的次数。 
示例性的,所述分值获得子单元具体用于: 
当所述历史查询关键词集合中存在与所述查询请求中携带的关键词相同的历史查询关键词时,则将与所述查询请求中携带的关键词相同的历史查询关键词的相关度分值,作为所述第一搜索结果集合中与所述历史查询关键词集合相关的搜索结果的精确匹配分值。 
示例性的,所述分值获得子单元具体用于: 
根据所述历史查询关键词集合中每个历史查询关键词的相关度分值,以及所述历史查询关键词集合中每个历史查询关键词与所述查询请求中携带的关键词之间的匹配程度分值,得到第一泛化匹配子分值和第二泛化匹配子分值; 
根据所述第一泛化匹配子分值和第二泛化匹配子分值,得到泛化匹配分值。 
示例性的,所述分值获得子单元具体用于通过下式得到所述第一泛化匹配子分值: 
Σ i = 1 n W i × P i ]]>
其中,i为所述历史查询关键词集合中历史查询关键词的编号,n为所述历史查询关键词集合中历史查询关键词的总数,Wi为所述历史查询关键词集合中第i个历史查询关键词的相关度分值,Pi为所述历史查询关键词集合中第i个历史查询关键词与所述查询请求中携带的关键词之间的匹配程度分值。 
示例性的,所述分值获得子单元具体用于通过下式得到所述第二泛化匹配子分值: 
Σ j = 1 m idf j × score j Σ j = 1 m idf j 2 × Σ j = 1 m score j 2 ]]>
其中,j为所述查询请求中携带的关键词中的词的顺序编号,m为所述查询请求中携带的关键词中的词的总数,idfj为所述查询请求中携带的关键词中第j个词的逆向文件频率值, 
score j = Σ k = 1 N W k × P k ]]>
k为所述历史查询关键词集合中包含所述查询请求中携带的关键词中第j个词的历史查询关键词的编号,N为所述历史查询关键词集合中包含所述查询请求中携带的关键词中第j个词的历史查询关键词的总数,Wk为所述历史查询关键词集合中,包含所述查询请求中携带的关键词中第j个词的第k个历史查询关键词的相关度分值,Pk为所述历史查询关键词集合中,包含所述查询请求中携带的关键词中第j个词的第k个历史查询关键词,与所述查询请求中携带的关键词之间的匹配程度分值。 
示例性的,所述分值获得子单元具体用于: 
通过下式计算得到所述泛化匹配分值: 
score_g=α×score_p+β×score_c 
其中,score_g为所述泛化匹配分值,score_p为所述第一泛化匹配子分值,score_c为所述第二泛化匹配子分值,α和β为权重参数,且α+β=1。 
示例性的,所述第二分值确定单元具体用于: 
通过下式计算得到所述最终匹配分值: 
score_click=ε×score_s+δ×score_g 
其中,score_click为所述最终匹配分值,score_s为所述精确匹配分值,score_g为所述泛化匹配分值,ε和δ为权重参数,且ε+δ=1。 
本实施例提供的处理查询请求的装置,通过第一分值确定单元确定所述第一搜索结果集合中,每个搜索结果相对于所述关键词的精确匹配分值和泛化匹配分值,并通过第二分值确定单元根据所述精确匹配分值和泛化匹配分值,得到所述第一搜索结果集合中每个搜索结果相对于所述关键词的最终匹配分值,通过排序单元按照最终匹配分值从大到小的顺序对搜索结果进行排序,增加了历史数据对搜索结果集合中搜索结果的排序的影响,从而使得搜索引擎返回的搜索结果集合的排序更加合理,提升了搜索结果的排序效果。 
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。 

处理查询请求的方法及装置.pdf_第1页
第1页 / 共18页
处理查询请求的方法及装置.pdf_第2页
第2页 / 共18页
处理查询请求的方法及装置.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《处理查询请求的方法及装置.pdf》由会员分享,可在线阅读,更多相关《处理查询请求的方法及装置.pdf(18页珍藏版)》请在专利查询网上搜索。

本发明公开了一种处理查询请求的方法及装置,方法包括:接收到携带有关键词的查询请求后,根据所述关键词,获得与所述关键词相匹配的第一搜索结果集合;确定所述第一搜索结果集合中,每个搜索结果相对于所述关键词的精确匹配分值和泛化匹配分值,所述精确匹配分值为搜索结果与所述关键词完全匹配的分值,所述泛化匹配分值为搜索结果与所述关键词非完全匹配的分值;根据所述精确匹配分值和泛化匹配分值,得到所述第一搜索结果集合中。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1