LDA情感打分 python

本来玩这些都是满足自己的爱好,然而嘛,,同学突然建议我写一些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~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值