论文阅读之:基于序列列到到序列的中文AMR解析;Chinese AMR Parsing based on Sequence-to-Sequence Modeling

文章目录

  • Abstract
  • Introduction
  • Related Work
    • AMR & Chinese AMR
    • AMR parsing & Chinese AMR Parsing
  • Chinese AMR Parsing
    • Seq2seq
    • Data pre-processing
    • Data post-processing
  • Combining Chinese pretrained models for Chinese AMR parsing
    • Chinese Pretrained models
  • Experiments
    • data & subword processing
    • Experiments settings
    • Analysis
      • Results
      • The effect of different subword strategies

Abstract

  • 本文使用中文 AMR 语料库 CAMR1.0 采用 seq2seq(Transformer)的方法进行中文AMR语义解析
  • 本文中文AMR语义解析方法最优性能达到了70.29的Smatch F1值。本文是第一次在该数据集上报告实验结果。

Introduction

  • Bevilacqua et al. (2021)使用Seq2Seq模型进行AMR语义解析,达到了目前在英语AMR语义解析中的最好结果84.5的F1值。
  • 本文探索了 seq2seq 模型在中文 AMR 语义解析上的应用,同时为了 缓解人工标注数据受限问题,还将探索并比较多种预训练在该问题上的应用
  • 在 CAMR1.0 的实验结果表示:通过 融合中文预训练模型 获取文本的上下文表示, 基于Seq2Seq模型的中文AMR解析可以达到 70.27 的F1值
  • 本文贡献:
    • 探索 seq2seq 模型在中文 AMR 语义解析中的应用,同时尝试了多种 子词化方法 对中文 AMR 语义解析的影响
    • 比较了多种预训练模型在中文 AMR 解析任务的差异
    • 首次在公开的中文AMR数据集CAMR1.0(LDC2019T07)上实验并报告结果

Related Work

AMR & Chinese AMR

  • 常用的语义表示架构有:基本依赖结构(Elementary Dependency Structures,EDS)、普遍概念认知注释(Universal Conceptual Cognitive Annotation,UCCA)、抽象语义表示(Abstract Meaning Representation,AMR)等

  • AMR中图节点和句子的成分之间没有显式的对应关系

  • AMR 特点:

    • 概念节点与句子成分无需一一对应,因此节省了在开始语义注释之前首先构建形态 语法结构 所需的时间(不需要构建语法结构)
    • AMR的标注方法并不直接将句子成分作为节点概念,而是关注句子中对语义起作用的单 词
    • AMR避开了词序和形态句法标记等表面句法结构元素,而这些元素是不同语系及语言表达 差异的主要来源,因此AMR使语义注释框架在不同语言间具有更强的可移植性
  • AMR采用从PropBank中提取的谓词框架词库,CAMR1.0在此基础上加入了Chinese Prop- bank框架(Song et al., 2019a)。Xue et al. (2014)是最早进行中文AMR相关研究的学者

  • 但是将英语AMR标注体系迁移到中文语境并非 易事,汉语具有特有语言现象,如动补结构、量词、重叠词、离合词、省略等,因此对中文 的AMR标注是极其耗费人力和资源的一件事

  • 在AMR标注体系中对仅仅提供了少量抽象 概念(如and, or, contrast.01)和语义关系(如:cause, :condition, :concession, :purpose)用于对复合 句的标注,并通过这些概念和语义关系的组合来表达不同复合句之间的语句关系。但是这对于 复杂的中文而言,这些是远远不够的,因此Li et al. (2019)设置了10个概念来表示句子之间的关 系,使中文AMR标注体系能够更好地适用于复杂地中文语言环境

AMR parsing & Chinese AMR Parsing

  • AMR语义解析的方法大致可以分为以下三种:基于转移的方法(transition-based parsing)、基于图的方法(graph-based parsing)以及基于序列到序列的方法(Seq2Seq-based parsing)。
  • 基于序列到序列的方法,通过去除 AMR 图中的结构信息,将AMR图线性化为AMR序列,使用序列到序列的模型进行AMR语 义解析
  • Barzdins and Gosko (2016)首次利用 seq2seq 模型进行AMR语义解析任务。他们在预处理过程中, 通过复制AMR中共用的概念节点、删除wiki链接和变量,获得的了简化的AMR序列 ,对比原 始AMR图和通过后处理恢复被删除成分的AMR图,发现这种方法获得的简化AMR序列与原始AMR的差别并不大,极大简化了输出序列的长度
  • Ge et al. (2019) 首先使用Transformer 进行AMR语义解析,并在此基础上通过在源端序列中 以一定规则加入句法和语义信息,帮助模型更好的学习句子语义信息
  • Xu et al. (2020)尝试利用 大规模外部语料 获得预训练模型,进一步 提升AMR性能;
  • Bevilacqua et al. (2021)首先使用 encoder-decoder 的预训练模型进行AMR语义解析,将使用不同遍历方法:广度优先遍历(BFS)和深度优先遍历(DFS)获得的序列用于AMR语义 解析中,得出结论使用 DFS获得序列更适用于AMR语义解析 ,并得到了目前在英语AMR语义解析中最优性能84.5的F1值

