一种映射查询关键字到相关问题的方法与流程

文档序号:12364222阅读:307来源:国知局
一种映射查询关键字到相关问题的方法与流程

本发明属于信息检索技术领域,尤其涉及一种映射查询关键字到相关问题的方法。



背景技术:

伴随着web2.0的发展,基于社区的问答网站(community based question answering sites,简写CQA)变得更加流行,越来越多的人通过在CQA提出问题和回答问题来进行知识分享。相对于通过关键字在搜索引擎中查询所需信息,CQA上的问题能够更加明确的表达用户需求,而且CQA的每一个问题背后由许多的用户来提供答案,并标记出一个最佳答案,从而可以更好的满足用户的信息检索需求。通过CQA这样一个高质量信息平台的存在,将用户提供的查询关键字映射到CQA上的问题,不仅可以为用户提供答案,而且还可以深入理解用户需求并将其作为明确的问题来服务于web搜索结果。

在将用户提供的查询关键字映射到CQA上的问题时,有些查询关键字不可能全部包含于问题中,所以就需要确立一个标准来对查询关键字与问题之间的相关性进行判断。同时,在获得多个与查询关键字相关的问题后,应当给出能够准确的反应用户需求的问题。并且,由于CQA上很多问题具有相似性,为了满足用户多方面的需求,可以将相似的问题归为同一类别,从中选出代表性的问题,而不需要全部都展现出来。



技术实现要素:

为了解决上述技术问题,本发明提供了一种映射查询关键字到相关问题的方法。对于给定的信息需求,人们可以直接提出问题或从问题中选择相关的单词进行查询,称这些单词为主题词。通过对查询关键字和所有问题的主题词进行分析,得到与查询关键字相关的候选问题,然后经过对候选问题进行排序和分类来准确得到用户查询关键字所映射的问题。

本发明所采用的技术方案是:一种映射查询关键字至相关问题的方法,包括以下步骤:

步骤1:在CQA上进行问题爬取,并记录每个问题所属类别,得到由N个问题组成的问题集合PS,记PS={P1,P2,...,PN},对于集合PS中的每个问题Pj,通过一个标准的POS tagger程序来抽取其中的名词短语,然后联合其所属类别单词得到对应的主题词集合PTSj;对于n个单词组成的查询关键字q,记q={w1,w2,...,wn},计算q中每个单词wi的主题词得分Tgrade(wi),并将得分大于阈值θt的单词加入q对应的主题词集合;所述的θt∈[0,1];若某个问题的主题词集合包含查询关键字的主题词集合,则将该问题加入查询关键字的候选问题集合CPSq,否则将该问题视为与查询关键字无关的问题,不予考虑;q中每个单词wi主题词得分Tgrade(wi)的计算公式为:

