專利名稱:為字母-聲音轉(zhuǎn)換生成有互信息標準的大文法音素單元的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及字母-聲音轉(zhuǎn)換系統(tǒng),尤其涉及生成用于字母-聲音轉(zhuǎn)換的文法音素(graphoneme)。
背景技術(shù):
在字母-聲音轉(zhuǎn)換中,字母序列被轉(zhuǎn)換成表征該字母序列的發(fā)音的音素序列。
在近幾年中,基于n字母組(n-gram)的系統(tǒng)已經(jīng)被用于字母-聲音轉(zhuǎn)換。n字母組系統(tǒng)使用“文法音素(graphoneme)”,它是表征字母和那些字母的語音發(fā)音兩者的聯(lián)合單元。在每個文法音素中,在文法音素的字母部分中可以有零個或多個字母,而在文法音素的音素部分中可以有零個或多個音素。一般而言,文法音素用l*:p*表示,其中l(wèi)*表示零個或多個字母,而p*表示零個或多個音素。例如,“tion:sh&ax&n”表示有四個字母(tion)和三個音素(sh、ax、n)的文法音素。定界符“&”被加到音素之間,因為音素名可能比一個字符長。
文法音素n字母組模型是基于具有單詞的拼寫條目和每個單詞的音素發(fā)音的詞典來訓(xùn)練的。該詞典被稱為訓(xùn)練詞典。如果給定訓(xùn)練詞典中字母-音素映射,則該訓(xùn)練詞典可以被轉(zhuǎn)換成文法音素發(fā)音詞典。例如,假定phone ph:f o:ow n:n e:#以某種方式被給出。每個單詞的文法音素定義就被用來估算“n”文法音素序列的似然性。例如,在文法音素三字母組中,三個文法音素序列的概率Pr(g3|g1g2),是根據(jù)有文法音素發(fā)音的訓(xùn)練詞典來估算的。
在使用文法音素的現(xiàn)有技術(shù)的許多系統(tǒng)中,當新單詞被提供給字母-聲音轉(zhuǎn)換系統(tǒng)時,最佳第一搜索算法被用來基于n字母組得分尋找最佳或n-最佳發(fā)音。要完成這個搜索,從包含文法音素n字母組模型的起始符號的根節(jié)點開始,該起始符號通常被表示為<s>。<s>指示文法音素序列的開始。與根節(jié)點相關(guān)聯(lián)的得分(對數(shù)概率)是log(Pr(<s>)=1)=0。另外,搜索樹中的每個節(jié)點跟蹤輸入單詞中的字母位置。我們稱它為“輸入位置”。<s>的輸入位置是0,因為輸入單詞中還沒有字母被使用。概括地說,搜索樹中的節(jié)點包含最佳第一搜索的下列信息struct node{int score,input_position;node*parent;int graphoneme_id;};同時,堆結(jié)構(gòu)被維護,其中搜索節(jié)點的最高得分在堆的頂部出現(xiàn)。最初在堆中只有一個元素。這個元素指向搜索樹的根節(jié)點。在搜索的任一迭代中,堆的頂部元素被除去,它給出到目前為止搜索樹中的最佳節(jié)點。然后通過在文法音素庫(inventory)中查找其字母部分是輸入單詞中從最佳節(jié)點的輸入位置開始的剩余字母的前綴的那些文法音素,從這個最佳節(jié)點延伸子節(jié)點。每個這樣的文法音素生成當前最佳節(jié)點的子節(jié)點。子節(jié)點的得分是父節(jié)點(即當前最佳節(jié)點)的得分加上到該子節(jié)點的n字母組音素得分。子節(jié)點的輸入位置被前進到父節(jié)點的輸入位置加上子節(jié)點中相關(guān)聯(lián)的文法音素的字母部分的長度。最后,子節(jié)點被插入到堆中。
在所有輸入字母被用完后必須特別注意。如果當前最佳節(jié)點的輸入位置已經(jīng)到達輸入單詞的末端,將到n字母組模型的終止符號的過渡</s>添加到搜索樹和堆上。
如果從堆中除去的最佳節(jié)點包含</s>作為其文法音素id,就得到了對應(yīng)于輸入單詞的完整拼寫的語音發(fā)音。為了標識該發(fā)音,從最后的最佳節(jié)點</s>一路回到根節(jié)點<s>的路徑被跟蹤,而沿著這條路徑的文法音素單元的音素部分就是輸出。
按照文法音素n字母組模型,有</s>的第一最佳節(jié)點是最佳發(fā)音,因為剩余的搜索節(jié)點的得分比這個得分差,而從剩余的搜索節(jié)點的任一個到</s>的已有或?qū)⒂械穆窂街粫玫礁畹牡梅?因為log(概率)<0)。如果元素繼續(xù)從堆中被除去,第二最佳、第三最佳等等發(fā)音可以被標識,直到堆中沒有元素,或者第n最佳發(fā)音比頂部第一發(fā)音差一個閾值。然后n最佳搜索停止。
有多種方法來訓(xùn)練n字母組音素模型,例如最大似然、最大熵等等。文法音素本身也可以用不同方式生成。例如,一些已有技術(shù)使用隱型馬爾可夫模型來生成訓(xùn)練詞典的字母和音素的初始對齊,隨后把這些l:p文法音素時常出現(xiàn)的對歸并成更大的文法音素單元?;蛘?,文法音素庫也可以由把某些字母序列與特定音素序列相關(guān)聯(lián)的語言學(xué)家生成。這花費大量時間并易于出錯而且有些任意,因為語言學(xué)家在把字母和音素組成文法音素時并沒有使用嚴密的技術(shù)。
發(fā)明內(nèi)容
提供了一種把單詞和語音發(fā)音分割成文法音素序列的方法和裝置。在本發(fā)明中,較小文法音素單元對的互信息被確定。每個文法音素單元包括至少一個字母。在每次迭代中,有最大互信息(mutual information)的最佳對被組合,以形成新的較長的文法音素單元。當合并算法停止時,得到單詞的詞典,其中,每個詞被分割成文法音素單元的最終組中的文法音素序列。
用相同的基于互信息的貪婪算法而不考慮字母,語音發(fā)音可以被分割成音節(jié)發(fā)音。類似地,單詞也可以通過將單詞的“發(fā)音”分配為拼寫并再次忽略文法音素單元的字母部分被而分割成詞素(morpheme)。
圖1是可在其中實現(xiàn)本發(fā)明的實施例的通用計算環(huán)境的框圖。
圖2是在本發(fā)明的一個實施例中生成大文法音素單元的方法的流程圖。
圖3是用于把單詞“phone”分割成文法音素序列的示例解碼網(wǎng)格。
圖4是基于互信息訓(xùn)練和使用音節(jié)n字母組的方法的流程圖。
具體實施例方式
圖1示出可以在其中實現(xiàn)本發(fā)明的合適的計算系統(tǒng)環(huán)境100的例子。計算系統(tǒng)環(huán)境100只是合適的計算環(huán)境的一個例子,但不意味著是本發(fā)明的使用范圍或功能的任何限制。計算環(huán)境100也不應(yīng)該被解釋為對示例性操作環(huán)境100中所示的元件的任何一個或組合有任何依賴或要求。
本發(fā)明可以在許多其它通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置上運作。適合使用本發(fā)明的眾所周知的計算系統(tǒng)、環(huán)境和/或配置的例子包括但不限于個人計算機、服務(wù)器計算機、手持或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機頂盒、可編程消費者電子設(shè)備、網(wǎng)絡(luò)PC、小型機、大型計算機、電話系統(tǒng)、包括任何上述系統(tǒng)或設(shè)備的分布式計算環(huán)境等等。
本發(fā)明可以在例如由計算機執(zhí)行的程序模塊等計算機可執(zhí)行的指令的通用上下文中描述。一般而言,程序模塊包括完成特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。本發(fā)明被設(shè)計成在由通過通信網(wǎng)絡(luò)連接的遠程處理設(shè)備完成任務(wù)的分布式計算環(huán)境中實現(xiàn)。在分布式計算環(huán)境中,程序模塊可以位于本地和遠程計算機存儲媒質(zhì)兩者中,包括存儲器存儲設(shè)備。
參考圖1,實現(xiàn)本發(fā)明的示例性系統(tǒng)包括計算機110形式的通用計算設(shè)備。計算機110的組件可以包括但不限于處理單元120、系統(tǒng)存儲器130和把包括系統(tǒng)存儲器在內(nèi)的各種系統(tǒng)元件耦合到處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是多種總線結(jié)構(gòu)的任何一種,包括存儲器總線或存儲器控制器、外圍總線和使用任何一種總線體系結(jié)構(gòu)的局部總線。作為例子但不是限制,這樣的體系結(jié)構(gòu)包括工業(yè)標準體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強型ISA(EISA)總線、視頻電子標準協(xié)會(VESA)局部總線和外設(shè)部件互連(PCI)總線(即Mezzanine總線)。
計算機110通常包括各種計算機可讀媒質(zhì)。計算機可讀媒質(zhì)可以是可以由計算機110訪問的任何可用媒質(zhì),包括易失和非易失媒質(zhì)、可移動和不可移動媒質(zhì)。作為例子但不是限制,計算機可讀媒質(zhì)可以包括計算機存儲媒質(zhì)和通信媒質(zhì)。計算機存儲媒質(zhì)包括以任何方法或技術(shù)實現(xiàn)來存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)這樣的信息的易失和非易失、可移動和不可移動媒質(zhì)。計算機存儲媒質(zhì)包括但不限于RAM、ROM、EEPROM、閃存或其它存儲技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或可以用來存儲所需信息并可以由計算機110訪問的其它任何媒質(zhì)。通信媒質(zhì)通常在諸如載波或其它傳輸機制這樣的已調(diào)制數(shù)據(jù)信號中包含計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任何信息傳遞媒質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”是指其一個或多個特征以在信號中編碼信息的方式被設(shè)置或改變的信號。作為例子但不是限制,通信媒質(zhì)包括諸如有線網(wǎng)絡(luò)或直接有線連接這樣的有線媒質(zhì),和諸如聲學(xué)、射頻、紅外或其它無線媒質(zhì)這樣的無線媒質(zhì)。上面任何媒質(zhì)的組合也應(yīng)該被包括在計算機可讀媒質(zhì)的范圍內(nèi)。
系統(tǒng)存儲器130包括易失和/或非易失存儲器形式的計算機存儲媒質(zhì),例如只讀存儲器(ROM)131和隨機存取存儲器(RAM)132?;据斎?輸出系統(tǒng)133(BIOS),包含例如在啟動時幫助在個人計算機110中的元件之間傳輸信息的基本例程,被存儲在ROM131中。RAM132通常包含處理單元120立刻可以訪問和/或正在操作的數(shù)據(jù)和/或程序模塊。作為例子但不是限制,圖1示出操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計算機110也可以包括其它可移動和不可移動、易失和非易失計算機存儲媒質(zhì)。只是作為例子,圖1示出對不可移動非易失磁媒質(zhì)進行讀寫的硬盤驅(qū)動器141、對可移動非易失磁盤152進行讀寫的磁盤驅(qū)動器151和對諸如CD-ROM或其它光媒質(zhì)這樣的可移動非易失光盤156進行讀寫的光盤驅(qū)動器155??梢员挥迷谑纠圆僮鳝h(huán)境中的其它計算機存儲媒質(zhì)包括但不限于磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器141通常通過接口140這樣的不可移動存儲接口被連接到系統(tǒng)總線121,而磁盤驅(qū)動器151和光盤驅(qū)動器155通常通過接口150這樣的可移動存儲接口被連接到系統(tǒng)總線121。
如上所述并如圖1所示的驅(qū)動器及其相關(guān)聯(lián)計算機存儲媒質(zhì),為計算機110提供計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。例如,在圖1中,示出硬盤驅(qū)動器141存儲操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意這些組件可以和操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同或不同。操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147在這里被給以不同標號來說明它們至少是不同的副本。用戶可以通過諸如鍵盤162、麥克風163和定點設(shè)備161(例如鼠標、跟蹤球或觸摸板)這樣的輸入設(shè)備向計算機110輸入命令和信息。其它輸入設(shè)備(未示出)可以包括操縱桿、游戲墊、圓盤式衛(wèi)星天線和掃描儀等。這些和其它輸入設(shè)備通常通過耦合到系統(tǒng)總線的用戶輸入接口160連接到處理單元120,但也可以通過其它接口和總線結(jié)構(gòu)連接,例如并行端口、游戲端口或通用串行總線(USB)。顯示器191或其它類型的顯示設(shè)備也通過視頻接口190這樣的接口被連接到系統(tǒng)總線121。除了顯示器之外,計算機也可以包括其它外圍輸出設(shè)備,例如揚聲器197和打印機196,它們可以通過輸出外圍接口195被連接。
計算機110可以在使用到一個或多個遠程計算機,例如遠程計算機180的邏輯連接的聯(lián)網(wǎng)環(huán)境中操作。遠程計算機180可以是個人計算機、手持設(shè)備、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它公用網(wǎng)絡(luò)節(jié)點,并通常包括上面相對計算機110描述的許多或全部元件。圖1中描述的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可以包括其它網(wǎng)絡(luò)。這些聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中很常見。
當在LAN聯(lián)網(wǎng)環(huán)境中使用時,計算機110通過網(wǎng)絡(luò)接口或適配器170連接到LAN171。當在WAN聯(lián)網(wǎng)環(huán)境中使用時,計算機110通常包括調(diào)制解調(diào)器172或用于通過諸如因特網(wǎng)這樣的WAN173建立通信的其它裝置。調(diào)制解調(diào)器172可以是內(nèi)置的或外置的,可以通過用戶輸入接口160或其它合適機制連接到系統(tǒng)總線121。在聯(lián)網(wǎng)環(huán)境中,相對計算機110描述的程序模塊或其中一部分可以被存儲在遠程存儲器存儲設(shè)備中。作為例子但不是限制,圖1示出遠程應(yīng)用程序185駐留在遠程計算機180中??梢岳斫猓镜木W(wǎng)絡(luò)連接是示例性的,也可以使用在計算機之間建立通信鏈路的其它裝置。
在本發(fā)明的一個實施例中,可以用于字母-聲音轉(zhuǎn)換的文法音素是使用互信息標準形成的。圖2提供了在本發(fā)明的一個實施例中形成這種文法音素的流程圖。
在圖2的步驟200中,詞典中的單詞被分割成單個字母,而各個字母的每一個和與該單詞相關(guān)聯(lián)的音素序列中的單個音素對齊。在一個實施例中,這個對齊是通過整個單詞從左到右進行的,使得第一字母和第一音素對齊、第二字母和第二音素對齊,依此類推。如果字母比音素多,則剩余字母映射到靜音,靜音用“#”表示。如果音素比字母多,則最后一個字母映射到多個音素。例如,單詞“phone”和“box”如下作初始映射phone: p:f h:ow o:n n:# e:#box: b:d o:aa x:k&s這樣,每個初始文法音素單元正好有一個字母和零個或多個音素。這些初始單元可以普遍地用l:p*表示。
在初始對齊之后,圖2的方法在步驟202為每個字母確定對齊概率。對齊概率可以如下計算p(p*|l)=c(p*|l)Σs*c(s*|l)]]>等式1其中,p(p*|l)是音素序列p*和字母l對齊的概率,c(p*|l)是音素序列p*和字母l在詞典中對齊的次數(shù)的計數(shù),而c(s*|l)是音素序列s*和字母l對齊的次數(shù)的計數(shù),其中分母中的和是對詞典中與字母l對齊的所有可能的音素序列s*進行的。
在確定了對齊概率后,在步驟204形成新的對齊,再次為有與每個文法音素相關(guān)聯(lián)的零個或多個音素的每一文法音素分配一個字母。這個新的對齊是基于在步驟202確定的對齊概率的。在一個特定實施例中,使用維特比解碼系統(tǒng),其中通過維特比柵格的路徑,例如圖3所示的示例柵格,從對齊概率中被識別。
圖3的柵格用于有語音序列f&ow&n的單詞“phone”。柵格包括每個字母的單獨狀態(tài)索引和初始靜音狀態(tài)索引。在每個狀態(tài)索引,有貫穿音素序列的進程的單獨狀態(tài)。例如,對字母“p”的狀態(tài)索引,有靜音狀態(tài)300、/f/狀態(tài)302、/f&ow/狀態(tài)304和/f&ow&n/狀態(tài)306。在兩個狀態(tài)之間的每一轉(zhuǎn)移表示可能的文法音素。
對每個狀態(tài)索引處的每個狀態(tài),進入該狀態(tài)的單個路徑是通過確定通向該狀態(tài)的每一條完整路徑的概率來選擇的。例如,對狀態(tài)308,維特比解碼選擇路徑310或路徑312。路徑310的得分包括路徑314對齊p:#的概率和路徑310對齊h:f的概率。類似地,路徑312的得分包括路徑316對齊p:f的概率和路徑312對齊h:#的概率。進入每個狀態(tài)的有最高概率的路徑被選中,而其它路徑被剪除不作更多考慮。通過這個解碼過程,詞典中的每個單詞都被分割成文法音素序列。例如,在圖3中,文法音素序列p:f h:# o:ow n:n e:#可以作為最可能的對齊被選中。
在步驟206,本發(fā)明的方法確定是否應(yīng)當執(zhí)行更多對齊迭代。如果要執(zhí)行更多對齊迭代,則過程返回到步驟202,以基于在步驟204形成的新對齊確定對齊概率。步驟202、204和206一直被重復(fù),直到執(zhí)行了所要求的迭代次數(shù)。
步驟202、204和206的迭代的結(jié)果是詞典中每個單詞被分割成文法音素單元序列。每個文法音素單元正好包含拼寫部分中的一個字母和音素部分中的零個或多個音素。
在步驟210,為在對齊步驟204之后在詞典中發(fā)現(xiàn)的文法音素單元的每個連續(xù)對確定互信息。在一個實施例中,兩個連續(xù)的文法音素單元的互信息如下計算MI(u1,u2)=Pr(u1,u2)logPr(u1,u2)Pr(u1)Pr(u2)]]>等式2其中MI(u1,u2)是文法音素單元對u1和u2的互信息。Pr(u1,u2)是文法音素單元u2直接在文法音素單元u1之后出現(xiàn)的聯(lián)合概率。Pr(u1)是文法音素單元u1的一元概率(unigram probability),而Pr(u2)是文法音素單元u2的一元概率。等式2的概率如下計算Pr(u1)=coumt(u1)count(*)]]>等式3Pr(u2)=count(u2)count(*)]]>等式4Pr(u1u2)=count(u1u2)count(*)]]>等式5其中count(u1)是文法音素單元u1在詞典中出現(xiàn)的次數(shù),count(u2)是文法音素單元u2在詞典中出現(xiàn)的次數(shù),count(u1u2)是文法音素單元u2緊隨文法音素單元u1之后在詞典中出現(xiàn)的次數(shù),count(*)是詞典中所有文法音素單元的實例的數(shù)目。
嚴格地說,等式2并不是兩個分布之間的互信息,因此不能保證是非負數(shù)。但是,它的公式類似于互信息公式,因而在文獻中被錯誤地稱為互信息。所以,在本發(fā)明的上下文中,我們繼續(xù)稱等式2的計算是互信息計算。
在步驟210對詞典中每對相鄰文法音素單元計算了互信息后,在步驟212確定每個新的可能文法音素單元u3的強度。新的可能文法音素單元通過合并兩個已有的較小文法音素單元來產(chǎn)生。但是,兩對不同的文法音素單元可以產(chǎn)生相同的新文法音素單元。例如,文法音素對(p:f,h:#)和文法音素對(p:#,h:f)在它們被合并到一起時都形成同一個較大文法音素單元(ph:f)。所以,我們定義新的可能文法音素單元u3的強度為通過合并產(chǎn)生同一個新單元u3的不同文法音素單元對而形成的所有互信息的總和strength(u3)=Σ∀u1u2=u3MI(u1,u2)]]>等式6其中,strength(u3)是可能的新單元u3的強度,而u1u2=u3意味著合并u1和u2將產(chǎn)生u3。所以,等式6的總和是在產(chǎn)生u3的所有這樣的單元對u1和u2上完成的。
在步驟214,創(chuàng)建有最大強度的新單元。然后通過用新形成單元替代較小單元對,更新包括形成所選中的新單元的組成對的詞典條目。
在步驟218,該方法確定是否應(yīng)該創(chuàng)建更多文法音素單元。如果是,過程返回到步驟210并再次計算文法音素單元對的互信息。注意,在前一次合并后,詞典現(xiàn)在可能不再需要一些舊單元(即count(u1)=0)。步驟210、212、214、216和218一直被重復(fù),直到構(gòu)造了足夠大的文法音素單元組?,F(xiàn)在詞典被分割成文法音素發(fā)音。
然后,在步驟222,經(jīng)分割的詞典被用來訓(xùn)練文法音素n字母組。構(gòu)造n字母組的方法可以包括基于最大熵的訓(xùn)練或基于最大似然的訓(xùn)練等等。構(gòu)建n字母組領(lǐng)域內(nèi)的技術(shù)人員理解,構(gòu)建n字母組語言模型的任一合適方法都可用于本發(fā)明。
通過使用互信息構(gòu)造較大文法音素單元,本發(fā)明為任何拼寫語言提供了生成大文法音素單元的自動技術(shù),而不需要語言學(xué)家手工標識文法音素單元。
一旦在圖2的步驟222生成了文法音素n字母組,我們?nèi)缓缶涂梢允褂梦姆ㄒ羲貛旌蚽字母組來導(dǎo)出給定拼寫的發(fā)音。它們也可以用于把有自己的語音發(fā)音的拼寫分割成庫中文法音素序列。這通過應(yīng)用一強制對齊來實現(xiàn),該強制對齊要求文法音素的字母和音素與搜索樹中每個節(jié)點的剩余字母和音素之間的前綴匹配。然后n字母組中提供最高概率并且與字母和音素都匹配的文法音素序列被標識為給定拼寫/發(fā)音的文法音素分段。
用相同的算法,也可以通過生成音節(jié)庫、訓(xùn)練音節(jié)n字母組以及在單詞的發(fā)音上執(zhí)行強制對齊把語音發(fā)音分割成音節(jié)發(fā)音。圖4提供生成并使用音節(jié)n字母組以標識單詞的音節(jié)的方法。在一個實施例中,文法音素用作算法的輸入被使用,即使算法忽略每個文法音素的字母端,而只使用每個文法音素的音素。
在圖4的步驟400,為詞典中的每個音素對確定互信息得分。在步驟402,有最高互信息得分的音素對被選中,并生成由兩個音素組成的新“音節(jié)”單元。在步驟404,包括該音素對的詞典條目被更新,這樣音素對作為詞典條目中單個音節(jié)單元來處理。
在步驟406,本方法確定是否有更多的迭代要進行。如果有更多迭代,過程返回到步驟400,對詞典中的每個音素對生成互信息得分。步驟400、402、404和406一直被重復(fù),直到形成合適的一組音節(jié)單元。
在步驟408,現(xiàn)在已經(jīng)被分割成音節(jié)單元的詞典用于生成音節(jié)n字母組。音節(jié)n字母組模型提供詞典中發(fā)現(xiàn)的音節(jié)序列的概率。在步驟410,音節(jié)n字母組用于在給定新單詞的發(fā)音時標識新單詞的音節(jié)。具體地說,使用強制對齊,其中發(fā)音的音節(jié)基于音節(jié)n字母組被組合成最可能的音節(jié)單字母組序列。步驟410的結(jié)果是單詞的音素組合成音節(jié)單元。
相同的算法可以被用來把單詞分割成詞素。作為使用單詞的音素的替代,單詞的各個字母被用作單詞的“發(fā)音”。為了直接使用上面描述的貪婪算法,各個字母被用來取代文法音素中的音素,而文法音素中的字母端被忽略。這樣在步驟400,訓(xùn)練詞典中字母對的互信息被標識,而在步驟402有最高互信息的對被選中。然后為這個對形成新詞素單元。在步驟404,用新詞素單元更新詞典條目。當創(chuàng)建了合適數(shù)量的詞素單元后,在詞典中發(fā)現(xiàn)的詞素單元被用來訓(xùn)練n字母組詞素模型,后者在后來可以被用來用上述強制算法從單詞的拼寫中標識單詞的詞素。使用這種技術(shù),象“transition”這樣的單詞可以被分割成“tran si tion”的詞素單元。
雖然本發(fā)明是參考特定實施例來描述的,然而本領(lǐng)域的技術(shù)人員會理解,可以進行形式和細節(jié)上的改動而不脫離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種把單詞分割成組成部分的方法,其特征在于,所述方法包括確定文法音素單元的互信息得分,每個文法音素單元包括單詞的拼寫中的至少一個字母;使用所述互信息得分以將文法音素單元組合成較大的文法音素單元;以及把單詞分割成組成部分以形成文法音素序列。
2.如權(quán)利要求1所述的方法,其特征在于,組合文法音素包括組合每個文法音素的字母以產(chǎn)生所述較大文法音素單元的字母序列,并組合每個文法音素的音素以產(chǎn)生所述較大文法音素單元的音素序列。
3.如權(quán)利要求1所述的方法,其特征在于,還包括使用所分割的單詞生成模型。
4.如權(quán)利要求3所述的方法,其特征在于,所述模型描述給定單詞內(nèi)上下文時文法音素的概率。
5.如權(quán)利要求4所述的方法,其特征在于,還包括使用所述模型在給定單詞的拼寫時確定所述單詞的發(fā)音。
6.如權(quán)利要求1所述的方法,其特征在于,使用所述互信息得分包括對為單個較大文法音素確定的至少兩個互信息得分求和以形成強度。
7.一種有計算機可執(zhí)行的指令的計算機可讀媒質(zhì),所述指令用于執(zhí)行以下步驟為在一組單詞中發(fā)現(xiàn)的文法音素單元對確定互信息得分,每個文法音素單元包括至少一個字母;基于所述互信息得分組合一文法音素單元對的文法音素單元,以形成一新的文法音素單元;以及部分地基于所述新的文法音素單元標識單詞的一組文法音素單元。
8.如權(quán)利要求7所述的計算機可讀媒質(zhì),其特征在于,組合文法音素包括組合所述文法音素的字母以形成所述新的文法音素單元的字母序列。
9.如權(quán)利要求8所述的計算機可讀媒質(zhì),其特征在于,組合文法音素還包括組合所述文法音素的音素以形成所述新的文法音素單元的音素序列。
10.如權(quán)利要求7所述的計算機可讀媒質(zhì),其特征在于,還包括為詞典中的每個單詞標識一組文法音素。
11.如權(quán)利要求10所述的計算機可讀媒質(zhì),其特征在于,還包括使用為詞典中的單詞標識的各組文法音素來訓(xùn)練模型。
12.如權(quán)利要求11所述的計算機可讀媒質(zhì),其特征在于,所述模型描述在單詞中出現(xiàn)的文法音素的概率。
13.如權(quán)利要求12所述的計算機可讀媒質(zhì),其特征在于,所述概率基于單詞中的至少一個其它文法音素。
14.如權(quán)利要求11所述的計算機可讀媒質(zhì),其特征在于,還包括使用所述模型在給定單詞的拼寫時確定所述單詞的發(fā)音。
15.如權(quán)利要求7所述的計算機可讀媒質(zhì),其特征在于,基于所述互信息得分組合文法音素包括對與新文法音素單元相關(guān)聯(lián)的至少兩個互信息得分求和。
16.一種把單詞分割成音節(jié)的方法,其特征在于,所述方法包括使用互信息得分把一組單詞分割成語音音節(jié);使用所分割的單詞組訓(xùn)練音節(jié)n字母組模型;以及使用所述音節(jié)n字母組模型,通過強制對齊把單詞的語音表示分割成音節(jié)。
17.一種把單詞分割成詞素的方法,其特征在于,所述方法包括使用互信息得分把一組單詞分割成詞素;使用所分割的單詞組訓(xùn)練詞素n字母組模型;以及使用所述詞素n字母組模型,通過強制對齊把單詞分割成詞素。
全文摘要
提供了一種把單詞分割成組成部分的方法和裝置。在本發(fā)明中,確定在一組單詞中發(fā)現(xiàn)的文法音素單元對的互信息得分。每個文法音素單元包括至少一個字母。一對文法音素單元的文法音素單元基于所述互信息得分被組合。這形成新的文法音素單元。在本發(fā)明的一個實施例中,音節(jié)n字母組模型基于使用互信息已經(jīng)被分割成音節(jié)的單詞來訓(xùn)練。音節(jié)n字母組模型用于把新單詞的語音表示分割成音節(jié)。類似地,使用互信息形成詞素庫,并訓(xùn)練詞素n字母組,從而可以用于把新單詞分割成詞素序列。
文檔編號G10L13/00GK1667699SQ20051005275
公開日2005年9月14日 申請日期2005年3月10日 優(yōu)先權(quán)日2004年3月10日
發(fā)明者蔣力, M·-Y·黃 申請人:微軟公司