数据分类模型训练方法、数据分类方法和装置与流程

文档序号:30797778发布日期:2022-07-19 21:00阅读:179来源:国知局
数据分类模型训练方法、数据分类方法和装置与流程

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.数据获取模块,用于获取待分类数据;
43.分类结果确定模块,用于将待分类数据输入目标数据分类模型,得到待分类数据对应的目标分类结果;
44.目标数据分类模型是基于训练样本集合中当前数据分类任务对应的当前训练样
本,对初始数据分类模型的编码层进行训练,得到中间数据分类模型,基于训练样本集合中下一个数据分类任务对应的更新训练样本对中间数据分类模型的编码层进行训练,得到更新数据分类模型,将更新训练样本的前向已训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,得到对应的第一特征和第二特征,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型,返回基于下一个数据分类任务对应的更新训练样本对中间数据分类模型的编码层进行训练的步骤,直至训练完成,基于训练完成时对应的中间数据分类模型得到。
45.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
46.获取待分类数据;
47.将待分类数据输入目标数据分类模型,得到待分类数据对应的目标分类结果;
48.目标数据分类模型是基于训练样本集合中当前数据分类任务对应的当前训练样本,对初始数据分类模型的编码层进行训练,得到中间数据分类模型,基于训练样本集合中下一个数据分类任务对应的更新训练样本对中间数据分类模型的编码层进行训练,得到更新数据分类模型,将更新训练样本的前向已训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,得到对应的第一特征和第二特征,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型,返回基于下一个数据分类任务对应的更新训练样本对中间数据分类模型的编码层进行训练的步骤,直至训练完成,基于训练完成时对应的中间数据分类模型得到。
49.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
50.获取待分类数据;
51.将待分类数据输入目标数据分类模型,得到待分类数据对应的目标分类结果;
52.目标数据分类模型是基于训练样本集合中当前数据分类任务对应的当前训练样本,对初始数据分类模型的编码层进行训练,得到中间数据分类模型,基于训练样本集合中下一个数据分类任务对应的更新训练样本对中间数据分类模型的编码层进行训练,得到更新数据分类模型,将更新训练样本的前向已训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,得到对应的第一特征和第二特征,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型,返回基于下一个数据分类任务对应的更新训练样本对中间数据分类模型的编码层进行训练的步骤,直至训练完成,基于训练完成时对应的中间数据分类模型得到。
53.上述数据分类方法、装置、计算机设备和存储介质,通过获取待分类数据,将待分类数据输入目标数据分类模型,得到待分类数据对应的目标分类结果,目标数据分类模型是基于训练样本集合中当前数据分类任务对应的当前训练样本,对初始数据分类模型的编码层进行训练,得到中间数据分类模型,基于训练样本集合中下一个数据分类任务对应的更新训练样本对中间数据分类模型的编码层进行训练,得到更新数据分类模型,将更新训练样本的前向已训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,得到对应的第一特征和第二特征,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型,返回基于下一个数据分类任务
对应的更新训练样本对中间数据分类模型的编码层进行训练的步骤,直至训练完成,基于训练完成时对应的中间数据分类模型得到。这样,针对数据分类模型的编码层的训练可以让数据分类模型从各个数据分类任务对应的训练样本中学习到各个数据分类任务自身的知识,针对数据分类模型的映射层的训练可以让数据分类模型学习到各个数据分类任务之间通用的知识,通过编码层和映射层的交替训练,既可以保障数据分类模型保持在前向数据分类任务上的数据分类准确性,又可以保障数据分类模型在新的数据分类任务上的数据分类准确性,从而得到一个通用的目标数据分类模型。
附图说明
54.图1为一个实施例中数据分类模型训练方法的应用环境图;
55.图2为一个实施例中数据分类模型训练方法的流程示意图;
56.图3为另一个实施例中数据分类模型训练方法的流程示意图;
57.图4为一个实施例中获取训练样本集合的流程示意图;
58.图5为一个实施例中编码层对输入数据进行编码处理的流程示意图;
59.图6为一个实施例中文本实体提取的示意图;
60.图7为一个实施例中对实体特征进行注意力分配的流程示意图;
61.图8为一个实施例中基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练的流程示意图;
62.图9为一个实施例中数据分类方法的流程示意图;
63.图10a为又一个实施例中数据分类模型训练方法的流程示意图;
64.图10b为一个实施例中本技术数据分类模型训练方法和传统方法的实验结果对比图;
65.图10c为一个实施例中本技术数据分类模型训练方法的实验结果对比图;
66.图11为一个实施例中数据分类模型训练装置的结构框图;
67.图12为一个实施例中数据分类模型训练装置的结构框图;
68.图13为一个实施例中数据分类装置的结构框图;
69.图14为一个实施例中计算机设备的内部结构图;
70.图15为一个实施例中计算机设备的内部结构图。
具体实施方式
71.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
72.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
73.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层
面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
74.计算机视觉技术(computer vision,cv)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
75.自然语言处理(nature language processing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
76.机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
77.本技术实施例提供的方案涉及人工智能的计算机视觉、自然语言处理、机器学习等技术,具体通过如下实施例进行说明:
78.本技术提供的数据分类模型训练方法和数据分类方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
79.终端102和服务器104均可单独用于执行本技术实施例中提供的数据分类模型训练方法。例如,服务器104获取训练样本集合,训练样本集合包括至少两个数据分类任务对应的训练样本。服务器104获取当前数据分类任务对应的当前训练样本,基于当前训练样本对初始数据分类模型的编码层进行训练,得到中间数据分类模型。服务器104获取下一个数据分类任务对应的更新训练样本,基于更新训练样本对中间数据分类模型的编码层进行训练,得到更新数据分类模型。服务器104将更新训练样本的前向已训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,得到对应的第一特征和第二特征,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型。若还需要继续训练,服务器104可以继续获取下一个数据分类任务对应的更新训练样本,继续进行训练,即返回获取下一个数据分类任务对应的更新训练样本的步
骤,直至训练完成,基于训练完成时对应的中间数据分类模型得到目标数据分类模型。
80.终端102和服务器104也可协同用于执行本技术实施例中提供的数据分类模型训练方法。例如,终端102将训练样本集合发送至服务器104,训练样本集合包括至少两个数据分类任务对应的训练样本。服务器104接收到训练样本集合后,服务器104可以获取当前数据分类任务对应的当前训练样本,基于当前训练样本对初始数据分类模型的编码层进行训练,得到中间数据分类模型,获取下一个数据分类任务对应的更新训练样本,基于更新训练样本对中间数据分类模型的编码层进行训练,得到更新数据分类模型,将更新训练样本的前向已训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,得到对应的第一特征和第二特征,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型,返回获取下一个数据分类任务对应的更新训练样本的步骤,直至训练完成,基于训练完成时对应的中间数据分类模型得到目标数据分类模型。
81.当然,终端102和服务器104均可单独用于执行本技术实施例中提供的数据分类方法。终端102和服务器104也可协同用于执行本技术实施例中提供的数据分类方法。
82.在一个实施例中,如图2所示,提供了一种数据分类模型训练方法,以该方法应用于图1中的计算机设备为例进行说明,计算机设备可以是上述图1中的终端102或服务器104。参考图2,数据分类模型训练方法包括以下步骤:
83.步骤s202,获取训练样本集合;训练样本集合包括至少两个数据分类任务对应的训练样本。
84.其中,训练样本集合包括至少两个数据分类任务对应的训练样本。一个数据分类任务对应的训练样本有多个。数据分类任务是用于对数据进行分类,从至少一个数据类别中确定待分类数据对应的目标数据类别。待分类数据具体可以是待分类图像、待分类文本等。数据分类任务包括至少一个数据分类子任务,一个数据分类子任务对应一个数据类别,不同的数据分类子任务对应不同的数据类别。
85.举例说明,训练样本集合包括文本分类任务一、文本分类任务二和文本分类任务三分别对应的训练文本。文本分类任务一包括文本类别1、文本类别2,文本分类任务一用于从文本类别1和文本类别2中确定待分类文本对应的目标文本类别。文本分类任务二包括文本类别3、文本类别4,文本分类任务二用于从文本类别3和文本类别4中确定待分类文本对应的目标文本类别。文本分类任务三包括文本类别5、文本类别6,文本分类任务三用于从文本类别5和文本类别6中确定待分类文本对应的目标文本类别。
86.训练样本集合包括图像分类任务一、图像分类任务二和图像分类任务三分别对应的训练图像。图像分类任务一包括多个运动犬品种,例如英国史宾格犬、爱尔兰赛特犬、拉布拉多猎犬等,图像分类任务一用于从各个运动犬品种中确定待分类图像中狗对应的目标品种。图像分类任务二包括多个工作犬品种,例如秋田犬、西伯利亚雪橇犬等,图像分类任务二用于从各个工作犬品种中确定待分类图像中狗对应的目标品种。图像分类任务三包括玩赏犬品种,例如吉娃娃、博美犬、泰迪犬等,图像分类任务三用于从各个玩赏犬品种中确定待分类图像中狗对应的目标品种。
87.可以理解,不同的数据分类任务之间包括至少一个不同的数据分类子任务,例如,数据分类任务一包括数据分类子任务a和数据分类子任务b,数据分类任务二包括数据分类
子任务a和数据分类子任务c。数据分类任务一包括数据分类子任务a和数据分类子任务b,数据分类任务二包括数据分类子任务c和数据分类子任务d。数据分类任务的划分可以根据实际需要设置,例如,根据不同的应用场景设置不同的划分方法。
88.具体地,计算机设备可以基于特定的数据分类任务对应的训练样本训练只适用该数据分类任务的机器学习模型,例如,基于文本分类任务一对应的训练文本训练机器学习模型一,机器学习模型一用于从文本分类任务一对应的各个文本类别中确定待分类文本对应的目标类别。基于文本分类任务二对应的训练文本训练机器学习模型二,机器学习模型二用于从文本分类任务二对应的各个文本类别中确定待分类文本对应的目标类别。然而,为了减少模型数量和提高模型训练效率,计算机设备可以获取训练样本集合,基于训练样本集合训练一个通用的数据分类模型,训练样本集合包括至少两个数据分类任务对应的训练样本。计算机设备可以先基于一部分数据分类任务对应的训练样本训练机器学习模型,再基于新的数据分类任务对应的训练样本继续训练机器学习模型,使机器学习模型能够在保持已学到的数据类别识别能力的情况下不断从新的数据分类任务对应的训练样本中学习新的数据类别识别能力,拓展机器学习模型的数据类别识别能力。例如,先基于文本分类任务一对应的训练文本训练机器学习模型,再基于文本分类任务二对应的训练文本继续训练该机器学习模型,使得该机器学习模型可以从文本分类任务一和二对应的各个文本类别中确定待分类文本对应的目标类别。
89.步骤s204,获取当前数据分类任务对应的当前训练样本,基于当前训练样本对初始数据分类模型的编码层进行训练,得到中间数据分类模型。
90.其中,当前数据分类任务可以是训练样本集合中任意一个数据分类任务。当前训练样本是指当前数据分类任务对应的训练样本。初始数据分类模型是指具备初始化模型参数的数据分类模型。模型参数初始化的方法有多种,例如随机赋值、置零或高斯分布初始化等。数据分类模型是用于对输入数据进行分类,确定输入数据对应的数据类别的机器学习模型。中间数据分类模型是指基于当前训练样本对初始数据分类模型进行训练,调整编码层参数后得到的机器学习模型。
91.数据分类模型包括编码层和映射层。编码层用于对输入数据进行编码,映射层用于对编码层的输出结果进行映射,最后基于映射层的输出结果可以生成输入数据对应的分类结果。基于数据分类任务对应的训练样本对数据分类模型的编码层进行训练,可以让数据分类模型学习到该数据分类任务的相关知识,从而训练后的数据分类模型可以用于处理该数据分类任务,从该数据分类任务对应的各个数据类别中确定待分类数据对应的目标数据类别。
92.具体地,计算机设备可以从训练样本集合中确定当前数据分类任务,获取当前数据分类任务对应的当前训练样本,基于当前训练样本对初始数据分类模型的编码层进行训练,调整初始数据分类模型的编码层的参数,从而得到中间数据分类模型。
93.例如,训练样本集合包括至少两个数据分类任务对应的训练样本,可以对各个数据分类任务进行随机排序,得到数据分类任务序列。计算机设备可以将排序第一的数据分类任务作为当前数据分类任务,基于当前数据分类任务对应的训练样本对初始数据分类模型的编码层进行训练,得到中间数据分类模型。这样,中间数据分类模型可以学习到排序第一的数据分类任务的相关知识。
94.步骤s206,获取下一个数据分类任务对应的更新训练样本,基于更新训练样本对中间数据分类模型的编码层进行训练,得到更新数据分类模型。
95.其中,下一个数据分类任务可以是除当前数据分类任务之外的其他数据分类任务,也就是,训练样本集合中未参与模型训练的数据分类任务。更新训练样本是指下一个数据分类任务对应的训练样本。更新数据分类模型是基于更新训练样本对中间数据分类模型进行训练,调整编码层参数后得到的机器学习模型。可以理解,对模型的编码层进行训练时,只调整编码层的参数,后续对模型的映射层进行训练时,只调整映射层的参数。
96.具体地,计算机设备可以从训练样本集合中确定下一个数据分类任务,获取下一个数据分类任务对应的更新训练样本,基于更新训练样本对中间数据分类模型的编码层进行训练,得到更新数据分类模型,也就是,在基于当前训练样本对初始数据分类模型的编码层进行训练并训练完成的基础上,基于下一个数据分类任务对应的更新训练样本继续对初始数据分类模型的编码层进行训练。
97.例如,从数据分类任务序列中,计算机设备可以将排序第二的数据分类任务作为下一个数据分类任务,基于下一个数据分类任务对应的训练样本对中间数据分类模型的编码层进行训练,调整中间数据分类模型的编码层的参数,从而得到更新数据分类模型。这样,更新数据分类模型可以学习到排序第二的数据分类任务的相关知识。
98.在一个实施例中,基于训练样本对数据分类模型的编码层进行训练具体可以是将训练样本输入数据分类模型,数据分类模型输出训练样本对应的预测标签,基于训练样本携带的训练标签和预测标签计算训练损失值,基于训练损失值对数据分类模型的编码层参数进行调整,直至更新后的训练损失值满足收敛条件,得到已训练编码层的数据分类模型。其中,标签是用于标识训练样本的数据类别,训练标签是指训练样本对应的真实数据类别,预测标签是指训练样本对应的预测数据类别。
99.步骤s208,将更新训练样本的前向已训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,得到对应的第一特征和第二特征。
100.其中,更新训练样本的前向已训练样本是指在更新训练样本之前,已经用于模型训练的各个训练样本。例如,从数据分类任务序列中,计算机设备基于排序第一的数据分类任务对应的训练样本对初始数据分类模型的编码层进行训练,得到中间数据分类模型,基于排序第二的数据分类任务对应的训练样本对中间数据分类模型的编码层进行训练。那么,排序第二的数据分类任务对应的训练样本的前向训练样本为排序第一的数据分类任务对应的训练样本。可以理解,更新训练样本的前向已训练样本包括至少一个数据分类任务对应的训练样本。
101.第一特征是指将更新训练样本的前向已训练样本输入中间数据分类模型后,中间数据分类模型的编码层输出的数据。第二特征是指将更新训练样本的前向已训练样本输入更新数据分类模型后,更新数据分类模型的编码层输出的数据。
102.具体地,计算机设备可以从训练样本集合中获取更新训练样本的前向已训练样本,将更新训练样本的前向已训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,将中间数据分类模型的编码层输出的结果作为第一特征,将更新数据分类模型的编码层输出的结果作为第二特征。可以理解,当更新训练样本的前向训练样本有多个时,将各个前向训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,得到各个前
向训练样本分别对应的第一特征和第二特征。
103.步骤s210,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型。
104.具体地,计算机设备基于同一训练样本对应的第一特征和第二特征可以对更新数据分类模型的映射层进行训练,调整更新数据分类模型的映射层的参数,从而得到新的数据分类模型。可以理解,更新训练样本的前向已训练样本通过中间数据分类模型输出的结果是比较准确的,因为中间数据分类模型是基于更新训练样本的前向已训练样本训练得到的。更新训练样本的前向已训练样本通过更新数据分类模型输出的结果是不太准确的,因为更新数据分类模型是在中间数据分类模型的基础上,基于更新训练样本进一步调整模型参数得到的。此时,在更新数据分类模型通过编码层训练学习到更新训练样本的知识,从而在更新训练样本对应的数据分类任务上有良好表现的基础上,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,目的是让更新数据分类模型能够维持在前向已训练样本对应的数据分类任务的表现,从而通过映射层训练得到的新的数据分类模型能够适用于当前所有已训练样本对应的数据分类任务。进一步的,将新的数据分类模型替换之前的中间数据分类模型,也就是,将新的数据分类模型作为更新的中间数据分类模型。
105.在一个实施例中,基于训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练具体可以是将训练样本对应的第二特征作为更新数据分类模型的编码层的输入,将训练样本对应的第一特征作为更新数据分类模型的编码层的预期输出,对更新数据分类模型的编码进行有监督训练,得到映射层训练后的数据分类模型。训练样本对应的第一特征是中间数据分类模型的编码层的输出结果,训练样本对应的第二特征是更新数据分类模型的编码层的输出结果。这样,在将第二特征作为更新数据分类模型的映射层的输入时,将第一特征作为映射层的目标输出,可以让前向已训练样本通过中间数据分类模型输出的结果和通过更新数据分类模型输出的结果汇聚到共同空间,从而让通过映射层训练后的数据分类模型学习到当前已训练数据分类任务的共性知识,得到通用于当前已训练数据分类任务的数据分类模型。
106.在一个实施例中,由于通过编码层训练,数据分类模型已经具备一个良好的模型参数,那么在对数据分类模型的映射层进行训练时,可以从更新训练样本的所有前向已训练样本中获取一部分前向已训练样本,基于少量的前向已训练样本就可以对更新数据分类模型的映射层进行训练,微调映射层参数,得到新的数据分类模型。
107.步骤s212,返回获取下一个数据分类任务对应的更新训练样本的步骤,直至训练完成,基于训练完成时对应的中间数据分类模型得到目标数据分类模型。
108.其中,目标数据分类模型是指最终训练完成的数据分类模型。
109.具体地,当基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到新的数据分类模型后,可以用新的数据分类模型替换之前的中间数据分类模型,将新的数据分类模型作为更新的中间数据分类模型,返回获取下一个数据分类任务对应的更新训练样本的步骤,进行新一轮的编码层训练和映射层训练。基于新的下一数据分类任务对应的训练样本对当前最新的中间数据分类模型的编码层进行训练,得到新的更新数据分类模型,将最新的已训练数据分类任务的前向数据分类任务对应的训练样
本分别输入当前最新的中间数据分类模型和更新数据分类模型的编码层,得到对应的第一特征和第二特征,基于同一训练样本对应的第一特征和第二特征对当前最新的更新数据分类模型的映射层进行训练,得到新的数据分类模型,用新的数据分类模型替换之前的中间数据分类模型,将新的数据分类模型作为更新的中间数据分类模型,返回获取下一个数据分类任务对应的更新训练样本的步骤,进行新一轮的编码层训练和映射层训练。以此类推,当训练样本集合中所有数据分类任务对应的训练样本都参与模型训练后,表明训练完成,基于训练完成时最终得到的数据分类模型得到目标数据分类模型。或者,当映射层的训练次数达到预设次数后,表明训练完成,基于训练完成时最终得到的数据分类模型得到目标数据分类模型。基于训练完成时对应的中间数据分类模型得到目标数据分类模型具体可以是将最终得到的数据分类模型作为目标数据分类模型。
110.举例说明,参考图3,训练样本集合包括数据分类任务一对应的训练样本一、数据分类任务二对应的训练样本二、数据分类任务三对应的训练样本三和数据分类任务四对应的训练样本四。基于训练样本一对初始数据分类模型的编码层进行训练,得到第一数据分类模型。基于训练样本二对第一数据分类模型的编码层进行训练,得到第二数据分类模型。将训练样本一输入第一数据分类模型的编码层,得到编码层输出的训练样本一的第一特征,将训练样本二输入第二数据分类模型的编码层,得到编码层输出的训练样本一的第二特征。基于训练样本一的第一特征和第二特征对第二数据分类模型的映射层进行训练,得到更新后的第二数据分类模型。
111.基于训练样本三对更新后的第二数据分类模型的编码层进行训练,得到第三数据分类模型。将训练样本一分别输入更新后的第二数据分类模型和第三数据分类模型的编码层,得到训练样本一的第一特征和第二特征,将训练样本二分别输入更新后的第二数据分类模型和第三数据分类模型的编码层,得到训练样本二的第一特征和第二特征。基于训练样本一的第一特征和第二特征、训练样本二的第一特征和第二特征对第三数据分类模型的映射层进行训练,得到更新后的第三数据分类模型。
112.基于训练样本四对更新后的第三数据分类模型的编码层进行训练,得到第四数据分类模型。将训练样本一分别输入更新后的第三数据分类模型和第四数据分类模型的编码层,得到训练样本一的第一特征和第二特征,将训练样本二分别输入更新后的第三数据分类模型和第四数据分类模型的编码层,得到训练样本二的第一特征和第二特征,将训练样本三分别输入更新后的第三数据分类模型和第四数据分类模型的编码层,得到训练样本三的第一特征和第二特征。基于训练样本一的第一特征和第二特征、训练样本二的第一特征和第二特征、训练样本三的第一特征和第二特征对第四数据分类模型的映射层进行训练,得到更新后的第四数据分类模型,将更新后的第四数据分类模型作为目标数据分类模型。
113.这样,通过编码层和映射层的交替训练,可以让数据分类模型在每次学习到新的数据分类任务的知识的基础上,保持在前述数据分类任务上的表现。那么,待分类数据输入目标数据分类模型后,目标数据分类模型可以从所有已训练数据分类任务对应的数据类别中确定待分类数据对应的目标数据类别。
114.上述数据分类模型训练方法中,通过获取训练样本集合,训练样本集合包括至少两个数据分类任务对应的训练样本,获取当前数据分类任务对应的当前训练样本,基于当前训练样本对初始数据分类模型的编码层进行训练,得到中间数据分类模型,获取下一个
数据分类任务对应的更新训练样本,基于更新训练样本对中间数据分类模型的编码层进行训练,得到更新数据分类模型,将更新训练样本的前向已训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,得到对应的第一特征和第二特征,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型,返回获取下一个数据分类任务对应的更新训练样本的步骤,直至训练完成,基于训练完成时对应的中间数据分类模型得到目标数据分类模型。这样,针对数据分类模型的编码层的训练可以让数据分类模型从各个数据分类任务对应的训练样本中学习到各个数据分类任务自身的知识,针对数据分类模型的映射层的训练可以让数据分类模型学习到各个数据分类任务之间通用的知识,通过编码层和映射层的交替训练,既可以保障数据分类模型保持在前向数据分类任务上的数据分类准确性,又可以保障数据分类模型在新的数据分类任务上的数据分类准确性,从而得到一个通用的目标数据分类模型。
115.在一个实施例中,如图4所示,获取训练样本集合,包括:
116.步骤s402,获取多个候选样本;候选样本携带候选标签。
117.步骤s404,将同一候选标签对应的各个候选样本进行聚类,得到各个候选标签对应的初始聚类簇。
118.其中,候选样本具体可以是图像或文本。候选标签是用于标识候选样本的数据类别。
119.具体地,计算机设备可以获取多个携带候选标签的候选样本,将同一候选标签对应的各个候选样本进行聚类,得到各个候选标签分别对应的初始聚类簇。也就是,计算机设备可以先根据候选样本的数据类别对候选样本进行分类,将同一数据类别的各个候选样本组成一个初始聚类簇,得到各个数据类别分别对应的初始聚类簇。
120.步骤s406,基于候选标签确定各个候选样本对应的处理优先级。
121.步骤s408,将初始聚类簇作为数据分类子任务,将同一处理优先级对应的各个数据分类子任务进行聚类,得到各个处理优先级对应的目标数据分类任务集;目标数据分类任务集包括同一数据分类任务对应的各个训练样本。
122.其中,处理优先级是根据候选样本的具体数据类别所对应的父类别确定的。候选样本的候选标签可以认为是子类别,一个子类别对应一个父类别,一个父类别可以对应至少一个子类别。父类别和子类别的对应关系可以预先存储在类别对照表中,从而基于类别对照表可以确定子类别对应的父类别。
123.举例说明,候选样本为电子病历。电子病历的父类别可以根据疾病的严重程度进行划分,例如,电子病历的父类别包括轻度疾病、中度疾病、重度疾病。电子病历的子类别可以根据具体的疾病进行划分,例如,感冒、咳嗽、发烧、癌症等。将严重程度较小的各种疾病归入轻度疾病,将严重程度中等的各种疾病归入中度疾病,将严重程度较大的各种疾病归入重度疾病。其中,电子病历是用电子设备(计算机、健康卡等)保存、管理、传输和重现的数字化的医疗记录,用以取代手写纸张病历。它的内容包括纸张病历的所有信息。
124.候选样本为狗图像。狗图像的父类别可以根据狗的用途进行划分,例如,狗图像的父类别包括运动犬、工作犬、畜牧犬、狩猎犬、梗犬、家庭犬和玩赏犬。狗图像的子类别可以根据具体的狗品种进行划分,例如,吉娃娃、博美犬、秋田犬等。将用于猎鸟的各种狗归入运动犬,将用于追逐猎物的各种狗归入狩猎犬,将用于玩赏、观赏的各种狗归入玩赏犬,将用
于执行任务、从事劳动作业的各种狗归入工作犬,将用于牧羊、牧牛的各种狗归入畜牧犬,将用于消除毒蛇害虫的各种狗作为梗犬,将用于作为伴侣、看护和守家的各种狗作为家庭犬。
125.具体地,计算机设备基于各个候选样本的候选标签可以确定各个候选样本对应的处理优先级,一个父类别可以作为一个处理优先级。进一步的,计算机设备可以将一个初始聚类簇作为一个数据分类子任务,将属于同一父类别的各个数据分类子任务进行聚类,得到各个处理优先级分别对应的目标数据分类任务集。一个目标数据分类任务集包括同一父类别下各个子类别对应的候选样本,也就是,一个目标数据分类任务集包括同一个数据分类任务对应的各个训练样本。一个父类别可以作为一个数据分类任务。
126.步骤s410,基于各个目标数据分类任务集得到训练样本集合。
127.具体地,通过聚类得到各个目标数据分类任务集后,计算机设备基于各个目标数据分类任务集可以得到训练样本集合,具体可以是由各个目标数据分类任务集组成训练样本集合。
128.举例说明,先将属于同一疾病的各个电子病历归入一个初始聚类簇,得到各个疾病对应的初始聚类簇。一个初始聚类簇作为一个数据分类子任务。将属于轻度疾病的各个数据分类子任务归入一个目标数据分类任务集,将属于中度疾病的各个数据分类子任务归入一个目标数据分类任务集,将属于重度疾病的各个数据分类子任务归入一个目标数据分类任务集,三个目标数据分类任务集组成训练样本集合。也就是,训练样本集合包括数据分类任务一、数据分类任务二和数据分类任务三分别对应的训练样本。数据分类任务一对应的训练样本包括至少一种具体的轻度疾病对应的电子病历,数据分类任务二对应的训练样本包括至少一种具体的中度疾病对应的电子病历,数据分类任务三对应的训练样本包括至少一种具体的重度疾病对应的电子病历。
129.在一个实施例中,目标数据分类模型用于从已训练样本对应的候选标签中确定待分类数据对应的目标标签。
130.具体地,当训练得到目标数据分类模型后,计算机设备可以获取待分类数据,将待分类数据输入目标数据分类模型,目标数据分类模型就可以输出待分类数据对应的目标标签,该目标标签是从所有已训练样本对应的候选标签中确定的一个候选标签,待分类数据属于该候选标签的概率最大。可以理解,现有的机器学习模型通常是基于一个数据分类任务对应的训练样本训练得到的,那么该机器学习模型只能从该数据分类任务对应的各个数据类别中确定待分类数据对应的目标数据类别。例如,基于运动犬对应的训练样本训练得到图像识别模型,该图像识别模型只能识别待分类图像中的狗具体属于哪种运动犬的概率最大。但是,本技术的目标数据分类模型是基于多个数据分类任务分别对应的训练样本训练得到的,目标数据分类模型可以从各个已训练数据分类任务对应的各个数据类别中确定待分类数据对应的目标数据类别。例如,基于运动犬、工作犬、畜牧犬、狩猎犬、梗犬、家庭犬和玩赏犬分别对应的训练样本训练得到图像识别模型,该图像识别模型可以识别待分类图像中的狗具体属于哪个品种的概率最大。
131.本实施例中,基于候选标签对候选样本进行第一次聚类,可以得到数据分类子任务,基于处理优先级对数据分类子任务进行第二次聚类,可以得到数据分类任务,从而基于各个数据分类任务对应的训练样本可以得到用于训练通用数据分类模型的训练样本集合。
132.在一个实施例中,训练样本集合中的训练样本携带训练标签,待训练数据分类模型为初始数据分类模型或中间数据分类模型,对待训练数据分类模型的编码层进行训练包括以下步骤:通过待训练数据分类模型对输入训练样本进行数据处理,得到输入训练样本对应的预测标签;基于输入训练样本对应的训练标签和预测标签的标签差异调整待训练数据分类模型的编码层参数,直至满足收敛条件。
133.其中,训练标签是用于标识训练样本的真实数据类别。预测标签是用于标识训练样本的预测类别,即将训练样本输入数据分类模型后,数据分类模型输出的分类结果。编码层参数是指数据分类模型的编码层的模型参数。
134.具体地,待训练数据分类模型为初始数据分类模型或中间数据分类模型,对待训练数据分类模型的编码层进行训练具体可以是通过待训练数据分类模型对输入训练样本进行数据处理,得到输入训练样本对应的预测标签,基于输入训练样本对应的训练标签和预测标签计算标签差异,基于标签差异进行反向传播,更新待训练数据分类模型的编码层参数,也就是,基于输入训练样本对应的训练标签和预测标签计算训练损失值,基于训练损失值更新待训练数据分类模型的编码层参数,直至满足收敛条件,得到已训练编码层的数据分类模型。其中,收敛条件具体可以是训练损失值为最小值,训练损失值的变化率小于预设阈值,迭代次数达到预设次数等。计算标签差异或训练损失值具体可以通过交叉熵损失函数、指数损失函数、铰链损失函数等损失函数。
135.当待训练数据分类模型为初始数据分类模型时,将当前训练样本输入初始数据分类模型,得到当前训练样本对应的预测标签,基于当前训练样本对应的训练标签和预测标签的标签差异调整初始数据分类模型的编码层参数,直至满足收敛条件,得到中间数据分类模型。
136.当待训练数据分类模型为中间数据分类模型时,将更新训练样本输入中间数据分类模型,得到更新训练样本对应的预测标签,基于更新训练样本对应的训练标签和预测标签的标签差异调整中间数据分类模型的编码层参数,直至满足收敛条件,得到更新数据分类模型。
137.本实施例中,通过待训练数据分类模型对输入训练样本进行数据处理,得到输入训练样本对应的预测标签,基于输入训练样本对应的训练标签和预测标签的标签差异调整待训练数据分类模型的编码层参数,直至更新后的标签差异满足收敛条件,得到已训练编码层的数据分类模型。基于有监督训练可以快速调整编码层的模型参数,快速对数据分类模型的编码层进行训练。
138.在一个实施例中,当前数据分类模型为初始数据分类模型、中间数据分类模型、更新数据分类模型和目标数据分类模型中的任意一种,当前数据分类模型的编码层用于对输入训练样本进行编码处理,得到初始特征,当前数据分类模型的映射层用于对初始特征进行映射处理,得到中间特征。
139.具体地,当前数据分类模型的编码层用于对输入训练样本进行编码处理,得到初始特征,映射层用于对初始特征进行映射处理,得到中间特征,最后,基于映射层输出的中间特征可以得到输入训练样本对应的预测标签。当前数据分类模型为初始数据分类模型、中间数据分类模型、更新数据分类模型和目标数据分类模型中的任意一种。可以理解,当前数据分类模型是指当前使用的数据分类模型。也就是,本技术的所有数据分类模型都是通
过编码层对输入训练样本进行编码处理,得到初始特征,通过映射层对初始特征进行映射处理,得到中间特征。
140.在一个实施例中,数据分类模型包括编码层、映射层和分类层。训练样本输入数据分类模型后,数据分类模型的编码层对输入训练样本进行编码处理,提取输入训练样本的特征信息,得到输入训练样本对应的初始特征。进一步的,数据分类模型的映射层接收编码层传输过来的初始特征,对初始特征进行映射处理,将初始特征映射到特征空间中,得到输入训练样本对应的中间特征。最后,数据分类模型的分类层接收映射层传输过来的中间特征,对中间特征进行分类处理,将中间特征转化为预设数据格式进行输出,从而得到训练样本对应的预测标签。
141.在一个实施例中,数据分类模型的编码层包括至少一个编码子网络,映射层包括至少一个映射子网络,一个编码子网络对应一个映射子网络。当数据分类模型的编码层包括至少两个编码子网络时,各个编码子网络用于提取输入训练样本不同的特征信息。例如,图像分类模型包括三个编码子网络,一个编码子网络用于提取输入图像的整体特征,一个编码子网络用于提取输入图像的背景特征,一个编码子网络用于提取输入图像的前景特征。图像分类模型包括四个编码子网络,一个编码子网络用于提取输入图像的颜色特征,一个编码子网络用于提取输入图像的纹理特征,一个编码子网络用于提取输入图像的形状特征,一个编码子网络用于提取输入图像的空间关系特征。数据分类模型中各个编码子网络的具体用途可以根据具体的数据分类任务进行设置。
142.当数据分类模型的编码层包括至少两个编码子网络时,各个编码子网络可以接收不同的数据作为输入数据。例如,训练样本包括至少两种训练数据,一种训练数据对应一个编码子网络,将训练样本输入数据分类模型后,各种训练数据分别输入数据分类模型中对应的编码子网络,各个编码子网络对各自的输入数据进行编码处理后,分别输出对应的初始子特征,基于各个初始子特征得到初始特征。此外,数据分类模型中还可以包括数据提取层,训练样本输入数据分类模型后,训练样本先输入数据提取层,提取对应的目标数据,再将目标数据输入对应的编码子网络,得到目标数据对应的初始子特征,将训练样本输入对应的编码子网络,得到训练样本对应的初始子特征。例如,当训练样本为训练图像时,训练图像输入数据分类模型后,可以先通过实体提取层对训练图像进行实体提取,提取训练图像上文本中的实体,得到训练图像对应的实体数据。然后,将实体数据和训练图像分别输入对应的编码子网络,通过实体提取层对应的编码子网络对实体数据进行编码处理,得到实体特征,通过训练图像对应的编码子网络对训练图像进行编码处理,得到图像特征,最后,由实体特征和图像特征组成初始特征。
143.编码子网络和映射子网络一一对应。各个编码子网络输出的初始子特征分别输入对应的映射子网络,各个映射子网络分别对各自的初始子特征进行映射处理,输出各个初始子特征对应的中间子特征,基于各个中间子特征得到中间特征。进一步的,分类层接收到各个中间子特征后,可以对各个中间子特征进行统一分类处理,将各个中间子特征进行融合并转化为预设数据格式进行输出,从而得到训练样本对应的预测标签。
144.在一个实施例中,编码层对输入训练样本进行编码处理具体包括正向编码处理和反向编码处理,对输入训练样本进行正向编码处理,得到输入训练样本对应的正向特征,对输入训练样本进行反向编码处理,得到输入训练样本对应的反向特征,基于正向特征和反
向特征得到输入训练样本对应的初始特征。可以理解,各个编码子网络在各自的输入数据进行编码处理时,都可以分别进行正向编码处理和反向编码处理,基于正向编码处理和反向编码处理的处理结果得到对应的初始子特征。
145.在一个实施例中,当数据分类模型的编码层包括至少两个编码子网络时,不同的编码子网络之间可以互相影响。例如,通过第一编码子网络输出的初始子特征a影响第二编码子网络输出的初始子特征b。基于第一编码子网络输出的初始子特征a对第二编码子网络输出的初始子特征b进行更新,得到初始子特征b’。进行更新具体可以是进行注意力分配、进行融合等处理。
146.在一个实施例中,当数据分类模型为文本分类模型时,文本分类模型的编码层结构具体可以是lstm网络。lstm网络是是一种特殊的rnn,能够学习长期依赖性,能够有效提取上下文特征。当数据分类模型为图像分类模型时,图像分类模型的编码层结构具体可以是cnn网络。
147.本实施例中,数据分类模型的编码层用于对输入训练样本进行编码处理,得到初始特征,数据分类模型的映射层用于对编码层传输过来的初始特征进行映射处理,得到中间特征。通过编码层和映射层的协作,数据分类模型最终可以输出输入数据对应的分类结果。
148.在一个实施例中,如图5所示,输入训练样本包括文本数据和实体数据,编码层包括文本数据对应的编码子网络和实体数据对应的编码子网络,初始特征的确定包括以下步骤:
149.步骤s502,通过文本数据对应的编码子网络对文本数据进行编码处理,得到文本特征。
150.步骤s504,通过实体数据对应的编码子网络对实体数据进行编码处理,得到实体特征。
151.步骤s506,基于实体特征和文本特征得到初始特征。
152.其中,训练样本可以是训练文本,文本数据是指整个训练文本,实体数据是指训练文本中的各个实体。
153.具体地,输入训练样本包括文本数据和实体数据,编码层包括文本数据对应的编码子网络和实体数据对应的编码子网络。计算机设备将输入训练样本输入数据分类模型后,可以通过文本数据对应的编码子网络对输入训练样本中的文本数据进行编码处理,得到文本数据对应的文本特征,通过实体数据对应的编码子网络对输入训练样本中的实体数据进行编码处理,得到实体数据对应的实体特征,最后,由实体特征和文本特征组成初始特征。
154.在一个实施例中,可以将训练文本输入实体提取模型,也就是,将文本数据输入实体提取模型,得到实体数据。实体提取模型具体可以是基于bert-lstm-crf的实体识别模型。进一步的,可以基于细粒度标注的实体训练样本训练得到用于细粒度实体提取的实体提取模型。细粒度标注是指细化实体,将普通实体划分为更精细的实体类别,最大化的利用实体词的细节知识。例如,传统的医疗实体提取模型只能识别医疗文本中的疾病、症状、药物等粗实体,而基于细粒度标注的实体训练样本训练得到医疗实体提取模型,不仅能够识别医疗文本中的疾病、症状、药物等粗粒度实体,还能识别医疗文本中的程度词、时间词、部
位词、否定词、连接词等细粒度实体。参考图6,将医疗文本输入用于细粒度实体提取的医疗实体提取模型后,可以输出医疗文本中各个细粒度实体和粗粒度实体。如图6所示,输入医疗实体提取模型的原始医疗文本(raw note)为中文“左侧头皮红疹,伴疼痛,为搏动性疼痛,持续性,诉轻度发热,无伴头晕”以及对应的英文“get tickles on the left scalp with feeling of continually pulsatile ache.mild fever and no dizziness”。医疗实体提取模型的输出可以是在医疗文本中标注出各个细粒度实体和粗粒度实体以及对应的实体类别。如图6所示,实体提取结果具体包括位置词(locative)-左侧(left)、部位词(body part)-头皮(scalp)、症状(symptom)-红疹(tickles)疼痛(ache)、修饰词(modifier)-搏动性(pulsatile)持续性(continually)轻度(mild)、症状(symptom)-发热(fever)、否定词(negative word)-无伴头晕(no dizziness),各个实体(sub-entities)按照在中文文本中的出现顺序排列。在训练医疗实体提取模型时,可以搜集大量的医疗语料,例如,搜集50000条医疗语料,从中标注14类实体类别包括疾病,症状,药物,治疗方法等,其中11类为细粒度实体类别包括但不限于连接词,否定词,部位词和程度词等等。当然,可以理解,除了医疗领域,其他领域也可以训练对应的用于细粒度实体提取的实体提取模型。
155.在一个实施例中,通过文本数据对应的编码子网络对文本数据进行编码处理得到文本特征具体可以是通过文本数据对应的编码子网络对文本数据进行正向编码处理,得到文本数据对应的正向特征,通过文本数据对应的编码子网络对文本数据进行反向编码处理,得到文本数据对应的反向特征,将该正向特征和该反向特征进行拼接得到文本特征。通过实体数据对应的编码子网络对实体数据进行编码处理得到实体特征具体可以是通过实体数据对应的编码子网络对实体数据进行正向编码处理,得到实体数据对应的正向特征,通过实体数据对应的编码子网络对实体数据进行反向编码处理,得到实体数据对应的反向特征,将该正向特征和该反向特征进行拼接得到实体特征。
156.本实施例中,当数据分类模型是文本分类模型时,输入训练样本除了包括文本数据,还可以包括实体数据。这样,数据分类模型的编码层可以通过文本数据对应的编码子网络对文本数据进行编码处理,得到文本特征,通过实体数据对应的编码子网络对实体数据进行编码处理,得到实体特征,将文本特征和实体特征传输到映射层。通过综合考虑文本和实体对文本分类的影响,可以提高文本分类模型的文本分类准确性。
157.在一个实施例中,当前数据分类模型包括实体提取层,编码层包括实体提取层对应的编码子网络和输入训练样本对应的编码子网络,初始特征的确定包括以下步骤:通过实体提取层对输入训练样本进行实体提取,得到输入训练样本对应的实体数据;通过实体提取层对应的编码子网络对实体数据进行编码处理,得到实体特征;通过输入训练样本对应的编码子网络对输入训练样本进行编码处理,得到文本特征;基于实体特征和文本特征得到初始特征。
158.具体地,数据分类模型除了包括编码层和映射层,还可以包括实体提取层。训练样本输入数据分类模型后,可以先通过实体提取层对输入训练样本进行实体提取,得到输入训练样本对应的实体数据。然后,将实体数据和输入训练样本分别输入对应的编码子网络,通过实体提取层对应的编码子网络对实体数据进行编码处理,得到实体特征,通过输入训练样本对应的编码子网络对输入训练样本进行编码处理,得到文本特征,最后,由实体特征和文本特征组成初始特征。
159.在一个实施例中,当训练样本为训练文本时,训练文本输入数据分类模型后,可以先通过实体提取层对训练文本进行实体提取,得到训练文本对应的实体数据。然后,将实体数据和训练文本分别输入对应的编码子网络,通过实体提取层对应的编码子网络对实体数据进行编码处理,得到实体特征,通过训练文本对应的编码子网络对训练文本进行编码处理,得到文本特征,最后,由实体特征和文本特征组成初始特征。
160.在一个实施例中,通过实体提取层对应的编码子网络对实体数据进行编码处理得到实体特征具体可以是通过实体提取层对应的编码子网络对实体数据进行正向编码处理,得到实体数据对应的正向特征,通过实体提取层对应的编码子网络对实体数据进行反向编码处理,得到实体数据对应的反向特征,将该正向特征和该反向特征进行拼接得到实体特征。通过输入训练样本对应的编码子网络对输入训练样本进行编码处理得到文本特征具体可以是通过输入训练样本对应的编码子网络对输入训练样本进行正向编码处理,得到输入训练样本对应的正向特征,通过输入训练样本对应的编码子网络对输入训练样本进行反向编码处理,得到输入训练样本对应的反向特征,将该正向特征和该反向特征进行拼接得到文本特征。
161.本实施例中,为了提高数据处理效率,数据分类模型除了包括编码层和映射层,还可以包括实体提取层。这样,就无需通过额外的实体提取模型先进行训练文本的实体提取,再将训练文本和提取到的实体一起输入到数据分类模型。通过数据分类模型内部的实体提取层就可以进行训练文本的实体提取,只需要将训练文本输入数据分类模型,数据分类模型内部就可以进行实体提取、编码处理、映射处理等一系列操作,从而提高了数据处理效率。
162.在一个实施例中,如图7所示,实体数据包括至少一个实体,实体特征包括各个实体对应的实体子特征,基于实体特征和文本特征得到初始特征,包括:
163.步骤s702,基于文本特征分别对各个实体对应的实体子特征进行注意力分配,得到各个实体对应的注意力信息。
164.其中,注意力分配用于为各个实体分配不同的注意力信息,实体的注意力信息可以反映实体在文本中的重要性。
165.具体地,实体特征和文本特征可以互相影响。例如,在医疗领域中,一些实体词的知识(例如症状,检查,药物等)会对于最终的病历文本分类起到至关重要的作用。相同的实体词在不同的语境下理应有不同的重要性,例如,电子病历a中记载有发热同时伴有头部红疹,电子病历b中只记载单纯的发热,电子病历a和电子病历b显然是对应不同的文本类别。可以理解,除了医疗邻域,其他领域的文本分类也是如此,实体数据在一定程度上会影响文本分类结果。因此,为了更加重视在当前语境下的重要实体,可以引入实体与上下文之间的注意力机制。注意力机制可以使得神经网络具备专注于其输入(或特征)子集的能力:选择特定的输入。在计算能力有限情况下,注意力机制是解决信息超载问题的主要手段的一种资源分配方案,将计算资源分配给更重要的任务。计算机设备基于文本特征可以分别对各个实体对应的实体子特征进行注意力分配,得到各个实体对应的注意力信息。
166.在一个实施例中,计算机设备可以按照下列公式进行注意力分配:
167.168.其中,um表示训练文本中第m个实体的注意力信息。表示训练文本中第m个实体的实体向量,即第m个实体的实体子特征。表示对进行矩阵转置。hc表示训练文本的文本向量,即文本特征。表示计算的模长,||hc||2表示计算hc的模长。通过一个实体的实体向量和包含该实体的文本向量之间的运算可以得到两两之间的重要性关系。
169.步骤s704,对各个实体对应的注意力信息进行归一化处理,得到各个实体对应的注意力因子。
170.具体地,计算机设备可以对各个实体对应的注意力信息进行归一化处理,得到各个实体对应的注意力因子。也就是,计算机设备可以对各个实体对应的注意力信息进行归一化处理,得到各个实体对应的权重。
171.在一个实施例中,计算机设备可以按照下列公式进行归一化处理:
[0172][0173]
其中,am表示训练文本中第m个实体对应的权重,即训练文本中第m个实体对应的注意力因子。exp表示e指数运算。um表示训练文本中第m个实体的注意力信息。m表示训练文本中实体的数量。uj表示训练文本中第j个实体的注意力信息。通过将一个实体与所有实体相互比较可以得到该实体在文本中的权重。
[0174]
步骤s706,基于各个实体对应的实体子特征和注意力因子得到更新后的实体特征。
[0175]
具体地,计算机设备将各个实体对应的实体子特征和对应的注意力因子进行加权求和可以得到更新后的实体特征。
[0176]
在一个实施例中,计算机设备可以按照下列公式计算更新后的实体特征:
[0177][0178]
其中,hs表示更新后的实体特征,am表示训练文本中第m个实体对应的权重,即训练文本中第m个实体对应的注意力因子。表示训练文本中第m个实体的实体向量,即第m个实体的实体子特征。m表示训练文本中实体的数量。将原始实体向量与权重相乘得到最终的实体向量。
[0179]
步骤s708,基于文本特征和更新后的实体特征得到初始特征。
[0180]
具体地,当计算得到更新后的实体特征,计算机设备可以将文本特征和更新后的实体特征组成初始特征。进一步的,将初始特征传输到映射层,通过文本数据对应的映射子网络对文本特征进行映射处理,得到文本数据对应的中间子特征,通过实体数据对应的映射子网络对更新后的实体特征进行映射处理,得到实体数据对应的中间子特征,由文本数据对应的中间子特征和实体数据对应的中间子特征组成中间特征。
[0181]
在一个实施例中,计算机设备可以按照下列公式对文本特征进行映射处理:
[0182][0183]
其中,zc表示文本特征的映射结果。表示文本数据对应的映射子网络的模
型参数。表示对进行矩阵转置。hc表示训练文本对应的文本特征,即文本数据对应的编码子网络的输出数据。xc表示编码子网络的输入数据为文本数据。表示对xc进行编码处理,即通过文本数据对应的编码子网络对文本数据进行编码处理。
[0184]
在一个实施例中,计算机设备可以按照下列公式对更新后的实体特征进行映射处理:
[0185][0186]
其中,zs表示更新后的实体特征的映射结果。表示实体数据对应的映射子网络的模型参数。表示对进行矩阵转置。hs表示更新后的实体特征。xs表示编码子网络的输入数据为实体数据。(xs)表示对xs进行编码处理和注意力分配处理,即通过实体数据对应的编码子网络对实体数据进行编码处理,以及基于文本特征对实体特征进行注意力分配处理。
[0187]
本实施例中,基于文本特征对实体特征进行注意力分配处理,能够区分文本中重要实体和非重要实体。重要实体表征更多关键语义信息,为重要实体分配更多的注意力,从而能够准确提高文本分类的准确性。
[0188]
在一个实施例中,通过当前编码子网络对当前输入数据进行编码处理,得到当前输入数据对应的特征,包括:通过当前编码子网络对当前输入数据进行正向编码处理,得到正向特征;通过当前编码子网络对当前输入数据进行反向编码处理,得到反向特征;基于正向特征和反向特征得到当前输入数据对应的特征。
[0189]
具体地,计算机设备通过当前编码子网络对当前输入数据进行编码处理具体可以是通过当前编码子网络对当前输入数据进行正向编码处理,得到正向特征,通过当前编码子网络对当前输入数据进行反向编码处理,得到反向特征,基于正向特征和反向特征得到当前输入数据对应的特征。基于正向特征和反向特征得到当前输入数据对应的特征具体可以是将正向特征和反向特征进行拼接、加权求和等处理。
[0190]
在一个实施例中,若当前输入数据为训练文本时,计算机设备可以通过下列公式进行正向编码处理和反向编码处理:
[0191][0192]
其中,表示训练文本的前t个词经过正向编码结果后的结果,即在第t时刻(第t个字符正向输入的输入时刻)的文本向量。lstm(long short-term memory,长短期记忆神经网络)表示通过lstm网络进行正向编码处理。表示训练文本的第t个词。表示训练文本的前t-1个词经过正向编码结果后的结果,即在第t-1时刻(第t-1个字符正向输入的输入时刻)的文本向量。
[0193]
表示训练文本的前t个词经过反向编码结果后的结果,即在第t时刻(第t个字符反向输入的输入时刻)的文本向量。lstm表示通过lstm网络进行反向编码处理。表示
训练文本的第t个词。表示训练文本的前t-1个词经过反向编码结果后的结果,即在第t-1时刻(第t-1个字符反向输入的输入时刻)的文本向量。
[0194]
最后,可以将和级联得到也就是,将和拼接在一起得到
[0195]
上述公式表示在t时刻(即第t个字符输入的时刻)的文本向量是基于前t-1时刻的向量和第t个词综合计算得到。可以理解,可以将训练文本的各个词正向输入到lstm网络进行正向编码处理,将训练文本的各个词反向输入到lstm网络进行反向编码处理。同理,可以将训练文本的各个实体按照在训练文本中出现的顺序正向输入到lstm网络进行正向编码,将训练文本的各个实体按照在训练文本中出现的顺序反向输入到lstm网络进行反向编码处理。
[0196]
本实施例中,通过编码子网络对输入数据进行正向编码处理和反向编码处理,能够帮助数据分类模型学习到文本各个字词之间的关联,并增强数据分类模型的泛化能力。
[0197]
在一个实施例中,编码层包括至少两个编码子网络,映射层包括至少两个映射子网络,编码子网络和映射子网络一一对应,初始特征包括各个编码子网络输出的初始子特征,中间特征的确定包括以下步骤:将各个编码子网络输出的初始子特征输入到对应的映射子网络,得到各个映射子网络输出的中间子特征;基于各个中间子特征得到中间特征。
[0198]
具体地,数据分类模型的编码层可以包括至少两个编码子网络,映射层可以包括至少两个映射子网络,一个编码子网络对应一个映射子网络,也就是,编码子网络和映射子网络一一对应。训练样本输入到数据分类模型后,通过各个编码子网络的数据处理,各个编码子网络可以分别输出对应的初始子特征。由于一个编码子网络对应一个映射子网络,各个编码子网络输出的初始子特征会输入到对应的映射子网络中,通过各个映射子网络的数据处理,各个映射子网络可以分别输出对应的中间子特征,由各个中间子特征得到中间特征。
[0199]
本实施例中,编码子网络和映射子网络一一对应,一个编码子网络的输出数据输入到对应的映射子网络中,能够有效保障数据分类模型内部数据处理的有序性。
[0200]
在一个实施例中,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型,包括:将前向已训练样本对应的第二特征输入更新数据分类模型的映射层,得到对应的预测特征;基于同一训练样本对应的第一特征和预测特征计算目标训练损失值;基于目标训练损失值对更新数据分类模型的映射层参数进行调整,直至满足收敛条件,得到更新的中间数据分类模型。
[0201]
具体地,为了让更新数据分类模型在通过更新训练样本进行训练后,能够保持在更新训练样本的前向已训练样本上的表现,需要对更新数据分类模型的映射层进行训练。具体可以将第二特征作为更新数据分类模型的映射层的输入,将第一特征作为更新数据分类模型的映射层的预期输出,对更新数据分类模型的映射层进行训练,使得更新数据分类模型能够保持在更新训练样本的前向已训练样本上的表现。
[0202]
计算机设备可以将前向已训练样本对应的第二特征输入更新数据分类模型的映射层,得到映射层输出的预测特征,基于同一训练样本对应的第一特征和预测特征计算目
标训练损失值,基于目标训练损失值进行反向传播,调整更新数据分类模型的映射层参数并继续训练,直至满足收敛条件,得到已训练映射层的数据分类模型。将已训练映射层的数据分类模型作为新的中间数据分类模型,以替换之前的中间数据分类模型。其中,收敛条件具体可以是目标训练损失值为最小值,目标训练损失值的变化率小于预设阈值,迭代次数达到预设次数等。计算目标训练损失值具体可以通过交叉熵损失函数、指数损失函数、铰链损失函数等损失函数。
[0203]
在一个实施例中,如图8所示,编码层包括至少两个编码子网络,映射层包括至少两个映射子网络,编码子网络和映射子网络一一对应,第一特征包括中间数据分类模型的各个编码子网络输出的第一子特征,第二特征包括更新数据分类模型的各个编码子网络输出的第二子特征,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型,包括:
[0204]
步骤s802,将前向已训练样本对应的各个第二子特征输入更新数据分类模型中对应的映射子网络,得到对应的各个预测子特征。
[0205]
具体地,更新数据分类模型的编码层包括至少两个编码子网络,映射层包括至少两个映射子网络,一个编码子网络对应一个映射子网络。计算机设备将训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,中间数据分类模型的各个编码子网络可以输出训练样本对应的第一子特征,各个第一子特征组合得到第一特征,更新数据分类模型的各个编码子网络可以输出训练样本对应的第二子特征,各个第二子特征组合得到第二特征。进而,计算机设备可以将前向已训练样本对应的各个第二子特征输入更新数据分类模型中对应的映射子网络,各个映射子网络输出对应的预测子特征。
[0206]
步骤s804,获取存在对应关系的编码子网络和映射子网络作为目标编码子网络和目标映射子网络。
[0207]
步骤s806,基于同一训练样本对应的目标编码子网络输出的第一子特征和目标映射子网络输出的预测子特征计算训练损失值,得到各个映射子网络对应的训练损失值。
[0208]
具体地,因为一个编码子网络对应一个映射子网络,所以一个第一子特征对应一个预测子特征。那么,计算机设备可以基于同一训练样本对应的目标编码子网络输出的第一子特征和目标映射子网络输出的预测子特征计算训练损失值,得到各个映射子网络分别对应的训练损失值。其中,目标编码子网络和目标映射子网络是指存在对应关系的编码子网络和映射子网络。
[0209]
步骤s808,基于各个训练损失值对更新数据分类模型中对应的映射子网络的参数进行调整,直至满足收敛条件,得到更新的中间数据分类模型。
[0210]
具体地,计算机设备可以将各个训练损失值进行反向传播,分别对更新数据分类模型中对应的映射子网络的参数进行调整并继续训练,直至满足收敛条件,得到已训练映射层的数据分类模型。将已训练映射层的数据分类模型作为新的中间数据分类模型,以替换之前的中间数据分类模型。其中,收敛条件具体可以是各个训练损失值均为最小值,各个训练损失值之和为最小值,各个训练损失值的平均变化率小于预设阈值,迭代次数达到预设次数等。计算目标训练损失值具体可以通过交叉熵损失函数、指数损失函数、铰链损失函数等损失函数。
[0211]
举例说明,更新数据分类模型包括存在对应关系的编码子网络一和映射子网络
一,存在对应关系的编码子网络二和映射子网络二。计算机设备可以将训练样本分别输入到中间数据分类模型和更新数据分类模型的编码层,中间数据分类模型的编码子网络一输出第一子特征a1,中间数据分类模型的编码子网络二输出第一子特征a2,更新数据分类模型的编码子网络一输出第二子特征b1,更新数据分类模型的编码子网络二输出第二子特征b2。进而,计算机设备可以将第二子特征b1输入到更新数据分类模型的映射子网络一,得到映射子网络一输出的第一预测子特征c1,基于第一子特征a1和第一预测子特征c1计算训练损失值d1,基于训练损失值d1调整更新数据分类模型的映射子网络一的模型参数。计算机设备将第二子特征b2输入到更新数据分类模型的映射子网络二,得到第一预测子特征c2,基于第一子特征a2和第一预测子特征c2计算训练损失值d2,基于训练损失值d2调整更新数据分类模型的映射子网络二的模型参数。当映射子网络的模型参数调整后,重复上述步骤可以计算得到新的训练损失值d1和训练损失值d2,当更新后的训练损失值d1和训练损失值d2满足收敛条件,就可以得到已训练映射层的数据分类模型。
[0212]
本实施例中,不同的映射子网络通过不同的训练损失值来进行调整参数,能够有效保障各个映射子网络的参数准确性,从而提高数据分类模型的数据分类准确性。
[0213]
在一个实施例中,如图9所示,提供了一种数据分类方法,以该方法应用于图1中的计算机设备为例进行说明,计算机设备可以是上述图1中的终端102或服务器104。参考图9,数据分类方法包括以下步骤:
[0214]
步骤s902,获取待分类数据。
[0215]
步骤s904,将待分类数据输入目标数据分类模型,得到待分类数据对应的目标分类结果;目标数据分类模型是基于训练样本集合中当前数据分类任务对应的当前训练样本,对初始数据分类模型的编码层进行训练,得到中间数据分类模型,基于训练样本集合中下一个数据分类任务对应的更新训练样本对中间数据分类模型的编码层进行训练,得到更新数据分类模型,将更新训练样本的前向已训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,得到对应的第一特征和第二特征,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型,返回基于下一个数据分类任务对应的更新训练样本对中间数据分类模型的编码层进行训练的步骤,直至训练完成,基于训练完成时对应的中间数据分类模型得到。
[0216]
具体地,当训练样本集合为训练文本集合时,基于训练样本集合最终训练得到的目标数据分类模型是目标文本分类模型。此时,待分类数据可以是待分类文本,计算机设备获取到待分类文本后,可以将待分类文本输入目标文本分类模型,得到目标文本分类模型输出的目标分类结果。
[0217]
当训练样本集合为训练图像集合时,基于训练图像集合最终训练得到的目标数据分类模型是目标图像分类模型。此时,待分类数据可以是待分类图像,计算机设备获取到待分类图像后,可以将待分类图像输入目标图像分类模型,得到目标图像分类模型输出的目标分类结果。
[0218]
计算机设备可以获取用户在终端上输入或浏览的待分类数据,将待分类数据输入到训练完成的目标数据分类模型,得到待分类数据对应的目标分类结果。计算机设备可以将目标分类结果向用户进行展示,例如,将待分类病历的目标分类结果向用户进行展示,以便用户进行下一步处理。计算机设备也可以根据目标分类结果对用户进行信息推荐,例如,
通过目标数据分类模型的输出结果确定用户当前浏览的新闻资讯为娱乐新闻,那么计算机设备就可以主动向用户推荐其他娱乐新闻,从而提高信息推荐效率。
[0219]
可以理解,基于训练样本集合对初始数据分类模型进行模型训练得到目标数据分类模型的具体过程可以参照前述数据分类模型训练方法的各个相关实施例所述的方法,此处不再赘述。
[0220]
上述数据分类方法,通过获取待分类数据,将待分类数据输入目标数据分类模型,得到待分类数据对应的目标分类结果,目标数据分类模型是基于训练样本集合中当前数据分类任务对应的当前训练样本,对初始数据分类模型的编码层进行训练,得到中间数据分类模型,基于训练样本集合中下一个数据分类任务对应的更新训练样本对中间数据分类模型的编码层进行训练,得到更新数据分类模型,将更新训练样本的前向已训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,得到对应的第一特征和第二特征,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型,返回基于下一个数据分类任务对应的更新训练样本对中间数据分类模型的编码层进行训练的步骤,直至训练完成,基于训练完成时对应的中间数据分类模型得到。这样,针对数据分类模型的编码层的训练可以让数据分类模型从各个数据分类任务对应的训练样本中学习到各个数据分类任务自身的知识,针对数据分类模型的映射层的训练可以让数据分类模型学习到各个数据分类任务之间通用的知识,通过编码层和映射层的交替训练,既可以保障数据分类模型保持在前向数据分类任务上的数据分类准确性,又可以保障数据分类模型在新的数据分类任务上的数据分类准确性,从而得到一个通用的目标数据分类模型。
[0221]
本技术还提供一种应用场景,该应用场景应用上述的数据分类模型训练方法。具体地,该数据分类模型训练方法在该应用场景的应用如下:
[0222]
1、建立训练文本集合
[0223]
在医疗领域中,可以根据疾病的严重程度来划分不同的文本分类任务,从而建立包括至少两个文本分类任务对应的训练文本的训练文本集合。由于基层医院主要处理常见疾病(普通疾病),二级医院主要处理中等疾病,三级医院主要处理重难疾病,因此,可以建立包括三个文本分类任务对应的训练文本的训练文本集合,三个文本分类任务对应的训练文本分别包括各种常见疾病对应的病历文本、各种中等疾病对应的病历文本、各种重难疾病对应的病历文本。可以理解,还可以通过其他方式进行文本分类任务的划分。
[0224]
2、基于训练文本集合训练得到目标文本分类模型
[0225]
如图10a所示,文本分类模型采用病历原始文本和实体的双通道设置,用双向lstm作为编码器分别对实体和文本做编码。文本通过对应的编码子网络进行编码处理,将最后一步输出作为文本的高维向量表达,即文本特征。实体通过对应的编码子网络进行编码处理,将每一步的输出作为每一个实体的高维向量表达,即实体特征。进一步的,通过注意力机制结合两个编码子网络的编码结果,基于文本特征对每一个实体进行权重分配以强化实体在最终向量表达中的作用,从而得到更新后的实体特征。在此之后,采用持续学习的方法将两个编码子网络的编码结果分别映射到两个适配所有任务的高维表示空间,即通用文本表示空间和通用实体表示空间。最后,通过分类层可以将通用文本表示空间和通用实体表示空间进行分类处理,输出输入文本对应的分类结果。
[0226]
文本分类模型的训练阶段分为两步,第一步是针对编码层进行训练,第二步是针对映射层进行训练。将训练分为两步主要是为了同时保证模型在当前任务和之前所有任务上的表现。具体地,第一步针对编码层的训练主要是让模型从当前任务的数据中学习其特定语境下的语言特征,而第二步针对映射层的训练主要是让以前一时刻的向量表征作为目标,从而得到通用于所有任务的向量表示。
[0227]
在针对每个文本分类任务做训练的时候,首先可以从完整训练文本集中取出各个文本分类任务的一部分训练文本作为训练集,来进行第一步训练。此外,可以从完整训练文本集中随机选取各个文本分类任务数量极小的训练文本,来进行第二步训练。
[0228]
2-1、编码层训练
[0229]
基于文本分类任务一对应的训练文本对初始文本分类模型的编码层进行训练,得到中间文本分类模型。基于文本分类任务二对应的训练文本对中间文本分类模型的编码层进行训练,得到更新文本分类模型。
[0230]
基于训练文本对文本分类模型的编码层进行训练具体可以是将训练文本输入文本分类模型,文本分类模型最终输出训练文本对应的预测类别,基于训练文本对应的训练类别和预测类别调整文本分类模型的编码层参数,直至满足收敛条件,得到已训练编码层的文本分类模型。
[0231]
2-2、映射层训练
[0232]
将文本分类任务一对应的训练文本分别输入中间文本分类模型和更新文本分类模型,得到中间文本分类模型的编码层输出的第一特征和更新文本分类模型的编码层输出的第二特征。将同一训练文本对应的第二特征输入更新文本训练模型的映射层,得到对应的预测特征,基于同一训练文本对应的第一特征和预测特征调整更新文本训练模型的映射层参数,直至满足收敛条件,得到已训练映射层的文本分类模型。
[0233]
以文本通道为例说明映射层训练,对于第k个任务用于映射层训练的训练文本子集可以定义为rk,同时rk在第k个任务训练结束后(即第k时刻)的高维向量表示定义为ek’,同理前k-1个任务在当前k时刻的原始文本和对应高维向量表示分别是{r1,r2,r3,

,rk-1},{e1’,e2’,e3’,

,ek-1’}。在训练第k+1个任务结束后,{r1,r2,r3,

,rk}被输入当前文本分类模型的编码层获取对应高维向量{e1,e2,e3,

,ek},则以上几组高维向量构成了针对当前文本分类任务的映射层的训练数据(x,y),即{(e1,e1’),(e2,e2’),(e3,e3’),

,(ek,ek’)}。训练数据(x,y)中x作为当前文本分类模型的映射层的输入,y作为当前文本分类模型的映射层的预期输出,对当前文本分类模型的映射层进行训练。
[0234]
可以理解,映射层也可以称为对齐层。对齐层的作用是把每个文本分类任务训练之后得到的文本向量以及实体向量编码转换成一个通用于所有任务的向量编码,从而达到持续学习的目的,保证模型在学习后续任务时依然不遗忘之前的任务。
[0235]
2-3、编码层和映射层交替训练
[0236]
将已训练映射层的文本分类模型作为新的中间数据分类模型,基于文本分类任务三对应的训练文本对当前最新的中间数据分类模型的编码层进行训练,得到新的更新数据分类模型。
[0237]
将文本分类任务一对应的训练文本分别输入当前最新的中间文本分类模型和当前最新的更新文本分类模型,得到当前最新的中间文本分类模型的编码层输出的第一特征
和当前最新的更新文本分类模型的编码层输出的第二特征。将文本分类任务二对应的训练文本分别输入当前最新的中间文本分类模型和当前最新的更新文本分类模型,得到当前最新的中间文本分类模型的编码层输出的第一特征和当前最新的更新文本分类模型的编码层输出的第二特征。将同一训练文本对应的第二特征输入当前最新的更新文本训练模型的映射层,得到对应的预测特征,基于同一训练文本对应的第一特征和预测特征调整当前最新的更新文本训练模型的映射层参数,直至满足收敛条件,得到已训练映射层的文本分类模型。
[0238]
当训练文本集合中的各个文本分类任务都参与训练后,将最后一次映射层训练结束后得到的文本分类模型作为目标文本分类模型。这样,在获取到待分类的病历文本后,可以将待分类的病历文本输入目标文本分类模型,得到待分类的病历文本对应的具体类别。
[0239]
本实施例中,利用原始病历数据以最小的成本就可以完成病历文本分类模型在多家医院的复用以及迭代。第一,引入了持续学习的概念,在接入新医院或者迭代版本的时候仅需在新文本分类任务上做训练,无需长时间保留医院病历数据,甚至可以在数据不出院的情况下完成模型训练。第二,对病历文本做一个前处理,从病历文本中提取得到一系列医疗实体作为另一通道的输入。模型的双通道涉及不仅可以提升模型的表现,还可以进一步提高病历文本的利用率。第三,在编码过程中利用注意力机制实现医疗实体与病历文本之间的交互,对不同实体在病历文本中的重要性进行重新分配,能够提高编码效率,提升特征提取准确性,从而提高病历文本分类的准确性。
[0240]
可以理解,本技术的数据分类模型训练方法除了应用在医疗文本分类,训练医疗文本分类模型以外,还可以应用在新闻资讯分类等其他领域的文本分类,训练各种文本分类模型。进一步的,除了应用在文本分类,训练文本分类模型以外,还可以应用在图像分类上,训练图像分类模型。
[0241]
进一步的,本实施例中的数据分类模型可以称为embedding episodic memory and consolidation,e2mc。将e2mc和通过其他持续学习方法得到的目标数据分类模型进行测试,得到的测试结果如图10b所示。图10b中的ewc(elastic weight consolidation,基于正则化的模型长期学习方法)是采用对损失设置约束的方案避免灾难性遗忘。即在对每个任务做训练时,ewc会对损失函数加正则项,以限制模型中的参数往兼容所有任务的方向做优化。图10b中的gem(gradient episodic memory)则是在每一个参数的梯度上做二次规划,把当前模型在之前任务上的损失同时记入此次更新的梯度中。在gem的基础上,有研究人员提出agem(average gradient episodic memory),采用平均的方式提升gem的整体效率。另外图10b中的mbpa++是一种在预测阶段引入回忆机制的方案,以达到避免遗忘的目的。图10b中的剩下两个比较对象则可以作为持续学习领域的上限和下限。图10b中横坐标表示参与模型训练的数据分类任务的个数,纵坐标表示模型的数据分类准确性。数据分类准确性可以是指数据分类模型在所有已训练任务上的平均准确率,具体可以通过准确性可以是指数据分类模型在所有已训练任务上的平均准确率,具体可以通过计算得到,其中,k表示参与模型训练的数据分类任务的个数,acc
f,k
表示数据分类模型f在第k个任务上的准确率。从图10b中可以看出,e2mc在表现上是明显优于其他现有方案,离持续学习领域的上限也相差不远。
[0242]
进一步的,也将数据分类模型的双通道方案与单通道方案进行对比,以证明实体
知识以及注意力机制引入的有益效果。如图10c所示,e2mc(no-attention)表示模型中没有引入注意力机制,e2mc(no-entity)表示模型中没有引入实体通道。如图10c所示,双通道方案明显提升了模型的表现。因为实体知识的引入在一定程度上提高了模型在现有任务空间和通用空间之间的映射能力,进一步优化了模型的遗忘现象。
[0243]
应该理解的是,虽然图2-5、7-10a的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5、7-10a中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0244]
在一个实施例中,如图11所示,提供了一种数据分类模型训练装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:训练样本集合获取模块1102、编码层训练模块1104、映射层训练模块1106和目标数据分类模型确定模块1108,其中:
[0245]
训练样本集合获取模块1102,用于获取训练样本集合;训练样本集合包括至少两个数据分类任务对应的训练样本;
[0246]
编码层训练模块1104,用于获取当前数据分类任务对应的当前训练样本,基于当前训练样本对初始数据分类模型的编码层进行训练,得到中间数据分类模型;获取下一个数据分类任务对应的更新训练样本,基于更新训练样本对中间数据分类模型的编码层进行训练,得到更新数据分类模型;
[0247]
映射层训练模块1106,用于将更新训练样本的前向已训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,得到对应的第一特征和第二特征;基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型;
[0248]
目标数据分类模型确定模块1108,用于返回获取下一个数据分类任务对应的更新训练样本的步骤,直至训练完成,基于训练完成时对应的中间数据分类模型得到目标数据分类模型。
[0249]
在一个实施例中,训练样本集合获取模块还用于获取多个候选样本;候选样本携带候选标签;将同一候选标签对应的各个候选样本进行聚类,得到各个候选标签对应的初始聚类簇;基于候选标签确定各个候选样本对应的处理优先级;将初始聚类簇作为数据分类子任务,将同一处理优先级对应的各个数据分类子任务进行聚类,得到各个处理优先级对应的目标数据分类任务集;目标数据分类任务集包括同一数据分类任务对应的各个训练样本;基于各个目标数据分类任务集得到训练样本集合。
[0250]
在一个实施例中,目标数据分类模型用于从已训练样本对应的候选标签中确定待分类数据对应的目标标签。
[0251]
在一个实施例中,训练样本集合中的训练样本携带训练标签,待训练数据分类模型为初始数据分类模型或中间数据分类模型,编码层训练模块还用于通过待训练数据分类模型对输入训练样本进行数据处理,得到输入训练样本对应的预测标签;基于输入训练样
本对应的训练标签和预测标签的标签差异调整待训练数据分类模型的编码层参数,直至满足收敛条件。
[0252]
在一个实施例中,当前数据分类模型为初始数据分类模型、中间数据分类模型、更新数据分类模型和目标数据分类模型中的任意一种,当前数据分类模型的编码层用于对输入训练样本进行编码处理,得到初始特征,当前数据分类模型的映射层用于对初始特征进行映射处理,得到中间特征。
[0253]
在一个实施例中,输入训练样本包括文本数据和实体数据,编码层包括文本数据对应的编码子网络和实体数据对应的编码子网络,如图12所示,所述装置还包括:
[0254]
输入训练样本处理模块1110,用于通过文本数据对应的编码子网络对文本数据进行编码处理,得到文本特征;通过实体数据对应的编码子网络对实体数据进行编码处理,得到实体特征;基于实体特征和文本特征得到初始特征。
[0255]
在一个实施例中,当前数据分类模型包括实体提取层,编码层包括实体提取层对应的编码子网络和输入训练样本对应的编码子网络,输入训练样本处理模块还用于通过实体提取层对输入训练样本进行实体提取,得到输入训练样本对应的实体数据;通过实体提取层对应的编码子网络对实体数据进行编码处理,得到实体特征;通过输入训练样本对应的编码子网络对输入训练样本进行编码处理,得到文本特征;基于实体特征和文本特征得到初始特征。
[0256]
在一个实施例中,实体数据包括至少一个实体,实体特征包括各个实体对应的实体子特征,输入训练样本处理模块还用于基于文本特征分别对各个实体对应的实体子特征进行注意力分配,得到各个实体对应的注意力信息;对各个实体对应的注意力信息进行归一化处理,得到各个实体对应的注意力因子;基于各个实体对应的实体子特征和注意力因子得到更新后的实体特征;基于文本特征和更新后的实体特征得到初始特征。
[0257]
在一个实施例中,输入训练样本处理模块还用于通过当前编码子网络对当前输入数据进行正向编码处理,得到正向特征;通过当前编码子网络对当前输入数据进行反向编码处理,得到反向特征;基于正向特征和反向特征得到当前输入数据对应的特征。
[0258]
在一个实施例中,编码层包括至少两个编码子网络,映射层包括至少两个映射子网络,编码子网络和映射子网络一一对应,初始特征包括各个编码子网络输出的初始子特征,输入训练样本处理模块还用于将各个编码子网络输出的初始子特征输入到对应的映射子网络,得到各个映射子网络输出的中间子特征;基于各个中间子特征得到中间特征。
[0259]
在一个实施例中,映射层训练模块还用于将前向已训练样本对应的第二特征输入更新数据分类模型的映射层,得到对应的预测特征;基于同一训练样本对应的第一特征和预测特征计算目标训练损失值;基于目标训练损失值对更新数据分类模型的映射层参数进行调整,直至满足收敛条件,得到更新的中间数据分类模型。
[0260]
在一个实施例中,编码层包括至少两个编码子网络,映射层包括至少两个映射子网络,编码子网络和映射子网络一一对应,第一特征包括中间数据分类模型的各个编码子网络输出的第一子特征,第二特征包括更新数据分类模型的各个编码子网络输出的第二子特征,映射层训练模块还用于将前向已训练样本对应的各个第二子特征输入所述更新数据分类模型中对应的映射子网络,得到对应的各个预测子特征;获取存在对应关系的编码子网络和映射子网络作为目标编码子网络和目标映射子网络;基于同一训练样本对应的目标
编码子网络输出的第一子特征和目标映射子网络输出的预测子特征计算训练损失值,得到各个映射子网络对应的训练损失值;基于各个训练损失值对更新数据分类模型中对应的映射子网络的参数进行调整,直至满足收敛条件,得到更新的中间数据分类模型。
[0261]
在一个实施例中,如图13所示,提供了一种数据分类装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:数据获取模块1302和分类结果确定模块1304,其中:
[0262]
数据获取模块1302,用于获取待分类数据;
[0263]
分类结果确定模块1304,用于将待分类数据输入目标数据分类模型,得到待分类数据对应的目标分类结果;
[0264]
目标数据分类模型是基于训练样本集合中当前数据分类任务对应的当前训练样本,对初始数据分类模型的编码层进行训练,得到中间数据分类模型,基于训练样本集合中下一个数据分类任务对应的更新训练样本对中间数据分类模型的编码层进行训练,得到更新数据分类模型,将更新训练样本的前向已训练样本分别输入中间数据分类模型和更新数据分类模型的编码层,得到对应的第一特征和第二特征,基于同一训练样本对应的第一特征和第二特征对更新数据分类模型的映射层进行训练,得到更新的中间数据分类模型,返回基于下一个数据分类任务对应的更新训练样本对中间数据分类模型的编码层进行训练的步骤,直至训练完成,基于训练完成时对应的中间数据分类模型得到。
[0265]
关于数据分类模型训练装置和数据分类装置的具体限定可以参见上文中对于数据分类模型训练方法和数据分类方法的限定,在此不再赘述。上述数据分类模型训练装置和数据分类装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0266]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储训练样本集合、目标数据分类模型等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据分类模型训练方法和数据分类方法。
[0267]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据分类模型训练方法和数据分类方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计
算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0268]
本领域技术人员可以理解,图14、15中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0269]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0270]
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0271]
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
[0272]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0273]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0274]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1