为什么CNN用于NLP?

发布时间:2019-01-17 作者:jason

看法一:

当我们谈论NLP建模时,我们应该小心。特别地,像RNN这样的序列模型最初被应用于NLP作为改进的语言模型,在给定其上下文的情况下提供可能性。RNN非常适合这种情况,因此我们在处理每个新令牌时都会保持上下文状态的概念。您可以看到这将如何推广到其他令牌级模型,如词性标注。

现在,当我们将这些方法用于对整个句子或文档的单个数量进行建模时,您会发现在序列末尾的单词在影响模型方面的权重通常不成比例。CNN没有这个问题。

CNN用于句子/文档建模的一些直觉是,可以构建一个组合结构,最初代表一个小的局部性,并结合更大的句法结构,类似于语法分析。虽然语法分析(特别是选区语法)之间的“相关性”有点波动,但它基于CNN通常能够将一些“本地”信息传递给更大的结构,最后传递到全局状态的基础。

看法二:

文本还具有局部空间相关性。彼此相邻的词语带有关于邻居的信号。因此,如果你看到“希拉里”这个词,你就知道下面这个词很有可能成为“克林顿”。同样,可以认为文本中的语义单位是短语。

此外,从语法上讲,一个形容词可能后面跟着另一个形容词或名词,一篇文章也可能跟着一个名词。同样适用于所有其他POS标签。

那你为什么要把CNN用于NLP问题呢?很好地模拟这些类型的关系,也因为它们比LSTM更快更容易训练。特别是如果你正在进行分类问题,我认为CNN绝对值得一试,尤其是如果你想要速度的话。作为一个起点,我建议你看看Denny Britz的架构,在那里他通过word2vec嵌入传递卷积。


息息.AI生活.更简单 xixi生活

©2016-2018 成都轻雨科技有限公司 Made in chengdu

蜀ICP备 17039669号-1

更多ai生活 请关注息息公众号