多音字的识别方法、装置、可读介质和电子设备与流程
本公开涉及电子信息处理技术领域,具体地,涉及一种多音字的识别方法、装置、可读介质和电子设备。
背景技术:
随着电子信息处理技术的不断发展,语音作为人们获取信息的重要载体,已经被广泛应用于日常生活和工作中。语音处理中通常包括两个部分:语音合成和语音识别。语音合成是指将用户指定的文本,合成为音频,语音识别则是指将用户指定的音频识别为文本。针对音频内容为中文的场景,或者文本内容为中文的场景,由于中文包括了大量的多音字,可能导致语音合成输出的音频发音不准确,或者导致语音识别输出的文本不准确。因此,为了保证语音处理能够正常进行,需要准确识别多音字的发音。
技术实现要素:
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种多音字的识别方法,所述方法包括:
获取目标文本,所述目标文本包括待识别多音字;
将所述目标文本分别输入预先训练的多个多音字识别模型,以获取每个所述多音字识别模型输出的识别结果,每个所述多音字识别模型各不相同;
根据每个所述多音字识别模型输出的所述识别结果,确定所述目标文本中所述待识别多音字的目标拼音。
第二方面,本公开提供一种多音字的识别装置,所述装置包括:
获取模块,用于获取目标文本,所述目标文本包括待识别多音字;
识别模块,用于将所述目标文本分别输入预先训练的多个多音字识别模型,以获取每个所述多音字识别模型输出的识别结果,每个所述多音字识别模型各不相同;
确定模块,用于根据每个所述多音字识别模型输出的所述识别结果,确定所述目标文本中所述待识别多音字的目标拼音。
第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开第一方面所述方法的步骤。
第四方面,本公开提供一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
通过上述技术方案,本公开首先获取包括待识别多音字的目标文本,之后将目标文本分别输入预先训练的多个多音字识别模型,以获取每个多音字识别模型输出的识别结果,其中,每个多音字识别模型各不相同,最后根据每个多音字识别模型输出的识别结果,确定目标文本中待识别多音字的目标拼音。本公开通过多个多音字识别模型对文本中的多音字进行识别,并根据每个多音字识别模型输出的识别结果,确定多音字的目标拼音,能够提高多音字识别的准确度。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是根据一示例性实施例示出的一种多音字的识别方法的流程图;
图2是根据一示例性实施例示出的另一种多音字的识别方法的流程图;
图3是根据一示例性实施例示出的另一种多音字的识别方法的流程图;
图4是根据一示例性实施例示出的另一种多音字的识别方法的流程图;
图5是根据一示例性实施例示出的一种待识别多音字模型的结构图;
图6是根据一示例性实施例示出的一种训练待选多音字识别模型的流程图;
图7是根据一示例性实施例示出的另一种训练待选多音字识别模型的流程图;
图8是根据一示例性实施例示出的另一种多音字的识别方法的流程图;
图9是根据一示例性实施例示出的一种多音字的识别装置的框图;
图10是根据一示例性实施例示出的另一种多音字的识别装置的框图;
图11是根据一示例性实施例示出的另一种多音字的识别装置的框图;
图12是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
在介绍本公开提供的多音字的识别方法、装置、可读介质和电子设备之前,首先对本公开各个实施例所涉及的应用场景进行介绍。该应用场景可以为语音识别的训练过程,也可以为语音合成的具体执行过程。针对语音识别的过程,需要先通过声学模型将指定的音频识别为拼音序列,然后再通过语言模型将拼音序列识别为文本。为了保证将拼音序列识别为文本的准确度,需要利用多音字的识别,来生成正确的拼音序列,从而预先对语言模型进行训练。因此,在语音识别的训练过程中,需要借助多音字的识别来获取多音字的拼音。针对语音合成的过程,可以通过语音合成模型将文本合成为音频,在此过程中,如果文本中出现了多音字,语音合成模型可以利用多音字的识别,来判断文本中的多音字具体为哪个读音(即拼音),从而生成相应的音频。因此,语音合成的执行过程中,为了能够合成准确的音频,也需要借助多音字的识别来获取多音字的拼音。
图1是根据一示例性实施例示出的一种多音字的识别方法的流程图,如图1所示,该方法包括:
步骤101,获取目标文本,目标文本包括待识别多音字。
举例来说,首先获取需要进行识别的目标文本,目标文本可以是一个,也可以是多个,每个目标文本中可以包括一个或多个待识别多音字,本公开对此不作具体限定。目标文本中的待识别多音字可以是预先标注的,例如目标文本为“这事需要很长时间”,对应的标注为“00000100”,即“长”被标注为多音字。目标文本中的待识别多音字也可以根据预设的多音字列表确定,例如,多音字列表中包括了常用字中的140个多音字,将目标文本中的每个字分别与多音字列表进行匹配,将与多音字列表匹配的字,确定为待识别多音字。
步骤102,将目标文本分别输入预先训练的多个多音字识别模型,以获取每个多音字识别模型输出的识别结果,每个多音字识别模型各不相同。
示例的,可以预先训练多个多音字识别模型,每个多音字识别模型之间各不相同,以多音字识别模型为神经网络来举例,那么多个神经网络可以是神经网络的结构(例如:神经元类型、网络神经元数量、层数等)不同,也可以是神经网络的训练参数(例如:dropout_rate、label_smoothing等)不同。每个多音字识别模型都能够对输入的文本中的多音字进行识别,并输出识别结果。将目标文本分别输入多个多音字识别模型,可以得到每个多音字识别模型输出的识别结果。其中,识别结果的形式可以有多种,可以直接是待识别多音字的初始拼音,也可以是待识别多音字被识别为多个候选拼音(即待识别多音字对应的多个可能的拼音)的后验概率,还可以既包括待识别多音字的初始拼音,又包括待识别多音字被识别为初始拼音对应的后验概率。本公开对此不作具体限定。
需要说明的是,多个多音字识别模型可以是根据相同的样本输入集和样本输出集,按照相同的训练条件进行训练的,那么可以将多个多音字识别模型理解为一个集成学习模型。多个多音字识别模型也可以各自独立进行训练,即可以根据不同的样本输入集和样本输出集,按照不同的训练条件进行训练。其中,多音字识别模型,例如可以是rnn(英文:recurrentneuralnetwork,中文:循环神经网络)、cnn(英文:convolutionalneuralnetworks,中文:卷积神经网络)、lstm(英文:longshort-termmemory,中文:长短期记忆网络)等神经网络,也可以是基于多头自注意力(英文:multi-headself-attention)机制的transformer的编码器模型,本公开对此不作具体限定。
步骤103,根据每个多音字识别模型输出的识别结果,确定目标文本中待识别多音字的目标拼音。
示例的,可以根据每个多音字识别模型输出的识别结果,来确定待识别多音字的目标拼音。具体的,根据多个识别结果来确定目标拼音,可以根据识别结果的形式不同,选择不同的策略。
若识别结果为待识别多音字的初始拼音,那么可以将多个初始拼音进行比较,如果多个初始拼音均相同,那么可以将任一个初始拼音作为目标拼音。如果多个初始拼音中,存在不同的初始拼音,一种实现方式是丢弃多个初始拼音。另一种实现方式是分别统计每种初始拼音的出现次数,将出现次数最多的初始拼音作为目标拼音。
若识别结果为待识别多音字被识别为多个候选拼音的后验概率,那么可以先根据多个候选拼音的后验概率,确定初始拼音,即多个候选拼音中,对应的后验概率最大的候选拼音即为初始拼音。然后,再将多个初始拼音进行比较,以确定目标拼音。若识别结果中既包括待识别多音字的初始拼音,又包括待识别多音字被识别为初始拼音对应的后验概率,那么可以先统计每种初始拼音的出现次数,然后再根据每个初始拼音对应的后验概率和每种初始拼音的出现次数,确定每种初始拼音的置信度,最后将置信度最大的一种初始拼音作为目标拼音。
可以理解为,将多个初始拼音输入一个投票系统,由投票系统在多个初始拼音中选择目标拼音。这样,通过多个多音字识别模型对文本中的多音字进行识别,并根据每个多音字识别模型输出的识别结果,确定多音字的目标拼音,基于boosting原理,根据多个多音字识别模型的组合得到的目标拼音,比利用一个多音字识别模型得到的拼音的准确度要高,因此提高了多音字识别的准确度。
综上所述,本公开首先获取包括待识别多音字的目标文本,之后将目标文本分别输入预先训练的多个多音字识别模型,以获取每个多音字识别模型输出的识别结果,其中,每个多音字识别模型各不相同,最后根据每个多音字识别模型输出的识别结果,确定目标文本中待识别多音字的目标拼音。本公开通过多个多音字识别模型对文本中的多音字进行识别,并根据每个多音字识别模型输出的识别结果,确定多音字的目标拼音,能够提高多音字识别的准确度。
图2是根据一示例性实施例示出的另一种多音字的识别方法的流程图,如图2所示,识别结果包括待识别多音字的初始拼音,步骤103可以包括以下步骤:
步骤1031,确定每个多音字识别模型输出的初始拼音中,每种初始拼音的出现次数。
步骤1032,根据每种初始拼音的出现次数,确定目标拼音。
在识别结果包括待识别多音字的初始拼音的场景中,可以先确定每个多音字识别模型输出的初始拼音中,每种初始拼音的出现次数,然后根据每种初始拼音的出现次数,确定目标拼音。确定目标拼音的具体实现方式可以包括:
步骤1)将出现次数最大的初始拼音作为中间拼音。
步骤2)若存在至少两种中间拼音,根据每个多音字识别模型的识别准确度,确定每种中间拼音的第一准确度,并根据每种中间拼音的第一准确度,确定目标拼音。
步骤3)若存在一种中间拼音,将中间拼音作为目标拼音。
示例的,在确定每种初始拼音的出现次数之后,先确定出现次数最大的初始拼音,即中间拼音。中间拼音可能是一种,也可能是多种。若中间拼音为一种,那么可以将中间拼音作为目标拼音,即将多个初始拼音中,出现次数最大的初始拼音作为目标拼音。
若中间拼音为多种,那么可以进一步根据每个多音字识别模型的识别准确度,确定每种中间拼音的第一准确度。最后将第一准确度最大的一种中间拼音,作为目标拼音。每个多音字识别模型的识别准确度,可以是在该多音字识别模型训练完成后统计得到的。例如,可以将样本输入集输入训练好的一个多音字识别模型,然后将该多音字识别模型的输出结果,与样本输出集进行比较,输出结果与样本输出集的匹配度,即为识别准确度。例如,该多音字识别模型的输出结果中,有80%与样本输出集匹配,那么该多音字识别模型的识别准确度即为0.8。每种中间拼音的第一准确度,可以根据该种中间拼音对应的,出现次数个多音字识别模型的识别准确度来确定。例如,可以是该种中间拼音对应的出现次数个多音字识别模型的识别准确度的平均值,也可以是该种中间拼音对应的出现次数个多音字识别模型的识别准确度的最大值。例如,一种中间拼音的出现次数为3,对应的3个多音字识别模型的识别准确度为0.8、0.6、0.5,那么该种中间拼音的第一准确度可以为3个识别准确度中的最大值,即0.8,也可以是3个识别准确度的平均值,即0.63。
以目标文本为“你和我”,待识别多音字为“和”,10个多音字识别模型来举例。若对10个多音字识别模型输出的10个初始拼音进行统计,得到3种初始拼音:“he2”(其中,拼音中的数字表示声调,1表示第一声,2表示第二声,3表示第三声,4表示第四声,5表示轻声)出现5次,“huo4”出现4次,“he4”出现1次,那么“he2”的出现次数为5,即为中间拼音,且只存在一种中间拼音,那么可以将“he2”作为目标拼音。
若对10个多音字识别模型输出的10个初始拼音进行统计,得到3种初始拼音:“he2”出现4次,“huo4”出现4次,“he4”出现2次,那么“he2”和“huo4”的出现次数均为4,即“he2”和“huo4”均为中间拼音。然后再确定“he2”和“huo4”的第一准确度。例如,“he2”对应的4个多音字识别模型的识别准确度为:0.95、0.82、0.5、0.33,“huo4”对应的4个多音字识别模型的识别准确度为:0.8、0.7、0.56、0.25,若采用将多个识别准确度的最大值作为第一准确度,那么“he2”的第一准确度为0.95,“huo4”的第一准确度为0.8,那么将“he2”作为目标拼音。
图3是根据一示例性实施例示出的另一种多音字的识别方法的流程图,如图3所示,识别结果包括待识别多音字的初始拼音,和初始拼音的后验概率,步骤103可以包括以下步骤:
步骤1033,确定每个多音字识别模型输出的初始拼音中,每种初始拼音的出现次数。
步骤1034,根据每个多音字识别模型输出的初始拼音的后验概率,确定每种初始拼音的第一概率。
在一种实现场景中,识别结果包括待识别多音字的初始拼音,和初始拼音的后验概率。初始拼音的后验概率可以理解为待识别多音字和初始拼音的匹配度。例如多音字识别模型中,可以利用softmax函数得到待识别多音字与多个候选拼音的匹配度(即多个候选拼音的后验概率),然后再利用argmax函数确定最大的匹配度对应的候选拼音,即初始拼音。那么,要从多个初始拼音中确定目标拼音,可以先统计每种初始拼音的出现次数,然后根据每个多音字识别模型输出的初始拼音的后验概率,确定每种初始拼音的第一概率。每种初始拼音的第一概率,例如可以是该种初始拼音对应的出现次数个多音字识别模型,输出的初始拼音的后验概率的平均值,也可以是该种初始拼音对应的出现次数个多音字识别模型,输出的初始拼音的后验概率的最大值。例如,一种初始拼音的出现次数为4,对应的4个多音字识别模型输出的初始拼音的后验概率为0.7、0.85、0.8、0.9,那么该种初始拼音的第一概率可以为4个后验概率中的最大值,即0.9,也可以是4个后验概率的平均值,即0.81。
步骤1035,根据每种初始拼音的出现次数,和该种初始拼音的第一概率,确定该种初始拼音的置信度。
步骤1036,将置信度最大的初始拼音作为目标拼音。
进一步的,再根据每种初始拼音的出现次数,和该种初始拼音的第一概率,来确定该种初始拼音的置信度,最后将置信度最大的初始拼音作为目标拼音。其中,置信度可以通过第一公式来确定,第一公式如下:
zi=offset*ni+pi
其中,zi表示第i种初始拼音的置信度,ni表示第i种初始拼音的出现次数,pi表示第i种初始拼音的第一概率,offset表示预设的偏移基准,例如可以为0.05。这样,置信度结合了初始拼音的出现次数,和初始拼音的后验概率,能够全面、准确地反应每种初始拼音的可信程度,从而得到准确的目标拼音,提高了多音字识别的准确度。
以目标文本为“你的手表”,待识别多音字为“的”,10个多音字识别模型来举例。若对10个多音字识别模型输出的10个初始拼音进行统计,得到3种初始拼音:“de5”出现5次,“di4”出现3次,“di2”出现2次。“de5”对应的5个多音字识别模型输出的初始拼音的后验概率为:0.6、0.7、0.75、0.8、0.85,“di4”对应的3个多音字识别模型输出的初始拼音的后验概率为:0.65、0.8、0.85,“di2”对应的2个多音字识别模型输出的初始拼音的后验概率为:0.5和0.55。若采用将多个后验概率的平均值作为第一概率,那么“de5”的第一概率为0.74,“di4”的第一概率为0.77,“di2”的第一概率为0.52。根据上述的第一公式,确定“de5”的置信度为5*0.05+0.74=0.99,“di4”的置信度为3*0.05+0.77=0.92,“di2”的置信度为2*0.05+0.52=0.62。那么将“de5”作为目标拼音。
图4是根据一示例性实施例示出的另一种多音字的识别方法的流程图,如图4所示,在步骤102之前,该方法还可以包括:
步骤104,将第一数量个待选多音字识别模型中,识别准确度满足预设条件的第二数量个待选多音字识别模型,作为多个多音字识别模型,第二数量小于或等于第一数量,且第二数量大于或等于2。
举例来说,可以预先训练第一数量个待选多音字识别模型,然后从第一数量个待选多音字识别模型中,根据每个待选多音字识别模型的识别准确度,筛选出第二数量个待选多音字识别模型,作为步骤102中的多个多音字识别模型。其中,第二数量小于或等于第一数量,并且第二数量大于或等于2。例如,可以将第一数量个待选多音字识别模型,按照识别准确度降序排列,选取排序最高的第二数量个待选多音字识别模型作为多音字识别模型。其中,第一数量个待选多音字识别模型可以是根据相同的样本输入集和样本输出集,按照相同的训练条件进行训练的,可以将第一数量个待选多音字识别模型理解为一个集成学习模型。第一数量个待选多音字识别模型也可以各自独立进行训练,即可以根据不同的样本输入集和样本输出集,按照不同的训练条件进行训练的。其中,待选多音字识别模型,例如可以是rnn、cnn、lstm等神经网络,也可以是基于多头自注意力机制的transformer的编码器模型,本公开对此不作具体限定。
以待选多音字识别模型为基于多头自注意力机制的transformer的编码器模型为例,待选多音字识别模型的结构如图5所示。其中,localencoders用于对inputs(即输入,例如可以是目标文本)进行词嵌入编码(英文:wordembedding),positionalencoding用于对进行词嵌入编码后的数据,进行位置编码,以完成对目标文本的编码。虚线框中表示有n层同样的结构,n例如可以为6。以其中的一层来说明,将编码后的数据输入到multi-headattention结构(例如可以是multi-headself-attention结构),并将multi-headattention结构的输入和输出通过add&norm进行相加和归一化运算,输出到全连接的前馈网络feedforward,最后将前馈网络的输入和输出通过add&norm进行相加和归一化运算。多头自注意力机制能够学习目标文本中每个词和待识别多音字之间的相关程度,因此能够提高多音字识别的准确度。
图6是根据一示例性实施例示出的一种训练待选多音字识别模型的流程图,如图6所示,上述第一数量个待选多音字识别模型是通过以下步骤训练的:
步骤105,获取样本输入集和样本输出集,样本输入集中的每个样本输入包括训练文本,训练文本包括多音字,样本输出集中包括与每个样本输入对应的样本输出,每个样本输出包括对应的训练文本中多音字的拼音。
举例来说,对上述待选多音字识别模型的训练,可以先获取样本输入集和样本输出集。例如,可以在互联网上抓取大量包括多音字的文本作为样本输入集,然后标注每个文本中的多音字的拼音,作为样本输出集。
步骤106,按照预设的超参数范围和自动调参算法,确定第一数量个超参数组,并按照第一数量个超参数组中的每个超参数组,确定对应的待选多音字识别模型。
步骤107,针对第一数量个待选多音字识别模型中,每个待选多音字识别模型,将样本输入集作为该待选多音字识别模型的输入,将样本输出集作为该待选多音字识别模型的输出,以训练该待选多音字识别模型。并确定训练后的该待选多音字识别模型的识别准确度。
示例的,可以按照预设的超参数范围和自动调参算法,确定第一数量个超参数组。其中,针对神经网络的超参数可以包括:神经元类型、神经元数量、层数、激活函数、正则化参数(例如:dropout_rate、label_smoothing)等,针对基于多头自注意力机制的transformer的编码器模型,超参数可以包括:multi-headnumber,blocknumber、正则化参数等。可以预先设置每个超参数的超参数范围,例如可以将dropout_rate的超参数范围设置为0.1-0.9。然后,利用自动调参算法,在超参数范围内,自动生成第一数量个超参数组。其中,自动调参算法例如可以是tpe(英文:treeparzenestimator)算法、gridsearch算法、randomsearch算法、anneal算法、smac(英文:sequentialmodel-basedalgorithmconfiguration)算法等,本公开对此不作具体限定。在生成第一数量个超参数组之后,按照每个超参数组,建立对应的待选多音字识别模型,得到第一数量个待选多音字识别模型。
针对每个待选多音字识别模型,将步骤105中获取的样本输入集作为该待选多音字识别模型的输入,将样本输出集作为该待选多音字识别模型的输出,以训练该待选多音字识别模型中的神经元的权重(英文:weight)和连接关系(英文:bias)。并在该待选多音字识别模型满足预设条件(例如:预设的损失函数最小)时,确定训练完成。最后确定完成训练后的该待选多音字识别模型的识别准确度。以便步骤104中,可以根据每个待选多音字识别模型的识别准确度,筛选出多个多音字识别模型。
图7是根据一示例性实施例示出的另一种训练待选多音字识别模型的流程图,如图7所示,步骤105包括:
步骤1051,获取训练文本,并将训练文本分别输入多个语音合成模型,以获取每个语音合成模型输出的中间音频,每个语音合成模型各不相同。
在一种实现方式中,可以根据样本输入集,利用已有的语音识别模型和多个语音合成模型,来自动、快速地生成对应的样本输出集,而无需人工进行标注。具体的,可以先从样本输入集中获取训练文本,将训练文本分别输入多个各不相同的语音合成模型,以获取每个语音合成模型输出的中间音频。可以理解为,分别利用每个语音合成模型对训练文本进行合成,得到每个语音合成模型输出的中间音频。其中,多个语音合成模型,可以从不同的音频提供商处获取不同的tts(英文:texttospeech,中文:从文本到语音)系统,作为语音合成模型。也可以是多个预先训练的,用于语音合成的神经网络。
步骤1052,针对每个语音合成模型,将该语音合成模型输出的中间音频,输入语音识别模型,以获取语音识别模型输出的,该语音合成模型对应的中间拼音序列。
示例的,针对多个语音合成模型中的任一个语音合成模型,将该语音合成模型输出的中间音频,输入预设的语音识别模型,得到语音识别模型输出的,该语音合成模型对应的中间拼音序列。其中,中间拼音序列中至少包括一个拼音(包括声调)。语音识别模型,例如可以是asr(英文:automaticspeechrecognition,中文:自动语音识别技术)系统,能够识别输入的音频对应的拼音序列。语音识别模型也可以是预先训练的,用于语音识别的神经网络。其中,每个语音合成模型,对应一个中间音频序列,即中间音频序列的数量与语音合成模型的数量相同。
步骤1053,根据多个语音合成模型中,每个语音合成模型对应的中间拼音序列,确定目标拼音序列,并将目标拼音序列中多音字的拼音作为训练文本对应的样本输出。
示例的,可以根据多个语音合成模型中,每个语音合成模型对应的中间拼音序列,来确定训练文本对应的目标拼音序列。具体的,确定目标拼音序列的策略,可以将多个中间拼音序列进行比较,如果多个中间拼音序列均相同,那么可以将任一个中间拼音序列作为目标拼音序列。如果多个中间拼音序列中,存在不同的拼音序列,则丢弃多个中间拼音序列。另一种实现方式,可以将多个中间拼音序列进行比较,如果多个中间拼音序列中,存在不同的中间拼音序列,那么可以分别统计每种中间拼音序列的出现次数,将出现次数最多的中间拼音序列作为目标拼音序列。在确定目标拼音序列后,将目标拼音序列中多音字的拼音作为训练文本对应的样本输出。
可以理解为,将多个中间拼音序列输入一个投票系统,由投票系统在多个中间拼音序列中选择目标拼音序列。最后,将目标拼音序列中多音字的拼音作为训练文本对应的样本输出。这样,通过语音识别模型和多个语音合成模型的组合,先将训练文本合成为多个中间音频,然后将多个中间音频识别为多个中间拼音序列,最后根据多个中间拼音序列来确定目标拼音序列,并得到多音字的拼音。基于boosting原理,根据语音识别模型和多个语音合成模型的组合得到的目标拼音序列中的多音字的拼音,比利用一个语音合成模型得到的拼音序列中的多音字的拼音的准确度要高。这样不需要人工的参与,就能够快速、准确地获得样本输入集对应的样本输出集。
图8是根据一示例性实施例示出的另一种多音字的识别方法的流程图,如图8所示,在步骤103之后,该方法还可以包括:
步骤108,根据待识别多音字的目标拼音,生成目标文本对应的目标音频。
举例来说,在确定目标拼音之后,可以利用目标拼音,生成目标文本对应的目标音频。例如,将目标文本输入预设的语音合成模型,语音合成模型可以利用目标拼音,生成目标文本对应的目标音频,其中,目标音频中待识别多音字的拼音为目标拼音。由于目标拼音的准确度高,相应也提高了语音合成模型合成音频的准确度。进一步的,还可以多次执行步骤101至步骤108,以得到多个目标文本对应的目标音频,并将多个目标文本和多个目标文本对应的目标音频,作为用于训练语言模型的样本输入集和样本输出集,从而提高语言模型的准确度。
综上所述,本公开首先获取包括待识别多音字的目标文本,之后将目标文本分别输入预先训练的多个多音字识别模型,以获取每个多音字识别模型输出的识别结果,其中,每个多音字识别模型各不相同,最后根据每个多音字识别模型输出的识别结果,确定目标文本中待识别多音字的目标拼音。本公开通过多个多音字识别模型对文本中的多音字进行识别,并根据每个多音字识别模型输出的识别结果,确定多音字的目标拼音,能够提高多音字识别的准确度。
图9是根据一示例性实施例示出的一种多音字的识别装置的框图,如图9所示,该装置200包括:
获取模块201,用于获取目标文本,目标文本包括待识别多音字。
识别模块202,用于将目标文本分别输入预先训练的多个多音字识别模型,以获取每个多音字识别模型输出的识别结果,每个多音字识别模型各不相同。
确定模块203,用于根据每个多音字识别模型输出的识别结果,确定目标文本中待识别多音字的目标拼音。
在一种实现方式中,识别结果包括待识别多音字的初始拼音,相应的,确定模块203用于:确定每个多音字识别模型输出的初始拼音中,每种初始拼音的出现次数。根据每种初始拼音的出现次数,确定目标拼音。
具体的,确定模块203用于执行以下步骤:
步骤4)将出现次数最大的初始拼音作为中间拼音。
步骤5)若存在至少两种中间拼音,根据每个多音字识别模型的识别准确度,确定每种中间拼音的第一准确度,并根据每种中间拼音的第一准确度,确定目标拼音。
步骤6)若存在一种中间拼音,将中间拼音作为目标拼音。
在另一种实现方式中,识别结果包括待识别多音字的初始拼音,和初始拼音的后验概率,相应的,确定模块203用于执行以下步骤:
步骤7)确定每个多音字识别模型输出的初始拼音中,每种初始拼音的出现次数。
步骤8)根据每个多音字识别模型输出的初始拼音的后验概率,确定每种初始拼音的第一概率。
步骤9)根据每种初始拼音的出现次数,和该种初始拼音的第一概率,确定该种初始拼音的置信度。
步骤10)将置信度最大的初始拼音作为目标拼音。
图10是根据一示例性实施例示出的另一种多音字的识别装置的框图,如图10所示,该装置200还包括:
选择模块204,用于在将目标文本分别输入预先训练的多个多音字识别模型之前,将第一数量个待选多音字识别模型中,识别准确度满足预设条件的第二数量个待选多音字识别模型,作为多个多音字识别模型,第二数量小于或等于第一数量,且第二数量大于或等于2。
在一种实现场景中,上述第一数量个待选多音字识别模型是通过以下步骤训练的:
步骤a,获取样本输入集和样本输出集,样本输入集中的每个样本输入包括训练文本,训练文本包括多音字,样本输出集中包括与每个样本输入对应的样本输出,每个样本输出包括对应的训练文本中多音字的拼音。
步骤b,按照预设的超参数范围和自动调参算法,确定第一数量个超参数组,并按照第一数量个超参数组中的每个超参数组,确定对应的待选多音字识别模型。
步骤c,针对第一数量个待选多音字识别模型中,每个待选多音字识别模型,将样本输入集作为该待选多音字识别模型的输入,将样本输出集作为该待选多音字识别模型的输出,以训练该待选多音字识别模型。并确定训练后的该待选多音字识别模型的识别准确度。
具体的,步骤a可以通过以下步骤来实现:
步骤a1,获取训练文本,并将训练文本分别输入多个语音合成模型,以获取每个语音合成模型输出的中间音频,每个语音合成模型各不相同。
步骤a2,针对每个语音合成模型,将该语音合成模型输出的中间音频,输入语音识别模型,以获取语音识别模型输出的,该语音合成模型对应的中间拼音序列。
步骤a3,根据多个语音合成模型中,每个语音合成模型对应的中间拼音序列,确定目标拼音序列,并将目标拼音序列中多音字的拼音作为训练文本对应的样本输出。
图11是根据一示例性实施例示出的另一种多音字的识别装置的框图,如图11所示,该装置200还包括:
生成模块205,用于在根据每个多音字识别模型输出的识别结果,确定目标文本中待识别多音字的目标拼音之后,根据待识别多音字的目标拼音,生成目标文本对应的目标音频。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开首先获取包括待识别多音字的目标文本,之后将目标文本分别输入预先训练的多个多音字识别模型,以获取每个多音字识别模型输出的识别结果,其中,每个多音字识别模型各不相同,最后根据每个多音字识别模型输出的识别结果,确定目标文本中待识别多音字的目标拼音。本公开通过多个多音字识别模型对文本中的多音字进行识别,并根据每个多音字识别模型输出的识别结果,确定多音字的目标拼音,能够提高多音字识别的准确度。
下面参考图12,其示出了适于用来实现本公开实施例的电子设备300的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图12示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(rom)302中的程序或者从存储装置308加载到随机访问存储器(ram)303中的程序而执行各种适当的动作和处理。在ram303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、rom302以及ram303通过总线304彼此相连。输入/输出(i/o)接口305也连接至总线304。
通常,以下装置可以连接至i/o接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图12示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从rom302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,终端设备、服务器可以利用诸如http(hypertexttransferprotocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,adhoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取目标文本,所述目标文本包括待识别多音字;将所述目标文本分别输入预先训练的多个多音字识别模型,以获取每个所述多音字识别模型输出的识别结果,每个所述多音字识别模型各不相同;根据每个所述多音字识别模型输出的所述识别结果,确定所述目标文本中所述待识别多音字的目标拼音。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言——诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“获取目标文本的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种多音字的识别方法,包括:获取目标文本,所述目标文本包括待识别多音字;将所述目标文本分别输入预先训练的多个多音字识别模型,以获取每个所述多音字识别模型输出的识别结果,每个所述多音字识别模型各不相同;根据每个所述多音字识别模型输出的所述识别结果,确定所述目标文本中所述待识别多音字的目标拼音。
根据本公开的一个或多个实施例,示例2提供了示例1的方法,所述识别结果包括所述待识别多音字的初始拼音,所述根据每个所述多音字识别模型输出的所述识别结果,确定所述目标文本中所述待识别多音字的目标拼音,包括:确定每个所述多音字识别模型输出的所述初始拼音中,每种所述初始拼音的出现次数;根据每种所述初始拼音的所述出现次数,确定所述目标拼音。
根据本公开的一个或多个实施例,示例3提供了示例2的方法,所述根据每种所述初始拼音的所述出现次数,确定所述目标拼音,包括:将所述出现次数最大的所述初始拼音作为中间拼音;若存在至少两种所述中间拼音,根据每个所述多音字识别模型的识别准确度,确定每种所述中间拼音的第一准确度,并根据每种所述中间拼音的所述第一准确度,确定所述目标拼音;若存在一种所述中间拼音,将所述中间拼音作为所述目标拼音。
根据本公开的一个或多个实施例,示例4提供了示例1的方法,所述识别结果包括所述待识别多音字的初始拼音,和所述初始拼音的后验概率;所述根据每个所述多音字识别模型输出的所述识别结果,确定所述目标文本中所述待识别多音字的目标拼音,包括:确定每个所述多音字识别模型输出的初始拼音中,每种所述初始拼音的出现次数;根据每个所述多音字识别模型输出的所述初始拼音的所述后验概率,确定每种所述初始拼音的第一概率;根据每种初始拼音的所述出现次数,和该种初始拼音的所述第一概率,确定该种初始拼音的置信度;将所述置信度最大的所述初始拼音作为所述目标拼音。
根据本公开的一个或多个实施例,示例5提供了示例1的方法,在所述将所述目标文本分别输入预先训练的多个多音字识别模型之前,所述方法还包括:将第一数量个待选多音字识别模型中,识别准确度满足预设条件的第二数量个所述待选多音字识别模型,作为所述多个多音字识别模型,所述第二数量小于或等于所述第一数量,且所述第二数量大于或等于2。
根据本公开的一个或多个实施例,示例6提供了示例5的方法,所述第一数量个待选多音字识别模型是通过以下步骤训练的:获取样本输入集和样本输出集,所述样本输入集中的每个样本输入包括训练文本,所述训练文本包括多音字,所述样本输出集中包括与每个所述样本输入对应的样本输出,每个所述样本输出包括对应的所述训练文本中所述多音字的拼音;按照预设的超参数范围和自动调参算法,确定所述第一数量个超参数组,并按照所述第一数量个超参数组中的每个所述超参数组,确定对应的所述待选多音字识别模型;针对所述第一数量个所述待选多音字识别模型中,每个所述待选多音字识别模型,将所述样本输入集作为该待选多音字识别模型的输入,将所述样本输出集作为该待选多音字识别模型的输出,以训练该待选多音字识别模型;并确定训练后的该待选多音字识别模型的所述识别准确度。
根据本公开的一个或多个实施例,示例7提供了示例6的方法,所述获取样本输入集和样本输出集,包括:获取所述训练文本,并将所述训练文本分别输入多个语音合成模型,以获取每个所述语音合成模型输出的中间音频,每个所述语音合成模型各不相同;针对每个所述语音合成模型,将该语音合成模型输出的所述中间音频,输入语音识别模型,以获取所述语音识别模型输出的,该语音合成模型对应的中间拼音序列;根据所述多个语音合成模型中,每个所述语音合成模型对应的中间拼音序列,确定目标拼音序列,并将所述目标拼音序列中所述多音字的拼音作为所述训练文本对应的样本输出。
根据本公开的一个或多个实施例,示例8提供了示例1至示例7中任一项的方法,在所述根据每个所述多音字识别模型输出的所述识别结果,确定所述目标文本中所述待识别多音字的目标拼音之后,所述方法还包括:根据所述待识别多音字的目标拼音,生成所述目标文本对应的目标音频。
根据本公开的一个或多个实施例,示例9提供了一种多音字的识别装置,包括:获取模块,用于获取目标文本,所述目标文本包括待识别多音字;识别模块,用于将所述目标文本分别输入预先训练的多个多音字识别模型,以获取每个所述多音字识别模型输出的识别结果,每个所述多音字识别模型各不相同;确定模块,用于根据每个所述多音字识别模型输出的所述识别结果,确定所述目标文本中所述待识别多音字的目标拼音。
根据本公开的一个或多个实施例,示例10提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1至示例8中所述方法的步骤。
根据本公开的一个或多个实施例,示例11提供了一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1至示例8中所述方法的步骤。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除