一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于深度学习的任务型对话语句回复生成方法及存储介质

2022-04-16 19:14:18 来源:中国专利 TAG:


1.本发明涉及计算机应用技术领域,尤其涉及一种基于深度学习的任务型对话语句回复生成方法及存储介质。


背景技术:

2.自然语言生成(nlg)属于人工智能和计算语言的交叉学科,其目的旨在使机器生成可理解的人类语言文本,该技术的进步有助于构建强人工智能系统,并增进对人类语言的理解。在任务型对话系统中,自然语言生成(nlg)是最后且最重要的步骤。在这一环节,自然语言生成模块的目标是将对话动作转化为自然语言回复。传统的方法通常基于规则进行,将nlg任务分解为句子规划和表面实现两个部分,其中句子规划负责将根据对话动作产生一个能够反应回复语句的树状结构,表面实现则进一步将此树状结构转化成回复语句。虽然此类方法具有较好的鲁棒性,但却严重依赖于领域内的先验知识以及规则的人工设定,即不具有良好的泛化性。此外,经由这类方法生成的回复语句由于受到手工规则的限制通常十分枯燥,不能很好地模仿人类语言中的灵活性与多样性。
3.近年来,基于数据驱动的端到端神经网络的方法在这项任务上获得了更好的效果,引起了更多研究者们的关注。举例而言,早期的方案设计了一个具有编码器和解码器的神经网络模型,并通过注意力机制来处理对话动作中的槽值对。后有研究者设计了一个基于lstm(长短时记忆网络)的解码器来对注意力机制产生的语义元素进行选择与整合。后有方案设计了一个多任务学习框架,在对基于对话动作进行回复生成的有条件语言建模任务进行训练的同时,增加了一个共享上述任务编码器的无条件语言建模任务,与前人的工作相比,该框架显著提升了对话语句的流畅度。近期有学者针对该项任务中回复语句的槽丢失和槽冗余现象设计了一个迭代改写方法,该方法采用基于检索的自举方法对训练语料库中的错误案例进行抽样以丰富原始训练数据,作者同时引入了基于策略的强化学习,使训练模型具有与评估指标一致的离散奖励,较好地提升了任务型对话系统回复生成的可控性。此外,还有研究对面向该任务的可解释性神经网络进行了探索,所提出的方法包括一个由多解码器构成的句子渲染器集合和一个模式转换器,再生成回复语句时通过模式转换器选择恰当的解码器来生成一条回复中的不同部分,相对于之前的工作,该方法具有更好的可解释性。
4.虽然上述方法已经能够使机器较好地模拟人类语言习惯,但却仍不可避免地在生成的对话语句中产生槽错误,即忽视输入中的槽或生成多余的槽。在任务型对话系统常用的流程(状态跟踪、动作确定、回复生成)中,槽错误的现象将会导致前序模块决策出的对话动作不能准确出现在回复语句中,从而产生信息损失或冗余,即所生成的回复语句不能很好地承接用户话语或需求,导致使用体验不佳。
5.以上背景技术内容的公开仅用于辅助理解本发明的构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日已经公开的情况下,上述背景技术不应当用于评价本技术的新颖性和创造性。


技术实现要素:

