System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及文本分类算法,具体为一种基于transformer的半监督文本分类算法。
技术介绍
1、transformer结构是goog l e在2017年的attent i on i s a l l you need论文中提出,其核心是attent i on机制,包括encoder和decoder两个部分,transformer结构解决了传统算法的两大难题:难以并行计算以及长距离依赖难以捕捉,在很多序列数据上,如文本、音频以及视频数据上都取得了很好的效果,由于其出色的性能,在很多任务上都得到了应用,比如文本分类算法,另外,最近很火的生成式ai也发展自transformer结构。
2、根据训练数据集中是否带有标签,将机器学习算法分为两类:监督学习和非监督学习。监督学习就是在带有标签的训练数据中学习模型,然后对某个给定的新数据利用模型预测它的标签,监督学习任务主要包括分类和回归两种类型,分类算法的输出标签是离散的,而回归算法的输出标签是连续的。常见的监督学习算法包括最近邻、朴素贝叶斯、svm、决策树、随机森林、逻辑回归、线性回归等。非监督学习特点是模型学习的数据没有标签,因此无监督学习的目标是通过对这些无标签样本的学习来揭示数据的内在特性及规律,典型算法包括聚类算法、降维算法等。
3、监督学习算法中,需要标签数据,实际生活中,因为隐私以及数据本身的一些原因,如高危实验的实验数据,标签数量是很少的,而且,即使能够收集到标签数据,很多时候也需要需要耗费大量的时间和精力,这种情况下,催生了半监督学习算法,在半监
4、文本分类是一种使用计算机对文本进行自动分类标记的过程,它将文本按照一定的分类体系分配到预定的类别中,文本分类的过程包括特征选择、模型训练、分类结果的评价与反馈。文本分类应用场景很多,包括情感分析、主题分类、问答任务、意图识别和自然语言推理等。常见的文本特征表示方法包括词袋模型、n-gram、tf-idf、word2ve等,分类模型可以选择概率图模型、k近邻、朴素贝叶斯或深度学习模型,其中基于attent i on的transformer模型在现阶段深度学习模型中效果最好,应用最广。
5、基于transformer的文本分类算法效果虽然最好,但是却需要大量的标注数据,导致其应用受到了极大的限制,为此本专利技术提出了一种基于transformer的半监督的文本分类算法。
技术实现思路
1、本专利技术的目的在于提供一种基于transformer的半监督文本分类算法,利用置信度以及随机化技术,只需要在小部分标注数据的基础上,就能接近原先需要大量标注数据的分类效果,从而大幅提高了文本分类的效率。
2、为解决上述技术问题,本专利技术提供的一种基于transformer的半监督文本分类算法,包括以下步骤:
3、步骤1:数据预处理;
4、对收集的文本数据进行预处理,包括数据清洗以及文本正则化;
5、步骤2:数据划分;将预处理后的语料分为训练集、测试集、验证集;
6、步骤3:transformer模型训练;
7、模型主体框架借用bert模型架构,对模型架构做了微调,第一次的模型训练只选用标注训练集其中的1份,剩余n-1份用作后续随机化过程;
8、步骤4:打标:
9、利用上述训练出的transformer模型对未标注训练集进行打标,得到大量自动标注后的语料,输出结果中包含所有类别以及对应类别的分类概率;
10、步骤5:置信度筛选;
11、对自动标注后的语料训练模型引入置信度筛选;
12、步骤6:随机化;
13、在置信标注语料中随机选取1%剔除,同时加入1份之前训练过程中未使用的标注语料,剔除的语料不包含少样本类别语料;
14、步骤7:模型训练;
15、继续迭代模型;
16、步骤8:模型评估;
17、利用验证集进行模型评估,此外增加训练集验证,前期选用迭代测试集评估模型效果,后期同时选用迭代测试集以及终评测试集,最后结束模型迭代。
18、进一步地,所述步骤2中,训练集又分为标注训练集与未标注训练集,标注训练集划分为n份,用于后期随机化测试集分为迭代测试集和终评测试集。
19、进一步地,所述s3具体为:
20、步骤3-1:语料初始化,将步骤1中预处理后的语料送到模型输入部分做初始化,包括word2vec以及加入词位置信息,拼接后进入encoder模块,且没有做传统的中文分词操作;
21、步骤3-2:编码器阶段,经过mu l t i-head attent i on以及前向神经网络,重复n次,输出到解码器;
22、步骤3-3:解码器阶段,经过mu l t i-head attent i on以及前向神经网络,重复n次,随后经过l i near以及softmax模块,输出预测结果;
23、步骤3-4:更新模型权重,将预测值与真实值做比较,采用交叉熵作为损失函数,利用反向梯度下降算法,更新模型权重。
24、进一步地,所述步骤3-4具体为:通过计算当前点在损失函数的梯度,然后将权值参数按照梯度方向的反方向进行更新,从而找到全局的最小值;
25、梯度的计算方式按照分别求损失函数在各个权值参数方向上的的偏导数,然后通过反向传播分别更新权值参数的值。
26、进一步地,所述步骤4具体为:
27、步骤4-1:改造transformer网络结构,在输出层之前添加一层激活函数层,选用softmax函数,用来将分类结果转换为概率,同时做概率归一化;
28、步骤4-2:代码实现过程中,将只输出最大类别改为输出所有类别以及每个类别对应的概率,其中原始文本、分类结果以及对应概率均用tab分隔。
29、进一步地,所述步骤5具体为:
30、步骤5-1:置信度排序,按照分类结果的所有类别对应概率进行降序排序;
31、步骤5-2:置信度筛选,分为两个策略,一种是最大阈值筛选策略,一种是概率比率筛选策略;
32、最大阈值筛选策略通过预设一个经验阈值,凡是分类概率大于该预设经验阈值的,均选出作为候选模型训练语料;
33、概率比率筛选策略根据每个类别的概率分配对应的筛选概率,筛选后进入后续模型训练语料;
34、概率比率筛选策略在多次迭代过程中,有一定概率将相同的文本分类为不同的类别;
35、在最大阈值筛选策略中,出现样本最大的分类概率也无没有达到预设经验阈值的情况时,需要直接丢弃该样本或者人工标注该样本;
36、步骤5-3:将所有置信度筛选后的本文档来自技高网...
【技术保护点】
1.一种基于Transformer的半监督文本分类算法,其特征在于,包括以下步骤:
2.如权利要求1所述的基于Transformer的半监督文本分类算法,其特征在于:所述步骤2中,训练集又分为标注训练集与未标注训练集,标注训练集划分为N份,用于后期随机化测试集分为迭代测试集和终评测试集。
3.如权利要求1所述的基于Transformer的半监督文本分类算法,其特征在于:所述S3具体为:
4.如权利要求3所述的基于Transformer的半监督文本分类算法,其特征在于:所述步骤3-4具体为:通过计算当前点在损失函数的梯度,然后将权值参数按照梯度方向的反方向进行更新,从而找到全局的最小值;
5.如权利要求X所述的基于Transformer的半监督文本分类算法,其特征在于:所述步骤4具体为:
6.如权利要求1所述的基于Transformer的半监督文本分类算法,其特征在于:所述步骤5具体为:
【技术特征摘要】
1.一种基于transformer的半监督文本分类算法,其特征在于,包括以下步骤:
2.如权利要求1所述的基于transformer的半监督文本分类算法,其特征在于:所述步骤2中,训练集又分为标注训练集与未标注训练集,标注训练集划分为n份,用于后期随机化测试集分为迭代测试集和终评测试集。
3.如权利要求1所述的基于transformer的半监督文本分类算法,其特征在于:所述s3具体为:
4...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。