一种基于聚类的新意图发现方法、装置、设备和存储介质与流程

文档序号:30092772发布日期:2022-05-18 09:44阅读:171来源:国知局
一种基于聚类的新意图发现方法、装置、设备和存储介质与流程

1.本技术涉及人工智能技术领域,尤其涉及一种基于聚类的新意图发现方 法、装置、设备和存储介质。


背景技术:

2.当用户无法接听电话时,电话助理能够代替用户接听电话,通过对来电人 话语的理解,进行相应的交互和引导,并且记录重要的来电信息传达给用户。 不仅减少了因漏接电话而丢失重要信息的情况,还节省了时间和沟通成本,大 大提升了人们的生活和工作效率。意图识别的前提是要尽可能多的发现用户意 图,在此基础上训练意图识别模型,以及设计相应的交互引导。通过意图发现 可以挖掘用户的新意图和新兴趣点,从而进一步地提升对用户意图的识别能力 和完善交互引导,提升用户的使用体验。
3.经典无监督聚类算法用于意图发现任务时,有两个缺点,一是对于 k-means等至下而上的聚类算法而言,需要在聚类前设置聚类数目,并且聚类 数目会直接影响最终的聚类效果。在进行意图发现时,是不清楚真实聚类数目 的;二是经典无监督聚类算法没有学习文本的高维表示,难以准确的计算文本 在特征空间的距离。基于深度学习的无监督聚类算法,首先利用深度学习的神 经网络提取文本的高维特征或编码,然后再用特征或编码向量寻找聚类中心进 行聚类,同时训练一个意图分类器,利用聚类和分类器的结果来训练模型。这 种方法存在两个缺点,一是没有引入有监督信号,因此在聚类时容易被异常值 所干扰,而影响聚类效果。尤其意图发现任务的无标签数据通常混合了已知意 图甚至其他领域的数据,难以准确地对新意图进行聚类;二是由于聚类数目和 类别是变化的,每次都需要重新初始化分类器的参数。第三种方法基于弱监督 或半监督的聚类算法,通过利用有标签数据或者施加限制,来引导聚类过程, 比如利用有标签数据训练一个二分模型,用于评价聚类效果。这类方法的缺点 是大多弱监督或有监督信号仍没有充分利用有标签数据。上述三种意图发现方 法都没有充分利用已知意图的数据,没有考虑新增意图和已知意图的区别,导 致聚类效果不佳,难以准确充分地发现新意图。


技术实现要素:

4.本技术提供了一种基于聚类的新意图发现方法、装置、设备和存储介质, 用于解决现有技术没有充分利用已知意图的数据,没有考虑新增意图和已知意 图的区别,导致聚类效果不佳,难以准确充分地发现新意图的技术问题。
5.本技术第一方面提供了一种基于聚类的新意图发现方法,包括:
6.s101、根据已知意图数据对分类器进行预训练;
7.s102、根据预置轮廓系数选取聚类数;
8.s103、基于k-means聚类算法,根据所述聚类数对无标签数据进行聚类生 成聚类结果,并将所述聚类结果和真实标签对齐得到发现新意图的对齐标签;
9.s104、根据所述聚类结果和所述已知意图数据训练所述分类器,得到所述 分类器
的伪标签;
10.s105、计算所述对齐标签和所述伪标签的kl散度,以更新所述已知意图 数据;
11.s106、重复执行步骤s101至s105,直至没有增加新意图时,输出所述对 齐标签。
12.本技术先根据已知意图数据对分类器进行预训练,再通过优化后的轮廓系 数选取聚类数,聚类效果较好,将已知意图数据和无标签数据结合训练分类器 的模式,迭代时将上一轮的已知意图数据作为监督信号,不断地更新已知意图 数据,直至没有增加新意图时,停止迭代,并输出发现新意图的对齐标签,充 分利用了已知意图数据,增强了分类、聚类过程之间的信息交流,更有利于指 导聚类过程并准确充分地发现新意图,从而解决了现有技术没有充分利用已知 意图的数据,没有考虑新增意图和已知意图的区别,导致聚类效果不佳,难以 准确充分地发现新意图的技术问题。
13.可选地,所述根据预置轮廓系数选取聚类数,包括:
14.根据第一轮廓系数和/或第二轮廓系数选取聚类数;
15.所述第一轮廓系数为:
[0016][0017]
所述第二轮廓系数为:
[0018][0019]
其中,l(i)为带惩罚项的轮廓系数,l(i)a为扩展的带惩罚项的轮廓系数,s(i) 为传统轮廓系数的定义,s(i)a为轮廓系数,λ和γ均为超参数,k为聚类数, n为样本总数,ck为样本i所属的簇,为样本i所属新增的簇,σ和u分别 为当前聚类簇样本数的标准差和均值。
[0020]
可选地,所述根据所述聚类结果和所述已知意图数据训练所述分类器,得 到所述分类器的伪标签,之前包括:
[0021]
根据聚类标签数调整分类器标签数。
[0022]
可选地,所述根据所述聚类结果和所述已知意图数据训练所述分类器,得 到所述分类器的伪标签,包括:
[0023]
根据所述已知意图数据和所述对齐标签计算得到联合损失;
[0024]
根据所述联合损失更新分类器参数,得到分类器的伪标签。
[0025]
可选地,所述基于k-means聚类算法,根据所述聚类数对无标签数据进行 聚类生成聚类结果,并将所述聚类结果和真实标签对齐得到发现新意图的对齐 标签,包括:
[0026]
基于k-means聚类算法,根据所述聚类数对无标签数据进行聚类生成聚类 结果;
[0027]
通过匈牙利算法将所述聚类结果和真实标签对齐得到发现新意图的对齐 标签。
[0028]
可选地,所述根据已知意图数据对分类器进行预训练,包括:
[0029]
基于bert预训练语言模型提取已知意图数据的特征向量;
[0030]
将所述特征向量输入分类器得到预测标签;
[0031]
计算所述预测标签和真实标签的交叉熵损失;
[0032]
根据所述交叉熵损失更新分类器参数。
[0033]
可选地,所述直至没有增加新意图时,输出所述对齐标签,之后包括:
[0034]
通过意图标签生成器将隐式的所述对齐标签转换为显式的意图标签。
[0035]
本技术第二方面提供了一种基于聚类的新意图发现装置,包括:
[0036]
预处理单元,用于根据已知意图数据对分类器进行预训练;
[0037]
选取单元,用于根据预置轮廓系数选取聚类数;
[0038]
聚类单元,用于基于k-means聚类算法,根据所述聚类数对无标签数据进 行聚类生成聚类结果,并将所述聚类结果和真实标签对齐得到发现新意图的对 齐标签;
[0039]
训练单元,用于根据所述聚类结果和所述已知意图数据训练所述分类器, 得到所述分类器的伪标签;
[0040]
计算单元,用于计算所述对齐标签和所述伪标签的kl散度,以更新所述 已知意图数据;
[0041]
输出单元,用于没有增加新意图时,输出所述对齐标签。
[0042]
本技术第三方面提供了一种电子设备,包括处理器和存储有计算机程序的 存储器,所述处理器执行所述计算机程序时实现如第一方面所述的基于聚类的 新意图发现方法的步骤。
[0043]
本技术第四方面提供了一种计算机可读存储介质,其上存储有计算机程 序,其特征在于,所述计算机程序被处理器执行时实现如第一方面所述的基于 聚类的新意图发现方法的步骤。
附图说明
[0044]
图1为本技术实施例提供的基于聚类的新意图发现方法的流程示意图;
[0045]
图2为本技术实施例提供的基于聚类的新意图发现方法的模型框图;
[0046]
图3为本技术实施例提供的基于聚类的新意图发现装置的结构示意图;
[0047]
图4为本技术实施例提供的电子设备的结构示意图。
具体实施方式
[0048]
本技术实施例提供了一种基于聚类的新意图发现方法、装置、设备和存储 介质,用于解决现有技术没有充分利用已知意图的数据,没有考虑新增意图和 已知意图的区别,导致聚类效果不佳,难以准确充分地发现新意图的技术问题。
[0049]
为使得本技术的发明目的、特征、优点能够更加的明显和易懂,下面将结 合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描 述,显然,下面所描述的实施例仅仅是本技术一部分实施例,而非全部的实施 例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提 下所获得的所有其它实施例,都属于本技术保护的范围。
[0050]
请参阅图1和图2,本技术实施例提供了一种基于聚类的新意图发现方法, 包括:
[0051]
步骤101、根据已知意图数据对分类器进行预训练。
[0052]
需要说明的是,已知意图数据通常之前已使用过的有标签的数据,根据有 标签的已知意图数据对分类进行预训练处理,以确保后续的训练分类过程能顺 利进行。
[0053]
步骤102、根据预置轮廓系数选取聚类数。
[0054]
可以理解的是,本实例利用优化的轮廓系数(即预置轮廓系数)选取聚类 数,具体的可以根据第一轮廓系数和/或第二轮廓系数选取聚类数,从而选取出 更利于聚类以及发现新意图的聚类数,具体如下:
[0055]
将第一预置公式和第二预置公式代入传统轮廓系数定义公式计算得到 s(i),其中第一预置公式为:
[0056][0057]
第二预置公式为:
[0058][0059]
传统轮廓系数定义公式为:
[0060][0061]
其中,a(i)衡量的是样本点与同簇样本之间的距离,即同簇之间的聚集程 度,b(i)衡量的是样本点与不同簇样本之间的距离,即不同簇之间的分离程度, s(i)是传统轮廓系数的定义,i和j均为样本,s(i)越接近于1,说明不同簇的分 离程度和同簇的聚集程度均较优。
[0062]
根据第三预置公式和第四预置公式计算得到s(i)a,其中,第三预置公式为:
[0063][0064]
第四预置公式为:
[0065][0066]
需要说明的是,本实施例中优化的轮廓系数相对传统轮廓系数做了两方面 改进。一方面是引入新意图与已知意图数据之间的距离,将b(i)扩展成b(i)a。 使得新意图与已知意图数据之间的区别更显著,并且通过自适应参数α动态调 控二者距离所占的权重,即新意图与已知意图数据区分效果越好,自适应参数 α越小。另一方面增加了两个惩罚项。
[0067]
第一轮廓系数为:
[0068][0069]
第二轮廓系数为:
[0070][0071]
其中,l(i)为带惩罚项的轮廓系数,l(i)a为扩展的带惩罚项的轮廓系数,s(i) 为传统轮廓系数的定义,s(i)a为轮廓系数,λ和γ均为超参数,k为聚类数, n为样本总数,ck为样本i所属的簇,为样本i所属新增的簇,σ和u分别 为当前聚类簇样本数的标准差和均值。
[0072]
由于在首次迭代时没有上一次迭代的簇,因此,首次迭代时通过第一轮廓 系数选取聚类数,在后续迭代时则通过第二轮廓系数选取聚类数。前者约束聚 类中每个簇的样本数尽量均衡,有利于进行聚类;后者约束聚类时新增簇的样 本数尽量少,在实际应用中有利于挖掘新的长尾意图。λ和γ分别为上述两个 惩罚项的超参数。
[0073]
步骤103、基于k-means聚类算法,根据聚类数对无标签数据进行聚类生 成聚类结果,并将聚类结果和真实标签对齐得到发现新意图的对齐标签。
[0074]
步骤104、根据聚类结果和已知意图数据训练分类器,得到分类器的伪标 签。
[0075]
步骤105、计算对齐标签和伪标签的kl散度,以更新已知意图数据。
[0076]
需要说明的是,首先,假设对齐标签与伪标签服从概率分布p和q,根据 第五公式计算对齐标签与伪标签分布的kl散度,kl散度越小意味着对齐标 签和伪标签的分布越接近,说明聚类效果越好,且新意图与已知意图的区分越 清晰,如果当前kl散度小于上一轮迭代时的kl散度,则保留当前新增标签 即更新已知意图数据,并将其作为下一轮迭代时的已知意图数据,反之则退回 上轮标签。第五预置公式为:
[0077][0078]
其中,p和q为概率分布,i和j均为样本。
[0079]
步骤106、重复执行步骤101至105,直至没有增加新意图时,输出对齐 标签。
[0080]
需要说明的是,重复执行步骤101至105,不断地迭代聚类和更新已知意 图数据,如图2所示,为迭代更新的模型框图,本实施例引入已知意图数据的 多轮迭代更新意图的训练模式,当连续几次都没有新增新意图时,则停止迭代, 并输出对齐标签,即输出发现的新意图。
[0081]
进一步地,步骤104之前包括:根据聚类标签数调整分类器标签数。
[0082]
需要说明的是,在通过聚类结果和已知意图数据训练分类器之前,要先调 整分类器标签数,具体来说,如果聚类标签数大于分类器标签数,则增加分类 器标签,反之则维持当前的分类器标签数,从而可以确保训练顺利进行。
[0083]
进一步地,步骤104包括:
[0084]
根据已知意图数据和对齐标签计算得到联合损失;
[0085]
根据联合损失更新分类器参数,得到分类器的伪标签。
[0086]
联合损失由两部分组成,第一部分是由分类器的输出与有标签的已知意图 数据的交叉熵损失,其可以确保分类器准确地对已知意图数据进行分类,第二 部分是由分类器的输出与对齐标签的交叉熵损失,使得分类器获得对新意图的 分类能力。
[0087]
进一步地,步骤103包括:
[0088]
基于k-means聚类算法,根据聚类数对无标签数据进行聚类生成聚类结 果;
[0089]
通过匈牙利算法将聚类结果和真实标签对齐得到发现新意图的对齐标签。
[0090]
进一步地,步骤101包括:
[0091]
基于bert预训练语言模型提取已知意图数据的特征向量;
[0092]
将特征向量输入分类器得到预测标签;
[0093]
计算预测标签和真实标签的交叉熵损失;
[0094]
根据交叉熵损失更新分类器参数。
[0095]
本实施例可以使用基于transformer的大规模预训练语言模型提取输入文 本的特征,例如bert,使得提取的特征向量比较全面。将获取的特征向量输 入分类器得到预测标签,再计算预测标签和真实标签计算交叉熵损失,以更新 分类器参数,为后续的迭代训练做准备。
[0096]
进一步地,步骤106之后包括:
[0097]
通过意图标签生成器将隐式的对齐标签转换为显式的意图标签。
[0098]
由于聚类得到的新意图是隐式id的形式,通常需要人工观察分析各类数 据,再给出可理解的显式标签,从而用于后续电话助理的意图识别任务和交互 设计。为了节省人力和时间成本,本实施例可以通过意图标签生成器将隐式的 对齐标签自动生成显式意图标签。意图标签生成的具体步骤如下:
[0099]
1、对各类输入文本进行句法依存分析,提取句子中的动宾关系,组成“动 词-名词”的初步意图标签。
[0100]
2、统计各类中初步意图标签的频率,选取高频意图标签作为这一类的最 终意图标签(intent labels)。特别的,在无高频“动词-名词”标签,即缺失动词 或名词的情况下,取高频名词或动词作为这一类别的最终意图标签。
[0101]
本实施例先根据已知意图数据对分类器进行预训练,再通过优化后的轮廓 系数选取聚类数,聚类效果较好,将已知意图数据和无标签数据结合训练分类 器的模式,迭代时将上一轮的已知意图数据作为监督信号,不断地更新已知意 图数据,直至没有增加新意图时,停止迭代,并输出发现新意图的对齐标签, 充分利用了已知意图数据,增强了分类、聚类过程之间的信息交流,更有利于 指导聚类过程并准确充分地发现新意图,从而解决了现有技术没有充分利用已 知意图的数据,没有考虑新增意图和已知意图的区别,导致聚类效果不佳,难 以准确充分地发现新意图的技术问题。
[0102]
以上为本技术提供的一种基于聚类的新意图发现方法的实施例的详细说 明,下面为本技术提供的一种基于聚类的新意图发现装置的实施例的详细说 明,下文描述的一种基于聚类的新意图发现装置与上文描述的一种基于聚类的 新意图发现方法可相互对应参照。
[0103]
请参阅图3,本技术实施例提供了一种基于聚类的新意图发现装置,包括:
[0104]
预处理单元201,用于根据已知意图数据对分类器进行预训练。
[0105]
选取单元202,用于根据预置轮廓系数选取聚类数。
[0106]
聚类单元203,用于基于k-means聚类算法,根据聚类数对无标签数据进 行聚类生成聚类结果,并将聚类结果和真实标签对齐得到发现新意图的对齐标 签。
[0107]
训练单元204,用于根据聚类结果和所述已知意图数据训练所述分类器, 得到分类器的伪标签。
[0108]
计算单元205,用于计算对齐标签和伪标签的kl散度,以更新已知意图 数据。
[0109]
输出单元206,用于没有增加新意图时,输出对齐标签。
[0110]
进一步地,选取单元202具体用于:
[0111]
根据第一轮廓系数和/或第二轮廓系数选取聚类数。
[0112]
第一轮廓系数为:
[0113][0114]
第二轮廓系数为:
[0115][0116]
其中,l(i)为带惩罚项的轮廓系数,l(i)a为扩展的带惩罚项的轮廓系数,s(i) 为传统轮廓系数的定义,s(i)a为轮廓系数,λ和γ均为超参数,k为聚类数, n为样本总数,ck为样本i所属的簇,为样本i所属新增的簇,σ和u分别 为当前聚类簇样本数的标准差和均值。
[0117]
进一步地,还包括调整单元,用于根据聚类标签数调整分类器标签数。
[0118]
进一步地,训练单元204包括:
[0119]
第一计算子单元,用于根据已知意图数据和对齐标签计算得到联合损失。
[0120]
第一更新子单元,用于根据联合损失更新分类器参数,得到分类器的伪标 签。
[0121]
进一步地,聚类单元203包括:
[0122]
聚类子单元,用于基于k-means聚类算法,根据所述聚类数对无标签数据 进行聚类生成聚类结果。
[0123]
对齐子单元,用于通过匈牙利算法将所述聚类结果和真实标签对齐得到发 现新意图的对齐标签。
[0124]
进一步地,预处理单元201包括:
[0125]
提取子单元,用于基于bert预训练语言模型提取已知意图数据的特征向 量。
[0126]
输入子单元,用于将特征向量输入分类器得到预测标签。
[0127]
第二计算子单元,用于计算预测标签和真实标签的交叉熵损失。
[0128]
第二更新子单元,用于根据交叉熵损失更新分类器参数。
[0129]
进一步地,还包括转换单元,用于通过意图标签生成器将隐式的对齐标签 转换为显式的意图标签。
[0130]
图4示例了一种电子设备的实体结构示意图。如图4所示,本发明还提供 一种电子设备,可以包括:处理器(processor)310、通信接口(communication
ꢀꢀ
interface)320、存储器(memory)330和通信总线340,其中,处理器310, 通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310 可以调用存储器330中的计算机程序,以执行一种基于聚类的新意图发现方法 的步骤,例如包括:
[0131]
根据已知意图数据对分类器进行预训练;
[0132]
根据预置轮廓系数选取聚类数;
[0133]
基于k-means聚类算法,根据聚类数对无标签数据进行聚类生成聚类结 果,并将聚类结果和真实标签对齐得到发现新意图的对齐标签;
[0134]
根据聚类结果和已知意图数据训练分类器,得到分类器的伪标签;
[0135]
计算对齐标签和伪标签的kl散度,以更新已知意图数据;
[0136]
重复执行以上步骤,直至没有增加新意图时,输出对齐标签。
[0137]
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现 并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。 基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分 或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存 储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计 算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步 骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,random access memory)、磁碟或者光盘 等各种可以存储程序代码的介质。
[0138]
另一方面,本技术实施例还提供一种计算机可读存储介质,处理器可读存 储介质存储有计算机程序,计算机程序用于使处理器执行上述各实施例提供的 方法的步骤,例如包括:
[0139]
根据已知意图数据对分类器进行预训练;
[0140]
根据预置轮廓系数选取聚类数;
[0141]
基于k-means聚类算法,根据聚类数对无标签数据进行聚类生成聚类结 果,并将聚类结果和真实标签对齐得到发现新意图的对齐标签;
[0142]
根据聚类结果和已知意图数据训练分类器,得到分类器的伪标签;
[0143]
计算对齐标签和伪标签的kl散度,以更新已知意图数据;
[0144]
重复执行以上步骤,直至没有增加新意图时,输出对齐标签。
[0145]
所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据 存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo) 等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例 如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘 (ssd))等。
[0146]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的 单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也 可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。 可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目 的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0147]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施 方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。 基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以 以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介 质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行
各个实施例或者实施例 的某些部分所述的方法。
[0148]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限 制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员 应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其 中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的 本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1