如何对大量文本进行聚类?
可在线运行的notebook示例:在kaggle网站搜索 Kmeans GPU 查看
首先需要导入豆瓣电影评论数据:(请注意该 csv 文件在kaggle网站可下载)
接着安装文本转向量的包和向量降维的包:
接着在程序中导入依赖包:(除了上面说的包之外还有:批训练聚类包、计算轮廓系数的包)
接着我们定义读取数据文件和数据清洗的函数:(请注意xlsx文件只能处理100w条数据,若还需要处理更大量的数据,需要考虑更改保存数据的格式为csv)
接着定义文本转向量的函数,其中还包含了向量降维的模块,降维是为了降低计算开销:
然后我们将采用批训练的Kmeans模型进行聚类,但Kmeans需要人为设定初始K值,为此我们能采用轮廓系数计算理论上的最佳K值,该指导性的K值有利于我们调整K值范围:
最后,我们终于可以对文本进行聚类,定义聚类函数如下:
调用以上函数:
完成聚类后,查看聚类结果: