意图识别方法、装置、计算机设备及存储介质与流程

文档序号:33151665发布日期:2023-02-03 22:58阅读:60来源:国知局
意图识别方法、装置、计算机设备及存储介质与流程

1.本发明涉及自然语言处理领域,尤其涉及一种意图识别方法、装置、计算机设备及介质。


背景技术:

2.随着人工智能技术的快速发展,采用智能化手段进行任务处理应用的越来越广泛,在一些智能问答中,需要对用户意图进行识别,在对话系统中,用户意图识别结果是系统用于机器动作决策的关键输入,通常是以“动词+名词”命名,例如查询相关病例症状等。就目前现有的意图识别技术,学术界和工业界通常是将用户意图识别作为分类问题,即将用户话语分类到预先定义好的意图类别中,其主要包括基于规则的意图识别技术、基于统计机器学习的意图识别技术以及基于深度学习的意图识别技术。
3.发明人在实现本发明的过程中,意识到现有技术至少存在如下技术问题:基于规则的用户意图识别技术,如:通过对历史数据进行统计生成映射规则,存在缺点:1、基于机器学习技术的对话技术算法存在计算复杂性和领域依赖性。2、利用有监督学习,大量的基于现有数据集资源,对计算资源要求相对较高,数据量较少的情况小,极易容易过拟合,这些方法都不能准确理解用户文本的深层语义信息。
4.基于深度学习的意图识别方法,通过神经网络的学习进行意图预测,存在缺点:1、对数据质量要求较高,数据分布对分类结果的影响较大,在无预训练模型或者语言模型的基础上训练时间较长。
5.由此可见,现有方式存在在样本数据量较少或者样本数据分布不均匀时,意图识别的识别准确率低的问题。


技术实现要素:

