1.本技术涉及人工智能技术领域,尤其涉及一种模型的训练方法、文本分类方法和装置、设备、介质。
背景技术:2.目前,在对文本进行分类时,常常采用将相关的文本数据集输入至训练好的监督学习模型,通过监督学习模型对相关的文本数据集进行分类处理;但常用的监督学习模型往往无法准确识别少数类文本数据,影响模型的训练效果。因此,如何提高模型对样本文本数据的识别准确性,以提高模型的训练效果成为了亟待解决的技术问题。
技术实现要素:3.本技术实施例的主要目的在于提出一种模型的训练方法、文本分类方法和装置、设备、介质,旨在提高模型对样本文本数据的识别准确性,以提高模型的训练效果。
4.为实现上述目的,本技术实施例的第一方面提出了一种模型的训练方法,所述方法用于训练目标分类模型,所述方法包括:
5.获取原始训练数据,其中,所述原始训练数据包括第一原始数据和第二原始数据;
6.对所述第二原始数据进行上采样处理,得到初始训练数据;
7.根据预设的增强参数对所述初始训练数据进行增强处理,得到增强训练数据;
8.对所述增强训练数据进行编码处理,得到目标词嵌入向量;
9.对所述目标词嵌入向量进行扰动处理,得到目标训练数据;
10.根据所述第一原始数据和所述目标训练数据对预设的神经网络模型进行训练,得到目标分类模型,其中,所述目标分类模型为文本分类模型,用于对目标文本数据进行分类。
11.在一些实施例,所述增强参数包括第一扰动比率,所述根据预设的增强参数对所述初始训练数据进行增强处理,得到增强训练数据的步骤,包括:
12.获取所述初始训练数据的第一句子长度;
13.根据所述第一句子长度和所述第一扰动比率,计算第一扰动量;
14.根据所述第一扰动量对所述初始训练数据进行删减处理,得到所述增强训练数据。
15.在一些实施例,所述增强参数包括第二扰动比率,所述根据预设的增强参数对所述初始训练数据进行增强处理,得到增强训练数据的步骤,包括:
16.获取所述初始训练数据的第二句子长度;
17.根据所述第二句子长度和所述第二扰动比率,计算第二扰动量;
18.根据所述第二扰动量和预设的标点符号对所述初始训练数据进行扩充处理,得到所述增强训练数据。
19.在一些实施例,所述根据所述第一原始数据和所述目标训练数据对预设的神经网
络模型进行训练,得到目标分类模型的步骤,包括:
20.通过预设函数对所述第一原始数据和所述目标训练数据进行扰动计算,得到文本扰动值;
21.根据所述文本扰动值对所述神经网络模型的损失函数进行计算,得到损失值;
22.将所述损失值作为反向传播量,调整所述神经网络模型的模型参数,以训练所述神经网络模型,得到所述文本分类模型。
23.为实现上述目的,本技术实施例的第一方面提出了一种文本分类方法,所述方法包括:
24.获取待分类的目标文本数据;
25.将所述目标文本数据输入至目标分类模型进行标签分类处理,得到标签文本数据,其中,所述目标分类模型根据如第一方面所述的训练方法训练得到。
26.在一些实施例,所述将所述目标文本数据输入至目标分类模型进行标签分类处理,得到标签文本数据的步骤,包括:
27.通过所述目标分类模型的全连接层将所述目标文本数据映射到预设的向量空间,得到目标文本向量;
28.通过所述全连接层的分类函数和预设文本类别标签对所述目标文本向量进行标签分类处理,得到所述标签文本数据。
29.为实现上述目的,本技术实施例的第三方面提出了一种模型的训练装置,所述装置包括:
30.训练数据获取模块,用于获取原始训练数据,其中,所述原始训练数据包括第一原始数据和第二原始数据;
31.上采样模块,用于对所述第二原始数据进行上采样处理,得到初始训练数据;
32.数据增强模块,用于根据预设的增强参数对所述初始训练数据进行增强处理,得到增强训练数据;
33.编码模块,用于对所述增强训练数据进行编码处理,得到目标词嵌入向量;
34.扰动模块,用于对所述目标词嵌入向量进行扰动处理,得到目标训练数据;
35.模型训练模块,用于根据所述第一原始数据和所述目标训练数据对预设的神经网络模型进行训练,得到目标分类模型,其中,所述目标分类模型为文本分类模型,用于对目标文本数据进行分类。
36.为实现上述目的,本技术实施例的第四方面提出了一种文本分类装置,所述装置包括:
37.文本数据获取模块,用于获取待分类的目标文本数据;
38.标签分类模块,用于将所述目标文本数据输入至目标分类模型进行标签分类处理,得到标签文本数据,其中,所述目标分类模型根据如第一方面所述的训练方法训练得到。
39.为实现上述目的,本技术实施例的第五方面提出了一种电子设备,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,所述程序被所述处理器执行时实现上述第一方面或者第二方面所述的方法。
40.为实现上述目的,本技术实施例的第六方面提出了一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述第一方面或者第二方面所述的方法。
41.本技术提出的模型的训练方法、文本分类方法和装置、电子设备及存储介质,其通过获取原始训练数据,其中,原始训练数据包括第一原始数据和第二原始数据;对第二原始数据进行上采样处理,得到初始训练数据,能够有效地修正第二原始数据中的异常数据,提高数据合理性。进而,根据预设的增强参数对初始训练数据进行增强处理,得到增强训练数据,再对增强训练数据进行编码处理,得到目标词嵌入向量,对目标词嵌入向量进行扰动处理,得到目标训练数据,通过这一方式能够方便地得到符合需求的目标训练数据,使得得到的目标训练数据能够更好地突显出少数类训练数据的特征,提高神经网络模型对少数类训练数据的关注度。最后,根据第一原始数据和目标训练数据对预设的神经网络模型进行训练,能够提高模型对样本文本数据的识别准确性,提高模型的训练效果,得到符合需求的目标分类模型,其中,目标分类模型为文本分类模型,能够用于对目标文本数据进行分类,通过目标分类模型对目标文本数据进行分类,能够提高文本分类的准确性。
附图说明
42.图1是本技术实施例提供的模型的训练方法的流程图;
43.图2是图1中的步骤s103的流程图;
44.图3是图1中的步骤s103的另一流程图;
45.图4是图1中的步骤s106的流程图;
46.图5是本技术实施例提供的文本分类方法的流程图;
47.图6是图5中的步骤s502的流程图;
48.图7是本技术实施例提供的模型的训练装置的结构示意图;
49.图8是本技术实施例提供的文本分类装置的结构示意图;
50.图9是本技术实施例提供的电子设备的硬件结构示意图。
具体实施方式
51.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
52.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
53.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
54.首先,对本技术中涉及的若干名词进行解析:
55.人工智能(artificial intelligence,ai):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
56.自然语言处理(natural language processing,nlp):nlp用计算机来处理、理解以及运用人类语言(如中文、英文等),nlp属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。自然语言处理包括语法分析、语义分析、篇章理解等。自然语言处理常用于机器翻译、手写体和印刷体字符识别、语音识别及文语转换、信息意图识别、信息抽取与过滤、文本分类与聚类、舆情分析和观点挖掘等技术领域,它涉及与语言处理相关的数据挖掘、机器学习、知识获取、知识工程、人工智能研究和与语言计算相关的语言学研究等。
57.信息抽取(information extraction,ner):从自然语言文本中抽取指定类型的实体、关系、事件等事实信息,并形成结构化数据输出的文本处理技术。信息抽取是从文本数据中抽取特定信息的一种技术。文本数据是由一些具体的单位构成的,例如句子、段落、篇章,文本信息正是由一些小的具体的单位构成的,例如字、词、词组、句子、段落或是这些具体的单位的组合。抽取文本数据中的名词短语、人名、地名等都是文本信息抽取,当然,文本信息抽取技术所抽取的信息可以是各种类型的信息。
58.数据上采样(data smote):数据上采样指的是将少数的样本扩增到与多数样本相同的样本数。例如,取少数样本中的一个数据,求出该样本与其他样本的距离,根据欧式距离进行排序,取出前5个数据。
59.数据增强(data augmentation):数据增强也叫数据扩增,意思是在不实质性的增加数据的情况下,让有限的数据产生等价于更多数据的价值。数据增强可以分为,有监督的数据增强和无监督的数据增强方法。其中有监督的数据增强又可以分为单样本数据增强和多样本数据增强方法,无监督的数据增强分为生成新的数据和学习增强策略两个方向。
60.编码(encoder):编码就是将输入序列转化成一个固定长度的向量;解码(decoder),就是将之前生成的固定向量再转化成输出序列;其中,输入序列可以是文字、语音、图像、视频;输出序列可以是文字、图像。
61.bert(bidirectional encoder representations from transformers):是一个语言表示模型(language representation model)。bert采用了transformer encoder block进行连接,是一个典型的双向编码模型。
62.嵌入(embedding):embedding是一种向量表征,是指用一个低维的向量表示一个物体,该物体可以是一个词,或是一个商品,或是一个电影等等;这个embedding向量的性质是能使距离相近的向量对应的物体有相近的含义,比如embedding(复仇者联盟)和embedding(钢铁侠)之间的距离就会很接近,但embedding(复仇者联盟)和embedding(乱世佳人)的距离就会远一些。embedding实质是一种映射,从语义空间到向量空间的映射,同时尽可能在向量空间保持原样本在语义空间的关系,如语义接近的两个词汇在向量空间中的
位置也比较接近。embedding能够用低维向量对物体进行编码还能保留其含义,常应用于机器学习,在机器学习模型构建过程中,通过把物体编码为一个低维稠密向量再传给dnn,以提高效率。
63.softmax分类器:为逻辑回归分类器面对多个分类的一般化归纳,输出的是属于不同类别的概率值。
64.目前,在对文本进行分类时,常常采用将相关的文本数据集输入至训练好的监督学习模型,通过监督学习模型对相关的文本数据集进行分类处理;由于监督学习模型的训练效果往往取决于训练集的数量和质量,在文本分类场景中,广泛存在训练数据不均衡的问题,需要关注的样本类别往往是少数样本类别,而少数样本类别在整个数据集中的占比较小,如果直接将数据输入模型训练,模型往往倾向于将样本全部预测为多数类,对少数类样本数据的识别准确性较差。因此,如何提高模型对样本文本数据的识别准确性,以提高模型的训练效果成为了亟待解决的技术问题。
65.基于此,本技术实施例提供了一种模型的训练方法、文本分类方法和装置、设备、介质,旨在提高模型对样本文本数据的识别准确性,从而提高模型的训练效果。
66.本技术实施例提供的模型的训练方法、文本分类方法和装置、设备、介质,具体通过如下实施例进行说明,首先描述本技术实施例中的模型的训练方法。
67.本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
68.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
69.本技术实施例提供的模型的训练方法、文本分类方法和装置、设备、介质,涉及人工智能技术领域。本技术实施例提供的模型的训练方法、文本分类方法和装置、设备、介质可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现文本分类方法的应用等,但并不局限于以上形式。
70.本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境
中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
71.图1是本技术实施例提供的模型的训练方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤s101至步骤s106。
72.步骤s101,获取原始训练数据,其中,原始训练数据包括第一原始数据和第二原始数据;
73.步骤s102,对第二原始数据进行上采样处理,得到初始训练数据;
74.步骤s103,根据预设的增强参数对初始训练数据进行增强处理,得到增强训练数据;
75.步骤s104,对增强训练数据进行编码处理,得到目标词嵌入向量;
76.步骤s105,对目标词嵌入向量进行扰动处理,得到目标训练数据;
77.步骤s106,根据第一原始数据和目标训练数据对预设的神经网络模型进行训练,得到目标分类模型,其中,目标分类模型为文本分类模型,用于对目标文本数据进行分类。
78.本技术实施例所示意的步骤s101至步骤s106,通过对第二原始数据进行上采样处理,得到初始训练数据,能够有效地修正第二原始数据中的异常数据,提高数据合理性。根据预设的增强参数对初始训练数据进行增强处理,得到增强训练数据,再对增强训练数据进行编码处理,得到目标词嵌入向量,对目标词嵌入向量进行扰动处理,得到目标训练数据,能够方便地得到符合需求的目标训练数据,使得得到的目标训练数据能够更好地突显出少数类训练数据的特征,提高神经网络模型对少数类训练数据的关注度。根据第一原始数据和目标训练数据对预设的神经网络模型进行训练,能够提高模型对样本文本数据的识别准确性,提高模型的训练效果,得到符合需求的目标分类模型。
79.在一些实施例的步骤s101中,可以通过编写网络爬虫,设置好数据源之后进行有目标性的爬取数据,得到样本数据。也可以通过其他方式获取样本数据,不限于此。需要说明的是,该样本数据为带有文本类别标签的文本数据。根据预设的比例参数,将样本数据划分为原始训练数据、原始验证数据和原始测试数据。为了提高模型的训练效果,需要对原始训练数据进行数据增强处理,具体地,首先对原始训练数据进行数据统计,获取原始训练数据中各个文本类别的样本数量,根据每一文本类别标签对应的样本数量,将原始训练数据划分为第一原始数据和第二原始数据,即第一原始数据和第二原始数据可以根据原始训练数据上的文本类别标签进行区分,第一原始数据为样本数量大于预设数量阈值的原始训练数据,标记为多数类样本数据label 0,而第二原始数据为样本数量小于或者等于预设数量阈值的原始训练数据,标记为少数类样本数据label 1,其中,对多数类样本数据label0(即第一原始数据)不进行数据增强处理,对少数类样本数据label 1(即第二原始数据)需要进行数据增强处理,例如,若多数类样本数据label 0(即第一原始数据)的样本数量为m,少数类样本数据label 1(即第二原始数据)的样本数量为n,则需要对少数类样本数据label 1(即第二原始数据)进行数据增强,得到m-n个样本数据,从而使得增强之后的第二原始数据与第一原始数据的样本数量比例为1:1。
80.在一些实施例的步骤s102中,对需要进行增强的少数类样本数据label 1(即第二原始数据)进行随机上采样,采样数量为多数类样本数据label 0(即第一原始数据),因此采样后的第二原始数据会产生m-n个重复样本数据,从而得到新的训练数据,记为初始训练数据。
81.请参阅图2,在一些实施例中,增强参数包括第一扰动比率,步骤s103可以包括但不限于包括步骤s201至步骤s203:
82.步骤s201,获取初始训练数据的第一句子长度;
83.步骤s202,根据第一句子长度和第一扰动比率,计算第一扰动量;
84.步骤s203,根据第一扰动量对初始训练数据进行删减处理,得到增强训练数据。
85.在一些实施例的步骤s201中,以字符为单位,统计初始训练数据集中每一文本句子的第一句子长度s1,例如,某一文本句子由五个字和三个标点符号构成,则该文本句子的第一句子长度s1为8。
86.在一些实施例的步骤s202中,第一扰动比率可以根据实际需求进行设置。例如,设置第一扰动比率r1为0.1,则根据第一句子长度s1和第一扰动比率r1计算得到第一扰动量d1,第一扰动量d1可以为s1*r1取整时对应的数值,即第一扰动量d1为int(s1*r1)。
87.在一些实施例的步骤s203中,从当前的文本句子中随机选择int(s1*r1)个位置作为替换位置,并将这些替换位置上的字符替换为空,从而实现对初始训练数据的文本句子的删减处理,得到增强训练数据。
88.请参阅图3,在另一些实施例中,增强参数包括第二扰动比率,步骤s103可以包括但不限于包括步骤s301至步骤s303:
89.步骤s301,获取初始训练数据的第二句子长度;
90.步骤s302,根据第二句子长度和第二扰动比率,计算第二扰动量;
91.步骤s303,根据第二扰动量和预设的标点符号对初始训练数据进行扩充处理,得到增强训练数据。
92.在一些实施例的步骤s301中,以字符为单位,统计初始训练数据集中每一文本句子的第二句子长度s2,例如,某一文本句子由六个字和两个标点符号构成,则该文本句子的第二句子长度s2为8。
93.在一些实施例的步骤s302中,第二扰动比率可以根据实际需求进行设置。例如,设置第二扰动比率r2为0.1,则根据第二句子长度s2和第二扰动比率r2计算得到第二扰动量d2,第二扰动量d2可以为s2*r2取整时对应的数值,即第二扰动量d2为int(s2*r2)。
94.在一些实施例的步骤s303中,预设的标点符号p为中性符号,例如,逗号、顿号、冒号、分号、句号、省略号等等。从当前的文本句子中随机选择int(s2*r2)个位置作为替换位置,随机从p中抽出int(s2*r2)个符号(允许重复抽取),将替换位置上的字符替换为标点符号,从而实现对初始训练数据的文本句子的扩充处理,得到增强训练数据。
95.需要说明的是,第一扰动比率和第二扰动比率可以理解为增强比率,用来确定某一文本句子中需要进行修改的字符个数占比,第一扰动量和第二扰动量可以理解为增强字符个数,用来确定某一文本句子中需要进行修改的字符个数。
96.以步骤s201至步骤s203为例,设置第一扰动比率r1为0.1,则说明在某一文本句子中需要修改10%的字符,若某一文本句子长度为10,则第一扰动量d1为int(10*0.1)=1,该文本句子需要修改的字符为1个,则在该文本句子中随机选择1个位置作为替换位置,并将这个替换位置上的字符替换为空,从而实现对该文本句子的删减处理,得到增强训练数据。
97.需要说明的是,在对初始训练数据进行数据增强处理时,可以同时选择上述两种数据增强方式进行数据增强,也可以单独采用其中一种数据增强方式进行数据增强。例如,
为了提高数据增强的效率,同时选择上述两种数据增强方式对初始训练数据进行数据增强,设置其中一种数据增强方式的占比为k,则初始训练数据中有(m-n)*k个样本数据采用这一方式进行数据增强处理,而初始训练数据中的其他样本数据则采用另一种数据增强方式进行数据增强处理。例如,通过上述步骤s201至步骤s203对(m-n)*k个样本数据进行删减处理,通过上述步骤s301至步骤s303对除去m-n)*k个样本数据的其他样本数据进行扩充处理,从而得到增强训练数据。
98.在一些实施例的步骤s104中,可以采用bert编码器对增强训练数据进行编码处理,得到目标词嵌入向量。由于bert采用了transformer encoder block进行连接,是一个典型的双向编码模型。因而,可以通过bert编码器对增强训练数据进行双向编码处理,即分别对增强训练数据进行从左到右的编码处理和从右到左的编码处理,从而得到目标词嵌入向量(token embedding)。
99.在一些实施例的步骤s105中,对目标词嵌入向量进行扰动处理时,可以根据预设的扰动因子,沿着梯度方向对目标词嵌入向量(token embedding)添加扰动,该预设的扰动因子可以表示为词嵌入权重矩阵,即沿着梯度方向对目标词嵌入向量和预设的词嵌入权重矩阵进行矩阵相乘,得到目标训练数据。
100.请参阅图4,在一些实施例中,步骤s106可以包括但不限于包括步骤s401至步骤s403:
101.步骤s401,通过预设函数对第一原始数据和目标训练数据进行扰动计算,得到文本扰动值;
102.步骤s402,根据文本扰动值对神经网络模型的损失函数进行计算,得到损失值;
103.步骤s403,将损失值作为反向传播量,调整神经网络模型的模型参数,以训练神经网络模型,得到文本分类模型。
104.在一些实施例的步骤s401中,首先将第一原始数据和目标训练数据输入至预设的神经网络模型中,并设置神经网络模型的迭代次数(epoches_num)和数据批大小(batch size),并根据数据批大小将第一原始数据和目标训练数据分为多个批次,得到批次数据。其中,预设函数为交叉熵函数。
105.具体地,在每个迭代过程中均采用交叉熵获得每个批次数据的损失值loss1,并计算该批次数据的参数梯度,将该批次数据的每个原始参数βi的原始梯度值grad_βi除以原始参数的范数l2,并乘以一个超参数α,得到文本扰动值,并将文本扰动值添加到原始参数上,从而得到每一批次数据的中间参数β
′i,该计算过程如公式(1)所示:
[0106][0107]
其中,范数文本扰动值为超参数α取值范围为(0,1],若希望上述目标词嵌入向量添加的扰动更大,则设置超参数α为较大值。经过多次验证,当超参数α取0.1至0.3时,模型的训练效果较好。
[0108]
进一步地,计算中间参数β
′i与原始参数βi之间的差距的绝对值ri,并设置一个阈
值ε,其中,ε取值范围为(0,1],从而通过参数ε控制扰动是否添加到原始参数上。
[0109]
例如,如果ri>ε,则将ε*ri/norm(ri)作为扰动量添加到原始参数βi上,得到最终的目标参数β
″i,计算公式如公式(2)和公式(3)所示:
[0110]ri
=abs(β
′
i-βi)
ꢀꢀꢀ
公式(2)
[0111][0112]
需要说明的是,若ε取值越大,则扰动量越难以添加到原始参数的参数矩阵上,经过多次验证,当ε取0.8至1时,模型的训练效果较好。
[0113]
进一步地,为了提高模型的训练效果,设置参数k来控制扰动次数,对上述的中间参数计算过程和目标参数的计算过程循环k次。由于扰动次数过大会带来过多噪声,影响神经网络模型在各个文本类别上的预测准确率,因而一般将扰动次数设置为2次或者3次,从而得到最终的文本扰动值。
[0114]
在一些实施例的步骤s402中,根据最终的文本扰动值对神经网络模型的损失函数进行计算,得到损失值,具体地可以计算神经网络模型的全连接层对应的损失函数,得到损失值。
[0115]
在一些实施例的步骤s403中,将损失值作为反向传播量,调整神经网络模型的模型参数,以训练神经网络模型,得到文本分类模型,使神经网络模型生成的标签文本数据更为准确,提高神经网络模型对少数类文本数据的识别准确性。
[0116]
本技术实施例的模型的训练方法,其通过获取原始训练数据,其中,原始训练数据包括第一原始数据和第二原始数据;对第二原始数据进行上采样处理,得到初始训练数据,能够有效地修正第二原始数据中的异常数据,提高数据合理性。进而,根据预设的增强参数对初始训练数据进行增强处理,得到增强训练数据,再对增强训练数据进行编码处理,得到目标词嵌入向量,对目标词嵌入向量进行扰动处理,得到目标训练数据,通过这一方式能够方便地得到符合需求的目标训练数据,使得得到的目标训练数据能够更好地突显出少数类训练数据的特征,提高神经网络模型对少数类训练数据的关注度。最后,根据第一原始数据和目标训练数据对预设的神经网络模型进行训练,能够提高模型对样本文本数据的识别准确性,提高模型的训练效果,得到符合需求的目标分类模型。
[0117]
图5是本技术实施例提供的文本分类方法的一个可选的流程图,图5中的方法可以包括但不限于包括步骤s501至步骤s502。
[0118]
步骤s501,获取待分类的目标文本数据;
[0119]
步骤s502,将目标文本数据输入至目标分类模型进行标签分类处理,得到标签文本数据,其中,目标分类模型根据如第一方面实施例的训练方法训练得到。
[0120]
在一些实施例的步骤s501中,可以通过编写网络爬虫,设置好数据源之后进行有目标性的爬取数据,得到待分类的目标文本数据。也可以通过其他方式获取样本数据,不限于此。需要说明的是,目标文本数据可以是文章、文本字段、文本词段等等。
[0121]
在一些实施例的步骤s502中,将目标文本数据输入至目标分类模型中,通过目标分类模型将目标文本数据映射到预设的向量空间,得到目标文本向量,并通过预设的分类函数对目标文本向量进行标签分类处理,得到标签文本数据。
[0122]
请参阅图6,在一些实施例中,步骤s502还可以包括但不限于包括步骤s601至步骤
s602:
[0123]
步骤s601,通过目标分类模型的全连接层将目标文本数据映射到预设的向量空间,得到目标文本向量;
[0124]
步骤s602,通过全连接层的分类函数和预设文本类别标签对目标文本向量进行标签分类处理,得到标签文本数据。
[0125]
在一些实施例的步骤s601中,获取预设文本类别标签的特征维度,通过全连接层的mlp网络对目标文本数据进行语义空间到向量空间的映射处理,将目标文本数据映射到与预设文本类别标签的特征维度相同的向量空间,得到目标文本向量。
[0126]
在一些实施例的步骤s602中,分类函数可以是softmax函数,例如,通过softmax函数在每一文本类别标签上创建一个概率分布,得到目标文本向量属于每一文本类别的预测概率值。最后,根据分类概率值的大小,对目标文本向量进行文本类别判断及标注处理,得到标签文本数据。
[0127]
需要说明的是,预设的文本类别标签可以根据实际需求进行设置,不同业务场景下的文本类别标签可以不相同。例如,在对书籍分类的应用场景下,预设的文本类别标签包括古典文学、外国文学、散文、小说、诗集等等。而在日常生活场景下,预设的文本类别标签可以包括交通出行、天气情况、时间信息等等。
[0128]
本技术实施例的文本分类方法,其通过获取待分类的目标文本数据,将目标文本数据输入至目标分类模型进行标签分类处理,目标分类模型对少数类文本数据具有较好的识别准确性,通过目标分类模型能够对不同类别的目标文本数据进行识别,并根据不同的类别标签对目标文本数据进行分类处理,得到标签文本数据,提高了文本分类的准确性。
[0129]
请参阅图7,本技术实施例还提供一种模型的训练装置,可以实现上述模型的训练方法,模型的训练装置包括:
[0130]
训练数据获取模块701,用于获取原始训练数据,其中,原始训练数据包括第一原始数据和第二原始数据;
[0131]
上采样模块702,用于对第二原始数据进行上采样处理,得到初始训练数据;
[0132]
数据增强模块703,用于根据预设的增强参数对初始训练数据进行增强处理,得到增强训练数据;
[0133]
编码模块704,用于对增强训练数据进行编码处理,得到目标词嵌入向量;
[0134]
扰动模块705,用于对目标词嵌入向量进行扰动处理,得到目标训练数据;
[0135]
模型训练模块706,用于根据第一原始数据和目标训练数据对预设的神经网络模型进行训练,得到目标分类模型,其中,目标分类模型为文本分类模型,用于对目标文本数据进行分类。
[0136]
在一些实施例中,数据增强模块703包括:
[0137]
第一句子长度获取单元,用于获取初始训练数据的第一句子长度;
[0138]
第一扰动量计算单元,用于根据第一句子长度和第一扰动比率,计算第一扰动量;
[0139]
数据删减单元,用于根据第一扰动量对初始训练数据进行删减处理,得到增强训练数据。
[0140]
在另一些实施例中,数据增强模块703包括:
[0141]
第二句子长度获取单元,用于获取初始训练数据的第二句子长度;
[0142]
第二扰动量计算单元,用于根据第二句子长度和第二扰动比率,计算第二扰动量;
[0143]
数据扩充单元,用于根据第二扰动量和预设的标点符号对初始训练数据进行扩充处理,得到增强训练数据。
[0144]
在一些实施例中,模型训练模块706包括:
[0145]
扰动计算单元,用于通过预设函数对第一原始数据和目标训练数据进行扰动计算,得到文本扰动值;
[0146]
损失值计算单元,用于根据文本扰动值对神经网络模型的损失函数进行计算,得到损失值;
[0147]
训练单元,用于将损失值作为反向传播量,调整神经网络模型的模型参数,以训练神经网络模型,得到文本分类模型。
[0148]
本技术实施例的模型的训练装置用于执行上述实施例中的模型的训练方法,其具体处理过程与上述实施例中的模型的训练方法相同,此处不再一一赘述。
[0149]
请参阅图8,本技术实施例还提供一种文本分类装置,可以实现上述文本分类方法,文本分类装置包括:
[0150]
文本数据获取模块801,用于获取待分类的目标文本数据;
[0151]
标签分类模块802,用于将目标文本数据输入至目标分类模型进行标签分类处理,得到标签文本数据,其中,目标分类模型根据第一方面实施例任一项的训练方法训练得到。
[0152]
在一些实施例中,标签分类模块802包括:
[0153]
映射单元,用于通过目标分类模型的全连接层将目标文本数据映射到预设的向量空间,得到目标文本向量;
[0154]
标签分类单元,用于通过全连接层的分类函数和预设文本类别标签对目标文本向量进行标签分类处理,得到标签文本数据。
[0155]
本技术实施例的文本分类装置用于执行上述实施例中的文本分类方法,其具体处理过程与上述实施例中的文本分类方法相同,此处不再一一赘述。
[0156]
本技术实施例还提供了一种电子设备,电子设备包括:存储器、处理器、存储在存储器上并可在处理器上运行的程序以及用于实现处理器和存储器之间的连接通信的数据总线,程序被处理器执行时实现上述模型的训练方法或者文本分类方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
[0157]
请参阅图9,图9示意了另一实施例的电子设备的硬件结构,电子设备包括:
[0158]
处理器901,可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术实施例所提供的技术方案;
[0159]
存储器902,可以采用只读存储器(readonlymemory,rom)、静态存储设备、动态存储设备或者随机存取存储器(randomaccessmemory,ram)等形式实现。存储器902可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器902中,并由处理器901来调用执行本技术实施例的模型的训练方法或者文本分类方法;
[0160]
输入/输出接口903,用于实现信息输入及输出;
[0161]
通信接口904,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如
usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信;
[0162]
总线905,在设备的各个组件(例如处理器901、存储器902、输入/输出接口903和通信接口904)之间传输信息;
[0163]
其中处理器901、存储器902、输入/输出接口903和通信接口904通过总线905实现彼此之间在设备内部的通信连接。
[0164]
本技术实施例还提供了一种存储介质,存储介质为计算机可读存储介质,用于计算机可读存储,存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现上述模型的训练方法或者文本分类方法。
[0165]
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0166]
本技术实施例提供的模型的训练方法、模型的训练装置、文本分类方法、文本分类装置、电子设备及存储介质,其通过获取原始训练数据,其中,原始训练数据包括第一原始数据和第二原始数据;对第二原始数据进行上采样处理,得到初始训练数据,能够有效地修正第二原始数据中的异常数据,提高数据合理性。进而,根据预设的增强参数对初始训练数据进行增强处理,得到增强训练数据,再对增强训练数据进行编码处理,得到目标词嵌入向量,对目标词嵌入向量进行扰动处理,得到目标训练数据,通过这一方式能够方便地得到符合需求的目标训练数据,使得得到的目标训练数据能够更好地突显出少数类训练数据的特征,提高神经网络模型对少数类训练数据的关注度。最后,根据第一原始数据和目标训练数据对预设的神经网络模型进行训练,能够提高模型对样本文本数据的识别准确性,提高模型的训练效果,得到符合需求的目标分类模型,其中,目标分类模型为文本分类模型,能够用于对目标文本数据进行分类,通过目标分类模型对目标文本数据进行分类,能够提高文本分类的准确性。
[0167]
本技术实施例描述的实施例是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
[0168]
本领域技术人员可以理解的是,图1-4、图5-6中示出的技术方案并不构成对本技术实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
[0169]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0170]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
[0171]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的
数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0172]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0173]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0174]
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0175]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0176]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例的方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序的介质。
[0177]
以上参照附图说明了本技术实施例的优选实施例,并非因此局限本技术实施例的权利范围。本领域技术人员不脱离本技术实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本技术实施例的权利范围之内。