一种面向中文的预训练方法及系统技术方案

技术编号:23984753 阅读:36 留言:0更新日期:2020-04-29 12:59
本发明专利技术涉及一种面向中文的预训练方法及系统,包括:模型参数配置模块、预训练模型生成模块和服务封装模块。模型参数配置模块:主要针对用户需要根据自身需求定制中文预训练模型的情况,使其能够以友好的界面方式配置预训练模型的参数;预训练模型生成模块:根据用户提交的模型参数配置和预训练语料数据,训练一个中文预训练模型,并以模型文件的方式保存下来;服务封装模块:将模型文件封装成一个中文特征抽取器服务,并给用户提供相应的Docker镜像方便服务的部署。本发明专利技术专门针对大规模的无监督中文语料,提出了一种面向中文的预训练方法及系统,有效地提高了预训练方法在中文任务上的表现。

A Chinese oriented pre training method and system

【技术实现步骤摘要】
一种面向中文的预训练方法及系统
本专利技术涉及一种面向中文的预训练方法及系统,属于自然语言处理

技术介绍
通常来说,大多数基于深度学习的自然语言处理任务可以分为以下三个模块处理:数据处理、文本表征和特定任务模型。其中,数据处理模块和特定任务模型模块需要根据具体任务的不同做相应设计,而文本表征模块则可以作为一个相对通用的模块来使用。因此,预训练一个通用的文本表征模块来复用文本特征,这对于文本的迁移学习具有重要意义。近年来,随着深度学习方法的快速发展,自然语言处理领域的机器翻译、机器阅读理解、命名实体识别等多个方面都取得了重要突破。借助于深度学习技术,面向自然语言处理领域的预训练技术也取得了长足的进步。在自然语言处理领域的背景下,预训练技术是指通过使用大规模无监督的文本语料来训练深层网络结构,从而得到一组模型参数,这种深层网络结构通常被称为“预训练模型”;将预训练好的模型参数应用到后续的其他特定任务上,这些特定任务通常被称为“下游任务”。目前,面向中文的预训练语言模型主要面临着以下问题:(1)中英文语言特性的较大差异导致模型效果往往并不理想。大多数预训练模型都是面向英文设计的,在模型的网络结构、训练方法和下游任务应用方式等方面,都或多或少考虑了英文的语言特性,由于中英文在语言特性方面存在着较大差异,如果将其直接迁移到中文领域,其效果往往并不理想。(2)可获取的中文无监督语料存在明显的分级现象,在数据规模、质量、领域方面均存在较大差异,难以充分利用。通常来说,相对质量差的语料规模较大,高质量的语料大多规模较小,不足以支持庞大的预训练模型的训练,如果将这些质量上存在较大差异的语料同等看待,混合起来训练模型,相对质量差的语料可能会冲淡高质量语料的效果。除了规模和质量方面的差异外,不同语料之间还存在领域不同的问题,不同领域的语料对于预训练模型的训练和迁移过程的影响大不相同,因此需要区别对待。
技术实现思路
本专利技术的目的在于,专门针对大规模的无监督中文语料,提出了一种面向中文的预训练方法及系统,充分考虑中文在语言特性方面的特点,有针对性地提出了一系列面向中文的预训练模型调优方法,并提出基于分级语料的预训练模型,以充分利用不同级别的无监督语料,从而有效地提高了预训练方法在中文任务上的表现。本专利技术技术解决方案:一种面向中文的预训练系统,包括:模型参数配置模块、预训练模型生成模块和服务封装模块;其中:模型参数配置模块,用于显示用户界面,以供用户自定义中文预训练模型的各个参数,配置的参数包括是否在模型中引入模型调优方法、更改预训练模型的超参数、以及指定三种不同级别的无监督预训练语料,所述的无监督预训练语料包括大规模通用语料、高质量通用语料和特定领域语料;预训练模型生成模块,用于根据用户提供的模型配置文件训练中文预训练模型,所述的预训练模型为基于分级的预训练模型,同时使用了多种针对中文文本设计的模型调优方法,最终模型的网络结构和参数将以模型文件的形式保存下来;服务封装模块,用于在预训练模型生成模块训练生成的预训练模型文件的基础上,部署一个中文特征抽取服务;对中文特征抽取服务进行封装,并给用户提供相应的Docker镜像,用户通过在本地或者服务器端运行该镜像,就可以快速部署一个中文特征抽取器的服务,从而可以抽取中文文本的上下文相关的语义表示,并将其应用于下游的中文任务中。一种面向中文的预训练方法,步骤如下:步骤S1:模型参数配置:显示用户界面,以供用户自定义中文预训练模型的各个参数,配置的参数包括是否在模型中引入模型调优方法、更改预训练模型的超参数、以及指定三种不同级别的无监督预训练语料,所述的无监督预训练语料包括大规模通用语料、高质量通用语料和特定领域语料;步骤S2:预训练模型生成:根据用户提供的模型配置文件训练中文预训练模型,所述的预训练模型为基于分级的预训练模型,同时使用了多种针对中文文本设计的模型调优方法,最终模型的网络结构和参数将以模型文件的形式保存下来;步骤S3:服务封装:基于TF-Serving,在步骤S2训练生成的预训练模型文件的基础上,部署一个中文特征抽取服务;基于Docker对中文特征抽取服务进行封装,并给用户提供相应的Docker镜像,用户通过在本地或者服务器端运行该镜像,就可以快速部署一个中文特征抽取器的服务,从而可以很方便地抽取中文文本的上下文相关的语义表示,并将其应用于下游的中文任务中。其中,步骤S2所述的预训练模型生成,具体过程如下:S2.1:配置文件加载:根据用户自定义的模型配置文件,决定是否在预训练模型中引入调优方法,从而加载预训练模型的网络结构和训练过程的超参数,以及不同级别的无监督训练语料;S2.2:文本预处理:对用户自定义的无监督语料进行清洗和文本切分等预处理操作,将处理后的文本序列作为预训练模型的输入;S2.3:模型训练:针对分层模型结构,使用不同级别的无监督语料,利用参数冻结的手段,使用多阶段的预训练方法,逐步训练模型的部分网络结构;S2.4:模型保存:在本地机器或者远程服务器运行模型的预训练过程;当模型迭代次数超过一定轮次,或者多次迭代后语言模型的损失函数没有下降时,停止预训练过程;将模型的网络结构和参数以模型文件的形式保存下来。其中,步骤S2所述的基于分级的预训练模型,是通过设计分层的模型结构和多阶段的预训练方法,使预训练模型在兼顾语料集的质量和规模的同时,也能学习到更适用于特定领域的语义表示,具体如下:所述的分层的模型结构:主要分为三层,包括大规模通用语义层、高质量通用语义层和特定领域语义层;其中,大规模通用语义层使用规模大但质量略低的通用领域语料进行训练,而高质量通用语义层则使用规模较小但相对质量高的通用领域语料训练网络结构,从而学习通用领域下文本的语义信息;特定领域语义层一般使用特定领域的语料来训练该层的网络结构,将模型之前学习到的通用语义表示进行调整,使其更适用于下游任务的特定领域;所述的多阶段的预训练方法包括:第一阶段:只训练分层模型的第一层,即使用大规模的通用语料训练大规模通用语义层;第二阶段:使用高质量的通用语料训练模型的前两层,即包括大规模通用语义层和高质量通用语义层,此时大规模通用语义层的参数随训练过程中损失函数的优化而不断改变;第三阶段:使用特定领域语料在整个模型上训练语言模型任务,在这个阶段,利用冻结参数的手段,固定前两个通用语义层的参数保持不变,以防止破坏之前已训练好的通用语义表示。其中,步骤S2所述的针对中文文本设计的模型调优方法,包括改进输入粒度、引入字形特征和引入联合学习,具体如下:所述的改进输入粒度:基于字节对编码算法对输入文本进行预处理;具体为:在每轮迭代中,首先基于当前字典枚举所有的字节对,找到出现最频繁的一组字节对,然后将该字节对用一个未出现过的新字节来表征,并将此新字节添加到字典中,继续迭代,直到迭代次数达到固定的轮次;所述的引入字形特征:在预训练模型的输入层使用卷积神经网络的结构,本文档来自技高网
...

【技术保护点】
1.一种面向中文的预训练系统,其特征在于:所述预训练系统包括模型参数配置模块、预训练模型生成模块和服务封装模块;其中:/n模型参数配置模块,用于显示用户界面,以供用户自定义中文预训练模型的各个参数,配置的参数包括是否在模型中引入模型调优方法、更改预训练模型的超参数、以及指定三种不同级别的无监督预训练语料,所述的无监督预训练语料包括大规模通用语料、高质量通用语料和特定领域语料;/n预训练模型生成模块,用于根据用户提供的模型配置文件训练中文预训练模型,所述的预训练模型为基于分级的预训练模型,同时使用了多种针对中文文本设计的模型调优方法,最终模型的网络结构和参数将以模型文件的形式保存下来;/n服务封装模块,用于在预训练模型生成模块训练生成的预训练模型文件的基础上,部署一个中文特征抽取服务;对中文特征抽取服务进行封装,并给用户提供相应的Docker镜像,用户通过在本地或者服务器端运行该镜像,就可以快速部署一个中文特征抽取器的服务,从而可以抽取中文文本的上下文相关的语义表示,并将其应用于下游的中文任务中。/n

【技术特征摘要】
1.一种面向中文的预训练系统,其特征在于:所述预训练系统包括模型参数配置模块、预训练模型生成模块和服务封装模块;其中:
模型参数配置模块,用于显示用户界面,以供用户自定义中文预训练模型的各个参数,配置的参数包括是否在模型中引入模型调优方法、更改预训练模型的超参数、以及指定三种不同级别的无监督预训练语料,所述的无监督预训练语料包括大规模通用语料、高质量通用语料和特定领域语料;
预训练模型生成模块,用于根据用户提供的模型配置文件训练中文预训练模型,所述的预训练模型为基于分级的预训练模型,同时使用了多种针对中文文本设计的模型调优方法,最终模型的网络结构和参数将以模型文件的形式保存下来;
服务封装模块,用于在预训练模型生成模块训练生成的预训练模型文件的基础上,部署一个中文特征抽取服务;对中文特征抽取服务进行封装,并给用户提供相应的Docker镜像,用户通过在本地或者服务器端运行该镜像,就可以快速部署一个中文特征抽取器的服务,从而可以抽取中文文本的上下文相关的语义表示,并将其应用于下游的中文任务中。


2.一种面向中文的预训练方法,其特征在于包括步骤如下:模型参数配置、预训练模型生成和服务封装;其中:
步骤S1:模型参数配置:显示用户界面,以供用户自定义中文预训练模型的各个参数,配置的参数包括是否在模型中引入模型调优方法、更改预训练模型的超参数、以及指定三种不同级别的无监督预训练语料,所述的无监督预训练语料包括大规模通用语料、高质量通用语料和特定领域语料;
步骤S2:预训练模型生成:根据用户提供的模型配置文件训练中文预训练模型,所述的预训练模型为基于分级的预训练模型,同时使用了多种针对中文文本设计的模型调优方法,最终模型的网络结构和参数将以模型文件的形式保存下来;
步骤S3:服务封装:在步骤S2训练生成的预训练模型文件的基础上,部署一个中文特征抽取服务;对中文特征抽取服务进行封装,并给用户提供相应的Docker镜像,用户通过在本地或者服务器端运行该镜像,就可以快速部署一个中文特征抽取器的服务,从而可以抽取中文文本的上下文相关的语义表示,并将其应用于下游的中文任务中。


3.根据权利要求2所述的面向中文的预训练方法,其特征在于:步骤S2所述的预训练模型生成,具体过程如下:
S2.1:配置文件加载:根据用户自定义的模型配置文件,决定是否在预训练模型中引入调优方法,从而加载预训练模型的网络结构和训练过程的超参数,以及不同级别的无监督训练语料;
S2.2:文本预处理:对用户自定义的无监督语料进行清洗和文本切分的预处理操作,将处理后的文本序列作为预训练模型的输入;
S2.3:模型训练:针对分层模型结构,使用不同级别的无...

【专利技术属性】
技术研发人员:李舟军刘俊杰肖武魁覃维陈小明范宇
申请(专利权)人:深圳智能思创科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1