基于人工智能的语音处理方法及其装置与流程

文档序号:13616206阅读:805来源:国知局
基于人工智能的语音处理方法及其装置与流程

本发明涉及人工智能领域,尤其涉及一种基于人工智能的语音处理方法及其装置。



背景技术:

人工智能(artificialintelligence),英文缩写为ai。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语音识别、图像识别、自然语言处理和专家系统等。

目前在语音合成领域,大多采用人工方式进行语音切分,然后基于人工识别出每个语音片段对应的原始文本,然后标注拼音等最后形成用于对语音合成模型进行训练的标注数据,但是人工标注方式,在语音量较大的情况下,往往会出现标注数据生成效率低,切分或者识别过程中容易出现错误的问题,而且存在人工成本较高的问题。



技术实现要素:

本发明旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种基于人工智能的语音处理方法,以实现自动对语音进行切分以及标注,形成准确率较高的用于对语音合成模型进行训练的标注数据,用于解决现有人工标注方式标注数据生成的效率低,切分或者识别过程中容易出现错误,而且人工成本较高的问题。

本发明的第二个目的在于提出一种基于人工智能的语音处理装置。

本发明的第三个目的在于提出另一种计算机设备。

本发明的第四个目的在于提出一种计算机程序产品。

本发明的第五个目的在于提出一种非临时性计算机可读存储介质。

为达上述目的,本发明第一方面实施例提出了一种基于人工智能的语音处理方法,包括:

采集语音进行切分,形成多个语音片段,识别每个语音片段,获取所述语音片段的识别文本片段;

按照识别文本片段的顺序,从与当前识别文本片段对应的原始文本中,确定当前识别文本片段的原始文本片段;

对原始文本片段以及原始文本片段对应的语音片段进行拼接,得到句子文本和所述句子文本对应的句子语音;

生成所述句子文本的拼音,并根据所述拼音形成音子序列,将所述音子序列与所述句子语音进行对齐,获取音子边界;

利用所述句子文本、所述句子语音、所述拼音以及所述音子边界,形成用于对语音合成模型进行训练的目标数据。

本发明实施例的基于人工智能的语音处理方法,通过采集语音进行切分,形成多个语音片段,识别每个语音片段,获取语音片段的识别文本片段,按照识别文本片段的顺序,从当前识别文本片段对应的原始文本中,确定当前识别文本片段的原始文本片段,对原始文本片段以及原始文本片段对应的语音片段进行拼接,得到句子文本和句子文本对应的句子语音,生成句子文本的拼音,并根据拼音形成音子序列,将音子序列与句子语音进行对齐,获取音子边界,利用句子文本、句子语音、拼音以及音子边界,形成用于对语音合成模型进行训练的目标数据。本实施例中,不再依赖人工方式对语音进行切分以及后续标注,实现自动对语音进行切分以及标注,形成准确率较高的用于对语音合成模型进行训练的标注数据,用于解决现有人工标注方式标注数据生成的效率低,切分或者识别过程中容易出现错误,而且人工成本较高的问题。

为达上述目的,本发明第二方面实施例提出了一种基于人工智能的语音处理装置,包括:

切分模块,用于采集语音进行切分,形成多个语音片段,识别每个语音片段,获取所述语音片段的识别文本片段;

片段匹配模块,用于按照识别文本片段的顺序,从当前识别文本片段对应的原始文本中,确定当前识别文本片段的原始文本片段;

拼接模块,用于对原始文本片段以及原始文本片段对应的语音片段进行拼接,得到句子文本和所述句子文本对应的句子语音;

边界生成模块,用于生成所述句子文本的拼音,并根据所述拼音形成音子序列,将所述音子序列与所述句子语音进行对齐,获取音子边界;

形成模块,用于利用所述句子文本、所述句子语音、所述拼音以及所述音子边界,形成用于对语音合成模型进行训练的目标数据。

本发明实施例的基于人工智能的语音处理装置,通过采集语音进行切分,形成多个语音片段,识别每个语音片段,获取语音片段的识别文本片段,按照识别文本片段的顺序,从当前识别文本片段对应的原始文本中,确定当前识别文本片段的原始文本片段,对原始文本片段以及原始文本片段对应的语音片段进行拼接,得到句子文本和句子文本对应的句子语音,生成句子文本的拼音,并根据拼音形成音子序列,将音子序列与句子语音进行对齐,获取音子边界,利用句子文本、句子语音、拼音以及音子边界,形成用于对语音合成模型进行训练的目标数据。本实施例中,不再依赖人工方式对语音进行切分以及后续标注,实现自动对语音进行切分以及标注,形成准确率较高的用于对语音合成模型进行训练的标注数据,用于解决现有人工标注方式标注数据生成的效率低,切分或者识别过程中容易出现错误,而且人工成本较高的问题。

为达上述目的,本发明第三方面实施例提出了计算机设备,包括:

处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如第一方面实施例所述的基于人工智能的语音处理方法。

为达上述目的,本发明第四方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时,以用于实现如第一方面实施例所述的基于人工智能的语音处理方法。

为达上述目的,本发明第五方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面实施例所述的基于人工智能的语音处理方法。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例所提供的一种基于人工智能的语音处理方法的流程示意图;

图2为本发明实施例所提供的为将句子文本与句子语音进行hmm-gmm对齐后的示意图;

图3为本发明实施例所提供的另一种基于人工智能的语音处理方法的流程示意图;

图4为本发明实施例所提供的另一种基于人工智能的语音处理方法的流程示意图;

图5为本发明实施例所提供的另一种基于人工智能的语音处理方法的流程示意图;

图6为本发明实施例所提供的另一种基于人工智能的语音处理方法的流程示意图;

图7为本发明实施例所提供的一种基于人工智能的语音处理装置的结构示意图;

图8为本发明实施例所提供的一种片段匹配模块的结构示意图;

图9为本发明实施例所提供的一种拼接模块的结构示意图;

图10为本发明实施例所提供的另一种拼接模块的结构示意图;

图11为本发明实施例所提供的一种计算机设备的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述本发明实施例的基于人工智能的语音处理方法及其装置。

图1为本发明实施例所提供的一种基于人工智能的语音处理方法的流程示意图。如图1所示,该基于人工智能的语音处理方法包括以下步骤:

s101、采集语音进行切分,形成多个语音片段,识别每个语音片段,获取语音片段的识别文本片段。

本实施例中,可以从录音棚、网络、移动终端上收集大量的音视频文件,将音频文件中的语音作为需要处理的对象。

作为一种示例,采用静音检测的方式对语音进行切分,形成多个语音片段,具体地,使用语音活动检测(voiceactivitydetection,简称vad)对语音进行分段,例如,可以设置一定的时间间隔,当静音的时间间隔超过预设的时间间隔时,就可以将语音在该静音点出进行切分,从而能够为语音形成多个语音片段。

为了提高语音切分的准确度,在上述静音检测的基础上,增加一个至少一个语音特征。一般情况下,静音时语音帧上携带的能量往往会较低,因此,本实施例中,还会采集语音中每帧的短时能量,结合静音时长和短时能量两个特征,来对语音进行切分。作为一种示例,逐帧获取语音中的当前帧的短时能量以及当前帧与相邻的前一帧之间的静音时长,在当前帧的短时能量和静音时长满足预设的切分条件时,则在当前帧处形成切分点,直到语音中的最后一帧,完成对语音的切分,形成多个语音片段。

在获取到多个语音片段后,可以利用语音识别模型,对语音片段进行识别,获取到每个语音片段对应的识别文本片段。

s102,按照识别文本片段的顺序,从当前识别文本片段对应的原始文本中,确定当前识别文本片段的原始文本片段。

本实施例中,每个识别文本片段识别出来后,识别文本片段可以按照顺序进行排列,或者为每个识别文本片段生成一个序号。

进一步地,按照识别文本片段的顺序,可以确定出当前识别文本片段对应的原始文本。本实施例中,可选地,在每次识别完一个识别文本片段后,可以将该识别文本片段对应的原始识别文本从原始文本中删除,形成一个新的原始文本。对于当前识别文本片段就可以将新的原始文本作为对应的原始文本。

可选地,在每次识别完一个识别文本片段后,可以标识该识别文本片段对应的原始文本片段中最后一个字符的位置,根据该最后一个字符的位置,就可以从该位置的下一个字符开始,将下一个字符以及后续字符作为下一个识别文本片段对应的原始文本。当识别到下一个识别文本片段后,该下一个识别文本片段将作为当前识别文本片段。

进一步地,在确定出当前识别文本片段后,可以从当前识别文本片段对应的原始文本的起始位置开始,将当前识别文本片段中的识别字符,与原始文本中原始字符进行比较,获取比较结果。具体地,可以两个字符进行字符串相似度计算,来确定需要比较的两个字符是否一致,如果一致就可以将两个字符的相似得分设置为第一数值,例如该第一数值可以为“1”,如果不一致就可以将两个字符的相似得分设置为第二数值,例如该第一数值可以为“0”。

在获取到比较结果后,可以根据比较结果获取与当前识别文本片段对应的原始文本片段。根据比较结果,可以确定出识别字符与原始字符是否一致,当出现连续不一致的情况下,就可以在得分高的地方进行截断,从而可以从原始文本的起始位置开始到截断处,形成当前识别文本片段对应的原始文本片段。

s103,对原始文本片段以及原始文本片段对应的语音片段进行拼接,得到句子文本和句子文本对应的句子语音。

本实施例中,由于语音被切分成多个语音片段,切分后的语音片段可能仅为几个字的组合,不能完整的表达一个句子。在获取到原始文本片段后,可以将原始文本片段进行拼接形成句子文本,本实施例中,可以按照原始文本片段中的标点符号进行拼接,或者按照原始文本片段的上下文语义进行拼接。

