一种融合上下文信息的多轮对话方法及系统技术方案

技术编号:28501667 阅读:24 留言:0更新日期:2021-05-19 22:46
本发明专利技术涉及一种融合上下文信息的多轮对话方法及系统,该方法包括以下步骤:步骤A:从智能客服系统中获取用户与客服的相关对话数据,提取用户与客服之间的会话,构建多轮对话训练集;步骤B:构建用于多轮对话的融合上下文信息的深度学习网络模型及其损失函数,以多轮对话训练集中的对话与回答作为输入,在训练集上通过最小化损失函数训练深度学习网络模型;步骤C:将用户的对话输入训练好的深度学习网络模型中,输出最匹配的回答。该方法及系统有利于在与用户对话中给出更匹配的回答。利于在与用户对话中给出更匹配的回答。利于在与用户对话中给出更匹配的回答。

【技术实现步骤摘要】
一种融合上下文信息的多轮对话方法及系统


[0001]本专利技术属于自然语言处理领域,具体涉及一种融合上下文信息的多轮对话方法及系统。

技术介绍

[0002]随着自然语言处理技术的发展,人机对话取得了重大的进展,对话系统也逐渐走进人们的生活当中。对话系统在生活中有着广泛的应用比如:教育辅导、问答系统、在线客服、个人秘书等。其优势在于24小时在线、准确及时回复等,既可以将人从繁重的工作中解放出来,又可以提高用户的体验度。对话系统具有巨大的商用价值,目前很多互联网公司都推出了自己的产品。
[0003]Hu等人将视觉和话语中适应卷积策略相结合,不仅优化了序列的层次结构还捕获了不同级别的丰富匹配模式。Wang等人提出了一种被称为深度匹配树的模型。深度匹配树利用深度神经网络挖掘句法信息的模式,从而更高效、直观地计算两个短句之间的相似度。Zhou等人提出的模型集成了来自两个不同视图的信息,分别是单词序列视图和话语序列视图。通过深度神经网络共同对这两种视图进行建模,从而更加有效的捕捉句子之间的依赖关系。Deng等人将匹配网络中常用的递归神经网络替换为门控卷积神经网络,以构建更具表达力的句子语义表示。之后利用增强的顺序推理模型来捕获对话上下文和回答中每个话语之间的交互信息。Gu等人使用了多层LSTM,从而层次化的对句子进行编码,通过注意力机制将不同层次的编码进行聚合从而生成更加具有描述性的语义信息。Yan等人首先使用双向长短期记忆网络进行编码,再使用CNN提取连续词之间的局部邻接特征,从而生成话语的复合表示。Zhou等人受到了Transformer机制的启发,于是Zhou等人将注意力机制扩展为两个点。它们分别是自注意力机制和交互注意力机制,自注意力机制使句子自身进行交互,从而可以捕获其内部单词级别的依存关系,交互注意力机制通过使对话上下文和回答相互融合,从而捕获潜在匹配段之间的依赖关系。通过这两种注意力机制,增强了句子自身的表示并丰富了提取到的语义信息。

技术实现思路

