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

论文地址: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标签。

4. 结果

  • 所有的困惑度都是基于测试集

  • 在下面的实验中,我们针对每种测试场景分类计算两组困惑度,一组是使用合成语码转换数据预训练模型,另一组是使用训练集Train从头开始训练的模型

  • 需要注意的一件事是,预训练的模型已经使用SEAME单语数据进行了调整,以弥补第2.3节的调整阶段中所述的领域差距

  • 基线模型是先使用SEAME单语数据从零开始进行训练,然后再使用训练集Train进行训练,以确保模型之间的唯一区别是合成数据的预训练

  • 表2:不同训练场景下模型的困惑度。用于预训练的合成语料库以转换概率pcs = 0.7进行短语对齐。

  • 模型PreCS2人工合成语料库上进行了预训练,并在训练集Train上进行了微调,其困惑度较表2中的基线模型减少了21%。在困惑度上的显著改善是一个积极的迹象,表明了所提出的人工合成语码转换预训练框架的有效性。

  • 此外,我们还测试了使用原始平行语料库预训练的模型(NoCS),使用SEAME单语进行调整,然后使用Train进行微调,这与我们提出的微调模型的不同之处在于数据增强过程。它的复杂度是223,比基线略差。这说明数据增强是必要的,如果没有数据增强,混合域数据将会损害目标域模型。

  • 此外,未经微调的预训练模型,即PreCS1,仍然可以得到359的困惑度,表明它是一个很好的先验。

  • 预训练模型还有更快收敛的优势。在相同学习率的条件下,一个从零开始训练的模型需要20多个epoch来收敛,而对预训练模型进行微调则需要不超过7个epoch。

  • 4.1 Effect on the Code-switching Word Sequence 对语码转换单词顺序的影响

    • 为了分析说明这些改进来自于语码转换片段,而不是句子的单语片段,我们将紧跟转换点之后的单词的平均困惑度制表,因为这些单词受语码转换造成的数据稀缺影响最大,我们希望改进它们的预测。同时,我们不希望单语段使用合成的语码转换数据进行预训练,所以我们也展示了非转换点之后的单词的困惑度。表3的结果证实了我们的说法。

    • 合成数据预处理改进了单语段,这并不奇怪,因为单语段存在于语码转换上下文中。LSTM模型将根据过去可能包含语码转换词的上下文来预测非语码转换词,从而更好地对语码转换段进行建模,也将改善单语段。

  • 4.2 Effect of Fine-tuning Data Ratio 微调数据比率的影响

    • 作者使用不同比例的训练集对模型进行微调,如表4所示。这模拟了实际情况,在这种情况下,我们可以为训练获得有限数量的域内数据,并为预训练获得更多的平行数据

    • 表4:使用不同比例(λ)的真实语码转换数据微调预训练模型得到的困惑度

    • 使用原始SEAME训练集的40%进行训练就可以获取和用全部训练集训练的模型几乎相同的困惑度。因为我们有更多的训练Train数据,我们可以把困惑度降低到173,这比表2中的基线模型改善了21%。

    • 这个结果支持我们的观点,即生成的合成数据对语码转换语言建模有重要的贡献。此外,合成数据是使用一个小的平行集生成的,并且随着合成数据量的增加,结果有望得到改善。

  • 4.3 Effect of Different Switch Probability 不同转换概率的影响

    • 表5解释了为什么选择pcs = 0.7。在没有适应阶段的情况下,SPF=0.30时得到的困惑度最好,因为它仍然接近于表1中报道的spf=0.23的测试域。有适应阶段之后,与我们预期的相反,SPF值越接近测试域的合成数据表现越好,更高的SPF值表示通过语码转换的语料库可以获得最好的困惑度——359。这可能有助于模型学习更多可能的语码转换组合,而不是使用SPF较低的数据进行训练,而适应阶段(包含域单语数据)将对模型进行微调。

    • 表5:未进行微调的预训练模型中不同pcs和SPF对困惑度的影响。

  • 4.4 Effect of Phrase Based Alignment 基于短语进行对齐的影响

    • 最后,我们提出了使用从短语表中基于短语长度和相对频率提取口头短语基于短语的对齐方式短语长度的影响如表6所示,频率阈值的选取是基于对抽取的短语样本的主观评价。

    • 根据提取的短语对平行语料库进行对齐并生成合成语料库

    • 使用pcs = 0.7是因为它得到的困惑度最好,如表5所示。

    • 根据实验,最好的短语长度是2和3,因为它们能得到相同的困惑度。

    • 基于短语的对齐始终比基于单词的方法更好,这是由于在第2节中讨论的转换口头短语的影响。

    • 长短语的SPF值较低,这有效地阻止了某些看似合理的语码转换组合。然而,长短语的负面影响并没有在测试结果中体现出来,这可能是由于测试领域的限制。

    • 总体上,我们使用提出的方法得到了173的困惑度,比之在训练集Train上训练的模型改进了21%。

    • 表6:使用不同的合成语料库重复整个预训练和微调过程,这些语料库使用不同的短语长度进行对齐。短语长度为1表示以单词词对齐的合成语料库。

