1. 研究现状
随着大数据的来临,信息增长迅速,有效的信息查找离不开信息检索 [1],而对于信息检索的关键是机器阅读理解(machine reading comprehension, MRC) [2]。机器阅读理解 [3] 中,一般每个问题都对应了文本上下文的相关信息,机器阅读理解的目标是让计算机理解文本,并根据问题从文本中提取出正确的答案或者生成更加复杂的答案。
人工智能系统可以将常识知识 [4] 作为背景,常识(Commonsense)是社会对同一种事物普遍存在的日常共识。比如:太阳东升西落,树叶都会凋零等,这就是一些常识知识。生活情境常识(Common sense of life situation)是来源于日常生活中的语境所产生的事件,在我们现实生活中经常出现,与大众的现实生活有直接关联性,尤其是在我们熟知的生活情境中是能够看到。对于生活情景常识来说,回答并不是单纯的对内容的理解,还需要根据对话的对象、语境的理解以及基于记忆和知识去理解。
本文通过生活情景常识知识来评测模型的性能。首先使用bAbI tasks数据集 [5],选取部分数据分为Time、Associations、Logic、Context四种类型,划分训练集和测试集。其次对N-grams采用trigram model,将单词向量转换为矢量嵌入,并构建一个二维的神经网络模型。三个模型对数据进行数字编码,采用语义分割,进行分类处理,将数据转成一维的格式进行实验。最后对RNN模型、LSTM模型和BERT模型的损失部分进行改写,修改计算loss部分,定义损失函数sparse_categorical_crossentropy计算损失函数,在计算损失时使用了交叉熵原理,损失函数中的from_logits设置为True时,会将y_pred转化为概率,采用softmax函数,否则不进行转换,通常情况下用True结果更稳定,对loss进行处理,默认是求平均,计算公式如下所示,其中n为样本数,true为y_true,pred为y_pred。
(1)
并对模型进行训练和测试,训练的过程中使用RNN模型、LSTM模型和BERT模型对原文本数据设定了max_epooch的固定值20次,分别对模型进行对比实验,三种模型均采用categorical_accuracy对样本数据进行正确值预测。本实验的研究方法如图1所示。
2. 实验过程
2.1. 实验环境
本文中的实验使用TeslaGPU_M60_16G,显存单卡_10核,CPU_128G,内存进行训练,版本框架使用Pytorch1.1.0,语言版本使用Python 3.7。
2.2. 数据准备
本次实验的数据是由Weston等人提出,源于Facebook AI的bAbI tasks数据集,定义了二十个小的子类推理,涉及20种不同的理解能力。本实验选取4个典型的生活情境task的小样本进行模型训练,如表1所示。
所有的数据集的问题表示的形式为元组(question type, clause, support)。例如:
1 John is in the garden.
2 Where is John? garden 1
这个故事表示为一个子句,clause = (true, god, set_property, john, is_in, garden),后跟一个问题,question = (evaluate, Clause, {1})。像“Is john in the garden?”这样的问题。而是表示为question = (yes_no, Clause, {1})。
该4个task数据集训练样本数总数为40000,测试样本4000。类型分别为Time、Associations、Logic、Context,分别去重数分别为38,48,22和44。

Table 1. Sample test sets of different types
表1. 测试集不同类型样例
2.3. 实验参数
本实验采用RNN模型、LSTM模型和BERT模型来进行生活情境常识的训练,这三个模型实验所采用的共同参数如表2所示。本实验是在服务器上进行训练,配置好环境,分别搭建RNN模型、LSTM模型和BERT模型,将四种类型的数据内容分别代入不同的模型中进行训练,并对其样本数进行评测正确值。

