欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于壓縮字典數(shù)據(jù)的方法

文檔序號:2819671閱讀:476來源:國知局
專利名稱:用于壓縮字典數(shù)據(jù)的方法
背景技術
本發(fā)明涉及說話者無關的語音識別,更準確的說,涉及發(fā)音字典的壓縮。
近年來開發(fā)出了不同的語音識別應用,例如用于汽車用戶接口和比如移動電話、PDA(個人數(shù)字助理)裝置、便攜式計算機等移動終端。已知的用于移動終端的方法包括,用戶對著移動終端的麥克風大聲說出他或她的名字,然后建立到根據(jù)該用戶所說姓名的號碼的呼叫來呼叫一個特定的人的方法。然而,現(xiàn)今說話者相關的方法通常需要該語音識別系統(tǒng)被訓練到能夠識別每一個名字的發(fā)音。說話者無關的語音識別改善了語音控制的用戶接口的可用性,因為該訓練階段可以省略。在說話者無關的名字選擇中,名字的發(fā)音可以被預先儲存,那么用戶所說出的名字就可以與預定義的發(fā)音例如音素序列進行鑒別。雖然在許多語言中,許多詞語的發(fā)音可以用規(guī)則、甚至模型表示,但是仍然有一些詞語的發(fā)音不能通過這些規(guī)則或者模型正確地產(chǎn)生。然而在多種語言中,該發(fā)音不能用常規(guī)的發(fā)音規(guī)則表示,而是每一詞語具有一個特定的發(fā)音。對于這些語言,語音識別就依賴于使用所謂的發(fā)音字典,其中該語言的每一詞語的書寫形式和它的發(fā)音的語音表示都存儲在一個列表類結構中。
由于成本和硬件大小的原因,移動電話的存儲容量經(jīng)常受到限制。這樣也限制了語音識別的應用。在一個能夠具有多種用戶接口語言的裝置中,說話者無關的語音識別方案通常使用發(fā)音字典。因為一個發(fā)音字典通常比較大,例如兩千個名字需要37KB,所以需要對發(fā)音字典進行壓縮以存儲。概括地講,大多數(shù)文本壓縮方法都可以歸為兩類基于字典的和基于統(tǒng)計的。基于字典的壓縮有幾個不同的實現(xiàn)方法,例如LZ77/78和LZW(Lempel-Ziv-Welch)。通過將統(tǒng)計方法——例如算術編碼——與強大的建模技術結合,就可以達到比單獨使用基于字典的方法更好的性能。然而,基于統(tǒng)計的方法所存在的問題是,在解壓過程中它需要巨大的工作空間(緩沖區(qū))。因此該方案不適合在小的便攜式的電子裝置比如移動終端中使用。
雖然現(xiàn)有的壓縮方法通常都很好,但是用于對便攜式裝置的發(fā)音字典的壓縮卻不是足夠有效。
發(fā)明概述本發(fā)明的目的是提供一個更有效的用于壓縮發(fā)音字典的壓縮方法。本發(fā)明的目的通過具有如獨立權利要求中所公開的特征的方法、電子裝置、系統(tǒng)和計算機程序產(chǎn)品來實現(xiàn)。本發(fā)明的優(yōu)選實施例在從屬權利要求中闡述。
根據(jù)本發(fā)明的第一方面,壓縮前對發(fā)音字典進行預處理。預處理可以和任何用于壓縮字典的方法一起使用。在預處理中,使用統(tǒng)計算法對發(fā)音字典中的每一詞條進行排列。在該排列過程中,字符單元序列和音素單元序列被修改成具有相等數(shù)目的單元的序列。然后將排列后的字符單元序列和音素單元序列交錯,以使得每一音素單元插入到相對于對應字符單元的預定位置。
字符單元序列典型地是包含字母的文本序列。依據(jù)語言不同,該字母集可以擴展以包括比常規(guī)英語字母表更多的字母或符號。
音素單元序列表示詞語的發(fā)音,它通常包含字母與符號,例如在SAMPA(語音評價方法語音字母表)標記中的‘@’,‘A:’,‘{’。該語音字母表還可以包含非可打印的字符。因為一個音素可以用多于一個的字母或符號表示,所以使用空白字符將音素隔開。
根據(jù)本發(fā)明的第二方面,電子裝置被配置成將輸入文本串轉(zhuǎn)換為音素單元序列的。該裝置的存儲器中存儲有一個預處理過的包括詞條的發(fā)音字典,該詞條包括第一單元集合和第二單元集合,第一單元集合包括字符單元,第二單元集合包括音素單元,其中對第一集合的單元和第二集合的單元進行排列,并通過把每個音素單元插入到相對于對應字符單元的預定位置對第一集合和第二集合進行交錯。通過利用詞條的第一單元集合的預定位置的單元,就可以從該預處理過的發(fā)音字典中找到與輸入文本串相匹配的詞條。從該匹配詞條中選擇第二單元集合中的單元,并將其聯(lián)結成音素單元序列。并且從該音素單元序列中刪除空白符。
根據(jù)本發(fā)明的第三方面,電子裝置被配置成將輸入語音信息轉(zhuǎn)換為字符單元序列。該裝置的存儲器中存儲有一個預處理過的包括詞條的發(fā)音字典,該詞條包括第一單元集合和第二單元集合,第一單元集合包括字符單元,第二單元集合包括音素單元,其中對第一集合的單元和第二集合的單元進行排列,并通過把每個音素單元插入到相對于對應字符單元的預定位置對第一集合和第二集合進行交錯。用于每個詞條的語音表示的發(fā)音模型或者與發(fā)音字典一起被存儲在存儲器中,或者在處理過程中創(chuàng)建。通過將該語音信息與發(fā)音模型比較,選擇最一致的詞條,就可以找到該語音信息的匹配詞條。從該匹配詞條中選擇第一單元集合中的單元,并將其聯(lián)結成字符單元序列。最后,從該字符單元序列中刪除空白符。
本發(fā)明的一個優(yōu)點是,使用所述的預處理,字典的熵值(H)降低了。根據(jù)信息論,低的熵率(H)表示可以達到更有效的壓縮,因為熵率決定了壓縮的下限(可能達到的最好的無損壓縮的壓縮率)。這就使得能夠得到更好的壓縮,并且所需的存儲空間更小。進一步地,就使得該發(fā)音字典能夠相對簡單并可快速地應用到語音識別中。
在本發(fā)明的一個實施例中,適于采用HMM-Viterbi算法進行排列。HMM-Viterbi算法從統(tǒng)計的角度保證排列是以最優(yōu)的方式進行的,因此將該字典的詞條的余熵最小化。而且在排列中使用HMM-Viterbi算法還有一個優(yōu)點就是,從統(tǒng)計的角度看可以達到更加優(yōu)化的排列。
在本發(fā)明的另一個實施例中,該預處理中增加有映射步驟。該映射可以在排列之前或者在排列之后進行。在這一步驟中,每一音素單元被映射成一個符號,并且使用單個符號而不是用多個字符來表示音素單元。通過使用映射技術,空白字符可以從詞條中刪除,并且仍然可以進行交錯序列的解碼。刪除空白字符進一步提高了壓縮比。另外,映射還有一個優(yōu)點就是,該方法可以適用于多語言處理,甚至可以使用一個大的映射表來處理該裝置中的所有語言。
附圖簡述在下文中,將借助于優(yōu)選實施例和參照附圖對本發(fā)明進一步詳細描述,其中

圖1是一個數(shù)據(jù)處理裝置的結構框圖,用于支持根據(jù)本發(fā)明的一個優(yōu)選實施例的對發(fā)音字典進行的預處理和壓縮;圖2是根據(jù)本發(fā)明的一個優(yōu)選實施例的方法流程圖;圖3所示為使用HMM算法對發(fā)音字典進行排列;圖4所示為對一個字典詞條進行預處理的步驟;圖5是一個使用該預處理過的發(fā)音字典的電子裝置的結構框圖6為根據(jù)本發(fā)明的優(yōu)選實施例,使用預處理過的發(fā)音字典將文本串轉(zhuǎn)換為發(fā)音模型的流程圖;和圖7為根據(jù)本發(fā)明的優(yōu)選實施例,使用預處理過的發(fā)音字典將語音信息轉(zhuǎn)換為文本單元序列的流程圖;發(fā)明的詳細說明圖1說明的是一個數(shù)據(jù)處理裝置(TE)的僅與本發(fā)明的優(yōu)選實施例相關的部分。該數(shù)據(jù)處理裝置(TE)可以是,例如個人電腦(PC)或者移動終端。該數(shù)據(jù)處理單元(TE)包括I/O(輸入輸出)裝置(I/O),中央處理單元(CPU)和存儲器(MEM)。該存儲器(MEM)包括只讀存儲器ROM部分和可重復寫部分,比如隨機存取存儲器RAM和FLASH存儲器。用于與不同的外部部件例如CD-rom(光盤驅(qū)動器)、其他裝置以及用戶通訊的信息經(jīng)由輸入輸出裝置(I/O)傳送至中央處理單元(CPU)或從中央處理單元傳送過來。中央處理單元(CPU)提供一個預處理模塊(PRE)和一個壓縮模塊(COM)。這些模塊的功能典型地通過在處理器中執(zhí)行軟件代碼來實現(xiàn),但是也可以使用硬件方法(例如ASIC)或硬件和軟件結合的方式來實現(xiàn)。該預處理模塊(PRE)提供圖2中詳細說明的優(yōu)選實施例的預處理步驟。壓縮模塊(COM)提供對發(fā)音字典的壓縮,為此可以使用幾個不同的壓縮方法,例如LZ77、LZW或算術編碼。該預處理可以與任何其他壓縮方法結合使用以提高壓縮效率。
需要被預處理和壓縮的發(fā)音字典存儲在存儲器(MEM)中。該字典還可以使用輸入輸出裝置(I/O)從外部存儲裝置中下載,例如從CD-ROM或網(wǎng)絡。該發(fā)音字典中包括詞條,并且每一詞條依次包括該詞語的字符單元序列(文本序列)和相應的音素單元序列(音素序列)。音素單元序列表示字符單元序列的發(fā)音。音素單元的表示取決于所使用的音素標記系統(tǒng)??梢允褂脦讉€不同的音素標記系統(tǒng),例如SAMPA和IPA。SAMPA(語音評價方法語音字母表)是一種可機讀的語音字母表。國際語音學會提供一套標記標準國際音標(IPA),用于多種語言的語音表示。使用SAMPA音素標記系統(tǒng)的字典詞條可以是,例如文本序列 音素序列 詞條Father FA:D@ Father fA:D@熵是表征信號的數(shù)據(jù)內(nèi)容的基本屬性,用H表示。最簡短而又不丟失任何數(shù)據(jù)的描述信號(壓縮它)的方法是有可能找到的。這個最簡短描述的長度用信號的熵表示。香農(nóng)(Shannon)建立了一種估計信號的熵的方法(例如參見,C.E.Shannon,A Mathematical Theory of Communication(通信的數(shù)學理論),The Bell System Technical Journal,Vol.27,pp.379-423,623-656,July,October,1948),而不是去計算每個信號的準確熵值。下面對其作一簡單介紹。
假定前一個字符是字母表中第i個字母,那么當前字符是第j個字母的條件概率就用P(lj|li)表示,P(li)表示前一字符是字母表中第i個字母的概率。于是二階統(tǒng)計的熵率H2為H2=-Σi-1mP(li)·Σj=1mP(lj|li)·log2P(lj|li)---(1)]]>在通常情況下,熵率H由下式給出H=limn→∞-1nΣp(Bn)·log2p(Bn)---(2)]]>其中Bn代表第一個字符。根據(jù)上述等式(2)實際上不可能計算出熵率。使用等式(l)中的這種預測方法,則有可能估計出一篇有27個字符的英語文本的熵率大約是2.3比特/字符。
為了提高對發(fā)音字典的壓縮,可以使用預處理來降低它的熵。
圖2說明了根據(jù)本發(fā)明的優(yōu)選實施例的一種方法。該方法主要用于對發(fā)音字典進行預處理以降低其熵率(H)。
排列每個詞條(200),也就是對該文本和音素序列進行修改,以使得音素序列中的音素單元具有與文本序列中的字符單元相同的數(shù)目。例如,在英語中,一個字母可以與零個、一個、或兩個音素對應。排列是通過在文本串中的字母之間、或者在音素序列中的音素之間插入字素(graphemic)或音素ε(空值)來實現(xiàn)的。通過引入一個短小的偽音素表就可以避免字素ε的使用,該偽音素短表是通過將兩個已知的音素聯(lián)結起來與單個字母對應而得到的,例如,“x->ks”。為了排列詞條,所提供的音素集必須為每一個字母作定義。音素列表包括用于字母的偽音素和可能的ε音素。通常的原則是,在必要時將空字素(定義為ε)插入到文本序列,和/或?qū)⒖找羲?也稱為ε)插入到音素序列。以下就是上面用作范例的詞語經(jīng)過排列后的情形。
文本序列 音素序列 排列后的詞條father fA:D@ father fA:Dεε@這里,詞語‘faher’有6個單元,排列后音素序列中就有6個音素‘fA:Dεε@’。可以通過幾種不同的方式來完成排列。根據(jù)本發(fā)明的一個實施例,使用HMM-Viterbi算法完成該排列。在圖3中更詳細地說明和描述了該排列的原理在排列(200)之后,音素標記系統(tǒng)中所使用的每個音素優(yōu)選的被映射(202)成單個符號,例如一個字節(jié)的ASCII碼。然而,使用映射對達到本發(fā)明的效果并不是必需的,但是它可以進一步地改善該效果。映射可以通過例如一個映射表來表示。下面就是在用作范例的詞語中該音素如何被映射的例子
音素符號ASCII值ASCII符號f 0x66 fA: 0x41 AD 0x44 D@ 0x40 @ε 0x5F通過將每個音素用一個符號表示,表示一個音素單元的兩個字符就可以只用一個8位ASCII符號替換。結果該范例如下音素序列 映射后序列(ASCII值) 映射后序列(符號)fA:Dεε@ 0x66 0x41 0x44 0x5F 0x5F 0x40 fAD__@使用一個符號表示該音素之后,這些單元之間的空白就可以被刪除。文本序列和該映射并排列后的音素序列之間的空白也可以被刪除,因為這兩個序列的單元數(shù)目相等,從而哪些字符屬于文本、哪些字符屬于語音表示就很清楚。
排列和映射后的詞條fatherfAD__@對于交錯而言,將音素單元映射成單個符號(202)是一個重要的步驟,因為這樣可以避免使用空白字符。由于單個字符所占用的空間更少(例如相比于兩個字符組合),所以映射還進一步地改善了最終結果本身,并且加強了與相應文本字符的關聯(lián)性。排列(200)和映射(202)的次序并不會影響最終結果,映射(202)也可以在排列之前進行。
映射表僅取決于該發(fā)音字典中所使用的音素標記方法。它可以被實現(xiàn)成與語言無關的,使得對于不同的方言或者語言不需要使用不同的系統(tǒng)或?qū)嵤┓绞健H绻褂昧硕鄠€采用不同音素標記方法的發(fā)音字典,那就使得每個音素標記方法都需要有一個獨立的映射表。
在排列(200)和映射(202)以后,對詞條進行交錯(204)。由于字符到音素模式比連續(xù)字母模式具有更高的概率(更低的熵),尤其是已經(jīng)進行了最佳的排列后,從而冗余就增加了。這可以通過在詞語的字母之間插入發(fā)音音素以形成單個詞語來完成。換句話說,該音素單元被插入到相應的字符單元后的相鄰位置。在排列(200)以后,該文本序列和該音素序列具有相等數(shù)目的符號,該字符一音素對就容易被找到。例如文本序列 音素序列 交錯后詞條fatherFAD__@ffAtDh_e_r@其中斜體和黑體符號表示發(fā)音音素。很明顯從該例子可知,由于被交錯的文本序列和音素序列包含相等數(shù)目的單元,詞條從原始格式組合到新格式以及從新格式分解為原始格式的過程都是惟一確定的。
在預處理之后,就可以對預處理過的音素字典進行壓縮(206)。
圖3說明了用于排列詞條的文本和語音表示的字素(grapheme)HMM。
隱藏馬爾可夫模型(HMM)是一種眾所周知的并且已經(jīng)被廣泛應用的統(tǒng)計方法,例如應用在語音識別中。這些模型也被稱作為馬爾可夫源或者馬爾可夫鏈的概率函數(shù)。HMM的基礎假定是信號可以用參數(shù)隨機過程很好地表征,并且該隨機過程的參數(shù)可以以一種精確的、完美的方式來確定/估計。根據(jù)指定到每一狀態(tài)的可觀測事件是離散的——比如代碼字——或者是連續(xù)的,HMM可以分為離散模型和連續(xù)模型。這兩種情況下,觀測都是概率性的。底層隨機過程中的模型不是直接可觀測的(它是隱藏的),而只能通過另一組產(chǎn)生該觀測值序列的隨機過程來看。HMM由伴隨著狀態(tài)之間的轉(zhuǎn)移的隱藏狀態(tài)組成。它的數(shù)學表述包括三項狀態(tài)之間的狀態(tài)轉(zhuǎn)移概率,每一狀態(tài)的觀測概率和初始狀態(tài)分布。對于給定的HMM和觀測,可以使用Viterbi算法通過追蹤最佳路徑給出觀測狀態(tài)排列。
本發(fā)明中認為,HMM可用于解決將觀測序列最優(yōu)排列到隱藏馬爾可夫模型狀態(tài)的問題。并且Viterbi算法可以與HMM合使用來查找最優(yōu)排列。更多有關隱藏馬爾可夫模型及其應用的信息可以從例如書籍“Speech RecognitionSystem Design and Implementation Issues(語音識別系統(tǒng)設計及實現(xiàn)問題)”,第322-342頁中找到。
首先,對于給定的字母-音素對,如果音素f在字母l的允許音素列表中可以被找到,則懲罰分(penalty)p(f|l)初始化為零,否則就初始化為大的正值。使用該初始懲罰分,字典在兩個步驟中就可以被排列。第一步,為字典中每一詞條產(chǎn)生所有可能的排列,并根據(jù)所有排列的詞條對懲罰分重新評分。第二步,為每一詞條只找出一個最優(yōu)的排列。
對于每一詞條,使用Viterbi算法在字素HMM中找到最優(yōu)的排列。字素HMM具有入口(ES),出口(EXS)和字母狀態(tài)(S1,S2和S3)。可以映射到偽音素的字母被處理成具有一個持續(xù)(duration)狀態(tài)(EPS)。狀態(tài)1至3(S1,S2,S3)是與單詞中的字母對應的狀態(tài)。狀態(tài)2(S2)與可以產(chǎn)生偽音素的字母對應。為了支持音素ε,從所有前面狀態(tài)到當前狀態(tài)的跳轉(zhuǎn)都是允許的。
每一個狀態(tài)和持續(xù)狀態(tài)有一個令牌,該令牌包含相對于該字素HMM排列該音素序列的累積懲罰分(作為對數(shù)概率的和)和與該累積得分對應的狀態(tài)序列。音素序列相對于字母的排列是通過一次一個音素地從頭至尾遍歷音素序列來完成的。為了找到字母和音素之間的Viterbi排列,需要進行令牌傳送(tokenpassing)。當該令牌從一個狀態(tài)傳送到另一個狀態(tài),每一狀態(tài)的懲罰分就得到了累計。令牌傳送中也可能包括拆分令牌以及組合或者選擇令牌以進入下一個狀態(tài)。最后就可以找到在HMM的所有狀態(tài)中具有最低累積懲罰分的那個令牌。根據(jù)該令牌的狀態(tài)序列,該單詞的字母和音素之間的排列就可以被確定。
上述排列適合于大多數(shù)詞條,但是也有一些不能被排列的特殊詞條。在這種情況下,使用另一個簡單的排列將ε字素或者ε音素添加到字母或者音素序列的末尾。
圖4更詳細地說明了根據(jù)本發(fā)明的優(yōu)選實施例對一個示例詞條的預處理。
該原始詞條(400)具有兩個部分文本序列‘father’和音素序列‘fA:D@’。這兩個序列使用一個空白字符隔開,并且該音素單元之間也使用空白字符隔開。
在排列(402)中,添加ε音素和ε字素以使兩個序列具有相同數(shù)目的單元。在該范例單詞中需要加入兩個ε音素,從而該音素序列的結果就是‘fA:Dεε@’。
音素單元到單符號表示的映射(404)只改變該音素序列。映射之后,范例單詞的音素序列變成‘fAD__@’。
當映射(404)完詞條后,空白字符的刪除就成為可能(406)。結果,就得到一個字符串‘fatherfAD__@’。
最后一步是交錯(408),該范例詞條就變成了‘ffaAtDh_e_r@’?,F(xiàn)在該詞條就可以被進一步地處理,例如,它可以被壓縮。
在圖2中更詳細地描述所有這些步驟。
如上所述的還包括映射(202)的預處理方法都進行了實驗性測試。該實驗使用Camegie Mellon University Pronouncing Dictionary(卡耐基梅隆大學發(fā)音字典)進行,該字典是一個用于北美英語的字典,它包含超過100,000個單詞以及它們的注音。在實驗中首先通過使用典型的基于字典的壓縮方法LZ77和LZW,以及基于統(tǒng)計的壓縮方法二階算術壓縮來評估性能。然后使用該預處理方法和壓縮方法(LZ77,LZW和算術)的結合測試該性能。表格1中的結果表明,該預處理方法在所有情況下表現(xiàn)都更好,其中以千字節(jié)為單位。通常,它可以和任何壓縮算法一起使用。
表格1壓縮性能比較,使用CMU英語發(fā)音字典進行測試。該結果的單位是千字節(jié)。
方法 壓縮前n無預處理的壓縮有預處理的壓縮提高LZ77 2580 1181 940 20.4%LZW 2580 1315 822 37.5%算術 2580 899 501 44.3%從表1中可以看出,該預處理與所有的壓縮方法結合都提高了壓縮性能。與LZ77壓縮方法組合,該預處理將壓縮性能提高了超過20%。當與LZW方法或者與算術方法組合使用時,這個提高甚至會更大,達到大約40%。
需要理解的是,本發(fā)明可以被應用于任何用于語音識別和語言合成的一般用途的字典,或者被應用于當需要以高效的存儲器利用率來存儲發(fā)音字典時的所有應用。也可能將本發(fā)明應用到所有其它列表的壓縮,所述列表包括在字符層面具有高度相關的文本詞條組,例如顯示單詞全部形式的普通字典和拼寫檢查程序。
圖5說明的是一電子裝置(ED)的僅與本發(fā)明的一個優(yōu)選實施例相關的部分。該電子裝置(ED)可以是例如PDA裝置、移動終端、個人電腦(PC)乃至任何希望和它們一起使用的輔助裝置,例如智能耳機或者遙控裝置。該電子裝置(ED)包括輸入輸出裝置(I/O),中央處理單元(PRO)和存儲器(ME)。該存儲器(ME)包括只讀存儲器ROM部分和FLASH存儲器。用來與不同的外部部件例如網(wǎng)絡、其他裝置或者用戶通訊的信息經(jīng)由輸入輸出裝置(IO)傳送至中央處理單元(PRO)或從中央處理單元傳送過來。因此用戶接口——比如麥克風或使得字符序列可以被輸入該裝置的小鍵盤——是該輸入輸出裝置(IO)的一部分。預處理過的發(fā)音字典可以通過該輸入輸出裝置(IO)從數(shù)據(jù)處理裝置(TE)下載到該電子裝置(ED),例如從網(wǎng)絡下載。該字典然后存儲在存儲器(ME)中供進一步使用。
圖6和7中所示的步驟可以使用在該電子裝置(ED)的中央處理單元(PRO)中執(zhí)行的計算機程序代碼實現(xiàn)。該計算機程序可以通過輸入輸出裝置(IO)被裝載到中央處理單元(PRO)中。這一實現(xiàn)過程也可以使用硬件方法(例如ASIC)或者硬件和軟件的結合來完成。根據(jù)一個優(yōu)選實施例,如圖2所示對存儲在該裝置(ED)的存儲器(ME)中的音素字典進行預處理。
在圖6中,該電子裝置(ED)的中央處理單元(PRO)接收一個需要被轉(zhuǎn)換為發(fā)音模型的文本串輸入。該輸入文本串可以是例如該用戶已經(jīng)使用輸入輸出裝置(IO)添加到該電子裝置(ED)的聯(lián)系(contact)數(shù)據(jù)庫中的一個名字。首先需要從存儲在存儲器(ME)中的預處理過的發(fā)音字典中找到一個匹配詞條(600)。匹配詞條的查找是基于將該輸入文本串和詞條的字符單元進行比較來實現(xiàn)的。因為詞條被交錯,所以一個詞條串就是字符和音素單元的組合。如果交錯是根據(jù)圖2中所述的優(yōu)選實施例完成的,那么當將該輸入串與詞條比較時,只有每隔一個的單元被使用。詞條的字符單元可以通過從第一個單元開始選擇第奇數(shù)個單元而被找到。該比較是使用該詞條的原始字符串作出的,因此空白符例如ε字素被忽略。此外還有一些為本領域的熟練技術人員熟知的查找匹配詞條的方法和算法,由于它們不是本發(fā)明的一部分,這里不必描述它們。當字符單元與輸入文本串的單元完全匹配時,就找到了該匹配詞條。然而需要理解的是,在一些應用中使用非精確的匹配算法代替可能會是有利的,例如利用所謂的通配符。
當該匹配詞條被找到后,對該詞條的音素單元進行選擇(602)。因為交錯(根據(jù)圖2中所述的優(yōu)選實施例完成)的原因,該詞條串的每隔一個的單元被使用。為了確定該音素單元,從第二單元開始進行選擇。被選擇的單元然后可以被聯(lián)結以產(chǎn)生音素單元序列。
由于該詞條被排列,該音素單元序列可能包括空白符,例如音素ε。為了建立一個只由音素組成的序列,這些空白符被刪除(604)。
如果音素字典的預處理過程也包括映射,那就需要一個逆映射(606)。該逆映射可以使用一個和預處理中使用的類似的映射表進行,但是方向是相反的。這一步驟將該音素單元的第一表示方法——例如單字符表示——改變成在該系統(tǒng)中所使用第二表示方法,例如SAMPA。
當該音素單元序列被建立后,它典型地進一步被處理,例如建立該序列的發(fā)音模型。根據(jù)一個實施例,使用例如HMM算法分別為每一音素建立發(fā)音模型。該音素發(fā)音模型存儲在存儲器(ME)中。為了建立詞條的發(fā)音模型,從存儲器中檢索出該音素序列的每一音素的發(fā)音模型(608)。這些音素模型然后被聯(lián)結(610),于是就建立了該音素序列的發(fā)音模型。
如上所述的輸入文本串到發(fā)音模型的轉(zhuǎn)換還可以分布在兩個電子裝置進行。例如,將該預處理過的字典保存在第一個電子裝置例如網(wǎng)絡中,在該裝置中執(zhí)行查找匹配詞條(600)的操作。該匹配詞條然后被送到第二電子裝置例如移動終端,在其中進行剩下的處理(步驟602-610)。
圖7說明了在一個使用預處理過的發(fā)音字典的電子裝置(ED)中將語音信息轉(zhuǎn)換成字符單元序列的一個優(yōu)選實施例。該電子裝置(ED)的中央處理單元(PRO)通過輸入輸出裝置(IO)接收語音信息輸入。此語音信息需要被轉(zhuǎn)換為字符單元序列以供進一步使用,例如作為文本在顯示屏上顯示,或者把它與語音控制裝置的預定語音命令的文本串相比較。
對匹配詞條的查找(702)是基于輸入語音信息與該發(fā)音字典中每一詞條的發(fā)音模型的比較而進行的。因此在比較之前,每一詞條的發(fā)音都被建模(700)。根據(jù)一個優(yōu)選實施例,該模型被建立在該電子裝置(ED)中。由于該音素字典已經(jīng)被交錯和排列,因此可以按照如圖6所述的,遵循步驟602-610來完成建模。當建模是在電子裝置(ED)中完成時,對處理能力和工作空間的需求增加,而用于該發(fā)音字典的存儲消耗則可以保持較低的水平。
根據(jù)第二優(yōu)選實施例,模型是在對發(fā)音字典進行預處理之前在數(shù)據(jù)處理裝置(TE)中建立。該建模可以按照如圖6中所述,遵循步驟608和610來完成。因為是在預處理之前進行建模,該字典還沒有被交錯、排列或者映射,從而步驟602-606就不需要了。然后將該發(fā)音模型連同詞條一起存儲在存儲器(MEM)中。當該字典被傳送到電子裝置(ED),該模型也被傳送到電子裝置。在這種方案中,需要更少的處理能力和工作空間來將語音信息轉(zhuǎn)換成文本序列,而存儲器(ME)的存儲消耗卻增加了。
匹配詞條的查找(702)使用該輸入語音信息和保存在存儲器(ME)中的詞條的發(fā)音模型來完成。將語音信息與每一詞條進行比較,并計算出該輸入語音信息與每一詞條的發(fā)音模型相匹配程度的概率。在計算出該概率之后,就可以通過選擇具有最高概率的詞條來找到該匹配詞條。
然后從該匹配詞條中選擇出字符單元(704)。因為進行了圖2所示的交錯,該詞條串的每隔一個的單元被使用。該選擇操作必須從第一單元開始以獲得該字符單元。然后可以聯(lián)結這些被選擇的單元以形成字素單元序列。
因為排列的原因,該字素單元序列可能包括空白符,例如字素ε。為了建立只有字素的序列,該空白符被刪除(706)。從而我們就得到了可以在該系統(tǒng)中進一步使用的文本串。
電子裝置——例如具有汽車用戶接口的移動電話——具有用于聲音命令的說話者無關的聲音識別。每一聲音命令都是該發(fā)音字典中的一個詞條。用戶在駕駛時想打個電話,當該聲音識別被激活,用戶說‘CALL’。電話通過麥克風接收到該聲音命令,并通過輸入輸出裝置將該語音信息傳送到中央處理單元。中央處理單元按照圖7所述將該語音輸入轉(zhuǎn)換成文本序列。該文本序列通過輸入輸出裝置被傳送到顯示屏,以反饋給用戶該裝置正在進行的操作。除了在屏幕上顯示文本之外,該裝置也給出音頻反饋。作為語音到文本轉(zhuǎn)換處理的一部分而產(chǎn)生的匹配詞條的發(fā)音模型通過輸入輸出裝置被傳送到揚聲器。然后該電話就打電話到該用戶已經(jīng)選擇的電話號碼。
附圖和與它們相關的描述只是用于解釋本發(fā)明。對本發(fā)明的不同變動和修改對于本領域的熟練技術人員來說都是顯而易見的,均不脫離所附加的權利要求規(guī)定的本發(fā)明的精神和范圍。
權利要求
1.一種在數(shù)據(jù)處理裝置中為了壓縮而對發(fā)音字典預處理的方法,該發(fā)音字典包括至少一個詞條,該詞條包括字符單元序列和音素單元序列,其特征在于該方法包括步驟使用統(tǒng)計算法排列所述字符單元序列和所述音素單元序列,使得所述字符單元序列和所述音素單元序列之間的排列被確定;和通過在相對于對應字符單元的預定位置插入每一音素單元,將所述排列后的字符單元序列和所述排列后的音素單元序列交錯。
2.根據(jù)權利要求1的方法,其特征在于,通過應用統(tǒng)計算法HMM-Viterbi算法確定所述排列。
3.根據(jù)權利要求1的方法,其特征在于,所述音素單元位于對應字符單元的相鄰位置。
4.根據(jù)前述任一權利要求的方法,其特征在于,通過將字素ε插入到所述字符單元序列和/或?qū)⒁羲卅挪迦氲剿鲆羲貑卧蛄校沟盟雠帕泻蟮淖址麊卧蛄泻退雠帕泻蟮囊羲貑卧蛄邪ㄏ嗟葦?shù)目的單元。
5.根據(jù)前述任一權利要求的方法,其特征在于所述字符單元是字母或空白字符。
6.根據(jù)前述任一權利要求的方法,其特征在于,所述音素單元是表示單個音素或ε音素的字母或空白字符,并且一個所述單元至少要用一個字符表示。
7.根據(jù)權利要求1的方法,其特征在于該方法包括步驟將每一音素單元映射到一個符號。
8.一種電子裝置,配置成將輸入文本串轉(zhuǎn)換成音素單元序列,其特征在于包括用于存儲預處理過的包括詞條的發(fā)音字典的裝置,該詞條包括第一單元集合和第二單元集合,第一單元集合包括字符單元,第二單元集合包括音素單元,其中對第一集合的單元和第二集合的單元進行排列,并通過在相對于對應字符單元的預定位置插入每一音素單元以將第一集合的單元和第二集合的單元交錯;利用所述詞條的第一單元集合的預定位置,從所述預處理過的發(fā)音字典中為所述輸入文本串查找匹配詞條的裝置;用于根據(jù)預定位置從所述匹配詞條中選擇所述第二單元集合的音素單元,并將它們聯(lián)結成音素單元序列的裝置;和用于從所述音素單元序列中刪除空白的裝置。
9.根據(jù)權利要求8的電子裝置,其特征在于,所述電子裝置是移動通信系統(tǒng)中的移動終端。
10.根據(jù)權利要求8的電子裝置,其特征在于進一步包括用于將每一音索單元從第一音素表示方法映射到第二音素表示方法的裝置。
11.一種電子裝置,配置成將輸入語音信息轉(zhuǎn)換成字符單元序列,其特征在于包括用于存儲預處理過的包括詞條的發(fā)音字典的裝置,該詞條包括第一單元集合和第二單元集合,第一單元集合包括字符單元,第二單元集合包括音素單元,其中對第一集合的單元和第二集合的單元進行排列,并通過在相對于對應字符單元的預定位置插入每一音素單元以將第一集合的單元和第二集合的單元交錯用于存儲和創(chuàng)建每一詞條的音素表示的發(fā)音模型的裝置;通過將所述語音信息和所述發(fā)音模型進行比較并選擇最一致的詞條,從而為所述語音信息查找匹配詞條的裝置;用于根據(jù)預定位置從所述匹配詞條中選擇所述第一單元集合的字符單元,并將它們聯(lián)結成字符單元序列的裝置;和用于從所述字符單元序列中刪除空白的裝置。
12.一種包括第一電子裝置和第二電子裝置并且將它們設置成彼此通信連接的系統(tǒng),,該系統(tǒng)被配置成將輸入文本串轉(zhuǎn)換成音素單元序列,其特征在于所述第一電子裝置包括用于存儲預處理過的包括詞條的發(fā)音字典的裝置,其中詞條被排列并通過在相對于對應字符單元的預定位置插入每一音素單元而交錯,該詞條包括第一單元集合和第二單元集合。第一單元集合包括字符單元,第二單元集合包括音素單元;所述第一電子裝置包括利用所述詞條的第一單元集合從所述預處理過的發(fā)音字典中為所述輸入文本串查找匹配詞條的裝置;所述第一電子裝置包括用于傳送所述匹配詞條到第二電子裝置的裝置;所述第二電子裝置包括用于從第一電子裝置接收所述匹配詞條的裝置;所述第二電子裝置包括用于從所述匹配詞條中選擇所述第二單元集合的單元并將它們聯(lián)結成音素單元序列的裝置;和所述第二電子裝置包括用于從所述音素單元序列中刪除空白的裝置。
13.一種可以裝載到數(shù)據(jù)處理裝置的存儲器中的計算機程序產(chǎn)品,其特征在于包括可以在數(shù)據(jù)處理裝置中執(zhí)行、并使得數(shù)據(jù)處理裝置進行如下操作的代碼從存儲器中檢索出包括至少一個詞條的發(fā)音字典,該詞條包括字符單元序列和音素單元序列;使用統(tǒng)計算法排列所述字符單元序列和所述音素單元序列;和通過在相對于對應字符單元的預定位置插入每一音素單元,將所述排列后的字符單元序列和所述排列后的音素單元序列交錯。
14.一種可以裝載到電子裝置的存儲器中的計算機程序產(chǎn)品,其特征在于包括可以在該電子裝置中執(zhí)行、并使得電子裝置進行如下操作的代碼從存儲器中檢索出包括詞條的預處理過的發(fā)音字典,該詞條包括第一單元集合和第二單元集合,第一單元集合包括字符單元,第二單元集合包括音素單元,其中對第一單元集合和第二單元集合進行排列,并通過在相對于對應字符單元的預定位置插入每一音素單元以將第一單元集合和第二單元集合交錯;利用所述詞條的第一單元集合的預定位置,從所述預處理過的發(fā)音字典中為輸入文本串查找匹配詞條,并且忽略空白;根據(jù)預定位置從所述匹配詞條中選擇所述第二單元集合的單元,并將它們聯(lián)結成音素單元序列;和從所述音素單元序列中刪除空白。
15.一種可以裝載到電子裝置的存儲器中的計算機程序產(chǎn)品,其特征在于包括可以在該電子裝置中執(zhí)行、并使得電子裝置進行如下操作的代碼從存儲器中檢索出包括詞條的預處理過的發(fā)音字典,該詞條包括第一單元集合和第二單元集合,第一單元集合包括字符單元,第二單元集合包括音素單元,其中對第一單元集合和第二單元集合進行排列,并通過在相對于對應字符單元的預定位置插入每一音素單元以將第一單元集合和第二單元集合交錯;存儲或創(chuàng)建每一詞條的音素表示的發(fā)音模型;通過將所述語音信息與所述發(fā)音模型比較并選擇最一致的詞條,為所述語音信息查找匹配詞條;根據(jù)預定位置從所述匹配詞條中選擇所述第一單元集合的單元,并將它們聯(lián)結成字符單元序列,和從所述字符單元序列中刪除空白。
全文摘要
本發(fā)明涉及在數(shù)據(jù)處理設備中對發(fā)音字典進行用于壓縮的預處理,該發(fā)音字典包括至少一個詞條,該詞條包括字符單元序列和音素單元序列。根據(jù)本發(fā)明的一個方面,使用統(tǒng)計算法對字符單元序列和發(fā)音單元序列進行排列。通過將每一音素單元插入到相對于對應字符單元的預定位置,對排列后的字符單元序列和排列后的音素單元序列進行交錯。
文檔編號G10L15/14GK1585968SQ02822368
公開日2005年2月23日 申請日期2002年11月8日 優(yōu)先權日2001年11月12日
發(fā)明者J·田 申請人:諾基亞有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
长丰县| 公安县| 民权县| 太康县| 塔河县| 绵竹市| 新巴尔虎右旗| 区。| 航空| 肇庆市| 博湖县| 乌拉特前旗| 沅江市| 中卫市| 平乐县| 定陶县| 招远市| 奉化市| 乐山市| 阳原县| 汉寿县| 仁寿县| 浦县| 枝江市| 桐城市| 镇安县| 尼木县| 宁陕县| 乐昌市| 龙州县| 兰西县| 肥乡县| 泾阳县| 蓝山县| 敦化市| 富锦市| 抚松县| 朝阳市| 成都市| 壤塘县| 祁东县|