由于工作需要,使用了聚类方法在文本语料中挖掘类别信息,下面是一个demo,供大家参考。实验数据由于公司原因不便公开。
实验步骤:
1、 排序去重,经过排序去重后数据从10万条变为3万条。
2、 结巴分词。
3、 特征提取,使用平滑后的tf-idf作为特征,为每个用户问题构建特征向量,采用了scikit-learn 中的类 TfidfVectorizer。
4、 采用了两种聚类方法K-means 。
K-means:算法的优点是收敛速度快,缺点是聚类形状在空间中是凸的。
实验代码:
github代码:https://github.com/xlniu/Text-Clustering
from sklearn.feature_extraction.text import TfidfVectorizer
import jieba
from sklearn.cluster import KMeans
# 输入输出文件
fin = open('user_question.txt', 'r') # 需要聚类的语料,每行一个句子
fout = open('result.txt'<