基于LDA的英汉维文本聚类系统的设计与实现

田亮 吐尔根·依布拉音 艾山·吾买尔 卡哈尔江·阿比的热西提
关键词: 文本聚类; LDA模型; 多语言; 文本特征提取; 相似度聚类; 权重
中图分类号: TN911?34; TP391 ? ? ? ? ? ? ? ? ? ? 文献标识码: A ? ? ? ? ? ? ? ? ? ?文章编号: 1004?373X(2019)03?0122?05
Abstract: Taking the English, Chinese and Uygur large?scale texts clustering as the object, the static text clustering system based on LDA model is implemented according to the characteristics of three languages. It is difficult for the extraction of text feature and selection of clustering algorithm due to the nonstandard texts from network media such as Blog and MicroBlog, and their abroad topic areas. The suitable clustering number [k] is calculated by analyzing the sample texts, and then the LDA algorithm is called to cluster the text as [k]?class, and give the keywords of each class of text. The test results show this system can cluster the English, Chinese and Uygur texts with high similarity into a class, and improve the clustering effect greatly.
Keywords: text clustering; LDA model; multi?language; text feature extraction; similarity clustering; weight0 ?引 ?言
随着科技和互联网的发展,普通民众也越来越倾向于在网络媒体上发声,除了专用的网络平台如微博、微信等,一般新闻网站也会在每篇新闻后开通评论区。这些数据本身有很高的价值,除了商业价值外,也会关系到社会的和谐稳定。中国国内使用最普遍的是汉语文本,但同时存在少数民族聚集区使用其民族传统的语言。新疆有超过一千万维吾尔族同胞使用他们本族语言,也有维吾尔语网页和论坛供维吾尔族同胞交流和传播思想。在国家“一带一路”政策下,新疆的地理位置和语言特色也凸显其重要性,维吾尔语属于阿勒泰语系突厥语族,和中亚许多国家的语言有相似的语言特征。新疆作为中国的一个窗口,既需要与中亚多国保持高效交流,又要保证安全和稳定,如何有效对网络平台进行监管成为亟需解决的问题。针对维吾尔语特点,已经有一些维吾尔语文本算法被提出,文献[1]提出基于词干混合策略的维吾尔语聚类方法,文献[2?3]分别提出维吾尔语的改进后缀树聚类算法以及基于相似度维吾尔语词的聚类方法,文献[4]针对维吾尔语文本聚类提出一种结合GAAC和K?means的方法,但只针对给定的4类少量文本做了实验。
本文根据汉语、维吾尔语及英语的特点,结合LDA模型,由对聚类文本的分析计算出最优的聚类数[k],将其作为LDA模型的参数对文本聚类,再将所得信息综合到一个文本文件上,供用户查看分析。提取的信息可用于商业分析,也可用于观察民情,还能对利用网络别有用心的一些人筑起一道防范墙。1 ?相关工作
文献[5]提出的LDA模型是一个三层的概率模型,所谓三层是指文档集层、文档层和词组层。为了将模型表示清楚,先设文档集为[D],包含[M]篇文档,[M]篇文档可表示为[W1,W2,…,WM],其中[Wm]表示第[m]篇文档。文档集共由[V]个不同的词组组成,任取一篇文档设由[N]个词组组成,表示为[w1,w2,…,wN,]其中,[wn]表示第[n]个词组,如图1所示。图1中[α,β]表示文档集层的环境变量,所有文档共享此变量,分别为[M]维和[K]维向量;[K]是设置的话题数;[θ,φ]表示文档层变量,分别为[M×K]和[K×V]的矩阵;[W,Z]表示文档内词组层变量,[W]就是看到的词组,而[Zm,n]则代表第[m]篇文档中第[n]个词组潜在的主题分配。图1中箭头表示的是依赖关系,可表示成条件概率形式。LDA模型中变量比较多,依赖关系也复杂,所以很多代码都采用Gibbs采样[6]简化算法。
在对文本聚类时,首先需要解决聚类种类[k]值,有些任务中[k]值是很容易确定的,如只从体育板块和科技板块爬取的数据就可以将[k]值确定为2,但要处理从微博等公众媒体上爬取的数据时,[k]值的确定就变得困难而且重要了。如果取值太小,有些类里会出现涉及多个不用领域的文档,如果取值太大,则有些类不能反映一个完整的领域。文献[7]提出利用topic_number_ log [P(wT)]曲线来确定话题数的方法,其中,[w]代表文档集里所有的词,[T]表示给定话题数,当[T]取不同值時,有一个值能使log [P(wT)]最大,Thomas认为这个值就是此文档集应取的话题数。文献[8]提出平均最小距离概念,并指出平均距离越小,结构越稳定。
研究者曾将LDA算法与其他聚类方法相结合,文献[9]提出先用LDA模型产生文本特征,再使用k?means聚类算法对其聚类,文献[10]提出的算法中使用LDA模型产生文本的特征向量,进一步使用层次聚类算法对这些特征聚类。在研究中发现也存在如下弊端:
1) 对于大量文本的聚类算法,时间是必须考虑的因素;
2) 在特征表示上,通过文本属于不同话题簇的概率作为特征的表示方法,通常会存在较高的噪音,这就导致了“纬度灾难”问题[11]。
3) 需要事先设定聚类数,不适用直接从微信、博客上爬取的语料。2 ?系统的设计与实现
实验使用的主要硬件配置为:CPU E5?2690 v4 2.60 GHz,内存500 GB,操作系统为Centos 7.2,编程语言采用Python 3.5,接口使用了Django框架。实验数据由微信平台上爬取,汉语有75 000篇,维吾尔语和英语各有15 000篇文档(均除去预处理后少于5个词的文档)。
2.1 ?系统流程
本系统采用的是服务器?客户端形式,由客户端发送请求,并提交待聚类文本集的下载地址,服务器将文本下载后调用聚类算法模块,聚类完成后将结果写入一个文本文件,并将文件放入客户端可访问的地址,最后通过回调函数告知客户端聚类完成的地址,客户端再将文件下载到本地以供阅读和分析。具体实验流程如图2所示。语言的类型一般会由提交文本的用户给出,如果没有给出则根据文档内容的编码调用语种识别模块来判定。确定语言种类后,根据不同语言做相应的数据预处理,汉语属于孤立语,缺乏词形的变化,对词序有严格的要求;维吾尔语属于黏着语,通常一个词干对应很多后缀来表示不同的意思;英语属于屈折语,一个词缀通常有不同的意思。对于汉语,在聚类前需要进行分词,使用开源工具包jieba实现汉语文本分词,维吾尔语和英语则需要首先将标点符号与单词分开。
2.2 ?系统功能
本系统的主要功能设计如下:
1) 具有文本聚类功能,根据英汉维语言的各自特点实现对其文本的聚类。
2) 通过对文档样本的分析,自动计算出此文档集应聚集几个类别。
3) 提取每一类的关键词,根据TF?IDF权重,给出排序靠前的若干词,通过对关键词的分析来判断这一类文本相关内容。
4) 对于每一篇文档,不仅给出它所属的类别,也给出它属于每个类别的概率。
5) 用户可以根据每一类的中心向量计算类之间的相似度。
2.3 ?实验结果
在确定聚类种类时,使用粗细结合的方法,即第一次找到大致范围,第二次再确定具体数值。以汉语文本聚类来说明,根据文献[4]中提出的方法,先在区间10~400范围内找出较小的值,但不会每个数都计算,而是选用一定的跨度,如汉语文本实验中,在区间50~70中包含最优值,接下来在50~70区间内以增量1的方式找出这批文本的最优值。表1给出聚类种类[k]从10~100的[logP(wT)]取值。最终,得到汉语文本应聚63类,维吾尔语应聚38类而英语聚50类。
所以用较多的时间来计算聚类最优的种类,通过实验可以发现,在LDA模型下,直接生成的话题簇可以代表聚类种类。在表2~表4中罗列了汉语文本、维吾尔语文本及英语文本聚类后,词频最高的前10个词,可以直观地发现,这些词都有紧密的联系,放在一起,就可以作为一类文本的特征词用于检索更进一步的任务。LDA模型能够根据TF?IDF[12]计算出每个词的权重,一篇文档中所有词的权重和为1。利用这些权重值可以将一篇文档特征向量化,再由此向量计算出每一类的中心到各文档中心的平均距离,平均距离小则表示这一类比较紧密,而类之间的距离则反映了类与类之间的相似度。在做汉语文本实验的75 000篇文档中,对应表2的聚类结果,有149篇属于1类,896篇属于2类,1 173篇属于3类,42篇属于4类,502篇属于5类,其余则属于另外58类。采用[α]余弦夹角计算两文本之间的相似度[13],即:表6给出了不同数量文本集在聚类时耗费的时间,从表中可以看出,相同文本数的聚类中,汉语花费的时间远高于维吾尔语和英语。在LDA模型中,算法的迭代时间是和文本数及文本中包含的词成正比的,除此之外,聚类种类[k]值和文本集中所有不同词汇的个数也直接影响每次迭代计算量。本次实验中中文文本平均每篇大小为5.4 KB,略大于维文的4.8 KB,英文则只有1.7 KB,在utf?8编码下,三种语言下每篇文档所含词的总数相差很大。语料来源是人们可以随意发表文章的微信和博客,文档中会出现很多不规范的用语,在停用词表中只能包含极少部分出現频率比较高的符号,大量的符号和错误拼写则作为新的词汇进入到算法中,汉语分词不准确时,也会产生很多没有明显意义的“词”,这些不同词的总个数就是每篇文档向量表示时的维度。
可以看出,随着文本数的增加,三种语言聚类的时间也在增加,但汉语的聚类时间明显长于其他两种语言,表7给出随文本数增加,每种语言文本总词量的变化及不重复词汇数的变化。
3 ?结 ?语
本文针对大量静态文本,实现了一种在时间和效果上得以兼顾,现实可用的文本聚类方法[14]。现有的聚类算法对维度比较低的数据基本上都能有很好的效果,但具体到文本聚类上,由于一般选择的特征维度和文本集的词汇量有关,能达到几万甚至百万级别,会产生很多冗余和噪声,即文本聚类中的“维度灾难”难题。LDA算法通过三层贝叶斯模型得到文档和词分配到各个话题的概率,而不是直接将其分配到某一个话题上,再通过多次迭代的方式使其收敛。实验证明这种方式能够比较好地处理文本特征高维度带来的噪音问题。
参考文献
[1] 刘源,吐尔根·依布拉音,阿力木江·艾沙,等.基于词干的混合策略维吾尔语文本聚类特征选择方法研究[J].计算机应用与软件,2012,29(12):30?32.
LIU Yuan, TURGUN Ibrahim, ALIM Asha, et al. On stem?based feature selection algorithm with mixed policies for Uyghur text clustering [J]. Computer applications and software, 2012, 29(12): 30?32.
[2] 翟献民,田生伟,禹龙,等.面向维吾尔语文本的改进后缀树聚类[J].计算机应用,2012,32(4):1078?1081.
ZHAI Xianmin, TIAN Shengwei, YU Long, et al. Improved suffix tree clustering for Uyghur text [J]. Journal of computer applications, 2012, 32(4): 1078?1081.
[3] 譚勋,吐尔根·依布拉音,艾山·吾买尔,等.基于相似度计算的维吾尔语词聚类[J].新疆大学学报(自然科学版),2012,29(1):104?107.
TAN Xun, TURGUN Ibrahim, AISHAN Wumaier, et al. Uyghur words clustering based on the similarity calculation [J]. Journal of Xinjiang University (natural science edition), 2012, 29(1): 104?107.
[4] 吐尔地·托合提,艾海麦提江·阿布来提,米也塞·艾尼玩,等.一种结合GAAC和K?means的维吾尔文文本聚类算法[J].计算机工程与科学,2013,35(7):149?155.
TURDI Tohti, AHMATJAN Ablat, MUYASSAR Aniwar, et al. Combined algorithm of GAAC and K?means for Uyghur text clustering [J]. Computer engineering and science, 2013, 35(7): 149?155.
[5] BLEI D M, NG A Y, JORDAN M I. Latent dirichlet allocation [J]. The journal of machine learning research, 2003, 3: 993?1022.
[6] 马跃渊,徐勇勇.Gibbs抽样算法及软件设计的初步研究[J].计算机应用与软件,2005(2):124?126.
MA Yueyuan, XU Yongyong. An initial study on the algorithm and the software of Gibbs sampling [J]. Computer applications and software, 2005(2): 124?126.
[7] GRIFFITHS T L, STEYVERS M. Finding scientific topics [C]// Proceedings of 2004 National Academy of Sciences of the Uni?ted States of America. US: NCBI, 2004: 5228.
[8] CAO J, XIA T, LI J, et al. A density?based method for adaptive LDA model selection [J]. Neurocomputing, 2009, 72(7/9): 1775?1781.
[9] 张梦笑,王素格,王智强.基于LDA特征选择的文本聚类[J].电脑开发与应用,2012,25(1):1?5.
ZHANG Mengxiao, WANG Suge, WANG Zhiqiang. A feature selection algorithm based on LDA for texts clustering [J]. Computer development & applications, 2012, 25(1): 1?5.
[10] 王鹏,高铖,陈晓美.基于LDA模型的文本聚类研究[J].情报科学,2015,33(1):63?68.
WANG Peng, GAO Cheng, CHEN Xiaomei. Research on LDA model based on text clustering [J]. Information science, 2015, 33(1): 63?68.
[11] AGGARWAL C C, YU P S. Finding generalized projected clusters in high dimensional spaces [C]// 2002 ACM SIGMOD Record. [S.l.]: ACM, 2000: 70?81.
[12] SALTON G, MCGILL M J. Introduction to modern information retrieval [M]. US: McGraw?Hill, 2004.
[13] 汤秋莲.基于BTM的短文本聚类[D].合肥:安徽大学,2014.
TANG Qiulian. Short text clustering based on BTM [D]. Hefei: Anhui University, 2014.
[14] 彭敏,官宸宇,朱佳晖,等.面向社交媒体文本的话题检测与追踪技术研究综述[J].武汉大学学报(理学版),2016,62(3):197?217.
PENG Min, GUAN Chenyu, ZHU Jiahui, et al. A survey on topic detection and tracking in social media text [J]. Journal of Wuhan University (natural science edition), 2016, 62(3): 197?217.