專利名稱:包括無分隔符的塊的文本的自動分塊的制作方法
技術領域:
本發(fā)明涉及對多種語言的文本進行分塊,這種文本包括所撰寫的沒有諸如空格、連字符號等分隔符的塊(chunk)。這種語言的示例如普通話漢語拼音,在這種語言中,塊一般由表意符號代表。
對于語音合成領域的技術人員公知的是,語音元素的“分塊”通常對應于一個詞。除了普通話漢語,還存在其他語言,但是,單個詞可能實際上包括數(shù)個塊這種語言的典型示例是德語,在德語中,存在例如“Patentubereinkommen”這樣的復雜的詞,甚至包括兩個不同的塊,即“Patent”和“Ubereinkommen”寫在單個詞,而沒有分隔符。
但是,將參考普通話漢語描述本說明書的其余部分(但是不應當將此解釋為限制本發(fā)明的應用范圍),因為本發(fā)明可以最有效地應用于該語言。
背景技術:
漢語的書面形式是希望學習該語言的外行的一個基本難題。實際上,漢語“字符”集包括大約45000個表意符號(漢語中的“漢字”)。許多這種表意符號是涉及不再存在的對象并且因此已變得實際無用的詞(由單個字符組成的詞)。當前的估計是要能夠閱讀漢語報紙約4000個表意符號就足夠了。
不管是4000或是40,000個表意符號,在任何情形中這一數(shù)量級都遠大過印歐語系的字符集。
因此,在開發(fā)漢語的文本到語音合成的系統(tǒng)時就遇到了基本困難。實際上,根據(jù)ISO標準,利用包括8位(即,一個字節(jié))的二進制數(shù)字編碼印歐語系的單個字符一般就可行了。相反,對于漢字編碼每個單個表意符號要求至少兩個字節(jié)。
ISO標準未提供這種編碼,但是存在可以解決該問題的替換編碼技術,例如,利用已知的Unicode、GB和BIG5編碼技術。
借助“拼音”可以在一定程度上減輕編碼問題。拼音是一種基于拉丁字母的標音/音譯形式,示出漢字如何發(fā)音。在教導漢語基礎的課本和漢語詞典中提供了拼音標音,同樣許多講漢語的人也認識拼音標音。
漢語普通話的另一個基本特征是在沒有分隔符的情況下書寫表意符號(即,組成語言的塊)。因此,標識語句中的每個單個的詞很不容易,因為每個詞可能實際上由一個或多個漢字組成。
有人可能錯誤地相信通過僅僅每次翻譯一個字符而不考慮某個詞的結束和新的詞的開始就可以輕易地繞過這個問題。
實際上,為了實現(xiàn)可接受的語音合成質量,有必要將文本分解成單個的詞(即使表意符號以拼音形式轉寫)。
這種需要是由于多個因素,-取決于單個表意符號所屬的詞,每個單個的表意符號可能具有不同形式的發(fā)音;-某些音位和語音規(guī)則取決于正確的分詞例如,所謂的音調連音音位(tonal syllables phonologic)規(guī)則提供了這樣的規(guī)則,在出現(xiàn)每個都表達第三音調的兩個音節(jié)時,如果這兩個音節(jié)屬于同一個詞,則前一個音節(jié)將改變其音調;以及-涉及每個詞的信息是必需的,以便準許進行正確的語法和韻律句法(syntactic-prosodic)分析。
總而言之,將文本分塊為塊的高效安排是真正滿足漢語普通話文本到語言合成的基本要求。
將普通話漢語文本分塊為塊的已知解決方案本質上可以劃分為三類,即-純統(tǒng)計算法,例如利用所謂的分類與回歸樹(CART)的那些實現(xiàn),-基于詞匯規(guī)則的算法,以及-組合前述兩種解決方案的算法。
第一種方法(常常被稱作最大匹配分塊或MMS)用于基于給定的詞典將語句分塊成詞,這是通過試圖以數(shù)種方法盡可能最佳地解決涉及給定的適于分解的語句的歧義實現(xiàn)的,從而抽取出不同的詞。
為了解決這種歧義,常常使用啟發(fā)式解決方案,例如最大匹配標準,可能還用其他標準進一步細化該標準。最大匹配基于對這樣的實事的認識作為一般的規(guī)則,給定表意符號序列屬于詞典中的單個詞的概率比該序列對應于文本中的連結的多個更短的詞的概率高。
在最簡單的版本中,算法從語句的開始借助于其自己的詞典搜索由最多數(shù)目的表意符號組成的詞。在定位這種詞后,算法立即對緊接剛定位的詞的表意符號進行分析,從而開始再次搜索。
混合方法提供與每個詞關聯(lián)的固定成本。該成本由下述因素分配可以與在給定的語言中詞出現(xiàn)的頻率相關的度量,或者詞所屬的語法類別可以在語句的句法上下文中出現(xiàn)的概率。
在對給定的語句定義的各種類型的分塊中,選出具有最小成本的一種。
這些現(xiàn)有方法的示例例如R.Sproat等的文章“A StochasticFinite-State Word-Segmentation Algorithm for Chinese”,Computational Linguistics,Volume 22,Number 3,1997的第378~402頁,以及US-A-6173252。
具體地說,在Sproat等的文章中公開的安排提供了所應用的成本函數(shù),該成本函數(shù)與各自的詞匯中的給定的詞的出現(xiàn)頻率成反比。
相反,US-A-6173252中的安排本質上是基于句法類型的,即是這樣的類型的,在該類型中,所使用的成本/權重函數(shù)與下述內容相關,所述內容是與常規(guī)字典中的詞一起作為普通分塊單元的通常所犯的錯誤串、人名、地點和組織、數(shù)字、以及數(shù)字的組合和測量詞匯。
發(fā)明內容
因此,需要改進用于包括無分隔符的塊的語言(例如普通話漢語)的文本到語言合成的解決方案。
本發(fā)明的目的是提供一種改進的布置。
根據(jù)本發(fā)明,利用具有在下述各個方面中要求的特征的方法實現(xiàn)了該目的。
本發(fā)明還涉及根據(jù)這種方法工作的分塊器,該分塊器優(yōu)選采用適當編程的通用計算機形式。因此,本發(fā)明還涉及可加載到計算機存儲器中的計算機程序產品,該計算機程序產品包括軟件代碼部分,用于該產品在計算機上運行時執(zhí)行本發(fā)明的方法。另外,本發(fā)明覆蓋包括前述分塊器的文本到語言合成系統(tǒng)。
本發(fā)明的一個顯著特征在于使用不同于現(xiàn)有技術的度量。具體地說,本發(fā)明考慮每個單個的詞的語義上下文。這樣,對文本中的語句進行分塊取決于前面的語句(提供語義相關性存在),并且分配給每個詞的成本作為在前面的分塊中發(fā)現(xiàn)的詞的函數(shù)而變化。
這樣獲得的所有分解可以從而被映射到網格或矩陣,其中每個元素由詞加該詞的成本組成。然后,例如使用動態(tài)編程挑選出具有最低成本的分塊。
下面將參考附圖描述本發(fā)明。
圖1到圖4每個都由包含在這里公開的安排中執(zhí)行的步驟序列的流程圖組成。以及圖5是對應系統(tǒng)的示意性基本框圖。
具體實施例方式
通過介紹,將提供這里所公開的安排的基本概念的一般描述。
簡言之,這里所公開的文本到語言合成安排是基于詞典方法的,該詞典方法基本上與最大匹配方法相關。
作為第一步驟,根據(jù)某些基本規(guī)則輸入文本被細分為語段(syntagm),其中語段是文本的一部分,例如由標點符號定界的語句。此后每個語段按順序被發(fā)送到分塊模塊。
更具體地說,從語段中的第一表意符號(即,塊)開始,搜索對應于所定義的規(guī)則(例如,日期、小時等)的“特定”序列。如果這種序列被定位出,則給這種序列分配明確的成本。
還搜索以該表意符號開始的詞典中的最長的詞,然后搜索第二長的詞,等等,直至以該表意符號自身結束的詞。
在詞典中發(fā)現(xiàn)的那些詞都具有相同的成本(例如等于5的成本),比分配給特定序列的成本(例如等于3的成本)高。對于根據(jù)基本規(guī)則搜索或在詞典中搜索都未定位(即,發(fā)現(xiàn))的那些詞,分配相對于前述成本較高的成本。
以此方法,創(chuàng)建一種具有和語段中的表意符號一樣多的列的網格或者說矩陣,從而表意符號可以與每列相關聯(lián)。行數(shù)隨列而變,并且對應于在詞典中定位出的以對應于該列的表意符號作為第一表意符號的詞的數(shù)目。
如果未發(fā)現(xiàn)從給定列開始的詞,則行數(shù)固定(存在某些例外),并且包括單一長度的詞,然后是具有后續(xù)表意符號的詞,等等,直到給定的長度。
在所提供的下面的示例中,在漢語表意符號的位置,拉丁字符例如A、B、C、D等被用作包括要分塊的語段的各個元素的代表。
假定包括大量虛構的詞的詞典Lex可用Lex =(A,ABC,BC,CD,CDAC,D)并且考慮語句ABCDACEFD。
網格或矩陣將如下布置
在指定的位置6和7處未發(fā)現(xiàn)詞,從而給在列6和7中的那些詞分配隨著長度增加而增加并且比分配給在詞典中發(fā)現(xiàn)的具有相同長度的詞的成本高的成本。
在該示例中,在幾乎所有漢語的語句中都是這種情形,各種可能的分塊例如是ABC-D-A-EF-D或AB-CDAC-E-F-D。
這里公開的布置查找具有最低成本的序列。這優(yōu)選是通過動態(tài)編程實現(xiàn)的,一旦創(chuàng)建了網格或矩陣,就可以輕易地借助這種動態(tài)編程。與確定所有可能的序列和各個成本的“蠻力(brute force)”方法相比,動態(tài)編程節(jié)省大量計算。
從語句/語段的最后位置(例如位置8)開始,針對列中的每個詞搜索具有最低成本的序列。參考前述示例,這是從D開始。
給定由行j和列i標識的詞(下文簡稱Wi,j),從Wi,j開始的最低成本序列由下述公式給定MincostWi,j=Min(k){CostWi,j+MinCostW(i+lengthWi,j),k}可能存在這樣的情形,在這些情形中,可能存在從詞Wi,j開始的數(shù)個具有相同成本的情形,尤其是如果該詞在語段的末尾。
在這種情形中,至少兩種啟發(fā)式方法可用來選擇序列。第一種方法是選擇具有較長第一詞的序列。替換方法是選擇具有較低長度變化的序列。
現(xiàn)在將進一步通過解釋把剛描述的布置與基于(純)詞典方法工作的解決方案相比較。
作為示例,將參考前面所用的相同詞典,使用最大匹配法對語句/語段ABCDAC分塊。
實際上,所討論的序列僅可以以一種方式被分塊,即AB-CDAC。但是,最大匹配解決方案一般會定位不完整的序列ABC-D-A,并且此后在未定位出正確序列的情況下停止。
當然,借助于回溯(backtrack)步驟可以消除這種缺陷,但是這會帶來極大的計算復雜性負擔,從而將給當前認為是最大匹配方法的強項的內容帶來不利影響。
已知的MMS布置本質上是利用最大匹配啟發(fā)式概念的基本算法。
這種方法的示例是所謂的MMSEG(關于MMSEG的一般信息參考例如Chih-Hao Tsai的文章“MMSEGA Word IdentificationSystem for Mandarin Chinese Text Based on Two Variations of theMaximum Matching Algorithm”,該文章在下述網址處可獲得http://input.cpatch.org/cutphase/mmseg.htm)。
MMSEG的確是最有效的利用最大匹配概念的分塊器之一。但是,類似于MMS(盡管具有低的多的概率),該方法也可能無法定位出正確的序列,即使存在一個序列。在這種情形中,回溯也可以代表該問題的解決方案。
具體地說,MMSEG從語段的開頭開始挑選具有最大長度的三個塊的序列中的第一個詞。例如,假定詞典Lex=(A,B,AB,CD,E,EF),并且語句為ABCDEFABCD,MMSEG搜索所有可能的由三個塊的窗口組成的序列,即(1)A-B-CD(2)AB-CD-E(3)AB-CD-EF然后,該方法選擇最長序列(序列3)的第一個詞,該詞對應于AB。
從而,MMSEG實現(xiàn)了良好的結果。但是,除了具有可觀的計算負載之外,它還具有不能考慮所有可能的序列的限制,同時冒著不能以一致的方式應用最大匹配啟發(fā)式標準的風險。
進一步的示例可以參考詞典Lex=(A,AB,BC,CD,DC,EF,GH,I,F(xiàn)GHI)和語句ABCDEFGHI。MMSEG方法將不能定位出詞FGHI,即使該詞包括在可接受的序列(A-CD-DE-FGHI)中。
這里所公開的方法可以消除該缺陷,因為其可以考慮所有可能的序列,而不排除任何序列。在該方法中,避免了不能檢測出根據(jù)最大匹配標準很可能為正確的詞的詞。
所謂的統(tǒng)計算法稍稍不同于具有詞典基礎的那些算法,這是由于它們在對未知的詞(即未包括在訓練集中的詞,例如人名)進行分塊時的改進的特性。這里所公開的方法部分程度上具有相同的缺點,但是可以利用使識別特定記號(例如日期,小時等)更容易的規(guī)則得到補充。
再次說明,這里所公開的方法的一個顯著特征在于所使用的不同于現(xiàn)有技術的度量。
具體地說,這里所公開的方法考慮每個單個詞的語義上下文。從而使得對文本中的語句進行分塊依賴于前面的語句(假設存在語義相關性),并且分配給每個詞的成本作為在前面的分塊中發(fā)現(xiàn)的詞的函數(shù)而變化。
這樣獲得的所有分解可以從而被映射到網格或矩陣,其中每個元素由詞和該詞的成本組成。然后,例如通過動態(tài)編程挑選出具有最低成本的分塊。
現(xiàn)在轉到圖1到圖4的流程圖,假定這里所公開的分塊器接受用Unicode系統(tǒng)(或者類似的系統(tǒng))編碼的文本作為輸入,這種文本被細分為段落,段落然后被細分為“語段”,語段是用特定字符序列(例如,后接空白或新行的句號或逗號、驚嘆號或問號、兩個表意符號之間的空白等)定界的文本串。
在圖1中,步驟100一般指示文本被輸入到系統(tǒng)的步驟,而步驟110是檢查正處理的文本是否為空的步驟。如果為空則過程在步驟160中結束。
否則,從文本中抽取出段落,并且加載到緩沖器A(圖5)中。這發(fā)生在步驟120中。
在步驟130中,檢查緩沖器A確認其是否為空。
如果緩沖器A不空,則抽取出語段并將其插入到緩沖器B中。這發(fā)生在步驟140中,此后系統(tǒng)再次上行到步驟110。
如果緩沖器A為空,則系統(tǒng)前進到步驟150,然后上行返回到步驟130。
一旦語段被插入到緩沖器B,系統(tǒng)返回到步驟130,就意味著發(fā)生了步驟140,步驟140是等待步驟,其是要確定緩沖器B中的所有語段都已被分塊器處理,在清空緩沖器B后,返回到步驟110。
本領域的技術人員將馬上理解,將文本細分為段落并非嚴格必需的。實際上,整個輸入文本可以看作單個段落。
一旦緩沖器B填滿了當前段落的語段,在步驟200(圖2)中抽取每個單個語段,此后,在步驟210中,檢查緩沖器B以確認其是否為空。如果為空,則在步驟220中清空動態(tài)詞典(見下面),然后返回到步驟160。如果步驟210出現(xiàn)否定結果,則如步驟230所示例,系統(tǒng)進行適當?shù)胤纸?,以分解成詞。
圖3的流程圖的輸入是單個語段,由300來表示。在步驟304中,設置指向語段的第一個字符的指針(INDX)(設置為0的指針)。
在步驟308中,搜索從指針I(yè)NDX指定的位置中的表意符號開始的最長可能串。
在這種搜索中,所謂的“特定”塊被搜索這些塊例如包括日期、小時、數(shù)字(作為表意符號的和作為拉丁字符的)以及不同于表意符號的那些字符序列。
在步驟312中,如果該搜索結果為肯定,則新的塊被添加到緩沖器C(再次參見圖5),該新塊具有關聯(lián)的對應固定成本CF。這發(fā)生在步驟316中。
相反,如果搜索得到否定結果(步驟312的否定輸出),則系統(tǒng)直接前進到步驟320,在該步驟中執(zhí)行新搜索。
在該階段中,如果給定的表意符號不是最后的表意符號的話,則從文本抽取出的串包括在指針I(yè)NDX指定的位置中的表意符號直到該給定的表意符號(例如第十一個表意符號)之間。如果相反,則該串是INDX到該語段末尾之間的一個。
在包括在靜態(tài)詞典中的詞中搜索這樣獲得的串。
如果搜索得到肯定結果,則所定位出的詞與其自己的成本一起被寫到緩沖器C中,其中該成本等于CM表示的常量值(該值一般比CF高)。隨后,通過去除右端的最后一個表意符號來縮短串,然后重復該搜索。
一旦該搜索完成,則通過插入在此期間定位出的所有的詞與它們的成本(即,CM),從而更新緩沖器C。這發(fā)生在步驟324中。
然后,在步驟328中,如果這兩個搜索中的至少一個得到了肯定結果,則系統(tǒng)前進到步驟332。否則,系統(tǒng)直接進行到步驟344。如果出現(xiàn)在緩沖器C中的每個詞出現(xiàn)在SLEX中并且該詞的長度至少為兩個字符,則該詞的成本被更新為SLEX中的對應的成本。
在步驟332中,在前面的語段中出現(xiàn)的已定位的詞的數(shù)目(NOL)以及所有已定位的詞的計數(shù)(NW)的值被更新。
步驟336對應于更新動態(tài)詞典(SLEX)的步驟,該步驟將在下面參考圖4的流程圖更詳細地解釋。
隨后,在步驟340中,如果搜索都未得到結果,由在指針I(yè)NDX指定的位置中的單個表意符號組成的詞與成本CS一起被加載到緩沖器C中,其中成本CS比CM高。仍舊在步驟340中,緩沖器C的中的所有詞被傳送到網格或矩陣RET(其對應于前面所述的表)的由指針I(yè)NDX指定的列。
此后,在步驟344中,指針I(yè)NDX被加1,并且在步驟348中檢查結果值是否超出語段的最后的表意符號。
如果未超出,則刷新動態(tài)詞典SLEX,其中每個條目的所有成本都被增加一個常量值,同時消除具有比CM高的成本的塊。這發(fā)生在步驟352中。
相反,如果更新后的INDX值超出語段中的最后的表意符號,則在步驟356中,刷新動態(tài)詞典,同時將NOL、NW和INDX的值重置為0。此時,系統(tǒng)返回到步驟200。
圖4的圖詳細示出了動態(tài)詞典SLEX的更新過程。
在步驟410中,在動態(tài)詞典中搜索緩沖器C中包含的每個單個的詞(在步驟400中定位出的),在開始處理新段落時動態(tài)詞典被完全清空(步驟420)。
如果該詞已出現(xiàn)在動態(tài)詞典中,則在步驟430中將相對成本減少常量值DC。如果該詞未出現(xiàn)在動態(tài)詞典中,則在步驟440中檢查動態(tài)詞典是否為滿。
如果未滿,則在步驟450中將該詞與減少了值DCI的相對成本(CM或CF)一起插入。
相反,如果動態(tài)詞典SLEX為滿,則在步驟460中檢查是否存在具有比CM高的成本的任何詞。
如果存在,則在步驟470中,用具有在前面的步驟450中定義的成本的新詞替換該詞。
如果不存在這種具有比CM高的成本的詞,則系統(tǒng)直接前進到步驟480。該步驟實質上檢查以確認是否已檢查了緩沖器C中的所有詞。
如果尚未,則系統(tǒng)返回步驟400。相反,如果已檢查了緩沖器C中的所有詞,則系統(tǒng)前進到最后步驟490。
應當理解,動態(tài)詞典中的每個詞的成本永遠不會小于0。
一旦網格或矩陣RET已完成,則要定位最小成本序列。優(yōu)選借助于動態(tài)編程實現(xiàn)該過程。
具體地說,對于網格中的每個詞Wi,j,基于下述公式計算從Wi,j開始的序列的最小成本MincostWi,j=Min(over k){CostWi,j+MinCostW(i+lengthWi,j),k}其中,Mincost表示最小成本,Min表示遍歷K(over k)的最小函數(shù),并且所考慮的長度為詞Wi,j的長度。
如果正處理的詞包含多于兩個表意符號,則CostWi,j所表示的成本因子是NOL對NW的比例的函數(shù),其給出了當前語段與前面的語段的語義相關性的定量的含義。另外,該比例取決于該詞是否已出現(xiàn)在動態(tài)詞典SLEX中而變化。
優(yōu)選地,該函數(shù)定義如下-如果先前該詞未包括在動態(tài)詞典中,則CostWi,j=CSLEX-否則CostWi,j=CSLEX+(Cfs-CSLEX)*(1-NOL/NW)/K在這兩個公式中,CSLEX代表動態(tài)詞典(SLEX)中的詞的成本,而取決于該詞是通過第二搜索(B)還是第一搜索(A)定位出,Cfs等于CMоCF,而K是常數(shù)值。
這些成本涉及每個字符。
本領域的技術人員將立即認識到,圖1到圖4的流程圖直接映射到適于借助于計算機基于圖5示意性示出的體系結構實現(xiàn)的各個分塊器10的對應功能塊,所述計算機例如是專用處理器、或者適于編程的通用計算機/處理器、或者任何等價的數(shù)據(jù)處理結構。
分塊器10適于構成包括由30和40一般示出的其他子系統(tǒng)組件的文本到語言合成系統(tǒng)的基本構造塊。
在這些子系統(tǒng)中(它們本質上是本領域已知的,所以在這里沒必要提供詳細的描述),子系統(tǒng)30包括文本輸入設備,例如OCR閱讀儀、鍵盤/小鍵盤、或者適于將文本例如普通話漢語輸入分塊器10的任何其他文本源。
這種輸入設備可以包括(如果未包括在分塊器10中的話)例如適于使用編碼技術將組成文本的各個元素(即,表意符號)編碼為位串的處理模塊(未示出,但是本領域已知),所述編碼技術例如是ISO標準、或者Unicode、GB或BIG5編碼技術??紤]到分塊器10中的分塊,編碼技術的選擇可能取決于已經過拼音語音音譯(pinyinphonetic transliteration)的表意符號。
標號40表示本質上也是已知類型的整個語音合成系統(tǒng),它適于將在分塊器10內的分塊產生的序列轉換為發(fā)音合成數(shù)據(jù),該數(shù)據(jù)適于生成例如利用揚聲器50發(fā)聲的對應音頻語音信號。
當然,在不對本發(fā)明的內在原理存在偏見的情況下,相對于僅作為示例已描述的內容,細節(jié)和實施例可以顯著改變,而不脫離所附權利要求限定的本發(fā)明的范圍。
權利要求
1.一種用于將包括無分隔符書寫的各個元素的文本的語段分塊為塊的方法,所述塊由包括所述各個元素中的至少一個的串組成,所述方法包括下述步驟定義詞典(LEX,SLEX),所述詞典包括一組串,每個串由所述各個元素中的至少一個組成,其中所述詞典中的串至少部分代表所述塊,通過在所述詞典中搜索對應于所述塊中的任何一個的串,從而逐元素(INDX)有序地搜索正被分塊的語段,其中,如果得到肯定搜索結果(312),則一起存儲(C)所定位的對應的塊和關聯(lián)的成本(CM),檢查所定位的塊是否已出現(xiàn)在詞典中(SLEX),如果所定位的塊已出現(xiàn),則降低與其相關聯(lián)的成本,將多個候選分塊序列存儲為所述有序搜索的結果,每個候選分塊序列對應于各自的分塊模式,并且具有關聯(lián)的對應的累積成本,以及選擇具有最低關聯(lián)累積成本的候選序列作為最終分塊結果。
2.如權利要求1所述的方法,其特征在于,在出現(xiàn)兩個具有相同關聯(lián)成本的候選序列時,該方法包括選擇從下述組中選擇出的候選序列作為分塊結果的步驟具有較長第一塊的序列,和具有較低長度變動的序列。
3.如權利要求1所述的方法,其中所述文本中的至少一個語段先前已被分塊,其特征在于該方法包括確定下述至少一個的步驟在當前語段中被定位的、已在所述至少一個先前已分塊的語段中出現(xiàn)的塊的數(shù)目(NOL),和在分塊過程期間已發(fā)現(xiàn)的塊的計數(shù)(NW)。
4.如權利要求3所述的方法,其特征在于基于成本函數(shù)選出具有最小關聯(lián)成本的所述序列,所述成本函數(shù)包括所述塊數(shù)目(NOL)和所述計數(shù)(NW)中的至少一個。
5.如權利要求3所述的方法,其特征在于基于成本函數(shù)選出具有最小關聯(lián)成本的所述序列,所述成本函數(shù)包括所述塊數(shù)目(NOL)和所述計數(shù)(NW)的比例。
6.如權利要求1所述的方法,其特征在于該方法包括在所述逐元素搜索中的每個新步進(INDX)將所述關聯(lián)成本(CM)增加常量值的步驟。
7.如權利要求6所述的方法,其特征在于該方法包括在增加所述關聯(lián)成本(CM)后消除成本比給定閾值(CM)高的那些塊的步驟。
8.如權利要求1所述的方法,其特征在于該方法如果得到肯定搜索結果(312),則包括通過去除搜索到的串的一個末端元素來縮短該串然后在所述縮短后的串基礎上重復搜索的步驟。
9.如權利要求8所述的方法,其特征在于該方法包括通過去除所述串的最右元素從而縮短所述串的步驟。
10.如權利要求1所述的方法,其特征在于該方法包括將所述詞典的至少一部分作為動態(tài)詞典(SLEX)管理的步驟,所述管理包括下述步驟如果所定位出的塊已出現(xiàn)在所述動態(tài)詞典(SLEX)中,則將與其相關聯(lián)的成本降低常量值(DC),如果所定位的塊先前未出現(xiàn)在動態(tài)詞典中,則檢查(440)所述動態(tài)詞典是否為滿,并且i)如果所述動態(tài)詞典未滿,則將所定位的塊和各自的降低了常量值(DCI)的成本(CM,CF)一起存儲到動態(tài)詞典中,ii)如果動態(tài)詞典為滿,則搜索所存儲的具有比給定的成本閾值高的關聯(lián)成本的任何塊,并且如果發(fā)現(xiàn)這種塊,則用新塊替換該塊(450)。
11.如權利要求1所述的方法,其特征在于該方法還包括以下步驟至少將所述詞典(LEX)中的所述串的集合的一部分定義為代表對應于所定義的規(guī)則的特定塊,通過在所述詞典中搜索下述至少一個來逐元素(INDX)搜索正被分塊的語段(A)對應于任何所述特定塊的最長串,其中,如果得到肯定搜索結果(312),則所定位的對應的塊與關聯(lián)的第一成本(CF)一起被存儲(C),(B)對應于所述詞典中的任何其他串的最長串,其中,如果得到肯定搜索結果(324),則所定位出的對應的塊與關聯(lián)的第二成本(CM)一起被存儲(C),所述第二成本(CM)比所述第一成本(CF)高。。其中,如果(A)和(B)情況下的搜索都未得到肯定結果,則用作搜索開始元素的單個元素與關聯(lián)的第三成本(CS)一起被存儲(C),所述第三成本(CS)比所述第二成本(CM)高。
12.如權利要求11所述的方法,其特征在于該方法包括在所述逐元素搜索(A,B)中的至少一個中的每個新步進(INDX),將所述第一成本(CF)、第二成本(CM)和第三成本(CS)增加常量值的步驟。
13.如權利要求12所述的方法,其特征在于該方法包括當所述成本(CF,CM,CS)被增加時,消除成本比給定閾值(CM)高的那些塊的步驟。
14.如權利要求13所述的方法,其特征在于所述給定閾值被選擇為等于所述第二成本(CM)。
15.如權利要求11所述的方法,其中所述文本中的至少一個語段先前已被分塊,其特征在于該方法包括確定下述步驟確定在當前語段中定位的、已在所述至少一個先前已分塊的語段中出現(xiàn)的塊的數(shù)目(NOL)和在分塊過程期間已發(fā)現(xiàn)的塊的計數(shù)(NW),基于成本函數(shù)選出具有最小關聯(lián)成本的所述序列,所述成本函數(shù)定義如下i)如果所定位的塊先前未包括在所述詞典中,則CostWi,j=CSLEXii)否則CostWi,j=CSLEX+(Cfs-CSLEX)*(1-NOL/NW)/K其中,Cfs等于所述第二成本(CM)或所述第一成本(CF),這取決于所考慮的詞是通過所述第二搜索(B)還是所述第一搜索(A)定位的,K為常量值,CSLEX為與所述詞典中的塊Wi,j相關聯(lián)的成本,并且NOL和NW分別是所述數(shù)目和所述計數(shù)。
16.如權利要求1所述的方法,其特征在于該方法還包括使用下述編碼技術中的至少一個將所述各個元素編碼為位串的步驟ISO標準,Unicode,GB或BIG5編碼技術。
17.如權利要求1所述的方法,其特征在于所述各個元素對應于表意符號。
18.如權利要求17所述的方法,其特征在于所述表意符號是普通話漢語表意符號。
19.如權利要求18所述的方法,其特征在于該方法包括在所述語段被分塊前將所述表意符號音譯為拼音語音音譯。
20.如權利要求11所述的方法,其特征在于所述特定塊從包括日期、小時和數(shù)字的組中選出。
21.一種用于將包括無分隔符書寫的各個元素的文本的語段分塊為塊的分塊器(10),所述塊由包括所述各個元素中的至少一個的串組成,所述分塊器包括配置為執(zhí)行權利要求1到20中的任何一個的方法的數(shù)據(jù)處理結構(10;A、B、C、RET)。
22.一種文本到語言合成系統(tǒng)(20),包括文本源(30),用于生成至少一個要被分塊為塊的文本語段,所述語段包括無分隔符書寫的各個元素,所述塊由包括所述各個元素中的至少一個的串組成,分塊器(10),用于接收所述至少一個文本語段,所述分塊器包括數(shù)據(jù)處理結構(10;A、B、C、RET),該數(shù)據(jù)處理結構配置為執(zhí)行權利要求1到20中的任何一個的方法,從而作為最終分塊結果生成所述具有最低關聯(lián)成本的候選序列,以及語音信號發(fā)生器(40,50),用于將分塊得到的所述序列轉換為對應的音頻語音信號。
23.一種計算機程序產品,可加載到計算機存儲器中,并且包括軟件代碼部分,所述軟件代碼部分用于執(zhí)行權利要求1到17中的任何一個的方法的步驟。
全文摘要
包括無分隔符書寫的備個元素的文本的語段被分塊為塊,塊由包括各個元素中的至少一個的串組成,元素例如是普通話漢語的表意符號。定義包括一組串的詞典(LEX,SLEX),每個串由各個元素中的至少一個組成。通過在詞典中搜索對應于塊中的任何一個的串,從而逐元素(INDX)搜索正被分塊的語段。如果得到肯定搜索結果,則一起存儲所定位出的對應的塊和關聯(lián)的成本。檢查所定位出的塊是否已出現(xiàn)在詞典中。如果所定位的塊已出現(xiàn),則降低關聯(lián)到其的成本。從而生成多個候選分塊序列,每個對應于各自的分塊模式,并且具有關聯(lián)的對應累積成本。具有最低關聯(lián)累積成本的候選序列被選擇為最終分塊結果。
文檔編號G06F17/28GK1771494SQ03826551
公開日2006年5月10日 申請日期2003年5月28日 優(yōu)先權日2003年5月28日
發(fā)明者萊昂納多·巴迪諾 申請人:洛昆多股份公司