一种语句答复方法、语句答复装置及电子设备与流程

文档序号:23500345发布日期:2021-01-01 18:04阅读:63来源:国知局
一种语句答复方法、语句答复装置及电子设备与流程

本申请属于人工智能技术领域,尤其涉及一种语句答复方法、语句答复装置、电子设备及计算机可读存储介质。



背景技术:

问答机器人在工业界的应用日益广泛,地位日益提高,其背后的人工智能及自然语言处理(naturallanguageprocessing,nlp)技术已成为影响问答机器人质量的核心所在。问答机器人涉及的自然语言处理技术主要包括意图识别、词槽填充,在多轮对话中还涉及到了对话管理,这些技术关系着对话的合理性与用户体验。当前,基于已配置的模板给出输入语句的答复是较为广泛使用的多轮对话管理方式,虽然设计难度较低,但其可拓展性及灵活性较弱,容易导致生成的答复较为固化。



技术实现要素:

本申请提供了一种语句答复方法、语句答复装置、电子设备及计算机可读存储介质,可提升答复的可拓展性及灵活性。

第一方面,本申请提供了一种语句答复方法,包括:

接收输入语句;

将上述输入语句输入至已训练的意图识别模型及已训练的词槽填充模型中,获得上述意图识别模型所输出的上述输入语句的意图,以及上述词槽填充模型所输出的上述输入语句的词槽;

基于预设的特征结构,对上述输入语句的意图及词槽进行特征化表达,获得上述输入语句的状态向量;

通过预设的历史对话表及上述特征结构,构建各个历史语句的特征向量,其中,上述特征向量为历史语句的意图、词槽及反馈信息的特征化表达;

将各个历史语句的特征向量以及上述输入语句的状态向量输入至已训练的对话策略模型中,获得上述对话策略模型所输出的目标反馈信息;

基于上述目标反馈信息输出对上述输入语句的答复。

第二方面,本申请提供了一种语句答复装置,包括:

接收单元,用于接收输入语句;

意图获取单元,用于将上述输入语句输入至已训练的意图识别模型中,获得上述意图识别模型所输出的上述输入语句的意图;

词槽获取单元,用于将上述输入语句输入至已训练的词槽填充模型中,获得上述词槽填充模型所输出的上述输入语句的词槽;

第一向量获取单元,用于基于预设的特征结构,对上述输入语句的意图及词槽进行特征化表达,获得上述输入语句的状态向量;

第二向量获取单元,用于通过预设的历史对话表及上述特征结构,构建各个历史语句的特征向量,其中,上述特征向量为历史语句的意图、词槽及反馈信息的特征化表达;

目标反馈信息获取单元,用于将各个历史语句的特征向量以及上述输入语句的状态向量输入至已训练的对话策略模型中,获得上述对话策略模型所输出的目标反馈信息;

答复输出单元,用于基于上述目标反馈信息输出对上述输入语句的答复。

第三方面,本申请提供了一种电子设备,上述电子设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上述第一方面的方法的步骤。

第四方面,本申请提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上述第一方面的方法的步骤。

第五方面,本申请提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。

由上可见,通过本申请方案,在接收输入语句后,先将上述输入语句输入至已训练的意图识别模型及已训练的词槽填充模型中,获得上述意图识别模型所输出的上述输入语句的意图,以及上述词槽填充模型所输出的上述输入语句的词槽,然后基于预设的特征结构,对上述输入语句的意图及词槽进行特征化表达,获得上述输入语句的状态向量,同时通过预设的历史对话表及上述特征结构,构建各个历史语句的特征向量,其中,上述特征向量为历史语句的意图、词槽及反馈信息的特征化表达,最后将各个历史语句的特征向量以及上述输入语句的状态向量输入至已训练的对话策略模型中,获得上述对话策略模型所输出的目标反馈信息,并基于上述目标反馈信息输出对上述输入语句的答复。本方案中将历史语句及当前接收到的输入语句均根据预设的特征结构进行了特征化表达,以得到各个语句的特征向量,通过这些特征向量来预测输入语句的反馈信息,相比于基于已配置的模板给出输入语句的答复,本方案可拓展性及灵活性更高。可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的语句答复方法的流程图;

图2是本申请实施例提供的语句答复方法中,对话策略模型的网络结构示意图;

图3是本申请实施例提供的语句答复方法的流程框架示意图;

