CN111783431A - 利用语言模型预测词出现概率及语言模型训练方法和装置 - Google Patents
利用语言模型预测词出现概率及语言模型训练方法和装置 Download PDFInfo
- Publication number
- CN111783431A CN111783431A CN201910262777.8A CN201910262777A CN111783431A CN 111783431 A CN111783431 A CN 111783431A CN 201910262777 A CN201910262777 A CN 201910262777A CN 111783431 A CN111783431 A CN 111783431A
- Authority
- CN
- China
- Prior art keywords
- hidden layer
- vector
- word
- vectors
- output 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 139
- 238000012549 training Methods 0.000 title claims abstract description 48
- 239000013598 vector Substances 0.000 claims abstract description 812
- 230000009466 transformation Effects 0.000 claims abstract description 82
- 230000010339 dilation Effects 0.000 claims description 134
- 238000012545 processing Methods 0.000 claims description 73
- 230000000717 retained effect Effects 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 230000009286 beneficial effect Effects 0.000 abstract description 26
- 230000008569 process Effects 0.000 description 40
- 238000010586 diagram Methods 0.000 description 25
- 239000011159 matrix material Substances 0.000 description 20
- 230000006870 function Effects 0.000 description 19
- 230000004913 activation Effects 0.000 description 16
- 238000004880 explosion Methods 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000008034 disappearance Effects 0.000 description 5
- 230000008030 elimination Effects 0.000 description 4
- 238000003379 elimination reaction Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008033 biological extinction Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Images
Abstract
公开了一种利用语言模型预测词出现概率的方法和装置、语言模型训练方法和装置、存储介质以及电子设备。其中的利用语言模型预测词出现概率的方法包括:通过语言模型的输入层获取待预测数据中的各词的词向量;通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量;通过所述语言模型的输出层对与该输出层相邻的隐层的输出向量进行预测,得到所述待预测数据中的各词在相应历史词后的出现概率。本公开提供的上述技术方案有利于提高语言模型的预测效率和训练效率,并有利于提高语言模型预测结果的准确性,且使语言模型能够利用较长长度的历史词对目标词进行出现概率预测。
Description
技术领域
本公开涉及语音识别技术领域,尤其涉及一种利用语言模型预测词出现概率的方法和装置、语言模型训练方法和装置、存储介质、电子设备。
背景技术
在语音识别、机器翻译以及输入法等多种应用中,往往需要针对给定的历史词来预测下一个词的出现概率。预测出的下一个词的出现概率的准确性,会影响语音识别的准确性、机器翻译的准确性以及输入法提供的输入内容的准确性等。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种利用语言模型预测词出现概率的方法和装置、语言模型训练方法和装置、存储介质、电子设备。
根据本公开实施例的一个方面,提供的一种利用语言模型预测词出现概率的方法,包括:通过语言模型的输入层获取待预测数据中的各词的词向量;通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量;通过所述语言模型的输出层对与该输出层相邻的隐层的输出向量进行预测,得到所述待预测数据中的各词在相应历史词后的出现概率。
根据本公开实施例的另一个方面,提供的一种语言模型训练方法,包括:通过待训练的语言模型的输入层获取数据样本中的各词的词向量;通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量;通过所述语言模型的输出层对与该输出层相邻的隐层的输出向量进行预测,得到所述数据样本中的各词在相应历史词后的出现概率;根据所述出现概率,确定所述语言模型的损失,并根据所述损失对所述语言模型的网络参数进行调整。
根据本公开实施例的再一个方面,提供的一种利用语言模型预测词出现概率的装置,包括:第一获取词向量模块,用于通过语言模型的输入层获取待预测数据中的各词的词向量;第一获取输出向量模块,用于通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量;第一预测模块,用于通过所述语言模型的输出层对与该输出层相邻的隐层的输出向量进行预测,得到所述待预测数据中的各词在相应历史词后的出现概率。
根据本公开实施例的再一个方面,提供的一种语言模型训练装置,包括:第二获取词向量模块,用于通过待训练的语言模型的输入层获取数据样本中的各词的词向量;第二获取输出向量模块,用于通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量;第二预测模块,用于通过所述语言模型的输出层对与该输出层相邻的隐层的输出向量进行预测,得到所述数据样本中的各词在相应历史词后的出现概率;参数调整模块,用于根据所述出现概率,确定所述语言模型的损失,并根据所述损失对所述语言模型的网络参数进行调整。
基于本公开上述实施例提供的一种利用语言模型预测词出现概率的方法和装置以及语言模型训练方法和装置,通过采用基于卷积神经网络的语言模型,使语言模型可以对待预测数据中的多个词同时进行出现概率预测处理,相对于基于RNN(Recurrent NeuralNetwork,循环神经网络)的语言模型而言,本公开有利于避免语言模型不能对多个词进行并行处理而导致的出现概率预测效率低的问题,并有利于避免训练过程中存在的梯度消失和梯度爆炸问题;另外,本公开的语言模型并不需要预先对预定词集合(如词典)中的所有词进行概率统计,从而相对于基于统计概率建模的预测方式而言,有利于降低针对待预测数据中的给定历史词的长度限制。本公开通过使语言模型中的隐层对输入本隐层的与待预测数据中的各词的词向量对应的输入向量进行扩张卷积以及非线性变换,有利于扩张隐层对历史的感受野,有利于使输出层输出的概率能够更好的体现词在相应历史词后出现的概率分布,且相对于基于RNN的语言模型而言,有利于避免训练过程中存在的梯度消失和梯度爆炸等问题。由此可知,本公开提供的技术方案有利于提高语言模型的概率预测效率和训练效率,并有利于提高语言模型概率预测结果的准确性,且使语言模型能够利用较长长度的历史词对目标词进行出现概率预测。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征以及优势将变得更加明显。附图用来提供对本公开实施例的进一步的理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开所适用的场景示意图;
图2为本公开的利用语言模型预测词出现概率的方法一个实施例的流程图;
图3为本公开的扩张卷积获得的向量的一个实施例的示意图;
图4为本公开的由m条待预测数据形成的三维矩阵的一个实施例的示意图;
图5为本公开的隐层的输入输出示意图;
图6为本公开的利用语言模型预测词出现概率的方法另一个实施例的流程图;
图7为本公开的由m条待预测数据中的各词的独热向量形成的一三维矩阵的一个实施例的示意图;
图8为本公开的利用语言模型预测词出现概率的方法再一个实施例的流程图;
图9为本公开的利用语言模型预测词出现概率的方法再一个实施例的流程图;
图10为本公开的语言模型训练方法一个实施例的流程图;
图11为本公开的语言模型训练方法另一个实施例的流程图;
图12为本公开的语言模型训练方法再一个实施例的流程图;
图13为本公开的语言模型训练方法再一个实施例的流程图;
图14为本公开的利用语言模型预测词出现概率的装置一个实施例的示意图;
图15为本公开的语言模型训练装置一个实施例的结构示意图;
图16是本申请一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或者模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅是一种描述关联对象的关联关系,表示可以存在三种关系,如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。应注意:相似标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开的实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或者专用计算系统环境或配置一起操作。适于与终端设备、计算机系统或者服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施。在分布式云计算环境中,任务可以是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
本公开概述
在实现本公开的过程中,发明人发现,在利用基于RNN的语言模型对待预测数据进行下一个词出现概率预测时,由于基于RNN的语言模型是基于时序来实现预测的,因此,存在不能对待预测数据中的多个词进行并行处理的现象。另外,在基于RNN的语言模型的训练过程中,往往会存在梯度爆炸或者梯度消失等问题,从而增加了基于RNN的语言模型的训练难度。
在利用基于统计概率而建立的语言模型,对待预测数据进行下一个词出现概率预测时,由于出于对语言模型规模的考虑,在建立语言模型的过程中,往往不会对较长历史词进行概率统计,因此,该语言模型对历史词长度通常存在较大限制,从而不利于提高概率预测结果的准确性。
示例性概述
本公开可以利用语言模型,针对较长的历史词,预测出下一个词在该历史词后的出现概率,从而基于预测获得的出现概率实现语音识别。一个例子如图1所示。
图1中,语音识别设备100可以为具有语音识别功能的计算机、智能移动电话、平板电脑、笔记型电脑、智能驾驶控制设备、智能门铃、智能音箱和服务器等电子设备。假定语音识别设备100接收到一条语音信息(如音频信息)。
首先,语音识别设备100会将该语音信息转换为拼音的形式。例如,语音识别设备100将语音信息转换为“woxiangqubeijingtiananmen”。
其次,语音识别设备100根据上述拼音可以获得至少一条待预测数据,且每条待预测数据均包括多个词。例如,其中一条待预测数据为“我想去北京天安门”。针对该条待预测数据,语音识别设备100利用语言模型可以获得下述五个出现概率:
A、在历史词为空的情况下,“我”的出现概率;
B、在历史词为“我”的情况下,“想”的出现概率;
C、在历史词为“我想”的情况下,“去”的出现概率;
D、在历史词为“我想去”的情况下,“北京”的出现概率;
E、在历史词为“我想去北京”的情况下,“天安门”的出现概率。
最后,语音识别设备100针对各条待预测数据的出现概率进行计算,如针对每一条待预测数据,分别计算待预测数据的各出现概率的乘积等,并将计算结果作为各条待预测数据的评分。语音识别设备可以根据各条待预测数据的评分最终确定出“woxiangqubeijingtiananmen”所对应的语句,如“我想去北京天安门”,从而实现语音识别。可选的,语音识别设备100可以根据语音识别结果形成相应的控制命令,如播放歌曲或者打开相应的应用或者打开相应的电器设备等。语音识别设备100也可以根据语音识别结果形成相应的回复语句,并播放或者显示该回复语句,以实现与用户的对话。
示例性方法
图2为本公开的利用语言模型预测词出现概率的方法一个实施例的流程图。本实施例可以应用在计算机、平板电脑、笔记型电脑、智能移动电话、智能驾驶控制设备、智能音箱以及服务器等电子设备中。
如图2所示,该实施例方法包括步骤:S200、S201以及S202。下面对各步骤分别进行说明。
S200、通过语言模型的输入层获取待预测数据中的各词的词向量。
在一个可选示例中,本公开中的待预测数据包括至少一个词。本公开中的词包括但不限于:外文中的单词(如英文单词)、外文中的词组(如英文词组)、汉语中的字以及汉语中的词等。例如,汉语中的“北京”通常被作为一个词,当然,也可以被作为“北”和“京”两个词。本公开中的待预测数据可以是一句完整的语句,也可以是一句完整的语句中的一部分内容。如一句完整的语句可以被划分为至少两段,且每一段被作为一条待预测数据。
在一个可选示例中,本公开中的语言模型可以称为基于CNN(ConvolutionalNeural Networks,卷积神经网络)的语言模型。也就是说,本公开中的语言模型采用了卷积神经网络的结构。
S201、通过语言模型中的每一隐层对本隐层的与词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量。
在一个可选示例中,本公开的语言模型中的每一隐层的输入向量均与S200中获得的词向量相关,即隐层的输入向量为词向量或对词向量进行一定的处理后形成的向量。例如,在语言模型包括:一输入层、一隐层和一输出层的情况下,该隐层的输入向量为词向量。再例如,在语言模型包括:一输入层、多层隐层以及一输出层的情况下,第一层隐层的输入向量为词向量,其他隐层的输入向量为与其相邻的前一隐层的输出向量。
S202、通过语言模型的输出层,对与该输出层相邻的隐层的输出向量进行预测,得到待预测数据中的各词在相应历史词后的出现概率。
在一个可选示例中,本公开将语言模型中的最后一层隐层的输出向量,作为语言模型的输出层的输入向量,提供给输出层,输出层对接收到的输入向量进行的预测处理包括但不限于:分类处理等。本公开可以根据输出层输出的信息,获得待预测数据中每一个词各自对应的概率,一个概率表示一个词在相应历史词后的出现概率。对于待预测数据中的任一词而言,该词的相应历史词是指:位于被预测出现概率的词之前,且数量不超过预定数量的词。
本公开中的基于卷积神经网络的语言模型可以对待预测数据中的多个词,同时进行在相应历史词后的出现概率的预测处理,相对于基于RNN的语言模型而言,本公开有利于避免不能对多个词进行并行处理而导致的出现概率预测效率低的问题,并有利于避免训练过程中存在的梯度消失和梯度爆炸问题;另外,本公开的语言模型并不需要预先对预定词集合(如词典)中的所有词进行概率统计,从而相对于基于统计概率建模的预测方式而言,有利于降低对历史词的长度限制。本公开通过使语言模型中的隐层对输入本隐层的与待预测数据中的各词的词向量对应的输入向量进行扩张卷积以及非线性变换,有利于扩张隐层对历史的感受野,有利于使输出层输出的概率能够更好的体现词在相应历史词后出现的概率分布,相对于基于RNN的语言模型而言,本公开有利于避免训练过程中存在的梯度消失和梯度爆炸等问题。因此,本公开提供的技术方案有利于提高语言模型的概率预测效率和训练效率,并有利于提高语言模型的概率预测结果的准确性,且使语言模型能够利用较长长度的历史词对目标词进行出现概率预测。
在一个可选示例中,本公开的待预测数据中的除了最后一个词之外,其他词中的任一词均先被作为预测其出现概率的目标词,再被作为历史词,而最后一个词通常仅被作为预测其出现概率的目标词。如假定待预测数据为“我爱北京天安门”,其中的“我”先被作为目标词,以预测“我”在历史词为空的情况下的出现概率;之后,“我”被作为历史词,“爱”被作为目标词,以预测“爱”在历史词为“我”的情况下的出现概率;再之后,“我爱”被作为历史词,“北京”被作为目标词,以预测“北京”在历史词为“我爱”的情况下的出现概率;最后,“我爱北京”被作为历史词,“天安门”被作为目标词,以预测“天安门”在历史词“我爱北京”的情况下的出现概率。
在一个可选示例中,本公开中的语言模型包括:输入层、至少一隐层以及输出层。可选的,语言模型通常会包括多层隐层。本公开中的隐层可以称为隐藏层或者隐含层等。本公开中的隐层通常是指:语言模型中的除了输入层和输出层之外,且设置于输入层和输出层之间的其他层。即本公开中的隐层不会直接接收到语言模型外界的数据,也不会直接向语言模型的外界发送数据。
在一个可选示例中,本公开在针对历史词(可以称为给定历史词),预测目标词的出现概率时,允许历史词所包含的词的最大数量,与语言模型中的隐层的层数以及隐层的卷积核的大小相关,即隐层的层数以及隐层的卷积核的大小,决定历史词所包含的词的最大数量。在语言模型中的隐层的卷积核的大小一定的情况下,隐层的层数越多,则本公开允许历史词所包含的词的最大数量越大;而隐层的层数越少,则本公开允许历史词所包含的词的最大数量越小。隐层的层数以及隐层的卷积核的大小与历史词所包含词的最大数量之间的关系可以如下述公式(1)所示:
在上述公式(1)中,L表示历史词所包含的词的最大数量;N表示语言模型所包含的隐层的数量;kernel_size表示隐层的卷积核的大小。
由于本公开允许历史词所包含的词的最大数量,与语言模型中的隐层的层数以及隐层的卷积核的大小相关,因此,本公开可以根据针对历史词所包含的词的最大数量这一实际需求,灵活设置隐层的层数以及隐层的卷积核的大小,从而本公开有利于使历史词具有较长的长度。因此,相对于基于统计概率建模的预测方式而言,本公开有利于降低针对历史词的长度限制。
在一个可选示例中,本公开可以将多条待预测数据均提供给语言模型的输入层,从而利用语言模型的输入层获得各条待预测数据的词向量。在将多条待预测数据均提供给语言模型的输入层的情况下,本公开可以基于多条待预测数据形成一三维矩阵,并将该三维矩阵提供给语言模型的输入层。三维矩阵中的由x维度和y维度所形成的一二维矩阵表示一待预测数据,z维度表示多条待预测数据序列。由m条待预测数据形成的三维矩阵的一个例子如图3所示,其中的x维度表示待预测数据所包含的词的词向量,y维度表示一条待预测数据所包含的词的词序列,z维度表示m条待预测数据。
本公开通过将一待预测数据中的各词的词向量形成二维矩阵,并将二维矩阵作为语言模型的输入,使语言模型可以针对待预测数据中的各词的词向量进行并行处理;相对于基于RNN的语言模型的基于词序列逐个词的串行处理而言,本公开有利于提高词出现概率的预测效率。进一步的,本公开通过将多条待预测数据形成三维矩阵,并将该三维矩阵作为语言模型的输入,使本公开可以利用语言模型实现对多条待预测数据的批处理,进一步有利于提高词出现概率的预测效率。
在一个可选示例中,本公开利用语言模型的输入层,可以获得待预测数据中的每一个词各自对应的词向量。一个词对应的词向量包含有多个元素,由多个元素所形成的词向量可以表示出至少一个词。一个词向量所包含的元素的数量是预先设定的。本公开中的词向量包括但不限于:基于词嵌入(Embedding)处理所形成的向量,即本公开可以利用语言模型的输入层对待预测数据中的每一个词分别进行词嵌入处理,从而获得每一个词各自对应的词向量。词向量的一个例子如图3所示,图3中的[0.2,0.3,……,0.1,0.1]、[0.3,0.2,……,0.2,0.1]以及[0.3,0.3,……,0.2,0.2]为三个词向量。
在一个可选示例中,在本公开的语言模型包括多层隐层时,对于第n(n大于1)层隐层而言,第n层隐层的输入向量的形成方式可以为:第一层隐层对输入层输出的词向量进行处理,形成第一层隐层的输出向量,该输出向量被作为第二层隐层的输入向量,第二层隐层对本隐层的输入向量进行处理,形成第二层隐层的输出向量,该输出向量被作为第三隐层的输入向量,以此类推,第n-1层隐层的输出向量被作为第n层隐层的输入向量。由上述描述可知,每一隐层的输入向量都与词向量相关,因此,本公开将每一隐层的输入向量,称为与词向量对应的输入向量。
在一个可选示例中,针对本公开的语言模型中的任一隐层而言,本公开可以利用该隐层对其输入向量至少进行一次扩张卷积处理,并利用该隐层对扩张卷积处理获得的向量进行非线性变换处理,且本公开可以基于非线性变换处理获得的向量形成该隐层的输出向量。可选的,由于扩张卷积处理会为待预测数据增加一定数量的向量,因此,本公开可以在隐层进行了扩张卷积处理后,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对保留的向量进行非线性变换。如图4所示,虚线框中的向量为由于扩张卷积处理而增加的向量,本公开应去除虚线框中的向量,保留实线框中的向量。可选的,本公开可以利用slice(切片)操作,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量。本公开通过利用隐层对其输入向量进行扩张卷积处理,有利于扩张隐层的历史感受野,从而有利于提高出现概率的预测准确性。
可选的,任一隐层的卷积核大小与该隐层的扩张卷积系数之间的关系可以表示为下述公式(2)的形式:
dilation=(kernel_size-1)i-1 公式(2)
在上述公式(2)中,dilation表示隐层的扩张卷积系数,kernel_size表示隐层的卷积核大小,i表示隐层所在的层数,且i=1,......,N,N为语言模型所包含的隐层的数量。
可选的,假定语言模型包括4层隐层,且每一隐层的卷积核大小kernel_size均为3,则:
第一层隐层的Dilation为:(3-1)1-1=20=1;(如图5中的从上至下的第三层所示)
第二层隐层的Dilation为:(3-1)2-1=21=2;(如图5中的从上至下的第二层所示)
第三层隐层的Dilation为:(3-1)3-1=22=4;(如图5中的从上至下的第一层所示)
第四层隐层的Dilation为:(3-1)4-1=23=8。(图5中未示出)
另外,图5中的从上至下的第四层表示输入层,且图5中的每一个小方格表示一个向量。例如,输入层中的每一个小方格表示一个词向量,而隐层中的一个小方格表示该隐层的一个输入向量或者输出向量。
在一个可选示例中,本公开可以利用隐层对其输入向量进行两路并行的扩张卷积以及非线性变换,并基于并行的两路各自获得的输出向量,形成本隐层的输出向量。本公开也可以利用隐层对其输入向量进行两路串行的扩张卷积以及非线性变换,并基于最后一路串行处理的输出向量,形成本隐层的输出向量。另外,本公开在形成隐层的输出向量时,可以将该隐层的输入向量融入到该隐层的输出向量中。
在一个可选示例中,假定本公开允许历史词所包含的词的最大数量为L(L为大于等于0的整数),则本公开可以获得L+1个概率,其中,第一个概率表示:待预测数据中的第一个词在历史词为空的情况下的出现概率;第二个概率表示:待预测数据中的第二个词在历史词为第一个词的情况下的出现概率;第三个概率表示:待预测数据中的第三个词在历史词为第一个词和第二个词的情况下的出现概率;第L+1个概率表示:待预测数据中的第L+1个词在历史词为第一个词、第二个词、…..、第L个词的情况下的出现概率。
图6为本公开利用语言模型预测词出现概率的方法一个实施例的流程图。如图6所示,该实施例方法包括:S600至S609。下面对各步骤分别进行说明。
S600、将多条待预测数据中的各词的独热(one-hot)向量,提供给语言模型。
可选的,本公开可以利用多条待预测数据中的各词的独热向量,形成一三维矩阵,并将该三维矩阵作为语言模型的输入,提供给语言模型的输入层。由m条待预测数据中的各词的独热向量,所形成的一三维矩阵的一个例子如图7所示,图7中的x维度表示待预测数据所包含的词的独热向量,y维度表示一条待预测数据所包含的词的词序列,z维度表示m条待预测数据。
S601、通过语言模型的输入层将各待预测数据中的各词的独热向量分别转换为具有预定元素数量的词向量。
可选的,词向量所包含的元素数量(即预定元素数量)通常远远小于独热向量所包含的元素数量。本公开中的输入层可以为Embedding层,即本公开通过利用Embedding层对待预测数据中的各词的独热向量进行处理,从而获得待预测数据中的各词的词向量。
可选的,本公开可以将待预测数据中的各词的词向量进行复制,形成并行的两路输入向量(即第一路输入向量和第二路输入向量),分别提供给与输入层相邻的第一层隐层,由第一层隐层对两路输入向量进行并行处理。
S602、对本隐层的与词向量对应的输入向量进行扩张卷积。
可选的,对于语言模型中的第一层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:输入层获得的词向量。而对于语言模型中的第i(i为大于1的整数)层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:第i-1层隐层的输出向量。本公开不限制本路(即第一路)的扩张卷积处理的具体实现过程。
S603、从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量。
可选的,本公开可以利用slice操作,从本路(即第一路)扩张卷积获得的向量中去除由于本路扩张卷积而增加的向量,如去除图4中虚线框中的向量,保留图4中实线框中的向量。本公开不限制本路的slice操作的具体实现过程。
S604、对保留的向量进行非线性变换,得到第一输出向量。
可选的,本公开可以利用非线性激活函数对本路(即第一路)保留的向量进行非线性变换,从而根据非线性激活函数的输出得到本路输出向量,即第一输出向量,也可以称为第一路输出向量。第一输出向量的一个例子为:针对图4中的实线框中的向量进行非线性变换而获得的向量。
本公开通过使语言模型中的隐层对输入本隐层的输入向量进行扩张卷积处理以及非线性变换处理,有利于扩张本隐层的历史感受野,并有利于使输出层输出的概率能够更好的体现词在相应历史词后出现的概率分布。
S605、对本隐层的与词向量对应的输入向量进行扩张卷积。
可选的,对于语言模型中的第一层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:输入层获得的词向量。而对于语言模型中的第i(i为大于1的整数)层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:第i-1层隐层的输出向量。本公开不限制本路(即第二路)的扩张卷积处理的具体实现过程。另外,两路扩张卷积处理的实现方式相同。
S606、从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,得到第二输出向量。
可选的,本公开可以利用slice操作,从本路(即第二路)扩张卷积获得的向量中去除由于本路扩张卷积而增加的向量,本公开可以将保留的向量作为本路输出向量,即第二输出向量,也可以称为第二路输出向量(如图4中的实线框中的向量)。本公开不限制本路的slice操作的具体实现过程。
S607、基于第一输出向量和第二输出向量,形成本隐层的输出向量。
可选的,本公开可以将本隐层的第一输出向量和第二输出向量进行点乘(如element-wise product),并根据点乘的结果形成本隐层的输出向量。例如,本公开可以直接将点乘的结果作为本隐层的输出向量。再例如,本公开可以将点乘的结果与本隐层的输入向量叠加(如加法运算),并将叠加的结果作为本隐层的输出向量。本公开不限制根据点乘的结果形成本隐层的输出向量的具体实现方式。
S608、判断S607中的本隐层是否为语言模型中的最后一层隐层,如果为最后一层隐层,则将该隐层的输出向量提供给输出层,到步骤S609,否则,将本隐层的输出向量进行复制,形成并行的两路输入向量(即第一路输入向量和第二路输入向量),分别提供给该隐层的下一层隐层,返回步骤S602和S605。
S609、通过语言模型的输出层,对最后一层隐层的输出向量进行预测(如分类处理等),得到各待预测数据中的各词在相应历史词后的出现概率。S609可参见上述实施例中针对S202的描述,在此不在详细说明。
本公开通过使语言模型中的隐层对输入本隐层的输入向量进行两路并行的扩张卷积处理以及非线性变换处理,并将两路进行综合(如点乘),可以形成类似于LSTM(长短期记忆)神经网络中的门限的机制,从而可以有效控制层次结构中的信息传输,从而有利于使输出层输出的概率能够更好的体现词在相应历史词后出现的概率分布。
图8为本公开利用语言模型预测词出现概率的方法一个实施例的流程图。如图8所示,该实施例方法包括:步骤S800-S809。下面对各步骤分别进行说明。
S800、将多条待预测数据中的各词的独热向量,提供给语言模型。该步骤可以参见上述实施例中针对S500的描述,在此不在详细说明。
S801、通过语言模型的输入层将各待预测数据中的各词的独热向量分别转换为具有预定元素数量的词向量。可选的,本公开可以直接将各待预测数据中的各词的词向量,作为输入向量提供给与输入层相邻的第一层隐层,由第一层隐层对输入向量进行串行处理。
S802、对本隐层的与词向量对应的输入向量进行扩张卷积。
可选的,对于语言模型中的第一层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:输入层获得的词向量。而对于语言模型中的第i(i为大于1的整数)层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:第i-1层隐层的输出向量。本公开不限制利用隐层对输入向量进行扩张卷积(即第一次扩张卷积)处理的具体实现过程。
S803、从本次扩张卷积(即第一次扩张卷积)获得的向量中去除由于本次扩张卷积而增加的向量,得到第三输出向量。可选的,本公开可以利用slice操作,从第一次扩张卷积获得的向量中去除由于第一次扩张卷积而增加的向量(如去除图4中虚线框中的向量)。本公开不限制第一次slice操作的具体实现过程。
S804、对第三输出向量进行扩张卷积。即本公开在一隐层内再次进行扩张卷积,该次扩张卷积为第二次扩张卷积。
S805、从第二次扩张卷积获得的向量中去除由于第二次扩张卷积而增加的向量,得到第二次保留的向量。可选的,本公开可以利用slice操作,从第二次扩张卷积获得的向量中去除由于第二次扩张卷积而增加的向量。本公开不限制第二次slice操作的具体实现过程。
S806、对第二次保留的向量进行非线性变换,得到第四输出向量。可选的,本公开可以利用非线性激活函数对第二次保留的向量进行非线性变换,从而根据非线性激活函数的输出得到第四输出向量。
S807、基于第四输出向量,形成本隐层的输出向量。
可选的,本公开可以将第四输出向量直接作为本隐层的输出向量,本公开也可以将第四输出向量与本隐层的输入向量叠加(如加法运算),并将叠加的结果作为本隐层的输出向量。本公开不限制根据第四输出向量形成本隐层的输出向量的具体实现方式。
S808、判断S807中的隐层是否为语言模型中的最后一层隐层,如果为最后一层隐层,则将该隐层的输出向量提供给输出层,到S809,否则,将本隐层的输出向量作为该隐层的下一层隐层的输入向量,提供给下一层隐层,返回S802。
S809、通过语言模型的输出层,对最后一层隐层的输出向量进行预测(如分类处理等),得到各待预测数据中的各词在相应历史词后的出现概率。该步骤可以参见上述实施例中针对S802的描述,在此不在详细说明。
本公开通过使语言模型中的隐层对输入本隐层的输入向量进行串行的扩张卷积处理以及非线性变换处理,与并行相比,在具有同等计算量的情况下,可以获得更大的历史感受野,从而有利于使输出层输出的概率能够更好的体现词在相应历史词后出现的概率分布。
图9为本公开利用语言模型预测词出现概率的方法一个实施例的流程图。如图9所示,该实施例方法包括:S900-S908。下面对各步骤分别进行说明。
S900、将多条待预测数据中的各词的独热向量,提供给语言模型。该步骤可以参见上述实施例中针对S600的描述,在此不在详细说明。
S901、通过语言模型的输入层将各待预测数据中的各词的独热向量分别转换为具有预定元素数量的词向量。可选的,本公开可以直接将待预测数据中的各词的词向量,作为输入向量提供给与输入层相邻的第一层隐层,由第一层隐层对输入向量进行串行处理。
S902、对本隐层的与词向量对应的输入向量进行扩张卷积。
可选的,对于语言模型中的第一层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:输入层获得的词向量。而对于语言模型中的第i(i为大于1的整数)层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:第i-1层隐层的输出向量。本公开不限制利用隐层对输入向量进行扩张卷积(即第一次扩张卷积)处理的具体实现过程。
S903、从本次扩张卷积(即第一次扩张卷积)获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量(即第一次保留的向量)进行非线性变换,得到第五输出向量。
可选的,本公开可以利用slice操作,从第一次扩张卷积获得的向量中去除由于第一次扩张卷积而增加的向量(如去除图4中虚线框中的向量)。另外,本公开可以利用非线性激活函数对第一次保留的向量进行非线性变换(即第一次非线性变换),从而根据非线性激活函数的输出得到第五输出向量,如对图4中的实线框中的向量进行非线性变换而得到的输出向量。本公开不限制第一次slice操作和第一次非线性变换的具体实现过程。
S904、对第五输出向量进行扩张卷积。即本公开在一隐层内再次进行扩张卷积,该次扩张卷积为第二次扩张卷积。
S905、从本次扩张卷积(即第二次扩张卷积)获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量(即第二次保留的向量)进行非线性变换,得到第六输出向量。
可选的,本公开可以利用slice操作,从第二次扩张卷积获得的向量中去除由于第二扩张卷积而增加的向量。另外,本公开可以利用非线性激活函数对第二次保留的向量进行非线性变换(即第二次非线性变换),从而根据非线性激活函数的输出得到第六输出向量。本公开不限制第二次slice操作和第二次非线性变换的具体实现过程。
S906、基于第六输出向量,形成本隐层的输出向量。
可选的,本公开可以将第六输出向量直接作为本隐层的输出向量,本公开也可以将第六输出向量与本隐层的输入向量叠加(如加法运算),并将叠加的结果作为本隐层的输出向量。本公开不限制根据第六输出向量形成本隐层的输出向量的具体实现方式。
S907、判断S906中的隐层是否为语言模型中的最后一层隐层,如果为最后一层隐层,则将该隐层的输出向量提供给输出层,到S908,否则,将本隐层的输出向量作为该隐层的下一层隐层的输入向量,提供给下一层隐层,返回S902。
S908、通过语言模型的输出层,对最后一层隐层的输出向量进行预测(如分类处理等),得到各待预测数据中的各词在相应历史词后的出现概率。该步骤可以参见上述实施例中针对S902的描述,在此不在详细说明。
本公开通过使语言模型中的隐层对输入本隐层的输入向量进行串行的扩张卷积处理以及非线性变换处理,与并行相比,在具有同等计算量的情况下,可以获得更大的历史感受野,从而有利于使输出层输出的概率能够更好的体现词在相应历史词后出现的概率分布。
图10为本公开的语言模型训练方法一个实施例的流程图。如图10所示,该实施例方法包括:步骤S1000-S1003。下面对各步骤分别进行说明。
S1000、通过待训练的语言模型的输入层获取数据样本中的各词的词向量。
在一个可选示例中,本公开可以从训练数据集中获取至少一个数据样本。每一个数据样本通常均包括至少一个词。本公开中的词包括但不限于:外文中的单词(如英文单词)、词组、汉字中的字以及汉字中的词等。可选的,数据样本集中存储有多条训练数据,本公开可以从一条训练数据中获取一部分,形成一个数据样本。
在一个可选示例中,本公开可以将一次性从训练数据集中读取出的多个数据样本均提供给待训练的语言模型的输入层,从而利用待训练的语言模型的输入层获得多个数据样本的词向量。可选的,在将多个数据样本均提供给待训练的语言模型的输入层的情况下,本公开可以基于多个数据样本形成一三维矩阵,并将该三维矩阵提供给待训练的语言模型的输入层。三维矩阵中的由x维度和y维度所形成的一二维矩阵表示一数据样本,z维度表示多个数据样本序列。
在一个可选示例中,本公开通过利用待训练的语言模型的输入层,可以获得各数据样本中的每一个词各自对应的词向量。一个词对应的词向量包含有多个元素,由多个元素所形成的词向量可以表示出一个词。另外,一个词向量所包含的元素的数量是预先设定的。本公开中的词向量包括但不限于:基于词嵌入(Embedding)处理所形成的向量,即本公开通过利用待训练的语言模型的输入层对数据样本中的每一个词进行词嵌入处理,从而获得每一词各自对应的词向量。
S1001、通过待训练的语言模型中的每一隐层对本隐层的与词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量。
在一个可选示例中,本公开中的待训练的语言模型中的每一隐层的输入向量均与上述步骤中获得的词向量相关,即隐层的输入向量为词向量或者对词向量进行一定的处理后所形成的向量。例如,在待训练的语言模型包括:一输入层、一隐层和一输出层的情况下,该隐层的输入向量为词向量。再例如,在待训练的语言模型包括:一输入层、多层隐层以及一输出层的情况下,第一层隐层的输入向量为词向量,其他隐层的输入向量为与其相邻的前一隐层的输出向量。
在一个可选示例中,针对待训练的语言模型中的任一隐层而言,本公开可以利用该隐层对其输入向量至少进行一次扩张卷积处理,并利用该隐层对扩张卷积处理获得的向量进行非线性变换处理,且本公开可以基于非线性变换处理获得的向量形成该隐层的输出向量。可选的,针对输入向量而言,由于扩张卷积处理会增加一定数量的向量,因此,本公开可以在隐层进行了扩张卷积处理后,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对保留的向量进行非线性变换。可选的,本公开可以利用slice(切片)操作,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量。
由于本公开是将数据样本中的多个词向量同时提供给待训练的语言模型,由待训练的语言模型中的各层分别对其输入向量同时进行扩张卷积处理和非线性变换处理,有利于避免将数据样本中的多个词向量先后提供给基于RNN的语言模型,由基于RNN的语言模型针对一个词向量处理完成后,再对下一个词向量进行处理,而产生的训练过程中存在的梯度消失和梯度爆炸问题,有利于扩张隐层的历史感受野,并有利于使输出层输出的概率能够更好的体现词在相应历史词后出现的概率分布。因此,本公开提供的语言模型及其训练方法有利于提高语言模型的训练效率以及预测准确性。
可选的,本公开可以利用隐层对其输入向量进行两路并行的扩张卷积以及非线性变换,并基于并行的两路各自获得的输出向量,形成本隐层的输出向量。本公开也可以利用隐层对其输入向量进行两路串行的扩张卷积以及非线性变换,并基于最后一路串行处理的输出向量,形成本隐层的输出向量。另外,本公开在形成隐层的输出向量时,可以将该隐层的输入向量融入到该隐层的输出向量中。
S1002、通过待训练的语言模型的输出层对与该输出层相邻的隐层的输出向量进行预测,得到数据样本中的各词在相应历史词后的出现概率。
在一个可选示例中,本公开将待训练的语言模型中的最后一层隐层的输出向量,作为待训练的语言模型的输出层的输入向量,提供给输出层,输出层对接收到的输入向量进行的预测处理包括但不限于:分类处理等。本公开可以根据输出层输出的信息,获得数据样本中每一个词各自对应的概率,一个概率表示一个词在相应历史词后的出现概率。对于数据样本中的任一词而言,该词的相应历史词是指:位于被预测出现概率的词之前,且数量不超过预定数量的词。
可选的,假定本公开允许历史词包括的词的最大数量为L(L为大于等于0的整数),则本公开可以获得L+1个概率,其中的第一个概率表示:数据样本中的第一个词在历史词为空的情况下的出现概率;其中的第二个概率表示:数据样本中的第二个词在历史词为第一个词的情况下的出现概率;其中的第三个概率表示:数据样本中的第三个词在历史词为第一个词和第二个词的情况下的出现概率;其中的第L+1个概率表示:数据样本中的第L+1个词在历史词为第一个词、第二个词、…..、第L个词的情况下的出现概率。
S1003、根据上述出现概率,确定待训练的语言模型的损失,并根据损失对待训练的语言模型的网络参数进行调整。
由于数据样本中的词即可以作为待训练的语言模型的监督信息,因此,本公开可以根据预测获得的出现概率以及数据样本中的词,确定待训练的语言模型的损失,并根据损失进行反向传播,以调整待训练的语言模型的网络参数,由于梯度传播方向与时间序列方向不同,从而有利于避免梯度消失和梯度爆炸等问题,使梯度更加稳定,从而有利于语言模型的快速收敛。本公开中的网络参数可以包括但不限于:卷积核参数和/或矩阵权重等。本公开不限制网络参数所包含的具体内容。
在一个可选示例中,在针对语言模型的训练达到预定迭代条件时,本次训练过程结束。本公开中的预定迭代条件可以包括:语言模型针对数据样本的输出概率与数据样本中的相应词之间的差异,满足预定差异要求。在差异满足预定差异要求的情况下,本次对语言模型成功训练完成。本公开中的预定迭代条件也可以包括:对语言模型进行训练,所使用的数据样本的数量达到预定数量要求等。成功训练完成的语言模型可以用于出现概率的预测。
图11为本公开语言模型训练方法一个实施例的流程图。如图11所示,该实施例方法包括:步骤S1100至S1110。下面对各步骤分别进行说明。
S1100、将多个数据样本中的各词的独热向量,提供给待训练的语言模型。
可选的,本公开可以利用多个数据样本中的各词的独热向量,形成一三维矩阵,并将该三维矩阵作为待训练的语言模型的输入向量,提供给待训练的语言模型的输入层。
S1101、通过待训练的语言模型的输入层将各数据样本中的各词的独热向量分别转换为具有预定元素数量的词向量。
可选的,词向量所包含的元素数量(即预定元素数量)通常远远小于独热向量所包含的元素数量。本公开中的输入层可以为Embedding层,即本公开通过利用Embedding层对数据样本中的各词的独热向量进行处理,从而获得数据样本中的各词的词向量。
可选的,本公开可以将数据样本中的各词的词向量进行复制,形成并行的两路输入向量(即第一路输入向量和第二路输入向量),分别提供给与输入层相邻的第一层隐层,由第一层隐层对两路输入向量进行并行处理。
S1102、对本隐层的与词向量对应的输入向量进行扩张卷积。
可选的,对于待训练的语言模型中的第一层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:输入层获得的词向量。而对于待训练的语言模型中的第i(i为大于1的整数)层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:第i-1层隐层的输出向量。本公开不限制本路(即第一路)的扩张卷积处理的具体实现过程。
S1103、从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量。
可选的,本公开可以利用slice操作,从本路(即第一路)扩张卷积获得的向量中去除由于本路扩张卷积而增加的向量。本公开不限制本路的slice操作的具体实现过程。
S1104、对保留的向量进行非线性变换,得到第一输出向量。
可选的,本公开可以利用非线性激活函数对本路(即第一路)保留的向量进行非线性变换,从而根据非线性激活函数的输出得到本路输出向量,即第一输出向量,也可以称为第一路输出向量。
本公开通过使待训练的语言模型中的隐层对输入本隐层的输入向量进行扩张卷积处理以及非线性变换处理,有利于扩张本隐层的历史感受野,相对于基于RNN的语言模型而言,本公开有利于避免训练过程中的梯度消失和爆炸问题,有利于使输出层输出的概率能够更好的体现词在相应历史词后出现的概率分布。
S1105、对本隐层的与词向量对应的输入向量进行扩张卷积。
可选的,对于待训练的语言模型中的第一层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:输入层获得的词向量。而对于待训练的语言模型中的第i(i为大于1的整数)层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:第i-1层隐层的输出向量。本公开不限制本路(即第二路)的扩张卷积处理的具体实现过程。另外,本隐层中的两路扩张卷积处理的实现方式相同。
S1106、从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,得到第二输出向量。
可选的,本公开可以利用slice操作,从本路(即第二路)扩张卷积获得的向量中去除由于本路扩张卷积而增加的向量,本公开可以将保留的向量作为本路输出向量,即第二输出向量,也可以称为第二路输出向量。本公开不限制本路的slice操作的具体实现过程。
S1107、基于第一输出向量和第二输出向量,形成本隐层的输出向量。
可选的,本公开可以将本隐层的第一输出向量和第二输出向量进行点乘,并根据点乘的结果形成本隐层的输出向量。例如,本公开可以直接将点乘的结果作为本隐层的输出向量。再例如,本公开可以将点乘的结果与本隐层的输入向量叠加(如加法运算),并将叠加的结果作为本隐层的输出向量。本公开不限制根据点乘的结果形成本隐层的输出向量的具体实现方式。
S1108、判断当前隐层(S1107中的隐层)是否为待训练的语言模型中的最后一层隐层,如果为最后一层隐层,则将该隐层的输出向量提供给输出层,到步骤S1109,否则,将本隐层的输出向量进行复制,形成并行的两路输入向量(即第一路输入向量和第二路输入向量),分别提供给该隐层的下一层隐层,返回步骤S1102和S1105。
S1109、通过待训练的语言模型的输出层,对最后一层隐层的输出向量进行预测(如分类处理等),得到各数据样本中的各词在相应历史词后的出现概率。
S1110、根据上述得到的出现概率,确定待训练的语言模型的损失,并根据损失对待训练的语言模型的网络参数进行调整。
本公开通过使待训练的语言模型中的隐层对输入本隐层的输入向量进行两路并行的扩张卷积处理以及非线性变换处理,并将两路进行综合(如点乘),可以形成类似于LSTM(长短期记忆)神经网络中的门限的机制,从而可以有效控制层次结构中的信息传输,相对于基于RNN的语言模型而言,本公开有利于避免训练过程中的梯度消失和梯度爆炸问题,并有利于使输出层输出的概率能够更好的体现词在相应历史词后出现的概率分布;从而有利于提高语言模型的训练效率以及性能。
图12为本公开利用语言模型训练方法一个实施例的流程图。如图12所示,该实施例方法包括:步骤S1200-S1209。下面对各步骤分别进行说明。
S1200、将多个数据样本中的各词的独热向量,提供给待训练的语言模型。
S1201、通过待训练的语言模型的输入层将各数据样本中的各词的独热向量分别转换为具有预定元素数量的词向量。
可选的,本公开可以直接将各数据样本中的各词的词向量,作为输入向量提供给与输入层相邻的第一层隐层,由第一层隐层对输入向量进行串行处理。
S1203、对本隐层的与词向量对应的输入向量进行扩张卷积,从本次扩张卷积(即第一次扩张卷积)获得的向量中去除由于本次扩张卷积而增加的向量,得到第三输出向量。
可选的,对于待训练的语言模型中的第一层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:输入层获得的词向量。而对于待训练的语言模型中的第i(i为大于1的整数)层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:第i-1层隐层的输出向量。本公开可以利用slice操作,从第一次扩张卷积获得的向量中去除由于第一次扩张卷积而增加的向量。本公开不限制第一次slice操作的具体实现过程。
S1204、对第三输出向量进行扩张卷积,从第二次扩张卷积获得的向量中去除由于第二次扩张卷积而增加的向量,得到第二次保留的向量。
S1205、对第二次保留的向量进行非线性变换,得到第四输出向量。
可选的,本公开可以利用slice操作,从第二次扩张卷积获得的向量中去除由于第二次扩张卷积而增加的向量。本公开不限制第二次slice操作的具体实现过程。本公开可以利用非线性激活函数对第二次保留的向量进行非线性变换,从而根据非线性激活函数的输出得到第四输出向量。
S1206、基于第四输出向量,形成本隐层的输出向量。
可选的,本公开可以将第四输出向量直接作为本隐层的输出向量,本公开也可以将第四输出向量与本隐层的输入向量叠加(如加法运算),并将叠加的结果作为本隐层的输出向量。本公开不限制根据第四输出向量形成本隐层的输出向量的具体实现方式。
S1207、判断当前隐层(即步骤S1150中的隐层)是否为待训练的语言模型中的最后一层隐层,如果为最后一层隐层,则将该隐层的输出向量提供给输出层,到步骤S1170,否则,将本隐层的输出向量作为该隐层的下一层隐层的输入向量,提供给下一层隐层,返回步骤S1120。
S1208、通过待训练的语言模型的输出层,对最后一层隐层的输出向量进行预测(如分类处理等),得到数据样本中的各词在相应历史词后的出现概率。
S1209、根据上述得到的出现概率,确定待训练的语言模型的损失,并根据损失对待训练的语言模型的网络参数进行调整。
本公开通过使待训练的语言模型中的隐层对输入本隐层的输入向量进行串行的扩张卷积处理及非线性变换处理,与并行相比,在具有同等计算量的情况下,可以获得更大的历史感受野;另外,相对于基于RNN的语言模型而言,本公开有利于避免训练过程中的梯度消失和梯度爆炸问题,并有利于使输出层输出的概率能够更好的体现词在相应历史词后出现的概率分布;从而有利于提高语言模型的训练效率以及性能。
图13为本公开的语言模型训练方法一个实施例的流程图。如图13所示,该实施例方法包括:步骤S1300-S1309。下面对各步骤分别进行说明。
S1300、将多个数据样本中的各词的独热向量,提供给待训练的语言模型。
S1301、通过待训练的语言模型的输入层将各数据样本中的各词的独热向量分别转换为具有预定元素数量的词向量。
可选的,本公开可以直接将各数据样本中的各词的词向量,作为输入向量提供给与输入层相邻的第一层隐层,由第一层隐层对输入向量进行串行处理。
S1302、对本隐层的与词向量对应的输入向量进行扩张卷积。
可选的,对于待训练的语言模型中的第一层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:输入层获得的词向量。而对于待训练的语言模型中的第i(i为大于1的整数)层隐层而言,本步骤中的本隐层的与词向量对应的输入向量为:第i-1层隐层的输出向量。本公开不限制利用隐层对输入向量进行扩张卷积(即第一次扩张卷积)处理的具体实现过程。
S1303、从本次扩张卷积(即第一次扩张卷积)获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量(即第一次保留的向量)进行非线性变换,得到第五输出向量。
可选的,本公开可以利用slice操作,从第一次扩张卷积获得的向量中去除由于第一次扩张卷积而增加的向量。另外,本公开可以利用非线性激活函数对第一次保留的向量进行非线性变换(即第一次非线性变换),从而根据非线性激活函数的输出得到第五输出向量。本公开不限制第一次slice操作和第一次非线性变换的具体实现过程。
S1304、对第五输出向量进行扩张卷积。
S1305、从本次扩张卷积(即第二次扩张卷积)获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量(即第二次保留的向量)进行非线性变换,得到第六输出向量。
可选的,本公开可以利用slice操作,从第二次扩张卷积获得的向量中去除由于第二扩张卷积而增加的向量。另外,本公开可以利用非线性激活函数对第二次保留的向量进行非线性变换(即第二次非线性变换),从而根据非线性激活函数的输出得到第六输出向量。本公开不限制第二次slice操作和第二次非线性变换的具体实现过程。
S1306、基于第六输出向量,形成本隐层的输出向量。
可选的,本公开可以将第六输出向量直接作为本隐层的输出向量,本公开也可以将第六输出向量与本隐层的输入向量叠加(如加法运算),并将叠加的结果作为本隐层的输出向量。本公开不限制根据第六输出向量形成本隐层的输出向量的具体实现方式。
S1307、判断S1306中的隐层是否为待训练的语言模型中的最后一层隐层,如果为最后一层隐层,则将该隐层的输出向量提供给输出层,到步骤S1080,否则,将本隐层的输出向量作为该隐层的下一层隐层的输入向量,提供给下一层隐层,返回步骤S1020。
S1308、通过待训练的语言模型的输出层,对最后一层隐层的输出向量进行预测(如分类处理等),得到各数据样本中的各词在相应历史词后的出现概率。
S1309、根据上述得到的出现概率,确定待训练的语言模型的损失,并根据损失对待训练的语言模型的网络参数进行调整。
本公开通过使待训练的语言模型中的隐层对输入本隐层的输入向量进行串行的扩张卷积处理及非线性变换处理,与并行相比,在具有同等计算量的情况下,可以获得更大的历史感受野,另外,相对于基于RNN的语言模型而言,本公开有利于避免训练过程中的梯度消失和梯度爆炸问题,并有利于使输出层输出的概率能够更好的体现词在相应历史词后出现的概率分布;从而有利于提高语言模型的训练效率以及性能。
图14为本公开的利用语言模型预测词出现概率的装置一个实施例的结构示意图。该实施例的装置可用于实现本公开上述利用语言模型预测词出现概率的方法各实施例。本实施例中的语言模型为基于卷积神经网络的语言模型。
如图14所示,该实施例的装置包括:第一获取词向量模块1400、第一获取输出向量模块1401以及第一预测模块1402。
第一获取词向量模块1400用于通过语言模型的输入层获取待预测数据中的各词的词向量。
第一获取输出向量模块1401用于通过语言模型中的每一隐层对本隐层的与词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量。
第一预测模块1402用于通过语言模型的输出层对与该输出层相邻的隐层的输出向量进行预测,得到待预测数据中的各词在相应历史词后的出现概率。
可选的,第一获取词向量模块1400可以将多条待预测数据中的各词的独热向量,提供给语言模型,这样,第一获取词向量模块1400通过语言模型的输入层将各待预测数据中的各词的独热向量转换为具有预定元素数量的词向量。第一获取词向量模块1400具体执行的操作,可以参见上述方法实施例中针对图2至图10的相关描述,在此不再详细说明。
可选的,第一获取输出向量模块1401可以对本隐层的与词向量对应的输入向量进行扩张卷积,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对保留的向量进行非线性变换,得到第一输出向量;第一获取输出向量模块1401对本隐层的与所述词向量对应的输入向量进行扩张卷积,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,得到第二输出向量;第一获取输出向量模块1401基于第一输出向量和第二输出向量,形成本隐层的输出向量。第一获取输出向量模块1401可以将第一输出向量和第二输出向量进行点乘,并根据点乘的结果形成本隐层的输出向量。例如,第一获取输出向量模块1401将点乘的结果作为本隐层的输出向量。再例如,第一获取输出向量模块1401将点乘的结果与本隐层的输入向量叠加,并将叠加的结果作为本隐层的输出向量。
可选的,第一获取输出向量模块1401可以对本隐层的与所述词向量对应的输入向量进行扩张卷积,从本次扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,得到第三输出向量;第一获取输出向量模块1401对第三输出向量进行扩张卷积,从本次扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量进行非线性变换,得到第四输出向量;第一获取输出向量模块1401根据第四输出向量,形成本隐层的输出向量。如第一获取输出向量模块1401将第四输出向量作为本隐层的输出向量;再如第一获取输出向量模块1401将第四输出向量与本隐层的输入向量进行叠加,并将叠加的结果作为本隐层的输出向量。
可选的,第一获取输出向量模块1401对本隐层的与词向量对应的输入向量进行扩张卷积,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量进行非线性变换处理,得到第五输出向量;第一获取输出向量模块1401对第五输出向量进行扩张卷积,从本次扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量进行非线性变换处理,得到第六输出向量;第一获取输出向量模块1401根据第六输出向量,形成本隐层的输出向量。例如,第一获取输出向量模块1401将第六输出向量作为本隐层的输出向量。再例如,第一获取输出向量模块1401将第六输出向量与本隐层的输入向量进行叠加,并将叠加的结果作为本隐层的输出向量。
图15为本公开的语言模型训练装置一个实施例的结构示意图。该实施例的装置可用于实现本公开上述语言模型训练方法各实施例。如图15所示,该实施例的装置包括:第二获取词向量模块1500、第二获取输出向量模块1501、第二预测模块1502以及参数调整模块1503。
第二获取词向量模块1500用于通过待训练的语言模型的输入层获取数据样本中的各词的词向量。
第二获取输出向量模块1501用于通过语言模型中的每一隐层对本隐层的与述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量。
第二预测模块1502用于通过语言模型的输出层对与该输出层相邻的隐层的输出向量进行预测,得到数据样本中的各词在相应历史词后的出现概率。
参数调整模块1503用于根据出现概率,确定语言模型的损失,并根据损失对待训练的语言模型的网络参数进行调整。
可选的,第二获取词向量模块1500可以将多个数据样本中的各词的独热向量,提供给语言模型,从而第二获取词向量模块1500可以通过待训练的语言模型的输入层,将各数据样本中的各词的独热向量转换为具有预定元素数量的词向量。
可选的,第二获取输出向量模块1501可以对本隐层的与所述词向量对应的输入向量进行扩张卷积,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对保留的向量进行非线性变换,得到第一输出向量;第二获取输出向量模块1501对本隐层的与所述词向量对应的输入向量进行扩张卷积,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,得到第二输出向量;第二获取输出向量模块1501基于第一输出向量和第二输出向量,形成本隐层的输出向量。第二获取输出向量模块1501可以将第一输出向量和第二输出向量进行点乘,并根据点乘的结果形成本隐层的输出向量。例如,第二获取输出向量模块1501将点乘的结果作为本隐层的输出向量。再例如,第二获取输出向量模块1501将点乘的结果与本隐层的输入向量叠加,并将叠加的结果作为本隐层的输出向量。
可选的,第二获取输出向量模块1501可以对本隐层的与所述词向量对应的输入向量进行扩张卷积,从本次扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,得到第三输出向量;第二获取输出向量模块1501对第三输出向量进行扩张卷积,从本次扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量进行非线性变换,得到第四输出向量;第二获取输出向量模块1501根据第四输出向量,形成本隐层的输出向量。
可选的,第二获取输出向量模块1501可以对本隐层的与所述词向量对应的输入向量进行扩张卷积,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,对本次保留的向量进行非线性变换处理,得到第五输出向量;第二获取输出向量模块1501对第五输出向量进行扩张卷积,从本次扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,第二获取输出向量模块1501对本次保留的向量进行非线性变换处理,得到第六输出向量;第二获取输出向量模块1501根据第六输出向量,形成本隐层的输出向量。
示例性电子设备
下面参考图16来描述根据本公开实施例的电子设备。图16示出了根据本公开实施例的电子设备的框图。如图16所示,电子设备161包括一个或多个处理器1611和存储器1612。
处理器1611可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备161中的其他组件以执行期望的功能。
存储器1612可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1611可以运行所述程序指令,以实现上文所述的本公开的各个实施例的基于语言模型的业务数据筛选方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备161还可以包括:输入装置1613和输出装置1614,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。此外,该输入设备1613还可以包括例如键盘、鼠标等等。该输出装置1614可以向外部输出各种信息。该输出设备1614可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。当然,为了简化,图16中仅示出了该电子设备161中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备161还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的基于语言模型的业务数据筛选方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的基于语言模型的业务数据筛选方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (18)
1.一种利用语言模型预测词出现概率的方法,包括:
通过语言模型的输入层获取待预测数据中的各词的词向量;
通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量;
通过所述语言模型的输出层对与该输出层相邻的隐层的输出向量进行预测,得到所述待预测数据中的各词在相应历史词后的出现概率。
2.根据权利要求1所述的方法,其中,所述方法还包括:
将所述待预测数据中的各词的独热向量,提供给语言模型;
所述通过语言模型的输入层获取待预测数据中的各词的词向量,包括:
通过语言模型的输入层将所述待预测数据中的各词的独热向量转换为具有预定元素数量的词向量;其中,所述预定元素数量小于所述独热向量所包含的元素数量。
3.根据权利要求1或2所述的方法,其中,所述通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量,包括:
对本隐层的与所述词向量对应的输入向量进行扩张卷积,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对保留的向量进行非线性变换,得到第一输出向量;
对本隐层的与所述词向量对应的输入向量进行扩张卷积,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,得到第二输出向量;
基于所述第一输出向量和所述第二输出向量,形成本隐层的输出向量。
4.根据权利要求3所述的方法,其中,所述基于所述第一输出向量和所述第二输出向量,形成本隐层的输出向量,包括:
将第一输出向量和第二输出向量进行点乘,并根据点乘的结果形成本隐层的输出向量。
5.根据权利要求4所述的方法,其中,所述根据点乘的结果形成本隐层的输出向量,包括:
将点乘的结果作为本隐层的输出向量;或者
将点乘的结果与本隐层的输入向量叠加,并将叠加的结果作为本隐层的输出向量。
6.根据权利要求1或2所述的方法,其中,所述通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量,包括:
对本隐层的与所述词向量对应的输入向量进行扩张卷积,从本次扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,得到第三输出向量;
对所述第三输出向量进行扩张卷积,从本次扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量进行非线性变换,得到第四输出向量;
根据所述第四输出向量,形成本隐层的输出向量。
7.根据权利要求1或2所述的方法,其中,所述通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量,包括:
对本隐层的与所述词向量对应的输入向量进行扩张卷积,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量进行非线性变换处理,得到第五输出向量;
对所述第五输出向量进行扩张卷积,从本次扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量进行非线性变换处理,得到第六输出向量;
根据所述第六输出向量,形成本隐层的输出向量。
8.根据权利要求6或7所述的方法,其中,所述根据所述第四输出向量,形成本隐层的输出向量,包括:
将第四输出向量作为本隐层的输出向量;或者
将第四输出向量与本隐层的输入向量进行叠加,并将叠加的结果作为本隐层的输出向量;
或者,
所述根据所述第六输出向量,形成本隐层的输出向量,包括:
将第六输出向量作为本隐层的输出向量;或者
将第六输出向量与本隐层的输入向量进行叠加,并将叠加的结果作为本隐层的输出向量。
9.一种语言模型训练方法,包括:
通过待训练的语言模型的输入层获取数据样本中的各词的词向量;
通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量;
通过所述语言模型的输出层对与该输出层相邻的隐层的输出向量进行预测,得到所述数据样本中的各词在相应历史词后的出现概率;
根据所述出现概率,确定所述语言模型的损失,并根据所述损失对所述语言模型的网络参数进行调整。
10.根据权利要求9所述的方法,其中,所述通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量,包括:
对本隐层的与所述词向量对应的输入向量进行扩张卷积,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对保留的向量进行非线性变换,得到第一输出向量;
对本隐层的与所述词向量对应的输入向量进行扩张卷积,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,得到第二输出向量;
基于所述第一输出向量和所述第二输出向量,形成本隐层的输出向量。
11.根据权利要求10所述的方法,其中,所述基于所述第一输出向量和所述第二输出向量,形成本隐层的输出向量,包括:
将第一输出向量和第二输出向量进行点乘,并根据点乘的结果形成本隐层的输出向量。
12.根据权利要求11所述的方法,其中,所述根据点乘的结果形成本隐层的输出向量,包括:
将点乘的结果作为本隐层的输出向量;或者
将点乘的结果与本隐层的输入向量叠加,并将叠加的结果作为本隐层的输出向量。
13.根据权利要求9所述的方法,其中,所述通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量,包括:
对本隐层的与所述词向量对应的输入向量进行扩张卷积,从本次扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,得到第三输出向量;
对所述第三输出向量进行扩张卷积,从本次扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量进行非线性变换,得到第四输出向量;
根据所述第四输出向量,形成本隐层的输出向量。
14.根据权利要求9所述的方法,其中,所述通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量,包括:
对本隐层的与所述词向量对应的输入向量进行扩张卷积,从扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量进行非线性变换处理,得到第五输出向量;
对所述第五输出向量进行扩张卷积,从本次扩张卷积获得的向量中去除由于本次扩张卷积而增加的向量,并对本次保留的向量进行非线性变换处理,得到第六输出向量;
根据所述第六输出向量,形成本隐层的输出向量。
15.一种利用语言模型预测词出现概率的装置,包括:
第一获取词向量模块,用于通过语言模型的输入层获取待预测数据中的各词的词向量;
第一获取输出向量模块,用于通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量;
第一预测模块,用于通过所述语言模型的输出层对与该输出层相邻的隐层的输出向量进行预测,得到所述待预测数据中的各词在相应历史词后的出现概率。
16.一种语言模型训练装置,包括:
第二获取词向量模块,用于通过待训练的语言模型的输入层获取数据样本中的各词的词向量;
第二获取输出向量模块,用于通过所述语言模型中的每一隐层对本隐层的与所述词向量对应的输入向量进行扩张卷积以及非线性变换,得到本隐层的输出向量;
第二预测模块,用于通过所述语言模型的输出层对与该输出层相邻的隐层的输出向量进行预测,得到所述数据样本中的各词在相应历史词后的出现概率;
参数调整模块,用于根据所述出现概率,确定所述语言模型的损失,并根据所述损失对所述语言模型的网络参数进行调整。
17.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-14任一项所述的方法。
18.一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于执行上述权利要求1-14任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910262777.8A CN111783431A (zh) | 2019-04-02 | 2019-04-02 | 利用语言模型预测词出现概率及语言模型训练方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910262777.8A CN111783431A (zh) | 2019-04-02 | 2019-04-02 | 利用语言模型预测词出现概率及语言模型训练方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111783431A true CN111783431A (zh) | 2020-10-16 |
Family
ID=72754763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910262777.8A Pending CN111783431A (zh) | 2019-04-02 | 2019-04-02 | 利用语言模型预测词出现概率及语言模型训练方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111783431A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417086A (zh) * | 2020-11-30 | 2021-02-26 | 深圳市欢太科技有限公司 | 数据处理方法、装置、服务器及存储介质 |
CN112989107A (zh) * | 2021-05-18 | 2021-06-18 | 北京世纪好未来教育科技有限公司 | 音频分类和分离方法、装置、电子设备以及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046073A1 (en) * | 2001-08-24 | 2003-03-06 | International Business Machines Corporation | Word predicting method, voice recognition method, and voice recognition apparatus and program using the same methods |
CN101120397A (zh) * | 2005-01-17 | 2008-02-06 | 日本电气株式会社 | 语音识别系统、语音识别方法以及语音识别程序 |
CN106910497A (zh) * | 2015-12-22 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 一种中文词语发音预测方法及装置 |
US20170270100A1 (en) * | 2016-03-18 | 2017-09-21 | International Business Machines Corporation | External Word Embedding Neural Network Language Models |
CN107358948A (zh) * | 2017-06-27 | 2017-11-17 | 上海交通大学 | 基于注意力模型的语言输入关联性检测方法 |
US20180075343A1 (en) * | 2016-09-06 | 2018-03-15 | Google Inc. | Processing sequences using convolutional neural networks |
CN108492820A (zh) * | 2018-03-20 | 2018-09-04 | 华南理工大学 | 基于循环神经网络语言模型和深度神经网络声学模型的中文语音识别方法 |
CN108830287A (zh) * | 2018-04-18 | 2018-11-16 | 哈尔滨理工大学 | 基于残差连接的Inception网络结合多层GRU的中文图像语义描述方法 |
CN109117480A (zh) * | 2018-08-17 | 2019-01-01 | 腾讯科技(深圳)有限公司 | 词预测方法、装置、计算机设备及存储介质 |
-
2019
- 2019-04-02 CN CN201910262777.8A patent/CN111783431A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030046073A1 (en) * | 2001-08-24 | 2003-03-06 | International Business Machines Corporation | Word predicting method, voice recognition method, and voice recognition apparatus and program using the same methods |
CN101120397A (zh) * | 2005-01-17 | 2008-02-06 | 日本电气株式会社 | 语音识别系统、语音识别方法以及语音识别程序 |
CN106910497A (zh) * | 2015-12-22 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 一种中文词语发音预测方法及装置 |
US20170270100A1 (en) * | 2016-03-18 | 2017-09-21 | International Business Machines Corporation | External Word Embedding Neural Network Language Models |
US20180075343A1 (en) * | 2016-09-06 | 2018-03-15 | Google Inc. | Processing sequences using convolutional neural networks |
CN107358948A (zh) * | 2017-06-27 | 2017-11-17 | 上海交通大学 | 基于注意力模型的语言输入关联性检测方法 |
CN108492820A (zh) * | 2018-03-20 | 2018-09-04 | 华南理工大学 | 基于循环神经网络语言模型和深度神经网络声学模型的中文语音识别方法 |
CN108830287A (zh) * | 2018-04-18 | 2018-11-16 | 哈尔滨理工大学 | 基于残差连接的Inception网络结合多层GRU的中文图像语义描述方法 |
CN109117480A (zh) * | 2018-08-17 | 2019-01-01 | 腾讯科技(深圳)有限公司 | 词预测方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
李华;屈丹;张文林;王炳锡;梁玉龙;: "结合全局词向量特征的循环神经网络语言模型", 信号处理, no. 06 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112417086A (zh) * | 2020-11-30 | 2021-02-26 | 深圳市欢太科技有限公司 | 数据处理方法、装置、服务器及存储介质 |
CN112417086B (zh) * | 2020-11-30 | 2024-02-27 | 深圳市与飞科技有限公司 | 数据处理方法、装置、服务器及存储介质 |
CN112989107A (zh) * | 2021-05-18 | 2021-06-18 | 北京世纪好未来教育科技有限公司 | 音频分类和分离方法、装置、电子设备以及存储介质 |
CN112989107B (zh) * | 2021-05-18 | 2021-07-30 | 北京世纪好未来教育科技有限公司 | 音频分类和分离方法、装置、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
GB2547068B (en) | Semantic natural language vector space | |
CN109923556B (zh) | 指针哨兵混合架构 | |
US11669744B2 (en) | Regularized neural network architecture search | |
CN110032633B (zh) | 多轮对话处理方法、装置和设备 | |
AU2016256764B2 (en) | Semantic natural language vector space for image captioning | |
CN108959396B (zh) | 机器阅读模型训练方法及装置、问答方法及装置 | |
US9807473B2 (en) | Jointly modeling embedding and translation to bridge video and language | |
US9811765B2 (en) | Image captioning with weak supervision | |
CN109863488B (zh) | 神经网络数据输入系统的设备/服务器部署 | |
EP3295381B1 (en) | Augmenting neural networks with sparsely-accessed external memory | |
CA3144657A1 (en) | Attention-based sequence transduction neural networks | |
WO2018126213A1 (en) | Multi-task learning using knowledge distillation | |
KR20180001889A (ko) | 언어 처리 방법 및 장치 | |
WO2019084551A1 (en) | NEURAL NETWORKS OF SEQUENCE TRANSDUCTION ONLY OF DECODER BASED ON ATTENTION | |
KR20180017622A (ko) | 병렬 처리에 기초한 번역 방법 및 장치 | |
WO2020160252A1 (en) | Task-aware neural network architecture search | |
CN112154465A (zh) | 一种意图识别模型的学习方法、装置及设备 | |
US11011161B2 (en) | RNNLM-based generation of templates for class-based text generation | |
CN113240115B (zh) | 一种生成人脸变化图像模型的训练方法及相关装置 | |
KR20210083986A (ko) | 반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법 | |
CN109062963B (zh) | 自媒体推荐方法、装置及电子设备 | |
CN111783431A (zh) | 利用语言模型预测词出现概率及语言模型训练方法和装置 | |
CN113449840A (zh) | 神经网络训练方法及装置、图像分类的方法及装置 | |
US11055330B2 (en) | Utilizing external knowledge and memory networks in a question-answering system | |
CN112765330A (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 |