一种基于字的神经网络的训练方法和装置的制造方法

文档序号:9524584阅读:559来源:国知局
一种基于字的神经网络的训练方法和装置的制造方法
【技术领域】
[0001] 本申请涉及自然语言处理领域,特别是涉及一种基于字的神经网络的训练方法和 装置。
【背景技术】
[0002] 在自然语言处理和语音识别等领域,语言模型用于描述语言内部的词语搭配关 系。一个高质量的语言模型对连续语音识别和机器翻译等都具有重要意义。
[0003]当前主流的语言模型是基于概率的统计语言模型(n-gram),该统计语言模型显著 缺陷是:对于新词或者低频词难W得到有效的概率统计。基于此人们发明了各种平滑算法, 如discount,back-off,inte巧olation等。上述方法在一定程度上改善了n-gram在低频 词上的性能,但是由于统计语言模型本身的缺陷,始终无法从根本上解决。
[0004] 为了解决统计语言模型中存在的问题,提出了基于词的神经网络语言模型统计低 频词的概率。目前基于词的神经网络语言模型存在W下缺陷:
[0005] 1、现有的汉字可W组成数W万计的词表,基于词的神经网络模型需要对组成的数 W万计的词表进行训练,导致神经网络语言模型训练时间长,训练效率低。当词表增大到超 过10万W上时,训练时间变得难W接受。
[0006] 2、中文是动态语言,新词不断涌现。目前基于词的神经网络语言模型无法处理送 些新词,同时不断增加的新词使得神经网络语言模型的训练越来越复杂,即使要重新训练 神经网络语言模型也极为困难。
[0007] 因此,基于词的神经网络语言模型中存在训练时间长,进而导致训练效率低的问 题。

【发明内容】

