用R语言制作微信聊天记录词云图

2020-06-16 00:00:00 方法 导出 分词 词库 云图

简单警告:这个方法非常适合刚入门R语言的朋友!这个方法非常适合刚入门R语言的朋友!这个方法非常适合刚入门R语言的朋友!

更为详细的教程我放到了Github上面,大家可以下载Readme.rmd,在R当中打开来看详细的实现方法;实现代码也上传到Github上了,大家可以下载wordcloud_wechat.R文件,按照自己的需要进行修改。

投掷连接:用R语言制作微信聊天记录词云图 ,如果对你有帮助,请各位施主给个star哇~

如果只是想用简单的方法做一个词云图,就比较简单啦,但词云图的效果,根据我自己的操作发现,跟输入的词库有很大关系,因为词库当中的短语为长句的分割提供依据,若是词库当中没有某些特定的短语,例如,你家楼下某个杂货店名字叫二狗,而二狗在你的词库当中不存在,并且你也没有手动insertWord,那么就容易被分割成 二/ 狗 两个字。建议先跟着流程做一遍之后,根据生成的效果去调整自己输入的词库等等,那么,开始吧!

-------这是一条分割柴------

1. 下载好所需工具/软件

  • iTunes
  • pp助手
  • sqlcipher.exe 下载地址:sqlcipher.zip
  • Excel
  • R/Rstudio

2. 获取原材料:导出微信聊天记录到Excel

聊天记录导出可以参考这一篇文章:记一次微信聊天文字记录导出到Excel工作 ,文章部分是安卓系统导出微信聊天记录的方法,第二部分是苹果系统导出方法。但在从pp助手导出数据库这一步存在问题,应该导出名称为MM.sqlite的文件,而不是fts_message.db,后者貌似只有一部分群聊的聊天记录。用sqlcipher.exe打开MM.sqlite后,只能先导出txt,这里推介,将导出的.txt通过Excel打开后,另存为成.csv,之后再R当中打开会比较方便。

在Excel中打开.txt另存为.csv

3. 清理数据

清理NaNs等无意义文字记录。

# 导入做词云图所需的包
library(rJava) 
install.packages(Rwordseg)
install.packages(wordcloud2)
# 读入数据
data<-read.csv("Messages.csv",stringsAsFactors = FALSE,header = TRUE)
# Remove NaNs and useless data
comp.data<-as.data.frame(data[complete.cases(data),5],stringsAsFactors = FALSE)
colnames(comp.data)<-"Message"
newdata<-as.data.frame(comp.data[!grepl(pattern ="msg",comp.data$Message),],stringsAsFactors = FALSE)
colnames(newdata)<-"Message"

相关文章