1. Recursive Neural Networks
在这些笔记中,我们介绍并讨论了一种新的模型,它是之前讨论
过的递归神经网络的超集。递归神经网络(RNNs 如右图所示)非
常适合具有嵌套层次结构和内在递归结构的设置。
如果我们思考一个句子,它不是正是有这样的结构吗?以“A
small crowd quietly enters the historical church” 为 例 。 首
先,我们将句子分成名词短语、动词短语、“A small crowd”和
“quietly enters the historical church”。但是有一个名词短语
在 动 词 短 语 中 :“quietly enters” 和 “historical church” , 等
等。这看起来确实很递归。
“语言的语法规则是高度递归的。因此,我们使用一个利用了递
归结构的模型。使用 RNN 建模句子的另一个好处是我们现在可
以输入任意长度的句子,这是一个巨大的头脑在 NLP 使用神经
网络和非常聪明的技巧使句子的输入向量相等尺寸相同,尽管句
子的长度不相等。(see Bengio et al., 2003; Henderson, 2003;
Collobert & Weston, 2008)
假设我们的任务是取一个句子,并将其表示为与单词本身语义空
间相同的向量。所以像“I went to the mall yesterday”、“We
went shopping last week”和“They went to the store”这样
的短语,彼此之间的距离都非常近。
我们已经看到了训练单字向量的方法,我们是否应该对二元组、
三元组等也做同样的事情。这可能非常有效,但这种想法存在两
个主要问题。
1) 单词的组合有无数种可能。存储和训练无限数量的向量将是
荒谬的。
2) 有些单词的组合虽然在语言中完全可以听到,但可能永远不
会出现在我们的 训练 / 开发 语料库中,所以我们永远学不会。
我们需要一种方法来取一个句子及其相应的词向量,并推导出嵌
入向量应该是什么。现在让我们先问一个非常有争议的问题。我
们用来表示所有单词的向量空间,具有足够的表达能力以至于能
够表示任意长度的所有句子,这是天真的想法吗?虽然这可能是
不直观的,但这些模型的性能表明,这实际上是一件合理的事
情。