一种案件自动分类分拨方法与流程
未命名
10-18
阅读:159
评论:0
1.本发明涉及信息处理领域,更具体地,涉及一种案件自动分类分拨方法。
背景技术:
2.在城市政务热线服务中,市民通过电话、网站、微信小程序等多个途径上报自己的诉求信息。政务热线业务人员则需要将每个投诉案件做好分类,并根据案件类别和其他信息分拨到主管部门处理。随着政务热线的日趋繁忙,人工对投诉案件手工分类分拨的方式难以满足业务需要。使用机器学习、人工智能等技术,实现投诉案件自动化分类分拨的方法,已经逐渐在政务热线中得到广泛使用。
3.然而,已有的政务热线分类分拨方法虽然有较高的准确率,但由于模型参数大,模型结构复杂,因此模型处理数据时间较长,从而导致服务响应效率低,在成本有限的硬件上,难以满足业务的需求。
4.现有的对案件进行分类和分拨的方法主要分为三类:第一类是基于规则匹配的分类方法。这类方法通过构造分类分拨规则,如关键词匹配,对输入的案件文本自动分类分拨。这类方法在规则较少时,推理速度快;但在大规模的应用中,规则会逐渐越来越多,越来越复杂,推理速度就会越来越慢。
5.第二类是基于机器学习的方法。这类方法使用历史样本数据,训练如td-idf,支持向量机等机器学习算法或模型,然后使用训练好的算法或模型对案件文本做自动分类分拨。这类方法相较于基于神经网络的方法,推理速度快。但当案件类别划分不清晰,部门主管类型不太明确时,案件的分类分拨准确率较低。
6.第三类是基于神经网络的方法。这类方法通过构造神经网络,使用历史样本数据训练神经网络模型,然后使用训练好的模型对案件自动分类分拨。这类方法相较基于规则匹配和机器学习的方法,准确率更高。但已有的基于神经网络的案件分类分拨模型,其推理速度慢,难以满足政务热线业务的时效性。
技术实现要素:
7.本发明针对现有技术中存在的技术问题,提供一种案件自动分类分拨方法,包括:获取训练样本集,所述训练样本集中包括多个样本,每一个样本包括案件信息、案件类别和部门类别;将每一个样本输入教师模型的第一级线性层,输出第一初次案件类别预测向量和第一初次部门类别预测向量;以及将每一个样本输入学生模型的第一级线性层和第二级线性层,分别输出第二初次案件类别预测向量、第二初次部门类别预测向量以及二次案件类别预测向量和二次部门类别预测向量,其中,所述学生模型比所述教师模型的层级模块的数量少,每一个层级模型的维度小,所述教师模型为预先已训练好;基于第一初次案件类别预测向量、第一初次部门类别预测向量、第二初次案件类别预测向量、第二初次部门类别预测向量、二次案件类别预测向量和二次部门类别预测向
量,计算学生模型的损失;基于损失,对学生模型的参数进行调整更新,获取训练后的学生模型;将分类案件信息输入训练后的学生模型,获取学生模型输出的案件类别和部门类别。
[0008] 本发明提供的一种案件自动分类分拨方法,通过设计一个参数较少,结构较为简单的神经网络模型作为学生模型,以训练好的、复杂的案件分类分拨模型为教师模型, 通过知识蒸馏技术将教师模型的知识,蒸馏到学生模型。最后使用学生模型作为推理模型,对案件做分类和分拨。相较于已有的方法神经网络方法,能够大幅度提高推理速度;相较于直接使用数据训练学生模型,基于知识蒸馏得到的模型泛化能力更好,准确率更高。
附图说明
[0009]
图1为本发明提供的一种案件自动分类分拨方法流程图;图2为教师模型训练和推理示意图;图3为学生模型训练示意图;图4为教师模型和学生模型训练示意图。
具体实施方式
[0010]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。另外,本发明提供的各个实施例或单个实施例中的技术特征可以相互任意结合,以形成可行的技术方案,这种结合不受步骤先后次序和/或结构组成模式的约束,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
[0011]
本发明提供的一种案件自动分类分拨方法,主要包含2个部分,训练阶段:使用历史数据和教师模型,训练学生模型;推理阶段:使用学生模型对政务热线案件分类分拨。如图1,本发明提供的案件自动分类分拨方法包括如下步骤:步骤1,获取训练样本集,所述训练样本集中包括多个样本,每一个样本包括案件信息、案件类别和部门类别。
[0012]
可理解的是,样本集中的每一条样本格式为[案件信息,区域信息,案件类别,部门类别],其中区域信息是可选的。将样本集按比例分为训练样本集和验证样本集 。
[0013]
如:样本a[“天天噪音让人无法睡觉,已投诉,过了一个小时也没人管,太慢,太慢”,“哒哒区”,“440”,“105”],其中440和105分别是案件类别代号和部门类别代号。
[0014]
步骤2,将每一个样本输入教师模型的第一级线性层,输出第一初次案件类别预测向量和第一初次部门类别预测向量;以及将每一个样本输入学生模型的第一级线性层和第二级线性层,分别输出第二初次案件类别预测向量、第二初次部门类别预测向量以及二次案件类别预测向量和二次部门类别预测向量,其中,所述学生模型比所述教师模型的层级模块的数量少,每一个层级模型的维度小,所述教师模型为预先已训练好。
[0015]
可理解的是,将训练样本集中的每一个样本分别输入教师模型和学生模型,其中教师模型为已经训练完成,教师模型参数已经固定的状态。
[0016]
其中,图2为教师模型结构示意图,教师模型包括文本嵌入模型、两个第一级线性层、四个第二级线性层和两个类别嵌入矩阵,两个第一级线性层即图2中的线性层11和线性层12,四个第二级线性层即图2中线性层13、线性层14、线性层15和线性层16。所述教师模型中的文本嵌入模型为bert模型,所述bert模型包括12个transformer模块。
[0017]
图3为学生模型的结构示意图,学生模型包括文本嵌入模型、两个第一级线性层、四个第二级线性层和两个类别嵌入矩阵,两个第一级线性层即图3中的线性层21和线性层22,四个第二级线性层即图3中线性层23、线性层24、线性层25和线性层26。学生模型中的文本嵌入模型为tinybert模型,所述tinybert模型包括4个transformer模块。所述学生模型中的两个第一级线性层、四个第二级线性层和两个类别嵌入矩阵比所述教师模型中的两个第一级线性层、四个第二级线性层和两个类别嵌入矩阵的维度小。
[0018]
具体的,教师模型的文本嵌入模型为bert模型,bert模型包含12个transformer模块,文本嵌入向量的维度为768维;教师模型还包含6个线性层和2个类别嵌入矩阵。其中线性层11为初次案件预测模块输入维度为768,输出维度为nclass,nclass为案件类别的个数。线性层13、线性层14为二次案件预测模块,其中线性层13的输入输出维度都为768,线性层14的输入维度为768,输出维度为1。线性层12为初次部门预测模块输入维度为768,输出维度为ndepa,ndepa为部门类别的个数。线性层15、线性层16为二次部门预测模块,其中线性层15的输入输出维度都为768,线性层16的输入输出维度768,输出维度为1。2个类别矩阵分别是案件类别嵌入矩阵1和部门类别嵌入矩阵1,其中案件类别嵌入矩阵的维度为[nclass,768],部门类别嵌入矩阵的维度为[ndepa,768]。
[0019]
学生模型的文本嵌入模型为tinybert模型,tinybert模型包含4个transformer模块,文本嵌入向量的维度为312维;学生模型还包含6个线性层和2个类别嵌入矩阵。其中线性层21为初次案件预测模块输入维度为312,输出维度为nclass,nclass为案件类别的个数。线性层23、线性层24为二次案件预测模块,其中线性层23的输入输出维度都为312,线性层24的输入维度为312,输出维度为1。线性层22为初次部门预测模块输入维度为312,输出维度为ndepa,ndepa为部门类别的个数。线性层25、线性层26为二次部门预测模块,其中线性层25的输入输出维度都为312,线性层26的输入维度为312,输出维度为1。2个类别矩阵分别是案件类别嵌入矩阵2和部门类别嵌入矩阵2,其中案件类别嵌入矩阵的维度为[nclass, 312],部门类别嵌入矩阵的维度为[ndepa, 312]。
[0020]
其中,其中教师模型为已经完成训练的神经网络模型,即bert模型、线性层11、线性层12、线性层13、线性层14、线性层15、线性层16、案件类别嵌入矩阵1和部门类别嵌入矩阵1的参数在训练过程中一直固定,不会变动。
[0021]
其中,作为实施例,所述将每一个样本输入教师模型的第一级线性层,输出第一初次案件类别预测向量和第一初次部门类别预测向量,包括:将每一个样本输入教师模型的bert模型,得到第一文本嵌入向量,将第一文本嵌入向量分别输入教师模型的两个第一级线性层,获取其中一个第一级线性层输出的第一初次案件类别预测向量和另一个第一级线性层输出的第一初次部门类别预测向量。
[0022]
所述将每一个样本输入学生模型的第一级线性层和第二级线性层,分别输出第二
初次案件类别预测向量、第二初次部门类别预测向量以及二次案件类别预测向量和二次部门类别预测向量,包括:将每一个样本输入学生模型的tinybert模型,得到第二文本嵌入向量,将第二文本嵌入向量分别输入学生模型的两个第一级线性层,获取其中一个第一级线性层输出的第二初次案件类别预测向量和另一个第一级线性层输出的第二初次部门类别预测向量。基于学生模型输出的第二初次案件类别预测向量,从案件类别相关链表中获取相关案件类别嵌入矩阵,将第二初次案件类别预测向量和相关案件类别嵌入矩阵输入学生模型的第二线性层,输出二次案件类别预测向量;以及基于学生模型输出的第二初次部门类别预测向量,从部门类别相关链表中获取相关部门类别嵌入矩阵,将第二初次部门类别预测向量和相关部门类别嵌入矩阵输入学生模型的第二线性层,输出二次部门类别预测向量;其中,所述案件类别相关链表和所述部门类别相关链表由所述教师模型训练后生成的。
[0023]
基于训练样本集和训练好的教师模型,对学生模型进行训练的示意图可参见图4,其训练过程为:对于训练样本集中的每一个样本,分别输入教师模型中的bert模型,以及学生模型的tinybert模型,转换成文本嵌入向量,步骤如下:样本中如果有区域信息,则将区域信息与案件信息合并,得到合并后的案件信息。
[0024]
如:样本a合并后的案件信息为“哒哒区天天噪音让人无法睡觉,已投诉,过了一个小时也没人管,太慢,太慢”。
[0025]
使用教师模型中的bert模型分词器将合并后的案件信息转换成对应的词元编码,并在编码首尾加上特殊字符编码[cls],[sep],构成案件信息的词元编码。本发明中教师模型的bert模型为chinese-bert-wwm-ext bert(bidirectional encoder representation from transformers)预训练模型。
[0026]
如:样本a合并后的案件信息,基于教师模型中的bert分词器将合并后的案件信息转换成词元编码为:[101, 1515, 1515, 1277, 1921, 1692, 7509, 6375, 782, 3187, 3791, 4717, 6230, 8024, 2347, 2832, 6401, 8024, 6814, 749, 671, 702, 2207, 3198, 738, 3766, 782, 5052, 8024, 1922, 2714, 8024, 1922, 2714, 102]。其中101是特殊字符
‘
cls’的编码,102是特殊字符
‘
sep’的编码。对于每一个实体字向量,都会以编码“101”开头,编码“102”结尾。
[0027]
将案件信息的词元编码分别输入教师模型中的bert模型以及学生模型中的tinybert模型。教师模型和学生模型分别得到特殊字符“cls”的嵌入向量e
cls-t
,e
cls-s
;其中e
cls-t
代表了经bert模型转换后整个输入文本的语义特征;e
cls-s
代表了经tinybert模型转换后整个输入文本的语义特征。
[0028]
将嵌入向量e
cls-t
输入到教师模型中的线性层11,得到初次案件类别预测向量classdist1
t
, classdist1
t
为一个n
class
维的一维向量;将嵌入向量e
cls-t
输入到教师模型中的线性层12,得到初次部门类别预测向量depadist1
t
, depa dist1
t
为一个n
depa
维的一维向量。
[0029]
将嵌入向量e
cls-s
输入到学生模型中的线性层21,得到初次案件类别预测向量classdist1s, classdist1s为一个n
class
维的一维向量;将嵌入向量e
cls-s
输入到学生模型中的线性层22,得到初次部门类别预测向量depadist1s, depadist1s为一个n
depa
维的一维向量。
[0030]
学生模型的初次类别预测向量classdist1
t
经softmax层得到初次案件类别预测结果后,根据初次案件类别预测结果,从案件类别相关链表中找出案件相关类别,根据找出的案件相关类别,从案件类别嵌入矩阵中得到相关案件类别嵌入矩阵relateencoder
class
,案件相关类别可以有多个,且案件相关类别包含自身类别, relateencoder
class
是一个[m
class
,312]维的矩阵,其中m
class
表示相关类别的个数。同理可得到相关部门类别嵌入矩阵relateencoder
depa
。其中学生模型的案件类别相关链表与部门类别相关链表是在教师模型训练完毕后生成的,其中记录了每一个案件类别对应的相关案件类别。
[0031]
学生模型的案件类别相关链表和部门类别相关链表是直接复制教师模型中已经训练好的案件类别相关链表和部门类别相关链表(但案件类别嵌入矩阵和部门类别嵌入矩阵不是,因为教师模型是768维,而学生模型只有312维)。
[0032]
以案件类别相关链表为例:链表由多个键值对组成,每个键都是一个案件类别,每个键对应的值为与这个案件类别相关的案件类别,其中类别自身也算与这个案件类别相关的案件类别。
[0033]
如初次预测的案件类别为449,从案件类别相关链表中找到键449,然后得到对应的值362、1和449,即类别362、类别1和类别449都是449相关的类别。然后从案件类别嵌入矩阵中提取对应的类别362,1和449的向量,得到一个[3,312]的矩阵。
[0034]
将嵌入向量e
cls-s与相关案件类别嵌入矩阵的每一行直接按维度直接点乘,点乘结果作为线性层25的输入,经线性层25,线性层26,得到学生模型的案件类别预测结果res2
class
。
[0035]
嵌入向量e
cls-s
是[1, 312]维的向量,假设相关案件类别有4个,则相关案件类别嵌入矩阵的维度为[4, 312]。嵌入向量e
cls-s
与相关案件类别嵌入矩阵的每一行直接按维度直接点乘,得到的结果为[4, 312]。输入线性层25,得到的中间结果维度为[4, 312]。中间结果输入线性层26,得到的最终结果,其维度为[4,1]。
[0036]
步骤3,基于第一初次案件类别预测向量、第一初次部门类别预测向量、第二初次案件类别预测向量、第二初次部门类别预测向量、二次案件类别预测向量和二次部门类别预测向量,计算学生模型的损失。
[0037]
其中,学生模型的损失为:计算第一初次案件类别预测向量和第二初次案件类别预测向量之间的案件类别kl散度,以及计算第一初次部门类别预测向量和第二初次部门类别预测向量之间的部门类别kl散度;计算样本的实际案件类别和第二初次案件类别预测向量之间的第一交叉熵损失,以及计算样本的实际部门类别和第二初次部门类别预测向量之间的第二交叉熵损失;计算样本的实际案件类别和二次案件类别预测向量之间的第三交叉熵损失,以及计算样本的实际部门类别和二次部门类别预测向量之间的第四交叉熵损失;基于案件类别kl散度、部门类别kl散度、第一交叉熵损失、第二交叉熵损失、第三交叉熵损失和第四交叉熵损失计算学生模型的损失。
[0038]
可理解的是,将嵌入向量e
cls-t
输入到教师模型中的线性层11,得到初次案件类别预测向量classdist1
t
, 将嵌入向量e
cls-t
输入到教师模型中的线性层12,得到初次部门类别预测向量depadist1
t
。
[0039]
将嵌入向量e
cls-s
输入到学生模型中的线性层21,得到初次案件类别预测向量classdist1s;将嵌入向量e
cls-s
输入到学生模型中的线性层22,得到初次部门类别预测向量
depadist1s。
[0040]
计算classdist1
t
与classdist1s的kl散度,depadist1
t
和depadist1s之的kl散度kl(depadist1
t
, depadist1s)。kl散度能够衡量两个概率分布之间的相似性,的计算公式如下:;其中是老师模型初次案件类别预测向量的概率分布,是学生模型初次案件类别预测向量的概率分布。公式中前一项是散度,后一项是散度(与的值不一样,这是kl散度的特点),本发明中计算kl散度使用的是pytorch框架提供的kl散度损失函数函数f.kl_div。
[0041]
同样的,kl(depadist1
t
,depadist1s)的计算公式如下:;其中是教师模型输出的第一初次部门类别预测向量的概率分布,是学生模型输出的第二部门初次类别预测向量的概率分布。
[0042]
计算了学生模型的初次案件类别预测结果和教师模型的初次案件类别预测结果之间的kl散度,以及学生模型的初次部门类别预测结果和教师模型的初次部门类别预测结果之间的kl散度。
[0043]
然后,计算样本的实际案件类别和学生模型初次案件类别预测结果之间的交叉熵损失crossentropy1
class
。交叉熵损失是神经网络中一种常见的损失函数,主要用在多分类任务中,衡量模型的预测值与实际标签之间的差别。本技术中计算交叉熵损失使用的是pytorch框架提供的交叉熵损失函数函数f. crossentropyloss。同理,计算样本的实际部门类别和学生模型初次部门类别预测结果之间的交叉熵损失crossentropy1
depa
。
[0044]
以及然后根据学生模型的二次案件类别预测结果res2
class
与样本的实际案件类别,计算案件类别的二分类交叉熵损失binaryentropy2
class
。同理,可以得到部门类别的二分类交叉熵损失binaryentropy2
depa
。本发明中计算二分类交叉熵损失使用的是pytorch框架提供的二分类交叉熵损失函数f. binary_cross_entropy_with_logits。
[0045]
计算模型的总损失loss,并使用梯度下降法更新学生模型的参数。其中总损失loss的计算公式为:;其中,为第一初次案件类别预测向量和第二初次案件类别预测向量之间的案件类别kl散度,为第一初次部门类别预测向量和第二初次部门类别预测向量之间的部门类别kl散度,、、、分别为第一交叉熵损失、第二交叉熵损失、第三交叉熵损失和第四交叉熵损失。
[0046]
步骤4,基于损失,对学生模型的参数进行调整更新,获取训练后的学生模型。
[0047]
可理解的是,将训练样本集中的每一个样本按照上述步骤1、步骤2和步骤3的方法训练,并计算学生模型的损失,基于损失对学生模型的参数进行调整,通过遍历训练样本集中的每一个样本,通过不断调整学生模型的参数,直到损失达到最小,获取训练后的学生模型。
[0048]
对学生模型训练后,还包括:获取样本验证集;将所述样本验证集中的验证样本数输入训练后学生模型,输出每一个验证样本对应的预测案件类别和预测部门类别;根据每一个验证样本的实际案件类别和实际部门类别和对应的预测案件类别和预测部门类别,分别计算案件类别准确率和部门类别准确率;根据所述案件类别准确率和所述部门类别准确率,调整更新学生模型的参数,获取训练和验证后的学生模型。
[0049]
可理解的是,学生模型在训练集上多次迭代训练,使用验证样本集验证学生模型的准确率,将验证准确率最高的一版学生模型作为训练好的学生模型。将验证样本集中每个样本输入到学生模型,对于每个样本得到对应的预测案件类别和预测部门类别。对于每个验证样本,如果预测案件类别与样本中的实际案件类别一致,则预测正确,否则为预测错误。部门类别预测同理。准确率为验证正确的个数除以验证样本总个数,学生模型的验证准确率为(案件准确率+部门准确率)/2。如果准确率高于已有最高准确率,则保存此版本模型参数,并将已有最高准确率改为本版本准确率。
[0050]
步骤5,将分类案件信息输入训练后的学生模型,获取学生模型输出的案件类别和部门类别。
[0051]
可理解的是,学生模型训练并验证好后,可用于对案件类别和部门类别进行预测,比如,将待分类案件信息输入训练后的学生模型,获取学生模型输出的案件类别和部门类别,根据案件类别和部门类别,将案件分拨给相关部门处理。
[0052]
本发明提出一种案件自动分类分拨方法,通过知识蒸馏的方式,让简单的学生模型学习到复杂的教师模型的文本特征,最后使用简单的学生模型对案件文本做推理。相较于直接使用复杂的教师模型推理,使用简单的学生模型的推理时间更少,服务响应更快。以
及相较于直接使用数据训练简单的学生模型,这种蒸馏的方式能够使得简单学生模型学到教师模型中部分更复杂的文本特征,从而提高了模型的泛化性,准确率更高。
[0053]
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
[0054]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0055]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0056]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0057]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0058]
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0059]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
技术特征:
1.一种案件自动分类分拨方法,其特征在于,包括:获取训练样本集,所述训练样本集中包括多个样本,每一个样本包括案件信息、案件类别和部门类别;将每一个样本输入教师模型的第一级线性层,输出第一初次案件类别预测向量和第一初次部门类别预测向量;以及将每一个样本输入学生模型的第一级线性层和第二级线性层,分别输出第二初次案件类别预测向量、第二初次部门类别预测向量以及二次案件类别预测向量和二次部门类别预测向量,其中,所述学生模型比所述教师模型的层级模块的数量少,每一个层级的维度小,所述教师模型为预先已训练好;基于第一初次案件类别预测向量、第一初次部门类别预测向量、第二初次案件类别预测向量、第二初次部门类别预测向量、二次案件类别预测向量和二次部门类别预测向量,计算学生模型的损失;基于损失,对学生模型的参数进行调整更新,获取训练后的学生模型;将待分类案件信息输入训练后的学生模型,获取学生模型输出的案件类别和部门类别;所述教师模型包括文本嵌入模型、两个第一级线性层、四个第二级线性层和两个类别嵌入矩阵,所述教师模型中的文本嵌入模型为bert模型,所述bert模型包括12个transformer模块;所述学生模型包括文本嵌入模型、两个第一级线性层、四个第二级线性层和两个类别嵌入矩阵,所述学生模型中的文本嵌入模型为tinybert模型,所述tinybert模型包括4个transformer模块;所述学生模型中的两个第一级线性层、四个第二级线性层和两个类别嵌入矩阵比所述教师模型中的两个第一级线性层、四个第二级线性层和两个类别嵌入矩阵的维度小。2.根据权利要求1所述的案件自动分类分拨方法,其特征在于,所述将每一个样本输入教师模型的第一级线性层,输出第一初次案件类别预测向量和第一初次部门类别预测向量,包括:将每一个样本输入教师模型的bert模型,得到第一文本嵌入向量,将第一文本嵌入向量分别输入教师模型的两个第一级线性层,获取其中一个第一级线性层输出的第一初次案件类别预测向量和另一个第一级线性层输出的第一初次部门类别预测向量;所述将每一个样本输入学生模型的第一级线性层和第二级线性层,分别输出第二初次案件类别预测向量、第二初次部门类别预测向量以及二次案件类别预测向量和二次部门类别预测向量,包括:将每一个样本输入学生模型的tinybert模型,得到第二文本嵌入向量,将第二文本嵌入向量分别输入学生模型的两个第一级线性层,获取其中一个第一级线性层输出的第二初次案件类别预测向量和另一个第一级线性层输出的第二初次部门类别预测向量;基于学生模型输出的第二初次案件类别预测向量,从案件类别相关链表中获取相关案件类别嵌入矩阵,将第二初次案件类别预测向量和相关案件类别嵌入矩阵输入学生模型的第二线性层,输出二次案件类别预测向量;以及基于学生模型输出的第二初次部门类别预测向量,从部门类别相关链表中获取相关部门类别嵌入矩阵,将第二初次部门类别预测向量和相关部门类别嵌入矩阵输入学生模型的第二线性层,输出二次部门类别预测向量;
其中,所述案件类别相关链表和所述部门类别相关链表由所述教师模型训练后生成的。3.根据权利要求2所述的案件自动分类分拨方法,其特征在于,所述将每一个样本输入教师模型的bert模型,得到第一文本嵌入向量,包括:将每一个样本输入教师模型的bert模型分词器,经过bert模型分词器将样本中的案件信息转换成对应的词元编码,将所述词元编码输入教师模型中的bert模型,输出第一文本嵌入向量;所述将每一个样本输入学生模型的tinybert模型,得到第二文本嵌入向量,包括:将所述词元编码输入学生模型的tinybert模型,输出第二文本嵌入向量。4.根据权利要求2所述的案件自动分类分拨方法,其特征在于,所述基于学生模型输出的第二初次案件类别预测向量,从案件类别相关链表中获取相关案件类别嵌入矩阵,包括:根据第二初次案件类别预测结果,从案件类别相关链表中找出案件相关类别,根据找出的案件相关类别,从案件类别嵌入矩阵中得到相关案件类别嵌入矩阵relateencoderclass;所述基于学生模型输出的第二初次部门类别预测向量,从部门类别相关链表中获取相关部门类别嵌入矩阵,包括:根据第二初次部门类别预测结果,从部门类别相关链表中找出部门相关类别,根据找出的部门相关类别,从部门类别嵌入矩阵中得到相关部门类别嵌入矩阵relateencoder
depa
。5.根据权利要求1所述的案件自动分类分拨方法,其特征在于,所述基于第一初次案件类别预测向量、第一初次部门类别预测向量、第二初次案件类别预测向量、第二初次部门类别预测向量、二次案件类别预测向量和二次部门类别预测向量,计算学生模型的损失,包括:计算第一初次案件类别预测向量和第二初次案件类别预测向量之间的案件类别kl散度,以及计算第一初次部门类别预测向量和第二初次部门类别预测向量之间的部门类别kl散度;计算样本的实际案件类别和第二初次案件类别预测向量之间的第一交叉熵损失,以及计算样本的实际部门类别和第二初次部门类别预测向量之间的第二交叉熵损失;计算样本的实际案件类别和二次案件类别预测向量之间的第三交叉熵损失,以及计算样本的实际部门类别和二次部门类别预测向量之间的第四交叉熵损失;基于案件类别kl散度、部门类别kl散度、第一交叉熵损失、第二交叉熵损失、第三交叉熵损失和第四交叉熵损失计算学生模型的损失。6.根据权利要求5所述的案件自动分类分拨方法,其特征在于,所述计算第一初次案件类别预测向量和第二初次案件类别预测向量之间的案件类别kl散度,包括:;
其中是教师模型输出的第一初次案件类别预测向量的概率分布,是学生模型输出的第二初次案件类别预测向量的概率分布;所述计算第一初次部门类别预测向量和第二初次部门类别预测向量之间的部门类别kl散度,包括:;其中是教师模型输出的第一初次部门类别预测向量的概率分布,是学生模型输出的第二部门初次类别预测向量的概率分布。7.根据权利要求5所述的案件自动分类分拨方法,其特征在于,所述基于案件类别kl散度、部门类别kl散度、第一交叉熵损失、第二交叉熵损失、第三交叉熵损失和第四交叉熵损失计算学生模型的损失,包括:;其中,为第一初次案件类别预测向量和第二初次案件类别预测向量之间的案件类别kl散度,为第一初次部门类别预测向量和第二初次部门类别预测向量之间的部门类别kl散度,、、、分别为第一交叉熵损失、第二交叉熵损失、第三交叉熵损失和第四交叉熵损失。8.根据权利要求1所述的案件自动分类分拨方法,其特征在于,还包括:获取验证样本集;将所述验证样本集中的验证样本数输入训练后学生模型,输出每一个验证样本对应的预测案件类别和预测部门类别;根据每一个验证样本的实际案件类别和实际部门类别和对应的预测案件类别和预测部门类别,分别计算案件类别准确率和部门类别准确率;根据所述案件类别准确率和所述部门类别准确率,调整更新学生模型的参数,获取训练和验证后的学生模型。
技术总结
本发明提供一种案件自动分类分拨方法,通过设计一个参数较少,结构较为简单的神经网络模型作为学生模型,以训练好的、复杂的案件分类分拨模型为教师模型,通过知识蒸馏技术将教师模型的知识,蒸馏到学生模型,最后使用学生模型作为推理模型,对案件做分类和分拨。相较于已有的神经网络方法,能够大幅度提高推理速度;相较于直接使用数据训练学生模型,基于知识蒸馏得到的模型泛化能力更好,准确率更高。准确率更高。准确率更高。
技术研发人员:杨伊态 许继伟 段春先 黄亚林 张兆文 李成涛 陈胜鹏 刘惠娟 王敬佩 李颖
受保护的技术使用者:吉奥时空信息技术股份有限公司
技术研发日:2023.09.05
技术公布日:2023/10/11
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
