用于多项选择阅读理解任务的句子级神经网络模型
1. 引言
阅读理解指的是阅读文本、理解其含义并回答问题的能力。当机器需要理解文本时,它们要理解非结构化文本并基于文本进行推理,这是自然语言处理和机器学习领域的一项重要任务。
近年来,机器阅读理解(MC)越来越受关注,并且已经发布了几个大型阅读理解数据集。随着系统性能随着新数据集的发布而快速提升,任务难度也越来越大,例如从CNN/Daily Mail数据集到SQuAD,再到TriviaQA。CNN/Daily Mail数据集是完形填空式阅读理解任务,目标是理解给定文档并根据文档回答问题,每个问题的答案是文档中的一个单词;SQuAD是问答式阅读理解任务,进一步限制答案通常包括非实体且是更长的短语,必须是文档的连续子跨度;TriviaQA也是问答式阅读理解任务,但比SQuAD更难,因为其答案独立于证据且属于多种类型。
与上述不同,基于MCTest数据集的任务是多项选择阅读理解,每个示例由一个文档和四个相关问题组成,每个问题有四个候选答案,只有一个答案正确。我们专注于文档中回答多项选择题的问题,同时发布了一个用于此类多项选择任务的中文阅读理解数据集。多项选择阅读理解任务仍然具有挑战性,因为可选句子形式的答案通常不出现在文档中,而且找到正确答案需要跨多个句子进行推理,所以句子理解在多项选择阅读理解任务中比单词理解更重要。
为了进行句子理解任务,我们提出了一个句子级注意力模型,主要受完形填空式阅读理解注意力模型的启发。与完形填空式注意力模型不同的是,多项选择题的答案是可选句子。
2. 中文阅读理解数据集
我们专注的多项选择阅读理解任务中,每个示例由一个文档和一个相关问题组成,每个问题有五个候选答案。该数据集比MCTest数据集更复杂,它是来自高中期末考试测试材料的文学阅读理解数据集。
对于该数据集,问题描述基本固定,在中文阅读理解任务中可忽略问题的作用。任务目标是理解单个文档并选择与文档含义最一致的选项。中文阅读理解可以描述为一个三元组:⟨D, C, A⟩,其中D是文档,C表示选项,A是一个集合,每个元素根据文档含义标记为0或1(如果选项与文档含义一致,标记为1;否则标记为0)。
训练阶段,我们选择了一个包含769个文学阅读理解的数据集,来自高中期末考试测试材料。测试阶段,数据集包括三部分:13份北京高考试卷(BCEETest)、12份科大讯飞公司提供的模拟材料(SBCEETest1)和52份北京高中期末考试测试材料(SBCEETest2)。所有数据集均由山西大学的中文信息处理小组收集。训练和测试数据的统计信息如下表所示:
| 数据集 | 详情 |
| — | — |
| 训练集 | 769个文学阅读理解数据集(高中期末考试测试材料) |
| 测试集1 | 13份北京高考试卷(BCEETest) |
| 测试集2 | 12份模拟材料(SBCEETest1) |
| 测试集3 | 52份北京高中期末考试测试材料(SBCEETest2) |
3. 相关工作
3.1 多项选择阅读理解
现有模型大多基于MCTest的手动设计特征,这些工程特征模型非常有效,但提取特征需要大量辅助工具,且泛化能力有限。Yin等人提出了用于多项选择阅读理解任务的基于分层注意力的卷积神经网络,但该模型在MCTest上表现不佳,可能是因为数据集稀疏。而神经网络模型可以解决特征提取问题,因此在多项选择阅读理解任务中越来越受关注。我们提出了一个用于多项选择阅读理解的循环神经网络模型,使用双向LSTM获取句子的上下文表示。
3.2 完形填空式阅读理解
Hermann等人发布了CNN/Daily Mail新闻语料库,Cui等人发布了用于中文阅读理解数据集的HFL - RC PD&CFT。在这些数据集上,已经提出了许多用于完形填空式阅读理解任务的神经网络模型。例如,Hermann等人提出了专注和不耐烦的读者模型;Chen等人提出了一种新的神经网络架构;Kadlec等人提出了注意力求和阅读器;Cui等人提出了基于共识注意力的神经网络和注意力之上的注意力神经网络;Dhingra等人提出了用于文本理解的门控注意力阅读器。这些都是基于注意力的RNN模型,在单词级任务中非常有效。我们提出的句子级注意力模型主要受完形填空式阅读理解注意力模型的启发。
4. 句子级神经网络阅读器
我们的句子级神经网络模型,即句子级注意力阅读器,主要受Cui等人模型的启发,旨在直接从句子级注意力估计可选句子的答案,而不是从单词级注意力计算实体的答案。其模型结构如下:
graph LR
A[输入层] --> B[嵌入层]
B --> C[Bi - LSTM层]
C --> D[注意力层]
D --> E[合并层]
4.1 句子表示
模型的输入是文档和选项中的句子,每个句子由单词序列组成。句子通过嵌入层转换为句子嵌入,嵌入层由LSTM句子模型和句子组合模型组成。LSTM句子模型是一个单双向LSTM层后跟一个平均池化层,双向LSTM层用于获取单词的上下文表示,平均池化层用于将单词向量合并为句子向量。句子组合模型用于组合句子向量,它由一个训练好的神经网络模型组合,该模型由单个单词和短语向量组成的三元组(如triple(w1, w2, p))训练得到。
为了保留两种句子表示模型的更多信息,我们使用多层神经网络来组合最终的句子向量:
[p_i = M \cdot [sp_1; sp_2]]
其中sp1是LSTM句子模型的句子向量,sp2是句子组合模型的句子向量,M是参数矩阵。
此外,句子的上下文对于推断答案也很重要,因此文档中句子的嵌入被输入到双向LSTM层以获取其上下文表示。最后,我们用hi表示句子的上下文表示,ℎc - s ∈ Rd表示选项的句子嵌入,其中d表示选项的数量。
4.2 句子级注意力
在注意力层,我们直接使用hi和hc - s的点积来计算文档中每个句子对每个选项的“重要性”,并使用softmax函数得到概率分布。对于文档中的每个句子,“注意力”计算如下:
[\alpha(t)=\frac{\exp(h_i^T h_{c - s})}{\sum_{j = 1}^{m}\exp(h_j^T h_{c - s})}]
其中变量α(t)是文档中第t个句子的注意力权重。
在合并层,共识注意力通过合并函数计算:
[ \text{Consensus Attention}=\frac{1}{n}\sum_{i = 1}^{n}\alpha_{(i)}]
其中n是注意力权重的前n个,且n < m。
4.3 输出层
最后,答案通过softmax函数估计:
[a_i=\text{softmax}(W_a \cdot \text{Consensus Attention})]
其中Wa表示softmax层的权重矩阵,ai是答案的概率分布,通过概率得到答案标签的预测(如“1 1 0 1 0”)。
5. 实验
5.1 实验细节
我们使用带有AdaDelta更新规则的随机梯度下降,它只使用一阶信息自适应地更新学习率,计算开销最小。训练模型时,我们将负对数似然作为目标函数进行最小化。批大小设置为5,迭代次数设置为25。
对于单词向量,我们使用Google公开可用的嵌入,其训练数据集是7万篇文学论文,单词嵌入维度设置为200。在实现句子级注意力阅读器时,容易过拟合训练数据,因此我们采用dropout方法进行正则化和处理过拟合问题,在中文阅读理解数据集上的dropout率为0.1,在MCTest数据集上为0.01。模型使用theano实现。
在多项选择任务中,根据选项是否与文档含义一致来预测答案,因此我们仅根据精度(P = right_options/sum_options)评估系统性能。
5.2 MCTest数据集结果
为了验证模型的有效性,我们首先在公共数据集上测试。下表展示了特征工程和神经方法在MCTest测试集上的性能:
| 方法类型 | 方法 | 性能 |
| — | — | — |
| 特征工程方法 | 方法1 |… |
| 特征工程方法 | 方法2 |… |
| 特征工程方法 | 方法3 |… |
| 特征工程方法 | 方法4 |… |
| 神经方法 | 注意力阅读器 |… |
| 神经方法 | 神经推理器 |… |
| 神经方法 | HABCNN - TE |… |
| 神经方法 | 我们的方法 |… |
可以看出,特征工程方法明显优于神经方法,可能是因为神经方法的训练数据相对不足。对于神经方法,注意力阅读器在单词表示级别实现,是一个有数千个参数的深度模型,在MCTest上表现不佳;神经推理器有多个推理层,所有临时推理都会影响最终答案表示;HABCNN - TE是卷积架构网络,可减少参数数量,但上下文表示不够。我们的方法解决了上述问题,循环架构网络减少了参数数量,能在句子级别呈现上下文表示,并且使用max + avg方法减少所有片段的影响,实验结果表明我们的方法优于其他三种神经方法。
5.3 中文阅读理解数据集结果
我们为中文阅读理解数据集设置了四个基线:
- 第一个基线是受Cui等人启发的基于共识注意力的神经网络(CAS Reader),用于计算文档和选项单词的注意力。
- 第二个基线使用滑动窗口并匹配从文档和选项构建的词袋(Match Reader)。
- 第三个基线是句子相似度测量模型(SM Reader),通过文档句子和选项句子的余弦相似度表示相似度。
- 第四个基线是在MCTest数据集上表现最优的HABCNN - TE方法。
实验结果如下表所示:
| 测试集 | HABCNN - TE | CAS Reader | Match Reader | SM Reader | 我们的方法 |
| — | — | — | — | — | — |
| BCEETest |… |… |… |… |… |
| SBCEETest1 |… |… |… |… |… |
| SBCEETest2 |… |… |… |… |… |
结果显示,我们的句子级注意力阅读器在各种最先进的基线中取得了有竞争力的结果。BCEETest的准确率优于其他测试集,可能是因为高考比模拟考试更规范。同时,句子级模型的性能优于单词级模型,例如在BCEETest集中,SM Reader(句子级)在精度上比Match Reader(单词级)高3.4%,句子级注意力阅读器比CAS Reader(单词级)高4.9%。
在实验中,我们发现与选项相关的句子数量非常重要,因此我们还评估了不同的合并函数。结果表明,avg和sum方法优于max方法,因为max方法相当于只使用了文档中的一个句子,丢失了很多信息。我们还使用max + avg方法作为合并函数,“max”表示前N个句子,“avg”表示前N个句子的平均值。与avg方法相比,max + avg方法在三个数据集上的准确率提高了约2%。我们随机从13份北京高考试卷(BCEETest)中选择5个选项进行top N实验,发现注意力在大约10时不再继续增加,因此在我们的模型中N设置为10。
5.4 句子表示模型分析
我们使用LSTM句子模型和句子组合模型进行句子表示,并分别测试了这两个模型对最终模型的贡献,结果如下表所示:
| 测试集 | LSTM句子模型 | 句子组合模型 | 融合模型 |
| — | — | — | — |
| BCEETest |… |… |… |
| SBCEETest1 |… |… |… |
| SBCEETest2 |… |… |… |
结果显示,融合模型的精度优于任何单个模型,因此我们在句子级注意力神经网络中使用融合模型。
用于多项选择阅读理解任务的句子级神经网络模型(续)
6. 结果分析与讨论
6.1 不同数据集上的性能表现
从MCTest数据集和中文阅读理解数据集的实验结果来看,我们的模型在不同场景下都展现出了一定的优势。在MCTest数据集上,尽管特征工程方法整体表现优于神经方法,但我们的句子级注意力阅读器在神经方法中脱颖而出,解决了其他神经方法在上下文表示和参数数量等方面的问题。而在中文阅读理解数据集上,我们的模型在与多个基线模型的对比中取得了有竞争力的结果,尤其是在BCEETest测试集上表现更为突出,这可能得益于高考的规范性使得数据更具规律性。
6.2 句子级与单词级模型的比较
实验结果清晰地表明,句子级模型在多项选择阅读理解任务中具有明显优势。以BCEETest测试集为例,句子级的SM Reader比单词级的Match Reader精度高3.4%,句子级注意力阅读器比单词级的CAS Reader精度高4.9%。这充分说明了在多项选择阅读理解任务中,句子理解比单词理解更为重要,因为找到正确答案往往需要跨多个句子进行推理,而句子级模型能够更好地捕捉句子之间的语义关系。
6.3 合并函数的影响
不同的合并函数对模型性能产生了显著影响。实验结果显示,avg和sum方法优于max方法,因为max方法只关注了文档中的一个句子,导致大量信息丢失。而我们采用的max + avg方法进一步提升了模型性能,与avg方法相比,在三个数据集上的准确率提高了约2%。这表明结合前N个句子的最大值和平均值能够更有效地利用文档中的信息,减少干扰信息的影响。
7. 模型的优势与局限性
7.1 优势
- 句子级理解 :我们的模型强调句子理解在多项选择阅读理解任务中的重要性,通过句子级注意力机制,能够更好地处理答案以可选句子形式出现且需要跨句子推理的情况。
- 上下文表示 :使用双向LSTM获取句子的上下文表示,能够捕捉句子之间的语义关联,为准确推理提供更丰富的信息。
- 参数优化 :采用循环架构网络减少了参数数量,同时使用max + avg方法减少了所有片段的影响,提高了模型的效率和性能。
7.2 局限性
- 训练数据依赖 :从MCTest数据集的实验结果可以看出,神经方法的性能受训练数据量的影响较大。当训练数据相对不足时,模型的表现可能不如基于手动设计特征的方法。
- 干扰信息处理 :尽管max + avg方法在一定程度上减少了干扰信息的影响,但仍有部分句子可能会对最终答案产生负面影响,模型在处理复杂文本中的干扰信息方面还有待进一步提升。
8. 未来研究方向
8.1 数据扩充
为了减少模型对训练数据的依赖,提高模型的泛化能力,可以考虑扩充训练数据。可以收集更多的中文和英文多项选择阅读理解数据集,包括不同领域、不同难度级别的文本,以丰富模型的训练样本。
8.2 干扰信息处理优化
进一步研究如何更好地处理文本中的干扰信息。可以探索更复杂的注意力机制,如多层次注意力、自适应注意力等,以更精准地捕捉与答案相关的句子,减少干扰句子的影响。
8.3 模型融合
尝试将我们的句子级注意力模型与其他优秀的自然语言处理模型进行融合,如预训练语言模型(如BERT、GPT等)。通过融合不同模型的优势,进一步提升多项选择阅读理解任务的性能。
9. 总结
本文提出了一种用于多项选择阅读理解任务的句子级注意力模型。通过在MCTest数据集和中文阅读理解数据集上的实验,验证了模型的有效性。实验结果表明,句子级模型在多项选择阅读理解任务中具有明显优势,能够更好地处理句子理解和跨句子推理的问题。同时,我们还分析了不同合并函数对模型性能的影响,发现max + avg方法能够有效提升模型的准确率。然而,模型仍存在一些局限性,如对训练数据的依赖和处理干扰信息的能力不足。未来,我们将朝着数据扩充、干扰信息处理优化和模型融合等方向进行深入研究,以进一步提升模型的性能。
以下是模型整体流程的mermaid流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([输入文档和选项]):::startend --> B(嵌入层):::process
B --> C(Bi - LSTM层):::process
C --> D(注意力层):::process
D --> E(合并层):::process
E --> F(输出层):::process
F --> G([输出答案预测]):::startend
以下是不同模型在各测试集上性能对比的表格总结:
| 测试集 | 模型类型 | 具体模型 | 性能表现 |
| — | — | — | — |
| MCTest | 特征工程方法 | 方法1 - 4 | 整体优于神经方法 |
| MCTest | 神经方法 | 注意力阅读器 | 表现不佳 |
| MCTest | 神经方法 | 神经推理器 | 有多个推理层影响答案表示 |
| MCTest | 神经方法 | HABCNN - TE | 上下文表示不足 |
| MCTest | 神经方法 | 我们的方法 | 优于其他神经方法 |
| 中文阅读理解数据集 | 基线模型 | HABCNN - TE |… |
| 中文阅读理解数据集 | 基线模型 | CAS Reader(单词级) |… |
| 中文阅读理解数据集 | 基线模型 | Match Reader(单词级) |… |
| 中文阅读理解数据集 | 基线模型 | SM Reader(句子级) |… |
| 中文阅读理解数据集 | 我们的模型 | 句子级注意力阅读器 | 有竞争力,优于部分基线 |
通过以上的实验和分析,我们对句子级神经网络模型在多项选择阅读理解任务中的应用有了更深入的认识,为未来的研究和实践提供了有价值的参考。
超级会员免费看
1025

被折叠的 条评论
为什么被折叠?