[0004]本专利技术的目的在于提供一种融合上下文信息的多轮对话方法及系统,该方法及系统有利于在与用户对话中给出更匹配的回答。
[0005]为实现上述目的,本专利技术采用的技术方案是:一种融合上下文信息的多轮对话方法,其特征在于,包括以下步骤:
[0006]步骤A:从智能客服系统中获取用户与客服的相关对话数据,提取用户与客服之间的会话,,构建多轮对话训练集;
[0007]步骤B:构建用于多轮对话的融合上下文信息的深度学习网络模型及其损失函数,以多轮对话训练集中的对话与回答作为输入,在训练集上通过最小化损失函数训练深度学习网络模型;
[0008]步骤C:将用户的对话输入训练好的深度学习网络模型中,输出最匹配的回答。
[0009]进一步地,所述多轮对话训练集中的每条样本由一个三元组(u,a,y)构成,其中u={u1,u2,...,u
t
,...,u
n
}表示用户与客服之间的对话上下文,u
t
表示对话中的第t条语句,n表示对话的语句数,a表示候选的回答,y表示标签,y∈{0,1},y=1表示回答a是正确的回答,y=0表示回答a是错误的回答;在智能客服系统中,若用户与客服间的会话标记为已解决,表示用户与客服间的对话解决了用户提出的问题,故利用标记为已解决的会话构造多轮对话训练集的正样本:首先排除用户与客服对话过程中的寒暄语句,之后将客服最后的回答作为三元组(u,a,y)的a,客服最后的回答之前的用户与客服的对话语句构成u,标签y设置为1,构成多轮对话训练集中的正样本;除客服最后的回答以外,在用户与客服的对话语句中随机选择客服回复的一条语句作为a,标签设置为0,则构成多轮对话训练集的负样本。
[0010]进一步地,所述步骤B具体包括以下步骤:
[0011]步骤B1:构建融合上下文信息的深度学习网络模型,所述深度学习网络模型包括输入编码层、注意力层、上下文建模层以及输出层;所述输入编码层分别对对话与回答进行字符级和词语级编码,并分别融合对话与回答的词语级表征和字符级表征,生成对话与回答的多粒度语义表征;所述注意力层包括多头注意力子层、交互子层和自注意力子层,用于提取对话与回答中与对话与回答语义匹配相关的上下文信息,减少噪声的影响,得到语义增强后的对话与答案的语义表征向量;所述上下文建模层用于捕获对话和回答之间的长期依赖关系;最后将融合后的语义表征向量输入到所述输出层中,使用softmax输出回答与对话相匹配的概率;
[0012]步骤B2:构建所述深度学习网络模型的损失函数,选择交叉熵作为深度学习网络模型的损失函数,计算公式如下:
[0013][0014]其中,p
i
表示第i个样本中包含的回答为对话的正确答案的概率,y
i
为标签,y
i
∈{0,1},y
i
=1表示第i个样本中包含的回答为对话的正确答案,y
i
=0表示第i个样本中包含的回答不是对话的正确答案;是L2正则化项,λ是学习率,θ包含所有参数;
[0015]步骤B3:遍历多轮对话训练集,对训练集中的每个训练样本,按步骤B4

B7进行处理;
[0016]步骤B4:将训练样本中的对话输入到输入编码层,进行词语级和字符级编码,融合得到对话的多粒度表征向量,将训练样本中的回答输入到输入编码层,进行词语级和字符级编码,得到回答的多粒度表征向量;
[0017]步骤B5:将对话的多粒度表征向量与回答的多粒度表征向量输入到注意力层,计算得到融合对话与回答语义信息的表征向量序列
[0018]步骤B6:将步骤B5得到的表征向量序列输入到上下文建模层中进行上下文建模,提取对话与回答语句之间的依赖关系,得到上下文感知的融合对话与回答语义信息的表征向量
[0019]步骤B7:将步骤B6得到的表征向量输入到输出层中,使用softmax进行归一化操作,得到回答与对话相匹配的概率;
[0020]步骤B8:根据步骤B2的损失函数计算损失并进行反向传播,通过多次迭代最小化损失函数,采用mini

batch梯度下降法进行分批优化,得到训练好的融合上下文信息的深度学习网络模型。
[0021]进一步地,所述步骤B4具体包括以下步骤:
[0022]步骤B41:对样本进行预处理,然后查询预训练的词向量矩阵,分别得到该样本的对话与回答的词语级表征向量;
[0023]对对话中的每条语句进行分词并去除停用词,设定为固定长度l,若该语句进行分词并去除停用词后剩余的词数小于l,则填充零向量,若大于l,则截断到固定长度l;然后查询预训练的词向量矩阵得到每条语句中每个词的词向量,由对话中各个词的词向量构成对应语句的词语级表征向量,同样,对回答a进行分词并去除停用词,设定为固定长度l,若回答进行分词并去除停用词后剩余的词数小于l,则填充零向量,若大于l,则截断到固定长度l;然后查询预训本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种融合上下文信息的多轮对话方法,其特征在于,包括以下步骤:步骤A:从智能客服系统中获取用户与客服的相关对话数据,提取用户与客服之间的会话,构建多轮对话训练集;步骤B:构建用于多轮对话的融合上下文信息的深度学习网络模型及其损失函数,以多轮对话训练集中的对话与回答作为输入,在训练集上通过最小化损失函数训练深度学习网络模型;步骤C:将用户的对话输入训练好的深度学习网络模型中,输出最匹配的回答。2.根据权利要求1所述的一种融合上下文信息的多轮对话方法,其特征在于,所述多轮对话训练集中的每条样本由一个三元组(u,a,y)构成,其中u={u1,u2,...,u
t
,...,u
n
}表示用户与客服之间的对话上下文,u
t
表示对话中的第t条语句,n表示对话的语句数,a表示候选的回答,y表示标签,y∈{0,1},y=1表示回答a是正确的回答,y=0表示回答a是错误的回答;在智能客服系统中,若用户与客服间的会话标记为已解决,表示用户与客服间的对话解决了用户提出的问题,故利用标记为已解决的会话构造多轮对话训练集的正样本:首先排除用户与客服对话过程中的寒暄语句,之后将客服最后的回答作为三元组(u,a,y)的a,客服最后的回答之前的用户与客服的对话语句构成u,标签y设置为1,构成多轮对话训练集中的正样本;除客服最后的回答以外,在用户与客服的对话语句中随机选择客服回复的一条语句作为a,标签设置为0,则构成多轮对话训练集的负样本。3.根据权利要求2所述的一种融合上下文信息的多轮对话方法,其特征在于,所述步骤B具体包括以下步骤:步骤B1:构建融合上下文信息的深度学习网络模型,所述深度学习网络模型包括输入编码层、注意力层、上下文建模层以及输出层;所述输入编码层分别对对话与回答进行词语级和字符级编码,并分别融合对话与回答的词语级表征和字符级表征,生成对话与回答的多粒度语义表征;所述注意力层包括多头注意力子层、交互子层和自注意力子层,用于提取对话与回答中与对话与回答语义匹配相关的上下文信息,减少噪声的影响,得到语义增强后的对话与答案的语义表征向量;所述上下文建模层用于捕获对话和回答之间的长期依赖关系;最后将融合后的语义表征向量输入到所述输出层中,使用softmax输出回答与对话相匹配的概率;步骤B2:构建所述深度学习网络模型的损失函数,选择交叉熵作为深度学习网络模型的损失函数,计算公式如下:其中,p
i
表示第i个样本中包含的回答为对话的正确答案的概率,y
i
为标签,y
i
∈{0,1},y
i
=1表示第i个样本中包含的回答为对话的正确答案,y
i
=0表示第i个样本中包含的回答不是对话的正确答案;是L2正则化项,λ是学习率,θ包含所有参数;步骤B3:遍历多轮对话训练集,对训练集中的每个训练样本,按步骤B4