Chinese AMR Parsing

  • 首先通过数据预处理(data preprocessing) 将AMR图序列 化为易于模型处理的形式。当得到模型输出后,再通过 后处理(post-processing) 来修正输出中的结构化错误、删除重复节点,将模型输出还原为符合标准的AMR图。

Seq2seq

介绍了 transformer 的 encode 和 decoder 以及 transformer的结构

Data pre-processing

  • 借鉴Zhu et al. (2019)和Xu et al. (2020)在英文AMR解析中的预处理方式对中文AMR图进行预处理:
    • 线性化: 删除AMR图中大量的不影响AMR的语义的而只是用于指示共同引用节点的变量,在不改变句子语义的情况下获得线性化的AMR图
    • 删除一些多余的标注和对齐信息: 此外中文AMR图还对源端句子中出现的单词进行了关系对齐,如对于中文句 子“每一个时代,都有其基本的特征。”其中“的”并不属于语义概念的范畴,但在中文AMR图中 同样对这样的词进行了对齐,即对“基本”与“特征”的关系进行标注时也会将“的”与关系标签进行了对齐,但是它并不能提供更多的语义概念,因此我们在数据处理时删除了这些关系对齐。

Data post-processing

  • 模型生成的AMR序列是一个不包含共用节点、wiki变量、但包含冗余和重复信息的线性化AMR序列,需要通过一系列的后处理来恢复AMR图

  • 英文的恢复手段有:

    • 恢复共用节点
    • 恢复 wiki变量
    • 修复模型生成的不完整的概念
  • 中文 AMR 不包含 wiki 链接,因此只需要执行:

    • 恢复共用节点
    • 修复模型生成的不完整的概念
  • van Noord and Bos (2017) 提供的 预处理后处理脚本 的基础上针对中文的特点进行修改,如添加删除中 文AMR中的关系对齐等功能。

Combining Chinese pretrained models for Chinese AMR parsing

  • Xu et al. (2020)在英文数据集中对几种预训练方法进行了尝试,结果发现使用预训练模型获得文本对应的词向量可以获得最好AMR语义解析性能,因此本文也采用相同的方法
  • 如图 3所示,本文获取 预训练模型各层的输出向量,并将他们加权求和后得到的上下文相关表示作为后续编码器的输入。

    论文阅读之:基于序列列到到序列的中文AMR解析;Chinese AMR Parsing based on Sequence-to-Sequence Modeling_第1张图片

Chinese Pretrained models

  • 大多数预训练模型都是以BERT为基础从模型结构(如位置编码方式)、训练策略以及掩 码方式(Mask)这几个角度进行优化衍生而来的
  • 下面我们将 对BERT、NEZHA、XLNet 进行简要介绍和横向对比
  • 表 1中提炼了各个预训练模型改进 之处。最后我们还介绍一个利用额外的中英翻译对模型进行预训练的方法。
    论文阅读之:基于序列列到到序列的中文AMR解析;Chinese AMR Parsing based on Sequence-to-Sequence Modeling_第2张图片

Experiments

data & subword processing

  • 本文使用CAMR1.0 (LDC2019T07)进行实验
  • 我们对 源端和目标端文本 进行子词化处理。我们使用BERT提供的子词化工具 对数据集进行子词化处理。同时我们在后续的实验中也与目前比较常用的BPE工具进行了比较。同时我们 在子词化时,不对目标端中的英文概念和关系标签进行切分。
    论文阅读之:基于序列列到到序列的中文AMR解析;Chinese AMR Parsing based on Sequence-to-Sequence Modeling_第3张图片

Experiments settings

  • 本实验所使用的代码是以OpenNMT-py为基础的Transformer模型。
  • Transformer编码器和解码器的层数皆设置为6层,将多头注意力机制的头数设置为8。
  • 词嵌入向量和隐藏层的 维度都设置为512,前馈神经网络层的维度为2048。实验中还使用了Adam优化器对参数更新进 行优化,其中β1 = 0.9、β2 = 0.98、批次大小为8192个 token
  • 实验中的预 热(Warm up)步数、学习率、丢弃(Dropout)率、标签平滑分别设为16000、2.0、0.3、0.1。
  • 解码过程中,采用束搜索(Beam seach),束的大小设置为5。
  • 模型的选择时,选用在开发集上 性能最好的模型进行测试。AMR解析的评测使用Smatch(Cai and Knight, 2013)及其他细粒度 的评判指标
  • 预训练模型的实验中所采用的模型参数为:nezha-cn-base (NEZHA)、bert-base-chinese (BERT) hfl/chinese-bert-wwm (BERT-wwm)5和hfl/chinese-xlnet-base (XLNet)。
  • 使用Scalar Mix对预训练模型输出进行加权求和时所用的输出层数 K 均设为12层。

