计算机汉语词汇语音输入方法

文档序号:6407905阅读:249来源:国知局
专利名称:计算机汉语词汇语音输入方法
技术领域
本发明有关于一种词汇语输入法,特别是一种利用语音输入词汇于计算机的方法,其以词为辨识单位,即对于二字以上的词仅辨识各音节的韵母部分,而二字词或单字词才以整个音节辨识,以提高辨识率与辨识速度的词汇语音输入方法。
以语音输入取代以键盘输入中文,不但使不会使用键盘输入法的使用者的最佳选择,更增加计算机使用的普遍性。现有的语音输入法,大抵采用单字辨识,且存在辨识速度慢、误辨率高,使用介面复杂,甚至须使用者先经长时间的正式发音训练等问题。
有鉴于上述问题,本发明的目的在于提供一种以辨识各词汇的韵母部分的词汇语音输入法。
现有的语音输入方式所面临的问题,在汉语语音辨识中存在着38个混淆音组,造成这38个混音组的原因是;中国语中,每个音节可被分割成声母与韵母,一般来说,韵母的辨识率是可以提高的因为从波形及语音的特征参数中可观察到,韵母通常是稳定的周期性信号,且其发音长度也较长,然而声母的辨识率却远小于韵母的辨识率,其原因在于(1)大部分声母的长度相当短,因此一般切割音节的演算法无法精确地将它们选出;(2)大部分会说国语的人,并未受过正式的发音训练,一些卷舌音,如和ㄗ、ㄔ和ㄘ、ㄕ和ㄙ,很多人根本是忽略它们的区别的。
根据上述理由,本发明的计算机汉语词汇语音输入法,从观察中文字及注音组合成词的关系发现,大部分由二字以上组成的词,它们在发音上的不同除可由408个音节去判别外,其实只要分辨它们韵母的组合,同样可将字数相同的词分辨出来,例如中华民国(ㄓㄨㄥㄏㄨㄚㄇ-ㄣㄍㄨㄛ)与台湾大学(ㄊㄞㄨㄢㄌ丫ㄩㄝ),这两个词的注音只要从韵母中就可分辨出这两个词“ㄨㄥㄨㄚ-ㄣㄨㄛ”与“ㄞㄨㄢㄚㄩㄝ”,这种韵母的组合在语音辨识中是很容易达到高辨识率的,而且辨识速度也可加快,因为本发明的词汇输入方法只要去辨识38个韵母就够了,而不是全部的408个音节。此外,在本发明八万词目的词库中,共有13000个三字词和11388个四字词,如果所有的韵母组合都可形成词的话,那么,具有相同韵母组合的三字词和四字词的数目分别有0.23(=13000/38)和0.005(=11388/38),这也就是说具有相同韵母组合的词数目是相当少的,否则本发明方法也就不可行了。此外,如果把这个方法用在二字词上将会造成组合爆炸的结果,因为具有相同韵母组合的二字词实在太多了,所以本发明在辨认二字词的时候必须把声母的辨识也加进来。
因此,本发明的目的在于提供一种以语音输入汉语汇到电脑的输入方法,其是建立一系统结构,其中包括音节切割、语音辨识、配词与使用者介面等系统将语音经系统的流程处理后,能迅速正确地辨识。以达到输入计算机的目的。
本发明的计算机汉语词汇语音输入方法,其特征在于,主要步骤包括
音节切割借由声母与韵母的语音信号周期稳定程度不同加以分割音节的声母与韵母,使成一序列的语音音框并设定每个音框的语音特征参数;语音辨识借由一个韵母拜氏网络与一音节拜氏网络以辨识音框并产生候选音节;配词借由一串列式数据结构为词库以此词库为依据,由候选音节转换为候选词;以及使用者介面(数据转换)将相应于候选词的数据转换为可显示的电信号,借计算机屏幕与键盘,提供使用者由屏幕中选取正确的候选词;由音节切割、语音辨识、配词与使用者介面等步骤先由音节切割将由使用者输入的语音信号的音节切割为声母与韵母,再由语音辨识产生音节,再由配词步骤依候选音节的特征,由串列式数据结构的词库中,选配出候选词,借由使用者介面的显示与操作方式,由使用者从候选词中选出正确的输入词。
所述音节切割步骤中切割音节的方式是根据声母与韵母的周期稳定度不同,而以音框来区分。
所述语音辨识步骤将分辨方式区分为单字及二字词与二字以上词两种模式、即先以韵母特征辨识词的长度,其中单字与二字词即以整个音节为单位,由音节拜氏网络加以辨识;二字以上词以韵母根据韵母拜氏网络辨识并产生候选音节的方法。
所述配词步骤中词库的数据库结构采用串列式数据结构,其是以词的前两个音的韵母编号组合为指标开始搜寻,并将词库分为二字与二字以上词两大部分。
至于本发明的详细应用原理、系统结构与流程、作用与功效,则参照下列依附图所作的说明,即可得到完全的了解。
图示简单说明