[0008] 本申请提供一种基于字的神经网络的训练方法和装置,W解决基于词的神经网络 语言模型中训练效率低的问题。
[0009] 为了解决上述问题,本申请公开了一种基于字的神经网络的训练方法,包括:将每 个训练语句按字获取每个字的字向量;
[0010] 将所述字向量作为第一神经网络的参数输入到所述第一神经网络中进行预训练, 获得预训练结果,其中,所述结果包括字向量的上文特征向量和字向量下文的特征向量;
[0011] 将所述字向量的上文特征向量和字向量下文的特征向量作为第二神经网络的参 数输入到所述第二神经网络中,训练所述第二神经网络。
[0012] 优选地,所述第一神经网络包括输入层、隐藏层和输出层。
[0013] 优选地,所述将所述字向量作为第一神经网络的参数输入到所述第一神经网络中 进行预训练,获得预训练结果的步骤包括:
[0014] 为训练语句中每个字随机分配字向量;
[0015] 输入层接收训练语句中每个字随机分配字向量,所述输入层将接收的每个字的字 向量投影到映射层,得到投影后的每个字向量;
[0016] 计算投影后的每个字向量在字的历史子串中出现的概率,将所述概率作为输出层 的预训练结果,所述结果包括字向量的上文特征向量和字向量下文的特征向量。
[0017] 优选地,通过W下公式计算投影后的每个字向量在字的历史子串中出现的概率:
[0018]
[0019] 其中,T为训练语句的长度,C为上下文窗长,p(ewIet)为字向量在字的历史子串 中出现的概率,P(ewk)通过W下公式获得:
[0020]
[0021] 其中,Ce为训练语句的字向量。
[0022] 优选地,所述第二神经网络包括输入层、映射层、隐藏层和输出层;
[0023] 所述第二神经网络的输入层接收第一神经网络的输出层输出的字向量的上文特 征向量和字向量下文的特征向量;
[0024] 所述第二神经网络的所述输入层将接收的字向量的上文特征向量和字向量下文 的特征向量进行线性变换投影,将投影后的字向量的上文特征向量和字向量下文的特征向 量首尾相接,将拼接后的结果作为所述第二神经网络的映射层的输入;
[0025] 将映射层的输入进行线性变换和第一非线性激活函数处理后得到所述第二神经 网络的隐藏层的输入;
[0026] 将所述第二神经网络的隐藏层的输入进行线性变换和第二非线性激活函数处理 后得到所述第二神经网络的输出层的输出结果,所述输出结果包括字向量在字的历史子串 中的概率。
[0027] 为了解决上述问题,本申请还公开了一种基于字的神经网络的训练装置,包括:获 取模块,用于将每个训练语句按字获取每个字的字向量;
[0028] 预训练模块,用于将所述字向量作为第一神经网络的参数输入到所述第一神经网 络中进行预训练,获得预训练结果,其中,所述结果包括字向量的上文特征向量和字向量下 文的特征向量;
[0029] 训练模块,用于将所述字向量的上文特征向量和字向量下文的特征向量作为第二 神经网络的参数输入到所述第二神经网络中,训练所述第二神经网络。
[0030] 优选地,所述第一神经网络包括输入层、隐藏层和输出层。
[0031] 优选地,所述预训练模块包括:
[0032] 分配模块,用于为训练语句中每个字随机分配字向量;
[0033] 投影模块,用于输入层接收训练语句中每个字随机分配字向量,所述输入层将接 收的每个字的字向量投影到映射层,得到投影后的每个字向量;
[0034] 计算模块,用于计算投影后的每个字向量在字的历史子串中出现的概率,将所述 概率作为输出层的预训练结果,所述结果包括字向量的上文特征向量和字向量下文的特征 向量。
[0035] 优选地,所述计算模块通过W下公式计算投影后的每个字向量在字的历史子串中 出现的概率:
[0036]
[0037] 其中,T为训练语句的长度,C为上下文窗长,p(ewk)为字向量在字的历史子串 中出现的概率,P(ewk)通过W下公式获得:
[0038]
[0039] 其中,Ce为训练语句的字向量。
[0040] 优选地,所述第二神经网络包括输入层、映射层、隐藏层和输出层;
[0041] 所述第二神经网络的输入层接收第一神经网络的输出层输出的字向量的上文特 征向量和字向量下文的特征向量;
[0042] 所述第二神经网络的所述输入层将接收的字向量的上文特征向量和字向量下文 的特征向量进行线性变换投影,将投影后的字向量的上文特征向量和字向量下文的特征向 量首尾相接,将拼接后的结果作为所述第二神经网络的映射层的输入;
[0043] 将映射层的输入进行线性变换和第一非线性激活函数处理后得到所述第二神经 网络的隐藏层的输入;
[0044] 将所述第二神经网络的隐藏层的输入进行线性变换和第二非线性激活函数处理 后得到所述第二神经网络的输出层的输出结果,所述输出结果包括字向量在字的历史子串 中的概率。
[0045] 与现有技术相比,本申请包括W下优点:
[0046] 首先,本申请将每个训练语句按字获取每个字的字向量,将获取的字向量通过第 一神经网络进行预训练,获得预训练结果,其中,预训练结果包括字向量的上文特征向量和 字向量下文的特征向量。将所述字向量的上文特征向量和字向量下文的特征向量作为第二 神经网络的参数输入,训练第二神经网络。由于汉语中汉字的数量是固定的,常用的汉字数 量大约在6千左右,远远小于词语的数量,因此可W降低神经网络的复杂度,提高了语言模 型的训练效率。同时,对于不断涌现的新词,可W通过将新词按字拆分成字串,因此无需对 出现的新词进行重新训练语言模型,从而提高了语言模型的训练效率。
[0047] 其次,本申请将获取的每个字向量通过第一神经网络进行预训练,获得了每个字 向量在上下文中的特征向量,然后将获得的特征向量在通过第二神经网络进行训练,由于 获取的字向量通过第一神经网络和第二神经网络的双重处理,有效降低了汉字多义出现的 概率,从而解决了汉字本身具有多义性的问题。
【附图说明】
[004引图1是本申请实施例一中的一种基于字的神经网络的训练方法的流程图;
[0049] 图2是本申请实施例二中的一种基于字的神经网络的训练方法的流程图;
[0050] 图3是本申请中的第一神经网络的示意图;
[0051] 图4是本申请中的第二神经网络的示意图;
[0052] 图5是本申请中的第一神经网络和第二神经网络结合的示意图;
[0053] 图6是本申请实施例Η中的一种基于字的神经网络的训练装置的结构框图。
【具体实施方式】
[0054] 为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本申请作进一步详细的说明。
[0055] 参照图1,示出了本申请实施例一中的一种基于字的神经网络的训练方法,包括:
[0056] 步骤101;将每个训练语句按字获取每个字的字向量。
[0057] 例如;训练语句为"电脑手机",将该训练语句按字识别后的训练语句为:电/脑/ 手/机/,然后获取每个字的字向量。
[0058] 步骤102;将所述字向量作为第一神经网络的参数输入到所述第一神经网络中进 行预训练,获得预训练结果,其中,所述结果包括字向量的上文特征向量和字向量下文的特 征向量。
[0059] 对字向量进行预处理是为了获得更具有区分性和表达性的
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1