Page 114 - 《软件学报》2020年第12期
P. 114
3780 Journal of Software 软件学报 Vol.31, No.12, December 2020
Transformer 最后一层的第一个词块[CLS]的输出能够得到整个序列的固定维度全局表征,我们将其作为分类层
的输入,进行分类.
在实验过程中,我们尝试了多种数据输入方式,探究蕴含前件 P 和蕴含后件 H 以及蕴含语块 P′和 H′之间的
语义关系.例如:
P:一个用推土机挖土的男人. H:一个男人用重型施工设备挖土.
在这组上下位词导致的蕴含句对中,蕴含前件语块 P′是“推土机”,蕴含后件语块 H′是“重型施工设备”.我们
尝试的输入拼接方式如下:
(1) [CLS]+P+[SEP]+H+[SEP]:[CLS]+一个用推土机挖土的男人+[SEP]+一个男人用重型施工设备挖
土+[SEP];
(2) [CLS]+P′+[SEP]+H′+[SEP]:[CLS]+推土机+[SEP]+重型施工设备+[SEP];
(3) [CLS]+P+P′+[SEP]+H+H′+[SEP]:[CLS]+一个用推土机挖土的男人+推土机+[SEP]+一个男人用重型
施工设备挖土+重型施工设备+[SEP].
4.3 实验设计和结果分析
4.3.1 实验设计
本文将人工标注的数据作为实验的数据集.经过数据预处理,剔除不符合要求的数据后,共得到 10 965 条蕴
含句对.我们按照 8:1:1 的比例将数据随机分为训练集、验证集和测试集,其中,训练数据 8 771 条,验证数据和测
试数据各有 1 097 条.
对于 ESIM 的系统,其中的超参数设置为 hidden_units=300,embedding_size=300.为了得到最好的结果,本系
统采取 Early stopping 机制,轮数设置为 15.
对于 BERT 系统,我们根据不同的输入方式做了 3 组实验.
• BERT1 模型的输入为[CLS]+P+[SEP]+H+[SEP]的数据输入;
• BERT2 系统则采取[CLS]+P′+[SEP]+H′+[SEP]的数据输入格式;
• BERT3 的输入方式为[CLS]+P+P′+[SEP]+H+H′+[SEP].
对于这 3 个系统,超参数都设置为 max_seq_length=128,train_batch_size=16.为了以最少的运行时间得到最
好的实验结果,我们设置 learning_rate=0.00003,微调轮数设置为 2.
为了评估文本提出的文本蕴含分类方法的有效性,实验采用准确率(accuracy)作为评价指标.准确率被定义
为在指定的数据集上正确分类的样本数与总样本数之比,其值越高,效果越好.
4.3.2 结果分析
由表 2 可以看出:ESIM2 在测试集上达到了 56.70%的准确率,比 ESIM1(43.57%)高 13.13%;同样地,BERT3
(66.73%)比 BERT1(51.14%)在测试集的准确率高 15.59%.对比这两组实验,在同一个模型中包含蕴含语块位置
信息的实验结果明显高于不包含语块位置的实验结果.这表明了蕴含语块位置信息可以提高模型的性能,有效
预测蕴含关系类型.
Table 2 Performances of various models on classification task
表 2 分类任务上各系统的性能
系统 Train (%) Dev (%) Test (%)
ESIM1 48.85 47.95 43.57
ESIM2 66.24 53.69 56.70
BERT1 65.25 55.70 51.14
BERT2 84.93 68.46 69.19
BERT3 84.13 65.54 66.73
而对比 BERT2 和 BERT3,仅包含蕴含语块的 BERT2(69.19%)比同时包含蕴含句对和蕴含语块的 BERT3
(66.73%)高 2.46%,差距较为明显.这证实了在同样拥有语块位置信息的基础上,非蕴含语块信息很可能会扰乱
系统进行判别.