本申请涉及到人工智能技术领域,特别是涉及到一种用于nlp任务的语言模型构建方法、装置、设备及介质。
背景技术:
对于预训练好的语言模型,我们通常需要将其应用到另一个领域来处理nlp(自然语言处理)任务。传统方法是通过采用目标领域的文本对预训练好的语言模型进行无监督的预训练来实现处理目标领域的nlp任务,比如,想要对生物医学领域进行文本挖掘任务时,需要使用已经在通用领域训练好的bert模型(语言模型)的权重初始化biobert(用于生物医学文本挖掘的预训练语言表示模型),然后采用生物医学领域的语料库对权重初始化后的biobert进行预训练。该训练方法出来的结果比较好,但是在硬件方面需要巨大代价,训练需要花费大量的时间,导致延迟了新兴领域的nlp任务的发展。
技术实现要素:
本申请的主要目的为提供一种用于nlp任务的语言模型构建方法、装置、设备及介质,旨在解决现有技术采用目标领域的文本对预训练好的语言模型进行无监督的预训练来实现处理目标领域的nlp任务,在硬件方面需要巨大代价,训练需要花费大量的时间的技术问题。
为了实现上述发明目的,本申请提出一种用于nlp任务的语言模型构建方法,所述方法包括:
获取目标领域的目标词向量生成模型的第一词典,所述目标词向量生成模型是基于word2vec训练得到的模型;
获取初始语言模型的第二词典,所述初始语言模型为采用不限领域的样本数据训练得到的bert模型;
根据所述第一词典和所述第二词典进行交集获取,得到目标词典交集数据;
采用最小二乘法,对所述目标词典交集数据进行拟合无约束线性变换,得到模拟矩阵向量;
根据所述初始语言模型、所述目标词向量生成模型和所述模拟矩阵向量进行语言模型构建,得到所述目标领域对应的目标语言模型。
进一步的,所述获取目标领域的目标词向量生成模型的第一词典的步骤之前,还包括:
获取所述目标领域的训练样本集合;
采用所述训练样本集合对词向量生成初始模型进行训练,将训练结束的所述词向量生成初始模型作为所述目标词向量生成模型。
进一步的,所述根据所述第一词典和所述第二词典进行交集获取,得到目标词典交集数据的步骤,包括:
根据所述第一词典和所述第二词典进行交集获取,得到待去噪的词典交集数据;
对所述待去噪的词典交集数据进行噪声字符的去除,得到所述目标词典交集数据,其中,所述噪声字符包括:表情符号、标点符号和空字符。
进一步的,所述模拟矩阵向量表述为w,采用如下公式计算得到:
其中,w是所述模拟矩阵向量以用于使第一词向量和第二词向量对齐,所述第一词向量是将目标词语输入所述目标词向量生成模型输出的词向量,所述第二词向量是将所述目标词语输入所述初始语言模型输出的词向量,所述目标词语是所述目标词典交集数据中的词语;εw2v(x)是将所述目标词典交集数据中的词语x输入所述目标词向量生成模型输出的所述第一词向量,εlm(x)是将所述目标词典交集数据中的词语x输入所述初始语言模型输出的所述第二词向量,
进一步的,所述根据所述初始语言模型、所述目标词向量生成模型和所述模拟矩阵向量进行语言模型构建,得到所述目标领域对应的目标语言模型的步骤,包括:
根据所述初始语言模型和所述目标词向量生成模型进行向量生成单元生成,得到目标词向量生成单元;
根据所述目标词向量生成单元、所述初始语言模型和所述模拟矩阵向量进行词嵌入单元生成,得到目标词嵌入单元;
将所述初始语言模型去掉编码器以前的结构,得到目标词向量处理单元;
将所述目标词向量生成单元、所述目标词嵌入单元和所述目标词向量处理单元进行依次连接,得到所述目标领域对应的所述目标语言模型。
进一步的,所述根据所述初始语言模型和所述目标词向量生成模型进行向量生成单元生成,得到目标词向量生成单元的步骤,包括:
将所述目标词向量生成模型作为第一词向量生成子单元;
将所述初始语言模型的分词器和词向量生成器作为第二词向量生成子单元;
将所述第一词向量生成子单元和所述第二词向量生成子单元进行并联设置,得到所述目标词向量生成单元。
进一步的,所述根据所述目标词向量生成单元、所述初始语言模型和所述模拟矩阵向量进行词嵌入单元生成,得到目标词嵌入单元的步骤,包括:
根据所述目标词向量生成单元构建词向量来源bert判断子单元,其中,所述词向量来源bert判断子单元用于针对输入所述目标词向量生成单元的目标文本数据中的每个词语进行是否有所述第二词向量生成子单元生成的词向量的判断,得到所述目标文本数据中的各个词语各自对应的词向量来源bert判断结果;
根据所述目标词向量生成单元、所述模拟矩阵向量和所述词向量来源bert判断子单元构建词向量对齐子单元,其中,所述词向量对齐子单元用于当存在所述词向量来源bert判断结果为不存在词向量来源bert时,将所述词向量来源bert判断结果为不存在词向量来源bert对应的所有词语,作为待对齐的词语集合,分别根据所述待对齐的词语集合中的每个词语获取所述第一词向量生成子单元输出的词向量,得到待对齐的词向量集合,分别将所述待对齐的词向量集合中的每个词向量与所述模拟矩阵向量进行相乘计算,得到对齐后的词向量集合;
根据所述目标词向量生成单元、所述词向量来源bert判断子单元和所述词向量对齐子单元构建词向量组合子单元,所述词向量组合子单元用于当存在所述词向量来源bert判断结果为存在词向量来源bert时,将所述词向量来源bert判断结果为存在词向量来源bert对应的所有词语,作为不需对齐的词语集合,分别根据所述不需对齐的词语集合中的每个词语获取所述第二词向量生成子单元输出的词向量,得到不需对齐的词向量集合,根据所述目标文本数据的文字顺序,将所述对齐后的词向量集合和所述不需对齐的词向量集合进行拼接,得到目标词向量数据;
将所述初始语言模型的词嵌入层作为词嵌入子单元;
根据所述词向量来源bert判断子单元、所述词向量对齐子单元、所述词向量组合子单元和所述词嵌入子单元进行词嵌入单元生成,得到所述目标词嵌入单元。
本申请还提出了一种用于nlp任务的语言模型构建装置,所述装置包括:
第一词典确定模块,用于获取目标领域的目标词向量生成模型的第一词典,所述目标词向量生成模型是基于word2vec训练得到的模型;
第二词典确定模块,用于获取初始语言模型的第二词典,所述初始语言模型为采用不限领域的样本数据训练得到的bert模型;
目标词典交集数据确定模块,用于根据所述第一词典和所述第二词典进行交集获取,得到目标词典交集数据;
模拟矩阵向量确定模块,用于采用最小二乘法,对所述目标词典交集数据进行拟合无约束线性变换,得到模拟矩阵向量;
目标语言模型确定模块,用于根据所述初始语言模型、所述目标词向量生成模型和所述模拟矩阵向量进行语言模型构建,得到所述目标领域对应的目标语言模型。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的用于nlp任务的语言模型构建方法、装置、设备及介质,通过获取目标领域的目标词向量生成模型的第一词典,目标词向量生成模型是基于word2vec训练得到的模型;获取初始语言模型的第二词典,初始语言模型为采用不限领域的样本数据训练得到的bert模型;根据第一词典和第二词典进行交集获取,得到目标词典交集数据;采用最小二乘法,对目标词典交集数据进行拟合无约束线性变换,得到模拟矩阵向量;根据初始语言模型、目标词向量生成模型和模拟矩阵向量进行语言模型构建,得到目标领域对应的目标语言模型,实现了采用在目标领域基于word2vec训练得到的模型对采用不限领域的样本数据训练得到的bert模型进行结构更改之后可以处理目标领域的nlp任务,因为在目标领域基于word2vec训练得到的模型需要的硬件方面的代价小于采用目标领域的文本对语言模型进行无监督的预训练,以及需要花费的时间小于采用目标领域的文本对语言模型进行无监督的预训练,减少了硬件代价,减少了需要花费的时间,有利于新兴领域的nlp任务的发展。
附图说明
图1为本申请一实施例的用于nlp任务的语言模型构建方法的流程示意图;
图2为本申请一实施例的用于nlp任务的语言模型构建装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了解决现有技术采用目标领域的文本对预训练好的语言模型进行无监督的预训练来实现处理目标领域的nlp任务,在硬件方面需要巨大代价,训练需要花费大量的时间的技术问题,本申请提出了一种用于nlp任务的语言模型构建方法,所述方法应用于人工智能技术领域,所述方法进一步应用于人工智能的自然语言处理技术领域。所述用于nlp任务的语言模型构建方法,采用在目标领域基于word2vec训练得到的模型对采用不限领域的样本数据训练得到的bert模型进行结构更改之后可以处理目标领域的nlp任务,因为在目标领域基于word2vec训练得到的模型需要的硬件方面的代价小于采用目标领域的文本对语言模型进行无监督的预训练,以及需要花费的时间小于采用目标领域的文本对语言模型进行无监督的预训练,减少了硬件代价,减少了需要花费的时间,有利于新兴领域的nlp任务的发展。
参照图1,本申请实施例中提供一种用于nlp任务的语言模型构建方法,所述方法包括:
s1:获取目标领域的目标词向量生成模型的第一词典,所述目标词向量生成模型是基于word2vec训练得到的模型;
s2:获取初始语言模型的第二词典,所述初始语言模型为采用不限领域的样本数据训练得到的bert模型;
s3:根据所述第一词典和所述第二词典进行交集获取,得到目标词典交集数据;
s4:采用最小二乘法,对所述目标词典交集数据进行拟合无约束线性变换,得到模拟矩阵向量;
s5:根据所述初始语言模型、所述目标词向量生成模型和所述模拟矩阵向量进行语言模型构建,得到所述目标领域对应的目标语言模型。
本实施例通过获取目标领域的目标词向量生成模型的第一词典,目标词向量生成模型是基于word2vec训练得到的模型;获取初始语言模型的第二词典,初始语言模型为采用不限领域的样本数据训练得到的bert模型;根据第一词典和第二词典进行交集获取,得到目标词典交集数据;采用最小二乘法,对目标词典交集数据进行拟合无约束线性变换,得到模拟矩阵向量;根据初始语言模型、目标词向量生成模型和模拟矩阵向量进行语言模型构建,得到目标领域对应的目标语言模型,实现了采用在目标领域基于word2vec训练得到的模型对采用不限领域的样本数据训练得到的bert模型进行结构更改之后可以处理目标领域的nlp任务,因为在目标领域基于word2vec训练得到的模型需要的硬件方面的代价小于采用目标领域的文本对语言模型进行无监督的预训练,以及需要花费的时间小于采用目标领域的文本对语言模型进行无监督的预训练,减少了硬件代价,减少了需要花费的时间,有利于新兴领域的nlp任务的发展。
对于s1,可以从数据库中获取目标领域的目标词向量生成模型的第一词典,也可以从第三方应用系统中获取目标领域的目标词向量生成模型的第一词典,还可以获取用户输入的目标领域的目标词向量生成模型的第一词典。
目标领域包括但不限于:生物医学领域、金融领域。
第一词典,也就是目标词向量生成模型中的词典。
目标词向量生成模型,是采用目标领域的训练样本对基于word2vec得到的模型训练得到的模型。也就是说,目标词向量生成模型可以用于对目标领域的文本数据进行词向量生成。word2vec,是一群用来产生词向量的相关模型。
对于s2,可以从数据库中获取初始语言模型的第二词典,也可以从第三方应用系统中获取初始语言模型的第二词典,还可以获取用户输入的初始语言模型的第二词典。
第二词典,也就是初始语言模型的词典。
所述初始语言模型为采用不限领域的样本数据训练得到的bert(bidirectionalencoderrepresentationfromtransformers)模型,也就是说,所述初始语言模型是在通用领域训练好的bert模型。
对于s3,从所述第一词典和所述第二词典中找出相同的词语,将找出的所有相同的词语作为目标词典交集数据。也就是说,目标词典交集数据中的词语,是在所述第一词典和所述第二词典都存在的词语。
对于s4,采用最小二乘法,对所述目标词典交集数据进行拟合无约束线性变换,计算得到参数矩阵,将得到的参数矩阵作为模拟矩阵向量。
可以理解的是,模拟矩阵向量中每个向量元素是0到1之间的数值,可以包括0,也可以包括1。
模拟矩阵向量使所述目标词典交集数据中的词语输入所述目标词向量生成模型得到的词向量与输入所述初始语言模型得到的词向量对齐。也就是说,所述目标词典交集数据中的词语输入所述目标词向量生成模型得到的词向量和模拟矩阵向量相乘与该词语输入所述初始语言模型得到的词向量的基本一致。从而实现通过模拟矩阵向量可以将所述目标词向量生成模型输出的词向量模拟成所述初始语言模型输出的词向量。
对于s5,根据所述目标词向量生成模型和所述模拟矩阵向量,对所述初始语言模型的编码器以前的结构进行调整,将调整后的网络结构作为所述目标领域对应的目标语言模型。
在一个实施例中,上述获取目标领域的目标词向量生成模型的第一词典的步骤之前,还包括:
s11:获取所述目标领域的训练样本集合;
s12:采用所述训练样本集合对词向量生成初始模型进行训练,将训练结束的所述词向量生成初始模型作为所述目标词向量生成模型。
本实施例实现了采用所述目标领域的训练样本集合对词向量生成初始模型进行训练得到目标词向量生成模型,从而为对目标领域的词向量的生成提供了支持。
对于s11,可以从数据库中获取所述目标领域的训练样本集合,也可以从第三方应用系统中获取所述目标领域的训练样本集合,还可以获取所述目标领域的训练样本集合。
目标领域的训练样本集合,是指训练样本集合中的样本数据来自目标领域。
对于s12,采用所述训练样本集合对词向量生成初始模型进行训练的具体步骤在此不做赘述。
将word2vec作为所述词向量生成初始模型。
在一个实施例中,上述根据所述第一词典和所述第二词典进行交集获取,得到目标词典交集数据的步骤,包括:
s31:根据所述第一词典和所述第二词典进行交集获取,得到待去噪的词典交集数据;
s32:对所述待去噪的词典交集数据进行噪声字符的去除,得到所述目标词典交集数据,其中,所述噪声字符包括:表情符号、标点符号和空字符。
本实施例实现了对词典交集数据进行噪声字符的去除后作为所述目标词典交集数据,减少了噪声字符影响确定模拟矩阵向量的准确性,提高了目标语言模型的准确性。
对于s31,从所述第一词典和所述第二词典中找出相同的词语,将找出的所有相同的词语作为待去噪的词典交集数据。可以理解的是,每个噪声字符在待去噪的词典交集数据被作为一个词语。
对于s32,获取预设噪声字符库;分别将所述待去噪的词典交集数据中每个词语在所述预设噪声字符库中进行查找,将在所述预设噪声字符库中查找成功的所有词语从所述待去噪的词典交集数据中删除,将完成删除处理的所述待去噪的词典交集数据作为所述目标词典交集数据。
所述噪声字符包括但不限于:表情符号、标点符号和空字符。
因为bert模型对预设噪声字符库中的噪声字符进行了准确的词向量生成,因此针对预设噪声字符库中的噪声字符直接采用bert模型生成的词向量即可,不需要采用word2vec的词向量,因此将预设噪声字符库中的噪声字符从所述待去噪的词典交集数据中删除,避免噪声字符影响确定模拟矩阵向量的准确性。
在一个实施例中,上述模拟矩阵向量表述为w,采用如下公式计算得到:
其中,w是所述模拟矩阵向量以用于使第一词向量和第二词向量对齐,所述第一词向量是将目标词语输入所述目标词向量生成模型输出的词向量,所述第二词向量是将所述目标词语输入所述初始语言模型输出的词向量,所述目标词语是所述目标词典交集数据中的词语;εw2v(x)是将所述目标词典交集数据中的词语x输入所述目标词向量生成模型输出的所述第一词向量,εlm(x)是将所述目标词典交集数据中的词语x输入所述初始语言模型输出的所述第二词向量,
本实施例采用最小二乘法,对所述目标词典交集数据进行拟合无约束线性变换,确定了使所述目标词典交集数据中的词语输入所述目标词向量生成模型输出的词向量与输入所述初始语言模型输出的词向量对齐的模拟矩阵向量,为后续采用在目标领域基于word2vec训练得到的模型对采用不限领域的样本数据训练得到的bert模型进行结构更改之后可以处理目标领域的nlp任务提供了支持。
其中,当
在一个实施例中,上述根据所述初始语言模型、所述目标词向量生成模型和所述模拟矩阵向量进行语言模型构建,得到所述目标领域对应的目标语言模型的步骤,包括:
s51:根据所述初始语言模型和所述目标词向量生成模型进行向量生成单元生成,得到目标词向量生成单元;
s52:根据所述目标词向量生成单元、所述初始语言模型和所述模拟矩阵向量进行词嵌入单元生成,得到目标词嵌入单元;
s53:将所述初始语言模型去掉编码器以前的结构,得到目标词向量处理单元;
s54:将所述目标词向量生成单元、所述目标词嵌入单元和所述目标词向量处理单元进行依次连接,得到所述目标领域对应的所述目标语言模型。
本实施例实现了根据所述目标词向量生成模型和所述模拟矩阵向量对所述初始语言模型进行调整得到所述目标领域对应的目标语言模型,实现了采用在目标领域基于word2vec训练得到的模型对采用不限领域的样本数据训练得到的bert模型进行结构更改之后可以处理目标领域的nlp任务,因为在目标领域基于word2vec训练得到的模型需要的硬件方面的代价小于采用目标领域的文本对语言模型进行无监督的预训练,以及需要花费的时间小于采用目标领域的文本对语言模型进行无监督的预训练,减少了硬件代价,减少了需要花费的时间。
对于s51,将所述初始语言模型的分词器及词向量生成器和所述目标词向量生成模型作为并联的词向量生成子单元,得到目标词向量生成单元。
可选的,将并集分词器作为第一分词器,将所述初始语言模型的分词器作为第二分词器,将所述目标词向量生成模型的词向量生成器作为第一词向量生成器,将所述初始语言模型的词向量生成器作为第二词向量生成器;将第一分词器和第一词向量生成器进行依次连接得到word2vec词向量生成子单元,将第二分词器和第二词向量生成器进行依次连接得到bert词向量生成子单元,将word2vec词向量生成子单元和bert词向量生成子单元进行并联设置,得到所述目标词向量生成单元。并集分词器,也就是对通用领域和目标领域的文本数据都可以进行分词的分词器。
对于s52,根据所述目标词向量生成单元和所述模拟矩阵向量,对所述初始语言模型的词嵌入层进行重新定义,得到目标词嵌入单元。
对于s53,将所述初始语言模型的编码器以前的结构都删除掉,将所述初始语言模型中剩余的结构作为目标词向量处理单元。
对于s54,将所述目标词向量生成单元的输出端与所述目标词嵌入单元的输入端连接,将所述目标词嵌入单元的输出端与所述目标词向量处理单元的输入端连接,将完成连接的所述目标词向量生成单元、所述目标词嵌入单元和所述目标词向量处理单元作为所述目标领域对应的所述目标语言模型。也就是说,目标语言模型是对所述初始语言模型的编码器以前的结构进行调整得到的模型。
在一个实施例中,上述根据所述初始语言模型和所述目标词向量生成模型进行向量生成单元生成,得到目标词向量生成单元的步骤,包括:
s511:将所述目标词向量生成模型作为第一词向量生成子单元;
s512:将所述初始语言模型的分词器和词向量生成器作为第二词向量生成子单元;
s513:将所述第一词向量生成子单元和所述第二词向量生成子单元进行并联设置,得到所述目标词向量生成单元。
本实施例实现了将所述初始语言模型的分词器及词向量生成器和所述目标词向量生成模型作为并行的词向量生成子单元,为后续采用在目标领域基于word2vec训练得到的模型对采用不限领域的样本数据训练得到的bert模型进行结构更改之后可以处理目标领域的nlp任务提供了支持。
对于s511,将所述目标词向量生成模型直接作为第一词向量生成子单元。
第一词向量生成子单元可以对输入的文本数据进行分词和词向量生成。
对于s512,将所述初始语言模型的分词器和所述初始语言模型的词向量生成器进行依次连接后,将连接后的所述初始语言模型的分词器和所述初始语言模型的词向量生成器作为第二词向量生成子单元。
所述初始语言模型的分词器用于对输入的文本数据进行分词,所述初始语言模型的词向量生成器用于对输入的文本数据进行词向量生成。
对于s513,将所述第一词向量生成子单元和所述第二词向量生成子单元进行并联设置,也就是说,输入所述目标词向量生成单元的目标文本数据,将同时输入第一词向量生成子单元和第二词向量生成子单元,第一词向量生成子单元输出数据到目标词嵌入单元,第二词向量生成子单元输出数据到目标词嵌入单元。
在一个实施例中,上述根据所述目标词向量生成单元、所述初始语言模型和所述模拟矩阵向量进行词嵌入单元生成,得到目标词嵌入单元的步骤,包括:
s521:根据所述目标词向量生成单元构建词向量来源bert判断子单元,其中,所述词向量来源bert判断子单元用于针对输入所述目标词向量生成单元的目标文本数据中的每个词语进行是否有所述第二词向量生成子单元生成的词向量的判断,得到所述目标文本数据中的各个词语各自对应的词向量来源bert判断结果;
s522:根据所述目标词向量生成单元、所述模拟矩阵向量和所述词向量来源bert判断子单元构建词向量对齐子单元,其中,所述词向量对齐子单元用于当存在所述词向量来源bert判断结果为不存在词向量来源bert时,将所述词向量来源bert判断结果为不存在词向量来源bert对应的所有词语,作为待对齐的词语集合,分别根据所述待对齐的词语集合中的每个词语获取所述第一词向量生成子单元输出的词向量,得到待对齐的词向量集合,分别将所述待对齐的词向量集合中的每个词向量与所述模拟矩阵向量进行相乘计算,得到对齐后的词向量集合;
s523:根据所述目标词向量生成单元、所述词向量来源bert判断子单元和所述词向量对齐子单元构建词向量组合子单元,所述词向量组合子单元用于当存在所述词向量来源bert判断结果为存在词向量来源bert时,将所述词向量来源bert判断结果为存在词向量来源bert对应的所有词语,作为不需对齐的词语集合,分别根据所述不需对齐的词语集合中的每个词语获取所述第二词向量生成子单元输出的词向量,得到不需对齐的词向量集合,根据所述目标文本数据的文字顺序,将所述对齐后的词向量集合和所述不需对齐的词向量集合进行拼接,得到目标词向量数据;
s524:将所述初始语言模型的词嵌入层作为词嵌入子单元;
s525:根据所述词向量来源bert判断子单元、所述词向量对齐子单元、所述词向量组合子单元和所述词嵌入子单元进行词嵌入单元生成,得到所述目标词嵌入单元。
本实施例实现了根据所述目标词向量生成单元和所述模拟矩阵向量,对所述初始语言模型的词嵌入层进行重新定义,为后续采用在目标领域基于word2vec训练得到的模型对采用不限领域的样本数据训练得到的bert模型进行结构更改之后可以处理目标领域的nlp任务提供了支持。
对于s521,构建词向量来源bert判断子单元,将词向量来源bert判断子单元的输入端与所述第二词向量生成子单元的输出端连接。
所述词向量来源bert判断子单元的工作原理是:针对输入所述目标词向量生成单元的目标文本数据中的每个词语进行是否有所述第二词向量生成子单元生成的词向量的判断,得到所述目标文本数据中的各个词语各自对应的词向量来源bert判断结果。
也就是说,针对输入所述目标词向量生成单元的目标文本数据中的每个词语,进行所述第二词向量生成子单元是否成功生成词向量判断,将所述第二词向量生成子单元未成功生成词向量的词语对应的所述词向量来源bert判断结果确定为不存在词向量来源bert,将所述第二词向量生成子单元成功生成词向量的词语对应的所述词向量来源bert判断结果确定为存在词向量来源bert。
对于s522,构建词向量对齐子单元,将词向量对齐子单元的输入端分别与所述第一词向量生成子单元的输出端和所述词向量来源bert判断子单元的输出端连接。
所述词向量对齐子单元的工作原理为:当存在所述词向量来源bert判断结果为不存在词向量来源bert时,将所述词向量来源bert判断结果为不存在词向量来源bert对应的所有词语,作为待对齐的词语集合,分别根据所述待对齐的词语集合中的每个词语获取所述第一词向量生成子单元输出的词向量,得到待对齐的词向量集合,分别将所述待对齐的词向量集合中的每个词向量与所述模拟矩阵向量进行相乘计算,得到对齐后的词向量集合。
也就是说,当存在所述词向量来源bert判断结果为不存在词向量来源bert时,意味着所述词向量来源bert判断结果为不存在词向量来源bert对应的词语不能被所述第二词向量生成子单元正确识别并生成词向量,因此将所述词向量来源bert判断结果为不存在词向量来源bert对应的所有词语作为待对齐的词语集合;分别根据所述待对齐的词语集合中的每个词语获取所述第一词向量生成子单元输出的词向量,得到待对齐的词向量集合,从而得到word2vec生成的词向量;分别将所述待对齐的词向量集合中的每个词向量与所述模拟矩阵向量进行相乘计算,将相乘得到的每个数据作为一个对齐后的词向量,将所有对齐后的词向量作为对齐后的词向量集合,从而实现将word2vec生成的词向量与所述模拟矩阵向量进行相乘来模拟所述第二词向量生成子单元生成的词向量。
对于s523,构建词向量组合子单元,将词向量组合子单元的输入端分别与目标词向量生成单元的输出端、所述词向量来源bert判断子单元的输出端和所述词向量对齐子单元的输出端连接。
所述词向量组合子单元的工作原理为:当存在所述词向量来源bert判断结果为存在词向量来源bert时,将所述词向量来源bert判断结果为存在词向量来源bert对应的所有词语,作为不需对齐的词语集合,分别根据所述不需对齐的词语集合中的每个词语获取所述第二词向量生成子单元输出的词向量,得到不需对齐的词向量集合,根据所述目标文本数据的文字顺序,将所述对齐后的词向量集合和所述不需对齐的词向量集合进行拼接,得到目标词向量数据。
也就是说,当存在所述词向量来源bert判断结果为存在词向量来源bert时,意味着所述词向量来源bert判断结果为存在词向量来源bert对应的词语能被所述第二词向量生成子单元正确识别并生成词向量,所述词向量来源bert判断结果为存在词向量来源bert对应的词语不需要进行对齐处理,因此将所述词向量来源bert判断结果为存在词向量来源bert对应的所有词语作为不需对齐的词语集合;分别根据所述不需对齐的词语集合中的每个词语获取所述第二词向量生成子单元输出的词向量,得到不需对齐的词向量集合,从而得到bert生成的词向量;根据所述目标文本数据的文字顺序,将所述对齐后的词向量集合和所述不需对齐的词向量集合进行拼接,将拼接后的数据作为目标词向量数据。
对于s524,直接将所述初始语言模型的词嵌入层作为词嵌入子单元,将词嵌入子单元的输入端与所述词向量组合子单元的输出端连接。
对于s525,将完成连接的所述词向量来源bert判断子单元、所述词向量对齐子单元、所述词向量组合子单元和所述词嵌入子单元作为词嵌入单元,将得到的词嵌入单元作为所述目标词嵌入单元。
参照图2,本申请还提出了一种用于nlp任务的语言模型构建装置,所述装置包括:
第一词典确定模块100,用于获取目标领域的目标词向量生成模型的第一词典,所述目标词向量生成模型是基于word2vec训练得到的模型;
第二词典确定模块200,用于获取初始语言模型的第二词典,所述初始语言模型为采用不限领域的样本数据训练得到的bert模型;
目标词典交集数据确定模块300,用于根据所述第一词典和所述第二词典进行交集获取,得到目标词典交集数据;
模拟矩阵向量确定模块400,用于采用最小二乘法,对所述目标词典交集数据进行拟合无约束线性变换,得到模拟矩阵向量;
目标语言模型确定模块500,用于根据所述初始语言模型、所述目标词向量生成模型和所述模拟矩阵向量进行语言模型构建,得到所述目标领域对应的目标语言模型。
本实施例通过获取目标领域的目标词向量生成模型的第一词典,目标词向量生成模型是基于word2vec训练得到的模型;获取初始语言模型的第二词典,初始语言模型为采用不限领域的样本数据训练得到的bert模型;根据第一词典和第二词典进行交集获取,得到目标词典交集数据;采用最小二乘法,对目标词典交集数据进行拟合无约束线性变换,得到模拟矩阵向量;根据初始语言模型、目标词向量生成模型和模拟矩阵向量进行语言模型构建,得到目标领域对应的目标语言模型,实现了采用在目标领域基于word2vec训练得到的模型对采用不限领域的样本数据训练得到的bert模型进行结构更改之后可以处理目标领域的nlp任务,因为在目标领域基于word2vec训练得到的模型需要的硬件方面的代价小于采用目标领域的文本对语言模型进行无监督的预训练,以及需要花费的时间小于采用目标领域的文本对语言模型进行无监督的预训练,减少了硬件代价,减少了需要花费的时间,有利于新兴领域的nlp任务的发展。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存用于nlp任务的语言模型构建方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种用于nlp任务的语言模型构建方法。所述用于nlp任务的语言模型构建方法,包括:获取目标领域的目标词向量生成模型的第一词典,所述目标词向量生成模型是基于word2vec训练得到的模型;获取初始语言模型的第二词典,所述初始语言模型为采用不限领域的样本数据训练得到的bert模型;根据所述第一词典和所述第二词典进行交集获取,得到目标词典交集数据;采用最小二乘法,对所述目标词典交集数据进行拟合无约束线性变换,得到模拟矩阵向量;根据所述初始语言模型、所述目标词向量生成模型和所述模拟矩阵向量进行语言模型构建,得到所述目标领域对应的目标语言模型。
本实施例通过获取目标领域的目标词向量生成模型的第一词典,目标词向量生成模型是基于word2vec训练得到的模型;获取初始语言模型的第二词典,初始语言模型为采用不限领域的样本数据训练得到的bert模型;根据第一词典和第二词典进行交集获取,得到目标词典交集数据;采用最小二乘法,对目标词典交集数据进行拟合无约束线性变换,得到模拟矩阵向量;根据初始语言模型、目标词向量生成模型和模拟矩阵向量进行语言模型构建,得到目标领域对应的目标语言模型,实现了采用在目标领域基于word2vec训练得到的模型对采用不限领域的样本数据训练得到的bert模型进行结构更改之后可以处理目标领域的nlp任务,因为在目标领域基于word2vec训练得到的模型需要的硬件方面的代价小于采用目标领域的文本对语言模型进行无监督的预训练,以及需要花费的时间小于采用目标领域的文本对语言模型进行无监督的预训练,减少了硬件代价,减少了需要花费的时间,有利于新兴领域的nlp任务的发展。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种用于nlp任务的语言模型构建方法,包括步骤:获取目标领域的目标词向量生成模型的第一词典,所述目标词向量生成模型是基于word2vec训练得到的模型;获取初始语言模型的第二词典,所述初始语言模型为采用不限领域的样本数据训练得到的bert模型;根据所述第一词典和所述第二词典进行交集获取,得到目标词典交集数据;采用最小二乘法,对所述目标词典交集数据进行拟合无约束线性变换,得到模拟矩阵向量;根据所述初始语言模型、所述目标词向量生成模型和所述模拟矩阵向量进行语言模型构建,得到所述目标领域对应的目标语言模型。
上述执行的用于nlp任务的语言模型构建方法,通过获取目标领域的目标词向量生成模型的第一词典,目标词向量生成模型是基于word2vec训练得到的模型;获取初始语言模型的第二词典,初始语言模型为采用不限领域的样本数据训练得到的bert模型;根据第一词典和第二词典进行交集获取,得到目标词典交集数据;采用最小二乘法,对目标词典交集数据进行拟合无约束线性变换,得到模拟矩阵向量;根据初始语言模型、目标词向量生成模型和模拟矩阵向量进行语言模型构建,得到目标领域对应的目标语言模型,实现了采用在目标领域基于word2vec训练得到的模型对采用不限领域的样本数据训练得到的bert模型进行结构更改之后可以处理目标领域的nlp任务,因为在目标领域基于word2vec训练得到的模型需要的硬件方面的代价小于采用目标领域的文本对语言模型进行无监督的预训练,以及需要花费的时间小于采用目标领域的文本对语言模型进行无监督的预训练,减少了硬件代价,减少了需要花费的时间,有利于新兴领域的nlp任务的发展。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
1.一种用于nlp任务的语言模型构建方法,其特征在于,所述方法包括:
获取目标领域的目标词向量生成模型的第一词典,所述目标词向量生成模型是基于word2vec训练得到的模型;
获取初始语言模型的第二词典,所述初始语言模型为采用不限领域的样本数据训练得到的bert模型;
根据所述第一词典和所述第二词典进行交集获取,得到目标词典交集数据;
采用最小二乘法,对所述目标词典交集数据进行拟合无约束线性变换,得到模拟矩阵向量;
根据所述初始语言模型、所述目标词向量生成模型和所述模拟矩阵向量进行语言模型构建,得到所述目标领域对应的目标语言模型。
2.根据权利要求1所述的用于nlp任务的语言模型构建方法,其特征在于,所述获取目标领域的目标词向量生成模型的第一词典的步骤之前,还包括:
获取所述目标领域的训练样本集合;
采用所述训练样本集合对词向量生成初始模型进行训练,将训练结束的所述词向量生成初始模型作为所述目标词向量生成模型。
3.根据权利要求1所述的用于nlp任务的语言模型构建方法,其特征在于,所述根据所述第一词典和所述第二词典进行交集获取,得到目标词典交集数据的步骤,包括:
根据所述第一词典和所述第二词典进行交集获取,得到待去噪的词典交集数据;
对所述待去噪的词典交集数据进行噪声字符的去除,得到所述目标词典交集数据,其中,所述噪声字符包括:表情符号、标点符号和空字符。
4.根据权利要求1所述的用于nlp任务的语言模型构建方法,其特征在于,所述模拟矩阵向量表述为w,采用如下公式计算得到:
其中,w是所述模拟矩阵向量以用于使第一词向量和第二词向量对齐,所述第一词向量是将目标词语输入所述目标词向量生成模型输出的词向量,所述第二词向量是将所述目标词语输入所述初始语言模型输出的词向量,所述目标词语是所述目标词典交集数据中的词语;εw2v(x)是将所述目标词典交集数据中的词语x输入所述目标词向量生成模型输出的所述第一词向量,εlm(x)是将所述目标词典交集数据中的词语x输入所述初始语言模型输出的所述第二词向量,
5.根据权利要求1所述的用于nlp任务的语言模型构建方法,其特征在于,所述根据所述初始语言模型、所述目标词向量生成模型和所述模拟矩阵向量进行语言模型构建,得到所述目标领域对应的目标语言模型的步骤,包括:
根据所述初始语言模型和所述目标词向量生成模型进行向量生成单元生成,得到目标词向量生成单元;
根据所述目标词向量生成单元、所述初始语言模型和所述模拟矩阵向量进行词嵌入单元生成,得到目标词嵌入单元;
将所述初始语言模型去掉编码器以前的结构,得到目标词向量处理单元;
将所述目标词向量生成单元、所述目标词嵌入单元和所述目标词向量处理单元进行依次连接,得到所述目标领域对应的所述目标语言模型。
6.根据权利要求5所述的用于nlp任务的语言模型构建方法,其特征在于,所述根据所述初始语言模型和所述目标词向量生成模型进行向量生成单元生成,得到目标词向量生成单元的步骤,包括:
将所述目标词向量生成模型作为第一词向量生成子单元;
将所述初始语言模型的分词器和词向量生成器作为第二词向量生成子单元;
将所述第一词向量生成子单元和所述第二词向量生成子单元进行并联设置,得到所述目标词向量生成单元。
7.根据权利要求6所述的用于nlp任务的语言模型构建方法,其特征在于,所述根据所述目标词向量生成单元、所述初始语言模型和所述模拟矩阵向量进行词嵌入单元生成,得到目标词嵌入单元的步骤,包括:
根据所述目标词向量生成单元构建词向量来源bert判断子单元,其中,所述词向量来源bert判断子单元用于针对输入所述目标词向量生成单元的目标文本数据中的每个词语进行是否有所述第二词向量生成子单元生成的词向量的判断,得到所述目标文本数据中的各个词语各自对应的词向量来源bert判断结果;
根据所述目标词向量生成单元、所述模拟矩阵向量和所述词向量来源bert判断子单元构建词向量对齐子单元,其中,所述词向量对齐子单元用于当存在所述词向量来源bert判断结果为不存在词向量来源bert时,将所述词向量来源bert判断结果为不存在词向量来源bert对应的所有词语,作为待对齐的词语集合,分别根据所述待对齐的词语集合中的每个词语获取所述第一词向量生成子单元输出的词向量,得到待对齐的词向量集合,分别将所述待对齐的词向量集合中的每个词向量与所述模拟矩阵向量进行相乘计算,得到对齐后的词向量集合;
根据所述目标词向量生成单元、所述词向量来源bert判断子单元和所述词向量对齐子单元构建词向量组合子单元,所述词向量组合子单元用于当存在所述词向量来源bert判断结果为存在词向量来源bert时,将所述词向量来源bert判断结果为存在词向量来源bert对应的所有词语,作为不需对齐的词语集合,分别根据所述不需对齐的词语集合中的每个词语获取所述第二词向量生成子单元输出的词向量,得到不需对齐的词向量集合,根据所述目标文本数据的文字顺序,将所述对齐后的词向量集合和所述不需对齐的词向量集合进行拼接,得到目标词向量数据;
将所述初始语言模型的词嵌入层作为词嵌入子单元;
根据所述词向量来源bert判断子单元、所述词向量对齐子单元、所述词向量组合子单元和所述词嵌入子单元进行词嵌入单元生成,得到所述目标词嵌入单元。
8.一种用于nlp任务的语言模型构建装置,其特征在于,所述装置包括:
第一词典确定模块,用于获取目标领域的目标词向量生成模型的第一词典,所述目标词向量生成模型是基于word2vec训练得到的模型;
第二词典确定模块,用于获取初始语言模型的第二词典,所述初始语言模型为采用不限领域的样本数据训练得到的bert模型;
目标词典交集数据确定模块,用于根据所述第一词典和所述第二词典进行交集获取,得到目标词典交集数据;
模拟矩阵向量确定模块,用于采用最小二乘法,对所述目标词典交集数据进行拟合无约束线性变换,得到模拟矩阵向量;
目标语言模型确定模块,用于根据所述初始语言模型、所述目标词向量生成模型和所述模拟矩阵向量进行语言模型构建,得到所述目标领域对应的目标语言模型。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
技术总结