CN111079447B - 一种面向中文的预训练方法及系统 - Google Patents

一种面向中文的预训练方法及系统 Download PDF

Info

Publication number
CN111079447B
CN111079447B CN202010205873.1A CN202010205873A CN111079447B CN 111079447 B CN111079447 B CN 111079447B CN 202010205873 A CN202010205873 A CN 202010205873A CN 111079447 B CN111079447 B CN 111079447B
Authority
CN
China
Prior art keywords
model
training
chinese
general
layer
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.)
Active
Application number
CN202010205873.1A
Other languages
English (en)
Other versions
CN111079447A (zh
Inventor
李舟军
刘俊杰
肖武魁
覃维
陈小明
范宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Intelligent Strong Technology Co ltd
Original Assignee
Shenzhen Intelligent Strong Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Intelligent Strong Technology Co ltd filed Critical Shenzhen Intelligent Strong Technology Co ltd
Priority to CN202010205873.1A priority Critical patent/CN111079447B/zh
Publication of CN111079447A publication Critical patent/CN111079447A/zh
Application granted granted Critical
Publication of CN111079447B publication Critical patent/CN111079447B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

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

Description

一种面向中文的预训练方法及系统
技术领域
本发明涉及一种面向中文的预训练方法及系统,属于自然语言处理技术领域。
背景技术
通常来说,大多数基于深度学习的自然语言处理任务可以分为以下三个模块处理:数据处理、文本表征和特定任务模型。其中,数据处理模块和特定任务模型模块需要根据具体任务的不同做相应设计,而文本表征模块则可以作为一个相对通用的模块来使用。因此,预训练一个通用的文本表征模块来复用文本特征,这对于文本的迁移学习具有重要意义。近年来,随着深度学习方法的快速发展,自然语言处理领域的机器翻译、机器阅读理解、命名实体识别等多个方面都取得了重要突破。借助于深度学习技术,面向自然语言处理领域的预训练技术也取得了长足的进步。
在自然语言处理领域的背景下,预训练技术是指通过使用大规模无监督的文本语料来训练深层网络结构,从而得到一组模型参数,这种深层网络结构通常被称为“预训练模型”;将预训练好的模型参数应用到后续的其他特定任务上,这些特定任务通常被称为“下游任务”。
目前,面向中文的预训练语言模型主要面临着以下问题:
(1) 中英文语言特性的较大差异导致模型效果往往并不理想。大多数预训练模型都是面向英文设计的,在模型的网络结构、训练方法和下游任务应用方式等方面,都或多或少考虑了英文的语言特性,由于中英文在语言特性方面存在着较大差异,如果将其直接迁移到中文领域,其效果往往并不理想。
(2) 可获取的中文无监督语料存在明显的分级现象,在数据规模、质量、领域方面均存在较大差异,难以充分利用。通常来说,相对质量差的语料规模较大,高质量的语料大多规模较小,不足以支持庞大的预训练模型的训练,如果将这些质量上存在较大差异的语料同等看待,混合起来训练模型,相对质量差的语料可能会冲淡高质量语料的效果。除了规模和质量方面的差异外,不同语料之间还存在领域不同的问题,不同领域的语料对于预训练模型的训练和迁移过程的影响大不相同,因此需要区别对待。
发明内容
本发明的目的在于,专门针对大规模的无监督中文语料,提出了一种面向中文的预训练方法及系统,充分考虑中文在语言特性方面的特点,有针对性地提出了一系列面向中文的预训练模型调优方法,并提出基于分级语料的预训练模型,以充分利用不同级别的无监督语料,从而有效地提高了预训练方法在中文任务上的表现。
本发明技术解决方案:一种面向中文的预训练系统,包括:模型参数配置模块、预训练模型生成模块和服务封装模块;其中:
模型参数配置模块,用于显示用户界面,以供用户自定义中文预训练模型的各个参数,配置的参数包括是否在模型中引入模型调优方法、更改预训练模型的超参数、以及指定三种不同级别的无监督预训练语料,所述的无监督预训练语料包括大规模通用语料、高质量通用语料和特定领域语料;
预训练模型生成模块,用于根据用户提供的模型配置文件训练中文预训练模型,所述的预训练模型为基于分级的预训练模型,同时使用了多种针对中文文本设计的模型调优方法,最终模型的网络结构和参数将以模型文件的形式保存下来;
服务封装模块,用于在预训练模型生成模块训练生成的预训练模型文件的基础上,部署一个中文特征抽取服务;对中文特征抽取服务进行封装,并给用户提供相应的Docker镜像,用户通过在本地或者服务器端运行该镜像,就可以快速部署一个中文特征抽取器的服务,从而可以抽取中文文本的上下文相关的语义表示,并将其应用于下游的中文任务中;
其中,所述预训练模型生成模块的基于分级的预训练模型,是通过设计分层的模型结构和多阶段的预训练方法,使预训练模型在兼顾语料集的质量和规模的同时,也能学习到更适用于特定领域的语义表示,具体如下:
所述的分层的模型结构包括大规模通用语义层、高质量通用语义层和特定领域语义层;其中,大规模通用语义层使用规模大但质量略低的通用领域语料进行训练,而高质量通用语义层则使用规模较小但相对质量高的通用领域语料训练网络结构,从而学习通用领域下文本的语义信息;特定领域语义层一般使用特定领域的语料来训练该层的网络结构,将模型之前学习到的通用语义表示进行调整,使其更适用于下游任务的特定领域;
所述的多阶段的预训练方法包括:第一阶段:只训练分层模型的第一层,即使用大规模的通用语料训练大规模通用语义层;第二阶段:使用高质量的通用语料训练模型的前两层,即包括大规模通用语义层和高质量通用语义层,此时大规模通用语义层的参数随训练过程中损失函数的优化而不断改变;第三阶段:使用特定领域语料在整个模型上训练语言模型任务,在这个阶段,利用冻结参数的手段,固定前两个通用语义层的参数保持不变,以防止破坏之前已训练好的通用语义表示。
一种面向中文的预训练方法,步骤如下:
步骤S1: 模型参数配置:显示用户界面,以供用户自定义中文预训练模型的各个参数,配置的参数包括是否在模型中引入模型调优方法、更改预训练模型的超参数、以及指定三种不同级别的无监督预训练语料,所述的无监督预训练语料包括大规模通用语料、高质量通用语料和特定领域语料;
步骤S2: 预训练模型生成:根据用户提供的模型配置文件训练中文预训练模型,所述的预训练模型为基于分级的预训练模型,同时使用了多种针对中文文本设计的模型调优方法,最终模型的网络结构和参数将以模型文件的形式保存下来;
步骤S3: 服务封装:基于TF-Serving,在步骤S2训练生成的预训练模型文件的基础上,部署一个中文特征抽取服务;基于Docker对中文特征抽取服务进行封装,并给用户提供相应的Docker镜像,用户通过在本地或者服务器端运行该镜像,就可以快速部署一个中文特征抽取器的服务,从而可以很方便地抽取中文文本的上下文相关的语义表示,并将其应用于下游的中文任务中。
其中,步骤S2所述的预训练模型生成,具体过程如下:
S2.1: 配置文件加载:根据用户自定义的模型配置文件,决定是否在预训练模型中引入调优方法,从而加载预训练模型的网络结构和训练过程的超参数,以及不同级别的无监督训练语料;
S2.2: 文本预处理:对用户自定义的无监督语料进行清洗和文本切分等预处理操作,将处理后的文本序列作为预训练模型的输入;
S2.3: 模型训练:针对分层模型结构,使用不同级别的无监督语料,利用参数冻结的手段,使用多阶段的预训练方法,逐步训练模型的部分网络结构;
S2.4: 模型保存:在本地机器或者远程服务器运行模型的预训练过程;当模型迭代次数超过一定轮次,或者多次迭代后语言模型的损失函数没有下降时,停止预训练过程;将模型的网络结构和参数以模型文件的形式保存下来。
其中,步骤S2所述的基于分级的预训练模型,是通过设计分层的模型结构和多阶段的预训练方法,使预训练模型在兼顾语料集的质量和规模的同时,也能学习到更适用于特定领域的语义表示,具体如下:
所述的分层的模型结构:主要分为三层,包括大规模通用语义层、高质量通用语义层和特定领域语义层;其中,大规模通用语义层使用规模大但质量略低的通用领域语料进行训练,而高质量通用语义层则使用规模较小但相对质量高的通用领域语料训练网络结构,从而学习通用领域下文本的语义信息;特定领域语义层一般使用特定领域的语料来训练该层的网络结构,将模型之前学习到的通用语义表示进行调整,使其更适用于下游任务的特定领域;
所述的多阶段的预训练方法包括:第一阶段:只训练分层模型的第一层,即使用大规模的通用语料训练大规模通用语义层;第二阶段:使用高质量的通用语料训练模型的前两层,即包括大规模通用语义层和高质量通用语义层,此时大规模通用语义层的参数随训练过程中损失函数的优化而不断改变;第三阶段:使用特定领域语料在整个模型上训练语言模型任务,在这个阶段,利用冻结参数的手段,固定前两个通用语义层的参数保持不变,以防止破坏之前已训练好的通用语义表示。
其中,步骤S2所述的针对中文文本设计的模型调优方法,包括改进输入粒度、引入字形特征和引入联合学习,具体如下:
所述的改进输入粒度:基于字节对编码算法对输入文本进行预处理;具体为:在每轮迭代中,首先基于当前字典枚举所有的字节对,找到出现最频繁的一组字节对,然后将该字节对用一个未出现过的新字节来表征,并将此新字节添加到字典中,继续迭代,直到迭代次数达到固定的轮次;
所述的引入字形特征:在预训练模型的输入层使用卷积神经网络的结构,将中文的字形信息以特征的方式引入到模型中;对于任意输入文本,首先将其拆成偏旁的序列;预训练模型的输入层为每个偏旁初始化一个偏旁向量,则每个文本可对应一个二维向量矩阵;使用输入层的卷积神经网络结构对该二维向量矩阵进行卷积和池化操作,得到字形特征传给后续网络;
所述的引入联合学习:预训练模型的输出层引入联合学习,在预训练阶段联合学习语言模型任务和习语词汇的命名实体识别任务,模型最终的损失函数由这两个任务的损失函数相加得到。
本发明与现有技术相比的优点在于:
(1) 本发明从语言特性的角度出发,详细对比了中英文在语言特性方面的差异,充分考虑中文在输入粒度、字形信息以及习语词汇三个语言特性方面的特点,有针对性地提出了一系列面向中文的模型调优方法,包括改进输入粒度、引入字形特征、引入联合学习,从而使调优后的模型能够在中文任务上取得更好的表现。
(2) 针对中文无监督语料存在的分级现象,本发明提出了基于分级语料的预训练模型,通过设计分层的网络结构和多阶段的预训练方法,使用不同级别的无监督语料逐步训练对应层的网络结构,从而使模型在兼顾语料集质量和规模的同时,也能学习到更适用于特定领域的语义表示。
附图说明
图1为本发明方法整体流程图;
图2为本发明文本清洗流程;
图3为本发明设计的分层的模型结构;
图4为本发明设计的面向中文的预训练模型;
图5为本发明设计的引入字形特征的结构;
图6为本发明设计的引入联合学习的结构。
具体实施方式
下面结合附图,对本发明的技术方案做进一步的说明。
本发明是一种面向中文的预训练系统和方法,面向中文的预训练系统用以实现面向中文的预训练系统的方法,面向中文的预训练系统包括模型参数配置模块、预训练模型生成模块和服务封装模块;其中:
模型参数配置模块,用于显示用户界面,以供用户自定义中文预训练模型的各个参数,配置的参数包括是否在模型中引入模型调优方法、更改预训练模型的超参数、以及指定三种不同级别的无监督预训练语料,所述的无监督预训练语料包括大规模通用语料、高质量通用语料和特定领域语料;
预训练模型生成模块,用于根据用户提供的模型配置文件训练中文预训练模型,所述的预训练模型为基于分级的预训练模型,同时使用了多种针对中文文本设计的模型调优方法,最终模型的网络结构和参数将以模型文件的形式保存下来;
服务封装模块,用于在预训练模型生成模块训练生成的预训练模型文件的基础上,部署一个中文特征抽取服务;对中文特征抽取服务进行封装,并给用户提供相应的Docker镜像,用户通过在本地或者服务器端运行该镜像,就可以快速部署一个中文特征抽取器的服务,从而可以抽取中文文本的上下文相关的语义表示,并将其应用于下游的中文任务中。
以下将对实现的面向中文的预训练系统的方法进行具体说明。如图1所示,具体步骤如下:
S1.模型参数配置:
模型参数配置模块为用户提供一种友好的界面方式,使其可以自定义中文预训练模型的各个参数。具体的,如表1(预训练模型主要配置参数)所示,可以决定是否在模型中引入字形特征和联合学习,以及更改预训练模型的超参数,例如词向量维度、隐藏层维度等。此外,如果用户希望使用更多规模更大、质量更高或者其他领域的无监督语料来预训练模型,可以通过更改相应的语料文件参数来达到这个目的。
Figure 213005DEST_PATH_IMAGE001
表1
S2.预训练模型生成:
该模块主要由配置文件加载、文本预处理、模型训练和模型保存四部分构成,下面将逐一进行介绍。
S2.1配置文件加载:
加载用户自定义的模型配置文件,由于用户可以只设置部分的训练参数,因此,本发明为配置文件中的每个参数都设置了一个默认值,当用户没有设置某个参数时,就使用预设的默认值。
S2.2文本预处理:
对所有的无监督语料进行清洗和文本切分等预处理操作,具体来说,使用用户配置的分词方法对文本进行切分,文本清洗流程如图2所示,对中文文本进行繁体转简体的操作,对英文文本全部转换成小写,并使用nltk工具包对文本中的英文单词进行词形还原,将文本中的数字归一化为“#number”,借助正则表达式等方式去除无用文本,例如html代码、css标签等。
S2.3模型训练:
使用一种基于分级的预训练模型和多种针对中文文本设计的模型调优方法,训练模型。
S2.3.1基于分级的预训练模型:
基于分级语料的预训练模型通过分层的模型结构和多阶段的预训练方法,使模型可以充分利用不同级别的中文无监督语料。
如图3所示,分层的模型结构主要分为三层:大规模通用语义层、高质量通用语义层和特定领域语义层,每个语义层可以是一个任意的多层网络结构,例如BiLSTM、BiGRU和全连接层(Fully Connected layer,FC)等。具体来说,本发明的大规模通用语义层和高质量通用语义层均使用两层的双向LSTM网络结构,特定领域语义层使用了一层全连接层的网络结构。
多阶段的预训练方法是指在预训练阶段,利用参数冻结的手段,使用不同级别的无监督语料逐步训练每一层网络结构的参数。具体来说,本发明的多阶段的预训练方法主要分为以下三个训练阶段:第一阶段只训练分层模型的第一层,使用大规模的通用语料训练大规模通用语义层;第二阶段使用高质量的通用语料训练模型的前两层,包括大规模通用语义层和高质量通用语义层,此时大规模通用语义层的参数随训练过程不断改变;第三阶段使用特定领域语料在整个模型上训练语言模型任务,在这个阶段,利用冻结参数的手段,固定前两个通用语义层的参数保持不变。
S2.3.2面向中文的模型调优方法:
通过分析中英文在语言特性方面的差异,本发明提出了以下三个面向中文的模型调优方法:改进输入粒度、引入字形特征、引入联合学习。
改进输入粒度,如图4所示,是在文本预处理阶段,基于字节对编码算法对中文文本进行切分,字节对编码算法的基本思想是,在每轮迭代中,首先基于当前字典枚举所有的字节对,找到出现最频繁的一组字节对,例如input_layer(输出层)的token_emb和glyph_emb,然后将该字节对用一个未出现过的新字节来表征,例如input_layer的E1、E2...En,并将此新字节添加到字典中,继续迭代,如hidden_layer(隐层)的LSTM(循环神经网络),直到迭代次数达到固定的轮次,得到结果,如output_layer(输出层)的context。
引入字形特征,是通过改进模型输入层的网络结构,将中文的字形信息以特征的方式引入到模型中,具体来说,如图5所示,对于任意输入文本,如“岑岭”,首先将其拆成偏旁的序列,即“山”、“今”、“山”、“令”;模型的输入层为每个偏旁初始化一个偏旁向量,则每个文本可对应一个二维向量矩阵,如Matrix_part层所示;使用输入层的卷积神经网络结构CNNs对向量矩阵进行卷积和池化操作,得到字形特征,如glyph_emb层所示,再传给后续网络。
引入联合学习,如图6所示,是通过改进模型输出层的网络结构和损失函数,对于输入context,在预训练阶段联合学习命名实体识别任务NER_CRF和语言模型任务LM(图中未单独示出),使模型能够更好地学习词汇完整的语义表示,两者的损失函数可分别记为LM_Softmax和NER_Softmax,而模型最终的损失函数loss由上述两个训练任务的损失函数加和求得。
S2.4模型保存:
在服务器上运行模型的预训练过程;当模型迭代次数超过预设轮次,或者多次迭代后语言模型的损失函数没有下降时,停止预训练过程;将模型的网络结构和参数以模型文件的形式保存下来。
S3.服务封装:
本发明基于TF-Serving,在中文预训练模型文件的基础上,部署了一个中文特征抽取服务,定义该服务的API如表2所示。为了使用户可以一键式部署该服务,本发明基于Docker对其进行了封装,主要分为两个步骤:搭建服务环境,包括Python3环境、Tensorflow1.14环境,以及安装TF-Serving;配置Docker镜像内外端口的映射关系。经过对中文预训练模型进行服务部署和服务封装,用户就得到了基于此模型的特征抽取服务的Docker镜像,后续只需在本地或者服务器端简单地运行该Docker镜像就可以随时开启该服务。
Figure 992742DEST_PATH_IMAGE002
表2

Claims (4)

1.一种面向中文的预训练系统,其特征在于:所述预训练系统包括模型参数配置模块、预训练模型生成模块和服务封装模块;其中:
模型参数配置模块,用于显示用户界面,以供用户自定义中文预训练模型的各个参数,配置的参数包括是否在模型中引入模型调优方法、更改预训练模型的超参数、以及指定三种不同级别的无监督预训练语料,所述的无监督预训练语料包括大规模通用语料、高质量通用语料和特定领域语料;
预训练模型生成模块,用于根据用户提供的模型配置文件训练中文预训练模型,所述的预训练模型为基于分级的预训练模型,同时使用了多种针对中文文本设计的模型调优方法,最终模型的网络结构和参数将以模型文件的形式保存下来;
服务封装模块,用于在预训练模型生成模块训练生成的预训练模型文件的基础上,部署一个中文特征抽取服务;对中文特征抽取服务进行封装,并给用户提供相应的Docker镜像,用户通过在本地或者服务器端运行该镜像,就可以快速部署一个中文特征抽取器的服务,从而可以抽取中文文本的上下文相关的语义表示,并将其应用于下游的中文任务中;
其中,所述预训练模型生成模块的基于分级的预训练模型,是通过设计分层的模型结构和多阶段的预训练方法,使预训练模型在兼顾语料集的质量和规模的同时,也能学习到更适用于特定领域的语义表示,具体如下:
所述的分层的模型结构包括大规模通用语义层、高质量通用语义层和特定领域语义层;其中,大规模通用语义层使用规模大但质量略低的通用领域语料进行训练,而高质量通用语义层则使用规模较小但相对质量高的通用领域语料训练网络结构,从而学习通用领域下文本的语义信息;特定领域语义层一般使用特定领域的语料来训练该层的网络结构,将模型之前学习到的通用语义表示进行调整,使其更适用于下游任务的特定领域;
所述的多阶段的预训练方法包括:第一阶段:只训练分层模型的第一层,即使用大规模的通用语料训练大规模通用语义层;第二阶段:使用高质量的通用语料训练模型的前两层,即包括大规模通用语义层和高质量通用语义层,此时大规模通用语义层的参数随训练过程中损失函数的优化而不断改变;第三阶段:使用特定领域语料在整个模型上训练语言模型任务,在这个阶段,利用冻结参数的手段,固定前两个通用语义层的参数保持不变,以防止破坏之前已训练好的通用语义表示。
2.一种面向中文的预训练方法,其特征在于包括步骤如下:模型参数配置、预训练模型生成和服务封装;其中:
步骤S1: 模型参数配置:显示用户界面,以供用户自定义中文预训练模型的各个参数,配置的参数包括是否在模型中引入模型调优方法、更改预训练模型的超参数、以及指定三种不同级别的无监督预训练语料,所述的无监督预训练语料包括大规模通用语料、高质量通用语料和特定领域语料;
步骤S2: 预训练模型生成:根据用户提供的模型配置文件训练中文预训练模型,所述的预训练模型为基于分级的预训练模型,同时使用了多种针对中文文本设计的模型调优方法,最终模型的网络结构和参数将以模型文件的形式保存下来;
步骤S3: 服务封装:在步骤S2训练生成的预训练模型文件的基础上,部署一个中文特征抽取服务;对中文特征抽取服务进行封装,并给用户提供相应的Docker镜像,用户通过在本地或者服务器端运行该镜像,就可以快速部署一个中文特征抽取器的服务,从而可以抽取中文文本的上下文相关的语义表示,并将其应用于下游的中文任务中;
其中,所述步骤S2所述的基于分级的预训练模型,是通过设计分层的模型结构和多阶段的预训练方法,使预训练模型在兼顾语料集的质量和规模的同时,也能学习到更适用于特定领域的语义表示,具体如下:
所述的分层的模型结构包括大规模通用语义层、高质量通用语义层和特定领域语义层;其中,大规模通用语义层使用规模大但质量略低的通用领域语料进行训练,而高质量通用语义层则使用规模较小但相对质量高的通用领域语料训练网络结构,从而学习通用领域下文本的语义信息;特定领域语义层一般使用特定领域的语料来训练该层的网络结构,将模型之前学习到的通用语义表示进行调整,使其更适用于下游任务的特定领域;
所述的多阶段的预训练方法包括:第一阶段:只训练分层模型的第一层,即使用大规模的通用语料训练大规模通用语义层;第二阶段:使用高质量的通用语料训练模型的前两层,即包括大规模通用语义层和高质量通用语义层,此时大规模通用语义层的参数随训练过程中损失函数的优化而不断改变;第三阶段:使用特定领域语料在整个模型上训练语言模型任务,在这个阶段,利用冻结参数的手段,固定前两个通用语义层的参数保持不变,以防止破坏之前已训练好的通用语义表示。
3.根据权利要求2所述的面向中文的预训练方法,其特征在于:步骤S2所述的预训练模型生成,具体过程如下:
S2.1: 配置文件加载:根据用户自定义的模型配置文件,决定是否在预训练模型中引入调优方法,从而加载预训练模型的网络结构和训练过程的超参数,以及不同级别的无监督训练语料;
S2.2: 文本预处理:对用户自定义的无监督语料进行清洗和文本切分的预处理操作,将处理后的文本序列作为预训练模型的输入;
S2.3: 模型训练:针对分层模型结构,使用不同级别的无监督语料,利用参数冻结的手段,使用多阶段的预训练方法,逐步训练模型的部分网络结构;
S2.4: 模型保存:在本地机器或者远程服务器运行模型的预训练过程;当模型迭代次数超过一定轮次,或者多次迭代后语言模型的损失函数没有下降时,停止预训练过程;将模型的网络结构和参数以模型文件的形式保存下来。
4.根据权利要求2所述的面向中文的预训练方法,其特征在于:步骤S2所述的针对中文文本设计的模型调优方法,包括改进输入粒度、引入字形特征和引入联合学习,具体如下:
所述的改进输入粒度:基于字节对编码算法对输入文本进行预处理;具体为:在每轮迭代中,首先基于当前字典枚举所有的字节对,找到出现最频繁的一组字节对,然后将该字节对用一个未出现过的新字节来表征,并将此新字节添加到字典中,继续迭代,直到迭代次数达到固定的轮次;
所述的引入字形特征:在预训练模型的输入层使用卷积神经网络的结构,将中文的字形信息以特征的方式引入到模型中;对于任意输入文本,首先将其拆成偏旁的序列;预训练模型的输入层为每个偏旁初始化一个偏旁向量,则每个文本可对应一个二维向量矩阵;使用输入层的卷积神经网络结构对该二维向量矩阵进行卷积和池化操作,得到字形特征传给后续网络;
所述的引入联合学习:预训练模型的输出层引入联合学习,在预训练阶段联合学习语言模型任务和习语词汇的命名实体识别任务,模型最终的损失函数由这两个任务的损失函数相加得到。
CN202010205873.1A 2020-03-23 2020-03-23 一种面向中文的预训练方法及系统 Active CN111079447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010205873.1A CN111079447B (zh) 2020-03-23 2020-03-23 一种面向中文的预训练方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010205873.1A CN111079447B (zh) 2020-03-23 2020-03-23 一种面向中文的预训练方法及系统

Publications (2)

Publication Number Publication Date
CN111079447A CN111079447A (zh) 2020-04-28
CN111079447B true CN111079447B (zh) 2020-07-14

Family

ID=70324642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010205873.1A Active CN111079447B (zh) 2020-03-23 2020-03-23 一种面向中文的预训练方法及系统

Country Status (1)

Country Link
CN (1) CN111079447B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328785A (zh) * 2020-10-09 2021-02-05 福建亿榕信息技术有限公司 一种电力领域文本分类的方法和存储设备
CN112507101B (zh) * 2020-12-18 2024-04-05 北京百度网讯科技有限公司 一种建立预训练语言模型的方法和装置
CN113722570B (zh) * 2021-08-13 2023-07-18 苏州浪潮智能科技有限公司 一种预训练语料库的构建方法、装置、设备及可读介质
CN114387602B (zh) * 2022-03-24 2022-07-08 北京智源人工智能研究院 医疗ocr数据优化模型训练方法、优化方法及设备
CN114444725B (zh) * 2022-04-06 2022-09-06 阿里巴巴达摩院(杭州)科技有限公司 预训练服务系统及基于预训练服务系统的服务提供方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582789A (zh) * 2018-11-12 2019-04-05 北京大学 基于语义单元信息的文本多标签分类方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636204B (zh) * 2014-12-04 2018-06-01 中国联合网络通信集团有限公司 一种任务调度方法与装置
US10817509B2 (en) * 2017-03-16 2020-10-27 Massachusetts Institute Of Technology System and method for semantic mapping of natural language input to database entries via convolutional neural networks
CN107657313B (zh) * 2017-09-26 2021-05-18 上海数眼科技发展有限公司 基于领域适应的自然语言处理任务的迁移学习系统和方法
CN110427484A (zh) * 2018-04-26 2019-11-08 上海意仕腾教育科技有限公司 一种基于深度学习的中文自然语言处理方法
CN109829159B (zh) * 2019-01-29 2020-02-18 南京师范大学 一种古汉语文本的一体化自动词法分析方法及系统
CN110083831B (zh) * 2019-04-16 2023-04-18 武汉大学 一种基于BERT-BiGRU-CRF的中文命名实体识别方法
CN110569355B (zh) * 2019-07-24 2022-05-03 中国科学院信息工程研究所 一种基于词块的观点目标抽取和目标情感分类联合方法及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582789A (zh) * 2018-11-12 2019-04-05 北京大学 基于语义单元信息的文本多标签分类方法

Also Published As

Publication number Publication date
CN111079447A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN111079447B (zh) 一种面向中文的预训练方法及系统
CN106547735B (zh) 基于深度学习的上下文感知的动态词或字向量的构建及使用方法
CN109189925B (zh) 基于点互信息的词向量模型和基于cnn的文本分类方法
CN108388651B (zh) 一种基于图核和卷积神经网络的文本分类方法
JP2021190087A (ja) テキスト認識処理方法、装置、電子機器及び記憶媒体
KR102541053B1 (ko) 언어 모델에 기반한 단어 벡터 획득 방법, 장치, 기기 및 기록매체
CN109948149B (zh) 一种文本分类方法及装置
CN112395393B (zh) 一种基于多任务多示例的远程监督关系抽取方法
Rawat et al. Application of adversarial networks for 3D structural topology optimization
CN114970522B (zh) 语言模型的预训练方法、装置、设备、存储介质
CN107273352B (zh) 一种基于Zolu函数的词嵌入学习模型及训练方法
CN112084794A (zh) 一种藏汉翻译方法和装置
CN113011337B (zh) 一种基于深度元学习的汉字字库生成方法及系统
CN110647919A (zh) 一种基于k-均值聚类和胶囊网络的文本聚类方法及系统
CN112418320A (zh) 一种企业关联关系识别方法、装置及存储介质
CN110245349A (zh) 一种句法依存分析方法、装置及一种电子设备
CN116363149A (zh) 一种基于U-Net改进的医学图像分割方法
US20190034410A1 (en) Unsupervised Template Extraction
CN113204640B (zh) 一种基于注意力机制的文本分类方法
CN116932686B (zh) 主题挖掘方法、装置、电子设备及存储介质
CN112463982A (zh) 一种基于显隐式实体约束的关系抽取方法
CN114626529B (zh) 一种自然语言推理微调方法、系统、装置及存储介质
CN111274793A (zh) 一种文本处理方法、装置以及计算设备
CN114741503A (zh) 一种文本分类方法、装置、设备及可读存储介质
CN111008529B (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
GR01 Patent grant
GR01 Patent grant