赞
踩
本篇为课程CS224N Lecture5的笔记。课程主页见CS224N Winter2019,b站视频搬运见(2019)斯坦福CS224n深度学习自然语言处理课程 by Chris Manning 。之前的笔记可以参考专栏从零开始NLP学习 。
为什么我们需要了解句子的结构呢?人类通过将单词进行组合得到相对复杂的语言单元来进行表达。语言作为一种信息传递方式,只有理解了句子的结构才能正确地对语言进行解释,才有可能解读出语言真正想要表达的信息。
主流研究句法结构的视角分为两种:
成分结构,也可以称之为词组结构语法(phrase structure grammar),其核心思想是将单词嵌套地组成词组成分,再不断地将小的词组成分合成为更大的语言成分。以下面的句子为例:
其中,
虽然这种结构非常流行,但是这种视角不是本节课的重点。
不同于成分结构,依存结构着重于词法单元之间的依赖关系。以下面的句子为例:
它的依存结构如下:
有的时候同一个句子可能会拥有多个不同的依存结构,导致一个句子的意思可以有多种解释。常见歧义有如下几种:
关于介词词组连接歧义,可以观察如下例子:
类似的,对于连词词组范围歧义,可以通过下面的例子进行理解:
前面提到,依存结构着重于词法单元之间的依赖关系;依存结构句法假设句子结构是由词法单元之间的关系所构成的,这种词法单元之间的关系(dependencies)用单向箭头来进行表示。词与词之间的复杂关系往往能最终形成树形的结构,称为依存树。关系箭头上常常会标明关系的名称。例子如下图所示:
通常,箭头的起始单词被称为头(head),箭头指向的单词被称为尾(dependent)。
正式的说,依存句法分析问题希望得到一个从句子
此外,有两点需要注意:
依存树库是一个经过标注的句子数据集,该数据集为每个句子标注了一个对应的依存句法树。构建一个依存树库(Treebanks)似乎是费力不讨好的,但事实恰恰相反:
已有的依存树库资源:Universal dependencies treebanks
下面的部分将会介绍如何构建一个依存句法分析模型来对句子进行依存句法分析。
依存句法模型的构建需要依赖于一些人类直觉与经验,比如以下几条:
依存句法分析进行的方式是为每个单词(将其视为头节点)找到其对应的尾节点(该分析过程包括了对
此外,构建模型时还需要考虑是否应该允许依存关系相互交叉,例如下图的情况:
此处,关系
依存句法分析的准确率公式如下:
对于带标签的依存关系准确率,该标准既考虑依存关系的头尾以及方向是否正确,又考虑了依存关系相对应的关系种类标签是否正确;对于无标签的依存关系准确率,该标准只考虑依存关系本身是否有误。以句子
而由模型给出的标注如下:
那么
基于状态转移的句法分析模型是基于状态机模型进行构造的。该模型包含了一系列中间状态、起始状态、终止状态以及状态之间的转换。给定句子
分别定义起始状态与终止状态如下:
此外,还需要定义模型的状态转移;该模型有如下三种状态转移方式:
以句子
上述模型以及例子并没有告诉我们状态转移时模型是靠什么来进行决策的;假如我们的模型没有一个合理的决策器来确定每一步的状态转移,那么每个中间状态都有可能有多个可选的后续状态,则该模型是非确定的(nondeterministic)。为了得到一个确定的(deterministic)模型,Nivre以及Scholz提出使用memory-based学习方法得到对应的决策器。这一部分不是本节课的重点,详情可以参考他们于2003年发表的论文[1]。此外,Nivre和Hall[2]于2005年提出使用机器学习方法训练状态转移决策器,训练得到的决策器会对当前状态的下一步进行预测。此方法在当时并非效果最好的方法,但其优势在于相对较快的运行速度(解析耗时为
前面提到的传统模型使用机器学习方法训练得到决策器来决定每一步该如何进行状态转移。尽管这类方法运行较快且效果较好,但是它们仍然存在不足:
Chen和Manning[3]提出地神经依存分析模型较好地解决或者缓解了上述问题。该模型与传统的基于状态转移的模型类似,仅是在状态转移决策器部分存在较大区别。对于稀疏性,神经依存分析模型利用低维稠密的分布式向量对特征进行表示;对于不完整性,神经依存分析模型将单词、词性标签以及依存类别标签的分布式向量表示进行拼接作为神经网络模型的输入,这种方式所包含的信息量更大,也更加准确;对于传统方法特征计算昂贵的问题,神经网络方法表现出了相对更好的效率:相比于传统的方法,神经依存模型的效果更好,同时计算速度更快(这是由于神经依存模型所使用的特征的向量维度一般只有50-300维,相较于机器学习方法动辄百万维的特征表示,计算起来迅速多了)。对比数据如下:
下面将描述神经依存模型的细节。首先是模型的输入。前面提到,神经依存模型利用低维稠密的分布式向量对特征进行表示;此处的特征不仅仅包含字典中单词所对应的向量,也包含了词性标签
对于该中间状态,神经依存模型所需的输入特征如下:
模型后续部分并不复杂,如下图所示:
拼接起来的输入经过一个隐藏层的变换之后通过
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。