Analysis

Results

  • 表 3给出并比较了使不使用预训练模型 以及使用不同预训练模型 在中文AMR语义解析上的性能。
    论文阅读之:基于序列列到到序列的中文AMR解析;Chinese AMR Parsing based on Sequence-to-Sequence Modeling_第4张图片
  • 这充分说明,通过预训 练模型获取的上下文表征可以帮助模型提升中文AMR语义解析的性能。
  • 在模型中融合BERT-wwm 的上 下文表征在中文AMR语义解析任务上的性能最好,最优性能可以达到70.29的F1值。且在Unlabeled、No WSD、Concepts、Named Ent.等细粒度指标的性能都超越了使用其他预 训练模型获得的性能。
  • 图 4中给出了在使用不同预训练模型时Scalar mix在不同层输出上的归一化权重 s s s 的可视化结果:所有四个预训练模型的第一层输出表示的权重都是最大的,均达到了20%以上 其次为前4层和中部7-10层,而最后两层的输出的权重则较小。不同层的表示的重要程度在整体 上体现出了先下降后上升再下降的趋势

The effect of different subword strategies

  • 无论是BPE还是BERT-Tokenizer,都是通过将句子中的低频词切分为更细粒度的子词,从而使模型学习到拥有相同前缀或后缀的词之间的联系

  • 发现对于中文来说该子词化方法并不会像英文一样根据词出现的频率进行切分,而是以字为单位切分中文句子。在本节中我们给出使用不同的子词化方法的中文AMR解析性能, 探究不同的子词化方法对解析效果的影响
    论文阅读之:基于序列列到到序列的中文AMR解析;Chinese AMR Parsing based on Sequence-to-Sequence Modeling_第5张图片

  • 表 4给出了使用不同的子词化方法的词表大小、平均句长和平均未登录词(ovv)占比

  • 使用BERT-Tokenizer对数据进行处理之后,模型的词表大小相较于不进行子词化方法或 是使用BPE进行分词将大大降低,仅为不进行子词化处理的词表的1/4

  • 且未登录词的数量在源 端和目标端分别由7.841%、2.710%下降到0.404%、0.151%。由此可见使用以字为单位的子词化 方法可以更好的减少中文AMR语料中的未登录词的数量缩小源端和目标端词表规模

  • 表 5为不同分词在中文AMR语义解析上的实验结果。相比其他两种方法,使用BERT-Tokenizer进行子词化可以让模型取得更高的P和F1值,并且在所有细粒度指标上都取得最好 的结果,其中在Concepts、Named Ent.和Negations上都提高了1%以上。尤其是在Negations指 标,即对否定的识别语义的上分别比以词为单位和BPE子词化的结果高出了4.22%和4.67%。
    论文阅读之:基于序列列到到序列的中文AMR解析;Chinese AMR Parsing based on Sequence-to-Sequence Modeling_第6张图片

  • 有趣的是较之于不进行子词化处理,BPE方法在否定语义的识别上表现得更差。如我们预想的那 样,使用切分粒度更细的数据进行中文AMR语义解析的性能更好

  • 推断可能的原因为:中文词汇按照构词语素,可以分为单纯词和合成词。单纯词中只包含一个语素,如“仿佛”和“巧克力”,组成他们的字并不单独表意。包含了多个语素的词语称 为合成词,如“统治”和“论文”,他们由多个语素按照一定的规律结合进行表意。合成词在中 文词汇中占有很大的比例,也就是说大部分词可以拆分成多个语素组合的形式

  • 因此将字作为模型输入的基本单位,可以让模型更好得通过对语素的学习来把握词语整体的意思。

  • 同时这也能解释为什么以字为单位进行子词化能够让模型更好地识别否定语义。中文中否定语义主要通过“不”、“非”、“没”等否定语素进行表达。但是在进行分词时,这些否定语素往往会与其他语素进行结合构成合成词,如“不利”、“非法”和“没有”等。这些词又往往在文本 中是作为常见词出现的,在进行BPE时他们将倾向于作为一个整体出现。因此模型难以学习 “不”、“非”、“没”这些否定语素的含义,在面对与否定语素进行构词而表示否定语义的罕见词和未登录词时模型也就显得心有余而力不足了。

你可能感兴趣的:(论文阅读与代码复现,论文阅读)