CN109783704A - 人机混合的应答方法、***、装置 - Google Patents
人机混合的应答方法、***、装置 Download PDFInfo
- Publication number
- CN109783704A CN109783704A CN201910005704.0A CN201910005704A CN109783704A CN 109783704 A CN109783704 A CN 109783704A CN 201910005704 A CN201910005704 A CN 201910005704A CN 109783704 A CN109783704 A CN 109783704A
- Authority
- CN
- China
- Prior art keywords
- candidate
- revert statement
- context
- revert
- statement
- 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
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000012512 characterization method Methods 0.000 claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 38
- 238000005457 optimization Methods 0.000 claims abstract description 20
- 230000003993 interaction Effects 0.000 claims abstract description 19
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 8
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 230000000306 recurrent effect Effects 0.000 claims description 5
- 230000002457 bidirectional effect Effects 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000010606 normalization Methods 0.000 claims description 3
- 238000012952 Resampling Methods 0.000 claims description 2
- 230000002452 interceptive effect Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 23
- 238000012549 training Methods 0.000 description 14
- 238000013461 design Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000008447 perception Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910052729 chemical element Inorganic materials 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- ONUFESLQCSAYKA-UHFFFAOYSA-N iprodione Chemical compound O=C1N(C(=O)NC(C)C)CC(=O)N1C1=CC(Cl)=CC(Cl)=C1 ONUFESLQCSAYKA-UHFFFAOYSA-N 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Landscapes
- Machine Translation (AREA)
Abstract
本发明属于人机对话技术领域,具体涉及一种人机混合的应答方法、***、装置,旨在为了解决现有人机应答方法无法实现在线学习的问题。本发明方法包括:对当前对话上下文Ct进行编码,得到第一表征向量E(Ct);基于对话任务下的候选回复语句,并进行编码后得到第二表征向量基于第一表征向量E(Ct)、第二表征向量通过不确定性估计方法获取候选回复语句能够正确回复用户提问的置信度,置信度大于设定阈值则选择置信度对应的候选回复语句进行应答输出,否则获取通过人机交互设备录入的回复语句或选定的候选回复语句进行应答输出,并基于应答输出后得到的全部对话语句进行上述步骤中的参数优化。本发明保证了输出的应答语句具有足够的置信度,实现了对话模型的在线学习更新。
Description
技术领域
本发明属于人机对话技术领域,具体涉及一种人机混合的应答方法、***、装置。
背景技术
任务型对话***是在某一特定领域,通过自然语言交互的形式,辅助用户完成任务的人机交互***。设计数据驱动任务型对话***的第一步是,定义该任务下用户的需求,然后根据定义好的用户需求收集相应的训练数据训练对话模型。
当对话***部署到线上后,如果预先定义好的用户需求和真实用户的需求之间存在偏差,那么***在遇到没有考虑到的需求时会给出不正确的回复。开发者通常可以通过更加详细的需求分析缓解这一问题。但是,开发者永远也无法保证所有的用户需求都被考虑在内。此外,由于自然语言的多样性,用户可以采用不同的方法表达相同的意图。这一现象导致,开发者无法保证所收集的训练数据覆盖了所有可能的情况。因此,采用有偏差的数据所训练的对话模型可能无法正确判断用户真实的意图。更糟糕的是,只有在问题发生之后,开发者才能通过人机交互记录发现这些错误。
发明内容
为了解决现有技术中的上述问题,即为了解决现有人机应答方法无法实现在线学习的问题,本发明的第一方面,提出了一种人机混合的应答方法,包括:
步骤S10,在一个对话任务中,对当前对话上下文Ct进行编码,得到第一表征向量E(Ct);所述当前对话上下文包括当前提问语句以及之前问答语句;t为当前对话的轮次;
步骤S20,基于步骤S10所述对话任务分类下的候选回复语句,分别进行编码后得到各候选回复语句对应的第二表征向量其中表示第t轮第i个候选回复语句;
步骤S30,基于第一表征向量E(Ct)、候选回复语句对应的第二表征向量通过不确定性估计方法获取候选回复语句能够正确回复用户提问的置信度,置信度大于设定阈值则执行步骤S40,否则执行步骤S50;
步骤S40,选择置信度最大的候选回复语句进行应答输出;
步骤S50,获取通过人机交互设备录入的回复语句或选定的候选回复语句进行应答输出;
步骤S60,基于步骤S50的应答输出后得到的全部对话语句构建目标函数,对对话模型进行优化,并利用优化后的参数对步骤S10-S50中的参数进行更新;所述对话模型依据步骤S10-S50构建。
在一些优选实施方式中,“基于步骤S50的应答输出后得到的全部对话语句对对话模型进行优化”,包括:
基于步骤S50应答输出的回复语句,将该回复语句添加至所述对话模型的回复语句集合中,构建对应对话任务的上下文回复数据依据该对话上下文构建所述对话模型的目标函数L′,通过该目标函数优化所述对话模型,并应用于步骤S20;
所述目标函数L′为,
L′=-L+αL1
其中,L为上下文回复数据dk最大化数据似然的变分下界、L1为上下文回复数据dk的聚类损失;α是个超参数;Ck为第k轮的对话上下文,包括第k轮提问语句以及之前问答语句;为第k轮录入的回复语句。
在一些优选实施方式中,步骤S30中“通过不确定性估计方法获取候选回复语句能够正确回复用户提问的置信度”,其方法为:
步骤S31,基于第一表征向量E(Ct)得到当前对话上下文下隐变量的先验分布;
步骤S32,基于当前对话上下文下隐变量的先验分布获取隐变量z;
步骤S33,根据第一表征向量E(Ct)、候选回复语句对应的第二表征向量隐变量z,计算各候选回复语句的回复概率,并根据回复概率采样一个候选回复语句;
步骤S34,对步骤S32、步骤S33进行m次重复,获取采样出来的回复列表L={r1,r2,…,rm};将回复列表L中采样频率最大的候选回复语句的出现频次作为置信度。
在一些优选实施方式中,步骤S33中“计算各候选回复语句的回复概率”,其方法为:
其中,表示第t轮采用候选回复语句的回复概率;softmax()为归一化指数函数;为第t轮采用候选回复语句的回复打分值;W为权重参数矩阵。
在一些优选实施方式中,所述隐变量z,其计算方法为:
z=μ+σ·ε
其中,μ为当前对话上下文下隐变量的先验分布的均值;σ为当前对话上下文下隐变量的先验分布的方差的算数平方根;ε为标准高斯分布中采样的随机变量,每次计算隐变量z时的ε通过重新采样获得。
在一些优选实施方式中,步骤S33“根据回复概率采样一个候选回复语句”,其方法为:依据回复概率的大小,从候选回复集合中随机采样一个回复。
在一些优选实施方式中,所述第一表征向量E(Ct)和候选回复语句对应的第二表征向量通过双向门控循环神经网络分别对各句子中的单词进行编码得到。
本发明的第二方面,提出了一种人机混合的应答***,该***包括对话模型、对话模型在线优化模块;所述对话模型包括第一编码模块、第二编码模块、置信度计算模块、应答输出模块;
所述第一编码模块,配置为对当前对话任务中当前对话上下文Ct进行编码,得到第一表征向量E(Ct);所述当前对话上下文包括当前提问语句以及之前问答语句;t为当前对话的轮次;
所述第二编码模块,配置为基于对话模型获取多个候选回复语句,并进行编码后得到各候选回复语句对应的第二表征向量其中表示第t轮第i个候选回复语句;
所述置信度计算模块,配置为基于第一表征向量E(Ct)、候选回复语句对应的第二表征向量通过不确定性估计方法获取候选回复语句能够正确回复用户提问的置信度;
所述应答输出模块,配置为置信度大于设定阈值则选择置信度对应的候选回复语句进行应答输出,否则通过人机交互设备的录入回复语句或者选定候选回复语句进行应答输出;
所述对话模型在线优化模块,配置为基于通过人机交互设备获取的应答输出后得到的全部对话语句,对所述对话模型进行优化。
在一些优选实施方式中,所述对话模型在线优化模块中对所述对话模型进行优化的方法为:
获取所述应答输出模块得到的人机交互设备录入或选定的回复语句,将该回复语句添加至所述对话模型的回复语句集合中,构建对应对话任务的上下文回复数据基于该对话上下文构建对话模型的目标函数L′,并依据目标函数L′对所述对话模型进行优化;
所述目标函数L′为
L′=-L+αL1
其中,L为上下文回复数据dk最大化数据似然的变分下界、L1为上下文回复数据dk的聚类损失;α是个超参数;Ck为第k轮的对话上下文,包括第k轮提问语句以及之前问答语句;为第k轮录入的回复语句。
本发明的第三方面,提出了一种存储装置,其中存储有多条程序,所述程序适于由处理器加载并执行以实现上述人机混合的应答方法。
本发明的第四方面,提出了一种处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述人机混合的应答方法。
本发明的有益效果:
本发明利用了不确定性估计方法衡量能够正确回复用户提问的置信度,保证了输出的应答语句具有足够的置信度,避免了潜在的风险。此外,在人工客服人员进行回复语句的录入后,通过在线学习方法可以根据新产生的数据对对话模型进行更新,使得对话模型具有在线学习能力。通过本发明,开发者不需要进行需求分析,从而避免了收集有偏差的训练数据。同时,在人工客服的协助下,客服***可以从零开始累积对话知识,最终实现自动化。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本发明一种实施例的人机混合的应答方法流程示意图;
图2是本发明一种实施例的人机混合的应答方法设计框架示意图;
图3是本发明一种实施例的人机混合的应答***框架示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
现有的数据驱动的客服***需要预设好用户的需求,然后根据定义好的用户需求去收集训练数据。然而,开发者无法保证所有的用户需求都被考虑在内。此外,由于自然语言的多样性,开发者无法保证所收集的训练数据覆盖了所有可能的情况。由于上述两个原因,基于有偏差的训练数据训练出来的对话模型在遇到没有考虑到的情形时会给出不正确的回复。
本发明的一种人机混合应答方法,和现有方法相比,不需要对用户的需求做任何假设。也就是说,在本发明的框架下,所有和当前任务相关的提问都是合法的。此外,在本发明中,待回复语句集合也不是固定的。当人工客服介入对话过程后,新产生的回复语句需要添加到现有的待回复语句集合当中。同时可以通过在线的方式学习如何处理用户的提问。通过本发明方案,可以通过和真实用户进行交互,从零开始累积对话知识。这一特性使得开发者避免了收集可能带有偏差的训练数据。
本发明的基本思想是利用不确定性估计方法衡量待回复语句的置信度。如果待回复语句有较高的回复置信度,回复则由机器产生,否者由人工客服录入新的回复语句或者选定合适的待回复语句输出。如果人工客服介入对话,根据客服人员所产生的数据更新对话模型。总体而言,本发明分为四个步骤:1)将对话上下文和现有的待回复语句编码为向量;2)通过不确定性估计方法判断待回复语句的置信度;3)如果待回复语句具有较高的置信度,则由机器给出回复,否者人工客服介入对话过程录入或者选定回复语句;4)如果人工客服介入对话,将会根据新产生的上下文回复对对话模型进行在线更新。
本发明的一种人机混合的应答方法,如图1所示,包括:
步骤S10,在一个对话任务中,对当前对话上下文Ct进行编码,得到第一表征向量E(Ct);所述当前对话上下文包括当前提问语句以及之前问答语句;t为当前对话的轮次;
步骤S20,基于步骤S10所述对话任务分类下的候选回复语句,分别进行编码后得到各候选回复语句对应的第二表征向量其中表示第t轮第i个候选回复语句;
步骤S30,基于第一表征向量E(Ct)、候选回复语句对应的第二表征向量通过不确定性估计方法获取候选回复语句能够正确回复用户提问的置信度,置信度大于设定阈值则执行步骤S40,否则执行步骤S50;
步骤S40,选择置信度对应的候选回复语句进行应答输出;
步骤S50,获取通过人机交互设备录入的回复语句或选定的候选回复语句进行应答输出;
步骤S60,基于步骤S50的应答输出后得到的全部对话语句构建目标函数,对对话模型进行优化,并利用优化后的参数对步骤S10-S50中的参数进行更新;所述对话模型依据步骤S10-S50构建。
“基于步骤S50的应答输出后得到的全部对话语句对对话模型进行优化”,包括:
基于步骤S50应答输出的回复语句(通过人机交互设备录入的回复语或通过人机交互设备选定的候选回复语句),将该回复语句添加至所述对话模型的回复语句集合中,构建对应对话任务的上下文回复数据依据该对话上下文构建所述对话模型的目标函数L′,通过该目标函数优化所述对话模型,并应用于步骤S20;
所述目标函数L′为,
L′=-L+αL1
其中,L为上下文回复数据dk最大化数据似然的变分下界、L1为上下文回复数据dk的聚类损失;α是个超参数;Ck为第k轮的对话上下文,包括第k轮提问语句以及之前问答语句;为第k轮录入的回复语句。
如图2所示的人机混合的应答方法设计框架示意图可以更清晰地展示本发明的信息流。该图中,用户通过用户端设备每轮提问后,需要将对话上下文进行编码,获得第一表征向量E(Ct),然后再进行待回复语句的置信度的计算,高置信度时由机器选择对应的待回复语句回复给用户,低置信度时由人工客服通过客服端设备回复给用户,同时将上下文回复对添加到数据池,并基于更新后的数据池对机器中的对话模型进行在线更新。为了便于展示机器回复这一状态,将机器放置在置信度计算之后,实际设计中,除了用户端、人工客服端,其他部分都应包含在机器中,因此,此处仅仅为了对机器回复、人工客服回复、在线更新进行示意,以便增进对本发明技术方案的理解,不能以此框架示意对本发明技术方案进行限定。
为了更清晰地对本发明人机混合的应答方法进行说明,下面结合附图对本方发明方法一种实施例中各步骤进行展开详述。
本实施例首先构建对话模型,以实现对录入提问语句进行回复语句的匹配或获取人工反馈回复语句,然后再根据人工反馈的回复语句对对话模型进行更新。本实施例的对话模型基于提问语句获取回复语句的方法如步骤S10-步骤S50所示,通过人工反馈的回复语句对对话模型进行更新的方法如步骤S60所示。在通过人工反馈对对话模型进行更新时,如果人工客服人员提供了新的回复,那么把这个新的回复加入到候选回复集合中。此外,下次任务执行时采用更新后的参数进行回复语句的输出。
步骤S10,在一个对话任务中,对当前对话上下文Ct进行编码,得到第一表征向量E(Ct)。所述当前对话上下文包括当前提问语句以及之前问答语句;t为当前对话的轮次。
步骤S11,对当前对话上下文Ct中各条语句分别进行编码。
在对话的第t轮,当前对话上下文由Ct包含当前提问语句以及从对话开始到当前轮所有的用户提问和相应的机器回复,其中,是第i轮的提问语句,是第i轮的回复语句。
对Ct中任意一个句子x,我们首先采用一个双向门控循环神经网络单元(bi-GRU)对每个时刻的单词进行编码,计算如公式(1)、(2)所示。
其中,为前向门控循环神经网络在第n个词汇处的隐状态;为反向门控循环神经网络在第n个词汇处的隐状态;GRU()为带门控的循环神经网络的基本计算单元;xn表句子x中的第n个单词,φemb(xn)表示把这个单词映射为某个维度固定的向量。
每个时刻网络的输出由两个方向的输出拼接起来,得到xn的向量表示最后得到的双向门控循环神经网络的输出是句子x的向量表示H=(h1,h2,...,hN),N为句子x中单词总数。
步骤S12,利用自注意力机制来捕获句子中重要的词汇信息。
采用了多层感知机(MLP)对bi-GRU每个时刻的输出都求得一个自注意力打分,然后对其进行概率归一化,如公式(3)、(4)所示:
an=MLP(hn) (3)
p=softmax(a) (4)
其中,an为句子中第n个单词的注意力机制分数值;MLP()为多层感知机;p为归一化后的注意力机制打分;a为句子中所有N个单词注意力机制的分数值数组;softmax()为归一化函数。
最终的句子表示E(x)需要对bi-GRU每个时刻的输出进行加权和得到,如公式(5)所示:
pn为p中第n个打分,即句子中第n个单词的归一化后的结果。
步骤S13,计算当前对话上下文Ct的表征向量E(Ct)。
在得到对话上下文Ct中每个句子的最终表示之后,把每个句子的最终表示输入到另外一个门控循环神经网络单元中得到对话上下文Ct的表征向量E(Ct),如公式(6)所示:
步骤S20,基于对话模型获取多个候选回复语句,并进行编码后得到各候选回复语句对应的第二表征向量其中表示第t轮第i个候选回复语句。
该步骤第二表征向量可以采用步骤S11、S12的方法获得。
步骤S30,基于第一表征向量E(Ct)、候选回复语句对应的第二表征向量通过不确定性估计方法获取候选回复语句能够正确回复用户提问的置信度,置信度大于设定阈值则执行步骤S40,否则执行步骤S50。
本实施例中,候选回复语句能够正确回复用户提问的置信度的计方法为:
步骤S31,基于第一表征向量E(Ct)得到当前对话上下文下隐变量的先验分布。
假设当前对话上下文下隐变量z服从多元高斯分布,则可以通过多层感知机获取该分布的均值和方差,如公式(7)所示。
其中,μ和σ2分别是隐变量z先验分布的均值和方差。
步骤S32,基于当前对话上下文下隐变量的先验分布获取隐变量z。
从标准高斯分布中采样随机变量ε,即ε~N(0,I),每次计算隐变量z时的ε通过重新采样获得。
利用参数替代方法得到隐变量z,如公式(8)所示。
z=μ+σ·ε (8)
通过该方法得到的隐变量z服从均值为μ方差为σ2的多元高斯分布。
步骤S33,根据第一表征向量E(Ct)、候选回复语句对应的第二表征向量隐变量z,计算各候选回复语句的回复概率,并根据回复概率采样一个候选回复语句。
对第i个候选回复语句,其回复概率的计算如公式(9)、(10)所示。
其中,表示第t轮采用候选回复语句的回复概率;softmax()为归一化指数函数;为第t轮采用候选回复语句的回复打分值;W为权重参数矩阵,其可以随着对话模型的优化进行参数矩阵的优化,对话模型的优化方法在下文详细说明。
本实施例中,依据回复概率的大小进行随机采样,采样得到的结果作为***回复。
步骤S34,对步骤S32、步骤S33进行m次重复(m为预设值),获取采样出来的回复列表L={r1,r2,…,rm};将回复列表L中采样频率最大的候选回复语句的出现频次作为置信度。
置信度大于设定阈值则执行步骤S40,否则执行步骤S50。
步骤S40,选择置信度对应的候选回复语句进行应答输出。
步骤S50,获取通过人机交互设备录入的回复语句或选定的候选回复语句进行应答输出。
人工客服可以通过客服端的人机交互设备介入对话过程,可以从现有的候选回复语句集合中选择一个合适的回复语句返回给用户。如果现有的候选回复语句集合中没有合适的回复语句,也可以给出一个新的回复语句,并把这个新的回复语句加入到候选回复集合当中。人工客服人员的介入将会产生新的上下文回复数据对,表示为需要把新产生的数据放到对话模型的数据池中。
例如,若回复列表L中某一待回复语句rtop采样频率最大,其采样频率值为top,则置信度的值top。设定阈值为γ,若top>γ则认为具有足够的置信度进行回复,选择rtop进行应答输出;否则认为没有足够的置信度,通过人机交互设备的录入回复语句或者选定候选回复语句进行应答输出。
步骤S60,基于步骤S50的应答输出后得到的全部对话语句构建目标函数,对对话模型进行优化,并利用优化后的参数对步骤S10-S50中的参数进行更新;所述对话模型依据步骤S10-S50构建。
获取所述应答输出模块得到的人机交互设备录入或选定的回复语句,将该回复语句添加至所述对话模型的回复语句集合中,构建对应对话任务的上下文回复数据基于该对话上下文构建对话模型的目标函数L′,并依据目标函数L′对所述对话模型进行优化。此处k表示人工客服录入的回复语句的对话轮数,Ck为第k轮的对话上下文,包括第k轮提问语句以及之前问答语句;为第k轮录入的回复语句。
所述目标函数L′如公式(11)所示
L′=-L+αL1
其中,L为上下文回复数据dk最大化数据似然的变分下界、L1为上下文回复数据dk的聚类损失;α是个超参数,在一些实施例中可以取0.1。
(1)最大化数据似然的变分下界L
最大化数据的似然需要对隐变量z进行积分。这个积分是无法计算的。因此本发明实施例中最大化数据似然的变分下界如公式(12)所示:
其中q(z|dk)用于逼近后验分布p(z|dk),因此q(z|dk)被称为推断网络,p(z|Ck)是步骤S31中的隐变量先验分布。q(z|dk)的实现方法和p(z|Ck)类似:首先采用多层感知机获取后验分布均值和方差的近似值,然后采用参数替代的技巧采样z。q(z|dk)均值和方差的计算方法如公式(13)所示:
其中E(Ck)和是对话上下文和人工客服回复的向量表示。具体可以参考步骤S10中的方法获取。
(2)聚类损失L1
为了防止对话模型对当前新产生的数据过拟合。本发明采用一个聚类损失项对模型进行正则化。对于当前对话上下文中Ck,从数据池中采样正上下文样本Cpos和负上下文样本Cneg。其中Cpos的回复语句和Ck相同,而Cneg的回复语句和Ck不同。聚类损失如公式(14)所示:
L1=1-cos(E(Ck),E(Cpos))+max(0,cos(E(Ck),E(Cneg))-Δ) (14)
其中,Δ是一个常数,在一些实施例中可以取0。E(Cpos)和E(Cneg)分别是正样本和负样本的向量表示。具体可以参考步骤S10中的方法获取。
本发明一种实施例的人机混合的应答***,如图3所示,包括对话模型、对话模型在线优化模块;所述对话模型包括第一编码模块、第二编码模块、置信度计算模块、应答输出模块;
所述第一编码模块,配置为对当前对话任务中当前对话上下文Ct进行编码,得到第一表征向量E(Ct);所述当前对话上下文包括当前提问语句以及之前问答语句;t为当前对话的轮次;
所述第二编码模块,配置为基于对话模型获取多个候选回复语句,并进行编码后得到各候选回复语句对应的第二表征向量其中表示第t轮第i个候选回复语句;
所述置信度计算模块,配置为基于第一表征向量E(Ct)、候选回复语句对应的第二表征向量通过不确定性估计方法获取候选回复语句能够正确回复用户提问的置信度;
所述应答输出模块,配置为置信度大于设定阈值则选择置信度对应的候选回复语句进行应答输出,否则通过人机交互设备的录入回复语句或者选定候选回复语句进行应答输出;
所述对话模型在线优化模块,配置为基于通过人机交互设备获取的应答输出后得到的全部对话语句,对所述对话模型进行优化。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,上述实施例提供的人机混合的应答***,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将本发明实施例中的模块或者步骤再分解或者组合,例如,上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块,以完成以上描述的全部或者部分功能。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。
本发明一种实施例的存储装置,其中存储有多条程序,所述程序适于由处理器加载并执行以实现上述的人机混合的应答方法。
本发明一种实施例的处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;所述程序适于由处理器加载并执行以实现上述的人机混合的应答方法。
所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的存储装置、处理装置的具体工作过程及有关说明,可以参考前述方法实施例中的对应过程,在此不再赘述。
实验结果
基于本发明构建了人机混合的应答的客服***,使用了一个新的数据集进行验证。数据集由5个任务组成。不同的任务包含不同的场景。具体描述如下:
任务1包含了客服***最基本的场景。这个任务中,用户可以询问商品的价格,材质等属性来寻找合适的商品。例如用户可以询问“这款产品多少钱?”。找到满意的商品后,用户会询问付款方式等信息。
任务2包含任务1中所有的场景。除此之外,用户还可以询问***商品是否满足某一约束。例如用户可以询问“这款产品是不是红色的?”。
任务3包含任务2中所有的场景。除此之外,用户还可以对多个商品进行比较。例如用户可以询问“这两款哪个更加便宜呢?”
任务4包含了任务3中所有的场景。除此之外,用户还可以进行退换货和咨询产品问题等售后操作。
任务5包含了任务4中所有的场景。除此之外,用户还能够表达正面和消极的情绪。例如,当用户觉得我们的产品物美价廉时,他可能会说“太棒了,这款产品真是又便宜又好!”。
可见从任务1到任务5,其难度依次增加,并且所覆盖的对话场景和用户需求也变得越来越复杂。如果开发者只考虑到了任务1涉及的用户需求,但是真实用户的需求是任务5所包含的需求,那么***在某些情况下将会给出不合理的回复。
为了验证本发明的方法,采用了多种基线***:(1)基于TF-IDF的信息检索模型;(2)基于Embedding的对话模型;(3)基于Dual-LSTM的对话模型;(4)基于记忆网络的对话模型。使用简单的任务(例如,任务1)下的数据训练基线***,然后在更加复杂的任务(例如,任务5)下进行测试。实验中的基线***均在训练集上进行了60次迭代。值得注意的是,本发明中的***不需要对用户需求做任何假设,且不需要任何数据进行模型初始化。为了模拟***的在线部署和优化,我们在线地把训练数据中的上下文提交给我们的***。如果***具有较高的置信度,那么回复由***给出;否者为了模拟人工介入对话,相应的回复将会返回给用户,同时上下文回复对将用于更新模型。
表1给出了本发明的实验结果。可见(1)当开发者定义的用户需求和真实的用户需求一致时,基线***可以取得极高的回复正确率;(2)当开发者定义的用户需求和真实的用户需求存在不一致时,基线***的回复正确率会大幅度下降;(3)和基线***相比较而言,当预定义的用户需求和真实用户需求存在差异时,本发明所提出的方法远好于基线***的结果。虽然本发明的结果比基线***的上界稍微差一点,但由于在***设计时无法保证预定义的用户需求和真实的用户需求完全一致,因此基线***的上界是难以达到的。和基线***相比,本发明不需对用户需求做任何假设,这一特性使得开发者避免了盲目地收集有偏差的对话数据。
为了验证模型的效率,比较了训练集和测试集相同的情况。由于本发明提出的***是在线更新的,所以模型只在数据池中迭代了一次。为了公平起见,基线***也只在整个训练集上迭代一次。表2是数据池中的数据占整个训练集的比率,表3是不同模型的回复正确率。可见,本发明提出的设计方法可以以更少的数据标注成本取得更好效果。
附表1:实验结果(%)
附表2:本发明所需数据量和基线***所需数据量的比率(%)
任务1 | 任务2 | 任务3 | 任务4 | 任务5 | |
数据比率 | 12.9 | 12.0 | 21.6 | 33.2 | 33.0 |
附表3:训练集和测试集相同时的实验结果(%)
基线1 | 基线2 | 基线3 | 基线4 | 本发明 | |
任务1 | 66.3 | 67.6 | 99.9 | 93.4 | 100 |
任务2 | 66.5 | 68.4 | 99.9 | 94.5 | 100 |
任务3 | 70.8 | 64.1 | 98.8 | 89.8 | 99.9 |
任务4 | 74.1 | 60.8 | 97.7 | 85.3 | 99.9 |
任务5 | 75.7 | 65.8 | 96.7 | 80.8 | 99.4 |
本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的模块、方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,软件模块、方法步骤对应的程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述或表示特定的顺序或先后次序。
术语“包括”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (11)
1.一种人机混合的应答方法,其特征在于,包括:
步骤S10,在一个对话任务中,对当前对话上下文Ct进行编码,得到第一表征向量E(Ct);所述当前对话上下文包括当前提问语句以及之前问答语句;t为当前对话的轮次;
步骤S20,基于步骤S10所述对话任务分类下的候选回复语句,分别进行编码后得到各候选回复语句对应的第二表征向量其中表示第t轮第i个候选回复语句;
步骤S30,基于第一表征向量E(Ct)、候选回复语句对应的第二表征向量通过不确定性估计方法获取候选回复语句能够正确回复用户提问的置信度,置信度大于设定阈值则执行步骤S40,否则执行步骤S50;
步骤S40,选择置信度对应的候选回复语句进行应答输出;
步骤S50,获取通过人机交互设备录入的回复语句或选定的候选回复语句进行应答输出;
步骤S60,基于步骤S50的应答输出后得到的全部对话语句构建目标函数,对对话模型进行优化,并利用优化后的参数对步骤S10-S50中的参数进行更新;所述对话模型依据步骤S10-S50构建。
2.根据权利要求2所述的一种人机混合的应答方法,其特征在于,“基于步骤S50的应答输出后得到的全部对话语句对对话模型进行优化”,包括:
基于步骤S50应答输出的回复语句,将该回复语句添加至所述对话模型的回复语句集合中,构建对应对话任务的上下文回复数据依据该对话上下文构建所述对话模型的目标函数L′,通过该目标函数优化所述对话模型,并应用于步骤S20;
所述目标函数L′为,
L′=-L+αL1
其中,L为上下文回复数据dk最大化数据似然的变分下界、L1为上下文回复数据dk的聚类损失;α是个超参数;Ck为第k轮的对话上下文,包括第k轮提问语句以及之前问答语句;为第k轮录入的回复语句。
3.根据权利要求1或2所述的人机混合的应答方法,其特征在于,步骤S30中“通过不确定性估计方法获取候选回复语句能够正确回复用户提问的置信度”,其方法为:
步骤S31,基于第一表征向量E(Ct)得到当前对话上下文下隐变量的先验分布;
步骤S32,基于当前对话上下文下隐变量的先验分布获取隐变量z;
步骤S33,根据第一表征向量E(Ct)、候选回复语句对应的第二表征向量隐变量z,计算各候选回复语句的回复概率,并根据回复概率采样一个候选回复语句;
步骤S34,对步骤S32、步骤S33进行m次重复,获取采样出来的回复列表L={r1,r2,…,rm};将回复列表L中采样频率最大的候选回复语句的出现频次作为置信度。
4.根据权利要求3所述的人机混合的应答方法,其特征在于,步骤S33中“计算各候选回复语句的回复概率”,其方法为:
其中,表示第t轮采用候选回复语句的回复概率;softmax()为归一化指数函数;为第t轮采用候选回复语句的回复打分值;W为权重参数矩阵。
5.根据权利要求3所述的人机混合的应答方法,其特征在于,所述隐变量z,其计算方法为:
z=μ+σ·ε
其中,μ为当前对话上下文下隐变量的先验分布的均值;σ为当前对话上下文下隐变量的先验分布的方差的算数平方根;ε为标准高斯分布中采样的随机变量,每次计算隐变量z时的ε通过重新采样获得。
6.根据权利要求3任一项所述的人机混合的应答方法,其特征在于,步骤S33“根据回复概率采样一个候选回复语句”,其方法为:依据计算出来的回复概率进行随机采样,采样的结果作为输出。
7.根据权利要求1或2所述的人机混合的应答方法,其特征在于,所述第一表征向量E(Ct)和候选回复语句对应的第二表征向量通过双向门控循环神经网络分别对各句子中的单词进行编码得到。
8.一种人机混合的应答***,其特征在于,该***包括对话模型、对话模型在线优化模块;所述对话模型包括第一编码模块、第二编码模块、置信度计算模块、应答输出模块;
所述第一编码模块,配置为对当前对话任务中当前对话上下文Ct进行编码,得到第一表征向量E(Ct);所述当前对话上下文包括当前提问语句以及之前问答语句;t为当前对话的轮次;
所述第二编码模块,配置为基于对话模型获取多个候选回复语句,并进行编码后得到各候选回复语句对应的第二表征向量其中表示第t轮第i个候选回复语句;
所述置信度计算模块,配置为基于第一表征向量E(Ct)、候选回复语句对应的第二表征向量通过不确定性估计方法获取候选回复语句能够正确回复用户提问的置信度;
所述应答输出模块,配置为置信度大于设定阈值则选择置信度对应的候选回复语句进行应答输出,否则通过人机交互设备的录入回复语句或者选定候选回复语句进行应答输出;
所述对话模型在线优化模块,配置为基于通过人机交互设备获取的应答输出后得到的全部对话语句,对所述对话模型进行优化。
9.根据权利要求8所述的人机混合的应答***,其特征在于,所述对话模型在线优化模块中对所述对话模型进行优化的方法为:
获取所述应答输出模块得到的人机交互设备录入或选定的回复语句,将该回复语句添加至所述对话模型的回复语句集合中,构建对应对话任务的上下文回复数据基于该对话上下文构建对话模型的目标函数L′,并依据目标函数L′对所述对话模型进行优化;
所述目标函数L′为
L′=-L+αL1
其中,L为上下文回复数据dk最大化数据似然的变分下界、L1为上下文回复数据dk的聚类损失;α是个超参数;Ck为第k轮的对话上下文,包括第k轮提问语句以及之前问答语句;为第k轮录入的回复语句。
10.一种存储装置,其中存储有多条程序,其特征在于,所述程序适于由处理器加载并执行以实现权利要求1-7任一项所述人机混合的应答方法。
11.一种处理装置,包括处理器、存储装置;处理器,适于执行各条程序;存储装置,适于存储多条程序;其特征在于,所述程序适于由处理器加载并执行以实现权利要求1-7任一项所述人机混合的应答方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910005704.0A CN109783704B (zh) | 2019-01-03 | 2019-01-03 | 人机混合的应答方法、***、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910005704.0A CN109783704B (zh) | 2019-01-03 | 2019-01-03 | 人机混合的应答方法、***、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783704A true CN109783704A (zh) | 2019-05-21 |
CN109783704B CN109783704B (zh) | 2021-02-02 |
Family
ID=66499965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910005704.0A Active CN109783704B (zh) | 2019-01-03 | 2019-01-03 | 人机混合的应答方法、***、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783704B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309283A (zh) * | 2019-06-28 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种智能问答的答案确定方法及装置 |
CN110543552A (zh) * | 2019-09-06 | 2019-12-06 | 网易(杭州)网络有限公司 | 对话交互方法、装置及电子设备 |
CN111694941A (zh) * | 2020-05-22 | 2020-09-22 | 腾讯科技(深圳)有限公司 | 一种回复信息确定方法、装置、存储介质及电子设备 |
CN111797218A (zh) * | 2020-07-07 | 2020-10-20 | 海南中智信信息技术有限公司 | 一种基于Cycle-Seq2Seq的开放域对话生成方法 |
CN112256856A (zh) * | 2020-11-16 | 2021-01-22 | 北京京东尚科信息技术有限公司 | 机器人对话方法、装置、电子设备及存储介质 |
CN112328774A (zh) * | 2020-11-27 | 2021-02-05 | 北京邮电大学 | 基于多文档的任务型人机对话任务的实现方法 |
CN113220852A (zh) * | 2021-05-06 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 人机对话方法、装置、设备和存储介质 |
CN114490975A (zh) * | 2021-12-31 | 2022-05-13 | 马上消费金融股份有限公司 | 用户问题的标注方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140304257A1 (en) * | 2011-02-02 | 2014-10-09 | Nanorep Technologies Ltd. | Method for matching queries with answer items in a knowledge base |
CN105591882A (zh) * | 2015-12-10 | 2016-05-18 | 北京中科汇联科技股份有限公司 | 一种智能机器人与人混合客服的方法及*** |
CN106448670A (zh) * | 2016-10-21 | 2017-02-22 | 竹间智能科技(上海)有限公司 | 基于深度学习和强化学习的自动回复对话*** |
CN106649258A (zh) * | 2016-09-22 | 2017-05-10 | 北京联合大学 | 一种智能的问答*** |
CN108509463A (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 一种问题的应答方法及装置 |
CN109002501A (zh) * | 2018-06-29 | 2018-12-14 | 北京百度网讯科技有限公司 | 用于处理自然语言对话的方法、装置、电子设备以及计算机可读存储介质 |
-
2019
- 2019-01-03 CN CN201910005704.0A patent/CN109783704B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140304257A1 (en) * | 2011-02-02 | 2014-10-09 | Nanorep Technologies Ltd. | Method for matching queries with answer items in a knowledge base |
CN105591882A (zh) * | 2015-12-10 | 2016-05-18 | 北京中科汇联科技股份有限公司 | 一种智能机器人与人混合客服的方法及*** |
CN106649258A (zh) * | 2016-09-22 | 2017-05-10 | 北京联合大学 | 一种智能的问答*** |
CN106448670A (zh) * | 2016-10-21 | 2017-02-22 | 竹间智能科技(上海)有限公司 | 基于深度学习和强化学习的自动回复对话*** |
CN108509463A (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 一种问题的应答方法及装置 |
CN109002501A (zh) * | 2018-06-29 | 2018-12-14 | 北京百度网讯科技有限公司 | 用于处理自然语言对话的方法、装置、电子设备以及计算机可读存储介质 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309283A (zh) * | 2019-06-28 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 一种智能问答的答案确定方法及装置 |
CN110309283B (zh) * | 2019-06-28 | 2023-03-21 | 创新先进技术有限公司 | 一种智能问答的答案确定方法及装置 |
CN110543552A (zh) * | 2019-09-06 | 2019-12-06 | 网易(杭州)网络有限公司 | 对话交互方法、装置及电子设备 |
CN110543552B (zh) * | 2019-09-06 | 2022-06-07 | 网易(杭州)网络有限公司 | 对话交互方法、装置及电子设备 |
CN111694941A (zh) * | 2020-05-22 | 2020-09-22 | 腾讯科技(深圳)有限公司 | 一种回复信息确定方法、装置、存储介质及电子设备 |
CN111694941B (zh) * | 2020-05-22 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 一种回复信息确定方法、装置、存储介质及电子设备 |
CN111797218A (zh) * | 2020-07-07 | 2020-10-20 | 海南中智信信息技术有限公司 | 一种基于Cycle-Seq2Seq的开放域对话生成方法 |
CN112256856A (zh) * | 2020-11-16 | 2021-01-22 | 北京京东尚科信息技术有限公司 | 机器人对话方法、装置、电子设备及存储介质 |
CN112328774A (zh) * | 2020-11-27 | 2021-02-05 | 北京邮电大学 | 基于多文档的任务型人机对话任务的实现方法 |
CN112328774B (zh) * | 2020-11-27 | 2022-10-25 | 北京邮电大学 | 基于多文档的任务型人机对话任务的实现方法 |
CN113220852A (zh) * | 2021-05-06 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 人机对话方法、装置、设备和存储介质 |
CN114490975A (zh) * | 2021-12-31 | 2022-05-13 | 马上消费金融股份有限公司 | 用户问题的标注方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109783704B (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783704A (zh) | 人机混合的应答方法、***、装置 | |
CN110366734B (zh) | 优化神经网络架构 | |
Nieto et al. | Supporting academic decision making at higher educational institutions using machine learning-based algorithms | |
CN109492164A (zh) | 一种简历的推荐方法、装置、电子设备及存储介质 | |
CN110503204A (zh) | 识别用于机器学习任务的迁移模型 | |
US20160322050A1 (en) | Device and method for a spoken dialogue system | |
CN109922032A (zh) | 用于确定登录账户的风险的方法和装置 | |
CN110291538A (zh) | 过滤图像分类输出分布的图像识别 | |
Wang et al. | Policy learning for domain selection in an extensible multi-domain spoken dialogue system | |
CN114913729B (zh) | 一种选题方法、装置、计算机设备和存储介质 | |
US20210312288A1 (en) | Method for training classification model, classification method, apparatus and device | |
CN110991195B (zh) | 机器翻译模型训练方法、装置及存储介质 | |
CN111382573A (zh) | 用于答案质量评估的方法、装置、设备和存储介质 | |
CN111339292A (zh) | 文本分类网络的训练方法、***、设备及存储介质 | |
Pan et al. | Study on the performance evaluation of online teaching using the quantile regression analysis and artificial neural network | |
CN115187772A (zh) | 目标检测网络的训练及目标检测方法、装置及设备 | |
CN110298597A (zh) | 一种测评方法、装置及存储介质 | |
CN109739965A (zh) | 跨领域对话策略的迁移方法及装置、设备、可读存储介质 | |
CN110348516A (zh) | 数据处理方法、装置、存储介质及电子设备 | |
Krantsevich et al. | Stochastic tree ensembles for estimating heterogeneous effects | |
CN109948930A (zh) | 用于驾驶培训规划的深度学习方法及其应用 | |
Hou et al. | A corpus-free state2seq user simulator for task-oriented dialogue | |
EL MEZOUARY et al. | An evaluation of learner clustering based on learning styles in MOOC course | |
CN115268860B (zh) | 一种智能教学诊断方法及*** | |
CN112231373B (zh) | 知识点数据的处理方法、装置、设备和计算机可读介质 |
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 |