错误音素识别方法及装置与流程
本说明书涉及计算机技术领域,特别涉及错误音素识别方法及装置。
背景技术:
在儿童的普通话发音中,存在一些常见的错误发音情况,此类错误发音不符合既定的语言学规则,但是会对普通口语评测、语音识别等任务带来影响,并且,具有一定的共性和规律性。然而,目前绝大多数错误发音识别的方法都是针对成人的发音,通过语言学规则识别可能存在的错误发音,主要倾向于发现方言、口音等问题导致的发音错误现象。但是这些错误发音对于幼儿和儿童来说是不完全适应的,因为除了方言、口音等问题,儿童的错误发音还主要来源于声道发育不成熟等生理学原因,所包含的错误发音类型相比于成人更加复杂多样,仅从语言学规则难以全面挖掘可能存在的错误发音。
现有技术中,需要语言学专家的人工分析和干预,每种错误发音情况都需要语言学专家的分析与鉴定,才能加入到错误发音中,不仅成本高,还缺乏足够的灵活性。同时,语言学专家本身在判断错误发音时,具有一定的主观性。此外,语言学专家给出的结果通常局限于理论层面的分析,可能与真实的错误发音之间存在一定差异。进而需要更简单更准确的方法针对儿童的发音进行语音识别的操作或者处理。
技术实现要素:
有鉴于此,本说明书实施例提供了一种错误音素识别方法。本说明书同时涉及一种错误音素识别装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种错误音素识别方法,所述方法包括:
确定针对目标文本的至少一个待识别音素序列,并统计所述至少一个待识别音素序列中参考音素序列出现的初始频次,其中,所述参考音素序列为对所述至少一个待识别音素序列分类得到;
根据所述目标文本的标准音素序列,确定所述参考音素序列中目标文字对应的错误音素范围;
根据所述参考音素序列出现的初始频次以及所述错误音素范围中预估错误音素出现的概率,确定并反馈所述参考音素序列中的错误音素。
可选的,所述确定针对目标文本的至少一个待识别音素序列,包括:
获取针对所述目标文本录制的至少一个待识别语音;
对所述至少一个待识别语音进行音素识别,得到所述至少一个待识别音素序列。
可选的,所述对所述至少一个待识别语音进行音素识别,得到所述至少一个待识别音素序列,包括:
针对所述至少一个待识别语音中的每个所述待识别语音,通过声学模型预测所述待识别语音的声学特征对应的预测音素;
通过语言模型获得所述待识别语音对应预测音素序列的概率;
根据所述待识别语音对应预测音素序列的概率,将所述预测音素构成的音素序列中概率最大的目标音素序列确定为所述待识别语音对应的待识别音素序列。
可选的,所述统计所述至少一个待识别音素序列中参考音素序列出现的初始频次,包括:
对所述至少一个待识别音素序列进行分类,得到至少一类所述参考音素序列;
统计所述至少一类参考音素序列中每一类参考音素序列出现的初始频次。
可选的,所述统计所述至少一个待识别音素序列中参考音素序列出现的初始频次,包括:
将所述目标文本的汉字序列依次和所述至少一个待识别音素序列进行组合,得到至少一组文本音素数据对;
对所述至少一组文本音素数据对进行分类,得到至少一类参考文本音素数据对;
统计所述至少一类参考文本音素数据对中每一类参考文本音素数据对出现的初始频次;
将所述参考文本音素数据对出现的初始频次,确定为所述参考音素序列出现的初始频次。
可选的,所述根据所述目标文本的标准音素序列,确定所述参考音素序列中目标文字对应的错误音素范围之前,还包括:
获取所述目标文本的标准音素序列;或者,
获取所述目标文本对应的标准语音,对所述标准语音进行音素识别,获得所述标准音素序列。
可选的,所述根据所述目标文本的标准音素序列,确定所述参考音素序列中目标文字对应的错误音素范围,包括:
确定所述参考音素序列与所述标准音素序列的最大公共子序列;
基于所述最大公共子序列,对所述参考音素序列进行划分,确定出所述目标文字对应的错误音素范围。
可选的,所述根据所述参考音素序列出现的初始频次以及所述错误音素范围中预估错误音素出现的概率,确定并反馈所述参考音素序列中的错误音素,包括:
根据所述参考音素序列出现的初始频次,确定所述错误音素范围中预估错误音素出现的初始频次;
根据所述预估错误音素出现的概率,对所述预估错误音素出现的初始频次进行更新,获得所述预估错误音素的更新频次;
根据所述预估错误音素的更新频次,确定并反馈所述待识别音素序列中的错误音素。
可选的,所述根据所述预估错误音素出现的概率,对所述预估错误音素出现的初始频次进行更新,获得所述预估错误音素的更新频次,包括:
设置所述预估错误音素出现的概率;
根据所述概率和所述预估错误音素出现的初始频次,计算所述预估错误音素出现的中间频次;
根据所述中间频次,计算所述预估错误音素出现的概率;
迭代执行根据所述预估错误音素出现的概率,计算所述预估错误音素出现的中间频次,并根据所述中间频次,计算所述预估错误音素出现的概率的操作步骤,直至收敛,获得所述预估错误音素的更新频次。
可选的,所述根据所述预估错误音素的更新频次,确定并反馈所述待识别音素序列中的错误音素,包括:
选择所述更新频次中排序靠前的预设数值个更新频次对应的预估错误音素;
将选择的所述预估错误音素确定为所述待识别音素序列中的错误音素,并进行反馈。
可选的,所述根据所述预估错误音素的更新频次,确定并反馈所述待识别音素序列中的错误音素,包括:
计算所述预估错误音素和标准音素之间的编辑距离;
将小于距离阈值的编辑距离对应的预估错误音素确定为所述待识别音素序列中的错误音素,并进行反馈。
可选的,所述根据所述预估错误音素的更新频次,确定并反馈所述待识别音素序列中的错误音素,包括:
将所述预估错误音素中属于目标错误类型的预估错误音素确定为所述待识别音素序列中的错误音素,并进行反馈。
可选的,所述根据所述目标文本的标准音素序列,确定所述参考音素序列中目标文字对应的错误音素范围之后,还包括:
确定所述目标文字在除所述目标文本外的其他文本中对应预估错误音素的目标频次;
相应的,所述根据所述参考音素序列出现的初始频次以及所述错误音素范围中预估错误音素出现的概率,确定并反馈所述参考音素序列中的错误音素,包括:
根据所述参考音素序列出现的初始频次、所述目标频次以及所述错误音素范围中预估错误音素出现的概率,确定并反馈所述参考音素序列中的错误音素。
可选的,所述反馈所述参考音素序列中的错误音素,包括:
根据所述目标文字和所述错误音素生成错误提醒,所述错误提醒为文字提醒或语音提醒。
可选的,所述反馈所述参考音素序列中的错误音素之后,还包括:
根据所述目标文字和所述错误音素,确定并展示发音纠正信息。
根据本说明书实施例的第二方面,提供了一种错误音素识别装置,所述装置包括:
统计模块,被配置为确定针对目标文本的至少一个待识别音素序列,并统计所述至少一个待识别音素序列中参考音素序列出现的初始频次,其中,所述参考音素序列为对所述至少一个待识别音素序列分类得到;
第一确定模块,被配置为根据所述目标文本的标准音素序列,确定所述参考音素序列中目标文字对应的错误音素范围;
反馈模块,被配置为根据所述参考音素序列出现的初始频次以及所述错误音素范围中预估错误音素出现的概率,确定并反馈所述参考音素序列中的错误音素。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现下述方法:
确定针对目标文本的至少一个待识别音素序列,并统计所述至少一个待识别音素序列中参考音素序列出现的初始频次,其中,所述参考音素序列为对所述至少一个待识别音素序列分类得到;
根据所述目标文本的标准音素序列,确定所述参考音素序列中目标文字对应的错误音素范围;
根据所述参考音素序列出现的初始频次以及所述错误音素范围中预估错误音素出现的概率,确定并反馈所述参考音素序列中的错误音素。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述错误音素识别方法的步骤。
本说明书提供的错误音素识别方法,确定针对目标文本的至少一个待识别音素序列,并统计至少一个待识别音素序列中参考音素序列出现的初始频次,其中,参考音素序列为对至少一个待识别音素序列分类得到;根据目标文本的标准音素序列,确定参考音素序列中目标文字对应的错误音素范围;根据参考音素序列出现的初始频次以及错误音素范围中预估错误音素出现的概率,确定并反馈参考音素序列中的错误音素。本说明书中可以基于大量真实场景下的儿童的语音数据,将儿童大量的语音数据识别出的音素序列与正确的音素序列进行对比,统计发音错误的音素,进而得到常见的错误发音,错误发音的识别可以基于真实场景下的儿童的语音数据,既避免了错误发音识别单纯依赖于先验的语言学规则,又避免了人工介入,使得错误发音识别的结论更加可靠准确,更适用于真实的应用场景。
附图说明
图1是本说明书一实施例提供的一种错误音素识别方法的流程图;
图2是本说明书一实施例提供的一种待识别音素序列的获取过程示意图;
图3是本说明书一实施例提供的一种错误音素识别方法的实现过程示意图;
图4是本说明书一实施例提供的一种错误音素识别装置的结构示意图;
图5是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
音素(phone):是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素,音素分为元音与辅音两大类。汉语里,2-4个音素构成一个音节,一个音节对应一个汉字。
最长公共子序列(lcs,longestcommonsubsequence):是一个在一个序列集合中(通常为两个序列)用来查找所有序列中最长子序列的问题。一个数列,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则称为已知序列的最长公共子序列。例如,一个序列s,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则s称为已知序列的最长公共子序列。
动态规划算法:通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解,每一个解都对应于一个值,希望找到具有最优值的解。
最大期望(expectation-maximizationalgorithm,em)算法:是一类通过迭代进行极大似然估计(maximumlikelihoodestimation,,mle)的优化算法,通常用于对包含隐变量(latentvariable)或缺失数据(incomplete-data)的概率模型进行参数估计。em算法的标准计算框架由e步(expectation-step)和m步(maximizationstep)交替组成,算法的收敛性可以确保迭代至少逼近局部极大值。
后验概率:是指在得到“结果”的信息后重新修正的概率,是“执果寻因”问题中的"果",先验概率与后验概率有不可分割的联系,后验概率的计算要以先验概率为基础,后验概率可以根据通过贝叶斯公式,用先验概率和似然函数计算出来。事情还没有发生,要求这件事情发生的可能性的大小,是先验概率;事情已经发生,要求这件事情发生的原因是由某个因素引起的可能性的大小,是后验概率。
梅尔频率倒谱系数(mel-scalefrequencycepstralcoefficients,mfcc):就是组成梅尔频率倒谱的系数,是在mel标度频率域提取出来的倒谱参数,mel标度描述了人耳频率的非线性特性。
编辑距离:也叫莱文斯坦距离(levenshtein),是针对2个字符串的差异程度的量化量测,量测方式是看至少需要多少次的处理才能将一个字符串变成另一个字符串。编辑距离可以用在自然语言处理中,例如拼写检查可以根据一个拼错的字和其他正确的字的编辑距离,判断哪一个(或哪几个)是比较可能的字。
在本说明书中,提供了一种错误音素识别方法,本说明书同时涉及一种错误音素识别装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一实施例提供的一种错误音素识别方法的流程图,具体包括以下步骤:
步骤102:确定针对目标文本的至少一个待识别音素序列,并统计至少一个待识别音素序列中参考音素序列出现的初始频次,其中,参考音素序列为对至少一个待识别音素序列分类得到。
实际应用中,对儿童的语音数据进行错误发音识别时,需要语言学专家的人工分析和干预,每种错误发音情况都需要语言学专家的分析与鉴定,才能加入到错误发音中,不仅成本高,还缺乏足够的灵活性。同时,语言学专家本身在判断错误发音时,具有一定的主观性。此外,语言学专家给出的结果通常局限于理论层面的分析,可能与真实的错误发音之间存在一定差异。
因而,为了避免错误音素识别单纯依赖于先验的语言学规则,且避免人工干预,本说明书提高了一种错误音素识别方法,确定针对目标文本的至少一个待识别音素序列,并统计至少一个待识别音素序列中参考音素序列出现的初始频次;然后根据目标文本的标准音素序列,确定参考音素序列中目标文字对应的错误音素范围;再根据参考音素序列出现的初始频次以及错误音素范围中预估错误音素出现的概率,确定并反馈参考音素序列中的错误音素。错误音素的识别可以基于真实场景下的儿童的语音数据,错误音素识别的结论更加可靠准确。
本实施例一个可选的实施方式中,可以让儿童针对给定的目标文本录制语音数据,并识别得到对应的音素序列,因而确定针对目标文本的至少一个待识别音素序列,包括:
获取针对目标文本录制的至少一个待识别语音;
对至少一个待识别语音进行音素识别,得到至少一个待识别音素序列。
具体的,目标文本是预先给定的文本,待识别音素序列是儿童针对目标文本录制的待识别语音对应的音素序列,本说明书中不对目标文本的个数进行限制,该目标文本的个数可以为一个、两个或者多个,实际应用中,目标文本的个数越多,后续识别出的错误音素的准确率也就越高。示例的,目标文本可以为“我在上课”、“我去上学”和“我喜欢上学”等。
另外,针对一个目标文本可以录制至少一个待识别语音,对至少一个待识别语音进行分类,即可得到上述至少一类参考音素序列。实际应用中,待识别语音的个数越多,后续识别出的错误音素的准确率也就越高。
本实施例一个可选的实施方式中,可以结合声学模型和语言模型对待识别语音进行识别,得到对应的待识别音素序列,也即对至少一个待识别语音进行音素识别,得到至少一个待识别音素序列,具体实现过程可以如下:
针对至少一个待识别语音中的每个待识别语音,通过声学模型预测待识别语音的声学特征对应的预测音素;
通过语言模型获得待识别语音对应预测音素序列的概率;
根据待识别语音对应预测音素序列的概率,将预测音素构成的音素序列中概率最大的目标音素序列确定为待识别语音对应的待识别音素序列。
具体的,针对至少一个待识别语音中的每个待识别语音均通过上述识别方法进行识别,即可得到至少一个待识别语音对应的至少一个待识别音素序列,其中,一个待识别语音对应有一个待识别音素序列。
需要说明的是,声学模型是用来估计语音信号和音素之间相关性的模型。简单理解的话,声学模型能够在输入语音信号的声学特征时,输出该声学特征对应于不同音素的概率。语言模型是用来衡量一段音素序列出现概率的模型。本说明书中是为了达到识别音素的功能,所以可以结合声学模型和语言模型。
一种可能的实现方式中,获得至少一个待识别音素序列的过程如图2所示,针对至少一个待识别语音中的每个待识别语音,提取该待识别语音的声学特征,该声学特征可以为40维度的梅尔频率倒谱系数(mfcc);然后将该声学特征输入声学模型,可以得到待识别语音的每个时刻的声学特征对应的音素概率分布情况(即预测音素及各个预测音素对应的概率);另外,将待识别语音输入语言模型,可以得到不同音素序列的概率;之后,通过解码器结合各个预测音素对应的概率(声学模型的输出)和不同音素序列的概率(语音模型的输出),就可以将预测音素构成的音素序列中概率最大的目标音素序列确定为待识别语音对应的待识别音素序列。
其中,解码器用于将语言模型和声学模型等模块的信息结合到一起,帮助找到概率最高结果。声学模型提供的信息,能够获得每个时刻对应不同音素的概率;语言模型提供的信息,能够得到不同音素音素序列的概率;解码器的作用,就相当于整合声学模型和语言模型的信息,搜索出声学模型预测的音素构成的所有序列中,概率最大的那个音素序列,作为这个待识别语音的音素识别结果。
示例的,给定一条待识别语音,真实对应的文本是“我在上课”,但是本说明书中不需要进行语音识别得到文字,只是想要得到这段语音对应的音素序列“wo3zai4shang4ke4”(此处音素用拼音来表示,wo3中的3表示音调)。声学模型的作用:识别出每个时刻输入声学特征对应的音素概率分布情况,如第一个音素,概率最大的是w,其次是u等等,但可能第二个音素概率最大的是o2,其次才是o3。所以这时候需要结合语言模型,用来判断一串音素序列的出现概率,比如“wo2zai4shang4ke4”的概率比“wo3zai4shang4ke4”的概率低很多,就可以排除不准确的识别结果,而得到更准确的音素序列。
本说明书通过对待识别语音(现有的儿童语音)进行音素识别,得到每个待识别语音对应的待识别音素序列,将识别的结果认为是儿童的发音情况,便于后续和真实的标准发音进行比较,总结得到错误音素(即儿童的常见错误发音)。并且,在对待识别语音进行识别时,结合声学模型和语言模型,提高了待识别音素序列的识别准确率,从而保证了识别结果的可信度,从而可以提高后续确定错误音素的准确率。
需要说明的是,音素识别的任务只要求识别得到音素级的结果,不要求识别出对应的文字,因此上述声学模型和语音模型可以基于音素建模得到的,训练声学模型和语言模型时,使用的语音样本的标签可以是音素(或音素构成的序列),而不是通常的汉字序列或词序列,具体训练过程可以参考现有技术中模型训练的相关内容,本说明书在此不再赘述。
本实施例一个可选的实施方式中,统计至少一个待识别音素序列中参考音素序列出现的初始频次,具体实现过程可以如下:
对至少一个待识别音素序列进行分类,得到至少一类参考音素序列;
统计至少一类参考音素序列中每一类参考音素序列出现的初始频次。
示例的,目标文本为“我在上课”,获取到了100个待识别语音,对应有100个待识别音素序列,对100个待识别音素序列进行分类,得到3类参考音素序列,分别为【wo3zai4shang4ke4】、【wo3zai4sang1ke4】、【wo3zai4jia1li3sang1ke4】,且【wo3zai4shang4ke4】出现50次、【wo3zai4sang1ke4】出现40次、【wo3zai4jia1li3sang1ke4】出现10次,也即是,参考音素序列【wo3zai4shang4ke4】出现的初始频次为50,参考音素序列【wo3zai4sang1ke4】出现的初始频次为40,参考音素序列【wo3zai4jia1li3sang1ke4】出现的初始频次为10。
本实施例一个可选的实施方式中,为了标识对应的目标文本,还可以先将目标文本和待识别音素序列进行组合,然后再统计初始频次,此时统计至少一个待识别音素序列中参考音素序列出现的初始频次,具体实现过程可以如下:
将目标文本的汉字序列依次和至少一个待识别音素序列进行组合,得到至少一组文本音素数据对;
对至少一组文本音素数据对进行分类,得到至少一类参考文本音素数据对;
统计至少一类参考文本音素数据对中每一类参考文本音素数据对出现的初始频次;
将参考文本音素数据对出现的初始频次,确定为参考音素序列出现的初始频次。
需要说明的是,参考文本音素数据对就相当于参考音素序列,参考文本音素数据对出现的初始频次就相当于参考音素序列出现的初始频次。
沿用上例,将“我在上课”依次和100个待识别音素序列进行组合,得到100组文本音素数据对,对100组文本音素数据对进行分类,得到3类参考文本音素数据对,分别为【我在上课,wo3zai4shang4ke4】、【我在上课,wo3zai4sang1ke4】、【我在上课,wo3zai4jia1li3sang1ke4】,且【我在上课,wo3zai4shang4ke4】出现50次、【我在上课,wo3zai4sang1ke4】出现40次、【我在上课,wo3zai4jia1li3sang1ke4】出现10次,也即是,参考文本音素数据对【我在上课,wo3zai4shang4ke4】出现的初始频次为50,参考文本音素数据对【我在上课,wo3zai4sang1ke4】出现的初始频次为40,参考文本音素数据对【我在上课,wo3zai4jia1li3sang1ke4】出现的初始频次为10。
步骤104:根据目标文本的标准音素序列,确定参考音素序列中目标文字对应的错误音素范围。
具体的,在确定针对目标文本的至少一个待识别音素序列,并统计至少一个待识别音素序列中参考音素序列出现的初始频次的基础上,进一步的,将根据目标文本的标准音素序列,确定参考音素序列中目标文字对应的错误音素范围。
需要说明的是,如果对至少一个待识别音素序列分类得到了一类参考音素序列,则针对该参考音素序列进行后续识别步骤,确定出该参考音素序列中的错误音素;如果对至少一个待识别音素序列分类得到了多类参考音素序列,则此步骤中的参考音素序列为多个参考音素序列中的任一参考音素序列。也就是说,针对分类得到的每个参考音素序列都要识别一次,确定出参考音素序列中的错误音素。
本实施例一个可选的实施方式中,根据目标文本的标准音素序列,确定参考音素序列中目标文字对应的错误音素范围,具体实现过程可以为:
确定参考音素序列与标准音素序列的最大公共子序列;
基于最大公共子序列,对参考音素序列进行划分,确定出目标文字对应的错误音素范围。
需要说明的是,具体实现时,可以通过动态规划算法得到参考音素序列与标准音素序列的最大公共子序列。其中,最大公共子序列是要从两个序列中,找出最长的公共的部分(中间可以断开),相当于找出两个序列的重复的部分。实际上就是通过对齐,找到识别的音素结果(待识别音素序列)中,错误音素(即错误发音)在待识别音素序列中的位置范围。
示例的,儿童的跟读语音中,可能不仅会说出目标文本的字词,目标文本“我在上课”如果都只说成“wo3zai4shang4ke4”,或者“wo3zai4sang1ke4”,那直接对应即可发现“shang4”被错误发音成了“sang1”。但是真实场景的语音中,存在很多数据,儿童没有按照要求跟读说出“我在上课”,而是更改了一些内容,如说成了“我正在家里上课”,对应的音素是“wo3zheng4zai4jia1li3sang1ke4”,这种情况下就不能直接按照顺序将音素依次对应起来,而是需要寻找“最大公共子序列”。表1是确定错误音素范围的对比表格,如下表1所示,最大公共子序列的目的是为了得到表1中的“对齐”结果,“对齐”就是将两个序列相同的部分对应起来,然后就能得到出错的音素的位置范围。对于表格里标准音素“shang4”,没有找到与之对应的错误音素,但是能够缩小“shang4”对应的错误音素范围是【jia1li3sang1】。
表1确定错误音素范围的对比表格
本实施例一个可选的实施方式中,还需要预先确定出目标文本的标准音素序列,因而根据目标文本的标准音素序列,确定参考音素序列中目标文字对应的错误音素范围之前,还包括:
获取目标文本的标准音素序列;或者,
获取目标文本对应的标准语音,对标准语音进行音素识别,获得标准音素序列。
需要说明的是,可以直接根据已有的中文通用发音词典,获取到目标文本中每个文字的标准音素,从而组成目标文本的标准音素序列。还可以,先获取到目标文本对应的标准语音,然后通过与待识别语音相同的方式进行音素识别,得到目标文本的标准音素。
示例的,目标文本为“我在上课”,通过中文通用发音词典(例如新华字典),通过字典,查找到“我”的拼音为“wo3”、“在”的拼音为“zai4”、“上”的拼音为“shang4”、“课”的拼音为“ke4”,那么此时目标文本“我在上课”对应的标准音素序列为【wo3zai4shang4ke4】。
步骤106:根据参考音素序列出现的初始频次以及错误音素范围中预估错误音素出现的概率,确定并反馈参考音素序列中的错误音素。
具体的,在根据目标文本的标准音素序列,确定参考音素序列中目标文字对应的错误音素范围的基础上,进一步的,将根据参考音素序列出现的初始频次以及错误音素范围中预估错误音素出现的概率,确定并反馈参考音素序列中的错误音素。其中,错误音素范围中包括的各个音节的对应的音素可以组成多个预估错误音素,然后通过计算处理,选取预估错误音素中最可能的预估错误音素作为参考音素序列中的错误音素。也就是说,预估错误音素不是一个音素,而是一组音素(一个音节对应多个音素),每个预估错误音素代表一个音节的错误音素,如错误音素范围是【jia1li3sang1】,其包括3个预估错误音素【jia1】、【li3】、【sang1】。
本实施例一个可选的实施方式中,根据参考音素序列出现的初始频次以及错误音素范围中预估错误音素出现的概率,确定并反馈参考音素序列中的错误音素,包括:
根据参考音素序列出现的初始频次,确定错误音素范围中预估错误音素出现的初始频次;
根据预估错误音素出现的概率,对预估错误音素出现的初始频次进行更新,获得预估错误音素的更新频次;
根据预估错误音素的更新频次,确定并反馈待识别音素序列中的错误音素。
其中,根据预估错误音素出现的概率,对预估错误音素出现的初始频次进行更新,获得预估错误音素的更新频次,包括:
设置预估错误音素出现的概率;
根据该概率和预估错误音素出现的初始频次,计算预估错误音素出现的中间频次;
根据中间频次,计算预估错误音素出现的概率;
迭代执行根据预估错误音素出现的概率,计算预估错误音素出现的中间频次,并根据中间频次,计算预估错误音素出现的概率的操作步骤,直至收敛,获得预估错误音素的更新频次。
需要说明的是,根据参考音素序列出现的初始频次以及错误音素范围中预估错误音素出现的概率,确定并反馈参考音素序列中的错误音素,实际上可以采用最大期望算法,迭代求解参考音素序列的错误音素范围中各个预估错误音素的发音概率分布。具体的,初始化各个预估错误音素出现的概率相等,先确定出错误音素范围中各个预估错误音素出现的初始频次,计算各个预估错误音素的后验概率,然后根据该后验概率,更新计算得到各个预估错误音素的中间频次,然后迭代求解,得到各个预估错误音素的更新频次,从而确定出待识别音素序列中的错误音素。
也就是说,即使通过“最大公共子序列”确定了错误发音的大致范围,仍然不知道错误发音被发成了哪个音(即不知道目标文字被错误发成了待识别音素序列中的哪个错误音素)。因而,可以采用最大期望算法,迭代求解音素序列的划分方式和预估错误音素的发音概率分布。
沿用上例,如上表1所示的【shang4】对应的错误音素范围为【jia1li3sang1】,也就是说,不确定【shang4】被错误发音为【jia1】、【li3】或【sang1】,甚至如果不考虑声母、韵母的先后位置,【shang4】还可能被错误发音为【ia1l】。因而,需要通过最大期望算法,对各个预估错误音素出现的概率和频次进行计算,以最终确定出【shang4】被错误发音为哪个发音。
示例的,假设参考音素序列1【wo3zai4shang4ke4】出现100次,参考音素序列2【wo3zai4sang1ke4】出现100次,参考音素序列3【wo3zai4jia1li3sang1ke4】出现50次。针对参考音素序列3【wo3zai4jia1li3sang1ke4】,将其和标准音素序列【wo3zai4shang4ke4】对比,确定出错误音素范围为【jia1li3sang1】,此时,预估错误音素为【jia1】、【li3】、【sang1】。初始化【jia1】出现的概率为0.3、【li3】出现的概率为0.3、【sang1】出现的概率为0.4。根据参考音素序列的出现频次,确定出【jia1】出现的初始频次为50(对应参考音素序列3)、【li3】出现的初始频次为50(对应参考音素序列3)、【sang1】出现的初始频次为150(对应参考音素序列2和3)。
之后,根据上述预估错误音素的初始频次,计算得到【jia1】出现的概率为50/(50+50+150)=0.2,【li3】出现的概率为50/(50+50+150)=0.2,【sang1】出现的概率为150/(50+50+150)=0.6。然后再根据该概率,更新计算预估错误音素的中间频次,【jia1】出现的中间频次为0.2*50=10,【li3】出现的中间频次为0.2*50=10,【sang1】出现的初始频次为0.8*150=120。再根据该中间频次,重新计算概率,计算得到【jia1】出现的概率为10/(10+10+120)=0.07,【li3】出现的概率为10/(10+10+120)=0.07,【sang1】出现的概率为120/(10+10+120)=0.86。之后,继续迭代执行根据概率计算中间频率,根据中间频率计算概率的操作步骤,直至收敛,得到预估错误音素的更新频次。
需要说明的是,预估错误音素出现的频次的计算和出现的概率之间是迭代进行计算和更新的,预估错误音素出现的概率依赖于预估错误音素出现的频次结果,频次的计算又依赖于概率,这是最大期望算法的核心思想,通过多次迭代,可以估计出更为精确的频次和概率。
本实施例一个可选的实施方式中,还可以结合其他目标文本,确定预估错误音素的初始频次,从而进行后续概率计算,此时根据目标文本的标准音素序列,确定参考音素序列中目标文字对应的错误音素范围之后,还包括:
确定目标文字在除目标文本外的其他文本中对应预估错误音素的目标频次;
相应的,根据参考音素序列出现的初始频次以及错误音素范围中预估错误音素出现的概率,确定并反馈参考音素序列中的错误音素,具体实现过程可以如下:
根据参考音素序列出现的初始频次、目标频次以及错误音素范围中预估错误音素出现的概率,确定并反馈参考音素序列中的错误音素。
需要说明的是,上述加入目标频次后,确定参考音素序列中的错误音素与根据参考音素序列出现的初始频次以及错误音素范围中预估错误音素出现的概率,确定参考音素序列中的错误音素的具体实现过程类似,在此不再赘述。
沿用上例,对于上述表1中【shang4】对应的错误音素范围中,起初是不知道错误发音是【sang1】,但是如果在其他文本中,比如“我喜欢上学”即“wo3xi3huan1sang1xue2”中,【shang4】被定位到错误是【sang1】,或者错误音素范围内也包含【sang1】,那么在统计时,【shang4】被错误发音成【sang1】的频次是更大的,认为出现的概率是更高的。
本说明书中可以基于最大公共子序列和最大期望算法,对每个字的发音情况和可能性大小进行概率估计,实现了错误发音的自动发现。
本实施例一个可选的实施方式中,可以根据计算得到的预估错误音素的更新,选择错误音素,也即根据预估错误音素的更新频次,确定并反馈待识别音素序列中的错误音素,包括:
选择更新频次中排序靠前的预设数值个更新频次对应的预估错误音素;
将选择的预估错误音素确定为待识别音素序列中的错误音素,并进行反馈。
需要说明的是,错误音素获取主要基于错误音素出现的概率和频次,数值大小能够反映出相应发音错误的概率。因而,可以选择频次靠前的若干预估错误音素(即发音)作为常见错误音素。
本实施例一个可选的实施方式中,还可以根据预估错误音素和标准音素的距离,选择最后的错误音素,也即根据预估错误音素的更新频次,确定并反馈待识别音素序列中的错误音素,具体实现过程还可以如下:
计算预估错误音素和标准音素之间的编辑距离;
将小于距离阈值的编辑距离对应的预估错误音素确定为待识别音素序列中的错误音素,并进行反馈。
需要说明的是,本说明书中可以添加额外的约束条件,比如将标准音素与识别出的预估错误音素之间的编辑距离限制在一定阈值内,选择与标准音素更相近的错误音素。
本实施例一个可选的实施方式中,还可以与语言学规则相结合筛选最后的错误音素,也即根据预估错误音素的更新频次,确定并反馈待识别音素序列中的错误音素,具体实现过程还可以如下:
将预估错误音素中属于目标错误类型的预估错误音素确定为待识别音素序列中的错误音素,并进行反馈。
具体的,目标错误类型可以为语言学规则中的错误类型,如声母错误、韵母错误和声调错误等。需要说明的是,语言学规则中发音错误大致可分为声母错误、韵母错误和声调错误三种,只包含一种错误的发音可信度更高,因而可以进一步单独筛选只包括目标错误类型的预估错误音素,作为最后的错误音素。
实际应用中,还可以通过加入更大规模的儿童语音数据,帮助自动识别出儿童在讲普通话时更多、更准确的错误发音(即错误音素),提高错误发音识别的效果。另外,还可以通过增大选取的预设数值、提高编辑距离的阈值等约束条件,获得更多的错误发音;反之,减小预设数值或者降低编辑距离阈值,能够获得更典型的错误发音,使得错误发音的发现过程具有更高的灵活性。
进一步的,在确定出参考音素序列中的错误音素后,还可以对该错误音素进行反馈,具体的,反馈参考音素序列中的错误音素具体实现过程可以如下:
根据目标文字和错误音素生成错误提醒,错误提醒为文字提醒或语音提醒。
需要说明的是,本说明书中可以生成错误提醒,以通过该错误提醒进行后续发音教学和矫正。
示例的,假设针对参考音素序列【wo3zai4jia1li3sang1ke4】,确定出错误音素为【sang1】,也即是,儿童很有可能将【shang4】错误发音为【sang1】,此时生成错误提醒:请注意儿童日常发音中【shang4】是否错误发音为【sang1】!。
进一步的,还可以根据错误音素的识别结果,对儿童发音进行矫正,具体的,反馈参考音素序列中的错误音素之后,还包括:
根据目标文字和错误音素,确定并展示发音纠正信息。
需要说明的是,发音纠正信息可以为目标文字的正确发音方法和/或错误发音的原因,通过展示发音纠正信息,可以帮助教师注意并纠正儿童的错误发音。
示例的,假设确定出儿童很有可能将【shang4】错误发音为【sang1】,此时展示错误发出【sang1】的原因以及【shang4】的正确发音方法。
本说明书提供的错误音素识别方法,确定针对目标文本的至少一个待识别音素序列,并统计至少一个待识别音素序列中参考音素序列出现的初始频次,其中,参考音素序列为对至少一个待识别音素序列分类得到;根据目标文本的标准音素序列,确定参考音素序列中目标文字对应的错误音素范围;根据参考音素序列出现的初始频次以及错误音素范围中预估错误音素出现的概率,确定并反馈参考音素序列中的错误音素。本说明书中可以基于大量真实场景下的儿童的语音数据,将儿童大量的语音数据识别出的音素序列与正确的音素序列进行对比,统计发音错误的音素,进而得到常见的错误发音,错误发音的识别可以基于真实场景下的儿童的语音数据,既避免了错误发音识别单纯依赖于先验的语言学规则,又避免了人工介入,使得错误发音识别的结论更加可靠准确,更适用于真实的应用场景。另外,本说明书在自动发现错误发音时,具有更高的灵活性,一方面可以在统计时加入更大规模的儿童语音数据,进行错误发音的挖掘;另一方面能够调整阈值参数,进而控制发现的错误发音的数量和代表性。
图3示出了根据本说明书一实施例提供的一种错误音素识别方法的实现过程示意图,具体包括:
步骤302:给定目标文本。
步骤304:获取针对目标文本录制的至少一个待识别语音。
步骤306:对至少一个待识别语音进行音素识别。
步骤308:获得至少一个待识别音素序列。
步骤310:确定目标文本的汉字序列。
步骤312:将汉字序列依次和至少一个待识别音素序列进行组合,得到至少一组文本音素数据对。
步骤314:对至少一组文本音素数据对进行分类,得到至少一类参考文本音素数据对,统计至少一类参考文本音素数据对中每一类参考文本音素数据对出现的初始频次。
需要说明的是,上述步骤302-314是语音识别过程的数据准备阶段。
步骤316:获取中文通用发音词典。
步骤318:通过中文通用发音词典获取目标文本的标准音素序列。
步骤320:确定待识别音素序列与标准音素序列的最大公共子序列。
步骤322:根据最大公共子序列和参考文本音素数据对出现的初始频次,采用最大期望算法,估计待识别语音中错误发音出现的概率。
需要说明的是,上述步骤320-322是错误音素识别方法的发音概率建模阶段。
步骤324:将编辑距离作为约束条件,确定待识别音素序列中的错误发音。
步骤326:输出错误发音集合。
需要说明的是,上述步骤324-326是错误音素识别方法的错误发音获取阶段。
本说明书提供的错误音素识别方法,可以基于大量真实场景下的儿童的语音数据,将儿童大量的语音数据识别出的音素序列与正确的音素序列进行对比,统计发音错误的音素,进而得到常见的错误发音,错误发音的识别可以基于真实场景下的儿童的语音数据,既避免了错误发音识别单纯依赖于先验的语言学规则,又避免了人工介入,使得错误发音识别的结论更加可靠准确,更适用于真实的应用场景。
与上述方法实施例相对应,本说明书还提供了错误音素识别装置实施例,图4示出了本说明书一实施例提供的一种错误音素识别装置的结构示意图。如图4所示,该装置包括:
统计模块402,被配置为确定针对目标文本的至少一个待识别音素序列,并统计所述至少一个待识别音素序列中参考音素序列出现的初始频次,其中,所述参考音素序列为对所述至少一个待识别音素序列分类得到;
第一确定模块404,被配置为根据所述目标文本的标准音素序列,确定所述参考音素序列中目标文字对应的错误音素范围;
反馈模块406,被配置为根据所述参考音素序列出现的初始频次以及所述错误音素范围中预估错误音素出现的概率,确定并反馈所述参考音素序列中的错误音素。
可选的,统计模块402进一步被配置为:
获取针对所述目标文本录制的至少一个待识别语音;
对所述至少一个待识别语音进行音素识别,得到所述至少一个待识别音素序列。
可选的,统计模块402进一步被配置为:
针对所述至少一个待识别语音中的每个所述待识别语音,通过声学模型预测所述待识别语音的声学特征对应的预测音素;
通过语言模型获得所述待识别语音对应预测音素序列的概率;
根据所述待识别语音对应预测音素序列的概率,将所述预测音素构成的音素序列中概率最大的目标音素序列确定为所述待识别语音对应的待识别音素序列。
可选的,统计模块402进一步被配置为:
对所述至少一个待识别音素序列进行分类,得到至少一类所述参考音素序列;
统计所述至少一类参考音素序列中每一类参考音素序列出现的初始频次。
可选的,统计模块402进一步被配置为:
将所述目标文本的汉字序列依次和所述至少一个待识别音素序列进行组合,得到至少一组文本音素数据对;
对所述至少一组文本音素数据对进行分类,得到至少一类参考文本音素数据对;
统计所述至少一类参考文本音素数据对中每一类参考文本音素数据对出现的初始频次;
将所述参考文本音素数据对出现的初始频次,确定为所述参考音素序列出现的初始频次。
可选的,所述装置还包括:
第一获取模块,被配置为获取所述目标文本的标准音素序列;或者,
第一获取模块,被配置为获取所述目标文本对应的标准语音,对所述标准语音进行音素识别,获得所述标准音素序列。
可选的,确定模块404进一步被配置为:
确定所述参考音素序列与所述标准音素序列的最大公共子序列;
基于所述最大公共子序列,对所述参考音素序列进行划分,确定出所述目标文字对应的错误音素范围。
可选的,反馈模块406进一步被配置为:
根据所述参考音素序列出现的初始频次,确定所述错误音素范围中预估错误音素出现的初始频次;
根据所述预估错误音素出现的概率,对所述预估错误音素出现的初始频次进行更新,获得所述预估错误音素的更新频次;
根据所述预估错误音素的更新频次,确定并反馈所述待识别音素序列中的错误音素。
可选的,反馈模块406进一步被配置为:
设置所述预估错误音素出现的概率;
根据所述概率和所述预估错误音素出现的初始频次,计算所述预估错误音素出现的中间频次;
根据所述中间频次,计算所述预估错误音素出现的概率;
迭代执行根据所述预估错误音素出现的概率,计算所述预估错误音素出现的中间频次,并根据所述中间频次,计算所述预估错误音素出现的概率的操作步骤,直至收敛,获得所述预估错误音素的更新频次。
可选的,反馈模块406进一步被配置为:
选择所述更新频次中排序靠前的预设数值个更新频次对应的预估错误音素;
将选择的所述预估错误音素确定为所述待识别音素序列中的错误音素,并进行反馈。
可选的,反馈模块406进一步被配置为:
计算所述预估错误音素和标准音素之间的编辑距离;
将小于距离阈值的编辑距离对应的预估错误音素确定为所述待识别音素序列中的错误音素,并进行反馈。
可选的,反馈模块406进一步被配置为:
将所述预估错误音素中属于目标错误类型的预估错误音素确定为所述待识别音素序列中的错误音素,并进行反馈。
可选的,所述装置还包括:
第二确定模块,被配置为确定所述目标文字在除所述目标文本外的其他文本中对应预估错误音素的目标频次;
相应的,反馈模块406进一步被配置为:
根据所述参考音素序列出现的初始频次、所述目标频次以及所述错误音素范围中预估错误音素出现的概率,确定并反馈所述参考音素序列中的错误音素。
可选的,反馈模块406进一步被配置为:
根据所述目标文字和所述错误音素生成错误提醒,所述错误提醒为文字提醒或语音提醒。
可选的,所述装置还包括:
第三确定模块,被配置为根据所述目标文字和所述错误音素,确定并展示发音纠正信息。
本说明书提供的错误音素识别装置,可以基于大量真实场景下的儿童的语音数据,将儿童大量的语音数据识别出的音素序列与正确的音素序列进行对比,统计发音错误的音素,进而得到常见的错误发音,错误发音的识别可以基于真实场景下的儿童的语音数据,既避免了错误发音识别单纯依赖于先验的语言学规则,又避免了人工介入,使得错误发音识别的结论更加可靠准确,更适用于真实的应用场景。
上述为本实施例的一种错误音素识别装置的示意性方案。需要说明的是,该错误音素识别装置的技术方案与上述的错误音素识别方法的技术方案属于同一构思,错误音素识别装置的技术方案未详细描述的细节内容,均可以参见上述错误音素识别方法的技术方案的描述。
图5示出了根据本说明书一实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,以实现下述方法:
确定针对目标文本的至少一个待识别音素序列,并统计所述至少一个待识别音素序列中参考音素序列出现的初始频次,其中,所述参考音素序列为对所述至少一个待识别音素序列分类得到;
根据所述目标文本的标准音素序列,确定所述参考音素序列中目标文字对应的错误音素范围;
根据所述参考音素序列出现的初始频次以及所述错误音素范围中预估错误音素出现的概率,确定并反馈所述参考音素序列中的错误音素。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的错误音素识别方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述错误音素识别方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于实现上述错误音素识别方法的操作步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的错误音素识别方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述错误音素识别方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除