CN111581385B - 一种不平衡数据采样的中文文本类别识别系统及方法 - Google Patents
一种不平衡数据采样的中文文本类别识别系统及方法 Download PDFInfo
- Publication number
- CN111581385B CN111581385B CN202010373499.6A CN202010373499A CN111581385B CN 111581385 B CN111581385 B CN 111581385B CN 202010373499 A CN202010373499 A CN 202010373499A CN 111581385 B CN111581385 B CN 111581385B
- Authority
- CN
- China
- Prior art keywords
- data
- text
- sentence
- representing
- sample
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000005070 sampling Methods 0.000 title claims abstract description 21
- 239000013598 vector Substances 0.000 claims abstract description 55
- 238000012549 training Methods 0.000 claims abstract description 27
- 230000008569 process Effects 0.000 claims abstract description 22
- 238000012545 processing Methods 0.000 claims abstract description 9
- 238000013145 classification model Methods 0.000 claims abstract description 6
- 238000007781 pre-processing Methods 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 7
- 238000013527 convolutional neural network Methods 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 4
- 238000004260 weight control Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims description 2
- 238000013135 deep learning Methods 0.000 abstract description 8
- 239000013589 supplement Substances 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 16
- 238000000605 extraction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000002679 ablation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000012535 impurity Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
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
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种不平衡数据采样的中文文本类别识别系统及方法,首先采用文本编码器对中文文本进行编码,形成句子向量表示;其次针对负样本数据采用多次DBSCAN聚类算法去除冗余和噪声数据,针对正样本数据构建深度学习样本选择器在随机生成样本的同时对样本进行过滤选择优质样本数据补充正样本;最后将选择的样本数据通过文本解码器进行解码,形成文本数据并与处理后的负样本数据共同构成均衡数据集,从而应用于文本分类模型。本发明采用了混合采样的方法对数据进行处理,特别针对负样本进行了冗余数据处理,对正样本构建了深度学习样本选择器对生成样本进行过滤,选择出优质的样本训练分类器,提升文本分类的性能。
Description
【技术领域】
本发明属于自然语言处理技术领域,涉及一种不平衡数据处理和文本分类方法,尤其是一种不平衡数据采样的中文文本类别识别系统及方法。
【背景技术】
近年来,科学技术的飞速发展促进了数据在各个领域的爆炸式增长。数据类别数量以及特征分布不均衡现象几乎存在于现实生活中的每一个实际数据集中。对现实中不均衡数据进行有效分类有着极其重要的意义,如企业可以利用分类的用户评论信息供不同的部门使用,对相关的产品和服务进行针对性的改进。具体而言,在现实不平衡数据中存在以下两种状态:一种是负样本数据量较大,在特征提取的过程中存在一定的噪声数据和冗余数据,另一种是正样本数据特征和数量较少,在网络学习以及特征表示的过程中往往被忽略,导致不均衡样本学习的分类模型在对正负样本的分类时极大减弱了文本分类的性能。因此,面对海量的不平衡文本数据,如何能够有效的调整数据的不均衡状态,使得在特征提取以及文本分类中的过程中能够充分学习每个类别的特征,进而提高分类的性能,已经成为了亟需解决的重要问题。
基于不平衡数据的中文文本分类方法目前研究较少,但是现研究不平衡数据主要有两个方面:一是对数据进行采样,二是优化网络训练所使用的目标函数,在网络训练的过程中,修改目标函数为正样本数据的训练赋予更大的权重,在此过程中往往伴随着对模型的调整,难度较大;而数据采样是模型训练之前的一个预处理工作,能够在模型训练之前纠正数据特征的不均衡,而无须对模型进行修正,相对容易。因此本发明主要从数据采样的层面进一步探讨如何提高文本分类的性能。
基于数据采样的文本分类方法目前主要分为欠采样,过采样和混合采样三种方式来改善不均衡的问题进而有效分类。其中欠采样的方法是指筛选一些具有代表性的样本,使正负样本达到比例均衡;但是目前基于聚类和整合的两大类欠采样方法仅考虑了选取重要特征,一定程度上存在特征丢失的风险,并且负样本数据中存在着冗余问题也需要考虑。而过采样是指将现有的少数正样本通过模型生成新的正样本,使数据集中正负样本均衡;目前有基于过滤的样本生成和限制样本空间生成数据两种类型的方法,在限制样本空间的时候更多的限制了样本生成的多样性,使得特征无法均匀的分布在样本空间中,而基于过滤的方法由于对正样本特征提取粒度较低和使用单一,往往不够构建很好的样本选择器以选择出较好的样本对数据进行补充。在混合采样的过程中,没有充分利用正负样本特征之间的关系,仅仅是将欠采样和过采样的方法进行简单的堆叠。
【发明内容】
本发明的目的在于解决现有技术中的问题,提供一种不平衡数据采样的中文文本类别识别系统及方法,通过文本编码器对文本向量进行编码和解码,多次DBSCAN聚类的欠采样方法以及基于深度学习样本选择器的过采样方法,实现了对不平衡数据集的调整,使得数据达到均衡状态从而应用于分类模型。
为达到上述目的,本发明采用以下技术方案予以实现:
一种不平衡数据采样的中文文本类别识别系统,包括:
文本编解码器模块,用于在处理之前利用文本编码模型的编码部分对文本进行编码,使得文本转化为向量形式;当生成新的数据时,利用文本编码模型的解码部分对生成的向量进行解码,从而生成最终的文本数据;
基于多次聚类的欠采样数据预处理模块,用于分阶段逐层次的解决负样本数据中的噪声以及冗余数据;
基于深度学习的过采样数据预处理模块,用于对于生成的数据进行过滤,构建深度样本选择模型。
本发明还公开了一种不平衡数据采样的中文文本类别识别方法,包括以下步骤:
阶段0:数据预处理
步骤0:将分类数据利用分词工具切分成词语序列和字符序列,并且标记出每一条数据对应的标签;
步骤1:给定一个固定长度的句子S,其词语序列表示为Sword={w1,w2,...,wn},字符序列表示为Schar={c1,c2,…,cm},对应的标签表示为Label={l1,l2,…,lnum};其中,n表示句子所包含词语的个数,m表示句子包含字符的个数,num为分类标签的个数;
阶段1:文本编解码器
步骤2:利用分类文本词语数据训练一个Word2Vec模型并根据模型获取文本的词语向量表示,其符号表示为:
Vi=H(Sword_i) (1)
式中,Vi表示句子中第i个词语的的向量表示,Sword_i表示句子中的第i个词语,Η(·)表示利用语料训练得到的Word2Vec模型;利用句子向量表示以及上一个词语预测下一个词语,最终得到生成的句子,即最终衡量给定输入条件下的输出表示概率:
p(y′1,y′2,…y′T|x1,x2,…,xN) (2)
在训练的过程中将输入的句子作为输出的目标句子,通过衡量输入的目标句子和预测的句子之间的差距进行模型训练过程中的优化,即损失函数为:
式中,y′i和yi分别表示第i个预测的词语和目标词语,θ表示模型中的全体参数;通过对编解码器的训练,分别得到对文本向量的编码和解码模型;
步骤3:在进行对数据处理之前,首先需要对文本向量进行编码为句子向量:
式中,EncoderLSTM()表示使用LSTM模块的编码网络部分结构,hN表示编码部分的最后隐藏层输出,N表示句子中词语的长度,q()表示将激活函数,c表示文本的句子向量表示;
阶段2:基于多次DBSCAN的欠采样方法
步骤4:在样本多和少的类别之间设定一个阈值δ,根据这个阈值,将分类数据划分为正样本数据Tpos和负样本数据Tneg;
步骤5:首次利用较大的半径和较大的最小支持数针对负样本中的每个类别数据进行聚类,得到相应的聚类结果,包含核心点,边界点和异常点,即:
[Cluster,Outliers]=DBSCAN(Tneg,Epsbig,MinPtsbig) (5)
式中,Epsbig表示聚类的半径,MinPtsbig表示聚类的最小支持点数;Cluster表示聚类后的核心点和边界点,Outliers表示聚类的异常点,对于异常点,直接删除;形成初步的负样本数据集;
步骤6:再次利用DBSCAN聚类方法对初步处理后的负样本数据进行聚类,以小半径和小的最小支持数进行:
[Cluster1]=DBSCAN(T’neg,Epssmall,MinPtssmall) (6)
式中,[Cluster1]表示第二次聚类形成的多个类簇,每个簇中的核心点记为xi,T’neg表示初步处理的负样本,Epssmall表示较小的半径,MinPtssmall为较小的最小支持点数;在每个类簇中,计算核心点xi与类簇中的其他点之间的距离,即:
式中,dim表示句子向量的维度,表示核心点的第i个维度,/>表示类簇中非核心点的第i个维度;设定一个距离阈值ε,将距离小于此阈值的数据进行删除;通过对冗余数据的删除,得到负样本数据集;同时在第二次聚类之后,获得负样本数据中每个类别的核心点数据Tcore,并且保留聚类后的类簇;
阶段3:样本选择器的构建
步骤7:首先统计正样本的数量Number,然后根据Number将负样本的核心点Tcore针对每个类别将其切分为M份,得到M份的数据集;
步骤8:将多个Transformer模型进行堆叠提取句子的全局特征,将每一层的特征利用门机制的方式对其进行结合:
式中,和/>分别表示Transformer的第i层输出和第i-1层输出,第一层的输入为句子字符向量表示Schar,α表示对不同层次的语义信息进行权重控制,Vglobal表示提取到的全局特征;
采用多尺度CNN的方式提取文本的局部特征:
式中,m表示字符的个数,windows为CNN的滑动窗口,即将几个字符包含在一起就是N-gram的表达,wj和bi分别为权重矩阵和偏置,Dropout和ReLu分别表示随机丢弃函数和非线性激活函数;在局部特征和全局特征都得到后,将GRU模块的两个输入端分别输入局部特征和全局特征,采用中间的门机制策略,对局部特征和全局特征进行融合最终得到句子的向量表示Vsent;在句子向量表示之后,添加一个前馈神经网络,将其作为一个类别判别器,即:
式中,argmax表示取最大值对应的标签,sigmoid表示激活函数,W和b分别表示权重矩阵和偏置;在训练的过程中通过最小化多标签交叉熵损失函数:
并采用梯度下降算法对模型中的参数进行调节;
步骤9:在步骤7中形成了M份的数据集,利用此M份的数据集对步骤8中构建的模型进行并行训练,即得到M个样本选择器;
阶段4:新样本的生成与解码
步骤10:此处利用SMOTE方法在样本空间中生成样本数据,SMOTE方法是利用随机数在邻近样本中间选择样本点,即:
式中,xi和分别表示选取的两个样本点,rand(0,1)表示生成0-1之间的随机数;将生成的数据通过阶段3形成的样本选择器进行选择,使用阶段1提出的文本解码器对向量进行解码;在解码的过程中,采用句子向量信息表示以及之前生成的字符信息作为指导,生成文本序列:
式中,W,U分别为解码部分隐藏层的权重矩阵和上一个文本加入的权重矩阵,b、c分别为网络的偏置,σ为网络中使用的sigmoid激活函数,h′t、h′t-1、y′t和y′t-1分别表示当前隐藏层表示、上一个隐藏层表示、当前输出和前一个时刻的输出;将句子向量通过解码器,得到相应的文本序列,将此文本的标签标记为当前的类别;
步骤11:通过以上对数据的预处理工作,得到一个均衡的数据集,将此数据集放入到具体的分类模型如BERT中,实现中文文本的分类识别。
与现有技术相比,本发明具有以下有益效果:
本发明通过对负样本数据的噪声和冗余消除,正样本数据的生成以及优质样本选择器的筛选,使得分类数据集从不均衡的状态达到了一个均衡的状态,克服了深度学习模型针对少样本数据特征学习不充分从而导致的分类性能下降的问题。
进一步的,本发明使用了两次的DBACAN聚类方法,多层次的去除了冗余数据和噪声数据,解决了负样本数据中不纯的问题。
进一步的,本发明在构建样本选择器时,充分的提取负样本中的代表性数据并与正样本数据进行充分的融合,构建具有特征代表性的数据集,解决了以往构建过滤器特征提取不充分和数据片面的问题。
进一步的,本发明创新性的提出了深度学习样本选择器模型,利用多层的Transformer提取全局特征并对每一层的特征进行权重控制,选取最有价值的特征;此外利用了多层门控的方法对全局特征和局部特征进行充分的融合,使得少样本的特征得以充分的提取,以至于构建的样本选择器可以选择出优质的样本。
【附图说明】
图1为本发明的架构图;
图2为本发明中深度学习样本选择器模型图;
图3为本发明中特征选择性融合模块图。
【具体实施方式】
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,不是全部的实施例,而并非要限制本发明公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要的混淆本发明公开的概念。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
在附图中示出了根据本发明公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
本发明公开的上下文中,当将一层/元件称作位于另一层/元件“上”时,该层/元件可以直接位于该另一层/元件上,或者它们之间可以存在居中层/元件。另外,如果在一种朝向中一层/元件位于另一层/元件“上”,那么当调转朝向时,该层/元件可以位于该另一层/元件“下”。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
参见图1,本发明不平衡数据采样的中文文本类别识别系统,包括:
模块1.文本编解码器模块:由于当前绝大多数采样方法是在向量空间中进行,而作为文本数据无法直接在向量空间中进行表示。为此采用了文本编解码模型,首先在处理之前利用文本编码模型的编码部分对文本进行编码,使得文本转化为向量形式;当生成新的数据时,可以利用文本编码模型的解码部分对生成的向量进行解码,从而生成最终的文本数据。
模块2.基于多次聚类的欠采样数据预处理模块:本发明提出了一种多次DBSCAN聚类的欠采样方法,此方法分阶段逐层次的解决了负样本数据中的噪声以及冗余数据,最终使得应用于训练分类器的负样本能够更加纯净,并进一步为构建样本选择器提供必要的数据准备。
模块3.基于深度学习的过采样数据预处理模块:本发明提出了一种基于深度学习样本选择器的过采样数据处理方法,参见图2的模型结构,利用此方法针对于生成的数据进行了充分的过滤。在样本选择器的构建过程中,不仅仅使用了正样本数据的特征,而且联合了代表性的负样本数据一起参与;其次利用了当前流行的Transformer模块构建了深度样本选择模型,充分获取正负样本的特征,从而能够选择出生成的更加优质的正样本数据。
本发明不平衡数据采样的中文文本类别识别方法,包括以下步骤:
阶段0:数据预处理
步骤0:将分类数据利用分词工具切分成词语序列和字符序列,并且标记出每一条数据对应的标签。
步骤1:给定一个固定长度的句子S,其词语序列表示为Sword={w1,w2,...,wn},字符序列表示为Schar={c1,c2,…,cm},对应的标签表示为Label={l1,l2,…,lnum},其中n表示句子所包含词语的个数,m表示句子包含字符的个数,num为分类标签的个数。
阶段1:文本编解码器
步骤2:利用分类文本词语数据训练一个Word2Vec模型并根据模型获取文本的词语向量表示,其符号表示为:
Vi=H(Sword_i) (1)
式中,Vi表示句子中第i个词语的的向量表示,Sword_i表示句子中的第i个词语,Η(·)表示利用语料训练得到的Word2Vec模型。根据将句子向量表示输入到一个序列到序列的模型中,此模型在编码阶段利用了LSTM编码文本词语向量为一个句子向量,在解码部分,利用句子向量表示以及上一个词语预测下一个词语,最终得到生成的句子,即最终衡量给定输入条件下的输出表示概率:
p(y′1,y′2,…y′T|x1,x2,…,xN) (2)
在训练的过程中将输入的句子作为输出的目标句子,通过衡量输入的目标句子和预测的句子之间的差距进行模型训练过程中的优化,即损失函数为
式中,y′i和yi分别表示第i个预测的词语和目标词语,θ表示模型中的全体参数。通过对编解码器的训练,可以分别得到对文本向量的编码和解码模型。
步骤3:在进行对数据处理之前,首先需要对文本向量进行编码为句子向量,具体计算如下:
式中,EncoderLsTM()表示使用LSTM模块的编码网络部分结构,hN表示编码部分的最后隐藏层输出,N表示句子中词语的长度,q()表示将激活函数,c表示文本的句子向量表示。此部分生成了所有句子的向量表示,并为下一个阶段的数据处理提供了必要的准备。
阶段2:基于多次DBSCAN的欠采样方法
步骤4:在样本多和少的类别之间设定一个阈值δ,根据这个阈值,将分类数据划分为正样本数据Tpos和负样本数据Tneg(每个类别的数据仍然保持原有的标签)。
步骤5:首次利用较大的半径和较大的最小支持数针对负样本中的每个类别数据进行聚类,即可得到相应的聚类结果,包含核心点,边界点和异常点,即:
[Cluster,Outliers]=DBSCAN(Tneg,Epsbig,MinPtsbig) (5)
式中,Epsbig表示聚类的半径,且取值的范围在2.0-3.0,MinPtsbig表示聚类的最小支持点数,通常取值为3,Cluster表示聚类后的核心点和边界点,而Outliers表示聚类的异常点,对于这些异常点,此处选择直接删除,因为这些样本点已经远离了数据特征,并且可能给之后的分类任务带来噪声,经过此次操作,形成了一个初步的负样本数据集。
步骤6:再次利用DBSCAN聚类方法对初步处理后的负样本数据进行聚类,但是此次聚类与上次不同的是以小半径和小的最小支持数进行,因为负样本数据中的噪声数据在上次已经被去除,而此次的目的是为了聚类出多个类簇,每个类簇中的语义信息几乎相近,计算如下:
[Cluster1]=DBSCAN(T’neg,Epssmall,MinPtssmall) (6)
式中,[Cluster1]表示第二次聚类形成的多个类簇,每个簇中的核心点记为xi,T’neg表示初步处理的负样本,Epssmall表示较小的半径,范围通常为1.0-2.0,一般取值为1.5,MinPtssmall为较小的最小支持点数,一般为2。在每个类簇中,计算核心点xi与类簇中的其他点之间的距离,即:
式中,dim表示句子向量的维度,表示核心点的第i个维度,/>表示类簇中非核心点的第i个维度。设定一个距离阈值ε,此阈值的建议取值为0.3,将距离小于此阈值的数据进行删除,在一定程度上可以认为,小于此阈值的样本数据可以用核心点的表示代替。通过对冗余数据的删除,就可以得到一个较为纯净的负样本数据集。同时在第二次聚类之后,获得了负样本数据中每个类别的核心点数据Tcore,并且保留聚类后的类簇供后面步骤使用。
阶段3:样本选择器的构建
步骤7:首先统计正样本的数量Number,然后根据Number将负样本的核心点Tcore针对每个类别将其切分为M份,如果数据较多则从中选取其中的M份,如果数据不足则再次在类簇中根据现有的核心点通过举例计算找到合适的样本点作为补充,将M份负样本数据与正样本数据进行组合,最终形成M份小的数据集。
步骤8:为了构建一个能够充分提取样本特征的选择器选择生成的样本,此处利用了当前流行的深度学习方法,如图2所示,具体如下。首先考虑由于样本数据本身不足,特征缺失的问题,因此需要充分的考虑整个句子的全局特征,为了提取数据中的全局特征,本文使用了当前较为流行的Transformer模块进行提取,将多个Transformer模型进行堆叠提取句子的全局特征,大量的实验证明,多层的Transformer模块堆叠可以充分的提取文本的语义信息,而曾在11个自然语言处理任务中获得最好效果的模型也是基于此实现的;进一步证明了Transformer模块的每一层均可以提取到不同侧面的语义特征,为了充分的利用每一层的特征,并且进行筛选使用,将每一层的特征利用了门机制的方式对其进行了结合,具体计算如下:
式中,和/>分别表示Transformer的第i层输出和第i-1层输出,其中第一层的输入为句子字符向量表示Schar,α表示对不同层次的语义信息进行权重控制,Vglobal表示提取到的全局特征,这样在充分的利用了每个层次提取的信息的同时,又可以让模型自动的选择哪一层的信息更为重要。
对于中文文本,字符的组合形成的词语也具有丰富的含义,是单个字符所无法代替的,故本文又采用了多尺度CNN的方式提取文本的局部特征,具体计算如下:
式中,m表示字符的个数,windows为CNN的滑动窗口,即将几个字符包含在一起就是N-gram的表达,wj和bi分别为权重矩阵和偏置,Dropout和ReLu分别表示随机丢弃函数和非线性激活函数。通过N-gram可以进一步补充全局的语义信息。进一步考虑到全局特征以及局部特征之间的权衡,采用了多任务的策略模式,设计了特征选择模块,如图3所示。本模块是在局部特征和全局特征都得到后,通过类似于GRU模型的方式,将GRU模块的两个输入端分别输入局部特征和全局特征,采用中间的门机制策略,进一步对局部特征和全局特征进行融合最终得到句子的向量表示Vsent。在句子向量表示之后,添加一个前馈神经网络,将其作为一个类别判别器,即:
式中,argmax表示取最大值对应的标签,sigmoid表示激活函数,W和b分别表示权重矩阵和偏置。在训练的过程中通过最小化多标签交叉熵损失函数:
并采用梯度下降算法对模型中的参数进行调节。
步骤9:在步骤7中形成了M份的较小数据集,利用此M份的数据集对步骤8中构建的模型进行并行训练,即可得到M个样本选择器,这M个样本选择器在特征选择中相互补充,互相依赖。因此在最后的选择中需要M个样本选择器共同筛选并一致通过,才能够将新生成的样本加入到数据集中。
阶段4:新样本的生成与解码
步骤10:此处利用SMOTE方法在样本空间中生成样本数据,SMOTE方法是利用随机数在邻近样本中间选择样本点,即:
式中,xi和分别表示选取的两个样本点,rand(0,1)表示生成0-1之间的随机数,故生成的数据存在大量的噪声。进一步将生成的数据通过阶段3形成的样本选择器进行选择,当样本均通过检测后,那么此样本就被选择为一个合格的样本数据,但是由于此数据是一个句子向量的表示形式,无法加入到原始数据中,故需要使用阶段1提出的文本解码器对向量进行解码。在解码的过程中,采用句子向量信息表示以及之前生成的字符信息作为指导,生成文本序列,具体计算如下面公式所示:
式中,W,U分别为解码部分隐藏层的权重矩阵和上一个文本加入的权重矩阵,b、c分别为网络的偏置,σ为网络中使用的sigmoid激活函数,h′t、h′t-1、y′t和y′t-1分别表示当前隐藏层表示、上一个隐藏层表示、当前输出和前一个时刻的输出。将句子向量通过解码器,就可以得到相应的文本序列,进一步将此文本的标签标记为当前的类别即可。
步骤11:通过以上对数据的预处理工作,就可以得到一个均衡的数据集,将此数据集放入到具体的分类模型如BERT中,就可以解决由于不平衡数据所带来的的少样本分类性能差的问题,从而进一步提高分类的性能。
本发明适用于网络环境中的各类不均衡数据集分类问题,尤其是特征表示极度不均衡,正负样本差距较大的情况。
实施例:
本发明在AI100举办的文因互联比赛数据集上进行了大量的实验,与基础的采样方法如随机欠采样、随机过采样等以及基于这些模型的改进模型进行了对比实验,证实了本发明的不平衡数据采样的中文文本类别识别方法(MUDS)性能达到最优(实验结果如表1所示);并从组件分离角度验证了本发明每个组件性能的有效性(实验结果如表2所示)。
表1对比实验
表2消融实验
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (2)
1.一种不平衡数据采样的中文文本类别识别方法,其特征在于,包括以下步骤:
阶段0:数据预处理
步骤0:将分类数据利用分词工具切分成词语序列和字符序列,并且标记出每一条数据对应的标签;
步骤1:给定一个固定长度的句子S,其词语序列表示为Sword={w1,w2,...,wn},字符序列表示为Schar={c1,c2,...,cm},对应的标签表示为Label={l1,l2,...,lnum};其中,n表示句子所包含词语的个数,m表示句子包含字符的个数,num为分类标签的个数;
阶段1:文本编解码器
步骤2:利用分类文本词语数据训练一个Word2Vec模型并根据模型获取文本的词语向量表示,其符号表示为:
Vi=H(Sword_i) (1)
式中,Vi表示句子中第i个词语的的向量表示,Sword_i表示句子中的第i个词语,H(·)表示利用语料训练得到的Word2Vec模型;利用句子向量表示以及上一个词语预测下一个词语,最终得到生成的句子,即最终衡量给定输入条件下的输出表示概率:
p(y′1,y′2,...y′T|x1,x2,...,xN) (2)
在训练的过程中将输入的句子作为输出的目标句子,通过衡量输入的目标句子和预测的句子之间的差距进行模型训练过程中的优化,即损失函数为:
式中,y′i和yi分别表示第i个预测的词语和目标词语,θ表示模型中的全体参数;通过对编解码器的训练,分别得到对文本向量的编码和解码模型;
步骤3:在进行对数据处理之前,首先需要对文本向量进行编码为句子向量:
式中,EncoderLSTM()表示使用LSTM模块的编码网络部分结构,hN表示编码部分的最后隐藏层输出,N表示句子中词语的长度,q()表示将激活函数,c表示文本的句子向量表示;
阶段2:基于多次DBSCAN的欠采样方法
步骤4:在样本多和少的类别之间设定一个阈值δ,根据这个阈值,将分类数据划分为正样本数据Tpos和负样本数据Tneg;
步骤5:首次利用较大的半径和较大的最小支持数针对负样本中的每个类别数据进行聚类,得到相应的聚类结果,包含核心点,边界点和异常点,即:
[Cluster,Outliers]=DBSCAN(Tneg,Epsbig,MinPtsbig) (5)
式中,Epsbig表示聚类的半径,MinPtsbig表示聚类的最小支持点数;Cluster表示聚类后的核心点和边界点,Outliers表示聚类的异常点,对于异常点,直接删除;形成初步的负样本数据集;
步骤6:再次利用DBSCAN聚类方法对初步处理后的负样本数据进行聚类,以小半径和小的最小支持数进行:
[Cluster1]=DBSCAN(T’neg,Epssmall,MinPtssmall) (6)
式中,[Cluster1]表示第二次聚类形成的多个类簇,每个簇中的核心点记为xi,T’neg表示初步处理的负样本,Epssmall表示较小的半径,MinPtssmall为较小的最小支持点数;在每个类簇中,计算核心点xi与类簇中的其他点之间的距离,即:
式中,dim表示句子向量的维度,表示核心点的第i个维度,/>表示类簇中非核心点的第i个维度;设定一个距离阈值ε,将距离小于此阈值的数据进行删除;通过对冗余数据的删除,得到负样本数据集;同时在第二次聚类之后,获得负样本数据中每个类别的核心点数据Tcore,并且保留聚类后的类簇;
阶段3:样本选择器的构建
步骤7:首先统计正样本的数量Number,然后根据Number将负样本的核心点Tcore针对每个类别将其切分为M份,得到M份的数据集;
步骤8:将多个Transformer模型进行堆叠提取句子的全局特征,将每一层的特征利用门机制的方式对其进行结合:
式中,和/>分别表示Transformer的第i层输出和第i-1层输出,第一层的输入为句子字符向量表示Schar,α表示对不同层次的语义信息进行权重控制,Vglobal表示提取到的全局特征;
采用多尺度CNN的方式提取文本的局部特征:
式中,m表示字符的个数,windows为CNN的滑动窗口,即将几个字符包含在一起就是N-gram的表达,wj和bi分别为权重矩阵和偏置,Dropout和ReLu分别表示随机丢弃函数和非线性激活函数;在局部特征和全局特征都得到后,将GRU模块的两个输入端分别输入局部特征和全局特征,采用中间的门机制策略,对局部特征和全局特征进行融合最终得到句子的向量表示Vsent;在句子向量表示之后,添加一个前馈神经网络,将其作为一个类别判别器,即:
式中,argmax表示取最大值对应的标签,sigmoid表示激活函数,W和b分别表示权重矩阵和偏置;在训练的过程中通过最小化多标签交叉熵损失函数:
并采用梯度下降算法对模型中的参数进行调节;
步骤9:在步骤7中形成了M份的数据集,利用此M份的数据集对步骤8中构建的模型进行并行训练,即得到M个样本选择器;
阶段4:新样本的生成与解码
步骤10:此处利用SMOTE方法在样本空间中生成样本数据,SMOTE方法是利用随机数在邻近样本中间选择样本点,即:
式中,xi和分别表示选取的两个样本点,rand(0,1)表示生成0-1之间的随机数;将生成的数据通过阶段3形成的样本选择器进行选择,使用阶段1提出的文本解码器对向量进行解码;在解码的过程中,采用句子向量信息表示以及之前生成的字符信息作为指导,生成文本序列:
式中,W,U分别为解码部分隐藏层的权重矩阵和上一个文本加入的权重矩阵,b、c分别为网络的偏置,σ为网络中使用的sigmoid激活函数,h′t、h′t-1、y′t和y′t-1分别表示当前隐藏层表示、上一个隐藏层表示、当前输出和前一个时刻的输出;将句子向量通过解码器,得到相应的文本序列,将此文本的标签标记为当前的类别;
步骤11:通过以上对数据的预处理工作,得到一个均衡的数据集,将此数据集放入到具体的分类模型如BERT中,实现中文文本的分类识别。
2.一种采用权利要求1所述方法的不平衡数据采样的中文文本类别识别系统,其特征在于,包括:
文本编解码器模块,用于在处理之前利用文本编码模型的编码部分对文本进行编码,使得文本转化为向量形式;当生成新的数据时,利用文本编码模型的解码部分对生成的向量进行解码,从而生成最终的文本数据;
基于多次聚类的欠采样数据预处理模块,用于分阶段逐层次的解决负样本数据中的噪声以及冗余数据;
基于深度学习的过采样数据预处理模块,用于对于生成的数据进行过滤,构建深度样本选择模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010373499.6A CN111581385B (zh) | 2020-05-06 | 2020-05-06 | 一种不平衡数据采样的中文文本类别识别系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010373499.6A CN111581385B (zh) | 2020-05-06 | 2020-05-06 | 一种不平衡数据采样的中文文本类别识别系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581385A CN111581385A (zh) | 2020-08-25 |
CN111581385B true CN111581385B (zh) | 2024-04-02 |
Family
ID=72115186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010373499.6A Active CN111581385B (zh) | 2020-05-06 | 2020-05-06 | 一种不平衡数据采样的中文文本类别识别系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581385B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112149762A (zh) * | 2020-11-24 | 2020-12-29 | 北京沃东天骏信息技术有限公司 | 目标跟踪方法、目标跟踪装置及计算机可读存储介质 |
CN112528021B (zh) * | 2020-12-08 | 2022-06-03 | 深圳市优必选科技股份有限公司 | 一种模型训练方法、模型训练装置及智能设备 |
CN112241454B (zh) * | 2020-12-14 | 2021-02-19 | 成都数联铭品科技有限公司 | 一种处理样本倾斜的文本分类方法 |
CN112463972B (zh) * | 2021-01-28 | 2021-05-18 | 成都数联铭品科技有限公司 | 一种基于类别不均衡的文本样本分类方法 |
CN113159196B (zh) * | 2021-04-26 | 2022-09-09 | 云南大学 | 一种基于正则变分嵌入式的软件需求聚类方法及系统 |
CN113450779B (zh) * | 2021-06-23 | 2022-11-11 | 海信视像科技股份有限公司 | 语音模型训练数据集构建方法及装置 |
CN113392191B (zh) * | 2021-08-18 | 2022-01-21 | 中关村科学城城市大脑股份有限公司 | 一种基于多维度语义联合学习的文本匹配方法和装置 |
CN113535964B (zh) * | 2021-09-15 | 2021-12-24 | 深圳前海环融联易信息科技服务有限公司 | 企业分类模型智能构建方法、装置、设备及介质 |
CN113936256A (zh) * | 2021-10-15 | 2022-01-14 | 北京百度网讯科技有限公司 | 一种图像目标检测方法、装置、设备以及存储介质 |
CN115062602B (zh) * | 2022-08-17 | 2022-11-11 | 杭州火石数智科技有限公司 | 对比学习的样本构造方法、装置及计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014071330A2 (en) * | 2012-11-02 | 2014-05-08 | Fido Labs Inc. | Natural language processing system and method |
WO2018111261A1 (en) * | 2016-12-14 | 2018-06-21 | Landmark Graphics Corporation | Automatic classification of drilling reports with deep natural language processing |
CN110866117A (zh) * | 2019-10-25 | 2020-03-06 | 西安交通大学 | 一种基于语义增强与多层次标签嵌入的短文本分类方法 |
-
2020
- 2020-05-06 CN CN202010373499.6A patent/CN111581385B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014071330A2 (en) * | 2012-11-02 | 2014-05-08 | Fido Labs Inc. | Natural language processing system and method |
WO2018111261A1 (en) * | 2016-12-14 | 2018-06-21 | Landmark Graphics Corporation | Automatic classification of drilling reports with deep natural language processing |
CN110866117A (zh) * | 2019-10-25 | 2020-03-06 | 西安交通大学 | 一种基于语义增强与多层次标签嵌入的短文本分类方法 |
Non-Patent Citations (1)
Title |
---|
徐小龙 ; 杨春春 ; .一种基于主题聚类的多文本自动摘要算法.南京邮电大学学报(自然科学版).2018,(05),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111581385A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581385B (zh) | 一种不平衡数据采样的中文文本类别识别系统及方法 | |
CN109492101B (zh) | 基于标签信息与文本特征的文本分类方法、系统及介质 | |
CN110134757A (zh) | 一种基于多头注意力机制的事件论元角色抽取方法 | |
CN108846017A (zh) | 基于Bi-GRU和字向量的大规模新闻文本的端到端分类方法 | |
CN111144448A (zh) | 基于多尺度注意力卷积编码网络的视频弹幕情感分析方法 | |
CN108108355A (zh) | 基于深度学习的文本情感分析方法和系统 | |
CN114169330A (zh) | 融合时序卷积与Transformer编码器的中文命名实体识别方法 | |
CN111506732B (zh) | 一种文本多层次标签分类方法 | |
CN106815369A (zh) | 一种基于Xgboost分类算法的文本分类方法 | |
CN108038492A (zh) | 一种基于深度学习的感性词向量及情感分类方法 | |
CN109840322A (zh) | 一种基于强化学习的完形填空型阅读理解分析模型及方法 | |
CN109189767A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113516198B (zh) | 一种基于记忆网络和图神经网络的文化资源文本分类方法 | |
CN111027595A (zh) | 双阶段语义词向量生成方法 | |
CN109886072A (zh) | 基于双向Ladder结构的人脸属性分类系统 | |
CN113806547B (zh) | 一种基于图模型的深度学习多标签文本分类方法 | |
CN111046233B (zh) | 一种基于视频评论文本的视频标签确定方法 | |
CN112231477A (zh) | 一种基于改进胶囊网络的文本分类方法 | |
CN111143553A (zh) | 一种实时文本数据流的特定信息识别方法及系统 | |
CN109815496A (zh) | 基于容量自适应收缩机制载体生成式文本隐写方法及装置 | |
CN112732872B (zh) | 面向生物医学文本的基于主题注意机制的多标签分类方法 | |
CN110009025A (zh) | 一种用于语音测谎的半监督加性噪声自编码器 | |
CN110472245A (zh) | 一种基于层次化卷积神经网络的多标记情绪强度预测方法 | |
CN114091469B (zh) | 基于样本扩充的网络舆情分析方法 | |
CN110796260B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |