CN114330483A - 数据处理方法及模型训练方法、装置、设备、存储介质 - Google Patents
数据处理方法及模型训练方法、装置、设备、存储介质 Download PDFInfo
- Publication number
- CN114330483A CN114330483A CN202111336528.2A CN202111336528A CN114330483A CN 114330483 A CN114330483 A CN 114330483A CN 202111336528 A CN202111336528 A CN 202111336528A CN 114330483 A CN114330483 A CN 114330483A
- Authority
- CN
- China
- Prior art keywords
- data
- training sample
- loss value
- training
- model
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请的实施例可应用于云技术、人工智能、智慧交通、辅助驾驶、区块链等各种场景,揭示了一种数据处理方法及模型训练方法、装置、电子设备、计算机可读存储介质、程序产品,该数据处理方法包括:根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本;生成与第一训练样本相匹配的第二训练样本;分别将第一训练样本和第二训练样本输入数据识别模型,得到数据识别模型输出的第一识别结果和第二识别结果;根据第一识别结果与第二识别结果确定第一损失值,并基于第一损失值调整数据识别模型的参数。本申请实施例的技术方案能够降低训练样本的获取难度,提升模型训练效果。
Description
技术领域
本申请涉及人工智能技术领域,具体而言,涉及一种数据处理方法及模型训练方法、装置、电子设备、计算机可读存储介质、程序产品。
背景技术
随着机器学习的发展,其应用场景越来越多。机器学习模型的训练需要大量的训练样本。目前,模型训练过程中的训练样本通常是采用标注数据,但是数据的标注需要耗费大量的人力,成本高且耗时,较难获取到标注数据以用于模型训练,从而导致模型训练效果差。
发明内容
为解决上述技术问题,本申请的实施例提供了一种数据处理方法及模型训练方法、装置、电子设备、计算机可读存储介质、程序产品。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种数据处理方法,所述方法包括:
根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本;
生成与所述第一训练样本相匹配的第二训练样本;
分别将所述第一训练样本和所述第二训练样本输入数据识别模型,得到所述数据识别模型输出的第一识别结果和第二识别结果;
根据所述第一识别结果与所述第二识别结果确定第一损失值,并基于所述第一损失值调整所述数据识别模型的参数。
根据本申请实施例的一个方面,提供了一种模型训练方法,所述方法包括:
根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本;
生成与所述第一训练样本相匹配的第二训练样本;
分别将所述第一训练样本和所述第二训练样本输入数据识别模型,得到所述数据识别模型输出的第一识别结果和第二识别结果;
根据所述第一识别结果与所述第二识别结果确定第一损失值,并基于所述第一损失值调整所述数据识别模型的参数。
根据本申请实施例的一个方面,提供了一种数据处理装置,所述装置包括:
第一筛选模块,用于根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本;
第一生成模块,用于生成与所述第一训练样本相匹配的第二训练样本;
第一识别模块,用于分别将所述第一训练样本和所述第二训练样本输入数据识别模型,得到所述数据识别模型输出的第一识别结果和第二识别结果;
第一调整模块,用于根据所述第一识别结果与所述第二识别结果确定第一损失值,并基于所述第一损失值调整所述数据识别模型的参数。
根据本申请实施例的一个方面,提供了一种模型训练装置,所述装置包括:
第二筛选模块,用于根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本;
第二生成模块,用于生成与所述第一训练样本相匹配的第二训练样本;
第二识别模块,用于分别将所述第一训练样本和所述第二训练样本输入数据识别模型,得到所述数据识别模型输出的第一识别结果和第二识别结果;
第二调整模块,用于根据所述第一识别结果与所述第二识别结果确定第一损失值,并基于所述第一损失值调整所述数据识别模型的参数。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的方法。
在本申请的实施例所提供的技术方案中,一方面,将未标注数据作为训练样本,由于未标注数据的数据量较多,且容易获取到,从而降低了训练样本的获取难度,并且,基于未标注的第一训练样本生成未标注的第二训练样本,进一步降低了训练样本的获取难度;在少量标注数据的情况下,通过大量未标注数据的训练,可以大幅度提升模型的泛化能力,达到基于海量标注数据的模型训练效果;另一方面,根据已标注数据对未标注数据进行筛选,通过筛选后的未标注数据对模型进行训练,可以进一步提升模型训练效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请涉及的一种实施环境的示意图;
图2是本申请的一示例性实施例示出的一种数据处理方法的流程图;
图3是本申请的一示例性实施例示出的图像增强的示意图;
图4是本申请的一示例性实施例示出的语料增强的示意图;
图5是本申请的一示例性实施例示出的对未标注数据进行筛选的过程示意图;
图6是得到第二训练样本的步骤在一示例性实施例中的流程图;
图7是得到第二训练样本的步骤在一示例性实施例中的流程图;
图8是图2所示实施例中的步骤S140在一示例性实施例中的流程图;
图9是本申请的一示例性实施例示出的一种数据处理方法的流程图;
图10是本申请的一示例性实施例示出的添加标注语料的界面示意图;
图11是本申请的一示例性实施例示出的模型测试结果的示意图;
图12是本申请的一示例性实施例示出的模型识别过程示意图;
图13是本申请的一示例性实施例示出的确定总损失的框图;
图14是本申请的一示例性实施例示出的技能的训练和识别过程示意图;
图15是本申请的一示例性实施例示出的数据处理装置的结构示意图;
图16示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
还需要说明的是:在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在介绍本申请实施例的技术方案之前,先对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
半监督学习:采用标注样本和未标注样本对模型进行训练的方式。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
其中,计算机视觉技术(Computer Vision,CV),是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
区块链(Blockchain)技术,是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。区块链是指一套去中心化、具备分布式存储特点的基础架构,具体是一种按照时间顺序将数据区块用类似链表的方式组成的数据结构,能够安全存储有先后关系的、能在系统内进行验证的数据,并以密码学方式保证数据不可篡改和不可伪造。简单的讲,区块链就是去中心化的分布式账本,每一条链相当于一个独立的账本。
本申请实施例提供的方案涉及计算机视觉、自然语言处理、区块链等技术,具体通过如下实施例进行说明。
目前,模型训练过程中的训练样本通常是采用标注数据,但是数据的标注需要耗费大量的人力,成本高且耗时,较难获取到标注数据以用于模型训练,而通过少量的标注数据对模型进行训练,会使得模型过拟合,泛化能力差,从而导致模型的训练效果差。基于此,本申请的实施例提供了一种数据处理方法及模型训练方法、装置、电子设备、计算机可读存储介质、程序产品,可以降低训练样本的获取难度,提升模型的训练效果。
请参阅图1,图1是本申请涉及的一种实施环境的示意图。该实施环境包括终端设备100和服务器200,终端设备100和服务器200之间通过有线或者无线网络进行通信。
应该理解,图1中的终端设备100和服务器200的数目仅仅是是示意性的。根据实际需要,可以具有任意数目的终端设备100和服务器200。
用户可以使用终端设备100与服务器200进行交互,以接收消息或发送消息等。终端设备100可以是任意具有用户输入接口的电子设备,包括但不限于智能手机、平板、笔记本电脑、计算机、智能语音交互设备、智能家电、车载终端等等,其中,用户输入接口包括但不限于触摸屏、键盘、物理按键、音频拾取装置等。
服务器200可以是提供各种服务的服务器,其可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处不对此进行限制。
在一示例性实施例中,本申请实施例提供的数据处理方法可以由服务器200执行,相应地,数据处理装置可以置于服务器200中。其中,用户可以使用终端设备100向服务器200上传数据。服务器200可以对接收到的数据中一部分进行标注以得到已标注数据和未标注数据,其中,对数据进行标注的方式可以是人工标注,或者,也可以是自动标注(例如,基于数据挖掘、分类器等方式进行标注)。服务器200根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本,生成与第一训练样本相匹配的第二训练样本,分别将第一训练样本和第二训练样本输入数据识别模型,以得到数据识别模型输出的第一识别结果和第二识别结果;根据第一识别结果与第二识别结果确定第一损失值,并基于第一损失值调整数据识别模型的参数,从而经过多次训练得到训练完成的数据识别模型。这样,一方面,将未标注数据作为训练样本,由于未标注数据的数据量较多,且容易获取到,从而降低了训练样本的获取难度,并且,基于未标注的第一训练样本生成未标注的第二训练样本,进一步降低了训练样本的获取难度;在少量标注数据的情况下,通过大量未标注数据的训练,可以大幅度提升模型的泛化能力,达到基于海量标注数据的模型训练效果;另一方面,根据已标注数据对未标注数据进行筛选,通过筛选后的未标注数据对模型进行训练,可以进一步提升模型训练效果。
其中,数据识别模型为基于人工智能技术建立的模型。其可以是基于计算机视觉技术建立的用于对图像进行处理的模型;也可以是基于自然语言处理技术建立的用于对自然语言进行处理的模型;当然,根据实际需要,还可以是基于其他人工智能技术建立的模型。
数据识别模型可以应用于图像分类、语料分类、机器人对话、机器翻译等场景。
在另一些实施例中,某些终端设备100可以具有与服务器200相似的功能从而执行本申请实施例提供的数据处理方法。
在一示例性实施例中,本申请实施例提供的模型训练方法可以由服务器200执行,相应地,模型训练装置可以置于服务器200中。其中,用户可以使用终端设备100向服务器200上传数据。服务器200可以对接收到的数据中一部分进行标注以得到已标注数据和未标注数据,其中,对数据进行标注的方式可以是人工标注,或者,也可以是自动标注(例如,基于数据挖掘、分类器等方式进行标注)。服务器200根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本,生成与第一训练样本相匹配的第二训练样本,分别将第一训练样本和第二训练样本输入数据识别模型,以得到数据识别模型输出的第一识别结果和第二识别结果;根据第一识别结果与第二识别结果确定第一损失值,并基于第一损失值调整数据识别模型的参数,从而经过多次训练得到训练完成的数据识别模型。这样,一方面,将未标注数据作为训练样本,由于未标注数据的数据量较多,且容易获取到,从而降低了训练样本的获取难度,并且,基于未标注的第一训练样本生成未标注的第二训练样本,进一步降低了训练样本的获取难度;在少量标注数据的情况下,通过大量未标注数据的训练,可以大幅度提升模型的泛化能力,达到基于海量标注数据的模型训练效果;另一方面,根据已标注数据对未标注数据进行筛选,通过筛选后的未标注数据对模型进行训练,可以进一步提升模型训练效果。在另一些实施例中,某些终端设备100可以具有与服务器200相似的功能从而执行本申请实施例提供的模型训练方法。
需要说明的是,除了前述所涉及的应用场景,本申请实施例还可以应用于各种应用场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶、区块链等,在实际使用中,可以根据具体应用场景进行相应调整。例如,如果应用于云技术场景,则前述服务器200可以是云服务器,基于云服务器执行数据处理方法;如果应用于智慧交通或辅助驾驶场景,则前述终端设备100可以是车载终端、导航终端等,数据识别模型可以应用于语音导航中的语音识别、自动驾驶中的路况识别、车载终端的语音交互(例如,语音控制车辆启动、打开天窗、开启/关闭后备箱)等;如果应用于区块链场景,则数据识别模型可以在区块链系统中运行,或者,第一训练样本、第二训练样本、第三训练样本等数据可以存储在区块链中。
参见图2,图2是本申请的一示例性实施例示出的一种数据处理方法的流程图。该方法可以应用于图1所示的实施环境,并由图1所示实施例环境中的服务器200具体执行。
如图2所示,在一示例性实施例中,该数据处理方法可以包括步骤S110至步骤S140,详细介绍如下:
步骤S110,根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本。
需要说明的是,已标注数据为标注有对应标注信息的数据,为了提升模型的准确性,可以人工对数据进行标注以得到已标注数据,或者,为了提升标注效率,可以基于相关技术对数据进行自动标注以得到已标注数据,例如,通过数据挖掘技术对数据进行标注,或者,通过分类器对数据进行标注。
未标注数据为未标注对应标注信息的数据。
已标注数据和未标注数据的类型可以是图像,也可以是语料。已标注数据和未标注数据的数量可以根据实际需要灵活设置。
为了降低训练样本的获取难度,提升模型的效果,获取未标注数据,为了进一步提升模型的效果,获取已标注数据,并根据已标注数据对未标注数据进行筛选,将筛选出的未标注数据作为第一训练样本。
其中,未标注数据的获取方式可以根据实际需要灵活设置,例如,可以从数据识别模型的应用平台上获取线上日志作为未标注数据,或者,可以从数据识别模型的应用平台上获取该平台与客户端进行交互的数据,作为未标注数据;本实施例中,不对未标注数据的获取方式进行限定。另外,已标注数据的获取方式也可以根据实际需要灵活设置,例如,可以接收相关人员上传的已标注数据。
根据已标注数据对未标注数据进行筛选的方式可以根据实际需要灵活设置。例如,为了提升模型的效果,可以筛选出与已标注数据类似的数据作为第一训练样本,这样,通过与已标注数据类似的数据对模型进行训练,不仅可以提升模型的泛化能力,提升模型的准确率,还可以提升收敛速度。
步骤S120,生成与第一训练样本相匹配的第二训练样本。
本实施例中,在得到第一训练样本后,生成与第一训练样本相匹配的数据,并将生成的数据作为第二训练样本,即生成与第一训练样本含义相同或类似的第二训练样本。
其中,可以对第一训练样本进行数据增强,以得到第二训练样本。例如,若第一训练样本的类型为图像,则可以采用镜像、旋转、截取、增加噪音、智能增广等方式对第一训练样本进行数据增强,以得到第二训练样本,例如,参见图3所示,对左侧图像分别进行旋转、放大、截取,可以得到右侧对应的图像;若第一训练样本的类型为语料,则可以采用回译(back translation)、基于TF-IDF的词替换(其中,可以对TF-IDF值大于预设阈值的词进行替换,也可以对TF-IDF值小于预设阈值的词进行替换,或者采用其他替换方式)、生成同义句、同义词替换、增加噪声等方式对第一训练样本进行数据增强,以得到第二训练样本,例如,参见图4所示,可以采用回译方式,将左侧中文文本翻译为其他语言的文本,再将其他语言的文本翻译为中文文本,得到第二训练样本。需要说明的是,TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。
在对第一训练样本进行数据增强时,可以采用一种或者多种数据增强方式,这样,针对单个第一训练样本,可以生成一个或多个对应的第二训练样本。
步骤S130,分别将第一训练样本和第二训练样本输入数据识别模型,得到数据识别模型输出的第一识别结果和第二识别结果。
需要说明的是,数据识别模型为基于人工智能技术建立的模型,用于对输入的数据进行识别。根据实际应用场景不同,可以采用不同的人工智能技术建立数据识别模型。
数据识别模型可以应用于图像分类、语料分类、机器人对话、机器翻译等场景,其可以是用于对输入的数据进行分类、翻译等。
数据识别模型可以采用卷积神经网络(CNN,Convolutional Neural Network),也可以采用长短期记忆网络(LSTM,Long Short-Term Memory),若数据识别模型用于对语料进行处理时,为了提升数据识别模型的效果,也可以采用Transformer,当然,也可以采用其他类型的模型。其中,Transformer是一种依赖于注意力机制(Attention机制)的模型。
本实施例中,将第一训练样本输入数据识别模型,数据识别模型对第一训练样本进行处理,并输出针对第一训练样本的第一识别结果;将第二训练样本输入数据识别模型,数据识别模型对第二训练样本进行处理,并输出针对第二训练样本的第二识别结果。
其中,第一识别结果可以是数据识别模型针对第一训练样本输出的概率分布;第二识别结果也可以是数据识别模型针对第二训练样本输出的概率分布。
步骤S140,根据第一识别结果与第二识别结果确定第一损失值,并基于第一损失值调整数据识别模型的参数。
根据第一识别结果和第二识别结果确定第一损失值,并基于第一损失值调整数据识别模型的参数,从而得到训练完成的数据识别模型,在得到训练完成的数据识别模型后,即可基于该数据识别模型对输入的数据进行识别。
由于第二训练样本与第一训练样本匹配,因此,理论上第二训练样本对应的第二识别结果与第一训练样本对应的第一识别结果应当是相同或者类似的。在根据第一识别结果和第二识别结果确定第一损失值时,可以基于一致性损失函数确定第一损失值,其中,一致性损失函数为用于衡量两个参数之间的差异性的函数,其中,差异越大,对应的损失值越大,差值越小,对应的损失值越小。即基于第一识别结果与第二识别结果的相似性确定第一损失值,第一识别结果与第二识别结果越相似,则第一损失值越小。
其中,一致性损失函数的具体计算方式可以根据实际需要灵活设置。在一个示例中,一致性损失函数可以为获取两个参数之间的相对熵的函数。需要说明的是,相对熵(relative entropy),又被称为KL散度(Kullback-Leibler divergence)或信息散度(information divergence),是两个概率分布(probability distribution)间差异的非对称性度量。
需要说明的是,可以是由数据识别模型根据第一识别结果与第二识别结果确定第一损失值,并基于第一损失值调整数据识别模型的参数;或者,也可以是由数据处理装置根据第一识别结果与第二识别结果确定第一损失值,并基于第一损失值调整数据识别模型的参数。
在本申请的实施例所提供的技术方案中,一方面,将未标注数据作为训练样本,由于未标注数据的数据量较多,且容易获取到,从而降低了训练样本的获取难度,基于未标注的第一训练样本生成未标注的第二训练样本,进一步降低了训练样本的获取难度;并且,也无需为未标注数据采用智能标注等方式进行标注,降低了模型训练的难度,且避免了智能标注等方式带来的误差等,在少量标注数据的情况下,通过大量未标注数据的训练,可以大幅度提升模型的泛化能力,达到基于海量标注数据的模型训练效果,提升模型的泛化能力和准确率;另一方面,根据已标注数据对未标注数据进行筛选,通过筛选后的未标注数据对模型进行训练,可以进一步提升模型训练效果。
在一示例性实施例中,图2所示实施例中的步骤S110包括:获取已标注数据所含有的语料特征,并筛选出与获取到的语料特征相匹配的未标注数据,以得到第一训练样本。
其中,已标注数据包括语料,语料特征为对应语料具有的特征,包括但不限于该语料的语句结构、关键词等。
对已标注数据进行分析,可以获取到已标注数据的语料特征,基于已标注数据的语料特征对未标注数据进行筛选,并将筛选出的与已标注数据的语料特征相匹配的未标注数据作为第一训练样本,从而筛选出与已标注数据相同或类似的未标注数据作为第一训练样本,由于用户发出请求的方式是类似的,因此,采用这种筛选方式筛选出的未标注数据与用户发出请求的方式类似,从而可以提升模型训练的效果。
其中,可以筛选出包含有已标注数据的语料特征的未标注数据,以得到第一训练样本;或者,可以筛选出包含有已标注数据的语料特征的未标注数据,以及,筛选出语料特征与已标注数据的语料特征类似的未标注数据,从而将筛选出的未标注数据作为第一训练样本。
需要说明的是,语料特征的类型不同,其筛选方式不同。
在一示例性实施例中,在语料特征包括语句结构的条件下,获取已标注数据所含有的语料特征,并筛选出与获取到的语料特征相匹配的未标注数据,以得到第一训练样本的过程可以包括步骤S210-步骤S220,详细介绍如下:
步骤S210,对已标注数据进行分析,以得到已标注数据的语句结构。
语句结构为一句话对应的结构,指以词语的编排而组成的完整语句的合理性组织,包括但不限于句型和句式。其中,句型是根据句子的结构(句法成分的配置格局)对不同的单句进行分类,从而划分出的类型,句型分为主谓句和非主谓句两大类,主谓句又分为三小类:动词谓语句,形容词谓语句,名词谓语句;非主位句又分为五小类:动词性非主谓句,形容词性非主谓句,名词性非主谓句,叹词句,拟声词句。句式是根据句子的局部特点分出的下位类名,例如:主谓语句、“把”字句、“被”字句、“连谓句”、兼语句、双宾句、存现句等。
对已标注数据进行分析,可以得到已标注数据的语句结构。
步骤S220,筛选出与语句结构相匹配的未标注数据,以得到第一训练样本。
在得到已标注数据的语句结构后,可以从未标注数据中筛选出与该语句结构相匹配的未标注数据,从而将筛选出的未标注数据作为第一训练样本。
其中,可以筛选出语句结构与已标注数据的语句结构相同的未标注数据,以作为第一训练样本;或者,可以筛选出语句结构与已标注数据的语句结构相同的未标注数据,以及,筛选出语句结构与已标注数据的语句结构类似的未标注数据,并将筛选出的未标注数据作为第一训练样本。
在一个示例中,假设某已标注数据为“我想听a的***歌”,则筛选出与“我想听[歌手]的[歌名]”类似文法的未标注数据,并将筛选出的未标注数据作为第一训练样本。其中,在进行筛选时,可以采用正则匹配的方式进行筛选。
通过筛选与已标注数据的语句结构相匹配的未标注数据,将筛选出的未标注数据作为第一训练样本,由于用户发出某类请求的语句结构是类似的,因此,采用这种筛选方式筛选出的未标注数据与用户发出请求的方式类似,从而可以提升模型训练的效果。
在一示例性实施例中,在语料特征包括关键字的条件下,获取已标注数据所含有的语料特征,并筛选出与获取到的语料特征相匹配的未标注数据,以得到第一训练样本的过程可以包括步骤S310-步骤S330,详细介绍如下:
步骤S310,获取已标注数据的关键词。
对已标注数据进行分析,可以获取到已标注数据的关键词。
步骤S320,对未标注数据进行分词处理,以得到对应的词语集合。
未标注数据包括语料,对未标注数据进行分词处理,可以得到对应的词语集合,其中,一条语料对应一个词语集合。
其中,为了提升检索速度,在得到对应的词语集合后,可以对词语集合中的词语进行过滤,以过滤掉停用词,得到过滤后的词语集合,并转步骤S330。其中,停用词可以根据实际需要灵活设置,例如,可以是语气词、介词、助词等。例如,假设未标注数据包括“我要听某某的歌”、“请播放某某的歌”,对“我要听某某的歌”进行分词处理,得到词语集合:“我、要、听、某某、的、歌”,对其中的助词和介词进行过滤,得到过滤后的词语集合:“我、听、某某、歌”;对“请播放某某的歌”进行分词处理,得到词语集合:“请、播放、某某、的、歌”,对其中的助词和介词进行过滤,得到过滤后的词语集合:“播放、某某、歌”。
步骤S330,若词语集合中含有关键词,则将对应的未标注数据作为第一训练样本。
在得到已标注数据的关键词以及未标注数据对应的词语集合后,从未标注数据对应的词语集合中查找关键字,若从词语集合中查找出关键词,则将该词语集合对应的未标注数据作为第一训练样本。
其中,可以查找出包含有某一条已标注数据对应的所有关键词的词语集合,将查找出的词语集合对应的未标注数据作为第一训练样本,例如,假设包括两条已标注数据,其中一条已标注数据对应的关键词包括“播放、电影”,另一条已标注数据对应的关键词包括“听、音乐”,则查找出包括“播放”和“电影”的词语集合,并查找出“听”和“音乐”的词语集合,将查找出的词语集合对应的未标注数据作为第一训练样本。或者,也可以查找出包含有至少一个关键词的词语集合,将查找出的词语集合对应的未标注数据第一训练样本,例如,假设关键词包括“播放、电影、听、歌”,则查找出包括“播放、电影、听、歌”这四个词中的至少一个词的词语集合,并将查找出的词语集合对应的未标注数据作为第一训练样本。
在一些实施方式中,在从未标注数据对应的词语集合中查找关键字的过程中,可以采用ES的倒排索引功能来查找。可以理解的是,ES(Elasticsearch)是一个基于Lucene的搜索服务器。例如,在一个示例中,根据已标注数据的关键词对未标注数据进行筛选的过程可以如图5所示,其中,先对未标注数据进行分词处理得到词语集合,再对词语集合中的停用词进行过滤,这样,可以减少ES倒排表的数量以及倒排链长度,提升后续筛选的准确度;然后,导入ES索引数据的脚本,将过滤后的词语集合导入ES数据索引库,获取已标注数据的关键词进行检索,根据倒排表命中包含关键词的词语集合,ES将命中的词语集合对应的未标注数据返回,以作为第一训练样本。
在一些实施方式中,还可以筛选出包含有已标注数据的关键词的同义词或近义词的未标注数据作为第一训练样本,例如,假设已标注数据的关键词为“歌曲”,则可以筛选出包含“音乐”、“歌”的未标注数据作为第一训练样本。
通过筛选包含已标注数据的关键字的未标注数据,将筛选出的未标注数据作为第一训练样本,由于用户发出某类请求所包含的关键字是类似的,因此,采用这种筛选方式筛选出的未标注数据与用户发出请求的方式类似,从而可以提升模型训练的效果。
在一示例性实施例中,图2所示实施例中的步骤S120可以包括:对第一训练样本进行数据增强,得到第二训练样本。
需要说明的是,数据增强是为了减少模型的过拟合现象,其通过对训练样本进行变换得到变换后的训练样本,基于变换后的训练样本对模型进行训练,从而可以得到泛化能力更强的模型。
针对不同类型的样本,数据增强的方式不同。例如,若第一训练样本的类型为图像,则可以采用镜像、旋转、截取、增加噪音、智能增广等方式对第一训练样本进行数据增强,得到第二训练样本;若第一训练样本的类型为语料,则可以采用回译、基于TF-IDF的词替换、生成同义句、同义词替换、增加噪声等方式对第一训练样本进行数据增强,得到第二训练样本。其中,可以采用一种或者多种数据增强方式对第一训练样本进行处理,得到一个或多个的第二训练样本。
对第一训练样本进行数据增强,得到第二训练样本的具体方式可以根据实际需要灵活设置。
参见图6,图6为对第一训练样本进行数据增强,得到第二训练样本的步骤在一示例性实施方式中的流程图。如图6所示,对第一训练样本进行数据增强,得到第二训练样本的步骤的过程可以包括步骤S410-步骤S420,详细介绍如下:
步骤S410,将第一训练样本由第一语言翻译为第二语言,以得到第一训练样本的译文。
其中,第一语言为第一训练样本所属的语言,第二语言为与第一语言不同的语言,将第一训练样本翻译为第二语言,从而可以得到第二训练样本的译文。
步骤S420,将第一训练样本的译文由第二语言翻译为第一语言,以得到第二训练样本。
获取到第一训练样本的译文后,将第一训练样本的译文由第二语言翻译为第一语言,将得到的译文作为第二训练样本。
例如,在一个示例中,假设第一训练样本隶属的语言为英语,则可以将第一训练样本翻译为中文,再将中文译文翻译为英文,从而得到第二训练样本。
其中,可以将第一训练样本由第一语言翻译为多种第二语言,再将多种第二语言对应的译文翻译为第一语言,从而得到多个第二训练样本。
本实施例中,通过将第一训练样本由第一语言翻译为第二语言,再回译为第一语言,从而可以得到含义类似的第二训练样本。
参见图7,图7为对第一训练样本进行数据增强,得到第二训练样本的步骤在一示例性实施方式中的流程图。如图7所示,对第一训练样本进行数据增强,得到第二训练样本的过程可以包括步骤S510-步骤S520,详细介绍如下:
步骤S510,对第一训练样本进行解析,以确定第一训练样本中含有的非关键词。
对第一训练样本进行解析,以确定第一训练样本中含有的非关键词。
其中,确定非关键词的具体方式可以根据实际需要灵活设置。
例如,在一些实施方式中,可以将第一训练样本中含有的助词和介词作为非关键词。
或者,在另一些实施方式中,可以将第一训练样本中含有的重要程度低的词作为非关键词。该重要程度可以基于TF-IDF算法来确定,例如,可以将对应的TF-IDF值低于预设阈值的词作为重要程度低的词,即非关键词;将对应的TF-IDF值大于等于预设阈值的词作为重要程度高的词。在一个示例中,针对某一个词在其隶属的第一训练样本的TF-IDF值,其确定方式包括但不限于以下方式:根据该词在第一语料中出现的频率确定该词的TF值;根据第一语料集合中包含的语料的条数,以及第一语料集合中包含该词的语料的条数,确定该词的IDF值;根据该词的TF值和IDF值,确定该词的TF-IDF值。其中,第一语料可以是该词隶属的第一训练样本、包含该词的多个第一训练样本拼接得到的语料、所有第一训练样本拼接得到的语料、所有已标注数据拼接得到的语料等中的一个;第一语料集合可以是已标注数据和第一训练样本组成的集合,已标注数据和被过滤掉的未标注数据组成的集合,被过滤掉的未标注数据组成的集合、已标注数据和第一训练样本组成的集合等中的一个。例如,在一个示例中,考虑到已标注数据比较重要,因此,第一语料可以是已标注数据拼接得到的语料,第一语料集合可以是被过滤掉的未标注数据组成的集合。当然,还可以采用其他方式来计算词的TF-IDF值。
步骤S520,将第一训练样本中含有的非关键词进行替换,以得到第二训练样本。
在确定出第一训练样本中含有的非关键词之后,可以将非关键词替换为其他的词,从而得到第二训练样本。
在其他实施例中,还可以确定出第一训练样本中含有的关键词,然后,将关键词替换为该关键词的同义词(或近义词),以得到第二训练样本。其中,可以根据TF-IDF算法来确定第一训练样本中含有的关键词。
本实施例中,对第一训练样本的非关键词进行替换,从而可以得到保留关键词的第二训练样本。
参见图8,图8为图2所示实施例中的步骤S140在一示例性实施方式中的流程图。如图8所示,基于第一损失值调整数据识别模型的参数的过程可以包括步骤S141-步骤S142,详细介绍如下:
步骤S141,将已标注数据作为第三训练样本,并将第三训练样本以及第三训练样本对应的标注信息输入数据识别模型,得到第二损失值。
其中,标注信息是对第三训练样本进行标注得到的信息,其可以视为第三训练样本的真实识别结果。
将已标注数据作为第三训练样本,并将第三训练样本以及第三训练样本对应的标注信息输入数据识别模型,数据识别模型基于第三训练样本以及第三训练样本对应的标注信息得到第二损失值。
在一些实施方式中,数据识别模型可以对第三训练样本进行识别,得到第三识别结果,理论上,第三识别结果应当与标注信息相同。因此,数据识别模型可以根据第三训练样本对应的标注信息以及第三识别结果确定第二损失值,其中,具体的确定方式可以根据实际需要灵活设置。在一个示例中,可以确定标注信息与第三识别结果之间的交叉熵,将得到交叉熵作为第二损失值。其中,交叉熵用于度量两个概率分布间的差异性信息。
步骤S142,根据第一损失值和第二损失值调整数据识别模型的参数。
根据第一损失值和第二损失值调整数据识别模型的参数,最终得到训练完成的数据识别模型。
需要说明的是,模型的训练是迭代进行的,本实施例中,将第一训练样本、第一训练样本对应的第二训练样本、以及第三训练样本作为一个训练集合,通过一个训练集合对数据识别模型进行一次迭代训练。在第一训练样本、第二训练样本、第三训练样本的个数为多个的情况下,某一训练集合中,可以包括一个或多个第一训练样本,每个第一训练样本对应的一个或多个第二训练样本、以及一个或多个第三训练样本;其中,训练集合中含有的第一训练样本可以是根据该训练集合中含有的第三训练样本筛选出的,也可以不是根据该训练集合中含有的第三训练样本筛选出的;具体配置方式可以根据实际需要灵活设置。例如,在一个示例中,一个训练集合中可以包括一个第三训练样本,一个第一训练样本,该第一训练样本对应的一个第二训练样本,其中,该第一训练样本是根据该第三训练样本筛选出的;或者,在一个示例中,一个训练集合中可以包括一个第三训练样本,一个第一训练样本,该第一训练样本对应的所有第二训练样本。
本实施例中,结合基于未标注数据得到的第一损失值和基于已标注数据得到的第二损失值对模型进行训练,可以提升模型的训练效果。
在一示例性实施例中,可以先根据第一损失值和第二损失值确定第三损失值,再根据第三损失值调整数据识别模型的参数。其中,可以以最小化第三损失值为目标,优化数据识别模型的参数。
需要说明的是,根据第一损失值和第二损失值确定第三损失值的具体方式可以根据实际需要灵活设置。
例如,在一个示例中,根据第一损失值和第二损失值确定第三损失值的过程可以包括步骤S610-步骤S620,详细介绍如下:
步骤S610,获取第一损失值对应的第一权重值以及第二损失值对应的第二权重值。
考虑到已标注数据和未标注数据对模型训练的贡献程度不同,本实施例中,可以对第一损失值和第二损失值设置不同的权重,具体设置方式可以根据实际需要灵活设置。在一个示例中,由于第二损失值是根据第三训练样本得到的,第三训练样本为已标注数据,其可信度较高,因此,第二权重值可以大于第一权重值。或者,在另一示例中,也可以第一权重值大于第二权重值。
步骤S620,根据第一权重值与第二权重值计算第一损失值与第二损失值的加权和,以得到第三损失值。
在获取到第一损失值对应的第一权重值以及第二损失值对应的第二权重值后,获取第一权重值与第一损失值的乘积,获取第二权重值与第二损失值的乘积,并将获取的乘积进行求和,以得到第一损失值与第二损失值的加权和,并将加权和作为第三损失值,从而将第一损失值与第二损失值进行结合以对模型进行训练,可以提升模型的训练效果。
在其他示例中,也可以获取第一损失值与第二损失值的和,以作为第三损失值;或者,也可以获取第一损失值与第二损失值的乘积,以作为第三损失值。
在一示例性实施例中,在数据识别模型为基于原型网络(Prototypicalnetworks)创建的分类模型,标识信息为分类标签的条件下,数据识别方法还可以包括:将已标注数据作为第四训练样本,并将第四训练样本和第四训练样本对应的分类标签输入至数据识别模型,以使数据识别模型基于第四训练样本和第四训练样本对应的分类标签构建不同分类的原型表示;将未标注数据作为第五训练样本,并基于第五训练样本对数据识别模型进行训练。
在一个示例中,将第五训练样本输入数据识别模型后,数据识别模型可以对第五训练样本进行编码,以使编码后的第五训练样本与不同分类的原型表示处于同一空间,并基于编码后的第五训练样本与不同分类的原型表示之间的距离,确定第五训练样本属于各分类的概率,并基于得到的概率确定损失,基于得到的损失调整数据识别模型的参数,例如,可以调整数据识别模型编码层的参数。这样,本实施例中,将已标注数据作为原型网络的支撑数据集,将未标注数据组作为原型网络的查询数据集,从而对原型网络进行训练,使得原型网络能识别出在训练过程中从未见过的新的类别,实现基于原型网络的少样本学习(Few-shot Learning)。
以下对本申请实施例的一个具体应用场景进行详细说明。在对话系统(例如语音助手应用程序)中,对话系统会接收到用户输入的请求语句,该请求语句中包含用户的一个意图期望,例如,“来一首某某的歌曲”;“给我讲愚公移山的故事”;“我想看电影**”等等,对话系统需要识别请求语句中的意图。为了识别请求语句中的意图,对话系统需要包括不同的技能,其中,技能为对话系统中对具体能力的抽象,例如音乐识别功能,其代表对话系统能够识别与音乐相关的请求语句,从而将与音乐相关的请求语句中的关键信息以结构化的信息去表达,传递给后续的服务,以便于做出相应的反馈,最终与用户完成一次交互流程。在创建技能时,需要提供一定量的训练语料,在实际应用过程中,训练语料比较难获取到,并且标记成本高,因此,采用本申请实施例提供的数据处理方法来创建技能中的模型。其中,以创建技能中的分类模型为例进行说明,该分类模型用于对输入的语料进行分类。其中,参见图9,图9是根据一示例性实施例示出的一种数据处理方法的流程图。如图9所示,该数据处理方法可以包括步骤S701至步骤S709,详细介绍如下:
步骤S701,获取已标注语料,并将已标注语料作为第三训练样本。
具体获取方式可以根据实际需要灵活设置。第三训练样本可以为正样本。当然,在其他方式中,也可以是负样本。
在一个示例中,可以提供用户输入接口,以获取用户上传的已标注语料。例如,参见图10所示,图10为一个技能训练界面,该界面以“查黄历”技能为例进行说明,该界面中,包括“语义配置”功能,在“语义配置”功能中,用户可以触发“意图列表”功能,从而进入语料输入界面,在该界面,用户可以通过“批量导入”按键批量导入语料,或者,用户也可以通过“批量导入”按键下方的输入框一条一条的输入语料,并对输入的语料进行标注,从而可以获取到已标注语料。
步骤S702,获取未标注语料。
具体获取方式可以根据实际需要灵活设置。例如,在一个示例中,对话系统会接收到大量用户输入的请求语句,对话系统的线上日志会记录这些请求语句,因此,可以从对话系统的线上日志中获取语料以作为未标注语料。
步骤S703,根据已标注语料对未标注语料进行筛选,以得到第一训练样本。
其中,可以筛选出与已标注语料类似的未标注语料,具体的筛选方式请参见前述记载,此处不再赘述。
相对于未对未标注语料进行筛选的模型训练方式,本实施例中,对未标注语料进行筛选后,可以提升分类模型的效果。例如,参见图11所示,图11为对采用这两种模型训练方式(一种为采用未进行筛选的未标注数据对模型进行训练,另一种为采用进行筛选的未标注数据对模型进行训练)进行训练得到的模型分别进行测试得到的测试结果,其中,测试了模型在黄历、疾病、天气、新闻和首都搜索领域中的效果,并且,均是采用了包含300条测试样本的测试集进行测试,从中可以看出,采用进行筛选的未标注数据对模型进行训练得到的模型,其P值(Precision,精确率)、R值(Recall,召回率)、以及F1值都较高。需要说明的是,F1值,又可以称为F1分数,是一种用于衡量模型准确度的指标,其同时兼顾了模型的精确率和召回率,是精确率和召回率整体评价。F1值可以根据P值和R值计算得到,具体的计算方式可以根据实际需要灵活设置,例如,在一个示例中,F1的计算方式如下:
步骤S704,针对每个第一训练样本,生成与该第一训练样本匹配的第二训练样本。
其中,具体的生成方式请参见前述记载,此处不再赘述。
步骤S705,将第三训练样本输入分类模型,以得到分类模型输出的第三预测结果。
其中,为了提升模型的效果,分类模型可以采用Transformer。
在一个示例中,参见图12,图12为分类模型的处理过程,其中,CLS为整个句子,TOK1-TOKN表示将一句话(single sentence)进行切字,得到的每个字在字表中的序号,其中,字表为汉字到序号的映射方式。ECLS为输出至模型的CLS对应的向量,E1-EN为对应字的向量,模型对ECLS和E1-EN的进行处理分别得到C和T1-TN,基于T1-TN以及C得到CLS的类标签(ClassLabel)并输出。
步骤S706,根据第三预测结果和第三训练样本对应的标注标签确定第二损失值。
其中,标注标签可以为用户对第三训练样本贴上的分类标签,该第二损失值可以是第三预测结果与标注标签的交叉熵。
步骤S707,将第一训练样本和第二训练样本分别输入分类模型,以得到分类模型输出的第一预测结果和第二预测结果,并根据第一预测结果和第二预测结果确定第一损失值。
其中,第一损失值可以是第一预测结果和第二预测结果的相对熵。
步骤S708,根据第一损失值和第二损失值确定第三损失值。
其中,第三损失值可以是第一损失值和第二损失值的加权和。
步骤S709,根据第三损失值调整分类模型的参数。
其中,模型的训练过程可以如图13所示,模型M为分类模型,将已标注数据输入模型M,模型M基于已标注数据的预测结果以及为已标注数据贴上的标注标签可以得到交叉熵损失,对未标注数据进行筛选,并将筛选出的未标注数据输入模型M,对筛选出的未标注数据进行数据增强并将得到的数据输入模型M,基于未标注数据的预测结果以及增强数据的预测结果可以得到一致性损失。基于交叉熵损失和一致性损失即可得到最终总损失,并基于总损失调整模型M的参数。
在一些实施方式中,可以包括多个第一训练样本、多个第二训练样本以及多个第三训练样本,在此条件下,在步骤S705之前,还可以包括步骤S710:从第三训练样本集合中选择第三训练样本,从第一训练样本集合中选择第一训练样本,并从选择出的第一训练样本对应的第二训练样本集合中选择第二训练样本。然后,步骤S705-步骤S709中,基于选择出的第一训练样本、第二训练样本和第三训练样本进行训练,在执行步骤S709之后,可以返回步骤S710,进行下一次迭代训练,直至得到训练完成的分类模型。
其中,选择出的第一训练样本、第二训练样本和第三训练样本的个数可以根据实际需要灵活设置。
例如,在一个示例中,步骤S710可以包括:从第三训练样本集合中选择一个第三训练样本,从第一训练样本集合中选择一个第一训练样本,从选择出的第一训练样本对应的第二训练样本集合中选择一个第二训练样本。当然,步骤S710的实施过程还可以是其他形式。
在得到训练完成的分类模型后,即可将该分类模型部署至对应的查询技能中,以得到新的查询技能,该新的查询技能即可对用户输入的请求语料进行识别,完成与用户的交互。其中,该查询技能的生成和识别过程可以如图14所示,可以采用离线半监督学习方式,通过少量已标注语料和未标注语料,对分类模型进行训练,得到训练完成的分类模型,并将训练完成的分类模型部署至在线查询技能(即在线query)中,在线查询技能在接收到用户输入的请求语句后,可以采用分类模型、语料匹配、模板匹配三种识别方式分别对语句请求进行识别,并将三种方式的识别结果进行合并,以供下游进行选择。其中,语料匹配则可以是从语料库中查询请求语句对应的语料,模板匹配则可以是从模板库中查询请求语句对应的模板。
相比未部署分类模型的在线查询技能,部署有分类模型的在线查询技能的召回率和泛化能力都得到了提升。例如,参见表1所示,表1为对未部署分类模型的在线查询技能以及部署有分类模型的在线查询技能进行测试得到的测试结果,其中,测试了模型在黄历、疾病、天气、新闻和首都搜索领域中的效果,并且,均是采用了包含300条测试样本的测试集进行测试,从中表1中可以看出,相对未部署分类模型的在线查询技能而言,部署有分类模型的在线查询技能的R值以及F1值都较高。这样,对于需要创建技能的用户而言,即使提供少量的标注语料,平台也能自动扩展对应的语料并训练一个效果不错的模型,使得最终线上技能的召回率得到了极大的提升,在保证模型效果的基础上,降低了用户创建技能的难度,提升了用户体验。
表1
需要说明的是,以上步骤S701至步骤S709所涉及的详细过程均在前述的各个实施例中进行了描述,因此本处不再进行赘述。
在一示例性实施例中,模型训练方法可以包括步骤S810至步骤S840,详细介绍如下:
步骤S810,根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本。
对于步骤S810的实现过程,请参见前述步骤S110,此处不再赘述。
步骤S820,生成与第一训练样本相匹配的第二训练样本。
对于步骤S820的实现过程,请参见前述步骤S120,此处不再赘述。
步骤S830,分别将第一训练样本和第二训练样本输入数据识别模型,得到数据识别模型输出的第一识别结果和第二识别结果。
对于步骤S830的实现过程,请参见前述步骤S130,此处不再赘述。
步骤S840,根据第一识别结果与第二识别结果确定第一损失值,并基于第一损失值调整数据识别模型的参数。
对于步骤S840的实现过程,请参见前述步骤S140,此处不再赘述。
在一示例性实施例中,步骤S810包括:获取已标注数据所含有的语料特征,并筛选出与获取到的语料特征相匹配的未标注数据,以得到第一训练样本。具体地,请参见前述记载,此处不再赘述。
在一示例性实施例中,步骤S820包括:对第一训练样本进行数据增强,得到第二训练样本。具体地,请参见前述记载,此处不再赘述。
在一示例性实施例中,步骤S840包括:将已标注数据作为第三训练样本,并将第三训练样本以及第三训练样本对应的标注信息输入数据识别模型,得到第二损失值;根据第一损失值和第二损失值调整数据识别模型的参数。具体地,请参见前述记载,此处不再赘述。
需要说明的是,前述实施例中的数据处理方法均可以应用于模型训练方法,对应模型训练方法的具体实现过程,可以参见前述数据处理方法的记载,此处不再赘述。
参见图15,图15是本申请的一示例性实施例示出的数据处理装置的框图。如图15所示,该装置包括:
第一筛选模块1501,用于根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本;第一生成模块1502,用于生成与第一训练样本相匹配的第二训练样本;第一识别模块1503,用于分别将第一训练样本和第二训练样本输入数据识别模型,得到数据识别模型输出的第一识别结果和第二识别结果;第一调整模块1504,用于根据第一识别结果与第二识别结果确定第一损失值,并基于第一损失值调整数据识别模型的参数。
在另一示例性实施例中,第一筛选模块1501包括:
训练样本获取模块,用于获取已标注数据所含有的语料特征,并筛选出与获取到的语料特征相匹配的未标注数据,以得到第一训练样本。
在另一示例性实施例中,训练样本获取模块包括:
分析模块,用于对已标注数据进行分析,以得到已标注数据的语句结构。
第一样本获取模块,用于筛选出与语句结构相匹配的未标注数据,以得到第一训练样本。
在另一示例性实施例中,筛选单元包括:
关键词获取模块,用于获取已标注数据的关键词。
集合获取模块,用于对未标注数据进行分词处理,以得到对应的词语集合。
第二样本获取模块,用于若词语集合中含有关键词,则将对应的未标注数据作为第一训练样本。
在另一示例性实施例中,第一生成模块1502包括:
第二样本生成模块,用于对第一训练样本进行数据增强,得到第二训练样本。
在另一示例性实施例中,第二样本生成模块包括:
第一翻译模块,用于将第一训练样本由第一语言翻译为第二语言,以得到第一训练样本的译文。
第二翻译模块,用于将第一训练样本的译文由第二语言翻译为第一语言,以得到第二训练样本。
在另一示例性实施例中,第二样本生成模块包括:解析模块,用于对第一训练样本进行解析,以确定第一训练样本中含有的非关键词。
替换模块,用于将第一训练样本中含有的非关键词进行替换,以得到第二训练样本。
在另一示例性实施例中,第一调整模块1504包括:
损失值确定模块,用于将已标注数据作为第三训练样本,并将第三训练样本以及第三训练样本对应的标注信息输入数据识别模型,得到第二损失值。
模型调整模块,用于根据第一损失值和第二损失值调整数据识别模型的参数。
在另一示例性实施例中,模型调整模块包括:
权重值获取模块,用于获取第一损失值对应的第一权重值以及第二损失值对应的第二权重值。
损失值获取模块,用于根据第一权重值与第二权重值计算第一损失值与第二损失值的加权和,以得到第三损失值。
参数调整模块,用于根据第三损失值调整数据识别模型的参数。
需要说明的是,上述实施例所提供的数据处理装置与上述实施例所提供的数据处理方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
在一示例性实施例中,模型训练装置包括:第二筛选模块,用于根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本;第二生成模块,用于生成与第一训练样本相匹配的第二训练样本;第二识别模块,用于分别将第一训练样本和第二训练样本输入数据识别模型,得到数据识别模型输出的第一识别结果和第二识别结果;第二调整模块,用于根据第一识别结果与第二识别结果确定第一损失值,并基于第一损失值调整数据识别模型的参数。
在另一示例性实施例中,第二筛选模块用于获取已标注数据所含有的语料特征,并筛选出与获取到的语料特征相匹配的未标注数据,以得到第一训练样本。
在另一示例性实施例中,第二筛选模块用于对已标注数据进行分析,以得到已标注数据的语句结构;筛选出与语句结构相匹配的未标注数据,以得到第一训练样本。
在另一示例性实施例中,第二筛选模块用于获取已标注数据的关键词;对未标注数据进行分词处理,以得到对应的词语集合;若词语集合中含有关键词,则将对应的未标注数据作为第一训练样本。
在另一示例性实施例中,第二生成模块用于对第一训练样本进行数据增强,得到第二训练样本。
在另一示例性实施例中,第二生成模块用于将第一训练样本由第一语言翻译为第二语言,以得到第一训练样本的译文;将第一训练样本的译文由第二语言翻译为第一语言,以得到第二训练样本。
在另一示例性实施例中,第二生成模块用于对第一训练样本进行解析,以确定第一训练样本中含有的非关键词;将第一训练样本中含有的非关键词进行替换,以得到第二训练样本。
在另一示例性实施例中,第二调整模块用于将已标注数据作为第三训练样本,并将第三训练样本以及第三训练样本对应的标注信息输入数据识别模型,得到第二损失值;根据第一损失值和第二损失值调整数据识别模型的参数。
在另一示例性实施例中,第二调整模块用于获取第一损失值对应的第一权重值以及第二损失值对应的第二权重值;根据第一权重值与第二权重值计算第一损失值与第二损失值的加权和,以得到第三损失值;根据第三损失值调整数据识别模型的参数。
需要说明的是,上述实施例所提供的模型训练装置与上述实施例所提供的模型训练方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得电子设备实现上述各个实施例中提供的方法。
图16示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图16示出的电子设备的计算机系统1600仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图16所示,计算机系统1600包括中央处理单元(Central Processing Unit,CPU)1601,其可以根据存储在只读存储器(Read-Only Memory,ROM)1602中的程序或者从储存部分1608加载到随机访问存储器(Random Access Memory,RAM)1603中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1603中,还存储有系统操作所需的各种程序和数据。CPU 1601、ROM 1602以及RAM 1603通过总线1604彼此相连。输入/输出(Input/Output,I/O)接口1605也连接至总线1604。
以下部件连接至I/O接口1605:包括键盘、鼠标等的输入部分1606;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1607;包括硬盘等的储存部分1608;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1609。通信部分1609经由诸如因特网的网络执行通信处理。驱动器1610也根据需要连接至I/O接口1605。可拆卸介质1611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1610上,以便于从其上读出的计算机程序根据需要被安装入储存部分1608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1609从网络上被下载和安装,和/或从可拆卸介质1611被安装。在该计算机程序被中央处理单元(CPU)1601执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,计算机指令被处理器执行时实现上述各个实施例中提供的方法。其中,该计算机指令可以存储在计算机可读存储介质中;计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (15)
1.一种数据处理方法,其特征在于,所述方法包括:
根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本;
生成与所述第一训练样本相匹配的第二训练样本;
分别将所述第一训练样本和所述第二训练样本输入数据识别模型,得到所述数据识别模型输出的第一识别结果和第二识别结果;
根据所述第一识别结果与所述第二识别结果确定第一损失值,并基于所述第一损失值调整所述数据识别模型的参数。
2.如权利要求1所述的方法,其特征在于,所述根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本,包括:
获取所述已标注数据所含有的语料特征,并筛选出与获取到的语料特征相匹配的未标注数据,以得到第一训练样本。
3.如权利要求2所述的方法,其特征在于,所述获取所述已标注数据所含有的语料特征,并筛选出与获取到的语料特征相匹配的未标注数据,以得到第一训练样本,包括:
对所述已标注数据进行分析,以得到所述已标注数据的语句结构;
筛选出与所述语句结构相匹配的未标注数据,以得到第一训练样本。
4.如权利要求2所述的方法,其特征在于,所述获取所述已标注数据所含有的语料特征,并筛选出与获取到的语料特征相匹配的未标注数据,以得到第一训练样本,包括:
获取所述已标注数据的关键词;
对未标注数据进行分词处理,以得到对应的词语集合;
若所述词语集合中含有所述关键词,则将对应的未标注数据作为第一训练样本。
5.如权利要求1所述的方法,其特征在于,所述生成与所述第一训练样本相匹配的第二训练样本,包括:
对所述第一训练样本进行数据增强,得到第二训练样本。
6.如权利要求5所述的方法,其特征在于,所述对所述第一训练样本进行数据增强,得到第二训练样本,包括:
将所述第一训练样本由第一语言翻译为第二语言,以得到所述第一训练样本的译文;
将所述第一训练样本的译文由所述第二语言翻译为所述第一语言,以得到第二训练样本。
7.如权利要求5所述的方法,其特征在于,所述对所述第一训练样本进行数据增强,得到第二训练样本,包括:
对所述第一训练样本进行解析,以确定所述第一训练样本中含有的非关键词;
将所述第一训练样本中含有的非关键词进行替换,以得到第二训练样本。
8.如权利要求1所述的方法,其特征在于,所述基于所述第一损失值调整所述数据识别模型的参数,包括:
将所述已标注数据作为第三训练样本,并将所述第三训练样本以及所述第三训练样本对应的标注信息输入所述数据识别模型,得到第二损失值;
根据所述第一损失值和所述第二损失值调整所述数据识别模型的参数。
9.如权利要求8所述的方法,其特征在于,所述根据所述第一损失值和所述第二损失值调整所述数据识别模型的参数,包括:
获取所述第一损失值对应的第一权重值以及所述第二损失值对应的第二权重值;
根据所述第一权重值与所述第二权重值计算所述第一损失值与所述第二损失值的加权和,以得到第三损失值;
根据所述第三损失值调整所述数据识别模型的参数。
10.一种模型训练方法,其特征在于,所述方法包括:
根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本;
生成与所述第一训练样本相匹配的第二训练样本;
分别将所述第一训练样本和所述第二训练样本输入数据识别模型,得到所述数据识别模型输出的第一识别结果和第二识别结果;
根据所述第一识别结果与所述第二识别结果确定第一损失值,并基于所述第一损失值调整所述数据识别模型的参数。
11.一种数据处理装置,其特征在于,所述装置包括:
第一筛选模块,用于根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本;
第一生成模块,用于生成与所述第一训练样本相匹配的第二训练样本;
第一识别模块,用于分别将所述第一训练样本和所述第二训练样本输入数据识别模型,得到所述数据识别模型输出的第一识别结果和第二识别结果;
第一调整模块,用于根据所述第一识别结果与所述第二识别结果确定第一损失值,并基于所述第一损失值调整所述数据识别模型的参数。
12.一种模型训练装置,其特征在于,所述装置包括:
第二筛选模块,用于根据已标注数据对未标注数据进行筛选,并将筛选出的未标注数据作为第一训练样本;
第二生成模块,用于生成与所述第一训练样本相匹配的第二训练样本;
第二识别模块,用于分别将所述第一训练样本和所述第二训练样本输入数据识别模型,得到所述数据识别模型输出的第一识别结果和第二识别结果;
第二调整模块,用于根据所述第一识别结果与所述第二识别结果确定第一损失值,并基于所述第一损失值调整所述数据识别模型的参数。
13.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1-10中的任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-10中的任一项所述的方法。
15.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行时实现权利要求1-10中的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111336528.2A CN114330483A (zh) | 2021-11-11 | 2021-11-11 | 数据处理方法及模型训练方法、装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111336528.2A CN114330483A (zh) | 2021-11-11 | 2021-11-11 | 数据处理方法及模型训练方法、装置、设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114330483A true CN114330483A (zh) | 2022-04-12 |
Family
ID=81044767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111336528.2A Pending CN114330483A (zh) | 2021-11-11 | 2021-11-11 | 数据处理方法及模型训练方法、装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114330483A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114596566A (zh) * | 2022-04-18 | 2022-06-07 | 腾讯科技(深圳)有限公司 | 文本识别方法及相关装置 |
CN116092098A (zh) * | 2022-08-16 | 2023-05-09 | 荣耀终端有限公司 | 模型训练方法和终端设备 |
-
2021
- 2021-11-11 CN CN202111336528.2A patent/CN114330483A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114596566A (zh) * | 2022-04-18 | 2022-06-07 | 腾讯科技(深圳)有限公司 | 文本识别方法及相关装置 |
CN114596566B (zh) * | 2022-04-18 | 2022-08-02 | 腾讯科技(深圳)有限公司 | 文本识别方法及相关装置 |
CN116092098A (zh) * | 2022-08-16 | 2023-05-09 | 荣耀终端有限公司 | 模型训练方法和终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131350B (zh) | 文本标签确定方法、装置、终端及可读存储介质 | |
CN111026861B (zh) | 文本摘要的生成方法、训练方法、装置、设备及介质 | |
CN112214593A (zh) | 问答处理方法、装置、电子设备及存储介质 | |
CN114565104A (zh) | 语言模型的预训练方法、结果推荐方法及相关装置 | |
CN112883193A (zh) | 一种文本分类模型的训练方法、装置、设备以及可读介质 | |
CN113282711B (zh) | 一种车联网文本匹配方法、装置、电子设备及存储介质 | |
CN115310551A (zh) | 文本分析模型训练方法、装置、电子设备和存储介质 | |
CN114330483A (zh) | 数据处理方法及模型训练方法、装置、设备、存储介质 | |
CN116541493A (zh) | 基于意图识别的交互应答方法、装置、设备、存储介质 | |
CN113934835B (zh) | 结合关键词和语义理解表征的检索式回复对话方法及系统 | |
CN114547303A (zh) | 基于Bert-LSTM的文本多特征分类方法及装置 | |
CN116974626B (zh) | 分析序列图生成方法、装置、设备和计算机可读存储介质 | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
CN117312562A (zh) | 内容审核模型的训练方法、装置、设备及存储介质 | |
CN114722774B (zh) | 数据压缩方法、装置、电子设备及存储介质 | |
CN112749553B (zh) | 视频文件的文本信息处理方法、装置和服务器 | |
CN115114937A (zh) | 文本获取方法、装置、计算机设备及存储介质 | |
CN113569124A (zh) | 医疗标题匹配方法、装置、设备及存储介质 | |
CN113591493A (zh) | 翻译模型的训练方法及翻译模型的装置 | |
CN112052320A (zh) | 一种信息处理方法、装置及计算机可读存储介质 | |
CN116913278B (zh) | 语音处理方法、装置、设备和存储介质 | |
CN116894089B (zh) | 摘要生成方法、装置、设备、存储介质及产品 | |
Li et al. | STCP: An Efficient Model Combining Subject Triples and Constituency Parsing for Recognizing Textual Entailment | |
CN110728148B (zh) | 实体关系抽取方法和装置 | |
CN116992036A (zh) | 关键词库的构建方法、装置、计算机设备、介质及产品 |
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 |