CN110245353B - 自然语言表示方法、装置、设备及存储介质 - Google Patents
自然语言表示方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110245353B CN110245353B CN201910538534.2A CN201910538534A CN110245353B CN 110245353 B CN110245353 B CN 110245353B CN 201910538534 A CN201910538534 A CN 201910538534A CN 110245353 B CN110245353 B CN 110245353B
- Authority
- CN
- China
- Prior art keywords
- target
- words
- sub
- word
- vector
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
Abstract
本申请公开了一种自然语言表示方法、装置、设备及存储介质。方法包括:获取多个目标单词,目标单词从用于训练的多个目标语句中获取;对每一个目标单词进行切分,得到多个子词;将每一个子词映射到对应的初始目标向量;对每一个初始目标向量进行不同核维度的卷积操作,得到多个卷积结果;将得到的多个卷积结果进行拼接,得到对应的子词的目标向量;根据得到的每一个子词的目标向量,确定对应的目标单词的向量表示;根据得到目标单词的向量表示的方法,得到目标单词所在的目标语句的所有目标单词的向量表示;将得到的每一个目标语句的所有目标单词的向量表示作为自然语言的预训练模型的输入,用于构建自然语言的预训练模型。提高模型的迁移效果。
Description
技术领域
本申请实施例涉及人工智能领域,特别涉及一种自然语言表示方法、装置、设备及存储介质。
背景技术
随着人工智能技术的发展,自然语言处理应用已经变得无处不在,常见的自然语言处理应用如翻译软件、智能问答机器人、机器阅读理解等。自然语言处理应用能够快速增长,很大程度上归功于通过自然语言的预训练模型可以实现迁移学习的理念。在自然语言处理领域内,迁移学习本质是在一个数据集上训练得到预训练模型,通过对预训练模型进行调整后,使得调整后的预训练模型可以在不同的数据集上执行不同的自然语言处理功能。
自然语言的预训练模型的迁移效果取决于输入到预训练模型的自然语言的表示形式。以英文单词为例,相关技术中,英文单词以单个字母的表示形式输入到预训练模型。单个字母的表现形式,不能将英文单词的形态学信息表现出来,导致构建出的预训练模型的迁移效果差。
发明内容
本申请实施例提供了一种自然语言表示方法、装置、设备及存储介质,可用于解决相关技术中的问题。所述技术方案如下:
一方面,本申请实施例提供了一种自然语言表示方法,所述方法包括:
获取多个目标单词,所述目标单词从用于训练的多个目标语句中获取;
对每一个目标单词进行切分,得到多个子词,所述多个子词中包含由多个字母组成的子词;
将每一个子词映射到对应的初始目标向量;
对每一个初始目标向量进行不同核维度的卷积操作,得到多个卷积结果;
将得到的所述多个卷积结果进行拼接,得到对应的子词的目标向量;
根据得到的每一个子词的目标向量,确定对应的目标单词的向量表示;
根据得到所述目标单词的向量表示的方法,得到所述目标单词所在的目标语句的所有目标单词的向量表示;
将得到的每一个所述目标语句的所有目标单词的向量表示作为自然语言的预训练模型的输入,用于构建所述自然语言的预训练模型。
一方面,提供了一种自然语言表示装置,所述装置包括:
第一获取模块,用于获取多个目标单词,所述目标单词从用于训练的多个目标语句中获取;
切分模块,用于对每一个目标单词进行切分,得到多个子词,所述多个子词中包含由多个字母组成的子词;
映射模块,用于将每一个所述子词映射到对应的初始目标向量;
卷积模块,用于对每一个所述初始目标向量分别进行不同核维度的卷积操作,得到多个卷积结果;
拼接模块,用于将得到的所述多个卷积结果进行拼接,得到对应的子词的目标向量;
确定模块,用于根据得到的每一个子词的目标向量,确定对应的目标单词的向量表示;
第二获取模块,用于根据得到所述目标单词的向量表示的方法,得到所述目标单词所在的目标语句的所有目标单词的向量表示;
构建模块,用于将得到的每一个所述目标语句的所有目标单词的向量表示作为自然语言的预训练模型的输入,用于构建所述自然语言的预训练模型。
在本申请可能的实施方式中,切分模块,用于对多个目标语句中的目标单词进行单字母分解,得到包含多个不同单字母的子词词表;确定子词词表中任意两个子词以相邻的形式出现在多个目标语句中的概率;将概率最大的两个子词进行合并,作为新的子词加入子词词表,直至子词词表中子词数量满足目标数量,停止进行子词合并操作;将每一个目标单词按照得到的子词词表中包含的子词进行切分,得到多个子词。
在本申请可能的实施方式中,切分模块,用于在相邻的目标单词之间,添加标识,标识用于间隔相邻的目标单词。
在本申请可能的实施方式中,切分模块,用于对多个目标语句中的目标单词进行分解,得到包含目标数量子词的第一子词词表;根据目标算法,确定第一子词词表中每一个子词的出现概率;按照概率大小,对第一子词词表中的子词进行排列;根据排序结果,在第一子词子表中获取参考数量的子词,构建第二子词词表;将每一个目标单词按照得到的第二子词词表中包含的子词进行切分,得到多个子词。
在本申请可能的实施方式中,切分模块,用于当第二子词字表不包含单字母时,将单字母添加到第二子词字表,单字母为对多个目标语句中的目标单词进行单字母分解得到的。
在本申请可能的实施方式中,映射模块,用于获取服从目标分布的多个目标大小的随机向量;将每一个子词与任一个随机向量进行映射,得到每一个子词对应的初始目标向量。
在本申请可能的实施方式中,第二获取模块,还用于对目标单词的向量表示进行目标变换,得到变换后的目标单词的向量表示,所述变换后的目标单词的向量表示用于构建自然语言的预训练模型。
在本申请可能的实施方式中,构建模块,还用于将得到的每一个目标语句的所有目标单词的向量表示按照目标建模方法,得到自然语言的预训练模型的输出结果;将得到的输出结果与多个目标单词对应的概率分布进行映射,使得自然语言的预训练模型将最大概率对应的目标单词作为预测结果;停止对自然语言的预训练模型的构建操作。
在本申请可能的实施方式中,构建模块,还用于基于目标损失函数对构建完成的所述自然语言的预训练模型进行训练,直至所述自然语言的预训练模型的预测结果满足目标条件。
一方面,提供了一种计算机设备,计算机设备包括:处理器和存储器,所述存储器存储有至少一条指令,所述至少一条指令在被所述处理器执行时实现如上任一所述的自然语言表示方法。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在被执行时实现如上任一所述的自然语言表示方法。
本申请实施例提供的技术方案至少带来如下有益效果:
通过获取每一个目标单词的子词的向量表示,确定对应的目标单词的向量表示。将得到的每一个目标语句的所有目标单词的向量表示作为自然语言的预训练模型的输入,用于构建自然语言的预训练模型,提升了得到的自然语言的预训练模型的迁移效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种自然语言表示方法的流程图;
图2是本申请实施例提供的一种自然语言表示方法的示意图;
图3是本申请实施例提供的一种自然语言表示装置的结构示意图;
图4是本申请实施例提供的一种自然语言表示装置的结构示意图;
图5是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着人工智能技术的发展,自然语言处理应用已经变得无处不在,常见的自然语言处理应用如翻译软件、智能问答机器人、机器阅读理解等。自然语言处理应用能够快速增长,很大程度上归功于通过自然语言的预训练模型可以实现迁移学习的理念。在自然语言处理领域内,迁移学习本质是在一个数据集上训练得到预训练模型,通过对预训练模型进行调整后,使得调整后的预训练模型可以在不同的数据集上执行不同的自然语言处理功能。
自然语言的预训练模型的迁移效果取决于输入到预训练模型的自然语言的表示形式。因此,自然语言表示方法,将决定自然语言的预训练模型的迁移效果。对此,本申请实施例提供了一种自然语言表示方法。该方法探讨了在利用自然语言的预训练模型进行迁移学习时,不同输入形式对自然语言的预训练模型的效果与自然语言的预训练模型的迁移应用的效果的好坏。在本实施例中,首先精确定位到了自然语言的预训练模型和自然语言的预训练模型迁移应用中面临的精准词表示的问题。为了解决该问题,本申请将词输入变化为更加细粒度的输入,并以细粒度的输入作为基础得到词的精确表示。同时考虑到以字母作为基础输入的时候无法将词级别的形态学信息的应用。对此,本申请选择将词的输入形式转换为子词结构,同时利用卷积神经网络(CNN)在子词层级上进行形态学和结构学信息抽取,从而得到词表示。后续采取双向深度长短距离记忆网络(Bi-LSTM)进行语言模型建模,还可以将预训练模型迁移到其他自然语言处理的基础任务上。
本申请实施例提供的方法可如图1所示,该用于构建预训练模型的自然语言表示方法用于终端中,包括以下步骤。
在步骤101中,获取多个目标单词,目标单词从用于训练的多个目标语句中获取。
示例性地,该目标语句可以在常用的英文网站中获取,比如在常用的英文网站中输入关键字“最常用的英文语句”,将得到的搜索结果作为获取到的目标语句。在获取到用于训练的多个目标语句后,可以根据目标语句中包含的空格,将目标语句拆分成目标单词。
本申请实施例不对获取目标语句的方式,除了采用上述获取目标语句的方式外,还可以采用其他方式获取目标语句,例如通过收集英文语料的方式来获取目标语句。之后,采用分词方式得到目标语句中的目标单词。此外,本申请实施例也不对从目标语句中获取目标单词的方式,以及目标语句及目标单词的内容加以限定,关于目标单词的数量,可以根据应用场景或者经验选取。
在步骤102中,对每一个目标单词进行切分,得到多个子词,多个子词中包含由多个字母组成的子词。
示例性地,对每一个目标单词的切分方法可以是根据目标单词包含的形态学信息进行切分。对于英文单词来说,形态学为英语语言学的分支,其主要研究单词的内部结构和单词的形成规律。比如对于英文单词“meaningless”,可以依据形态学信息,可以分为“mean”、“ing”以及“less”三个子词。
对英文单词的切分操作可以利用非监督子词切分模型来完成。为了尽可能准确地得到目标单词划分的子词,得到的子词词表中的数量越多越好,使得目标单词可以根据得到的子词词表进行准确切分。
在本申请可能的实施方式中,对每一个目标单词进行切分,得到多个子词,可以包括:
首先,对多个目标语句中的目标单词进行单字母分解,得到包含多个不同单字母的子词词表。
示例性地,由于构成英文的字母一共有26个,在对目标语句中的目标单词进行单字母分解后,得到的子词词表中最多可以包含26个子词。当然也可能有得到的目标语句的特殊性,使得在进行单字母分解后,不包含26个英文字母中的任意一个或几个字母。本申请实施例对得到的子词词表中初始包含的单字母的数量不作限定。
其次,确定子词词表中任意两个子词以相邻的形式出现在多个目标语句中的概率。
示例性地,在得到的初始的子词词表中只包含单字母,为了便于描述本申请实施例记载的技术方案,假设得到的初始的子词词表包含2个单字母“a”、“b”。在确定子词词表中任意两个子词以相邻的形式出现在目标语句中的概率的操作中,需要确定“aa”、“ab”、“ba”、“bb”分别出现在目标语句中的概率。该子词出现在目标语句中的概率可以根据对应的子词出现的次数确定。
在本申请可能的实施方式中,确定子词词表中任意两个子词以相邻的形式出现在多个目标语句中的概率之前,该方法还包括:在相邻的目标单词之间,添加标识,该标识用于间隔相邻的目标单词。
示例性地,为了避免将相邻的两个目标单词误作为一个目标单词,影响对子词出现的次数的统计,在相邻的目标单词之间添加标识以间隔相邻的目标单词。该标识可以是特殊符号,例如“%”、“#”等。本申请实施例对标识的具体表现形式不作限定,只要不是英文字母且起到间隔作用即可。例如当得到的目标语句为“itisanrainyday”,在进行相邻子词“sa”出现次数统计时,也会统计该目标语句中出现“sa”。如果将该目标语句中相邻的目标单词之间加入标识“#”,则得到的目标语句为“it#is#an#rainy#day”,则可以避免在该目标语句间统计到“sa”。本申请实施例中的是对一个目标语句中的相邻目标单词之间加入标识,也可以在相邻的两个目标语句中的单词之间添加标识,以区分相邻的两个目标单词。
然后,将概率最大的两个子词进行合并,作为新的子词加入子词词表,直至子词词表中子词数量满足目标数量,停止进行子词合并操作。
示例性地,假设“aa”、“ab”、“ba”、“bb”分别出现在目标语句中的概率为“10%”、“50%”、“40%”、“10%”,则将“ab”加入到子词词表,此时得到的子词词表包含“a”、“b”、“ab”。然后再对得到的子词词表确定任意两个子词“aa”、“ab”、“aab”、“ba”、“bb”、“bab”、“aba”、“abb”、“abab”以相邻的形式出现在目标语句中的概率,将最大概率对应的子词添加到子词词表。由于“aa”、“ab”、“ba”、“bb”已经统计过,故可以将统计过的次数保存,便于提高下一次处理效率。按照上述方法,依次向子词词表中添加新的子词,直至子词词表中的子词数量满足目标数量的要求。该目标数量的确定可以根据实际获取到的目标语句中包含的目标单词的难易程度确定。本申请实施例对该目标数量不作限定。
再次,将每一个目标单词按照得到的子词词表中包含的子词进行切分,得到多个子词。
在本申请可能的实施方式中,对每一个目标单词进行切分,得到多个子词,还可以包括:
首先,对多个目标语句中的目标单词进行分解,得到包含目标数量子词的第一子词词表。
示例性,可以采用随机拆分的方式在多个目标语句中的目标单词进行分解,得到包含目标数量子词的第一子词词表。该目标数量的确定可以根据实际获取到的目标语句中包含的目标单词的难易程度确定。本申请实施例对该目标数量不作限定,只要保证可以根据子词词表,尽可能准确地对目标单词进行拆分即可。
其次,根据目标算法,确定第一子词词表中每一个子词的出现概率。
示例性地,将通过随机拆分方法得到的第一子词词表中的子词进行概率计算。
然后,按照概率大小,对第一子词词表中的子词进行排列。
再次,根据排序结果,在第一子词子表中获取参考数量的子词,构建第二子词词表。
示例性地,将得到的第一子词词表中的子词,按照概率从大到小排列,从序列中从前向后取一定百分比的内的子词,构建第二子词词表。也可以根据得到的第一子词词表中子词的概率,选取概率大于目标概率的子词来构建第二子词词表。获取概率越大的子词构建第二子词词表,可以提高目标单词拆分的准确性,进而可以保证得到的自然语言的预训练模型的迁移效果。
在本申请可能的实施方式中,根据排序结果,在第一子词子表中获取参考数量的子词,构建第二子词词表,包括:
当第二子词字表不包含单字母时,将单字母添加到第二子词字表,单字母为对多个目标语句中的目标单词进行单字母分解得到的。
示例性地,当构建的第二子词词表中不包含单字母,可能导致利用第二子词词表不能拆分出目标单词。比如当目标单词为“apple”,第二子词词表中的包含的子词有“ap”和“pl”,不包含“e”,则根据第二子词词表拆分“apple”,出现不在第二子词词表中的子词。
再次,将每一个目标单词按照得到的第二子词词表中包含的子词进行切分,得到多个子词。
在步骤103中,将每一个子词映射到对应的初始目标向量。
在本申请可能的实施方式中,将每一个子词映射到对应的初始目标向量,包括:
获取服从目标分布的多个目标大小的随机向量。
示例性地,该目标分布可以是服从正太分布,将得到的服从正太分布的随机向量处理为目标维度的一维向量。本申请实施例该目标维度为64。本申请实施例对随机向量的维度不作限定,本领域技术人员可以根据实际使用需要选用不同维度的随机向量。
将每一个子词与任一个随机向量进行映射,得到每一个子词对应的初始目标向量。
在步骤104中,对每一个初始目标向量分别进行不同核维度的卷积操作,得到多个卷积结果。
示例性地,不同核维度可以是2、3、4、5、6、7、8,即对每一个初始目标向量分别进行7次不同核维度的卷积操作。本申请实施例不对卷积核的维度大小和卷积次数进行限定,可以选用不同维度的卷积核进行不同次数的卷积操作。
在步骤105中,将得到的多个卷积结果进行拼接,得到对应的子词的目标向量。
示例性地,如果对每一个初始目标向量进行卷积操作后,得到的对应的七个卷积维度分[32、32、64、128、256、256、512、1024],则拼接后得到维度为2048的对应子词的目标向量。具体可如下式(1)和(2)所示:
vi=Max-Pool(CNN(Ki,wemb)) (1)
wv=Cat(v1,v2,…,v7) (2)
式中,CNN(Ki,wemb)表示任一子词的初始目标向量wemb与上述七个卷积核中第i个卷积核Ki的卷积操作;Max-Pool()为对卷积操作结果的最大池化操作;vi为最大池化操作结果;Cat()为对得到的多个最大池化操作结果进行拼接操作;wv为拼接操作结果。
在步骤106中,根据得到的每一个子词的目标向量,确定对应的目标单词的向量表示。
示例性地,根据对目标单词的每一个子词进行上述操作,得到每一个子词的目标向量后,可以根据子词嵌入的方法得到对应的目标单词向量表示。其中子词嵌入的方法可以包括将所有的子词的目标向量以求和的方式得到目标单词的向量表示。比如当一个目标单词包含3个子词,为了便于方案描述,假设每一个子词分别映射一个3维的向量[1,3,1]、[2,3,4]、[1,2,3],则可以将对应位置上的向量相加,得到对应的目标单词的向量表示为[4,8,8]。
在步骤107中,根据得到目标单词的向量表示的方法,得到目标单词所在的目标语句的所有目标单词的向量表示。
该步骤中,可针对目标单词所在目标语句的其他目标单词,实施上述步骤102-步骤106中获取目标单词的向量表示的过程,从而获取到其他目标单词的向量表示。此外,每一个目标语句中的目标单词均可以采用上述步骤102-步骤106的方式来获取向量表示。
在本申请可能的实施方式中,根据得到目标单词的向量表示的方法,得到目标单词所在的目标语句的所有目标单词的向量表示之前,该方法还包括:
对目标单词的向量表示进行目标变换,得到变换后的目标单词的向量表示。
示例性地,该目标变换可以为线性变换;或者是非线性变换;也可以是同时进行线性变换和非线性变换。本申请实施例以同时进行线性变换和非线性变换为例进行方案阐述。假设得到对应的目标单词的向量表示为y,那么对向量y进行线性变换和非线性变换可以如下式(3)和(4)所示:
t=σ(WT*y+bT) (3)
z=t※g(WH*y+bH)+(1-t)※y (4)
式中,WH,WT,bH,bT为高速神经网络模型的参数;※为向量矩阵的点对点相乘操作;σ为非线性函数,本申请实施例中该非线性函数可以是Sigmoid函数;t为基于非线性函数得到的参数;g()为非线性变换函数;t※g(WH*y+bH)为对向量y的非线性变换;(1-t)※y为对向量y的线性变换。
基于高速神经网络模型的线性变换和非线性变换,可以提高目标单词的向量表示的丰富性,提高后续模型的建模能力。
在步骤108中,将得到的每一个目标语句的所有目标单词的向量表示作为自然语言的预训练模型的输入,用于构建自然语言的预训练模型。
示例性地,该自然语言的预训练模型可以基于双向长短期记忆网络模型进行模型的构建,将得到的每一个目标语句的所有目标单词的向量表示作为双向长短期记忆神经网络模型的输入。
本申请实施例提供的自然语言表示方法,通过获取每一个目标单词的子词的向量表示,确定对应的目标单词的向量表示。将得到的每一个目标语句的所有目标单词的向量表示作为自然语言的预训练模型的输入,用于构建自然语言的预训练模型,提升了得到的自然语言的预训练模型的迁移效果。
需要说明的是,本申请提供的方法可以应用于任何利用神经网络处理的英文自然语言处理的产品上,包括辅助翻译系统,文本分类,智能问答机器人,机器阅读理解等多个项目与产品中,可以利用迁移学习的方法,加强相关项目中底层本文的表达质量,从而有效提升在实际使用时的效果。在相关项目的进行时,往往面临的问题是训练数据的不充分性使得模型训练时会出现严重的在数据集内部的过拟合现象。本实施例提供的方法,使得大量的外部数据集的语言模型建模知识得以被引入到具体任务中,从而可以有效地提升相关模型的鲁棒性,使得模型可以更好地应用于实际数据。
在本申请可能的实施方式中,将得到的每一个目标语句的所有目标单词的向量表示作为自然语言的预训练模型的输入,用于构建自然语言的预训练模型之后,该方法还包括:
将得到的每一个目标语句的所有目标单词的向量表示按照目标建模方法,得到自然语言的预训练模型的输出结果。
示例性地,令Y=[x1,x2,…,xn-1,xn]为一个目标语句的向量表示,其中xt为目标语句中第t个目标单词的向量表示。在使用双向长短期记忆网络进行模型构建过程中,将接收到输入xt和上一个输入xt-1对应的隐藏向量ht-1和细胞向量ci-1进行运算,得到xt对应的的隐藏向量ht和细胞向量ct。
其中,基于双向长短期记忆网络的具体计算过程见下式(5)-(10):
it=σ(Wi*xt+Ui*ht-1+bi) (5)
ft=σ(Wf*xt+Uf*ht-1+bf) (6)
ot=σ(Wo*xt+Uo*ht-1+bo) (7)
gt=tanh(Wg*xt+Ug*ht-1+bg) (8)
ct=ft※ct-1+it※gt (9)
ht=ot※tanh(ct) (10)
式中,Wi、Wf、Wo、Wg、bi、bf、bo、bg为双向长短期记忆网络模型的模型参数矩阵,本领域技术人员可以根据实际使用需要选用不同的参数矩阵,本申请实施例对该参数矩阵不作限定;σ和tanh分别为Sigmoid函数和双曲正切函数,本领域技术人员也可以根据实际使用需要选用其他的函数,本申请实施例对σ和tanh具体形式不作限定;※为对参数矩阵进行的点对点相乘操作。
利用上述公式(5)-(10)的计算方法为双向长短期记忆网络模型的正向操作和反向操作。正向操作即从目标语句的第一个目标单词开始到该目标语句的最后一个目标单词结束。反向操作即从目标语句的最后一个目标单词开始到该目标语句的第一个目标单词结束。将正向操作的输出结果与反向操作的输出结果相结合作为一层双向长短期记忆网络模型的输出结果的向量表示。为了进一步加强双向长短期记忆网络模型的向量表示的能力,可以将双向长短期记忆网络模型的总层数设置为多层,本申请实施例中为三层,将最后一层的输出结果作为最终的输出结果。各层输出结果可以通过残差连接以提高双向长短期记忆网络模型的泛化能力。
将得到的输出结果与多个目标单词对应的概率分布进行映射,使得自然语言的预训练模型将最大概率对应的目标单词作为预测结果。
示例性地,在得到双向长短期记忆网络模型最后一层的输出结果后,可以利用单层感知机,将输出结果与多个目标单词对应的概率分布相映射,使得自然语言的预训练模型将最大概率对应的目标单词作为预测结果,即完成自然语言的预训练模型的构建。停止对自然语言的预训练模型的构建操作。
在本申请可能的实施方式中,停止对自然语言的预训练模型的构建操作之后,该方法还包括:
基于目标损失函数对构建完成的自然语言的预训练模型进行训练,直至自然语言的预训练模型的预测结果满足目标条件。
示例性地,在上述实施例的描述过程中,确定了用于构建自然语言的预训练模型的输入向量表示以及输出向量表示,且设定了输出结果与分布概率的映射关系。接下来可以利用目标损失函数对构建的自然语言的预训练模型进行训练,使得训练完成后的自然语言的预训练模型满足使用要求。该目标损失函数可以是NLL(the negative log-likelihood)损失函数。本申请实施例对该目标损失函数不作限定,本领域技术人员可以选用其他损失函数来训练该自然语言的预训练模型。
接下来,如图2所示,对本申请实施例记载的技术方案做进一步举例说明;
201,对目标语句“a powerful discriminator determines the”中的目标单词“discriminator”根据子词词表进行拆分,得到的拆分结果包括“dis”、“cri”、“mi”、“na”、“tor”。将得到的子词映射一个对应的向量。
202,对得到的每一个子词的向量进行一定卷积次数的卷积操作,得到目标单词“discriminator”的向量表示。
203,对得到的目标单词“discriminator”的向量表示进行线性变换和非线性变换,将变换结果进行求和操作,进一步丰富目标单词“discriminator”的向量表示。
204,按照上述步骤将得到目标语句“a powerful discriminator determinesthe”中的每一个目标单词对应的向量表示作为输入,基于双向长短期记忆网络模型进行自然语言的预训练模型的构建,并利用目标损失函数对构建完成的自然语言的预训练模型进行训练。使得训练完成后的自然语言的预训练模型可以根据输入任一目标单词可以预测出其下一个单词。
从图2中可以看出,当输入“discriminator”,可以预测出“discriminator”对应的目标语句中“discriminator”的下一个单词为“determines”。
上述实施例中的方法是将双向长短期记忆网络中最后一层的输出结果作为目标单词的输出向量表示。在实际使用过程中,也可以将双向长短期记忆网络中最后一层的输出结果和第一层输出结果相结合的结果作为目标单词的输出向量表示。
本申请上述实施例中的方法,在具体训练时,可以在四块英伟达P40显卡上并行进行计算,预计花费50天可以将一个完整的预训练模型训练出来。基于该模型的迁移学习任务,可以在单张的英伟达K80显卡上进行试验,花费时间因任务而定,每个任务约2-3天。在对该模型进行性能测试时,该模型取得了较好的性能效果。
接下来,本申请给出如下两个方面的测试结果:
(a)因为语言模型的任务是本模型训练与建模的基础,因此首先测试了该模型在语言模型建模任务上的效果,并和参考语言模型进行比较。具体结果见下表(PPL数值越低效果越好):
表一 语言模型效果
从实验结果可以看出,本模型在语言模型的建模任务上,取得了目前基于RNN的语言模型的最好的结果。
(b)针对下游任务,选取了两个基于句子级别的任务和两个基于词级别的任务来进行对模型的效果验证。其中基于句子级别的任务,选取了隐式陈述关系判别(IDRR)和文本蕴含(TE)。这两个任务的目标都是给定两个句子,然后需要判定句子之间的关系。不同的地方是,文本蕴含任务中句子的关系只有三种,而隐式陈述关系判别任务中句子的关系有十一种。基于词级别的任务选取了句法依存分析(SDP)和语义角色标注(SRL)两个任务。这两个任务的目标都是判断一个句子中给定两个词的关系,不同的是,句法依存分析中的关系分类更多,因此的完成任务也更加困难。下表显示了本申请实施例提供的模型在这四个任务中的效果。
从实验结果可以看出,本申请实施例提供的模型在四个任务中的三个任务中取得了目前最高的结果,这说明了该模型对语言具有更好的表示能力同时可以捕捉到句子中更多的隐式句法与语义信息。
基于相同技术构思,参见图3,本申请实施例提供了一种自然语言表示装置。该装置包括:
第一获取模块301,用于获取多个目标单词,目标单词从用于训练的多个目标语句中获取;
切分模块302,用于对每一个目标单词进行切分,得到多个子词,多个子词中包含由多个字母组成的子词;
映射模块303,用于将每一个子词映射到对应的初始目标向量;
卷积模块304,用于对每一个初始目标向量分别进行不同核维度的卷积操作,得到多个卷积结果;
拼接模块305,用于将得到的多个卷积结果进行拼接,得到对应的子词的目标向量;
确定模块306,用于根据得到的每一个子词的目标向量,确定对应的目标单词的向量表示;
第二获取模块307,用于根据得到目标单词的向量表示的方法,得到目标单词所在的目标语句的所有目标单词的向量表示;
构建模块308,用于将得到的每一个目标语句的所有目标单词的向量表示作为自然语言的预训练模型的输入,用于构建自然语言的预训练模型。
本申请实施例提供的用于构建预训练模型的自然语言表示装置,通过获取每一个目标单词的子词的向量表示,确定对应的目标单词的向量表示。将得到的每一个目标语句的所有目标单词的向量表示作为自然语言的预训练模型的输入,用于构建自然语言的预训练模型,提升了得到的自然语言的预训练模型的迁移效果。
在本申请可能的实施方式中,切分模块302,用于对多个目标语句中的目标单词进行单字母分解,得到包含多个不同单字母的子词词表;确定子词词表中任意两个子词以相邻的形式出现在多个目标语句中的概率;将概率最大的两个子词进行合并,作为新的子词加入子词词表,直至子词词表中子词数量满足目标数量,停止进行子词合并操作;将每一个目标单词按照得到的子词词表中包含的子词进行切分,得到多个子词。
在本申请可能的实施方式中,切分模块302,用于在相邻的目标单词之间,添加标识,标识用于间隔相邻的目标单词。
在本申请可能的实施方式中,切分模块302,用于对多个目标语句中的目标单词进行分解,得到包含目标数量子词的第一子词词表;根据目标算法,确定第一子词词表中每一个子词的出现概率;按照概率大小,对第一子词词表中的子词进行排列;根据排序结果,在第一子词子表中获取参考数量的子词,构建第二子词词表;将每一个目标单词按照得到的第二子词词表中包含的子词进行切分,得到多个子词。
在本申请可能的实施方式中,切分模块302,用于当第二子词字表不包含单字母时,将单字母添加到第二子词字表,单字母为对多个目标语句中的目标单词进行单字母分解得到的。
在本申请可能的实施方式中,映射模块303,用于获取服从目标分布的多个目标大小的随机向量;将每一个子词与任一个随机向量进行映射,得到每一个子词对应的初始目标向量。
在本申请可能的实施方式中,第二获取模块307,还用于对目标单词的向量表示进行目标变换,得到变换后的目标单词的向量表示,变换后的目标单词的向量表示用于构建自然语言的预训练模型。
在本申请可能的实施方式中,构建模块308,还用于将得到的每一个目标语句的所有目标单词的向量表示按照目标建模方法,得到自然语言的预训练模型的输出结果;将得到的输出结果与多个目标单词对应的概率分布进行映射,使得自然语言的预训练模型将最大概率对应的目标单词作为预测结果;停止对自然语言的预训练模型的构建操作。
在本申请可能的实施方式中,如图4所示,该装置还包括训练模块309,用于基于目标损失函数对构建完成的自然语言的预训练模型进行训练,直至自然语言的预训练模型的预测结果满足目标条件。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在示例中实施例中,还提供了一种计算机设备,如图5所示,所述计算机设备包括处理器501和存储器502,所述存储器502中存储有至少一条指令。所述至少一条指令经配置以由一个或者一个以上处理器501执行,以实现上述任一种自然语言表示方法。其中处理器501和存储器502通过通信总线503连接。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序在被执行时实现上述任一种自然语言表示方法。
在本申请的可能实施方式中,上述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种自然语言表示方法,其特征在于,所述方法包括:
获取多个目标单词,所述目标单词从用于训练的多个目标语句中获取;
对每一个目标单词进行切分,得到多个子词,所述多个子词中包含由多个字母组成的子词;
将每一个子词映射到对应的初始目标向量;
对每一个初始目标向量进行不同核维度的卷积操作,得到多个卷积结果;
将得到的所述多个卷积结果进行拼接,得到对应的子词的目标向量;
根据得到的每一个子词的目标向量,确定对应的目标单词的向量表示;
根据得到所述目标单词的向量表示的方法,得到所述目标单词所在的目标语句的所有目标单词的向量表示;
将得到的每一个目标语句的所有目标单词的向量表示作为自然语言的预训练模型的输入,用于构建所述自然语言的预训练模型。
2.根据权利要求1所述的方法,其特征在于,所述对每一个目标单词进行切分,得到多个子词,包括:
对所述多个目标语句中的目标单词进行单字母分解,得到包含多个不同单字母的子词词表;
确定所述子词词表中任意两个子词以相邻的形式出现在所述多个目标语句中的概率;
将概率满足要求的子词进行合并,作为新的子词加入所述子词词表,直至所述子词词表中子词数量满足目标数量,停止进行子词合并操作;
将每一个目标单词按照得到的所述子词词表中包含的子词进行切分,得到多个子词。
3.根据权利要求2所述的方法,其特征在于,所述确定所述子词词表中任意两个子词以相邻的形式出现在所述多个目标语句中的概率之前,所述方法还包括:
在相邻的目标单词之间,添加标识,所述标识用于间隔所述相邻的目标单词。
4.根据权利要求1所述的方法,其特征在于,所述对每一个目标单词进行切分,得到多个子词,包括:
对所述多个目标语句中的目标单词进行分解,得到包含目标数量子词的第一子词词表;
根据目标算法,确定所述第一子词词表中每一个子词的出现概率;
按照概率大小,对所述第一子词词表中的子词进行排列;
根据排序结果,在所述第一子词子表中获取参考数量的子词,构建第二子词词表;
将每一个目标单词按照得到的所述第二子词词表中包含的子词进行切分,得到多个子词。
5.根据权利要求4所述的方法,其特征在于,所述根据排序结果,在所述第一子词子表中获取参考数量的子词,构建第二子词词表,包括:
当所述第二子词字表不包含单字母时,将所述单字母添加到所述第二子词字表,所述单字母为对所述多个目标语句中的目标单词进行单字母分解得到的。
6.根据权利要求1所述的方法,其特征在于,所述将每一个子词映射到对应的初始目标向量,包括:
获取服从目标分布的多个目标大小的随机向量;
将每一个子词与任一个随机向量进行映射,得到每一个子词对应的初始目标向量。
7.根据权利要求1所述的方法,其特征在于,所述根据得到所述目标单词的向量表示的方法,得到所述目标单词所在的目标语句的所有目标单词的向量表示之前,所述方法还包括:
对所述目标单词的向量表示进行目标变换,得到变换后的目标单词的向量表示,所述变换后的目标单词的向量表示用于构建自然语言的预训练模型。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述将得到的每一个目标语句的所有目标单词的向量表示作为自然语言的预训练模型的输入,用于构建所述自然语言的预训练模型之后,所述方法还包括:
将得到的每一个目标语句的所有目标单词的向量表示按照目标建模方法,得到所述自然语言的预训练模型的输出结果;
将得到的输出结果与所述多个目标单词对应的概率分布进行映射,使得所述自然语言的预训练模型将最大概率对应的目标单词作为预测结果;
停止对所述自然语言的预训练模型的构建操作。
9.根据权利要求8所述的方法,其特征在于,所述停止对所述自然语言的预训练模型的构建操作之后,所述方法还包括:
基于目标损失函数对构建完成的所述自然语言的预训练模型进行训练,直至所述自然语言的预训练模型的预测结果满足目标条件。
10.一种自然语言表示装置,其特征在于,所述装置包括:
第一获取模块,用于获取多个目标单词,所述目标单词从用于训练的多个目标语句中获取;
切分模块,用于对每一个目标单词进行切分,得到多个子词,所述多个子词中包含由多个字母组成的子词;
映射模块,用于将每一个子词映射到对应的初始目标向量;
卷积模块,用于对每一个初始目标向量进行不同核维度的卷积操作,得到多个卷积结果;
拼接模块,用于将得到的所述多个卷积结果进行拼接,得到对应的子词的目标向量;
确定模块,用于根据得到的每一个子词的目标向量,确定对应的目标单词的向量表示;
第二获取模块,用于根据得到所述目标单词的向量表示的方法,得到所述目标单词所在的目标语句的所有目标单词的向量表示;
构建模块,用于将得到的每一个所述目标语句的所有目标单词的向量表示作为自然语言的预训练模型的输入,用于构建所述自然语言的预训练模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910538534.2A CN110245353B (zh) | 2019-06-20 | 2019-06-20 | 自然语言表示方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910538534.2A CN110245353B (zh) | 2019-06-20 | 2019-06-20 | 自然语言表示方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110245353A CN110245353A (zh) | 2019-09-17 |
CN110245353B true CN110245353B (zh) | 2022-10-28 |
Family
ID=67888469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910538534.2A Active CN110245353B (zh) | 2019-06-20 | 2019-06-20 | 自然语言表示方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110245353B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717327B (zh) * | 2019-09-29 | 2023-12-29 | 北京百度网讯科技有限公司 | 标题生成方法、装置、电子设备和存储介质 |
CN113221553A (zh) * | 2020-01-21 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 一种文本处理方法、装置、设备以及可读存储介质 |
CN111414758B (zh) * | 2020-02-21 | 2023-10-20 | 平安科技(深圳)有限公司 | 零指代位置检测方法、装置、设备及计算机可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547737A (zh) * | 2016-10-25 | 2017-03-29 | 复旦大学 | 基于深度学习的自然语言处理中的序列标注方法 |
CN107301246A (zh) * | 2017-07-14 | 2017-10-27 | 河北工业大学 | 基于超深卷积神经网络结构模型的中文文本分类方法 |
CN107423284A (zh) * | 2017-06-14 | 2017-12-01 | 中国科学院自动化研究所 | 融合中文单词内部结构信息的句子表示的构建方法及系统 |
CN107844472A (zh) * | 2017-07-18 | 2018-03-27 | 阿里巴巴集团控股有限公司 | 词向量处理方法、装置以及电子设备 |
CN108595602A (zh) * | 2018-04-20 | 2018-09-28 | 昆明理工大学 | 基于浅层模型与深度模型结合的问句文本分类方法 |
CN108829662A (zh) * | 2018-05-10 | 2018-11-16 | 浙江大学 | 一种基于条件随机场结构化注意力网络的对话行为识别方法及系统 |
CN109063670A (zh) * | 2018-08-16 | 2018-12-21 | 大连民族大学 | 基于字头分组的印刷体满文单词识别方法 |
CN109299262A (zh) * | 2018-10-09 | 2019-02-01 | 中山大学 | 一种融合多粒度信息的文本蕴含关系识别方法 |
CN109378066A (zh) * | 2018-12-20 | 2019-02-22 | 翼健(上海)信息科技有限公司 | 一种基于特征向量实现疾病预测的控制方法及控制装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10262654B2 (en) * | 2015-09-24 | 2019-04-16 | Microsoft Technology Licensing, Llc | Detecting actionable items in a conversation among participants |
-
2019
- 2019-06-20 CN CN201910538534.2A patent/CN110245353B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547737A (zh) * | 2016-10-25 | 2017-03-29 | 复旦大学 | 基于深度学习的自然语言处理中的序列标注方法 |
CN107423284A (zh) * | 2017-06-14 | 2017-12-01 | 中国科学院自动化研究所 | 融合中文单词内部结构信息的句子表示的构建方法及系统 |
CN107301246A (zh) * | 2017-07-14 | 2017-10-27 | 河北工业大学 | 基于超深卷积神经网络结构模型的中文文本分类方法 |
CN107844472A (zh) * | 2017-07-18 | 2018-03-27 | 阿里巴巴集团控股有限公司 | 词向量处理方法、装置以及电子设备 |
CN108595602A (zh) * | 2018-04-20 | 2018-09-28 | 昆明理工大学 | 基于浅层模型与深度模型结合的问句文本分类方法 |
CN108829662A (zh) * | 2018-05-10 | 2018-11-16 | 浙江大学 | 一种基于条件随机场结构化注意力网络的对话行为识别方法及系统 |
CN109063670A (zh) * | 2018-08-16 | 2018-12-21 | 大连民族大学 | 基于字头分组的印刷体满文单词识别方法 |
CN109299262A (zh) * | 2018-10-09 | 2019-02-01 | 中山大学 | 一种融合多粒度信息的文本蕴含关系识别方法 |
CN109378066A (zh) * | 2018-12-20 | 2019-02-22 | 翼健(上海)信息科技有限公司 | 一种基于特征向量实现疾病预测的控制方法及控制装置 |
Non-Patent Citations (6)
Title |
---|
Deep enhanced representation for implicit discourse;Hongxiao Bai等;《Proceedings of the 27th International Conference》;20180713;571-583 * |
Neural Machine Translation of Rare Words;Rico Sennrich等;《arXiv:1508.07909v5》;20160610;1-11 * |
Subword ELMo;Jiangtong Li等;《arXiv》;20190918;1-6 * |
The representation of some phrases in Arabic word semantic vector spaces;Taylor Stephen等;《Open Computer Science》;20181201;第8卷(第1期);182-193 * |
人机对话系统中用户意图分类方法研究;黄佳伟;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20190115(第1期);I138-5311 * |
基于子词信息的维吾尔语词项规范化;张新路等;《厦门大学学报(自然科学版)》;20190328;第58卷(第2期);217-223 * |
Also Published As
Publication number | Publication date |
---|---|
CN110245353A (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022022163A1 (zh) | 文本分类模型的训练方法、装置、设备及存储介质 | |
CN111695352A (zh) | 基于语义分析的评分方法、装置、终端设备及存储介质 | |
WO2023024412A1 (zh) | 基于深度学习模型的视觉问答方法及装置、介质、设备 | |
CN111291556B (zh) | 基于实体义项的字和词特征融合的中文实体关系抽取方法 | |
CN110134946B (zh) | 一种针对复杂数据的机器阅读理解方法 | |
CN110245353B (zh) | 自然语言表示方法、装置、设备及存储介质 | |
EP3926531B1 (en) | Method and system for visio-linguistic understanding using contextual language model reasoners | |
Jungiewicz et al. | Towards textual data augmentation for neural networks: synonyms and maximum loss | |
CN111898374B (zh) | 文本识别方法、装置、存储介质和电子设备 | |
CN106547737A (zh) | 基于深度学习的自然语言处理中的序列标注方法 | |
CN113407660B (zh) | 非结构化文本事件抽取方法 | |
CN113220876B (zh) | 一种用于英文文本的多标签分类方法及系统 | |
CN110826298B (zh) | 一种智能辅助定密系统中使用的语句编码方法 | |
CN113948217A (zh) | 一种基于局部特征整合的医学嵌套命名实体识别方法 | |
CN110969023B (zh) | 文本相似度的确定方法及装置 | |
CN113449084A (zh) | 基于图卷积的关系抽取方法 | |
CN113821635A (zh) | 一种用于金融领域的文本摘要的生成方法及系统 | |
CN115130538A (zh) | 文本分类模型的训练方法、文本处理的方法、设备及介质 | |
CN114254645A (zh) | 一种人工智能辅助写作系统 | |
CN115129862A (zh) | 语句实体处理方法、装置、计算机设备及存储介质 | |
CN108875024B (zh) | 文本分类方法、系统、可读存储介质及电子设备 | |
CN113496123A (zh) | 谣言检测方法、装置、电子设备及存储介质 | |
CN110674293B (zh) | 一种基于语义迁移的文本分类方法 | |
CN111611796A (zh) | 下位词的上位词确定方法、装置、电子设备及存储介质 | |
CN109284388B (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 |