技术简介:
本专利针对发音字典存储效率低的问题,提出通过统计算法排列字符与音素单元序列,并在对应位置插入音素单元进行交错排列的预处理方法。该方法通过插入ε单元平衡序列长度,结合符号映射实现高效压缩,适用于移动终端的语音识别与文本转换。
关键词:发音字典压缩,统计算法排列,交错处理
专利名称:用于压缩字典数据的方法
背景技术:
本发明涉及说话者无关的语音识别,更准确的说,涉及发音字典的压缩。
近年来开发出了不同的语音识别应用,例如用于汽车用户接口和比如移动电话、PDA(个人数字助理)装置、便携式计算机等移动终端。已知的用于移动终端的方法包括,用户对着移动终端的麦克风大声说出他或她的名字,然后建立到根据该用户所说姓名的号码的呼叫来呼叫一个特定的人的方法。然而,现今说话者相关的方法通常需要该语音识别系统被训练到能够识别每一个名字的发音。说话者无关的语音识别改善了语音控制的用户接口的可用性,因为该训练阶段可以省略。在说话者无关的名字选择中,名字的发音可以被预先储存,那么用户所说出的名字就可以与预定义的发音例如音素序列进行鉴别。虽然在许多语言中,许多词语的发音可以用规则、甚至模型表示,但是仍然有一些词语的发音不能通过这些规则或者模型正确地产生。然而在多种语言中,该发音不能用常规的发音规则表示,而是每一词语具有一个特定的发音。对于这些语言,语音识别就依赖于使用所谓的发音字典,其中该语言的每一词语的书写形式和它的发音的语音表示都存储在一个列表类结构中。
由于成本和硬件大小的原因,移动电话的存储容量经常受到限制。这样也限制了语音识别的应用。在一个能够具有多种用户接口语言的装置中,说话者无关的语音识别方案通常使用发音字典。因为一个发音字典通常比较大,例如两千个名字需要37KB,所以需要对发音字典进行压缩以存储。概括地讲,大多数文本压缩方法都可以归为两类基于字典的和基于统计的。基于字典的压缩有几个不同的实现方法,例如LZ77/78和LZW(Lempel-Ziv-Welch)。通过将统计方法——例如算术编码——与强大的建模技术结合,就可以达到比单独使用基于字典的方法更好的性能。然而,基于统计的方法所存在的问题是,在解压过程中它需要巨大的工作空间(缓冲区)。因此该方案不适合在小的便携式的电子装置比如移动终端中使用。
虽然现有的压缩方法通常都很好,但是用于对便携式装置的发音字典的压缩却不是足够有效。
发明概述本发明的目的是提供一个更有效的用于压缩发音字典的压缩方法。本发明的目的通过具有如独立权利要求中所公开的特征的方法、电子装置、系统和计算机程序产品来实现。本发明的优选实施例在从属权利要求中阐述。
根据本发明的第一方面,压缩前对发音字典进行预处理。预处理可以和任何用于压缩字典的方法一起使用。在预处理中,使用统计算法对发音字典中的每一词条进行排列。在该排列过程中,字符单元序列和音素单元序列被修改成具有相等数目的单元的序列。然后将排列后的字符单元序列和音素单元序列交错,以使得每一音素单元插入到相对于对应字符单元的预定位置。
字符单元序列典型地是包含字母的文本序列。依据语言不同,该字母集可以扩展以包括比常规英语字母表更多的字母或符号。
音素单元序列表示词语的发音,它通常包含字母与符号,例如在SAMPA(语音评价方法语音字母表)标记中的‘@’,‘A:’,‘{’。该语音字母表还可以包含非可打印的字符。因为一个音素可以用多于一个的字母或符号表示,所以使用空白字符将音素隔开。
根据本发明的第二方面,电子装置被配置成将输入文本串转换为音素单元序列的。该装置的存储器中存储有一个预处理过的包括词条的发音字典,该词条包括第一单元集合和第二单元集合,第一单元集合包括字符单元,第二单元集合包括音素单元,其中对第一集合的单元和第二集合的单元进行排列,并通过把每个音素单元插入到相对于对应字符单元的预定位置对第一集合和第二集合进行交错。通过利用词条的第一单元集合的预定位置的单元,就可以从该预处理过的发音字典中找到与输入文本串相匹配的词条。从该匹配词条中选择第二单元集合中的单元,并将其联结成音素单元序列。并且从该音素单元序列中删除空白符。
根据本发明的第三方面,电子装置被配置成将输入语音信息转换为字符单元序列。该装置的存储器中存储有一个预处理过的包括词条的发音字典,该词条包括第一单元集合和第二单元集合,第一单元集合包括字符单元,第二单元集合包括音素单元,其中对第一集合的单元和第二集合的单元进行排列,并通过把每个音素单元插入到相对于对应字符单元的预定位置对第一集合和第二集合进行交错。用于每个词条的语音表示的发音模型或者与发音字典一起被存储在存储器中,或者在处理过程中创建。通过将该语音信息与发音模型比较,选择最一致的词条,就可以找到该语音信息的匹配词条。从该匹配词条中选择第一单元集合中的单元,并将其联结成字符单元序列。最后,从该字符单元序列中删除空白符。
本发明的一个优点是,使用所述的预处理,字典的熵值(H)降低了。根据信息论,低的熵率(H)表示可以达到更有效的压缩,因为熵率决定了压缩的下限(可能达到的最好的无损压缩的压缩率)。这就使得能够得到更好的压缩,并且所需的存储空间更小。进一步地,就使得该发音字典能够相对简单并可快速地应用到语音识别中。
在本发明的一个实施例中,适于采用HMM-Viterbi算法进行排列。HMM-Viterbi算法从统计的角度保证排列是以最优的方式进行的,因此将该字典的词条的余熵最小化。而且在排列中使用HMM-Viterbi算法还有一个优点就是,从统计的角度看可以达到更加优化的排列。
在本发明的另一个实施例中,该预处理中增加有映射步骤。该映射可以在排列之前或者在排列之后进行。在这一步骤中,每一音素单元被映射成一个符号,并且使用单个符号而不是用多个字符来表示音素单元。通过使用映射技术,空白字符可以从词条中删除,并且仍然可以进行交错序列的解码。删除空白字符进一步提高了压缩比。另外,映射还有一个优点就是,该方法可以适用于多语言处理,甚至可以使用一个大的映射表来处理该装置中的所有语言。
附图简述在下文中,将借助于优选实施例和参照附图对本发明进一步详细描述,其中
图1是一个数据处理装置的结构框图,用于支持根据本发明的一个优选实施例的对发音字典进行的预处理和压缩;图2是根据本发明的一个优选实施例的方法流程图;图3所示为使用HMM算法对发音字典进行排列;图4所示为对一个字典词条进行预处理的步骤;图5是一个使用该预处理过的发音字典的电子装置的结构框图6为根据本发明的优选实施例,使用预处理过的发音字典将文本串转换为发音模型的流程图;和图7为根据本发明的优选实施例,使用预处理过的发音字典将语音信息转换为文本单元序列的流程图;发明的详细说明图1说明的是一个数据处理装置(TE)的仅与本发明的优选实施例相关的部分。该数据处理装置(TE)可以是,例如个人电脑(PC)或者移动终端。该数据处理单元(TE)包括I/O(输入输出)装置(I/O),中央处理单元(CPU)和存储器(MEM)。该存储器(MEM)包括只读存储器ROM部分和可重复写部分,比如随机存取存储器RAM和FLASH存储器。用于与不同的外部部件例如CD-rom(光盘驱动器)、其他装置以及用户通讯的信息经由输入输出装置(I/O)传送至中央处理单元(CPU)或从中央处理单元传送过来。中央处理单元(CPU)提供一个预处理模块(PRE)和一个压缩模块(COM)。这些模块的功能典型地通过在处理器中执行软件代码来实现,但是也可以使用硬件方法(例如ASIC)或硬件和软件结合的方式来实现。该预处理模块(PRE)提供图2中详细说明的优选实施例的预处理步骤。压缩模块(COM)提供对发音字典的压缩,为此可以使用几个不同的压缩方法,例如LZ77、LZW或算术编码。该预处理可以与任何其他压缩方法结合使用以提高压缩效率。
需要被预处理和压缩的发音字典存储在存储器(MEM)中。该字典还可以使用输入输出装置(I/O)从外部存储装置中下载,例如从CD-ROM或网络。该发音字典中包括词条,并且每一词条依次包括该词语的字符单元序列(文本序列)和相应的音素单元序列(音素序列)。音素单元序列表示字符单元序列的发音。音素单元的表示取决于所使用的音素标记系统。可以使用几个不同的音素标记系统,例如SAMPA和IPA。SAMPA(语音评价方法语音字母表)是一种可机读的语音字母表。国际语音学会提供一套标记标准国际音标(IPA),用于多种语言的语音表示。使用SAMPA音素标记系统的字典词条可以是,例如文本序列 音素序列 词条Father FA:D@Father fA:D@熵是表征信号的数据内容的基本属性,用H表示。最简短而又不丢失任何数据的描述信号(压缩它)的方法是有可能找到的。这个最简短描述的长度用信号的熵表示。香农(Shannon)建立了一种估计信号的熵的方法(例如参见,C.E.Shannon,A Mathematical Theory of Communication(通信的数学理论),The Bell System Technical Journal,Vol.27,pp.379-423,623-656,July,October,1948),而不是去计算每个信号的准确熵值。下面对其作一简单介绍。
假定前一个字符是字母表中第i个字母,那么当前字符是第j个字母的条件概率就用P(lj|li)表示,P(li)表示前一字符是字母表中第i个字母的概率。于是二阶统计的熵率H2为H2=-Σi-1mP(li)·Σj=1mP(lj|li)·log2P(lj|li)---(1)]]>在通常情况下,熵率H由下式给出H=limn→∞-1nΣp(Bn)·log2p(Bn)---(2)]]>其中Bn代表第一个字符。根据上述等式(2)实际上不可能计算出熵率。使用等式(l)中的这种预测方法,则有可能估计出一篇有27个字符的英语文本的熵率大约是2.3比特/字符。
为了提高对发音字典的压缩,可以使用预处理来降低它的熵。
图2说明了根据本发明的优选实施例的一种方法。该方法主要用于对发音字典进行预处理以降低其熵率(H)。
排列每个词条(200),也就是对该文本和音素序列进行修改,以使得音素序列中的音素单元具有与文本序列中的字符单元相同的数目。例如,在英语中,一个字母可以与零个、一个、或两个音素对应。排列是通过在文本串中的字母之间、或者在音素序列中的音素之间插入字素(graphemic)或音素ε(空值)来实现的。通过引入一个短小的伪音素表就可以避免字素ε的使用,该伪音素短表是通过将两个已知的音素联结起来与单个字母对应而得到的,例如,“x->ks”。为了排列词条,所提供的音素集必须为每一个字母作定义。音素列表包括用于字母的伪音素和可能的ε音素。通常的原则是,在必要时将空字素(定义为ε)插入到文本序列,和/或将空音素(也称为ε)插入到音素序列。以下就是上面用作范例的词语经过排列后的情形。
文本序列 音素序列排列后的词条father fA:D@ father fA:Dεε@这里,词语‘faher’有6个单元,排列后音素序列中就有6个音素‘fA:Dεε@’。可以通过几种不同的方式来完成排列。根据本发明的一个实施例,使用HMM-Viterbi算法完成该排列。在图3中更详细地说明和描述了该排列的原理在排列(200)之后,音素标记系统中所使用的每个音素优选的被映射(202)成单个符号,例如一个字节的ASCII码。然而,使用映射对达到本发明的效果并不是必需的,但是它可以进一步地改善该效果。映射可以通过例如一个映射表来表示。下面就是在用作范例的词语中该音素如何被映射的例子
音素符号ASCII值ASCII符号f 0x66 fA:0x41 AD 0x44 D@ 0x40 @ε0x5F通过将每个音素用一个符号表示,表示一个音素单元的两个字符就可以只用一个8位ASCII符号替换。结果该范例如下音素序列映射后序列(ASCII值) 映射后序列(符号)fA:Dεε@ 0x66 0x41 0x44 0x5F 0x5F 0x40 fAD__@使用一个符号表示该音素之后,这些单元之间的空白就可以被删除。文本序列和该映射并排列后的音素序列之间的空白也可以被删除,因为这两个序列的单元数目相等,从而哪些字符属于文本、哪些字符属于语音表示就很清楚。
排列和映射后的词条fatherfAD__@对于交错而言,将音素单元映射成单个符号(202)是一个重要的步骤,因为这样可以避免使用空白字符。由于单个字符所占用的空间更少(例如相比于两个字符组合),所以映射还进一步地改善了最终结果本身,并且加强了与相应文本字符的关联性。排列(200)和映射(202)的次序并不会影响最终结果,映射(202)也可以在排列之前进行。
映射表仅取决于该发音字典中所使用的音素标记方法。它可以被实现成与语言无关的,使得对于不同的方言或者语言不需要使用不同的系统或实施方式。如果使用了多个采用不同音素标记方法的发音字典,那就使得每个音素标记方法都需要有一个独立的映射表。
在排列(200)和映射(202)以后,对词条进行交错(204)。由于字符到音素模式比连续字母模式具有更高的概率(更低的熵),尤其是已经进行了最佳的排列后,从而冗余就增加了。这可以通过在词语的字母之间插入发音音素以形成单个词语来完成。换句话说,该音素单元被插入到相应的字符单元后的相邻位置。在排列(200)以后,该文本序列和该音素序列具有相等数目的符号,该字符一音素对就容易被找到。例如文本序列音素序列交错后词条fatherFAD__@ffAtDh_e_r@其中斜体和黑体符号表示发音音素。很明显从该例子可知,由于被交错的文本序列和音素序列包含相等数目的单元,词条从原始格式组合到新格式以及从新格式分解为原始格式的过程都是惟一确定的。
在预处理之后,就可以对预处理过的音素字典进行压缩(206)。
图3说明了用于排列词条的文本和语音表示的字素(grapheme)HMM。
隐藏马尔可夫模型(HMM)是一种众所周知的并且已经被广泛应用的统计方法,例如应用在语音识别中。这些模型也被称作为马尔可夫源或者马尔可夫链的概率函数。HMM的基础假定是信号可以用参数随机过程很好地表征,并且该随机过程的参数可以以一种精确的、完美的方式来确定/估计。根据指定到每一状态的可观测事件是离散的——比如代码字——或者是连续的,HMM可以分为离散模型和连续模型。这两种情况下,观测都是概率性的。底层随机过程中的模型不是直接可观测的(它是隐藏的),而只能通过另一组产生该观测值序列的随机过程来看。HMM由伴随着状态之间的转移的隐藏状态组成。它的数学表述包括三项状态之间的状态转移概率,每一状态的观测概率和初始状态分布。对于给定的HMM和观测,可以使用Viterbi算法通过追踪最佳路径给出观测状态排列。
本发明中认为,HMM可用于解决将观测序列最优排列到隐藏马尔可夫模型状态的问题。并且Viterbi算法可以与HMM合使用来查找最优排列。更多有关隐藏马尔可夫模型及其应用的信息可以从例如书籍“Speech RecognitionSystem Design and Implementation Issues(语音识别系统设计及实现问题)”,第322-342页中找到。
首先,对于给定的字母-音素对,如果音素f在字母l的允许音素列表中可以被找到,则惩罚分(penalty)p(f|l)初始化为零,否则就初始化为大的正值。使用该初始惩罚分,字典在两个步骤中就可以被排列。第一步,为字典中每一词条产生所有可能的排列,并根据所有排列的词条对惩罚分重新评分。第二步,为每一词条只找出一个最优的排列。
对于每一词条,使用Viterbi算法在字素HMM中找到最优的排列。字素HMM具有入口(ES),出口(EXS)和字母状态(S1,S2和S3)。可以映射到伪音素的字母被处理成具有一个持续(duration)状态(EPS)。状态1至3(S1,S2,S3)是与单词中的字母对应的状态。状态2(S2)与可以产生伪音素的字母对应。为了支持音素ε,从所有前面状态到当前状态的跳转都是允许的。
每一个状态和持续状态有一个令牌,该令牌包含相对于该字素HMM排列该音素序列的累积惩罚分(作为对数概率的和)和与该累积得分对应的状态序列。音素序列相对于字母的排列是通过一次一个音素地从头至尾遍历音素序列来完成的。为了找到字母和音素之间的Viterbi排列,需要进行令牌传送(tokenpassing)。当该令牌从一个状态传送到另一个状态,每一状态的惩罚分就得到了累计。令牌传送中也可能包括拆分令牌以及组合或者选择令牌以进入下一个状态。最后就可以找到在HMM的所有状态中具有最低累积惩罚分的那个令牌。根据该令牌的状态序列,该单词的字母和音素之间的排列就可以被确定。
上述排列适合于大多数词条,但是也有一些不能被排列的特殊词条。在这种情况下,使用另一个简单的排列将ε字素或者ε音素添加到字母或者音素序列的末尾。
图4更详细地说明了根据本发明的优选实施例对一个示例词条的预处理。
该原始词条(400)具有两个部分文本序列‘father’和音素序列‘fA:D@’。这两个序列使用一个空白字符隔开,并且该音素单元之间也使用空白字符隔开。
在排列(402)中,添加ε音素和ε字素以使两个序列具有相同数目的单元。在该范例单词中需要加入两个ε音素,从而该音素序列的结果就是‘fA:Dεε@’。
音素单元到单符号表示的映射(404)只改变该音素序列。映射之后,范例单词的音素序列变成‘fAD__@’。
当映射(404)完词条后,空白字符的删除就成为可能(406)。结果,就得到一个字符串‘fatherfAD__@’。
最后一步是交错(408),该范例词条就变成了‘ffaAtDh_e_r@’。现在该词条就可以被进一步地处理,例如,它可以被压缩。
在图2中更详细地描述所有这些步骤。
如上所述的还包括映射(202)的预处理方法都进行了实验性测试。该实验使用Camegie Mellon University Pronouncing Dictionary(卡耐基梅隆大学发音字典)进行,该字典是一个用于北美英语的字典,它包含超过100,000个单词以及它们的注音。在实验中首先通过使用典型的基于字典的压缩方法LZ77和LZW,以及基于统计的压缩方法二阶算术压缩来评估性能。然后使用该预处理方法和压缩方法(LZ77,LZW和算术)的结合测试该性能。表格1中的结果表明,该预处理方法在所有情况下表现都更好,其中以千字节为单位。通常,它可以和任何压缩算法一起使用。
表格1压缩性能比较,使用CMU英语发音字典进行测试。该结果的单位是千字节。
方法压缩前n无预处理的压缩有预处理的压缩提高LZ772580 1181940 20.4%LZW 2580 1315822 37.5%算术2580 899 501 44.3%从表1中可以看出,该预处理与所有的压缩方法结合都提高了压缩性能。与LZ77压缩方法组合,该预处理将压缩性能提高了超过20%。当与LZW方法或者与算术方法组合使用时,这个提高甚至会更大,达到大约40%。
需要理解的是,本发明可以被应用于任何用于语音识别和语言合成的一般用途的字典,或者被应用于当需要以高效的存储器利用率来存储发音字典时的所有应用。也可能将本发明应用到所有其它列表的压缩,所述列表包括在字符层面具有高度相关的文本词条组,例如显示单词全部形式的普通字典和拼写检查程序。
图5说明的是一电子装置(ED)的仅与本发明的一个优选实施例相关的部分。该电子装置(ED)可以是例如PDA装置、移动终端、个人电脑(PC)乃至任何希望和它们一起使用的辅助装置,例如智能耳机或者遥控装置。该电子装置(ED)包括输入输出装置(I/O),中央处理单元(PRO)和存储器(ME)。该存储器(ME)包括只读存储器ROM部分和FLASH存储器。用来与不同的外部部件例如网络、其他装置或者用户通讯的信息经由输入输出装置(IO)传送至中央处理单元(PRO)或从中央处理单元传送过来。因此用户接口——比如麦克风或使得字符序列可以被输入该装置的小键盘——是该输入输出装置(IO)的一部分。预处理过的发音字典可以通过该输入输出装置(IO)从数据处理装置(TE)下载到该电子装置(ED),例如从网络下载。该字典然后存储在存储器(ME)中供进一步使用。
图6和7中所示的步骤可以使用在该电子装置(ED)的中央处理单元(PRO)中执行的计算机程序代码实现。该计算机程序可以通过输入输出装置(IO)被装载到中央处理单元(PRO)中。这一实现过程也可以使用硬件方法(例如ASIC)或者硬件和软件的结合来完成。根据一个优选实施例,如图2所示对存储在该装置(ED)的存储器(ME)中的音素字典进行预处理。
在图6中,该电子装置(ED)的中央处理单元(PRO)接收一个需要被转换为发音模型的文本串输入。该输入文本串可以是例如该用户已经使用输入输出装置(IO)添加到该电子装置(ED)的联系(contact)数据库中的一个名字。首先需要从存储在存储器(ME)中的预处理过的发音字典中找到一个匹配词条(600)。匹配词条的查找是基于将该输入文本串和词条的字符单元进行比较来实现的。因为词条被交错,所以一个词条串就是字符和音素单元的组合。如果交错是根据图2中所述的优选实施例完成的,那么当将该输入串与词条比较时,只有每隔一个的单元被使用。词条的字符单元可以通过从第一个单元开始选择第奇数个单元而被找到。该比较是使用该词条的原始字符串作出的,因此空白符例如ε字素被忽略。此外还有一些为本领域的熟练技术人员熟知的查找匹配词条的方法和算法,由于它们不是本发明的一部分,这里不必描述它们。当字符单元与输入文本串的单元完全匹配时,就找到了该匹配词条。然而需要理解的是,在一些应用中使用非精确的匹配算法代替可能会是有利的,例如利用所谓的通配符。
当该匹配词条被找到后,对该词条的音素单元进行选择(602)。因为交错(根据图2中所述的优选实施例完成)的原因,该词条串的每隔一个的单元被使用。为了确定该音素单元,从第二单元开始进行选择。被选择的单元然后可以被联结以产生音素单元序列。
由于该词条被排列,该音素单元序列可能包括空白符,例如音素ε。为了建立一个只由音素组成的序列,这些空白符被删除(604)。
如果音素字典的预处理过程也包括映射,那就需要一个逆映射(606)。该逆映射可以使用一个和预处理中使用的类似的映射表进行,但是方向是相反的。这一步骤将该音素单元的第一表示方法——例如单字符表示——改变成在该系统中所使用第二表示方法,例如SAMPA。
当该音素单元序列被建立后,它典型地进一步被处理,例如建立该序列的发音模型。根据一个实施例,使用例如HMM算法分别为每一音素建立发音模型。该音素发音模型存储在存储器(ME)中。为了建立词条的发音模型,从存储器中检索出该音素序列的每一音素的发音模型(608)。这些音素模型然后被联结(610),于是就建立了该音素序列的发音模型。
如上所述的输入文本串到发音模型的转换还可以分布在两个电子装置进行。例如,将该预处理过的字典保存在第一个电子装置例如网络中,在该装置中执行查找匹配词条(600)的操作。该匹配词条然后被送到第二电子装置例如移动终端,在其中进行剩下的处理(步骤602-610)。
图7说明了在一个使用预处理过的发音字典的电子装置(ED)中将语音信息转换成字符单元序列的一个优选实施例。该电子装置(ED)的中央处理单元(PRO)通过输入输出装置(IO)接收语音信息输入。此语音信息需要被转换为字符单元序列以供进一步使用,例如作为文本在显示屏上显示,或者把它与语音控制装置的预定语音命令的文本串相比较。
对匹配词条的查找(702)是基于输入语音信息与该发音字典中每一词条的发音模型的比较而进行的。因此在比较之前,每一词条的发音都被建模(700)。根据一个优选实施例,该模型被建立在该电子装置(ED)中。由于该音素字典已经被交错和排列,因此可以按照如图6所述的,遵循步骤602-610来完成建模。当建模是在电子装置(ED)中完成时,对处理能力和工作空间的需求增加,而用于该发音字典的存储消耗则可以保持较低的水平。
根据第二优选实施例,模型是在对发音字典进行预处理之前在数据处理装置(TE)中建立。该建模可以按照如图6中所述,遵循步骤608和610来完成。因为是在预处理之前进行建模,该字典还没有被交错、排列或者映射,从而步骤602-606就不需要了。然后将该发音模型连同词条一起存储在存储器(MEM)中。当该字典被传送到电子装置(ED),该模型也被传送到电子装置。在这种方案中,需要更少的处理能力和工作空间来将语音信息转换成文本序列,而存储器(ME)的存储消耗却增加了。
匹配词条的查找(702)使用该输入语音信息和保存在存储器(ME)中的词条的发音模型来完成。将语音信息与每一词条进行比较,并计算出该输入语音信息与每一词条的发音模型相匹配程度的概率。在计算出该概率之后,就可以通过选择具有最高概率的词条来找到该匹配词条。
然后从该匹配词条中选择出字符单元(704)。因为进行了图2所示的交错,该词条串的每隔一个的单元被使用。该选择操作必须从第一单元开始以获得该字符单元。然后可以联结这些被选择的单元以形成字素单元序列。
因为排列的原因,该字素单元序列可能包括空白符,例如字素ε。为了建立只有字素的序列,该空白符被删除(706)。从而我们就得到了可以在该系统中进一步使用的文本串。
电子装置——例如具有汽车用户接口的移动电话——具有用于声音命令的说话者无关的声音识别。每一声音命令都是该发音字典中的一个词条。用户在驾驶时想打个电话,当该声音识别被激活,用户说‘CALL’。电话通过麦克风接收到该声音命令,并通过输入输出装置将该语音信息传送到中央处理单元。中央处理单元按照图7所述将该语音输入转换成文本序列。该文本序列通过输入输出装置被传送到显示屏,以反馈给用户该装置正在进行的操作。除了在屏幕上显示文本之外,该装置也给出音频反馈。作为语音到文本转换处理的一部分而产生的匹配词条的发音模型通过输入输出装置被传送到扬声器。然后该电话就打电话到该用户已经选择的电话号码。
附图和与它们相关的描述只是用于解释本发明。对本发明的不同变动和修改对于本领域的熟练技术人员来说都是显而易见的,均不脱离所附加的权利要求规定的本发明的精神和范围。
权利要求1.一种在数据处理装置中为了压缩而对发音字典预处理的方法,该发音字典包括至少一个词条,该词条包括字符单元序列和音素单元序列,其特征在于该方法包括步骤使用统计算法排列所述字符单元序列和所述音素单元序列,使得所述字符单元序列和所述音素单元序列之间的排列被确定;和通过在相对于对应字符单元的预定位置插入每一音素单元,将所述排列后的字符单元序列和所述排列后的音素单元序列交错。
2.根据权利要求1的方法,其特征在于,通过应用统计算法HMM-Viterbi算法确定所述排列。
3.根据权利要求1的方法,其特征在于,所述音素单元位于对应字符单元的相邻位置。
4.根据前述任一权利要求的方法,其特征在于,通过将字素ε插入到所述字符单元序列和/或将音素ε插入到所述音素单元序列,使得所述排列后的字符单元序列和所述排列后的音素单元序列包括相等数目的单元。
5.根据前述任一权利要求的方法,其特征在于所述字符单元是字母或空白字符。
6.根据前述任一权利要求的方法,其特征在于,所述音素单元是表示单个音素或ε音素的字母或空白字符,并且一个所述单元至少要用一个字符表示。
7.根据权利要求1的方法,其特征在于该方法包括步骤将每一音素单元映射到一个符号。
8.一种电子装置,配置成将输入文本串转换成音素单元序列,其特征在于包括用于存储预处理过的包括词条的发音字典的装置,该词条包括第一单元集合和第二单元集合,第一单元集合包括字符单元,第二单元集合包括音素单元,其中对第一集合的单元和第二集合的单元进行排列,并通过在相对于对应字符单元的预定位置插入每一音素单元以将第一集合的单元和第二集合的单元交错;利用所述词条的第一单元集合的预定位置,从所述预处理过的发音字典中为所述输入文本串查找匹配词条的装置;用于根据预定位置从所述匹配词条中选择所述第二单元集合的音素单元,并将它们联结成音素单元序列的装置;和用于从所述音素单元序列中删除空白的装置。
9.根据权利要求8的电子装置,其特征在于,所述电子装置是移动通信系统中的移动终端。
10.根据权利要求8的电子装置,其特征在于进一步包括用于将每一音索单元从第一音素表示方法映射到第二音素表示方法的装置。
11.一种电子装置,配置成将输入语音信息转换成字符单元序列,其特征在于包括用于存储预处理过的包括词条的发音字典的装置,该词条包括第一单元集合和第二单元集合,第一单元集合包括字符单元,第二单元集合包括音素单元,其中对第一集合的单元和第二集合的单元进行排列,并通过在相对于对应字符单元的预定位置插入每一音素单元以将第一集合的单元和第二集合的单元交错用于存储和创建每一词条的音素表示的发音模型的装置;通过将所述语音信息和所述发音模型进行比较并选择最一致的词条,从而为所述语音信息查找匹配词条的装置;用于根据预定位置从所述匹配词条中选择所述第一单元集合的字符单元,并将它们联结成字符单元序列的装置;和用于从所述字符单元序列中删除空白的装置。
12.一种包括第一电子装置和第二电子装置并且将它们设置成彼此通信连接的系统,,该系统被配置成将输入文本串转换成音素单元序列,其特征在于所述第一电子装置包括用于存储预处理过的包括词条的发音字典的装置,其中词条被排列并通过在相对于对应字符单元的预定位置插入每一音素单元而交错,该词条包括第一单元集合和第二单元集合。第一单元集合包括字符单元,第二单元集合包括音素单元;所述第一电子装置包括利用所述词条的第一单元集合从所述预处理过的发音字典中为所述输入文本串查找匹配词条的装置;所述第一电子装置包括用于传送所述匹配词条到第二电子装置的装置;所述第二电子装置包括用于从第一电子装置接收所述匹配词条的装置;所述第二电子装置包括用于从所述匹配词条中选择所述第二单元集合的单元并将它们联结成音素单元序列的装置;和所述第二电子装置包括用于从所述音素单元序列中删除空白的装置。
13.一种可以装载到数据处理装置的存储器中的计算机程序产品,其特征在于包括可以在数据处理装置中执行、并使得数据处理装置进行如下操作的代码从存储器中检索出包括至少一个词条的发音字典,该词条包括字符单元序列和音素单元序列;使用统计算法排列所述字符单元序列和所述音素单元序列;和通过在相对于对应字符单元的预定位置插入每一音素单元,将所述排列后的字符单元序列和所述排列后的音素单元序列交错。
14.一种可以装载到电子装置的存储器中的计算机程序产品,其特征在于包括可以在该电子装置中执行、并使得电子装置进行如下操作的代码从存储器中检索出包括词条的预处理过的发音字典,该词条包括第一单元集合和第二单元集合,第一单元集合包括字符单元,第二单元集合包括音素单元,其中对第一单元集合和第二单元集合进行排列,并通过在相对于对应字符单元的预定位置插入每一音素单元以将第一单元集合和第二单元集合交错;利用所述词条的第一单元集合的预定位置,从所述预处理过的发音字典中为输入文本串查找匹配词条,并且忽略空白;根据预定位置从所述匹配词条中选择所述第二单元集合的单元,并将它们联结成音素单元序列;和从所述音素单元序列中删除空白。
15.一种可以装载到电子装置的存储器中的计算机程序产品,其特征在于包括可以在该电子装置中执行、并使得电子装置进行如下操作的代码从存储器中检索出包括词条的预处理过的发音字典,该词条包括第一单元集合和第二单元集合,第一单元集合包括字符单元,第二单元集合包括音素单元,其中对第一单元集合和第二单元集合进行排列,并通过在相对于对应字符单元的预定位置插入每一音素单元以将第一单元集合和第二单元集合交错;存储或创建每一词条的音素表示的发音模型;通过将所述语音信息与所述发音模型比较并选择最一致的词条,为所述语音信息查找匹配词条;根据预定位置从所述匹配词条中选择所述第一单元集合的单元,并将它们联结成字符单元序列,和从所述字符单元序列中删除空白。
全文摘要本发明涉及在数据处理设备中对发音字典进行用于压缩的预处理,该发音字典包括至少一个词条,该词条包括字符单元序列和音素单元序列。根据本发明的一个方面,使用统计算法对字符单元序列和发音单元序列进行排列。通过将每一音素单元插入到相对于对应字符单元的预定位置,对排列后的字符单元序列和排列后的音素单元序列进行交错。
文档编号G10L15/14GK1585968SQ02822368
公开日2005年2月23日 申请日期2002年11月8日 优先权日2001年11月12日
发明者J·田 申请人:诺基亚有限公司