一种候选回答语句生成和自然语言选择方法及系统与流程

文档序号:19787014发布日期:2020-01-24 13:43阅读:237来源:国知局
一种候选回答语句生成和自然语言选择方法及系统与流程

本发明涉及计算机和人工智能领域,特别涉及一种基于sarn的候选回答语句生成和自然语言选择方法及系统。



背景技术:

随着人工智能技术领域的不断发展,利用自然语言实现智能化和个性化的人机交互一直都是最具有挑战性的研究课题之一。基于自然语言的人机交互技术有着广泛的应用场景,例如用机器替代人工,解放人力资源,智能客服,私人助手,情感陪护等等。

现有技术中已出现了多种智能交互产品,例如微软小冰,苹果siri,阿里巴巴智能客服等。根据应用场景,一般可将自然语言人机交互系统分为面向特定任务的系统和开放式的系统。其中,面向特定任务的系统目的是帮助用户完成特定的任务,例如商品导购,客服等。这类系统普遍采用了人工设计的框架流程,能够根据对用户行为状态的判定,从数据库中检索出特定的自然语言语句以实现人机交互,这类系统普遍存在的问题是,其设计特定的框架的流程不仅耗时耗力且缺乏通用性,不能迁移到其它应用场景;相对的,开放式的人机交互系统的目标是实现开放域的人机交互,其交互的内容不限定于特定任务,例如情感陪护机器人。虽然开放式交互系统中包含复杂规则的模型建立完全由数据驱动完成,无需手工设计系统中复杂的框架流程,但现有的人机交互模型仍然无法满足日益提升的用户需求。

因此,需要一种能够应用广泛、用户体验性好的候选回答语句生成和自然语言选择方法及系统。



技术实现要素:

本发明提供一种基于sarn模型的候选回答语句生成方法,所述sarn模型包括编码网络和解码网络,所述生成方法包括:

利用所述编码网络获得输入语句特征;

基于所述输入语句特征,利用所述解码网络获得对应的候选回答语句;

其中,所述解码网络采用了随机隐变量因子针对所述候选回答语句的多样性进行建模。

优选的,所述解码网络包括宏观语义层和微观词汇层;其中,所述宏观语义层对应的所述随机隐变量因子是用于表征和决策所述候选回答语句宏观特性的宏观语义隐变量因子;所述微观词汇层对应的所述随机隐变量因子是用于表征和决策所述输入语句词汇注意力的微观词汇隐变量因子。

优选的,基于所述输入语句特征,利用所述解码网络获得对应的候选回答语句进一步包括:

在宏观语义层,计算所述宏观语义隐变量因子的高斯分布参数,并执行随机采样,将获得的结果输入至所述微观语义层。

优选的,基于所述输入语句特征,利用所述解码网络获得对应的候选回答语句进一步包括:

在微观语义层,基于注意力机制,重复执行针对所述微观词汇隐变量因子的计算,直到获得一条完整的所述候选回答语句;其中,每执行一次针对所述微观词汇隐变量因子的计算,可获得所述候选回答语句中的一个词汇。

优选的,执行针对所述微观词汇隐变量因子的计算进一步包括:

计算所述微观词汇隐变量因子的高斯分布参数,并执行随机采样;

根据所述输入语句特征,基于注意力机制,计算对应于所述输入语句中的词汇的注意力隐含状态参数;

根据概率分布,利用所述微观词汇隐变量因子的随机采样结果和所述注意力隐含状态参数,计算所述候选回答语句中词汇对应的分布向量;

根据所述分布向量,从预定义词库中选择概率值最大的词汇作为当前轮次的输出词汇。

优选的,所述条件概率分布可利用下述公式实现:

p(y,zw,zd|x)=p(y,zw|zd,x)p(zd|x),

其中,且每个对应一个yt;和y<t分别代表t之前的所有时刻的状态;条件概率表示微观词汇隐变量因子;条件概率表示每个词汇产生的概率。

优选的,所述生成方法还包括:

在模型训练时,采用随机梯度变分贝叶斯方法,利用辅助的后验分布逼近真实的后验分布,即:

