文本分类模型的训练方法、系统、设备及文本分类方法与流程

文档序号:33183677发布日期:2023-02-04 05:40阅读:22来源:国知局
文本分类模型的训练方法、系统、设备及文本分类方法与流程

1.本发明涉及自然语言处理技术领域,尤其是一种文本分类模型的训练方法、系统、设备、介质及文本分类方法。


背景技术:

2.faq(frequently asked questions)问答系统的任务是通过语料库训练算法模型,针对用户问返回合适的标准答,即仅基于用户当前问题,回复确定的答案,不用考虑上下文的关系。搭建faq问答系统,首先要整理faq语料库,faq语料库由三部分组成:标准问、标准答和相似问,其组织形式如图1所示。
3.常见的faq问答系统算法模型分为文本搜索模型和文本分类模型。文本搜索模型是指通过编码模型先把标准问和相似问编码成向量,组成向量库,当用户问输入进来后,把用户问编码成向量,然后与向量库中所有向量进行距离匹配,找到距离最近的标准问或相似问,并返回对应的标准答。而文本分类模型是指将所有的标准问作为标签类别体系,用标准问和相似问作为训练语料进行文本多分类训练,针对接收到的用户问,预测用户问属于哪个标签类别(对应标准问),返回标签类别对应的标准答。
4.在语料充分的情况下,文本分类模型可以比文本搜索模型准确率更高,模型推断速度更快。但是就相关技术中的文本分类模型,当由于业务需要,临时变更faq语料库里的标准问,多分类的标签类别体系也将随之变化,而文本分类模型由于已经把标签类别体系映射到模型最外层的节点上,所以就需要修改最外层节点,重新训练调整模型权重,花费时间较多、灵活性差。


技术实现要素:

