视频地址:https://www.bilibili.com/video/av27083004/?p=4
对于长句子,RNN就显得力不从心,LSTM应运而生
LSTM记忆的时间比RNN更长
第二步中的两步结果取XOR异或
案例:
1、下一个字母是什么
2、下一个单词是什么
3、下一句话是什么
4、下一个图片/音符是什么
第二个问题:文本分类
filter是随机设置再自学习的
把文字变成图片
每个词是一个向量,然后filter,pooling最后feed进model里训练
CNN和RNN
RNN是假设是:我们室一个个词地去看文本,然后组成句子理解
CNN的假设:我们看文本时是以图片的形式引入眼帘的,所以它可以把有语病的句子也可以分得很好
所以RNN主要用于生成模型,而CNN更多的是分类模型,因为RNN并不允许这种语病的存在
CNN的两个参数:边界处理和step
FastText
中心思想:用word的周边词来预测这个word的label(类别)
fasttext相对word2vec的改进
改进1:由Bag of Words改进为N-Gram。保存了句子前后的关系
改进2:kernel trick,将向量从低纬(如4纬)扩展到高维度(比如100维),这样两个词细微的similarity也会被发现,可以类比放大镜,放大了就看得更清楚了。但fasttext没有用它,因为本身向量就很长了,没有扩展的必要。fasttext用的是hash trick,将高维降到了低纬,但因为hash本身存在冲突的可能性,所以又用+1/-1解决冲突,随机取正负,只是降低,并没有彻底解决。
改进3:softmax改成层次softmax,这个在新版本的word2vec已经用了