本发明涉及自然语言语义分析领域,尤其涉及特定场景下人机对话系统中的多意图识别方法。
背景技术:
随着人工智能的快速发展,人们对许多应用场景智能性的要求日益增加,要满足智能性的要求,良好的人机交互是必不可少的。目前,人机交互的方式呈现多样化,其中,最方便的方式莫过于使用自然语言。因此,利用自言语言实现人机对话的呼声也越来越高,人机对话系统受到了学术界和工业界的广泛关注,具有非常广泛的应用场景。
要实现人机对话系统中离不开自然语言语义分析技术。语义分析的好坏将直接影响人机对话的质量。由于自然语言的复杂性、抽象性以及词语的多义性等,这都增加了自然语言语义分析的难度。意图识别是语义分析的首要任务,目前对于意图识别问题的研究主要集中在单意图的识别上。而复杂场景下由于用户语言的多变性,表达的不规范性和不完整性,常常会出现多意图识别问题。如何让机器有效挖掘用户输入的深层次的语义信息,有效解决多意图识别的问题,以便更好的理解人类的语言。实现拟人化的人机交互,这一直是该领域研究的难点。
综上所述,针对特定场景下人机对话中常出现的多意图识别问题,如何在现有技术的基础上提出有效解决多意图识别的方法,也就成为了本领域内技术人员亟待解决的问题。
技术实现要素:
鉴于人机对话系统中存在上述问题,本发明提出了一种基于深度学习的场景自适应attention多意图识别方法,用于解决特定场景下人机对话中常出现的多意图识别问题,所述方法具体过程如下:
步骤1,实时获取当前用户输入的多意图文本并进行预处理;
步骤2,构建多层bi-indrnn神经网络模型,用来提取当前输入的多意图文本的语义特征;
步骤3,构建场景自适应attention语义增强模型,充分利用特定场景特征来增强多意图文本的语义特征;
步骤4,构建多意图分类器,用来识别用户的多个意图。
优选的,所述步骤1中,对当前用户输入的多意图文本进行预处理,就是将多意图文本进行向量化表示,以便输入神经网络模型中进行语义特征提取。本文的向量化表示方法为,首先使用同领域海量中文无监督语料训练bert模型。然后,利用得到的bert预训练模型来对多意图文本进行向量化表示。
优选的,所述步骤2中,多层bi-indrnn神经网络模型的构建是基于循环神经元rnn的变体独立循环神经元indrnn来搭建的。indrnn神经元只接收来自当前时刻的输入和它本身在上一时刻的隐藏状态信息,这使得层内indrnn神经元之间相互独立。因此,利用残差连接机制将indrnn神经元多层堆叠,以此来构造多层的神经网络模型,用来提取多意图文本的语义特征。为了更好的提取多意图文本的语义特征,在indrnn神经网络的基础上设置前向indrnn单元和后向indrnn单元,分别用来提取文本从前到后的语义信息和从后向前的语义信息,充分利用未来的语义特征增强当前词语的语义,可以有效提升语义特征提取的丰富性。
优选的,所述步骤3中,场景自适应attention语义增强模型的构建方法,具体如下所示:
在特定场景下,服务对象的类型有限且相对稳定,每种服务对象类型的语言习惯相对固定,服务类型也相对稳定,表达方式类型有限。根据以上几点,对传统的attention机制进行改进,在多意图识别时,增加了不同的服务对象和服务类型对意图识别的作用。充分利用特定场景独有的特征来提高多意图识别的准确性。
假设某一特定场景下的服务类型记为m(m1,m2,...,mn),服务对象记为p(p1,p2,...,pv),其中mi表示某类服务类型,pj表示某类服务对象,则场景自适应attention机制的得分计算方法如下所示:
si=f(q,ki) fω(m,p)
式中,f(q,ki)用来衡量当前输入文本序列的某个词语对目标意图的重要度,其中,q表示目标意图,ki表示输入文本序列的某个词语。fω(m,p)衡用来衡量某种服务类型与某种服务对象的相关性,特定场景下,由于用户习惯相对固定,感兴趣的内容和服务类型就相对固定,因此服务对象跟服务类型有很强的相关性,这种相关性大小的计算,如下所示:
式中,λ为表示某种服务类型与某种服务对象的相关性大小的相关系数,取值范围为(-1,1),λ值越接近1,说明两者之间相关性越高。λ的计算方法如下所示:
式中,m=(m1,m2,...,mn)表示由m1,m2,...,mn构成的向量,p=(p1,p2,...,pv)表示由p1,p2,...,pv构成的向量,
场景自适应attention机制的权重计算方法如下所示:
(1)将多层bi-indrnn神经网络模型的输出记为uit,则uit=tanh(wwhit bw),其中,ww为多层bi-indrnn神经网络模型权重,bw为多层bi-indrnn神经网络模型偏置,hit为多层bi-indrnn神经网络模型最后一层隐藏层状态。
2)将计算得到的特定场景下的场景自适应attention的得分输入到softmax函数中进行归一化处理,得到场景自适应attention机制的权重ait,将权重ait作为衡量多意图文本中词语重要性的指标。ait的计算方法如下所示:
式中,t表示时刻,uw是场景自适应attention语义增强模型的权重向量,mi是某一特定场景下的第i类服务类型,pj是某一特定场景下的第j类服务对象,λ是某种服务类型与某种服务对象的相关系数。
最后将计算得到的场景自适应attention机制的权重,对输入的多意图文本中的不同词语重新进行权重分配。具体计算方法如下所示:
式中,向量c表示融合了注意力特征的多意图语义表示,包含了各个输入状态的重要度特征。
场景自适应attention机制,相比于其他注意力机制,增加了特定场景独有特征对意图分类的贡献度。可以更好的提取多意图文本深层次的语义特征,提升多意图识别的准确率。
优选的,所述步骤4中,多意图分类器的构建具体如下所示:
在场景自适应的attention语义增强层后面增加全连接层,然后用sigmoid激活函数输出分类结果,即多意图分类器就是全连接层 sigmoid。使用二分类交叉熵损失函数来训练多意图分类器。在每个意图标签上依次判断是否与用户输入的意图文本所表达的意图相匹配,之后输出所有匹配的标签。
全连接层的每一个结点都与上一层的所有结点相连,用来把前面提取的语义特征融合起来。将从场景自适应的attention语义增强模型中获取的多意图文本语义表示,输入多意图分类器中,使用下面的公式输出在各个标签类别上的概率:
y=sigmoid(wfs bf)
当概率大于设置的阈值时,输出该标签,当概率小于设置的阈值时,不输出该标签。
本文设置的阈值为0.6,经过试验验证,当取该值是可以获得最佳的分类效果。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明为了挖掘多意图文本的深层次语义特征,提高多意图识别的准确性。首先,利用bert预训练模型对意图文本进行向量化表示,可以有效解决一词多义性。然后通过构建多层双向indrnn神经网络进一步提取文本的语义特征,indrnn有效解决了循环神经网络过深产生的梯度消失和梯度爆炸问题。为了更好解决特定场景下的多意图识别的问题,在提取多意图文本语义特征时融合特定场景独有的特征来增强文本的语义特征,增加特定场景对意图分类的作用,有效解决人机对话中多意图识别的问题。
附图说明
为了使本发明的目的、技术方案和技术效果更加清楚,本发明提供如下附图进行说明:
图1为本发明的多意图识别方法整体结构图;
图2为本发明的bi-indrnn神经网络结构框图;
图3为本发明的场景自适应attention机制权重计算示意图;
具体实施方式
如图1所示,本发明一种基于深度学习的场景自适应attention多意图识别方法,包括如下步骤:
步骤s101,实时获取当前用户输入的多意图文本并进行预处理;
对当前用户输入的多意图文本进行预处理,就是将多意图文本进行向量化表示,以便输入神经网络模型中进行语义特征提取。本文的向量化表示方法为,首先使用同领域海量中文无监督语料训练bert模型。然后,利用得到的bert预训练模型来对多意图文本进行向量化表示。
步骤s102,如图2所示,构建多层bi-indrnn神经网络模型,用来提取当前输入的多意图文本的语义特征;
多层bi-indrnn神经网络模型的构建是基于循环神经元rnn的变体独立循环神经元indrnn来搭建的。indrnn神经元只接收来自当前时刻的输入和它本身在上一时刻的隐藏状态信息,这使得层内indrnn神经元之间相互独立。因此,利用残差连接机制将indrnn神经元多层堆叠,以此来构造多层的神经网络模型,用来提取多意图文本的语义特征。为了更好的提取多意图文本的语义特征,在indrnn神经网络的基础上设置前向indrnn单元和后向indrnn单元,分别用来提取文本从前到后的语义信息和从后向前的语义信息,充分利用未来的语义特征增强当前词语的语义,可以有效提升语义特征提取的丰富性。
步骤s103,构建场景自适应attention语义增强模型,充分利用特定场景特征来增强多意图文本的语义特征;
在特定场景下,服务对象的类型有限且相对稳定,每种服务对象类型的语言习惯相对固定,服务类型也相对稳定,表达方式类型有限。根据以上几点,对传统的attention机制进行改进,在多意图识别时,增加了不同的服务对象和服务类型对意图识别的作用。充分利用特定场景独有的特征来提高多意图识别的准确性。
假设某一特定场景下的服务类型记为m(m1,m2,...,mn),服务对象记为p(p1,p2,...,pv),其中mi表示某类服务类型,pj表示某类服务对象,则场景自适应attention机制的得分计算方法如下所示:
si=f(q,ki) fω(m,p)
式中,fω衡量的是某种服务类型与某种服务对象的相关性,特定场景下,由于用户习惯相对固定,感兴趣的内容和服务类型就相对固定,因此服务对象跟服务类型有很强的相关性。这种相关性大小的计算,如下所示:
如图3所示,场景自适应attention机制的权重计算方法如下所示:
(1)将多层bi-indrnn神经网络模型的输出记为uit,则uit=tanh(wwhit bw),其中,ww为多层bi-indrnn神经网络模型权重,bw为多层bi-indrnn神经网络模型偏置,hit为多层bi-indrnn神经网络模型最后一层隐藏层状态。
2)将计算得到的特定场景下的场景自适应attention机制的得分输入到softmax函数中进行归一化处理,得到场景自适应attention机制的权重ait。将权重ait作为衡量多意图文本中词语重要性的指标。ait的计算方法如下所示:
式中,t表示时刻,uw是场景自适应attention语义增强模型的权重向量,mi是某一特定场景下的第i类服务类型,pj是某一特定场景下的第j类服务对象,λ是某种服务类型与某种服务对象的相关系数。
最后将计算得到的场景自适应attention机制的权重,对输入的多意图文本中的不同词语重新进行权重分配。具体计算方法如下所示:
式中,向量c表示融合了注意力特征的多意图语义表示,包含了各个输入状态的重要度特征。
场景自适应attention机制,相比于其他注意力机制,增加了特定场景独有特征对意图分类的贡献度。可以更好的提取多意图文本深层次的语义特征,提升多意图识别的准确率。
步骤s104,构建多意图分类器,用来识别用户的多个意图。
在场景自适应的attention语义增强层后面增加全连接层,然后用sigmoid激活函数输出分类结果。使用二分类交叉熵损失函数来训练多意图分类器。在每个意图标签上依次判断是否与用户输入的意图文本所表达的意图相匹配,之后输出所有匹配的标签。
全连接层的每一个结点都与上一层的所有结点相连,用来把前面提取的语义特征融合起来。将从场景自适应的attention语义增强模型中获取的多意图文本语义表示,输入多意图分类器中,使用下面的公式输出在各个标签类别上的概率。
y=sigmoid(wfs bf)
当概率大于设置的阈值时,输出该标签,当概率小于设置的阈值时,不输出该标签。本文设置的阈值为0.6,经过试验验证,当取该值是可以获得最佳的分类效果。
本发明还提供一种基于深度学习的场景自适应attention多意图识别系统,其特征在于,包括:存储器和处理器;所述存储器上存储有计算机程序,当所述计算机程序被所述处理器执行时,实现上述的场景自适应attention多意图识别方法。
本发明还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的场景自适应attention多意图识别方法。该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
应当指出,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也在本申请权利要求的保护范围内。
1.一种基于深度学习的场景自适应attention多意图识别方法,其特征在于,包括以下步骤:
步骤1,实时获取当前用户输入的多意图文本,并进行向量化处理;
步骤2,构建多层bi-indrnn神经网络模型,用来提取向量化处理后的多意图文本的语义特征;
步骤3,构建场景自适应attention语义增强模型,用来利用特定场景特征增强步骤2提取的语义特征;
步骤4,构建多意图分类器,用来对步骤3增强后的语义特征进行分类,以识别用户的多个意图。
2.根据权利要求1所述的一种基于深度学习的场景自适应attention多意图识别方法,其特征在于,所述步骤1中,利用基于同领域海量中文无监督语料训练得到的bert模型对多意图文本进行向量化处理。
3.根据权利要求1所述的一种基于深度学习的场景自适应attention多意图识别方法,其特征在于,所述步骤2中,多层bi-indrnn神经网络模型的构建是利用残差连接机制将indrnn多层堆叠,用来提取向量化处理后的多意图文本的语义特征;在indrnn的基础上设置前向indrnn单元和后向indrnn单元,分别用来提取向量化处理后的多意图文本从前到后的语义特征和从后向前的语义特征,利用未来的语义特征增强当前的语义特征。
4.根据权利要求1所述的一种基于深度学习的场景自适应attention多意图识别方法,其特征在于,所述步骤3中,场景自适应attention语义增强模型的构建是基于场景自适应attention机制的权重,场景自适应注意力权重ait的计算方法如下所示:
(1)将多层bi-indrnn神经网络模型的输出记为uit,则uit=tanh(wwhit bw),其中,ww为多层bi-indrnn神经网络模型权重,bw为多层bi-indrnn神经网络模型偏置,hit为多层bi-indrnn神经网络模型最后一层隐藏层状态;
2)将某一特定场景下的场景自适应attention机制的得分输入到softmax函数中进行归一化处理,得到场景自适应attention机制的权重ait:
式中,t表示时刻,uw是场景自适应attention语义增强模型的权重向量,mi是某一特定场景下的第i类服务类型,pj是某一特定场景下的第j类服务对象,λ是某种服务类型与某种服务对象的相关系数。
5.根据权利要求4所述的一种基于深度学习的场景自适应attention多意图识别方法,其特征在于,利用场景自适应attention机制的权重,对多层bi-indrnn神经网络模型提取的语义特征进行增强:
式中,c表示场景自适应attention语义增强模型的输出。
6.根据权利要求4所述的一种基于深度学习的场景自适应attention多意图识别方法,其特征在于,λ的计算方法为:
式中,m=(m1,m2,...,mn)表示由m1,m2,...,mn构成的向量,p=(p1,p2,...,pv)表示由p1,p2,...,pv构成的向量,
7.根据权利要求1所述的一种基于深度学习的场景自适应attention多意图识别方法,其特征在于,所述步骤4中,多意图分类器的构建具体如下所示:
在场景自适应attention语义增强模型后面增加全连接层,全连接层后用sigmoid激活函数输出分类结果。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一所述的场景自适应attention多意图识别方法。
9.一种基于深度学习的场景自适应attention多意图识别系统,其特征在于,包括:存储器和处理器;所述存储器上存储有计算机程序,当所述计算机程序被所述处理器执行时,实现如权利要求1至7中任一所述的场景自适应attention多意图识别方法。
技术总结