具体实施方式
本发明实施例提供一种检索结果聚类方法及装置,通过按照预设的选取规则,先从检索结果中选取出规定数目的短语,然后再针对选取到的每个短语,对检索结果中包含该短语的检索结果进行聚类,并将该短语作为该聚类的标签,使得得到的聚类标签可读性较好,不同聚类标签之间区分性较大,从而用户能够很容易地按照聚类标签找到符合自己需求的检索结果。
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
如图1所示,为本发明实施例提供的一种检索结果聚类方法的具体实现流程示意图,具体包括:
步骤11,从检索结果中选取规定数目的短语;
步骤12,针对选取到的每个短语,对检索结果中包含该短语的检索结果进行聚类,并将该短语作为该聚类的标签。
上述的检索结果是指,检索系统针对某个查询请求,根据一个文档集合中各个文档与查询请求间的相关程度返回的一批文档,该返回的文档则既可以是原始的整个文档,也可以是用于代表文档的摘要片段(snippet)。其中,检索系统是指用于根据查询请求,从任何候选文档集中检索出与查询请求相关的文档集的系统或装置;查询请求是指由计算机或网络用户的输入的、符合检索系统格式要求的、任何被检索系统接收的符号表达。本发明实施例提供的该方法,适用于对任何类型的检索结果的聚类。
按照本发明实施例提供的该方法,作为聚类标签的短语不是在对检索结果进行聚类后生成的,也不是在对检索结果进行聚类的同时附带生成的,而是先于对检索结果进行聚类前生成的。因此,按照本发明实施例提供的该方法,对检索结果的聚类是依赖于已经选取到的短语而进行的,而聚类标签的选取则不会被动地依赖于已经聚类或正在聚类的检索结果,从而使得本发明实施例提供的该方法能够解决按照现有技术提供的检索结果聚类方法产生的聚类标签可读性较差,不同聚类标签之间区分性较小,从而使得用户难以按照聚类标签找到符合自己需求的检索结果的问题。
较佳地,上述步骤11中从检索结果中选取规定数目的短语的一种具体实现流程示意图如图2所示,包括:
步骤21,从检索结果中选取第一数目的短语;
步骤22,根据第一数目的短语中各个短语分别包含的字数数目及预设的字数数目阈值,分别确定第一数目的短语中各个短语的长度得分,该确定过程具体为:
根据步骤21中选取出的第一数目的短语中各个短语分别包含的字数数目及预设的字数数目阈值,按照下述公式(1),确定各个选取到的短语的长度得分:
其中,len为该短语中包含的字数数目,MAXLEN为预设的字数数目阈值,lenScore为该短语的长度得分;
步骤23,针对第一数目的短语中的每个短语,根据包含该短语的检索结果个数、包含该短语的预设检索结果个数阈值、该短语在各个检索结果中出现的总次数,以及检索结果的总个数,确定该短语的出现频率得分,该过程具体如下:
按照下述公式(2),分别确定第一数目短语中各个短语的出现频率得分:
其中,TF为所述同一短语在各个检索结果中出现的总次数,N为检索结果的总个数,DF为包含所述同一短语的检索结果个数,thresh为预设的包含所述同一短语的预设检索结果个数阈值(用于过滤掉那些只出现在很少的检索结果中的短语),TFIDScore为所述同一短语的出现频率得分;
步骤24,根据确定的第一数目的短语中各个短语的长度得分及出现频率得分,分别确定各个短语的总得分,确定该总得分的具体公式如下式(3):
score=α·lenScore+TFIDFScore (3)
其中,α为调整lenScore和TFIDScore之间权重的调节因子,score为短语的总得分;
步骤25,根据确定的各个短语的总得分,按照总得分由高到低的选取顺序,从所述第一数目的短语中依次选取规定数目的短语。
针对上述步骤21,从检索结果中选取第一数目的短语时,可以但不限于采用以下两种方式:
方式1:基于后缀树的方式选取名词性后缀短语。该方式的主要原理是以检索结果中的每个句子为分界,以词为单位,将所有检索结果构建到一棵后缀树中。构建该后缀树的具体过程可参考“H.Chim and X.Deng.A new suffix tree similarity measure for document clustering.In WWW,121-129,2007”。
在这个后缀树中,每一个节点代表了一个短语,该短语的内容是从后缀树树的根节点到该节点本身所经过的边的连接。每个内部节点都记录了经过该节点所有文档的编号,同时对应记录了每个文档包含该节点的次数;而每个外部节点则代表了一个后缀短语。
与H.Chim等人提供的构建后缀树的方法有所不同的是,本发明提供的该方法在构建后缀树的过程中,还对每个词的词性进行了记录。因此,在构建了后缀树之后,结合短语中每个词的词性,可以针对每个节点选取出大量的名词短语,然后分别统计出选取出的各个短语的长度(这里的长度是指该短语包含的汉字个数,或者包含的单词个数)、各个短语分别在所有检索结果中出现的总次数、分别包含各个短语中同一短语的检索结果的个数,以及各个短语的编号(这里的编号是指按照预设的排序规则,对选取出的各个短语进行排序后,各个短语在排序中的位置)。
方式2:基于n-gram(n-gram类型的短语是指从一个检索结果中选取出的长度为n的短语,且选取出的各长度为n的短语的排列顺序与各短语在该检索结果中出现的顺序保持一致)模型的方式选取短语。该方法的原理是从检索结果中选取不超过预设长度阈值的所有名词性短语。
在方式2的具体实现过程中,鉴于选取出来的短语是用作聚类标签的,而聚类标签的长度一般较短,因此可以从所有的检索结果中选取不超过预设长度阈值的所有uni-gram,bi-gram,tri-gram类型的短语,其中,uni-gram,bi-gram,tri-gram类型的短语分别指从一个检索结果中选取出的长度为1、2、3的短语,且选取出的各长度为1的短语的排列顺序与各短语在该检索结果中出现的顺序保持一致;选取出的各长度为2的短语的排列顺序与各短语在该检索结果中出现的顺序保持一致;选取出的各长度为3的短语的排列顺序与各短语在该检索结果中出现的顺序保持一致。在选取这些n-gram短语的同时,还可以记录下每个短语的长度、各个短语分别在所有检索结果中出现的总次数、分别包含各个短语中同一短语的检索结果的个数,以及各个短语的编号等信息,最后,根据这些短语中词语的词性,从中选取出名词性短语。
此外,现有技术中任何从检索结果中选取出短语的方法都可用于实现本发明实施例提供的该方法中从检索结果中选取规定数目的短语。
按照上述步骤选取规定数目的短语,使得选取到的短语在作为聚类标签时,一方面,聚类标签的长度能控制在合适的长度范围内,从而聚类标签比较规范,具有很好的可读性;另一方面,在检索结果中出现的频率较高的短语被选取到作为聚类标签,而在检索结果中出现频率较低的聚类标签则被过滤掉,从而使得根据选取到的聚类标签得到的各个聚类之间内部相似度较高。
除上述计算方式外,还可以采用其他计算方式,根据第一数目的短语中各个短语分别包含的字数数目及预设的字数数目阈值,分别确定第一数目的短语中各个短语的长度得分;以及还可以采用其他计算方式,针对第一数目的短语中的每个短语,根据包含该短语的检索结果个数、包含该短语的预设检索结果个数阈值、该短语在各个检索结果中出现的总次数,以及检索结果的总个数,确定该短语的出现频率得分。采用其他计算方式确定各个短语的长度得分及出现频率得分,以实现从第一数目短语中依次选取规定数目的短语,同样在本发明的保护范围之内。
较佳地,上述步骤11中从检索结果中选取规定数目的短语的另一种具体实现流程示意图如图3所示,包括:
步骤31,从检索结果中选取第一数目的短语,这里同样可以但不限于采用上述的基于后缀树的方式或基于n-gram模型的方式选取第一数目的短语;
步骤32,分别确定第一数目的短语中各个短语与用于检索的关键词在同一检索结果中出现的位置之间的第一平均距离,该第一平均距离的确定可采用如下式(4)所示的计算方式:
其中,dijavg为第一数目短语中第价短语与用于检索的关键词在第j个检索结果中出现的位置之间的第一平均距离,i为所述第一数目,j为包含第一数目短语中同一短语的第j个检索结果,Pj为所述同一短语在第j个检索结果中出现的位置对应的向量空间模型,Qj为包含所述同一短语的第j个检索结果中关键词出现的位置对应的向量空间模型,pm为同一短语在第j个检索结果中出现的第m个位置对应的向量空间模型,qn为包含同一短语的第j个检索结果中关键词出现的第n个位置对应的向量空间模型;
步骤33,对确定的各个第一平均距离进行归一化处理,具体地,可以按照下述公式(5),将所述第一平均距离进行归一化处理:
其中,LENj为第j个检索结果的文档字数总数目,为归一化后的第一数目短语中第i个短语与用于检索的关键词在第j个检索结果中出现的位置之间的第一平均距离;
步骤34,根据归一化结果,分别确定第一数目的短语中各个短语与用于检索的关键词在同一个检索结果中出现的位置之间的第二平均距离,具体地,根据
按照下述公式(6),分别确定第一数目短语中的各个短语与用于检索的关键词在各个检索结果中出现的位置之间的第二平均距离:
其中,S为包含同一短语的所有检索结果对应的向量空间模型,Diavg为所述第一数目短语中的第i个短语与用于检索的关键词在第j个检索结果中出现的位置之间的第二平均距离;
步骤35,根据确定的各个第二平均距离,按照第二平均距离由小到大的选取顺序,依次从所述第一数目的短语中选取规定数目的短语。
在本发明实施例中,图2、图3所示的从检索结果中选取规定数目的短语的两种具体方式除了可以分开使用外,还可以结合使用。比如,可以先采用图2所示的方式从第一数目短语中选取得到第二数目的短语,再采用图3所示的方式从选取到的第二数目的短语中选取规定数目的短语,或者先采用图3所示的方式从第一数目短语中选取得到第二数目的短语,再采用图2所示的方式从选取到的第二数目的短语中选取规定数目的短语。此外,为了进一步使选取到的规定数目的短语对应的聚类标签之间的区分性较大,且聚类标签可读性较好,本发明实施例中还可以采用如图4所示的流程图,实现从上述选取到的规定数目的短语进一步挑选出相关度较低的第一规定数目的短语:
步骤41,对选取的规定数目的短语中各个短语分别在各个检索结果中出现的次数所构成的矩阵A进行奇异值分解;
如下所示,为各个短语分别在各个检索结果中出现的次数所构成的矩阵A的一个具体例子,其中,d1~d6分别对应于6个不同的检索结果,t1~t4分别对应于4个不同的短语,如第一个矩阵元素322即表示短语t1在检索结果d1中出现的次数为322次:
对矩阵进行奇异值分解的公式则如下式(7)所示:
A=UWVT (7)
其中,U和V为正交矩阵,W为奇异值对角矩阵。
步骤42,根据奇异值分解结果,确定选取的规定数目短语中各个短语之间的相关度C,该相关度C的计算公式如下式(8)所示:
C=AAT (8)
由于U和V为正交矩阵,W为奇异值对角矩阵,因此,根据公式(7)、(8)可推导出下式(9):
C=AAT=UWVT(UWVT)T=UWVTVWTUT=UW2UT (9)
步骤43,按照短语之间的相关度由低到高的选取顺序,依次从规定数目的短语中选取第一规定数目的短语。
依次按照图2、图3、图4所示的选取方式对短语进行多次选取,并针对选取到的每个短语,对检索结果中包含该短语的检索结果进行聚类,并将该短语作为该聚类的标签,可以使得得到的标签的可读性更好,不同标签之间的区分性变得更大,从而能够使用户很容易地按照聚类标签找到符合自己需求的检索结果。
进一步地,为了使用户能够更加容易地按照聚类标签找到符合自己需求的检索结果,针对上述步骤12,本发明实施例还采用了如图5所示的方式对该步骤12进行了改进,其改进的具体流程示意图包括以下步骤:
步骤51,根据每个聚类中分别包含的检索结果个数,以及每个聚类中包含的各个检索结果对应的向量空间模型,确定每个聚类的中心向量,确定中心向量的具体公式如下式(10)所示:
其中,D(CLβ)为第β个聚类,Rγ为D(CLβ)中包含的第γ个检索结果对应的空间向量模型,o为该第β个聚类的中心向量;
步骤52,根据确定的每个聚类的中心向量,分别确定每个聚类的中心向量与每个聚类中包含的各个检索结果对应的向量空间模型的内部相似度(ICS,Intra-Cluster Similarity)的平均值,具体地,可以按照下述公式(11),计算各个聚类中心向量与各个聚类中包含的每个检索结果对应的向量空间模型的内部相似度平均值ICSβ:
步骤53,分别根据确定的对应每个聚类的内部相似度的平均值,保留内部相似度的平均值不小于预设的内部相似度阈值的聚类;
步骤54,按照内部相似度的平均值由大到小的顺序,对被保留下来的聚类进行排列。
需要说明的是,除上述计算方式外,还可以采用其他计算方式确定该内部相似度平均值。采用其他计算方式确定内部相似度平均值,以实现分别根据确定的对应每个聚类的内部相似度平均值,保留内部相似度平均值不小于预设的内部相似度阈值的聚类,同样在本发明的保护范围之内。
经过上述步骤51~53,由于在最终的检索结果聚类中只保留了各个检索结果之间的内部相似度较大的聚类,而去除了各个检索结果之间的内部相似度较小的聚类,因此,最终保留的各个聚类中不会包含太多的检索结果,且由于聚类中包含的检索结果之间相似度较大,从而使聚类标签有较明确的主题,有利于用户根据自身的需求对检索结果进行对比查找。此外,采用步骤54对保留下来的聚类按照内部相似度平均值由大到小的顺序进行了排列,可以使得用户查找自身所需求的检索结果时更为方便。
相应地,本发明实施例提供一种检索结果聚类装置,包括:选取单元,利用与从检索结果中选取规定数目的短语;聚类单元,用于针对选取单元选取到的每个短语,对检索结果中包含该短语的检索结果进行聚类,并将该短语作为该聚类的标签。
较佳地,针对上述选取单元功能的一种实现方式,上述选取单元的具体结构示意图如图6所示,可以包括:
第一选取子单元61,用于从检索结果中选取第一数目的短语;
长度得分确定子单元62,用于根据第一选取子单元61选取的第一数目的短语中各个短语分别包含的字数数目及预设的字数数目阈值,分别确定第一数目的短语中各个短语的长度得分;
频率得分确定子单元63,用于针对第一选取子单元61选取的第一数目短语中的每个短语,根据包含该短语的检索结果个数、包含该短语的预设检索结果个数阈值、该短语在各个检索结果中出现的总次数,以及检索结果的总个数,确定该短语的出现频率得分;
总得分确定子单元64,用于根据长度得分确定子单元62确定的第一数目的短语中各个短语的长度得分、频率得分确定子单元63确定的第一数目的短语中各个短语的出现频率得分,分别确定各个短语的总得分;
第二选取子单元65,用于根据总得分确定子单元64确定的各个短语的总得分,按照总得分由高到低的选取顺序,从第一选择子单元61选取到的第一数目的短语中依次选取规定数目的短语。
对应于上述选取子单元功能的一种实现方式,上述选取子单元具体可以包括:第一选取模块,用于根据总得分确定子单元确定的各个短语的总得分,按照总得分由高到低的选取顺序,从所述第一数目的短语中依次选取第二数目的短语;第一平均距离确定模块,用于分别确定选取模块选取的所述第二数目的短语中各个短语与用于检索的关键词在同一检索结果中出现的位置之间的第一平均距离:归一化模块,用于对第一平均距离确定模块确定的各个第一平均距离进行归一化处理;第二平均距离确定模块,用于根据归一化结果,分别确定选取模块选取的所述第二数目的短语中各个短语与用于检索的关键词在各个检索结果中出现的位置之间的第二平均距离;第二选取模块,用于根据第二平均距离确定模块确定的各个第二平均距离,按照第二平均距离由小到大的选取顺序,依次从选取模块选取的所述第二数目的短语中选取规定数目的短语。
对应于上述第二选取模块功能的一种具体实现方式,上述第二选取模块具体可以包括:第一选取子模块,用于根据选取模块选取的所述第二数目的短语中各个短语分别在检索结果中出现的位置,及用于检索的关键词在检索结果中出现的位置,从第二数目的短语中选取第三数目的短语;分解子模块,用于对第一选取子模块选取的第三数目的短语中各个短语分别在各个检索结果中出现的次数所构成的矩阵进行奇异值分解;确定子模块,用于根据分解子模块的奇异值分解结果,确定第三数目的短语中各个短语之间的相关度;第二选取子模块,用于根据确定子模块确定的各个短语之间的相关度,按照相关度由低到高的选取顺序,在第一选取子模块选取的第三数目的短语中依次选取规定数目的短语。
对应于上述选取单元功能的另一种实现方式,上述选取单元的具体结构示意图如图7所示,具体可以包括:
第一选取子单元71,用于从检索结果中选取第一数目的短语;
第一平均距离确定子单元72,用于分别确定第一选取子单元71选取的第一数目的短语中各个短语与用于检索的关键词在同一检索结果中出现的位置之间的第一平均距离;
归一化子单元73,用于对第一平均距离确定子单元72确定的各个第一平均距离进行归一化处理;
第二平均距离确定子单元74,用于根据归一化子单元73的归一化结果,分别确定第一数目的短语中各个短语与用于检索的关键词在同一个检索结果中出现的位置之间的第二平均距离;
第二选取子单元75,用于根据第二平均距离确定子单元74确定的各个第二平均距离,按照第二平均距离由小到大的选取顺序,依次从第一选取子单元71选取到的第一数目的短语中选取规定数目的短语。
进一步地,为了使用户能够更加容易地按照聚类标签找到符合自己需求的检索结果,本发明实施例提供的该检索结果聚类装置还可以包括:
中心向量确定单元,用于根据聚类单元得到的每个聚类中分别包含的检索结果个数,以及每个聚类中包含的各个检索结果对应的向量空间模型,确定每个聚类的中心向量;
内部相似度平均值确定单元,用于根据中心向量确定单元确定的每个聚类的中心向量,分别确定每个聚类的中心向量与每个聚类中包含的各个检索结果对应的向量空间模型的内部相似度的平均值;
保留单元,用于分别根据内部相似度平均值确定单元确定的对应每个聚类的内部相似度的平均值,保留内部相似度的平均值不小于预设的内部相似度阈值的聚类;以及
排列单元,用于根据按照内部相似度的平均值由大到小的顺序,对被保留单元保留下来的聚类进行排列。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。