基于对抗训练的对比学习层次编码文本聚类方法及系统技术方案

技术编号:34149296 阅读:19 留言:0更新日期:2022-07-14 19:44
本发明专利技术涉及自然语言处理技术领域,具体而言,涉及基于对抗训练的对比学习层次编码文本聚类方法及系统。步骤如下:利用对比学习模型作为编码器,将一批训练集输入编码器中进行重构学习;在编码器的训练过程中加入对抗训练,根据损失函数指导编码器的训练;利用Infomap算法对编码器所输出的文本向量进行聚类。本发明专利技术基于对比学习+对抗训练得到的较优的文本向量表示,采用Infomap算法对构造的无向图进行聚类,能够实现较优的聚类效果。能够实现较优的聚类效果。能够实现较优的聚类效果。

【技术实现步骤摘要】
基于对抗训练的对比学习层次编码文本聚类方法及系统


[0001]本专利技术涉及自然语言处理
,具体而言,涉及基于对抗训练的对比学习层次编码文本聚类方法及系统。

技术介绍

[0002]在当前的智能对话系统中,无论是闲聊性对话还是任务型对话系统,都需要人工对海量的样本进行标注用以确定每个样本的意图,然后用深度学习模型来对其进行意图识别训练。然而上述方法至少存在以下缺陷:(1)上至几千万的数据集标注会耗费非常大的人力资源;(2)人工标注会出现标注错误的情况,一旦有标注错误,一方面对于模型训练带来效果的不确定性,一方面还会导致返工检查样本错误的情况,进一步加剧了人工的浪费。

技术实现思路