图4是本申请实施例提供的语句答复装置的结构框图;

图5是本申请实施例提供的电子设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

实施例一

下面对本申请实施例提供的一种语句答复方法进行描述,请参阅图1,本申请实施例中的语句答复方法包括:

步骤101,接收输入语句;

在本申请实施例中,首先可以接收用户本次所输入的语句,也即输入语句。该输入语句即为本次语句答复的对象,也即,本次语句答复的目的即为识别出上述输入语句的意图及词槽后,基于输入语句的意图及词槽及上下文给出针对该输入语句的答复。具体地,用户可以通过文字输入的方式输入上述输入语句;或者,用户也可以通过语音输入的方式输入上述输入语句,此处不对上述输入语句的输入方式作出限定。

步骤102,将上述输入语句输入至已训练的意图识别模型及已训练的词槽填充模型中,获得上述意图识别模型所输出的上述输入语句的意图,以及上述词槽填充模型所输出的上述输入语句的词槽;

在本申请实施例中,已训练有意图识别模型及词槽填充模型,其中,上述意图识别模型的作用为预测得到上述输入语句的意图,而词槽填充模型的作用为抽取出上述输入语句中的各个实体,并基于抽取到的各个实体确定对应词槽。具体地,上述意图识别模型及上述词槽填充模型均可基于一自然语言理解(naturallanguageunderstanding,nlu)文件进行训练。为方便理解,下面给出该nlu文件中的文件内容的具体示例:

#问天气

-今天天气怎么样

-我想查{上海:city}今天天气

-今天天气舒适吗

-今天空气质量如何

#告知城市

-上海

-我在北京

-天津市

上述示例中,以符号“#”开头的文本代表意图,则上述文件内容中所包含的“#问天气”用于表示意图“问天气”,“#告知城市”用于表示意图“告知城市”;以符号“-”开头的文本用于表示对应意图下的具体语句(例子),也即,可以认为以符号“-”开头的文本均为对应意图下的训练样本;实体及其所对应的词槽采用{实体词语:词槽名称}的格式进行标注,nlu文件中包含有上述{实体词语:词槽名称}格式的例子即为词槽填充训练数据,则上述文件内容中,“我想查{上海:city}今天天气”即为一词槽填充训练数据,其中,{上海:city}可用于表示实体词语为“上海”时,该实体词语所对应的词槽名称为“city”。可以认为,上述nlu文件实际提出了一种更为便捷的,且更适合人机对话系统的自然语言理解模型研发的标准模板,其可实现意图及词槽的结构化表示。需要注意的是,上述nlu文件所包含的文件内容都是语料人员人工填充的,也即,语料人员可根据自身的研发需求,按照上述nlu文件所提供的格式对该nlu文件进行填充,以形成用于训练意图识别模型及词槽填充模型的训练样本。也即,上述自然语言理解文件包含有语料人员所穷举的意图及词槽。

在一些实施例中,针对上述意图识别模型的训练可以为:通过上述nlu文件抽取出目标意图下的训练样本,上述目标意图为nlu中所示出的任一意图;随后计算该目标意图下的每条训练样本中的各个词语的词频-逆文本频率(termfrequency-inversedocumentfrequency,tf-idf)指数,基于上述tf-idf指数对目标意图下的每条训练样本进行词向量化,得到各条训练样本的词向量表达;或者,也可以直接基于word2vec技术对目标意图下的每条训练样本进行词向量化,得到各条训练样本的词向量表达,此处不对词向量表达的获取方式作出限定;接着将各条训练样本的词向量表达输入至多分类模型中,通过多分类模型所输出的意图与正确意图(也即目标意图)进行比对,调整多分类模型的模型参数,最终可得到已训练的意图识别模型。

在一些实施例中,针对词槽填充模型的训练可以为:通过上述nlu文件抽取出词槽填充训练数据,通过指定的标注体系(例如bio标注体系或其它标注体系)对各个词槽填充训练数据进行特征化,并通过bilstm-crf模型对特征化后的词槽填充训练数据进行分词、词性标注及命名实体识别,通过bilstm-crf模型所输出的分词、词性标注及命名实体识别的结果与词槽填充训练数据正确的分词、词性标注及命名实体识别的结果进行比对,调整bilstm-crf模型的模型参数,最终可得到已训练的词槽填充模型。

需要注意的是,上述nlu文件中所存储的意图及词槽越多,上述意图识别模型及上述词槽填充模型的训练效果就会越好;也即,虽然当前并不能对意图及词槽进行绝对的穷举,但仍需要语料人员尽可能多的举例,提出多个可能的(且不重复的)意图及词槽。

步骤103,基于预设的特征结构,对上述输入语句的意图及词槽进行特征化表达,获得上述输入语句的状态向量;

在本申请实施例中,将对输入语句进行特征化表达,以获得输入语句的状态向量;可以认为,上述特征语句的状态向量表示了输入语句的意图及词槽。

具体地,上述步骤103可以包括:

a1、根据上述输入语句的意图,创建上述输入语句的意图向量;

在一些实施例中,通过意图识别模型所输出的上述输入语句的意图,可生成上述输入语句的意图向量;也即,通过该意图向量表示上述输入语句的意图。在本申请实施例中,意图向量可以为一位有效编码向量,也即可通过one-hot的编码方式生成意图向量,具体过程为:

a11、获取预设的nlu文件中所包含的意图数量;

在一些实施例中,通过上文对nlu文件的描述可知,语料人员可以尽可能多的提出不同的意图,并将所提出的意图存储于预先设定的nlu文件中;也即,上述nlu文件存储有语料人员所给出的各种可能的意图,例如“听音乐”意图、“问天气”意图及“导航”意图等,语料人员可自行设定nlu文件中所包含的意图,此处不作限定。通过对nlu文件中所包含的意图进行统计,可获得意图数量。

a12、基于上述意图数量,初始化上述输入语句的意图向量;

在一些实施例中,可根据统计得到的意图数量,初始化输入语句的意图向量,其中,上述输入语句的意图向量的维度与上述意图数量相同,且上述输入语句的意图向量中的维度与上述nlu文件中的意图之间为一一对应的关系。例如,假定nlu文件中共示出有m个意图,则可初始化得到一m维的意图向量,且该意图向量的所有维度上的初始值均为预设的第一数值,上述第一数值具体为“0”。

a13、将上述输入语句的意图向量中,与上述输入语句的意图相对应的维度的数值更改为预设的第二数值。

在一些实施例中,上述第二数值具体为“1”。由于意图向量中的每一维度分别对应有一意图,且不同的维度所对应的意图不相同,可以基于one-hot的编码方式,将上述输入语句的意图向量中,与上述输入语句的意图相对应的维度上的数值由第一数值“0”更改为第二数值“1”。以nlu文件中所包含的意图为[问天气,听音乐,导航]这三项为例,初始化得到的意图向量为[0,0,0],其中,第一维对应“问天气”这一意图,第二维对应“听音乐”这一意图,第三维对应“导航”这一意图;若通过意图识别模型获得输入语句的意图为“问天气”,则可得到一3维向量[1,0,0],该3维向量即为输入语句的意图向量。

a2、根据上述输入语句的词槽,创建上述输入语句的词槽向量;

在一些实施例中,通过词槽填充模型所输出的上述输入语句的词槽,可生成上述输入语句的词槽向量;也即,通过该词槽向量表示上述输入语句所包含的词槽。需要注意的是,输入语句所包含的词槽的数量可以为一个以上。在本申请实施例中,意图向量可以为一位有效编码向量,也即one-hot的编码方式生成意图向量,具体过程为:

a21、获取预设的自然语言理解文件中所包含的词槽数量;

在一些实施例中,与上述步骤a11类似,通过上文对nlu文件的描述可知,语料人员可以尽可能多的提出各种词槽,并将提出的词槽存储于预先设定的nlu文件中;也即,上述nlu文件存储有语料人员所给出的各种可能的词槽,例如“city”词槽、“singer”词槽、“song”词槽及“album”词槽等,语料人员可自行设定nlu文件中所包含的词槽,此处不作限定。通过对nlu文件中所包含的词槽进行统计,可获得词槽数量。

a22、基于上述词槽数量,初始化上述输入语句的词槽向量,其中,上述输入语句的词槽向量的维度与上述词槽数量相同,且上述输入语句的词槽向量中的维度与上述自然语言理解文件中的词槽之间为一一对应的关系;

在一些实施例中,与上述步骤a12类似,可根据统计得到的词槽数量,初始化输入语句的词槽向量,其中,上述输入语句的词槽向量的维度与上述词槽数量相同,且上述输入语句的词槽向量中的维度与上述nlu文件中的词槽之间为一一对应的关系。例如,假定nlu文件中共示出有n个词槽,则可初始化得到一n维的词槽向量,且该词槽向量的所有维度上的初始值均为预设的第一数值,上述第一数值具体为“0”。

a23、将上述输入语句的词槽向量中,与上述输入语句的任一词槽相对应的维度的数值更改为预设的第二数值。

在一些实施例中,与上述步骤a13类似,上述第二数值具体为“1”。由于词槽向量中的每一维度分别对应有一词槽,且不同的维度所对应的词槽不相同,可以基于one-hot的编码方式,将上述输入语句的意图向量中,与上述输入语句的意图相对应的维度上的数值由第一数值“0”更改为第二数值“1”。需要注意的是,在步骤a13中,由于语句所要表达的意图往往只有一个,因而,上述步骤a13中,意图向量通常只有一个维度的数值更改为第二数值“1”;而在步骤a23中,由于语句所包含的词槽可能有多个,因而根据输入语句所包含的词槽的数量,可将多个维度的数值更改为第二数值“1”。

例如,输入语句为“我想听周杰伦的告白气球”时,可以对“周杰伦”这一实体词语进行抽取,得到词槽“singer”,也可以对“告白气球”这一实体词语进行抽取,得到词槽“song”,也即,输入语句可用词槽表示为“我想听{周杰伦:singer}的{告白气球:song}”,上述输入语句所包含的词槽有两个,分别为“singer”及“song”。以nlu文件中所包含的词槽为[city,singer,song,album]这四项为例,初始化得到的意图向量为[0,0,0,0],其中,第一维对应“city”这一词槽,第二维对应“singer”这一词槽,第三维对应“song”这一词槽,第四维对应“album”这一词槽;则基于输入语句“我想听周杰伦的告白气球”,可得到一4维向量[0,1,1,0],该4维向量即为输入语句的词槽向量。

a3、基于上述特征结构所指示的拼接顺序,拼接上述输入语句的意图向量及词槽向量,得到上述输入语句的状态向量。

在一些实施例中,电子设备可以根据预先设定好的特征结构将上述输入语句的意图向量及词槽向量拼接起来,以获得输入语句的状态向量。

步骤104,通过预设的历史对话表及上述特征结构,构建各个历史语句的特征向量;

在本申请实施例中,研发人员可以预先设定一历史对话表,该历史对话表中记录了各个历史语句,其中,上述历史语句指的是本轮对话的历史轮次中用户所输入的语句。除了各个历史语句之外,上述历史对话表中还可以记录下各个历史语句的意图,各个历史语句的词槽以及电子设备基于各个历史语句所预测得到的反馈信息(action)。可以通过与上述步骤103所示出的类似的方式,构建各个历史语句的特征向量。例如,假定语料人员共提出有m个意图、n个词槽及p个反馈信息,则针对历史语句1,可先初始化得到历史语句1的m维意图向量,n维词槽向量及p维反馈信息向量,并根据历史对话中所记录的历史语句1的意图设置m维意图向量中对应维度的数值,根据历史对话中所记录的历史语句1所包含的词槽设置n维词槽向量中对应维度的数值,以及根据历史对话中所记录的历史语句1的反馈信息设置p维反馈信息向量中对应维度的数值,随后基于上述特征结构所指示的拼接顺序,拼接历史语句1的意图向量、词槽向量及反馈信息向量,得到历史语句1的特征向量。

需要注意的是,为了方便后续对话策略模型的运算,可以将输入语句的状态向量由m+n维填充至m+n+p维,以使得输入语句的状态向量与各个历史语句的特征向量的维度保持一致,其中,填充位置由上述特征结构决定。例如,假定历史语句的特向向量是根据意图向量-词槽向量-反馈信息向量这一特征结构所指示的拼接顺序而拼接所得,则可在输入语句的m+n维的状态向量之中,由最后一个维度向后以数值“0”填充至m+n+p维;也即,此时可以看做是为输入语句生成了一数值全为0的p维的反馈信息向量,并根据意图向量-词槽向量-反馈信息向量这一特征结构所指示的拼接顺序,将输入语句的意图向量、词槽向量及反馈信息向量拼接,得到了输入语句的m+n+p维的状态向量。

