CN112818105A - 一种融合上下文信息的多轮对话方法及系统 - Google Patents
一种融合上下文信息的多轮对话方法及系统 Download PDFInfo
- Publication number
- CN112818105A CN112818105A CN202110163418.4A CN202110163418A CN112818105A CN 112818105 A CN112818105 A CN 112818105A CN 202110163418 A CN202110163418 A CN 202110163418A CN 112818105 A CN112818105 A CN 112818105A
- Authority
- CN
- China
- Prior art keywords
- answer
- vector
- word
- dialogue
- characterization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Abstract
本发明涉及一种融合上下文信息的多轮对话方法及系统,该方法包括以下步骤:步骤A:从智能客服系统中获取用户与客服的相关对话数据,提取用户与客服之间的会话,构建多轮对话训练集;步骤B:构建用于多轮对话的融合上下文信息的深度学习网络模型及其损失函数,以多轮对话训练集中的对话与回答作为输入,在训练集上通过最小化损失函数训练深度学习网络模型;步骤C:将用户的对话输入训练好的深度学习网络模型中,输出最匹配的回答。该方法及系统有利于在与用户对话中给出更匹配的回答。
Description
技术领域
本发明属于自然语言处理领域,具体涉及一种融合上下文信息的多轮对话方法及系统。
背景技术
随着自然语言处理技术的发展,人机对话取得了重大的进展,对话系统也逐渐走进人们的生活当中。对话系统在生活中有着广泛的应用比如:教育辅导、问答系统、在线客服、个人秘书等。其优势在于24小时在线、准确及时回复等,既可以将人从繁重的工作中解放出来,又可以提高用户的体验度。对话系统具有巨大的商用价值,目前很多互联网公司都推出了自己的产品。
Hu等人将视觉和话语中适应卷积策略相结合,不仅优化了序列的层次结构还捕获了不同级别的丰富匹配模式。Wang等人提出了一种被称为深度匹配树的模型。深度匹配树利用深度神经网络挖掘句法信息的模式,从而更高效、直观地计算两个短句之间的相似度。Zhou等人提出的模型集成了来自两个不同视图的信息,分别是单词序列视图和话语序列视图。通过深度神经网络共同对这两种视图进行建模,从而更加有效的捕捉句子之间的依赖关系。Deng等人将匹配网络中常用的递归神经网络替换为门控卷积神经网络,以构建更具表达力的句子语义表示。之后利用增强的顺序推理模型来捕获对话上下文和回答中每个话语之间的交互信息。Gu等人使用了多层LSTM,从而层次化的对句子进行编码,通过注意力机制将不同层次的编码进行聚合从而生成更加具有描述性的语义信息。Yan等人首先使用双向长短期记忆网络进行编码,再使用CNN提取连续词之间的局部邻接特征,从而生成话语的复合表示。Zhou等人受到了Transformer机制的启发,于是Zhou等人将注意力机制扩展为两个点。它们分别是自注意力机制和交互注意力机制,自注意力机制使句子自身进行交互,从而可以捕获其内部单词级别的依存关系,交互注意力机制通过使对话上下文和回答相互融合,从而捕获潜在匹配段之间的依赖关系。通过这两种注意力机制,增强了句子自身的表示并丰富了提取到的语义信息。
发明内容
本发明的目的在于提供一种融合上下文信息的多轮对话方法及系统,该方法及系统有利于在与用户对话中给出更匹配的回答。
为实现上述目的,本发明采用的技术方案是:一种融合上下文信息的多轮对话方法,其特征在于,包括以下步骤:
步骤A:从智能客服系统中获取用户与客服的相关对话数据,提取用户与客服之间的会话,,构建多轮对话训练集;
步骤B:构建用于多轮对话的融合上下文信息的深度学习网络模型及其损失函数,以多轮对话训练集中的对话与回答作为输入,在训练集上通过最小化损失函数训练深度学习网络模型;
步骤C:将用户的对话输入训练好的深度学习网络模型中,输出最匹配的回答。
进一步地,所述多轮对话训练集中的每条样本由一个三元组(u,a,y)构成,其中u={u1,u2,...,ut,...,un}表示用户与客服之间的对话上下文,ut表示对话中的第t条语句,n表示对话的语句数,a表示候选的回答,y表示标签,y∈{0,1},y=1表示回答a是正确的回答,y=0表示回答a是错误的回答;在智能客服系统中,若用户与客服间的会话标记为已解决,表示用户与客服间的对话解决了用户提出的问题,故利用标记为已解决的会话构造多轮对话训练集的正样本:首先排除用户与客服对话过程中的寒暄语句,之后将客服最后的回答作为三元组(u,a,y)的a,客服最后的回答之前的用户与客服的对话语句构成u,标签y设置为1,构成多轮对话训练集中的正样本;除客服最后的回答以外,在用户与客服的对话语句中随机选择客服回复的一条语句作为a,标签设置为0,则构成多轮对话训练集的负样本。
进一步地,所述步骤B具体包括以下步骤:
步骤B1:构建融合上下文信息的深度学习网络模型,所述深度学习网络模型包括输入编码层、注意力层、上下文建模层以及输出层;所述输入编码层分别对对话与回答进行字符级和词语级编码,并分别融合对话与回答的词语级表征和字符级表征,生成对话与回答的多粒度语义表征;所述注意力层包括多头注意力子层、交互子层和自注意力子层,用于提取对话与回答中与对话与回答语义匹配相关的上下文信息,减少噪声的影响,得到语义增强后的对话与答案的语义表征向量;所述上下文建模层用于捕获对话和回答之间的长期依赖关系;最后将融合后的语义表征向量输入到所述输出层中,使用softmax输出回答与对话相匹配的概率;
步骤B2:构建所述深度学习网络模型的损失函数,选择交叉熵作为深度学习网络模型的损失函数,计算公式如下:
其中,pi表示第i个样本中包含的回答为对话的正确答案的概率,yi为标签,yi∈{0,1},yi=1表示第i个样本中包含的回答为对话的正确答案,yi=0表示第i个样本中包含的回答不是对话的正确答案;是L2正则化项,λ是学习率,θ包含所有参数;
步骤B3:遍历多轮对话训练集,对训练集中的每个训练样本,按步骤B4-B7进行处理;
步骤B4:将训练样本中的对话输入到输入编码层,进行词语级和字符级编码,融合得到对话的多粒度表征向量,将训练样本中的回答输入到输入编码层,进行词语级和字符级编码,得到回答的多粒度表征向量;
步骤B8:根据步骤B2的损失函数计算损失并进行反向传播,通过多次迭代最小化损失函数,采用mini-batch梯度下降法进行分批优化,得到训练好的融合上下文信息的深度学习网络模型。
进一步地,所述步骤B4具体包括以下步骤:
步骤B41:对样本进行预处理,然后查询预训练的词向量矩阵,分别得到该样本的对话与回答的词语级表征向量;
对对话中的每条语句进行分词并去除停用词,设定为固定长度l,若该语句进行分词并去除停用词后剩余的词数小于l,则填充零向量,若大于l,则截断到固定长度l;然后查询预训练的词向量矩阵得到每条语句中每个词的词向量,由对话中各个词的词向量构成对应语句的词语级表征向量,同样,对回答a进行分词并去除停用词,设定为固定长度l,若回答进行分词并去除停用词后剩余的词数小于l,则填充零向量,若大于l,则截断到固定长度l;然后查询预训练的词向量矩阵得到回答中每个词的词向量,由回答中各个词的词向量构成回答的词语级表征向量;
步骤B42:查询预训练的字符向量矩阵,分别得到该样本的对话与回答的字符级表征向量;
其中,对于对话中的每条语句ut,t=1,2,...,n,对于ut中的每个词,查询预训练的字符向量矩阵,获得构成该词的每个字符的字符向量,由每个字符的字符向量构成该词的字符向量矩阵,将该词的字符向量矩阵输入到卷积神经网络中,使用多个卷积核进行字符级特征提取,再进行最大池化操作,得到每个词的字符级表征向量,由ut中各个词的字符级表征向量序列构成ut的字符级表征向量;对于回答a中的每个词,查询预训练的字符向量矩阵,获得构成该词的每个字符的字符向量,由每个字符的字符向量构成该词的字符向量矩阵,将该词的字符向量矩阵输入到卷积神经网络中,使用多个卷积核进行字符级特征提取,再进行最大池化操作,得到每个词的字符级表征向量,由回答a中各个词的字符级表征向量序列构成回答的字符级表征向量;
步骤B43:对于对话中的每条语句,分别连接语句中每个词的字符级表征向量与词语级表征向量,得到对话中每条语句的多粒度表征向量对于回答,分别连接回答中每个词的字符级表征向量与词语级表征向量,得到回答的多粒度表征向量d表示每个词的多粒度表征向量的维度。
进一步地,所述步骤B5具体包括以下步骤:
步骤B51:将对话中的每条语句的多粒度表征向量输入到多头注意力子层中,提取每条语句的关键信息,得到对话中每条语句的表征向量;将回答的多粒度表征向量输入到多头注意力子层中,提取回答中的关键信息,得到回答的表征向量;
选择能够整除d的整数s,对于对话中的每条语句ut,t=1,2,...,n,将ut分成多个子句,即将ut的表征向量平均切分成s个子向量,得到子向量序列其中是的第h个子向量,然后对每个子句单独进行注意力权重的计算,即将与自身构成一个子向量对对每个子向量对单独利用注意力机制进行计算,提取每个子句的关键信息,汇总后得到ut的表征向量,公式如下:
按照同样方式,将回答分成多个子句,即将回答a的表征向量平均切分成s个子向量,得到子向量序列其中回答的表征向量的第h个子向量;对回答的每个子句单独进行注意力权重的计算,即将与自身构成一个子向量对对每个子向量对单独利用注意力机制进行计算,提取每个子句的关键信息,汇总后得到a的表征向量公式如下:
进一步地,所述步骤B52具体包括以下步骤:
步骤B522:计算表征向量与的差 与的哈达玛积连接 四个包含对话与回答之间语义匹配信息的表征向量,得到对话的表征向量计算表征向量与的差与的哈达玛积连接四个回答与对话之间语义匹配信息的表征向量,得到回答的表征向量其中[;]表示向量连接操作;
进一步地,所述步骤B53具体包括以下步骤:
步骤B531:将对话中每条语句的表征向量输入到自注意力机制模块中,首先将在第一个维度上划分为 对应ut中第i个词的表征向量,然后通过tanh激活函数得到的隐层表示,然后动态计算语句中不同词的注意力权重分布,通过softmax函数归一化注意力权重,通过注意力权重加权,得到对话中每条语句的的表征向量同样将回答的表征向量输入到自注意力机制模块中,在第一个维度上划分 对应回答a中第i个词的表征向量,然后通过tanh激活函数得到的隐层表示,然后动态计算语句中不同词的注意力权重分布,通过softmax函数归一化注意力权重,通过注意力权重加权,得到回答的表征向量其公式如下:
其中,W3,b3,W4,W5,b5,W6均为待训练的参数;
本发明还提供了一种融合上下文信息的多轮对话系统,包括存储器、处理器以及存储于存储器上并能够在处理器上运行的程序模块,所述程序模块包括:
训练集构建模块,用于采集用户与客服之间的对话与回答数据,构建对话训练集;
模型训练模块,用于使用对话训练集,训练融合上下文信息的深度学习网络模型;以及
多轮对话模块,用于与用户进行对话,将用户的对话输入训练好的深度学习网络模型中,输出最匹配的回答;
当处理器运行所述程序模块时,实现所述的方法步骤。
相较于现有技术,本发明具有以下有益效果:该方法及系统通过对多轮对话的上下文进行语义建模,能够有效提高对用户提问意图的语义理解程度,从而在与用户的多轮对话中给出更加匹配的回答。因此,本发明具有很强的实用性和广阔的应用前景。
附图说明
图1是本发明实施例的方法实现流程图。
图2是本发明实施例的系统程序模块结构图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
如图1所示,本实施例提供了一种融合上下文信息的多轮对话方法,包括以下步骤:
步骤A:从智能客服系统中获取用户与客服的相关对话数据,提取用户与客服之间的会话,构建多轮对话训练集。
所述多轮对话训练集中的每条样本由一个三元组(u,a,y)构成,其中u={u1,u2,...,ut,...,un}表示用户与客服之间的对话上下文,ut表示对话中的第t条语句,n表示对话的语句数,a表示候选的回答,y表示标签,y∈{0,1},y=1表示回答a是正确的回答,y=0表示回答a是错误的回答;在智能客服系统中,若用户与客服间的会话标记为已解决,表示用户与客服间的对话解决了用户提出的问题,故利用标记为已解决的会话构造多轮对话训练集的正样本:首先排除用户与客服对话过程中的寒暄语句,之后将客服最后的回答作为三元组(u,a,y)的a,客服最后的回答之前的用户与客服的对话语句构成u,标签y设置为1,构成多轮对话训练集中的正样本;除客服最后的回答以外,在用户与客服的对话语句中随机选择客服回复的一条语句作为a,标签设置为0,则构成多轮对话训练集的负样本。
步骤B:构建用于多轮对话的融合上下文信息的深度学习网络模型及其损失函数,以多轮对话训练集中的对话与回答作为输入,在训练集上通过最小化损失函数训练深度学习网络模型。
所述步骤B具体包括以下步骤:
步骤B1:构建融合上下文信息的深度学习网络模型,所述深度学习网络模型包括输入编码层、注意力层、上下文建模层以及输出层;所述输入编码层分别对对话与回答进行字符级和词语级编码,并分别融合对话与回答的词语级表征和字符级表征,生成对话与回答的多粒度语义表征;所述注意力层包括多头注意力子层、交互子层和自注意力子层,用于提取对话与回答中与对话与回答语义匹配相关的上下文信息,减少噪声的影响,得到语义增强后的对话与答案的语义表征向量;所述上下文建模层用于捕获对话和回答之间的长期依赖关系;最后将融合后的语义表征向量输入到所述输出层中,使用softmax输出回答与对话相匹配的概率。
在本实施例中,所述上下文建模层可以采用旋转记忆单元(ROTATION UNIT OFMEMORY,公开于论文“ANovel Representation Unit for RNNs with ScalableApplications”)来捕获对话和回答之间的长期依赖关系,所述旋转记忆单元通过在欧几里德空间中旋转的方式来操纵隐藏状态,以更有效地提取对话与回答的语义表征向量。
步骤B2:构建所述深度学习网络模型的损失函数,选择交叉熵作为深度学习网络模型的损失函数,计算公式如下:
其中,pi表示第i个样本中包含的回答为对话的正确答案的概率,yi为标签,yi∈{0,1},yi=1表示第i个样本中包含的回答为对话的正确答案,yi=0表示第i个样本中包含的回答不是对话的正确答案;是L2正则化项,λ是学习率,θ包含所有参数。
步骤B3:遍历多轮对话训练集,对训练集中的每个训练样本,按步骤B4-B7进行处理。
步骤B4:将训练样本中的对话输入到输入编码层,进行词语级和字符级编码,融合得到对话的多粒度表征向量,将训练样本中的回答输入到输入编码层,进行词语级和字符级编码,得到回答的多粒度表征向量。所述步骤B4具体包括以下步骤:
步骤B41:对样本进行预处理,然后查询预训练的词向量矩阵,分别得到该样本的对话与回答的词语级表征向量;
对对话中的每条语句进行分词并去除停用词,设定为固定长度l,若该语句进行分词并去除停用词后剩余的词数小于l,则填充零向量,若大于l,则截断到固定长度l;然后查询预训练的词向量矩阵得到每条语句中每个词的词向量,由对话中各个词的词向量构成对应语句的词语级表征向量,同样,对回答a进行分词并去除停用词,设定为固定长度l,若回答进行分词并去除停用词后剩余的词数小于l,则填充零向量,若大于l,则截断到固定长度l;然后查询预训练的词向量矩阵得到回答中每个词的词向量,由回答中各个词的词向量构成回答的词语级表征向量;
步骤B42:查询预训练的字符向量矩阵,分别得到该样本的对话与回答的字符级表征向量。
其中,对于对话中的每条语句ut,t=1,2,...,n,对于ut中的每个词,查询预训练的字符向量矩阵,获得构成该词的每个字符的字符向量,由每个字符的字符向量构成该词的字符向量矩阵,将该词的字符向量矩阵输入到卷积神经网络中,使用多个卷积核进行字符级特征提取,再进行最大池化操作,得到每个词的字符级表征向量,由ut中各个词的字符级表征向量序列构成ut的字符级表征向量;对于回答a中的每个词,查询预训练的字符向量矩阵,获得构成该词的每个字符的字符向量,由每个字符的字符向量构成该词的字符向量矩阵,将该词的字符向量矩阵输入到卷积神经网络中,使用多个卷积核进行字符级特征提取,再进行最大池化操作,得到每个词的字符级表征向量,由回答a中各个词的字符级表征向量序列构成回答的字符级表征向量。
步骤B43:对于对话中的每条语句,分别连接语句中每个词的字符级表征向量与词语级表征向量,得到对话中每条语句的多粒度表征向量对于回答,分别连接回答中每个词的字符级表征向量与词语级表征向量,得到回答的多粒度表征向量d表示每个词的多粒度表征向量的维度。
步骤B51:将对话中的每条语句的多粒度表征向量输入到多头注意力子层中,提取每条语句的关键信息,得到对话中每条语句的表征向量;将回答的多粒度表征向量输入到多头注意力子层中,提取回答中的关键信息,得到回答的表征向量。
选择能够整除d的整数s,对于对话中的每条语句ut,t=1,2,...,n,将ut分成多个子句,即将ut的表征向量平均切分成s个子向量,得到子向量序列其中是的第h个子向量,然后对每个子句单独进行注意力权重的计算,即将与自身构成一个子向量对对每个子向量对单独利用注意力机制进行计算,提取每个子句的关键信息,汇总后得到ut的表征向量,公式如下:
按照同样方式,将回答分成多个子句,即将回答a的表征向量平均切分成s个子向量,得到子向量序列其中回答的表征向量的第h个子向量;对回答的每个子句单独进行注意力权重的计算,即将与自身构成一个子向量对对每个子向量对单独利用注意力机制进行计算,提取每个子句的关键信息,汇总后得到a的表征向量公式如下:
步骤B522:计算表征向量与的差与的哈达玛积连接 四个包含对话与回答之间语义匹配信息的表征向量,得到对话的表征向量计算表征向量与的差与的哈达玛积连接四个回答与对话之间语义匹配信息的表征向量,得到回答的表征向量其中[;]表示向量连接操作。
步骤B531:将对话中每条语句的表征向量输入到自注意力机制模块中,首先将在第一个维度上划分为 对应ut中第i个词的表征向量,然后通过tanh激活函数得到的隐层表示,然后动态计算语句中不同词的注意力权重分布,通过softmax函数归一化注意力权重,通过注意力权重加权,得到对话中每条语句的的表征向量同样将回答的表征向量输入到自注意力机制模块中,在第一个维度上划分 对应回答a中第i个词的表征向量,然后通过tanh激活函数得到的隐层表示,然后动态计算语句中不同词的注意力权重分布,通过softmax函数归一化注意力权重,通过注意力权重加权,得到回答的表征向量其公式如下:
其中,W3,b3,W4,W5,b5,W6均为待训练的参数。
步骤B8:根据步骤B2的损失函数计算损失并进行反向传播,通过多次迭代最小化损失函数,采用mini-batch梯度下降法进行分批优化,得到训练好的融合上下文信息的深度学习网络模型。
步骤C:将用户的对话输入训练好的深度学习网络模型中,输出最匹配的回答。
本实施例还提供了一种融合上下文信息的多轮对话系统,包括存储器、处理器以及存储于存储器上并能够在处理器上运行的程序模块,如图2所示,所述程序模块包括训练集构建模块、模型训练模块和多轮对话模块。
所述训练集构建模块用于采集用户与客服之间的对话与回答数据,构建对话训练集。
所述模型训练模块用于使用对话训练集,训练融合上下文信息的深度学习网络模型。
所述多轮对话模块用于与用户进行对话,将用户的对话输入训练好的深度学习网络模型中,输出最匹配的回答。
当处理器运行所述程序模块时,实现上述的方法步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (8)
1.一种融合上下文信息的多轮对话方法,其特征在于,包括以下步骤:
步骤A:从智能客服系统中获取用户与客服的相关对话数据,提取用户与客服之间的会话,构建多轮对话训练集;
步骤B:构建用于多轮对话的融合上下文信息的深度学习网络模型及其损失函数,以多轮对话训练集中的对话与回答作为输入,在训练集上通过最小化损失函数训练深度学习网络模型;
步骤C:将用户的对话输入训练好的深度学习网络模型中,输出最匹配的回答。
2.根据权利要求1所述的一种融合上下文信息的多轮对话方法,其特征在于,所述多轮对话训练集中的每条样本由一个三元组(u,a,y)构成,其中u={u1,u2,...,ut,...,un}表示用户与客服之间的对话上下文,ut表示对话中的第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:构建所述深度学习网络模型的损失函数,选择交叉熵作为深度学习网络模型的损失函数,计算公式如下:
其中,pi表示第i个样本中包含的回答为对话的正确答案的概率,yi为标签,yi∈{0,1},yi=1表示第i个样本中包含的回答为对话的正确答案,yi=0表示第i个样本中包含的回答不是对话的正确答案;是L2正则化项,λ是学习率,θ包含所有参数;
步骤B3:遍历多轮对话训练集,对训练集中的每个训练样本,按步骤B4-B7进行处理;
步骤B4:将训练样本中的对话输入到输入编码层,进行词语级和字符级编码,融合得到对话的多粒度表征向量,将训练样本中的回答输入到输入编码层,进行词语级和字符级编码,得到回答的多粒度表征向量;
步骤B8:根据步骤B2的损失函数计算损失并进行反向传播,通过多次迭代最小化损失函数,采用mini-batch梯度下降法进行分批优化,得到训练好的融合上下文信息的深度学习网络模型。
4.根据权利要求3所述的一种融合上下文信息的多轮对话方法,其特征在于,所述步骤B4具体包括以下步骤:
步骤B41:对样本进行预处理,然后查询预训练的词向量矩阵,分别得到该样本的对话与回答的词语级表征向量;
对对话中的每条语句进行分词并去除停用词,设定为固定长度l,若该语句进行分词并去除停用词后剩余的词数小于l,则填充零向量,若大于l,则截断到固定长度l;然后查询预训练的词向量矩阵得到每条语句中每个词的词向量,由对话中各个词的词向量构成对应语句的词语级表征向量,同样,对回答a进行分词并去除停用词,设定为固定长度l,若回答进行分词并去除停用词后剩余的词数小于l,则填充零向量,若大于l,则截断到固定长度l;然后查询预训练的词向量矩阵得到回答中每个词的词向量,由回答中各个词的词向量构成回答的词语级表征向量;
步骤B42:查询预训练的字符向量矩阵,分别得到该样本的对话与回答的字符级表征向量;
其中,对于对话中的每条语句ut,t=1,2,...,n,对于ut中的每个词,查询预训练的字符向量矩阵,获得构成该词的每个字符的字符向量,由每个字符的字符向量构成该词的字符向量矩阵,将该词的字符向量矩阵输入到卷积神经网络中,使用多个卷积核进行字符级特征提取,再进行最大池化操作,得到每个词的字符级表征向量,由ut中各个词的字符级表征向量构成ut的字符级表征向量;对于回答a中的每个词,查询预训练的字符向量矩阵,获得构成该词的每个字符的字符向量,由每个字符的字符向量构成该词的字符向量矩阵,将该词的字符向量矩阵输入到卷积神经网络中,使用多个卷积核进行字符级特征提取,再进行最大池化操作,得到每个词的字符级表征向量,由回答a中各个词的字符级表征向量构成回答的字符级表征向量;
5.根据权利要求4所述的一种融合上下文信息的多轮对话方法,其特征在于,所述步骤B5具体包括以下步骤:
步骤B51:将对话中的每条语句的多粒度表征向量输入到多头注意力子层中,提取每条语句的关键信息,得到对话中每条语句的表征向量;将回答的多粒度表征向量输入到多头注意力子层中,提取回答中的关键信息,得到回答的表征向量;
选择能够整除d的整数s,对于对话中的每条语句ut,t=1,2,...,n,将ut分成多个子句,即将ut的表征向量平均切分成s个子向量,得到子向量序列其中是的第h个子向量,然后对每个子句单独进行注意力权重的计算,即将与自身构成一个子向量对对每个子向量对单独利用注意力机制进行计算,提取每个子句的关键信息,汇总后得到ut的表征向量,公式如下:
按照同样方式,将回答分成多个子句,即将回答a的表征向量平均切分成s个子向量,得到子向量序列其中回答的表征向量的第h个子向量;对回答的每个子句单独进行注意力权重的计算,即将与自身构成一个子向量对对每个子向量对单独利用注意力机制进行计算,提取每个子句的关键信息,汇总后得到a的表征向量公式如下:
6.根据权利要求5所述的一种融合上下文信息的多轮对话方法,其特征在于,所述步骤B52具体包括以下步骤:
步骤B522:计算表征向量与的差与的哈达玛积连接 四个包含对话与回答之间语义匹配信息的表征向量,得到对话的表征向量计算表征向量与的差与的哈达玛积连接四个回答与对话之间语义匹配信息的表征向量,得到回答的表征向量其中[;]表示向量连接操作;
7.根据权利要求6所述的一种融合上下文信息的多轮对话方法,其特征在于,所述步骤B53具体包括以下步骤:
步骤B531:将对话中每条语句的表征向量输入到自注意力机制模块中,首先将在第一个维度上划分为 对应ut中第i个词的表征向量,然后通过tanh激活函数得到的隐层表示,然后动态计算语句中不同词的注意力权重分布,通过softmax函数归一化注意力权重,通过注意力权重加权,得到对话中每条语句的的表征向量同样将回答的表征向量输入到自注意力机制模块中,在第一个维度上划分 对应回答a中第i个词的表征向量,然后通过tanh激活函数得到的隐层表示,然后动态计算语句中不同词的注意力权重分布,通过softmax函数归一化注意力权重,通过注意力权重加权,得到回答的表征向量其公式如下:
其中,W3,b3,W4,W5,b5,W6均为待训练的参数;
8.一种融合上下文信息的多轮对话系统,其特征在于,包括存储器、处理器以及存储于存储器上并能够在处理器上运行的程序模块,所述程序模块包括:
训练集构建模块,用于采集用户与客服之间的对话与回答数据,构建对话训练集;
模型训练模块,用于使用对话训练集,训练融合上下文信息的深度学习网络模型;以及
多轮对话模块,用于与用户进行对话,将用户的对话输入训练好的深度学习网络模型中,输出最匹配的回答;
当处理器运行所述程序模块时,实现如权利要求1-7任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110163418.4A CN112818105B (zh) | 2021-02-05 | 2021-02-05 | 一种融合上下文信息的多轮对话方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110163418.4A CN112818105B (zh) | 2021-02-05 | 2021-02-05 | 一种融合上下文信息的多轮对话方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112818105A true CN112818105A (zh) | 2021-05-18 |
CN112818105B CN112818105B (zh) | 2021-12-07 |
Family
ID=75861925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110163418.4A Active CN112818105B (zh) | 2021-02-05 | 2021-02-05 | 一种融合上下文信息的多轮对话方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112818105B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113657118A (zh) * | 2021-08-16 | 2021-11-16 | 北京好欣晴移动医疗科技有限公司 | 基于通话文本的语义分析方法、装置和系统 |
CN113672714A (zh) * | 2021-08-20 | 2021-11-19 | 上海大参林医疗健康科技有限公司 | 一种多轮对话装置及方法 |
CN114579606A (zh) * | 2022-05-05 | 2022-06-03 | 阿里巴巴达摩院(杭州)科技有限公司 | 预训练模型数据处理方法、电子设备及计算机存储介质 |
CN115017286A (zh) * | 2022-06-09 | 2022-09-06 | 北京邮电大学 | 基于检索的多轮对话系统和方法 |
CN115187345A (zh) * | 2022-09-13 | 2022-10-14 | 深圳装速配科技有限公司 | 智能家居建材推荐方法、装置、设备及存储介质 |
CN116932703A (zh) * | 2023-09-19 | 2023-10-24 | 苏州元脑智能科技有限公司 | 一种用户可控内容生成方法、装置、设备和介质 |
CN117034953A (zh) * | 2023-10-07 | 2023-11-10 | 湖南东良数智科技有限公司 | 一种利用个人著作库与其智能会话的系统 |
CN117114695A (zh) * | 2023-10-19 | 2023-11-24 | 本溪钢铁(集团)信息自动化有限责任公司 | 基于钢铁行业智能客服的交互方法及装置 |
CN113657118B (zh) * | 2021-08-16 | 2024-05-14 | 好心情健康产业集团有限公司 | 基于通话文本的语义分析方法、装置和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681610A (zh) * | 2018-05-28 | 2018-10-19 | 山东大学 | 生成式多轮闲聊对话方法、系统及计算机可读存储介质 |
CN110309287A (zh) * | 2019-07-08 | 2019-10-08 | 北京邮电大学 | 建模对话轮次信息的检索式闲聊对话打分方法 |
CN110826336A (zh) * | 2019-09-18 | 2020-02-21 | 华南师范大学 | 一种情感分类方法、系统、存储介质及设备 |
CN111274375A (zh) * | 2020-01-20 | 2020-06-12 | 福州大学 | 一种基于双向gru网络的多轮对话方法及系统 |
CN111353032A (zh) * | 2020-02-27 | 2020-06-30 | 福州大学 | 面向社区问答的问题分类方法及系统 |
WO2020135124A1 (zh) * | 2018-12-27 | 2020-07-02 | 阿里巴巴集团控股有限公司 | 会话质量评价方法、装置及电子设备 |
-
2021
- 2021-02-05 CN CN202110163418.4A patent/CN112818105B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108681610A (zh) * | 2018-05-28 | 2018-10-19 | 山东大学 | 生成式多轮闲聊对话方法、系统及计算机可读存储介质 |
WO2020135124A1 (zh) * | 2018-12-27 | 2020-07-02 | 阿里巴巴集团控股有限公司 | 会话质量评价方法、装置及电子设备 |
CN110309287A (zh) * | 2019-07-08 | 2019-10-08 | 北京邮电大学 | 建模对话轮次信息的检索式闲聊对话打分方法 |
CN110826336A (zh) * | 2019-09-18 | 2020-02-21 | 华南师范大学 | 一种情感分类方法、系统、存储介质及设备 |
CN111274375A (zh) * | 2020-01-20 | 2020-06-12 | 福州大学 | 一种基于双向gru网络的多轮对话方法及系统 |
CN111353032A (zh) * | 2020-02-27 | 2020-06-30 | 福州大学 | 面向社区问答的问题分类方法及系统 |
Non-Patent Citations (4)
Title |
---|
SHAO T等: "Transformer-based neural netwokk for answer selection in question answering", 《IEEE》 * |
张伟智等: "一种融合摘要与主体特征的混合神经网络文本主题分类方法", 《计算机与数字工程》 * |
张小川等: "融合多头自注意力机制的中文短文本分类模型", 《计算机应用》 * |
张衍坤等: "面向社区回答匹配的混合神经网络模型", 《小型微型计算机系统》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113657118B (zh) * | 2021-08-16 | 2024-05-14 | 好心情健康产业集团有限公司 | 基于通话文本的语义分析方法、装置和系统 |
CN113657118A (zh) * | 2021-08-16 | 2021-11-16 | 北京好欣晴移动医疗科技有限公司 | 基于通话文本的语义分析方法、装置和系统 |
CN113672714A (zh) * | 2021-08-20 | 2021-11-19 | 上海大参林医疗健康科技有限公司 | 一种多轮对话装置及方法 |
CN114579606A (zh) * | 2022-05-05 | 2022-06-03 | 阿里巴巴达摩院(杭州)科技有限公司 | 预训练模型数据处理方法、电子设备及计算机存储介质 |
CN115017286A (zh) * | 2022-06-09 | 2022-09-06 | 北京邮电大学 | 基于检索的多轮对话系统和方法 |
CN115017286B (zh) * | 2022-06-09 | 2023-04-07 | 北京邮电大学 | 基于检索的多轮对话系统和方法 |
CN115187345A (zh) * | 2022-09-13 | 2022-10-14 | 深圳装速配科技有限公司 | 智能家居建材推荐方法、装置、设备及存储介质 |
CN116932703A (zh) * | 2023-09-19 | 2023-10-24 | 苏州元脑智能科技有限公司 | 一种用户可控内容生成方法、装置、设备和介质 |
CN116932703B (zh) * | 2023-09-19 | 2024-01-23 | 苏州元脑智能科技有限公司 | 一种用户可控内容生成方法、装置、设备和介质 |
CN117034953B (zh) * | 2023-10-07 | 2023-12-19 | 湖南东良数智科技有限公司 | 一种利用个人著作库与其智能会话的系统 |
CN117034953A (zh) * | 2023-10-07 | 2023-11-10 | 湖南东良数智科技有限公司 | 一种利用个人著作库与其智能会话的系统 |
CN117114695A (zh) * | 2023-10-19 | 2023-11-24 | 本溪钢铁(集团)信息自动化有限责任公司 | 基于钢铁行业智能客服的交互方法及装置 |
CN117114695B (zh) * | 2023-10-19 | 2024-01-26 | 本溪钢铁(集团)信息自动化有限责任公司 | 基于钢铁行业智能客服的交互方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112818105B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112818105B (zh) | 一种融合上下文信息的多轮对话方法及系统 | |
CN111310438B (zh) | 基于多粒度融合模型的中文句子语义智能匹配方法及装置 | |
Mai et al. | Modality to modality translation: An adversarial representation learning and graph fusion network for multimodal fusion | |
Li et al. | Dilated residual network with multi-head self-attention for speech emotion recognition | |
Mikolov et al. | Efficient estimation of word representations in vector space | |
Mai et al. | Analyzing multimodal sentiment via acoustic-and visual-LSTM with channel-aware temporal convolution network | |
CN114722839B (zh) | 人机协同对话交互系统及方法 | |
CN111274398A (zh) | 一种方面级用户产品评论情感分析方法及系统 | |
CN111858932A (zh) | 基于Transformer的多重特征中英文情感分类方法及系统 | |
CN110796160A (zh) | 一种文本分类方法、装置和存储介质 | |
CN112667818A (zh) | 融合gcn与多粒度注意力的用户评论情感分析方法及系统 | |
CN112800203B (zh) | 一种融合文本和知识表征的问答匹配方法及系统 | |
CN110059324A (zh) | 基于依存信息监督的神经网络机器翻译方法及装置 | |
CN113204611A (zh) | 建立阅读理解模型的方法、阅读理解方法及对应装置 | |
Mai et al. | A unimodal representation learning and recurrent decomposition fusion structure for utterance-level multimodal embedding learning | |
CN113177113B (zh) | 任务型对话模型预训练方法、装置、设备及存储介质 | |
Ando et al. | On the use of modality-specific large-scale pre-trained encoders for multimodal sentiment analysis | |
CN112364659A (zh) | 一种无监督的语义表示自动识别方法及装置 | |
CN111723583A (zh) | 基于意图角色的语句处理方法、装置、设备及存储介质 | |
Oh et al. | BERTAC: Enhancing transformer-based language models with adversarially pretrained convolutional neural networks | |
CN111274359B (zh) | 基于改进vhred与强化学习的查询推荐方法及系统 | |
CN114036304A (zh) | 一种调令员和受令员语音交互作业对话分类方法 | |
Pinault et al. | Semantic graph clustering for pomdp-based spoken dialog systems | |
CN111292741A (zh) | 智能语音交互机器人 | |
Wei et al. | NTK-approximating MLP fusion for efficient language model fine-tuning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |