Learning to Ask Neural Question Generation for Reading Comprehension

1 Abstract

本文提出了一个基于注意力的序列学习模型,研究了对句子级信息和段落信息进行编码的效果。

1 Introduction

问题生成QG的目的是从给定的句子或段落中产生自然的问题。如图1所示:

自然的问题通常压缩其句子,使用段落中术语的同义词(question2的”form”代替原文的”produce”),或者应用来自前面的句子或从句的实体

2 Model

给定一个输入句子x \mathrm{x}x,目标是生成一个与句子中的信息相关的自然问题y y y,y y y可以是任意长度的序列:[ y 1 , . . . , y ∣ y ∣ ] [y_1,…,y_{|y|}][y 1 ​,…,y ∣y ∣​]。若输入句子的长度为 M,则x \mathrm{x}x可以表示为tokens的序列x 1 , . . . , x M x_1,…,x_M x 1 ​,…,x M ​。QG任务被定义为finding y − \overset{-}{y}y −​:
y − = a r g m a x y P ( y ∣ x ) (1) \overset{-}{y}=\underset{y}{argmax}P(y|\mathrm{x})\tag{1}y −​=y a r g ma x ​P (y ∣x )(1 )
其中P ( y ∣ x ) P(y|\mathrm{x})P (y ∣x )是给定输入x \mathrm{x}x的预测问题序列y y y的条件对数似然。

为了提出一个问题,人们首先会注意到输入句子的某些部分,以及与段落中的上下文信息相关联,本文的模型就是基于这种方法。首先使用RNN编码器架构对条件概率进行建模,然后采用全局注意力机制使模型在解码过程中生成每个单词时专注于输入的某些元素。

本文对context进行了两种编码:1.只编码句子;2.同时编码句子和段级信息。

将公式1中的条件因式分解为词级预测的乘积:
P ( y ∣ x ) = ∏ t = 1 ∣ y ∣ ( y t ∣ x , y < t ) (2) P(y|\mathrm{x})=\prod_{t=1}^{|y|}(y_t|\mathrm{x},y_{< t})\tag{2}P (y ∣x )=t =1 ∏∣y ∣​(y t ​∣x ,y <t ​)(2 )
基于先前生成的所有单词(y

Attention-based sentence encoder
b t → = L S T M 2 → ( x t , b t − 1 → ) b t ← = L S T M 2 ← ( x t , b t + 1 ← ) \overset{\rightarrow}{b_t}=\overset{\rightarrow}{LSTM_2}(x_t,\overset{\rightarrow}{b_{t-1}})\ \overset{\leftarrow}{b_t}=\overset{\leftarrow}{LSTM_2}(x_t,\overset{\leftarrow}{b_{t+1}})b t ​→​=L ST M 2 ​→​(x t ​,b t −1 ​→​)b t ​←​=L ST M 2 ​←​(x t ​,b t +1 ​←​)

c t = ∑ i = 1 , . . . , ∣ x ∣ a i , t b i c_t=\sum_{i=1,…,|\mathrm{x}|}a_{i,t}b_i\c t ​=i =1 ,…,∣x ∣∑​a i ,t ​b i ​

通过双线性评分函数和softmax归一化计算注意力权重:
a i , t = e x p ( h t T W b b i ) ∑ j e x p ( h t T W b b j ) a_{i,t}=\frac{exp(h^T_tW_bb_i)}{\sum_{j}exp(h^T_tW_bb_j)}a i ,t ​=∑j ​e x p (h t T ​W b ​b j ​)e x p (h t T ​W b ​b i ​)​
Paragraph encoder

给定句子x \mathrm{x}x,对包含x \mathrm{x}x的段落进行编码。对较长的段落进行硬截断,截断后的段落也叫段落,将段落表示为z z z,然后用BiLSTM进行编码:
d t → = L S T M 3 → ( z t , d t − 1 → ) d t ← = L S T M 3 ← ( z t , d t + 1 ← ) \overset{\rightarrow}{d_t}=\overset{\rightarrow}{LSTM_3}(z_t,\overset{\rightarrow}{d_{t-1}})\ \overset{\leftarrow}{d_t}=\overset{\leftarrow}{LSTM_3}(z_t,\overset{\leftarrow}{d_{t+1}})d t ​→​=L ST M 3 ​→​(z t ​,d t −1 ​→​)d t ​←​=L ST M 3 ​←​(z t ​,d t +1 ​←​)

给出sentence-question对的训练语料库:
S = { ( x ( i ) ) , y ( i ) } i = 1 S S={(x^{(i)}),y^{(i)}}^{S}{i=1}S ={(x (i )),y (i )}i =1 S ​
对目标函数进行最小化负对数似然:
L = − ∑ i = 1 S l o g P ( y ( i ) ∣ x ( i ) ; θ ) = − ∑ i = 1 S ∑ j = 1 ∣ y ( i ) ∣ l o g P ( y j ( i ) ∣ x ( i ) , y < j ( i ) ; θ ) L=-\sum^{S}
{i=1}logP(y^{(i)}|\mathrm{x}^{(i)};\theta)\ =-\sum^{S}{i=1}\sum^{|y^{(i)}|}{j=1}logP(y_j^{(i)}|x^{(i)},y^{(i)}_{
使用波束搜索进行推理。

由于输入句子中可能有许多不在目标端词典中的生词,在解码过程中将输出许多U N K UNK U N K标记。对于在时间步t处解码U N K UNK U N K token,,本文将其替换为具有最高注意力分数的输入句子中的token,其索引为a r g m a x x i a i , t argmax\ \mathrm{x}ia{i,t}a r g m a x x i ​a i ,t ​

3 启示

Original: https://blog.csdn.net/Jeaksun/article/details/123445364
Author: 自然语言处理CS
Title: Learning to Ask Neural Question Generation for Reading Comprehension

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/530269/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球