1.一种映射查询关键字到相关问题的方法,其特征在于,包括以下步骤:
步骤1:在CQA上进行问题爬取,并记录每个问题所属类别,得到问题集合PS,记PS={P1,P2,...,PN},对于集合PS中的每个问题Pi,通过一个标准的POS tagger程序来抽取其中的名词短语,然后联合其所属类别单词得到对应的主题词集合PTSi;对于n个单词组成的查询关键字q,记q={w1,w2,...,wn},计算q中每个单词wi的主题词得分Tgrade(wi),并将得分大于阈值θt(θt∈[0,1])的单词加入q对应的主题词集合;若某个问题的主题词集合包含查询关键字的主题词集合,则将该问题加入查询关键字的候选问题集合CPSq;q中每个单词wi主题词得分Tgrade(wi)的计算公式为:
其中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)的具体计算为:
其中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)大于给定阈值θc(θc∈[0,1]),则存在Pi到Pj的一条边;其中主题词覆盖率Cover(Pi,Pj)的计算公式为:
其中PTSi为问题Pi的主题词集合;||PTSi||表示集合PTSi中的元素个数cos(Pi,Pj)是两个问题的余弦相似度;α(α∈(0,1))为给定的抑制因子;
步骤4:对于集合CPSq中的每一个问题Pc,如果被访问的次数越多,则表明该问题越受欢迎,越有可能是这次关键字查询所对应的问题,使用Wel(Pc)表示Pc的受欢迎程度,Wel(Pc)的具体计算为:
其中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小于给定阈值θs(θs∈[0,1]),则将Pr加入FP,否则认为问题Pr和Pf相似,并记录与问题Pf相似的问题个数Nfq;
步骤7:更新FP集合中每个问题的综合得分,并按照更新后的分数从大到小的顺序对FP中的问题排序,返回排序后的集合FP;更新得分的公式为:
其中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]。