一种基于结构化用户属性描述的个性化任务型对话系统的制作方法

文档序号:20030099发布日期:2020-02-28 10:16阅读:344来源:国知局
一种基于结构化用户属性描述的个性化任务型对话系统的制作方法

本发明涉及一种基于结构化用户属性描述的个性化任务型对话系统,属于人机交互领域。



背景技术:

nlp技术的发展极大促进了任务型对话系统的研究,但是现有的任务型对话系统往往存在以下两个缺陷:

一、现有的任务型对话系统是纯数据驱动的,系统只能根据已有的对话数据来学习对话模式,这样会导致生成的答复趋向于通用、千篇一律,即针对于所有用户生成的回复是一致的,缺乏人类对话时的灵活性。

二、目前针对于用户个性的描述大部分是自然语言,包含很多的噪声,在编码的时候往往缺乏与对话内容之间的交互,即用户个性编码是纯静态的,不能随着对话内容的改变而变化。



技术实现要素:

本发明技术解决问题:本发明提供了一种基于结构化用户属性描述的个性化任务型对话系统,应用于餐厅预订领域,其目的在于,不仅可以生成正常策略的对话回复,还可以使得生成的回复更加贴切于特定的用户,提高用户在对话过程中的融入感。

本发明技术解决方案:一种基于结构化用户属性描述和自适应动态编码的个性化任务型对话系统,主要包括以下两个模块:用户个性动态编码模块,个性化匹配模块。用户个性动态编码模块负责将输入的结构化用户属性描述编码为一个特征向量,在编码的过程中,用户个性动态编码模块使用对话的上下文来自动选择用户结构化用户属性描述中最重要和相关的属性,然后再结合一个分布式的静态全局个性编码,最终得到一个多粒度的内容相关的用户个性编码;个性化匹配模块负责融合用户个性编码和对话内容,来从候选回复集中选择最合适贴切的对话回复。

用户个性动态编码模块:用户个性编码分为两部分,一是细粒度的对话上下文相关的动态编码,二是粗粒度的全局静态个性编码。这两种编码方式相互结合,最终得到一个多粒度的、对话上下文相关的用户个性编码。

本发明中的用户个性描述是结构化三元组的形式,区别于传统的自然语言描述,这种描述方式的优点是结构简单,容易从真实的实际场景中收集,相对于自然语言形式这种三元组的噪音更少,有利于简洁高效地获取用户个性编码。

细粒度的对话上下文相关的动态编码,首先编码当前轮次的对话上下文,获得对话历史的编码向量;然后使用得到的对话历史编码向量自适应地对结构化用户个性描述做注意力计算,以自动捕获与当前对话上下文最相关、最重要的用户属性知识,最终可以得到细粒度的对话上下文相关的动态编码。

粗粒度的全局静态个性编码,本发明除了使用细粒度的对话上下文相关的动态编码,还对全局的用户个性进行建模。首先分别对用户个性描述中的所有属性分别进行one-hot编码(01编码),然后乘以一个用户个性编码矩阵,这个矩阵在训练初始阶段是随机初始化得到的,就得到粗粒度的全局静态个性编码。

个性化匹配模块,获得用户个性编码之后,还需要将用户个性编码融合到对话上下文与候选答复的匹配过程中,本发明采用增强自然语言推理模型(esim)作为匹配模型,然后在esim模型的聚合层中融入用户个性编码向量,同时在esim的输出层增加一个与用户实体偏好相关的偏置参数。通过个性化匹配模块,本发明可以选择最合适贴切的回复,从而避免生成大量通用、千篇一律的答复,达到千人千面和推荐的效果,提高用户在对话过程中的融入感。

本发明是一种基于结构化用户属性描述的个性化任务型对话系统,可以得到以下有益效果:

(1)在传统的任务型对话系统的基础上,充分考虑了用户个性的影响,使得生成的答复不仅是内容相关的,而且是用户个性紧密联系的,避免生成大量通用、千篇一律的答复,达到千人千面和推荐的效果,提高用户在对话过程中的融入感。(2)本发明使用结构化三元组来描述用户个性,这种方式在实际的应用场景中容易获得,相比于自然语言描述,噪声更少,更易收集,有利于本发明在工业界的落地。(3)本发明使用了多粒度的、对话上下文相关的用户个性编码,使得对话进行过程中自动关注用户个性的不同方面,提高了模型的可解释性和准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍

图1是本发明中输入的结构化用户属性描述示意图。

图2是本发明的整体结构图。

图3是本发明中用户个性动态编码模块的结构示意图。

图4是本发明中个性化匹配模块的结构示意图。

具体实施方式

下面结合附图,对本发明的技术方案做进一步的说明。