5 Benchmark against the State-of-the-Art

  • 比较了SEAME数据集上先进语言模型

  • SEAME有两个发行版本

    1. SEAMA Phase I
    2. SEAMA Phase II
    • SEAME Phase I的总符号数tokens大约是SEAME Phase II的60%。见表7:

  • 我们将我们提出的模型(称为Synthetic CS)与表8中最先进的语言模型进行了比较

    • 表8:最新的语言模型在SEAME测试集得到的困惑度。带+的模型表示改模型在SEAME Phase I上完成训练和测试。带*的模型表示表示该模型在SEAME Phase II上完成训练和测试。

    • 因为单语适应数据来自SEAME,所以Synthetic CS使用Synthetic语料库进行预训练,且没有自适应阶段。然后对预训练的模型使用Phase II Train进行微调,在Phase II Eval上进行测试。为了与最先进的语言模型保持一致,我们使用相同的25K词汇表对模型进行再训练和测试。基于表6,我们选择短语长度为2

    • 我们的模型困惑度为142.53,优于RNNLM [8], FL+OF [8], LSTM [9] and FLM [4]。

    • 我们的模型仅使用标准的LSTM网络就实现了与多任务Multi-task[9]媲美的性能。

    • 和LSTM [9]相比,我们的困惑度降低了6.9%,网络结构的进一步改善可能会在此基础上进一步改善困惑度。

  • ASR语音识别实验

    • 我们还在SEAME数据库上进行了语音识别实验,训练时间为101.1小时,评估时间为11.5小时。ASR系统是根据[33]建立的,声学模型基于时延神经网络语言模型是三元模型。系统的最佳词错误率WER是25.25%。为了证明困惑度的降低会转化为WER的降低,我们使用Synthetic CS模型进行了lattice rescoring。我们的预训练语言模型,没有适应阶段,是在ASR中使用的训练集Train转录transcription上进行微调的。词错误率WER从25.25%下降到23.80%,降低了1.45%。为了消除由于RNN语言模型所带来的改进,我们还使用了一个没有预训练的RNN语言模型来进行lattice rescoring。该方法的最优WER为24.11%,高于Synthetic CS模型,表明该方法对ASR等下游任务具有实际意义。