在原始文本片段的拼接形成一个句子文本时,还需要将与原始文本片段对应的语音片段进行拼接,形成原始文本片段对应的语音片段。具体地,每个语音片段对应一个识别文本片段,每个识别文本片段又对应一个原始文本片段,根据识别文本片段可以建立语音片段与原始文本片段之间的对应关系,在构建句子文本时就可以将原始文本片段对应的语音片段进行拼接,形成该句子文本对应的句子语音。

s104,生成句子文本的拼音,并根据拼音形成音子序列,将音子序列与句子语音进行对齐,获取音子边界。

在生成句子文本后,可以利用拼音词典对句子文本进行拼音标注,得到该句子文本的拼音。

进一步地,根据拼音形成音子序列,然后将音子序列与句子语音进行对齐,获取到句子语音中每个音子的音子边界。具体地,利用隐马尔可夫-高斯混合模型(hiddenmarkovmodelgaussianmixturemodel,简称hmm-gmm)将音子序列与句子语音进行对齐,获取到每个音子的起止时间,形成音子边界。

例如,句子文本为“今天天气怎么样?”得到的拼音“jin1tian1tian1qi4zen3mo5yang4”,根据上述拼音可以得到音子序列为“jintiantianqizenmoyang”,然后利用hmm-gmm将音子序列与句子语音进行对齐,可以形成每个音子的起始时间,即音子边界。

再例如,句子文本为000004“胡说#1八道#4”,拼音为“hu2shuo1ba1dao4”,利用hmm-gmm将语音与拼音对应的音子序列进行对齐后,得到音子边界为:

03100000sil;其中,sil表示语音开始前的静音,0为“sil”的起始时刻,3100000为“sil”的结束时刻。

31000005200000h;其中,3100000为“h”的起始时刻,5200000为“h”起始时刻。

52000006000000u;其中,5200000为“u”的起始时刻,6000000为“u”结束时刻。

60000006600000sh;其中,6000000为“sh”的起始时刻,6600000为“sh”结束时刻。

66000007300000uo;其中,6600000为“uo”的起始时刻,7300000为“uo”结束时刻。

73000008200000b;其中,7300000为“b”的起始时刻,8200000为“b”结束时刻。

82000009200000a;其中,8200000为“a”的起始时刻,9200000为“a”结束时刻。

920000010400000d;其中,9200000为“d”的起始时刻,10400000为“d”结束时刻。

1040000011800000ao;其中,10400000为“ao”的起始时刻,11800000为“ao”结束时刻。

1180000016400000sil;其中,sil表示语音结束前的静音,11800000为“sil”的起始时刻,16400000为“sil”结束时刻。

如图2所示,为上述句子文本通过hmm-gmm进行对齐后的示意图。

s105,利用句子文本、句子语音、拼音以及音子边界,形成用于对语音合成模型进行训练的目标数据。

在获取到句子文本、句子语音、拼音以及音子边界后,可以利用句子文本、句子语音、拼音以及音子边界,形成用于对语音合成模型进行训练的目标数据,即可以利用获取到的目标数据对语音合成模型进行训练。

作为一种示例,可以从句子语音中提取出句子的韵律,然后基于句子文本、句子语音、拼音、音子边界以及韵律,形成用于对语音合成模型进行训练的目标数据。

本实施例提供的基于人工智能的语音处理方法,通过采集语音进行切分,形成多个语音片段,识别每个语音片段,获取语音片段的识别文本片段,按照识别文本片段的顺序,从当前识别文本片段对应的原始文本中,确定当前识别文本片段的原始文本片段,对原始文本片段以及原始文本片段对应的语音片段进行拼接,得到句子文本和句子文本对应的句子语音,生成句子文本的拼音,并根据拼音形成音子序列,将音子序列与句子语音进行对齐,获取音子边界,利用句子文本、句子语音、拼音以及音子边界,形成用于对语音合成模型进行训练的目标数据。本实施例中,不再依赖人工方式对语音进行切分以及后续标注,实现自动对语音进行切分以及标注,形成准确率较高的用于对语音合成模型进行训练的标注数据,用于解决现有人工标注方式标注数据生成的效率低,切分或者识别过程中容易出现错误,而且人工成本较高的问题。

为了更加清楚地说明本发明实施例提供的基于人工智能的语音处理方法,在上述实施例的基础之上,图3为本发明实施例提供的另一种基于人工智能的语音处理方法的流程示意图。图3为上述实施例中s102的具体细化,包括以下步骤:

s301,按照识别文本片段的顺序,确定与当前识别文本片段对应的原始文本。

具体地,从第一个识别文本片段开始,按照顺序为每个识别文本片段确定对应的原始文本。本实施例中,在每次识别完一个识别文本片段后,可以将该识别文本片段对应的原始识别文本从原始文本中删除,形成一个新的原始文本。对于当前识别文本片段就可以将新的原始文本作为对应的原始文本。