步骤105,将各个历史语句的特征向量以及上述输入语句的状态向量输入至已训练的对话策略模型中,获得上述对话策略模型所输出的目标反馈信息;

在本申请实施例中,上述对话策略模型具体为基于注意力机制的长短期记忆网络(longshort-termmemory,lstm)网络模型,该网络模型被广泛的应用于nlp领域,此处简单对该网络模型进行介绍:

请参阅附图2,上述网络模型由输入层、lstm层、attention层、全连接层及输出层构成。

其中,上述输入层用于向网络模型输入数据,具体为将各个历史语句的特征向量及上述输入语句的状态向量作为上述网络模型的输入,并对各项输入向量(也即各个历史语句的特征向量及上述输入语句的状态向量)进行预处理,基于各个特征向量及输入向量构建向量序列。需要注意的是,研发人员可预先设定向量序列的长度l,当对话轮数不够时(也即特征向量及状态向量的总数不够时),用-1对向量序列进行填充。

其中,上述lstm层用于提取向量序列中的各个输入向量的隐藏状态(hiddenstate),需要注意的是,向量序列被输入至lstm层之前,还会先进行掩码(mask)操作。

其中,上述attention层用于根据各个输入向量的隐藏状态生成权重向量,上述权重向量用于表示各个历史语句的输入向量的注意力分布。

其中,上述全连接层通过softmax函数进行激活,以基于各个历史语句所对应的输入向量的注意力分布,计算得到分类结果,上述分类结果指的是上述网络模型所预测得到的一个以上反馈信息的得分;也即,语料人员预先设定有p个反馈信息,全连接层通过softmax分类函数激活得到各个反馈信息的得分,该得分用于表示基于输入语句所预测的反馈信息的概率。

其中,上述输出层用于输出分类结果。电子设备将基于上述分类结果,选择最优解,具体表现为将得分最高的反馈信息确定为目标反馈信息。

在一些实施例中,可基于预设的story文件对上述对话策略模型进行训练。为方便理解,下面给出该story文件中的文件内容的具体示例:

##问天气场景

#问天气

+ask_for_city

#告知城市

+return_answer_weather

##问地址场景

……

其中,以符号“##”开头的文本代表场景名称,其并没有实际作用,仅属于对场景的注释;以“#”开头的文本与在上述nlu文件中的含义一致,代表意图;以“+”开头的文本代表电子设备的反馈信息,即针对用户所输入的语句(也即对应意图)的响应。这样一组“意图-反馈信息-意图-反馈信息…”构成了一种场景。需要注意的是,上述nlu文件及story文件的数据均为结构化数据,可以转换为模型所需的数据格式,而语料人员(也即对话设计者)只需遵循简单的规则编写即可,工作量得以减轻。如此一来,语料人员本身并不需要熟悉机器学习背景,只需熟悉业务或对话场景即可,其可通过编辑nlu文件来协助电子设备完成意图识别的训练,并通过上述story文件来编辑典型对话场景。

在一些实施例中,针对上述对话策略模型的训练为:通过预设的story文件抽取出策略模型训练数据;对策略模型训练数据中的当前语句及历史语句进行特征化表达,获得当前语句的状态向量及历史语句的特征向量,并基于此对基于注意力机制的lstm网络模型进行训练,根据训练的输出结果通过反向传播调节上述基于注意力机制的lstm网络模型的模型参数,最终可得到已训练的对话策略模型。

需要注意的是,上述sotry文件中所存储的反馈信息越多,上述对话策略模型的训练效果就会越好;也即,虽然当前并不能对反馈信息穷举,但仍需要语料人员尽可能多的举例,提出多个场景下可能的反馈信息。

步骤106,基于上述目标反馈信息输出对上述输入语句的答复。

在本申请实施例中,可以基于上述目标反馈信息输出对上述输入语句的答复。其中,每一反馈信息均可预先关联有一个以上答复模板,因而,为了进一步提升语句答复的丰富性,可在目标反馈信息所关联的答复模板中随机挑选一答复模板作为目标答复模板,并基于该目标答复模板输出上述输入语句的答复。

可选地,上述步骤106具体包括:

b1、检测与上述目标反馈信息相关联的答复模板中是否存在待填充内容;

