TXT——文本中的情绪极性
言葉之庭,弦外之音
简介
用RNN对文本的情绪倾向进行预测和分类
用Tensorflow进行中文自然语言处理–情感分析
$$f(‘真好喝’)=1$$
$$f(‘太难喝了’)=0$$
环境搭建
需要的库
numpy
jieba
gensim
tensorflow
matplotlib
1 |
|
语料
中文对话情绪语料
sentiment_XS_test.txt包含11577个手动标记的实例(文中提到的XS_test)。 sentiment_XS_30k.txt包含几乎30k个自动标记的实例(文中提到的XS_30k)。
所有数据均来自人机对话日志,并由Jieba工具进行分词。
如果你使用这个数据集,请参阅第12届计算智能与安全国际会议(CIS2016),论文:卷积神经网络的情感分类:大规模中文会话语料库的实验研究。
说明:数据来自腾讯微博 1。评测数据全集包括 20 个话题,每个话题采集大约1000条微博,共约20000条微博。数据采用xml格式,已经预先切分好句子。每条句子的所有标注信息都包含在元素的属性中。其中opinionated表示是否观点句,polarity表示句子情感倾向。
下载地址: https://pan.baidu.com/s/1psjysSXpKOEb1ciem7DsRw 密码:7hb4
预处理
预训练词向量
使用北京师范大学中文信息处理研究所与中国人民大学 DBIIR 实验室的研究者开源的”chinese-word-vectors” github链接为:
https://github.com/Embedding/Chinese-Word-Vectors
如果你不知道word2vec是什么,推荐以下一篇文章:
https://zhuanlan.zhihu.com/p/26306795
这里使用了”chinese-word-vectors”知乎Word + Ngram的词向量,可以从上面github链接下载,我先加载预训练模型并进行一些简单测试:
1 |
|
1 |
|
词向量模型
在这个词向量模型里,每一个词是一个索引,对应的是一个长度为300的向量,我们今天需要构建的LSTM神经网络模型并不能直接处理汉字文本,需要先进行分次并把词汇转换为词向量,步骤请参考下图,步骤的讲解会跟着代码一步一步来,如果你不知道RNN,GRU,LSTM是什么,我推荐deeplearning.ai的课程,网易公开课有免费中文字幕版,但我还是推荐有习题和练习代码部分的的coursera原版:
1 |
|
1 |
|
1 |
|
设计模型
分类模型建模
1 |
|
准备词嵌入矩阵
1 |
|
1 |
|
模型预测
预测函数
1 |
|
补充:查询分类错误的索引
1 |
|