一种检索式个性化对话方法与系统技术方案

技术编号:31801749 阅读:16 留言:0更新日期:2022-01-08 11:02
本发明专利技术通过人工智能处理领域的方法,实现了一种检索式个性化对话方法与应用该方法的系统。方法通过构建个性化风格匹配模块,获得风格匹配特征向量g

【技术实现步骤摘要】
一种检索式个性化对话方法与系统


[0001]本专利技术涉及人工智能领域,尤其涉及一种检索式个性化对话方法与系统。

技术介绍

[0002]不论是在工业界还是学术界,开放领域的对话机器人是近年来自然语言处理领域的一个热门话题。一般来说,构建开放域对话机器人有两种途径:检索式和生成式。前者通常通过检索引擎,召回几个回答候选者的,然后从这些候选者中选择适当的响应。而后者直接利用诸如编码器

解码器的模型来生成响应文本。检索式聊天机器人在诸多工业界产品中有广泛应用,例如微软的小冰和阿里小蜜。
[0003]尽管目前的检索式开放领域对话机器人有很多不错的进展,但在这个行业的发展中仍然受到一些问题的制约。在这些众多的制约问题中,不能维持一致的人格是一个广为提及的。这是因为在用户与机器人的互动过程中,如果机器人不能维持一个一致的人格,会给用户带来很强的不可预知感和不信任感,这直接降低了用户体验。
[0004]因此,让聊天机器人保持一致的人格成为了一项至关重要的研究任务。在以往的研究中,很多研究者提出了很多方法来让聊天机器人保持一致的人格。例如,一些早期的工作(例如,Speaker model)尝试使用可训练的用户向量来为用户的个性化特征进行建模。而近期的一些研究者尝试使用预先定义好的人格描述来让模型学习到用户的个性化特征,这些定义好的人格一般有两种形式:1.几个描述用户喜好的句子;2.用户个性化属性的键值对。
[0005]当前诸多对用户个性化进行建模的方式存在以下问题:
[0006]1.虽然我们知道在用户的对话历史中存在这大量的用户个性化信息,但是当前的方法都没有直接从用户的对话历史中去对用户个性化信息进行建模;
[0007]2.使用基于用户向量的方法只是对每一个用户训练了一个用户向量,虽然这个向量一定程度上能帮助模型区分用户,但其中是否包含用户的个性化信息很难解释;
[0008]3.使用基于预定义个性化的方法需要大规模的对用户个性数据的标注,这样的数据标注需要大量的人力,成本非常高。另外,在真实的应用场景中,用户可能不愿意填写详细的个性化信息;
[0009]4.用户的个性化信息可能随着时间而变化,不论是基于用户向量的方式还是基于预定义个性化描述的方法都很难支持用户个性化信息的更新。

技术实现思路

[0010]为此,本专利技术首先提出一种检索式个性化对话方法,首先构建个性化风格匹配模块,使用用户的历史回复来捕获个性化语言特征,对于所有历史回答R= {r
j
},j∈[1,t],通过表示层、匹配层、聚合层三个计算步骤,获得风格匹配特征向量g
S
(q,r,H);然后,设计依赖当前问题的用户画像匹配模块,通过构建依赖当前问题的用户画像D、在回答候选者和依赖当前问题的用户画像之间进行匹配、聚合匹配特征三个步骤,实现从对话历史记录H自
动生成依赖当前问题的用户画像D,并获得所述用户画像匹配向量g
P
(q,r,H)来衡量用户画像和回答候选者之间的一致性;最后通过融合模块将所述风格匹配特征向量g
S
(q,r,H)和所述用户画像匹配向量g
P
(q,r,H)组合起来以计算最终匹配得分g(q,r,u)。最终将匹配得分最高的回复作为最终回复返回。
[0011]所述表示层利用n个注意力模块,获得当前回答候选r和每个历史回复r
j
,j∈ [1,t]的多粒度表示和E={e0,

,e
n
},对于任意第j个历史回复r
j
,首先通过预训练词向量来初始化单词表示然后,通过将词向量输入n个注意力来获得回复r
j
的深层的上下文表示形式:
[0012][0013][0014]其中e
pj
以与e
rj
相同的方式获得,最终获得n+1个交叉注意的表示形式相同的方式获得,最终获得n+1个交叉注意的表示形式对于响应候选r,以相同的方式先通过预训练词向量获得初始化单词表示,再将其输入n个注意力来获得回复r
j
的深层的上下文表示形式下文表示形式和
[0015]所述匹配层对于第j个响应r
j
,计算相似性矩阵和
[0016]l∈[0,n],
[0017]其中d是词向量的维度,对于t个历史回复R={r1,

r
t
},可以得到多个相似性矩阵和之后,将多个相似性矩阵连接起来以形成t个历史回复与回复候选者之间的最终匹配矩阵:
[0018][0019]这里f
stack
(
·
)r指的是在一个新的维度上连接向量,中的L是文本序列的最大长度。
[0020]所述聚合层使用2D

CNN从堆栈的匹配矩阵M
s
中提取匹配特征,然后将提取的特征向量使用多层感知器线性映射到较低维度,由此获得匹配特征矩阵向量使用多层感知器线性映射到较低维度,由此获得匹配特征矩阵接下来使用自注意力机制得到当前矩阵与每一个历史回复的特征矩阵的权重,并将它们加权相加在一起,得到用于衡量候选回答的风格一致性的风格匹配特征向量g
S
(q,r,H)。
[0021]所述构建依赖当前问题的用户画像D步骤计算当前问题q与历史问题P= {p1,

,p
t
}的相关性,以获得相关性向量s,所述相关性向量s由词级相关性向量 s1和句子级相关性向量s2组成,给定用户的t个历史帖子P={p
j
},j∈[1,t]和当前查询q,首先通过使用预训练词向量来初始化其向量表示形式E
P
={e
p1


e
pt
}和 eq,然后,将这些表示形式输入一个注意力模块中,以增强它们的序列语义依赖性:
j∈[1,t],对于t个历史问题,有将加到
[0022]在词级别,对于t个历史回复,获得它的匹配矩阵在词级别,对于t个历史回复,获得它的匹配矩阵这里和都是可训练的参数,用softmax函数来获得词级别的相关度得分s1;
[0023]在句子级别,首先对词维度进行均值池化以获得句子表示形式,使用余弦相似度来计算句级别的相关度得分:
[0024][0025]这里
[0026]最后有合并了词级别和句级别的相关度得分:s=α
·
s1+(1

α)
·
s2,α是一个可训练的参数,其被初始化为0.5;
[0027]进而,对于每一次计算当前问题与历史问题的相似度,把历史回复中最相似的那个问题提取出来,然后将它的向量表示与当前问题的向量表示融合得到注意力键K
i
,在第一次计算时,K1=e
q
,对于每一次计算相似度,获得相关度得分矩阵s=s
(本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种检索式个性化对话方法,其特征在于:首先构建个性化风格匹配模块,使用用户的历史回复来捕获个性化语言特征,对于所有历史回答R={r
j
},j∈[1,t],通过表示层、匹配层、聚合层三个计算步骤,获得风格匹配特征向量g
S
(q,r,H);然后,设计依赖当前问题的用户画像匹配模块,通过构建依赖当前问题的用户画像D、在回答候选者和依赖当前问题的用户画像之间进行匹配、聚合匹配特征三个步骤,实现从对话历史记录H自动生成依赖当前问题的用户画像D,并获得所述用户画像匹配向量g
P
(q,r,H)来衡量用户画像和回答候选者之间的一致性;最后通过融合模块将所述风格匹配特征向量g
S
(q,r,H)和所述用户画像匹配向量g
P
(q,r,H)组合起来以计算最终匹配得分并将匹配得分最高的候选回复作为最终回复返回。2.如权利要求1所述的一种检索式个性化对话方法,其特征在于:所述表示层利用n个注意力模块,获得当前回答候选r和每个历史回复r
j
,j∈[1,t]的多粒度表示和E={e0,

,e
n
},对于任意第j个历史回复r
j
,首先通过预训练词向量来初始化单词表示然后,通过将词向量输入n个注意力来获得回复r
j
的深层的上下文表示形式:的深层的上下文表示形式:其中以与相同的方式获得,最终获得n+1个交叉注意的表示形式相同的方式获得,最终获得n+1个交叉注意的表示形式对于响应候选r,先通过预训练词向量获得初始化单词表示,再将其输入n个注意力来获得回复r
j
的深层的上下文表示形式,和和3.如权利要求2所述的一种检索式个性化对话方法,其特征在于:所述匹配层对于第j个响应r
j
,计算相似性矩阵和和其中d是词向量的维度,对于t个历史回复R={r1,

r
t
},可以得到多个相似性矩阵和之后,将多个相似性矩阵连接起来以形成t个历史回复与回复候选者之间的最终匹配矩阵:这里f
stack
(
·
)r指的是在一个新的维度上连接向量,中的L是文本序列的最大长度。4.如权利要求3所述的一种检索式个性化对话方法,其特征在于:所述聚合层使用2D

CNN从堆栈的匹配矩阵M
s
中提取匹配特征,然后将提取的特征向量使用多层感知器线性映射到较低维度,由此获得匹配特征矩阵接下来使用自注意力机制得到当前矩阵与每一个历史回复的特征矩阵的权重,并将它们加权相加在一起,得到用于衡量候选回答的风格一致性的风格匹配特征向量g
S
(q,r,H)。5.如权利要求4所述的一种检索式个性化对话方法,其特征在于:所述构建依赖当前问
题的用户画像D步骤计算当前问题q与历史问题P={p1,

,p
t
}的相关性,以获得相关性向量s,所述相关性向量s由词级相关性向量s1和句子级相关性向量s2组成,给定用户的t个历史帖子P=...

【专利技术属性】
技术研发人员:窦志成钱泓锦
申请(专利权)人:中国人民大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1