发明内容
本发明目的是:提供一种性能较为完善的辅助口语语言学习的计算机***,其应用语音识别和语音及语言分析技术生成与口语语言学习相关的模式特征,使用结构化的教学模式信息,特别是可以启发式地捕获用户错误并智能地反馈丰富的教学指导信息,以弥补现有技术在这方面的不足。
本发明的技术方案是:一种辅助口语语言学习的计算机***,包括以下组件:
用户界面,包括机器对使用者的提示,要求用户完成一定的口语语言学习内容,还包括采集用户在此过程中的语音响应数据;
数据库,包括特征数据项,该特征数据项中包括一组模式特征,用以描述与用户的口语语言学习相关的声学和语言学方面的表现,并将模式特征量化的与特定的反馈指导信息和学习内容相对应;
语音分析***,用以分析上述采集于用户的语音响应数据,从上述采集的语音响应数据中提取声学模式特征或者语言学模式特征;
模式匹配***,用以将上述提取于用户语音响应数据中的声学模式特征或者语言学模式特征中的一个或多个子集与数据库中的模式特征进行对应匹配,并根据上述匹配结果生成反馈数据;
反馈***,用以将上述反馈数据反馈给上述用户,辅助上述用户掌握上述口语语言学习内容。
本发明种辅助口语语言学习的计算机***的上述主要技术方案中具体采用了预先定义好的结构化的数据库,该数据库中包含有各种语言学习中可能遇到的错误实例和相应的教学指导,这些错误实例包括声学相关的错误实例和语言学相关的错误实例。错误实例由一系列的模式特征(也即特征向量)描述,模式特征可以为词序列、数字或者符号。本发明的主要技术方案中涉及的“机器”可以是计算机或者其他电子设备,具体例如,但不局限于,桌面笔记本电脑、移动计算设备如PDA;当然本发明辅助口语语言学习的计算机***可以通过互联网以分布式方式实现,例如客户端和服务器端***。本发明可以应用于各种语言学习,例如中文和英文,本发明还可以根据所提供的内容应用于教学和测试,这些将在下面进行详述。
本发明具体的实施方案中,所述结构化的数据库进一步用于存储一组相互关联的数据项。这些相关联的数据项包括了一个“特征数据项”,例如特征向量,该向量包括一组模式特征用以分辨用户在口语练习中可能出现的各种表现尤其是错误表现。相关联的数据项同时包括了“指导数据项”,该项包括一些指导信息,该指导信息与特征数据项中的声学模式特征或者语言学模式特征一一对应,用以指导用户提高或改正口语发音中的错误(或对用户的改正给出奖励)。指导信息可以有多种形式,例如,语音指导(使用语音合成器),和/或文字指导(以文本形式输出),和/或图形指导(以图表形式输出)。相关联的数据项同时包括“学习内容数据项”,用以标识口语语言学习内容中的某一个特定的语言学习目标,通过该学习内容数据项,口语语言学习目标的具体内容就与上述的相关联的数据项对应起来。概括的讲,上述这些相关联的数据项包括了对特定口语语言学习内容的预设用户响应以及与每种响应对应的学习指导数据项。口语语言学习的内容可以有多种形式,例如:练习发音、流利性、语调(例如基频的时间轨迹),声调(对于有声调的语言)、重音、词汇选择以及其他有关内容。以有声调的语言为例,口语语言学习的内容可以设计为练习声调:所采集的用户发音的语音数据,特别是从该语音数据中提取的特征,可以用来与已知的一组声调(例如五种)中的一种进行匹配。
本质上讲,本发明中使用一个模式匹配***将用户发音的模式特征与相应的口语语言学习内容中预设的特征数据项(或说特征向量)进行匹配,根据匹配的结果搜寻相应的指导信息数据项再给出相应的指导内容。通过这种方式,相应的指导内容可以与一些预设的语言学习情况对应起来。例如,预先设定一组可能发生的语言学习错误以及相应的学习指导内容,再根据模式匹配的结果选择其中最有针对性的学习指导内容反馈给用户。在一个理想***中,预设情况一般会有多种,当然这不是一个严格限制。
在实际***中,匹配所用的模式特征与用户语音输入的声学或者语言学特点直接相关。例如,与音节或音素的基频时间轨迹和/或能量高度相关的模式特征;和宏观语言学因素有关的模式特征,譬如词序和抽象语义的模式特征。一组模式特征可以用一个元向量描述,该向量的每个元素可以具有不同的数据类型,例如一个实数数组(例如基频的时间轨迹),或某个有序列表(例如一个词序列),或其他类似的元素。当然声学或者语言学模式特征下面将详述。
本发明具体的实施方案中,语音分析***由声学模式分析***和语言学模式分析***组成。这两个模式分析***都用到了基本的语音识别***的输出,语音识别***自身包括了基于统计的声学模型和语言学模型。声学模型用于描述某个语音片段与某个音节或者音素的相似程度。语言学模型用于描述从音节/音素到字词的映射,以及字词的统计先验概率。在本发明进一步优选的实施方案中,语音识别***主要用于生成字词以及音素/音节的时间边界,据此将采集的语音数据进行有效分割,并将声学模型和语言学模型的模式特征进行分组。
本发明具体的实施方案中,语音识别***的输出可以是下面三个信息:1.音素/字词;2.音素/字词+它们的时间边界;3.音素/字词的时间边界;而语音识别***可能同时输出上述三个信息。
本发明具体的实施方案中,声学模式分析***将一个或多个音素、音节和句子,它们的时间边界,相应的置信程度信息以及相关的韵律信息组成一个声学特征向量。该特征与语音识别***所使用的特征有所不同。这些声学特征(例如音素的基频轨迹或者音素的平均能量)对应于教学相关的语音特征。
本发明具体的实施方案中所述声学模式分析***可以识别口语语音中的多个层次的发音,例如一个或多个音素、音节和句子,同时提供相应的置信度,例如音节的后验概率。这样,声学模式特征也就包括一个或多个音素、音节和句子及其相应的置信度数据。在进一步优选的实施例中,声学模式分析***还能从采集的语音响应数据中识别韵律特征,该韵律特征包括某语音数据片段(对应于采集的语音数据中的一个音素或者音节)的基频特征,以及相应语音数据片段的持续时间和能量值。
本发明具体的实施方案中,语言学模式分析***用于识别用户语音中的语法结构。数据库中存有大量的各种类型的语法结构,语言分析***将采集的语音与数据库中现有的记录进行比对给出识别结果。如下是一个简单示例:我们有一个句子“请将瓶子拿到厨房”,语言模式分析***识别出该句的语法结构为“将X拿到Y”。随后,语言模式分析***将在数据库中检索该语法结构是否存在,并返回相应的索引序号。
本发明进一步优选的实施方案中,语言学模式分析***还进行语义解码,将采集并识别的语音与一些更广义的语义表达进行匹配。例如,句子“请问哪里有饭店?”可以在语义层面抽象为“询问”加“地点”加“餐饮部门”。科技文献中已经发表了有关利用语音识别***进行语义级别分析的研究成果(例如S.Seneff.Robust parsing for spoken language systems.In Proc.ICASSP,2000)。这里,采集语音的语义结构被用于确定指导信息数据库索引值的特征向量的元素之一。
本发明进一步优选的实施方案中,语言学模式分析***还可以识别用户语音中的一个或多个关键词,特别是“语法”关键词,例如连接词或者介词等。然后,声学模式分析***给出每个识别出来的关键词相应的置信评分。实际上,这些关键词的置信评分也是用于确定指导信息数据库索引值的特征向量的元素之一。当这些关键词对于理解一门语言的意思尤其重要时,上述特征很有价值。
本发明具体的实施方案中,所述声学模式分析***和语言学模式分析***,或二者之一可以识别错误或者正确的声学、语言学/语法结构。据此,本发明***可以识别用户口语语言学***。
本发明具体的实施方案中,反馈数据由结构化的数据库中的指导信息的索引组成。该索引是由用户的声学模式特征与数据库中的某些预存的声学模式特征的匹配程度决定的。在已知当前学习内容的情况下,音素、音节或语法结构之类的特征的最佳比对结果可以用于判断用户发音和句法是否正确(或者相应的正确程度)。因此,这种对用户的指导更接近自然语言学习的感觉。
本发明具体的实施方案中,指导信息是分级整理的,至少包括声学级别和语言学级别的指导。据此,***可以根据用户所选择的训练级别、用户的口语能力,以及/或学***的口语练习者,***反馈语言学级别或者语义级别的指导信息。另外,用户可以选择所期望的指导级别。
本发明具体的实施方案中,***的反馈信息包括评分。计算机生成的评分本质上讲可以在任意的数值段。但在实际的语言评测中,真人教师对说话人的口语语音进行好或坏的评价,或者给出1到10的评分的时候,评分结果具有很高的一致性。据此观察,某些实施例加入了一个映射函数,该函数将根据模式特征匹配程度给出的评分转化为用于***输出的评分。实际上,该函数通过一组训练数据(采集的语音数据)训练所得,针对该组训练数据的真人教师的评分是已知的。该函数用于转化计算机生成的评分,使得在给定评分范围的条件下,***生成的评分和真人教师的评分具有0.5、0.6、0.7、0.8、0.9或者0.95以上的相关程度。
本发明优选的实施方案中,***进行机器辅助教学的口语语言包括某些基于声调的语言,例如中文。相应的,***反馈数据中则包括基频时间轨迹数据以及相应的图解信息。
本发明辅助口语语言学习的计算机***是自适应的,并可以向用户学习。这样的***实际上包括了大量历史数据记录,例如用户的语音数据以及相关的声学和/或语言学特征向量。通过统计分析,从中可以找到某些频繁发生的但无法在数据库中找到相近匹配的特征。这种情况下,数据库生成一个新的记录,该记录实际上对应于一种新的普遍的错误类型。因此,某些***实施例包括一个编码模块,用于从历史数据中识别数据库中没有的新的特征,并将该特征添加到数据库中。某些情况下,上述模块将数据库中现有的特征重新分类。例如将原有的基频频段的40赫兹到100赫兹的范围分成40赫兹到70赫兹以及70赫兹到100赫兹两部分。在本发明进一步优选的实施方案中,***为专家提供界面以验证推测得出的新的特征。从而专家可以为新的特征给出相应的指导信息并添加到数据库的指导信息数据。除此以外,***还可以咨询用户新的特征是否和某个错误很相关。这些信息可以以文本的形式加入数据库。在更新数据库之前,***将此“纠正”数据发送给其他具有同样错误的用户,从而判别相应的指导信息是否有效的帮助大部分用户纠正了错误。
本发明辅助口语语言学习的计算机***还可以用于辅助口语测试。这种情况下,反馈***可以生成一份测试报告补充或代替对用户的反馈。
综上所述,本发明实际上公开了一种具有自适应特性的辅助口语语言学习的计算机***,该***可以进行自动的语音识别,提取与口语教学相关的用户的声学和语言学模式特征,启发式地捕获用户错误(分析多种方案)并给出教学指导。其基本的实现过程为:用户向某种电子设备练习口语发音,***采用语音识别技术以及语音和语言学特征分析技术分析用户语音,以此生成声学和语言学错误特征。***在包含有预设错误和相应指导的数据库中搜索用户的错误特征。***发现错误特征匹配后,通过某种智能方式反馈给用户个性化的错误分析和教学指导。***还可以根据用户的学习体会自动调整。籍此,***可以掌握新的知识或者新的个性化的教学指导内容。***可以以互动对话模式进行短句教学,也可以以跟读模式进行长句及段落教学。
本发明辅助口语语言学习的计算机***在进一步优选的实施方案中,该***可以提供客观定量的机器评分反馈,该评分是经过验证的,同时对丰富且具体的声学和语言学学习点提供反馈评测,并能智能地提供可扩展的个性化的教学指导以助于纠正发音错误或者提高口语技巧。虽然评分是由计算机生成的,但该评分经过和真人教师的评分进行验证,因此该评分是可信赖的。另外,本发明方便于搜集新的知识,因此是可动态改进的。
本发明还提供一种用于实现前述任意一项权利要求所述的辅助口语语言学习的计算机***的计算机程序代码,该计算机程序代码包括实现如下功能的计算机程序代码:用户界面,包括机器对使用者的提示,要求用户完成一定的口语语言学习内容,还包括采集用户在此过程中的语音响应数据;数据库,包括特征数据项,该特征数据项中包括一组模式特征,用以描述与用户的口语语言学习相关的声学和语言学方面的表现;语音分析***,用以分析上述采集于用户的语音响应数据,从上述采集的语音响应数据中提取声学模式特征或者语言学模式特征;模式匹配***,用以将上述提取于用户语音响应数据中的声学模式特征或者语言学模式特征中的一个或多个子集与数据库中的模式特征进行对应匹配,并根据上述匹配结果生成反馈数据;反馈***,用以将上述反馈数据反馈给上述用户,辅助上述用户掌握上述口语语言学习内容。代码可以通过某种载体提供,例如CD-ROM或者DVD-ROM,或者可编程存储器,例如硬件固件。本发明实施方案的代码(和/或数据)包括源代码、目标文件或可执行代码(基于某种计算机编程语言,例如C或汇编语言)、设置或控制专用集成电路(ASIC)或现场可编程门阵列(FPGA)的代码,或者用于硬件描述语言的代码,如
或者超高速集成电路硬件描述语言(VHDL)。
本发明的优点是:
1.本发明辅助口语语言学习的计算机***可以为口语语言学习者提供针对声学及语言学的多种方面的反馈评价信息,这些信息是经过统计验证的,丰富且准确的,能够使用户对自己的整体表现有充分完整的概念。
2.本发明辅助口语语言学***,以助于纠正发音错误或者提高口语技巧。
3.本发明辅助口语语言学习的计算机***具有较高的自适应性,其可以获取新的知识(新的口语模式特征/教学指导内容),可以根据用户的学习体会自动调整,并籍此掌握新的知识或者新的个性化的教学指导内容,并且随着时间的推移不断完善。因此,相对现有非启发式的口语学习计算机***而言,本发明更智能,更具有实用性。
具体实施方式
具体讲,本发明公开了一种辅助口语语言学习的计算机***,其应用语音识别和语音及语言分析技术生成与口语语言学习相关的模式特征,使用结构化的教学模式信息(特别是错误模式),并且智能地反馈丰富的教学指导信息。可能的声学和语言学模式特征(学习错误或者对同一意思的多种口语表达方式)可以通过实际的外语教学案例收集。本发明应用机器学习方法对如上模式进行分析,得出一组简洁的特征向量,以反映不同的教学方向。这些特征向量可以组合起来以用于对不同的教学内容给出具体或总体的评分,例如发音、流利性或者语法使用的正确性。通过将这些机器评分与真人教师的评分进行统计回归,可以保证两者之间高度的相关性。另外,数据库将这些模式特征分类存储,并将每种特征对应以不同的特定的教学指导。因此,我们可以认为教学指导是用户语音的模式特征的一个函数。
当语言学习者对着机器练习语音时,输入的音频信息被机器处理以生成声学和语言学模式特征。***随后从数据库中搜索与其相匹配的一个或多个记录项,从而找到一系列相应的教学指导内容并将其综合成一个完整的教学指导反馈,以文本或者多媒体的形式输出。***可以使用语音合成器或者真人录音将教学指导以语音形式返回。当***无法在数据库中匹配合适的特征时,该未知特征会被反馈到中心数据库。每次,当相似的未知特征被发现后,***对其进行计数、分析并在适当的时候将其作为新的知识加入数据库。当用户尝试克服某个特定的错误类型时,用户会被要求输入他/她的学习心得,这些信息同样被分类并作为新的知识加入到数据库中。
以下首先结合图1、图2、图3、图4、图5和图6,对本发明辅助口语语言学习的计算机***的各个部分,尤其是各个功能模块,进行详细的解释说明,然后再给出一个结合了具体语言学习内容的实施例。
模块1是一个前端处理模块。该模块对输入语音进行信号处理,并提取一系列原始特征向量用于后续的语音识别和分析。这些特征向量是实数向量。这些特征包括,但并不局限于如下几项:
Mel频率倒谱系数(MFCC)
感知线性预测(PLP)系数
波形能量
波形基频
模块2是一个语音识别模块。该模块根据输入的语音识别出字词序列和每个音节的时间边界,还可以输出每个音节的置信评分。该模块使用模块1所输出的全部或部分的原始声学特征。语音识别方法包括,但不局限于如下几种:
模板匹配方法:将每个音节的规范语音模板与输入的特征进行匹配,输出最匹配的模板
基于概率模型的方法:概率模型,例如隐马尔可夫模型(HMM),可以用于描述已知特定词序列的条件下原始特征向量的概率值,并且/或者描述词序列的先验概率。给定输入的声学特征,概率模型可以输出取得最大后验概率的字词序列。识别过程中,可以使用基于语法的词网络或者统计语言模型来降低搜索空间的维度。识别过程自动输出每个音节的时间边界。置信度评分通过,但不局限于下面方法进行计算:
-混淆字词网络的音节的后验概率。识别器会输出多种假设的识别结果。于是,本发明计算假设中的每个音节的后验概率,该概率是给定所有可能假设条件下某音节的似然性。该后验概率可以直接,或者经过某种适当的线性变化,作为相应音节的置信评分。
-背景模型似然值比较。我们用大量混合语音数据训练出一个背景模型,该模型不具有一般语言模型对字词的区分能力。用它可以计算对于某个已识别的音节的原始特征的概率值。然后,我们将用背景模型计算的概率值与用正确的统计模型计算的概率值进行比较,用比较结果,例如比例信息,来作为置信度评分的依据。
模块A为附加模块,表示用户输入语音所对应的文本是预先知道的。此信息可以用于代替模块2的文本输出,或者加速模块2的识别过程,并直接用于下一步的模式特征分析。一般来讲,该模块用于纯声学方面的教学,即主要输出给模块3。
模块3是一个声学模式特征提取模块。该模块使用模块2和模块1的输出信息,特定情况下可以包括模块A的信息,产生一组用于教学目的的声学模式特征。这些特征是定量的,并能直接反映语音的声学特点,例如发音,声调,流利性等。这些特征包括,但并不局限于如下几项:
每个音节的原始语音信号(波形);
根据模块1得到的每个音节的原始声学特征;
每个音节和/或音素(最小的声学单元)的持续时间;
每个音节的平均能量;
每个音节和/或句子的语音基频值;
每个音节或声素或句子的置信度评分;
模块4是一个语言学模式特征提取模块。该模块使用模块2的输出,产生一组用于教学目的的语言学模式特征。这些特征包括,但并不局限于如下几项:
用户输入的词序列;
用户使用的词汇表;
语法关键字的出现概率;
预先定义的语法索引;
输入词序列的语义项;
通过将字词序列与一系列预先定义的有限状态语法结构进行匹配可以返回最匹配的语法结构的索引。语法关键字特征和语法结构的索引构成了用户的语法模式特征。语义项可由一个语义解析器获得。该语义解析器将词序列映射到标准化的语义项。
模块5是一个教学模式分析模块。该模块使用模块3输出的声学模式特征以及模块4输出的语言学模式特征,并将这些特征与教学模式以及指导内容数据库,模块B,进行匹配。
模块B是一个预先定义好的教学模式和指导内容数据库。数据库每项分两大类:教学模式特征以及相应的指导内容。教学模式特征包括如前所述的声学和语言学模式特征。特征项的结构如图5所示。这些特征可以是实数型向量、符号或者索引值。指导内容是相对应的教学模式的解释性信息。指导内容可以是文本信息、图片、语音或者影像样例或者其他可以通过机器与用户交流的形式。建立该数据库之前需要收集足够的语音数据、相应的文本内容、真人教师评分以及真人教师的指导内容。之后则根据训练数据提取特征信息并根据不同的指导内容将特征分类。给定某个教学内容时,每个表达对应的模式或者错误对应的模式都和数据库中的教学指导内容相联系。这种结构由图6表示。
匹配根据的是输入特征和数据库内的参照特征之间的广义距离。该距离通过,但不局限于,如下方法计算:
对于实数型特征,首先进行归一化,从而将特征限制于0到1的值域;然后计算欧式距离。
可以使用一个概率模型及相应的似然值代替欧式距离。
对于索引型特征,如果数据库中存在同样数值的索引则返回1,否则返回0。
对于符号型特征,例如词序列,计算汉明距离。
进行如上搜索之后,根据不同的教学模式从数据库中提取一些指导信息,可以选择最小匹配距离对应的记录或者根据排序的匹配结果选择多个记录。指导信息包括错误纠正指导或者教学建议。指导信息可以是文本、语音或者其他多媒体形式。对于基于声调的语言学习而言,例如中文,有关声调教学的指导信息可以是前述的语音基频值校准图形。
除了指导信息以外,模块3和模块4的输出还可以用于计算定量评分。该分数包括针对每个教学方面的定量分数以及对整体表现的总评分。一般来讲,该分数和输入特征与数据库中参照模板特征之间的广义距离成线性或非线性关系。分数包括,但不局限于,如下几项:
对句子、音节或音素的发音评分。该评分通过置信度分数、持续时间以及能量值计算。
对音节或音素的声调评分。该评分通过语音基频值计算。
流利性评分。该评分通过置信分数和语音基频值计算。
通过率。该评分通过得到高发音/声调/流利性分值的词占全部练习词汇的比例计算
熟练程度。该评分通过上述所有评分线性加权计算。
上述原始评分要经过进一步线性或非线性映射变换以符合真人教师的评分标准。该变换基于大量的语言学习样本数据以及真人老师和计算机的评分通过统计方法进行训练。上述评分以数字形式或者图片形式显示给用户,同时应用对比表、柱状图、饼图和直方图等统计图表形式。
综上,模块5的输出包括前述的指导信息以及定量的评分。
模块6是一个反馈信息生成模块。该模块综合模块5输出的指导信息和定量评分以产生一个有组织的、流畅的和综合的教学指导内容。最终指导内容包括基于文本的指导意见和多媒体样例。该指导包括综合的指导意见,以及针对不同的声学或者语言学学习点的专门的指导意见。另外,将模块5产生的定量评分以直方图或者其他形式的图形显示,使学习结果形象化。
模块7是一个可选的文字转语音模块。模块6输出的基于文本的指导信息可以通过语音合成转换为语音或者预先录制好的真人发音。
模块8是一个自适应模块。该自适应模块可以实现对学习模式及指导信息数据库,模块B,和语音识别模块2以及声学分析模块3的更新。
对于模块B的更新可按照如下方式进行。首先,模块根据当前用户的学习需求,有效组织可能的反馈信息。模块统计用户的发音模式(特别是错误模式)并将其存入数据库。这些统计信息主要包括用户的模式特征的计数已经相应的分析结果索引。下一次,当同一位用户进行学习时,该用户可以恢复他的学习历史或者通过将当前统计结果和数据库中的历史统计进行比对从而认识到进步。这些统计数据还可以用于设计个性化的学习材料,例如个性化的练习课程或者高级阅读材料等。统计数据以数值形式或者图表形式显示。
其次,自适应模块调整数据库以适应新的情况。发现新的模式特征的时候,新的模式特征通过网络被反馈到中心数据库,例如国际互联网上的一个服务器。中心数据库对这些新的特征计数并且在特征积累一定量后进行归类。新的类别出现后,数据库进行更新以适应这个新的情况,例如一种新的学习错误。新的数据可以被所有的用户重新使用。另一方面,当某一个用户取得进步后,***可以请用户输入学习技巧。该信息也可以被返回到***并加入数据库。该自适应模块可以保持一个动态的数据库,以满足内容的丰富性以及个性化。
对于模块2和模块3的更新是通过更新模型参数实现的。模块2的可更新模型参数包括,但不限于:隐马尔科夫模型的参数以及语言学模型的先验概率,更新方式可采用最大似然估计。模块3的可更新参数包括但不限于:基频的限定频率范围,平均能力的限定范围。
如下给出本发明的一个具体实施例——一个英语学习***——的详细描述。在本实施例中,学习语音的用户设定为母语为中文的学习者。学习范围设定为旅游信息。课程模式为句子级别的对话交流。全***运行于连接到国际互联网的个人计算机(PC)。麦克风和耳机作为用户的输入输出设备。
计算机首先通过用户界面提示一段中文意思(例如,“你想去一个价钱贵的饭店。”),然后请用户用英语通过一句话表达同样的意思。用户对计算机说一句英语后,计算机分析各种声学和语言学方面的特征,并且给出一份丰富的评测报告和改进建议。因此,本发明辅助口语语言学习的计算机***的核心是语音分析***和反馈***。进一步结合图1、图2、图3、图4、图5、图6、图7、图8和图9所示,对该实施例的功能实现过程给出逐步的描述:
首先,模块1进行前端处理(原始特征提取)。用户输入计算机的信息首先被转化为
WAV格式的数字语音波形。波形数据被分割成一系列重叠的数据段。相邻片段的重叠长度为10毫秒。每个片段的长度为25毫秒。原始声学特征提取自每个片段,也就是说,每10毫秒提取一个特征向量,该片段被称为“帧”。提取特征时,首先对各帧中的语音信号进行短时傅立叶变换,得到信号的频谱信息,然后提取感知线性预测(PLP)特征、能量和基频,也即基频值或f0。为了抑制信号处理中的基频加倍问题,本发明采用移动高斯平滑窗口处理原始的基频值。关于PLP特征的提取技术,参考[H.Hermansky,N.Morgan,A.Bayya,and P.Kohn.RASTA-PLP speechanalysis technique.In Proc.ICASSP,1992.];关于基频值的提取技术,参考[A.Cheveigh and H.Kawahara.Yin,a fundamental frequencyestimator for speech and music.Journal of the Acoustical Society ofAmerica,111(4),2002];能量值即为片段内所有信号的平方和。
将PLP值和能量特征输入到一个统计语音识别模块2得到:
1.统计上最大可能出现的词序列和音素序列
2.以网格形式给出N个备选词/音素序列
3.每个词/音素的声学模型概率值以及语言学模型概率值
4.每个词和音素的时间边界
统计语音识别***包括声学模型、语言学模型和字典。字典给出了由音节/音素到字词的映射关系。
本发明使用了一个包括所有非母语发音变形的多映射发音辞典。语言学模型采用一个三元模型,给出了每个字词,双字词组,以及三元字词组的先验概率。声学模型采用一个连续分布的隐马尔可夫模型(HMM),用于描述给定某个音素的条件下特征(观察量)向量的概率分布。
图7是一个由左及右的隐马尔可夫模型,如图7所示,我们采用一种经过状态聚类的跨词边界的三元组隐马尔可夫模型。状态输出概率是由PLP特征向量(包括静态、第一和第二阶导数)构成的混合高斯模型。我们使用令牌环传递算法进行搜索,通过在搜索过程中保留多个令牌以得到多条备选的音节/音素序列。语音识别结果以HTK网格形式给出,具体技术细节参见[S.J.Young,D.Kershaw,J.J.Odell,D.Ollaason,V.Valtchev,and P.C.Woodland.(for HTKversion 3.0).Cambridge University Engineering Department,2000]维特比算法可以同时识别音节/音素的时间边界,该信息用于如图8所示的子序列分析。
在某些学习任务下,用户发音的文本内容是已知的,即存在模块A,包含了已知的用户说话内容,这时,识别模块可以被简化。这意味着可以使相应的识别器运行更快。这种情况下,语音识别模块2的搜索空间大大减小,仅生成模块A中给定文本的时间边界信息以及少量的与用户发音相似的识别结果。语音识别之后,相应的文本(可能直接来自于模块A)和声学信息输入给模块3和模块4,分别进行声学和语言学的模式分析。模块3汇集或提取如下和教学内容相关的声学模式特征。
1.音节/音素的持续时间
2.音节/音素的能量
3.音节/音素的基频值及其时间轨迹
4.音节/音素的置信度评分
5.多组识别出的音素序列
音节/音素的持续时间由模块2输出。音节的能量由音节内各帧的平均能量计算,计算公式如下:
其中Ew为音节的能量,Et为模块1所得的每帧的能量。音素能量以及音节/音素的基频值采用类似方法计算。基频的时间轨迹是对应于某个音节/音素的一组基频向量。我们使用动态时间弯曲算法将该向量归一化到标准长度。音节的置信评分通过识别器输出的字词网格计算。给定每个音素(或字词)弧的声学概率和语言概率值,可以采用前向-后向算法计算每个弧的后验概率。由此,原始的语音识别音素(字词)网格可以转化为一个音素(字词)混淆度网络,其中具有相似时间边界和相似内容的音素(字词)被合并。随后更新每个音素(字词)的后验概率并将其作为置信评分。技术细节参照[G.Evermann and P.C.Woodland.Posterior probability decoding confidence estimation and system combination.In Proc.of theNIST Speech Transcription Workshop 2000]。最后输出的音素序列是各个可能的序列中概率最大的那一条。
模块4提取用户输入语音的语言学特征,包括:
1.最优字词序列
2.用户词汇表
3.语法关键词的出现概率
4.预先定义的语法索引
5.语音的语义解释
最优字词序列是模块2的输出。词汇量指用户使用的不同的词汇。
语法关键词是事先定义好的一系列词汇,在实际***中采用哈希表进行检索识别。语法关键词的出现概率来自所识别的关键词对应的置信度评分。
语法关键词和预定义语法索引值表现了用户的语法模式特征。
句子的语义解释是通过用一组语法去分析字词序列而生成的。首先将每个词标记为名词或者动词等,然后和各个预定义的语法结构进行比对,例如“请带【名词/词组】到【名词/词组】”。预定义的语法结构不一定仅仅是正确的语法,该语法列表还包括大量的常见错误语法结构和表达相同意思的不同的语法结构。该提取算法和语义提取算法类似,仅将常见语义项替换为语法结构/术语。
***采用鲁棒的语义解析用于理解用户输入。这里,我们使用基于词组模板的方法。算法细节参照[S.Seneff.Robust parsing for spoken language systems.InProc.ICASSP,2000]。语义解码的结果以“request(type=bar,food=Chinese,drink=beer)”的形式输出。
生成教学相关的声学和语言学模式特征后,***将其与模块B,学习模式及指导信息数据库,中预定义的模式特征和教学指导进行匹配。由于这部分和智能反馈密切相关,因此我们先描述学习模式及指导信息数据库的构成。给定某个语言学习的内容,数据库包括大量的成对的“模式-指导”信息。声学模式集包括如下持续性特征:
1.正确读音的音节/音素持续时间的平均值和方差(母语和讲得很好的中国话)
2.代表5种熟练程度(由好到差)的读音的音节/音素持续时间的平均值和方差
音节/音素的能量和基频值按照如上模式提取。
就基频时间轨迹而言,每个音素和音节的归一化的基频时间轨迹存于数据库。归一化的基频的持续时间是每个音节/音素的持续时间的平均值,称为“归一化的持续时间”。所有训练数据的基频时间轨迹使用动态时间弯曲算法以延伸到归一化的持续时间。每个基频时间轨迹都将平均基频值减去以使其基线总是零值。于是,在每个时间点,训练数据的平均基频值被用作归一化值。值得一提的是,我们使用三种归一化的基频时间轨迹对应于好/中/差三种发音情况。
就置信度评分而言,好/中/差发音者的平均值都存于数据库。对应于正确的音节的音素组合和各种不同类型的错误的组合,数据库中存有多个音素/音节到字词的映射。例如“谢谢”有两种不同的音素组合,其中一个是正确的,另外一个是错误的组合,例如发音成“借借”。
就语言学模式特征而言,特定教学内容中的高频词句被存储于数据库中,完整的词汇表、语法关键词、语义解释等也存储于数据库中。针对常见学习错误的词汇表和语法关键词也分别存储于数据库中。
综上所述,我们使用预先收集的数据训练教学相关的声学和语言学模式并存储于数据库中,因此,统计意义上,这些模式代表了多种可能的模式(不同的表达或者特定的错误)。给定某个教学内容,每个表达对应的模式或者错误对应的模式都和数据库中的教学指导内容相联系。这些指导收集于真人教师,并且以文本和多媒体的形式存在。例如,数据库包含一条基于文本的和基于语音的指导信息用于描述如何区分“谢谢”和“借借”。
模块5使用通过声学和语言学分析得到的用户模式特征(声学分析模块3和语言学分析模块4的输出)与数据库中预存的模式特征进行匹配。模块5根据匹配过程进行计算/选择,输出客观的评分以及教学指导内容,模块3/4输入的特征值的距离以及数据库定义如下:
1.音节/音素持续时间的匹配采用马氏距离计算用户语音的持续时间和参考值之间的距离,计算公式如下:
其中Δd是用户语音的持续时间d和数据库中参考值之间的距离。μd是某个特定的音素或者音节在某种熟练程度下的平均持续时间,σd为相应的方差。
2.音节/音素的能量值Δe和基频值Δp的匹配采用类似公式(2)的方法
3.基频时间轨迹的匹配。首先将用户语音的基频时间轨迹归一化,然后按如下公式计算其和数据库中的参考值的距离。
其中Δtrj是用户语音的基频时间轨迹和数据库中参考值之间的距离,T是归一化持续时间的长度,f(t)是归一化的用户语音的基频值,μf(t)是数据库中归一化的参考基频值。
4.符号序列(音素或词或语义项)的匹配。首先将用户输入的符号序列和数据库中的参考序列对齐,两者间的距离为替换误差、删除误差和***误差之和。对齐通过动态规划算法实现。
得出与数据库中正确的声学模式之间的上述距离后,可以在音素、音节或者句子的级别对用户发音进行客观的评分。音素级别评分定义如下:
其中w1+w2+w3=1,w4+w5=1并且都为正数,例如0.1、0.5等。Cphn是音素的置信评分,α和β是评分函数的参量。音节级别评分Δwrd采用类似定义。句子级别的评分定义为音节级评分的平均分,即:
其中Nwrd是句中的音节数。值得一提的是,参数α和β是音素和音节评分计算时使用的加权系数,这两个参数由事先训练得到,从而保证机器评分和真人教师评分的高度相关性。
语言学的评分是根据词和语义项的错误率计算的。给定用户词序列Θwrd以及语义项序列Θsem与数据库中相应参考值之间的距离(错误数量),语言学评分计算如下:
其中w1+w2=1且都是正数,例如0.1或0.2。Nwrd是数据库中正确词序列中词的数量,Nsem是数据库中正确语义项的数量。
除了客观的评分,***同时生成用于纠正错误并且/或者提高口语水平的教学指导信息。***通过在数据库中匹配特定的错误模式特征或者其它预存口语模式特征给出相应的指导信息。就声学方面而言,***给出如下个性化的指导信息:
1.音素发音错误。利用用户输入语音的每个音节的音素序列与数据库中的序列的距离,搜索数据库中最相近的音素序列。如果所得的音素序列是某种典型错误,则选择相应的教学指导信息。
2.语调分析。基频时间轨迹可以给出音节和音素和字词的音调信息。给定用户语音的基频时间轨迹的距离,可以发现典型的语调错误并给出相应的指导信息。
针对语言学方面,产生如下的个性化的指导信息
1.词汇使用指导。***对用户的用词进行计数统计(在用户对同一内容进行多次练习后)。如果某词在数据库中记录应具有较高的使用频率但用户仅使用了很少次数,***给出指导信息以鼓励用户使用相应词汇。
2.语法纠错。如果匹配的语法索引对应于预先定义的错误的语法,***给出相应的指导信息。如果匹配的语法索引对应于预先定义的正确的语法,***给出采用另外一种语法结构表达相同意思的答案。
3.语法关键字指导。针对某个具体的学习内容,我们事先已知正确的语法关键字。因此,根据用户读音中的语法关键字的出现概率,***针对遗漏的或者使用不足的语法关键字给出指导。
4.语义指导。如果发现匹配的语义序列不正确,则给出产生语义理解错误的原因。
模块5给出不同的评分和指导信息。反馈生成模块,模块6,将其综合并输出一份详细的评分报告和完整的指导。
音节/音素和字词的评分以直方图形式显示,总评分以饼图形式显示。同时给出声调比较图形,包括正确读音的基频曲线和用户发音的基频曲线(仅给出有问题音节的声调图形)。指导信息分“词汇使用”、“语法评价”以及“可理解性”几部分。在这些指导信息中,机器使用一些常见的语句结构来组织所反馈的指导信息,例如“另外,您可以使用。。。来表达同样的意思。”
模块7进行文本到语音的转换。这里,我们使用一个基于隐马尔可夫模型的语音合成器。当某些教学指导项的文本内容过长或者指导包含多媒体内容时,***不执行该模块。
模块8用于维护一个动态的数据库,使其具有丰富且个性化的内容,即更新模块B。如果无法在数据库中找到匹配的内容,我们给出某种泛泛的指导信息,告诉用户需要进一步提高,例如“您的发音和标准发音还有一段距离,请改变您的学习级别。”同时,***将该模式以及原始语音数据存储下来。程序结束后,保存的数据通过国际互联网传送到服务器。中心服务器对这些模式进行计数统计,当某种模式积累到一定数量后,中心服务器对其进行分组。当一组新的模式出现后,真人教师对其进行分析并给出相应的指导意见,服务器将新的模式,例如“一种新的错误型式”,加入到数据库中。该种新的模式可以用于其他用户。另外一方面,当某个用户取得进步时,***会请求用户输入其学习心得和体验,该信息也被反馈到中心服务器并且加入数据库。
除了自适应的内容更新之外,用户的原始语音数据也用于更新语音识别所使用的隐马尔可夫(HMM)模型,它导致了语音识别模块2以及声学分析模块3的参数更新。这里,我们采用最大似然线性回归(MLLR)算法更新每个HMM模型的混合高斯模型的均值和方差,参照[C.J.Leggetter and P.C.Woodland.Speaker adaptation of continuous density HMMs using multivariate linearregression.ICSLP,pages 451-454,1994]。更新的模型能更好的识别特定用户的语音。
另外,学习模式及教学指导信息数据库,模块B,还存储用户的发音模式(特别是错误模式)的统计信息。这些统计信息主要包括用户某种发音模式的计数统计以及相应的分析结果的索引。下次,当相同用户开始学习的时候,该用户可以获得他的学习历史记录,或者通过比较当前的分析结果和数据库中的历史记录来看到进步。这些统计数据还用于设计个性化的教学材料,例如个性化的练习课程或者高级阅读材料等。统计信息可以以数字化或者图形化的形式展示。
本***可以采用类似形式实现其他语言的辅助教学。针对基于声调的语言,例如中文,本***的一个额外特点是可以通过如图9所示的基频对齐比较图形来指导声调的训练。
图9中,参考基频值以实线给出,代表了相应的音素或音节的基频。学***。曲线、图形、颜色或者其他图形属性会有所不同。
值得注意的是,本发明不局限于前述的实施例,具有相应从业经验的人士可以根据前面的技术和框架描述做出修改以形成其它的实施例。