[0003]本专利技术的目的在于提供基于对抗训练的对比学习层次编码文本聚类方法及系统,通过对比学习和对抗训练得到较优的文本向量表示,再通过向量表示构建无向图,通过Infomap算法对无向图进行聚类,可以实现海量无标注文本中相似样本的聚类,使得相同意图的样本能够分为一个簇,发现每个簇的意图,旨在解决
技术介绍
中所指出的问题。
[0004]本专利技术的实施例通过以下技术方案实现:基于对抗训练的对比学习层次编码文本聚类方法,包括如下步骤:S1.利用对比学习模型作为编码器,将一批训练集输入编码器中进行重构学习;S2.在编码器的训练过程中加入对抗训练,根据损失函数指导编码器的训练;S3.利用Infomap算法对编码器所输出的文本向量进行聚类。
[0005]根据一种优选实施方式,所述编码器采用Bert、roberta、tiny_bert或者bert_wwm其中之一。
[0006]根据一种优选实施方式,若所述编码器采用Bert,则编码器所输出的文本向量经过一个多层感知机MLP,进行降维。
[0007]根据一种优选实施方式,所述训练集采用无标注相似句。
[0008]根据一种优选实施方式,所述对抗训练采用FGM、PGD或者FreeLB其中之一。
[0009]根据一种优选实施方式,所述对抗训练采用FGM,步骤S2具体包括:对训练集加入扰动项,使用梯度下降法优化训练集的损失函数,并对模型的参数权重进行更新,不断迭代上述步骤完成编码器的训练,表达式如下:上式中,D表示训练集,x表示输入,y表示标签,θ表示模型参数,Loss表示训练样本的损失,Δx表示扰动项,Ω表示扰动空间。
[0010]根据一种优选实施方式,所述扰动项Δx的表达式如下:
上式中,ε表示超参数,表示Loss对x的梯度,表示梯度的模长。
[0011]根据一种优选实施方式,步骤S3具体包括:以一个文本向量表示一个节点,通过计算节点之间的余弦相似度,构建文本表示的无向图;以节点之间的相似度作为随机游走的概率,在无向图上进行随机游走,根据随机游走的概率直接构建huffman编码;根据huffman编码为每个节点进行编码,根据huffman编码为每个簇进行编码;使用贪心算法分别计算节点与簇的最短平均编码长度,完成聚类。
[0012]本专利技术还提供基于对抗训练的对比学习层次编码文本聚类系统,应用到如上述所述的方法,包括:对比学习模块,用于利用对比学习模型作为编码器,将一批训练集输入编码器中进行重构学习;对抗训练模块,用于在编码器的训练过程中加入对抗训练,根据损失函数指导编码器的训练;层次编码聚类模块,用于利用Infomap算法对编码器所输出的文本向量进行聚类。
[0013]本专利技术实施例的技术方案至少具有如下优点和有益效果:(1)本专利技术所提供的方法及系统,使用对比学习+对抗训练能够得到较优的文本向量表示,使得样本能够尽量均匀分布在超球平面上;(2)基于对比学习+对抗训练得到的较优的文本向量表示,采用Infomap算法对构造的无向图进行聚类,能够实现较优的聚类效果;(3)无需提前确定簇的个数,可减少不同样本量、类别数的不确定性带来的额外手动调试参数的工作量;(4)在无需人工标注的前提下就能够自动对样本进行聚类,标注人员可根据聚类结果进行数据的批量标注,节省了工作量;(5)本专利技术所提供的方法及系统还可用于判断现有语句样本中的badcase以及评判语义粒度的粗细情况。
附图说明
[0014]图1为本专利技术实施例1提供的基于对抗训练的对比学习层次编码文本聚类方法的流程示意图;图2为本专利技术实施例1提供的模型框架图。
具体实施方式
[0015]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。
[0016]实施例1经申请人研究发现,传统采用人工标注以确定每个样本意图的方法,至少存在以下缺点:(1)上至几千万的数据集标注会耗费非常大的人力资源;(2)人工标注会出现标注错误的情况,一旦有标注错误,一方面对于模型训练带来效果的不确定性,一方面还会导致
返工检查样本错误的情况,进一步加剧了人工的浪费。
[0017]因此,本专利技术实施例提供基于对抗训练的对比学习层次编码文本聚类方法,通过对比学习和对抗训练得到较优的文本向量表示,再通过向量表示构建无向图,通过Infomap算法对无向图进行聚类,可以实现海量无标注文本中相似样本的聚类,使得相同意图的样本能够分为一个簇,发现每个簇的意图。具体方案如下:参考图1,基于对抗训练的对比学习层次编码文本聚类方法,主要包括两个步骤,文本向量表示步骤以及Infomap聚类步骤,以下进行详细说明。
[0018]考虑到Infomap在做聚类时没有好的文本向量表示,无法实现较优的聚类效果,而现有对比学习向量表示不足够,没有尽可能均匀地分布在超球平面上,因此很少会用于聚类。
[0019]基于此,在本专利技术实施例的一种实施方式中,文本向量表示步骤包括:参考图2,利用Bert框架的对比学习模型作为编码器,将一批训练集输入编码器中进行重构学习,本实施例的训练集采用无标注相似句。需要说明的是,本申请上述的编码器即基于Bert中自监督的部门来实现,以下对Bert的原理进行具体介绍:对输入进行数据增强,构造正样本,数据增强方式包括但不限于同义词替换、句子截断、反向翻译、增加标点符号、删除不重要的单词和语序重排其中的一种。需要说明的是,通过加入同义词替换,使得模型能够提高同义词相似度的分数,更进一步提高模型的文本匹配能力。
[0020]进一步地,进行自监督的对比学习,具体如下:将和正样本输入编码器进行拟合训练,得到两个表示向量和作为正例对,随机采样批内另一个输入作为的负例;进一步地采用余弦相似度分别计算表示向量与批内其他向量的相似度,以计算所得余弦相似度作为匹配分数对候选文本进行排序,通过softmax函数以及交叉熵计算模型的最终损失函数,所得到的最终损失函数表示为:上式中,表示指标,仅当i = j时等于1,表示批内句子总数,表示温度超参,表示余弦相似度,表示余弦相似度,表示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于对抗训练的对比学习层次编码文本聚类方法,其特征在于,包括如下步骤:S1.利用对比学习模型作为编码器,将一批训练集输入编码器中进行重构学习;S2.在编码器的训练过程中加入对抗训练,根据损失函数指导编码器的训练;S3.利用Infomap算法对编码器所输出的文本向量进行聚类。2.如权利要求1所述的基于对抗训练的对比学习层次编码文本聚类方法,其特征在于,所述编码器采用Bert、roberta、tiny_bert或者bert_wwm其中之一。3.如权利要求2所述的基于对抗训练的对比学习层次编码文本聚类方法,其特征在于,若所述编码器采用Bert,则编码器所输出的文本向量经过一个多层感知机MLP,进行降维。4.如权利要求1所述的基于对抗训练的对比学习层次编码文本聚类方法,其特征在于,所述训练集采用无标注相似句。5.如权利要求1所述的基于对抗训练的对比学习层次编码文本聚类方法,其特征在于,所述对抗训练采用FGM、PGD或者FreeLB其中之一。6.如权利要求1所述的基于对抗训练的对比学习层次编码文本聚类方法,其特征在于,所述对抗训练采用FGM,步骤S2具体包括:对训练集加入扰动项,使用梯度下降法优化训练集的损失函数,并对模型的参数权重进行更新,不断迭代上述步骤完成编码器的训练,表达式如...

【专利技术属性】
技术研发人员:郭湘江岭黄鹏郭涛
申请(专利权)人:成都晓多科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1