论文解读:《Linguistically Motivated Parallel Data Augmentation for Code-switch Language Model》

强颜欢笑 提交于 2020-03-05 19:45:28

《语言驱动的用于语码转换语言模型的并行数据增强》

论文地址:Linguistically Motivated Parallel Data Augmentation for Code-switch Language Model

摘要

  • Code-Switch language modeling 语码转换语言模型面临两大挑战
    • data scarcity 数据不足
    • 包含两种语言的扩展词词汇表expanded vocabulary
  • 本文提出的计算方法
    • 使用 Matrix Language Frame theory 生成 人工语码转换数据 synthetic code-switch data
      • 缓解了数据不足问题(data scarcity)
    • 使用 增强的并行数据augmented parallel data 补充 真实的语码转换数据real code-switch data
    • 使用人工数据synthetic data预训练语言模型
  • 效果
    • 实际语码转换数据减少2.5倍的情况下,预训练语言模型的性能与vanilla models相当。
    • 使用人工语码转换数据 synthetic code-switch data 预训练,使用真实的语码转换数据real code-switch data 进行微调,得到的基于RNN的语言模型的困惑度perplexity 明显比只用真实的语码转换数据训练的模型
    • 困惑度perplexity 的降低会转化为WER(词错误率,Word Error Rate) 降低

1. Introduction

  • Code-switching语码转换

    Wiki:语码转换指说话者在同一段对话或句子里使用两种以上的语言或方言

    • 多语者,一个句子里或不同不同句子间使用两种及以上语言,如新加坡、香港等地。
    • 语码转换给语言建模带来挑战
      • 由于 data scarcity 数据不足以及包含两种语言的扩展词词汇表expanded vocabulary ,语码转换的语言模型法与单语模型匹配
    • 重要性
      • 下游任务:语音识别ASR,机器翻译都依赖语言模型,因此语码转换语言模型是极具挑战性的当务之急
    • 存在的问题
      • 语码转换数据稀缺。语码转换出现频次低,要学习这种稀疏的语码转换模式,需要更多的语码转换数据,但是现实中很少可用数据,因为语码转换主要是以口语形式存在,并且很难记录足够的语码转换数据来进行语码转换语言模型建模
    • 语码转换现有的解决方法
      • 使用语言信息归纳单词词典。将类别(class)[4,5,6,7]、词性(Part-of-Speech)[8,9]或语言ID(language ID)[5]单词输入结合在一起,以提高语言模型对未知测试序列的泛化能力。
      • [10,11,12]中使用语码转换权限约束(permission constraints) 为语言模型提供语码转换概率。
      • 上述方法在不同的方面起作用,然而,训练数据资源不足,我们期待有更多可用的训练数据以获得进一步提升。本文希望生成人工数据以直接解决数据不足问题
    • 合成语码转换数据现有方法
      • 相关工作[13]中使用等价约束理论Equivalence Constraint theory [14, 15]生成英语和西班牙语的合成语码转换数据
      • [16,17]使用词嵌入Word embedding生成二元语法bigrams
      • 但是,关于语码转换句法(syntactic)结构的语言学研究仍然是一个活跃的研究领域,并且对语码转换语篇本质的理论还没有达成共识
    • 解释语码转换形成的三种主导理论:
      • Matrix Language Frame (MLF) theory [18], 主体语言框架理论,(本文采用MLF)
        • 观点:语码转换句子包括一个主导语言(matrix language)和插入语言(嵌入语言embedded language),插入的部分可以是单词也可以是更大的结构,且符合主体语言的语法框架。
        • 选择MLF的原因是据作者所知,还没有人使用MLF生成用于语码转换语言模型建模的人工数据。
        • 作者在东南亚国家学习英语和汉语的语码转换,这是一个比英语和西班牙语等其他常见的语言对更遥远的语言对。作者认为MLF在现实中很好地描述了该语言。
      • Equivalence Constraint theory [14, 15]等价约束理论
      • Functional Head Constraint theory [19, 20]. 功能头约束理论
  • Language model fine-tuning 语言模型微调[21]

    • 语言模型通过微调以用于下游任务,就像计算机视觉里ImageNet预训练的情况一样。
    • 作者并没有严格遵循提出的方法,如使用斜三角学习率和增加新的特定任务层
    • 作者的动机是提出一个好的初始先验,这样后面的任务就能使用很少的数据得到提高
    • 这种预训练和微调技术还有快速收敛的优点