s302,从原始文本的起始位置对应的原始字符开始,将当前识别文本片段与原始文本中的比较片段进行比较,获取当前识别文本片段与比较片段之间的相似度得分;其中,比较片段包括原始文本中至少一个原始字符。

本实施例中,从原始文本的起始位置对应的原始字符开始,该起始位置对应的原始字符也就是原始文本的第一个原始字符。需要说明的是,原始文本的起始位置为上一个识别文本片段对应的比较片段的截断处。

具体地,从原始文本中的第一个原始字符,组成一个比较片段。此处需要说明的是,比较片段包括至少一个原始字符。从第一个原始字符开始,在比较结果满足预设的条件时,可以逐个将原始文本中的后面的原始字符增加到比较片段中。预设的条件可参见下面步骤的介绍,此处不再赘述。

将当前识别文本片段与原始文本中的比较片段进行比较,获取当前识别文本片段与比较片段之间相似度得分。本实施例中,如果当前识别文本片段与比较片段一致时,则相似度得分为“1”,如果当前识别文本片段与比较片段不一致时,则相似度得分是小于1的小数。

s303,如果所述相似度得分增大,则对原始文本的结束标志位加1。

本实施例中,每当进行一次当前识别文本片段与比较片段的比较之后,就会更新当前识别文本片段的相似度得分。

进一步地,在获取到相似度得分后,判断相似度得分是否增大,如果相似度得分增大,则对原始文本的结束标志位加1,并继续将下一个原始字符增加到比较片段中,即利用下一个原始字符更新比较片段然后进行下一次比较。即当比较出相似度得分增大,则继续执行s308利用下一个新的原始字符更新比较片段并继续进行下一次比较。

本实施例中,在每个识别文本片段进行比较之前,为该识别文本片段预先设置一个结束标志位,并且该结束标志位初始值为0,每当一个原始文本中的一个原始字符进行比较后,如果比较出相似度得分增大时,该结束标志位就会加1。本实施例中,在每个识别文本片段进行比较之前,将该识别文本片段的相似度得分初始化为0。

s304,如果所述相似度得分降低,则对得分下降标识符加1。

s305,判断当前得分下降标识符的取值是否达到预设的数值。

而如果相似度得分降低,对得分下降标识符加1,判断当前得分下降标识符的取值是否达到预设的数值。本实施例中,为当前识别文本片段预先设置一个得分下降标识符,初始值为0,在当前识别文本片段与比较片段之间的相似度得分下降时,此时可以对得分下降标识符加1。

本实施例中,如果相似度得分连续下降,说明识别文本片段与原始文本后面的文本的相似度越来越低,为了减少比较次数降低运算量,每当相似度得分下降后,会对得分下降标识符加1。本实施例中,预先为当前识别文本设置一个数值,通过将得分下降标识符的取值与预设的数值比较,来判断是否停止后续比较。当得分下降标识符的取值到达与预设的数值时,则停止对原始文本中后续识别字符的识别,执行s306。如果当前得分下降标识符的取值未达到预设的数值,则继续执行s308利用下一个新的原始字符更新所述第一片段并继续进行下一次比较。

s306,从原始文本的第一个原始字符开始往后提取与结束标志位取值相同个数的原始字符。

s307,利用提取出的所有原始字符,生成当前识别文本片段对应的原始文本片段。

本实施例中,当判断出需要停止后续比较后,则从原始文本的第一个原始字符开始往后提取与结束标志位取值相同个数的原始字符,利用提取出的所有原始字符,生成当前识别文本片段对应的原始文本片段。

举例说明,相似度得分的计算过程:

当前识别文本片段:你好

原始文本:您好啊,明天去哪里?

第一步:计算“你好”和“您”的相似得分0,由于两者不一致,得分为0,由于相似得分的初始值为0,因此,经过此次比较之后,相似得分不变,则将原始文本中“好”字增加到比较片段中,组成“您好”继续比较。

第二步:计算“你好”和“您好”的相似得分,由于两者有一个字符一致,则相似度得分为0.5,可以得出相似度得分增大,则继续进行比较,并且保存当前的相似度得分0.5。

第三步:计算“你好”和“您好啊”的相似度得分,该相似度得分为0.33,可以得出相似度得分减小1次。由于预设的减小次数为3次,当前仅减小了1次,则继续增加“明”到比较片段中进行下次比较。

第四步:计算,“你好”和“您好啊,明”,的相似度得分,该相似度得分为0.25。,可以得出相似度得分又减小1次,即连续减小2次。由于预设的减小次数为3次,当前仅减小了2次,则继续增加“天”到比较片段中进行下次比较。

第五步:计算,“你好”和“您好啊,明天”,的相似度得分,该相似度得分为0.2。,可以得出相似度得分又减小1次,即连续减小3次。,由于达到预设的减小次数,则终止比较。

第六步,从最大的相似度得分的位置截取字符串,得到“您好”。

s308,利用下一个新的原始字符更新所述第一片段并继续进行下一次比较。

