课程主页:https://web.stanford.edu/class/archive/cs/cs224n/cs224n.1194/

视频地址:https://www.bilibili.com/video/av46216519?from=search&seid=13229282510647565239

这里回顾CS224N Lecture 18的课程内容,这一讲主要介绍了Tree Recursive Neural Networks以及constituency parsing。

备注:图片均来自课程课件。

语言的语义解释–不只是词向量

人们通过较小元素的语义组成来解释较大文本单元(实体,描述性术语,事实,论据,故事)的含义。

语言是递归的吗

  • 在认知上有些争议(会产生长度无限的语言)
  • 但是:递归对于描述语言是很自然的
    • [The person standing next to [the man from [the company that purchased [the firm that you used to work at]]]]
  • 这是语言结构非常强大的先决条件

例如解析树就是递归结构:

将短语映射到向量空间

句子的含义(向量)由如下两个部分构成:

  • 词语的含义
  • 结合它们的规则

(Tree)递归神经网络用于结构预测

输入:两个候选孩子节点的向量表示

输出:

  • 两个节点合并后的语义表示。
  • 新节点的可信度得分。

计算公式如下:

(Tree)递归神经网络解析(贪婪法)

对相邻节点计算分数和向量,然后选择分数最高的部分作为新的节点,过程如下:

关于结构反向传播(BTS)

和传统的反向传播类似,见课件29至34。

简单的TreeRNN

  • 单矩阵TreeRNN的结果不错
  • 单个权重矩阵TreeRNN可以捕获某些现象,但不足以用于更复杂,更高阶的组合和解析长句子
  • 输入的单词之间没有真正的互动
  • 所有语法类别,标点符号等的合成功能均相同

Syntactically-Untied RNN(SURNN)

  • 符号无上下文语法(CFG)主干足以满足基本的语法结构
  • 我们使用子节点的句法类别来选择合成矩阵
  • TreeRNN在不同的句法环境下使用不同的合成矩阵可以做得更好
  • 结果为我们提供了更好的语义

Matrix-Vector Recursive Neural Networks(MVRNN)

对每个短语(单词)用一个向量以及一个矩阵描述,公式如下:

Recursive Neural Tensor Network(RNTN)

计算公式如下:

其中$V\in \mathbb{R}^{2 d \times 2 d \times d}$

Tree-structured LSTM

将LSTM和树结构结合。