当前位置:   article > 正文

LDA情感打分 python_lda情感分析python

lda情感分析python

本来玩这些都是满足自己的爱好,然而嘛,,同学突然建议我写一些blog,我才突然想到,是哦,现在怎么投简历都是已读不回,索性把自己的项目都搬上来做个博客吧hhh,说不定也能为简历加点分,毕竟宜家揾食艰难哦~

前情提要:有同学找我让我帮忙写一个情感打分的东东,于是嘛我给写出来了,从爬取数据开始写,一直到打分完成。分都打了,那不得来个词语统计?于是就又有了这篇文章。

首先看到打完分的语句

 

 第一行为正向情感,第二行为负向情感。

然后对于语句我们需要先把它拆分成一个个词语。

  1. from gensim.models.ldamodel import LdaModel
  2. import jieba
  3. import re
  4. import pandas as pd

需要的库。

分词函数:HITSTOP是哈工大停用词库。链接我放在下面了。

链接:https://pan.baidu.com/s/1f2pUhjFLvtA_SDLkR8wXtQ 
提取码:2w8y

  1. def seg_depart(sentence):
  2. jieba.load_userdict(r'C:\Users\86158\Desktop\作业\大三下\fenci\demo-chinese-vectorization-stop-words-master\HITstop.txt')
  3. sentence_depart = jieba.cut(sentence.strip())
  4. stopwords = stopwordslist() # 创建一个停用词列表
  5. outstr = '' # 输出结果为outstr
  6. for word in sentence_depart: # 去停用词
  7. if word not in stopwords:
  8. if word != '\t':
  9. outstr += word
  10. outstr += " "
  11. return outstr

outstr就是获取的词语了。然后开始读取我们上面的句子。因为是第五列,所以索引为4.

  1. file_path = r'C:\Users\86158\Desktop\temp.xlsx' # r对路径进行转义,windows需要
  2. raw_data = pd.read_excel(file_path, header=None, sheet_name='Sheet1') # 不设置表头
  3. after_fenci=[]
  4. bullet_screen1=[]
  5. for i in range(1,160):
  6. bullet_screen1.append(raw_data.values[i, 4]) # 读取excel第5列的值,并添加到列表
  7. for i in range(1,159):
  8. after_fenci.append(seg_depart(bullet_screen1[i]))
  9. print(after_fenci[3])
  10. data_set = [] # 建立存储分词的列表

当然,分词完后的结果总是那么不尽如人意,比如会有很多无意义的词语,比如哈哈哈。我们需要放置一个过滤器来筛选掉这些词语。

  1. useless=['哈','哈哈','哈哈哈','呵呵','哈哈哈哈','哈哈哈哈哈','包邮','上海']
  2. for i in range(len(after_fenci)):
  3. result = []
  4. seg_list = after_fenci[i].split()
  5. for w in seg_list: # 读取每一行分词
  6. if w not in useless and len(w)>1:
  7. result.append(w)
  8. # 这里加一点过滤
  9. data_set.append(result)

result就是我们当前真正有用的词语了。

可以看看分完词之后的效果:

 还有次数因子:

 然后我们要借助

import pyLDAvis.gensim

这个库,他会自动帮我们生成一个网页。

  1. data = pyLDAvis.gensim.prepare(lda, corpus, dictionary)
  2. # res=pd.DataFrame(data)
  3. pyLDAvis.save_html(data,'20230522.html')

 就酱就可以了,但是还不够,直接保存的话网页会加载不出来。

我们直接进入生成的网页

  1. <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/bmabey/pyLDAvis@3.4.0/pyLDAvis/js/ldavis.v1.0.0.css">
  2. <div id="ldavis_el84441840285943504200703988" style="background-color:white;"></div>
  3. <script type="text/javascript">

看到cdn,ctrl+f找到所有的cdn,将其替换成fastly。

  1. <link rel="stylesheet" type="text/css" href="https://fastly.jsdelivr.net/gh/bmabey/pyLDAvis@3.4.0/pyLDAvis/js/ldavis.v1.0.0.css">
  2. <div id="ldavis_el971222126861006243514626282" style="background-color:white;"></div>
  3. <script type="text/javascript">

这样网页就能正常打开了。

 至此,LDA情感打分也完成了。

完整代码请联系本人xinkong1418@163.com~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/724383
推荐阅读
相关标签
  

闽ICP备14008679号