将下一个新的原始字符增加到比较片段中,并继续将当前识别文本片段与新的比较片段进行下一次比较,然后返回执行s302。

实际应用时,有些原始文本来自网络,原始文本中可能存在一些错误,或者一些多余的词,本实施例中,为了修正原始文本片段中多余或错误的字符。在上述实施例的基础上,图4提供的另一种基于人工智能的语音处理方法的流程示意图。图4提供的过程用于修正原始文本片段中多余或错误的字符。如图4所示,所述利用提取出的所有原始字符,生成当前识别文本片段对应的所述原始文本片段,具体包括以下步骤:

s401,利用提取出的所有原始字符按序组成当前识别文本片段对应的候选文本片段。

针对当前识别文本片段,在比较匹配结束后,可以从当前识别文本片段对应的原始文本中,从对应的原始文本的第一个原始字符开始至结束标志位对应的原始字符为止,利用提取出的所有原始字符按序组成当前识别文本片段对应的候选文本片段。举例说明:识别文本片段为“明天去哪里”,原始文本为“你说明天去那里啊!”。利用每个识别字符与原始字符比较,可以得出候选文本片段为“你说明天去那里”。

s402,根据候选文本片段中每个原始字符对应的第一得分,从候选文本片段中获取最大相似度得分子串。

在候选文本片段中根据每个原始字符的第一得分,可以得出最大相似度得分子串,例如,从候选文本片段中“你说明天去那里”,可以得到最大相似度得分为“明天去那里”。

s403,截取最大相似度得分子串作为原始文本片段。

在确定出最大相似度得分子串后,可以将原始文本片段中包括的多余字符筛掉,形成一个与句子语音高度匹配的原始文本片段。在上述例子中,可以将原始文本中的“你说”这一多余的词从候选文本片段中筛掉,最终得到与识别文本片段高度匹配的原始文本片段。

下面用于一个具体的示例解释说明上述比较过程:识别文本片段为“明天去那里”,原始文本为“明天去哪里啊”

步骤1:初始化,pos2=0,score1=0,n=0,=0;其中,pos2为结束标志位,score1为相似度得分,n为当前比较的字符数,flag_drop为得分下降标志符。

步骤2:对于识别文本片段,从原始文本中的第一个字符向后查找;

步骤3:计算识别文本片段和原始文本中前n个字符的得分,记为score2。

步骤4:如果score2>=score1,更新score1,更新终止标志pos2,更新n=n+1,进入步骤3。

步骤5:如果score2<score1,得分连续下降标志flag_drop=flag_drop+1,进入步骤7。

步骤6:如果n<识别文本片段的长度,进入步骤3。否则,进入步骤7

步骤7:如果flag_drop>=3,终止,进入步骤8。如果flag_drop<3,进入步骤3。

步骤8:提取原始文本[0:pos2]的文字,作为候选字符串txt_tmp。

步骤9:计算识别文本片段在候选字符串txt_tmp中最大匹配得分子串txt_max_mate=txt_tmp[pos3:pos4]

步骤10:计算识别文本片段大于最大匹配子串的值,即执行,delta=len(识别文本)-len(txt_tmp[pos3:pos4])

步骤11:如果delat>0,更新最大匹配子串txt_max_mate=txt_tmp[pos3-delat:pos4]。

步骤12:得到最终的字符串txt_ok=txt_max_mate。

为了更加清楚地说明本发明实施例提供的基于人工智能的语音处理方法,在上述实施例的基础之上,图5为本发明实施例提供的另一种基于人工智能的语音处理方法的流程示意图。图5为上述实施例中s103的具体细化,包括以下步骤:

s501,基于识别文本片段与对应原始文本片段的相似度,从所有的原始文本片段中确定标准原始文本片段,并将除标准原始文本片段之外的剩余原始文本片段进行剔除。

具体地,获取识别文本片段的拼音以及对应的原始文本片段的拼音,然后根据识别文本片段中识别字符的拼音以及原始文本片段中对应原始字符的拼音,查询预设的声韵母相似表,获取识别字符与原始字符的声韵母的相似度值。

基于每个字符的声韵母的相似度值计算识别文本片段与原始文本片段之间的相似度。具体地,在获取到识别文本片段的拼音和对应原始文本片段的拼音后,就可以通过查表的方式,获取到每个识别字符与对应原始字符的声韵母的相似度。

为了提高语音合成的准确度,需要保证语音与原始文本的高度一致,本实施例中,通过识别文本片段可以对原始文本片段进行筛选,筛除原始文本片段中存在较大错误的片段。具体地,预先设置一个相似度阈值,然后将每个识别字符与对应原始识别字符的声韵母的相似度与相似度阈值比较,如果声韵母的相似度均超出预设的相似度阈值,则将原始文本片段确定为标准原始文本片段。如果比较到其中一个声韵母的相似度未超出预设的相似度阈值,说明识别文本片段与对应的原始文本片段之间存在差异,则停止该原始文本片段中后续字符的比较。

