1.一种基于结构化用户属性描述的个性化任务型对话系统,其特征在于,主要包括用户个性动态编码和个性化匹配两个模块:
s1.用户个性动态编码模块,将输入的结构化用户属性描述编码为一个特征向量,在编码的过程中,用户个性动态编码模块使用对话的上下文来自动选择用户结构化用户属性描述中最重要和相关的属性,然后再结合一个分布式的静态全局个性编码,最终得到一个多粒度的内容相关的用户个性编码;
s2.个性化匹配模块,融合用户个性编码和对话内容,来从候选回复集中选择最合适贴切的对话回复。
2.根据权利要求1所述的系统,其特征在于,用户个性动态编码分为两部分:细粒度的对话上下文相关的动态编码和粗粒度的全局静态个性编码。
3.根据权利要求2所述的细粒度的对话上下文相关的动态编码,其特征在于,用户个性描述为如下形式:{年龄=中年,性别=女,饮食偏好=素食},每个用户个性描述由很多个属性组成,属性又分为属性键和值,例如,年龄为属性键,中年为其对应的属性值,我们使用e(ki)和e(vi)分别代表属性键和属性值的词向量编码。
4.根据权利要求2所述的细粒度的对话上下文相关的动态编码,其特征在于,通过一个双向长短记忆网络(bilstm)来编码对话历史,取最后时刻的隐层状态q作为对话上下文表征,在不同的上下文中,用户个性中的不同属性会发挥不同的作用,本发明通过对话上下文表征自适应地捕获用户个性中最重要的属性,从而获得细粒度的动态用户个性编码,具体来说,我们使用对话上下文表征q对所有的属性做注意力计算,获得用户动态个性表征pdynamic:
αi=qt·e(ki),i=1,2,…,n
5.根据权利要求2所述的粗粒度的全局静态个性编码,其特征在于,首先分别对用户个性描述中的所有属性分别进行one-hot编码(01编码),然后乘以一个用户个性编码矩阵(这个矩阵在训练初始阶段是随机初始化得到的),就得到粗粒度的全局静态个性编码,将细粒度的对话上下文相关的动态编码和粗粒度的全局静态个性编码拼接起来,最终得到一个多粒度的、对话上下文相关的用户个性编码:
p=concat([pdynamic;pstatic])
6.根据权利要求1所述的系统,其特征在于,个性化匹配模块:获得用户个性编码之后,还需要将用户个性编码融合到对话上下文与候选答复的匹配过程中,本发明采用增强自然语言推理模型(esim)作为匹配模型,然后在esim模型的聚合层中融入用户个性编码向量,同时在esim的输出层增加一个与用户实体偏好相关的偏置参数。
7.根据权利要求6所述的系统,其特征在于,个性化匹配模块主要包括输入编码层、局部匹配层、聚合层以及输出层:
s2.1.输入编码层,将对话和候选答复中的每一个词转化为词向量,然后再经过一个bilstm层获取上下文依赖关系,得到隐层状态表示
s2.2.局部匹配层,获取对话上下文和回复之间的语义交互信息,采用交叉注意力的方式,使用内积计算注意力分数:
然后分别加权求和:
最后将匹配信息融合,通过一个前馈网络计算:
s2.3.聚合层,负责融合用户个性编码与匹配交互信息,通过以下方式实现:
这里的bilstm与传统的不同,我们融合了用户个性编码的信息:
ct=ft·ct-1+it·lt
ht=ot·tanh(ct)
s2.4.输出层,将bilstm的隐层状态通过池化层输出固定维度的向量,然后再通过一个多层感知器(mlp)输出预测概率,预测结果为0或者1。
8.根据权利要求1所述的系统,其特征在于,通过用户个性编码来学习用户的实体偏好bk,进而辅助选择合适的候选回复: