Page 161 - 《软件学报》2025年第4期
P. 161
王泽 等: 基于槽依赖建模的跨领域槽填充方法 1567
掉进行测试, 对于多槽类型的生成问题, 需要挖掘不同槽类型与话语中存在的语义感知, 否则难免会出现的错误类
型匹配, 受此影响该部分性能损失了 2.12%.
表 9 零样本下的消融实验结果 (%)
模型 平均F1
w/o 话语填充子任务 55.49
w/o 槽共享提示 54.56
Ours 57.61
可以得出结论, 使用槽共享提示建立的不同槽类型之间的依赖关系对跨领域槽实体预测起到了很大的作用,
直接影响着整个模型的性能. 往往用户在提出一个请求时需要同时指定多个必要条件, 正如下文样例分析中的两
个例子, 在预定饭店时 (BookRestaurant 领域) 除饭店类型外具体地点也是必要条件, 在大多数领域中地点都是一
个关键信息, 比如 GetWeather、SearchScreeningEvent、TOP 等领域中均有位置信息, 这种依赖很容易从源域中得
到. 话语填充子任务的存在也有效地弥补了多实体预测中存在的槽类型错误匹配的问题, 对相似槽类型做出正确
判断, 进而影响其他相关依赖槽, 二者缺一不可.
3.4.4 样例分析
如图 6 所示, 本文对模型的生成结果进行了对比, 图中的 baseline 表示去除槽共享提示和话语填充子任务
后的基础模型, gold 是真实的数据标签. 对于 BookRestaurant 中的示例, baseline 能够预测出槽类型 city 和
spatial_relation, 但是缺失了 restaurant_type, 根据该领域的话语习惯, 通常用户在提供地点或者具体位置后往往会
继续给出餐厅的具体类型. 存在 restaurant_type 的用户话语中有 87% 伴随着 city 或者 spatial_relation, 因此 3 个槽
类型彼此间存在依赖, baseline 模型并没有从另外两个已存在的槽类型中推测出 restaurant_type, 可见其缺乏这种
槽间依赖的信息. 我们的模型很好地解决了这一问题, 侧面反映出槽依赖的必要性.
领域: BookRestaurant
话语: please make reservations for a bar close-by in lake alfred
baseline: (city, lake alfred), (restaurant_type, none), (spatial_relation, close-by)
ours: (city, lake alfred), (restaurant_type, bar), (spatial_relation, close-by)
gold: (city, lake alfred), (restaurant_type, bar), (spatial_relation, close-by)
领域: AddToPlaylist
话语: put the artist michael todd in my afternoon train ride list
baseline: (music_item, none), (playlist_owner, none), (artist, artist)
ours: (music_item, artist), (playlist_owner, my), (artist, michael todd)
gold: (music_item, artist), (playlist_owner, my), (artist, michael todd)
图 6 模型结果样例对比
在 AddToPlaylist 的示例中, baseline 模型出现了错误匹配问题, 它将话语中的实体词“artist”匹配到了槽类型
artist, 虽然两个词一样但是表示的意义不同, 槽类型 artist 对应的槽实体应该是话语中存在的人名, 而实体词 artist
本身应该属于槽类型 music_item, 这两个类型在预测时容易出现混淆. 我们的模型通过话语填充子任务弥补了这
一现象, 在训练过程中使用真实的槽实体对掩码后的话语进行还原, 加强了槽实体对话语的感知, 还原的过程中也