训练未知意图检测模型的方法、未知意图检测方法及装置
文献发布时间:2023-06-19 18:30:43
技术领域
本申请涉及人工智能技术领域,特别是涉及一种训练未知意图检测模型的方法、未知意图检测方法及装置。
背景技术
意图分类在智能对话系统中起着至关重要的作用,只有识别出用户意图才能够为用户提供准确的服务。然而在实际场景中,已有的意图类别往往无法覆盖所有的用户意图,随着时间地推移会产生新的用户意图。如果无法发现这些新产生的意图,智能对话系统会误将其划分至已有的意图类型,从而为用户提供不满足用户需求的服务,给用户带来不好的体验,因此未知意图检测成为一个重要的任务。
发明内容
有鉴于此,本申请提供了一种训练未知意图检测模型的方法、未知意图检测方法及装置,用以实现未知意图检测。
本申请提供了如下方案:
第一方面,提供了一种训练未知意图检测模型的方法,所述方法包括:
获取多个未知意图样本的特征表示以及多个已知意图样本的特征表示;
利用所述多个已知意图样本的特征表示和所述多个未知意图样本的特征表示构建全连接图,其中,分别将已知意图样本的特征表示和未知意图样本的特征表示作为所述全连接图中的节点,节点之间边的权重依据该边两端节点之间的相似度确定;
利用所述全连接图确定各未知意图样本的软标签,所述软标签为未知意图样本属于未知意图的概率值;
利用所述各未知意图样本的软标签训练分类器,得到未知意图检测模型。
根据本申请实施例中一可实现的方式,所述获取多个未知意图样本的特征表示包括:
从已知意图样本集中获取多个已知意图样本;
通过对多个已知意图样本添加扰动,获取多个未知意图样本的特征表示。
根据本申请实施例中一可实现的方式,通过对多个已知意图样本添加扰动,获取多个未知意图样本的特征表示包括:
利用特征提取模型分别对多个已知意图样本进行特征提取,得到各已知意图样本的特征表示;对不同意图类别的已知意图样本的特征表示进行混合,得到未知意图样本的特征表示;或者,
将多个已知意图样本和随机噪声作为输入训练生成式对抗网络,利用训练得到的生成式对抗网络针对多个已知意图样本生成虚假样本,将所述虚假样本作为未知意图样本并利用特征提取模型提取各未知意图样本的特征表示;或者,
对已知意图样本进行至少一个词语的随机添加、替换、删除、掩码或改变位置的处理,得到未知意图样本,利用特征提取模型对各未知意图样本进行特征提取,得到各未知意图样本的特征表示。
根据本申请实施例中一可实现的方式,利用所述全连接图确定各未知意图样本的软标签包括:
利用未知意图样本的硬标签、该未知意图样本在全连接图中所有邻居节点的硬标签以及该未知意图样本与所有邻居节点之间边的权重,确定该未知意图样本的软标签;
其中所述硬标签为用以指示意图类别的标签值。
根据本申请实施例中一可实现的方式,所述利用未知意图样本的硬标签、该未知意图样本在全连接图中所有邻居节点的硬标签以及该未知意图样本与所有邻居节点之间边的权重,确定该未知意图样本的软标签包括:
利用公式
其中,l
根据本申请实施例中一可实现的方式,在所述获取多个未知意图样本的特征表示以及多个未知意图样本的特征表示之前,还包括采用如下方式预先训练得到所述特征提取模型:
获取预训练语言模型作为初始的特征提取模型,从已知意图样本集中获取多个意图类别的已知意图样本作为训练数据;
基于所述训练数据,采用对比学习的方式训练所述特征提取模型,训练目标为:最大化相同意图类别的已知意图样本的特征表示之间的相似度,以及最小化不同意图类别的已知意图样本的特征表示之间的相似度。
根据本申请实施例中一可实现的方式,利用所述各未知意图样本的软标签训练分类器,得到未知意图检测模型包括:
利用各未知意图样本的特征表示及未知意图样本的软标签训练分类器,利用特征提取模型和训练得到的分类器得到未知意图检测模型,所述未知意图检测模型用以检测输入的待检测文本是否属于未知意图类型;或者,
利用各未知意图样本及其软标签,训练包括特征提取模型和分类器的未知意图检测模型,所述未知意图检测模型用以检测输入的待检测文本是否属于未知意图类型;或者,
利用已知意图样本的特征表示及已知意图样本被标注的标签,各未知意图样本的特征表示及未知意图样本的软标签训练分类器,训练分类器,利用特征提取模型和训练得到的分类器得到未知意图检测模型,所述未知意图检测模型用以检测输入的待检测文本所属的意图类型,所述意图类型包括已知意图类型和未知意图类型;或者,
利用多个已知意图样本及其被标注的标签,以及各未知意图样本及其软标签,训练包括特征提取模型和分类器的未知意图检测模型,所述未知意图检测模型用以检测输入的待检测文本所属的意图类型,所述意图类型包括已知意图类型和未知意图类型。
根据本申请实施例中一可实现的方式,所述分类器包括第一分类器和第二分类器;
在所述未知意图检测模型的训练过程中,采用协同训练co-training的方式训练所述第一分类器和所述第二分类器;
训练得到的未知意图检测模型综合所述第一分类器和第二分类器的分类结果确定未知意图检测结果。
第二方面,提供了一种未知意图检测方法,所述方法包括:
获取待检测文本;
将所述待检测文本输入未知意图检测模型,获取所述未知意图检测模型对所述待检测文本的检测结果,所述检测结果包括是否为未知意图类型;
其中所述未知意图检测模型采用如上第一方面所述的方法预先训练得到。
第三方面,提供了一种智能对话方法,应用于智能对话系统,所述方法包括:
获取用户输入的文本或对用户输入语音进行识别得到的文本;
将获取的文本作为待检测文本输入未知意图检测模型,获取所述未知意图检测模型对所述待检测文本的检测结果;
若对所述待检测文本的检测结果为未知意图类型,则采用预设的话术生成针对所述用户的响应文本,或者触发人工服务接入所述智能对话系统以响应所述用户。
第四方面,提供了一种训练未知意图检测模型的装置,所述装置包括:
特征获取单元,被配置为获取多个未知意图样本的特征表示以及多个未知意图样本的特征表示;
图构建单元,被配置为利用所述多个已知意图样本的特征表示和所述多个未知意图样本的特征表示构建全连接图,其中,分别将已知意图样本的特征表示和未知意图样本的特征表示作为所述全连接图中的节点,节点之间边的权重依据该边两端节点之间的相似度确定;
标签确定单元,被配置为利用所述全连接图确定各未知意图样本的软标签,所述软标签为未知意图样本属于未知意图的概率值;
第一训练单元,被配置为利用所述各未知意图样本的软标签训练分类器,得到未知意图检测模型。
第五方面,提供了一种未知意图检测装置,所述装置包括:
文本获取单元,被配置为获取待检测文本;
意图检测单元,被配置为将所述待检测文本输入未知意图检测模型,获取所述未知意图检测模型对所述待检测文本的检测结果,所述检测结果包括是否为未知意图类型;
其中所述未知意图检测模型采用如上第四方面所述的装置预先训练得到。
根据第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一、二和三方面中任一项所述的方法的步骤。
根据第七方面,提供了一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行上述第一、二和三方面中任一项所述的方法的步骤。
根据本申请提供的具体实施例,本申请公开了以下技术效果:
1)本申请利用已知意图样本和未知意图样本的特征表示构建全连接图,并利用全连接图确定未知意图样本的软标签,基于软标签训练分类器,使得到的未知意图检测模型对未知意图的检测更加准确,显著提高了未知意图检测效果。
2)通过对多个已知意图样本添加扰动的方式获取未知意图样本的特征表示,不必额外人工寻找或构造未知意图样本,降低了人工成本。
3)本申请中利用未知意图样本的硬标签、该未知意图样本在全连接图中所有邻居节点的硬标签以及该未知意图样本与所有邻居节点之间边的权重,确定该未知意图样本的软标签。这种通过图平滑处理来确定未知意图样本的软标签的方式,使得未知意图样本的软标签更加准确,从而进一步提高训练得到的未知意图检测模型的检测效果。
4)本申请利用已知意图样本集中多个意图类别的已知意图样本作为训练数据,采用对比学习的方式训练特征提取模型,使得训练得到的特征提取模型能够在预训练语言模型的基础上快速学习到各种意图类别的样本特征,使得对样本特征表示的提取更加准确。
5)本申请可以在未知意图检测模型的训练过程中采用co-training的方式对双头分类器进行训练,从而更加平滑地对未知意图样本的软标签进行学习,训练得到的未知意图检测模型综合双头分类器的分类结果确定未知意图检测结果,从而进一步提高检测效果。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为可以应用本申请实施例的示例性系统架构图;
图2为本申请实施例提供的训练未知意图检测模型的方法流程图;
图3为本申请实施例提供的生成式对抗网络的原理示意图;
图4为本申请实施例提供的训练特征提取模型的方法流程图;
图5为本申请实施例提供的训练特征提取模型的原理示意图;
图6a和图6b为本申请实施例提供的两种未知意图检测模型的结构示意图;
图7为本申请实施例提供的未知意图检测方法的流程图;
图8为本申请实施例提供的训练未知意图检测模型的装置示意性框图;
图9为本申请实施例提供的训练未知意图检测装置的示意性框图;
图10为本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
未知意图检测的难点在于缺乏未知意图样本,很难在特定场景下收集到未知意图样本。目前存在一些方式来构造未知意图样本,并采用“硬标签”对未知意图样本进行标注。所谓硬标签是用以指示意图类别的标签值,例如用1表示未知意图类别,用0表示已知意图类别。然后再利用构造的未知意图样本及其硬标签训练未知意图检测模型。但这种方式受制于生成未知意图样本的精准度(例如生成的未知意图样本实际上是已知意图样本),容易造成未知意图检测的准确性较差。
有鉴于此,本申请提出了一种全新的方式,基于软标签来训练未知意图检测模型。为了方便对本申请的理解,首先对本申请所应用的系统架构进行说明。
图1示出了可以应用本申请实施例的示例性系统架构。如图1中所示,该系统架构包括采用离线方式训练未知意图检测模型的模型训练装置,以及在线对待检测文本进行未知意图检测的未知意图检测装置。
其中,模型训练装置采用本申请实施例提供的方法生成训练样本,并进行模型训练,得到未知意图检测模型。
未知意图检测装置利用已经建立的未知意图检测模型,对待检测文本进行未知意图检测,输出是否是未知意图的检测结果。
模型训练装置和未知意图检测装置可以分别设置为独立的服务器,也可以设置于同一个服务器或服务器群组,还可以设置于独立的或者同一云服务器。云服务器又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPs,Virtual Private Server)服务中存在的管理难度大,服务扩展性弱的缺陷。模型训练装置和未知意图检测装置还可以设置于具有较强计算能力的计算机终端。
另外需要说明的是,图1中以未知意图检测装置在线执行检测为例,但在一些应用场景下,未知意图检测装置也可以离线地对待检测文本进行诸如批量式的未知意图检测,本申请对此不加以限制。
应该理解,图1中的模型训练装置、未知意图检测装置以及未知意图检测模型的数目仅仅是示意性的。根据实现需要,可以具有任意数目的模型训练装置、未知意图检测装置以及未知意图检测模型。
图2为本申请实施例提供的训练未知意图检测模型的方法流程图,该方法流程可以由图1所示系统中的模型训练装置执行。如图2中所示,该方法可以包括以下步骤:
步骤202:获取多个未知意图样本的特征表示以及多个未知意图样本的特征表示。
步骤204:利用多个已知意图样本的特征表示和多个未知意图样本的特征表示构建全连接图,其中,分别将已知意图样本的特征表示和未知意图样本的特征表示作为全连接图中的节点,节点之间边的权重依据该边两端节点之间的相似度确定。
步骤206:利用全连接图确定各未知意图样本的软标签,软标签为未知意图样本属于未知意图的概率值。
步骤208:利用各未知意图样本的软标签训练分类器,得到未知意图检测模型。
由上述流程可以看出,本申请利用已知意图样本和未知意图样本的特征表示构建全连接图,并利用全连接图确定未知意图样本的软标签,基于软标签训练分类器,使得到的未知意图检测模型的检测效果更加准确。
下面对上述流程中的各步骤分别进行描述。首先结合实施例对上述步骤202即“获取多个未知意图样本的特征表示以及多个未知意图样本的特征表示”进行详细描述。
本申请实施例中的“意图”指的是文本中蕴含的目的或主题,因此意图检测就是识别文本中蕴含的目的或主题,属于自然语言理解任务的一种。
未知意图检测的目标是能够识别出不属于已知意图类型的其他意图,已知意图类型指的是已经针对这些意图类型进行标注和模型训练的意图类型。假设已知k个已知意图类型,那么已知意图样本集可以表示为D
本申请实施例中,可以对已知意图样本集D
第一种方式:采用特征混合(Feature Mixup)方法
首先利用特征提取模型分别对多个已知意图样本进行特征提取,得到各已知意图样本的特征表示。然后对不同意图类别的已知意图样本的特征表示进行混合,得到未知意图样本的特征表示。其中,上述混合可以采用插值、加权求平均等方式。
可以看出,这种方式相当于将不同意图类别的已知意图样本的特征表示进行混合,产生一种不属于任何意图类别的特征表示来作为未知意图样本。
第二种方式:采用GANs(GenerativeAdversarial Networks,生成式对抗网络)
GANs由两个神经网络组成:一个是Generator(生成器),另一个是Discriminator(鉴别器)。生成器的目标是学习生成虚假样本分布来欺骗鉴别器,而鉴别器的目标是学习区分生成器生成的真实分布和虚假分布。
在本申请实施例中,将多个已知意图样本和随机噪声作为输入训练生成式对抗网络,利用训练得到的生成式对抗网络针对多个已知意图样本生成虚假样本,将虚假样本作为未知意图样本。
如图3中所示,将已知意图样本作为真实样本,真实样本作为鉴别器的其中一个输入。随机噪声作为生成器的输入,生成器利用这个随机噪声生成虚假样本,并将该虚假样本作为鉴别器的另一个输入。鉴别器不断学习致力于更好地区分真实样本和虚假样本,生成器不断学习致力于生成能够迷惑鉴别器的虚假样本。两者逐渐对抗从而完成优化。通过GANs就能够生成已知意图样本对应的虚假样本,可以将这些虚假样本作为未知意图样本。
在得到未知意图样本后,再利用特征提取模型提取各未知意图样本的特征表示。
第三种方式:编辑已知意图样本
对已知意图样本进行至少一个词语的编辑处理,得到未知意图样本,然后再利用特征提取模型对各未知意图样本进行特征提取,得到各未知意图样本的特征表示。
其中,编辑处理可以包括随机添加、替换、删除、掩码或改变位置等中的一种或任意组合。也就是说,随机对已知意图样本中的至少一个词语进行添加、替换、删除、掩码或者改变位置等,得到的文本作为未知意图样本。
除了上述三种方式之外,还可以采用其他对已知意图样本添加扰动的方式。上述第一种方式实际上是通过特征混合的方式直接得到未知意图样本的特征表示,而对于第二种方式和第三种方式实际上是先得到未知意图样本,再进一步得到未知意图样本的特征表示。
上述三种方式中都涉及到特征提取模型,特征提取模型用以从输入的样本中提取特征,得到样本的特征表示。
作为其中一种可实现的方式,可以采用诸如预训练语言模型等已有模型作为特征提取模型。
在本申请实施例中提供了另一种更优选的方式来训练得到上述特征提取模型。如图4中所示好,可以具体包括以下步骤:
步骤402:获取预训练语言模型作为初始的特征提取模型。
在本申请实施例中的特征提取模型可以基于预训练语言模型训练得到,将诸如BERT(Bidirectional Encoder Representation from Transformers,基于转换的双向编码表示)、XLNet、GPT(Generative Pre-Training,生成式预训练)模型等预训练语言模型作为初始的特征提取模型,在此基础上进行进一步训练。
步骤404:从已知意图样本集中获取多个意图类别的已知意图样本作为训练数据。
由于本申请实施例中采用对比学习的方式来训练特征提取模型,对比学习的原理是拉近相同类别的样本特征之间的距离,拉远不同类别的样本特征的距离。因此在选取训练数据时,可以从已知意图样本集中获取一些不同意图类别的已知意图样本来构建训练数据。
训练数据可以包含多个训练样本,每个训练样本包含正、负样本对。例如,将其中一个样本x以及与该样本属于同一个意图类别的其他样本x
步骤406:基于上述训练数据,采用对比学习的方式训练特征提取模型,训练目标为:最大化相同意图类别的已知意图样本的特征表示之间的相似度,以及最小化不同意图类别的已知意图样本的特征表示之间的相似度。
如图5中所示,上述训练目标可以理解为:
d(f(x),f(x
其中,f()是特征提取模型进行特征提取的函数。d()为计算向量之间距离的函数,例如可以采用欧式距离。也就是说,可以构建损失函数(loss)使得相同意图类别的样本的特征表示之间的距离尽可能小于不同意图类别的样本的特征表示之间的距离。可以在每一轮迭代中利用损失函数的取值,采用诸如梯度下降等方式更新特征提取模型的模型参数,直至满足预设的训练结束条件。其中训练结束条件可以包括诸如损失函数的取值小于或等于预设的损失函数阈值,迭代次数达到预设的次数阈值等。
下面结合实施例对上述步骤204即“利用多个已知意图样本的特征表示和多个未知意图样本的特征表示构建全连接图”进行详细描述。
对于已知意图样本,通过上述训练得到的特征提取模型也能够得到各已知意图样本的特征表示。
由于通过步骤202所示方式通过对已知意图样本添加扰动获取的未知意图样本,其中有些确实属于未知意图类型,但也有一些添加扰动后仍属于已知意图类别。也就是说,步骤202获取的未知意图样本中很大概率是混入了已知意图样本的。若直接将获取的未知意图样本赋予硬标签来训练未知意图检测模型,则会造成未知意图检测模型不准确,识别准确率低。因此,本步骤中利用已知意图样本和未知意图样本的特征表示来构建全连接图,该全连接图的作用是为了得到未知意图样本的软标签(其属于未知意图的概率),也就是说用以得到未知意图样本的真实分布。
构建的全连接图包括节点和边。假设构建全连接图所采用的多个已知意图样本集D
通过上述方式创建的全连接图实际上是将D
下面结合实施例对上述步骤206即“利用全连接图确定各未知意图样本的软标签”进行详细描述。
作为其中一种可实现的方式,本申请中可以采用图平滑的方式来确定各未知意图样本的软标签。在进行图平滑时,未知意图样本的软标签取值不仅与自身相关,也与其所连接的所有邻居节点相关。即利用未知意图样本的硬标签、该未知意图样本在全连接图中所有邻居节点的硬标签以及该未知意图样本与所有邻居节点之间边的权重,确定该未知意图样本的软标签。
例如,可以利用公式如下公式确定未知意图样本x的软标签l
其中,l
下面结合实施例对上述步骤208即“利用各未知意图样本的软标签训练分类器,得到未知意图检测模型”进行详细描述。
本步骤的实现方式可以采用但不限于以下几种:
第一种方式:可以直接利用未知意图样本的特征表示及其软标签训练分类器,利用特征提取模型和训练得到的分类器得到未知意图检测模型。这种方式下的分类器可以是一个二分类器,未知意图样本的特征表示作为分类器的输入,对应软标签作为分类器的目标输出。
在训练分类器时,训练目标是最小化分类器针对未知意图样本预测的属于未知意图的概率与该未知意图样本的软标签之间的差异。
在每一轮迭代中利用损失函数的取值,采用诸如梯度下降等方式更新分类器的模型参数,直至满足预设的训练结束条件。其中训练结束条件可以包括诸如损失函数的取值小于或等于预设的损失函数阈值,迭代次数达到预设的次数阈值等。
训练完成分类器后,利用特征提取模型和分类模型构成未知意图检测模型。
第二种方式:利用各未知意图样本及其软标签,训练包括特征提取模型和分类器的未知意图检测模型。这种方式下的分类器也是一个二分类器,与第一种方式不同的是,利用未知意图样本及其软标签对特征提取模型和分类器进行训练。即将未知意图样本作为特征提取模型的输入,对应软标签作为分类器的目标输出。训练过程中更新特征提取模型和分类器的模型参数。
在训练特征提取模型和分类器构成的未知意图检测模型时,训练目标与第一种方式相同,最小化分类器针对未知意图样本预测的属于未知意图的概率与该未知意图样本的软标签之间的差异。
在每一轮迭代中利用损失函数的取值,采用诸如梯度下降等方式更新特征提取模型和分类器的模型参数,直至满足预设的训练结束条件。其中训练结束条件可以包括诸如损失函数的取值小于或等于预设的损失函数阈值,迭代次数达到预设的次数阈值等。
上述两种方式下,利用未知意图检测模型对待检测文本进行检测,输出的检测结果为二分类结果,即待检测文本是否属于未知意图类型。
第三种方式:利用已知意图样本的特征表示及已知意图样本被标注的标签,各未知意图样本的特征表示及未知意图样本的软标签训练分类器,训练分类器,利用特征提取模型和训练得到的分类器得到未知意图检测模型。
与第一种方式不同的是,这种方式下的分类器是一个多分类器,已知意图样本的特征表示和未知意图样本的特征表示均会作为分类器的输入,对应标签作为分类器的目标输出。也就是说,分类器不仅要学习对已知意图样本所属已知意图类型的预测,也要学习对未知意图样本属于未知意图类型的预测。
在每一轮迭代中利用损失函数的取值,采用诸如梯度下降等方式更新分类器的模型参数,直至满足预设的训练结束条件。其中训练结束条件可以包括诸如损失函数的取值小于或等于预设的损失函数阈值,迭代次数达到预设的次数阈值等。
第四种方式:利用多个已知意图样本及其被标注的标签,以及各未知意图样本及其软标签,训练包括特征提取模型和分类器的未知意图检测模型。
与第二种方式不同的是,这种方式下的分类器是一个多分类器,已知意图样本和未知意图样本均会作为特征提取模型的输入,对应标签作为分类器的目标输出。也就是说,由特征提取模型和分类器不仅要学习对已知意图样本所属已知意图类型的预测,也要学习对未知意图样本属于未知意图类型的预测。
在每一轮迭代中利用损失函数的取值,采用诸如梯度下降等方式更新特征提取模型和分类器的模型参数,直至满足预设的训练结束条件。其中训练结束条件可以包括诸如损失函数的取值小于或等于预设的损失函数阈值,迭代次数达到预设的次数阈值等。
上述第三种方式和第四种方式下,利用未知意图检测模型对待检测文本进行检测,输出的检测结果为待检测文本所属的意图类型,该意图类型包括已知意图类型和未知意图类型。
在上述四种方式中,上述分类器可以为单头的分类器,结构如图6a中所示。以上述第一种方式为例,采用的损失函数L1可以是例如:
其中,CE()为交叉熵损失函数,g[]为分类器采用的函数。
作为另一种可实现的方式,上述分类器还可以采用双头的分类器,结构可以如图6b中所示。这种结构可以采用协同训练(co-training)框架来更好的学习软标签。在协同训练框架中可以在共享特征提取模型的基础上采用两个分类器:第一分类器和第二分类器,即利用未知意图样本的特征表示及其软标签分别训练第一分类器和第二分类器。
需要说明的是,本公开中涉及的“第一”、“第二”、“第三”等限定并不具备大小、顺序和数量等方面的限制,仅仅用以在名称上加以区分。例如“第一分类器”和“第二分类器”用以在名称上区分两个分类器。再例如“第一训练”、“第二训练”和“第三训练”用以在名称上区分三个训练处理。
其中,协同训练的过程可以具体包括:
首先基于各未知意图样本的特征表示及其软标签,分别对第一分类器和第二分类器进行第一训练。其中,为了提高第一分类器和第二分类器的泛化性能,在分别对第一分类器和第二分类器进行第一训练的过程中,可以采用诸如droupout(抛弃法)等方式。所谓droupout是在训练过程中按照一定比例随机忽略或者屏蔽一些神经元,这些神经元被随机“抛弃”,使得训练得到的模型对特定神经元的权重不那么敏感。鉴于droupout为目前已有的技术,在此不做详述。
然后将第一训练得到的第一分类器对未知意图样本的特征表示的分类结果作为第二分类器的训练目标,对第一分类器进行第二训练;以及,将第二训练得到的第二分类器对未知意图样本的特征表示的分类结果作为第一分类器的训练目标,对第一分类器进行第三训练。
上述第二训练和第三训练所体现出的协同训练过程实际上是对未知意图样本的软标签进行重新定义的过程,利用其中一个分类器对未知意图样本的检测结果来优化另一个分类器的检测。例如,第二训练和第三训练的损失函数L
其中,
第二分类器采用的函数表示为g
训练完成第二分类器和第三分类器后,利用特征提取模型、第二分类器和第三分类器构成未知意图检测模型,如图6b中所示。
在采用上述实施例提供的方式预先训练得到未知意图检测模型后,可以利用该未知意图检测模型进行检测。图7为本申请实施例提供的未知意图检测方法的流程图,该方法可以由图1所示系统中的未知意图检测装置执行。如图7中所示,可以包括以下步骤:
步骤702:获取待检测文本。
根据不同的场景需求,待检测文本可以是不同的类型。可以来源于用户输入的内容,可以是网络中的文本资源,等等。后续将会列举几个实际的应用场景。
步骤704:将待检测文本输入未知意图检测模型,获取对待检测文本的检测结果,检测结果包括是否为未知意图类型。
若未知意图检测模型的结构如图6a中所示,则输入待检测文本后,未知意图检测模型中的特征提取模块针对待检测文本进行特征提取,得到待检测文本的特征表示。第一分类器利用待检测文本的特征表示,得到针对该待检测文本检测的结果。如果未知意图检测模型中的分类器是二分类器,则输出结果为待检测文本属于未知意图类型的概率,进一步确定该待检测文本是否属于未知意图类型。如果未知意图检测模型中的分类器是多分类器,则输出结果为待检测文本所属的意图类型,该意图类型包括已知意图类型和未知意图类型。例如可以检测k+1个类型,其中k个为已知意图类型,第k+1个类型为未知意图类型。
若未知意图检测模型的结构如图6b中所示,则输入待检测文本后,未知意图检测模型中的特征提取模块针对待检测文本进行特征提取,得到待检测文本的特征表示。第一分类器和第二分类器分别利用待检测文本的特征表示,得到待检测文本属于各已知意图类型和未知意图类型的概率,表示为g
g(y|x)=(g
本申请实施例提供的上述方法可以应用于多种应用场景,包括但不限于:
1)智能对话
获取用户输入的文本或对用户输入语音进行识别得到的文本;将获取的文本作为待检测文本输入未知意图检测模型,获取未知意图检测模型对待检测文本的检测结果;若对待检测文本的检测结果为未知意图类型,则采用预设的话术生成针对该用户的响应文本,或者触发人工服务接入智能对话系统以响应该用户。
例如用户在使用智能客服系统的过程中,在与客服对话的界面上输入文本后,智能客服系统可以利用本申请实施例提供的方式进行未知意图检测。如果检测结果为该输入文本属于未知意图类型,则可以采用预设的话术生成针对用户的响应文本,例如生成“抱歉不太明白您的意思,请您换一种表述”;也可以转由人工客服进行处理。
再举个例子,用户在使用智能音箱的过程中,智能音箱获取用户语音,将用户语音对应的语音识别结果作为待检测文本,利用本申请实施例提供的方式进行未知意图检测。如果检测结果为属于未知意图类型,则可以采用预设的话术生成针对用户的响应文本,并利用语音合成技术合成响应语音播放给用户,例如生成“抱歉没听懂您的话”的语音。
2)新闻分类;
利用在新闻类网站上存在大量的新闻文本,在对新闻文本上线进行展现时需要对其进行分类,并在相应的分类下进行展现。因此可以采用本申请实施例提供的方式对待上线的各新闻文本进行未知意图检测。对于被识别为未知意图类型的新闻文本可以转由人工识别并处理;对于被识别为已知意图类型的新闻文本,可以进一步识别出具体的类型并在该具体的类型下展现。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
根据另一方面的实施例,提供了一种训练未知意图检测模型的装置。图8示出根据一个实施例的训练未知意图检测模型的装置示意性框图,该装置设置于图1所示架构中的模型训练装置。如图8所示,该装置800包括:特征获取单元801、图构建单元802、标签确定单元803和第一训练单元804,还可以进一步包括第二训练单元805。其中各组成单元的主要功能如下:
特征获取单元801,被配置为获取多个未知意图样本的特征表示以及多个未知意图样本的特征表示。
图构建单元802,被配置为利用多个已知意图样本的特征表示和多个未知意图样本的特征表示构建全连接图,其中,分别将已知意图样本的特征表示和未知意图样本的特征表示作为全连接图中的节点,节点之间边的权重依据该边两端节点之间的相似度确定。
标签确定单元803,被配置为利用全连接图确定各未知意图样本的软标签,软标签为未知意图样本属于未知意图的概率值。
第一训练单元804,被配置为利用各未知意图样本的软标签训练分类器,得到未知意图检测模型。
作为其中一种可实现的方式,特征获取单元801可以具体被配置为从已知意图样本集中获取多个已知意图样本;通过对多个已知意图样本添加扰动,获取多个未知意图样本的特征表示。
其中,特征获取单元801在通过对多个已知意图样本添加扰动,获取多个未知意图样本的特征表示时,可以采用但不限于以下四种方式:
第一种方式:利用特征提取模型分别对多个已知意图样本进行特征提取,得到各已知意图样本的特征表示;对不同意图类别的已知意图样本的特征表示进行混合,得到未知意图样本的特征表示。
第二种方式:将多个已知意图样本和随机噪声作为输入训练生成式对抗网络,利用训练得到的生成式对抗网络针对多个已知意图样本生成虚假样本,将虚假样本作为未知意图样本并利用特征提取模型提取各未知意图样本的特征表示。
第三种方式:对已知意图样本进行至少一个词语的随机添加、替换、删除、掩码或改变位置的处理,得到未知意图样本,利用特征提取模型对各未知意图样本进行特征提取,得到各未知意图样本的特征表示。
作为其中一种可实现的方式,标签确定单元803可以具体被配置为:利用未知意图样本的硬标签、该未知意图样本在全连接图中所有邻居节点的硬标签以及该未知意图样本与所有邻居节点之间边的权重,确定该未知意图样本的软标签;其中硬标签为用以指示意图类别的标签值。
例如,标签确定单元803可以利用公式l
更进一步地,第二训练单元805,被配置为获取预训练语言模型作为初始的特征提取模型,从已知意图样本集中获取多个意图类别的已知意图样本作为训练数据;基于训练数据,采用对比学习的方式训练特征提取模型,训练目标为:最大化相同意图类别的已知意图样本的特征表示之间的相似度,以及最小化不同意图类别的已知意图样本的特征表示之间的相似度。
具体地,上述第一训练单元804可以采用但不限于如下四种方式:
第一种方式:利用各未知意图样本的特征表示及未知意图样本的软标签训练分类器,利用特征提取模型和训练得到的分类器得到未知意图检测模型,未知意图检测模型用以检测输入的待检测文本是否属于未知意图类型。
第二种方式:利用各未知意图样本及其软标签,训练包括特征提取模型和分类器的未知意图检测模型,未知意图检测模型用以检测输入的待检测文本是否属于未知意图类型。
第三种方式:利用已知意图样本的特征表示及已知意图样本被标注的标签,各未知意图样本的特征表示及未知意图样本的软标签训练分类器,训练分类器,利用特征提取模型和训练得到的分类器得到未知意图检测模型,未知意图检测模型用以检测输入的待检测文本所属的意图类型,意图类型包括已知意图类型和未知意图类型。
第四种方式:利用多个已知意图样本及其被标注的标签,以及各未知意图样本及其软标签,训练包括特征提取模型和分类器的未知意图检测模型,未知意图检测模型用以检测输入的待检测文本所属的意图类型,意图类型包括已知意图类型和未知意图类型。
作为其中一种可实现的方式,上述分类器可以是一个单头分类器。
作为另一种可实现的方式,上述分类器可以是双头分类器,即包括第一分类器和第二分类器。
第一训练单元804在未知意图检测模型的训练过程中,采用co-training的方式训练第一分类器和第二分类器;训练得到的未知意图检测模型综合第一分类器和第二分类器的分类结果确定未知意图检测结果。
图9示出根据一个实施例的未知意图检测装置的示意性框图。如图9所示,该装置900包括:文本获取单元901和意图检测单元902。其中各组成单元的主要功能如下:
文本获取单元901,被配置为获取待检测文本。
意图检测单元902,被配置为将待检测文本输入未知意图检测模型,获取未知意图检测模型对待检测文本的检测结果,检测结果包括是否为未知意图类型;其中未知意图检测模型采用如图8中所述的装置预先训练得到。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
另外,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
以及一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法的步骤。
本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
其中,图10示例性的展示出了电子设备的架构,具体可以包括处理器1010,视频显示适配器1011,磁盘驱动器1012,输入/输出接口1013,网络接口1014,以及存储器1020。上述处理器1010、视频显示适配器1011、磁盘驱动器1012、输入/输出接口1013、网络接口1014,与存储器1020之间可以通过通信总线1030进行通信连接。
其中,处理器1010可以采用通用的CPU、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(RandomAccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储用于控制电子设备1000运行的操作系统1021,用于控制电子设备1000的低级别操作的基本输入输出系统(BIOS)1022。另外,还可以存储网页浏览器1023,数据存储管理系统1024,以及模型训练装置/未知意图检测装置1025等等。上述模型训练装置/未知意图检测装置1025就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1013用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口1014用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1030包括一通路,在设备的各个组件(例如处理器1010、视频显示适配器1011、磁盘驱动器1012、输入/输出接口1013、网络接口1014,与存储器1020)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、视频显示适配器1011、磁盘驱动器1012、输入/输出接口1013、网络接口1014,存储器1020,总线1030等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机程序产品的形式体现出来,该计算机程序产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
- 未知漏洞攻击检测方法、装置、设备及存储介质
- 一种应用程序的意图协议URL漏洞检测方法及装置
- 一种欺诈检测模型训练方法和装置及欺诈检测方法和装置
- 用于人脸关键点网络检测模型的训练方法、人脸关键点检测方法、装置
- 一种基于k近邻对比学习的未知意图检测方法
- 意图识别模型的训练方法及装置、意图识别的方法及装置