B7进行处理;步骤B4:将训练样本中的对话输入到输入编码层,进行词语级和字符级编码,融合得到对话的多粒度表征向量,将训练样本中的回答输入到输入编码层,进行词语级和字符级编码,得到回答的多粒度表征向量;
步骤B5:将对话的多粒度表征向量与回答的多粒度表征向量输入到注意力层,计算得到融合对话与回答语义信息的表征向量序列步骤B6:将步骤B5得到的表征向量序列输入到上下文建模层中进行上下文建模,提取对话与回答语句之间的依赖关系,得到上下文感知的融合对话与回答语义信息的表征向量步骤B7:将步骤B6得到的表征向量输入到输出层中,使用softmax进行归一化操作,得到回答与对话相匹配的概率;步骤B8:根据步骤B2的损失函数计算损失并进行反向传播,通过多次迭代最小化损失函数,采用mini

batch梯度下降法进行分批优化,得到训练好的融合上下文信息的深度学习网络模型。4.根据权利要求3所述的一种融合上下文信息的多轮对话方法,其特征在于,所述步骤B4具体包括以下步骤:步骤B41:对样本进行预处理,然后查询预训练的词向量矩阵,分别得到该样本的对话与回答的词语级表征向量;对对话中的每条语句进行分词并去除停用词,设定为固定长度l,若该语句进行分词并去除停用词后剩余的词数小于l,则填充零向量,若大于l,则截断到固定长度l;然后查询预训练的词向量矩阵得到每条语句中每个词的词向量,由对话中各个词的词向量构成对应语句的词语级表征向量,同样,对回答a进行分词并去除停用词,设定为固定长度l,若回答进行分词并去除停用词后剩余的词数小于l,则填充零向量,若大于l,则截断到固定长度l;然后查询预训练的词向量矩阵得到回答中每个词的词向量,由回答中各个词的词向量构成回答的词语级表征向量;步骤B42:查询预训练的字符向量矩阵,分别得到该样本的对话与回答的字符级表征向量;其中,对于对话中的每条语句u
t
,t=1,2,...,n,对于u
t
中的每个词,查询预训练的字符向量矩阵,获得构成该词的每个字符的字符向量,由每个字符的字符向量构成该词的字符向量矩阵,将该词的字符向量矩阵输入到卷积神经网络中,使用多个卷积核进行字符级特征提取,再进行最大池化操作,得到每个词的字符级表征向量,由u
t
中各个词的字符级表征向量构成u
t
的字符级表征向量;对于回答a中的每个词,查询预训练的字符向量矩阵,获得构成该词的每个字符的字符向量,...

【专利技术属性】
技术研发人员:潘昌琴林涵阳杨涛卓丽栋张路卢进桦陈羽中
申请(专利权)人:江苏实达迪美数据处理有限公司
类型:发明
国别省市:

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

1