Page 270 - 《软件学报》2021年第8期
P. 270
2552 Journal of Software 软件学报 Vol.32, No.8, August 2021
本文的模型使用随机梯度下降进行端到端训练,通过最小化句子级别的负对数似然来训练模型的参数.
在训练过程中,由于微调预训练语言模型的学习率满足不了条件随机场层参数的训练,本文在模型训练的
过程中,增大了除预训练语言模型层之外其他层的学习率来优化模型参数.在预测阶段,输出层使用维特比算法
找到分数最高的标签预测序列进行输出.
3 实验与结果
3.1 数据集与评价指标
本文采用 CLUENER2020 数据集进行实验,该数据集的实体类别分为 10 种:address、book、company、game、
government、movie、name、organization、position、scene.该数据集只提供训练集和验证集的标注,不提供测试
集的标注.数据集的详细信息见表 2.本文采用 CLUENER 2020 提供的线上测评网站(评测网站 https://www.
cluebenchmarks.com/ner.html),以 F1 值对实验结果进行评价.
Table 2 Description of CLUNER 2020 dataset
表 2 CLUNER 2020 数据集描述
Dataset Train Dev Test Avg length Max length Classes
CLUENER 2020 10 748 1 343 1 345 37.4 50 10
3.2 参数设置
本实验使用 Colab pro p100 16g 内存.由于内存限制,在嵌入层使用中文预训练语言模型 RoBERTa 的 base
版本,该模型是包含 12 层的 Transformer.
本文模型中使用的参数取值见表 3.通过实验验证:增大其他层的学习率,包括自注意力层和条件随机场层
的学习率后,模型的效果有所提升,学习出来的条件随机场层的参数也符合真实情况.
Table 3 Parameter value
表 3 参数取值
参数 取值
Epoch 20
Batchsize 16
最大句子长度 64
记忆句子数 4
标签嵌入维度 304
预训练模型层数 12
预训练模型学习率 3e−5
其他层学习率 2e−4
Dropout 0.1
自注意力层维度 512
3.3 实验结果
本文模型在 CLUNER2020 数据集上的训练过程如图 5 所示,图 5 是模型在验证集上的 F1 值曲线图.
Fig.5 F1 value curve graph on the validation set
图 5 验证集上的 F1 值曲线图