中文情感分析

情感分析在NLP领域中是应用很广泛的技术,一般用深度学习来解决这一类的问题。其实我的理解就是情感分析就是一个分类问题。这里我爬取了京东小米9的用户评论,正面和负面的评价各1000条,爬虫和整体的代码我放在了 GitHub 。然后我把预训练的词向量文件放在了 百度网盘,提取码:rxci。
我们一起来看看数据长得啥样,首先是小米9正面的评价:
pos
然后是小米9负面的评价:
neg
从这些数据印证了一句话,幸福的人都是相似的,不幸的人各有各的不幸。可以看到正类的评价里面基本上都是说小米9外观好看性能好,很容易就找到正类的特征词了。但是我们来看负类的小米9评价,基本上每一条负面评价吐槽的点都不一样,有对客服不满意的,有对小米活动失望的,有对没有优惠不满意的。有的正常看来似乎没有什么不满意,但是还是打了低分。这样的数据我感觉其实对结果是有一定影响的,我们如果想得到效果更好的模型,我们其实可以对数据进行筛选。好了,为了方便,我就直接用这个数据进行训练了。
首先我们逐行读取数据集,分别读取话术和标签。然后读入已经训练好的词向量 sgns.zhihu.bigram,这个训练好的词向量是一个长度为300维的。如下图所示,比如深圳这个词的300维词向量:
词向量
然后同时可以计算两个词的相似度:
相似度
同时也可以找出某一个词的最相似的 n 个词:
相似
从上面的图可以看出,这个词向量训练的是不错的,和烤肉相似的都是一些吃的。然后我们可以用训练集构建词典,代码如下所示:

train_tokens = []
for text in train_texts_orig:# 去掉标点text = re.sub("[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。?、~@#¥%……&*()]+", "",text)# 结巴分词cut = jieba.cut(text)# 结巴分词的输出结果为一个生成器# 把生成器转换为listcut_list = [ i for i in cut ]for i, word in enumerate(cut_list):try:# 将词转换为索引indexcut_list[i] = cn_model.vocab[word].indexexcept KeyError:# 如果词不在字典中,则输出0cut_list[i] = 0train_tokens.append(cut_list)

这里我们定义一下输入token的长度:
长度
我们长度定98就可以覆盖了95%以上的话术长度了。然后不足98的我们在前面补0:
token
然后我们处理好训练集之后,我们可以开始定义网络了,这里我们用双向LSTM加一个输出层,网络结构非常简单,代码如下所示:

model = Sequential()
model.add(Embedding(num_words,embedding_dim,weights=[embedding_matrix],input_length = max_tokens,trainable = False))
model.add(Bidirectional(LSTM(units=64, return_sequences=True)))
model.add(LSTM(units=16, return_sequences=False))
model.add(Dense(1, activation='sigmoid'))
# 我们使用adam以0.001的learning rate进行优化
optimizer = Adam(lr=1e-3)

代码结果如下所示:
结构
然后我们就可以进行模型训练了,训练完成之后,我们需要一个预测的函数:

def predict_sentiment(text):print(text)# 去标点text = re.sub("[\s+\.\!\/_,$%^*(+\"\']+|[+——!,。?、~@#¥%……&*()]+", "",text)# 分词cut = jieba.cut(text)cut_list = [ i for i in cut ]# tokenizefor i, word in enumerate(cut_list):try:cut_list[i] = cn_model.vocab[word].indexif cut_list[i] >= 30000:cut_list[i] = 0except KeyError:cut_list[i] = 0# paddingtokens_pad = pad_sequences([cut_list], maxlen=max_tokens,padding='pre', truncating='pre')# 预测result = model.predict(x=tokens_pad)coef = result[0][0]if coef >= 0.5:print('是一例正面评价','output=%.2f'%coef)else:print('是一例负面评价','output=%.2f'%coef)

