首页 理论教育聚焦搜索引擎算法的优化

聚焦搜索引擎算法的优化

【摘要】:Lingo算法是基于奇异值分解的索引结果聚类算法。系统使用Lingo算法的主要目的是提高聚类标签的质量。2)Rough K-means算法的选择取决于数据的类型、聚类的目的和应用。每个簇中对象的平均值称为该簇的聚点,也就是中心。两个簇的相似度是根据两个聚点计算出来的。图2-21K-means算法流程图K-Means算法是最基本的非层次聚类算法,它假设各个类都呈现球状且类的大小几乎相等。另外用到的算法还有STC后缀树聚类算法,HAOG和FuzzyAnts,比较有难度,在此不做介绍。

1)Lingo

Lingo是Linear Interactive and General Optimizer的缩写,即交互式的线性通用优化求解器。它包括功能强大的建模语言,建立和编辑问题的全功能环境,读取和写入数据库的功能,和一系列完全内置的求解程序。

Lingo算法是基于奇异值分解的索引结果聚类算法。系统使用Lingo算法的主要目的是提高聚类标签的质量。

用Lingo实现文本聚类的过程如下:

(1)首先确定可感知的类标签,然后将文件分配到类中。

(2)Preprocessing(预处理):进行Filtering文本过滤、stemming提干、stopwords去除停用词。

(3)Frequent phrase extraction:频繁短语提取,提取出现频率最高的短语。

(4)Cluster label induction:聚类标签感知,以搜索结果文档中存在的命名实体作为聚类标签,经过一定的标签选择和聚类合并策略,形成最终的聚类结果,提高聚类标签的可读性。

(5)Cluster content discovery:聚类内容发现,根据提供的聚类标签发现聚类内容。

(6)Final cluster formation:最终集群形成,最终形成的内容颗粒聚集现象愈发明显。

2)Rough K-means

算法的选择取决于数据的类型、聚类的目的和应用。在众多算法中,K均值方法是一种比较流行且聚类效果较好的方法。

K均值算法是把含有n个对象的集合划分成k个簇。每个簇中对象的平均值称为该簇的聚点,也就是中心。两个簇的相似度是根据两个聚点计算出来的。假设聚点x、y都有m个属性,取值分别为x1,x2,…,xm和y1,y2,…,ym,则x和y的距离

K均值算法的流程图如图2-21所示。

图2-21 K-means算法流程图

K-Means算法是最基本的非层次聚类算法,它假设各个类都呈现球状且类的大小几乎相等。K-Means算法以“估计-最优化”的方式来寻找最合适的模型参数。开始时先随机确定类的质心,然后将各个文档分到质心与之最接近的类中,并重新计算各个类的质心,如此继续直到文档的划分不再变化。

另外用到的算法还有STC(Suffix Tree Cluster)后缀树聚类算法,HAOG和FuzzyAnts,比较有难度,在此不做介绍。