6.本发明为了解决现有的问题,提供一种基于深度学习的任务型对话语句回复生成方法及存储介质。
7.为了解决上述问题,本发明采用的技术方案如下所述:
8.一种基于深度学习的任务型对话语句回复生成方法,包括如下步骤:s1:构建神经网络模型,所述神经网络模型包括句子规划器和分段生成器,所述句子规划器用于生成回复语句的骨架,所述分段生成器用于生成回复语句;s2:通过训练集中的对话动作及对应的回复语句对所述神经网络模型的所述句子规划器和所述分段生成器进行训练,得到训练好的神经网络模型;s3:利用训练好的所述神经网络模型以给定的对话动作为输入自动化生成回复语句。
9.优选地,对所述神经网络模型的所述句子规划器和所述分段生成器进行训练包括如下步骤:s21:采用词汇掩蔽技术将所有文本数据中的具体值替换为所述对话动作中对应的槽名,经过词汇掩蔽的所述对话动作经过所述句子规划器得到回复语句的骨架,其中包含所述对话动作和一系列经过语义排序的槽;s22:所述分段生成器在所述回复语句的骨架内渐进地在两个关键词之间以自回归方式生成文本片段,该进程从左到右进行,直到完整地生成整个回复语句为止。
10.优选地,得到所述回复语句的骨架包括如下步骤:采用词汇掩蔽技术将所述对话动作中所有文本数据中的具体值替换为所述对话动作中对应的槽名,将x0={x0,x1,...,x
t
}定义为所述句子规划器基于输入对话动作而产生的所述回复语句的骨架;其中,x0是所述对话动作的动作类型的词汇令牌,控制着整句回复语句的话语风格,x1,...,x
t
中的每一个都是代表着一个所述对话动作中特定槽的词汇令牌。
11.优选地,生成整个回复语句包括如下步骤:从右至左渐进地将所述回复语句的骨架中两个关键词之间的文本替换为符号@,得到一个全局信息和对应的三元组当作每个阶段中所述分段生成器的输入;其中,符号@用于明确指示文本生成的具体位置;建模一个k个阶段的渐进序列s:s={x0,x1,...,xk};对于k∈{0,...,k-1},x
k-1
是获取xk的条件,在每个阶段为一条回复生成一个小片段的文本,直到整句被完成为止,其中,k的值与对话动作中关键词的数目相同;各个阶段的全局信息和三元组分别经过全局信息编码器和三元组编码器,得到两者的神经网络隐藏表示矩阵;对所述神经网络隐藏表示矩阵进行融合,融合后的信息矩阵大小与三元组编码器的输出相同,送入解码器中,得到本阶段文本片段,该过程对各阶段循环执行,从而递归地得到回复语句模板,即xk;将所述回复语句的模板中的槽值都用所述对话动作中的对应值进行替换,从而得到最终回复语句。
12.优选地,对于两个所述关键词之间没有文本需要生成的情况,使用词汇令牌[无]来当作本阶段生成标签。
[0013]
优选地,采用多头注意力机制对所述神经网络隐藏表示矩阵进行融合,表示如下:
[0014]
a=multihead(enc
tri
(t),enc
glo
(g),enc
glo
(g))
[0015]
其中,t和g分别表示三元组和全局信息,计算结果a将会被传给所述解码器。
[0016]
优选地,还包括如下步骤:以三元组作为信息检索的关键词,在依据所述训练集构建好的检索材料库中检索对应的文本片段组成文本片段集合;在检索器中引入一个检索编码器记为enc
mem
,用来将检索到的所述文本片段集合中的每一条文本分别映射到其隐藏表
示,结合全局信息的首个编码向量,通过所述检索编码器进行编码与进一步打分;前m个检索出的文本片段将协同打分分数送入解码器辅助当前阶段的文本片段解码;其中,m为预先设置的整数。
[0017]
优选地,所述文本片段集合中第l个文本片段z
l
通过下式获取其与当前全局信息的相关性分数:
[0018]sl
=sigmoid(linear(gv;z
lv
))
[0019]
其中;表示向量拼接,gv和z
lv
分别为enc
glo
(g)和enc
mem
(z
l
)中“[开始]”词汇令牌处的隐藏表示;
[0020]
在每一个时间步t,记已经生成的本阶段文本序列为y
1:t-1
,解码器同时利用计算结果a和y
1:t-1
来产生一个隐藏状态h
t
,之后h
t
将会经过一个线性映射以及softmax函数转化成覆盖词表的概率分布:
[0021]
pv=softmax(wv·ht
bv)
[0022]
从{enc
mem
(zi)}中提取出一个语义嵌入向量集合
[0023]
其中,zi是检索出的m个文本片段之一,li是这个文本片段的长度;
[0024]
覆盖所有检索出的所述文本片段的交叉注意力计算为:
[0025][0026][0027]
其中,α
i,j
是zi中第j个词汇令牌的注意力分数,c
t
是检索到的话语中各词汇令牌的加权融合,si是zi的相关性分数,β是一个可训练的标量,用于控制偏置分数对注意力分数的影响,wm和wc都是可训练的参数。
[0028]
优选地,注意力分数还被视作生成过程中直接复制其对应词汇令牌的概率,最终这一时间步的词表概率计算为:
[0029][0030]
其中,i是指示函数,λ
t
是一个门控概率,由feed-forward网络计算得出:
[0031]
λ
t
=feedforward(h
t
,c
t
)。
[0032]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述方法的步骤。
[0033]
本发明的有益效果为:提供一种基于深度学习的任务型对话语句回复生成方法及存储介质,通过构建神经网络模型是两阶段的,包括句子规划器和分段生成器,可以先生成回复语句的骨架,再生成回复语句;然后通过对模型的训练,能够在保证所生成的话语高度可控、基本不产生槽错误的前提下很好地模仿人类语言习惯。
[0034]
进一步地,本方法提出了检索增强的分段自回归神经网络模型,进一步地使生成的回复语句在基本不会产生槽错误的同时能够很好地模仿人类语言习惯。
附图说明
[0035]
图1是本发明实施例中一种基于深度学习的任务型对话语句回复生成方法的示意图。
[0036]
图2是本发明实施例中对神经网络模型的句子规划器和分段生成器进行训练的方法示意图。
[0037]
图3是本发明实施例中分段式生成回复语句示例。
[0038]
图4是本发明实施例中生成整个回复语句的方法示意图。
[0039]
图5是本发明实施例中数据处理示例。
[0040]
图6是本发明实施例中引入检索机制的方法示意图。
[0041]
图7是本发明实施例中又一种基于深度学习的任务型对话语句回复生成方法的示意图。
具体实施方式
[0042]
为了使本发明实施例所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0043]
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接于”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。另外,连接既可以是用于固定作用也可以是用于电路连通作用。
[0044]
需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0045]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0046]
本发明旨在解决基于数据驱动和神经网络的方法在生成任务型对话语句时不可避免产生槽错误的问题。
[0047]
针对上述问题,为削减流程中各模块间的累积误差,准确传递指定约束信息,本发明针对回复生成模块计划设计可控建模和检索增强的神经网络模型。针对此任务,本发明提出了一种新的模型训练方式,基于输入的对话动作,将后续生成任务建模为硬性约束下的自然语言生成任务,进一步引入检索机制辅助话语分段生成,从而保证回复高度可控的前提下使机器能够生成接近人类语言的高质量对话语句。
[0048]
如图1所示,本发明提供一种基于深度学习的任务型对话语句回复生成方法,其特征在于,包括如下步骤:
[0049]
s1:构建神经网络模型,所述神经网络模型包括句子规划器和分段生成器,所述句子规划器用于生成回复语句的骨架,所述分段生成器用于生成回复语句;
[0050]
s2:通过训练集中的对话动作及对应的回复语句对所述神经网络模型的所述句子规划器和所述分段生成器进行训练,得到训练好的神经网络模型;
[0051]
s3:利用训练好的所述神经网络模型以给定的对话动作为输入自动化生成回复语句。
[0052]
本发明构建神经网络模型是两阶段的,包括句子规划器和分段生成器,区别于已有的基于对话动作直接生成整句话的模型,可以先生成回复语句的骨架,再生成回复语句;通过对模型的训练,使生成的回复语句在基本不会产生槽错误的同时能够很好地模仿人类语言习惯。
[0053]
如图2所示,对神经网络模型的句子规划器和分段生成器进行训练包括如下步骤:
[0054]
s21:采用词汇掩蔽技术将所有文本数据中的具体值替换为所述对话动作中对应的槽名,经过词汇掩蔽的所述对话动作经过所述句子规划器得到回复语句的骨架,其中包含所述对话动作和一系列经过语义排序的槽;
[0055]
s22:所述分段生成器在所述回复语句的骨架内渐进地在两个关键词之间以自回归方式生成文本片段,该进程从左到右进行,直到完整地生成整个回复语句为止。
[0056]
如图3所示,本发明技术依据对话动作渐进式生成一句任务型对话语句的过程。
[0057]
在模型训练与推理过程中,首先得到回复语句的骨架,具体包括如下步骤:
[0058]
使用目前已有的词汇掩蔽技术将所有文本数据中的具体值替换为对话动作中对应的槽名;然后将x0={x0,x1,...,x
t
}定义为句子规划器基于输入对话动作而产生的回复语句骨架。
[0059]
其中,x0是对话动作的动作类型的词汇令牌,控制着整句回复语句的话语风格,x1,...,x
t
中的每一个都是代表着一个对话动作中特定槽的词汇令牌。
[0060]
然后将后续的进程当做一个硬性约束下的自然语言生成任务。
[0061]
如图4所示,生成整个回复语句包括如下步骤:
[0062]
从右至左渐进地将所述回复语句的骨架中两个关键词之间的文本替换为符号@,得到一个全局信息和对应的三元组当作每个阶段中所述分段生成器的输入;其中,符号@用于明确指示文本生成的具体位置;
[0063]
建模一个k个阶段的渐进序列s:s={x0,x1,...,xk};对于k∈{0,...,k-1},x
k-1
是获取xk的条件,在每个阶段为一条回复生成一个小片段的文本,直到整句被完成为止,其中,k的值与对话动作中关键词的数目相同。
[0064]
各个阶段的全局信息和三元组分别经过全局信息编码器和三元组编码器,得到两者的神经网络隐藏表示矩阵;
[0065]
对所述神经网络隐藏表示矩阵进行融合,融合后的信息矩阵大小与三元组编码器的输出相同,送入解码器中,得到本阶段文本片段,该过程对各阶段循环执行,从而递归地得到回复语句模板,即xk;
[0066]
将所述回复语句的模板中的槽值都用所述对话动作中的对应值进行替换,从而得到最终回复语句。
[0067]
与现有技术中针对该任务提出的依据对话动作一次性生成整条回复的方法不同,本发明以适合所提出的模型训练的方式处理数据。
[0068]
如图5所示,对于一条经过词汇掩蔽的回复,从右至左渐进地将两个关键词之间的
文本替换为符号@,通过这种方式可以得到一个全局信息和对应的三元组当作每个阶段中分段生成器的输入。左下方三个模块代表着全局信息,右下方三个模块代表着由对话动作以及@这一词汇令牌两侧关键词组成的三元组。对于k∈{1,...,k},xk阶段中斜体加粗的部分就是x
k-1
阶段的标签或生成的文本。生成过程是数据准备的逆过程。其中,特殊符号@用于明确指示文本生成的具体位置。对于两个关键词之间没有文本需要生成的情况,选择使用一个特殊词汇令牌即[无]来当作本阶段生成标签。生成整个回复语句的过程,基于回复语句的骨架x0,可以得到此阶段对应的三元组,即“《通知》《通知》[名字]”,以及此阶段全局信息“《通知》@[名字][电话][sep]”,其中特殊符号“@”用于明确指示该阶段将要生成文本的位置。可选地,该符号可以替换为其他任意对模型而言无特殊意义的符号。
[0069]
为了使模型更好地模拟人类语言,本发明还引入了一种检索机制。对于此过程,本发明采用三元组当作键,并在整个训练集范围内将各个回复语句中的文本片段依据对应的键归入特定的集合以备检索。需要注意的是,由于人类语言的多样性以及句子结构的丰富性,上述大多数集合内都具有丰富的文本片段。
[0070]
如图6所示,本发明的方法还包括引入检索机制,具体包括如下步骤:
[0071]
以三元组作为信息检索的关键词,在依据所述训练集构建好的检索材料库中检索对应的文本片段组成文本片段集合;
[0072]
在检索器中引入一个检索编码器记为enc
mem
,用来将检索到的所述文本片段集合中的每一条文本分别映射到其隐藏表示,结合全局信息的首个编码向量,通过所述检索编码器进行编码与进一步打分;
[0073]
前m个检索出的文本片段将协同打分分数送入解码器辅助当前阶段的文本片段解码;
[0074]
其中,m为预先设置的整数。
[0075]
为了消除两步模型可能存在的语义不连续和笨拙表达等问题,进一步对模型引入一种检索机制,以提高生成响应的完整性和流畅性。
[0076]
具体而言,如图7所示,经过词汇掩蔽的对话动作首先经过句子规划器得到回复语句的骨架(即语义排序的对话动作),依据上述图5所示数据构造的方式获取各个阶段的全局信息和三元组,当做各个阶段分段生成器的输入。各个阶段的全局信息和三元组分别经过全局信息编码器和三元组编码器,得到两者的神经网络隐藏表示矩阵,为了融合全局和局部信息,采用多头注意力机制对二者进行融合,具体而言,以三元组编码器的输出当做多头注意力输入的k,以全局信息编码器的输出当作多头注意力输入的q和v,融合后的信息矩阵大小与三元组编码器的输出相同,送入解码器中。三元组还被当做信息检索的关键词,在上述依据训练集构建好的检索材料库中检索对应的文本片段,结合全局信息的首个编码向量([开始]位)通过检索编码器进行编码与进一步打分,前m个检索出的文本片段将协同打分分数送入解码器辅助当前阶段的文本片段解码。
[0077]
如图7所示,与已有方法直接基于对话动作生成整句话的模型不同,本发明技术主要由两阶段模型——句子规划器和分段生成器组成。图7为训练阶段的连接关系,即通过训练集中有的对话动作及对应的回复语句对句子规划器和分段生成器进行训练,句子规划器依据对话动作输出回复语句骨架,分段生成器则基于回复语句骨架每次为当前阶段生成一个文本片段,以此渐进地构建出回复语句模板,结束后得到一个面向任务型对话系统的回
复语句生成神经网络模型。
[0078]
生成阶段就是利用训练好的上述模型,以给定的对话动作为输入生成回复语句。
[0079]
继续如图7所示,由于对话动作中的各个槽不必按照原有顺序出现在回复语句中,首先应用句子规划器依据对话动作输出一个回复语句骨架,其中包含对话动作和一系列经过语义排序的槽。句子规划器可以保证输入对话动作的各个槽准确出现在回复语句中。随后分段生成器在所生成的骨架内渐进地在两个关键词之间以自回归方式生成文本片段,该进程从左到右进行,直到完整地生成整个语句为止。
[0080]
首先使用句子规划器对输入的已经经过词汇掩蔽的对话动作进行重新排序,比如经过词汇掩蔽的对话动作为(《通知》[电话][名字]),由于最终回复语句中的槽顺序可能与上述槽顺序不同,故通过一个带有限制性解码策略排序模块即句子规划器对上述对话动作进行槽排序,得到一个句子骨架,如(《通知》[名字][电话][sep]),其中《通知》是动作类型,[sep]是控制句子结束的特殊符号。
[0081]
可选地,句子规划器可以通过现存的各种端到端神经网络模型实现,即满足输入为文本序列,输出亦为文本序列的方法均可。需要注意的是,为了保证输入和输出的槽序列只有顺序不同,在推理阶段,方法限制模型每一步的输出词汇令牌只能从输入的槽中选择,被选择过的槽不能被再次选择,直到输入中的所有槽都被生成出来为止。以此可以进一步通过拼接动作类型和所生成的槽序列来得到句子骨架x0。
[0082]
基于句子骨架x0,可以得到此阶段对应的三元组,即“《通知》《通知》[名字]”,以及此阶段全局信息“《通知》@[名字][电话][sep]”,其中特殊符号“@”用于明确指示该阶段将要生成文本的位置。可选地,该符号可以替换为其他任意对模型而言无特殊意义的符号。
[0083]
全局信息编码器(记为enc
glo
)和三元组编码器(记为enc
tri
)首先分别对全局信息“《通知》@[名字][电话][sep]”和三元组“《通知》《通知》[名字]”进行编码,可选地,上述两个编码器都会将[开始]这一特殊词汇令牌补在输入序列的最前端,用以获取编码文本序列的整体向量表示。编码器的具体实现方式可以有多种,如transformer结构或lstm结构的编码器等。
[0084]
为融合全局信息与三元组信息,可选地,采用多头注意力机制对上述两个编码器的结果进行融合计算,这一过程表示为:
[0085]
a=multihead(enc
tri
(t),enc
glo
(g),enc
glo
(g))
[0086]
其中,t和g分别表示三元组和全局信息,计算结果a将会被传给解码器。其他的融合手段也可以用于此处,比如向量拼接等。
[0087]
可选地,三元组同时被用来检索对应的文本片段集合,在检索器当中,方法引入了一个检索编码器(记为enc
mem
)来将检索到的文本片段集合中的每一条文本分别映射到其隐藏表示。比如当前阶段的三元组为“《通知》《通知》[名字]”,以此为关键字在由训练数据构成的检索库内检索该三元组对应的可能的文本片段,如“我知道有一个”、“我找到了一个”等训练集内出现在“《通知》[名字]”这两个词汇令牌之间的文本片段,统一送给检索编码器编码获取隐藏表示。以集合中第l个文本片段z
l
为例,我们可以进一步通过下式获取其与当前全局信息的相关性分数:
[0088]sl
=sigmoid(linear(gv;z
lv
))
[0089]
其中;表示向量拼接,gv和z
lv
分别为enc
glo
(g)和enc
mem
(z
l
)中“[开始]”词汇令牌处
的隐藏表示。打分方式可以有其他神经网络或激活函数完成,但需要确保所得到的是针对每句话的一个能够体现检索材料(及文本片段)和当前阶段匹配程度的分数。
[0090]
随后,对于解码器而言,在每一个时间步t,记已经生成的本阶段文本序列为y
1:t-1
,解码器同时利用a和y
1:t-1
来产生一个隐藏状态h
t
,之后h
t
将会经过一个线性映射以及softmax函数转化成覆盖词表的概率分布:
[0091]
pv=softmax(wv·ht
bv)
[0092]
为将额外的检索信息有效融合,首先依据相关性分数检索前m个文本片段。其中m是可以根据实际情况设置的整数数字。
[0093]
然后直接从{enc
mem
(zi)}中提取出一个语义嵌入向量集合其中zi是检索出的m个文本片段之一,li是这个文本片段的长度。受到机器翻译领域相关工作的启发,为了使梯度信息能够由解码器回传到计算相关性系数的打分网络中,方法将si送入解码器当作zi的偏置信息。比如“我知道有一个”、“我找到了一个”分别获得了0.5和0.8的相关性分数,那么解码过程中解码器将会更多地参照“我找到了一个”这个检索到的文本片段来进行当前片段的生成。
[0094]
通过这种方式,一个覆盖所有检索出的文本的交叉注意力可以计算为:
[0095][0096][0097]
其中,α
i,j
是zi中第j个词汇令牌的注意力分数,c
t
是检索到的话语中各词汇令牌的加权融合,si是zi的相关性分数,β是一个可训练的标量,用于控制偏置分数对注意力分数的影响,wm和wc都是可训练的参数。
[0098]
可选地,将h
t
被更新为h
t
和c
t
之和。
[0099]
此外,注意力分数还被视作生成过程中直接复制其对应词汇令牌的概率,最终这一时间步的词表概率计算为:
[0100][0101]
其中,i是指示函数,λ
t
是一个门控概率,由feed-forward网络计算得出:
[0102]
λ
t
=feedforward(h
t
,c
t
)
[0103]
至此,已经可以针对每一阶段的全局信息和三元组信息得到该阶段生成的文本片段,比如对于全局信息“《通知》@[名字][电话][sep]”和三元组“《通知》《通知》[名字]”,生成的文本片段为“我找到了”,则可以得到下一阶段,即图1的阶段x1,进一步更新全局信息为“《通知》我找到了[名字]@[电话][sep]”,进而获得x1阶段的三元组“《通知》[名字][电话]”,从而将这x1阶段的全局信息“《通知》我找到了[名字]@[电话][sep]”和三元组“《通知》[名字][电话]”如前所述同样的流程生成下一阶段的文本片段“并且”得到图1中的全局信息x2,进而以此递归式地生成整句话的模板x3,如图1所示。
[0104]
最后,依据生成的模板如“《通知》我找到了[名字]并且[电话]是它的电话号码[sep]”,将经过词汇掩蔽前的对话动作中的具体值回填到各槽中,删除辅助槽(即对话动作
类型《通知》、[sep])得到最终的回复语句,如“我找到了肯德基并且123456789是它的电话号码”。
[0105]
对于任务型对话系统回复生成而言,本方法同时具有传统的基于规则的方法和近年流行的基于数据驱动和神经网络的优点,能够在保证所生成的话语高度可控、基本不产生槽错误的前提下很好地模仿人类语言习惯。
[0106]
进一步地,本方法提出了检索增强的分段自回归神经网络模型,使生成的回复语句在基本不会产生槽错误的同时能够很好地模仿人类语言习惯。
[0107]
本技术实施例还提供一种控制装置,包括处理器和用于存储计算机程序的存储介质;其中,处理器用于执行所述计算机程序时至少执行如上所述的方法。
[0108]
本技术实施例还提供一种存储介质,用于存储计算机程序,该计算机程序被执行时至少执行如上所述的方法。
[0109]
本技术实施例还提供一种处理器,所述处理器执行计算机程序,至少执行如上所述的方法。
[0110]
所述存储介质可以由任何类型的易失性或非易失性存储设备、或者它们的组合来实现。其中,非易失性存储器可以是只读存储器(rom,read only memory)、可编程只读存储器(prom,programmable read-only memory)、可擦除可编程只读存储器(eprom,erasable programmable read-only memory)、电可擦除可编程只读存储器(eeprom,electrically erasable programmable read-only memory)、磁性随机存取存储器(fram,ferromagnetic random access memory)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(cd-rom,compact disc read-only memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,random access memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,static random access memory)、同步静态随机存取存储器(ssram,synchronous static random access memory)、动态随机存取存储器(dram,dynamic random access memory)、同步动态随机存取存储器(sdram,synchronous dynamic random access memory)、双倍数据速率同步动态随机存取存储器(ddrsdram,double data rate synchronous dynamic random access memory)、增强型同步动态随机存取存储器(esdramenhanced synchronous dynamic random access memory)、同步连接动态随机存取存储器(sldram,sync link dynamic random access memory)、直接内存总线随机存取存储器(drram,direct rambus random access memory)。本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
[0111]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0112]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单
元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0113]
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0114]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0115]
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0116]
本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0117]
本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0118]
本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0119]
以上内容是结合具体的优选实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献