一种挖掘查询语句子话题并聚类的信息搜索方法

文档序号:6362742阅读:238来源:国知局
专利名称:一种挖掘查询语句子话题并聚类的信息搜索方法
技术领域
本发明属于计算机信息检索技术领域,涉及一种挖掘用户查询语句的子话题,并对子话题进行聚类的信息搜索方法。
背景技术
挖掘查询语句的子话题、将子话题聚类并根据话题包含关系构建树形的层次结构,可以为用户提供更精准的查询扩展、查询建议,并按文档所属话题,在检索结果中分类展示。目前挖掘查询子话题的相关研究非常有限,一种方法是从搜索引擎返回的结果文档中,抽取关键短语并使用数据挖掘的算法,从而找出候选的子话题(参考文献E. Uluhan and B. Badur. Developmetn of a Framework for Sub-topic Discovery from the Web.2008.In Proceedings ofPICMET2008)。在计算查询之间的相似度时,则有很多方法。一种方法是使用马尔科夫随机场模型计算查询词与隐式概念之间的依赖度(参考文献D. Metzler md W. B. Croft. Latent Concept Expansion Using Markov Random Fields.In Proceedings of SIGIR2007 禾口 H.Lang,D. Metzler, B. Wang, J-T. Li. Improved Latent Concept Expansion Using Hierarchical Markov Random Fields. In Proceedings of SIGIR2010)。另一禾中方法米用上下文模型,计算查询的上下文之间的相似度,用来表示两个查询之间的相似度(参考文献X. Wang and C. Zhai. Mining term association patterns from search logs for effective query reformulation. In Proceedings ofCIKM2008.)。还有一禾中较为简单直接的方式,即计算查询之间的余弦相似度。聚类算法也有很多,比如常见的K-means、层次聚类等等。有些方法在聚类的同时,还挖掘出该类的中心项,如星形聚类(参考文献X. Wang and C. Zhai. Mining term association patterns from search logs for effective query reformulation. In Proceedings of CIKM2008.)。在现有的方法中,还未发现有使用查询日志作为挖掘查询子话题的来源,而且在计算查询语句之间的相似度时,没有充分考虑到词汇不匹配问题,以及词汇过匹配问题。另外现有的聚类方法是基于词汇相似度的聚类方法,没有深入挖掘话题之间的包含关系,难以在话题之间建立树形的层次结构。因此这些聚类方法,在聚类查询子话题时,存在一定的缺陷,无法充分满足用户需求。

发明内容
本发明的目的在于解决现有技术中的问题,提出一种挖掘用户所查询的语句的子话题,并对这些子话题进行聚类的信息搜索方法。该方法能够自动挖掘某个查询语句所可能包含的所有子话题,根据话题之间的包含关系进行聚类,进而实现为用户提供更合理的查询建议、查询结果的多样性展示等目的。本发明的挖掘查询语句子话题并聚类的信息搜索方法,其步骤包括
1)对原始查询语句和查询日志中的历史查询语句分别分词,得到查询词序列;2)将对所述历史查询语句分词后得到的查询词序列作为候选子话题,计算所述候选子话题与所述原始查询语句的相似度;3)利用语义词典找出原始查询语句的同义表达方式并作为扩展查询语句,计算所述候选子话题与所述扩展查询语句的相似度,并用该相似度修正步骤幻所得的相似度;4)根据相似度的预设阀值对所述候选子话题进行筛选,得到最终子话题;5)对所述最终子话题进行聚类,并根据聚类后的子话题间的包含关系构建树形层次结构;6)搜索引擎按照所述树形层次结构对检索结果进行分类,用户通过选择所述树形层次结构的不同叶子节点来获得不同分类粒度的检索结果。进一步地,利用每个所述历史查询语句在查询日志中出现的次数修正步骤3)最终得出的相似度;还可通过计算每个所述历史查询语句与所述原始查询语句的点击相似度,并用该点击相似度进进一步修正步骤幻最终得出的相似度;所述点击相似度采用如下公式计算
\υρΓΛυ0\CL(P^Q) = K \ f )其中,集合%和Uq分别为用户在查询历史查询语句Pi和原始查询语句Q时点击的
\υρΓΛυ0\
所有url ;/(1^^)为单调上升函数。进一步地,步骤1)所述的查询日志包括用户提交的查询语句、查询时间和点击的结果文档。进一步地,通过余弦相似度方法计算所述候选子话题与所述原始查询语句的相似度或所述候选子话题与所述扩展查询语句的相似度。进一步地,所述语义词典包括HowNet和同义词词林。进一步地,所述筛选是将与原始查询语句的相似度小于所述预设阀值的候选子话题删去。进一步地,所述聚类的方法包括K-means方法和后缀树聚类方法。进一步地,在所述聚类后的每个类中选取一个历史查询作为该类的中心项,根据该中心项的话题包含关系构建所述树形层次结构。本发明利用查询日志挖掘用户查询语句的子话题,这些子话题可以用于扩展用户查询,或者为用户提供更多的查询建议;对查询子话题进行聚类,并按照话题的包含关系构建树形的层次结构,可以根据需要从不同的粒度来为用户提供查询扩展、查询建议等,还能根据子话题的结构,对搜索引擎返回的结果文档划分层次结构,方便用户按照话题类别来浏览检索结果。


