Page 157 - 《软件学报》2025年第4期
P. 157
王泽 等: 基于槽依赖建模的跨领域槽填充方法 1563
综上, 本文将两个部分的提示进行拼接作为最终的槽提示模板, 如图 4 所示, 最终每个槽类型的提示序列如公
式 (8) 所示:
g
g
k
k
Q(s k ) = [P ,...,P ,P ,...,P ] (8)
1 m 1 l
k k g g m 和 分别表示两者的
k
其中, [P ,...,P ] 表示第 个槽类型的槽语义提示序列, [P ,...,P ] 表示槽共享提示序列, l
1 m 1 l
l
序列长度, m 的大小由槽类型的语义描述词决定, 是在实验中预先定义的超参数. 所有槽类型都有相同的槽共享
提示序列.
为了方便理解, 这里以 BookRestaurant 领域中的槽类型“restaurant_type”为例, 如果要对其进行预测, 则槽提示
g g
l
模板的文本表示为“restaurant type [ P ] [ P ]”(这里的槽共享提示长度 设置为 2), 然后对槽提示进行嵌入, 其嵌入
表示为公式 (9), 其中 e ( i = 1,2,...,m ) 是槽语义提示经过预训练模型嵌入层之后得到的嵌入表示, h (j=1, 2, …,
g
k
i j
l) 是槽共享提示通过全连接层得到的可学习嵌入张量.
k
g
g
k
E = [e ,...,e ,h ,...,h ] (9)
1 m 1 l
2.6 训练和推理
: 提出了一种
在训练阶段的损失函数如公式 (10) 所示, 其中 α 是用来控制话语填充子任务所占权重, 本文经过测试最终确
定 0.3 为该子任务的最佳权重.
L train = L+αL ′ (10)
在推理阶段, 考虑到目标领域中槽类型数量过于庞大的问题, 如果使用源域中随机组合不同槽类型的方式来
构造输入可能会导致组合后的数量难以控制. 所以本文仍然使用单个的槽提示与话语拼接对槽实体进行预测.
3 实验结果与分析
3.1 实验设置
本文使用 T5-base (参数量为 220M) 作为预训练基座模型, batch_size 的大小设置为 32, 优化器使用 AdamW,
学习率为 1E–4, 子任务权重 α 设置为 0.2. 对于槽提示的数量 n, 在实际训练过程中我们随机选择 1 – n 个槽类型提
示用于拼接输入模板, 并且在随机选择过程中保证当前领域中的所有槽类型都能被选择. 我们通过实验对不同的
槽提示数量进行了测试, 最终确定将 n 设置为 2 有最佳性能. 同样地, 对于槽共享提示的长度 1 我们也进行了实验
测试, 最终将其长度设置为 2.
2× precision×recall
F1 = (11)
precision+recall
在模型训练过程中, 我们使用验证集的 F1 值作为监督信号, 如公式 (11), 如果超过 3 次模型没有性能提升就
结束训练.
3.2 基准模型
本文与近几年的一些相关研究进行比较, 这些基线模型的相关情况如下.
Concept tagger (CT) [10] : 利用槽描述来处理目标领域中存在的源域不可见的槽类型, 将话语表征与槽类型表征
拼接在一起进行预测.
Robust zero-shot tagger (RZT) [11] : 在 CT 的基础上引入了槽描述信息和数据样例, 以此来增强零样本槽填充任
务的鲁棒性.
Coarse-to-fine approach (COACH) [12] coarse-to-fine 槽实体检测和槽类型预测方法, 并且使用了模
板正规化去提高模型对相似槽类型的性能.
Contrastive zero-shot learning (CZSL) [13] : 该方法使用额外的槽描述信息进行对比表征学习, 在第一阶段学习对
应槽实体的语义模式, 同时加入对抗攻击的策略增强模型的鲁棒性, 从而提高模型的跨域能力.
Prototypical contrastive learning and label confusion (PCLC) [16] : 提出了一种动态细化槽原型表征的方式, 提高槽