赞
踩
本来玩这些都是满足自己的爱好,然而嘛,,同学突然建议我写一些blog,我才突然想到,是哦,现在怎么投简历都是已读不回,索性把自己的项目都搬上来做个博客吧hhh,说不定也能为简历加点分,毕竟宜家揾食艰难哦~
前情提要:有同学找我让我帮忙写一个情感打分的东东,于是嘛我给写出来了,从爬取数据开始写,一直到打分完成。分都打了,那不得来个词语统计?于是就又有了这篇文章。
首先看到打完分的语句
第一行为正向情感,第二行为负向情感。
然后对于语句我们需要先把它拆分成一个个词语。
- from gensim.models.ldamodel import LdaModel
- import jieba
- import re
- import pandas as pd
需要的库。
分词函数:HITSTOP是哈工大停用词库。链接我放在下面了。
链接:https://pan.baidu.com/s/1f2pUhjFLvtA_SDLkR8wXtQ
提取码:2w8y
- def seg_depart(sentence):
- jieba.load_userdict(r'C:\Users\86158\Desktop\作业\大三下\fenci\demo-chinese-vectorization-stop-words-master\HITstop.txt')
- sentence_depart = jieba.cut(sentence.strip())
- stopwords = stopwordslist() # 创建一个停用词列表
- outstr = '' # 输出结果为outstr
- for word in sentence_depart: # 去停用词
- if word not in stopwords:
- if word != '\t':
- outstr += word
- outstr += " "
- return outstr
outstr就是获取的词语了。然后开始读取我们上面的句子。因为是第五列,所以索引为4.
- file_path = r'C:\Users\86158\Desktop\temp.xlsx' # r对路径进行转义,windows需要
- raw_data = pd.read_excel(file_path, header=None, sheet_name='Sheet1') # 不设置表头
- after_fenci=[]
- bullet_screen1=[]
- for i in range(1,160):
- bullet_screen1.append(raw_data.values[i, 4]) # 读取excel第5列的值,并添加到列表
- for i in range(1,159):
- after_fenci.append(seg_depart(bullet_screen1[i]))
- print(after_fenci[3])
- data_set = [] # 建立存储分词的列表
当然,分词完后的结果总是那么不尽如人意,比如会有很多无意义的词语,比如哈哈哈。我们需要放置一个过滤器来筛选掉这些词语。
- useless=['哈','哈哈','哈哈哈','呵呵','哈哈哈哈','哈哈哈哈哈','包邮','上海']
- for i in range(len(after_fenci)):
- result = []
- seg_list = after_fenci[i].split()
- for w in seg_list: # 读取每一行分词
- if w not in useless and len(w)>1:
- result.append(w)
- # 这里加一点过滤
- data_set.append(result)
result就是我们当前真正有用的词语了。
可以看看分完词之后的效果:
还有次数因子:
然后我们要借助
import pyLDAvis.gensim
这个库,他会自动帮我们生成一个网页。
- data = pyLDAvis.gensim.prepare(lda, corpus, dictionary)
- # res=pd.DataFrame(data)
- pyLDAvis.save_html(data,'20230522.html')
就酱就可以了,但是还不够,直接保存的话网页会加载不出来。
我们直接进入生成的网页
- <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/bmabey/pyLDAvis@3.4.0/pyLDAvis/js/ldavis.v1.0.0.css">
-
-
- <div id="ldavis_el84441840285943504200703988" style="background-color:white;"></div>
- <script type="text/javascript">
看到cdn,ctrl+f找到所有的cdn,将其替换成fastly。
- <link rel="stylesheet" type="text/css" href="https://fastly.jsdelivr.net/gh/bmabey/pyLDAvis@3.4.0/pyLDAvis/js/ldavis.v1.0.0.css">
-
-
- <div id="ldavis_el971222126861006243514626282" style="background-color:white;"></div>
- <script type="text/javascript">
这样网页就能正常打开了。
至此,LDA情感打分也完成了。
完整代码请联系本人xinkong1418@163.com~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。