本文结构:
四个问题
CS224d-Day 11:
Recursive neural networks -- for different tasks (e.g. sentiment analysis)
四个问题
这次课主要讲了标准的 Recursive neural networks 模型及其扩展模型在3个问题上的应用和效果,最后的 Tree LSTM 简单地介绍了模型和效果。
这3个问题分别是 Paraphrase detection,Relation classification,Sentiment Analysis。
每个模型都可以应用到任意一个问题上,只不过效果不同,有些模型对一些问题表现会更优一些。
为了解决这个问题,需要思考:
所以用 similar matrix 来表示相似度。
如下图,左边是两个句子,树结构中分别有7个部分和5个部分,右边是由similar matrix到最后结果的过程。
similar matrix 由5行7列组成,颜色深浅表示两个树结构相应部分间的相似度大小。
所以需要引用一个 pooling 层,它可以将输入的 similar matrix 映射成维度一致的矩阵,然后再投入到 RNN 中。
最后的效果:
尤其是 very + good 这种,very 此时只是一个加强 good 的作用
普通的 RNN 中,每个节点都是由向量表示的,在这个 Matrix-Vector RNN 中,每个节点除了向量外自带一个矩阵,在由 left 和 right child 生成 parent 的时候,对彼此作用各自的矩阵后,再去生成 parent。
最后的效果:
下图中,横轴是 1-10 星号的电影,纵轴是 not annoying 这样的词出现在相应级别中的比例。
在 not annoying ,not awesome 这两个例子中,绿色的 RNN 没有蓝色的 MV-RNN 表现得好,因为 not annoying 出现在低星级的次数不应该比出现在高星级电影中的次数多。
最后的效果:
对于这个问题,用了不同的模型和feature来看效果。
在 SVM 用了好多feature,最后的效果是 82.2
POS:part of speech
wordnet 大量人工生成的数据
prefix 等其他形态学的特征
dependency parse feature 不同类型的parser
textrunner 百万的网上数据
Google n-gram 几十亿个 n-gram
单纯用神经网络模型,数据量没那么大的时候,效果不到80%
加入了 POS,WordNet,NER 数据后,变成了 82.4,优于SVM。
数据越多的话,效果越好。
解决方案,一个是更好的数据,一个是更好的模型
更好的数据:
人工标注 11,855 个句子的 215,154 个短语,每个短语由不同的人标注 3 次。
下图是标注结果的可视化,横轴是短语的长度,纵轴是各个情感类别的比例。
最后的效果:
可以发现,用新的 tree bank 的模型效果要比原来的好,肯定否定情感分类越准。
更好的模型:
RNTN(Recursive Neural Tensor Network)
这个模型可以让 word 之间有更多的 interaction,‘very good’的词向量的转置和矩阵 V 再和词向量本身作用。
最后的效果:
RNTN 作用在新的 Tree Bank 上效果可以高达 85.4.
Tree LSTMs 和普通的 LSTMs 的不同之处在于 Tree LSTMs 是从 tree 的结构中进行LSTMs 的建模。
parent 的 hidden层是其 children 的 hidden 层的和,每一个 forget unit 是根据具体的某个节点来计算的,计算最终 cell 时要把所有 forget units 和对应的 cells 相乘并求和,其他部分和普通LSTMs计算方法一样。
最后的效果:
Day 1. 深度学习与自然语言处理 主要概念一览
Day 2. TensorFlow 入门
Day 3. word2vec 模型思想和代码实现
Day 4. 怎样做情感分析
Day 5. CS224d-Day 5: RNN快速入门
Day 6. 一文学会用 Tensorflow 搭建神经网络
Day 7. 用深度神经网络处理NER命名实体识别问题
Day 8. 用 RNN 训练语言模型生成文本
Day 9. RNN与机器翻译
Day 10. 用 Recursive Neural Networks 得到分析树
Day 11. RNN的高级应用