1.本技术涉及自然语言处理技术,特别涉及用于训练自然语言处理模型的方法、自然语言处理方法、计算机系统和实施上述方法的计算机可读存储介质。
背景技术:2.近年来,自动化自然语言处理(automated natural language processing,以下简称autonlp)在学术界和工业界引起了广泛关注,其在消耗有限的计算资源的前提下,尽可能地减少人工参与,用机器自动完成nlp模型的全部或部分配置,最大化nlp模型的分析性能。该技术可以有效缓解nlp应用存在的模型更新频率高、维护周期长等带来的人力成本过高的问题。
3.另一方面,以bert为代表的预训练技术也为自然语言处理开辟了一条新的道路。预训练技术的核心在于“大规模未标注语料粗调+小规模标注语料微调”的实现方式,在缺乏标注语料任务的冷启动、相似任务的领域迁移/自适应、非结构化文本数据的特征工程、计算资源有限的线上模型应用等问题中,均具有成功的应用案例,带来了极大的准确率的提升。
4.但由于autonlp和预训练技术所解决的问题类型并不一致,且技术成熟度不一样,目前现有技术中缺少对两者的有效结合的方案。
技术实现要素:5.在按照本技术一个方面的用于训练自然语言处理模型的方法中,所述自然语言处理模型包括第一神经网络模型和第二神经网络模型,其中,所述第一神经网络为通用型自然语言处理模型并且其输入和输出分别为文本数据和相应的特征向量,所述第二神经网络模型为与指定任务相关的自然语言处理模型并且其输入和输出分别为第一神经网络模型输出的特征向量和关于文本数据的处理结果,所述方法包括下列步骤:
6.a、利用自动化自然语言处理技术来确定所述第二神经网络模型的优化配置;以及
7.b、利用已标注样本来微调所述自然语言处理模型。
8.在一些实施例中,上述方法进一步包括:
9.c、利用非标注样本对所述第一神经网络模型进行粗调。
10.在一些实施例中,所述第一神经网络模型为下列中的一种:bert模型、xlnet模型和roberta模型。
11.在一些实施例中,在步骤c中,采用下列方式中的一种来粗调所述第一神经网络模型:隐藏语言模型(masked lm)和下句预测(next sentence prediction)。
12.在一些实施例中,步骤a包括:
13.a1、设定自动化自然语言处理的搜索空间,其中,所述设定包括搜索空间的配置类型和各个配置类型的超参数取值范围;以及
14.a2、在设定的搜索空间内搜索第二神经网络模型的优化配置。
15.在一些实施例中,所述配置类型为下列项中的一个或多个:特征工程、分类算法、优化方法和第一神经网络模型的网络结构。可选地,所述特征工程从下列项中选择:主成分分析、线性判别式分析、自编码器和核函数。另外可选地,所述分类算法从下列项中选择:k最临近分类算法、朴素贝叶斯算法、支持向量机算法、梯度提升树算法、随机森林算法、卷积神经网络算法和长短期记忆网络算法。进一步可选地,所述优化方法从下列项中选择:梯度下降算法、随机梯度下降算法、l-bfgs算法、adam算法、rmsprop算法。
16.在一些实施例中,步骤a2包括:
17.a21、设置自动化自然语言处理的框架;
18.a22、确定优化器搜索策略;以及
19.a23、在各个配置类型的超参数取值范围内搜索优化取值。
20.可选地,所述框架选自下列项中的一种:hyperopt、auto-sklearn和explorekit,并且所述优化器搜索策略选自下列项中的一种:tpe、smac、强化学习和贪婪搜索。
21.按照本技术另一个方面的计算机系统包含:
22.至少一个存储器;
23.至少一个处理器;以及
24.存储在所述存储器上并可在所述处理器上运行的计算机程序,该计算机程序适于训练包括第一神经网络模型和第二神经网络模型的自然语言处理模型,其中,所述第一神经网络为通用型自然语言处理模型并且其输入和输出分别为文本数据和相应的特征向量,所述第二神经网络模型为与指定任务相关的自然语言处理模型并且其输入和输出分别为第一神经网络模型输出的特征向量和关于文本数据的处理结果,所述计算机程序的运行导致下列操作:
25.a、利用自动化自然语言处理的方式来确定所述第二神经网络模型的优化配置;
26.b、利用已标注样本来微调所述自然语言处理模型。
27.按照本技术还有一个方面的计算机可读存储介质,其上存储计算机程序,该计算机程序被处理器执行时实现如上所述的方法。
28.按照本技术还有一个方面的自然语言处理方法包含下列步骤:
29.a、接收文本数据;
30.b、利用自然语言处理模型来处理接收到的文本数据,所述自然语言处理模型包含第一神经网络模型和利用自动化自然语言处理技术进行优化配置的第二神经网络模型,并且通过利用已标注样本得到微调,其中,所述第一神经网络模型为通用型自然语言处理模型,其输入和输出分别为文本数据和相应的特征向量,所述第二神经网络模型为与指定任务相关的自然语言处理模型,其输入和输出分别为第一神经网络模型输出的特征向量和关于文本数据的处理结果;以及
31.c、输出处理结果。计算机可读存储介质,其上存储计算机程序,该计算机程序被处理器执行时实现如上所述的方法。
32.按照本技术还有一个方面的自然语言处理系统包含:
33.至少一个存储器;
34.至少一个处理器;以及
35.存储在所述存储器上并可在所述处理器上运行的计算机程序,该计算机程序的运
行导致下列操作:
36.a、接收文本数据;
37.b、利用自然语言处理模型来处理接收到的文本数据,所述自然语言处理模型包含第一神经网络模型和利用自动化自然语言处理技术进行优化配置的第二神经网络模型,并且通过利用已标注样本得到微调,其中,所述第一神经网络模型为通用型自然语言处理模型,其输入和输出分别为文本数据和相应的特征向量,所述第二神经网络模型为与指定任务相关的自然语言处理模型,其输入和输出分别为第一神经网络模型输出的特征向量和关于文本数据的处理结果;以及
38.c、输出处理结果。
39.按照本技术还有一个方面的计算机可读存储介质,其上存储计算机程序,该计算机程序被处理器执行时实现如上所述的自然语言处理方法。
40.在本技术的一些实施例中,自然语言处理模型包含通用型语言处理模型和与指定任务相关的nlp模型,可以在通用型模型的基础上,使用autonlp来确定与指定任务相关的nlp模型的优化配置,并利用已标注样本对自然语言处理模型作进一步的微调。由于优化配置的搜索仅对nlp模型网络结构进行,并且可以利用小规模的已标注样本来训练或微调自然语言处理模型,因此通用型模型的网络结构未发生大的改变,这使得能够“集成”其原始性能水平。此外,当已经有预训练的第一神经网络模型可用时,可以省略涉及大规模未标注语料训练的粗调过程,从而提高模型的收敛效率。
附图说明
41.本技术的上述和/或其它方面和优点将通过以下结合附图的各个方面的描述变得更加清晰和更容易理解,附图中相同或相似的单元采用相同的标号表示。附图包括:
42.图1示出了按照本技术的一些实施例的自然语言处理模型的结构。
43.图2为按照本技术另外一些实施例的用于训练自然语言处理模型的方法的流程图。
44.图3为按照本技术另外一些实施例的利用自动化自然语言处理技术确定优化配置的子过程的流程图。
45.图4为按照本技术另外一些实施例的在设定的搜索空间内搜索优化配置的子过程的流程图。
46.图5为按照本技术的另外一些实施例的计算机系统的示意框图。
47.图6为按照本技术另外一些实施例的自然语言处理方法的流程图。
48.图7为按照本技术的另外一些实施例的自然语言处理系统的示意框图。
具体实施方式
49.下面参照其中图示了本技术示意性实施例的附图更为全面地说明本技术。但本技术可以按不同形式来实现,而不应解读为仅限于本文给出的各实施例。给出的上述各实施例旨在使本文的披露全面完整,以将本技术的保护范围更为全面地传达给本领域技术人员。
50.在本说明书中,诸如“包含”和“包括”之类的用语表示除了具有在说明书和权利要
求书中有直接和明确表述的单元和步骤以外,本技术的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。
51.诸如“第一”和“第二”之类的用语并不表示单元在时间、空间、大小等方面的顺序而仅仅是作区分各单元之用。
52.在本说明书中,bert模型指的是一种使用预训练技术的语言表征模型,与采用传统的单向语言模型或者浅层拼接而成的单向语言模型实施预训练的方式不同,在该模型中采用了诸如隐藏语言模型(masked language model,以下简称为mlm)之类的方式以生成深度的双向语言表征。
53.在本说明书中,自动化自然语言处理指的是这样一种处理技术或方法,其在优化nlp模型分析性能的过程中,以消耗有限计算资源为前提,在尽可能地减少人工参与的情况下由用机器自动完成nlp模型的全部或部分配置。
54.将预训练技术与autonlp技术整合在一起并非易事。具体来说,预训练技术主要用于提升nlp模型的分析性能,而autonlp主要用于降低nlp模型的人工参与度,二者具有不同的任务目标,领域交叉程度较少,因此并不具备技术层面相结合的直观性。此外,虽然预训练技术具有较高的技术成熟度,但是autonlp尚处于技术发展的起步阶段,仍然有许多关键问题需要突破,这进一步增加了二者整合的难度。
55.2019年google公司提出一种使用基于autonlp的强化学习搜索策略来实现预训练网络结构的自动化检索的方法。有关该方法的细节可参考论文“the evolved transformer;https://arxiv.org/pdf/1901.11117.pdf”,该文献在此以全文引用的方式包含在本说明书中。
56.在上述方法中,预训练技术使用传统的变换器(transformer)堆叠方式构建网络结构(即bert),autonlp最终搜索到的网络架构是以cell(归一化层、多头注意力层、卷积层)为基础的进化变换器(evolved transformer)。由于两者在网络结构上存在非常大的差异,因此很难保证autonlp搜索到的网络结构能够达到bert的原始性能水平。此外,作为端到端的解决方案,预训练技术的粗调过程依赖于大规模未标注语料,该训练过程需要gpu集群的硬件支持。由于模型本身的训练耗时较长,且autonlp需要在设定的搜索空间内进行网络结构的搜索,两者叠加将消耗巨大的计算资源,因而无法兼顾同时提高准确率和效率的双重目标。
57.在本技术的一些实施例中,提出了一种具有图1所示结构的自然语言处理模型。该自然语言处理模型包含第一神经网络模型(例如图1中所示的诸如bert、xlnet模型和roberta模型之类的预训练模型)和第二神经网络模型(例如图1中所示的与指定任务相关的自然语言处理模型)。在图1所示的复合自然语言处理模型中,第一神经网络的输入为文本数据和输出分别为文本数据和相应的特征向量,第二神经网络模型的输入和输出分别为第一神经网络模型输出的特征向量和关于文本数据的处理结果。在本说明书中,除非特别指明,文本数据既可以指代输入训练后的自然语言处理模型的、待处理的文本数据,也可以指代用于训练自然语言处理模型的样本数据。
58.在图1所示的自然语言处理模型中,可以利用非标注样本对第一神经网络模型进行粗调。示例性地,可以在原生bert的网络结构基础上,使用通用领域或具体任务领域的大规模未标注语料完成bert的粗调。可选地,可采用隐藏语言模型(masked lm)或下句预测
(next sentence prediction)作为粗调的方式。需要指出的是,当存在已经过预训练的第一神经网络模型可供使用时,上述粗调步骤将不再必要。
59.对于第二神经网络模型或与指定任务相关的自然语言处理模型,可利用自动化自然语言处理技术来确定其优化配置。示例性地,优化配置的搜索空间包括但不限于nlp模型的下列配置类型及其各种组合:特征工程、nlp算法、最优化方法和nlp模型的网络结构等。
60.nlp任务的类型例如包括分类、回归和seq2seq等。可根据nlp任务来选择合适的nlp模型,并且将该模型的输入设定为第一神经网络模型或bert模型的输出(相应地,bert模型的输入被设定为需要分析的文本数据),输出被设定为具有与nlp任务对应的数据格式(例如分类任务时的分类标签、回归任务时的预测数值和sqe2sqe任务时的序列标签等)的处理结果。
61.继续参见图1,对于所示的自然语言处理模型,可利用已标注样本(例如具体任务领域的小规模标注语料)来训练或微调。具体而言,在训练过程中,已标注的文本数据被输入第一神经网络模型,第二神经网络模型采用第一神经网络模型输出的特征向量作为输入并输出相应的处理结果。
62.在上面的实施例中,可在诸如bert、xlnet模型和roberta模型之类的第一神经网络模型的基础上(将第一神经网络模型的输出作为第二神经网络模型的输入),使用autonlp来确定与指定任务相关的第二神经网络模型或nlp模型的优化配置,并利用已标注样本对自然语言处理模型作进一步的微调。由于第二神经网络模型或nlp模型的优化仅限于对nlp模型网络结构的搜索而无需搜索第一神经网络模型的网络结构,基于已标注样本的训练只是对自然语言处理模型所作的微调(因为与指定任务相关的样本规模通常远小于大规模的未标注预料),因此上述优化配置+微调的训练方式不会大幅度改变第一神经网络模型的网络结构,这使得上述自然语言处理模型能够“继承”第一神经网络模型的原始性能水平。此外,当已经有预训练的第一神经网络模型可用时,可以省略涉及大规模未标注语料训练的预训练过程或粗调过程,直接在第一神经网络模型的基础上进行autonlp的模型配置搜索和预训练微调,从而显著提高模型训练过程中的收敛效率。
63.图2为按照本技术另外一些实施例的用于训练自然语言处理模型的方法的流程图。示例性地,所训练的自然语言处理模型具有如图1所示的结构,其中将bert模型选作第一神经网络模型,将用户评论分类确定为第二计算机神经网络模型或nlp模型完成的任务。
64.图2所示的方法包含下列步骤:
65.步骤210:bert模型的粗调
66.在本步骤中,可利用非标注样本对bert模型进行粗调。示例性地,粗调可以下列方式进行:
67.211.收集与用户评论相关的大规模未标注语料s1。
68.212.按照一定的比例(例如15%)随机地将s1中的文本用“[mask]”标签隐藏。例如,原始文本可以是“新用户注册收不到验证码”,隐藏处理后文本可以是“新[mask]注册收不到验证码”。
[0069]
213.将212中的(隐藏处理后文本,原始文本)句对作为预训练集合来训练bert模型,其中,模型输入为携带“[mask]”标签的文本,输出为被“[mask]”标签隐藏的词。
[0070]
214.训练完成后得到的bert模型作为文本数据的特征抽取模块,将向第二计算机
神经网络模型输出文本的特征向量。
[0071]
在一个示例中,在向bert模型输入文本数据“新用户注册收不到验证码”后,bert模型将输出下列形式的特征向量:
[0072]
tensor([[1.9919e-02,-2.1610e-01,-2.0790e-01,-7.5849e-02,1.3176e-01,
…
,-1.2472e-01,-5.8978e-02,-1.2168e-01]],grad_fn=《tanhbackward》)
[0073]
需要指出的是,虽然在上面的粗调过程中采用的是隐藏语言模型(masked lm)是,但是其他的训练方式也是可用的,例如下句预测(next sentence prediction)。
[0074]
还需要指出的是,虽然图1所示的实施例将bert模型作为第一神经网络模型,但是这仅仅是示例性的,其它的预训练模型也可用作第一神经网络模型,例如包括但不限于roberta模型和xlnet模型等。
[0075]
步骤220:nlp模型优化配置的确定
[0076]
在本步骤中,利用自动化自然语言处理技术来确定第二神经网络模型或nlp模型的优化配置。有关优化配置的具体确定方式将在下面结合图3作进一步的描述。
[0077]
步骤230:自然语言处理模型的微调
[0078]
在本步骤中,利用已标注样本来微调自然语言处理模型或完成分类任务的训练。
[0079]
在所微调的自然语言处理模型中,bert模型为步骤210中经过粗调的模型,自然语言处理模型为在步骤220中利用自动化自然语言处理技术优化后的模型,复合型自然语言处理模型的输入为待分析的已标注文本,输出为待分析文本对应的分类标签。在一个示例中,分类标签集y={咨询,投诉,办理}。
[0080]
需要指出的是,在图2所示的方法中,步骤210是可选的。特别是,当已经有预训练的bert模型可用时,该步骤可以省略。
[0081]
图3为按照本技术另外一些实施例的利用自动化自然语言处理技术确定优化配置的子过程的流程图。图3所示的子过程可用于实施图2所示方法中的步骤220。
[0082]
图3所示的子过程包括下列步骤:
[0083]
步骤310:搜索空间的设定
[0084]
在本步骤中,对自动化自然语言处理的搜索空间进行设定。可选地,上述设定包括搜索空间的配置类型和各个配置类型的超参数取值范围。
[0085]
示例性地,配置类型可以包括下列项中的一个或多个:特征工程、分类算法、优化方法和第一神经网络模型的网络结构。
[0086]
可选地,特征工程可以从下列元素组成的特征工程集f中选择:
[0087]
f={主成分分析(pca),线性判别式分析(lda),自编码器,核函数}
[0088]
可选地,分类算法可从下列元素组成的分类算法集a中选择:
[0089]
a={k最临近分类(knn)算法,朴素贝叶斯算法,支持向量机(svm)算法,梯度提升树(gbdt)算法,随机森林算法,卷积神经网络(cnn)算法,长短期记忆网络(lstm)算法}
[0090]
可选地,优化方法可从下列元素组成的优化方法集o中选择:
[0091]
o={梯度下降(gd)算法,随机梯度下降(sgd)算法,l-bfgs算法,adam算法,rmsprop算法}
[0092]
对于配置类型,其可具有相应类型的超参数。
[0093]
例如特征工程可包括下列类型的超参数:
[0094]
·
n_components:降维后的维度;
[0095]
·
svd_solver:奇异值分解svd的方法;
[0096]
·
regularization:是否进行正则化。
[0097]
此外,表1和表2分别示出了多个分类算法和优化方法的超参数的类型。
[0098]
表1
[0099][0100]
表2
[0101]
优化算法离散型超参数连续性超参数梯度下降(gd)算法无无随机梯度下降(sgd)算法批处理大小步长相关的参数l-bfgs算法梯度保存的长度无
[0102]
在步骤310中,可以基于用户的输入来完成配置类型及其超参数取值范围的选定,或者也可以由计算机系统自动确定配置类型及其超参数取值范围(例如基于模型训练的历史数据)。
[0103]
在一个示例中,搜索空间可以用下列表3的形式表示:
[0104]
表3
[0105][0106]
步骤320:优化配置的搜索
[0107]
在本步骤中,在步骤310设定的搜索空间内搜索第二神经网络模型或nlp模型的优化配置。有关优化配置的具体实施方式将在下面结合图4作进一步的描述。
[0108]
图4为按照本技术另外一些实施例的在设定的搜索空间内搜索优化配置的子过程的流程图。图4所示的子过程可用于实施图3所示方法中的步骤320。
[0109]
图4所示的子过程包括下列步骤:
[0110]
步骤410:自动化自然语言处理框架的确定
[0111]
在本步骤中,确定用于搜索优化配置的自动化自然语言处理的框架。可选地,框架可选自下列类型中的一种:hyperopt、auto-sklearn和explorekit等。在步骤410中,可以基于用户的输入来完成框架的选定,或者也可以由计算机系统自动确定框架的类型(例如基
于优化配置搜索的历史数据)。
[0112]
步骤420:优化器搜索策略的确定
[0113]
在本步骤中,确定用于搜索优化配置的优化器搜索策略。可选地,优化器搜索策略可选自下列中的一种:tpe、smac、强化学习和贪婪搜索等。在步骤420中,可以基于用户的输入来完成搜索策略的选定,或者也可以由计算机系统自动确定搜索策略(例如基于优化配置搜索的历史数据)。
[0114]
步骤430:优化取值的搜索
[0115]
在本步骤中,基于步骤410确定的框架和优化器搜索策略,在设定的搜索空间内搜索各个配置类型的超参数取值范围内的优化取值。示例性地,通过使用autonlp框架和搜索策略,可以自动完成超参数的搜索过程。
[0116]
图5为按照本技术的另外一些实施例的计算机系统的示意框图。
[0117]
如图5所示,计算机系统50包含至少一个存储器510(例如诸如闪存、rom、硬盘驱动器、磁盘、光盘之类的非易失存储器)、至少一个处理器520以及存储在存储器510上并可在处理器520上运行的计算机程序530。
[0118]
存储器510存储可由处理器520执行的计算机程序530。处理器520配置为执行计算机程序530以实施参照图2-4描述的方法步骤。
[0119]
可选地,图5所示的计算机系统50可以云计算平台或云平台的方式实施,在该方式下,计算、网络和存储等服务以资源池的形式提供,其中,大部分的计算资源被托管于互联网并按需分配给用户。另外可选地,计算机系统50也可以单机系统的方式实施,在该方式下,计算资源基本上局限于单一的本地系统,计算机应用、数据存储和处理能力接近或相对接近用户。
[0120]
图6为按照本技术另外一些实施例的自然语言处理方法的流程图。
[0121]
图6所示的方法包含通过在计算机系统中运行计算机程序而执行的下列步骤:
[0122]
步骤610:待处理文本数据的接收
[0123]
在本步骤中,计算机系统接收待处理的文本数据。例如在一个示例中,输入的文本为“新用户注册收不到验证码”。
[0124]
步骤620:对接收到的文本数据的处理
[0125]
在本步骤中,计算机系统利用自然语言处理模型来处理接收到的文本数据。示例性地,所用的自然语言处理模型具有图1所示的结构并且利用参照图2-4所描述的方法进行训练。
[0126]
步骤630:处理结果的输出
[0127]
在本步骤中,计算机系统输出处理的结果。例如在一个示例中,nlp模型所完成的任务为用户评论的分类,相应地,处理结果为分类标签集y={咨询,投诉,办理}中的一个标签元素。
[0128]
图7为按照本技术的另外一些实施例的自然语言处理系统的示意框图。
[0129]
如图7所示,计算机系统70包含通信单元710、至少一个存储器720(例如诸如闪存、rom、硬盘驱动器、磁盘、光盘之类的非易失存储器)、至少一个处理器730以及存储在存储器720上并可在处理器730上运行的计算机程序740。
[0130]
通信单元710作为通信接口,被配置为从外部设备或网络(例如客户终端和服务器
等)接收待处理的文本数据和向外部设备或网络返回处理结果。
[0131]
存储器720存储可由处理器730执行的计算机程序740。处理器730配置为执行计算机程序740以实施参照图6描述的方法步骤。
[0132]
可选地,图7所示的计算机系统70可以云计算平台或云平台的方式实施,在该方式下,计算、网络和存储等服务以资源池的形式提供,其中,大部分的计算资源被托管于互联网并按需分配给用户。另外可选地,计算机系统70也可以单机系统的方式实施,在该方式下,计算资源基本上局限于单一的本地系统,计算机应用、数据存储和处理能力接近或相对接近用户。
[0133]
提供本文中提出的实施例和示例,以便最好地说明按照本技术及其特定应用的实施例,并且由此使本领域的技术人员能够实施和使用本技术。但是,本领域的技术人员将会知道,仅为了便于说明和举例而提供以上描述和示例。所提出的描述不是意在涵盖本技术的各个方面或者将本技术局限于所公开的精确形式。