一种基于词嵌入与密度峰值策略的大数据文本聚类算法
2017-03-23田晓艳
田晓艳
摘 要:提出一种基于词嵌入与密度峰值策略的文本聚类算法,并将其应用于大数据网络文本数据中。通过对文本数据进行预处理转化为词嵌入表示的实数向量,并进一步采用密度峰值聚类算法实现文本聚类。实验表明该方法在准确率、召回率以及F值等指标上均优于传统文本聚类算法。
关键词:词嵌入;密度峰值;大数据文本;聚类算法
1 密度峰值聚类算法
密度峰值聚类算法的主要思想是认为聚类中心是密度大的数据点,它周围围绕着比自身密度小的数据点。同时,聚类中心与其它的高密度数据点之间的距离较大。假设μi为目标空间中的任意数据点,算法为其初始化两个参数。一个参数为数据点密度ρi,另一个参数是该数据点到其它高密度数据点的距离δi,则聚类中心就是ρi与δi都大的数据点μi,对于其它的数据点则根据相同的规则分配到其它的距离最近的类簇中。
1.1 数据点密度与距离的计算方法
任意数据点μi的密度计算公式如公式(1)所示, 它表示数据点μi周围某截断距离内的点的个数。
1.2 聚类中心的选择策略
对于数据点集S中的任意数据点都可以通过公式(1)与公式(2)计算数据点的密度与距离,以密度为横坐标,距离为纵坐标可以得到聚类选择的决策图,从决策图上可以直观的选择出密度与距离都大的点作为聚类中心。
2 基于词嵌入的文本聚类算法
为了更好的将该算法应用到文本聚类中,采用词嵌入表示文作为文本的初始化方法。词嵌入(Word embedding)是一种表示自然语言的特征学习方法。文本语料中的单词或者短语甚至是语句都可以映射为低维实数向量。词嵌入有效的改善了One-hot Representation的词汇鸿沟现象(词汇之间是孤立的,没有语义关联)。利用神经网络训练词嵌入表示的典型工作是由Bengio等人[1]提出的。Collobert等人[2]系统的提出了词嵌入的训练方法,并利用其模型同时解决了词性标注、命名实体识别以及语义识别等自然语言处理任务。word2vec是2013年Google提供的开源词嵌入工具,通过该工具获得的词嵌入可以直接用于聚类分析。因此本文实现的文本聚类算法采用word2vec工具进行词嵌入的预训练。在文本聚类算法实现过程中,首先将目标语料利用word2vec工具训练为实数向量来表示每一个数据点,通过计算词嵌入之间的相似性来表示数据点的密度与距离,实现文本聚类。基于词嵌入与密度峰值策略的文本聚类算法基本流程如下。首先,利用word2vec工具對语料进行预处理,将文本数据转变为实数向量;利用余弦相似度计算数据点之间的相似度;根据数据点之间的相似度计算数据点的密度以及距离;根据决策图选择聚类中心。
3 实验结果及分析
本文实验包括对基于词嵌入的密度峰值聚类算法性能与DBSCAN聚类算法对比测试,以及对文本聚类效果的比较分析。实验语料采用搜狗试验室的标注文档(http://www.sogou.com/labs/dl/c.html)。包含财经、计算机、健康等9个分类的网络文本数据,每个分类都包含约2000条的新闻数据。在实验前的数据预处理中,将每一类新闻的数据随机提取出来,重新构造S-500与S-1500两个数据集,分别包括500与1500条新闻数据。
3.1 实验设置
本文选择准确率(Precision)、召回率(Recall)以及F值(F-Measure)作为算法评价指标。准确率可以反映出算法对语料内容分类的能力;召回率能够判断算法分类与人工分类的相似程度高低;F值是准确率与召回率的综合指标,取值在0~1之间,值越高说明算法性能越好。DBSCAN算法通过多次实验来确定参数,将eps值设置为0.68;minPts值设为14.32。
3.2 实验结果与分析
实验结果如表1所示,本文算法的准确率、召回率与F值等指标均优于DBSAN算法。这是因为本文算法通过密度与距离共同判断聚类中心,并非只依靠密度这个单一特征来判断,因此与DBSCAN相比能够更加准确的区分出不同的类簇。并且,本文算法需要考察的是数据点之间的距离(文本相似性),与数据的输入顺序无关,因此可以更快速的划分类簇。
4 结束语
本文在研究了词嵌入技术与密度峰值聚类算法的基础上提出了一种基于词嵌入的密度峰值大数据文本聚类算法。该算法结合了词嵌入能够表示语义特征与密度峰值聚类算法能够快速准确划分类簇的优点,对当前大数据环境中的海量文本数据进行高效挖掘。通过实验表明,本文算法对于较大数据量的文本依然能够快速准确的进行聚类,与传统方法相比鲁棒性更强。在下一步研究中,将深度学习技术与本文聚类算法相结合,以获取更加有效的语义分类方法。
参考文献
[1]Bengio Y, Ducharme R, jean, et al. A neural probabilistic language model[J]. Journal of Machine Learning Research,2006,3(6):1137-1155.
[2]Collobert R, Weston J, Bottou L, et al. Natural Language Processing (Almost) from Scratch[J]. Journal of Machine Learning Research,2011,12(1):2493-2537.