5.针对现有技术中的缺陷,本发明提供了一种文本分类模型的训练方法、系统、设备、介质及文本分类方法,其目的在于节约增量运算的时间,提高灵活性。
6.第一方面:
7.本发明提供了一种文本分类模型的训练方法,包括以下步骤:
8.基于第一训练语料与预设语言模型,训练得到第一文本分类模型,其中,所述第一文本分类模型包括语言模型层和第一线性连接层,且所述第一线性连接层的节点个数与所述第一训练语料的标签类别个数对应;
9.将所述第一训练语料输入至所述第一文本分类模型的语言模型层,得到第一语义向量;
10.在获取到第二训练语料时,确定所述第二训练语料与所述第一训练语料之间的增量训练语料,以及初始化所述预设语言模型得到第二线性连接层;
11.将所述增量训练语料输入至所述第一文本分类模型的语言模型层,得到第二语义向量;
12.基于所述第一语义向量、所述第二语义向量和所述第二线性连接层,训练得到第
二文本分类模型,其中所述第二文本分类模型包括所述语言模型层和所述第二线性连接层,且所述第二线性连接层的节点个数与所述第二训练语料的标签类别个数对应。
13.优选地,所述基于第一训练语料与预设语言模型,训练得到第一文本分类模型,包括:
14.将所述第一训练语料划分为预设个数的语料组;
15.将每组语料分别输入所述预设语言模型的令牌解析器,以得到与该组语料对应的令牌序列;
16.将与该组语料对应的令牌序列输入所述语言模型层,以得到语义向量;
17.将所述语义向量输入至所述第一线性连接层,以得到所述初始文本分类模型;
18.基于第一交叉熵损失函数反向传播至所述语言模型层和第一线性连接层,以调整所述语言模型层和所述第一线性连接层的参数权重,对所述初始文本分类模型进行调优处理,得到所述第一文本分类模型,所述第一交叉熵损失函数是对所述初始文本分类模型的节点的值进行softmax函数处理得来。
19.优选地,所述将所述第一训练语料输入至预设的第一文本分类模型的语言模型层,得到第一语义向量包括:
20.将所述第一训练语料输入至第一文本分类模型中的第一令牌解析器,得到第一令牌序列;
21.将所述第一令牌序列输入至第一文本分类模型中的语言模型层,得到第一语义向量。
22.优选地,所述将所述增量训练语料输入至所述第一文本分类模型的语言模型层,得到第二语义向量包括:
23.将所述增量训练语料输入至第一文本分类模型中的第二令牌解析器,得到第二令牌序列;
24.将所述第二令牌序列输入至第一文本分类模型中的语言模型层,得到第二语义向量。
25.优选地,所述基于所述第一语义向量、所述第二语义向量和所述第二线性连接层,训练得到第二文本分类模型包括:
26.将所述第一语义向量和第二语义向量组合得到第三语义向量;
27.将所述第三语义向量输入至所述第二线性连接层,训练得到第二文本分类模型。
28.优选地,将所述第三语义向量输入至所述第二线性连接层,训练得到第二文本分类模型包括:
29.将所述第三语义向量输入至所述第二线性连接层,以得到每条向量的预设个数的节点的值,其中,所述预设个数为第二训练语料的标签类别个数;
30.将第二交叉熵损失函数反向传播至所述第二线性连接层,以调整所述第二线性连接层的参数权重,得到所述第二文本分类模型,其中,所述第二交叉熵损失函数是对所述每条向量的预设个数的节点的值进行softmax函数处理得来。
31.第二方面:
32.本发明提供了一种文本分类方法,所述方法包括:
33.接收来自用户的用户问;
34.基于第二文本分类模型对所述用户问进行分类,确定与所述用户问所属的类别标签,其中,所述第二文本分类模型包括多个节点,每个节点包括有类别标签及类别标签的概率值;
35.输出与所述用户问所属类别标签对应的标准答。
36.第三方面:
37.本发明提供了一种文本分类模型的训练系统,包括:第一训练单元,用于基于第一训练语料与预设语言模型,训练得到第一文本分类模型,其中,所述第一文本分类模型包括语言模型层和第一线性连接层,且所述第一线性连接层的节点个数与所述第一训练语料的标签类别个数对应;
38.第一执行单元,用于将所述第一训练语料输入至所述第一文本分类模型的语言模型层,得到第一语义向量;
39.增量获取单元,用于在获取到第二训练语料时,确定所述第二训练语料与所述第一训练语料之间的增量训练语料,以及初始化所述预设语言模型得到第二线性连接层;
40.第二执行单元,用于将所述增量训练语料输入至所述第一文本分类模型的语言模型层,得到第二语义向量;
41.第二训练单元,用于基于所述第一语义向量、所述第二语义向量和所述第二线性连接层,训练得到第二文本分类模型,其中所述第二文本分类模型包括所述语言模型层和所述第二线性连接层,且所述第二线性连接层的节点个数与所述第二训练语料的标签类别个数对应。
42.第四方面:
43.本发明提供了一种文本分类模型的训练设备,包括存储器和处理器;所述存储器用于存储可执行程序代码;
44.所述处理器用于读取所述存储器中存储的可执行程序代码,以执行第一方面所述的一种文本分类模型的训练方法。
45.第五方面:
46.本发明提供了一种存储介质,所述存储介质存储有第四方面所述的可执行程序代码。
47.本发明的有益效果:
48.在进行增量训练时,可复用第一训练语料的语义向量中间结果,节省了增量训练时间;当基于第一训练语料的文本分类模型训练完毕后,由于业务需要临时修改语料库、修改标签体系时,对原文本分类模型进行只训练最外层线性连接层的增量训练,可以在较少的算力成本下,使文本分类模型既能快速调整标签类别体系,又能保持较高的准确率。
附图说明
49.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
50.图1为faq语料库的组织形式图;
51.图2为本发明实施例一的流程示意图;
52.图3为本发明实施例一的具体流程图;
53.图4为本发明实施例四的硬件架构图。
具体实施方式
54.下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
55.需要注意的是,除非另有说明,本技术使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
56.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
57.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
58.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
59.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
60.实施例一:
61.如图2所示,本发明实施例提供了一种文本分类模型的训练方法,应用于文本分类模型,文本分类模型的训练方法包括以下步骤:
62.s1,基于第一训练语料与预设语言模型,训练得到第一文本分类模型,其中,第一文本分类模型包括语言模型层和第一线性连接层,且第一线性连接层的节点个数与第一训练语料的标签类别个数对应;
63.s2,将第一训练语料输入至第一文本分类模型的语言模型层,得到第一语义向量;
64.s3,在获取到第二训练语料时,确定第二训练语料与第一训练语料之间的增量训练语料,以及初始化预设语言模型得到第二线性连接层;
65.s4,将增量训练语料输入至第一文本分类模型的语言模型层,得到第二语义向量;
66.s5,基于第一语义向量、第二语义向量和第二线性连接层,训练得到第二文本分类模型,其中第二文本分类模型包括语言模型层和第二线性连接层,且第二线性连接层的节点个数与第二训练语料的标签类别个数对应。
67.本发明实施例中,在faq文本分类模型中,当基于第一训练语料和预设语言模型训练完毕后,由于业务需要临时修改语料、修改标签体系时,对预设语言模型只训练其语言模型层。本发明实施例可以在较少的算力成本下,使faq文本分类模型既能快速调整标签类别体系,又能保持较高的准确率。
68.进一步地,步骤s1中,基于第一训练语料与预设语言模型,训练得到第一文本分类
模型,包括:
69.s11,将第一训练语料划分为预设个数的语料组;
70.s12,将每组语料分别输入预设语言模型的令牌解析器,以得到与该组语料对应的令牌序列;
71.s13,将与该组语料对应的令牌序列输入语言模型层,以得到语义向量;
72.s14,将语义向量输入至第一线性连接层,以得到初始文本分类模型;
73.s15,基于第一交叉熵损失函数反向传播至语言模型层和第一线性连接层,以调整语言模型层和第一线性连接层的参数权重,对初始文本分类模型进行调优处理,得到第一文本分类模型,第一交叉熵损失函数是对初始文本分类模型的节点的值进行softmax函数处理得来。
74.本发明实施例中,第一训练语料的的组织形式如图1所示,步骤s11具体包括:
75.s111,将第一训练语料的每个标准问作为一个标签类别,每个标准问及其对应的相似问作为该类别所属的训练语料。如标准问共有n1条,每个标准问对应的相似问为k条,则第一训练语料包括n1条标准问及n1*k条相似问;
76.s112,使用已经做过掩词预训练或开源的语言模型及对应的令牌解析器为基础,在其最外层接上全随机参数的第一线性连接层。其中,第一线性连接层输出与标签类别一致的节点,即为n1个,每个节点代表一个标签类别;
77.s113,将第一训练语料中的所有训练语料随机打乱,然后以预设个数的语料为单位组成一组,如m条。
78.本发明实施例中,文本分类模型的训练方法还包括:
79.循环步骤s12-s15,将所有语料组循环一遍记为一个轮数,当循环第一预设轮数或第一交叉熵函数降低到第一预设值后停止循环。通过循环步骤s12-s15,可调整参数较多的语言模型层的权重。
80.进一步地,将第一训练语料输入至预设的第一文本分类模型的语言模型层,得到第一语义向量包括:
81.将第一训练语料输入至第一文本分类模型中的第一令牌解析器,得到第一令牌序列;
82.将第一令牌序列输入至第一文本分类模型中的语言模型层,得到第一语义向量。
83.当有业务需要增减部分标准问答、修改第一训练语料时,即从n1个标签类别调整为n2个标签类别时,第一线性连接层输出的n1个节点不再满足要求。本发明实施例的步骤s3中,可初始化预设语言模型得到第二线性连接层,以实现业务需要,实用性强。
84.进一步地,步骤s4中,将增量训练语料输入至第一文本分类模型的语言模型层,得到第二语义向量包括:
85.s41,将增量训练语料输入至第一文本分类模型中的第二令牌解析器,得到第二令牌序列;
86.s42,将第二令牌序列输入至第一文本分类模型中的语言模型层,得到第二语义向量。
87.其中,第二语义向量包括n1*(k+1)个向量。本发明实施例中,通过增量训练语料修改语料库,节省了算力成本。
88.进一步地,步骤s5中,基于第一语义向量、第二语义向量和第二线性连接层,训练得到第二文本分类模型包括:
89.s51,将第一语义向量和第二语义向量组合得到第三语义向量;
90.s52,将第三语义向量输入至第二线性连接层,训练得到第二文本分类模型。
91.本发明实施例中,通过将增量训练语料生成的第二语义向量、第一语义向量组合输入第二线性连接层进行训练,可复用语义向量中间结果,节省增量训练时间。
92.进一步地,步骤s52具体包括:
93.s521,将第三语义向量输入至第二线性连接层,以得到每条向量的预设个数的节点的值,其中,预设个数为第二训练语料的标签类别个数;
94.s522,将第二交叉熵损失函数反向传播至第二线性连接层,以调整第二线性连接层的参数权重,得到第二文本分类模型,其中,第二交叉熵损失函数是对每条向量的预设个数的节点的值进行softmax函数处理得来。
95.本发明实施例中,文本分类模型的训练方法还包括:
96.循环步骤52,当循环第二预设轮数或第二交叉熵函数降低到第二预设值后停止循环。本发明实施例中,由于复用了第一训练语料对应的语言模型层,因而避免了训练语言模型层的权重系数,比第一训练语料的训练节省了训练时间。
97.以下以一具体应用场景对本发明实施例提供的一种文本分类模型的训练方法进行阐述,如图3所示,包括以下步骤:
98.步骤1:获取第一训练语料,组织形式如图1所示。其中,标准问答10对,每个标准问对应19个相似问;
99.步骤2:将每个标准问作为一个标签类别,共10个标签类别,每个标准问与其对应19个相似问组成每个类别的20条训练语料,共200条训练语料;
100.步骤3:使用已经做过掩词预训练或开源的语言模型及对应的令牌解析器为基础,在其最外层接上全随机参数的第一线性连接层。其中,第一线性连接层输出10个节点,每个节点代表一个标签类别;
101.步骤4:将第一训练语料中的所有训练语料随机打乱,然后以5条语料为单位组成一组,共40组;
102.步骤5:将每组5条语料分别输入预设语言模型的令牌解析器,以得到与该组语料对应的令牌序列。将与该组语料对应的令牌序列输入语言模型层,以得到语义向量。将语义向量输入至第一线性连接层,以得到初始文本分类模型。基于第一交叉熵损失函数反向传播至语言模型层和第一线性连接层,以调整语言模型层和第一线性连接层的参数权重,对初始文本分类模型进行调优处理,得到第一文本分类模型,第一交叉熵损失函数是对初始文本分类模型的节点的值进行softmax函数处理得来;
103.步骤6:循环步骤5,将所有语料组循环一遍记为一个轮数,当循环10个轮数后结束训练;
104.步骤7:将200条训练语料输入至第一文本分类模型的语言模型层,得到第一语义向量;其中,第一语义向量包括200个向量;
105.步骤8:当有业务需要增加5对新的标准问答时,即从10对标准问答调整为15对标准问答时。确定新增的100条训练语料即100条增量训练语料,初始化一个映射到15个节点
的全随机参数线性连接层,即第二线性连接层;
106.步骤9:将100条增量训练语料输入至第一文本分类模型中的第二令牌解析器,得到第二令牌序列;将第二令牌序列输入至第一文本分类模型中的语言模型层,得到第二语义向量。其中第二语义向量包括100个向量;
107.步骤10:将第一语义向量和第二语义向量组合得到第三语义向量;其中,第三语义向量包括300个向量;
108.步骤11:将第三语义向量输入至第二线性连接层,以得到每条向量的预设个数的节点的值,其中,每条向量都可得到15个节点的值;将第二交叉熵损失函数反向传播至第二线性连接层,以调整第二线性连接层的参数权重,得到第二文本分类模型,其中,第二交叉熵损失函数是对每条向量的预设个数的节点的值进行softmax函数处理得来。
109.步骤12:循环步骤11,至10轮后停止循环。
110.本发明实施例提供的一种文本分类模型的训练方法,在faq文本分类模型中,当基于第一训练语料和预设语言模型训练完毕后,由于业务需要临时修改语料、修改标签体系时,对预设语言模型只训练其语言模型层。本发明实施例可复用语义向量中间结果,节省增量训练时间,还能使faq文本分类模型快速调整标签类别体且能保持较高的准确率。
111.实施例二:
112.基于实施例一的一种文本分类模型的训练方法,本发明实施例提供了一种文本分类方法,方法包括:
113.接收来自用户的用户问;
114.基于第二文本分类模型对用户问进行分类,确定与用户问所属的类别标签,其中,第二文本分类模型包括多个节点,每个节点包括有类别标签及类别标签的概率值;
115.输出与用户问所属类别标签对应的标准答。
116.本发明实施例提供的一种文本分类方法,可基于实施例一中的第二文本分类模型,当接收到用户问后,然后与第二文本分类模型中的类别标签进行匹配,找到最相近的标准问或相似问,并输出对应的标准答,简单便捷。
117.实施例三:
118.本发明实施例提供了一种文本分类模型的训练系统,应用于文本分类模型,包括:
119.第一训练单元,用于基于第一训练语料与预设语言模型,训练得到第一文本分类模型,其中,第一文本分类模型包括语言模型层和第一线性连接层,且第一线性连接层的节点个数与第一训练语料的标签类别个数对应;
120.第一执行单元,用于将第一训练语料输入至第一文本分类模型的语言模型层,得到第一语义向量;
121.增量获取单元,用于在获取到第二训练语料时,确定第二训练语料与第一训练语料之间的增量训练语料,以及初始化预设语言模型得到第二线性连接层;
122.第二执行单元,用于将增量训练语料输入至第一文本分类模型的语言模型层,得到第二语义向量;
123.第二训练单元,用于基于第一语义向量、第二语义向量和第二线性连接层,训练得到第二文本分类模型,其中第二文本分类模型包括语言模型层和第二线性连接层,且第二线性连接层的节点个数与第二训练语料的标签类别个数对应。
124.需要注意的是,本实施例提供的文本分类模型的训练系统的技术方案与本发明实施例提供的文本分类模型的训练方法的技术方案一致,关于文本分类模型的训练系统的具体限定可以参见上文中对于文本分类模型的训练方法的限定,为避免重复,在此不再赘述。
125.本发明实施例提供的一种文本分类模型的训练系统,在进行增量训练时,可复用第一训练语料的语义向量中间结果,节省了增量训练时间;当基于第一训练语料的文本分类模型训练完毕后,由于业务需要临时修改语料库、修改标签体系时,对原文本分类模型进行只训练最外层线性连接层的增量训练,可以在较少的算力成本下,使文本分类模型既能快速调整标签类别体系,又能保持较高的准确率。
126.实施例四:
127.本发明实施例提供了本发明实施例提供了一种文本分类模型的训练设备,图4为本发明实施例一种基于文本分类模型的文本分类模型的训练设备的硬件架构图,包括输入设备、输入接口、中央处理器、存储器、输出接口和输出设备。其中,输入接口、中央处理器、存储器及输出接口通过总线相互连接,输入设备和输出设备分别通过输入接口和输出接口与总线连接,进而与设备的其他组件连接。具体地,输入设备接收来自外部的输入信息,并通过输入接口将输入信息传送到中央处理器。中央处理器基于存储器存储的计算机可执行程序代码对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器中,然后通过输出接口将输出信息传送到输出设备,输出设备将输出信息输出到设备的外部供用户使用。
128.实施例五:
129.本发明实施例提供了一种计算机存储介质,存储有以上的可执行程序代码。该可执行程序代码被处理器执行时实现上述一种基于文本分类模型的文本分类模型的训练方法。本实施例中,存储介质可以是计算机能够读取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。其中,可用介质可以是磁性介质(如软盘、硬盘、磁带)、光介质(如dvd)、或者半导体介质(如固态硬盘ssd)等。进一步地,计算机可读存储介质还可以既包括系统的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机程序以及系统所需的其他程序和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
130.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
131.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1