用机器学习实现情感分析

 
更多文章欢迎来我的小博客

教程链接:https://www.bilibili.com/video/av19178430/?spm_id_from=333.23.home_video_list.1

知识

  1. 情感分析两种方法:

    • 基于词典的方法:先对句子进行分词,然后统计个个词汇的个数,最后在情感字典中查找这些单词对应的情感值,然后可以计算出总体的情感。

    • 机器学习的方法:输入大量句子以及这些句子的情感标签,就可以训练一个句子情感分类器,预测新的句子的情感。

    • 机器学习方法的优点:机器学习对情感分析会更为精准,深度神经网络可以很好的分辨出一些反讽语气的句子,这些句子的情感不是通过简单的表面词汇分析可以理解的。

  2. 前馈过程接受固定大小的输入,比如二进制数;递归网络可以接受序列数据,比如文本。

  3. 使用AWS(亚马逊云服务)让你的代码在云端上更快更方便的运行。

实例

这里的实例用到的库是tflearn,tflearn是一个深度学习库,他基于TensorFlow,并且提供了更高级的API,可以很好的帮助初学者入门深度学习。

from __future__ import division, print_function, absolute_import

import tflearn
from tflearn.data_utils import to_categorical, pad_sequences
from tflearn.datasets import imdb        # Internet Movie Database

数据导入

  • pkl:字节流形式数据,更容易转换为其他python对象

  • 取10000单词,10%的的数据作为验证集

train, test, _ = imdb.load_data(path='imdb.pkl',  
                                n_words=10000,     
                                valid_portion=0.1) 
  • 将数据划分为评论集和标签集

trainX, trainY = train
testX, testY = test

数据处理

  • 不能直接将文本数据中的字符串输入神经网络,必须先进行向量化,

  • 神经网络作为一种算法,本质上还是对矩阵进行运算,

  • 因此,将它们转换为数值或向量表示是必要的。

  • pad_sequences的作用是把输入转换为矩阵的形式,并且对矩阵进行扩充。

  • 矩阵的扩充是为了保持输入维数的一致性。

  • 下面的参数标明了输入的数列会扩充到100的长度,扩充的部分数值为0。

trainX = pad_sequences(trainX, maxlen=100, value=0.)
testX = pad_sequences(testX, maxlen=100, value=0.)
  • 4
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值