其中,q(zw,zd|y,x)是辅助的后验分布,p(zw,zd|y,x)是真实的后验分布;x是输入语句;y是候选回答语句;zw是微观隐变量因子;zd是宏观隐变量因子。

优选的,所述生成方法还包括:

在模型训练时,采用原始目标函数logp(y|x)的下界作为所述模型的优化目标函数,即:

优选的,所述生成方法还包括:

在模型训练时,利用辅助关联网络实现针对所述微观隐变量因子的计算;其中,所述辅助关联网络的优化目标函数是:

其中,p是条件概率,yt是输出词汇,是微观隐变量因子。

优选的,所述辅助关联网络包括全连接层mlp和softmax层,即:

优选的,所述模型的优化目标函数为:

其中,α为超参数;在模型训练时,根据实际需求通过调整α值大小。

根据本发明的另一个方面,还提供一种适用于人机交互的自然语言选择方法,包括:

利用如上所述的人机交互模型获得对应于输入语句的多样性候选回答语句;

根据所述候选回答语句的语句特征,获得与所述输入语句对应的回答语句。

优选的,根据所述候选回答语句的语句特征,获得与所述输入语句对应的回答语句进一步包括:

计算各所述候选回答语句的tf-idf特征向量;

利用所述tf-idf特征向量对预定义自然语言数据库进行筛选,获得匹配结果;

基于所述匹配结果获得与所述输入语句对应的回答语句。

优选的,基于所述匹配结果获得与所述输入语句对应的回答语句进一步包括:

采用随机选择的方法从所述匹配结果中选择所述对应的回答语句。

根据本发明的另一个方面,还提供一种基于sarn模型的候选回答语句生成系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器运行所述程序时执行如上所述的步骤。

根据本发明的另一个方面,还提供一种适用于人机交互的自然语言选择系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器运行所述程序时执行如上所述的步骤。

相对于现有技术,本发明取得了如下有益技术效果:

1.本发明提供的基于sarn的人机交互模型以及基于该模型的候选回答语句生成方法,通过在模型运算中结合宏观语义因子和微观词汇因子,使得生成的候选回答语句能够在主旨、主题、陈述风格等语言表达上具有多样性;

2.本发明提供的基于sarn的人机交互模型以及基于该模型的候选回答语句生成方法,在模型运算中引入了词汇注意力分布机制,从而能够根据输入语句的不同词汇注意力分布,实现不同的回答语句生成策略,提升了回答语句的新颖性,趣味性和多样性,并使得交互模型高度拟人化;

3.本发明提供的适用于人机交互的自然语言选择方法,通过采用人机交互模型生成多样性的候选回答语句,再基于提取出的对应语言特征向量对预定义的自然语言数据库进行筛选,从而能够选择出符合语法规则的回答语句,使得生成语句的自由度可控。不仅能够保证回答语句的新颖性和多样性,还是避免违规内容生成的一种有效方法,,从而大幅度提升了用户体验。

附图说明

图1是本发明优选实施例提供的sarn模型结构示意图。

图2是本发明优选实施例提供的自然语言选择方法流程图。

具体实施方式

为了使本发明的目的、技术方案以及优点更加清楚明白,以下结合附图,对本发明的实施例中提供的基于sarn的候选回答语句生成和自然语言选择方法及系统进一步详细说明。

随着深度神经网络技术和大数据技术的不断进步,开放式人机交互系统也随之获得了发展。深度神经网络中复杂的非线性映射为构建端到端(end-to-end)的人机交互系统提供了模型基础,例如序列到序列(sequencetosequence,seq2seq)的循环神经网络模型。

一般来说,建立开放式的人机交互模型有两种主要方法,即检索式模型和生成式模型。其中,检索式模型是指通过训练相似度匹配模型,再通过检索后备问答数据库来返回回答语句,这种基于检索来建立模型的方法不仅能够返回符合语法规则的语句,并且其返回的结果是可控的,但是发明人经研究发现,受数据库的局限,上述这种返回的结果缺乏新颖性;生成式模型是指通过训练深度神经网络模型逐词的生成回答语句,这种生成式模型能够根据问题生成数据库中不存在的回答语句,以更好的应对开放问答环境,但是发明人经研究发现,这种生成式模型同样存在缺陷,例如,其生成的回答语句自由度过高导致结果不可控,甚至存在生成违规内容的风险,或者是其生成的回答语句无法完全满足语法规则,这无疑都大大降低了用户的体验。