图1为本发明实施例的挖掘查询子话题并聚类的信息搜索方法的流程图。图2为本发明实施例的对查询子话题构建树形结构的示意图。
具体实施例方式下面通过实施例并结合附图,对本发明作详细的说明。图1为本实施例的挖掘查询子话题并聚类的信息搜索方法的流程图,对各个步骤具体说明如下1)对原始查询语句和历史查询语句分词a)设原始查询语句为Q,对其分词,得到一串查询词序列Qlq2...qn,其中 Qi(i e [Ο,η])为单个查询词;b)设查询日志中的所有历史查询语句为P = {P1;P2,…PJ,对每个历史查询语句 Pi分词,得到一个查询词序列PilPi2... Pim,其中Pu(j e
)为单个查询词;将这些查询词序列(仍用Pi表示)作为候选子话题。所述查询日志是用户在使用搜索引擎时,由搜索服务提供商记录的用户的一系列行为,包括用户提交的查询语句、查询时间、点击的结果文
档等信息。2)子话题挖掘对候选子话题进行挖掘,得到最终子话题。a)计算候选子话题Pi与原始查询语句Q的相似度Sin^Pi,Q),可以使用余弦相似度的方法进行计算,也可以使用其它方法。使用余弦相似度方法进行计算的公式如下,其中 W是Pi或Q中的查询词力―)和Cq(W)分别是W在Pi或Q中出现的次数
Σ cPj{w)c0{w)
SimjPnQ)=广6 ,(ι)
\ wePf^ WEgb)为解决原查询语句Q与历史查询Pi的词汇不匹配问题,利用语义词典对原始查询Q进行扩展,找出与原始查询语句Q同义的多种表达方式1^, ,…,Qn},进而计算候选子话题Pi与每个扩展查询语句A的相似度Sim(Pi, Qj)。词汇不匹配属自然语言处理领域的经典问题,是指两个词汇或语句在字面上存在较大差异,但是表达同一个语义。中文可用的语义词典非常多,如HowNet、同义词词林等资源。将原始查询Q分词后得到词序列qiq2. . . qn,对每一个词I,从语义词典中抽取它的所有同义词,组成同义词集合 Si = {s|s e synonyms ( )}。然后分别使用每一个同义词Sij代替原始查询语句Q中的查询词I,组成一个新的查询,即扩展后的查询语句,得到扩展查询集合IA,( ,…,Qn}。使用公式(1)计算每一个扩展后查询%与历史查询Pi的相似度Sin^Pi,Qj) 0然后我们通过加权求和用Sim (P” Qj)来更新候选子话题Pi与原始查询语句Q的相似度Sim (Pi, Q),即SMiP1,Q) = W0SimiP1 ,Q) + ^ WjSimiPl,Qj)(2)
J其中,公式右边的Sim(PyQ)由公式⑴计算得来,Wj为相应的权重。c)为进一步解决原查询语句Q与历史查询语句Pi的词汇过匹配问题,利用查询日志中的点击信息来判别历史查询与原查询是否属于同一查询意图。词汇过匹配问题是指 两个词汇或语句字面的相似度非常高,即使用了很多共同的词语,但是表达的语义相差很大。首先考虑了历史查询Pi在查询日志中的出现次数对该子话题的影响。当Pi在查
5询日志中出现的次数越多,对其相似度赋予更高的系数,当Pi出现的次数较少时,相似度则得到较小的系数。进而对公式(2)有如下更新Sim (P" Q) = f (C(Pi)) □ Sin^P” Q) (3)其中,等式右边的SinKPi, Q)由公式⑵计算而来。其次,采用点击相似度来增强候选子话题Pi与原始查询语句Q的相似度Sin^Pi, Q)。从查询日志中,分别统计出用户在查询Pi和Q上点击的所有url,记为集合%和UQ,根据两个集合的重合度,来计算PjPQ的点击相似度CL(Pi;Q),如公式(4)所示CL(P^Q) = A Ρ· β\)
ιuPi ι十丨 ι⑷
\UR rd/0 I其中,/(+〃+)为单调上升函数;f可根据需要进行调整。在不同的数据集
I U Pi I + I Uq I
上,可能使用不同的f函数才能得到最佳效果,根据在模型训练阶段的实验结果,确定用何 \UP r,U0 I \upr,u0\ \UP r,U0 I IogIf^nfT0I
种 f 函数,如/(ι 广111 二) = , ' ‘ ι ‘ ‘) = ,、等;还可以对
I ^ I +1 ^e I I ^ I +1 ^e I I ^ I +1 ^e I log(| UPi\ + \UQ\)
lLJ ^u , 1θ§( Σ WrUi)
每个url赋予一定权重,然后进行计算,W( TT\ Jt ) = , /'eVt7g7,其中,Ui为相应
I^ I + I^e I log( Σ w'ui)
U1 &U UUq
集合中的url,分子中的 为集合。%中的元素,分母中的1^为集合〃。〃e中的元素,Wi 为每个Ui所对应的权重。然后利用CUPi, Q)再次更新Sin^Pi,Q)的得分,如公式(5)所示SinKPi, Q) = CL (Pi, Q) □ SinKPi, Q) (5)其中,公式右边的Sim(PyQ)由公式(3)计算得来。至此,得到最终的候选子话题 Pi与原始查询语句Q的相似度Sim (P" Q);d)通过相似度的预设阀值对所述候选子话题进行筛选,如果Sim (P” Q)大于某个阈值δ,则保留该历史查询,作为查询Q的最终子话题。3)子话题聚类首先采用常用的聚类方法,如K-means方法、后缀树聚类方法等,根据最终子话题所属的领域进行聚类。然后在每个类中选取一个历史查询作为该类的中心项,根据中心项的话题包含关系,构建树形的层次结构。父节点的话题范围更为广泛,子节点的话题范围则较为具体,即父节点中的话题较子节点的话题更为泛化。下面是通过一个查询实例对上述流程作更具体、直观的说明。1)任务初始化(对查询语句分词)a)原始查询Q = “苹果MP3”,对其分词后得到序列Q = “苹果MP3” ;b)查询日志中有历史查询P1 = “苹果MP3保修”,P2 = “苹果MP3价格”,P3 = “苹果MP3售后服务”,P4 =“iPod报价”,P5 = “苹果施肥”,经过分词后,分别得到序列“苹果 MP3保修”,“苹果MP3价格”,“苹果MP3售后服务”,“ iPod报价”,“苹果施肥”,每个查询在日志中出现的次数分别为c (Pi)。2)子话题挖掘
a)使用公式(1)计算候选子话题Pi与原始查询语句Q的相似度Sin^Pi,Q);b)查询语义字典,得到“苹果”的同义词有{ “iP0d”,“apple”},“MP3”的同义词有 { “数字音乐播放器” },代入原始查询得到Q1 =“iPod MP3”,Q2 = "apple MP3”,Q3 “苹果数字音乐播放器”。根据公式(1),计算每个扩展查询A原始查询语句Q的相似度Sim (Pi, Qi)。再根据公式⑵,更新相似度Sim(PiiQ);c)结合每个历史查询在日志中出现的次数C(Pi),根据公式(3),修正每个历史查询Pi与原始查询语句Q的相似度Sim(PpQ);根据公式(4)计算每个历史查询Pi与原始查询语句Q的点击相似度CL (Pi, Q),再根据公式( 更新查询Pi与原始查询语句Q的相似度 Sim(Pi, Q);d)根据事先约定的阈值δ,当查询Pi与原始查询语句Q的相似度Sim(PyQ)小于该阈值时,剔除该查询,本例中可以剔除P5,因为其与原始查询语句Q的点击相似度为0,因 ift Sim(P5, Q)较小。3)子话题聚类a)经过步骤1、2,得到子话题P1, P2,P3,P4,聚类得到三类(P1, P3I, {P2}和{P4}。b)其中{P1; P3I属话题“服务”,{PJ和{PJ属于话题“价格”,这两个话题均是原始查询Q的子话题,根据话题的包含关系,构建出树形的层次图,如图2所示。图2是一个三层的树形结构,根节点为“苹果MP3”,是用户提交的初始查询,叶子节点为该查询语句的子话题聚类,每个聚类中包含多个具有相同信息需求的子话题。图中第二层节点为子话题聚类的父节点,即该层节点的话题范畴包含叶子节点的话题范畴,并且范畴更为宽泛。搜索引擎在返回所有的检索结果之后,按照叶子节点聚类的结果,对这些检索结果进行分类。用户可以根据自己的需求,选择不同的分类粒度来显示检索结果。当用户选择显示“聚类1”的结果时,将分类标签为“聚类1”的检索结果呈现给用户;当用户选择显示“苹果MP3价格”的结果时,将分类标签为“聚类2”和“聚类3”的检索结果呈现给用户。上述实施例仅是为了说明本发明的原理,而非用于限制本发明的范围。本领域的技术人员可在不违背本发明的技术原理及精神下,对实施例作修改与变化。本发明的保护范围应如权利要求所述。
权利要求
1.一种挖掘查询语句子话题并聚类的信息搜索方法,其步骤包括1)对原始查询语句和查询日志中的历史查询语句分别分词,得到查询词序列;2)将对所述历史查询语句分词后得到的查询词序列作为候选子话题,计算所述候选子话题与所述原始查询语句的相似度;3)利用语义词典找出原始查询语句的同义表达方式并作为扩展查询语句,计算所述候选子话题与所述扩展查询语句的相似度,并用该相似度修正步骤幻所得的相似度;4)根据相似度的预设阀值对所述候选子话题进行筛选,得到最终子话题;5)对所述最终子话题进行聚类,并根据聚类后的子话题间的包含关系构建树形层次结构;6)搜索引擎按照所述树形层次结构对检索结果进行分类,用户通过选择所述树形层次结构的不同叶子节点来获得不同分类粒度的检索结果。
2.如权利要求1所述的方法,其特征在于,利用每个所述历史查询语句在所述查询日志中出现的次数修正所述步骤3)最终得出的相似度。
3.如权利要求2所述的方法,其特征在于,计算每个所述历史查询语句与所述原始查询语句的点击相似度,并用该点击相似度进一步修正步骤幻最终得出的相似度;所述点击相似度采用如下公式计算
4.如权利要求1所述的方法,其特征在于,所述查询日志包括用户提交的查询语句、查询时间和点击的结果文档。
5.如权利要求1所述的方法,其特征在于,通过余弦相似度方法计算所述候选子话题与所述原始查询语句的相似度或所述候选子话题与所述扩展查询语句的相似度。
6.如权利要求1所述的方法,其特征在于,所述语义词典包括HowNet和同义词词林。
7.如权利要求1所述的方法,其特征在于,所述筛选是将与原始查询语句的相似度小于所述预设阀值的候选子话题删去。
8.如权利要求1所述的方法,其特征在于,所述聚类的方法包括K-means方法和后缀树聚类方法。
9.如权利要求1所述的方法,其特征在于,在所述聚类后的每个类中选取一个历史查询作为该类的中心项,根据该中心项的话题包含关系构建所述树形层次结构。
全文摘要
本发明提供一种挖掘查询语句的子话题,并对子话题进行聚类的信息搜索方法。该方法将原始查询语句和历史查询语句分别分词,得到查询词序列,计算原查询语句与历史查询语句的相似度。进一步可将原查询通过语义词典进行扩展,计算扩展查询语句与历史查询语句的相似度,并修正历史查询语句与原始查询语句的相似度;还可通过历史查询语句的点击信息进一步修正历史查询语句与原始查询语句的相似度。然后通过相似度的预设阀值选出最终子话题,并对其进行聚类以及构建树形的层次结构。用户通过选择树形层次结构的不同叶子节点来获得不同分类粒度的检索结果,方便用户按照话题类别来浏览检索结果。
文档编号G06F17/30GK102419778SQ20121000477
公开日2012年4月18日 申请日期2012年1月9日 优先权日2012年1月9日
发明者孙乐, 江雪 申请人:中国科学院软件研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1