CN115130538A - 文本分类模型的训练方法、文本处理的方法、设备及介质 - Google Patents
文本分类模型的训练方法、文本处理的方法、设备及介质 Download PDFInfo
- Publication number
- CN115130538A CN115130538A CN202210417059.5A CN202210417059A CN115130538A CN 115130538 A CN115130538 A CN 115130538A CN 202210417059 A CN202210417059 A CN 202210417059A CN 115130538 A CN115130538 A CN 115130538A
- Authority
- CN
- China
- Prior art keywords
- sample
- classification model
- text classification
- sentence
- text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013145 classification model Methods 0.000 title claims abstract description 516
- 238000012549 training Methods 0.000 title claims abstract description 182
- 238000000034 method Methods 0.000 title claims abstract description 149
- 238000003672 processing method Methods 0.000 title abstract description 7
- 238000001914 filtration Methods 0.000 claims abstract description 64
- 239000013598 vector Substances 0.000 claims description 285
- 238000012545 processing Methods 0.000 claims description 113
- 238000004364 calculation method Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 48
- 238000006243 chemical reaction Methods 0.000 claims description 38
- 238000012216 screening Methods 0.000 claims description 35
- 230000002441 reversible effect Effects 0.000 claims description 15
- 238000013519 translation Methods 0.000 claims description 15
- 230000015654 memory Effects 0.000 claims description 14
- 238000002347 injection Methods 0.000 claims description 13
- 239000007924 injection Substances 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 7
- 239000000523 sample Substances 0.000 description 1107
- 230000006870 function Effects 0.000 description 39
- 238000013527 convolutional neural network Methods 0.000 description 27
- 230000008451 emotion Effects 0.000 description 18
- 238000013473 artificial intelligence Methods 0.000 description 14
- 230000014616 translation Effects 0.000 description 14
- 238000009825 accumulation Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 12
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 238000002372 labelling Methods 0.000 description 8
- 230000007787 long-term memory Effects 0.000 description 8
- 238000003058 natural language processing Methods 0.000 description 8
- 230000007935 neutral effect Effects 0.000 description 8
- 230000000717 retained effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000007789 sealing Methods 0.000 description 4
- 238000010923 batch production Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 229910000078 germane Inorganic materials 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种文本分类模型的训练方法、文本处理的方法、设备及介质,用于减少错误标注样本。该方法包括:获取与目标场景对应的多个批次样本集,将样本句输入至第一文本分类模型,输出样本句对应的M个第一文本类别概率,将样本句输入至第二文本分类模型,输出样本句对应的M个第二文本类别概率,基于M个第一文本类别概率对每个批次样本集进行噪声样本过滤,得到第一干净样本集,基于M个第二文本类别概率对每个批次样本集进行噪声样本过滤,得到第二干净样本集,基于第二干净样本集对第一文本分类模型进行参数调整,得到第一目标文本分类模型,基于第一干净样本集对第二文本分类模型进行参数调整,得到第二目标文本分类模型。
Description
技术领域
本申请实施例涉及自然语言处理技术领域,尤其涉及一种文本分类模型的训练方法、文本处理的方法、设备及介质。
背景技术
随着信息技术地快速发展,深度学习方法在文本分类领域中引起了广泛的研究兴趣。而传统的基于深度学习的文本分类方法,对于数据集的规模和质量都有很高的要求。
由于许多数据集在标注过程中往往会出现很多错误,导致数据集中存在许多标注错误的噪声样本,而深度学习模型因为其巨大的参数量,非常容易记住数据集中的噪声样本,因此,在数据集中存在明显错误标注的情况下,如何避免模型记忆噪声样本是一个重要挑战。
而目前比较常用的方法是通过使用噪声转移矩阵来在训练过程中模拟数据集中出现噪声的情况,先对分类模型进行训练,然后再同时对噪声转移矩阵和分类模型进行同时训练,然后再单独训练分类模型,通过重复几次的交替训练后,才能使得分类模型得以获得在干净数据集上分类样本的能力,但是交替训练使其需要更多于传统模型的训练时间,且如果文本分类的类别越多,噪声转移矩阵的学习难度就会越高,从而导致时间成本升高以及训练成本升高。
发明内容
本申请实施例提供了一种文本分类模型的训练方法、文本处理的方法、设备及介质,用于基于第一干净样本集对第二文本分类模型进行优化以及基于第二干净样本集对第一文本分类模型进行优化,不仅能够避免第一文本分类模型以及第二文本分类模型在训练的过程陷入自我封闭,减少噪声样本在筛选过程中造成错误的累积,还能够通过对具有不同的模型架构的两种分类模型进行协同学习,获得在干净数据集上分类样本的能力,减少了训练时间,从而可以降低时间成本和训练成本。
本申请实施例一方面提供了一种文本分类模型的训练方法,包括:
从原始样本数据集中获取与目标场景对应的多个批次样本集,其中,每个批次样本集包括N个样本句,N为大于等于1的整数;
针对于N个样本句的每个样本句,将样本句输入至第一文本分类模型,通过第一文本分类模型输出样本句对应的M个第一文本类别概率,其中,M为大于等于1的整数;
针对于N个样本句的每个样本句,将样本句输入至第二文本分类模型,通过第二文本分类模型输出样本句对应的M个第二文本类别概率,其中,第二文本分类模型与第一文本分类模型互为异构模型;
基于M个第一文本类别概率,对每个批次样本集进行噪声样本过滤,得到第一干净样本集;
基于M个第二文本类别概率,对每个批次样本集进行噪声样本过滤,得到第二干净样本集;
基于第二干净样本集对第一文本分类模型进行参数调整,得到第一目标文本分类模型;
基于第一干净样本集对第二文本分类模型进行参数调整,得到第二目标文本分类模型。
本申请另一方面提供了一种文本分类模型的训练装置,包括:
获取单元,用于从原始样本数据集中获取与目标场景对应的多个批次样本集,其中,每个批次样本集包括N个样本句,N为大于等于1的整数;
处理单元,用于针对于N个样本句的每个样本句,将样本句输入至第一文本分类模型,通过第一文本分类模型输出样本句对应的M个第一文本类别概率,其中,M为大于等于1的整数;
处理单元,还用于根据样本句对应的M个第一文本类别概率以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第一损失值;
确定单元,用于根据N个第一损失值对每个批次样本集进行噪声样本过滤,得到第一干净样本集;
处理单元,还用于针对于N个样本句的每个样本句,将样本句输入至第二文本分类模型,通过第二文本分类模型输出样本句对应的M个第二文本类别概率;
处理单元,还用于根据样本句对应的M个第二文本类别概率以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第二损失值;
确定单元,还用于根据N个第二损失值对每个批次样本集进行噪声样本过滤,得到第二干净样本集,其中,K为大于等于1的整数;
处理单元,还用于根据第二干净样本集、第二干净样本集中的样本句所对应的M个第一文本类别概率以及第二干净样本集中的样本句个数对第一文本分类模型进行参数调整,得到第一目标文本分类模型;
处理单元,还用于根据第一干净样本集、第一干净样本集中的样本句所对应的M个第二文本类别概率以及第一干净样本集中的样本句个数对第二文本分类模型进行参数调整,得到第二目标文本分类模型。
在一种可能的设计中,本申请实施例另一方面的一种实现方式中,确定单元具体可以用于:
根据样本句对应的M个第一文本类别概率以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第一损失值;
根据N个第一损失值对每个批次样本集进行噪声样本过滤,得到第一干净样本集;
基于M个第二文本类别概率,对每个批次样本集进行噪声样本过滤,得到第二干净样本集,包括:
根据样本句对应的M个第二文本类别概率以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第二损失值;
根据N个第二损失值对每个批次样本集进行噪声样本过滤,得到第二干净样本集。
在一种可能的设计中,本申请实施例另一方面的一种实现方式中,
处理单元,还用于根据每个批次样本集所对应的批次数、每个批次样本集所对应的过滤率以及总批次数,计算每个批次样本集所对应的噪声样本筛选率;
确定单元具体可以用于:根据噪声样本筛选率以及N个第一损失值从小到大的顺序,确定每个批次样本集所对应的干净样本句,以获取第一干净样本集;
确定单元具体可以用于:根据噪声样本筛选率以及N个第二损失值从小到大的顺序,确定每个批次样本集所对应的干净样本句,以获取第二干净样本集。
在一种可能的设计中,本申请实施例另一方面的一种实现方式中,
处理单元,还用于将每个批次样本集进行字级编码处理,得到每个字对应的字向量编码;
处理单元具体可以用于:
将字向量编码输入至第一文本分类模型,通过第一文本分类模型对字向量编码进行句向量转化,得到每个样本句所对应的第一样本句向量;
对每个样本句所对应的第一样本句向量进行类别概率预测,得到样本句对应的M个第一文本类别概率;
处理单元具体可以用于:
将字向量编码输入至第二文本分类模型,通过第二文本分类模型对字向量编码进行句向量转化,得到每个样本句所对应的第二样本句向量;
对每个样本句所对应的第二样本句向量进行类别概率预测,得到样本句对应的M个第二文本类别概率。
在一种可能的设计中,本申请实施例另一方面的一种实现方式中,
处理单元,还用于对原始样本数据集进行数据增强处理,得到每个批次样本集分别对应的强数据增强样本集和弱数据增强样本集;
处理单元,还用于将强数据增强样本集以及弱数据增强样本集分别进行字级编码处理,得到每个字对应的强数据字向量编码以及弱数据字向量编码;
处理单元,还用于将强数据字向量编码以及弱数据字向量编码分别输入至第一文本分类模型,通过第一文本分类模型进行句向量转化,得到每个强数据增强样本句所对应的第一强数据增强样本句向量,以及每个弱数据增强样本句所对应的第一弱数据增强样本句向量;
处理单元,还用于将强数据字向量编码以及弱数据字向量编码分别输入至第二文本分类模型,通过第二文本分类模型进行句向量转化,得到每个强数据增强样本句所对应的第二强数据增强样本句向量,以及每个弱数据增强样本句所对应的第二弱数据增强样本句向量。
在一种可能的设计中,本申请实施例另一方面的一种实现方式中,
处理单元,还用于根据第一强数据增强样本句向量、第一弱数据增强样本句向量以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第三损失值;
处理单元,还用于根据第二强数据增强样本句向量、第二弱数据增强样本句向量以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第四损失值;
处理单元具体可以用于:根据第二干净样本集以及N个第三损失值对第一文本分类模型进行参数调整,得到第一目标文本分类模型;
处理单元具体可以用于:根据第一干净样本集以及N个第四损失值对第二文本分类模型进行参数调整,得到第二目标文本分类模型。
在一种可能的设计中,本申请实施例另一方面的一种实现方式中,
处理单元,还用于根据每个批次样本集所对应的批次数,计算每个批次样本集所对应的损失权重;
处理单元,还用于基于第一损失值、第二损失值、第三损失值、第四损失值以及损失权重进行损失计算,得到总损失值;
处理单元具体可以用于:根据第二干净样本集以及总损失值对第一文本分类模型进行参数调整,得到第一目标文本分类模型;
处理单元具体可以用于:根据第一干净样本集以及总损失值对第二文本分类模型进行参数调整,得到第二目标文本分类模型。
在一种可能的设计中,本申请实施例另一方面的一种实现方式中,处理单元具体可以用于:
对原始样本数据集进行反向翻译;
对原始样本数据集进行词汇代替;
对原始样本数据集进行随机噪声注入;
对原始样本数据集进行文字表面转换。
本申请另一方面提供了一种文本处理的方法,包括:
对待处理文本进行断句处理,得到待处理句子;
将待处理句子进行向量转化,得到待处理句向量;
将待处理句向量输入至如权利要求1至7任一项的文本分类模型中,通过文本分类模型输出待处理句向量所对应的M个类别概率,其中,文本分类模型为第一目标文本分类模型或第二目标文本分类模型,M为为大于等于1的整数;
根据M个类别概率,确定待处理句子的目标文本类别。
本申请另一方面提供了一种文本处理的装置,包括:
处理单元,用于对待处理文本进行断句处理,得到待处理句子;
处理单元,还用于将待处理句子进行向量转化,得到待处理句向量;
处理单元,还用于将待处理句向量输入至上述文本分类模型中,通过文本分类模型输出待处理句向量所对应的M个类别概率,其中,文本分类模型为第一目标文本分类模型或第二目标文本分类模型,M为为大于等于1的整数;
确定单元,用于根据M个类别概率,确定待处理句子的目标文本类别。
本申请另一方面提供了一种计算机设备,包括:存储器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序时实现如上述各方面的方法;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
从以上技术方案可以看出,本申请实施例具有以下有益效果:
通过第一文本分类模型输出样本句对应的M个第一文本类别概率,并通过与第一文本分类模型互为异构模型的第二文本分类模型输出样本句对应的M个第二文本类别概率,进而可以基于M个第一文本类别概率,对每个批次样本集进行噪声样本过滤,以获取到第一干净样本集,并基于M个第二文本类别概率,对每个批次样本集进行噪声样本过滤,以获取到第二干净样本集,然后,可以基于第二干净样本集对第一文本分类模型进行参数调整,以获取到第一目标文本分类模型,并基于第一干净样本集对第二文本分类模型进行参数调整,以获取到第二目标文本分类模型。通过上述方式,能够通过第一文本分类模型获取每个样本句对应的M个第一文本类别概率,来过滤掉样本集中可能存在批注错误的噪声样本,以获取第一干净样本集,同理,可以通过与第一文本分类模型互为异构模型的第二文本分类模型获取M个第二文本类别概率,来过滤掉样本集中可能存在批注错误的噪声样本,以获取第二干净样本集,然后,可以基于第一干净样本集对第二文本分类模型进行优化,以及基于第二干净样本集对第一文本分类模型进行优化,不仅能够避免第一文本分类模型以及与第一文本分类模型互为异构模型的第二文本分类模型在训练的过程陷入自我封闭,并能对噪声样本进行过滤,减少噪声样本在筛选过程中造成错误的累积,还能够通过对互为异构模型的两种分类模型进行协同学习,即可获得在干净数据集上分类样本的能力,无需对多个模型进行多次交替训练,减少了训练时间,从而可以降低时间成本和训练成本。
附图说明
图1是本申请实施例中文本对象控制系统的一个架构示意图;
图2是本申请实施例中文本分类模型的训练方法的一个实施例流程图;
图3是本申请实施例中文本分类模型的训练方法的另一个实施例流程图;
图4是本申请实施例中文本分类模型的训练方法的另一个实施例流程图;
图5是本申请实施例中文本分类模型的训练方法的另一个实施例流程图;
图6是本申请实施例中文本分类模型的训练方法的另一个实施例流程图;
图7是本申请实施例中文本分类模型的训练方法的另一个实施例流程图;
图8是本申请实施例中文本分类模型的训练方法的另一个实施例流程图;
图9是本申请实施例中文本分类模型的训练方法的一个原理流程示意图;
图10是本申请实施例中文本分类模型的训练方法的协同学习的一个原理流程示意图;
图11是本申请实施例中文本分类模型的训练方法的数据增强处理的一个原理流程示意图;
图12是本申请实施例中文本分类模型的训练方法的一致学习的一个原理流程示意图;
图13是本申请实施例中文本处理的方法的一个实施例流程图;
图14是本申请实施例中文本分类模型的训练装置的一个实施例示意图;
图15是本申请实施例中文本处理的装置的一个实施例示意图;
图16是本申请实施例中计算机设备的一个实施例示意图。
具体实施方式
本申请实施例提供了一种一种文本分类模型的训练方法、文本处理的方法、设备及介质,用于基于第一干净样本集对第二文本分类模型进行优化以及基于第二干净样本集对第一文本分类模型进行优化,不仅能够避免第一文本分类模型以及第二文本分类模型在训练的过程陷入自我封闭,减少噪声样本在筛选过程中造成错误的累积,还能够通过对具有不同的模型架构的两种分类模型进行协同学习,获得在干净数据集上分类样本的能力,减少了训练时间,从而可以降低时间成本和训练成本。
本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于理解,先对本申请实施例涉及到的一些术语或概念进行解释。
1、卷积神经网络(CNN)
卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,卷积神经网络具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类。
2、长短时记忆网络(Long Short-Term Memory,LSTM)
长短时记忆网络是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。在标准RNN中,这个重复的结构模块只有一个非常简单的结构,例如一个tanh层。
3、批处理(Batch)
Batch指的是一个批处理大小的数据。
4、反向翻译
反向翻译指的是将一些句子(例如中文)翻译成另一种语言的句子(例如英语),再将其翻译回中文,得到新的样本会与原始句子有一定差异,但是语义保持不变,可以用于训练。
5、强数据增强
强数据增强指的是数据增强方法得到的样本与原始样本的差异较大。
6、弱数据增强
弱数据增强指的是数据增强方法得到的样本与原始样本的差异较小。
7、鲁棒性
鲁棒性可以用来评价文本分类模型在遭受到各种干扰后如数据集的错误标注,生成文本表示的能力以及对数据集的分类能力的高低。其中,鲁棒性高意味着文本分类模型在遭受到各种干扰行为(如噪声或编码等)后,对数据集的分类能力以及生成文本表示的能力依然稳定。
随着科技的飞速发展,人工智能(artificial intelligence,AI)逐渐走入人们生活的方方面面。人工智能在文本翻译、智能问答以及情感分析等方面,都具有广泛的实践意义。人工智能的出现,也极大地方便了人们的生活。首先,对人工智能进行简单的说明。人工智能是利用数学计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能是一门综合学科,涉及的领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能的基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统和机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。在自然语言处理技术中,人工智能可以用来处理文本,并对文本中的词语进行合理的解释。本申请实施例提供的文本分类模型的训练方法以及文本处理的方法就属于自然语言处理技术领域。
自然语言处理(nature language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能够实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学和数学与一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学有些密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、指示图谱等技术。
应理解,本申请提供的文本分类模型的训练方法可以应用于人工智能、云技术、智慧交通等领域,用于通过训练文本分类模型来实现舆情发现或领域分类等场景。
可以理解的是,在本申请的具体实施方式中,涉及到训练样本以及待处理文本等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
为了解决上述问题,本申请提出了一种文本分类模型的训练方法,该方法应用于图1所示的文本对象控制系统,请参阅图1,图1为本申请实施例中文本对象控制系统的一个架构示意图,如图1所示,服务器通过获取终端设备提供的原始样本数据集,通过与第一文本分类模型互为异构模型的第二文本分类模型输出样本句对应的M个第二文本类别概率,进而可以基于M个第一文本类别概率,对每个批次样本集进行噪声样本过滤,以获取到第一干净样本集,并基于M个第二文本类别概率,对每个批次样本集进行噪声样本过滤,以获取到第二干净样本集,然后,可以基于第二干净样本集对第一文本分类模型进行参数调整,以获取到第一目标文本分类模型,并基于第一干净样本集对第二文本分类模型进行参数调整,以获取到第二目标文本分类模型。通过上述方式,能够通过第一文本分类模型获取每个样本句对应的M个第一文本类别概率,来过滤掉样本集中可能存在批注错误的噪声样本,以获取第一干净样本集,同理,可以通过与第一文本分类模型互为异构模型的第二文本分类模型获取M个第二文本类别概率,来过滤掉样本集中可能存在批注错误的噪声样本,以获取第二干净样本集,然后,可以基于第一干净样本集对第二文本分类模型进行优化,以及基于第二干净样本集对第一文本分类模型进行优化,不仅能够避免第一文本分类模型以及与第一文本分类模型互为异构模型的第二文本分类模型在训练的过程陷入自我封闭,并能对噪声样本进行过滤,减少噪声样本在筛选过程中造成错误的累积,还能够通过对互为异构模型的两种分类模型进行协同学习,即可获得在干净数据集上分类样本的能力,无需对多个模型进行多次交替训练,减少了训练时间,从而可以降低时间成本和训练成本。
可以理解的是,图1中仅示出了一种终端设备,在实际场景中可以由更多种类的终端设备参与到数据处理的过程中,终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等,具体数量和种类因实际场景而定,具体此处不做限定。另外,图1中示出了一个服务器,但在实际场景中,也可以有多个服务器的参与,特别是在多模型训练交互的场景中,服务器的数量因实际场景而定,具体此处不做限定。
需要注意的是,本实施例中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdelivery network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,终端设备以及服务器可以连接组成区块链网络,本申请在此不做限制。
为了解决上述问题,本申请提出了一种文本分类模型的训练方法,该方法一般由服务器或终端设备执行,也可以由服务器和终端设备共同执行。
下面将对本申请中文本分类模型的训练方法进行介绍,请参阅图2,本申请实施例中文本分类模型的训练方法一个实施例包括:
在步骤S101中,从原始样本数据集中获取与目标场景对应的多个批次样本集,其中,每个批次样本集包括N个样本句,N为大于等于1的整数;
在本实施例中,在实际场景中,例如,舆情发现或领域分类等多种场景中,目标对象经常对一些目标场景或目标产品产生一些评论数据,例如,对象A对于虚拟游戏B的一些评论数据,虚拟游戏B评分一般可以按照星级评分,但是评论内容的情感(正面,负面,中立)可能与实际打星不符,就会构成了评论数据集中的错误标注样本,即一个噪声样本,但是,如果采用人工进行重新标注或者审核,往往会浪费大量人力,因此,为了避免人力成本的浪费,本实施例可以对这些可能存在错误标注的原始样本数据进行批处理获取,以获取到取与目标场景对应的多个批次样本集。
其中,批处理Batch指的是一个批处理大小的数据。每个批次样本集可以包括一个或多个文本,每个文本可以包括一个或多个样本句,即N个样本句。
具体地,如图10所示,针对一个目标场景如评论虚拟游戏,在每一个训练步中,可以先从带有错误标注即噪声的原始样本数据集中挑选出一定数据量的数据(如与超参数batch_size相同),作为一个批次样本集,以获取到多个批次样本集,即一个训练步对应有一个批次样本集,可以理解的是,可以按照每个训练步的先后顺序,依次提取到第一批次样本集、第二批次样本集直至提取到第F批次样本集。
例如,从带有错误标注即噪声的原始样本数据集如中评论分类数据集挑选出到的虚拟游戏B对应的一个批次样本集,假如该批次样本集中有一个样本A,假设样本A为目标对象A对虚拟游戏B的一段评分星级为一星的评论文本,如“虚拟游戏B上市的时间比市面上的很多游戏早很多,但是游戏本身还存在很多问题,有待继续优化”,可以考虑到评论内容的情感比较中立,可能与实际评分星级不符,那么样本A就可能会构成评论分类数据集中的错误标注样本,即噪声样本。
在步骤S102中,针对于N个样本句的每个样本句,将样本句输入至第一文本分类模型,通过第一文本分类模型输出样本句对应的M个第一文本类别概率,其中,M为大于等于1的整数;
在本实施例中,在获取到多个批次样本集之后,针对于每个训练步,可以分别将每个批次样本集中的每个样本句输入至第一文本分类模型中,然后,可以通过第一文本分类模型输出每个样本句对应的M个第一文本类别概率,以使后续可以根据获取的每个样本句对应的M个第一文本类别概率计算每个样本句对应的损失值,从而可以基于损失值更好地进行噪声样本过滤。
其中,第一文本分类模型具体可以表现卷积神经网络(CNN),还可以表示为其他文本分类模型,如transformer模型等,此处不做具体限制。其中,卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,卷积神经网络具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类。卷积神经网络更关注文本的局部语义信息。
具体地,如图10所示,在训练步中,为了方便第一分类模型识别或读取样本句,从而可以在一定程度上提高文本分类模型的训练效率,具体可以是通过先将第一批次样本集中的样本句都进行字级编码处理,以获取到每个样本句所对应的字级别的向量编码,即每个字对应的字向量编码,进而,将每个样本句所对应的字向量编码输入至第一文本分类模型如卷积神经网络中,可以通过卷积神经网络对这些字向量编码进行句子编码,以获取到每个样本句所对应的第一样本句向量,然后,将第一样本句向量通过卷积神经网络的全连接层和softmax层,以计算得到卷积神经网络对样本句的预测概率,即每个样本句对应的M个第一文本类别概率,同理,在后续的每个训练步中,可以采用获取第一批次样本集中样本句对应的M个第一文本类别概率的相同方式,可以依次将第二批次样本集、第三批次样本集等样本集输入至第一文本分类模型中,以通过第一文本分类模型输出每个样本句对应的M个第一文本类别概率,此处不再赘述。其中,一个文本类别对应一个第一文本类别概率。文本类别是根据实际的应用场景设定的,例如,评论虚拟游戏的场景中的文本类别具体可以表现为正面情绪类别、负面情绪类别以及中立情绪类别等,还可以表现为其他类别,此处不作具体限制。
在步骤S103中,针对于N个样本句的每个样本句,将样本句输入至第二文本分类模型,通过第二文本分类模型输出样本句对应的M个第二文本类别概率,其中,第二文本分类模型与第一文本分类模型互为异构模型。
在本实施例中,在获取到多个批次样本集之后,针对于每个训练步,可以分别将每个批次样本集中的每个样本句输入至第二文本分类模型中,然后,可以通过第二文本分类模型输出每个样本句对应的M个第二文本类别概率,以使后续可以根据获取的每个样本句对应的M个第二文本类别概率计算每个样本句对应的损失值,从而可以基于损失值更好地进行噪声样本过滤。
其中,第二文本分类模型可以是采用与第一文本分类模型的结构差异较大的模型架构,由于不同模型架构在训练的过程中其对文本关注的重点也不相同,因此,不同的模型架构在进行分类决策时会有较大的不同,在训练的过程中,可以避免文本分类模型陷入自我封闭学习,从而减少有错误标注的噪声样本在筛选过程中造成错误的累积。其中,第二文本分类模型具体可以表现长短时记忆网络(LSTM),还可以表示为其他文本分类模型,如transformer模型等,此处不做具体限制。长短时记忆网络是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。在标准RNN中,这个重复的结构模块只有一个非常简单的结构,例如一个tanh层。
可以理解的是,在训练的每个步骤中,第一文本分类模型和第二文本分类模型会使用完全相同的数据进行训练和更新模型,以维护第一文本分类模型和第二文本分类模型的在相同数据下的学习能力,避免使用不同数据造成的干扰,使得第一文本分类模型和第二文本分类模型可以更好地进行协同学习,可以在一定程度上节约训练时间,从而可以一定程度上降低时间成本和训练成本。
具体地,如图9所示,在训练步中,为了方便第二分类模型识别或读取样本句,从而可以在一定程度上提高文本分类模型的训练效率,具体可以是通过先将第一批次样本集中的样本句都进行字级编码处理,以获取到每个样本句所对应的字级别的向量编码,即每个字对应的字向量编码,进而,将每个样本句所对应的字向量编码输入至第二文本分类模型如长短时记忆网络中,可以通过长短时记忆网络对这些字向量编码进行句子编码,以获取到每个样本句所对应的第二样本句向量,然后,将第二样本句向量通过长短时记忆网络的全连接层和softmax层,以计算得到长短时记忆网络对样本句的预测概率,即每个样本句对应的M个第二文本类别概率,同理,在后续的每个训练步中,可以采用获取第一批次样本集中样本句对应的M个第一文本类别概率的相同方式,可以依次将第二批次样本集、第三批次样本集等样本集输入至第二文本分类模型中,以通过第二文本分类模型输出每个样本句对应的M个第二文本类别概率,此处不再赘述。其中,一个文本类别对应一个第二文本类别概率。
在步骤S104中,基于M个第一文本类别概率,对每个批次样本集进行噪声样本过滤,得到第一干净样本集;
在本实施例中,在获取到M个第一文本类别概率之后,可以基于M个第一文本类别概率,对每个批次样本集进行噪声样本过滤,以获取到第一干净样本集,使得后续可以使用K个第一干净样本集对第二文本分类模型进行优化,实现基于K个第一干净样本集对第二文本分类模型的协同学习,能够避免第二文本分类模型在训练的过程陷入自我封闭,减少噪声样本在筛选过程中造成错误的累积,使得第二文本分类模型可以更快地学习到在干净样本集上分类样本的能力,以节约第二文本分类模型的训练时间,从而可以在一定程度上降低时间成本和训练成本。
具体地,在获取到M个第一文本类别概率之后,基于M个第一文本类别概率,对每个批次样本集进行噪声样本过滤,具体可以是根据样本句对应的M个第一文本类别概率以及样本句个数进行损失计算,以获取到每个批次样本集所对应的N个第一损失值,然后,可以根据N个第一损失值对每个批次样本集进行噪声样本过滤,以获取到第一干净样本集。
在步骤S105中,基于M个第二文本类别概率,对每个批次样本集进行噪声样本过滤,得到第二干净样本集;
在本实施例中,在获取到M个第二文本类别概率之后,可以基于M个第二文本类别概率,对每个批次样本集进行噪声样本过滤,以获取到第二干净样本集,使得后续可以使用第二干净样本集对第一文本分类模型进行优化,实现基于第二干净样本集对第一文本分类模型的协同学习,能够避免第一文本分类模型在训练的过程陷入自我封闭,减少噪声样本在筛选过程中造成错误的累积,使得第一文本分类模型可以更快地学习到在干净样本集上分类样本的能力,以节约第一文本分类模型的训练时间,从而可以在一定程度上降低时间成本和训练成本。
具体地,在获取到M个第二文本类别概率之后,基于M个第二文本类别概率,对每个批次样本集进行噪声样本过滤,具体可以是根据样本句对应的M个第二文本类别概率以及样本句个数进行损失计算,以获取到每个批次样本集所对应的N个第二损失值,然后,可以根据N个第二损失值对每个批次样本集进行噪声样本过滤,以获取到第二干净样本集。
在步骤S106中,基于第二干净样本集对第一文本分类模型进行参数调整,得到第一目标文本分类模型;
在本实施例中,在获取到第二干净样本集后,为能够更好地对第一文本分类模型的协同学习,可以根据第二干净样本集、第二干净样本集中的样本句所对应的M个第一文本类别概率以及第二干净样本集中的样本句个数对第一文本分类模型进行参数调整,以获取到第一目标文本分类模型,能够通过使用第二干净样本集对第一文本分类模型进行优化,实现基于第二干净样本集对第一文本分类模型的协同学习,能够避免第一文本分类模型在训练的过程陷入自我封闭,减少噪声样本在筛选过程中造成错误的累积,使得第一文本分类模型可以更快地学习到在干净样本集上分类样本的能力,以节约第一文本分类模型的训练时间,从而可以在一定程度上降低时间成本和训练成本。
具体地,如图10所示,在获取到第二干净样本集后,可以根据第二干净样本集、第二干净样本集中的样本句所对应的M个第一文本类别概率以及第二干净样本集中的样本句个数对第一文本分类模型进行参数调整,具体可以是先将第一批次样本集对应的第二干净样本集,该第二干净样本集中的样本句所对应的M个第一文本类别概率以及该第二干净样本集中的样本句个数,代入至第一文本分类模型所对应的更新损失函数的公式(1)中进行损失计算,以获取到第一批次样本集对应的第二干净样本集中每个样本句所对应的第一更新损失值,其中,第一文本分类模型所对应的更新损失函数的公式(1)如下:
其中,表示当前训练步用于训练第一文本分类模型(如CNN模型)的干净数据集合,即第一批次样本集所对应的第二干净样本集,C表示当前训练步用于训练第一文本分类模型的干净数据集合的样本总数,即第二干净样本集的样本句个数,M表示所有的文本类别{1,2,…,M},PiM表示对于第一文本分类模型第i个样本句属于文本类别M的概率,即第一文本类别概率,yiM∈{0,1}可以理解为,如果第i个样本句的文本类别属于M类,则yiM的值为1,否则为0。
进一步地,在获取到第一批次样本集所对应的第二干净样本集的第一更新损失值后,可以对第一文本分类模型进行参数调整操作,具体可以是采用反向梯度下降算法,对CNN模型中的模型参数进行更新,直至收敛,可以得到第一中间文本分类模型。
进一步地,在后续的每个训练步中,可以采用第一批次样本集所对应的第二干净样本集对第一文本分类模型进行参数调整的相同方式,可以依次获取第二批次样本集、第三批次样本集等样本集的对应的第二干净样本集,来对上一个训练步更新得到的第一中间文本分类模型进行模型参数的更新,此处不再赘述,直至收敛,以获取到第一目标文本分类模型。
在步骤S107中,基于第一干净样本集对第二文本分类模型进行参数调整,得到第二目标文本分类模型。
在本实施例中,在获取到第一干净样本集后,为能够更好地对第二文本分类模型的协同学习,可以根据第一干净样本集、第一干净样本集中的样本句所对应的M个第二文本类别概率以及第一干净样本集中的样本句个数对第二文本分类模型进行参数调整,以获取到第二目标文本分类模型,能够通过使用第一干净样本集对第二文本分类模型进行优化,实现基于第一干净样本集对第二文本分类模型的协同学习,能够避免第二文本分类模型在训练的过程陷入自我封闭,减少噪声样本在筛选过程中造成错误的累积,使得第二文本分类模型可以更快地学习到在干净样本集上分类样本的能力,以节约第二文本分类模型的训练时间,从而可以在一定程度上降低时间成本和训练成本。
具体地,如图10所示,在获取到第一干净样本集后,可以根据第一干净样本集、第一干净样本集中的样本句所对应的M个第二文本类别概率以及第一干净样本集中的样本句个数对第二文本分类模型进行参数调整,具体可以是先将第一批次样本集对应的第一干净样本集,该第一干净样本集中的样本句所对应的M个第二文本类别概率以及该第一干净样本集中的样本句个数,代入至第二文本分类模型所对应的更新损失函数的公式(2)中进行损失计算,以获取到第一批次样本集对应的第一干净样本集中每个样本句所对应的第二更新损失值,其中,第二文本分类模型所对应的更新损失函数的公式(2)如下:
其中,表示当前训练步用于训练第二文本分类模型((如LSTM模型))的干净数据集合,即第一批次样本集所对应的第一干净样本集,C表示当前训练步用于训练第二文本分类模型的干净数据集合的样本总数,即第一干净样本集的样本句个数,M表示所有的文本类别{1,2,…,M},PiM表示对于第二文本分类模型第i个样本句属于文本类别M的概率,即第二文本类别概率,yiM∈{0,1}可以理解为,如果第i个样本句的文本类别属于M类,则yiM的值为1,否则为0。
进一步地,在获取到第一批次样本集所对应的第一干净样本集的第二更新损失值后,可以对第二文本分类模型进行参数调整操作,具体可以是采用反向梯度下降算法,对LSTM模型中的模型参数进行更新,直至收敛,可以得到第二中间文本分类模型。
进一步地,在后续的每个训练步中,可以采用第一批次样本集所对应的第一干净样本集对第二文本分类模型进行参数调整的相同方式,可以依次获取第二批次样本集、第三批次样本集等样本集的对应的第一干净样本集,来对上一个训练步更新得到的第二中间文本分类模型进行模型参数的更新,此处不再赘述,直至收敛,以获取到第二目标文本分类模型。
需要注意的是,步骤S102和步骤S103没有必然的先后顺序,可以先执行步骤S102,也可以先执行步骤S103,还可以同时执行步骤S102和步骤S103,只要是在步骤S101之后执行即可,具体此处不做限定。
在本申请实施例中,提供了一种文本分类模型的训练方法,通过上述方式,能够通过第一文本分类模型获取每个样本句对应的M个第一文本类别概率,来过滤掉样本集中可能存在批注错误的噪声样本,以获取第一干净样本集,同理,可以通过与第一文本分类模型互为异构模型的第二文本分类模型获取M个第二文本类别概率,来过滤掉样本集中可能存在批注错误的噪声样本,以获取第二干净样本集,然后,可以基于第一干净样本集对第二文本分类模型进行优化,以及基于第二干净样本集对第一文本分类模型进行优化,不仅能够避免第一文本分类模型以及与第一文本分类模型互为异构模型的第二文本分类模型在训练的过程陷入自我封闭,并能对噪声样本进行过滤,减少噪声样本在筛选过程中造成错误的累积,还能够通过对互为异构模型的两种分类模型进行协同学习,即可获得在干净数据集上分类样本的能力,无需对多个模型进行多次交替训练,减少了训练时间,从而可以降低时间成本和训练成本。
可选地,在上述图2对应的实施例的基础上,本申请实施例提供的文本分类模型的训练方法另一个可选实施例中,如图3所示,步骤S104基于M个第一文本类别概率,对每个批次样本集进行噪声样本过滤,得到第一干净样本集,包括:步骤S301至步骤S302;步骤S105包括:步骤S303至步骤S304;
在步骤S301中,根据样本句对应的M个第一文本类别概率以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第一损失值;
在本实施例中,在获取到每个批次样本集中的每个样本句对应的M个第一文本类别概率之后,可以根据样本句对应的M个第一文本类别概率以及样本句个数进行损失计算,以获取到每个样本句所对应的损失值,即第一损失值,从而获取到每个批次样本集所对应的N个第一损失值,使得后续可以基于N个第一损失值更好地进行噪声样本过滤,以获取到干净的样本集来对文本分类模型进行优化,从而使得第一文本分类模型可以学习到在干净样本集上分类样本的能力。
具体地,如图10所示,在训练步中,在获取到第一批次样本集中的每个样本句对应的M个第一文本类别概率之后,可以通过交叉熵损失函数计算第一批次样本集中的样本句对于第一文本分类模型如卷积神经网络的损失,具体可以是将第一批次样本集中的每个样本句对应的M个第一文本类别概率以及样本句个数代入至交叉熵损失函数的公式中进行损失计算,以获取到第一批次样本集中每个样本句所对应的第一损失值,其中,交叉熵损失函数的计算公式(3)如下:
其中,B表示当前训练步用于训练第一文本分类模型的数据集合,即第一批次样本集,N表示当前训练步用于训练第一文本分类模型的数据集合的样本总数,即第一批次样本集的样本句个数,M表示所有的文本类别{1,2,…,M},PiM表示对于第一文本分类模型第i个样本句属于文本类别M的概率,即第一文本类别概率,yiM∈{0,1}可以理解为,如果第i个样本句的文本类别属于M类,则yiM的值为1,否则为0。
同理,在后续的每个训练步中,可以采用获取第一批次样本集所对应的N个第一损失值的相同方式,可以依次将第二批次样本集、第三批次样本集等样本集的样本句对应的M个第一文本类别概率以及样本句个数,代入至交叉熵损失函数的公式(3)中进行损失计算,以获取到每个批次样本集中每个样本句所对应的第一损失值,此处不再赘述。
在步骤S302中,根据N个第一损失值对每个批次样本集进行噪声样本过滤,得到第一干净样本集;
在本实施例中,在获取到每个批次样本集所对应的N个第一损失值后,可以对每个批次样本集进行噪声样本过滤,然后,可以将过滤后剩下的样本句的集合作为该批次样本集对应的第一干净样本集,以获取到K个第一干净样本集,使得后续可以使用K个第一干净样本集对第二文本分类模型进行优化,实现基于K个第一干净样本集对第二文本分类模型的协同学习,能够避免第二文本分类模型在训练的过程陷入自我封闭,减少噪声样本在筛选过程中造成错误的累积,使得第二文本分类模型可以更快地学习到在干净样本集上分类样本的能力,以节约第二文本分类模型的训练时间,从而可以在一定程度上降低时间成本和训练成本。
具体地,如图9所示,由于对于损失值较大的样本句,可以认为该样本句是较难学习的样本,即噪音样本,反之,对于损失较小的样本句,可以认为该样本句是简单样本,即干净样本,因此,在训练步中,在获取到第一批次样本集所对应的N个第一损失值后,对第一批次样本集进行噪声样本过滤,本实施例可以采用筛选低损失样本,具体可以是将第一批次样本集中的每个样本句对应的N个第一损失值分别与预设的损失阈值进行比较,然后,可以将大于或等于该损失阈值的第一损失值对应的样本句确定为噪声样本,并将这些噪声样本过滤;反之,可以将小于该损失阈值的第一损失值对应的样本句确定为干净样本,并将这些干净样本的集合作为第一批次样本集对应的第一干净样本集,还可以采用其他方式过滤噪声样本,如采用筛选率函数等,此处不作具体限制。
同理,在后续的每个训练步中,可以采用获取第一批次样本集所对应的第一干净样本集的相同方式,可以依次获取第二批次样本集、第三批次样本集等样本集的对应的第一干净样本集,此处不再赘述,以获取到K个第一干净样本集。
在步骤S303中,根据样本句对应的M个第二文本类别概率以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第二损失值;
在本实施例中,在获取到每个批次样本集中的每个样本句对应的M个第二文本类别概率之后,可以根据样本句对应的M个第二文本类别概率以及样本句个数进行损失计算,以获取到每个样本句所对应的损失值,即第二损失值,从而获取到每个批次样本集所对应的N个第二损失值,使得后续可以基于N个第二损失值更好地进行噪声样本过滤,以获取到干净的样本集来对文本分类模型进行优化,从而使得第二文本分类模型可以学习到在干净样本集上分类样本的能力。
具体地,如图10所示,在训练步中,在获取到第一批次样本集中的每个样本句对应的M个第二文本类别概率之后,可以通过交叉熵损失函数计算第一批次样本集中的样本句对于第二文本分类模型如长短时记忆网络的损失,具体可以是将第一批次样本集中的每个样本句对应的M个第二文本类别概率以及样本句个数代入至上述交叉熵损失函数的公式(3)中进行损失计算,以获取到第一批次样本集中每个样本句所对应的第二损失值。
可以理解的是,第一文本分类模型和第二文本分类模型会使用完全相同的数据进行训练,因此,在第二文本分类模型如长短时记忆网络采用的交叉熵损失函数的公式(3)中,B表示当前训练步用于训练第二文本分类模型的数据集合,即第一批次样本集,N表示当前训练步用于训练第二文本分类模型的数据集合的样本总数,即第一批次样本集的样本句个数,M表示所有的文本类别{1,2,…,M},PiM表示对于第二文本分类模型第i个样本句属于文本类别M的概率,即第二文本类别概率,yiM∈{0,1}可以理解为,如果第i个样本句的文本类别属于M类,则yiM的值为1,否则为0。
同理,在后续的每个训练步中,可以采用获取第一批次样本集所对应的N个第二损失值的相同方式,可以依次将第二批次样本集、第三批次样本集等样本集的样本句对应的M个第二文本类别概率以及样本句个数,代入至交叉熵损失函数的公式(3)中进行损失计算,以获取到每个批次样本集中每个样本句所对应的第二损失值,此处不再赘述。
在步骤S304中,根据N个第二损失值对每个批次样本集进行噪声样本过滤,得到第二干净样本集。
在本实施例中,在获取到每个批次样本集所对应的N个第二损失值后,可以对每个批次样本集进行噪声样本过滤,然后,可以将过滤后剩下的样本句的集合作为该批次样本集对应的第二干净样本集,以获取到第二干净样本集,使得后续可以使用第二干净样本集对第一文本分类模型进行优化,实现基于第二干净样本集对第一文本分类模型的协同学习,能够避免第一文本分类模型在训练的过程陷入自我封闭,减少噪声样本在筛选过程中造成错误的累积,使得第一文本分类模型可以更快地学习到在干净样本集上分类样本的能力,以节约第一文本分类模型的训练时间,从而可以在一定程度上降低时间成本和训练成本。
具体地,如图10所示,由于对于损失值较大的样本句,可以认为该样本句是较难学习的样本,即噪音样本,反之,对于损失较小的样本句,可以认为该样本句是简单样本,即干净样本,因此,在训练步中,在获取到第一批次样本集所对应的N个第二损失值后,对第一批次样本集进行噪声样本过滤,本实施例可以采用筛选低损失样本,具体可以是将第一批次样本集中的每个样本句对应的N个第二损失值分别与预设的损失阈值进行比较,然后,可以将大于或等于该损失阈值的第二损失值对应的样本句确定为噪声样本,并将这些噪声样本过滤;反之,可以将小于该损失阈值的第二损失值对应的样本句确定为干净样本,并将这些干净样本的集合作为第一批次样本集对应的第二干净样本集,还可以采用其他方式过滤噪声样本,如采用筛选率函数等,此处不作具体限制。
同理,在后续的每个训练步中,可以采用获取第一批次样本集所对应的第二干净样本集的相同方式,可以依次获取第二批次样本集、第三批次样本集等样本集的对应的第二干净样本集,此处不再赘述,以获取到第二干净样本集。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的文本分类模型的训练方法另一个可选实施例中,如图4所示,步骤S302根据N个第一损失值对每个批次样本集进行噪声样本过滤,得到第一干净样本集之前,该方法还包括:步骤S301;步骤S302包括:步骤S402;以及步骤S304包括:步骤S403;
在步骤S401中,根据每个批次样本集所对应的批次数、每个批次样本集所对应的过滤率以及总批次数,计算每个批次样本集所对应的噪声样本筛选率;
在本实施例中,在获取到每个批次样本集中的样本句所对应的N个第一损失值之前,可以根据每个批次样本集所对应的批次数、每个批次样本集所对应的过滤率以及总批次数来计算每个批次样本集所对应的噪声样本筛选率,使得后续可以通过噪声样本筛选率对每个批次样本集中的噪声样本进行筛选,以更准确地获取到干净样本组成的集合,即第一干净样本集。
其中,每个批次样本集所对应的批次数指的是当前训练步用于训练第一文本分类模型或第二文本分类模型的轮次或批次,如第一批次样本集的批次数表示为1,或第二批次样本集的批次数表示为2等。总批次数指的是用于训练第一文本分类模型或第二文本分类模型的总轮次或总批次,即总批次数与获取到的批次样本集具有对应关系,如总批次数表示为K。每个批次样本集所对应的过滤率是根据实际应用需求进行设置的,用于表示当前训练步最多要过滤的噪声样本数占总样本数的比率,在本实施例中可以将过滤率设置为0.4。
具体地,由于对于损失值较大的样本句,可以认为该样本句是较难学习的样本,即噪音样本,反之,对于损失较小的样本句,可以认为该样本句是简单样本,即干净样本,因此,在训练步中,为了能够更好地对第一批次样本集进行噪声样本过滤,本实施例可以根据每个批次样本集所对应的批次数、每个批次样本集所对应的过滤率以及总批次数,计算每个批次样本集所对应的噪声样本筛选率,具体可以是将根据当前批次样本集所对应的批次数、当前批次样本集所对应的过滤率以及总批次数,代入至噪声筛选率函数的公式(4)中进行计算,以获取到每个批次样本集所对应的噪声样本筛选率,其中,噪声筛选率函数的公式(4)如下:
其中,e表示当前模型处于第几轮训练中(e从0开始计算),r为过滤率表示当前训练步最多要过滤的噪声样本数占总样本数的比率,g表示在第g个时期(epoch)时,过滤率达到最大值。R(e)表示在第e轮训练中每个批处理batch要保留的样本数占总样本数的比率,即噪声样本筛选率。
可以理解的是,基于公式(4)的表示,在一开始的训练轮数,第一文本分类模型或第二文本分类模型都可以保留更多的样本,即一开始的保留的样本数的数值较大,然后,随着训练轮数的增加,保留的样本数的数值会变小,即被过滤掉的噪声样本会逐渐增多。
在步骤S402中,根据噪声样本筛选率以及N个第一损失值从小到大的顺序,确定每个批次样本集所对应的干净样本句,以获取第一干净样本集;
在本实施例中,在获取到每个批次样本集所对应的噪声样本筛选率以及每个批次样本集中的样本句所对应的N个第一损失值之后,可以根据噪声样本筛选率以及N个第一损失值从小到大的顺序来对每个批次样本集中的噪声样本进行过滤,然后,可以将过滤后剩下的样本句的集合作为该批次样本集对应的第一干净样本集,以获取到第一干净样本集,使得后续可以使用第一干净样本集对第二文本分类模型进行优化,实现基于第二干净样本集对第一文本分类模型的协同学习。
具体地,在训练步中,在获取到第一批次样本集所对应的噪声样本筛选率以及第一批次样本集中的样本句所对应的N个第一损失值之后,可以先对第一批次样本集中的样本句所对应的N个第一损失值进行损失大小排序。
进一步地,由于对于损失值较大的样本句,可以认为该样本句是较难学习的样本,即噪音样本,反之,对于损失较小的样本句,可以认为该样本句是简单样本,即干净样本,因此,在获取到对于第一文本分类模型如CNN模型的损失排序后,可以按照公式(5):R(e)*batch_size计算得到要保留的干净样本的个数,然后,可以从损失排序后的第一批次样本集中筛选出前R(e)*batch_size个损失较低的样本,进而,可以将保留的样本的集合作为第一批次样本集对应的第一干净样本集。
进一步地,在后续的每个训练步中,可以采用获取第一批次样本集所对应的第一干净样本集的相同方式,可以依次获取到第二批次样本集、第三批次样本集等样本集的所对应的第一干净样本集,此处不再赘述,以获取到第一干净样本集。
在步骤S403中,根据噪声样本筛选率以及N个第二损失值从小到大的顺序,确定每个批次样本集所对应的干净样本句,以获取第二干净样本集。
在本实施例中,在获取到每个批次样本集所对应的噪声样本筛选率以及每个批次样本集中的样本句所对应的N个第二损失值之后,可以根据噪声样本筛选率以及N个第二损失值从小到大的顺序来对每个批次样本集中的噪声样本进行过滤,然后,可以将过滤后剩下的样本句的集合作为该批次样本集对应的第二干净样本集,以获取到第二干净样本集,使得后续可以使用第二干净样本集对第一文本分类模型进行优化,实现基于第二干净样本集对第一文本分类模型的协同学习。
具体地,在训练步中,在获取到第一批次样本集所对应的噪声样本筛选率以及第一批次样本集中的样本句所对应的N个第二损失值之后,可以先对第一批次样本集中的样本句所对应的N个第二损失值进行损失大小排序。
进一步地,在获取到对于第二文本分类模型如LSTM模型的损失排序后,也可以按照公式(5):R(e)*batch_size计算得到要保留的干净样本的个数,然后,可以从损失排序后的第一批次样本集中筛选出前R(e)*batch_size个损失较低的样本,进而,可以将保留的样本的集合作为第一批次样本集对应的第二干净样本集。
进一步地,在后续的每个训练步中,可以采用获取第一批次样本集所对应的第二干净样本集的相同方式,可以依次获取到第二批次样本集、第三批次样本集等样本集的所对应的第二干净样本集,此处不再赘述,以获取到第二干净样本集。
需要注意的是,步骤S402和步骤S403没有必然的先后顺序,可以先执行步骤S402,也可以先执行步骤S403,还可以同时执行步骤S402和步骤S403,只要是在步骤S401之后执行即可,具体此处不做限定。
可选地,在上述图2对应的实施例的基础上,本申请实施例提供的文本分类模型的训练方法另一个可选实施例中,如图5所示,步骤S102针对于N个样本句的每个样本句,将样本句输入至第一文本分类模型,通过第一文本分类模型输出样本句对应的M个第一文本类别概率之前,该方法还包括:步骤S501;步骤S102包括:步骤S502和步骤S503;以及步骤S103包括:步骤S504和步骤S505;
在步骤S501中,将每个批次样本集进行字级编码处理,得到每个字对应的字向量编码;
在本实施例中,在将每个批次样本集中样本句输入至第一文本分类模型,通过第一文本分类模型输出样本句对应的M个第一文本类别概率之前,可以将每个批次样本集中的样本句都进行字级编码处理,以获取到每个样本句所对应的字级别的向量编码,即每个字对应的字向量编码,以便于第一分类模型识别或读取样本句,从而可以在一定程度上提高文本分类模型的训练效率,
具体地,如图10所示,在将每个批次样本集中样本句输入至第一文本分类模型,通过第一文本分类模型输出样本句对应的M个第一文本类别概率之前,可以将每个批次样本集中的样本句都进行字级编码处理,具体可以是先对每个批次样本集中的文本进行分句处理,以获取到N个样本句,然后,可以通过词嵌入层对每个样本句进行字级别的向量编码,以获取到每个样本句所对应的字级别的向量编码,即每个字对应的字向量编码。
其中,词嵌入层具体可以表现为Embedding Layer、Word2Vec(Word to Vector)或Doc2Vec(Document to Vector)等,还可以表现为其他词嵌入算法,此处不作具体限制。其中,Embedding Layer是对清理好的样本句中的字或词进行one hot编码(热编码),然后,使单个词或字在预定义的向量空间中被表示为实数向量,可以将每个单词或字都映射到一个向量。其中,向量空间的大小或维度被指定为模型的一部分,例如50、100或300维,向量以小的随机数进行初始化。Embedding Layer可以用于神经网络的前端,并采用反向传播算法进行监督。
在步骤S502中,将字向量编码输入至第一文本分类模型,通过第一文本分类模型对字向量编码进行句向量转化,得到每个样本句所对应的第一样本句向量;
在步骤S503中,对每个样本句所对应的第一样本句向量进行类别概率预测,得到样本句对应的M个第一文本类别概率;
在本实施例中,在通过词嵌入层对每个样本句进行字级别的向量编码,获取到字向量编码之后,可以将字向量编码输入至第一文本分类模型,通过第一文本分类模型对字向量编码进行句向量转化,以获取到每个样本句所对应的第一样本句向量,并通过第一文本分类模型对每个样本句所对应的第一样本句向量进行类别概率预测,以获取到样本句对应的M个第一文本类别概率,以使后续可以根据获取的每个样本句对应的M个第一文本类别概率计算每个样本句对应的损失值,从而可以基于损失值更好地进行噪声样本过滤。
具体地,如图10所示,在训练步中,可以将第一批次样本集的每个样本句所对应的字向量编码输入至第一文本分类模型如卷积神经网络CNN中,可以通过卷积神经网络的对这些字向量编码进行句子编码,具体可以是通过CNN模型中的句子编码模块,生成每个样本句对应的句子向量,即每个样本句所对应的第一样本句向量hcnn。
进一步地,在获取到每个样本句所对应的第一样本句向量hcnn之后,对每个样本句所对应的第一样本句向量进行类别概率预测,具体可以是通过将每个样本句所对应的第一样本句向量hcnn传递至CNN模型的全连接层和softmax层,以计算得到CNN模型对样本句的预测概率,即每个样本句对应的M个第一文本类别概率,同理,在后续的每个训练步中,可以采用获取第一批次样本集中样本句对应的M个第一文本类别概率的相同方式,可以依次将第二批次样本集、第三批次样本集等样本集输入至第一文本分类模型中,以通过第一文本分类模型输出每个样本句对应的M个第一文本类别概率,此处不再赘述。
在步骤S504中,将字向量编码输入至第二文本分类模型,通过第二文本分类模型对字向量编码进行句向量转化,得到每个样本句所对应的第二样本句向量;
在步骤S505中,对每个样本句所对应的第二样本句向量进行类别概率预测,得到样本句对应的M个第二文本类别概率。
在本实施例中,在通过词嵌入层对每个样本句进行字级别的向量编码,获取到字向量编码之后,可以将字向量编码输入至第二文本分类模型,通过第二文本分类模型对字向量编码进行句向量转化,以获取到每个样本句所对应的第二样本句向量,并通过第二文本分类模型对每个样本句所对应的第二样本句向量进行类别概率预测,以获取到样本句对应的M个第二文本类别概率,以使后续可以根据获取的每个样本句对应的M个第二文本类别概率计算每个样本句对应的损失值,从而可以基于损失值更好地进行噪声样本过滤。
具体地,如图10所示,在训练步中,可以将第一批次样本集的每个样本句所对应的字向量编码输入至第二文本分类模型如长短时记忆网络LSTM中,可以通过长短时记忆网络的对这些字向量编码进行句子编码,具体可以是通过LSTM模型中的句子编码模块,生成每个样本句对应的句子向量,即每个样本句所对应的第二样本句向量hlstm。
进一步地,在获取到每个样本句所对应的第二样本句向量hlstm之后,对每个样本句所对应的第二样本句向量进行类别概率预测,具体可以是通过将每个样本句所对应的第二样本句向量hlstm传递至LSTM模型的全连接层和softmax层,以计算得到LSTM模型对样本句的预测概率,即每个样本句对应的M个第二文本类别概率,同理,在后续的每个训练步中,可以采用获取第一批次样本集中样本句对应的M个第二文本类别概率的相同方式,可以依次将第二批次样本集、第三批次样本集等样本集输入至第二文本分类模型中,以通过第二文本分类模型输出每个样本句对应的M个第二文本类别概率,此处不再赘述。
需要注意的是,步骤S502至步骤S503和步骤S504至步骤S505没有必然的先后顺序,可以先执行步骤S502至步骤S503,也可以先执行步骤S504至步骤S505,还可以同时执行步骤S502至步骤S503和步骤S504至步骤S505,只要是在步骤S501之后执行即可,具体此处不做限定。
可选地,在上述图3对应的实施例的基础上,本申请实施例提供的文本分类模型的训练方法另一个可选实施例中,如图6所示,步骤S101从原始样本数据集中获取与目标场景对应的多个批次样本集之后,该方法还包括:
在步骤S601中,对原始样本数据集进行数据增强处理,得到每个批次样本集分别对应的强数据增强样本集和弱数据增强样本集;
在本实施例中,在获取到原始样本数据集后,可以对获取到的原始样本数据集进行数据增强处理,来为原始样本数据集中的每个批次样本集构建强数据增强样本集和弱数据增强样本集,不仅能够保留原始样本数据集中的每个样本句在原句语义的同时,还能够产生其他不同的文本表示,使得后续可以将强数据增强样本集和弱数据增强样本集引入到文本分类模型的训练过程中,能够通过丰富样本数据,增强文本分类模型的鲁棒性,提高文本分类模型在干净样本集上分类样本的精度,从而可以提高确定文本类别的准确性。
其中,数据增强处理具体可以表现为对获取到的原始样本数据集进行反向翻译、词汇代替、随机噪声注入或文字表面转换等一项或多项。强数据增强样本集指的是数据增强处理得到的样本与原始的批次样本集中的样本句的存在较大差异的样本集合。弱数据增强样本集指的是数据增强处理得到的样本与原始的批次样本集中的样本句的存在较小差异的样本集合。
具体地,如图9所示,在获取到原始样本数据集后,可以分别对获取到的原始样本数据集中的每个批次样本集进行反向翻译的数据增强处理操作,以获取到每个批次样本集对应的强数据增强样本集和弱数据增强样本集。
在步骤S602中,将强数据增强样本集以及弱数据增强样本集分别进行字级编码处理,得到每个字对应的强数据字向量编码以及弱数据字向量编码;
在本实施例中,由于对第一文本分类模型和第二文本分类模型进行协同学习的过程中,可能会过滤掉一定数量的标注正确的样本句,可能会导致被过滤掉的样本句中的文本信息无法重新加入到第一文本分类模型和第二文本分类模型的模型学习的过程中,因此,在获取到每个批次样本集对应的强数据增强样本集和弱数据增强样本集,可以将强数据增强样本集以及弱数据增强样本集分别进行字级编码处理,以获取到相同形式表达的每个字对应的强数据字向量编码以及弱数据字向量编码,以便于文本分类模型的识别或读取,从而可以将强数据增强样本集和弱数据增强样本集引入至文本分类模型的模型学习过程中,增强文本分类模型的鲁棒性,提高文本分类模型在干净样本集上分类样本的精度,从而可以提高确定文本类别的准确性。
具体地,如图9所示,在获取到每个批次样本集对应的强数据增强样本集和弱数据增强样本集,本实施例可以采用一致学习,将强数据增强样本集以及弱数据增强样本集分别进行字级编码处理,具体可以是采用步骤S501将每个批次样本集进行字级编码处理,得到每个字对应的字向量编码的方式相同,以获取到相同形式表达的每个字对应的强数据字向量编码以及弱数据字向量编码,使得后续可以基于有相同形式表达的每个字对应的强数据字向量编码以及弱数据字向量编码,更好地将被过滤掉的噪声样本重新引入文本分类模型的学习过程中。
在步骤S603中,将强数据字向量编码以及弱数据字向量编码分别输入至第一文本分类模型,通过第一文本分类模型进行句向量转化,得到每个强数据增强样本句所对应的第一强数据增强样本句向量,以及每个弱数据增强样本句所对应的第一弱数据增强样本句向量;
在本实施例中,在获取到每个批次样本集对应的强数据增强样本集中的样本句所对应的强数据字向量编码,以及弱数据增强样本集中的样本句所对应的弱数据字向量编码之后,可以分别将强数据字向量编码以及弱数据字向量编码输入至第一文本分类模型,通过第一文本分类模型进行句向量转化,以获取到每个强数据增强样本句所对应的第一强数据增强样本句向量,以及每个弱数据增强样本句所对应的第一弱数据增强样本句向量,以使后续能够基于每个批次样本集对应的强数据增强样本集和弱数据增强样本集对第一文本分类模型和第二文本分类模型进行协同学习。
具体地,如图12所示,在训练步中,通过对样本句X使用上述所构建的弱数据增强方法和强增强方法生成两个增强后的强数据增强样本X″i和弱数据增强样本X′i之后,然后,可以使用第一文本分类模型如CNN模型,通过第一文本分类模型进行句向量转化,以获取到每个强数据增强样本句所对应的第一强数据增强样本句向量,以及每个弱数据增强样本句所对应的第一弱数据增强样本句向量,具体可以是采用与步骤S502将字向量编码输入至第一文本分类模型,通过第一文本分类模型对字向量编码进行句向量转化,得到每个样本句所对应的第一样本句向量的方式相同,此处不再赘述,可以分别对强数据增强样本X″i和弱数据增强样本X′i生成对应的预测向量,即第一强数据增强样本句向量Z″i和第一弱数据增强样本句向量Z′i。
在步骤S604中,将强数据字向量编码以及弱数据字向量编码分别输入至第二文本分类模型,通过第二文本分类模型进行句向量转化,得到每个强数据增强样本句所对应的第二强数据增强样本句向量,以及每个弱数据增强样本句所对应的第二弱数据增强样本句向量。
在本实施例中,在获取到每个批次样本集对应的强数据增强样本集中的样本句所对应的强数据字向量编码,以及弱数据增强样本集中的样本句所对应的弱数据字向量编码之后,可以分别将强数据字向量编码以及弱数据字向量编码输入至第二文本分类模型,通过第二文本分类模型进行句向量转化,以获取到每个强数据增强样本句所对应的第二强数据增强样本句向量,以及每个弱数据增强样本句所对应的第二弱数据增强样本句向量,以使后续能够基于每个批次样本集对应的强数据增强样本集和弱数据增强样本集对第一文本分类模型和第二文本分类模型进行协同学习。
具体地,如图12所示,在训练步中,通过对样本句X使用上述所构建的弱数据增强方法和强增强方法生成两个增强后的强数据增强样本X″i和弱数据增强样本X′i之后,然后,可以使用第二文本分类模型如LSTM模型,通过第二文本分类模型进行句向量转化,以获取到每个强数据增强样本句所对应的第二强数据增强样本句向量,以及每个弱数据增强样本句所对应的第二弱数据增强样本句向量,具体可以是采用与步骤S504将字向量编码输入至第二文本分类模型,通过第二文本分类模型对字向量编码进行句向量转化,得到每个样本句所对应的第二样本句向量的方式相同,此处不再赘述,可以分别对强数据增强样本X″i和弱数据增强样本X′i生成对应的预测向量,即第二强数据增强样本句向量Z″i和第二弱数据增强样本句向量Z′i。
需要注意的是,步骤S603和步骤S604没有必然的先后顺序,可以先执行步骤S603,也可以先执行步骤S604,还可以同时执行步骤S603和步骤S604,只要是在步骤S602之后执行即可,具体此处不做限定。
可选地,在上述图6对应的实施例的基础上,本申请实施例提供的文本分类模型的训练方法另一个可选实施例中,如图7所示,在步骤S604将强数据字向量编码以及弱数据字向量编码分别输入至第二文本分类模型,通过第二文本分类模型进行句向量转化,得到每个强数据增强样本句所对应的第二强数据增强样本句向量,以及每个弱数据增强样本句所对应的第二弱数据增强样本句向量之后,该方法还包括:步骤S701和步骤S702;步骤S106包括:步骤S703;步骤S107包括:步骤S704;
在步骤S701中,根据第一强数据增强样本句向量、第一弱数据增强样本句向量以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第三损失值;
在本实施例中,在获取到第一强数据增强样本句向量Z″i和第一弱数据增强样本句向量Z′i之后,可以根据第一强数据增强样本句向量、第一弱数据增强样本句向量以及样本句个数进行损失计算,以获取到每个批次样本集所对应的N个第三损失值,使得后续可以基于获取到的每个批次样本集所对应的N个第三损失值对第一文本分类模型进行优化。
具体地,通过协同学习方法,可以将每个批次样本集划分成干净标签数据(即第一干净样本集)和噪音标签数据(噪声样本)两部分,对于噪音标签的噪声样本,在训练轮次中,可以忽略掉其标签信息,将其作为无标签样本使用,如图12所示,最终损失函数包括两个部分,第一部分是交叉熵损失,即第一文本分类模型所对应的更新损失函数的公式(2)中进行损失计算,以获取到第一批次样本集对应的第二干净样本集中每个样本句所对应的第一更新损失值,以及第二个部分损失为一致性学习损失,即根据第一强数据增强样本句向量、第一弱数据增强样本句向量以及样本句个数进行损失计算,得到的每个批次样本集所对应的N个第三损失值,具体可以是通过损失函数的公式(6)计算得到第一强数据增强样本句向量Z″i和第一弱数据增强样本句向量Z′i之间的均方差,并将该均方差使用作为第三损失值,其中,损失函数的公式(6)如下:
其中,H表示当前训练步用于训练第一文本分类模型的全部数据集合,即第一批次样本集、弱数据增强样本集和强数据增强样本集,N表示当前训练步用于训练第一文本分类模型的全部数据集合的样本句的总个数。该损失函数的意义就是对同一个样本句所对应的强数据增强样本句向量和弱数据增强样本句之间的不一致性进行惩罚。
在步骤S702中,根据第二强数据增强样本句向量、第二弱数据增强样本句向量以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第四损失值;
在本实施例中,在获取到第二强数据增强样本句向量Z″i和第二弱数据增强样本句向量Z′i之后,可以根据第二强数据增强样本句向量、第二弱数据增强样本句向量以及样本句个数进行损失计算,以获取到每个批次样本集所对应的N个第四损失值,使得后续可以基于获取到的每个批次样本集所对应的N个第四损失值对第二文本分类模型进行优化。
具体地,可以理解的是,在训练的每个步骤中,第一文本分类模型和第二文本分类模型会使用完全相同的强数据增强数据和弱数据增强数据进行训练和更新模型,以维护第一文本分类模型和第二文本分类模型的在相同数据下的学习能力,使得第一文本分类模型和第二文本分类模型可以更好地进行协同学习,因此,第二强数据增强样本句向量Z″i和第二弱数据增强样本句向量Z′i可以是与第一强数据增强样本句向量Z″i和第一弱数据增强样本句向量Z′i相同的数据,故在获取到第二强数据增强样本句向量Z″i和第二弱数据增强样本句向量Z′i之后,根据第二强数据增强样本句向量、第二弱数据增强样本句向量以及样本句个数进行损失计算,具体可以是采用与步骤S701根据第一强数据增强样本句向量、第一弱数据增强样本句向量以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第三损失值的方式相同,此处不再赘述,以获取到每个批次样本集所对应的N个第四损失值。
在步骤S703中,根据第二干净样本集以及N个第三损失值对第一文本分类模型进行参数调整,得到第一目标文本分类模型;
在本实施例中,在获取到N个第三损失值之后,可以根据第二干净样本集、第二干净样本集中的样本句所对应的M个第一文本类别概率、第二干净样本集中的样本句个数以及N个第三损失值对第一文本分类模型进行参数调整,以获取到第一目标文本分类模型,能够更好地将过滤掉的样本引入至第一文本分类模型中进行协同学习,使得第一文本分类模型可以更快更全面地学习到在干净样本集上分类样本的能力,以节约第一文本分类模型的训练时间,从而可以在一定程度上降低时间成本和训练成本。
具体地,根据第二干净样本集、第二干净样本集中的样本句所对应的M个第一文本类别概率、第二干净样本集中的样本句个数以及N个第三损失值对第一文本分类模型进行参数调整,具体可以是先将第一批次样本集对应的第二干净样本集,该第二干净样本集中的样本句所对应的M个第一文本类别概率、该第二干净样本集中的样本句个数以及N个第三损失值,代入至基于第一文本分类模型所对应的更新损失函数的公式(1)和损失函数的公式(6)组合得到的第一目标损失函数的公式(7)中进行损失计算,以获取到第一批次样本集对应的第一目标损失值,其中,第一目标损失函数的公式(7)如下:
进一步地,在获取到第一批次样本集所对应的第一目标损失值后,可以对第一文本分类模型进行参数调整操作,具体可以是采用反向梯度下降算法,对一文本分类模型(如CNN模型)中的模型参数进行更新,直至收敛,可以得到第一中间文本分类模型。
进一步地,在后续的每个训练步中,可以采用第一批次样本集所对应的第二干净样本集对第一文本分类模型进行参数调整的相同方式,可以依次获取第二批次样本集、第三批次样本集等样本集的对应的第一目标损失值,来对上一个训练步更新得到的第一中间文本分类模型进行模型参数的更新,此处不再赘述,直至收敛,以获取到第一目标文本分类模型。
在步骤S704中,根据第一干净样本集以及N个第四损失值对第二文本分类模型进行参数调整,得到第二目标文本分类模型。
根据第一干净样本集、第一干净样本集中的样本句所对应的M个第二文本类别概率、第一干净样本集中的样本句个数以及N个第四损失值对第二文本分类模型进行参数调整,得到第二目标文本分类模型。
在本实施例中,在获取到N个第四损失值之后,可以根据第一干净样本集、第一干净样本集中的样本句所对应的M个第二文本类别概率、第一干净样本集中的样本句个数以及N个第四损失值对第二文本分类模型进行参数调整,以获取到第二目标文本分类模型,能够更好地将过滤掉的样本引入至第二文本分类模型中进行协同学习,使得第二文本分类模型可以更快更全面地学习到在干净样本集上分类样本的能力,以节约第二文本分类模型的训练时间,从而可以在一定程度上降低时间成本和训练成本。
具体地,根据第一干净样本集、第一干净样本集中的样本句所对应的M个第二文本类别概率、第一干净样本集中的样本句个数以及N个第四损失值对第二文本分类模型进行参数调整,具体可以是先将第一批次样本集对应的第一干净样本集,该第一干净样本集中的样本句所对应的M个第二文本类别概率、该第一干净样本集中的样本句个数以及N个第四损失值,代入至基于第二文本分类模型所对应的更新损失函数的公式(2)和损失函数的公式(6)组合得到的第二目标损失函数的公式(8)中进行损失计算,以获取到第一批次样本集对应的第二目标损失值,其中,第二目标损失函数的公式(8)如下:
进一步地,在获取到第一批次样本集所对应的第二目标损失值后,可以对第二文本分类模型进行参数调整操作,具体可以是采用反向梯度下降算法,对二文本分类模型(如LSTM模型)中的模型参数进行更新,直至收敛,可以得到第二中间文本分类模型。
进一步地,在后续的每个训练步中,可以采用第一批次样本集所对应的第一干净样本集对第二文本分类模型进行参数调整的相同方式,可以依次获取第二批次样本集、第三批次样本集等样本集的对应的第二目标损失值,来对上一个训练步更新得到的第二中间文本分类模型进行模型参数的更新,此处不再赘述,直至收敛,以获取到第二目标文本分类模型。
需要注意的是,步骤S701步骤S702没有必然的先后顺序,可以先执行步骤S701,也可以先执行步骤S702,还可以同时执行步骤S701和步骤S702,只要是在步骤S604之后执行即可,具体此处不做限定。
可以理解的是,本实施例通过在TREC数据集上破坏原始标注标签,以此来获得错误标注的样本,并进行了实验对比,具体实验结果如下表1所示:
表1
其中,由表1可知,本实施例在噪声比例超过20%时均取得了最好的结果。
可选地,在上述图7对应的实施例的基础上,本申请实施例提供的文本分类模型的训练方法另一个可选实施例中,如图8所示,在步骤S701根据第一强数据增强样本句向量、第一弱数据增强样本句向量以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第三损失值之前,该方法还包括:步骤S801和步骤S802;步骤S703包括:步骤S803;步骤S704包括:步骤S804;
在步骤S801中,根据每个批次样本集所对应的批次数,计算每个批次样本集所对应的损失权重;
在本实施例中,在获取到每个批次样本集所对应的N个第三损失值之前,可以先根据每个批次样本集所对应的批次数,计算得到每个批次样本集所对应的损失权重,使得后续可以基于每个批次样本集所对应的损失权重来获取第三损失值或第四损失值,可以有效避免文本分类模型在训练初期不稳定时无法对无标注数据产生正确结果带来的负面影响,以增强文本分类模型的鲁棒性。
具体地,由于无监督加权函数通常会在前10个训练时期沿高斯曲线从零开始逐步上升,因此,根据每个批次样本集所对应的批次数,计算每个批次样本集所对应的损失权重,具体可以是将每个批次样本集所对应的批次数代入至加权函数的公式(9)中进行计算,其中,加权函数的公式(9)如下:
其中,t表示当前训练步用于训练第一文本分类模型或第二文本分类模型的批次样本集所对应的批次数。
在步骤S802中,基于第一损失值、第二损失值、第三损失值、第四损失值以及损失权重进行损失计算,得到总损失值;
在本实施例中,在获取到第一损失值、第二损失值、第三损失值、第四损失值以及损失权重之后,可以基于第一损失值、第二损失值、第三损失值、第四损失值以及损失权重进行损失计算,以获取到总损失值,能够通过一个训练轮数相关的权重函数进行损失值的加权求和,更有效地将有监督任务和无监督任务的损失值进行结合,有效避免文本分类模型在训练初期不稳定时无法对无标注数据产生正确结果带来的负面影响,以增强文本分类模型的鲁棒性。
具体地,基于第一损失值、第二损失值、第三损失值、第四损失值以及损失权重进行损失计算,具体可以是代入至基于第一目标损失函数的公式(7)、第二目标损失函数的公式(8)以及加权函数的公式(9)得到的总损失值公式(10)中进行损失计算,以获取到总损失值,其中,总损失值公式(10)如下:
其中,w(t)表示每个批次样本集所对应的损失权重,L用于表示所有基于协同学习过滤得到的干净样本的集合,可以理解的是,对于第一文本分类模型(如CNN模型)而言,L指的是基于第二文本分类模型(如LSTM模型)过滤得到的干净样本的集合,同理,对于第二文本分类模型(如LSTM模型)而言,L指的是基于第一文本分类模型(如CNN模型)过滤得到的干净样本的集合。
在步骤S803中,根据第二干净样本集以及总损失值对第一文本分类模型进行参数调整,得到第一目标文本分类模型;
在本实施例中,在获取到总损失值之后,可以根据第二干净样本集以及总损失值对第一文本分类模型进行参数调整,以获取到第一目标文本分类模型,能够更好地将过滤掉的样本引入至第一文本分类模型中进行协同学习,使得第一文本分类模型可以更快更全面地学习到在干净样本集上分类样本的能力,以节约第一文本分类模型的训练时间,从而可以在一定程度上降低时间成本和训练成本。
具体地,在获取到第一批次样本集所对应的总损失值后,可以对第一文本分类模型进行参数调整操作,具体可以是采用反向梯度下降算法,对第一文本分类模型(如CNN模型)中的模型参数进行更新,直至收敛,可以得到第一中间文本分类模型。
进一步地,在后续的每个训练步中,可以采用第一批次样本集所对应的第二干净样本集对第一文本分类模型进行参数调整的相同方式,可以依次获取第二批次样本集、第三批次样本集等样本集的对应的总损失值,来对上一个训练步更新得到的第一中间文本分类模型进行模型参数的更新,此处不再赘述,直至收敛,以获取到第一目标文本分类模型。
在步骤S804中,根据第一干净样本集以及总损失值对第二文本分类模型进行参数调整,得到第二目标文本分类模型。
在本实施例中,在获取到总损失值之后,可以根据第一干净样本集以及总损失值对第二文本分类模型进行参数调整,以获取到第二目标文本分类模型,能够更好地将过滤掉的样本引入至第二文本分类模型中进行协同学习,使得第二文本分类模型可以更快更全面地学习到在干净样本集上分类样本的能力,以节约第二文本分类模型的训练时间,从而可以在一定程度上降低时间成本和训练成本。
具体地,在获取到第一批次样本集所对应的总损失值后,可以对第二文本分类模型进行参数调整操作,具体可以是采用反向梯度下降算法,对第二文本分类模型(如LSTM模型)中的模型参数进行更新,直至收敛,可以得到第二中间文本分类模型。
进一步地,在后续的每个训练步中,可以采用第一批次样本集所对应的第二干净样本集对第二文本分类模型进行参数调整的相同方式,可以依次获取第二批次样本集、第三批次样本集等样本集的对应的总损失值,来对上一个训练步更新得到的第二中间文本分类模型进行模型参数的更新,此处不再赘述,直至收敛,以获取到第二目标文本分类模型。
可选地,在上述图6对应的实施例的基础上,本申请实施例提供的文本分类模型的训练方法另一个可选实施例中,数据增强处理包括以下的一项或多项:
对原始样本数据集进行反向翻译;
对原始样本数据集进行词汇代替;
对原始样本数据集进行随机噪声注入;
对原始样本数据集进行文字表面转换。
在本实施例中,为了能够保留原始样本数据集中的每个样本句在原句语义的同时,还能够产生其他不同的文本表示,来引入到文本分类模型的训练过程中,能够通过丰富样本数据,来增强文本分类模型的鲁棒性,因此,本实施例可以对获取到的原始样本数据集进行反向翻译、词汇代替、随机噪声注入或文字表面转换等一项或多项的数据增强处理,来为原始样本数据集中的每个批次样本集构建强数据增强样本集和弱数据增强样本集。
可以理解的是,强数据增强方法得到的强数据增强样本集会比弱数据增强方法的得到的弱数据增强样本集与原始样本数据集之间的差异更大。
具体地,如图11所示,对原始样本数据集进行反向翻译,来为原始样本数据集中的每个批次样本集构建强数据增强样本集和弱数据增强样本集,具体可以是使用Googletrans方法,其中,弱数据增强方法指的是只进行一次中间翻译,即将一个样本句对应的第一语种表示翻译为第二语种表示,再将第二语种表示翻译回第一语种表示,比如将一个样本句从中文翻译为英文再翻译回中文;而强数据增强方法则是需要进行多次的中间翻译,即将一个样本句对应的第一语种表示经过多个语种的翻译表示后,再翻译回第一语种表示,例如,将一个样本句的中文翻译为英文,再翻译回中文,然后再翻译成德文,最终再翻译回中文。其中,第一语种表示与第二语种表示对应的是不同的语种,第一语种表示或第二语种表示具体可以表现为中文、英文或德文等,此处不作具体限制。
进一步地,对原始样本数据集进行词汇代替,来为原始样本数据集中的每个批次样本集构建强数据增强样本集和弱数据增强样本集,具体可以是基于同义词库的替换或词嵌入替换,还可以采用其他替换方法,如基于TF-IDF的单词替换等,此处不作具体限制。
其中,同义词库的替换指的是从一个样本句中抽取一个随机单词,然后使用同义词库将其替换为其同义词。例如,可以使用WordNet数据库中的英语查找同义词,然后执行替换。其中,WordNet数据库是用于描述单词之间的关系的数据库。
其中,词嵌入替换指的是对经过预训练的词嵌入,例如,经过Word2Vec、GloVe、FastText或Sent2Vec等模型预训练的词嵌入,使用嵌入空间中来获取经过预训练的词嵌入最近的相邻词,并将获取到的最近的相邻词来作为样本句中某些词语的替换。
其中,基于TF-IDF的单词替换指的是由于TF-IDF分数较低的单词是无意义的,因此可以替换而不会影响样本句的真实标签,具体可以是通过计算整个文本中单词的TF-IDF得分并取最低得分来选择能够替换样本句中的原始单词的单词。
进一步地,对原始样本数据集进行随机噪声注入,来为原始样本数据集中的每个批次样本集构建强数据增强样本集和弱数据增强样本集,具体可以是采用拼写错误注入或空白噪声注入,还可以采用其他注入方法,如随机插入、随机交换或随机删除等,此处不作具体限制。
其中,拼写错误注入指的是向样本句中的某些随机单词添加拼写错误。其中,这些拼写错误可以通过编程方式添加,也可以使用常见拼写错误的映射(例如英语列表)来添加,此处不作具体限制。
其中,空白噪声注入指的是通过使用一个占位符标记来代替样本句中的一些随机词。具体可以是使用“_”作为占位符标记。空白噪声注入可以用作避免在特定上下文上过度拟合的方法,或者,可以用作文本分类模型或语言模型的平滑机制。
其中,随机插入指的是先从不是停用词的样本句中选择一个随机词,然后,找到其同义词并将其插入该样本句中的随机位置。
其中,随机交换指的是随机交换一个样本句中的任何两个单词的位置。
其中,随机删除指的是以一定概率p随机删除样本句中的每个单词,其中,概率p是根据实际应用需求进行设置的,此处不作具体限制。
进一步地,对原始样本数据集进行文字表面转换,来为原始样本数据集中的每个批次样本集构建强数据增强样本集和弱数据增强样本集,具体可以是使用正则表达式应用的简单模式匹配转换方法,可以是将一个样本句的言语形式从收缩转变为扩张,来获取强数据增强样本,例如,she’s可以转变为she is或she has等;反之,将一个样本句的言语形式从扩张转变为收缩,来获取弱数据增强样本,例如,she has转变为she’s。
下面将对本申请中文本处理的方法进行介绍,请参阅图13,本申请实施例中文本处理的方法一个实施例包括:
在步骤S1301中,对待处理文本进行断句处理,得到待处理句子;
在本实施例中,在实际场景中,例如,舆情发现或领域分类等多种场景中,目标对象经常对一些目标场景或目标产品产生一些评论数据,例如,对象S对于虚拟游戏Q的一些评论数据,如“游戏中的地图F太复杂了,对新手玩家不友好,体验感很差”,以便于文本分类模型更好地识别或分析待处理文本,可以先对待处理文本进行断句处理,以获取到一个或多个待处理句子。
具体地,在获取到待处理文本之后,可以根据断句分隔符对待处理文本进行分句处理,得到一个或多个语句,然后将各个语句中的标点符号过滤掉,得到不包含标点符号的干净语句,即待处理句子,假设将对象S对于虚拟游戏Q的一些评论数据,如“游戏中的地图F太复杂了,对新手玩家不友好,体验感很差”进行分句处理,可以得到至少三个待处理句子,如第一待处理句子“游戏中的地图F太复杂了”、第二待处理句子“对新手玩家不友好”以及第三待处理句子“体验感很差”。其中,可以采用正则过滤的方式,过滤语句中的标点符号。
在步骤S1302中,将待处理句子进行向量转化,得到待处理句向量;
在本实施例中,在获取到一个或多个待处理句子之后,可以将每个待处理句子进行向量转化,以获取到每个待处理句子对应的待处理句向量,以便于文本分类模型更好地识别或分析待处理句向量。
具体地,在获取到一个或多个待处理句子之后,可以将每个待处理句子进行向量转化,具体可以是采用Word2Vec(Word to Vector)模型或Doc2Vec(Document to Vector)模型进行向量转化,还可以采用其他模型,如Glove模型等,此处不作具体限制,例如,可以基于Word2Vec模型将每个待处理句子进行向量转化,具体可以是对每个待处理句子采用常规分词算法进行分词处理,以获取到至少两个单词,进而基于Word2Vec模型可以先用向量代表待处理句子中的各个单词,然后通过一个预测目标函数来学习这些向量的参数,以获取到每个待处理句子对应的待处理句向量。
在步骤S1303中,将待处理句向量输入至文本分类模型中,通过文本分类模型输出待处理句向量所对应的M个类别概率,其中,文本分类模型为第一目标文本分类模型或第二目标文本分类模型,M为为大于等于1的整数;
在本实施例中,在获取到待处理句向量之后,可以将每个待处理句向量输入至文本分类模型中,通过文本分类模型输出每个待处理句向量所对应的M个类别概率,以使后续可以基于M个类别概率快速准确地筛选出每个待处理句子对应的目标文本类别。
其中,文本分类模型为上述训练好的第一目标文本分类模型或第二目标文本分类模型。一个文本类别对应一个类别概率,例如,对象S对于虚拟游戏Q的一些评论数据的场景中,文本类别具体可以表现为正面情绪类别、负面情绪类别以及中立情绪类别等。
具体地,在获取到待处理句向量之后,可以将待处理句向量输入至文本分类模型中,具体可以是将每个待处理句向量通过文本分类模型的全连接层和softmax层,以计算得到文本分类模型对每个待处理句子的预测概率,即每个待处理句子对应的M个类别概率。
在步骤S1304中,根据M个类别概率,确定待处理句子的目标文本类别。
在本实施例中,在获取到每个待处理句子对应的M个类别概率之后,可以基于M个类别概率快速准确地筛选出每个待处理句子对应得到目标文本类别,以使后续可以基于每个待处理句子对应得到目标文本类别对待处理文本进行更准确的数据标注、领域分类或舆情发现等。
具体地,在获取到每个待处理句子对应的M个类别概率之后,根据M个类别概率,确定每个待处理句子的目标文本类别,具体可以是通过将M个类别概率进行两两比较或大小排序,还可以采用其他方式,此处不所具体限制,以获取到数值最大的类别概率,并可以将数值最大的类别概率对应的文本类别确定为该待处理句子的目标文本类别。
进一步地,如果当待处理文本中至包含有一个待处理句子时,则可以将该待处理句子的目标文本类别作为该待处理文本的文本类别,然后,可以基于待处理文本所对应的文本类别将待处理文本分配或发送至相应的类别数据库或类别管理部门进行存储或处理。
进一步地,如果当待处理文本中包含有多个待处理句子时,通过上述步骤S1301至步骤S1304可以获取到多个待处理句子中的每个待处理句子对应的目标文本类别,例如,在对象S对于虚拟游戏Q的一些评论数据的场景中,文本类别具体可以表现为正面情绪类别、负面情绪类别以及中立情绪类别等,因此,在获取到每个待处理句子对应得到目标文本类别之后,可以基于每个待处理句子对应得到目标文本类别对待处理文本进行更准确的文本分类,本实施例还可以根据每个待处理句子属于相同目标文本类别的个数以及目标文本类别对应的类别权重进行加权求和,以获取到待处理文本所对应的文本得分,例如,假设第一待处理句子“游戏中的地图F太复杂了”的文本类别为中立情绪类别,其中,中立情绪类别对应的类别权重为0.3、第二待处理句子“对新手玩家不友好”的文本类别为负面情绪类别,其中,中立情绪类别对应的类别权重为0.4,以及第三待处理句子“体验感很差”的文本类别为负面情绪类别,然后,进行加权计算如1*0.3+2*0.4=1.1的待处理文本所对应的文本得分。
进一步地,在获取到待处理文本所对应的文本得分之后,可以根据文本得分与文本类别之间的映射关系,来确定待处理文本所对应的文本类别,或者,匹配文本得分落入的阈值范围,并可以将该阈值范围对应的文本类别确定为待处理文本所对应的文本类别,例如,待处理文本所对应的文本得分1.1落入的(1,3)的阈值范围,该阈值范围对应的文本类别为负面情绪类别,还可以通过其他方式确定待处理文本的文本类别,此处不作具体限制,然后,可以基于待处理文本所对应的文本类别将待处理文本分配或发送至相应的类别数据库或类别管理部门进行存储或处理。
下面对本申请中的文本分类模型的训练装置进行详细描述,请参阅图14,图14为本申请实施例中文本分类模型的训练装置的一个实施例示意图,文本分类模型的训练装置20包括:
获取单元201,用于从原始样本数据集中获取与目标场景对应的多个批次样本集,其中,每个批次样本集包括N个样本句,N为大于等于1的整数;
处理单元202,用于针对于N个样本句的每个样本句,将样本句输入至第一文本分类模型,通过第一文本分类模型输出样本句对应的M个第一文本类别概率,其中,M为大于等于1的整数;
处理单元202,还用于根据样本句对应的M个第一文本类别概率以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第一损失值;
确定单元203,用于根据N个第一损失值对每个批次样本集进行噪声样本过滤,得到第一干净样本集,其中,K为大于等于1的整数;
处理单元202,还用于针对于N个样本句的每个样本句,将样本句输入至第二文本分类模型,通过第二文本分类模型输出样本句对应的M个第二文本类别概率;
处理单元202,还用于根据样本句对应的M个第二文本类别概率以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第二损失值;
确定单元203,还用于根据N个第二损失值对每个批次样本集进行噪声样本过滤,得到第二干净样本集;
处理单元202,还用于根据第二干净样本集、第二干净样本集中的样本句所对应的M个第一文本类别概率以及第二干净样本集中的样本句个数对第一文本分类模型进行参数调整,得到第一目标文本分类模型;
处理单元202,还用于根据第一干净样本集、第一干净样本集中的样本句所对应的M个第二文本类别概率以及第一干净样本集中的样本句个数对第二文本分类模型进行参数调整,得到第二目标文本分类模型。
可选地,在上述图14对应的实施例的基础上,本申请实施例提供的文本分类模型的训练装置的另一实施例中,
处理单元202,还用于根据每个批次样本集所对应的批次数、每个批次样本集所对应的过滤率以及总批次数,计算每个批次样本集所对应的噪声样本筛选率;
确定单元203具体可以用于:根据噪声样本筛选率以及N个第一损失值从小到大的顺序,确定每个批次样本集所对应的干净样本句,以获取第一干净样本集;
确定单元203具体可以用于:根据噪声样本筛选率以及N个第二损失值从小到大的顺序,确定每个批次样本集所对应的干净样本句,以获取第二干净样本集。
可选地,在上述图14对应的实施例的基础上,本申请实施例提供的文本分类模型的训练装置的另一实施例中,
处理单元202,还用于将每个批次样本集进行字级编码处理,得到每个字对应的字向量编码;
处理单元202具体可以用于:
将字向量编码输入至第一文本分类模型,通过第一文本分类模型对字向量编码进行句向量转化,得到每个样本句所对应的第一样本句向量;
对每个样本句所对应的第一样本句向量进行类别概率预测,得到样本句对应的M个第一文本类别概率;
处理单元202具体可以用于:
将字向量编码输入至第二文本分类模型,通过第二文本分类模型对字向量编码进行句向量转化,得到每个样本句所对应的第二样本句向量;
对每个样本句所对应的第二样本句向量进行类别概率预测,得到样本句对应的M个第二文本类别概率。
可选地,在上述图14对应的实施例的基础上,本申请实施例提供的文本分类模型的训练装置的另一实施例中,
处理单元202,还用于对原始样本数据集进行数据增强处理,得到每个批次样本集分别对应的强数据增强样本集和弱数据增强样本集;
处理单元202,还用于将强数据增强样本集以及弱数据增强样本集分别进行字级编码处理,得到每个字对应的强数据字向量编码以及弱数据字向量编码;
处理单元202,还用于将强数据字向量编码以及弱数据字向量编码分别输入至第一文本分类模型,通过第一文本分类模型进行句向量转化,得到每个强数据增强样本句所对应的第一强数据增强样本句向量,以及每个弱数据增强样本句所对应的第一弱数据增强样本句向量;
处理单元202,还用于将强数据字向量编码以及弱数据字向量编码分别输入至第二文本分类模型,通过第二文本分类模型进行句向量转化,得到每个强数据增强样本句所对应的第二强数据增强样本句向量,以及每个弱数据增强样本句所对应的第二弱数据增强样本句向量。
可选地,在上述图14对应的实施例的基础上,本申请实施例提供的文本分类模型的训练装置的另一实施例中,
处理单元202,还用于根据第一强数据增强样本句向量、第一弱数据增强样本句向量以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第三损失值;
处理单元202具体可以用于:根据第二干净样本集、第二干净样本集中的样本句所对应的M个第一文本类别概率、第二干净样本集中的样本句个数以及N个第三损失值对第一文本分类模型进行参数调整,得到第一目标文本分类模型;
处理单元202,还用于根据第二强数据增强样本句向量、第二弱数据增强样本句向量以及样本句个数进行损失计算,得到每个批次样本集所对应的N个第四损失值;
处理单元202具体可以用于:根据第一干净样本集、第一干净样本集中的样本句所对应的M个第二文本类别概率、第一干净样本集中的样本句个数以及N个第四损失值对第二文本分类模型进行参数调整,得到第二目标文本分类模型。
可选地,在上述图14对应的实施例的基础上,本申请实施例提供的文本分类模型的训练装置的另一实施例中,
处理单元202,还用于根据每个批次样本集所对应的批次数,计算每个批次样本集所对应的损失权重;
处理单元202具体可以用于:根据第一强数据增强样本句向量、第一弱数据增强样本句向量、样本句个数以及损失权重进行损失计算,得到每个批次样本集所对应的N个第三损失值;
处理单元202具体可以用于:根据第二强数据增强样本句向量、第二弱数据增强样本句向量、样本句个数以及损失权重进行损失计算,得到每个批次样本集所对应的N个第四损失值。
可选地,在上述图14对应的实施例的基础上,本申请实施例提供的文本分类模型的训练装置的另一实施例中,处理单元202具体可以用于:
对原始样本数据集进行反向翻译;
对原始样本数据集进行词汇代替;
对原始样本数据集进行随机噪声注入;
对原始样本数据集进行文字表面转换。
下面对本申请中的文本处理的装置进行详细描述,请参阅图15,图15为本申请实施例中文本处理的装置的一个实施例示意图,文本处理的装置30包括:
处理单元301,用于对待处理文本进行断句处理,得到待处理句子;
处理单元301,还用于将待处理句子进行向量转化,得到待处理句向量;
处理单元301,还用于将待处理句向量输入至上述文本分类模型中,通过文本分类模型输出待处理句向量所对应的M个类别概率,其中,文本分类模型为第一目标文本分类模型或第二目标文本分类模型,M为为大于等于1的整数;
确定单元302,用于根据M个类别概率,确定待处理句子的目标文本类别。
本申请另一方面提供了另一种计算机设备示意图,如图16所示,图16是本申请实施例提供的一种计算机设备结构示意图,该计算机设备300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)310(例如,一个或一个以上处理器)和存储器320,一个或一个以上存储应用程序331或数据332的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器320和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算机设备300中的一系列指令操作。更进一步地,中央处理器310可以设置为与存储介质330通信,在计算机设备300上执行存储介质330中的一系列指令操作。
计算机设备300还可以包括一个或一个以上电源340,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口360,和/或,一个或一个以上操作系统333,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述计算机设备300还用于执行如图2至图8对应的实施例中的步骤,或执行如图12对应的实施例中的步骤。
本申请的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,当计算机程序被处理器执行时实现如图2至图8所示实施例描述的方法中的步骤,或执行如图12对应的实施例中的步骤。
本申请的另一方面提供了一种包含计算机程序的计算机程序产品,当计算机程序被处理器执行时实现如图2至图8所示实施例描述的方法中的步骤,或执行如图12对应的实施例中的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (14)
1.一种文本分类模型的训练方法,其特征在于,包括:
从原始样本数据集中获取与目标场景对应的多个批次样本集,其中,每个批次样本集包括N个样本句,所述N为大于等于1的整数;
针对于所述N个样本句的每个样本句,将所述样本句输入至第一文本分类模型,通过所述第一文本分类模型输出所述样本句对应的M个第一文本类别概率,其中,所述M为大于等于1的整数;
针对于所述N个样本句的每个样本句,将所述样本句输入至第二文本分类模型,通过所述第二文本分类模型输出所述样本句对应的M个第二文本类别概率,其中,所述第二文本分类模型与所述第一文本分类模型互为异构模型;
基于所述M个第一文本类别概率,对所述每个批次样本集进行噪声样本过滤,得到第一干净样本集;
基于所述M个第二文本类别概率,对所述每个批次样本集进行噪声样本过滤,得到第二干净样本集;
基于所述第二干净样本集对所述第一文本分类模型进行参数调整,得到第一目标文本分类模型;
基于所述第一干净样本集对所述第二文本分类模型进行参数调整,得到第二目标文本分类模型。
2.根据权利要求1所述方法,其特征在于,所述基于所述M个第一文本类别概率,对所述每个批次样本集进行噪声样本过滤,得到第一干净样本集,包括:
根据所述样本句对应的M个第一文本类别概率以及样本句个数进行损失计算,得到所述每个批次样本集所对应的N个第一损失值;
根据所述N个第一损失值对所述每个批次样本集进行噪声样本过滤,得到所述第一干净样本集;
所述基于所述M个第二文本类别概率,对所述每个批次样本集进行噪声样本过滤,得到第二干净样本集,包括:
根据所述样本句对应的M个第二文本类别概率以及样本句个数进行损失计算,得到所述每个批次样本集所对应的N个第二损失值;
根据所述N个第二损失值对所述每个批次样本集进行噪声样本过滤,得到所述第二干净样本集。
3.根据权利要求2所述方法,其特征在于,所述根据所述N个第一损失值对所述每个批次样本集进行噪声样本过滤,得到所述第一干净样本集之前,所述方法还包括:
根据所述每个批次样本集所对应的批次数、每个批次样本集所对应的过滤率以及总批次数,计算所述每个批次样本集所对应的噪声样本筛选率;
所述根据所述N个第一损失值对所述每个批次样本集进行噪声样本过滤,得到第一干净样本集,包括:
根据所述噪声样本筛选率以及所述N个第一损失值从小到大的顺序,确定每个批次样本集所对应的干净样本句,以获取所述第一干净样本集;
所述根据所述N个第二损失值对所述每个批次样本集进行所述噪声样本过滤,得到第二干净样本集,包括:
根据所述噪声样本筛选率以及所述N个第二损失值从小到大的顺序,确定每个批次样本集所对应的干净样本句,以获取所述第二干净样本集。
4.根据权利要求1所述方法,其特征在于,所述针对于所述N个样本句的每个样本句,将所述样本句输入至第一文本分类模型,通过所述第一文本分类模型输出所述样本句对应的M个第一文本类别概率之前,所述方法还包括:
将所述每个批次样本集进行字级编码处理,得到每个字对应的字向量编码;
所述针对于所述N个样本句的每个样本句,将所述样本句输入至第一文本分类模型,通过所述第一文本分类模型输出所述样本句对应的M个第一文本类别概率,包括:
将所述字向量编码输入至所述第一文本分类模型,通过所述第一文本分类模型对所述字向量编码进行句向量转化,得到每个样本句所对应的第一样本句向量;
对每个样本句所对应的第一样本句向量进行类别概率预测,得到所述样本句对应的M个第一文本类别概率;
所述针对于所述N个样本句的每个样本句,将所述样本句输入至第二文本分类模型,通过所述第二文本分类模型输出所述样本句对应的M个第二文本类别概率,包括:
将所述字向量编码输入至所述第二文本分类模型,通过所述第二文本分类模型对所述字向量编码进行句向量转化,得到每个样本句所对应的第二样本句向量;
对每个样本句所对应的第二样本句向量进行类别概率预测,得到所述样本句对应的M个第二文本类别概率。
5.根据权利要求2所述方法,其特征在于,所述从原始样本数据集中获取与目标场景对应的多个批次样本集之后,所述方法还包括:
对所述原始样本数据集进行数据增强处理,得到每个所述批次样本集分别对应的强数据增强样本集和弱数据增强样本集;
将所述强数据增强样本集以及所述弱数据增强样本集分别进行字级编码处理,得到每个字对应的强数据字向量编码以及弱数据字向量编码;
将所述强数据字向量编码以及所述弱数据字向量编码分别输入至所述第一文本分类模型,通过所述第一文本分类模型进行所述句向量转化,得到每个强数据增强样本句所对应的第一强数据增强样本句向量,以及每个弱数据增强样本句所对应的第一弱数据增强样本句向量;
将所述强数据字向量编码以及所述弱数据字向量编码分别输入至所述第二文本分类模型,通过所述第二文本分类模型进行所述句向量转化,得到每个强数据增强样本句所对应的第二强数据增强样本句向量,以及每个弱数据增强样本句所对应的第二弱数据增强样本句向量。
6.根据权利要求5所述方法,其特征在于,所述将所述强数据字向量编码以及所述弱数据字向量编码分别输入至所述第二文本分类模型,通过所述第二文本分类模型进行所述句向量转化,得到每个强数据增强样本句所对应的第二强数据增强样本句向量,以及每个弱数据增强样本句所对应的第二弱数据增强样本句向量之后,所述方法还包括:
根据所述第一强数据增强样本句向量、所述第一弱数据增强样本句向量以及所述样本句个数进行损失计算,得到所述每个批次样本集所对应的N个第三损失值;
根据所述第二强数据增强样本句向量、所述第二弱数据增强样本句向量以及所述样本句个数进行损失计算,得到所述每个批次样本集所对应的N个第四损失值;
所述基于所述第二干净样本集对所述第一文本分类模型进行参数调整,得到第一目标文本分类模型,包括:
根据所述第二干净样本集以及所述N个第三损失值对所述第一文本分类模型进行参数调整,得到所述第一目标文本分类模型;
所述基于所述第一干净样本集对所述第二文本分类模型进行参数调整,得到第二目标文本分类模型,包括:
根据所述第一干净样本集以及所述N个第四损失值对所述第二文本分类模型进行参数调整,得到所述第二目标文本分类模型。
7.根据权利要求6所述方法,其特征在于,所述根据所述第一强数据增强样本句向量、所述第一弱数据增强样本句向量以及所述样本句个数进行损失计算,得到所述每个批次样本集所对应的N个第三损失值之前,所述方法还包括:
根据所述每个批次样本集所对应的批次数,计算所述每个批次样本集所对应的损失权重;
基于所述第一损失值、所述第二损失值、所述第三损失值、所述第四损失值以及所述损失权重进行损失计算,得到总损失值;
所述根据所述第二干净样本集以及所述N个第三损失值对所述第一文本分类模型进行参数调整,得到所述第一目标文本分类模型,包括:
根据所述第二干净样本集以及所述总损失值对所述第一文本分类模型进行参数调整,得到所述第一目标文本分类模型;
所述根据所述第一干净样本集以及所述N个第四损失值对所述第二文本分类模型进行参数调整,得到所述第二目标文本分类模型,包括:
根据所述第一干净样本集以及所述总损失值对所述第二文本分类模型进行参数调整,得到所述第二目标文本分类模型。
8.根据权利要求5所述方法,其特征在于,所述数据增强处理包括以下的一项或多项:
对所述原始样本数据集进行反向翻译;
对所述原始样本数据集进行词汇代替;
对所述原始样本数据集进行随机噪声注入;
对所述原始样本数据集进行文字表面转换。
9.一种文本处理的方法,其特征在于,包括:
对待处理文本进行断句处理,得到待处理句子;
将所述待处理句子进行向量转化,得到待处理句向量;
将所述待处理句向量输入至如权利要求1至7中任一项所述的文本分类模型中,通过所述文本分类模型输出所述待处理句向量所对应的M个类别概率,其中,所述文本分类模型为第一目标文本分类模型或第二目标文本分类模型,所述M为为大于等于1的整数;
根据所述M个类别概率,确定所述待处理句子的目标文本类别。
10.一种文本分类模型的训练装置,其特征在于,包括:
获取单元,用于从原始样本数据集中获取与目标场景对应的多个批次样本集,其中,每个批次样本集包括N个样本句,所述N为大于等于1的整数;
处理单元,用于针对于所述N个样本句的每个样本句,将所述样本句输入至第一文本分类模型,通过所述第一文本分类模型输出所述样本句对应的M个第一文本类别概率,其中,所述M为大于等于1的整数;
所述处理单元,还用于针对于所述N个样本句的每个样本句,将所述样本句输入至第二文本分类模型,通过所述第二文本分类模型输出所述样本句对应的M个第二文本类别概率,其中,所述第二文本分类模型与所述第一文本分类模型互为异构模型;
确定单元,还用于基于所述M个第一文本类别概率,对所述每个批次样本集进行噪声样本过滤,得到第一干净样本集;
所述确定单元,还用于基于所述M个第二文本类别概率,对所述每个批次样本集进行噪声样本过滤,得到第二干净样本集;
所述处理单元,还用于基于所述第二干净样本集对所述第一文本分类模型进行参数调整,得到第一目标文本分类模型;
所述处理单元,还用于基于所述第一干净样本集对所述第二文本分类模型进行参数调整,得到第二目标文本分类模型。
11.一种文本处理的装置,其特征在于,包括:
处理单元,用于对待处理文本进行断句处理,得到待处理句子;
所述处理单元,还用于将所述待处理句子进行向量转化,得到待处理句向量;
所述处理单元,还用于将所述待处理句向量输入至如权利要求1至8任一项所述的文本分类模型中,通过所述文本分类模型输出所述待处理句向量所对应的M个类别概率,其中,所述文本分类模型为第一目标文本分类模型或第二目标文本分类模型,所述M为为大于等于1的整数;
确定单元,用于根据所述M个类别概率,确定所述待处理句子的目标文本类别。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法或权利要求9所述的方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法或权利要求9所述的方法的步骤。
14.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法或权利要求9所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210417059.5A CN115130538A (zh) | 2022-04-20 | 2022-04-20 | 文本分类模型的训练方法、文本处理的方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210417059.5A CN115130538A (zh) | 2022-04-20 | 2022-04-20 | 文本分类模型的训练方法、文本处理的方法、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115130538A true CN115130538A (zh) | 2022-09-30 |
Family
ID=83376360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210417059.5A Pending CN115130538A (zh) | 2022-04-20 | 2022-04-20 | 文本分类模型的训练方法、文本处理的方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115130538A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115358206A (zh) * | 2022-10-19 | 2022-11-18 | 上海浦东华宇信息技术有限公司 | 文本排版方法及系统 |
CN115471840A (zh) * | 2022-11-03 | 2022-12-13 | 北京百度网讯科技有限公司 | 生成、模型的训练、识别方法、装置、电子设备及介质 |
CN115658903A (zh) * | 2022-11-01 | 2023-01-31 | 百度在线网络技术(北京)有限公司 | 文本分类方法、模型训练方法、相关装置及电子设备 |
-
2022
- 2022-04-20 CN CN202210417059.5A patent/CN115130538A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115358206A (zh) * | 2022-10-19 | 2022-11-18 | 上海浦东华宇信息技术有限公司 | 文本排版方法及系统 |
CN115658903A (zh) * | 2022-11-01 | 2023-01-31 | 百度在线网络技术(北京)有限公司 | 文本分类方法、模型训练方法、相关装置及电子设备 |
CN115658903B (zh) * | 2022-11-01 | 2023-09-05 | 百度在线网络技术(北京)有限公司 | 文本分类方法、模型训练方法、相关装置及电子设备 |
CN115471840A (zh) * | 2022-11-03 | 2022-12-13 | 北京百度网讯科技有限公司 | 生成、模型的训练、识别方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298037B (zh) | 基于增强注意力机制的卷积神经网络匹配的文本识别方法 | |
CN110427461B (zh) | 智能问答信息处理方法、电子设备及计算机可读存储介质 | |
CN112270196B (zh) | 实体关系的识别方法、装置及电子设备 | |
CN110134946B (zh) | 一种针对复杂数据的机器阅读理解方法 | |
CN114298158A (zh) | 一种基于图文线性组合的多模态预训练方法 | |
CN115130538A (zh) | 文本分类模型的训练方法、文本处理的方法、设备及介质 | |
CN112395393B (zh) | 一种基于多任务多示例的远程监督关系抽取方法 | |
CN110895559A (zh) | 模型训练、文本处理方法、装置以及设备 | |
CN110929532B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113849653B (zh) | 一种文本分类方法及装置 | |
Wu et al. | Chinese text classification based on character-level CNN and SVM | |
CN114282059A (zh) | 视频检索的方法、装置、设备及存储介质 | |
CN115146621A (zh) | 一种文本纠错模型的训练方法、应用方法、装置及设备 | |
CN115062123A (zh) | 一种对话生成系统的知识库问答对生成方法 | |
CN117217277A (zh) | 语言模型的预训练方法、装置、设备、存储介质及产品 | |
CN118170668A (zh) | 一种测试用例生成方法、装置、存储介质和设备 | |
CN113486174B (zh) | 模型训练、阅读理解方法、装置、电子设备及存储介质 | |
CN114444476A (zh) | 信息处理方法、装置和计算机可读存储介质 | |
CN113535960A (zh) | 一种文本分类方法、装置和设备 | |
CN113486143A (zh) | 一种基于多层级文本表示及模型融合的用户画像生成方法 | |
CN113392868A (zh) | 一种模型训练的方法、相关装置、设备及存储介质 | |
CN117252204A (zh) | 一种联邦对比对抗知识蒸馏的机器账号检测方法及装置 | |
CN115600595A (zh) | 一种实体关系抽取方法、系统、设备及可读存储介质 | |
CN115617959A (zh) | 问题解答方法及装置 | |
CN113821610A (zh) | 信息匹配方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |