LSTM Theano sentiment analysis 深度学习 情感分析教程

学习LSTM最好的教程之一莫过是deep learning tutorial

见 http://deeplearning.net/tutorial/lstm.html

这里的Sentiment analysis实际上和 Topic classification有点像

首先学习输入数据格式,把整个流程跑一遍,数据还是非常简单的,是从IDBM上下载的电影评论数据,50000条有标注的数据,正负各一半,5000条无标注的数据,每个电影不超过30个评论(防止某个电影下的表达较多重复)。

实际上电影评分1-10,映射到正(>=7)负(<=4)两类。

训练时,取前5000常见词语,除去50个词语(可以视为“停用词”,实际上并不是“停用词”)

把lstm.py和idbm.py放在一起,同时把下载的idbm.pkl放在同一目录下,运行idbm.py可以读入数据。

(一开始不知道从哪里下了个idbm.pkl竟然只有训练集,没有测试集,从头到尾把代码检查了一遍,折腾了一个晚上加一个上午,检查tokenizer.perl等问题...idbm.pkl大小为31.67M,下载地址

http://www.iro.umontreal.ca/~lisa/deep/data/imdb.pkl)

idbm.pkl数据将每个电影评论使用VSM模型,也就是Libsvm常见的one-hot词袋模型来表达,简单说就是将词语使用标号来表达。

如:

[12, 13, 9, 11, 12, 13, 9, 11, 33, 75, 98, 1484, 10372, 184, 619, 49, 10444, 76236, 425, 256, 5, 33, 75, 35, 1484, 10372, 516, 8, 953, 1118, 665, 29, 24, 45, 2400, 1188, 28, 43, 95, 683, 78, 407, 44, 2, 188, 1428, 275, 16700, 60626, 37, 359, 110, 40, 12, 13, 9, 11, 12, 13, 9, 11, 5, 17672, 41, 18, 148, 3, 41, 1484, 136, 700, 54, 102, 399, 3, 462, 3, 24193, 5, 8917, 194, 1679, 35, 4, 5, 43, 196, 197, 1669, 8, 383, 194, 54, 102, 96, 18, 10, 4, 12, 13, 9, 11, 12, 13, 9, 11, 57, 30, 140, 37, 2, 589, 8, 79, 17, 25, 3, 104, 32, 4, 89, 3, 896, 30, 2678, 47, 6790, 53, 2, 2812, 35, 17, 25, 53, 35981, 5884, 221, 20883, 4, 12, 13, 9, 11, 12, 13, 9, 11, 17, 25, 502, 8, 91, 6, 1483, 3, 16841, 234, 645, 26, 75, 2843, 15, 267, 30, 5938, 5, 6382, 14, 640, 532, 4]
0

表示个电影评论,词语编号12,13, 9翻译过来就是:

was as i that was as i that who any delivers...

0代表为类别标号。

idbm将train set中的10%作为valid set验证数据集.


运行lstm.py既可以跑起来


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值