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

文档序号:12364222阅读:来源:国知局

技术特征:

1.一种映射查询关键字到相关问题的方法,其特征在于,包括以下步骤:

步骤1:在CQA上进行问题爬取,并记录每个问题所属类别,得到问题集合PS,记PS={P1,P2,...,PN},对于集合PS中的每个问题Pi,通过一个标准的POS tagger程序来抽取其中的名词短语,然后联合其所属类别单词得到对应的主题词集合PTSi;对于n个单词组成的查询关键字q,记q={w1,w2,...,wn},计算q中每个单词wi的主题词得分Tgrade(wi),并将得分大于阈值θtt∈[0,1])的单词加入q对应的主题词集合;若某个问题的主题词集合包含查询关键字的主题词集合,则将该问题加入查询关键字的候选问题集合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>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在PTSj中的出现次数;times(wi|Pj)是wi在Pj中的出现次数;

步骤2:对于集合CPSq中的每一个问题Pc,如果Pc和查询关键字q之间的相关程度越高,越有可能准确反应用户这次的信息检索需求,使用Cor(Pc,q)表示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> <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中的单词;times(wi|Pc)是wi在Pc中的出现次数;length(Pc)是Pc包含的单词个数;N是PS中包含的问题数目;λ(λ∈(0,1))为给定的抑制因子;

步骤3:构造一个图G,将集合CPSq中的每一个问题作为图G的一个节点,然后计算集合CPSq中的任意两个问题Pi和Pj的主题词覆盖率Cover(Pi,Pj),若Cover(Pi,Pj)大于给定阈值θcc∈[0,1]),则存在Pi到Pj的一条边;其中主题词覆盖率Cover(Pi,Pj)的计算公式为:

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

步骤4:对于集合CPSq中的每一个问题Pc,如果被访问的次数越多,则表明该问题越受欢迎,越有可能是这次关键字查询所对应的问题,使用Wel(Pc)表示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> <mo>...</mo> <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))

其中Cor(Pc|q)为Pc和q的相关程度;Wel(Pc)为Pc的受欢迎程度;

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

步骤7:更新FP集合中每个问题的综合得分,并按照更新后的分数从大到小的顺序对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>f</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>f</mi> </msub> <mo>)</mo> </mrow> <mrow> <mi>O</mi> <mi>l</mi> <mi>d</mi> </mrow> </msub> </mrow> <msub> <mi>N</mi> <mrow> <mi>f</mi> <mi>q</mi> </mrow> </msub> </mfrac> </mrow>

其中Grade(Pf)Old为FP中问题Ps的更新前的分数;Nfq是与Pf相似的问题数目;Grade(Pf)New是FP中问题Pf的更新后的分数。

2.根据权利要求1所述的一种映射查询关键字到相关问题的方法,其特征在于:在步骤1中,θt∈[0.3,0.9]。

3.根据权利要求1所述的一种映射查询关键字到相关问题的方法,其特征在于:在步骤2中,λ∈(0.2,0.9)。

4.根据权利要求1所述的一种映射查询关键字到相关问题的方法,其特征在于:在步骤3中,α∈(0.1,1),θc∈[0.3,0.9]。

5.根据权利要求1所述的一种映射查询关键字到相关问题的方法,其特征在于:在步骤4中,d∈(0.1,1)。

6.根据权利要求1所述的一种映射查询关键字到相关问题的方法,其特征在于:在步骤6中,θs∈[0.2,0.9]。

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