这也是讲输入的话术去掉符号之后分词,然后向量化之后进行预测,我们可以看看预测的结果:
负类
正类
总的来说分类效果还是不错的。这就是用双向LSTM进行情感分析的整个流程,希望可以帮助大家理解整个的中文情感分析流程和原理,谢谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20715.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于情感词典进行情感态度分析

情感分析是指挖掘文本表达的观点,识别主体对某客体的评价是褒还是贬,褒贬根据进态度行倾向性研究。文本情感分析可以分为基于机器学习的情感分类方法和基于语义理解的情感分析。基于机器学习进行语义分析的话需要大量的训练集,同时需要人工对…

重新梳理一下我对ChatGPT的认识

不得不承认,信息差是广泛存在的,太多地方都存在信息不对称的情况。在我们研究ChatGPT怎么用,能帮我们做什么事儿的时候,有的人已经在用ChatGPT做项目赚钱了,有的人却还不知道ChatGPT怎么注册,还在四处搜索注…

【失业即将到来?】AI时代会带来失业潮吗?

文章目录 前言一、全面拥抱AIGC二、AI正在取代这类行业总结 前言 兄弟姐妹们啊,AI时代,说抛弃就抛弃,真的要失业了。 一、全面拥抱AIGC 蓝色光标全面暂停外包? 一份文件截图显示,中国知名4A广告公司,蓝色…

一键生成元宇宙 AI又杀疯了

人类十几年的进步水平,AI用几个月就能轻易实现。在展示了超强的文本对话能力和一键生图功能后,AI大模型不打算停下,开始挑战搭建3D空间这一更高难度的动作。 这次,Facebook母公司Meta想当一把主导者。几天前,它的首席…

MiX跨学科知识的一封介绍信,实现群体智能的开源社区Mixlab无界社区

如果有一天,所有在井底的青蛙因为某些缘故被迫送上了地面,这些青蛙有什么选择?背井离乡还是跳回井里?这时候系统说如果你选择了前者,系统会送一个ChatGPT给你,它能告诉你这个世界是什么样的,但是…

最容易和最难被GPT所代替的TOP25职业!程序员居首?

上一篇:腾讯,裁员7000人! OpenAI 研究人员曾发文称「约 80% 美国人的工作将被 AI 影响」。 文章的结论是,至少80%的美国劳动力会受到影响,他们的工作的10%会被GPT所替代。其中甚至有19%的美国劳动力的50%工作会被替代。…

巴比特 | 元宇宙每日必读:美国爆发“数据起义”,好莱坞、文学界、新闻界等集体反抗AI,人工智能公司们准备如何应对?...

摘要:据澎湃新闻报道,美国正在爆发一场“数据起义”,好莱坞、艺术家、作家、社交媒体公司和新闻机构都是反抗者。一切的矛头都指向ChatGPT和Stable Diffusion等生成式人工智能工具,它们被指在未经许可或提供补偿的前提下&#xff…

“我裁了 90% 的技术支持团队,都外包给了 AI”

整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 自 ChatGPT 爆火后,但凡 AI 领域有任何最新进展,人们总会习惯性调侃一句:“人类距离被 AI 取代已经不远了。”说者或许无心,但现在看来,“A…

元宇宙倒在日落黄昏处

来源:青投创新 编辑:Tian "XR赛道整体投入巨大,但回报周期过长是裁员乃至XR赛道不再被资本市场看好的主要原因。 十天前,字节跳动宣布旗下VR厂商PICO将进行人员优化,比例在20%上下,按照整个团队2000人…

决策树分类算法

#CSDN AI写作助手创作测评 目录 ID3算法 1.算法原理 2.代码实现 3.ID3算法的优缺点分析 C4.5算法 1.原理 2.优缺点 心得感受 决策树表示方法是应用最广泛的逻辑方法之一,它从一组无次序、无规则的事例中推理出决策树表示形式的分类规则。在决策树的内部…

selenium学习(二)

第八课–元素定位八种方式 要想操作Web界面上的元素,首先要定位到该元素,Selenium提供了定位元素的API,这些方法都被定义在WebDriver类中,浙西额方法都是以find开头。 方法名称描述可能带来的问题find_element_by_id通过id定位元…