例如,预设的相似度阈值可以为0.5,当i和ing比较后得到的相似度为0.3,此时就可以终止对原始文本片段后续字符的比较。而i和in比较后得到的相似度为0.5,满足相似度阈值这一筛选条件,则可以继续计算下一个字符。

本实施例中,预设的声母相似表如表1所示。

表1

预设的韵母相似表如表2所示。

表2

需要说明的是,此处并未给出所有的声韵母之间的相似度,本领域技术人员可以实际情况设置声韵母相似度表,此处仅为示例不能作为限制本发明的条件。

s502,识别当前标准原始文本片段中携带的标点符号。

在确定出标准原始文本片段后,从第一个标准原始文本开始,首先识别当前标准原始文本片段中携带的标点符号。本实施例中,标点符号包括两个类别,一类为小标点,例如可以为分号,逗号以及顿号。另一类为大标点,例如可以包括句号,感叹号以及问号。本实施例中,将小标点称为第一类标点符号,将大标点称为第二类标点符号。

s503,如果标点符号为第一类标点符号,则识别后续标准原始文本片段中携带的标点符号,直到识别到第二类标点符号,并在第二类标点符号处截断形成一个句子文本。

在识别出标点符号后,判断该标点符号是否为第一类标点符号,如果为第一类标点符号,则继续识别后面的标准原始文本片段中携带的标点符号。当识别出的标点符号为第二类标点符号时,则在第二类标点符号处进行截断,形成一个句子文本。具体地,将从第二类标点符号处往前的标准原始文本片段拼接成一个句子文本。

s504,从当前标准原始文本片段开始至第二类标点符号之间的所有标准原始文本片段对应的语音片段,拼接成与句子文本对应的句子语音。

每个标准原始文本片段对应有一个识别文本片段,从而在形成了句子文本后,根据标准原始文本片段对应的识别文本片段,获取到句子文本对应的语音片段,将对应的语音片段按序拼接成句子文本对应的句子语音。

s505,建立句子文本与句子语音的对应关系。

在拼接得到句子文本和句子语音后,建立句子文本与句子语音之间的对应关系。

为了更加清楚地说明本发明实施例提供的基于人工智能的语音处理方法,在上述实施例的基础之上,图6为本发明实施例提供的另一种基于人工智能的语音处理方法的流程示意图。图6为上述实施例中s103另一种具体细化过程,包括以下步骤:

s601,基于识别文本片段与对应原始文本片段的相似度,从所有的原始文本片段中确定标准原始文本片段,并将除标准原始文本片段之外的剩余原始文本片段进行剔除。

具体地,获取识别文本片段的拼音以及对应的原始文本片段的拼音,然后根据识别文本片段中识别字符的拼音以及原始文本片段中对应原始字符的拼音,查询预设的声韵母相似表,获取识别字符与原始字符的声韵母的相似度值。

如果每个字符的声韵母的相似度均超过预设的相似度阈值,则可以将原始文本片段确定为标准原始文本片段。

关于声韵母相似度表的举例可参见上述实施例中相关内容的记载,此处不再赘述。

一般当句子的长度较长时,从模型训练上说,句子太长会造成对齐不准,对模型训练时存在困难,训练出的模型质量降低。为了能够控制句子长度以降低语音合成后的难度,本实施例中,预先设置一个句子的最大长度,即预先设置一个最大字数,例如,最大字数可以为35。

s602,获取当前标准原始文本片段与相邻的下一个标准原始文本片段语音上的紧密度。

本实施例中,为了能够使得标准原始文本片段拼接后,语义上保持相关性,可以进一步地获取当前标准原始文本片段与相邻的下一个标准原始文本片段在语义上的紧密度,该紧密度用于表征出两个标准原始文本片段语义上的关联性。

在确定出当前标准原始文本片段与相邻的下一个标准原始文本片段的紧密度后,可以将紧密度与预设的紧密度阈值进行比较

s603,如果两个标准原始文本片段的紧密度超过紧密度阈值且拼接后字数未超出预设的最大字数,则将两个标准原始文本片段拼接成一个句子文本,并将两个标准原始文本片段对应的语音片段拼接成一个句子语音。

此处需要说明的是,不仅限于两个标准原始文本片段,可能存在每个标准原始文本片段较短的情况,此时可能需要两个以上的标准原始文本片段,在满足上述条件时进行拼接,形成一个句子文本。相应地,所述句子文本包括的标准原始文本片段对应的语音片段,拼接成句子语音。

s604,建立每个句子文本与各自的句子语音之间的对应关系。

在获取到句子文本后,建立句子文本与对应的句子语音之间的对应关系。

s605,如果两个标准原始文本片段的紧密度未超过紧密度阈值或者拼接后字数超出最大字数,则将当前标准原始文本片段单独形成一个句子文本,以及将当前标准原始文本片段对应的语音片段单独形成一个句子语音。

