解决问题:
新的slot作为数据库搜索参数;领域迁移难、学习更快
背景:
-
置信状态
bg是置信对话状态中与语义槽无关的部分,bi是置信状态中与第 i 个语义槽相关的部分。 -
可能的动作集合为A
Ag是可能的对话动作中与语义槽无关的动作的集合,Ai是可能的动作中与第 i 个语义槽相关的对话动作的结合。 -
DSTC数据集:
每个分为label和log;
label:直接是json形式:
槽已经处理好了。
创新点:
-
多智能体对话策略
本文根据是否和语义槽相关的置信状态和动作状态,提出了类似原理的多agent训练。
有一个agent是和状态无关的,其他的都相关。然后 agent之间共享参数,我觉得像是增加了参数。
这里面Hs,Cs,Gs对于所有的Agent都是一样的。 -
作者又提出了一种,共享-私有加权网络
也就是多出一个参数,
右边的s网络是原来的共享参数的网络,左边的j网络是加上的私有参数的网络。两者用权重连接。 -
训练过程
步骤一:在原有领域中训练 MADQN;
步骤二:当领域扩展时,为每个新增的语义槽添加一个对应的 S-Agent;
步骤三:如果 MADQN 是 MADQN_S,即 S-Agent 没有私有参数,则新增加的 S-Agent 直接使用共享参数;
如果 MADQN 是 MADQN_SP,即 S-Agent 除了共享参数还有私有参数,则新增加的 S-Agent 的共享参数直接使用之前其它 S-Agent 的共享参数,而私有参数用共享参数加上很小的噪音进行初始化;
步骤四:在扩展后的领域继续训练 MADQN。
所以说新来的S-Agent是和语音槽挂钩的,一个语音槽一个Agent
实验结果:
在单个domain的时候也训练的更快(因为agent分为了slot-dependent和slot-independent)