Table 2. The same parameters for all three models
表2. 三个模型的相同参数
2.4. 模型选择
循环神经网络(recurrent neural network, RNN)是用于处理序列数据的神经网络,源自于Saratha Sathasivam于1982年提出的霍普菲尔德网络循环神经网络 [6]。通过保存历史信息来帮助当前的决策,使用之前出现过的单词来加强对当前文字的理解,RNN刻画了循环神经网络的隐藏层之间节点相互之间的链接,隐藏层的输入不仅包括了输入层的输出还包括了上一时刻隐藏层的输出。RNN是一个非常强大的用于序列建模的神经网络,在深度学习 [7] 领域占据非常重要的地位。循环神经网络指的是网络的隐含层输出又作为其输入,结构如图2所示。
其中的U、W、V作为其输入层到隐含层、隐含层到隐含层和隐含层到输出去层的参数,在使用循环神经网络的时候,设置一个有限的循环次数,将其展开后相当于堆叠多个共享隐含层参数的前馈神经网络。
(2)
(3)
Sepp Hochreiter等人于1997年提出长短时记忆网络(Long Short-Term Memory Neural Network, LSTM) [8],LSTM是在RNN的基础上进行改进,包含遗忘门、输入门和输出门的网络结构。LSTM是隐藏单元加入了复杂的门控机制的循环网络结构,能够使数据保持长期的依赖性,在实际应用中得到了广泛的应用。图3为LSTM的结构图。
遗忘门(forget gate)和输入门(input gate)是使循环神经网络更有效的保存长期信息的关键。遗忘门根据当前时刻的输入x_t以及上一时刻的输出h_(t−1)选择性的遗忘上个时刻的状态。输入门根据x_t和h_(t−1)决定将哪些记忆输入到上个时刻的单元状态上并更新单元状态C_t。输出门则用来过滤单元状态信息,并产生此时刻的输出。
(4)
(5)
(6)
(7)
BERT (Bidirectional Encoder Representations from Transformers)是一个语言表示模型 [9],是利用了Transformer的encoder部分,以CLS为开始部分,SEP为其结束部分所进行。BERT模型是采用了两个预训练任务所进行,一个是双向语言模型,另一个是判断下一段的文本。而BERT在深度学习中是作无监督学习。
BERT预训练模型是结合了GPT (Generative Pre-Training)模型 [10] 以及EMLO模型的相关优势,引入了Transformer的编码模型,先掌握上游的任务并运用到下游任务中。如图4是BERT模型。
2.5. 实验结果与分析
通过RNN模型对数据集tasks1-4进行训练得出训练损失值。如图5所示,训练集的损失值不断的在减少,在第7个时期左右,数据集都开始趋于平稳,而task2还有明显下降的趋势。
通过LSTM模型对数据集tasks1-4进行训练得出训练损失值,如图6所示,训练集的损失值不断的在减少,除task2以外,其余三个数据集都有小范围的波动。在10个时期,Context数据集增加达到17.5%,然后下降趋于平滑。

Figure 5. RNN model task1-4 loss rate
图5. RNN模型task1-4损失率

Figure 6. LSTM model task1-4 loss rate
图6. LSTM模型task1-4损失率
通过BERT模型对数据集tasks1-4进行训练得出训练损失值,如图7所示,整体情况task1、task2和task4均在第一个时期之后趋于平缓,而task3在第九个时期之后趋近于平缓,损失值为1.38。

Figure 7. BERT model task1-4 loss rate
图7. BERT模型task1-4损失率
本实验采用Keras.metrics中的categorical_accuracy作为评价指标。categorical_accuracy针对的是y_true为onehot标签,y_pred为向量的情况,对多分类问题,计算再所有预测值上的平均正确率。本实验在样本数上进行正确样本数预测,得出其四类数据正确预测结果。如下表3所示。

Table 3. Evaluation results of different experimental models
表3. 不同实验模型评测结果
通过对比RNN模型、LSTM模型和BERT模型对四种生活情景常识数据进行样本预测的实验结果来看,RNN模型对于小样本的准确率要高于LSTM模型和BERT模型,且损失值都低于LSTM模型和BERT模型,因此RNN模型对于数据预测正确值的效果好,BERT在样本数据少的情况下,呈现出来效果不佳。
3. 结论
在本文中,针对生活情境常识知识任务,选取了babi task中四种类型的小样本数据集进行训练和测试,对循环神经网络RNN、长短时记忆网络LSTM和语言表示模型BERT进行模型概述,然后设置固定的参数指标进行实际训练,采用sparse_categorical_crossentropy交叉熵得出模型在四个tasks的损失率,并进行分析,最后样本数据选择categorical_accuracy进行结果的预测。分析对比三者实验的结果,验证了RNN模型对于小样本的生活情境常识准确性好。
基金项目
国家科技重大专项(2017YFB1002103)、甘肃省青年科技基金(21JR1RA21)、中央高校基本科研业务费专项资金项目(31920210017)、国家档案局科技项目(2021-X-56)与甘肃省档案科技项目(GS-2020-X-07G)。
NOTES
*通讯作者。