<mrow> <mi>T</mi> <mi>g</mi> <mi>r</mi> <mi>a</mi> <mi>d</mi> <mi>e</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>T</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> <mi>s</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>PTS</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>p</mi> <mi>t</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> <mi>s</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>P</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>,</mo> <mrow> <mo>(</mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

其中,n是查询关键字q包含的单词数目;wi是q中的单词;N是问题集合PS中包含的问题数目;Times(wi|PTSj)是单词wi在集合PS里的每一个问题Pj对应的主题词集合PTSj中的出现次数;ptimes(wi|Pj)是单词wi在集合PS里的每一个问题Pj中的出现次数。

步骤2:对于集合CPSq中的每一个问题Pc,如果Pc和查询关键字q之间的相关程度越高,越有可能准确反应用户这次的信息检索需求,故而可以将问题与查询关键字的相关程度作为选择最终问题集合的一个重要参考依据,计算集合CPSq中每一个问题Pc与查询关键字q的相关程度,对应的结果使用Cor(Pc,q)表示,Cor(Pc,q)的具体计算为:

<mrow> <mi>C</mi> <mi>o</mi> <mi>r</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>,</mo> <mi>q</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <mo>(</mo> <mi>&lambda;</mi> <mo>&times;</mo> <mfrac> <mrow> <mi>c</mi> <mi>t</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> <mi>s</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mi>l</mi> <mi>e</mi> <mi>n</mi> <mi>g</mi> <mi>t</mi> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>+</mo> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>&lambda;</mi> <mo>)</mo> </mrow> <mfrac> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>p</mi> <mi>t</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> <mi>s</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>P</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>p</mi> <mi>t</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> <mi>s</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>|</mo> <msub> <mi>P</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>)</mo> <mo>,</mo> <mrow> <mo>(</mo> <mi>c</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>N</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> </mrow>

其中,Nc是候选问题集合CPSq包含的问题数目;n是查询关键字q包含的单词数目;wi是q中的单词;ctimes(wi|Pc)是单词wi在集合CPSq里的每一个问题Pc中的出现次数;length(Pc)是集合CPSq中的每一个问题Pc所包含的单词个数;N是问题集合PS中包含的问题数目;ptimes(wi|Pj)是单词wi在集合PS里的每一个问题Pj中的出现次数;λ(λ∈(0,1))为给定的抑制因子;所述的λ∈(0,1)。

步骤3:构造一个图G,把集合CPSq中问题作为节点,并且每一个问题对应于图G的一个节点;初始时图G只包含节点,而且任意两个节点Vm和Vn之间都不存在边;然后对于图G中的任意两个节点Vm和Vn,假设其对应于集合CPSq中的问题Pm和Pn,计算Pm和Pn的主题词覆盖率Cover(Pm,Pn),若Cover(Pm,Pn)大于给定阈值θc,则存在节点Vm到节点Vn的一条边,否则节点Vm和节点Vn仍不存在边;所述的θc∈[0,1];其中主题词覆盖率Cover(Pm,Pn)的计算公式为:

其中PTSm为问题Pm的主题词集合;||PTSm||表示集合PTSm中的元素个数cos(Pm,Pn)是两个问题的余弦相似度;α为给定的抑制因子;所述的α∈(0,1)。

步骤4:对于集合CPSq中的每一个问题Pc,如果被访问的次数越多,则表明该问题越受欢迎,越有可能是这次关键字查询所对应的问题,故将问题的受欢迎程度作为选择最终问题集合的一个重要参考依据,使用Wel(Pc)表示集合CPSq中每一个问题Pc的受欢迎程度,Wel(Pc)的具体计算为:

<mrow> <mi>W</mi> <mi>e</mi> <mi>l</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>N</mi> <mi>c</mi> </msub> </mfrac> <mo>+</mo> <mi>d</mi> <munder> <mo>&Sigma;</mo> <mrow> <mi>v</mi> <mo>&Element;</mo> <mi>a</mi> <mi>d</mi> <mi>j</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> </mrow> </munder> <mfrac> <mrow> <mi>W</mi> <mi>e</mi> <mi>l</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>deg</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>,</mo> <mrow> <mo>(</mo> <mi>c</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>N</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> </mrow>

其中,Nc是候选问题集合CPSq包含的问题数目;adj(Pc)代表图G中与每一个问题Pc相连的节点集合;v为集合adj(Pc)中的一个节点;deg(v)为节点v的度;d(d∈(0,1))给定的抑制因子;

步骤5:对于集合CPSq中的每一个问题Pc,联合其受欢迎程度和与查询关键字的相关程度,计算每个问题的综合得分Grade(Pc),按照综合性得分从大到小的顺序对CPSq中的问题进行排序,得到排序后的问题集合RP;综合性得分Grade(Pc)的具体计算为:

Grade(Pc)=log(Cor(Pc,q))+log(Wel(Pc)),(c=1,2,...,Nc)

其中Nc是候选问题集合CPSq包含的问题数目;Cor(Pc,q)是每一个问题Pc和查询关键字q的相关程度;Wel(Pc)为每一个问题Pc的受欢迎程度;

步骤6:初始化一个空集合FP,将RP中的第一个问题加入FP,然后依次选择RP中剩余的每个问题Pr,计算Pr和FP中每个问题的余弦相似度csim,记录最大的余弦相似度maxcsim和对应FP中的问题Pf,将Pr的分数Grade(Pr)加Grade(Pf)到上,同时若maxcsim小于给定阈值θs,则将Pr加入FP,若maxcsim大于给定阈值θs,所述的θs∈[0,1],则认为问题Pr和Pf相似,并记录与问题Pf相似的问题个数Nfq

步骤7:更新FP集合中每个问题Pt的综合得分,并按照更新后的分数从大到小的顺序对FP中的问题排序,返回排序后的集合FP。更新得分的公式为:

<mrow> <mi>G</mi> <mi>r</mi> <mi>a</mi> <mi>d</mi> <mi>e</mi> <msub> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> <mrow> <mi>N</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>G</mi> <mi>r</mi> <mi>a</mi> <mi>d</mi> <mi>e</mi> <msub> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> <mrow> <mi>O</mi> <mi>l</mi> <mi>d</mi> </mrow> </msub> </mrow> <msub> <mi>N</mi> <mrow> <mi>t</mi> <mi>q</mi> </mrow> </msub> </mfrac> </mrow>

其中Grade(Pt)Old为FP中每个问题Pt的更新前的分数;Ntq是与每一个问题Pt相似的问题数目;Grade(Pt)New是FP中每一个问题Pt的更新后的分数。

优选的,在步骤1中,θt∈[0.3,0.9]。

优选的,在步骤2中,λ∈(0.2,0.9)。

优选的,在步骤3中,α∈(0.1,1),θc∈[0.3,0.9]。

优选的,在步骤4中,d∈(0.1,1)。

优选的,在步骤6中,θs∈[0.2,0.9]。

本发明将用户查询关键字映射为明确的问题,可以将CQA上的高质量信息整合入搜索引擎,并且能够直接获得与用户查询关键字相关的问题和答案,从而更加深入地理解用户需求,获得更好的搜索体验。

附图说明

图1:本发明实施例的流程图。

图2:本发明实施例中RP集合中得分排名前三的问题结果图;

图3:本发明实施例中排序后的FP集合中得分排名前三的问题结果图;

图4:本发明实施例中查询关键字在搜索引擎中查询得到排名前三的结果图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施实例仅用于说明和解释本发明,并不用于限定本发明。

本发明提供了一种映射查询关键字到相关问题的方法。对于给定的查询关键字,映射与其相关的问题。

请见图1,本发明包括以下步骤:

步骤1:在Yahoo!Answers上选择“iPod”类别进行问题爬取,得到问题集合PS,记PS={P1,P2,...,PN}。对于集合PS中的每个问题Pj,通过一个标准的POS tagger程序来抽取其中的名词短语,然后结合“iPod”得到对应的主题词集合PTSj

给定查询关键字q=“iPod downloaded videos”,,计算q中每个单词wi的主题词得分Tgrade(wi),并将得分大于阈值θt的单词加入q对应的主题词集合;所述的θt∈[0,1];若某个问题的主题词集合包含查询关键字的主题词集合,则将该问题加入查询关键字的候选问题集合CPSq,否则将该问题视为与查询关键字无关的问题,不予考虑;q中每个单词wi主题词得分Tgrade(wi)的计算公式为:

<mrow> <mi>T</mi> <mi>g</mi> <mi>r</mi> <mi>a</mi> <mi>d</mi> <mi>e</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>T</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> <mi>s</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>PTS</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>p</mi> <mi>t</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> <mi>s</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>P</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>,</mo> <mrow> <mo>(</mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow>

其中,n是查询关键字q包含的单词数目;wi是q中的单词;N是问题集合PS中包含的问题数目;Times(wi|PTSj)是单词wi在集合PS里的每一个问题Pj对应的主题词集合PTSj中的出现次数;ptimes(wi|Pj)是单词wi在集合PS里的每一个问题Pj中的出现次数。

步骤2:对于集合CPSq中的每一个问题Pc,如果Pc和查询关键字q之间的相关程度越高,越有可能准确反应用户这次的信息检索需求,故而可以将问题与查询关键字的相关程度作为选择最终问题集合的一个重要参考依据,计算集合CPSq中每一个问题Pc与查询关键字q的相关程度,对应的结果使用Cor(Pc,q)表示,Cor(Pc,q)的具体计算为:

<mrow> <mi>C</mi> <mi>o</mi> <mi>r</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>,</mo> <mi>q</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Pi;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mrow> <mo>(</mo> <mi>&lambda;</mi> <mo>&times;</mo> <mfrac> <mrow> <mi>t</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> <mi>s</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mi>l</mi> <mi>e</mi> <mi>n</mi> <mi>g</mi> <mi>t</mi> <mi>h</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>(</mo> <mrow> <mn>1</mn> <mo>-</mo> <mi>&lambda;</mi> </mrow> <mo>)</mo> <mfrac> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>t</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> <mi>s</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>i</mi> </msub> <mo>|</mo> <msub> <mi>P</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mi>t</mi> <mi>i</mi> <mi>m</mi> <mi>e</mi> <mi>s</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>|</mo> <msub> <mi>P</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>)</mo> </mrow> <mo>,</mo> <mrow> <mo>(</mo> <mi>c</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>N</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> </mrow>

其中,Nc是候选问题集合CPSq包含的问题数目;n是查询关键字q包含的单词数目;wi是q中的单词;ctimes(wi|Pc)是单词wi在集合CPSq里的每一个问题Pc中的出现次数;length(Pc)是集合CPSq中的每一个问题Pc所包含的单词个数;N是问题集合PS中包含的问题数目;ptimes(wi|Pj)是单词wi在集合PS里的每一个问题Pj中的出现次数;λ(λ∈(0,1))为给定的抑制因子;所述的λ∈(0,1)。

步骤3:构造一个图G,把集合CPSq中问题作为节点,并且每一个问题对应于图G的一个节点;初始时图G只包含节点,而且任意两个节点Vm和Vn之间都不存在边;然后对于图G中的任意两个节点Vm和Vn,假设其对应于集合CPSq中的问题Pm和Pn,计算Pm和Pn的主题词覆盖率Cover(Pm,Pn),若Cover(Pm,Pn)大于给定阈值θc,则存在节点Vm到节点Vn的一条边,否则节点Vm和节点Vn仍不存在边;所述的θc∈[0,1];其中主题词覆盖率Cover(Pm,Pn)的计算公式为:

其中PTSm为问题Pm的主题词集合;||PTSm||表示集合PTSm中的元素个数cos(Pm,Pn)是两个问题的余弦相似度;α为给定的抑制因子;所述的α∈(0,1)。

步骤4:对于集合CPSq中的每一个问题Pc,如果被访问的次数越多,则表明该问题越受欢迎,越有可能是这次关键字查询所对应的问题,故将问题的受欢迎程度作为选择最终问题集合的一个重要参考依据,使用Wel(Pc)表示集合CPSq中每一个问题Pc的受欢迎程度,Wel(Pc)的具体计算为:

<mrow> <mi>W</mi> <mi>e</mi> <mi>l</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>N</mi> <mi>c</mi> </msub> </mfrac> <mo>+</mo> <mi>d</mi> <munder> <mo>&Sigma;</mo> <mrow> <mi>v</mi> <mo>&Element;</mo> <mi>a</mi> <mi>d</mi> <mi>j</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> </mrow> </munder> <mfrac> <mrow> <mi>W</mi> <mi>e</mi> <mi>l</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>deg</mi> <mrow> <mo>(</mo> <mi>v</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>,</mo> <mrow> <mo>(</mo> <mi>c</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>...</mn> <mo>,</mo> <msub> <mi>N</mi> <mi>c</mi> </msub> <mo>)</mo> </mrow> </mrow>

其中,Nc是候选问题集合CPSq包含的问题数目;adj(Pc)代表图G中与每一个问题Pc相连的节点集合;v为集合adj(Pc)中的一个节点;deg(v)为节点v的度;d(d∈(0,1))给定的抑制因子;

步骤5:对于集合CPSq中的每一个问题Pc,联合其受欢迎程度和与查询关键字的相关程度,计算每个问题的综合得分Grade(Pc),按照综合性得分从大到小的顺序对CPSq中的问题进行排序,得到排序后的问题集合RP。RP集合中得分排名前三的问题如图2所示。综合性得分Grade(Pc)的具体计算为

Grade(Pc)=log(Cor(Pc,q))+log(Wel(Pc)),(c=1,2,...,Nc)

其中Nc是候选问题集合CPSq包含的问题数目;Cor(Pc,q)是每一个问题Pc和查询关键字q的相关程度;Wel(Pc)为每一个问题Pc的受欢迎程度;

步骤6:初始化一个空集合FP,将RP中的第一个问题加入FP,然后依次选择RP中剩余的每个问题Pr,计算Pr和FP中每个问题的余弦相似度csim,记录最大的余弦相似度maxcsim和对应FP中的问题Pf,将Pr的分数Grade(Pr)加Grade(Pf)到上,同时若maxcsim小于给定阈值θs,则将Pr加入FP,若maxcsim大于给定阈值θs,所述的θs∈[0,1],则认为问题Pr和Pf相似,并记录与问题Pf相似的问题个数Nfq

步骤7:更新FP集合中每个问题Pt的综合得分,并按照更新后的分数从大到小的顺序对FP中的问题排序,排序后的FP集合中综合性得分排名前三的问题如图3所示。查询关键字在搜索引擎中查询得到排名前三的结果如图4所示。返回排序后的集合FP。更新得分的公式为:

<mrow> <mi>G</mi> <mi>r</mi> <mi>a</mi> <mi>d</mi> <mi>e</mi> <msub> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> <mrow> <mi>N</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mi>G</mi> <mi>r</mi> <mi>a</mi> <mi>d</mi> <mi>e</mi> <msub> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> <mrow> <mi>O</mi> <mi>l</mi> <mi>d</mi> </mrow> </msub> </mrow> <msub> <mi>N</mi> <mrow> <mi>t</mi> <mi>q</mi> </mrow> </msub> </mfrac> </mrow>

其中Grade(Pt)Old为FP中每个问题Pt的更新前的分数;Ntq是与每一个问题Pt相似的问题数目;Grade(Pt)New是FP中每一个问题Pt的更新后的分数。

本发明将用户查询关键字映射为明确的问题,不仅可以为用户提供答案,而且还可以深入理解用户需求并将其作为明确的问题来服务于web搜索结果,从而获得更好的搜索体验。

在步骤1中,θt∈[0.3,0.9]。

在步骤2中,λ∈(0.2,0.9)。

在步骤3中,α∈(0.1,1),θc∈[0.3,0.9]。

在步骤4中,d∈(0.1,1)。

在步骤6中,θs∈[0.2,0.9]。

应当理解的是,本说明书为详细阐述的部分均属于现有技术。

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1