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

对话意图分类方法、装置和非易失性计算机存储介质与流程

2022-02-24 16:55:26 来源:中国专利 TAG:


1.本公开涉及对于对话进行自动处理和分析的方法和装置,更具体地,涉及对于对话进行意图识别和分类的方法和装置。


背景技术:

2.包括对话机器人在内的人工智能技术被广泛应用于人类对话的自动处理和分析。以对话机器人为例,其需要从对话的数据中有效识别出对话意图并进行分类。然而并非所有对话意图都是已知的,也存在未知的对话意图。
3.如表1所示,对话机器人经常需要处理开放意图分类的任务,也就是说,要分析的对话数据所包含的句子中,有些属于已知意图类别,有些则无法识别和划分意图,意图标签是未知意图。作为已知意图类别的示例,“我想吃药”的意图标签是“生病”,“我头有点痛”的意图标签是“生病”,“我饿了”的意图标签是“吃饭”,“我渴了”的意图标签是“喝水”。作为未知意图的示例,从“今天天气怎么样?”、“你能帮我看看这个是什么吗?”这样的句子,无法通过机器学习方法来识别和划分出意图类别。
4.表1对话开放意图分类的示例
5.用户的对话内容意图标签我想吃药。生病我头有点痛。生病我饿了。吃饭我渴了。喝水
…………
今天天气怎么样?未知意图你能帮我看看这个是什么吗?未知意图
6.未知意图类别的对话数据会干扰已知意图类别的识别和分类,但目前缺乏有效识别和划分未知意图类别的方法。尤其是,面对开放意图分类的任务,已知意图和未知意图的句子是共存的,无法兼顾已知意图和未知意图的识别和分类。传统的有监督分类方法对于已知意图类别的对话数据分类效果虽然较好,但由于缺乏未知意图类别的先验知识,这种传统的有监督分类方法对未知意图类别的对话数据分类会引入假阳性错误,目前也缺乏有效利用已知意图类别的对话数据泛化到未知意图类别的识别和分类的技术手段。


技术实现要素:

7.提供了本公开以解决现有技术中存在的上述问题。
8.需要一种对话意图分类方法、对话意图分类装置和非易失性计算机存储介质,其在面对开放意图分类的任务时,能够在有效检出未知意图类别的同时保证已知意图类别的分类的准确性。
9.根据本公开的第一方面,提供了一种对话意图分类方法。该方法包括接收对话的
数据。该方法还包括由处理器执行以下步骤。可以基于所接收的对话的数据,利用训练好的第一学习网络,提取句子的第一特征向量。可以基于所述第一特征向量相对于各已知意图类别的代表特征向量的最小的差异,对所述第一特征向量的模长进行调整,使得所述最小的差异越小则所述模长越大,以获得第二特征向量。可以基于所述第二特征向量,利用训练好的第二学习网络确定各个已知意图类别的各个概率相关参数。其中,所述第二学习网络被配置为感知所述第二特征向量的模长。所述第一学习网络和所述第二学习网络可以使用第一损失函数和表征分类损失的第二损失函数联合训练。所述第一损失函数可以定义为使得所述第一特征向量与其所属的已知意图类别的代表特征向量的差异比与其他已知意图类别的代表特征向量的各个差异的代表值小。将所确定的各个已知意图类别的各个概率相关参数与阈值进行比较。在各个概率相关参数均小于阈值的情况下,则确定对话属于未知意图类别;在各个概率相关参数均在所述阈值以上的情况下,则确定对话属于其中最大概率相关参数对应的已知意图类别。
10.根据本公开的第二方面,提供了一种对话意图分类装置,该装置包括接口和处理器。接口可以配置为接收对话的数据。处理器可以配置为执行如下步骤。可以基于所接收的对话的数据,利用训练好的第一学习网络,提取句子的第一特征向量。可以基于所述第一特征向量相对于各已知意图类别的代表特征向量的最小的差异,对所述第一特征向量的模长进行调整,使得所述最小的差异越小则所述模长越大,以获得第二特征向量。可以基于所述第二特征向量,利用训练好的第二学习网络确定各个已知意图类别的各个概率相关参数。其中,所述第二学习网络被配置为感知所述第二特征向量的模长。所述第一学习网络和所述第二学习网络可以使用第一损失函数和表征分类损失的第二损失函数联合训练。所述第一损失函数可以定义为使得所述第一特征向量与其所属的已知意图类别的代表特征向量的差异比与其他已知意图类别的代表特征向量的各个差异的代表值小。将所确定的各个已知意图类别的各个概率相关参数与阈值进行比较。在各个概率相关参数均小于阈值的情况下,则确定对话属于未知意图类别;在各个概率相关参数均在所述阈值以上的情况下,则确定对话属于其中最大概率相关参数对应的已知意图类别。
11.根据本公开的第三方面,提供一种非易失性计算机存储介质,其上存储有可执行指令,所述可执行指令由处理器执行时,实现根据本公开各个实施例的对话意图分类方法。
12.利用本公开各个实施例的对话意图分类方法、对话意图分类装置和非易失性计算机存储介质,其在面对开放意图分类的任务时,通过对第一特征向量的模长的调整方式、第二学习网络的感知模长的配置结合利用度量损失函数和分类损失函数的联合训练,能够在有效检出未知意图类别的同时保证已知意图类别的分类的准确性。
附图说明
13.在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。具有字母后缀或不同字母后缀的相同附图标记可以表示相似部件的不同实例。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所公开的实施例进行说明。这样的实施例是例证性的,而并非旨在作为本装置或方法的穷尽或排他实施例。
14.图1(a)示出根据本公开实施例的对话意图分类方法的流程图;
15.图1(b)示出根据本公开实施例的用于构建和训练对话意图分类方法的学习网络的流程图;
16.图2示出根据本公开实施例的用于提取对话中句子的第一特征向量的预训练语言模型的框架图;
17.图3示出根据本公开另一实施例的对话意图分类方法的流程图;
18.图4示出根据本公开另一实施例的对话意图分类系统的配置图;以及
19.图5示出根据本公开实施例的对话意图分类装置的框图。
具体实施方式
20.为使本领域技术人员更好的理解本公开的技术方案,下面结合附图和具体实施方式对本公开作详细说明。下面结合附图和具体实施例对本公开的实施例作进一步详细描述,但不作为对本公开的限定。在本公开中使用的“第一”、“第二”和“第三”的措辞,仅仅旨在区分相应的特征,并不代表需要这样的排序,也未必仅表示单数形式。
21.图1(a)示出根据本公开实施例的对话意图分类方法的流程图。如图1所示,该对话意图分类方法始于步骤101:接收对话的数据,对话中包含多个句子。在步骤102,由处理器,基于所接收的对话的数据,利用训练好的第一学习网络,提取句子的第一特征向量。该第一特征向量蕴含了句子的语义信息,且可以通过多种配置的第一学习网络来提取。例如,可以用离散的空间向量来表征单词,如词袋模型中的编码。又例如,可以利用第一学习网络将高维空间的离散向量转换为低维空间的稠密向量分布式表示,其能够将词之间的距离关系和词义相似性联系起来,且各个维度可以包含特定的含义,从而蕴含更多的语义信息,且相较离散的空间向量表征能够抑制空间向量的维度增加和空间开销的增多。在一些实施例中,可以采用动态词向量的语言模型,从而根据不同上下文对词的特征向量进行动态调整,由此在静态词向量(各个单词拥有固定词向量)无法解决的一词多义等情况下,能够让不同语境下同个词的特征向量能够蕴含丰富的语义且准确体现不同语境的影响。
22.在步骤103,由所述处理器,基于所述第一特征向量相对于各已知意图类别的代表特征向量的最小的差异,对所述第一特征向量的模长进行调整使得所述最小的差异越小则所述模长越大,以获得第二特征向量。第一特征向量虽然可以通过动态词向量的语言模型来蕴含更丰富的语义信息,本发明人发现,其依然无法单独地实现未知意图类别与已知意图类别的有效区分。通过在第一特征向量的基础上引入差异信息(该差异信息可以实现为各种定义的距离信息、差信息、相关性信息等等),并以该差异信息引导特征向量的模长调整,特征向量的模长可以以调整系数的方式来引入和考虑到差异信息,该调整系数可以表示各个数据到已知意图的远近程度,该调整系数越大表示越接近于已知意图类别,越小则越接近于未知意图类别。如此,可以使模长调整后的第二特征向量(下文中其示例也称为“元嵌入”)学习到深层次的类内靠近而类间远离(尤其是已知意图类别与未知意图类别之间远离)的数据关系。
23.在步骤104,由所述处理器,基于所述第二特征向量,利用被配置为能够感知特征向量的模长信息的第二学习网络确定各个已知意图类别的各个概率相关参数。步骤103中基于差异信息调整模长后的第二特征向量,配合配置为能够感知(捕获)特征向量的模长信息的第二学习网络,可以获得容易区分的概率相关参数(例如分类置信度)。
24.接着在步骤105,由所述处理器,将所确定的各个已知意图类别的各个概率相关参数与阈值进行比较。在各个概率相关参数均小于阈值的情况下,则确定对话属于未知意图类别(步骤106);在各个概率相关参数均在所述阈值以上的情况下,则确定对话属于其中最大概率相关参数对应的已知意图类别(步骤107)。
25.图1(b)示出根据本公开实施例的对话意图分类方法采用的学习网络的训练方法的流程图。该学习网络包括第一学习网络和第二学习网络。
26.该训练方法可始于步骤108:构建第一学习网络和第二学习网络,第一学习网络可配置为提取句子的第一特征向量,而第二学习网络可配置为感知第二特征向量的模长信息。如上所述,第一学习网络可以采用各种网络结构。在一些实施例中,可以基于所接收的对话的数据,利用预训练语言模型考虑到各个语言符号的上下文来提取各个语言符号的各个第三特征向量;以及基于所提取的各个第三特征向量,通过综合运算来确定所述句子的所述第一特征向量。在一些实施例中,预训练语言模型包括但不限于bert语言模型、roberta语言模型、各种递归神经网络(rnn,例如但不限于长短期记忆神经网络(lstm))、xlnet等。预训练语言模型可以通过多个任务进行预训练,以便捕获词语的不同上下文信息。预训练完成后,可以固定第一学习网络中的部分参数,而在后续的连同第二学习网络的训练步骤111中,仅仅确定和调整(微调)第一学习网络中的剩余参数,如此,能够显著降低训练过程中的计算量并兼顾训练效果。
27.在步骤109,接收已知意图类别的训练语料。对于未知意图类别的对话数据是缺乏训练语料的,通过第二特征向量的定义和第二学习网络的配置的配合,以及第一损失函数的特殊定义,在该训练方法中可以使用已知意图类别的训练语料对第一学习网络和第二学习网络进行联合训练,训练好的第二学习网络就能在对话开放意图分类的应用场景下有效区分出未知意图类别并准确划分已知意图类别。
28.在步骤110,可以加载各条训练语料作为训练样本。在步骤111,可以基于训练样本确定至少部分第一学习网络的参数和第二学习网络的参数,其中,采用预训练语言模型的第一学习网络可以直接使用预训练好的部分网络层,而在步骤111中仅确定和调整剩余网络层的参数。在步骤112,可以针对第一损失函数和第二损失函数对第一学习网络和第二学习网络进行联合训练,来验证和调节网络参数。其中,第二损失函数可以采用表征分类损失的各种形式的损失函数,包括但不限于平方损失函数、交叉熵损失函数等。所述第一损失函数定义为使得所述第一特征向量与其所属的已知意图类别的代表特征向量的差异比与其他意图类别的代表特征向量的各个差异的代表值小,例如,可以设置损失边界(例如以设定值、边界惩罚项等方式),如此,通过第一损失函数的约束使得学习网络习得类内靠近而类间远离的特征,第二学习网络在学习决策边界的时候必须考虑。
29.注意,虽然在图1(b)中步骤111和步骤112是前后示出的,但其执行顺序不限于此,只要考虑到第一损失函数和第二损失函数两者对至少部分第一学习网络的参数和第二学习网络的参数进行调整即可。
30.在步骤113,判定是否处理了所有训练样本。如果是,则在步骤114输出训练好的第一学习网络和第二学习网络;如果否,则返回到步骤110继续加载下一条训练样本进行训练。在一些实施例中,可以采用批量训练方式,例如小批量训练方式,相应地,根据具体采用的训练方式,会对步骤110、111、112和113进行相应的调整,在此不赘述。
31.图2示出根据本公开实施例的用于提取对话中句子的第一特征向量的预训练语言模型的框架图。如图2所示,对于用户输入的一句语句201,s={词1,词2,

,词n},其中,n是该句子中包含的词的总数,这里,以词作为语言符号的示例进行说明,也可以将其泛化为各种语言符号(例如单词等)来实施该预训练语言模型。下文中结合图2以bert预训练语言模型作为预训练语言模型的示例进行说明,但须知预训练语言模型不限于此,也可以采用诸如roberta语言模型、各种递归神经网络(rnn,例如但不限于长短期记忆神经网络(lstm))、xlnet等的各种实现方式。下文中结合bert预训练语言模型的说明通过适应性修改也可适用于这些预训练语言模型的句子特征向量的提取,在此不赘述。
32.可以将s按照bert的方式进行编码,然后经过bert的转换层(也称为隐编码层),第1转换层202,
……
,第12转换层203,以得到对应的各个词的各个词特征向量[cls,t1,t2,

tn],其中,cls作为一项元素,用作分类标志,ti表示第i个词的特征向量。图2中示出了12个转换层作为示例,但转换层的数量不限于此,bert预训练语言模型可以包括12-24个转换层。
[0033]
可以利用池化层204对所提取的各个词特征向量(在本公开中也称为第三特征向量)进行池化运算,例如但不限于平均池化运算,以确定句子的第四特征向量x,x=平均池化([cls,t1,t2,

,tn])∈rh,h为隐层神经元的个数。在图2中以池化层204作为示例,也可以基于所提取的各个第三特征向量,通过其他形式的综合(复合)运算来确定所述句子的所述第一特征向量,该综合运算被配置为对各个词的第三特征向量进行整合以得到句子级别的特征向量表示。在一些实施例中,所确定的句子的第四特征向量也可以用作句子的第一特征向量。在一些实施例中,如图2所示,可以在池化层204的下游设置致密层205,以便对句子的第四特征向量,利用致密层205进行处理,以得到所述句子的所述第一特征向量z(在本公开中也标识为“bert嵌入”),z=f
θ
(x)∈rd,其中θ为致密层205的参数,d为特征向量的维度。
[0034]
在一些实施例中,可以通过遮掩语言预测和下一句子预测两个任务对bert语言模型进行预训练,从而使之能够捕获词语的不同上下文信息,使得词的特征向量可以根据不同上下文进行动态调整,从而蕴含更丰富的语义信息和外部知识,从而增强特征的表征效果。通过引入致密层205,可以将池化层205输出的较高维空间的句子的离散向量转换成低维空间的稠密的句子的特征向量,这种低维空间的稠密的句子的特征向量具有分布式表示的特点,能够将词之间的差异(距离)关系和词义相似性联系起来,且每一维度都可以包含特定的含义,因此能够包含更丰富的信息,显著抑制空间开销的增加,提高计算效率,同时还能够提高模型的预测能力。
[0035]
在一些实施例中,所述bert语言模型可以包括12-24个转换层,其仅最后的1-24个转换层和致密层在所述第一学习网络和所述第二学习网络的所述联合训练期间进行训练。也就是说,其他的转换层可以直接沿用预训练好的参数,而无需再进行训练。以包括12个转换层的bert语言模型为例,在后续的联合训练期间,实际上需要训练的可以只有最后的那个转换层(即第12转换层203)和致密层205,如此,可以显著减少训练的参数数量、降低训练的计算负荷并增加训练速度,该bert语言模型可以在下游通过微调的方式来实现对话开放意图分类的应用场景的句子级别的特征向量的提取。
[0036]
图3示出根据本公开另一实施例的对话意图分类方法的流程图。图3中以预训练
bert语言模型作为预训练语言模型的示例,以已知意图类别的簇中心向量作为已知意图类别的代表特征向量的示例,相应地,以第一特征向量与已知意图类别的簇中心向量的欧氏距离作为第一特征向量与所述代表特征向量的所述差异的示例,且以余弦分类器作为第二学习网络的示例,对根据本公开的实施例的对话意图分类方法的流程进行说明。应该知道,可以采用其他预训练语言模型,已知意图类别的代表特征向量也可以采用其他形式,例如簇中值向量等,差异也可以实现为相关性、差值等,欧氏距离也可以修改为别氏距离等,第二学习网络也可以采用其他配置,在此不赘述。
[0037]
如图3所示,由用户输入的一个语句被馈送到预训练bert语言模型301,以得到bert嵌入302,也就是句子的所述第一特征向量z=f
θ
(x)∈rd。
[0038]
首先,可以根据公式(3.1)计算各个已知意图类别的簇中心向量作为该已知意图类别的代表特征向量,其中,簇中心向量利用该已知意图类别的全部数据的特征向量取平均得到:
[0039][0040]
其中,ck表示第k类的簇中心向量,sk表示标签为k的数据集合,x表示语句样本,y表示标签,|
·
|用于统计集合的大小。
[0041]
接着,可以根据公式(3.2)计算每个数据点(即每个第一特征向量z)到距离它最近的簇中心的距离:
[0042]dmin
=mink||z-ck||2ꢀꢀꢀ
公式(3.2)
[0043]
其中,d
min
表示数据点z到全部簇中心的最小距离,||
·
||2表示计算欧氏距离,mink{
·
}表示全部k个距离的最小值。
[0044]
可以通过在第一特征向量z的基础上引入欧氏距离信息,并依据该欧氏距离信息经由调整系数来引导第一特征向量z的模长调整,该调整系数可以表示各个数据到已知意图的远近程度,该调整系数越大表示越接近于已知意图类别,越小则越接近于未知意图类别。通过该调整系数可以引导特征向量习得深层次的类内靠近而类间远离的数据关系。例如,可以根据公式(3.3)设置上一步得到的最小距离d
min
的倒数作为调整系数添加到原始的第一特征向量z上以获得第二特征向量z
meta
(图3中标识为“元嵌入303”):
[0045]zmeta
=(1/d
min
)
·zꢀꢀꢀ
公式(3.3)
[0046]
其中,1/d
min
可以表示每个数据点到已知意图类别的远近程度,该调整系数越大表示距离已知意图类别越近,越小则越接近于未知意图类别。通过调整系数的大小决定了第二特征向量z
meta
的模长特点,这种特点有利于习得类内靠近(已知意图类别内靠近)而类间远离(尤其是已知意图类别与未知意图类别间远离)的深层次的数据关系,使得后续第二学习网络(图3中例示为余弦分类器304)能够获得更容易区分的概率相关参数(图3中示出为分类概率306作为示例)。
[0047]
如图3所示,基于经由调整系数融入了距离信息的第二特征向量z
meta
,利用余弦分类器304将其模长大小(包含了距离信息)转化为分类概率306信息。
[0048]
余弦分类器304本质是神经网络的一层权重,该权重能够通过网络训练学习到第二特征向量z
meta
的模长信息,可以根据公式(3.4),通过计算第二特征向量z
meta
和分类权重的余弦相似度,来得到分类分数:
[0049][0050]
其中,simk表示第二特征向量z
meta
与第k类的分类权重向量之间的余弦相似度,τ是可学习到的标量值,可以利用点积来计算余弦相似度。
[0051]
在一些实施例中,如公式(3.4)的右侧表达式所示,可以对第二特征向量z
meta
和第k类的分类权重向量进行归一化处理,例如但不限于l1范数归一化、l2范数归一化处理等。
[0052]
下面以l2范数归一化处理作为归一化处理的示例进行说明。和均表示第二特征向量z
meta
和第k类的分类权重向量经过l2范数归一化处理后的向量。具体说来,和的计算方式如下:
[0053][0054][0055]
其中,||
·
||表示特征的模长,可以利用非线性挤压函数对第二特征向量z
meta
进行l2范数归一化,非线性挤压函数能将模长较大的向量压缩到长度略低于1,将模长较小的向量压缩到长度接近于0。通过这样的处理所得的特征可以将具有较小模长的未知意图类别的特征向量转化为长度极小的特征向量,进而获得很低的、易通过阈值区分的分类分数。在一些实施例中,如公式(3.6)所限定的,也可以对分类权重向量进行l2范数归一化处理,从而可以消除分类权重向量的模长对分类结果的影响,使得分类更准确。
[0056]
在一些实施例中,可以对利用余弦分类器304获得的分类分数应用softmax函数来获得分类概率306,随后基于置信度阈值来进行已知意图类别和未知意图类别的分类,从而完成分类预测305,如图3所示。
[0057]
可以利用第一损失函数和第二损失函数对预训练bert语言模型301的部分网络层和余弦分类器304进行联合训练。在一些实施例中,可以根据公式(3.7),将第一损失函数lossd和第二损失函数loss
ce
结合起来作为总损失函数loss来进行联合训练,其中,第一损失函数lossd可以用作度量学习损失函数,而第二损失函数loss
ce
可以作为分类损失函数,通过将分类损失函数与度量学习损失函数结合起来进行联合训练,可以在确保分类性能的同时,学习能够感知距离信息的特征表示。
[0058]
loss=loss
ce
λ
·
lossdꢀꢀꢀ
公式(3.7)
[0059]
其中,λ是用来平衡两个损失函数的标量值。
[0060]
在一些实施例中,第二损失函数loss
ce
作为分类损失函数,可以采用由如下公式(3.8)和公式(3.9)定义的交叉熵损失函数:
[0061][0062]
[0063]
其中,表示线性输出层,i表示样本序号,n表示样本的总数,k代表已知意图类别的数量,yi表示第i个样本的已知意图类别标签且yi∈{1,2,

,k},m1表示设定的损失边界,j表示已知意图类别的序号,表示标签yi标识的已知意图类别的权重参数,w
jt
表示第j类的权重向量,表示标签yi标识的已知意图类别的偏置,bj表示第j类的偏置,表示第i个样本提取的第二特征向量(也可称为“元特征”)。该元特征可以通过利用softmax函数计算以获得分类概率306,交叉熵损失被定义为最大化元特征分到所属意图类别的概率。
[0064]
在一些实施例中,第一损失函数lossd可以用作度量学习损失函数,其可以采用各种公式定义,只要实现如下的物理意义:第一特征向量与其所属的已知意图类别的代表特征向量的差异(例如欧氏距离)比与其他意图类别的代表特征向量的各个差异(例如欧氏距离)的代表值(例如均值)小,例如小至少某个损失边界阈值。如此,可以通过在总损失函数中引入该度量学习损失函数lossd的约束使得第一学习网络(相应地第一特征向量)习得类内靠近而类间远离的深层次的数据关系。由于经由第一损失函数lossd提供了第一特征向量到已知意图类别和未知意图类别的差异相差至少损失边界阈值的约束,所以相对来说更容易通过数据到已知意图类别的距离远近来判断其属于已知意图类别还是未知意图类别。
[0065]
在一些实施例中,所述第一损失函数lossd可以利用以下的公式(1)来定义:
[0066][0067]
其中,loss1表示所述第一损失函数lossd或其第一分量,||
·
||2表示欧氏距离,i表示样本序号,n表示样本的总数,k代表已知意图类别的数量,k表示已知意图类别序号,yi表示第i个样本的已知意图类别标签且yi∈{1,2,

,k},m1表示设定的损失边界,zi表示为第i个样本提取的所述第一特征向量,ck表示第k个已知意图类别的簇中心向量。公式(1)提供了如下的物理意义:第一特征向量到其所在已知意图类别的簇中心向量的欧氏距离要比到其他意图类别的簇中心向量的距离的均值至少小了m1。通过第一损失函数lossd的约束,使得第一特征向量具有类内靠近、类间远离的特点,由于第一特征向量到已知意图类别和未知意图类别的欧氏距离相差至少边界值m1,所以相对来说更容易通过数据到已知意图类别的距离远近判断它属于已知类还是未知类。
[0068]
在一些实施例中,所述第一损失函数lossd也可以利用所述公式(1)、以下的公式(2)和公式(3)定义的所述第一损失函数的各个分量loss1、loss2和loss3的结合来定义:
[0069][0070]
其中,loss2表示所述第一损失函数的第二分量,s1为缩放因子,为第一特征向量zi与标签yi标识的已知意图类别的权重向量之间的夹角,j表示已知意图类别序号,θj是第一特征向量zi与第j类的权重向量wj之间的夹角,m2是余弦距离边际常数;
[0071]
[0072]
其中,loss3表示所述第一损失函数的第三分量,s2为缩放因子,m3是角度距离边际常数,其他与公式(2)中相同的参数具有相同的定义,在此不赘述。
[0073]
通过loss1、loss2和loss3的结合,可以对第一特征向量在欧氏距离、余弦距离和角度距离这三个度量上都施加决策边界的约束,进一步地促使类内靠近而类间远离,使得面对对话开放意图分类的应用场景时能够更准确地进行已知意图类别的分类并兼顾未知意图类别的有效检出,这一有益效果在利用三个公开的标准数据集的对比实验中得到了验证,在下文中会进行详细说明,在此不赘述。
[0074]
图4示出根据本公开另一实施例的对话意图分类系统400的配置图。如图4所示,该对话意图分类系统400至少可以包括意图分类单元406,其配置为:接收训练好的第一学习网络和第二学习网络以及对话的数据;基于所接收的对话的数据,利用训练好的第一和第二学习网络,来确定该对话的数据相对于各个已知意图类别的各个概率相关参数;以及基于各个概率相关参数,来得到对话的意图分类结果,该意图分类结果可以是开放式的,例如对话属于已知意图类别还是未知意图类别,属于哪个已知意图类别等。第一和第二学习网络可以在别处训练好,并馈送到意图分类单元406。在一些实施例中,第一学习网络可以配置为基于对话的数据来提取句子的第一特征向量,第二学习网络可以配置为基于对第一特征向量进行模长调整后获得的第二特征向量来确定各个已知意图类别的各个概率相关参数。相应地,意图分类单元406可以配置为基于所述第一特征向量相对于各已知意图类别的代表特征向量的最小的差异,对所述第一特征向量的模长进行调整,使得所述最小的差异越小则所述模长越大,如此得到的第二特征向量的模长可以表示对应的对话数据到已知意图类别的远近程度,从而使得第二特征向量融入了远近程度信息。这种特点有利于习得类内靠近(已知意图类别内靠近)而类间远离(尤其是已知意图类别与未知意图类别间远离)的深层次的数据关系,使得后续第二学习网络能够获得更容易区分的概率相关参数。在一些实施例中,意图分类单元406可以配置为:将所确定的各个已知意图类别的各个概率相关参数与阈值进行比较,在各个概率相关参数均小于阈值的情况下,则确定对话属于未知意图类别,在各个概率相关参数均在所述阈值以上的情况下,则确定对话属于其中最大概率相关参数对应的已知意图类别。
[0075]
在一些实施例中,对话意图分类系统400还可以包括学习网络构建单元401,其配置为构建第一学习网络和第二学习网络。例如,可以基于预训练语言模型来构建第一学习网络,第一和第二学习网络的构建在本公开的其他实施例中已经详述,在此不赘述。可以从预训练样本数据库403获取预训练样本,利用预训练单元402,来完成第一学习网络的预训练。预训练好的第一学习网络和构建的第二学习网络可以传输到训练单元404,以便利用从训练样本数据库405获得的训练样本,完成对第一和第二学习网络的训练。预训练完成后,第一学习网络中的部分参数可以保持在预训练完成的状态,而在后续的连同第二学习网络的训练步骤中,仅仅确定和调整(微调)第一学习网络中的剩余参数以及第二学习网络的参数,如此,能够显著降低训练过程中的计算量并兼顾训练效果。
[0076]
以上各个单元可以分别配置为执行本公开其他实施例中记载的相应预训练处理、训练处理、意图分类处理过程等等,在此不赘述。
[0077]
图5示出根据本公开实施例的对话意图分类装置500的框图。如图5中所示,网络训练装置501构成为与对话意图分类装置500独立的装置,前者被配置为构建和训练第一和第
二学习网络,训练好的第一和第二学习网络可以经由通信接口503馈送到对话意图分类装置500供其使用。但这仅仅作为示例,这两个装置也可以整合在同一个装置中。
[0078]
对话数据采集装置502可以配置为采集对话的数据,例如可以包括麦克风、模数转换器、滤波器等,由其采集的对话的数据可以经由通信接口503传输到对话意图分类装置500。在一些实施例中,对话数据采集装置502可以与对话意图分类装置500一起整合在同个设备中,例如但不限于智能可穿戴设备、智能服务机器人、智能手机等等。
[0079]
对话意图分类装置500可以是专用计算机或通用计算机。例如,对话意图分类装置500可以是定制的计算机,以执行对话数据采集和对话数据处理任务。如图5中所示,对话意图分类装置500可以包括通信接口503、处理器504、存储器505、储存器506和显示器507。
[0080]
通信接口503可以包括网络适配器、电缆连接器、串行连接器,usb连接器、并行连接器、高速数据传输适配器(诸如光纤、usb 3.0、雷电接口等)、无线网络适配器(诸如wifi适配器)、电信(3g、4g/lte、5g等)适配器等。对话意图分类装置500可以通过通信接口503连接到其他构件,例如但不限于网络训练装置501,对话数据采集装置502等。在一些实施例中,通信接口503从对话数据采集装置502接收对话数据。在一些实施例中,通信接口503还可以从网络训练装置501接收诸如训练好的第一学习网络和第二学习网络。
[0081]
处理器504可以是包括一个以上通用处理设备的处理设备,诸如微处理器、中央处理单元(cpu)、图形处理单元(gpu)等。更具体地,该处理器可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、运行其他指令集的处理器或运行指令集的组合的处理器。该处理器还可以是一个以上专用处理设备,诸如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、片上系统(soc)等。处理器504可以通信地耦合到存储器505并且被配置为执行存储在其上的计算机可执行指令,以执行诸如在本公开的各个实施例中描述的对话意图分类处理过程。
[0082]
存储器505/储存器506可以是非暂时性计算机可读的介质,诸如只读存储器(rom)、随机存取存储器(ram)、相变随机存取存储器(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、电可擦除可编程只读存储器(eeprom)、其他类型的随机存取存储器(ram)、闪存盘或其他形式的闪存、缓存、寄存器、静态存储器、光盘只读存储器(cd-rom)、数字通用光盘(dvd)或其他光学存储器、盒式磁带或其他磁存储设备,或被用于储存能够被计算机设备访问的信息或指令的任何其他可能的非暂时性的介质等。
[0083]
在一些实施例中,储存器506可以储存训练好的第一和第二学习网络以及数据(该数据诸如为原始的对话数据、第一特征向量、对第一特征向量进行模长调整的中间参数、第二特征向量、各个已知意图类别的各个概率相关参数、用于各个概率相关参数的比较阈值等等)、在执行计算机程序的同时所接收的、所使用的或所生成的数据等。在一些实施例中,存储器505可以储存计算机可执行指令,诸如一个以上对话意图分类程序。
[0084]
在一些实施例中,所述处理器504可以进一步配置为基于对话的意图分类结果,使得相应的输出装置提供对应的服务。例如,输出装置可以是图5中所示的显示器507,但不限于此,还可以是扬声器、移动驱动装置等。例如,在对话的意图分类结果是“吃饭”的情况下,处理器504可以配置为使得显示器507显示附近餐厅的列表以供用户选择,还可以使得显示器507显示选择的餐厅的导航地图,并经由扬声器播放导航语音信号。又例如,在对话的意图分类结果是“生病”的情况下,处理器504可以配置为使得开启互联网问诊平台,在显示器
507上显示问诊平台的显示界面,并使得扬声器(未示出)播放问诊的语音,例如“请描述您的疼痛部位”、“是否有指定的医生?”、“请上传检查报告单”等。
[0085]
在一些实施例中,显示器507可以包括液晶显示器(lcd)、发光二极管显示器(led)、等离子显示器或任何其他类型的显示器,并提供显示器上呈现的图形用户界面(gui)用于用户输入和图像/数据显示。所述显示器可以包括许多不同类型的材料(诸如塑料或玻璃),并且可以是触敏的以从用户接收命令。例如,显示器可以包括基本上刚性的触敏材料(诸如gorilla玻璃tm)或基本上柔韧的(诸如willow玻璃tm)的触敏材料。
[0086]
根据本公开,网络训练装置501可以具有与对话意图分类装置500相同或相似的结构。在一些实施例中,网络训练装置501包括处理器以及被配置为训练第一和第二学习网络的其他构件。
[0087]
利用三个公开的标准数据集对普通模型和根据本公开各个实施例的对话意图分类方法进行了比较实验,这三个标准数据集分别是stackoverflow技术问题数据集、fewrel关系抽取数据集和clinc公司提供的oos对话数据集。其中,stackoverflow包含20种技术问题意图标签,fewrel包含80种关系意图,oos数据集覆盖20个领域的150种意图和1200条领域外数据。
[0088]
采用了宏观f1值作为各个模型的评价指标,并将各个数据集分为独立的训练集、验证集和测试集,训练集和验证集只包含已知类意图,测试集包含已知类意图和开放意图,利用验证集来筛选最优参数。普通模型采用了传统的有监督分类模型和交叉熵损失函数,根据本公开的各个实施例的对话意图分类方法包括五个分类方法的变型,称为对话意图分类方法1、对话意图分类方法2、对话意图分类方法3、对话意图分类方法4和对话意图分类方法5。具体说来,对话意图分类方法1在图3所示的分类模型的基础上利用了交叉熵损失函数,对话意图分类方法2-5则在图3所示的分类模型的基础上利用了交叉熵损失函数和根据本公开的各种实施例的度量损失函数进行联合训练,其中,对话意图分类方法2采用的度量损失函数是公式(1)所示的损失函数,对话意图分类方法3采用的度量损失函数是公式(2)所示的损失函数,对话意图分类方法4采用的度量损失函数是公式(3)所示的损失函数,对话意图分类方法5采用的度量损失函数是公式(1)-公式(3)所示的各个度量的损失函数的结合。
[0089]
表1中示出了比较实验的结果,其中,对话意图分类方法1-5简称为示例方法1-5。
[0090]
表1对话开放意图分类方法的比较实验结果
[0091][0092]
比较实验结果表明,本公开各个实施例的开放意图分类方法与普通模型相比,在已知类意图比例不同的情况下均能显著提升分类性能,有较好的鲁棒性,在不同场景的数
据集中均保持着稳定性能。尤其是,利用了交叉熵损失函数和根据本公开的各种实施例的度量损失函数进行联合训练,可以显著提高相同的分类模型的分类性能和鲁棒性;进一步地说来,采用几种独立的度量损失函数的结合作为度量损失函数与交叉熵损失函数进行联合训练,相较于使用单种度量损失函数与交叉熵损失函数进行联合训练,能够显著提高分类模型的分类性能和鲁棒性。
[0093]
此外,尽管已经在本文中描述了示例性实施例,其范围包括任何和所有基于本公开的具有等同元件、修改、省略、组合(例如,各种实施例交叉的方案)、改编或改变的实施例。权利要求书中的元件将被基于权利要求中采用的语言宽泛地解释,并不限于在本说明书中或本技术的实施期间所描述的示例,其示例将被解释为非排他性的。因此,本说明书和示例旨在仅被认为是示例,真正的范围和精神由以下权利要求以及其等同物的全部范围所指示。
[0094]
在本公开中的各个步骤的顺序仅仅是示例性的,而非限制性的。在不影响本公开的实现的情况下(不破坏所需的步骤之间的逻辑关系的情况下),可以对步骤的执行顺序进行调整,调整后得到的各种实施例依然落在本公开的范围内。
[0095]
以上描述旨在是说明性的而不是限制性的。例如,上述示例(或其一个或更多方案)可以彼此组合使用。例如本领域普通技术人员在阅读上述描述时可以使用其它实施例。另外,在上述具体实施方式中,各种特征可以被分组在一起以简单化本公开。这不应解释为一种不要求保护的公开的特征对于任一权利要求是必要的意图。相反,本发明的主题可以少于特定的公开的实施例的全部特征。从而,以下权利要求书作为示例或实施例在此并入具体实施方式中,其中每个权利要求独立地作为单独的实施例,并且考虑这些实施例可以以各种组合或排列彼此组合。本发明的范围应参照所附权利要求以及这些权利要求赋权的等同形式的全部范围来确定。
再多了解一些

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

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

相关文献