nlp之文本分类(更新中...)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014665013/article/details/80822317

RCNN

刚看到这个模型的时候你可能回想,就是RNN后面连上CNN呗,话说完之后你自己肯定也会觉得很不负责,我也是,开始以为这就是一个“垃圾”的简单模型,但是还是忍不住找到了paper拿来读一读,读完之后虽然没有大彻大悟,但是感觉这种思想算是吧RNN和CNN融会贯通了,当然这个模型也只是在textCNN基础上用RNN来替代,获取语义上下文罢了。
虽然这个思想很不错,但是在很多分类实践中,效果可能还没有textCNN效果好,笔者的理解是可能你的文本分类本身就相对规则,谈到这里,我再整理下之前的几个模型,从简到繁:

  • 想想为什么fasttext效果会好,笔者认为是因为相对规则的句法,训练一个基于word-bag的词向量,再加一个线性分类器就可以分类了,这里比word-embedding优秀在能把这个词向量不断根据线性分类器调节,让其更加适合线性分类器
  • 那textcnn呢?他的优点又在哪里?当然是CNN里面的滑动窗口的思想啦,就像图像处理里面的pooling一样,这里只不过pooling的是结果单词,其实种方式就是n-gram,说到这里,你应该就能恍然大悟了,这不就是增加了简单的语义信息吗?几个词之间的联系考虑进来了,对的,确实是这样。
  • 最后再说说今天的主角,就是RCNN,它比textcnn的优势是能用RNN获取整个doc的语义信息,然后在用CNN中的pooling的思想来解决,只不过在pooling的时候没有用到像textcnn一样的窗口的思想,paper里说原因是窗口不好选择,所以直接每个维度上进行max_pooling,这样直接吧结果做成了一个vector.
    这里写图片描述

猜你喜欢

转载自blog.csdn.net/u014665013/article/details/80822317
今日推荐