在一些实施例中,某些反馈信息所关联的答复模板可能存在待填充内容。例如,若确定目标反馈信息为“return_answer_weather”,其所关联的答复模板可以为“您所在城市的天气为……”,上述“……”即为待填充内容,需要由电子设备根据实际情况进行填充。

b2、若存在待填充内容,则联网对上述答复模板中的待填充内容进行填充;

在一些实施例中,假定与上述目标反馈信息相关联的答复模板中存在待填充内容,则电子设备可以进一步联网获取该待填充内容所需要的信息,例如,答复模板为“您所在城市的天气为……”时,电子设备需要首选联网获取用户所在地的天气信息,并将该天气信息填充至待填充内容处,才能得到完整的答复语句。

b3、基于填充后的答复模板输出对上述输入语句的答复。

在一些实施例中,可基于填充后的答复模板输出对上述输入语句的答复。例如,对答复模板为“您所在城市的天气为……”进行填充后,得到的完整的答复语句为“您所在城市的天气为多云,温度18到24度,湿度60%,东南风1-3级”,将该完整的答复语句输出,作为输入语句的答复。

可选地,在步骤105之后,上述语句答复方法还包括:

基于上述输入语句、上述输入语句的意图、上述输入语句的词槽及上述目标反馈信息,更新上述历史对话表。

在本申请实施例中,前文已解释了历史对话表包含有语句、语句的意图、语句的词槽及基于该语句的反馈信息等要素,通过该历史对话表,本申请实施例才可构建历史语句的特征向量。考虑到多轮对话是依赖于前文的,因而在每轮对话结束时,也即,每次基于本轮的输入语句预测获得了目标反馈信息时,都需要将本轮对话的相关内容(包括输入语句本身、输入语句的意图、输入语句的词槽及基于该输入语句所预测的目标反馈信息)新增入历史对话表中,以使得下一轮对话所获取到的历史语句不丢失信息。

请参阅图3,图3给出了本申请实施例所提出的语句答复方法的流程框架的示意。由图3可知,接收到输入语句后,可通过并行设置的意图识别模型及词槽填充模型分别获得输入语句的意图及输入语句的词槽;基于上述输入语句的意图及输入语句的词槽得到输入语句的特征化表达(也即输入语句的状态向量);同时,还可得到预设的对话记录表中所存储的历史语句的特征化表达(也即历史语句的特征向量);随后将输入语句的状态向量及历史语句的特征向量一并输入至对话策略模型中,获得对话策略模型所输出的上述输入语句的目标反馈信息;最后,一方面基于输入语句、上输入语句的意图、输入语句的词槽及目标反馈信息更新上述对话记录表(也即图3中虚线部分),另一方面基于上述目标反馈信息输出对上述输入语句的答复。

由上可见,本申请方案所提出的语句答复方法中,通过预设的特征结构将用户当前的输入语句及历史语句进行了特征化表达,得到了输入语句的状态向量及历史语句的特征向量,通过这些向量来预测输入语句的反馈信息,相比于基于已配置的模板给出输入语句的答复,本申请方案的可拓展性及灵活性更高。进一步地,本申请对模型训练时所采用的是以预定格式编写的配置文件,可通过该配置文件方便的将训练数据转换为结构化数据,语料人员更易于对配置文件进行撰写及修改,可减少语料人员的工作量。

需要强调的是,上述公开的预定格式编写的配置文件、结构化数据等可存储于区块链中,以增强上述信息的安全性,本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

实施例二

本申请实施例二提供了一种语句答复装置,上述语句答复装置可集成于电子设备中,如图4所示,本申请实施例中的语句答复装置400包括:

接收单元401,用于接收输入语句;

意图获取单元402,用于将上述输入语句输入至已训练的意图识别模型中,获得上述意图识别模型所输出的上述输入语句的意图;

词槽获取单元403,用于将上述输入语句输入至已训练的词槽填充模型中,获得上述词槽填充模型所输出的上述输入语句的词槽;

第一向量获取单元404,用于基于预设的特征结构,对上述输入语句的意图及词槽进行特征化表达,获得上述输入语句的状态向量;

第二向量获取单元405,用于通过预设的历史对话表及上述特征结构,构建各个历史语句的特征向量,其中,上述特征向量为历史语句的意图、词槽及反馈信息的特征化表达;