如果两个标准原始文本片段的紧密度未超过紧密度阈值,说明两个标准原始文本片段关联性不强,此时如果将两个标准原始文本片段直接拼接在一起,可能对于后续理解存在困难,本实施例中,为了避免上述情况的出现,可以在两个标准原始文本片段紧密度未超过紧密度阈值的情况下,将当前标准原始文本片段单独形成一个句子文本。

本实施例中,如果两个标准原始文本片段拼接后字数超出最大字数,说明拼接后句子较长,也不便于后续理解,可以将当前标准原始文本片段单独形成一个句子文本。

进一步地,每个识别文本片段对应一个语音片段,而每个标准原始文本片段对应的识别文本片段,从而能确定出标准原始文本片段对应的语音片段,进而将句子文本包括的标准原始文本片段对应的语音片段作为句子语音。

在完成句子文本和句子语音的拼接后,建立句子文本与句子语音的对应关系,即继续执行s604。

下面为本发明实施例提供的基于人工智能的语音处理装置。

图7为本发明实施例提供的基于人工智能的语音处理装置的结构示意图。如图7所示,该基于人工智能的语音处理装置包括:切分模块71、片段匹配模块72、拼接模块73、边界生成模块74和形成模块75。

切分模块71,用于采集语音进行切分,形成多个语音片段,识别每个语音片段,获取所述语音片段的识别文本片段。

片段匹配模块72,用于按照识别文本片段的顺序,从当前识别文本片段对应的原始文本中,确定当前识别文本片段的原始文本片段。

拼接模块73,用于对原始文本片段以及原始文本片段对应的语音片段进行拼接,得到句子文本和所述句子文本对应的句子语音。

边界生成模块74,用于生成所述句子文本的拼音,并根据所述拼音形成音子序列,将所述音子序列与所述句子语音进行对齐,获取音子边界。

形成模块75,用于利用所述句子文本、所述句子语音、所述拼音以及所述音子边界,形成用于对语音合成模型进行训练的目标数据。

图8为本发明实施例提供的一种片段匹配模块的结构示意图。如图8所示,该片段匹配模块72包括:确定单元721和比较匹配单元722。

确定单元721,用于按照识别文本片段的顺序,确定与当前识别文本片段对应的原始文本;

比较匹配单元722,用于从当前识别文本片段对应的原始文本的起始位置开始,将当前识别文本片段中的识别字符与原始文本中原始字符进行比较,根据比较结果获取与当前识别文本片段对应的原始文本片段。

确定单元721,具体用于:

从上一个识别文本片段对应的所述原始文本中,将上一个识别文本片段对应的所述原始文本片段切除;

利用剩余的所述原始文本作为当前识别文本对应的所述原始文本。

比较匹配单元722,具体用于:

从所述起始位置对应的原始字符开始,将所述当前识别文本片段与所述原始文本中的比较片段进行比较,获取所述当前识别文本片段与所述比较片段的相似度得分;其中,所述比较片段包括所述原始文本中至少一个原始字符;

如果所述相似度得分增大,则对所述原始文本的结束标志位加1,利用下一个新的原始字符更新所述比较片段并继续进行下一次比较;

如果所述相似度得分降低,则对得分下降标识符加1,判断当前得分下降标识符的取值是否达到预设的数值;

如果当前得分下降标识符的取值达到预设的数值,则从所述原始文本的第一个原始字符开始往后提取与所述结束标志位取值相同个数的所述原始字符;

利用提取出的所有原始字符,生成当前识别文本片段对应的所述原始文本片段。

比较匹配单元722,具体用于:

如果当前得分下降标识符的取值未达到预设的数值,则利用下一个新的原始字符更新所述第一片段并继续进行下一次比较。

比较匹配单元722,具体用于:

利用提取出的所有原始字符按序组成当前识别文本片段对应的候选文本片段;

根据所述候选文本片段中每个原始字符对应的第一得分,从所述候选文本片段中获取最大相似度得分子串;

截取所述最大相似度得分子串作为所述原始文本片段。

图9为本发明实施例提供的一种拼接模块的结构示意图。如图9所示,该拼接模块73包括:筛选单元731、第一拼接单元732和建立单元733。

筛选单元731,用于基于识别文本片段与对应原始文本片段的相似度,从所有的原始文本片段中确定标准原始文本片段,并将除所述标准原始文本片段之外的剩余原始文本片段进行剔除;

第一拼接单元732,用于识别当前标准原始文本片段中携带的标点符号,如果所述标点符号为第一类标点符号,则识别后续所述标准原始文本片段中携带的标点符号,直到识别到第二类标点符号,并在所述第二类标点符号处截断形成一个句子文本,并从当前标准原始文本片段开始至所述第二类标点符号之间的所有标准原始文本片段对应的语音片段,拼接成与所述句子文本对应的句子语音;

建立单元733,建立所述句子文本与所述句子语音的对应关系。

作为一种可能的实现方式,图10为本发明实施例提供的另一种拼接模块的结构示意图。如图10所示,该拼接模块73除了包括上述筛选单元731和建立单元733之外,还包括:第二拼接单元734。

