语言模型WFST生成方法、发音评测方法及相关装置与流程

文档序号:32064107发布日期:2022-11-05 00:11阅读:44来源:国知局
语言模型WFST生成方法、发音评测方法及相关装置与流程
语言模型wfst生成方法、发音评测方法及相关装置
技术领域
1.本发明涉及计算机技术领域,具体而言,涉及一种语言模型wfst生成方法、发音评测方法及相关装置。


背景技术:

2.我国学生对英语和汉语的学习,在日常学习中占据了大量时间。为了解放老师和家长的负担,增进学生学习英语或者汉语的兴趣,发音评测技术被越来越多的采用。
3.发音评测技术是根据预先训练好的声学模型,结合参考文本对应的hclg构图,对学生的发音质量好坏进行评价,给出得分,其中,hclg构图中的g,表示语言模型加权有限状态转换器(weighted finite-state transducer,wfst)。现有的语言模型wfst生成方式是按照正常朗读的情况,在相邻状态节点之间生成包含输入输出的连接边。
4.在评测的过程中,对于学生没有按照参考文本进行正常朗读,而是在开头乱读、中间多读、漏读等情况,评测分值往往偏低,使得用户体验感较差。


技术实现要素:

5.本发明实施例提供了一种语言模型wfst生成方法、发音评测方法及相关装置,其能够在用户开头乱读、中间多读、漏读等情况下,定位用于评测的语音文本,进而准确对用户的发音进行评测,提升用户体验。
6.本发明实施例的技术方案可以这样实现:
7.第一方面,本发明实施例提供一种语言模型wfst生成方法,所述方法包括:
8.对预设语音文本进行拆分,得到多个子文本;
9.根据所述子文本的第一数量以及预设朗读模式,确定状态节点的第二数量,其中,所述预设朗读模式包括以下至少一种:乱读、重复读以及漏读;
10.设置所述第二数量个所述状态节点;
11.根据所述多个子文本的拆分顺序与所述预设朗读模式,建立每个所述状态节点的连接边,以生成语言模型wfst。
12.可选地,所述根据所述子文本的第一数量以及预设朗读模式,确定状态节点的第二数量的步骤包括:
13.若所述预设朗读模式包括乱读,则所述子文本的第一数量与所述状态节点的第二数量满足公式:m=n+1;
14.若所述预设朗读模式包括重复读和漏读,则所述子文本的第一数量与所述状态节点的第二数量满足公式:m=2n+1;
15.其中,n为所述第一数量,m为所述第二数量。
16.可选地,所述预设朗读模式包括乱读,所述连接边的首端连接的状态节点为首端节点,所述连接边的尾端连接的状态节点为尾端节点,所述连接边包括第一连接边和第二连接边,所述第一连接边的首端节点和尾端节点相同,所述第二连接边的首端节点和尾端
节点不同;
17.所述根据所述多个子文本的拆分顺序与所述预设朗读模式,建立每个所述状态节点的连接边的步骤包括:
18.按照每个所述状态节点的状态值,将多个所述状态节点进行排序;
19.针对排序后的多个所述状态节点,将首个所述状态节点作为所述第一连接边的首端节点和尾端节点,建立一条所述第一连接边;
20.将所述第一连接边的输入/输出文本设置为第一预设文本,并设置所述第一连接边的权重系数为第一预设值;
21.从首个所述状态节点开始,依次将相邻的两个所述状态节点分别作为所述第二连接边的首端节点和尾端节点,建立多条所述第二连接边,每条所述第二连接边的首端节点的状态值均小于尾端节点的状态值;
22.针对每条所述第二连接边,将所述拆分顺序与所述第二连接边的建立顺序相同的所述子文本作为所述第二连接边的输入/输出文本。
23.可选地,所述预设朗读模式包括重复读和漏读,所述连接边的首端连接的状态节点为首端节点,所述连接边的尾端连接的状态节点为尾端节点;
24.所述根据所述多个子文本的拆分顺序与所述预设朗读模式,建立每个所述状态节点的连接边的步骤包括:
25.按照每个所述状态节点的状态值,将多个所述状态节点进行排序;
26.针对排序后的多个所述状态节点,将状态值为奇数的每个所述状态节点均作为奇节点,将状态值为偶数的每个所述状态节点均作为偶节点;
27.针对每个所述奇节点,根据所述奇节点的状态值和所有所述偶节点的状态值,建立所述奇节点的连接边,得到每个所述奇节点的连接边;
28.其中,所述奇节点的连接边包括第一连接边、第二连接边和第三连接边,所述第一连接边的首端节点和尾端节点均为所述奇节点,所述第二连接边的尾端节点为所述奇节点,所述第三连接边的首端节点为所述奇节点;
29.针对每个所述奇节点的第一连接边,将所述拆分顺序与所述第一连接边的建立顺序相同的所述子文本作为所述第一连接边的输入/输出文本,并设置所述第一连接边的权重系数为第二预设值;
30.针对每个所述奇节点的第二连接边,将所述拆分顺序与所述第二连接边的建立顺序相同的所述子文本作为所述第二连接边的输入/输出文本;
31.将每个所述奇节点的第三连接边的输入/输出文本均设置为第二预设文本;
32.针对每个所述偶节点,将所述偶节点作为所述首端节点,将距离所述偶节点最近、且状态值大于所述偶节点的状态值的偶节点作为所述尾端节点,建立所述偶节点的连接边,得到每个所述偶节点的连接边;
33.将每个所述偶节点的连接边的输入/输出文本均设置为所述第二预设文本,并设置每个所述偶节点的连接边的权重系数为第三预设值。
34.可选地,所述根据所述奇节点的状态值和所有所述偶节点的状态值,建立所述奇节点的连接边的步骤包括:
35.将所述奇节点分别作为所述首端节点和所述尾端节点,建立所述奇节点的第一连
接边;
36.将所述奇节点作为所述尾端节点,将距离所述奇节点最近、且状态值小于所述奇节点的状态值的偶节点作为所述首端节点,建立所述奇节点的第二连接边;
37.将所述奇节点作为所述首端节点,将距离所述奇节点最近、且状态值大于所述奇节点的状态值的偶节点作为所述尾端节点,建立所述奇节点的第三连接边。
38.第二方面,本发明实施例提供一种发音评测方法,所述方法包括:
39.获取预设语音文本对应的hclg构图,所述hclg构图中的语言模型wfst是利用如前述第一方面所述的语言模型wfst生成方法得到的;
40.提取所述预设语音文本对应的待评测音频的音频特征;
41.利用预先训练的声学模型、所述hclg构图以及所述音频特征,对所述待评测音频进行评测。
42.第三方面,本发明实施例提供一种语言模型wfst生成装置,所述装置包括:
43.拆分模块,用于对预设语音文本进行拆分,得到多个子文本;
44.确定模块,用于根据所述子文本的第一数量以及预设朗读模式,确定状态节点的第二数量,其中,所述预设朗读模式包括以下至少一种:乱读、重复读以及漏读;
45.设置模块,用于设置所述第二数量个所述状态节点;
46.建立模块,用于根据所述多个子文本的拆分顺序与所述预设朗读模式,建立每个所述状态节点的连接边,以生成语言模型wfst。
47.第四方面,本发明实施例提供一种发音评测装置,所述装置包括:
48.获取模块,用于获取预设语音文本对应的hclg构图,所述hclg构图中的语言模型wfst是利用如前述实施方式任一项所述的语言模型wfst生成方法得到的;
49.提取模块,用于提取所述预设语音文本对应的待评测音频的音频特征;
50.评测模块,用于利用预先训练的声学模型、所述hclg构图以及所述音频特征,对所述待评测音频进行评测。
51.第五方面,本发明实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如前述第一方面所述的语言模型wfst生成方法,和/或,前述第二方面所述的发音评测方法。
52.第六方面,本发明提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如前述第一方面所述的语言模型wfst生成方法,和/或,前述第二方面所述的发音评测方法。
53.相较于现有技术,本发明实施例提供的一种语言模型wfst生成方法、发音评测方法及相关装置,首先,对预设语音文本进行拆分,得到多个子文本;然后,根据子文本的第一数量以及预设朗读模式,确定状态节点的第二数量,其中,预设朗读模式包括以下至少一种:乱读、重复读以及漏读;接着,设置第二数量个状态节点;最后,根据多个子文本的拆分顺序与预设朗读模式,建立每个状态节点的连接边,以生成语言模型wfst。由于本发明实施例根据子文本的第一数量以及预设朗读模式,确定状态节点的第二数量,根据多个子文本的拆分顺序与预设朗读模式,建立每个状态节点的连接边,以生成语言模型wfst,从而在用户乱读、重复读、漏读等情况下,能够定位用于评测的语音文本,进而准确评测用户的发音,提升用户体验。
附图说明
54.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
55.图1为本发明实施例提供的一种现有的语言模型wfst生成过程示例;
56.图2为本发明实施例提供的一种语言模型wfst生成方法的流程示意图;
57.图3为本发明实施例提供的一种步骤s104的实现方式的流程示意图;
58.图4为本发明实施例提供的一种语言模型wfst的示例一;
59.图5为本发明实施例提供的另一种步骤s104的实现方式的流程示意图;
60.图6为本发明实施例提供的一种语言模型wfst的示例二;
61.图7为本发明实施例提供的一种语言模型wfst的示例三;
62.图8为本发明实施例提供的一种发音评测方法的流程示意图;
63.图9为本发明实施例提供的一种语言模型wfst生成装置的功能单元框图;
64.图10为本发明实施例提供的一种发音评测模型的功能单元框图;
65.图11为本发明实施例提供的一种计算机设备的结构示意框图。
66.图标:100-语言模型wfst生成装置;101-拆分模块;102-确定模块;103-设置模块;104-建立模块;200-发音评测装置;201-获取模块;202-提取模块;203-评测模块;300-计算机设备;310-存储器;320-处理器。
具体实施方式
67.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
68.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
69.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
70.此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
71.需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
72.现有的发音评测技术是根据预先训练好的声学模型,结合参考文本对应的hclg构图,对学生的发音质量好坏进行评价,给出得分。其中,hclg构图中h、l、c和g的含义如下:
73.g,表示语言模型加权有限状态转换器(weighted finite-state transducer,wfst),g的输入输出类型相同,其实际是一个加权有限状态接受机(weighted finite-state acceptor,wfsa),为了方便与其它三个wfst进行操作,将其视为一个输入输出相同
的wfst。
74.l,表示发音词典wfst,输入符号:monophone,输出符号:词。
75.c,表示上下文相关wfst,输入符号:triphone(上下文相关),输出符号:monophnoe。
76.h,表示hmm声学模型wfst,输入符号:hmm transitions-ids,输出符号:triphone。
77.将四者逐层合并,得到hclg构图,hclg构图的文件类型可以是hclg.fest。
78.对于hclg中的g,即语言模型wfst,其生成过程通常是按照预设语音文本的正常朗读的情况,在相邻状态节点之间生成包含输入输出以及权重的连接边。请参照图1,以“they look at it”为预设语音文本,来阐述现有的语音模型wfst的生成过程:
79.步骤1,设置状态值为0的状态节点和状态值为1的状态节点;
80.步骤2,建立一条从0到1的连接边,并设置该连接边上的输入/输出文本为they;
81.步骤3,设置状态值为2的状态节点;
82.步骤4,建立一条从1到2的连接边,并设置该连接边上的输入/输出文本为look;
83.步骤5,设置状态值为3的状态节点;
84.步骤6,建立一条从2到3的连接边,并设置该连接边上的输入/输出文本为at;
85.步骤7,设置状态值为4的状态节点;
86.步骤8,建立一条从3到4的连接边,并设置该连接边上的输入/输出文本为it。
87.通过上述步骤1~8,得到预设语音文本“they look at it”对应的语音模型wfst。
88.在进行发音评测时,当用户正常朗读“they look at it”,即依次朗读“they”、“look”、“at”、“it”,则语音模型wfst能够定位用户朗读的预设语音文本“they look at it”,后续可以准确进行评分。而当用户在开头乱读、中间多读、漏读,例如,用户朗读时,依次发出“呃”、“he”、“they”、“they”、“look”、“it”,语音模型wfst不能定位用户朗读的预设语音文本“they look at it”,后续评分往往较低,影响用户体验。
89.对此,本发明实施例提供了一种语言模型wfst生成方法,以使用户朗读过程中出现开头乱读、中间多读、漏读时,语言模型wfst人可以定位用户朗读的预设语音文本,不影响发音评测得分,提升用户体验。下面将进行详细介绍。
90.请参照图2,该语言模型wfst生成方法包括步骤s101~s104。
91.s101,对预设语音文本进行拆分,得到多个子文本。
92.其中,预设语音文本是需要被评测的音频对应的文本,例如,学生跟读一英文文本,需要对学生朗读的英文文本的音频进行发音评测,该英文文本就是预设语音文本。
93.预设语音文本是按照其正常朗读方式进行拆分的,得到的子文本可以是字,也可以是词。
94.例如,预设语音文本“they look at it”,其正常朗读方式依次对“they”、“look”、“at”、“it”朗读,则对该预设语音文本进行拆分得到的多子文本分别是“they”、“look”、“at”、“it”。
95.s102,根据子文本的第一数量以及预设朗读模式,确定状态节点的第二数量。
96.其中,预设朗读模式包括以下至少一种:乱读、重复读以及漏读。
97.可选地,步骤s102的实现过程存在两种情况。
98.情况一,若预设朗读模式包括乱读,则子文本的第一数量与状态节点的第二数量
满足公式:m=n+1;
99.情况二,若预设朗读模式包括重复读和漏读,则子文本的第一数量与状态节点的第二数量满足公式:m=2n+1。
100.上述公式中,n为第一数量,m为第二数量。
101.例如,拆分预设语音文本“they look at it”得到的子文本的第一数量为4,若预设朗读模式包括乱读时,则需设置5个状态节点,即第二数量为5,若预设朗读模式包括重复读和漏读,则需设置9个状态节点,即第二数量为9。
102.s103,设置第二数量个状态节点。
103.其中,在设置完状态节点后,需为每个状态节点分配状态值,状态值为整数,其取值区间为[0,n)。
[0104]
例如,第二数量n为5,设置了5个状态节点,按照区间[0,5)为5个状态节点分配状态值,即5个状态节点的状态值分别为0、1、2、3和4。
[0105]
s104,根据多个子文本的拆分顺序与预设朗读模式,建立每个状态节点的连接边,以生成语言模型wfst。
[0106]
由于在“预设朗读模式包括乱读”的情况下和在“预设朗读模式包括重复读、漏读”的情况下,确定出的状态节点的第二数量是不同的,所以两种情况下,建立每个状态节点的连接边的过程也存在区别。对此,本发明实施例针对“预设朗读模式包括乱读”和“预设朗读模式包括重复读、漏读”两种情况,提供了两种步骤s104可能的实现方式。
[0107]
对于“预设朗读模式包括乱读”的情况,请参照图3,步骤s104可以包括子步骤s104-1~s104-5。
[0108]
s104-1,按照每个状态节点的状态值,将多个状态节点进行排序。
[0109]
如图4所示,5个状态节点的状态值分别为0、1、2、3和4,按照每个状态节点的状态值,由小到大将5个状态节点进行排序,状态值为0的状态节点排在第一位,而状态值为4的状态节点排在最后。
[0110]
s104-2,针对排序后的多个状态节点,将首个状态节点作为第一连接边的首端节点和尾端节点,建立一条第一连接边。
[0111]
其中,连接边的首端连接的状态节点为首端节点,连接边的尾端连接的状态节点为尾端节点,第一连接边的首端节点和尾端节点相同。
[0112]
由于用户乱读的情况通常发生在预设语音文本的开头部分,因此,在对首个状态节点建立连接边时,可以将该状态节点同时作为首端节点和尾端节点,建立一条第一连接边,以解决开头部分的无效的对话或噪声。
[0113]
如图4所示,将首个状态节点,即状态值为0的状态节点,同时作为一条连接边的首端节点和尾端节点,建立一条第一连接边。
[0114]
s104-3,将第一连接边的输入/输出文本设置为第一预设文本,并设置第一连接边的权重系数为第一预设值。
[0115]
如图4所示,第一预设文本可以为spoken_noise,第一预设值可以为4.6,则状态值为0的状态节点的第一连接边的输入/输出文本为spoken_noise,权重系数为4.6,语言模型wfst可以将待评测音频的开头部分对应的文字内容视作为无效语音文本,从而解决用户乱读的情况。
[0116]
s104-4,从首个状态节点开始,依次将相邻的两个状态节点分别作为第二连接边的首端节点和尾端节点,建立多条第二连接边。
[0117]
其中,第二连接边的首端节点和尾端节点不同,每条第二连接边的首端节点的状态值均小于尾端节点的状态值。
[0118]
如图4所示,在状态值为0的状态节点与状态值为1的状态节点之间建立一条第二连接边,在状态值为1的状态节点与状态值为2的状态节点之间建立一条第二连接边,在状态值为2的状态节点与状态值为3的状态节点之间建立一条第二连接边,在状态值为3的状态节点与状态值为4的状态节点之间建立一条第二连接边,一共建立了4条第二连接边。
[0119]
s104-5,针对每条第二连接边,将拆分顺序与第二连接边的建立顺序相同的子文本作为第二连接边的输入/输出文本。
[0120]
如图4所示,预设语音文本“they look at it”拆分的得到的4个子文本,按照拆分顺序依次为:“they”、“look”、“at”、“it”,4条第二连接边按照建立顺序依次为:状态值为0的状态节点与状态值为1的状态节点之间的第二连接边、状态值为1的状态节点与状态值为2的状态节点之间的第二连接边、状态值为2的状态节点与状态值为3的状态节点之间的第二连接边、状态值为3的状态节点与状态值为4的状态节点之间的第二连接边。
[0121]
将子文本“they”作为状态值为0的状态节点与状态值为1的状态节点之间的第二连接边的输入/输出文本,将子文本“look”作为状态值为1的状态节点与状态值为2的状态节点之间的第二连接边的输入/输出文本,将子文本“at”作为状态值为2的状态节点与状态值为3的状态节点之间的第二连接边的输入/输出文本,将子文本“it”作为状态值为3的状态节点与状态值为4的状态节点之间的第二连接边的输入/输出文本。
[0122]
对于“预设朗读模式包括重复读和漏读”的情况,请参照图5,步骤s104包括可以包括子步骤s104-6~s104-13。
[0123]
s104-6,按照每个状态节点的状态值,将多个状态节点进行排序。
[0124]
如图6所示,9个状态节点的状态值分别为0、1、2、3、4、5、6、7、8和9,按照每个状态节点的状态值,由小到大将9个状态节点进行排序,状态值为0的状态节点排在第一位,而状态值为9的状态节点排在最后。
[0125]
s104-7,针对排序后的多个状态节点,将状态值为奇数的每个状态节点均作为奇节点,将状态值为偶数的每个状态节点均作为偶节点。
[0126]
如图6所示,状态值为1、3、5和7的状态节点为奇节点,状态值为0、2、4、6和8的状态节点为偶节点。
[0127]
s104-8,针对每个奇节点,根据奇节点的状态值和所有偶节点的状态值,建立奇节点的连接边,得到每个奇节点的连接边。
[0128]
其中,奇节点的连接边包括第一连接边、第二连接边和第三连接边,第一连接边的首端节点和尾端节点均为奇节点,第二连接边的尾端节点为奇节点,第三连接边的首端节点为奇节点。
[0129]
可选地,步骤s104-8的实现过程可以如下:
[0130]
s104-8-1,将奇节点分别作为首端节点和尾端节点,建立奇节点的第一连接边。
[0131]
由于用户重复读的情况可以发生在预设语音文本中的任何位置,因此,在对每个奇节点建立连接边时,可以将每个奇节点同时作为首端节点和尾端节点,建立一条第一连
接边,得到多条第一连接边,以解决任何位置上的被重复朗读的文本。
[0132]
如图6所示,对于4个奇节点(状态值为1、3、5和7的状态节点),建立了4条第一连接边。
[0133]
s104-8-2,将奇节点作为尾端节点,将距离奇节点最近、且状态值小于奇节点的状态值的偶节点作为首端节点,建立奇节点的第二连接边。
[0134]
如图6所示,将状态值为1的奇节点作为尾端节点,状态值为0的偶节点作为首端节点,建立一条第二连接边,将状态值为3的奇节点作为尾端节点,状态值为2的偶节点作为首端节点,建立一条第二连接边,将状态值为5的奇节点作为尾端节点,状态值为4的偶节点作为首端节点,建立一条第二连接边,将状态值为7的奇节点作为尾端节点,状态值为5的偶节点作为首端节点,建立一条第二连接边,一共建立了4条第二连接边。
[0135]
s104-8-2,将奇节点作为首端节点,将距离奇节点最近、且状态值大于奇节点的状态值的偶节点作为尾端节点,建立奇节点的第三连接边。
[0136]
如图6所示,将状态值为1的奇节点作为首端节点,状态值为2的偶节点作为尾端节点,建立一条第三连接边,将状态值为3的奇节点作为首端节点,状态值为4的偶节点作为尾端节点,建立一条第三连接边,将状态值为5的奇节点作为首端节点,状态值为6的偶节点作为尾端节点,建立一条第三连接边,将状态值为7的奇节点作为首端节点,状态值为8的偶节点作为尾端节点,建立一条第三连接边,一共建立了4条第三连接边。
[0137]
s104-9,针对每个奇节点的第一连接边,将拆分顺序与第一连接边的建立顺序相同的子文本作为第一连接边的输入/输出文本,并设置第一连接边的权重系数为第二预设值。
[0138]
如图6所示,预设语音文本“they look at it”拆分的得到的4个子文本,按照拆分顺序依次为:“they”、“look”、“at”、“it”,4条第一连接边按照建立顺序依次为:状态值为1的奇节点的第一连接边、状态值为3的奇节点的第一连接边、状态值为5的奇节点的第一连接边、状态值为7的奇节点的第一连接边,第二预设值可以2.3。
[0139]
将子文本“they”作为状态值为1的奇节点的第一连接边的输入/输出文本、将子文本“look”作为状态值为3的奇节点的第一连接边的输入/输出文本、将子文本“at”作为状态值为5的奇节点的第一连接边的输入/输出文本、将子文本“it”作为状态值为7的奇节点的第一连接边的输入/输出文本。
[0140]
将4条第一连接边的权重系数均设置为2.3。
[0141]
s104-10,针对每个奇节点的第二连接边,将拆分顺序与第二连接边的建立顺序相同的子文本作为第二连接边的输入/输出文本。
[0142]
如图6所示,4条第二连接边暂按照建立顺序依次为:状态值为1的奇节点的第二连接边、状态值为3的奇节点的第二连接边、状态值为5的奇节点的第二连接边、状态值为7的奇节点的第二连接边。
[0143]
s104-11,将每个奇节点的第三连接边的输入/输出文本均设置为第二预设文本。
[0144]
如图6所示,第二预设文本可以为eps,将4个奇节点的第三连接边的输入/输出文本均设置为eps。
[0145]
s104-12,针对每个偶节点,将偶节点作为首端节点,将距离偶节点最近、且状态值大于偶节点的状态值的偶节点作为尾端节点,建立偶节点的连接边,得到每个偶节点的连
接边。
[0146]
由于用户重漏读的情况可以发生在预设语音文本中的任何位置,因此,在对每个偶节点建立连接边时,可以将每个偶节点作为首端节点,将距离该偶节点最近、且状态值大于该偶节点的状态值的偶节点作为尾端节点,以解决任何位置上的被漏读的文本。
[0147]
如图6所示,将状态值为0的偶节点作为首端节点,状态值为2的偶节点作为尾端节点,建立一条连接边,将状态值为2的偶节点作为首端节点,状态值为4的偶节点作为尾端节点,建立一条连接边,将状态值为4的偶节点作为首端节点,状态值为6的偶节点作为尾端节点,建立一条连接边,将状态值为6的偶节点作为首端节点,状态值为8的偶节点作为尾端节点,建立一条连接边,一共建立了4条连接边。
[0148]
s104-13,将每个偶节点的连接边的输入/输出文本均设置为第二预设文本,并设置每个偶节点的连接边的权重系数为第三预设值。
[0149]
如图6所示,第二预设文本可以为eps,第三预设值可以为4.6,将4条连接偶节点的连接边的输入/输出文本均设置为eps,权重系数均设置为4.6。
[0150]
经上述步骤s104-6~s104-13得到的语言模型wfst中,每个奇节点的第一连接边用于处理待评测音频中重复朗读的部分,每个偶节点的连接边用于处理待评测音频中漏读的部分,从而针对用户朗读过程中出现多读、漏读时,语言模型wfst也可以定位出用户朗读的预设语音文本,不影响发音评测的结果。
[0151]
可以理解地,对于预设朗读模式包括乱读、重复读和漏读的情况,则在步骤s104-6~s104-13得到的语言模型wfst的基础上,将首个状态节点同时作为首端节点和尾端节点,建立一条第一连接边,并将该第一连接边的输入/输出文本设置为第一预设文本,权重系数设置为第一预设值。
[0152]
在图6所示的语言模型wfst上,对状态值为0的状态节点同时作为首端节点和尾端节点,建立一条第一连接边,并将输入/输出文本设置为spoken_noise,权重系数设置为4.6,得到如图7所示的语言模型wfst。
[0153]
当用户在读朗读预设语言文本“they look at it”时,先读了一段无关音频,或重复、漏读某些单词,例如,读i like you and they they look look at it,或读look it等情况,也能准确定位到学生读的预设语言文本。
[0154]
本发明实施例提供了一种发音评测方法,下面将进行详细介绍。
[0155]
请参照图8,该发音评测方法包括步骤s201~s202。
[0156]
s201,获取预设语音文本对应的hclg构图。
[0157]
其中,hclg构图中的语言模型wfst是利用如前述的语言模型wfst生成方法得到的。
[0158]
s202,提取预设语音文本对应的待评测音频的音频特征。
[0159]
在本发明实施例中,可以通过任意方式提取待评测音频的声学特征,将声学特征作为待评测音频的音频特征。
[0160]
在一种可能的实现方式中,待评测音频的音频特征可以是40维的梅尔倒谱系数mfcc特征。
[0161]
s203,利用预先训练的声学模型、hclg构图以及音频特征,对待评测音频进行评测。
[0162]
其中,声学模型是由100小时以上的标准发音的音频预先训练得到的,其训练过程如下:音频先分帧,然后提取40维的梅尔倒谱系数mfcc特征;在提取特征完成后,将音频文本按字典展开成音素,用时延神经网络tdnn训练得到声学模型。
[0163]
在本发明实施例中,可以基于音频特征,结合声学模型,获得似然和后验概率等信息;然后,针对hclg构图、通过声学模型得到的似然和后验概率等信息;接着,通过viterbi算法进行解码,从而得到待评测音频对应的音素对齐结果;最后,可以将音素对齐结果直接作为待评测音频的评测结果,还可以对音素对齐结果进行分析,并将得到的分析结果作为评测结果,或者将分析结果及音素对齐结果一起作为评测结果。
[0164]
相较于现有技术,本发明实施例具有以下技术效果:
[0165]
(1)将排序后的首个状态节点同时作为首端节点和尾端节点,建立一条第一连接边,并设置该第一连接边的输入/输出文本为第一预设文本,权重系数为第一预设值,从而在用户开头乱读的情况下,能够定位用于评测的语音文本;
[0166]
(2)针对排序后的每个奇节点,将该奇节点同时作为首端节点和尾端节点,建立该奇节点的第一连接边,得到每个奇节点的第一连接边,并将拆分顺序与每个奇节点的第一连接边的建立顺序相同的子文本,作为每个奇节点的第一连接边的输入/输出文本,并设置每个奇节点的第一连接边的权重系数为第二预设值,从而在用户重复读的情况下,能够定位用于评测的语音文本;
[0167]
(3)针对排序的每个偶节点,将该偶节点作为首端节点,将距离该偶节点最近、且状态值大于该偶节点的状态值的偶节点作为尾端节点,建立该偶节点的连接边,得到每个偶节点的连接边,并将每个偶节点的连接边的输入/输出文本均设置为第二预设文本,设置每个偶节点的连接边的权重系数为第三预设值,从而在用户漏读的情况下,能够定位用于评测的语音文本。
[0168]
为了执行上述方法实施例及各个可能的实施方式中的相应步骤,下面分别给出一种语言模型wfst生成装置100的实现方式和一种发音评测装置200的实现方式。
[0169]
请参照图9,语言模型wfst生成装置可以包括拆分模块101、确定模块102、设置模块103以及建立模块104。
[0170]
拆分模块101,用于对预设语音文本进行拆分,得到多个子文本。
[0171]
确定模块102,用于根据子文本的第一数量以及预设朗读模式,确定状态节点的第二数量,其中,预设朗读模式包括以下至少一种:乱读、重复读以及漏读。
[0172]
设置模块103,用于设置第二数量个状态节点。
[0173]
建立模块104,用于根据多个子文本的拆分顺序与预设朗读模式,建立每个状态节点的连接边,以生成语言模型wfst。
[0174]
可选地,确定模块102具体用于若预设朗读模式包括乱读,则子文本的第一数量与状态节点的第二数量满足公式:m=n+1;若预设朗读模式包括重复读和漏读,则子文本的第一数量与状态节点的第二数量满足公式:m=2n+1;其中,n为第一数量,m为第二数量。
[0175]
可选地,预设朗读模式包括乱读,连接边的首端连接的状态节点为首端节点,连接边的尾端连接的状态节点为尾端节点,连接边包括第一连接边和第二连接边,第一连接边的首端节点和尾端节点相同,第二连接边的首端节点和尾端节点不同,建立模块104具体用于按照每个状态节点的状态值,将多个状态节点进行排序;针对排序后的多个状态节点,将
首个状态节点作为第一连接边的首端节点和尾端节点,建立一条第一连接边;将第一连接边的输入/输出文本设置为第一预设文本,并设置第一连接边的权重系数为第一预设值;从首个状态节点开始,依次将相邻的两个状态节点分别作为第二连接边的首端节点和尾端节点,建立多条第二连接边,每条第二连接边的首端节点的状态值均小于尾端节点的状态值;针对每条第二连接边,将拆分顺序与第二连接边的建立顺序相同的子文本作为第二连接边的输入/输出文本。
[0176]
可选地,预设朗读模式包括重复读和漏读,连接边的首端连接的状态节点为首端节点,连接边的尾端连接的状态节点为尾端节点,建立模块104具体用于针对每个奇节点,根据奇节点的状态值和所有偶节点的状态值,建立奇节点的连接边,得到每个奇节点的连接边;其中,奇节点的连接边包括第一连接边、第二连接边和第三连接边,第一连接边的首端节点和尾端节点均为奇节点,第二连接边的尾端节点为奇节点,第三连接边的首端节点为奇节点;针对每个奇节点的第一连接边,将拆分顺序与第一连接边的建立顺序相同的子文本作为第一连接边的输入/输出文本,并设置第一连接边的权重系数为第二预设值;针对每个奇节点的第二连接边,将拆分顺序与第二连接边的建立顺序相同的子文本作为第二连接边的输入/输出文本;将每个奇节点的第三连接边的输入/输出文本均设置为第二预设文本;针对每个偶节点,将偶节点作为首端节点,将距离偶节点最近、且状态值大于偶节点的状态值的偶节点作为尾端节点,建立偶节点的连接边,得到每个偶节点的连接边;将每个偶节点的连接边的输入/输出文本均设置为第二预设文本,并设置每个偶节点的连接边的权重系数为第三预设值。
[0177]
可选地,建立模块104在用于根据奇节点的状态值和所有偶节点的状态值,建立奇节点的连接边时,具体用于将奇节点分别作为首端节点和尾端节点,建立奇节点的第一连接边;将奇节点作为尾端节点,将距离奇节点最近、且状态值小于奇节点的状态值的偶节点作为首端节点,建立奇节点的第二连接边;将奇节点作为首端节点,将距离奇节点最近、且状态值大于奇节点的状态值的偶节点作为尾端节点,建立奇节点的第三连接边。
[0178]
请参照图10,发音评测装置200可以包括获取模块201、提取模块202以及评测模块203。
[0179]
获取模块201,用于获取预设语音文本对应的hclg构图,hclg构图中的语言模型wfst是利用如前述语言模型wfst生成方法得到的。
[0180]
提取模块202,用于提取预设语音文本对应的待评测音频的音频特征。
[0181]
评测模块203,用于利用预先训练的声学模型、hclg构图以及音频特征,对待评测音频进行评测。
[0182]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的语言模型wfst生成装置100和发音评测装置200的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0183]
进一步地,本发明实施例还提供了一种计算机设备300。请参照图11,计算机设备300可以包括存储器310和处理器320。
[0184]
其中,处理器320可以是一个通用的中央处理器(central processing unit,cpu),微处理器,特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制上述方法实施例提供的语言模型wfst生成方法,和/或,发音评测方
法的程序执行的集成电路。
[0185]
存储器310可以是rom或可存储静态信息和指令的其它类型的静态存储设备,ram或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmabler-only memory,eeprom)、只读光盘(compactdisc read-only memory,cd-rom)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器310可以是独立存在,通过通信总线与处理器320相连接。存储器310也可以和处理器320集成在一起。其中,存储器310用于存储执行本技术方案的机器可执行指令。处理器320用于执行存储器310中存储的机器可执行指令,以实现上述的方法实施例。
[0186]
本发明实施例还提供一种包含计算机程序的计算机可读存储介质,计算机程序在被执行时可以用于执行上述的方法实施例提供的语言模型wfst生成方法,和/或,发音评测方法中的相关操作。
[0187]
综上,本发明实施例提供的一种语言模型wfst生成方法、发音评测方法及相关装置,首先,对预设语音文本进行拆分,得到多个子文本;然后,根据子文本的第一数量以及预设朗读模式,确定状态节点的第二数量,其中,预设朗读模式包括以下至少一种:乱读、重复读以及漏读;接着,设置第二数量个状态节点;最后,根据多个子文本的拆分顺序与预设朗读模式,建立每个状态节点的连接边,以生成语言模型wfst。由于本发明实施例根据子文本的第一数量以及预设朗读模式,确定状态节点的第二数量,根据多个子文本的拆分顺序与预设朗读模式,建立每个状态节点的连接边,以生成语言模型wfst,从而在用户乱读、重复读、漏读等情况下,能够定位用于评测的语音文本,进而准确对用户的发音进行评测,提升用户体验。
[0188]
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1