6 总结

  • 实验结果表明,我们提出的使用MLF理论生成合成语码转换数据的计算方法是可行的。
  • 我们证明,与没有使用合成数据训练的模型相比,使用合成数据作为真实语码转换数据的补充可将困惑度降低21%。 为了获得这个结果,我们用不同的短语长度语码转换概率进行实验。 结果与使用标准LSTM层的最先进的模型相当。 当用于lattice rescoring时,Synthetic CS模型的WER降低了1.45%。

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

  1. 论文解读PCT: Point Cloud Transformer(用于点云处理的Transformer)

    最近几年transformer越来越火,在NLP.CV等领域都取得了很大的成功.这篇文章作者利用了transformer能够处理无序数据的特点,将transformer应用到点云的处理上.它的想法是基 ...

  2. CVM2021| PCT: Point cloud transformer(分类+分割任务SOTA)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨paopaoslam 来源丨 泡泡机器人SLAM 标题:PCT: Point cloud tra ...

  3. PCT: Point Cloud Transformer

    PCT:点云Transformer Meng-Hao Guo Tsinghua University gmh20@mails.tsinghua.edu.cn Jun-Xiong Cai Tsinghu ...

  4. FastFormers 论文解读:可以使Transformer 在CPU上的推理速度提高233倍

    自Transformers诞生以来,紧随其后的是BERT,在几乎所有与语言相关的任务中,无论是问题回答,情感分析,文本分类还是文本生成,都占据着NLP的主导地位. 与RNN和LSTM消失的梯度问题(不 ...

  5. Point Cloud Transformer(PCT)代码实现

    Point Cloud Transformer(PCT)代码实现 目前最火热的Transformer在自然语言和图像识别中扮演了极其重要的角色,在点云数据集中也不例外,清华大学近期提出在点云中运用Tr ...

  6. 论文解读:《基于BERT和二维卷积神经网络的DNA增强子序列识别transformer结构》

    论文解读:<A transformer architecture based on BERT and 2D convolutional neural network to identify DN ...

  7. Point Cloud Transformer(PCT)阅读翻译

    PCT: Point Cloud Transformer 1. Introduction transformer是一种 encoder-decoder结构,包含了三个模块:输入词嵌入,位置(顺序)编码 ...

  8. 论文阅读 PCT:Point Cloud Transformer

    论文阅读 PCT:Point Cloud Transformer PCT 介绍 Input Embedding native 版本 enhanced 版本 Attention PCT 介绍 PCT是基 ...

  9. AI论文解读:基于Transformer的多目标跟踪方法TrackFormer

    摘要:多目标跟踪这个具有挑战性的任务需要同时完成跟踪目标的初始化.定位并构建时空上的跟踪轨迹.本文将这个任务构建为一个帧到帧的集合预测问题,并提出了一个基于transformer的端到端的多目标跟踪方 ...

  10. 论文解读:《功能基因组学transformer模型的可解释性》

    论文解读:<Explainability in transformer models for functional genomics> 1.文章概括 2.背景 3.相关工作 4.方法 4. ...

最新文章

  1. UBuntu14.04下安装和卸载Qt5.3.1
  2. 014、Linux下vim搜索与替换
  3. java.util类,GitHub - yutaolian/JavaUtils: 总结的一些Java常用的util类
  4. PyTorch 1.7发布:支持CUDA 11、Windows分布式训练
  5. 如何保障消息中间件 100% 消息投递成功?如何保证消息幂等性?
  6. 初识ABP vNext(10):ABP设置管理
  7. 人工智能机器学习笔记 10月15日
  8. 人人商城小程序消息服务器配置,人人商城小程序订阅消息设置方法和几个坑!...
  9. android 请求https请求,Android 实现 HttpClient 请求Https
  10. AtCoder Beginner Contest 160 A ~ E
  11. java去掉边框_java swing怎么去掉边框
  12. Grafana 8重磅发布:统一警报、实时流、继续炫酷到底!
  13. 计算机技术对艺术设计的影响,计算机对艺术设计有何影响
  14. 日照-公积金贷款逾期预测-比赛总结
  15. 网络文学网站的盈利模式分析
  16. 元代家谱上的名字是以数字命名的?这里面蕴含了哪些历史特色?
  17. Navicat Premium 12的过期激活,问题解决的心路历程
  18. ZOOM:1的原理和作用
  19. 有关绩效考核系统的一些想法
  20. 红米k30 android版本,红米K30配置如何 红米K30手机参数配置及图赏

热门文章

  1. Caj转PDF的转换方法
  2. 网络协议篇之DHCP协议(一)—— DHCP协议基础
  3. 计算机视觉就业怎么样?好找工作吗?
  4. win7单机计算机就可打开,月影传说单机版电脑版
  5. 互联网web直播点播平台EasyDSS如何将部分数据从t_lives表迁移到其他数据库?
  6. vulnhub之Hacker_Kid-v1.0.1
  7. 老司机 iOS 周报 #65 | 2019-04-29
  8. 中企海外周报 | 海尔俄罗斯洗衣机互联工厂开业;奥克斯建造泰国智能生产基地...
  9. 2017年四月份小结和五月份计划
  10. 《袁老师访谈录》第十八期-百万对话(2):漫漫创业路