免费ChatGDT插件《 WeTab 新标签页》

1、打开Microsoft Edge,选择右上角的三个点点,选择扩展 2、自动跳出这个小框框,选择管理扩展 3、往下拉、拉到最下边,找到如下图,并点击进去 4、进去之后再左侧搜索框中输入:WeTab 新标签 我这里是以及下载…

基于TF-IDF+Tensorflow+PyQt+孪生神经网络的智能聊天机器人(深度学习)含全部Python工程源码及模型+训练数据集

目录 前言总体设计系统整体结构图系统流程图孪生神经网络结构图 运行环境Python 环境TensorFlow 环境 模块实现1. 数据预处理2. 创建模型并编译3. 模型训练及保存4. 模型应用 系统测试1. 训练准确率2. 测试效果3. 模型生成 工程源代码下载其它资料下载 前言 本项目利用TF-IDF&…

喜羊羊贴吧顶帖软件实战教学

喜羊羊贴吧顶帖软件实战教学#贴吧顶帖#贴吧推广 大家好,欢迎来到百收网SEO这期视频,给大家更新一下百度贴最新的一个顶帖视频教程。首先我们今天用的顶帖软件是我们的喜羊羊173 的一个版本,软件的话在我们的群文件去下载,就是我们…

贴吧发布软件<神奇的>使用教程实战教学

贴吧发布软件<神奇的>使用教程实战教学.百度贴吧全自动发帖软件#贴吧发帖软件 各位同学大家好&#xff0c;欢迎回到百收SEO网络&#xff0c;这节课是我们百度贴软件自动发帖的一个实战教学的一个公开课&#xff0c;发帖软件还是我们用的一个喜羊羊的工具箱&#xff0c;然…

讯飞星火 VS 文心一言:谁是中文大语言模型的TOP1?

在百度发布文心一言一个多月后,科大讯飞也发布了自己的大模型“讯飞星火大模型”。本篇博客就测评一下这两个在中文圈最受好评的大语言模型,顺便辅以ChatGPT为参考。大家一起来看看到底谁是中文大语言模型的TOP1? 目录 体验网址 1、旅游攻略 2、数理逻辑题 3、故事创作…

大学生实践| 微软ATP“师徒制”AI实战项目收获满满!

ChatGPT在极短时间内掀起了一轮AI狂潮&#xff0c;AI数据、AI大模型、AIGC……对我们AI实践项目感兴趣的同学也越来越多&#xff01;微软(亚洲)互联网工程院下属的微软ATP为大学生们提供了丰富的企业级实践项目。 2个月内&#xff01;本期优秀的Chen同学在微软AI工程师团队带领…

1天训完45亿参数大模型!高校计算能力首次比肩科技巨头

衡宇 发自 凹非寺量子位 | 公众号 QbitAI “第一次&#xff0c;高校拥有了和科技巨头一样的计算能力。” 说这句话的人是中国工程院院士、阿里云创始人王坚。 他口中让高校计算能力倍增的&#xff0c;是复旦大学刚刚发布的云上科研智算平台。 名为CFFF&#xff08;Computing fo…

介绍一下IEEE PHM2012数据集

ChatGPT: IEEE PHM2012数据集是一个用于轴承剩余寿命预测的公共数据集&#xff0c;由IEEE联合无损检测协会组织。该数据集是通过对一种在机械系统中广泛使用的轴承进行可控实验得到的。 数据集包含四个通道的振动数据和一个温度信号&#xff0c;每个通道的采样率为20kHz&…

2022年天马杯新闻文本扩充生成赛道冠军方案分享

Z Lab数据实验室成员 HeapOverflow 01 前言 去年又摸了一个比赛&#xff0c;这次基本上是自己主导完成大部分建模和优化工作的了。这次能拿下第一&#xff0c;一方面是比赛参加的人比较少&#xff08;也是因为限制学生参加&#xff09;来卷的大概也就几十个人&#xff0c;另一方…