CN113672736A - 一种文本多标签分类方法及系统 - Google Patents
一种文本多标签分类方法及系统 Download PDFInfo
- Publication number
- CN113672736A CN113672736A CN202111057725.0A CN202111057725A CN113672736A CN 113672736 A CN113672736 A CN 113672736A CN 202111057725 A CN202111057725 A CN 202111057725A CN 113672736 A CN113672736 A CN 113672736A
- Authority
- CN
- China
- Prior art keywords
- data
- label
- text
- processed
- deep learning
- 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.)
- Granted
Links
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
- 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/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/237—Lexical tools
- G06F40/242—Dictionaries
-
- 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/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
- G06N20/00—Machine learning
-
- 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)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种文本多标签分类方法及系统,方法包含:获取目标文本数据及其标注标签并处理得到文本数据及其标注标签;将文本数据进行数据增广;对增广后的文本数据及其标注标签构建深度学习模型;将待处理数据输入深度学习模型中获取待处理数据的标签数据;对标签数据进行判别处理得到待处理数据的标注标签;系统包含数据处理模块获取目标文本数据及其标注标签并处理得到文本数据及其标注标签;数据增广模块对文本数据进行数据增广;深度学习模型构建模块用于构建深度学习模型,还用于获取待处理数据并输入深度学习模型中获取待处理数据的标签数据;判别处理模块用于对标签数据进行判别得到待处理数据的标注标签。
Description
技术领域
本发明涉及一种文本多标签分类领域,具体涉及一种文本多标签分类方法及系统。
背景技术
文本多标签服务是对文章的标题和内容进行深度分析,自动输出能够反映文章关键信息的主题、话题、实体等多维度标签,包含多维度信息,全面覆盖文章关键信息主题,可广泛应用于文章聚合、个性化推荐、内容检索等场景;
目前文本多标签技术存在以下几种实现方案:
1.将文本数据的每个字或词,通过one-hot编码成数字向量,再计算数字向量与样本数据的数字向量之间的欧氏距离或余弦相似度,此方法具有一定的效果,但是其不可避免的会出现维度灾难、计算量大、向量稀疏等问题,极大降低了文本分类的准确率和效率;
2.利用机器学习算法,如极端梯度提升树(Xgboost)、支持向量机(SVM)、逻辑回归等,其思想是利用特征工程,通过文本预处理、文本表示、特征提取将数据转化为信息后,利用机器学习算法进行分类,并取得了一定的成就,但一方面特征工程耗时且不具备通用性;一方面文本表示存在稀疏问题;一方面在分类决策时,仅仅考虑词的信息,未考虑顺序等融合问题;
3.利用深度学习算法,其思想是通过词向量模型,将文本数据转化为稠密的向量,再利用lstm、textcnn等算法进行分类,但这些算法都没有文本的先验信息;
4.利用bert等预训练语言模型,其通过大量先验知识训练字向量,再将包含先验知识的字向量喂入深度学习模型,能够取得较好的效果,但一方面,其并未考虑样本不均衡情况;一方面,对于数据量不足情况时,其鲁棒性较差;
对于文本多层级分类来说,一般来说有以下两种处理方案:
1.建立多个层级分类模型,即根据标签的层级关系一层层构建多个模型,其一定程度上能融合文本层级信息,但一方面随着层级结构加深,模型数量和耗时呈指数级增加;一方面这种递进式方式,极易造成误差的传播;
2.将标签体系拍平,其基本思想是对层级结构拆分,所有标签一视同仁,再利用单层级的模型进行分类,此方法好处是简单高效,但其并未融合标签的层级关联信息,丢失了层级的整体性。
发明内容
本发明要解决的技术问题是现有的文本多标签计算量大、存在向量稀疏等问题,极大降低了文本分类的准确率和效率,本发明提供一种文本多标签分类方法,本发明还提供一种文本多标签分类系统,能够避免误差的传播并提高了运算效率,采用同义词替换、随机插入、随机交换、随即删除、汉英互译的文本增广方式,缓解了训练数据数据量不足和样本不均衡的问题;在模型层采用FGM模型,增加了模型的鲁棒性;训练时利用FP16方法,加快了模型的训练速度;损失函数采用focal loss,缓解了样本不均衡问题;采用BMA加权模型最后几个批次的参数,提高了模型的泛化能力;利用标签了层级信息,模型训练时注入了标签之间的关联信息,同时也保障了层级的完整性能够对自然语言文本进行解析,从而精准定位文档主题,将文档主题提炼成多个包含层级信息的标签,从而满足用户进行文档管理、推荐、检索等需求,用以解决现有技术导致的缺陷。
为解决上述技术问题本发明提供以下的技术方案:
第一方面,一种文本多标签分类方法,其中,包含以下步骤:
步骤A1:获取目标文本数据及其标注标签并对目标文本数据及其标注标签进行处理得到文本数据及其标注标签;
步骤A2:将文本数据进行数据增广;
步骤A3:对增广后的文本数据及其标注标签构建深度学习模型;
步骤A4:将待处理数据输入深度学习模型中获取待处理数据的标签数据;
步骤A5:对标签数据进行判别处理得到待处理数据的标注标签。
上述的一种文本多标签分类方法,其中,所述步骤A1中对目标文本数据及其标注标签进行处理的步骤如下:
步骤B1:采用python工具或ETL工具对目标文本数据及其标注标签进行重复数据和异常数据的去除;
步骤B2:将目标文本数据的标注标签进行层级结构拆分得到标签链,标签链是指形如“父标签-子标签”的标签链集合;
步骤B3:在标签链中获取目标文本数据标注标签的父标签并标注在该目标文本数据上得到文本数据及其标注标签,具体来说:拿到每条文本对应的标签集合,对集合中的每个标签,在包含此标签的标签链中,查找到对应的父标签,并将父标签同样标注为这条文本的标注标签;
步骤A2中对文本数据进行数据增广的步骤如下:
步骤C1:统计目标文本数据中各个标注标签的数据量;
步骤C2:根据各个标注标签数据量的大小进行统计;
步骤C3:根据统计数据对数据量小的标注标签对应的文本数据进行增广;
步骤A3中对增广后的文本数据构建深度学习模型的步骤如下:
步骤D1:将所有标签一一映射为不同且唯一的数字索引,构建标签到数字索引的字典,数字索引到标签的字典,数字索引的选取需为非负整数;
步骤D2:根据标签到数字索引的字典将文本数据中的所有标注标签转换为对应的数字索引;
步骤D3:根据文本数据与数字索引构建深度学习模型;
步骤A4中将待处理数据输入深度学习模型中获取待处理数据的标签数据;
步骤E1:获取待处理数据并输入深度学习模型中获取待处理数据的数字索引;
步骤E2:根据数字索引到标签的字典取得待处理数据的标签数据;
步骤A5中对标签数据进行判别处理得到待处理数据的标注标签的步骤如下:
步骤F1:根据标签链获取待处理数据每一个标签的父标签或子标签;
步骤F2:判断父标签或子标签是否在步骤E2中处理数据的标签内;
若在则保留该标签;
若不在则删除该标签;
步骤F3:输出步骤F2得到的所有标签得到待处理数据的标注标签。
上述的一种文本多标签分类方法,其中,所述步骤B1中的异常数据包含空文本、未标注文本、非中英文文本、乱码文本;
步骤C3中增广的方法包含同义词替换、随机插入、随机交换、随机删除、汉英互译中的一种或几种并按照1:1:1:1:1的方式进行增广;
所述同义词替换具体为在句子中随机选取n个非停用词,对选取的每个非停用词用随机选取的同义词替换,具体步骤如下:下载同义词典,如新华同义词、词林同义词等;利用jieba等分词工具对语句进行分词,得到词集;去除词集中的“了”、“的”等无意义词汇;随机挑选一个词,利用同义词典随机挑选一个它的同义词,对其进行替换;重复n次上一步;将词集重新拼接为句子;
所述随机插入具体为在句子中任意找一个非停用词,随机选一个它的同义词,插入句子中的任意位置,重复n次,具体步骤如下:下载同义词典,如新华同义词、词林同义词等;利用jieba等分词工具对语句进行分词,得到词集;去除词集中的“了”、“的”等无意义词汇;随机挑选一个词,利用同义词典随机挑选一个它的同义词,随机插入词集中的任意位置;重复n次上一步骤;将词集重新拼接为句子;
所述随机交换具体为任意选取句子中的两个词并交换位置,重复n次,具体步骤如下:利用jieba等分词工具对语句进行分词,得到词集;随机挑选两个词,将它们交换位置,重复n次上一步;将词集重新拼接为句子;
所述随机删除具体为对于句子中概率为p的每一个词,随机删除,p为(0,1)区间中的实数;具体步骤如下:利用jieba等分词工具对语句进行分词,得到词集;随机删除n个词,将词集重新拼接为句子;
所述汉英互译具体为利用翻译工具将汉语文本翻译成英文文本,再翻译回汉语文本。
上述的一种文本多标签分类方法,其中,步骤D3中还包含对构建的所述深度学习模型进行FGM加入;
FGM加入的步骤如下:
步骤G1:获取深度学习模型中BRET模块的Embedding层的参数数据;
步骤G2:根据参数数据计算Embedding层的梯度Δx;
其中x为特征,y为目标值,θ为学习参数;
其中ε为常数;
步骤G4:对整个深度学习模型执行梯度下降更新整个深度学习模型的所有参数;
步骤D3中还包含对构建的所述深度学习模型加入混合精度训练加速训练,具体步骤如下:
步骤H1:将输入参数调整为FP16格式,将初始化参数调整为FP32格式,其中,输入参数为文本转化为的字向量,初始化参数为深度学习模型中的所有向量;
步骤H2:进行前向计算,并在前向计算中将FP32格式的向量转化为FP16格式的向量;
步骤H3:进行损失函数loss计算,并在loss计算时将FP16格式的向量转化为FP32格式的向量;
步骤H4:将计算出来的loss乘以比例因子loss_scale;
步骤H5:对整个深度学习模型执行梯度下降;
步骤H6:将各梯度缩小相应倍数,即除以比例因子loss_scale;
步骤H7:进行梯度更新,并在梯度更新时使用FP32格式向量。
上述的一种文本多标签分类方法,其中,所述损失函数loss为focal loss损失函数;
所述focal loss损失函数表示如下:
其中,a∈(0,1)为平衡因子,γ>0为聚焦系数,y′为sigmoid激活函数的输出,y为真实值;
在模型验证和使用过程中,采用EMA平滑了最后几轮的参数,具体步骤如下:
步骤I1:拿到最后n步的训练参数,n为正整数;
步骤I2:按照θn+1=αθn+(1-α)θn+1公式迭代更新参数;
其中α为衰减率,θn为第n轮的参数。
第二方面,一种文本多标签分类系统,其中,包含数据处理模块、数据增广模块、深度学习模型构建模块、判别处理模块;
所述数据处理模块用于获取目标文本数据及其标注标签并对目标文本数据及其标注标签进行处理得到文本数据及其标注标签;
所述数据增广模块用于将所述文本数据进行数据增广;
所述深度学习模型构建模块用于依据增广后的所述文本数据及其标注标签构建深度学习模型,还用于获取待处理数据并输入所述深度学习模型中获取待处理数据的标签数据;
所述判别处理模块用于对标签数据进行判别处理得到待处理数据的标注标签。
上述的一种文本多标签分类系统,其中,所述数据处理模块内置有python工具、ETL工具、层级结构拆分模块、标签链处理模块;
所述python工具或所述ETL工具用于对所述目标文本数据及其标注标签进行重复数据和异常数据的去除;
所述层级结构拆分模块用于将去除重复数据和异常数据的所述目标文本数据的标注标签进行层级结构的拆分得到标签链;
所述标签链处理模块用于依据所述标签链获取目标文本数据标注标签的父标签并标注在该目标文本数据上得到文本数据及其标注标签。
上述的一种文本多标签分类系统,其中,所述异常数据包含空文本、未标注文本、非中英文文本、乱码文本。
上述的一种文本多标签分类系统,其中,所述深度学习模型包含输入模块、BRET模块、损失函数模块,所述BRET模块内置有Embedding层,所述Embedding层加入FGM。
第三方面,一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。
依据上述本发明一种文本多标签分类方法及系统提供的技术方案具有以下技术效果:
避免误差的传播并提高了运算效率,采用同义词替换、随机插入、随机交换、随即删除、汉英互译的文本增广方式,缓解了训练数据数据量不足和样本不均衡的问题;在模型层采用FGM模型,增加了模型的鲁棒性;训练时利用FP16方法,加快了模型的训练速度;损失函数采用focal loss,缓解了样本不均衡问题;采用BMA加权模型最后几个批次的参数,提高了模型的泛化能力;利用标签了层级信息,模型训练时注入了标签之间的关联信息,同时也保障了层级的完整性能够对自然语言文本进行解析,从而精准定位文档主题,将文档主题提炼成多个包含层级信息的标签,从而满足用户进行文档管理、推荐、检索等需求。
附图说明
图1为本发明一种文本多标签分类方法的流程图;
图2为标签层级结构图;
图3为本发明一种文本多标签分类系统的结构图。
其中,附图标记如下:
数据处理模块101、数据增广模块102、深度学习模型构建模块103、判别处理模块104。
具体实施方式
为了使发明实现的技术手段、创造特征、达成目的和功效易于明白了解,下结合具体图示,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
本发明的第一实施例是提供一种文本多标签分类方法,第二实施例是提供一种文本多标签分类系统,目的是避免误差的传播并提高了运算效率,采用同义词替换、随机插入、随机交换、随即删除、汉英互译的文本增广方式,缓解了训练数据数据量不足和样本不均衡的问题;在模型层采用FGM模型,增加了模型的鲁棒性;训练时利用FP16方法,加快了模型的训练速度;损失函数采用focal loss,缓解了样本不均衡问题;采用BMA加权模型最后几个批次的参数,提高了模型的泛化能力;利用标签了层级信息,模型训练时注入了标签之间的关联信息,同时也保障了层级的完整性能够对自然语言文本进行解析,从而精准定位文档主题,将文档主题提炼成多个包含层级信息的标签,从而满足用户进行文档管理、推荐、检索等需求。
如图1所示,第一方面,第一实施例,一种文本多标签分类方法,其中,包含以下步骤:
步骤A1:获取目标文本数据及其标注标签并对目标文本数据及其标注标签进行处理得到文本数据及其标注标签;
步骤A2:将文本数据进行数据增广;
步骤A3:对增广后的文本数据及其标注标签构建深度学习模型;
步骤A4:将待处理数据输入深度学习模型中获取待处理数据的标签数据;
步骤A5:对标签数据进行判别处理得到待处理数据的标注标签。
如图2所示,上述的一种文本多标签分类方法,其中,步骤A1中对目标文本数据及其标注标签进行处理的步骤如下:
步骤B1:采用python工具或ETL工具对目标文本数据及其标注标签进行重复数据和异常数据的去除;
步骤B2:将目标文本数据的标注标签进行层级结构拆分得到标签链,标签链是指形如“父标签-子标签”的标签链集合;
步骤B3:在标签链中获取目标文本数据标注标签的父标签并标注在该目标文本数据上得到文本数据及其标注标签,具体来说:拿到每条文本对应的标签集合,对集合中的每个标签,在包含此标签的标签链中,查找到对应的父标签,并将父标签同样标注为这条文本的标注标签;
步骤A2中对文本数据进行数据增广的步骤如下:
步骤C1:统计目标文本数据中各个标注标签的数据量;
步骤C2:根据各个标注标签数据量的大小进行统计;
步骤C3:根据统计数据对数据量小的标注标签对应的文本数据进行增广;
步骤A3中对增广后的文本数据构建深度学习模型的步骤如下:
步骤D1:将所有标签一一映射为不同且唯一的数字索引,构建标签到数字索引的字典,数字索引到标签的字典,数字索引的选取需为非负整数;
步骤D2:根据标签到数字索引的字典将文本数据中的所有标注标签转换为对应的数字索引;
步骤D3:根据文本数据与数字索引构建深度学习模型;
步骤A4中将待处理数据输入深度学习模型中获取待处理数据的标签数据;
步骤E1:获取待处理数据并输入深度学习模型中获取待处理数据的数字索引;
步骤E2:根据数字索引到标签的字典取得待处理数据的标签数据;
步骤A5中对标签数据进行判别处理得到待处理数据的标注标签的步骤如下:
步骤F1:根据标签链获取待处理数据每一个标签的父标签或子标签;
步骤F2:判断父标签或子标签是否在步骤E2中处理数据的标签内;
若在则保留该标签;
若不在则删除该标签;
步骤F3:输出步骤F2得到的所有标签得到待处理数据的标注标签。
上述的一种文本多标签分类方法,其中,步骤B1中的异常数据包含空文本、未标注文本、非中英文文本、乱码文本;
步骤C3中增广的方法包含同义词替换、随机插入、随机交换、随机删除、汉英互译中的一种或几种并按照1:1:1:1:1的方式进行增广;
同义词替换具体为在句子中随机选取n个非停用词,对选取的每个非停用词用随机选取的同义词替换,具体步骤如下:下载同义词典,如新华同义词、词林同义词等;利用jieba等分词工具对语句进行分词,得到词集;去除词集中的“了”、“的”等无意义词汇;随机挑选一个词,利用同义词典随机挑选一个它的同义词,对其进行替换;重复n次上一步;将词集重新拼接为句子;
随机插入具体为在句子中任意找一个非停用词,随机选一个它的同义词,插入句子中的任意位置,重复n次,具体步骤如下:下载同义词典,如新华同义词、词林同义词等;利用jieba等分词工具对语句进行分词,得到词集;去除词集中的“了”、“的”等无意义词汇;随机挑选一个词,利用同义词典随机挑选一个它的同义词,随机插入词集中的任意位置;重复n次上一步骤;将词集重新拼接为句子;
随机交换具体为任意选取句子中的两个词并交换位置,重复n次,具体步骤如下:利用jieba等分词工具对语句进行分词,得到词集;随机挑选两个词,将它们交换位置,重复n次上一步;将词集重新拼接为句子;
随机删除具体为对于句子中概率为p的每一个词,随机删除,p为(0,1)区间中的实数;具体步骤如下:利用jieba等分词工具对语句进行分词,得到词集;随机删除n个词,将词集重新拼接为句子;
汉英互译具体为利用翻译工具将汉语文本翻译成英文文本,再翻译回汉语文本。
上述的一种文本多标签分类方法,其中,步骤D3中还包含对构建的深度学习模型进行FGM加入;
FGM加入的步骤如下:
步骤G1:获取深度学习模型中BRET模块的Embedding层的参数数据;
步骤G2:根据参数数据计算Embedding层的梯度Δx;
其中x为特征,y为目标值,θ为学习参数;
其中ε为常数;
步骤G4:对整个深度学习模型执行梯度下降更新整个深度学习模型的所有参数;
步骤D3中还包含对构建的深度学习模型加入混合精度训练加速训练,具体步骤如下:
步骤H1:将输入参数调整为FP16格式,将初始化参数调整为FP32格式,其中,输入参数为文本转化为的字向量,初始化参数为深度学习模型中的所有向量;
步骤H2:进行前向计算,并在前向计算中将FP32格式的向量转化为FP16格式的向量;
步骤H3:进行损失函数loss计算,并在loss计算时将FP16格式的向量转化为FP32格式的向量;
步骤H4:将计算出来的loss乘以比例因子loss_scale;
步骤H5:对整个深度学习模型执行梯度下降;
步骤H6:将各梯度缩小相应倍数,即除以比例因子loss_scale;
步骤H7:进行梯度更新,并在梯度更新时使用FP32格式向量。
上述的一种文本多标签分类方法,其中,损失函数loss为focal loss损失函数;
focal loss损失函数表示如下:
其中,a∈(0,1)为平衡因子,γ>0为聚焦系数,y′为sigmoid激活函数的输出,y为真实值;
在模型验证和使用过程中,采用EMA平滑了最后几轮的参数,具体步骤如下:
步骤I1:拿到最后n步的训练参数,n为正整数;
步骤I2:按照θn+1=αθn+(1-α)θn+1公式迭代更新参数;
其中α为衰减率,θn为第n轮的参数。
如图3所示,第二方面,一种文本多标签分类系统,其中,包含数据处理模块101、数据增广模块102、深度学习模型构建模块103、判别处理模块104;
数据处理模块101用于获取目标文本数据及其标注标签并对目标文本数据及其标注标签进行处理得到文本数据及其标注标签;
数据增广模块102用于将文本数据进行数据增广;
深度学习模型构建模块103用于依据增广后的文本数据及其标注标签构建深度学习模型,还用于获取待处理数据并输入深度学习模型中获取待处理数据的标签数据;
判别处理模块104用于对标签数据进行判别处理得到待处理数据的标注标签。
上述的一种文本多标签分类系统,其中,数据处理模块101内置有python工具、ETL工具、层级结构拆分模块、标签链处理模块;
python工具或ETL工具用于对目标文本数据及其标注标签进行重复数据和异常数据的去除;
层级结构拆分模块用于将去除重复数据和异常数据的目标文本数据的标注标签进行层级结构的拆分得到标签链;
标签链处理模块用于依据标签链获取目标文本数据标注标签的父标签并标注在该目标文本数据上得到文本数据及其标注标签。
上述的一种文本多标签分类系统,其中,异常数据包含空文本、未标注文本、非中英文文本、乱码文本。
上述的一种文本多标签分类系统,其中,深度学习模型包含输入模块、BRET模块、损失函数模块,BRET模块内置有Embedding层,Embedding层加入FGM。
第三方面,一种计算机可读存储介质,其中,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面中任一项的方法的步骤。
例如,存储器可以包括随机存储器、闪存、只读存储器、可编程只读存储器、非易失性存储器或寄存器等;
处理器可以是中央处理器(Central Processing Unit,CPU)等,或者是图像处理器(Graphic Processing Unit,GPU)存储器可以存储可执行指令;
处理器可以执行在存储器中存储的执行指令,从而实现本文描述的各个过程。
可以理解,本实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者;
其中,非易失性存储器可以是ROM(Read-OnlyMemory,只读存储器)、PROM(ProgrammableROM,可编程只读存储器)、EPROM(ErasablePROM,可擦除可编程只读存储器)、EEPROM(ElectricallyEPROM,电可擦除可编程只读存储器)或闪存。
易失性存储器可以是RAM(RandomAccessMemory,随机存取存储器),其用作外部高速缓存;
通过示例性但不是限制性说明,许多形式的RAM可用,例如SRAM(StaticRAM,静态随机存取存储器)、DRAM(DynamicRAM,动态随机存取存储器)、SDRAM(SynchronousDRAM,同步动态随机存取存储器)、DDRSDRAM(DoubleDataRate SDRAM,双倍数据速率同步动态随机存取存储器)、ESDRAM(Enhanced SDRAM,增强型同步动态随机存取存储器)、SLDRAM(SynchlinkDRAM,同步连接动态随机存取存储器)和DRRAM(DirectRambusRAM,直接内存总线随机存取存储器)。本文描述的存储器205旨在包括但不限于这些和任意其它适合类型的存储器205。
在一些实施方式中,存储器存储了如下的元素,升级包、可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统和应用程序;
其中,操作系统,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
应用程序,包含各种应用程序,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序中。
本领域技术人员可以明白的是,结合本文中所公开的实施例描述的各示例的单元及算法步骤能够以电子硬件、或者软件和电子硬件的结合来实现;
这些功能是以硬件还是软件方式来实现,取决于技术方案的特定应用和设计约束条件;
本领域技术人员可以针对每个特定的应用,使用不同的方式来实现所描述的功能,但是这种实现并不应认为超出本申请的范围。
在本申请实施例中,所公开的系统、装置和方法可以通过其它方式来实现;
例如,单元或模块的划分仅仅为一种逻辑功能划分,在实际实现时还可以有另外的划分方式;
例如,多个单元或模块或组件可以进行组合或者可以集成到另一个系统中;
另外,在本申请实施例中的各功能单元或模块可以集成在一个处理单元或模块中,也可以是单独的物理存在等等。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在机器可读存储介质中;
因此,本申请的技术方案可以以软件产品的形式来体现,该软件产品可以存储在机器可读存储介质中,其可以包括若干指令用以使得电子设备执行本申请实施例所描述的技术方案的全部或部分过程;
上述存储介质可以包括ROM、RAM、可移动盘、硬盘、磁盘或者光盘等各种可以存储程序代码的介质。
综上,本发明的一种文本多标签分类方法及系统,能够避免误差的传播并提高了运算效率,采用同义词替换、随机插入、随机交换、随即删除、汉英互译的文本增广方式,缓解了训练数据数据量不足和样本不均衡的问题;在模型层采用FGM模型,增加了模型的鲁棒性;训练时利用FP16方法,加快了模型的训练速度;损失函数采用focal loss,缓解了样本不均衡问题;采用BMA加权模型最后几个批次的参数,提高了模型的泛化能力;利用标签了层级信息,模型训练时注入了标签之间的关联信息,同时也保障了层级的完整性能够对自然语言文本进行解析,从而精准定位文档主题,将文档主题提炼成多个包含层级信息的标签,从而满足用户进行文档管理、推荐、检索等需求。
以上对发明的具体实施例进行了描述。需要理解的是,发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;本领域技术人员可以在权利要求的范围内做出各种变形或修改做出若干简单推演、变形或替换,这并不影响发明的实质内容。
Claims (10)
1.一种文本多标签分类方法,其特征在于,包含以下步骤:
步骤A1:获取目标文本数据及其标注标签并对目标文本数据及其标注标签进行处理得到文本数据及其标注标签;
步骤A2:将文本数据进行数据增广;
步骤A3:对增广后的文本数据及其标注标签构建深度学习模型;
步骤A4:将待处理数据输入深度学习模型中获取待处理数据的标签数据;
步骤A5:对标签数据进行判别处理得到待处理数据的标注标签。
2.如权利要求1所述的一种文本多标签分类方法,其特征在于,所述步骤A1中对目标文本数据及其标注标签进行处理的步骤如下:
步骤B1:采用python工具或ETL工具对目标文本数据及其标注标签进行重复数据和异常数据的去除;
步骤B2:将目标文本数据的标注标签进行层级结构拆分得到标签链;
步骤B3:在标签链中获取目标文本数据标注标签的父标签并标注在该目标文本数据上得到文本数据及其标注标签;
步骤A2中对文本数据进行数据增广的步骤如下:
步骤C1:统计目标文本数据中各个标注标签的数据量;
步骤C2:根据各个标注标签数据量的大小进行统计;
步骤C3:根据统计数据对数据量小的标注标签对应的文本数据进行增广;
步骤A3中对增广后的文本数据构建深度学习模型的步骤如下:
步骤D1:将所有标签一一映射为不同且唯一的数字索引,构建标签到数字索引的字典,数字索引到标签的字典,数字索引的选取需为非负整数;
步骤D2:根据标签到数字索引的字典将文本数据中的所有标注标签转换为对应的数字索引;
步骤D3:根据文本数据与数字索引构建深度学习模型;
步骤A4中将待处理数据输入深度学习模型中获取待处理数据的标签数据;
步骤E1:获取待处理数据并输入深度学习模型中获取待处理数据的数字索引;
步骤E2:根据数字索引到标签的字典取得待处理数据的标签数据;
步骤A5中对标签数据进行判别处理得到待处理数据的标注标签的步骤如下:
步骤F1:根据标签链获取待处理数据每一个标签的父标签或子标签;
步骤F2:判断父标签或子标签是否在步骤E2中处理数据的标签内;
若在则保留该标签;
若不在则删除该标签;
步骤F3:输出步骤F2得到的所有标签得到待处理数据的标注标签。
3.如权利要求2所述的一种文本多标签分类方法,其特征在于,所述步骤B1中的异常数据包含空文本、未标注文本、非中英文文本、乱码文本;
步骤C3中增广的方法包含同义词替换、随机插入、随机交换、随机删除、汉英互译中的一种或几种并按照1:1:1:1:1的方式进行增广;
所述同义词替换具体为在句子中随机选取n个非停用词,对选取的每个非停用词用随机选取的同义词替换;
所述随机插入具体为在句子中任意找一个非停用词,随机选一个它的同义词,插入句子中的任意位置,重复n次;
所述随机交换具体为任意选取句子中的两个词并交换位置,重复n次;
所述随机删除具体为对于句子中概率为p的每一个词,随机删除,p为(0,1)区间中的实数;
所述汉英互译具体为利用翻译工具将汉语文本翻译成英文文本,再翻译回汉语文本。
4.如权利要求1-3任一项所述的一种文本多标签分类方法,其特征在于,步骤D3中还包含对构建的所述深度学习模型进行FGM加入;
FGM加入的步骤如下:
步骤G1:获取深度学习模型中BRET模块的Embedding层的参数数据;
步骤G2:根据参数数据计算Embedding层的梯度Δx;
其中x为特征,y为目标值,θ为学习参数;
其中ε为常数;
步骤G4:对整个深度学习模型执行梯度下降更新整个深度学习模型的所有参数;
步骤D3中还包含对构建的所述深度学习模型加入混合精度训练加速训练,具体步骤如下:
步骤H1:将输入参数调整为FP16格式,将初始化参数调整为FP32格式,其中,输入参数为文本转化为的字向量,初始化参数为深度学习模型中的所有向量;
步骤H2:进行前向计算,并在前向计算中将FP32格式的向量转化为FP16格式的向量;
步骤H3:进行损失函数loss计算,并在loss计算时将FP16格式的向量转化为FP32格式的向量;
步骤H4:将计算出来的loss乘以比例因子loss_scale;
步骤H5:对整个深度学习模型执行梯度下降;
步骤H6:将各梯度缩小相应倍数,即除以比例因子loss_scale;
步骤H7:进行梯度更新,并在梯度更新时使用FP32格式向量。
6.一种文本多标签分类系统,其特征在于,包含数据处理模块、数据增广模块、深度学习模型构建模块、判别处理模块;
所述数据处理模块用于获取目标文本数据及其标注标签并对目标文本数据及其标注标签进行处理得到文本数据及其标注标签;
所述数据增广模块用于将所述文本数据进行数据增广;
所述深度学习模型构建模块用于依据增广后的所述文本数据及其标注标签构建深度学习模型,还用于获取待处理数据并输入所述深度学习模型中获取待处理数据的标签数据;
所述判别处理模块用于对标签数据进行判别处理得到待处理数据的标注标签。
7.如权利要求6所述的一种文本多标签分类系统,其特征在于,所述数据处理模块内置有python工具、ETL工具、层级结构拆分模块、标签链处理模块;
所述python工具或所述ETL工具用于对所述目标文本数据及其标注标签进行重复数据和异常数据的去除;
所述层级结构拆分模块用于将去除重复数据和异常数据的所述目标文本数据的标注标签进行层级结构的拆分得到标签链;
所述标签链处理模块用于依据所述标签链获取目标文本数据标注标签的父标签并标注在该目标文本数据上得到文本数据及其标注标签。
8.如权利要求7所述的一种文本多标签分类系统,其特征在于,所述异常数据包含空文本、未标注文本、非中英文文本、乱码文本。
9.如权利要求6-8任一项所述的一种文本多标签分类系统,其特征在于,所述深度学习模型包含输入模块、BRET模块、损失函数模块,所述BRET模块内置有Embedding层,所述Embedding层加入FGM。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111057725.0A CN113672736B (zh) | 2021-09-09 | 2021-09-09 | 一种文本多标签分类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111057725.0A CN113672736B (zh) | 2021-09-09 | 2021-09-09 | 一种文本多标签分类方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113672736A true CN113672736A (zh) | 2021-11-19 |
CN113672736B CN113672736B (zh) | 2023-08-22 |
Family
ID=78549205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111057725.0A Active CN113672736B (zh) | 2021-09-09 | 2021-09-09 | 一种文本多标签分类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672736B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114582470A (zh) * | 2022-04-29 | 2022-06-03 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种模型的训练方法、训练装置及医学影像报告标注方法 |
CN115858819A (zh) * | 2023-01-29 | 2023-03-28 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种样本数据的增广方法及装置 |
CN115878793A (zh) * | 2022-05-25 | 2023-03-31 | 北京中关村科金技术有限公司 | 多标签文档分类方法、装置、电子设备及介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120095943A1 (en) * | 2010-10-15 | 2012-04-19 | Yahoo! Inc. | System for training classifiers in multiple categories through active learning |
JP2013012149A (ja) * | 2011-06-30 | 2013-01-17 | Secom Co Ltd | 警備システム |
US20160085743A1 (en) * | 2013-05-07 | 2016-03-24 | Paul V. Haley | System for knowledge acquisition |
CN108763361A (zh) * | 2018-05-17 | 2018-11-06 | 南京大学 | 一种基于主题模型的多标签分类框架方法 |
CN109993391A (zh) * | 2017-12-31 | 2019-07-09 | 中国移动通信集团山西有限公司 | 网络运维任务工单的派发方法、装置、设备及介质 |
CN110476879A (zh) * | 2019-08-26 | 2019-11-22 | 重庆邮电大学 | 基于多标签链式生态环境的奶牛行为分类判别方法及装置 |
CN110781297A (zh) * | 2019-09-18 | 2020-02-11 | 国家计算机网络与信息安全管理中心 | 基于层次判别树的多标签科研论文的分类方法 |
CN111506732A (zh) * | 2020-04-20 | 2020-08-07 | 北京中科凡语科技有限公司 | 一种文本多层次标签分类方法 |
CN112131366A (zh) * | 2020-09-23 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 训练文本分类模型及文本分类的方法、装置及存储介质 |
CN112632965A (zh) * | 2020-12-25 | 2021-04-09 | 上海德拓信息技术股份有限公司 | 一种针对政府服务热线领域的工单自动分类方法 |
CN112685656A (zh) * | 2020-12-22 | 2021-04-20 | 航天信息股份有限公司 | 标签推荐方法及电子设备 |
CN112818114A (zh) * | 2019-11-15 | 2021-05-18 | 阿里巴巴集团控股有限公司 | 信息的分类方法、检测方法、计算设备及存储介质 |
CN113010634A (zh) * | 2020-07-17 | 2021-06-22 | 华东师范大学 | 一种基于层级多标签分类的金融事件检测方法、设备 |
CN113239290A (zh) * | 2021-06-10 | 2021-08-10 | 杭州安恒信息技术股份有限公司 | 用于舆情监测的数据分析方法、装置和电子装置 |
-
2021
- 2021-09-09 CN CN202111057725.0A patent/CN113672736B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120095943A1 (en) * | 2010-10-15 | 2012-04-19 | Yahoo! Inc. | System for training classifiers in multiple categories through active learning |
JP2013012149A (ja) * | 2011-06-30 | 2013-01-17 | Secom Co Ltd | 警備システム |
US20160085743A1 (en) * | 2013-05-07 | 2016-03-24 | Paul V. Haley | System for knowledge acquisition |
CN109993391A (zh) * | 2017-12-31 | 2019-07-09 | 中国移动通信集团山西有限公司 | 网络运维任务工单的派发方法、装置、设备及介质 |
CN108763361A (zh) * | 2018-05-17 | 2018-11-06 | 南京大学 | 一种基于主题模型的多标签分类框架方法 |
CN110476879A (zh) * | 2019-08-26 | 2019-11-22 | 重庆邮电大学 | 基于多标签链式生态环境的奶牛行为分类判别方法及装置 |
CN110781297A (zh) * | 2019-09-18 | 2020-02-11 | 国家计算机网络与信息安全管理中心 | 基于层次判别树的多标签科研论文的分类方法 |
CN112818114A (zh) * | 2019-11-15 | 2021-05-18 | 阿里巴巴集团控股有限公司 | 信息的分类方法、检测方法、计算设备及存储介质 |
CN111506732A (zh) * | 2020-04-20 | 2020-08-07 | 北京中科凡语科技有限公司 | 一种文本多层次标签分类方法 |
CN113010634A (zh) * | 2020-07-17 | 2021-06-22 | 华东师范大学 | 一种基于层级多标签分类的金融事件检测方法、设备 |
CN112131366A (zh) * | 2020-09-23 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 训练文本分类模型及文本分类的方法、装置及存储介质 |
CN112685656A (zh) * | 2020-12-22 | 2021-04-20 | 航天信息股份有限公司 | 标签推荐方法及电子设备 |
CN112632965A (zh) * | 2020-12-25 | 2021-04-09 | 上海德拓信息技术股份有限公司 | 一种针对政府服务热线领域的工单自动分类方法 |
CN113239290A (zh) * | 2021-06-10 | 2021-08-10 | 杭州安恒信息技术股份有限公司 | 用于舆情监测的数据分析方法、装置和电子装置 |
Non-Patent Citations (3)
Title |
---|
RAMI ALY等: "Hierarchical Multi-label Classification of Text with Capsule Networks", 《PROCEEDINGS OF THE 57TH ANNUAL MEETING OF THE ASSOCIATION FOR COMPUTATIONAL LINGUISTICS: STUDENT RESEARCH WORKSHOP》, pages 323 - 330 * |
朱怀涛: "面向小样本的多标签分类方法与应用研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 7, pages 138 - 473 * |
阿柴本柴: "多标签文本分类-如何有效的利用标签之间的关系", pages 1, Retrieved from the Internet <URL:《https://zhuanlan.zhihu.com/p/377543518》> * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114582470A (zh) * | 2022-04-29 | 2022-06-03 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种模型的训练方法、训练装置及医学影像报告标注方法 |
CN115878793A (zh) * | 2022-05-25 | 2023-03-31 | 北京中关村科金技术有限公司 | 多标签文档分类方法、装置、电子设备及介质 |
CN115878793B (zh) * | 2022-05-25 | 2023-08-25 | 北京中关村科金技术有限公司 | 多标签文档分类方法、装置、电子设备及介质 |
CN115858819A (zh) * | 2023-01-29 | 2023-03-28 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种样本数据的增广方法及装置 |
CN115858819B (zh) * | 2023-01-29 | 2023-05-16 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种样本数据的增广方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113672736B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113672736B (zh) | 一种文本多标签分类方法及系统 | |
Zhang et al. | Which encoding is the best for text classification in chinese, english, japanese and korean? | |
CN108416058B (zh) | 一种基于Bi-LSTM输入信息增强的关系抽取方法 | |
CN110851604B (zh) | 一种文本分类方法、装置、电子设备及存储介质 | |
US7724158B2 (en) | Object representing and processing method and apparatus | |
CN111680494B (zh) | 相似文本的生成方法及装置 | |
CN111581229A (zh) | Sql语句的生成方法、装置、计算机设备及存储介质 | |
CN114818891B (zh) | 小样本多标签文本分类模型训练方法及文本分类方法 | |
US20200104635A1 (en) | Invertible text embedding for lexicon-free offline handwriting recognition | |
CN114896388A (zh) | 一种基于混合注意力的层级多标签文本分类方法 | |
CN111858933B (zh) | 基于字符的层次化文本情感分析方法及系统 | |
CN115759119B (zh) | 一种金融文本情感分析方法、系统、介质和设备 | |
CN115587594A (zh) | 网络安全的非结构化文本数据抽取模型训练方法及系统 | |
CN113961666A (zh) | 关键词识别方法、装置、设备、介质及计算机程序产品 | |
CN111597807B (zh) | 分词数据集生成方法、装置、设备及其存储介质 | |
CN111357015B (zh) | 文本转换方法、装置、计算机设备和计算机可读存储介质 | |
CN114064852A (zh) | 自然语言的关系抽取方法、装置、电子设备和存储介质 | |
CN114036950A (zh) | 一种医疗文本命名实体识别方法及系统 | |
CN115374786A (zh) | 实体和关系联合抽取方法及装置、存储介质和终端 | |
CN114254641A (zh) | 一种基于深度学习的化学反应事件抽取方法和系统 | |
CN112765976A (zh) | 文本相似度计算方法、装置、设备及存储介质 | |
CN112926334A (zh) | 确定词表示向量的方法、装置及电子设备 | |
CN116756605A (zh) | 一种基于ernie_cn-gru语步自动识别方法、系统、设备及介质 | |
CN115712722A (zh) | 多语言短信文本的聚类系统、方法、电子设备及存储介质 | |
CN117235252A (zh) | 一种基于对抗训练-bert的双通道新闻文本分类方法 |
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 |