Text clustering demo
csdn博客:https://blog.csdn.net/xiaoleiniu1314/article/details/90208232
由于工作需要,使用了聚类方法在文本语料中挖掘类别信息,下面是一个demo,供大家参考。实验数据由于公司原因不便公开。
1、 排序去重,经过排序去重后数据从10万条变为3万条。
2、 结巴分词。
3、 特征提取,使用平滑后的tf-idf作为特征,为每个用户问题构建特征向量,采用了scikit-learn 中的类 TfidfVectorizer。
4、 采用了两种聚类方法K-means 。
K-means:算法的优点是收敛速度快,缺点是聚类形状在空间中是凸的。
0:积分 804
1:金币 3862
2:如何….. 915
3:祝福、祝愿 552
4:话费 1466
5:较为杂乱,看不出是什么主题 13729
6:流量 3906
7:怎么….. 3009
8:心愿+希望…574
9:套餐 2618
观察了下聚类结果,大概是可接受和可用的,基于聚类语料的性质,名词型的类别较为可信和可用,比如0,1,3,4,6,8,9这七类是比较靠谱的,而2,5,7这三类则较为杂乱,观察之后看不出是什么主题,尤其是第5类,主题不明,而且数据量占到了总数据量的1/3。
造成以上结果的原因是:使用tf-idf作为特征,只考虑了词频,没有考虑语义信息,这一点从聚类结果可以观察出,可以尝试使用word2vec方法来提取特征。