简单的文本挖掘-用于QQ聊天记录(R)
平时的交流很多都在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)相关推荐
- QQ 聊天记录简单数据分析
手机里的聊天记录一直没删,有的群的消息已经几万条了,所以做一下简单的数据分析. 提取数据 Android 的 QQ 聊天记录比较容易导出,这里说一下 iOS 未越狱的,将 iOS 用 iTunes 备 ...
- R语言编程实现批量化处理非结构化的QQ聊天记录(优化版)
昨日天朗气清,惠风和畅,突然跟群友聊天,说到QQ群聊天记录的事,正好手边有时间,立刻导出QQ的群消息聊天记录,打算分析一下,然并卵--腾讯对QQ聊天记录不知道是按啥规则保存,反正就是标准的非格式化数据 ...
- python正则将qq聊天记录转换为html
目录 一.需求 二.知识要点 三.全部代码 四.使用方法 五.转换效果 六.参考资料 一.需求 提取qq聊天记录中的所有图片并保存在指定的文件夹,并将聊天记录转换为html. 二.知识要点 大文件的流 ...
- 用Python把QQ聊天记录文件转成WORD并排版
和女票在一起五年了,保留了几年的QQ聊天记录,偶然翻到,感觉很温暖,就想把这些文字做成一本属于我们的书,应该会很有纪念意义.然而qq备份的聊天记录是txt格式,网上找了半天也没有合适的排版工具,上百页 ...
- QQ聊天记录快速备份 v0.9
QQ聊天记录快速备份 v0.9收藏 本程序由爱页工作室(www.ayeah.net)使用C#在VS2008上开发 目前发布第一版v0.9 有以下功能: 1.输入QQ号码提取所有聊天记录为TXT文件(包 ...
- 仅用四行代码就可以挖掘你的QQ聊天记录
大家好,我上次写的一篇博文是--QQ聊天记录分析,地址为:http://blog.csdn.net/wzgl__wh/article/details/69055369 今天来分享一个更简单的方法.那 ...
- Python将我与王心凌的QQ聊天记录,生成词云(情人节的后续)
在这个情人节前夕,我把现任对象回收掉了,这段感情积攒了太多的失望,也给了我太多的伤害,所以我看到这个活动的第一反应是拒绝的.然而人生嘛,最重要的就是体验,沉浸在过去的回忆里没有意义,积极面对才能让自己 ...
- 如何保存QQ聊天记录
1.直接保存文件夹(推荐)找到你的QQ安装目录,这个应该都没啥问题吧,然后可以看到在目录里有一个以你的QQ号命名的文件夹,对,就是它.在你想重装系统或重安装别的版本QQ前,把这个文件夹复制到一个安全的 ...
- pyecharts qq聊天记录数据可视化
数据说明 1.本次数据来源于qq群聊天记录 2.一共3123条数据,可以直接用qq导出聊天记录 3.使用到的库有pyecharts jieba 发言排行 index_id name count 1 闰 ...
最新文章
- python使用fpdf创建pdf并写入hello world
- Day2_and_Day3 文件操作
- Java编译那些事儿【转】
- NFS服务器主配置文件名,NFS服务器的搭建与配置
- gbdt子采样参数的理解
- 《云计算:概念、技术与架构》一1.1 本书目标
- CCNA配置试验之七 PPP中PAP和CHAP的验证
- java字符串颠倒位置_java字符串第一个字符与最后一个字符颠倒位置测试
- 构建属于你自己的dapr服务发现
- 梦幻群侠传5帮派修炼_梦幻西游:2020年十大更新回顾 法连不秒空和连续战斗修复...
- Java程序设计实验2
- 8.1.CentOS7安装Spark安装部署及standalone模式介绍
- 《给情绪多点时间》读后感4000字
- java语言的正确描述_在Java语言中,下面描述正确的是()。
- 社会新现象:“蜗婚”离婚不分家
- 30天搞定Java--day6
- mysql默认字符核对_【sql查询与优化】5.使用字符串
- JavaScript中数组的几种写法
- 如何在注册表中删除用户帐户信息。
- 机器学习深版11:HMM模型
热门文章
- 闲谈IPv6-一起玩转IPv6地址自动配置
- 银联最新公布 又有几家的app都被拉黑了
- 口袋西游150服务器维护,口袋西游版本更新披露 幽冥界场景首曝
- win8文件操作以及音视频的应用
- virtio-balloon 前后端源代码简单分析
- 一个简单的GNS3拓扑结构(两台虚拟PC)
- 多模态机器学习基础、应用及预训练模型介绍
- 论文翻译:2021_Low-Delay Speech Enhancement Using Perceptually Motivated Target and Loss
- Motivated Word(6)
- NokiaS60系列的jes-lcdui1@异常的分析