【cs224n-15】Constituency Parsing and Tree Recursive Neural Networks

本文探讨了递归神经网络(RNNs)在处理具有嵌套层次结构和递归结构的自然语言任务,如成分句法分析中的优势。递归神经网络与循环神经网络不同,能更好地捕捉句子的结构。文章介绍了Matrix-Vector Recursive Neural Network、Recursive Neural Tensor Network(RNTN)和TreeLSTM,并讨论了如何通过改进模型来提高语义表示的质量。成分句法分析是将句子分解为子短语的过程,有助于理解和生成语法正确的句子。递归神经网络在这一领域的应用展示了它们在自然语言处理中的潜力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   本文讨论一种新的类型的模型:递归神经网络(RNNs),区别于循环神经网络(RNN)的是,前者是后者的一个超集。

递归神经网络

    递归神经网络(左图):需要树形结构

    循环神经网络(右图):不能捕捉没有前缀背景的短语,最后的向量经常捕捉最后的词的太多信息

 

      递归神经网络非常适合具有嵌套层次结构和内在递归结构的设置。思考一个句子 “A small crowd quietly enters the historical church” 首先将句子分成名词短语、动词短语 “A small crowd” 和 “quietly enters the historical church”。在动词短语中又有一个名词短语,动词短语 “quietly enters” 和 “historical church”,这就是递归的一个例子。

     语言的句法规则是高度递归的,因此RNN模型可以充分利用这种递归结构。用RNNs建模的另一个好处是可以输入任意长度的句子,不论输入句子的长度如何,都能转换成相等规模的句子进行输出(树形结构的特点)。

RNNs的输入与输出

       输入:两个子节点的语义表示

       输出:1)两个节点合并时的语义表示;2)新节点的合理程度得分

 基于树的递归结果计算

  • 需要计算所有结点的导数和
  • 在每个节点拆分计算导数
  • 总的误差等于父节点和节点本身的误差之后

讨论:简单TreeRNN

  • 单层TreeRNN可以取得不错的效果
  • 单权重矩阵TreeRNN可以捕捉一些现象,但不适用于更复杂、更高阶的组成和长句子的解析
  • 输入词之间没有真正的交互作用
  • 所有句法类别、标点符号等的组成功能是相同的

Syntactically Untied SU-RNN

   上面介绍的简单的TreeRNN是 W 共用一个的情况,这样会有一个问题:由于words存在不同词性,会产生不同的组合方式,比如“副词+形容词”、“动词+名词”等。不同方式的组合理应使用不同的 W ,所以针对每一种组合方式设置了相应的的 W。

一个想法是“从语法上解开”不同任务的权重。从理论上说,某一类输入的最优W与另一类输入的最优W不是完全相关的,所以使用的W应该是不一样的。这会增加要学习的权重矩阵,但能得到模型性能的较大提升。

模型的主要区别是初始化了标识符的W,默认做法是对进来的两个单词向量求平均。模型会知道哪个向量更重要,以及向量的任何旋转或缩放都可以提高性能。从下图可知,经过训练的权重矩阵能学到实际含义,如DT-NP规则或限定词后跟名词词组(如“the cat” 或 “a man”)与限定词相比更强调名词词组。

但是这样又产生了一个新问题,由于存在多种不同此词性的组合方式,就会产生很多不同的 W ,太多的参数会降低模型训练的速度。

这篇文章Parsing with Compositional Vector Grammars - Socher et al. 给出了一些解决方法。比如,去掉一些不太可能出现的组合方式;或者只考虑可能性最大的几种组合方式。

Matrix-Vector Recursive Neural Network & Recursive Neural Tensor Network

SU-RNN确实比标准的递归网络模型表现更好,但它的表现力还不够。考虑修改单词,比如副词“very”,副词的字面意思是“用于强调”。这时就需要一种方法能体现出这种word的意义。

在每个word开始训练时,为其增加一个参数,如下图,通过这种方式,训练的结果一般能使“ operator”达到目的。

针对这种情况,还有一些更复杂的操作:RNTNs

Recursive Neural Tensor Network

  • 参数比MV-RNN少
  • 允许两个单词或短语矢量相乘地交互

Improving Deep Learning Semantic Representations using a TreeLSTM

  • 仍然试图用(高维、连续的)向量空间中的一个位置来表示句子的意义
  • 准确地处理语义组成和句子意义
  • 将广泛使用的链结构LSTM推广到树

将顺序LSTM一般化为具有任意分支因子的树

成分句法分析

     前面的笔记中介绍过依存关系分析,即通过在单词及其依赖项之间建立二进制非对称关系,显示哪个单词依赖于哪个单词。现在关注成分句法分析,将单词变成嵌套形式。

    成分句法分析是将一段文本(例如一个句子)分成子短语的一种方法 (也称为“短语结构分析”) 其目标之一是识别文本中的成分,这些成分在文本信息提取时非常有用。通过分析句子成分,可以生成语法正确的相似句子。
成分

     在句法分析中,成分可以是一个单词或短语,作为层次结构中的一个单元。短语是由两个或以上的单词组成的序列,围绕头部词汇项,在句子中作为一个单元。作为短语的一组词应该在句子中发挥特定的作用。此外,该组词可以整体移动或替换,句子依旧保持流利和语法正确。

例如,下面的句子包含名词短语:“wonderful CS224N”。

    I want to be enrolled in the wonderful CS224N !
    可以把整个短语移到前面来重写这个句子,如下所示。
    The wonderful CS224N I want to be enrolled in !
    或者这个短语可以替换成一个功能和意义相似的组成部分,比如"great CS course in Stanford about NLP and Deep Learning"
    I want to be enrolled in the great CS course in Stanford about NLP
    and Deep Learning !

   对于成分分析,基本子句结构被理解为主语(名词短语NP)和谓语(动词短语VP)的二元划分。对于句子中的每个元素,树结构中都有一个或多个节点。

    S -> NP VP

事实上,解析过程说明了某些类似的规则。从句子符号S开始推导,依次应用短语结构规则,最后用替换规则代替抽象符号的实际单词。根据提取规则可以生成相似的句子。如果规则正确,那么以这种方式产生的任何句子都应该在语法上正确。然而,生成的句子在语法上可能是正确的,但在语义上可能是无意义的,比如:Colorless green ideas sleep furiously

成分解析树

在自然语言中各个成分很可能彼此嵌套在一起。因此,短语的自然表示形式是树。通常使用成分解析树来显示解析过程。树中的非终端被标记为短语的类型(如名词短语),终端是句子中的准确单词。以John hit the ball为例,句法结构如下图所示。

解析树从表示整个句子的根S开始,到表示句子中的每个单词的每个叶子节点结束。使用以下缩写:

    S代表句子,最高级的结构。
    NP代表名词短语,包括句子的主语和宾语。
    VP代表动词短语,用作谓语。
    V代表动词。
    D代表限定词,如定冠词the
    N代表名词
 

参考:http://web.stanford.edu/class/cs224n/slides/cs224n-2020-lecture18-TreeRNNs.pdf

          http://web.stanford.edu/class/cs224n/readings/cs224n-2019-notes09-RecursiveNN_constituencyparsing.pdf

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值