以Google和百度为代表的搜索引擎,在用户输入关键词进行查询后,返回的是成千上万的相关结果,往往需要用户花大量时间浏览与选择,不能满足用户快速获取信息的愿望。为了解决这一问题,很多学者开始研究检索结果聚类算法。当前检索结果聚类方法主要可以分为两类:基于文档的方法和基于标签的方法。基于文档的方法通常是先使用余弦夹角公式计算文本相似度,再采用传统的文本聚类算法对检索结果进行聚类,最后使用一种加权策略提取具有代表性的词或句子作为类别标签。
提出一种基于名词短语的检索结果多层聚类方法(multi-level clustering method based on noun phrases, MCNP)。首先通过提取主题表达能力以及可读性强的名词短语作为候选类别标签,基于抽取的名词短语生成基础类,然后以基础类为聚类对象,使用具有线性时间复杂度的一趟聚类算法进行多层聚类处理。多层聚类算法具体描述如下:
1) 根据候选类别标签在检索结果中的分布情况,把包含有相同标签的检索结果划分到同一类别,形成基础类;
2) 把每个基础类看作一个聚类对象;
3) 初始时,聚类集合为空,读入一个新的对象;
4) 以这个对象构造一个新的簇;
5) 若对象已被处理完,则转(8)。否则读入新对象,利用余弦公式计算它与每个已有簇间的相似度,并选择最大的相似度;
6) 若最大相似度小于给定的阈值r,转(4);
7) 否则将该对象并入具有最大相似度的簇中,并更新该簇的词权重,转(5);
8) 结束。
提出方法是一种混合的检索结果聚类方法,其聚类性能好,所提取出来的类别标签具有很好的主题表达能力和可读性,较当前聚类性能优越的基于命名实体的方法、STC和Lingo算法效果要好。