关于跨语言问题生成(QG)的学习

  本文基于Cross-Lingual Training for Automatic Question Generation(IITB)整理。水平有限,不足之处请指出。

第一章问题生成

1.1 问题生成简述

  问题生成 (Question Generation),说得通俗些,就是主动提问。
  输入一段文本,神经网络将输出一段基于这段文本的问题,并且这是一个端到端的问题,不需要规定任何中间过程。
  例如输入一段文本:
    我们国家的所有教育形式由不同知识系统组成。
  网络会输出:
    什么是教育形式?

1.2 研究的问题

  对文本的问题生成目前仍是一个重大挑战,特别是在训练样本有限的时候。基于seq2seq模型的QG方案在处理像英语这样拥有数以千计训练样本的语言时表现出色,但多数语言并没有如此多的数据样本。因此,需要一种方案,通过现有语言的训练数据来为一种新语言建立QG模型。

1.3 问题的方案

  论文作者使用了一个共享的encoder-decoder结构,这个结构包含了针对两种语言的两个编码器和两个解码器,并将进行两个阶段的训练——无监督学习和监督学习。

第二章无监督学习

  在无监督学习中,作者将第一语言(印度语或汉语)和第二语言(英语)作为数据,通过降噪自编码器和反向翻译进行预训练。

2.1 降噪自编码器(denoising autoencoding)

  降噪自编码器(DAE)所做的是将句子中的单词打乱、重组,来防止模型只是简单地复制词汇来实现提问,借助共享的encoder-decoder结构,将模型充分与各种语言结合。

2.2 反向翻译(back translation)

  除了DAE之外,作者还使用了反向翻译(BT):将第二语言翻译为第一语言,再将翻译得到的第一语言翻译回第二语言,以此来更新encoder和decoder的权重。需要指出的是,作者在两种语言的每一步训练中都使用了DAE与BT。

第三章监督学习

  如前文所述,QG问题定义为一个端到端的问题,即给定一个输入句子,输出是一个语法正确、语义一致的相关问题,并且使用的是与输入相同的语言。
  所以在监督学习阶段下,每一个encoder都会收到一个句子x作为输入,然后decoder会生成一个问题,并且这个是根据先前所预测的结果以及输入x来预测的。
  总的而言,就是用之前无监督学习所得的权重作为初始值,再在监督学习阶段进行权重的微调。

第四章结构上的细节

4.1 位置掩码(positional masks)

  作者采用了带有方向的self-attention机制,使网络能够保存之前的信息,以此具有记忆功能,并采用了类似于transformer的三角函数来进行位置编码。

4.2 权重共享(weight sharing)

  由于不同语言的个别句子在向量中会极为相似,为了体现出两种语言在学习时的独立性,encoder和decoder的前两层会独立训练,只有后两层才会共享权值。

第五章总结

  这个模型使用的处理方法都比较经典,但这种跨语言处理的思路却值得借鉴。在数据预处理上,该模型采用了无监督学习的方式,通过DAE来增强不同语言的特征,并通过反向翻译使得模型能在少样本的情况下有效地增加训练数量。在监督学习的过程中,模型也加入了记忆功能,进一步强化了对有限样本的有效学习。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值