一、前提
The IMDB Movie Review Dataset
50K movie reviews (text).
Each review is labeled with either "positive"or “negative”.
It is a binary classification problem.(
分类问题)
25K for training and 25K for test.
http://ai.stanford.edu/~amaas/data/sentiment/
http://s3.amazonaws.com/text-datasets/acllmdb.zip
二、Text to Sequence(文本处理)
文本处理的好坏直接影响机器学习的准确率
2.1 Tokenization(分词)
把文本分隔为单词。
一个token(符号)就是一个单词或者字符。
2.2 Build Dictionary(建立一个字典)
可以首先统计词频,去掉低频词,然后让每一个单词对应每一个正整数,有了字典,就可以把每一个单词映射为每一个整数,这样一句话就可以用正整数的列表表示。而这个列表被称为sequences(序列)
2.3 One-Hot Encoding
如果有必要,可以进一步做one-hot encoding,把单词变为one-hot向量。
2.4 Align Sequences(对齐序列)
训练数据没有对齐,每个序列都有不同的长度,在做机器学习的时候,我们把数据存储在矩阵或者张量中,这就需要把序列对齐,每条序列都有相同的长度。
解决方法如下:
三、Word Embedding: Word to Vector(词嵌入:把单词表示成低维向量)
文本处理已经完成,每一个词都用一个正整数来表示。
3.1 One-Hot Encoding(one-hot 编码)
用one-hot向量来表示一个单词。
3.2 Word Embedding(词嵌入)
Embedding往往表示有降维的意思。
d表示词向量的维度,由用户自己决定;
v是字典里单词的数量;
矩阵的乘法结果计作向量Xi,其是一个词向量,维度为d;
P转置矩阵的每一列都是一个词向量。
参数矩阵p是从训练数据中学习到的,所以学习到的词向量会带有感情色彩。
四、Logistic Regression for Binary Classification(用逻辑回归做二分类)
判断电影评论是正面还是负面的。
4.1 Performance on the training and validation sets(训练和验证集的表现)
4.2 Performance on test set(测试集表现)
4.3 Logistic Regression for Sentiment Analysis