为了解决上述问题,发明人经认真研究,提出了一种结合了检索式模型与生成式模型的人机交互模型以及基于该模型的候选回答语句生成和自然语言选择方法及系统,取长补短,使获得的人机交互语句同时满足合理性和多样性。

具体的,本发明提供的人机交互模型采用了结构化注意力循环神经网络(structuredattentionrecurrentnetwork,sarn),即,利用编码-解码网络结合宏观语义和微观词汇来建立模型。其中,循环神经网络是一类以序列数据为输入,在序列的演进方向进行递归,且所有节点(循环单元)按链式连接的递归神经网络;而神经网络中的注意力机制是一种在编码器-解码器结构中使用到的机制,结构化注意力机制是注意力机制的一种变体,与具有扁平结构的一般注意力机制相比,结构化注意力机制能够实现对层次化结构输入信息更好的选择。本发明提供的人机交互模型,利用了结合结构化注意力的循环神经网络sarn引入随机隐变量因子显式地对回答语句进行了随机性和多样性建模,从而生成了多样化的自然语句。下面将结合具体实施例对该方法进行详细说明。

在本发明的一个实施例中,假设有一输入语句x=(x1,x2,x3,……,xt),其中xt是输入语句中第t个词汇,自然语言人机交互模型的目标是产生一句回答语句y=(y1,y2,y3,……,yt),其中yt是回答语句中的第t个词汇。

在传统的循环网络模型中,其方法是利用循环网络去生成描述句子中的每一个词汇,直接获得条件概率的最大化目标如下:

与上述传统的循环网络模型不同的是,本发明提供的基于sarn结合随机变量因子的模型建立方式,采用的是条件概率的最大化边缘分布,具体如下:

p(y,zw,zd|x)=p(y,zw|zd,x)p(zd|x),

其中,且每个对应一个yt;和y<t分别代表t之前的所有时刻的状态;条件概率p(zd|x)符合高斯分布,目的是对宏观特性,例如回答语句的主旨,主题,表达风格等,进行表征和决策;条件概率引入的是微观词汇隐变量因子,用于模拟每个词语关于不同注意力分布的随机性变化;最终,再利用结构化注意力循环神经网络sarn根据对每个目标词汇产生的概率获得模型。

在本发明的一个实施例中,以长短期记忆网络(longshort-termmemory,lstm)为例,对本发明提供的基于sarn结合随机变量因子的人机交互模型建立方法进行说明。

图1是本发明优选实施例的基于结构化注意力循环神经网络sarn模型结构示意图,如图1所示,该sarn模型结构具体包括编码网络和解码网络两部分,其中,解码网络包括用于表征和决策回答语句宏观特性的宏观语义层和以及用于表征和决策输入语句的词汇注意力的微观词汇层。具体的,该模型的建立方法包括以下步骤:

s10、特征提取

使用双向循环神经网络执行编码网络中的正反向信息传递,假设输入语句x=(x1,x2,x3,……,xt)为“你的爱好是什么”,利用lstm单元分别对输入语句的四个词组“你的”、“爱好”、“是”和“什么”进行特征提取,得到输入语句特征向量其中有:

ht=lstm(xt,ht)

s20、宏观语义层的计算

将编码网络最终时刻的隐藏层变量ht作为背景向量输入至解码网络的宏观语义层计算宏观语义隐变量因子的高斯分布参数:

[μd,σd]=mlpd(ht)

其中,mlpd表示全连接网络,用于将背景向量映射到隐语义空间。

然后对获得的宏观语义隐变量因子进行随机采样:

s30、生成候选回答语句

在解码网络的微观词汇层的计算阶段,生成回答语句中的第t个词,并通过循环执行最终获得完整的候选回答语句,根据本发明一个实施例,包括下列步骤:

s301、计算解码网络的内部状态编码:

其中,y0=<start>为标记,且s0=zd,

s302、执行t时刻对应的微观词汇层的计算,首先计算微观词汇隐变量因子的高斯分布的参数:

[μt,σt]=mlpw(st)

然后对获得的微观词汇隐变量因子进行随机采样:

s303、根据获得的输入语句的特征向量基于注意力机制,计算微观词汇选择的注意力隐含状态ct:

其中,其中g()是内积操作。

s304、根据概率分布获得候选回答语句中的第t个词汇的分布向量:

其中,v为预定义词典中词汇的个数。

根据上述分布向量,可以从预定义词库中,例如词典,选取概率值最大的一个词汇,作为生成的候选回答语句中的第t个词汇。

s305、针对t=1,2,3,…,t,重复执行上述步骤s301~s304,生成对应于输入语句的一句候选回答语句。

在本发明的一个实施例中,执行模型训练时,可以利用随机梯度变分贝叶斯方法解决模型的后验分布p(zw,zd|y,x)难以直接推断的问题,具体的,通过引入辅助的后验分布q(zw,zd|y,x)去逼近真实的后验分布p(zw,zd|y,x),具体如下:

模型的优化目标函数可以采用原始目标函数logp(y|x)的下界,具体的:

在本发明的一个实施例中,执行模型训练时,可以设计对应的辅助关联网络作为正则模块用于针对微观词汇因子zw的计算,以便进一步控制候选回答语句中词汇的多样性。

其中,辅助关联网络的优化目标是以便使得隐变量因子zw尽可能地学习到真实词语yt的信息。

在本发明的一个实施例中,上述辅助关联网络包括全连接层mlp和softmax层,即:

则有,最终的优化目标函数为:

其中,α为超参数;α值越大,生成的候选回答语句中词汇多样性越高,同时句子越偏离语法规则;相对应的,α值越小,生成的候选回答语句中词汇多样性越低,同时句子越符合语法规则。在模型训练时,可以根据实际需求通过调整α值大小来控制词汇的多样性。

在本发明的一个实施例中,执行模型训练时,利用重参数化re-parameterization)优化以上目标函数lfinal。

根据本发明的另一个方面,还提供一种适用于人机交互的自然语言选择方法,该方法利用上述基于sarn结合随机隐变量因子构建的人机交互模型针对输入语句生成的若干多样性的候选回答语句,再利用特定的语句特征评价方法获得对应的回答语句。下面以tf-idf(termfrequency–inversedocumentfrequency)特征向量为例进行说明,其中,tf-idf是一种用于信息检索与数据挖掘的常用加权技术,通常情况下,tf是指词频(termfrequency),idf是指逆文本频率指数(inversedocumentfrequency)。

图2是本发明优选实施例提供的自然语言选择方法流程图,如图2所示,该方法具体包括如下步骤:

s40、利用sarn网络模型生成k个对应于输入语句的候选回答语句:

s50、计算k个候选回答语句中每一个候选回答语句的tf-idf特征向量;

s60、根据tf-idf特征向量,利用余弦相似度,在由自然语言回答语句构成的预定义数据库中进行最近邻搜索,从该数据库中,检索出与k个候选回答语句相对应的k个回答语句:

{y1,y2,...,yk}

s70、从k个回答语句中选择一个语句作为最终的回答语句,例如,可以采用随机选取的方式选择最终回答语句,即ym(1<m<k)。

根据本发明的另一个方面,还提供一种基于sarn模型的候选回答语句生成系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器运行所述程序时执行如上所述的步骤。

根据本发明的另一个方面,还提供一种适用于人机交互的自然语言选择系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器运行所述程序时执行如上所述的步骤。

尽管在上述实施例中,采用了tf-idf特征向量为例对本发明提供的适用于人机交互的自然语言筛选方法进行了说明,但本领域普通技术人员应理解,除了上述实施例中的tf-idf特征向量,也可以使用其它类型的语句特征向量,对预定义数据库中的候选语句进行筛选匹配。

虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所做出的各种改变以及变化。

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