第二拼接单元734,具体用于获取当前标准原始文本片段与相邻的下一个所述标准原始文本片段的语义上的紧密度;

如果两个所述标准原始文本片段的所述紧密度超过紧密度阈值且拼接后字数未超出预设的最大字数,则将两个所述标准原始文本片段拼接成一个所述句子文本,并将两个所述标准原始文本片段对应的语音片段拼接成一个句子语音。

建立单元733,用于建立每个句子文本与各自的句子语音之间的对应关系。

进一步地,第二拼接单元734,还用于如果两个所述标准原始文本片段紧密度未超过紧密度阈值或者拼接后字数超出所述最大字数,则将当前标准原始文本片段单独形成一个所述句子文本,并将当前标准原始文本片段对应的语音片段单独形成所述句子语音。

建立单元733,用于建立每个句子文本与各自的句子语音之间的对应关系。

进一步地,筛选单元731,具体用于:

获取所述识别文本片段的拼音以及对应的所述原始文本片段的拼音;

根据所述识别文本片段中识别字符的拼音以及所述原始文本片段中对应原始字符的拼音,查询预设的声韵母相似表,获取所述识别字符与所述原始字符的声韵母的相似度;

如果所述识别字符与所述原始字符声韵母的所述相似度均超出预设的相似度阈值,则将所述原始文本片段确定为所述标准原始文本片段。

进一步地,切分模块71,具体用于:

逐帧获取所述语音中的当前帧的短时能量以及当前帧与相邻的前一帧之间的静音时长;

在当前帧的短时能量和静音时长满足预设的切分条件时,则在所述当前帧处形成切分点,直到所述语音中的最后一帧,完成对所述语音的切分,形成多个语音片段。

需要说明的是,前述图1-图6实施例对基于人工智能的语音处理方法实施例的解释说明也适用于该实施例的基于人工智能的语音处理装置,此处不再赘述。

本实施例的基于人工智能的语音处理装置,通过采集语音进行切分,形成多个语音片段,识别每个语音片段,获取语音片段的识别文本片段,按照识别文本片段的顺序,从与当前识别文本片段对应的原始文本中,确定当前识别文本片段的原始文本片段,对原始文本片段以及原始文本片段对应的语音片段进行拼接,得到句子文本和句子文本对应的句子语音,生成句子文本的拼音,并根据拼音形成音子序列,将音子序列与句子语音进行对齐,获取音子边界,利用句子文本、句子语音、拼音以及音子边界,形成用于对语音合成模型进行训练的目标数据。本实施例中,不再依赖人工方式对语音进行切分以及后续标注,实现自动对语音进行切分以及标注,形成准确率较高的用于对语音合成模型进行训练的标注数据,用于解决现有人工标注方式标注数据生成的效率低,切分或者识别过程中容易出现错误,而且人工成本较高的问题。

图11示出了适于用来实现本申请实施方式的示例性计算机设备20的框图。图11显示的计算机设备20仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图11所示,计算机设备20以通用计算设备的形式表现。计算机设备20的组件可以包括但不限于:一个或者多个处理器或者处理单元21,系统存储器22,连接不同系统组件(包括系统存储器22和处理单元21)的总线23。

总线23表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industrystandardarchitecture;以下简称:isa)总线,微通道体系结构(microchannelarchitecture;以下简称:mac)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation;以下简称:vesa)局域总线以及外围组件互连(peripheralcomponentinterconnection;以下简称:pci)总线。

计算机设备20典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备20访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器22可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(randomaccessmemory;以下简称:ram)30和/或高速缓存存储器32。计算机设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图11未显示,通常称为“硬盘驱动器”)。尽管图11中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(compactdiscreadonlymemory;以下简称:cd-rom)、数字多功能只读光盘(digitalvideodiscreadonlymemory;以下简称:dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线23相连。存储器22可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器22中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。

计算机设备20也可以与一个或多个外部设备50(例如键盘、指向设备、显示器60等)通信,还可与一个或者多个使得用户能与该计算机设备20交互的设备通信,和/或与使得该计算机设备20能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口24进行。并且,计算机设备20还可以通过网络适配器25与一个或者多个网络(例如局域网(localareanetwork;以下简称:lan),广域网(wideareanetwork;以下简称:wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器25通过总线23与计算机设备20的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备20使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理单元21通过运行存储在系统存储器22中的程序,从而执行各种功能应用以及数据处理,例如实现图1-图6所示的基于人工智能的语音处理方法。

可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(readonlymemory;以下简称:rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory;以下简称:eprom)或闪存、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(localareanetwork;以下简称:lan)或广域网(wideareanetwork;以下简称:wan)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

为了实现上述实施例,本发明还提出一种计算机程序产品,当计算机程序产品中的指令由处理器执行时,执行如前述实施例所述的基于人工智能的语音处理方法。

为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时能够实现如前述实施例所述的基于人工智能的语音处理方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1