平时的交流很多都在QQ上,QQ交流已经离不开日常的生活,这里我用R来分析QQ聊天记录,看看平时都聊了什么。

首先介绍下用的文本挖掘的包:Rwordseg  一个 R 环境下的中文分词工具,使用 rJava 调用 Java 分词工具 Ansj。

该包需配合rJava包一起使用。详见李舰老师博客:http://jianl.org/

Rwordseg包不能直接install.packages("Rwordseg"),需使用下列代码

install.packages("Rwordseg", repos="http://R-Forge.R-project.org")

如果安装不成功,可以直接下载压缩包,然后安装:

必备包安装好,下面该导出QQ聊天记录了:

这里保存为txt格式

导出的txt,导入R的时候可能会时间很长或者出错,这里用notepad++打开txt,然后转为ANSI编码格式即可。

准备工作做好了,下面开始文本

library(rJava)
library(Rwordseg)
library(RColorBrewer)
library(wordcloud)
myfile<-read.csv(file="D:\\message.txt",header=FALSE) #载入文本数据
myfile[1:15,]
[1] 消息记录(此消息记录为文本格式,不支持重新导入)
[2] ================================================================
[3] 消息分组:高中
[4] ================================================================
[5] 消息对象:梦康
[6] ================================================================
[7] 2016-06-24 15:56:11 梦康
[8] 生日快乐 永远十八岁!
[9] ================================================================
[10] 消息分组:高中
[11] ================================================================
[12] 消息对象:李晨宇
[13] ================================================================
[14] 2016-07-04 20:24:35 李晨宇
[15] [收到好友的PK挑战,请在最新QQ手机版中查看详情]
14116 Levels: - 富有激情和强烈的创新优化意识,责任心抗压力强,能在快节奏环境中工作,能和项目成员进行快速有效的沟通 ...
myfile.res <- myfile[myfile!=" "] #去除 ""
myfile.words <- unlist(lapply(X = myfile.res,FUN = segmentCN)) #分词处理
myfile.words <- gsub(pattern="[a-zA-Z\\/\\.0-9]","",myfile.words)#正则表达式,用于替换
myfile.words <- gsub("\n","",myfile.words)
myfile.words <- gsub(" ","",myfile.words)#空格替换为空
myfile.words <- gsub("\\d","",myfile.words)#去除所有数字
myfile.words<-subset(myfile.words,nchar(as.character(myfile.words))>1) #选取字符大于1的数据集
myfile.freq <- table(unlist(myfile.words))
myfile.freq <- rev(sort(myfile.freq)) #排序从大到小
myfile.freq <- data.frame(myfile.freq)
names(myfile.freq) <- c("words","freq")
myfile.freq[1:15,]  #词频统计数据:
    words freq
1    图片 1664
2    表情 1102
3    夏天  763
4    消息  744
5     com  647
6    数据  572
7    系统  556
8    可以  497
9    三千  465
10   佳丽  464
11   后宫  464
12 绣花针  463
13   铁杵  463
14   加入  396
15     qq  379  
wordcloud(myfile.freq$words,myfile.freq$freq,random.order=FALSE,random.color=FALSE,colors=c(1:20))

换个炫酷的色彩

mycolors <- brewer.pal(8,"Dark2")
windowsFonts(myFont=windowsFont("华文彩云"))
wordcloud(myfile.freq$words,myfile.freq$freq,random.order=FALSE,random.color=FALSE,colors=mycolors,family="myFont")


从词云从明显的可以看到,

1.我的聊天记录出现的图片和表情最多,而且比“消息”这词还多,说明现在聊天“图片”和“表情”很疯狂啊!PS想和我斗图,来试试~
2.怎么会有“qq”和“com”呢,我来查了下聊天记录

1. 这是群里面的一段聊天记录。。。原来会自动加上qq.com,所以“qq”和“com”这两词词频特别高.

2. 这段聊天记录还有“夏天”,

(1)这位童靴...果然很活跃。

(2)另一种可能就是别人的名字都被分词给分了,“夏天”很巧就是个词

3. 从这一段聊天记录就可以明显的发现:群成员都喜欢发图片和表情....PS说出来你可能不信,我的图片、表情都是群里面的。

大家看到这个词云有几个词特别的显眼:“佳丽”、“后宫”、“三千”、“绣花针”

这里!!我要特别说明一下,大家不要误会!

就是这货,认识他感觉好丢人(表情脸)

说明词云来是有些不准的,有些词需要去除,“人名”需要去除,接下来继续做词云。

最终词云,今天娱乐结束。。。

