CN103136355B - 一种基于自动阈值鱼群算法的文本聚类方法 - Google Patents
一种基于自动阈值鱼群算法的文本聚类方法 Download PDFInfo
- Publication number
- CN103136355B CN103136355B CN201310068725.XA CN201310068725A CN103136355B CN 103136355 B CN103136355 B CN 103136355B CN 201310068725 A CN201310068725 A CN 201310068725A CN 103136355 B CN103136355 B CN 103136355B
- Authority
- CN
- China
- Prior art keywords
- artificial fish
- state
- article
- initial
- fish
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于自动阈值鱼群算法的文本聚类方法,通过计算文本特征向量的相似度矩阵,采用相似度矩阵的每行元素获得每个文本的初始等价划分阈值,从而对文本进行初始等价划分,进而确定初始聚类数目和初始聚类中心;结合采用人工鱼群算法,根据全局最优和局部最优信息更新每条人工鱼的状态,以寻找全局最优聚类中心,对初始聚类结果再聚类。由于采用自动获取阈值的方法得到初始聚类数目和初始聚类中心,并通过人工鱼群算法寻找全局最优聚类中心,本发明克服了传统聚类方法对初值敏感、仅依靠局部数据特性等弊端,可提高文本聚类的准确度与智能性。
Description
技术领域
本发明属于文本聚类技术领域,更为具体地讲,涉及一种基于自动阈值鱼群算法的文本聚类方法。
背景技术
网络信息的不断增长,使组织管理海量文本信息、方便使用者获得有用的信息变得愈加重要。文本信息多是非结构化或半结构化的数据,要从中发现潜在有用的知识模式,文本聚类技术是一种非常重要的方法。由于聚类不需要预先的类别标记,使文本聚类得到广泛研究与应用。文本聚类可以作为多文档自动文摘等自然语言处理应用的预处理步骤,也能够挖掘不同用户的兴趣模式以用于信息过滤和个性化推荐等信息服务,还可以用来改善文本分类的结果或者找出潜在的主题等。
文本聚类满足类内相似、类间不相似的假设,是一种无监督的机器学习方法。对于中文文本,通常先由分词软件进行分词,再利用向量空间模型把文档转换成高维空间中的向量,通过特征抽取后形成样本矩阵,然后进行聚类。聚类一般是在给定的某种相似性度量下把文本集合进行分组,使彼此相似的文本分到同一个组内,文本聚类的输出一般为文本集合的一个划分。
传统的聚类算法可广泛地分为基于层次聚类和基于划分聚类两种,基于层次聚类方法需要选择合适的算法终止点,基于划分聚类方法包括K-means、模糊C均值等,需要预先给定聚类数目,聚类结果对初值十分敏感。另外,这两种方法都只依靠局部数据特性来提炼聚类模式,有可能对于数据本身特征的理解产生扭曲。
为克服上述聚类方法的不足,目前业界已经提出一种人工鱼群聚类算法。人工鱼群算法是一种模仿鱼类行为方式的寻优算法,具有全局寻优、并行快速等优点,对初始值不敏感。将人工鱼群算法用于聚类,能克服传统聚类算法仅仅依靠局部数据特性和对初始值敏感的弊端,但现有的人工鱼群算法在初始聚类数目和聚类中心的确定上仍带有一定的人为因素。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于自动阈值鱼群算法的文本聚类方法,通过计算初始等价划分阈值得到初始聚类数目与初始聚类中心,再采用人工鱼群算法寻找全局最优聚类中心,克服传统聚类方法对初值敏感、仅依靠局部数据特性等弊端,提高文本聚类的准确度与智能性。
为实现上述发明目的,本发明基于自动阈值鱼群算法的文本聚类方法,其特征在于包括:
(1)、对N个文本对象进行预处理,包括中文分词、去停用词、词频统计、特征项提取、文本向量化,得到文本对象的特征向量:
其中,xi表示第i个文本对象的特征向量,i=1,2,…,N,ar表示第r个特征项,特征项总数为R个,lr,i表示xi中第r个特征项对应的权值;
(2)、根据N个文本对象的特征向量计算每个文本对象的初始等价划分阈值Thi,确定初始聚类数目和初始聚类中心:
2.1)、计算文本对象的相似度矩阵S:
其中,sim(xi,xj),1≤i≤N,1≤j≤N表示文本对象xi、xj之间的相似度;
2.2)、将相似度矩阵S的每行元素按相似度从大到小排序,得到排序后的相似度矩阵S′:
其中,sim(xi,xj′),1≤j′≤N表示经排序后文本对象xi与xj′之间的相似度;初始等价划分阈值Thi的计算公式为:
2.3)、根据相似度矩阵S和初始等价划分阈值Thi计算每个文本的初始等价划分Ri:
Ri={{Pi},{U-Pi}}
其中,Pi={xj|sim(xi,xj)≥Thi},U={x1,x2,…,xi,…,xN};
2.4)、根据每个文本的初始等价划分Ri进行初始聚类,得到初始聚类结果CR:
CR=R1∩R2∩…∩Ri∩…∩RN={c1,c2,…,cK}
其中,ck,1≤k≤K表示初始聚类结果中的一个类,K为初始聚类数目,将ck中所有文本对象特征向量的平均值作为初始第k类的聚类中心xck,初始聚类中心xck的计算公式为:
其中pk表示ck类中文本对象的个数,lr,s表示ck类中第s,1≤s≤pk个文本对象特征向量中第r个特征项的权值,是ck类中的所有文本对象特征向量中第r个特征项的权值之和;
(3)、采用人工鱼群算法对步骤(2)得到的初始聚类结果进行再聚类:
3.1)、设置人工鱼条数Total与各人工鱼的初始状态,第m条人工鱼的状态Qm,m=1,2,…,Total为数据空间中的向量,其形式与文本对象的特征向量一致;设置最大重复尝试次数TryNumber、最大迭代次数IT、步长Step、视野Visual、拥挤度因子δ,将K个初始聚类中心作为初始全局最优人工鱼状态Qbest_af,k,1≤k≤K;
3.2)、对人工鱼状态进行迭代更新:
在第t,1≤t≤IT次迭代更新时,依次对每条人工鱼状态进行更新,第m条人工鱼的状态为计算其适应度值
其中,表示迭代次数为t时第m条人工鱼的适应度值,表示迭代次数为t时第m条人工鱼视野范围内的文本对象个数;
此时前m-1条人工鱼已完成状态更新,即当前时刻其状态为当前时刻全局最优人工鱼状态记为其中离人工鱼距离最近的全局最优人工鱼状态记为
第m条人工鱼分别模拟执行以下三种行为:
a.觅食行为:
在第m条人工鱼视野范围内随机选择一个状态若则第m条人工鱼向和的向量方向前进一步:
其中,Rand()是一个介于0和1之间的随机数;
反之,则更新随机选择状态判断是否满足前进条件;如果重复尝试次数达到TryNumber次后仍不满足条件,则第m条人工鱼随机移动一步:
b.聚群行为
在当前时刻的所有人工鱼状态中,计算第m条人工鱼视野范围内的人工鱼同伴数目同伴中心为及其视野范围内同伴的状态的平均值,同伴中心的适应度值为若则第m条人工鱼向和的向量方向前进一步:
否则第m条人工鱼再重新执行一次觅食行为;
c.追尾行为:
在当前时刻的所有人工鱼状态中,比较第m条人工鱼视野范围内各人工鱼同伴的适应度值,找到适应度最大值及其对应的同伴状态若则第m条人工鱼向和的向量方向前进一步:
否则第m条人工鱼再重新执行一次觅食行为;
第m条人工鱼在模拟执行三种行为后得到三个备选更新状态,比较三个备选更新状态的适应度值,如果其中最大的适应度值高于当前适应度值且只对应一个备选更新状态,则将第m条人工鱼更新为最大适应度值所对应的备选更新状态;如果其中最大适应度值高于当前适应度值且对应一个以上备选更新状态,则任意选择一个备选更新状态进行更新;如果其中最大的适应度值不高于当前适应度值则第m条人工鱼状态保持不变;
第m条人工鱼的最终更新结果记为如果此时人工鱼状态的适应度值高于距离最近的最优人工鱼的适应度值则用代替所对应的全局最优人工鱼否则全局最优人工鱼状态保持不变;
当迭代次数达到最大迭代次数IT时,人工鱼状态迭代更新结束,得到最终全局最优人工鱼状态
3.3)、根据最终全局最优人工鱼状态计算最终聚类中心:
对于最终全局最优人工鱼,设定全局最优人工鱼聚类阈值,计算第一条最终全局最优人工鱼与其他最终全局最优人工鱼之间的距离,将距离小于聚类阈值的最终全局最优人工鱼与第一条最终全局最优人工鱼归于一类;在剩下的最终全局最优人工鱼中按顺序选择第一条,计算其与剩下的其它最终全局最优人工鱼的距离,将距离小于聚类阈值的最终全局最优人工鱼与该最终全局最优人工鱼归于一类;依此类推,直到将所有最终全局最优人工鱼归类;
最终得到的人工鱼类的个数为最终聚类数目H,将每个人工鱼类中所有最终全局最优人工鱼成员状态的均值作为该类的最终聚类中心Xch,1≤h≤H;
3.4)、计算每个文本对象与H个最终聚类中心的距离,将文本对象归入与其距离最近的最终聚类中心所对应的类中,得到文本对象的最终聚类结果Ch,1≤h≤H。
其中,步骤3.1)中人工鱼条数Total与初始状态的设置方法为:
如果设置初始人工鱼均匀分布在数据空间中,则设置每条人工鱼中第r,r=1,2,…,R个特征项权值的可能取值个数wr,人工鱼条数Total=w1×w2×…×wR,其中R为文本对象的特征项个数;否则初始人工鱼随机分布在数据空间中,则设置人工鱼条数Total,每条人工鱼状态随机。
本发明的发明目的是这样实现的:本发明基于自动阈值鱼群算法的文本聚类方法,先对文本进行预处理,将文本对象表示为能体现文本特征的特征向量;然后计算文本特征向量之间的相似度矩阵,将相似度矩阵每一行元素从大到小排序后,选择与相邻元素差值最大的相似度作为初始等价划分阈值,得到初始等价划分并确定初始聚类数目和初始聚类中心;再采用人工鱼群算法根据全局最优和局部最优信息更新每条人工鱼的状态,以寻找全局最优聚类中心,对初始聚类结果再聚类,得到最终聚类结果。
本发明摒弃了传统的人工预设初始聚类数目和聚类中心等聚类参数的方法,而是采用根据文本对象相似度计算获取初始等价划分阈值的方法得到初始聚类数目和初始聚类中心,并采用人工鱼群算法寻找全局最优聚类中心,克服传统聚类方法对初值敏感、仅依靠局部数据特性等弊端,提高文本聚类的准确度与智能性。
附图说明
图1是本发明基于自动阈值鱼群算法的文本聚类方法的一种具体实施方式流程图;
图2是本发明一个具体实施例的仿真示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明基于自动阈值鱼群算法的文本聚类方法的一种具体实施方式流程图。如图1所示,本发明包括以下步骤:
S101:文本预处理;
采用分词工具对待聚类的N个文本对象进行分词,经过分词后的词或词语作为文本对象的特征项,特征项构成文本对象的特征空间。再对初始文本对象去停用词,删除特征空间中的停用词例如“的”、“是”、“就是”等,得到维数较高的文本特征空间,对文本特征空间进行降维处理,再统计待聚类文本对象的特征项词频,利用TF-IDF函数计算特征项权重,最后将文本用特征项及其权重表示,得到文本的特征向量。
本实施例中,假定有10个文本对象,分别为xi,其中i=1,2,…,10;特征项数目为3,分别为ar,r=1,2,3,此处略去具体文本对象与特征项信息。表1是10个文本对象中每个特征项的权值。
表1
以文本对象x1为例,其特征向量可以表示为:x1=0.1a1+0.0a2+0.0a3。其他的文本对象以此类推。
S102:根据步骤S101中得到的10个文本对象的特征向量,计算每个文本对象的初始等价划分阈值Thi;
计算文本对象的相似度矩阵S:
其中,sim(xi,xj),1≤i≤N,1≤j≤N表示对象xi、xj之间的相似度;
本实施例中,sim(xi,xj)由余弦相似度计算得到,以sim(x1,x3)为例:由表1可知x1=0.1a1+0.0a2+0.0a3,x3=0.1a1+0.1a2+0.0a3,根据余弦相似度计算公式,x1与x3之间的相似度为:
计算得到相似度矩阵S为:
对相似度矩阵S=[sim(xi,xj)]每一行元素按相似度从大到小排序,得到排序后的相似度矩阵S′:
其中,sim(xi,xj′),1≤j′≤N表示经排序后文本对象xi与xj′之间的相似度;
本实施例中采用余弦相似度,两文本对象的余弦相似度值越大表示相似度越大,因此按余弦相似度值从大到小进行排序,排序后的相似度矩阵S′为:
在S′的每行元素中,找出相邻差值最大的两个元素,并将其中较大的一个选作该行对应文本对象的分类阈值Thi。初始等价划分阈值Thi的计算公式为:
本实施例仅以文本对象x1为例说明初始等价划分阈值Th1的计算过程。表2是排序后的相似度矩阵S′第一行中各相邻元素的差值。
sim(x1,x1′)-sim(x1,x2′) | 1.000-0.7071=0.2929 |
sim(x1,x2′)-sim(x1,x3′) | 0.7071-0.7071=0.0000 |
sim(x1,x3′)-sim(x1,x4′) | 0.7071-0.5298=0.1773 |
sim(x1,x4′)-sim(x1,x5′) | 0.5298-0.4616=0.0682 |
sim(x1,x5′)-sim(x1,x6′) | 0.4616-0.3578=0.1038 |
sim(x1,x6′)-sim(x1,x7′) | 0.3578-0.3482=0.0096 |
sim(x1,x7′)-sim(x1,x8′) | 0.3482-0.2762=0.0720 |
sim(x1,x8′)-sim(x1,x9′) | 0.2762-0.2683=0.0079 |
sim(x1,x9′)-sim(x1′,x10′) | 0.2683-0=0.2683 |
表2
由表2可以看出,sim(x1,x1′)与相邻元素差值最大,故将sim(x1,x1′)作为x1的初始等价划分阈值Th1=1.0000。同理计算其它文本对象的初始等价划分阈值Thi。表3是10个文本对象的初始等价划分阈值Thi。
Th1 | Th2 | Th3 | Th4 | Th5 | Th6 | Th7 | Th8 | Th9 | Th10 |
1.0000 | 1.0000 | 1.0000 | 1.0000 | 0.8984 | 0.9141 | 0.9241 | 0.9412 | 0.7493 | 0.7460 |
表3
S103:对文本对象进行初始聚类;
计算每个文本的初始等价划分Ri:
Ri={{Pi},{U-Pi}}
其中,Pi={xj|sim(xi,xj)≥Thi},U={x1,x2,…,xi,…,xN};
本实施例仅以文本对象x1为例说明初始等价划分R1的计算过程。步骤S102中得到文本对象x1的初始等价划分阈值Th1=1.0,在相似度矩阵S的第一行元素中,P1={xj|sim(x1,xj)≥Th1}={x1},j=1,2,…,10,U={x1,x2,…,x10},因此R1={{P1},{U-P1}}={{x1},{x2,x3,…,x10}}。
同理根据表3中的初始等价划分阈值Thi计算出其他文本对象的初始等价划分,结果如下:
R1={{x1},{x2,x3,x4,x5,x6,x7,x8,x9,x10}},
R2={{x2},{x1,x3,x4,x5,x6,x7,x8,x9,x10}},
R3=R4={{x3,x4},{x1,x2,x5,x6,x7,x8,x9,x10}},
R5=R6=R7=R8={{x5,x6,x7,x8,x9,x10},{x1,x2,x3,x4}},
R9=R10={{x3,x4,x5,x6,x7,x8,x9,x10},{x1,x2}}。
根据每个文本的初始等价划分Ri进行初始聚类,得到初始聚类结果CR:
CR=R1∩R2∩…∩Ri∩…∩RN={c1,c2,…,cK}
其中,ck,1≤k≤K表示初始聚类结果中的一个类,K为初始聚类数目,将ck中所有文本对象特征向量的平均值作为初始第k类的聚类中心xck,聚类中心xck的计算公式为:
其中pk表示ck类中文本对象的个数,lr,s表示ck类中第s,1≤s≤pk个文本对象特征向量中第r个特征项的权值,是ck类中的所有文本对象特征向量中第r个特征项的权值之和。
本实施例中,初始聚类结果CR为:
CR=R1∩R2∩…∩R10
={{x1},{x2},{x3,x4},{x5,x6,x7,x8,x9,x10}}
={c1,c2,c3,c4}
可见本实施例中10个文本对象可初步分为{x1},{x2},{x3,x4},{x5,x6,x7,x8,x9,x10}四类,初始聚类数目K=4。
ck的初始聚类中心是ck内所有成员的特征向量的平均值,以c3类为例,说明初始聚类中心xc3的计算过程。
本实施例中特征项个数R=3,p3为c3类中的成员个数,p3=2,即{x3,x4}。由表1可知:x3=0.1a1+0.1a2+0.0a3,x4=0.15a1+0.15a2+0.0a3,因此xc3为:
同理计算其他类的初始聚类中心,得到结果为:
xc1=x1=0.1a1+0.0a2+0.0a3
xc2=x2=0.0a1+0.1a2+0.0a3
xc3=0.125a1+0.125a2+0.0a3
xc4=0.4833a1+0.5163a2+1.0a3
S104:初始化人工鱼群参数;
设置人工鱼条数Total与各人工鱼的初始状态,,第m条人工鱼的状态Qm,m=1,2,…,Total为数据空间中的向量,其形式与文本对象的特征向量一致。人工鱼条数Total和初始状态可采用以下方式设置:如果设置初始人工鱼均匀分布在数据空间中,则设置每条人工鱼中第r,r=1,2,…,R个特征项权值的可能取值个数wr,人工鱼条数Total=w1×w2×…×wR,其中R为文本对象的特征项个数;否则初始人工鱼随机分布在数据空间中,则设置人工鱼条数Total,每条人工鱼状态随机。
设置最大重复尝试次数TryNumber、最大迭代次数IT、步长Step、视野Visual、拥挤度因子δ,将K个初始聚类中心作为初始全局最优人工鱼状态Qbest_af,k,1≤k≤K。
本实施例中,设置人工鱼的初始位置均匀分布在数据空间中,每个特征项的权值可取0.25、0.75两个值,特征项共计3个,因此人工鱼条数Total=23=8。表4是所有人工鱼的初始状态。
表4
设定最大尝试次数TryNumber为50次,最大迭代次数IT为5次,步长Step为0.7,视野Visual为0.5,拥挤度因子δ为4;4个全局最优人工鱼的初始状态对应为4个初始聚类中心:
Qbest_af,1=0.1a1+0.0a2+0.0a3
Qbest_af,2=0.0a1+0.1a2+0.0a3
Qbest_af,3=0.125a1+0.125a2+0.0a3
Qbest_af,4=0.4833a1+0.5163a2+1.0a3
S105:设置迭代更新次数t=1。
S106:设置人工鱼序号m=1。
S107:第m条人工鱼选择执行行为进行状态的迭代更新;
第m条人工鱼的状态为计算其适应度值
其中,表示迭代次数为t时第m条人工鱼的适应度值,表示迭代次数为t时第m条人工鱼视野范围内的文本对象个数;
此时前m-1条人工鱼已完成状态更新,即当前时刻其状态为当前时刻全局最优人工鱼状态记为其中离人工鱼距离最近的全局最优人工鱼状态记为
第m条人工鱼分别模拟执行以下三种行为:
a.觅食行为:
在第m条人工鱼视野范围内随机选择一个状态若则第m条人工鱼向和的向量方向前进一步:
其中,Rand()是一个介于0和1之间的随机数;
反之,则更新随机选择状态判断是否满足前进条件;如果重复尝试次数达到TryNumber次后仍不满足条件,则第m条人工鱼随机移动一步:
b.聚群行为
在当前时刻的所有人工鱼状态中,计算第m条人工鱼视野范围内的人工鱼同伴数目同伴中心为及其视野范围内同伴的状态的平均值,同伴中心的适应度值为若则第m条人工鱼向和的向量方向前进一步:
否则第m条人工鱼再重新执行一次觅食行为;
c.追尾行为:
在当前时刻的所有人工鱼状态中,比较第m条人工鱼视野范围内各人工鱼同伴的适应度值,找到适应度最大值及其对应的同伴状态若则第m条人工鱼向和的向量方向前进一步:
否则第m条人工鱼再重新执行一次觅食行为。
第m条人工鱼在模拟执行三种行为后得到三个备选更新状态,比较三个备选更新状态的适应度值,如果其中最大的适应度值高于当前适应度值且只对应一个备选更新状态,则将第m条人工鱼更新为最大适应度值所对应的备选更新状态;如果其中最大适应度值高于当前适应度值且对应一个以上备选更新状态,则任意选择一个备选更新状态进行更新;如果其中最大的适应度值不高于当前适应度值则第m条人工鱼状态保持不变。
本实施例仅举例说明表4中序号为2的人工鱼Q2=0.25a1+0.25a2+0.75a3在迭代次数t=1的状态更新,其他人工鱼和其他迭代次数人工鱼状态更新过程类似。为便于描述,本实施例假定序号为1的人工鱼Q1在其迭代次数t=1的迭代更新中,其自身状态未发生改变,即且全局最优人工鱼的状态也未发生任何改变,即在人工鱼Q2进行本次状态更新时,所有人工鱼状态和全局最优人工鱼状态均为初始状态。
●计算的适应度值
先计算视野内的文本对象个数计算与10个文本对象的距离,本实施例中采用欧几里得公式计算,以第1个文本对象为例:
表5为人工鱼与10个文本对象的距离。
表5
本实施例中人工鱼的视野Visual=0.5,因此由表5可知在人工鱼视野范围内的文本对象个数
●求出与人工鱼距离最近的全局最优人工鱼
表6为人工鱼与当前时刻4条全局最优人工鱼之间的距离。
表6
由表6可知,
●人工鱼模拟执行三种行为:
觅食行为执行过程:在人工鱼的视野内随机选择一个状态如 计算其适应度值由于不满足前进条件,重新选择随机状态 由于 满足前进条件,则人工鱼向和向量方向前进一步,人工鱼的备选更新状态为:
聚群行为执行过程:计算当前时刻所有人工鱼状态与人工鱼的距离,得到人工鱼视野内人工鱼的个数分别为 和人工鱼的同伴中心为:
计算的适应度函数值为 拥挤度因子δ=4, 所以说明伙伴中心适应度值高且不拥挤,人工鱼向和的向量方向前进一步,人工鱼的备选更新状态为:
追尾行为执行过程:在当前时刻的所有人工鱼状态中,人工鱼视野内人工鱼个数分别为和对应的适应度值分别为 因此人工鱼视野内适应度最高值是本身的适应度值,即那么 可见因此人工鱼向和的向量方向前进一步,人工鱼的备选更新状态为:
表7为本实施例中三种模拟执行行为的备选更新状态与适应度值。
表7
由表7可见本实施例中执行聚群行为后的适应度值最高,且高于人工鱼当前的适应度值,因此选择聚群行为进行人工鱼的状态更新,本次更新中第2条人工鱼状态更新为
S108:判断人工鱼状态的适应度值是否高于距离最近的最优人工鱼的适应度值如果结果为是进行步骤S109;如果结果为否进入步骤S110。
S109:使用代替所对应的全局最优人工鱼
本实施例中第2条人工鱼经过本次迭代更新后状态更新为 适应度值为 距离最近的人工鱼状态为 因此不满足更新全局最优人工鱼状态的条件,因此全局最优人工鱼的状态在本次迭代中不更新,直接进入步骤S110。
S110:人工鱼序号m=m+1。
S111:判断人工鱼序号m是否大于人工鱼条数Total,即判断本次迭代更新中是否所有人工鱼都完成了状态更新,如果结果为是,进入步骤S112;如果结果为否,返回S107对下一条人工鱼进行状态的迭代更新。
S112:迭代次数t=t+1。
S113:判断迭代次数t是否大于最大迭代次数IT,如果结果为是,进入步骤S114;如果结果为否,返回步骤S106进行人工鱼状态的新一轮更新。
步骤S106至步骤S113构成一个嵌套循环,对所有人工鱼进行IT次迭代更新,得到最终全局最优人工鱼状态
本实施例中,最大迭代次数IT=5,进行5次迭代后的最终全局最优人工鱼的状态为:
S114:对于最终全局最优人工鱼,设定全局最优人工鱼聚类阈值,计算第一条最终全局最优人工鱼与其他最终全局最优人工鱼之间的距离,将距离小于聚类阈值的最终全局最优人工鱼与第一条最终全局最优人工鱼归于一类;在剩下的最终全局最优人工鱼中按顺序选择第一条,计算其与剩下的其它最终全局最优人工鱼的距离,将距离小于聚类阈值的最终全局最优人工鱼与该最终全局最优人工鱼归于一类;依此类推,直到将所有最终全局最优人工鱼归类;
最终得到的人工鱼类的个数为最终聚类数目H,将每个人工鱼类中所有最终全局最优人工鱼成员状态的均值作为该类的最终聚类中心Xch,1≤h≤H。
本实施例中设定全局最优人工鱼聚类阈值为0.3。表8为本实施例中第1条最终全局最优人工鱼与其它最终全局最优人工鱼之间的距离。
表8
可以看出,对于与它的距离小于给定阈值0.3,因此将与归于一类;剩下和对于计算得到与它的距离为0.1637,小于0.3,因此将和归为一类。因此最终聚类数目H=2,最终聚类中心分别为:
S115:计算每个文本对象与H个最终聚类中心的距离,将文本对象归入与其距离最近的最终聚类中心所对应的类中,得到最终聚类结果Ch,1≤h≤H。
表9为各个文本对象与两个最终聚类中心的距离。
d(Xch,xi) | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | x10 |
Xc1 | 0.0707 | 0.0707 | 0.0707 | 0.1414 | 1.0607 | 1.0886 | 1.0886 | 1.1158 | 1.4577 | 1.4646 |
Xc2 | 1.2111 | 1.2051 | 1.1658 | 1.1287 | 0.3601 | 0.3108 | 0.2866 | 0.2216 | 0.3563 | 0.3639 |
表9
从表9中看出,x1、x2、x3和x4距离最终聚类中心Xc1较近,因此归于Xc1类;x5,x6,…,x10距离最终聚类中心Xc2较近,因此归于Xc2类。由此得到最终聚类结果为:
C1={x1,x2,x3,x4},C2={x5,x6,x7,x8,x9,x10}。
图2是本发明一个具体实施例的仿真示意图。图2(a)是本实施例中文本对象x1,x2,…,x10在数据空间中的分布;图2(b)是初始人工鱼群在数据空间中的均匀分布;图2(c)是经过5次迭代后人工鱼群的分布情况,可以看出人工鱼群分成了两个子群;图2(d)是经过5次迭代后4条全局最优人工鱼的分布,这4条人工鱼的位置即是初始聚类中心经过5次迭代更新后的位置;图2(e)是初始聚类中心在数据空间中的分布;图2(f)是得到的最终聚类中心的分布。
由本实施例可以看出,本发明基于自动阈值鱼群算法的文本聚类方法不需要预先给出聚类参数,如初始聚类数目和聚类中心,并能在全局范围内搜索最优状态,具有鲁棒性强、对初值敏感性小等优点。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (2)
1.一种基于自动阈值鱼群算法的文本聚类方法,其特征在于包括以下步骤:
(1)、对N个文本对象进行预处理,包括中文分词、去停用词、词频统计、特征项提取、文本向量化,得到文本对象的特征向量:
其中,ar表示第r个特征项,特征项总数为R个,lr,i表示xi中第r个特征项对应的权值;
(2)、根据N个文本对象的特征向量计算每个文本对象的初始等价划分阈值Thi,确定初始聚类数目和初始聚类中心:
2.1)、计算文本对象的相似度矩阵S:
其中,sim(xi,xj),1≤i≤N,1≤j≤N表示文本对象xi、xj之间的相似度;
2.2)、将相似度矩阵S的每行元素按相似度从大到小排序,得到排序后的相似度矩阵S′:
其中,sim(xi,xj′),1≤j′≤N表示经排序后文本对象xi与xj′之间的相似度;初始等价划分阈值Thi的计算公式为:
2.3)、根据相似度矩阵S和初始等价划分阈值Thi计算每个文本的初始等价划分Ri:
Ri={{Pi},{U-Pi}}
其中,Pi={xj|sim(xi,xj)≥Thi},U={x1,x2,…,xi,…,xN};
2.4)、根据每个文本的初始等价划分Ri进行初始聚类,得到初始聚类结果CR:
CR=R1∩R2∩…∩Ri∩…∩RN={c1,c2,…,cK}
其中,ck,1≤k≤K表示初始聚类结果中的一个类,K为初始聚类数目,将ck中所有文本对象特征向量的平均值作为初始第k类的聚类中心xck,初始聚类中心xck的计算公式为:
其中p表示ck类中文本对象的个数,lr,s表示ck类中第s,1≤s≤pk个文本对象特征向量中第r个特征项的权值,是ck类中的所有文本对象特征向量中第r个特征项的权值之和;
(3)、采用人工鱼群算法对步骤(2)得到的初始聚类结果进行再聚类:
3.1)、设置人工鱼条数Total与各人工鱼的初始状态,第m条人工鱼的状态Qm,m=1,2,…,Total为数据空间中的向量,其形式与文本对象的特征向量一致;设置最大重复尝试次数TryNumber、最大迭代次数IT、将K个初始聚类中心作为初始全局最优人工鱼状态Qbest_af,k,1≤k≤K;
3.2)、对人工鱼状态进行迭代更新:
在第t,1≤t≤IT次迭代更新时,依次对每条人工鱼状态进行更新,第m条人工鱼的状态为计算其适应度值
其中,表示迭代次数为t时第m条人工鱼的适应度值,表示迭代次数为t时第m条人工鱼视野范围内的文本对象个数,Visual表示预设的视野;
此时前m-1条人工鱼已完成状态更新,即当前时刻其状态为1≤m′≤m-1;当前时刻全局最优人工鱼状态记为其中离人工鱼距离最近的全局最优人工鱼状态记为
第m条人工鱼分别模拟执行以下三种行为:
a.觅食行为:
在第m条人工鱼视野范围内随机选择一个状态若则第m条人工鱼向和的向量方向前进一步:
其中,Rand()是一个介于0和1之间的随机数;
反之,则更新随机选择状态判断是否满足前进条件;如果重复尝试次数达到TryNumber次后仍不满足条件,则第m条人工鱼随机移动一步:
b.聚群行为
在当前时刻的所有人工鱼状态中,计算第m条人工鱼视野范围内的人工鱼同伴数目同伴中心为及其视野范围内同伴的状态的平均值,同伴中心的适应度值为若则第m条人工鱼向和的向量方向前进一步:
否则第m条人工鱼再重新执行一次觅食行为;
c.追尾行为:
在当前时刻的所有人工鱼状态中,比较第m条人工鱼视野范围内各人工鱼同伴的适应度值,找到适应度最大值及其对应的同伴状态若则第m条人工鱼向和的向量方向前进一步:
否则第m条人工鱼再重新执行一次觅食行为;
第m条人工鱼在模拟执行三种行为后得到三个备选更新状态,比较三个备选更新状态的适应度值,如果其中最大的适应度值高于当前适应度值且只对应一个备选更新状态,则将第m条人工鱼更新为最大适应度值所对应的备选更新状态;如果其中最大适应度值高于当前适应度值且对应一个以上备选更新状态,则任意选择一个备选更新状态进行更新;如果其中最大的适应度值不高于当前适应度值则第m条人工鱼状态保持不变;
本次更新中第m条人工鱼的最终更新结果记为如果此时人工鱼状态的适应度值高于距离最近的最优人工鱼的适应度值则用代替所对应的全局最优人工鱼否则全局最优人工鱼状态保持不变;
当迭代次数达到最大迭代次数IT时,人工鱼状态迭代更新结束,得到最终全局最优人工鱼状态1≤k≤K;
3.3)、根据人工鱼状态计算最终聚类中心:
对于最终全局最优人工鱼,设定全局最优人工鱼聚类阈值,计算第一条最终全局最优人工鱼与其他最终全局最优人工鱼之间的距离,将距离小于聚类阈值的最终全局最优人工鱼与第一条最终全局最优人工鱼归于一类;在剩下的最终全局最优人工鱼中按顺序选择第一条,计算其与剩下的其它最终全局最优人工鱼的距离,将距离小于聚类阈值的最终全局最优人工鱼与该最终全局最优人工鱼归于一类;依此类推,直到将所有最终全局最优人工鱼归类;
最终得到的人工鱼类的个数为最终聚类数目H,将每个人工鱼类中所有最终全局最优人工鱼成员状态的均值作为该类的最终聚类中心Xch,1≤h≤H;
3.4)、计算每个文本对象与H个最终聚类中心的距离,将文本对象归入与其距离最近的最终聚类中心所对应的类中,得到文本对象的最终聚类结果Ch,1≤h≤H。
2.根据权利要求1所述的基于自动阈值鱼群算法的文本聚类方法,其特征在于,步骤3.1)中人工鱼条数Total与初始状态的设置方法为:
如果设置初始人工鱼均匀分布在数据空间中,则设置每条人工鱼中第r,r=1,2,…,R个特征项权值的可能取值个数wr,人工鱼条数Total=w1×w2×…×wR,其中R为文本对象的特征项个数;否则初始人工鱼随机分布在数据空间中,则设置人工鱼条数Total,每条人工鱼状态随机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310068725.XA CN103136355B (zh) | 2013-03-05 | 2013-03-05 | 一种基于自动阈值鱼群算法的文本聚类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310068725.XA CN103136355B (zh) | 2013-03-05 | 2013-03-05 | 一种基于自动阈值鱼群算法的文本聚类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103136355A CN103136355A (zh) | 2013-06-05 |
CN103136355B true CN103136355B (zh) | 2016-01-06 |
Family
ID=48496181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310068725.XA Expired - Fee Related CN103136355B (zh) | 2013-03-05 | 2013-03-05 | 一种基于自动阈值鱼群算法的文本聚类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103136355B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365999A (zh) * | 2013-07-16 | 2013-10-23 | 盐城工学院 | 一种基于相似度矩阵谱分解的文本聚类集成方法 |
CN103927545B (zh) * | 2014-03-14 | 2017-10-17 | 小米科技有限责任公司 | 聚类方法及相关装置 |
CN104657472A (zh) * | 2015-02-13 | 2015-05-27 | 南京邮电大学 | 一种基于进化算法的英文文本聚类方法 |
CN105718441B (zh) * | 2016-01-13 | 2018-10-23 | 南京大学 | 一种查找不同平台间功能相似ui组件的方法和装置 |
CN107203625B (zh) * | 2017-05-26 | 2020-03-20 | 北京邮电大学 | 一种宫廷服饰文本聚类方法及装置 |
CN108830842B (zh) * | 2018-06-04 | 2022-01-07 | 哈尔滨工程大学 | 一种基于角点检测的医学图像处理方法 |
CN109145967B (zh) * | 2018-08-03 | 2021-07-23 | 中山大学 | 洪水全要素异变的诊断方法 |
CN109085652B (zh) * | 2018-08-03 | 2019-12-06 | 吉林大学 | 基于改进迭代法的地空时间域电磁系统高精度下延拓方法 |
CN109063781B (zh) * | 2018-08-14 | 2021-12-03 | 浙江理工大学 | 一种仿自然色彩功能和形式的模糊意象织物设计方法 |
CN109783816B (zh) * | 2019-01-11 | 2023-04-07 | 河北工程大学 | 短文本聚类方法及终端设备 |
CN110990389A (zh) * | 2019-11-29 | 2020-04-10 | 上海易点时空网络有限公司 | 精简题库的方法、装置及计算机可读存储介质 |
CN113379174A (zh) * | 2020-03-09 | 2021-09-10 | 北京达佳互联信息技术有限公司 | 业务数据处理方法、装置、计算机设备和存储介质 |
CN112395408B (zh) * | 2020-11-19 | 2023-11-07 | 平安科技(深圳)有限公司 | 停用词表生成方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763404A (zh) * | 2009-12-10 | 2010-06-30 | 陕西鼎泰科技发展有限责任公司 | 基于模糊聚类的网络文本数据检测方法 |
CN102214306A (zh) * | 2011-06-16 | 2011-10-12 | 中国农业大学 | 叶片病斑识别方法及装置 |
CN102930063A (zh) * | 2012-12-05 | 2013-02-13 | 电子科技大学 | 一种基于特征项选择与权重计算的文本分类方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100930799B1 (ko) * | 2007-09-17 | 2009-12-09 | 한국전자통신연구원 | 자동화된 클러스터링 방법 및 이를 이용한 이동통신환경에서 다중 경로의 클러스터링 방법 및 장치 |
-
2013
- 2013-03-05 CN CN201310068725.XA patent/CN103136355B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763404A (zh) * | 2009-12-10 | 2010-06-30 | 陕西鼎泰科技发展有限责任公司 | 基于模糊聚类的网络文本数据检测方法 |
CN102214306A (zh) * | 2011-06-16 | 2011-10-12 | 中国农业大学 | 叶片病斑识别方法及装置 |
CN102930063A (zh) * | 2012-12-05 | 2013-02-13 | 电子科技大学 | 一种基于特征项选择与权重计算的文本分类方法 |
Non-Patent Citations (3)
Title |
---|
Novel Clustering Algorithms Based on Improved Artificial Fish Swarm Algorithm;Yongming Cheng等;《Fuzzy Systems and Knowledge Discovery,2009,FSKD"09.Sixth International Conference on》;20090816;全文 * |
一种改进的人工鱼群算法;张严等;《计算机系统应用》;20110515;第20卷(第5期);全文 * |
基于人工鱼群算法的聚类挖掘;苏锦旗等;《计算机仿真》;20090215;第26卷(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103136355A (zh) | 2013-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103136355B (zh) | 一种基于自动阈值鱼群算法的文本聚类方法 | |
CN110674407A (zh) | 基于图卷积神经网络的混合推荐方法 | |
Mok et al. | A robust adaptive clustering analysis method for automatic identification of clusters | |
CN102364498B (zh) | 一种基于多标签的图像识别方法 | |
CN104199857B (zh) | 一种基于多标签分类的税务文档层次分类方法 | |
CN106611052A (zh) | 文本标签的确定方法及装置 | |
CN104050242A (zh) | 基于最大信息系数的特征选择、分类方法及其装置 | |
CN109117872A (zh) | 一种基于自动最优聚类算法的用户用电行为分析方法 | |
CN109582782A (zh) | 一种基于用弱监督深度学习的文本聚类方法 | |
CN109242002A (zh) | 高维数据分类方法、装置及终端设备 | |
CN101697167B (zh) | 基于聚类-决策树的玉米良种选育方法 | |
CN107291895B (zh) | 一种快速的层次化文档查询方法 | |
CN109726749A (zh) | 一种基于多属性决策的最优聚类算法选择方法和装置 | |
CN102231151A (zh) | 一种农业领域本体自适应学习建模方法 | |
CN109657147A (zh) | 基于萤火虫和加权极限学习机的微博异常用户检测方法 | |
CN108664653A (zh) | 一种基于K-means的医疗消费客户自动分类方法 | |
CN103778206A (zh) | 一种网络服务资源的提供方法 | |
Du | Automatic text classification algorithm based on Gauss improved convolutional neural network | |
CN109739984A (zh) | 一种基于Hadoop平台的改进并行KNN网络舆情分类算法 | |
Zaw et al. | Web document clustering by using PSO-based cuckoo search clustering algorithm | |
Li et al. | A novel rough fuzzy clustering algorithm with a new similarity measurement | |
CN104714977B (zh) | 一种实体与知识库项的关联方法及装置 | |
CN105160598A (zh) | 一种基于改进em算法的电网业务分类方法 | |
Ahmed et al. | An initialization method for the K-means algorithm using RNN and coupling degree | |
CN104778480A (zh) | 一种基于局部密度和测地距离的分层谱聚类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160106 Termination date: 20200305 |
|
CF01 | Termination of patent right due to non-payment of annual fee |