目标反馈信息获取单元406,用于将各个历史语句的特征向量以及上述输入语句的状态向量输入至已训练的对话策略模型中,获得上述对话策略模型所输出的目标反馈信息;

答复输出单元407,用于基于上述目标反馈信息输出对上述输入语句的答复。

可选地,上述第一向量获取单元404,包括:

意图向量创建子单元,用于根据上述输入语句的意图,创建上述输入语句的意图向量;

词槽向量创建子单元,用于根据上述输入语句的词槽,创建上述输入语句的词槽向量;

向量拼接子单元,用于基于上述特征结构所指示的拼接顺序,拼接上述输入语句的意图向量及词槽向量,得到上述输入语句的状态向量。

可选地,上述意图向量为一位有效编码向量,上述意图向量创建子单元,包括:

意图数量获取子单元,用于获取预设的自然语言理解文件中所包含的意图数量;

意图向量初始化子单元,用于基于上述意图数量,初始化上述输入语句的意图向量,其中,上述输入语句的意图向量的维度与上述意图数量相同,且上述输入语句的意图向量中的维度与上述自然语言理解文件中的意图之间为一一对应的关系,且每一维度的数值均为预设的第一数值;

意图向量设置子单元,将上述输入语句的意图向量中,与上述输入语句的意图相对应的维度的数值更改为预设的第二数值。

可选地,上述词槽向量为一位有效编码向量,上述词槽向量创建子单元,包括:

词槽数量获取子单元,用于获取预设的自然语言理解文件中所包含的词槽数量;

词槽向量初始化子单元,用于基于上述词槽数量,初始化上述输入语句的词槽向量,其中,上述输入语句的词槽向量的维度与上述词槽数量相同,且上述输入语句的词槽向量中的维度与上述自然语言理解文件中的词槽之间为一一对应的关系,且每一维度的数值均为预设的第一数值;

词槽向量设置子单元,用于将上述输入语句的词槽向量中,与上述输入语句的任一词槽相对应的维度的数值更改为预设的第二数值。

可选地,上述答复输出单元,包括:

内容检测子单元,用于检测与上述目标反馈信息相关联的答复模板中是否存在待填充内容;

内容填充子单元,用于若存在待填充内容,则联网对上述答复模板中的待填充内容进行填充;

答复输出子单元,用于基于填充后的答复模板输出对上述输入语句的答复。

可选地,上述目标反馈信息获取单元,包括:

得分获取子单元,用于将各个历史语句的特征向量以及上述输入语句的状态向量输入至已训练的对话策略模型,得到上述对话策略模型所输出的一个以上反馈信息的得分;

目标反馈信息确定子单元,用于将得分最高的反馈信息确定为目标反馈信息。

可选地,上述语句答复装置还包括:

历史对话表更新子单元,用于基于上述输入语句、上述输入语句的意图、上述输入语句的词槽及上述目标反馈信息,更新上述历史对话表。

由上可见,本申请方案所提出的语句答复装置中,通过预设的特征结构将用户当前的输入语句及历史语句进行了特征化表达,得到了输入语句的状态向量及历史语句的特征向量,通过这些向量来预测输入语句的反馈信息,相比于基于已配置的模板给出输入语句的答复,本申请方案的可拓展性及灵活性更高。进一步地,本申请对模型训练时所采用的是以预定格式编写的配置文件,可通过该配置文件方便的将训练数据转换为结构化数据,语料人员更易于对配置文件进行撰写及修改,可减少语料人员的工作量。

实施例三

本申请实施例三提供了一种电子设备,请参阅图5,本申请实施例中的电子设备5包括:存储器501,一个或多个处理器502(图5中仅示出一个)及存储在存储器501上并可在处理器上运行的计算机程序。其中:存储器501用于存储软件程序以及模块,处理器502通过运行存储在存储器501的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。具体地,处理器502通过运行存储在存储器501的上述计算机程序时实现以下步骤:

接收输入语句;

将上述输入语句输入至已训练的意图识别模型及已训练的词槽填充模型中,获得上述意图识别模型所输出的上述输入语句的意图,以及上述词槽填充模型所输出的上述输入语句的词槽;

基于预设的特征结构,对上述输入语句的意图及词槽进行特征化表达,获得上述输入语句的状态向量;

通过预设的历史对话表及上述特征结构,构建各个历史语句的特征向量,其中,上述特征向量为历史语句的意图、词槽及反馈信息的特征化表达;