2. Synthetic Data Generation 人工数据合成

  • aligned parallel data 对齐并行数据

    • MLF中的插入假设促进了aligned parallel data 对齐并行数据的使用

    • 单词级对齐。不考虑语法边界,随处可插,这与MLF相违背。如:本应一起转换的"this is"被分开单独转换。

    • 短语级对齐。使用基于短语的对齐给语码转换点强加一些约束。

  • 2.1 基于短语的对齐

    • 不同于机器翻译中的短语对齐,机器翻译中的短语对齐对源句子到目标句子的翻译概率进行优化。

    • 本文关注的是口语中更可能一起出现的词组

    • 在短语提取阶段,我们想提取那些不违反对齐规则的口头短语。如“human imagination”可以,但“library of human”不可以,因为在汉语主体中,违反了对齐规则。

    • 可以使用像Moses[22]这样的统计机器学习系统进行短语对齐短语提取

    • 生成的短语表还会包含一些长的、不常见的短语,应将其剔除。

    • 嵌入语言应该很,像“library of human imagination”不应归为一组。

    • 简单的频率阈值不能捕获大部分我们认为的口头短语

      • 低频率阈值会得到包含有效语码转换点的长短语。应该把他们转成更小的短语。

      • 高频率阈值会忽略一些出现的少但有效的口头短语。

      • 平衡:使用fr低绝对概率阈值过滤极端情况

      • w:短语,P:包含w的短语集合

      • 使用短语长度l和相对频率fr从短语表中提取口头短语。

      • 用提取出来的口头短语单词对齐生成人工语码转化数据

  • 2.2 基于语码转换概率的采样 Sampling based on code-switch propbability

    • 问题
      • 使用基于短语的对齐规则可以详尽的生成人工语码转换文本所有可能的组合。最后生成的语料库(corpus)会很大,原始的一元模型unigram分布会倾斜
      • 随着句子长度和对齐点的增加,语码转换组合呈指数增长,因此某些单词的原始分布会比其他单词大很多
      • 倾斜的一元分布会在数据中引入偏差,用这种数据进行训练会最终影响语言模型。
    • 方法:
      • 使用采样方法:给每个对齐的单词或短语对分配语码转换概率Pcs,在语言模型训练的过程中动态生成合成的句子。在每一次训练的迭代中,按照汉语文本的句法结构生成句子,根据Pcs进行语码转换,插入英语单词或短语,反之亦然。
      • 在迭代次数足够的情况下,该模型能够观察到所有的语码转换组合,包括原始的单一语言句子。此外,单词或短语的单字母计数将随迭代次数成比例地增加。
  • 2.3 Adaptation适应

    • 正如[23]指出的,任何语言模型都很难进行域外评估。我们不仅无法获得大量真实语码转换数据,也无法在目标域中获得大量并行数据。
    • 为此,我们实现了一个自适应阶段,以减轻预训练模型对测试数据的域不匹配影响,并在最后的训练步骤中提出了带有域内单语数据的模型
    • 通过这种方式,在对语码转换数据进行微调后,其困惑度的改善主要是因为观察了真实的语码转换数据,而不是因为观察了域内数据。

3. 实验

  • 3.1 语料库

    • SEAME (South East Asia Mandarin-English)语料库可用于自发的对话语音[24],是在随意的对话和访谈的环境下录制的。SEAME语料库附带文本转录。

      • SEAME语料库分为单语语料库SEAME Monolingual语码转换语料库****,语码转换语料库又以几乎相同的比例分成Train、Dev、Test**,如上表所示。
      • SEAME的单语句子用于第2.3节中描述的适应阶段
      • 预处理步骤中,消除犹豫(暂停?)hesitation副语言标记paralinguistic marker标点符号punctuation,并使用斯坦福中文分词器Standford Chinese segmenter[28]对中文文本进行了分词[28]。
      • SEAME Train,后来被称为Train,是真实语码转换的唯一来源,并用它微调预训练的模型
    • 平行语料库使用OpenSubtitle [25] and TedTalk[26],因为它们大多是自发语音,据说具有高质量的句子对齐效果,最重要的是有大量可用。

      • 在上图中称为Parallel,使用第2节提到的方法,生成人工语码转换语料库(称为Synthetic)
    • 使用**GIZA++**进行对齐

    • 数据库的组成概述如下:

      • 词汇覆盖率Vocabulary coverage是指整个SEAME语料库的词汇在平行语料库中所占的百分比,中文为100%,英文为92%。
      • 转换点分数Switch Point Fraction(SPF)是一个句子里语码转换点与单词边界数量的比率。平均SPFs描述不同的SEAME子集。
      • 第3节和第4节中介绍的所有后续语言模型都使用69K的标准词汇表,包括来自平行语料库和Train的词汇表。
  • 3.2 模型

    • 所有的实验都使用了一个标准的基于LSTM的语言模型[29,30],因为本文的主要目标是解决数据的稀缺性,我们相信模型架构也会在此方法的基础上得到改进。

    • 该语言模型由2个有300个隐藏单元的LSTM层组成,层与层之间的drop-out率为0.3[31]。wt是LSTM模型的输入。

    • LSTM模型输出的yt+1通过softmax对总词汇量V进行归一化,得到预测词的分布pi。最后,损失函数是交叉熵cross-entropy,Yi是正确预测的one-hot标签。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!