前言
上一篇文章已经把常用的文本聚类分类方法向大家介绍了一遍,其实那些都真的是挺常用的了,我还看到了有文章用LSTM来做的,我也尝试了一遍,在编码问题上搞不定('utf-8' codec can't decode byte 0xb7 in position 0: invalid start byte),遂放弃,等以后有机会再行研究。
然后这一篇文章则是介绍一下文本聚类。文本聚类的意思其实就是将一大堆语料以某种特征为标准进行归类,而同一类的内容都是有相同的主题的,找主题是文本聚类的重要目的。一般会应用在评论分析当中。
文本聚类常用的聚类方法有K-means,hclust等(可以看),而今天则操作一个比较复杂的LDA文本主题模型。
1.载入包
library(Rwordseg)#分词处理工具
library(tm)#文本整理工具,创建矩阵
library(tmcn)
library(lda)#LDA模型包
library(LDAvis)#LDA可视化
library(topicmodels)
这篇文章当中终于介绍到了功能也很强大的Rwordseg包,个人觉得,这个包分词的速度挺快的,优势在于支持词典的插入,尤其是搜狗的词典,同时还支持分词格式的选择,在这里可以将长文本分成tm包支持的格式,方便词条矩阵的生成。但是在文本的处理上,它貌似不够jiebaR全面,因此在这里还导入了tm包做文本的处理。
其实用jiebaR也行,只是我想借机介绍一下Rwordseg包而已。这个包好像更新的比较慢,有点老,而且安装需要java环境,挺麻烦的。。。
而tm包其实也有文本处理的功能,很强大,尤其是对于英语文本,一下子就处理完成了,值得大家去学习探究。
2.载入数据
evaluaton
str(evaluaton)
#读入停用词
stop_words
介绍一下数据,文本是一个长文本,没有分行,但可能太长系统自动帮我分成了两行。所以在某些意义上来说,今天处理的文本和前面文章处理的文本都不一样,但是在处理上都是差不多的。
*然后我偶然间又看到了另外一种导入方法,tm包自带了文档的读入,