图1本发明的方法步骤示意图。
图2本发明的方法流程图。
图3本发明的音节切割方式中搜寻稳定韵母区的视窗示意图。
图4本发明的音节切割流程图。
图5本发明的语音辨识系统的拜氏网络结构图。
图6本发明的配词系统的词库结构。
图7一个国语音节ㄅㄚ的声母与韵母区示例的频谱图。
如图1、2所示,本发明的词汇语音输入方法,主要包括音节切割A、语音辨识B、配词C与使用者介面D四个步骤构成。其工作流程当语音信号经麦克风输入电脑后,首先经音节切割A、将音节切为声母与韵母,因为在语音辨识步骤B中的辨识方式是根据词的长度而进行,因此对于所输入的单音,首先由语音辨识步骤B中的韵母拜氏网络21辨出韵母而是二字词时,则须将声母的语音特征先加以保留,待整个词的音节都输入完成、字数确定后,再加以决定是否对声母做辨识。声母与韵母的辨识都同样地以拜氏网络作参考样本进行,但,声母的辨识是以整个音节为辨识单位,而韵母的辨识则是以韵母本身的长度辨识。而且,因为声母的辨识是在韵母之后,因此,在辨识声母时,只要针对辨识出的韵母的前五名找出其相对应的声母参考样本进行辨识即可,如此即可加快辨识速度。不论是二字词或二字以上的词,均取前五名(可随使用者调整)辨识出的音节或韵母的编号做为候选音节的输出。产生候选音节后,即由配词C进行音转字的动作,其言转字的方式,是以一符合快速搜寻要求而设计的词库31为依据,待候选音节配成候选词后,即由使用者介面系统D将这些候选词以一页十个词的方式显示在萤幕上,以供使用者以数字键选出所须的词做输出。
以下就是各个主要步骤,详细说明其功能及工作原理一、音节切割基于韵母在语音特性上是一种具有稳定周期的讯号,而大部分的声母不具此特性,本发明的音节切割步骤即藉由判定讯号周期的稳定与否,将声母与韵母加以分割,其演算流程如图1、寻找稳定区间的起点(韵母的起点)如图3所示从语音的起点开始,设定长为25.6ms的搜寻视窗,然后在此视窗内找出明显的波峰所在的位置,这些位置在图3中被标示为F1、F2、F3,……Fn等,两个波峰之间即周期,由于语音是一种非定波(nonstationary)的讯号,因此周期并不是一个固定的值,我们先求出一个平均周期值FF=Σi=1NFi/N]]>而后用下式判断此视窗内的周期是否稳定|Fi-F|/F<ε=0.00052、如果对所有在此视窗内的所有周期皆满足上式则此视窗为一稳定的韵母区,而第一个波峰所在的位置即为韵母的起点,反之若上式不满足,则表示稳定区间尚未找到,将此搜寻视窗往后移10ms,然后回到步骤1,一直到找到稳定的区间为止。
3、韵母的起点找到后,从语音信号开始到韵母的起点之间即为声母区。
上述流程如图4所示。
二、语音辨识如图2所示,本发明的语音辨识步骤B包括一个专供辨识韵母的韵母拜氏网络21,一个可作声母辨识的音节拜氏网络22与一个线上训练单音网络23。其原理与作用说明如下首先将声母韵母分离后,声母与韵母分别被分成一序列的语音音框,每个音框再求取它们的语音特征参数,音框个数的决定则以实验定之,在我们的系统中是定为10,这些音框稍后将被用来辨识成候选音节或是去训练拜氏网络。
有关音框的说明1、以一个声音波形为例说明“音框”的定义在做语音辨识时,习惯上把一个声音波形切割为一定数量的小视窗来分析,每一个小视窗的大小皆为固定的取样点(samples,通常为300点),此小视窗即称为音框,两个音框是可以重叠的。
2、若以汉语音节“ㄆ丫”而言,声母为“ㄆ”,韵母为“ㄆ”,韵音音框的分法是先将“ㄆ”与“丫”的波形分别以“音节切割演算法”从波形“ㄆ丫”中分离出来,而声母“ㄆ”与韵母“丫”的波形既得。
3、我们所用的特征参数是一种明为“倒频谱”的参数,此参数之求法是将原一音框内的波形的所有取样点(假设有300点),仅用12点来代表这300点,若将这12点看成一个向量,此向量即称为特征向量,而那12点即称为特征参数;由300点转成12点的过程称为求取特征参数,由于其过程颇为复杂且为大家所熟知,因此不再详述。
拜氏网络,基本上是以拜氏定理(Bayesian Theorem)为理论基础的网路模型,拜氏网络在结构上(如图5所示)可分为四层输入层、高斯层、混合层和归纳层。输入层为辨识的语音音框的特征参数,高斯层是由统计训练样本的分布情形所形成的,由于样本的分布可能很零散,因此在高斯层中有固定节点数目的高斯分布来模拟,稍后将再说明如何获得这些分布的平均值与变异数,混合层是一种混合的高斯几率分布,如上面所说的,样本的分布可能很零散,一个参考样本的音框可能须由很多分布混合起来才能模拟其真正分布的行为,当然一个混合的分布是由比重不同的高斯分布加总而成的,所以在拜氏网络的结构中,混合层与高斯层间必须存在一个比重加权值,这个加权值也是由训练样本分布所得到的,归纳层的输出只是把混合层的混合几率转成距离(Distortion)输出而已,在此并无其它用途;距离是指二个音框的特征参数间的相异程度,如果一个向量代表一个音框时,求距离即是求二个向量(V1、V2)间的距离V1=(a1、a2、a3…a12);V2=(b1、b2、b3…b12); 以下将就训练拜氏网络与如何利用拜氏网路来做语音辨认分开说明如下。
(一)训练拜氏网络拜氏网络的训练主要是在获得高斯层中各个节点的高斯分布(就是高斯分布的平均值及变异数),还有混合层与高斯层间的比重加权值,要获得高斯层的各个分布最简单的方式就是利用分类的方法,在此我们利用一种所谓的K-MEANS分类算法,其流程如下假设现在共有N个训练样本(音框)要被分成K类1、随机设定K个中心点μK,并初始化一个累积距离值Dc,且令m=1。
2、对所有的样本依此K个中心做分类,分类的依据是以样本离中心的距离长短来判定,离其最短的中心的类别即为其所属的类别,每一个样本离其所属的类别中心都有一个距离dj,1≤j≤N。
3、把所有的dj通通累加起来得到一个新的累积距离值Dm,以依下式判断是否已分类完成Dm=Σj=1Ndj]]>|Dm-1-Dm|/Dm<ε=0.000054、若上式不成立则对各类别求取新的中心点μK,并且以μK取代旧的μK,并且使m=m+1回到步骤2,所有样本重新再对新的类别中心点做分类,否则分类即告完成。
K-ME ANS分类算法假设我们现有N个音框的特征参数(及N个特征向量),我们欲将其分成K个类别(CLASS)K<N,对每一类别而言皆有一中心点,每一中心点皆为一特征向量,我们即以此K个中心点来代表原来N个音框的特征向量。
分类完成后,除了可得各类别的中心点(平均值)外,我们亦可求取各类别的变异数,因为分类完后,那个样本属于那一类都是可知的,除此之外,我们还要利用各样本的归属类别来求比重加权值,比重加权值的求法如下如果每个训练的语音有10个音框,那么混合层就有10个节点,假设现在有15个待训练的语音,则总共有150个音框,而且从第一个音框到第十音框也分别有15个,要求混合层与高斯层间的比重值只须去算这些音框分布到各类别的音框数除以训练语音的个数即可求得,例如要求混合层的第一个节点与高斯层的各个节点间的比重值,由于混合层的第一个节点即使表示每一个音的第一个音框的混合,所以如果15个语音的第一个音框分布在4个高斯层节点的个数分别为5,7,4,0的话,那么,第一个混合层的节点与高斯层之间的四个比重值分别为5/15,7/15,4/15,0/15。
语共有38个韵母及408个音节,所以我们一共建立了408个拜氏网络(38个韵母网路也包含在其中,如表1所示)。
(二)拜氏网络的辨识为了方便说明起见,以下我们将以实际的数字说明如何利用以建构好的拜氏网络来辨识;假设现在输入待测的语音音框数为10(混合层的节点数目也必须是10),我们先求每一个音框在每一个网络中混合层内相对的节点的混合几率输出,我们以38个韵母网络为例(包括一个编号为0的空韵母,如“知”(ㄓ)的韵母,);设Pij(XK)为第K音框在第i个韵母网络中的第j个混合层节点的混合几率输出,其公式为Pji(XK)=Σm=1MWjmi/2πσ2im/·exp[-1/2(]]>μim-XK)2/σ2im]其中M为高斯层节点的个数Mjmi为第i个网络第j个混合层节点与第m个高斯层节点之间的比重加权值μim为第i个网络中第m个高斯层节点的平均值向量;σim为第i个网络中第m个高斯层节点的变异数向量;再把所得的混合几率以下转成距离;dji(XK)=-logPji(XK)为了匹配出正确的网络,我们以一种线性匹配(linear matching)的方式来找出正确的网路输出,即Di=Σj=1Sdji(Xj)]]>其中s为混合层节点的个数而正确的网路i*为具有小Di的网络,即i*=argmin(Di)1≤i≤38为了容错问题的考虑,我们并不仅选出一个最正确的网络而已,而是选前五名的网络做为配词的侯选音节,换句话说就是 外最小的Di的网络为候选音节输出。
三、配词本发明的配词步骤(C)是将由语音辨识(B)所辨识出来的候选音节转换成汉字输出,其主要是以一供作音节转字的词库31为依据。由于二字词与二字以上的词其辨识方式是不同的,因此,本发明中词库31的结构大致可分为两大部分。如图6所示,其中,上半部是用以配二字词的结构,下半部则为配二字以上词的结构。)但基本上仍是以词的前两音的韵母编号的组合为指标而开始搜寻如表1所示)。
为了增快搜寻速度与方便增删词目,本发明的配词系统(B)中的词库31是采用一种串列(linklist)式的数据方式,并因电脑存储器的限制,存放在存储器内仅为一些串列的指标与内容,真正的词典(文字)是置于磁盘上的。词库31的数据(如图6所示),其以1、二音节索引(TWOVOWEL INDEX)301)节点的位置代表一组双韵母的组合,此位置的决定是以两个韵母的编号计算得到,例如ㄥㄨㄥ的二音节索引(TWOVOWEL INDEX)的位置是12×38+32,而此节点的内容包括(1)指向第三个字的韵母的字节点(WORDNODE)304指标。
(2)、指向二字词的二音节索引(TWOWORDNODE)301的指标。
其他节点的功能及内容如下2、字节点WORDNODE主要是记录韵母之间相连结的情形,其内容包括(1)此节点所代表的韵母编号。
(2)指向此韵母之后可再接的韵母的字节点(WORDNODE)304编号。
(3)指向同一行的字节点(WORDNODE)304指标。
(4)如果到此节点已可形成一词,则此内容指向某一个字索引节点(WORDI NDEXNODE)305。
3、字索引节点(WORDI NDEXNODE)305是用来指向词在磁碟档案中的位置,其内容包括(1)指出词在磁碟档案中的位置。
(2)指向一个具有相同韵母组合的字索引节点,(WORDI NDEXNODE)305。
4、二音节索引(TWOVOWEL INDEX)301是用以搜寻二字词的串列,它们记载声母的数据,其内容包括(1)记录两字的声母与四声的编号。
(2)指向下一个具有相同韵母组合的二音节索引(TWOVOWEL INDEX)301。
(3)指向此二字词的二音节索引(TWOVOWEL INDEX)301。
5、二音节索引(TWOVOWEL INDEX)301结构与字索引节点(WORDI NDEXNODE)305完全相同,但是用以指向二字词于磁碟档案中的位置。
现参照图6所示,以搜寻(成功大楼)(ㄔㄥ,ㄍㄨㄥ,ㄌ丫,ㄌㄡ)这个词为例,说明词库31的工作情形首先以前两个字的韵母组合找到二音节索引(TWOVOWEL INDEX)301的位置,再由二音节索引(TWOVOWEL INDEX)301的内容找到第一个指向字节点(WORDNODE)304的指标,发现此节点的韵母是丫,与第三个字的韵母是相同的,因此就以此节点的FOLLOW指标为起点继续找下一个字,找到下一个字节点(WORD NODE)304的韵母是ㄩㄝ,与第四个字的韵母ㄡ并不相同,因此就以此节点的NEXT为起点继续找,找到下一个字节点(WORDNODE)304的韵母为ㄡ,与第四字的韵母相符,因此(成功大楼)的韵母组合就找到了,此时剩下的就是由(WORD INDEXNODE)305找出此词在磁碟档案中的位置。四、使用者介面系统本发明实施例,在IBM PC/AT个人电脑上将此发明设计成一个常驻式的程序,因此其它任何现有的软件皆可利用来执行,同时并针对目前市面上现有的一些软件做过其兼容性的测试,包括PEII,HE,DBase,Turbo C等,这些软件皆可在本发明系统上正常地工作,换句话说,实施例与其它的应用软件是同时存在存储器中的,使用者可使用现有的键盘来输入数据,当然亦可由麦克风直接用本发明来输入中文字,以下将就使用者的介面设计做一简要说明。
当使用者由麦克风中讲入一个国语音节后,本系统会自动探测到此信息并且进行音节的辨认而在萤幕的底端显示一个“>”符号提示使用者他刚刚所读的字已被辨识成候选音节,他在此时即可继续读下一个字,如果使用者发觉他刚才读错了,亦可使用键盘上的“DEL”键来删除前一个错误。当一个词中的所有字皆读完后,系统即开始进行将候选音节转成候选词的步骤,系统所配出的侯选词将以一页十个词的方式显示在萤幕的底端以供使用者用数字键做选择,同时亦可使用↑↓方向键来换页以显示另外一组十个候选词供选择,如果所有的候选音节都配不到符合的候选词则一个供使用者做人工修正音节(注意符号)的画面将会显示在萤幕上,修正完成,系统即重新再做配词的动作,然而,在很多情形下,这个画面并不会出现,因为一旦系统发觉在一次配不出候选词时会将候选音节的个数增加而自动做第二次的配词,通常在第一次配不出的词在第二次就会出现了。为了增加系统的方便性,本实施例亦加上一个线上加词的功能,因为很多中文词,如姓名、公司行号和机关团体的名称皆是不特定的,我们不可能一开始就将这些词一一加入词库内,因此设计此一功能以方便使用者做词目的增删。
本发明方法已经过测试,测试所使用的设备包括有IBM PC/AT个人电脑一部,麦克风一只,介面卡(模/数转换卡)一块(用来将声音转成数字讯号使电脑能接受)。受测试者包括有一名女性美国人(这名美国女子在台湾居住约半年,但她会念ㄣㄇㄈ……所以她的实验结果得以完成。),两名小孩及五名成年男女。实验的环境自然是在实验室中,但有时实验室是在一个嘈杂的环境之下,如收音机的音响和其它人在聊天的声音等。每一个受测试者先利用20分钟的时间把国语408个音节念一次到电脑内以训练音节的拜氏网络参考样本。接着再请他们念出50句由电脑随机产生的词,其词的长度从二字到五字(附录中所列的是美国女性所测试的词目),以测试辨认结果,表2即是此3组人的辨识结果显示。从表2中我们可了解到,例如,两个小孩子的辨识结果为他俩共测试100个词,其中包含有20个二字词(每个人念10个),而被正确辨识在前五名的词数分别是第一名有3个,第二名有4个,第三名有3个,第四名有2个,第五名有4个,换句话说只有四个是落在五名之外;而美国女子的辨识结果虽然落在第一名的词数不多,但是在前五名内却可找到正确的词,这是无可厚非的,因为她的发音实在不很清楚,但这并无大碍,因为即使正确的词没有被辨识为第一名,我们也可藉由一个友善的使用者介面让使用者从前十名的候选词用键盘上的数字键轻易地将它给挑选出来。
表3所显示的是另外的一种统计方式,它所代表的意义是统计字数不同的词,它们被正确辨识在前五名的个数与总词数的比。由表中我们可归纳出一个结论,那就是字数越多的词,其辨识率就越高,这主要的原因有二1.韵母的辨识率的确比音节的辨识率高很多;2.具有相同韵母组合的词数在字数越多时相当地少。
本发明具有以下效果综上所述,本发明的计算机汉语词汇语音输入方法,是藉快速的音节切割与语音辨识步骤并利用拜氏网络,将二字词与二字以上的词分开辨识,使得音节的辨认与语音的辨识速度能大大提高,又由于本发明中的配词方式中快速的词库搜寻结构,已使整个辨识系统几乎达到及时化(real time)的要求,确实使以往以单一中文字为辨识单位的辨识方法得到改进。表1
表2
权利要求
1.一种计算机汉语词汇语音输入方法,其特征在于,主要步骤包括音节切割借由声母与韵母的语音信号周期稳定程度不同加以分割音节的声母与韵母,使成一序列的语音音框并设定每个音框的语音特征参数;语音辨识借由一个韵母拜氏网络与一音节拜氏网络以辨识音框并产生候选音节;配词借由一串列式数据结构为词库以此词库为依据,由候选音节转换为候选词;以及使用者介面(数据转换)将相应于候选词的数据转换为可显示的电信号,借计算机屏幕与键盘,提供使用者由屏幕中选取正确的候选词;由音节切割、语音辨识、配词与使用者介面等步骤先由音节切割将由使用者输入的语音信号的音节切割为声母与韵母,再由语音辨识产生音节,再由配词步骤依候选音节的特征,由串列式数据结构的词库中,选配出候选词,借由使用者介面的显示与操作方式,由使用者从候选词中选出正确的输入词。
2.如权利要求1所述的计算机汉语词汇语音输入方法,其特征在于,所述音节切割步骤中切割音节的方式是根据声母与韵母的周期稳定度不同,而以音框来区分。
3.如权利要求1所述的计算机汉语词汇语音输入方法,其特征在于,所述语音辨识步骤将分辨方式区分为单字及二字词与二字以上词两种模式、即先以韵母特征辨识词的长度,其中单字与二字词即以整个音节为单位,由音节拜氏网络加以辨识;二字以上词以韵母根据韵母拜氏网络辨识并产生候选音节的方法。
4.如权利要求1所述的计算机汉语词汇语音输入字法,其特征在于,所述配词步骤中词库的数据库结构采用串列式数据结构,其是以词的前两个音的韵母编号组合为指标开始搜寻,并将词库分为二字与二字以上词两大部分。
全文摘要
一种计算机汉语词汇语音输入方法,其主要步骤包括音节切割、语音辨识、配词以及其藉音节切割区别声母与韵母,并以词的长度区分,由语音辨识产生候选音节后由配词步骤进行音转字的工作,最后经显示步骤以使使用者选取候选词,以达到语音输入目的。
文档编号G06F3/16GK1114438SQ9410780
公开日1996年1月3日 申请日期1994年6月30日 优先权日1994年6月30日
发明者王骏发, 许志兴, 吴宗宪 申请人:王骏发
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1