将各个历史语句的特征向量以及上述输入语句的状态向量输入至已训练的对话策略模型中,获得上述对话策略模型所输出的目标反馈信息;

基于上述目标反馈信息输出对上述输入语句的答复。

假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,上述基于预设的特征结构,对上述输入语句的意图及词槽进行特征化表达,获得上述输入语句的状态向量,包括:

根据上述输入语句的意图,创建上述输入语句的意图向量;

根据上述输入语句的词槽,创建上述输入语句的词槽向量;

基于上述特征结构所指示的拼接顺序,拼接上述输入语句的意图向量及词槽向量,得到上述输入语句的状态向量。

在上述第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述意图向量为一位有效编码向量,上述根据上述输入语句的意图,创建上述输入语句的意图向量,包括:

获取预设的自然语言理解文件中所包含的意图数量;

基于上述意图数量,初始化上述输入语句的意图向量,其中,上述输入语句的意图向量的维度与上述意图数量相同,且上述输入语句的意图向量中的维度与上述自然语言理解文件中的意图之间为一一对应的关系,且每一维度的数值均为预设的第一数值;

将上述输入语句的意图向量中,与上述输入语句的意图相对应的维度的数值更改为预设的第二数值。

在上述第二种可能的实施方式作为基础而提供的第四种可能的实施方式中,上述词槽向量为一位有效编码向量,上述根据上述输入语句的词槽,创建上述输入语句的词槽向量,包括:

获取预设的自然语言理解文件中所包含的词槽数量;

基于上述词槽数量,初始化上述输入语句的词槽向量,其中,上述输入语句的词槽向量的维度与上述词槽数量相同,且上述输入语句的词槽向量中的维度与上述自然语言理解文件中的词槽之间为一一对应的关系,且每一维度的数值均为预设的第一数值;

将上述输入语句的词槽向量中,与上述输入语句的任一词槽相对应的维度的数值更改为预设的第二数值。

在上述第一种可能的实施方式作为基础而提供的第五种可能的实施方式中,上述基于上述目标反馈信息输出对上述输入语句的答复,包括:

检测与上述目标反馈信息相关联的答复模板中是否存在待填充内容;

若存在待填充内容,则联网对上述答复模板中的待填充内容进行填充;

基于填充后的答复模板输出对上述输入语句的答复。

在上述第一种可能的实施方式作为基础而提供的第六种可能的实施方式中,上述将各个历史语句的特征向量以及上述输入语句的状态向量输入至已训练的对话策略模型中,获得上述对话策略模型所输出的目标反馈信息,包括:

将各个历史语句的特征向量以及上述输入语句的状态向量输入至已训练的对话策略模型,得到上述对话策略模型所输出的一个以上反馈信息的得分;

将得分最高的反馈信息确定为目标反馈信息。

在上述第一种可能的实施方式作为基础,或者上述第二种可能的实施方式作为基础,或者上述第三种可能的实施方式作为基础,或者上述第四种可能的实施方式作为基础,或者上述第五种可能的实施方式作为基础,或者上述第六种可能的实施方式作为基础而提供的第七种可能的实施方式中,在上述将各个历史语句的特征向量以及上述输入语句的状态向量输入至已训练的对话策略模型中,获得上述对话策略模型所输出的目标反馈信息之后,处理器502通过运行存储在存储器501的上述计算机程序时实现以下步骤:

基于上述输入语句、上述输入语句的意图、上述输入语句的词槽及上述目标反馈信息,更新上述历史对话表。

应当理解,在本申请实施例中,所称处理器502可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearra6,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器501可以包括只读存储器和随机存取存储器,并向处理器502提供指令和数据。存储器501的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器501还可以存储设备类别的信息。

由上可见,本申请方案所提出的电子设备中,通过预设的特征结构将用户当前的输入语句及历史语句进行了特征化表达,得到了输入语句的状态向量及历史语句的特征向量,通过这些向量来预测输入语句的反馈信息,相比于基于已配置的模板给出输入语句的答复,本申请方案的可拓展性及灵活性更高。进一步地,本申请对模型训练时所采用的是以预定格式编写的配置文件,可通过该配置文件方便的将训练数据转换为结构化数据,语料人员更易于对配置文件进行撰写及修改,可减少语料人员的工作量。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者外部设备软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关联的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读存储介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机可读存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1