消歧方法、消歧模型的训练方法及装置与流程

文档序号:29853420发布日期:2022-04-30 08:37阅读:181来源:国知局
消歧方法、消歧模型的训练方法及装置与流程

1.本技术涉及深度学习技术领域,更具体地,涉及一种消歧方法、消歧模型的训练方法及装置。


背景技术:

2.从文本到语音(text to speech,tts)技术广泛应用于语音助手、智能音箱、地图导航、智能客服等等领域。基于tts技术的tts模型的使用过程如下:将文本的音素序列输入tts模型,由tts模型输出该文本对应的语音。
3.汉语中存在众多多音字,给文本转音素带来困难,在文本转音素出现错误的情况下,tts模型输出的语音也发生错误。


技术实现要素:

4.本技术提供一种消歧方法、消歧模型的训练方法及装置。
5.第一方面,本技术实施例提供一种多音字预测方法,该方法包括:获取目标文本,目标文本包括至少一个目标对象;目标对象具有多个读音;获取目标文本的编码;对目标文本的编码进行处理,得到多个分类项分别对应的第一概率,分类项对应的第一概率表征预测出的目标对象的读音为分类项的概率;基于掩码张量对多个分类项分别对应的第一概率进行掩码处理,得到多个分类项分别对应的第二概率;多个分类项分别对应的第二概率用于确定多音字的预测结果;多个分类项中目标对象正确读音对应的第二概率大于目标对象正确读音对应的第一概率,多个分类项中目标对象错误读音对应的第二概率小于目标对象错误读音对应的第一概率。
6.第二方面,本技术实施例提供一种消歧模型的训练方法,方法包括:获取多个训练文本,多个训练文本中的每个训练文本包括训练对象,训练对象标注有正确读音;针对每一训练文本,通过初始模型对训练文本进行处理,输出训练文本中训练对象的预测读音;从初始模型中的掩码模块获取掩码估计值,基于掩码估计值和掩码真值获取第一损失;通过预测读音与训练文本中训练对象的正确读音获取第二损失;通过第一损失和第二损失对初始模型的参数进行迭代,得到消歧模型。
7.第三方面,本技术还提供一种多音字预测装置,该装置包括:文本获取模块,用于获取目标文本,目标文本包括至少一个目标对象,目标对象具有多个读音;编码获取模块,用于获取目标文本的编码;预测模块,用于对目标文本的编码进行处理,得到多个分类项分别对应的第一概率,分类项对应的第一概率表征预测出的目标对象的读音为分类项的概率;掩码模块,用于基于掩码张量对多个分类项分别对应的第一概率进行掩码处理,得到多个分类项分别对应的第二概率;多个分类项分别对应的第二概率用于确定多音字的预测结果;多个分类项中目标对象正确读音对应的第二概率大于目标对象正确读音对应的第一概率,多个分类项中目标对象错误读音对应的第二概率小于目标对象错误读音对应的第一概率。
8.第四方面,本技术实施例提供一种消歧模型的训练装置,装置包括:文本获取模块,用于获取多个训练文本,多个训练文本中的每个训练文本包括训练对象,训练对象标注有正确读音;预测模块,用于针对每一训练文本,通过初始模型对训练文本进行处理,输出训练文本中训练对象的预测读音;第一损失计算模块,用于从初始模型中的掩码模块获取掩码估计值,基于掩码估计值和掩码真值获取第一损失;第二损失计算模块,用于通过预测读音与训练文本中训练对象的正确读音获取第二损失;迭代模块,用于通过第一损失和第二损失对初始模型的参数进行迭代,得到消歧模型。
9.第五方面,本技术还提供一种电子设备,该电子设备包括处理器以及存储器,存储器存储有计算机程序指令,计算机程序指令被处理器调用时执行上述的消歧方法,或者,消歧模型的训练方法。
10.第六方面,本技术还提供一种计算机可读存储介质,计算机可读存储介质存储有程序代码,其中,在所述程序代码被处理器运行时执行上述的消歧方法,或者,消歧模型的训练方法。
11.第七方面,本技术还提供一种计算机程序产品,该计算机产品被执行时实现上述的消歧方法,或者,消歧模型的训练方法。
12.本技术提供一种消歧方法、消歧模型的训练方法及装置,通过在对目标文本进行目标对象的读音预测得到各个分类项对应的第一概率后,对上述各个分类项对应的第一概率进行掩码操作,以实现将多个分类项中目标对象正确读音对应的第一概率得以放大,将多个分类项中目标对象错误读音对应的第一概率得以缩小,由于消歧模型的分类项包括针对目标对象的明显错误读音,通过上述掩码操作,能排除多个分类项中针对目标对象的明显错误读音,缩小目标对象的预测范围,进而提高预测准确率。
附图说明
13.为了更清楚地说明本技术中的技术方案,下面将对示例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些示例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
14.图1是本技术一个实施例提供的消歧方法的流程图。
15.图2是本技术一个实施例提供的一种消歧模型的结构示意图。
16.图3是本技术另一个实施例提供的消歧方法的流程图。
17.图4是本技术一个实施例提供的消歧模型的工作流程图。
18.图5是本技术另一个实施例提供的消歧方法的流程图。
19.图6是本技术一个实施例提供的训练消歧模型的流程图。
20.图7是本技术一个实施例提供的多音字列表。
21.图8是本技术一个实施例提供的多音字编码表。
22.图9是本技术一个实施例提供的训练文本。
23.图10是本技术一个实施例提供的另一种多音字预测模型的结构示意图。
24.图11是本技术一个实施例提供的消歧装置框图。
25.图12是本技术一个实施例提供的消歧模型的训练装置框图。
26.图13是本技术一个实施例提供的电子设备的结构框图。
27.图14是本技术一个实施例提供的计算机可读存储介质的框图。
具体实施方式
28.下面详细描述本技术的实施方式,实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性地,仅用于解释本技术,而不能理解为对本技术的限制。
29.为了使本技术领域的人员更好地理解本技术的方案,下面将结合本技术中的附图,对本技术示例中的技术方案进行清楚、完整的描述。显然,所描述的示例仅仅是本技术一部分示例,而不是全部的示例。基于本技术中的示例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他示例,都属于本技术保护的范围。
30.当前基于深度神经网络的tts技术日趋成熟,基于tts技术的tts模型指的是将文本转换为语音的模型。tts模型的输入,往往是音素序列,而不是直接文本,错误的音素输入,会直接合成错误的语音。示例性地,针对文本“朝阳人民群众”,其中,“朝”为多音字,包括“chao”和“zhao”两种读音,其正确的音素序列为“chao yang ren min qun zhong”,在识别错误的情况下得到的音素序列为“zhao yang ren min qun zhong”。
31.在现有技术中,可以通过包括向量模块、bi-lstm模块、全连接模块以及分类模块的预测模型进行预测,文本被输入预测模型后,先通过向量模块将其转换为向量形式,bi-lstm模块对向量形式的文本进行处理,以筛选多音字的上下文特征,全连接模块对多音字的上下文特征进行进一步综合处理,最终由分类模块对全连接模块的输出结果进行分类,分类结果中概率最高的读音也即是预测出的多音字读音。但是,如果上述预测模型的分类项中包括针对多音字的明显错误读音,就会导致预测准确率较低。
32.本技术提出一种新的消歧方法,通过在对目标文本进行目标对象的读音预测得到各个分类项对应的第一概率后,对上述各个分类项对应的第一概率进行掩码操作,以实现将多个分类项中目标对象正确读音对应的第一概率得以放大,将多个分类项中目标对象错误读音对应的第一概率得以缩小,由于消歧模型的分类项包括针对目标对象的明显错误读音,通过上述掩码操作,能排除多个分类项中针对目标对象的明显错误读音,缩小目标对象的预测范围,进而提高预测准确率。
33.本技术实施例提供的消歧方法可以应用在任意需要文本转语音的场景中,则该方法能够应用于这些场景的产品中,例如,智能语音助手、语音导航、智能客服、智能音箱等。
34.请参阅图1,其示出了本技术一个实施例提供的消歧方法的流程图。该方法包括如下步骤。
35.步骤101,获取目标文本。
36.目标文本是指存在音频转换需求的文本,也即目标文本需要由文本形式转换为音频形式,此时需要确定目标文本中每个字对应的音素。目标文本包括至少一个目标对象,目标对象具有多个读音。
37.在一些实施例中,目标对象为多音字。多音字是指一个字有两个或两个以上的读音,不同的读音表义不同。比如,对于“朝”,其读音包括“chao2”和“zhao1”,其读音为“chao2”时,含义为面对着,其读音为“zhao1”时,含义为早上。在目标文本中存在多音字的情况下,电子设备需要结合目标文本的上下文信息来唯一确定该多音字的读音。在另一些
实施例中,目标对象为英文单词,英文单词在不同的时态或含义具有不同的读音。比如,对于英文单词“read”,其读音为“ri:d”时,其含义为阅读,其读音为“red”,其含义为博学的,熟知的。在本技术实施例中,仅以目标对象为多音字为例进行说明。
38.在一些实施例中,在使用语音助手的场景下,用户对语音助手进行提问,语音助手在获取到该提问的答案后,需要将其转换为语音形式并播放,若上述提案的答案包括多音字,则上述提问的答案也即是目标文本。
39.在另一些实施例中,指定客户端的用户界面包括大段文字,用户选中部分文字后长按当前界面,此时指定客户端显示菜单栏,菜单栏包括文本转语音按钮,响应于针对文本转语音按钮的触发信号,若被选中的部分文字包括多音字,则被选中的部分文字也即是目标文本。
40.在又一些实施例中,在使用语音导航的情况下,语音导航获取到路况信息后,需要将路况信息转换为语音信息并进行播报,若路况信息包括多音字,则上述路况信息也即是目标文本。
41.可选地,电子设备在获取目标文本之后,先检测目标文本中的目标对象是否存在于消歧模型的训练语料库,若存在,则执行后续步骤,若不存在,则不执行后续步骤。通过上述方式,避免在目标文本中不存在目标对象的情况下通过消歧模型来进行读音预测。
42.步骤102,获取目标文本的编码。
43.电子设备将目标文本划分成n个字符,之后根据字符与编码之间的预设对应关系分别获取每个字符的编码值,n个字符分别对应的编码值组合得到目标文本的编码。上述预设对应关系可以由电子设备实时从编码服务器获取的,也可以是由电子设备预先从编码服务器获取并存储在本地的。
44.上述预设对应关系可以由编码服务器基于以下两种实施方式获取。在一些实施例中,编码服务器基于全部训练语料统计出现过的字符,然后对出现过的字符进行顺序编码,即得到每个字符对应的编码值。示例性地,全部训练语料包括10个不重复的字符,“好”为第5个字符,则“好”的编码值为5。在其他可能的实现方式中,编码服务器还可以采用预设编码规则对字符进行编码,以获取每个字符对应的编码值。上述预设规则包括且不限于:utf-8(8-bit unicode transformation format)规则、汉字内码扩展规范(chinese internal code specification,gbk)等等。
45.需要说明的是,若目标文本的编码所包括的编码值数量小于多音字预测模型要求的向量维度,则可以在目标文本的编码结尾处用若干个特殊的padding(填充)符号进行补全,以使得目标文本的编码所包括的编码值数量等于多音字预测模型要求的向量维度。示例性地,多音字预测模型要求的向量维度为10,而目标文本的编码为1532,在目标文本的编码结尾处用若干个特殊的填充符号进行补全,填充后的目标文本的编码为1532000000。
46.步骤103,对目标文本的编码进行处理,得到多个分类项分别对应的第一概率。
47.分类项对应的第一概率表征预测出的目标对象的读音为分类项的概率。电子设备对目标文本的编码进行特征提取,之后基于提取出的特征来预测目标对象的读音属于各个分类项的概率,也即第一概率。
48.步骤104,基于掩码张量对多个分类项分别对应的第一概率进行掩码处理,得到多个分类项分别对应的第二概率。
49.掩码张量包括多个分类项分别对应的掩码估计值,掩码估计值也即分类项对应的加权系数。掩码处理也即将分类项对应的第一概率与掩码估计值相乘。
50.经过掩码处理后,多个读音中目标对象正确读音对应的第二概率大于目标对象正确读音对应的第一概率。在第一种实施例中,目标对象正确读音包括目标对象的全部读音。比如,对于多音字“朝”,其目标对象正确读音为“zhao1”和“chao2”。在第二种实施例中,目标对象正确读音包括第一概率最大的分类项。为了实现放大目标对象正确读音的概率,设置多音字正确读音对应的掩码估计值大于1。
51.经过掩码处理后,多个读音中目标对象错误读音对应的第二概率小于目标对象错误读音对应的第一概率。目标对象错误读音是多个分类项中除目标对象正确读音之外的读音。结合上文实施例,目标对象错误读音包括多个分类项中除目标对象的全部读音之外的读音,或者,目标对象错误读音包括多个分类项中除第一概率最大的分类项之外的读音。以及减小目标对象错误读音的概率,设置目标对象错误读音对应的掩码估计值大于或等于0,且小于1。
52.需要说明的是,目标对象错误读音对应的掩码估计值可以相同,也可以不相同。而目标对象正确读音在存在多个时,其对应的掩码估计值应该相同,以避免干扰分类子模块输出的分类结果。
53.示例性地,分类项包括“chao2”、“zhao1”、“jun1”、“yun3”、“wang1”,消歧模型对目标文本“朝霞”的编码进行预测,输出多音字“朝”属于各个分类项的第一概率分别为0.3,0.5,0.1,0.1,0.1,多音字正确读音为“zhao1”,上述分类项对应的掩码估计值分别为0.5,1.5,0.5,0.5,0.5,经过掩码操作后,多音字“朝”属于各个分类项的第二概率分别为0.15,0.75,0.05,0.05,0.05。也即,“zhao1”是消歧模型预测出的多音字的读音。
54.由于消歧模型的分类项包括针对目标对象的明显错误读音,通过上述掩码操作,能排除多个分类项中针对目标对象的明显错误读音,缩小目标对象的预测范围,进而提高预测准确率。
55.本技术实施例提供的消歧方法,通过在对目标文本进行目标对象的读音预测得到各个分类项对应的第一概率后,对上述各个分类项对应的第一概率进行掩码操作,以实现将多个分类项中目标对象正确读音对应的第一概率得以放大,将多个分类项中目标对象错误读音对应的第一概率得以缩小,由于消歧模型的分类项包括针对目标对象的明显错误读音,通过上述掩码操作,能排除多个分类项中针对目标对象的明显错误读音,缩小目标对象的预测范围,进而提高预测准确率。
56.在一些实施方式中,上述处理过程可以由本技术实施例提供的消歧模型实现,下面对本技术实施例提供的消歧模型进行阐述。
57.消歧模型是采用训练文本对机器学习网络进行训练得到的,用于预测训练对象的正确读音的模型。训练文本包括至少一个训练对象,该训练对象被标注有正确读音。机器学习网络可以是循环卷积网络(recurrent neural network,rnn),比如长短时记忆神经网络(long short term networks,lstm)、双向长短时记忆网络(bi-long short term networks,bi-lstm)等等。对机器学习网络进行训练所采用的算法可以是基于时间的反向传播算法(back-propagation through time,bptt)。消歧模型的训练过程将在下文实施例进行阐述。
58.在本技术实施例中,消歧模型模型包括掩码模块。掩码模块被配置为基于掩码张量对分类子模块输出的分类张量进行掩码操作。掩码张量也为多维向量,该多维向量的维度与分类张量的维度相同,每个维度用于指示一个分类项对应的掩码估计值。掩码操作也即是将每个分类项对应的概率以及掩码估计值对应相乘。在本技术实施例中,各个分类项中目标对象正确读音对应的概率的加权系数大于1,各个分类项中目标对象错误读音(除目标对象正确读音之外的读音)对应的概率的加权系数大于或等于0,且小于1。
59.需要说明的是,相关技术中通常采用掩码真值来进行掩码操作,目标对象正确读音对应的掩码真值均为1,目标对象错误读音对应的掩码真值均为0,采用掩码真值对分类项的第一概率进行掩码操作,对预测目标对象的正确读音的帮助并不大。因此在本技术实施例中,通过掩码估计值来进行掩码操作,通过上述方式,可以放大目标对象正确读音对应的概率并缩小目标对象错误读音的概率,避免消歧模型时将明显错误的读音作为预测出的读音的情况发生,也即能排除多个分类项中针对目标对象的明显错误读音,缩小目标对象的预测范围,进而提高预测准确率。
60.在一些实施例中,掩码模块包括第一全连接(fully connected layers,fc)子模块和非线性(rectified linear unit,relu)子模块。
61.第一全连接子模块被配置为对目标对象向量进行处理,得到第一中间向量。目标对象向量是基于目标对象在目标文本中的位置从目标文本的向量中提取的。全连接层的处理过程可以实现学习目标对象向量的分布式特征并将分布式特征映射到样本标记空间,该过程忽略目标对象向量的空间结构特征,可以减小特征位置对分类带来的影响。第一全连接子模块的各项参数(包括层数,每层神经元的数量以及激活函数)可以是预先设定的,在层数越多,每层神经元的数量越多的情况下,虽然消歧模型模型的复杂度提升,但同时也可以提升消歧模型模型的学习能力。在一个示例中,第一全连接子模块中每层神经元的数量为256。
62.非线性子模块被配置为基于第一全连接子模块的输出结果获取掩码张量,并基于掩码张量对分类子模块输出的分类张量进行掩码操作。具体地,非线性子模块对第一全连接子模块的输出结果非线性映射,得到掩码张量。
63.在一些实施例中,消歧模型模型包括预测模块,预测模块包括自注意力(self-attention)子模块,自注意力子模块被配置为对向量化模块的输出结果进行处理,以学习目标文本的上下文特征,自注意力子模块对目标文本的长短变化的适应能力更强,对长文本的学习能力有进一步提升。另外,自注意力子模块无需对目标文本进行分词,因此不会引入用于分词的第三方工具,不会受到外部干扰。自注意力子模块基于自注意力机制来对目标文本的向量进行处理。自注意力机制是针对注意力机制的改进。注意力机制是指将内部经验和外部感觉对齐从而增加部分区域的观察精细度的机制,注意力机制可以快速提取稀疏数据的重要特征,被广泛用于自然语言处理任务。自注意力机制与注意力机制相比,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。
64.在一些实施例中,预测模块包括加权计算子模块,被配置为基于目标文本中目标对象的位置信息,对bi-lstm子模块的输出结果进行加权计算,以学习目标对象与目标文本中除目标对象之外的字符之间的关联特征。加权计算子模块的处理过程,可以强调目标文本内目标对象之外的其它字符对消歧模型结果的作用,体现了目标文本的整体影响,使得
消歧模型模型的泛化性更好。
65.在其它可能的实施例中,预测模块还包括向量化子模块、bi-lstm子模块、第二全连接子模块、分类子模块。
66.向量化子模块被配置为将目标文本的编码转换为目标文本的向量。bi-lstm子模块被配置为捕获目标文本的上下文信息,其包括前向lstm和后向lstm,前向lstm被配置为捕获目标文本中每个字符的上文特征,后向lstm被配置为捕获目标文本中每个字符的下文特征,上述每个字符的上文特征和下文特征经过bi-lstm子模块中的隐藏层进行连接(contat),然后输出。第二全连接子模块包括至少一个全连接层,用于将加权计算子模块的输出结果映射到样本标记空间。分类子模块被配置为针对第二全连接子模块的输出结果进行处理,得到分类张量,分类张量包括每个分类项对应的第一概率,分类项对应的第一概率表征目标对象的读音属于该分类项的概率,第一概率最大的分类项也即是消歧模型模型预测的目标对象的读音。
67.下面结合图2对消歧模型模型的各个组成部分、各个组成部分的连接关系进行讲解。
68.消歧模型模型20包括预测模块21和掩码模块22。预测模块21包括向量化子模块211、自注意力子模块212、bi-lstm子模块213、加权计算子模块214、第二全连接子模块215、分类子模块216。其中,掩码模块27包括第一全连接子模块271和非线性子模块272。
69.向量化子模块211的输出端连接自注意力子模块212的输入端,自注意力子模块212的输出端连接bi-lstm子模块213的输入端,bi-lstm子模块213的输出端连接加权计算子模块214的输入端,加权计算子模块214的输入端连接第二全连接子模块215的输入端,第二全连接子模块215输出端连接分类子模块216的输入端,分类子模块216的输入端连接非线性子模块272的输入端。此外,向量化子模块211的输出端还连接第一全连接子模块271的输入端,第一全连接子模块271的输出端连接非线性子模块272的输入端。
70.目标文本的编码被输入向量化子模块211后,由向量化子模块211对目标文本的编码进行处理,得到目标文本的向量,一方面基于目标文本的位置从目标文本的向量中提取目标对象对应的向量后,该目标对象对应的向量经由第一全连接子模块271处理后输出第一中间向量,非线性子模块272基于第一中间向量获取掩码张量并基于掩码张量对分类子模块216输入的分类张量(多个分类项对应的第一概率)进行掩码处理,输出多个分类项对应的第二概率。另一方面,自注意力子模块212对目标文本的向量进行处理,得到第二中间向量;bi-lstm子模块213对第二中间向量进行处理,得到第三中间向量;加权计算子模块214对第三中间向量进行加权计算,得到第四中间向量;第二全连接子模块215对第四中间向量进行处理,得到第五中间向量;分类子模块216对第五中间向量进行处理,得到分类张量。
71.请参阅图3,其示出了本技术实施例提供的另一种消歧方法的流程图。该方法包括:
72.步骤301,获取目标文本。
73.步骤302,获取目标文本的编码。
74.步骤303,通过消歧模型中的预测模块对目标文本的编码进行处理,得到多个分类项分别对应的第一概率。
75.在本技术实施例中,电子设备包括预先训练的消歧模型,通过该消歧模型来完成消歧。
76.消歧模型是采用训练文本对机器学习网络进行训练得到的,用于预测目标对象的正确读音的模型。训练文本包括至少一个训练对象,该目标对象被标注有正确读音。消歧模型的结构可以参考图2实施例。消歧模型的训练过程将在下文实施例进行阐述。
77.消歧模型包括预测模块,通过预测模块对目标文本的编码进行特征提取,之后基于提取出的特征来预测目标对象的读音属于各个分类项的概率,也即第一概率。
78.在一些实施例中,步骤303包括:对目标文本的编码进行向量化处理,得到目标文本的向量;基于自注意力机制对目标文本的向量进行处理,以学习目标文本的上下文特征,目标文本的向量。
79.向量化处理是指将目标文本的编码中的每个编码值转化成一个特定长度的向量,各个编码值对应的向量组成目标文本的向量。预测包括向量化子模块,通过该向量化子模块对目标文本的编码进行向量化处理,得到目标文本的向量。
80.在一些实施例中,预测模块还包括自注意力子模块,自注意力子模块的输入端连接向量化子模块的输出端。电子设备通过自注意力子模块对向量化子模块输出的目标文本的向量进行处理,得到第二中间向量,以学习目标文本的上下文特征。自注意力子模块对目标文本的长短变化的适应能力更强,对长文本的学习能力有进一步提升。另外,自注意力子模块无需对目标文本进行分词,因此不会引入用于分词的第三方工具,不会受到外部干扰。
81.在一些实施例中,步骤303还包括:基于目标文本中目标对象的位置信息进行加权计算,以学习目标对象与目标文本中除目标对象之外的字符之间的关联特征。在一些实施例中,预测模块还包括加权计算子模块,通过加权计算子模块对bi-lstm子模块的输出结果进行计算,以学习目标对象与目标文本中除目标对象之外的字符之间的关联特征。该过程可以强调目标文本内目标对象之外的其它字符对消歧结果的作用,体现了目标文本的整体影响,使得消歧模型的泛化性更好。
82.步骤304,通过消歧模型的掩码模块对多个分类项分别对应的第一概率进行掩码处理,得到多个分类项分别对应的第二概率。
83.在本技术实施例中,消歧模型还包括掩码模块。预测模块的输出端连接至掩码模块的输入端。电子设备通过消歧模型的掩码模块对多个分类项分别对应的第一概率进行掩码处理,得到多个分类项分别对应的第二概率。第二概率最大的分类项也即是消歧模型预测的目标对象的读音。
84.在一些实施例中,电子设备获取掩码张量,针对多个分类项中的每一分类项,将分类项对应的掩码估计值与分类项对应的第一概率相乘,得到分类项对应的第二概率。掩码张量包括多个分类项分别对应的掩码估计值。
85.在一些实施例中,电子设备通过如下方式获取掩码张量:获取目标文本的向量;从目标文本的向量中提取目标对象对应的目标对象向量;对目标对象对应的目标对象向量进行非线性映射,得到多个分类项分别对应的掩码估计值。
86.由于目标文本的向量是目标文本中每个字符的向量组成的序列,电子设备从目标文本的向量中提取目标对象在目标文本中的位置处的向量,即得到目标对象对应的向量。示例性地,针对目标文本“放学应该回家”,目标对象“应”在目标文本中的位置为2(从0开始
编码),则将目标文本的向量中位置2处的向量取出,即得到目标对象对应的向量。
87.可选地,掩码模块包括第一全连接子模块和非线性子模块,第一全连接子模块的输入端连接向量化子模块的输出端,第一全连接子模块的输出端连接非线性子模块的输入端。电子设备通过第一全连接子模块获取目标文本的向量,从目标文本的向量中提取目标对象对应的目标对象向量,对目标对象向量进行处理,得到第一中间向量,以实现学习目标对象向量的分布式特征并将分布式特征映射到样本标记空间,该过程忽略目标对象向量的空间结构特征,可以减小特征位置对分类带来的影响。电子设备通过非线性子模块对目标对象对应的目标对象向量进行非线性映射,得到多个分类项分别对应的掩码估计值。
88.综上所述,本技术实施例提供的方法,通过在消歧模型中增设掩码模块,该掩码模块用于对分类结果中各个分类项对应的第一概率进行掩码操作,以实现将多个分类项中目标对象正确读音对应的第一概率得以放大,将多个分类项中目标对象错误读音对应的第一概率得以缩小,由于目标对象掩码模型的分类项包括针对目标对象的明显错误读音,通过上述掩码操作,能排除多个分类项中针对目标对象的明显错误读音,缩小目标对象的预测范围,进而提高预测准确率。
89.请参阅图4,其示出本技术一个实施例提供的消歧模型的预测过程的示意图。该预测过程包括如下步骤。
90.步骤401,向量化子模块对目标文本的编码进行向量化处理,得到目标文本的向量。
91.向量化子模块将目标文本的编码中的每个编码值转化成一个特定长度的向量,各个编码值对应的向量组成目标文本的向量。例如,目标文本的编码包括200个编码值,向量化子模块每个编码值转换成一个64维的向量,则得到一个维度为(200,64)的目标文本的向量。再例如,目标文本的编码包括400个编码值,向量化子模块每个编码值转换成一个128维的向量,则得到一个维度为(400,128)的目标文本的向量。
92.步骤402,第一全连接子模块对从目标文本的向量中提取的目标对象向量进行处理,得到第一中间向量。
93.结合上文示例,目标对象对应的向量为一个64维的向量,设定第一全连接子模块每层神经元数量为256,通过第一全连接子模块对目标对象对应的向量进行卷积操作,得到第一中间向量。
94.步骤403,非线性子模块基于第一中间向量获取掩码张量。
95.非线性层子模块第一中间向量进行非线性映射,得到掩码张量,掩码张量包括每个分类项对应的掩码估计值。假设预先训练的消歧模型的分类项为750,则掩码张量为一个750维的向量。假设预先训练的消歧模型的分类项为1000,则掩码张量为一个1000维的向量。
96.步骤404,自注意力子模块对目标文本的向量进行处理,得到第二中间向量。
97.自注意力子模块被配置为对向量化模块输出的目标文本的向量进行处理,得到第二中间向量,以学习目标文本的上下文特征。
98.步骤405,bi-lstm子模块对第二中间向量进行处理,得到第三中间向量。
99.bi-lstm子模块包括前向lstm单元、后向lstm单元以及隐藏连接层。前向lstm单元对第二中间向量进行处理,以捕获目标文本中每个字符的上文特征,后向lstm单元对第二
中间向量进行处理,以捕获目标文本中每个字符的下文特征,隐藏连接层将前向lstm单元的输出结果和后向lstm单元的输出结果进行连接,得到第三中间向量。
100.结合上文示例,第二中间向量为维度为(200,64)的向量,bi-lstm子模块对第二中间向量进行处理后,得到维度为(200,128)的第三中间向量。结合上文示例,第二中间向量为维度为(400,128)的向量,bi-lstm子模块对第二中间向量进行处理后,得到维度为(400,256)的第三中间向量。
101.步骤406,加权计算子模块对第三中间向量进行处理,得到第四中间向量。
102.在一些实施例中,加权计算子模块被配置为基于目标文本中目标对象的位置信息,对bi-lstm模块输出的第三中间向量进行加权计算,得到第四中间向量,以学习目标对象与目标文本中除目标对象之外的字符之间的关联特征。加权计算子模块的处理过程,可以强调目标文本内目标对象之外的其它字符对目标对象预测结果的作用,体现了目标文本的整体影响,使得目标对象消歧模型的泛化性更好。
103.具体地,加权计算子模块先从第三中间向量中提取目标对象对应的向量,其提取过程可以参照上文实施例。第三中间向量为维度为(200,128)的向量,假设目标对象在目标文本中的位置为2,则在第三中间向量中提取位置2处的向量,得到一个128维的目标对象对应的向量。加权计算子模块对第三中间向量的处理过程可以参考自注意力机制的处理过程,但其q的取值为上述128维的目标对象对应的向量,以目标文本的向量中除目标对象对应的向量之外的张量为k和v,对其进行加权计算,得到第四中间向量。结合上文示例,第四中间向量也为128维的向量。
104.步骤407,第二全连接子模块对第四中间向量进行处理,得到第五中间向量。
105.第二全连接子模块将第四中间向量进行处理,以将第四中间向量的分布式特征映射到样本标记空间。结合上文示例,第五中间向量为350维的向量。
106.步骤408,分类子模块对第五中间向量进行处理,得到分类张量。
107.分类子模块对第五中间向量进行分类,得到分类张量,分类张量包括每个分类项对应的第一概率。由于消歧模型的分类项为750,因此分类张量为750维的向量。
108.步骤409,非线性子模块基于掩码张量对分类张量进行掩码处理,得到多个分类项分别对应的第二概率。
109.非线性子模块针对每个分类项,将该分类项对应的第一概率与掩码估计值相乘,得到每个分类项对应的第二概率。
110.综上所述,本技术实施例提供的消歧模型,通过增设掩码模块,该掩码模块用于对分类结果中各个分类项对应的第一概率进行掩码操作,以实现将多个分类项中目标对象正确读音对应的第一概率得以放大,将多个分类项中目标对象错误读音对应的第一概率得以缩小,由于目标对象掩码模型的分类项包括针对目标对象的明显错误读音,通过上述掩码操作,能排除多个分类项中针对目标对象的明显错误读音,缩小目标对象的预测范围,进而提高预测准确率。还通过增设自注意力模块,以更好学习目标文本的上下文特征。还通过增设加权计算模块,可以强调目标文本内目标对象之外的其它字符对目标对象预测结果的作用,体现了目标文本的整体影响,使得目标对象消歧模型的泛化性更好。
111.请参阅图5,其示出本技术一个实施例提供的消歧方法的流程图。该方法包括如下步骤。
112.步骤501,获取目标文本。
113.目标文本包括至少一个目标对象,目标对象具有多个读音。
114.步骤502,获取目标文本的编码。
115.步骤503,通过消歧模型的向量化子模块对目标文本的编码进行向量化处理,得到目标文本的向量。
116.步骤504,通过消歧模型的自注意力子模块基于自注意力机制对目标文本的向量进行处理,以学习目标文本的上下文特征,目标文本的向量。
117.步骤505,通过消歧模型的加权计算子模块基于目标文本中目标对象的位置信息进行加权计算,以学习目标对象与目标文本中除目标对象之外的字符之间的关联特征。
118.步骤506,通过消歧模型中的掩码模块获取掩码张量。
119.步骤507,通过消歧模型中的掩码模块,针对多个分类项中的每一分类项,将分类项对应的掩码估计值与分类项对应的第一概率相乘,得到分类项对应的第二概率。
120.综上所述,本技术实施例提供的消歧方法,通过在对目标文本进行目标对象的读音预测得到各个分类项对应的第一概率后,对上述各个分类项对应的第一概率进行掩码操作,以实现将多个分类项中目标对象正确读音对应的第一概率得以放大,将多个分类项中目标对象错误读音对应的第一概率得以缩小,由于消歧模型的分类项包括针对目标对象的明显错误读音,通过上述掩码操作,能排除多个分类项中针对目标对象的明显错误读音,缩小目标对象的预测范围,进而提高预测准确率。
121.下面结合图6对消歧模型的训练过程进行讲解。训练消歧模型的电子设备可以是执行训练对象预测方法的电子设备,也可以是其他电子设备。以下将训练消歧模型的电子设备称为“训练服务器”。该训练过程包括如下几个步骤。
122.步骤601,获取多个训练文本。
123.多个训练文本中的每个训练文本包括训练对象。训练文本的数量根据消歧模型的精度要求实际确定。消歧模型的精度要求越高,则训练文本的数量越多,消歧模型的精度要求月底,则训练文本的数量越少。另外,训练文本需要包含消歧模型期望预测出的训练对象。
124.训练文本中的训练对象标注有正确读音。在一些实施例中,训练服务器将训练对象的编码与正确读音的编码对应存储,以实现对训练对象的标注。可选地,训练服务器还存储有训练对象在训练文本中的位置。请参阅图7,其示出本技术一个实施例提供的训练文本的示意图。以其中一项训练文本为例,其内容为“放学应该回家”,该训练文本包括的训练对象为“应”,该训练对象在训练文本中的位置为第2(从0开始编码)位,该训练对象在训练文本中的读音的编码为649。
125.当训练对象为多音字时,由于古今汉语包括的多音字数量较多,部分多音字过于生僻,使用较少,出于减小消歧模型所占用的内存、缩减消歧模型的训练时长等原因,可以预先设定出消歧模型支持的多音字不包括上述过于生僻的多音字。示例性地,假设消歧模型能够预测600个常见多音字的读音,上述600个常见多音字的读音总计有740种读音。上述设定可以通过如下形式表示。
126.size(poly-char list)=600;
127.size(pinyin list)=740。
128.请参阅图8,其示出了本技术一个实施例提供的消歧模型能够预测的训练对象列表。该训练对象列表包括训练对象以及训练对象的读音,其中,训练对象的读音的声调采用1到4来表示,1表示平声,2表示上声,3表示去声,4表示入声。以“恶”为例,其包括三种读音,分别为“e3”、“wu4”、“e4”。
129.训练服务器还需要确定训练对象的编码,以及训练对象的读音的编码。可选地,训练服务器确定消歧模型所支持的训练对象的数量,将训练对象的出现顺序确定为该训练对象的编码,最终获得训练对象与编码之间的映射关系(以下称为第一编码表)。比如,训练对象的数量为600,“饿”的出现顺序为344,则其编码为344(从0开始编码)。同样地,训练服务器确定消歧模型所支持的训练对象的读音的数量,将训练对象的读音的出现顺序确定为该训练对象的读音的编码,最终获得训练对象的读音与编码之间的映射关系(以下称为第二编码表)。请参阅图9,其示出了本技术一个实施例提供的训练对象的读音的编码示意图。
130.训练服务器获取多个训练文本后,还需要对其进行预处理,该预处理过程包括将训练文本由文本形式转换为编码形式,其编码方式可以参见步骤302中的描述,此处不做赘述。
131.在一些实施例中,训练服务器还将编码形式的训练文本转换为向量形式的训练文本。具体地,训练文本将编码形式的训练文本中的每个编码转换为一个维度为预设值的向量。上述预设值根据实际需求设定,比如,预设值为64。
132.示例性地,编码形式的训练文本为维度为(200,1)的向量,训练服务器将编码形式的训练文本中的每个编码转换为64维的向量,最终得到维度为(200,64)的向量(以下称为第一中间向量)。需要说明的是,在其它可能的方式中,由待训练的初始模型将编码形式的训练文本转换为向量形式的训练文本。在一些实施例中,待训练的初始模型包括embedding模块,通过该embedding模块将其转换为将编码形式的训练文本转换为向量形式的训练文本。
133.步骤602,通过初始模型对训练文本进行处理,输出训练文本中的训练对象的预测读音。
134.初始模型对训练文本进行处理的方式可以参照上文实施例,此处不做赘述。
135.步骤603,从初始模型中的掩码模块获取掩码估计值,基于掩码估计值和掩码真值获取第一损失。
136.掩码估计值是由掩码模块输出的,用于对初始模型中的预测模块输出的分类张量进行掩码操作。掩码估计值为多维向量,该多维向量的维度与分类项的数量相同。掩码真值也是多维向量,该多维向量的维度也与分类项的数量相同。训练服务器通过如下方式来获取掩码真值,先获取维度与分类项的数量相同的全0向量,再基于分类结果中被标注的训练对象读音的位置确定全0向量中的赋值位置,将赋值位置处由0改为1。
137.示例性地,维度与分类项的数量相同的全0向量为0000000000,基于分类结果中被标注的训练对象读音的位置为3,则全0向量中的赋值位置也为3,此时获取掩码真值为0010000000。
138.在一些实施例中,训练服务器获取掩码估计值与掩码真值之间的相似度,作为第一损失。其中,掩码估计值与掩码真值之间的相似度可以通过欧式距离、曼哈顿距离、余弦距离等等来衡量。
139.步骤604,通过预测读音与训练文本中的训练对象对应的正确读音获取第二损失。
140.此处的预测读音是指掩码模块的输出结果,其为多维向量。因此在获取第二损失之前,需要将训练对象对应的正确读音也转化为多维向量,可选地,训练服务器通过one-hot算法来获取训练文本中的训练对象对应的正确读音的向量。在一些实施例中,训练服务器获取预测读音与训练文本中的训练对象对应的正确读音之间的相似度,作为第二损失。其中,预测读音与训练文本中的训练对象对应的正确读音之间的相似度可以通过欧式距离、曼哈顿距离、余弦距离等等来衡量。
141.步骤605,通过第一损失和第二损失对初始模型的参数进行迭代,得到消歧模型。
142.在一些实施例中,步骤404实现为:获取第一损失对应的第一加权系数,以及第二损失对应的第二加权系数,第一加权系数小于第二加权系数;将第一乘积和第二乘积之和确定为总损失;通过总损失对初始模型的参数进行迭代,在总损失满足第一预设条件的情况下,得到消歧模型。
143.第一加权系数和第二加权系数根据实验或经验设定。为强调预测读音与训练文本中的训练对象对应的正确读音之间的损失,设置第一加权系数小于第二加权系数。示例性地,第一加权系数为1,第二加权系数为3。
144.第一乘积是指第一损失与第一加权系数之间的乘积,第一乘积是指第二损失与第二加权系数之间的乘积。总损失loss可以通过如下公式来表示:loss=loss1+αloss2。第一加权系数为1,第二加权系数为α。
145.第一预设条件可以是总损失小于第一预设值,第一预设值根据消歧模型的精度要求实际确定。
146.请参阅图10,其示出了本技术消歧模型的训练过程示意图。与图2所示消歧模型不同的是,训练服务器还提供one-hot模块91,该one-hot模块91可以设置在消歧模型内,也可以独立在消歧模型外,本技术实施例仅以one-hot模块91设置在消歧模型内进行说明。one-hot模块91输出掩码真值的向量以及训练对象的正确读音的向量,训练服务器通过掩码真值的向量与掩码估计值的向量计算第一损失,通过预测读音的向量与训练对象的正确读音的向量计算第二损失,最后根据第一损失和第二损失计算总损失,基于总损失对消歧模型的参数进行迭代。
147.在另一些实施例中,步骤505实现为:通过第一损失对初始模型中掩码模块的参数进行迭代;通过第二损失对初始模型中除掩码模块之外的部分的参数进行迭代;在第一损失满足第二预设条件,或/及,第二损失满足第三预设条件的情况下,得到消歧模型。
148.第二预设条件可以是第一损失小于第二预设值。第三预设条件可以是第二损失小于第三预设值。第二预设值和第三预设值也可以根据消歧模型的精度要求实际确定。
149.如图11所示,本技术示例还提供一种消歧装置,该装置包括文本获取模块1101、编码获取模块1102、预测模块1103和掩码模块1104。
150.文本获取模块1101,用于获取目标文本,目标文本包括至少一个目标对象,目标对象具有多个读音。
151.编码获取模块1102,用于获取目标文本的编码。
152.预测模块1103,用于对目标文本的编码进行处理,得到多个分类项分别对应的第一概率,分类项对应的第一概率表征预测出的目标对象的读音为分类项的概率。
153.掩码模块1104,用于基于掩码张量对多个分类项分别对应的第一概率进行掩码处理,得到多个分类项分别对应的第二概率;多个分类项分别对应的第二概率用于确定目标对象的预测结果;多个分类项中目标对象正确读音对应的第二概率大于目标对象正确读音对应的第一概率,多个分类项中目标对象错误读音对应的第二概率小于目标对象错误读音对应的第一概率。
154.综上,本技术实施例提供的装置,通过在对目标文本进行目标对象预测得到各个分类项对应的第一概率后,对上述各个分类项对应的第一概率进行掩码操作,以实现将多个分类项中目标对象正确读音对应的第一概率得以放大,将多个分类项中目标对象错误读音对应的第一概率得以缩小,由于目标对象掩码模型的分类项包括针对目标对象的明显错误读音,通过上述掩码操作,能排除多个分类项中针对目标对象的明显错误读音,缩小目标对象的预测范围,进而提高预测准确率。
155.在一些实施例中,掩码模块1104,用于:获取掩码张量,掩码张量包括多个分类项分别对应的掩码估计值,其中,目标对象正确读音对应的掩码估计值大于1,且目标对象错误读音对应的掩码估计值大于或等于0,且小于1;针对多个分类项中的每一分类项,将分类项对应的掩码估计值与分类项对应的第一概率相乘,得到分类项对应的第二概率。
156.在一些实施例中,掩码模块1104,用于:获取目标文本的向量;从目标文本的向量中提取目标对象对应的目标对象对应的向量;对目标对象对应的目标对象对应的向量进行非线性映射,得到多个分类项分别对应的掩码估计值。
157.在一些实施例中,预测模块1103,用于对目标文本的编码进行向量化处理,得到目标文本的向量;基于自注意力机制对目标文本的向量进行处理,以学习目标文本的上下文特征,目标文本的向量。
158.在一些实施例中,预测模块1103,用于基于目标文本中目标对象的位置信息进行加权计算,以学习目标对象与目标文本中除目标对象之外的字符之间的关联特征。
159.在一些实施例中,通过目标对象预测模型对目标文本的编码进行处理以及基于掩码张量对多个分类项分别对应的第一概率进行掩码处理,目标对象预测模型包括预测模块和掩码模块,预测模块被配置为:对目标文本的编码进行处理,得到多个分类项分别对应的第一概率,掩码模块,被配置为基于掩码张量对多个分类项分别对应的第一概率进行掩码处理,得到多个分类项分别对应的第二概率。
160.在一些实施例中,预测模块包括自注意力子模块和加权计算子模块(图11未示出)。自注意力子模块,被配置为:基于自注意力机制对目标文本的向量进行处理,以学习目标文本的上下文特征,目标文本的向量。加权计算子模块,被配置为:基于目标文本中目标对象的位置信息进行加权计算,以学习目标对象与目标文本中除目标对象之外的字符之间的关联特征。
161.如图12所示,本技术示例还提供一种消歧模型的训练装置,该装置包括训练文本获取模块1201、预测模块1202、第一损失获取模块1203、第二损失获取模块1204、迭代模块1205。
162.文本获取模块1201,用于获取多个训练文本,多个训练文本中的每个训练文本包括训练对象,训练对象标注有正确读音。预测模块1202,用于针对每一训练文本,通过初始模型对训练文本进行处理,输出训练文本中训练对象的预测读音。第一损失获取模块1203,
用于从初始模型中的掩码模块获取掩码估计值,基于掩码估计值和掩码真值获取第一损失。第二损失获取模块1204,用于通过预测读音与训练文本中训练对象的正确读音获取第二损失;迭代模块1205,用于通过第一损失和第二损失对初始模型的参数进行迭代,得到消歧模型。
163.在一些实施例中,迭代模块1205,用于:获取第一损失对应的第一加权系数,以及第二损失对应的第二加权系数,第一加权系数小于第二加权系数;将第一乘积和第二乘积之和确定为总损失,第一乘积是指第一损失与第一加权系数之间的乘积,第一乘积是指第二损失与第二加权系数之间的乘积;通过总损失对初始模型的参数进行迭代,在总损失满足第一预设条件的情况下,得到消歧模型。
164.在一些实施例中,迭代模块,用于:通过第一损失对初始模型中掩码模块的参数进行迭代;通过第二损失对初始模型中除掩码模块之外的部分的参数进行迭代;在第一损失满足第二预设条件,或/及,第二损失满足第三预设条件的情况下,得到消歧模型。
165.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法示例中的对应过程,在此不再赘述。
166.在本技术所提供的几个示例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
167.另外,在本技术各个示例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
168.如图13所示,本技术示例还提供一种电子设备1000,该电子设备1000可以是服务器,该电子设备1000包括处理器1010、存储器1020,其中,存储器1020存储有计算机程序指令,计算机程序指令被处理器1010调用时实执行上述的消歧方法,或者,消歧模型的训练方法。
169.处理器1010可以包括一个或者多个处理核。处理器1010利用各种接口和线路连接整个电池管理系统内的各种部分,通过运行或执行存储在存储器1020内的指令、程序、代码集或指令集,以及调用存储在存储器1020内的数据,执行电池管理系统的各种功能和处理数据。可选地,处理器1010可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器1010可集成中央处理器1010(central processing unit,cpu)、图像处理器1010(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1010中,单独通过一块通信芯片进行实现。
170.存储器1020可以包括随机存储器1020(random access memory,ram),也可以包括只读存储器1020(read-only memory)。存储器1020可用于存储指令、程序、代码、代码集或指令集。存储器1020可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各种方法示例的指令等。存储数据区还可以存储车辆在使用中所创建
的数据(比如电话本、音视频数据、聊天记录数据)等。
171.如图14所示,本技术示例还提供一种计算机可读存储介质1100,该计算机可读存储介质1100中存储有计算机程序指令1110,计算机程序指令1110可被处理器调用以执行上述示例中所描述的方法。
172.计算机可读存储介质可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质包括非易失性计算机可读存储介质(non-transitory computer-readable storage medium)。计算机可读存储介质1100具有执行上述方法中的任何方法步骤的程序代码的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码可以例如以适当形式进行压缩。
173.以上,仅是本技术的较佳示例而已,并非对本技术作任何形式上的限制,虽然本技术已以较佳示例揭示如上,然而并非用以限定本技术,任何本领域技术人员,在不脱离本技术技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效示例,但凡是未脱离本技术技术方案内容,依据本技术的技术实质对以上示例所作的任何简介修改、等同变化与修饰,均仍属于本技术技术方案的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1