如图2所示,本发明是本发明是一种基于结构化用户属性描述的个性化任务型对话系统,通过结构化三元组的形式来描述用户的个性,然后再使用与对话上下文紧密相关的动态编码方法捕获用户个性知识,最后再使用端到端的对话检索模型融合动态个性编码来选择最合适贴切的回复,从而避免生成大量通用、千篇一律的答复,达到千人千面的效果,提高用户在对话过程中的融入感。主要分为两个模块:用户个性动态编码模块,个性化匹配模块。用户个性动态编码模块负责将输入的结构化用户属性描述编码为一个特征向量,在编码的过程中,用户个性动态编码模块使用对话的上下文来自动选择用户结构化用户属性描述中最重要和相关的属性,然后再结合一个分布式的静态全局个性编码,最终得到一个多粒度的内容相关的用户个性编码。个性化匹配模块负责融合用户个性编码和对话内容,来从候选回复集中选择最合适贴切的对话回复。

s1.用户个性动态编码模块:用户个性动态编码分为两部分,一是细粒度的对话上下文相关的动态编码,二是粗粒度的全局静态个性编码。

s1.1首先本发明中用户个性描述为如下形式:{年龄=中年,性别=女,饮食偏好=素食},每个用户个性描述由很多个属性组成,属性又分为属性键和值,例如年龄为属性键,中年为其对应的属性值。我们使用e(ki)和e(vi)分别代表属性键和属性值的词向量编码,然后再通过一个双向长短记忆网络(bilstm)来编码对话历史,取最后时刻的隐层状态q作为对话上下文表征。在不同的上下文中,用户个性中的不同属性会发挥不同的作用,例如,在打招呼问候的时候,年龄和性别属性会更重要;而在推荐餐厅的时候,用户的饮食偏好会更重要。因此,本发明通过对话上下文表征自适应地捕获用户个性中最重要地属性,从而获得细粒度的动态用户个性编码。具体来说,我们使用对话上下文表征q对所有的属性做注意力计算,获得用户动态个性表征pdynamic:

αi=qt·e(ki),i=1,2,…,n

s1.2.粗粒度的全局静态个性编码:除了用户动态个性表征,本发明还采用了粗粒度的全局静态个性编码。我们首先分别对用户个性描述中的所有属性分别进行one-hot编码(01编码),然后乘以一个用户个性编码矩阵,这个矩阵在训练初始阶段是随机初始化得到的,就得到粗粒度的全局静态个性编码。将这两种编码方式拼接起来,最终得到一个多粒度的、对话上下文相关的用户个性编码

p=concat([pdynamic;pstatic])

s2.个性化匹配模块:获得用户个性编码之后,还需要将用户个性编码融合到对话上下文与候选答复的匹配过程中,本发明采用增强自然语言推理模型(esim)作为匹配模型,然后在esim模型的聚合层中融入用户个性编码向量,同时在esim的输出层增加一个与用户实体偏好相关的偏置参数。个性化匹配模块主要包括输入编码层、局部匹配层、聚合层以及输出层。

s2.1.输入编码层将对话和候选答复中的每一个词转化为词向量,然后再经过一个bi-lstm层获取上下文依赖关系,得到隐层状态表示其中i,j分别代表对话上下文中的第i个词,对话回复中的第j个词,e(c),e(r)分别代表对应的位置的词向量。

s2.2.局部匹配层获取对话上下文和回复之间的语义交互信息,本发明使用交叉注意力的方式,使用内积计算注意力分数:

然后分别加权求和:

最后将匹配信息融合,通过一个前馈网络计算:

s2.3.聚合层负责融合用户个性编码与匹配交互信息,通过以下方式实现:

这里的bilstm与传统的不同,我们融合了用户个性编码的信息:

ct=ft·ct-1+it·lt

ht=ot·tanh(ct)

这里的p代表动态上下文相关的用户个性表征,σ,it,ft,ot分别代表sigmoid激活函数,输入门,记忆门和输出门。本发明中所使用的长短记忆网络与普通的lstm相比,主要的区别在于我们在每一个时间步上融入了用户的个性表征,因此本发明可以促进选择个性化的候选答复。

s2.4.输出层将bilstm的隐层状态通过池化层输出固定维度的向量,然后再通过一个多层感知器(mlp)输出预测概率,预测结果为0或者1。

同时为了考虑用户的实体偏好,即不同个性的用户对同一类实体的偏好不同,例如年轻人更喜欢社交媒体,而年长者更喜欢手机电话等传统通讯方式。因此,本发明通过用户个性编码来学习用户的实体偏好bk,进而辅助选择合适的候选回复。

上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1