简单的文本挖掘-用于QQ聊天记录(R)相关推荐

  1. QQ 聊天记录简单数据分析

    手机里的聊天记录一直没删,有的群的消息已经几万条了,所以做一下简单的数据分析. 提取数据 Android 的 QQ 聊天记录比较容易导出,这里说一下 iOS 未越狱的,将 iOS 用 iTunes 备 ...

  2. R语言编程实现批量化处理非结构化的QQ聊天记录(优化版)

    昨日天朗气清,惠风和畅,突然跟群友聊天,说到QQ群聊天记录的事,正好手边有时间,立刻导出QQ的群消息聊天记录,打算分析一下,然并卵--腾讯对QQ聊天记录不知道是按啥规则保存,反正就是标准的非格式化数据 ...

  3. python正则将qq聊天记录转换为html

    目录 一.需求 二.知识要点 三.全部代码 四.使用方法 五.转换效果 六.参考资料 一.需求 提取qq聊天记录中的所有图片并保存在指定的文件夹,并将聊天记录转换为html. 二.知识要点 大文件的流 ...

  4. 用Python把QQ聊天记录文件转成WORD并排版

    和女票在一起五年了,保留了几年的QQ聊天记录,偶然翻到,感觉很温暖,就想把这些文字做成一本属于我们的书,应该会很有纪念意义.然而qq备份的聊天记录是txt格式,网上找了半天也没有合适的排版工具,上百页 ...

  5. QQ聊天记录快速备份 v0.9

    QQ聊天记录快速备份 v0.9收藏 本程序由爱页工作室(www.ayeah.net)使用C#在VS2008上开发 目前发布第一版v0.9 有以下功能: 1.输入QQ号码提取所有聊天记录为TXT文件(包 ...

  6. 仅用四行代码就可以挖掘你的QQ聊天记录

    ​大家好,我上次写的一篇博文是--QQ聊天记录分析,地址为:http://blog.csdn.net/wzgl__wh/article/details/69055369 今天来分享一个更简单的方法.那 ...

  7. Python将我与王心凌的QQ聊天记录,生成词云(情人节的后续)

    在这个情人节前夕,我把现任对象回收掉了,这段感情积攒了太多的失望,也给了我太多的伤害,所以我看到这个活动的第一反应是拒绝的.然而人生嘛,最重要的就是体验,沉浸在过去的回忆里没有意义,积极面对才能让自己 ...

  8. 如何保存QQ聊天记录

    1.直接保存文件夹(推荐)找到你的QQ安装目录,这个应该都没啥问题吧,然后可以看到在目录里有一个以你的QQ号命名的文件夹,对,就是它.在你想重装系统或重安装别的版本QQ前,把这个文件夹复制到一个安全的 ...

  9. pyecharts qq聊天记录数据可视化

    数据说明 1.本次数据来源于qq群聊天记录 2.一共3123条数据,可以直接用qq导出聊天记录 3.使用到的库有pyecharts jieba 发言排行 index_id name count 1 闰 ...

最新文章

  1. python使用fpdf创建pdf并写入hello world
  2. Day2_and_Day3 文件操作
  3. Java编译那些事儿【转】
  4. NFS服务器主配置文件名,NFS服务器的搭建与配置
  5. gbdt子采样参数的理解
  6. 《云计算:概念、技术与架构》一1.1 本书目标
  7. CCNA配置试验之七 PPP中PAP和CHAP的验证
  8. java字符串颠倒位置_java字符串第一个字符与最后一个字符颠倒位置测试
  9. 构建属于你自己的dapr服务发现
  10. 梦幻群侠传5帮派修炼_梦幻西游:2020年十大更新回顾 法连不秒空和连续战斗修复...
  11. Java程序设计实验2
  12. 8.1.CentOS7安装Spark安装部署及standalone模式介绍
  13. 《给情绪多点时间》读后感4000字
  14. java语言的正确描述_在Java语言中,下面描述正确的是()。
  15. 社会新现象:“蜗婚”离婚不分家
  16. 30天搞定Java--day6
  17. mysql默认字符核对_【sql查询与优化】5.使用字符串
  18. JavaScript中数组的几种写法
  19. 如何在注册表中删除用户帐户信息。
  20. 机器学习深版11:HMM模型

热门文章

  1. 闲谈IPv6-一起玩转IPv6地址自动配置
  2. 银联最新公布 又有几家的app都被拉黑了
  3. 口袋西游150服务器维护,口袋西游版本更新披露 幽冥界场景首曝
  4. win8文件操作以及音视频的应用
  5. virtio-balloon 前后端源代码简单分析
  6. 一个简单的GNS3拓扑结构(两台虚拟PC)
  7. 多模态机器学习基础、应用及预训练模型介绍
  8. 论文翻译:2021_Low-Delay Speech Enhancement Using Perceptually Motivated Target and Loss
  9. Motivated Word(6)
  10. NokiaS60系列的jes-lcdui1@异常的分析