6.本发明实施例提供一种意图识别方法、装置、计算机设备和存储介质,以提高意图识别的准确率。
7.为了解决上述技术问题,本技术实施例提供一种意图识别方法,包括:获取样本数据;采用初始bert网络模型对所述样本数据进行特征提取,得到特征数据;采用复合损失函数,基于所述特征数据计算损失值,其中,所述复合损失函数基于三元损失函数和分类交叉熵构建;基于所述损失值对所述初始bert网络模型进行反向传播训练,直到所述损失值小于预设阈值,得到训练好的bert网络模型,将所述训练好的bert网络模型作为目标意图识别模型;采用所述目标意图识别模型进行意图识别。
8.可选地,所述三元损失函数为:l
tripletloss
=max(d(a,m)-d(a,n)+margin,0)
其中,a为基准样本的锚样本、m为正样本,n为负样本,d()为距离函数,margin为一个大于0的参数,所述margin用于拉进锚样本a和所述正样本m的距离,拉远所述锚样本a和所述负样本n的距离。
9.可选地,所述复合损失函数为:loss=h(p,q)+w*l
tripletlos
其中,h(p,q)为分类交叉熵函数,xi为第i个样本,s为样本数量,w为超参数。
10.可选地,所述初始bert网络模型基于transformer架构,采用多头注意力机制。
11.可选地,采用初始bert网络模型对所述样本数据进行特征提取,得到特征数据包括:通过如下公式计算第j个注意力模块的编码信息headj:其中,attention为注意力计算函数,表示输入向量q、k、v经过第j个自注意力模块时进行权重矩阵的计算;对每个所述编码信息进行拼接融合,得到特征数据。
12.可选地,所述对每个所述编码信息进行拼接融合,得到特征数据包括:对每个所述编码信息依次进行拼接,得到拼接矩阵;采用预设融合方式,对拼接矩阵进行融合,得到所述特征数据。
13.可选地,所述采用所述目标意图识别模型进行意图识别包括:获取待识别的语料数据;将所述待识别的语料数据输入到目标意图识别模型,采用所述目标意图识别模型进行特征提取和分类,得到意图识别结果。
14.为了解决上述技术问题,本技术实施例还提供一种意图识别装置,包括:样本获取模块,用于获取样本数据;特征提取模块,用于采用初始bert网络模型对所述样本数据进行特征提取,得到特征数据;损失值计算模块,用于采用复合损失函数,基于所述特征数据计算损失值,其中,所述复合损失函数基于三元损失函数和分类交叉熵构建;模型训练模块,用于基于所述损失值对所述初始bert网络模型进行反向传播训练,直到所述损失值小于预设阈值,得到训练好的bert网络模型,将所述训练好的bert网络模型作为目标意图识别模型;意图识别模块,用于采用所述目标意图识别模型进行意图识别。
15.可选地,所述特征提取模块包括:信息计算单元,用于通过如下公式计算第j个注意力模块的编码信息headj:
其中,attention为注意力计算函数,表示输入向量q、k、v经过第j个自注意力模块时进行权重矩阵的计算;信息融合单元,用于对每个所述编码信息进行拼接融合,得到特征数据。
16.可选地,所述信息融合单元包括:矩阵拼接子单元,用于对每个所述编码信息依次进行拼接,得到拼接矩阵;矩阵融合子单元,用于采用预设融合方式,对拼接矩阵进行融合,得到所述特征数据。
17.可选地,所述意图识别模块包括:待识别数据获取单元,用于获取待识别的语料数据;意图识别单元,用于将所述待识别的语料数据输入到目标意图识别模型,采用所述目标意图识别模型进行特征提取和分类,得到意图识别结果。
18.为了解决上述技术问题,本技术实施例还提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述意图识别方法的步骤。
19.为了解决上述技术问题,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述意图识别方法的步骤。
20.本发明实施例提供的意图识别方法、装置、计算机设备及存储介质,通过获取样本数据,采用初始bert网络模型对样本数据进行特征提取,得到特征数据,采用复合损失函数,基于特征数据计算损失值,其中,复合损失函数基于三元损失函数和分类交叉熵构建,基于损失值对初始bert网络模型进行反向传播训练,直到损失值小于预设阈值,得到训练好的bert网络模型,将训练好的bert网络模型作为目标意图识别模型,采用目标意图识别模型进行意图识别。实现按数据进行度量归类后计算损失,这种方式训练得到的目标意图识别模型对于分布不均匀的样本数据有较好的兼容性,提升训练得到模型进行意图识别的准确率。
附图说明
21.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1是本技术可以应用于其中的示例性系统架构图;图2是本技术的意图识别方法的一个实施例的流程图;图3是本技术意图识别方法的一个实施例中分类交叉熵函数拟合示意图;图4是根据本技术的意图识别装置的一个实施例的结构示意图;图5是根据本技术的计算机设备的一个实施例的结构示意图。
具体实施方式
23.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本技术的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
24.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
25.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.请参阅图1,如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
27.用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。
28.终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、mp3播放器( moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3 )、mp4( moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4 )播放器、膝上型便携计算机和台式计算机等等。
29.服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
30.需要说明的是,本技术实施例所提供的意图识别方法由服务器执行,相应地,意图识别装置设置于服务器中。
31.应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器,本技术实施例中的终端设备101、102、103具体可以对应的是实际生产中的应用系统。
32.请参阅图2,图2示出本发明实施例提供的一种意图识别方法,以该方法应用在图1中的服务端为例进行说明,详述如下:s201:获取样本数据。
33.其中,样本数据为采集的语料数据,具体可以是分布不均衡的数据,也可以是分布均匀的数据。
34.s202:采用初始bert网络模型对样本数据进行特征提取,得到特征数据。
35.具体地,本实施例中,初始bert网络模型基于transformer架构,采用多头注意力
机制。
36.其中,bert模型是基于transformer架构的一种语言表示模型,其主要构成部分为self-atttenion(自注意力机制),函数表示了self-attention的计算过程,具体如下公式所示:其输入由q、k和v编码向量组成,表示输入向量的维度,表示所有字(词)向量直接关系,即首先将本文进行分词并将文本分词结果进行数字编码,之后输入到词嵌入层得到词嵌入向量,然后将词嵌入向量对应到q、k、v,这里假设q=k=v,最后softmax函数计算了输入词本身对于所有词而言的权值信息。经过整体公式计算形成句子所有词向量的加权重和表示,即句子中每个词的表示蕴含了词上下文信息,具备全局上下文信息。
37.在一具体可选实施方式中,步骤s202中,采用初始bert网络模型对样本数据进行特征提取,得到特征数据包括:通过如下公式计算第j个注意力模块的编码信息headj:其中,attention为注意力计算函数,表示输入向量q、k、v经过第j个自注意力模块时进行权重矩阵的计算;对每个编码信息进行拼接融合,得到特征数据。
38.其中,多头注意力机制由单个注意力attention组成,其组成成分为,称为第j个自注意力模块,j表示第j个头,本实施例中,bert中采用了多头注意力机制,通过重复计算和更多的参数来增大上下文编码子空间,实施过程中直接将多个进行拼接,有效地防止了过拟合,其中w为线性映射矩阵,矩阵参数通常由模型隐藏层维度和输入维度构成。
39.需要说明的是,传统bert模型在训练下游任务时,如果数据质量较差,且样本数量较少,在优化过程中是很难达到很好的效果,这是由于bert模型是在数据质量很高的语料中训练得到。本实施例中利用度量学习方法将数据先进行特定类别的样本进行聚合,这样极大降低了噪音样本和重复样本带来的模型泛化性差和过拟合问题。
40.进一步地,对每个编码信息进行拼接融合,得到特征数据包括:对每个编码信息依次进行拼接,得到拼接矩阵;采用预设融合方式,对拼接矩阵进行融合,得到特征数据。
41.其中,预设融合方式包括但不限于:拼接融合、加权融合等。
42.s203:采用复合损失函数,基于特征数据计算损失值,其中,复合损失函数基于三元损失函数和分类交叉熵构建。
43.可选地,三元损失函数为:
l
tripletloss
=max(d(a,m)-d(a,n)+margin,0)其中,a为基准样本的锚样本、m为正样本,n为负样本,d()为距离函数,margin为一个大于0的参数,margin用于拉进锚样本a和正样本m的距离,拉远锚样本a和负样本n的距离。
44.可选地,复合损失函数为:loss=h(p,q)+w*l
tripletlos
其中,h(p,q)为分类交叉熵函数,xi为第i个样本,s为样本数量,w为超参数。
45.其中,正样本是指与锚样本同类别的样本,负样本是指与锚样本不同类别的样本。
46.需要说明的是,本实施例的方式,还可以降低调参的成本,请参阅图3,图3(a)为传统仅采用分类交叉熵函数计算损失的拟合情况,损失(loss)相对低,精度也相对较低,损失(loss)相对高时,精度也相对高,这使得模型产生过拟合,在后续采用模型识别时准确率低。图3(b)为本实施例提供的方案的拟合示意图,首先在训练初期,w权重较大,模型学习偏向于度量学习,改变数据表示分布,将同类样本表示空间拉近,并扩大不同类别样本距离。经过多个迭代次数的学习,w权重逐渐降低,模型将重心放在分类器的交叉熵目标函数上,这时就能够根据分类交叉熵loss值或者精度指标来选择最优模型,有利于提高最终模型的准确率。应理解,本实施例采用度量学习,其主要原因是训练集样本普遍存在文本质量不高,样本多样性差,分布不均匀等问题,使用度量学习有效的降低同类样本距离,扩大不同类样本之间的距离,在现有方式中,w参数设置为固定值,这使得一方面无法知晓w超参数的有效性,并不能有效提升分类器的精度,有很大概率带来负面的效果,并且需要多次尝试训练,对调参效率有极大的影响,另一方面固定w使得度量损失loss(本实施例中的三元损失)和分类交叉熵loss学习目标优化分配是固定的,如果分配给度量学习的权重较大,度量损失loss优化存在问题时,会影响整体loss优化,如果分配的权重太小,度量学习完全是不起作用的,因此本实施例中通过对w设置线性衰减的方式,具体参见图3(c)的示意图,有效权衡度量loss和分类交叉熵loss的权重,训练初期有效利用度量学习,经过不断的迭代,逐步将权重分配到分类器loss的优化上,这样也有效降低后期度量学习对分类器的影响,毕竟分类器的优化目标和度量学习的目标是不一致的,一种是度量同一个随机变量中的两个不同概率分布的差异程度,一种是衡量同一随机变量中两个概率分布之间的距离。
47.本实施例中,通过随机采样的方式产生三元组(正样本、负样本和锚样本)。对话文本数据通常由语音数据转化而来,在转化过程中,受到各种因素的影响,例如用户方言表达、语句表达断断续续导致转化后的文本数据质量相对复杂、质量差,利用本实施例的方式有效降这类问题对意图识别结果的影响。
48.s204:基于损失值对初始bert网络模型进行反向传播训练,直到损失值小于预设阈值,得到训练好的bert网络模型,将训练好的bert网络模型作为目标意图识别模型。
49.其中,预设阈值可根据实际需要进行设定,此处不做限定,例如设置为0.05。
50.s205:采用目标意图识别模型进行意图识别。
51.在一具体可选实施方式中,步骤s205中,采用目标意图识别模型进行意图识别包括:
获取待识别的语料数据;将待识别的语料数据输入到目标意图识别模型,采用目标意图识别模型进行特征提取和分类,得到意图识别结果。
52.本实施例中,获取样本数据,采用初始bert网络模型对样本数据进行特征提取,得到特征数据,采用复合损失函数,基于特征数据计算损失值,其中,复合损失函数基于三元损失函数和分类交叉熵构建,基于损失值对初始bert网络模型进行反向传播训练,直到损失值小于预设阈值,得到训练好的bert网络模型,将训练好的bert网络模型作为目标意图识别模型,采用目标意图识别模型进行意图识别。实现按数据进行度量归类后计算损失,这种方式训练得到的目标意图识别模型对于分布不均匀的样本数据有较好的兼容性,提升训练得到模型进行意图识别的准确率。
53.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
54.图4示出与上述实施例意图识别方法一一对应的意图识别装置的原理框图。如图4所示,该意图识别装置包括样本获取模块31、特征提取模块32、损失值计算模块33、模型训练模块34和意图识别模块35。各功能模块详细说明如下:样本获取模块31,用于获取样本数据;特征提取模块32,用于采用初始bert网络模型对样本数据进行特征提取,得到特征数据;损失值计算模块33,用于采用复合损失函数,基于特征数据计算损失值,其中,复合损失函数基于三元损失函数和分类交叉熵构建;模型训练模块34,用于基于损失值对初始bert网络模型进行反向传播训练,直到损失值小于预设阈值,得到训练好的bert网络模型,将训练好的bert网络模型作为目标意图识别模型;意图识别模块35,用于采用目标意图识别模型进行意图识别。
55.可选地,特征提取模块32包括:信息计算单元,用于通过如下公式计算第j个注意力模块的编码信息headj:其中,attention为注意力计算函数,表示输入向量q、k、v经过第j个自注意力模块时进行权重矩阵的计算;信息融合单元,用于对每个编码信息进行拼接融合,得到特征数据。
56.可选地,信息融合单元包括:矩阵拼接子单元,用于对每个编码信息依次进行拼接,得到拼接矩阵;矩阵融合子单元,用于采用预设融合方式,对拼接矩阵进行融合,得到特征数据。
57.可选地,意图识别模块35包括:待识别数据获取单元,用于获取待识别的语料数据;意图识别单元,用于将待识别的语料数据输入到目标意图识别模型,采用目标意
图识别模型进行特征提取和分类,得到意图识别结果。
58.关于意图识别装置的具体限定可以参见上文中对于意图识别方法的限定,在此不再赘述。上述意图识别装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
59.为解决上述技术问题,本技术实施例还提供计算机设备。具体请参阅图5,图5为本实施例计算机设备基本结构框图。
60.所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件连接存储器41、处理器42、网络接口43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(application specific integrated circuit,asic)、可编程门阵列(field-programmable gate array,fpga)、数字处理器 (digital signal processor,dsp)、嵌入式设备等。
61.所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
62.所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或d界面显示存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(smart media card, smc),安全数字(secure digital, sd)卡,闪存卡(flash card)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如电子文件的控制的程序代码等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
63.所述处理器42在一些实施例中可以是中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的程序代码或者处理数据,例如运行电子文件的控制的程序代码。
64.所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
65.本技术还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有界面显示程序,所述界面显示程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的意图识别方法的步骤。
66.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方
法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
67.显然,以上所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例,附图中给出了本技术的较佳实施例,但并不限制本技术的专利范围。本技术可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本技术的公开内容的理解更加透彻全面。尽管参照前述实施例对本技术进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本技术说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本技术专利保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1