您当前的位置:首页 > 站长资讯 > 搜索优化

python分析QQ聊天记录,可视化情绪动态

来源: http://www.baidu.com/ 发布者: guiying 时间:2022-07-23 22:47:26 关注:
#!/usr/bin/env python3.6
# -*- coding: utf-8 -*-
'''
导出聊天记录,我用的是qq国际版,可以直接导出好友聊天记录,我会把它传给我github中。
安装必要的库:
pip install snownlp
pip install matplotlib
pip install textr
ank4zh
pip install numpy
情绪分析函数说明:0代表负面情绪,比如生气这样的词,1代表快乐,比如开心这样的词
'''
fromsnownlpimportSnowNLP
importmatplotlib.pyplotasplt
fromtextrank4zhimportTextRank4Keyword,TextRank4Sentence
importnumpyasnp
importre
importos

# 记得把导出的文件放在这个目录,这里的text.txt是我提取的聊天记录
text=open('text.txt','r',encoding='utf-8').read()

# 定义一个函数来提取聊天记录中对方发送的文本,写入新文件
deffind_text(text):
# 这里把ZLOE改成对方的昵称
	txts=re.findall('ZLOE\\
(.*?)\\
',text)
	fortxtintxts:
		open('find.txt','a').write(txt)

# 定义聊天关键词提取,并通过matplotlib可视化
defguan_jian():
txt=open('find.txt','r').read()
tr4w=TextRank4Keyword()
tr4w.analyze(text=txt,lower=True,window=2)
x=[item.wordforitemintr4w.get_keywords(20,word_min_len=1)]
y=[item.weightforitemintr4w.get_keywords(20,word_min_len=1)]
plt.figure('关键词')
plt.bar(x,y,color='black')
plt.title(';关键词分析图')
plt.show()
# 情绪分析可视化定义函数
deflove_to():
txt=open('find.txt','r').read()
s=SnowNLP(txt)
number=[SnowNLP(a).sentimentsforains.sentences]
x=[xforxinrange(len(number))]
y=number
print(';平均值:%s'%np.mean(number))
y2=len(number)*[0.5]
# 曲线拟合
z1=np.polyfit(x,y,3)
p1=np.poly1d(z1)
yvals=p1(x)
print(p1)
# 绘图
plt.plot(x,y,'b',label='情绪值')
plt.plot(x,y2,'k',label='参考线')
plt.plot(x,yvals,'y',label=';拟合曲线')
plt.xlabel('时间')
plt.ylabel(';情绪指数')
plt.title(';聊天记录分析;')
plt.legend(loc=1)
plt.show()

if__name__=='__main__':
	# 调用提取对方聊天信息的函数,并写入新文件
	find_text(text)
# 调用关键字可视化函数
	guan_jian()
# 调用情绪分析可视化函数
	love_to()
# 删除临时文件,避免干扰
	os.remove('find.txt')

github地址:msterzhang/qqliaotian

紫光QQ低价批发 - 购买QQ号网站 小号购买网站 买QQ小号的平台 QQ批发网站
Copyright © 2017 紫光qq号批发商城  豫ICP备16023924号-5点击收藏小提示:按键盘CTRL+D也能收藏哦!