发明内容
针对上述问题,本发明的目的在于提供一种文本聚类方法,其利用潜在狄利克雷分布(Latent Dirichlet Allocation,LDA)模型对文本进行过滤和分组,然后利用FG-Kmeans算法对过滤和分组后的文本做进一步的聚类处理,很好地解决了文本挖掘中数据的高维和稀疏的特点,而且把分组的概念引入了特征空间,使得特征空间包含的信息更为丰富。
为了解决上述技术问题,本发明提供了一种文本聚类方法,用潜在狄利克雷分布模型对文档集进行文本挖掘,其特征在于,所述文本聚类方法至少包括如下步骤:
在第一文档集D1中对预设了主题数量K的潜在狄利克雷分布算法进行训练,得到参数β和φ,其中,所述第一文档集D1包括N个不重复的特征,分别记为V1…VN,所述K和N均为自然数;
根据参数φ,利用信息熵理论对所述第一文档集D1进行过滤,得到第二文档集D2;
根据参数β,对第二文档集D2进行分组,生成包含分组信息的第三文档集D3;以及
在第三文档集D3上运行FG-Kmeans算法,得到最终聚类的聚类中心集合C以及标记矩阵U。
其中,所述K个主题分别记为Z
1…Z
K,所述第一文档集D
1包括M个文档,分别记为d
1…d
M,所述第一文档集D
1的每个文档d
m(1≤m≤M)由这K个主题Z
k(1≤k≤K)按照一定的比例分布而成,如此通过所述潜在狄利克雷分布算法将所述第一文档集D
1降维成一M×K的主题分布矩阵θ,θ的每一行θ
m(1≤m≤M)表示文档d
m在K个主题下的概率分布,满足约束
其中,M为自然数。
其中,所述文档dm的主题分布θm服从参数为α的狄利克雷分布,即θm~Dirichlet(α),其中,α为超参数,由经验值获得。
其中,所述参数β通过最大期望算法或吉布斯算法获得,所述参数β为一K×N矩阵,矩阵元β
kn(1≤k≤K,1≤n≤N)表示所述第一文档集D
1中第n个特征W
n在第k个主题Z
k下出现的概率,满足约束条件
其中,在利用所述最大期望算法或吉布斯算法求解所述参数β的过程中,还引入另一参数φ,所述参数φ为一K维列向量,所述文档d
m(1≤m≤M)中包含L
m个特征,将所述文档d
m中的特征记为W
m1…W
mLm,则每一个特征W
ml(1≤l≤L
m)具有一个K维列向量φ
ml,φ
ml的向量元φ
mlk(1≤k≤K)表示文档d
m的第l个特征W
ml在主题Z
k下的概率分布且满足约束条件
其中,所述利用信息熵理论对所述第一文档集D1进行过滤包括:
设定留下特征量的百分比P,其中0%<P≤100%;
统计第一文档集D1里每个特征Vn(1≤n≤N)的在每个主题下出现的次数;
计算第一文档集D1里每个特征Vn的信息熵;以及
对每个特征Vn的信息熵进行升序排序,留下前百分比P的特征,生成第二文档集D2,其中,所述第二文档集D2包括NP个特征。
其中,所述过滤的特征为不具有分组价值的特征,其在各个主题下的出现概率均匀。
其中,所述对第二文档集D2进行分组包括,利用参数β将每个特征归入其出现概率最大的主题下,其中,第二文档集D2的第j个特征属于主题Zk的条件为
其中,所述特征为单词或文字。
本发明实施例提供的文本聚类方法,通过利用在第一文档集D1上运行LDA算法留下的模型参数得到参数β和φ,利用参数φ对第一文档集D1里的特征进行过滤得到第二文档集D2,再利用参数β对第二文档集D2进行分组得到第三文档集D3,最后应用FG-Kmeans软子空间聚类算法对包含分组信息的第三文档集D3进行聚类,得到最终聚类的聚类中心集合C以及每个文档隶属于对应的聚类中心的标记矩阵U。基于LDA模型的FG-Kmeans算法相比于传统的矢量空间模型增加了组(即主题)信息,不仅可以很好地应对文本挖掘中数据的高维和稀疏的特点,而且把特征分组的概念引入了特征空间,使得特征空间包含的信息更为丰富。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例提供一种文本聚类方法,其至少包括如下步骤。
S101,在第一文档集D1中对预设了主题数目K的潜在狄利克雷分布(LatentDirichlet Allocation,LDA)算法进行训练,获得参数β和φ。
在本发明的实施例中,所述第一文档集D1包括N个不重复的特征,分别记为V1…VN,所述第一文档集D1包含M个文档,所述M个文档分别记为d1…dM。其中第m(1≤m≤M)个文档dm包含Lm个特征,所述文档dm中的特征分别记为Wm1、Wm2…WmLm,所述文档dm中的特征集合Wm可能出现重复且所有文档dm中的特征都选择自所述第一文档集D1的特征集合V,其中,所述第一文档集D1的特征量N服从泊松分布,所述特征可为单词或文字。LDA模型假设,所述第一文档集D1包括若干个主题,而第一文档集D1中的每一个文档dm都是由这些主题按照一定的比例混合而成,每个主题都是由一些特征按照一定的概率分布形成。基于上面的假设,首先设定所述LDA算法的主题数量K,且所述K个主题分别记为Z1、Z2…ZK。在第一文档集D1上利用该包含K个主题的LDA算法对所述第一文档集D1进行降维,得到一个D×K的主题分布矩阵θ,其中,θ的每一行θm(1≤m≤M)表示文档dm在K个主题下的概率分布,满足约束
请一并参阅图2,图2为本发明实施例提供的潜在狄利克雷分布算法的图模型表示图,在图2中,方框代表循环,循环次数为方框右下角的符号(如Lm和M),图模型当中的圆圈内的符号代表变量(如α、θ、Z、Wml和β),变量之间的依赖关系按图2中的箭头方向给出,如箭头由α指向θ,则代表θ依赖于α,即θ为α的条件概率。在图2中,各个符号α、θ、Z、Wml和β均为LDA算法的参数,其中α是一个超参数,可通过经验值确定它的值,θ为D×K的主题分布矩阵,Z为主题,Wml为文档dm中的特征。所述主题分布θ拥有如下的概率密度函数:
其中α为超参数,通过经验值获得,一般取α1=α2=…=αK。
对于第一文档集D1中的每一个特征Vn:
每一个特征Vn对应的主题Zk(1≤k≤K)服从多项式分布Multinomial(θ)。
每一个特征Vn的选择服从p(Vn|Zk,β)的条件概率,其表示主题取Zk的条件下取得特征Vn的概率,其中β是一个K×N的矩阵,矩阵元βkn(1≤k≤K,1≤n≤N)表示所述第一文档集D1中第n个特征Vn在第k个主题Zk下出现的概率,满足约束条件
LDA假设在人在撰写文档dm时,主要包含以下步骤:
从(K-1)维的Dirichlet(α)分布中抽样得到文档dm的主题概率分布θm;
每一次需要在该文档dm中写上一个特征Wm1(1≤m≤M,1≤l≤Lm)时,在以θm为参数的K维多项分布Multinomial(θm)中抽取一个主题Zk;
再从对应的多项分布Multinomial(β)中抽取特征Wml填入文档中;
重复上述步骤Lm次。
根据LDA的假设,我们可以用图2的图模型中得出每个文档dm的概率密度表示,即在α,β已知的条件下θm,Zk,Wml的联合分布概率密度函数:
为求得文档dm每个特征Wml的概率密度表示,需要对θm,Zk进行积分求和得到特征Wml的边缘概率密度(对Zk的求和是把每一个特征Wml取得每一个主题的概率密度都累加起来,Zk(k∈{1....K}))可得到如下的边缘概率密度公式:
最后求出第一文档集D1的特征Vn的条件概率密度只需要把所有文档当中的p(Wml|α,β)累加即可,如下:
从图2所示的图模型和公式(1)~(4)中,可以看出α,β是整个LDA模型的全局变量。
LDA模型的参数β可以通过最大期望(Expectation-maximization algorithm,EM)算法或吉布斯(Gibbs)抽样算法完成。在求解参数β的过程中会引入另外一个参数φ,所述参数φ为一K维列向量,所述文档dm(1≤m≤M)的每一个特征Wml(1≤l≤Lm)都具有一个K维列向量φml,φml的向量元φmlk(1≤k≤K)表示文档dm的第l个特征Wml在主题Zk下的概率分布且满足约束条件通过所述参数β和φ,就可以对所述第一文档集D1进行下一步的处理。
S102,根据参数φ,利用信息熵理论对所述第一文档集D1进行过滤,生成第二文档集D2。
所述第一文档集D1内包含有N个特征,这N个特征中,存在一些特征(如介词、连接词等),其在每个主题Zk(1≤k≤K)下都出现且出现的概率比较均匀,本身不能体现文档的特点,没有分组的价值,因此可以将其过滤。所述过滤过程包括如下步骤:
首先,预设第一文档集D1中保留的特征的百分比P(0%<P≤100%)。
其次,计算第一文档集D
1里每个特征W
n(1≤n≤N)在每个主题Z
k(1≤k≤K)下出现的次数。具体为,为每一个文档d
m新建一个K×N的矩阵Y
m(1≤m≤M),矩阵元Ymkn表示在文档d
m中,第一文档集中D
1的第n(1≤n≤N)个特征V
n在第k个主题Z
k下出现的次数,其用如下公式计算:
当且仅当文档d
m中的第l个特征W
ml为第一文档集D
1中的第n个特征V
n时,
否则
对所有的M个文档求和,获得第一文档集D
1中的每个特征V
n在每个主题下的出现次数:
再次,计算第一文档集D1里每个特征Vn(1≤n≤N)的信息熵。具体为,定义向量ψ={ψ1,ψ2,...,ψN},其表示在第一文档集D1中第n个特征Vn在K个主题下的信息熵,其中,
最后,对ψn进行升序排序,留下前百分比P的特征,生成第二文档集D2。此时第二文档集D2内包括了NP个特征。同时,每个文档dm的特征数量也转变成NP个,所述文档dm除了保留其原有的未被过滤的特征外,还填充入若干特征属性为0的特征,即将第二文档集D2内出现而文档dm中未出现的特征记为0并填充入所述文档dm的相应位置,分别记填充后的每个文档dm的特征为Gm1Gm2…GmNP。
S103,根据参数β,对第二文档集D2进行分组,生成包含分组信息的第三文档集D3。具体为,对第二文档集D2中的特征进行分组,使得第二文档集D2中的每个特征Vj(1≤j≤NP)只留在一个主题下,对于每个属于第二文档集D2的第j(1≤j≤NP)个特征,其属于第k个主题Zk的条件为:
即该特征在主题Zk出现的概率最高。将第二文档集D2中的每个特征按照如上方法分别归入到相应的主题下,从而生成包含分组(即把每个特征归入对应的主题下)信息的第三文档集D3。所述第三文档集D3包含M个文档,每个文档dm由K个主题按一定概率分布构成,且每个主题Zk均包含在该主题下出现概率最大的若干特征。
S104,在第三文档集D3上运行FG-Kmeans算法,得到最终聚类的聚类中心集合C以及每个文档dm隶属于对应的聚类中心的标记矩阵U。
通过上述步骤,我们得到了包含分组信息的第三文档集D3,对于已经对特征分组后的第三文档集D3,可以用FG-Kmeans算法对其进一步处理。FG-Kmeans是一个软子空间聚类算法,在此算法中,相似的特征被分配到相同的主题当中,与其他软子空间聚类算法不同,权重不仅被分配到每个特征上,还分配到了每个主题上,通过文献(Chen,X.,Ye,Y.,Xu,X.,Huang,J.Z.:A feature groupweighting method for subspace clustering of high-dimensional data.PatternRecognition45(1)(2012))提出的方法对所述第三文档集D3进行处理,处理过程可用如下数学式表达:
满足条件:
其中,U是一个M×T的标记矩阵,其矩阵元u
mt只取0和1两个值,其中u
mt=1表示第m个文档属于第t个聚类中心,相应的,u
mt=0表示第m个文档不属于第t个聚类中心。C={C
1,C
2,...C
T}表示聚类中心集合且
其中,G
m为一NP维向量,其向量元表示文档d
m中特征的属性,如所述特征在所述文档d
m中出现的次数、所述特征的词频(term frequency,TF)或逆向文件频率(inverse document frequency,IDF)。函数distance(G
mg,C
tg)表示文档d
m的第g(1≤g≤NP)个特征G
mg与第t个聚类中心C
t的第g个特征C
tg的距离,所述特征之间的距离可通过欧拉距离度量。H是一个T×NP的权重矩阵,其矩阵元h
tn表示第三文档集D
3的第n(1≤n≤NP)个特征V
n在第t个聚类中心的权重且0<h
tn<1。S是一个T×K的权重矩阵,其矩阵元s
tk表示第k个主题在第t个聚类中心的权重且0<s
tk<1。λ和η为大于0的参数,用以控制权重的分布均匀程度。
表达式(4)的参数可通过文献(Chen,X.,Ye,Y.,Xu,X.,Huang,J.Z.:A featuregroup weighting method for subspace clustering of high-dimensional data.PatternRecognition45(1)(2012)434-446)提出的迭代优化方法可以得到最优解,如此即可得到最终聚类的聚类中心集合C以及每个文档dm隶属于对应的聚类中心Ct的标记矩阵U。
综上所述,本发明实施例提供的文本聚类方法,通过利用在第一文档集D1上运行LDA算法留下的模型参数得到参数β和φ,利用参数φ对第一文档集D1里的特征进行过滤得到第二文档集D2,再利用参数β对第二文档集D2进行分组得到第三文档集D3,最后应用FG-Kmeans软子空间聚类算法对包含分组信息的第三文档集D3进行聚类,得到最终聚类的聚类中心集合C以及每个文档dm隶属于对应的聚类中心Ct的标记矩阵U。基于LDA模型的FG-Kmeans算法相比于传统的矢量空间模型增加了组(即主题)信息,不仅可以很好地应对文本挖掘中数据的高维和稀疏的特点,而且把特征分组的概念引入了特征空间,使得特征空间包含的信息更为丰富。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。