專利名稱:將語音漢字變換為字符漢字的改進(jìn)方法
專利說明 本發(fā)明涉及將語音漢字自動(dòng)變換為字符漢字的方法。
由于漢語使用數(shù)以千計(jì)的字符這一點(diǎn)和使用26個(gè)字符的英語很不相同,所以現(xiàn)代中文字處理設(shè)備的開發(fā)是一個(gè)實(shí)質(zhì)性問題。顯然,由數(shù)以千計(jì)的鍵構(gòu)成的打字機(jī)鍵盤是不實(shí)際的。
基于使用標(biāo)準(zhǔn)鍵盤的語音(有時(shí)稱為音素)輸入方案常常用來將漢字字符文本輸入到計(jì)算機(jī)或字處理機(jī)。被稱為臺(tái)灣普通話語音系統(tǒng)和中華人民共和國漢語拼音系統(tǒng)的這些方案涉及拼音,例如以下5個(gè)漢字字符 臺(tái)灣有臺(tái)風(fēng) 分別拼音為反映漢字符發(fā)音的5個(gè)單音節(jié) tai2 wnal you3 tai2 feng1 由于這種音素輸入無需專用鍵盤或掌握特殊編碼方案,故有利于其使用。然而,由于發(fā)音漢字音節(jié)數(shù)遠(yuǎn)遠(yuǎn)少于漢字字符數(shù),故存在二義問題。可期望一個(gè)受到良好教育的中國人認(rèn)識(shí)大約6000漢字,而字節(jié)數(shù)約為1200。即,一個(gè)音節(jié)可代表許多不同字符。例如,在漢語拼音的拼寫系統(tǒng)中,以下所有字符發(fā)音為shi4。
是 事 市 式 世 示 士 視 識(shí) 試 適 室 勢 釋 氏 飾 侍 逝 誓 仕 嗜 恃 拭 噬 軾 弒 筮 柿 爽 舐 茌 毫不奇怪,5音節(jié)短語 tai2 wan1 you3 tai2 feng1 拼音成漢語字符可給出21,000(即9x5x6x9x9)不同的字符組合,因?yàn)椤皌ai2”、“wan1”、“you3”、“tai2”和“feng”分別至少表示9、5、6、9、和9個(gè)不同的漢字字符。
如Lin和Tsai在其論文“用松馳技術(shù)消去語音漢字二義性”(“漢語及東方語言的計(jì)算機(jī)處理”1987年5月第1號(hào)第3卷)所述,該論文試圖克服上述二義性問題,提出一種使用被廣泛用于諸如邊緣檢測、曲線檢測及形狀識(shí)別的圖象分析問題中的松馳過程將語音漢字音節(jié)變換為字符漢字的方法。更具體地說,他們用松馳過程獲得通過可能的字符晶格的最優(yōu)路徑,利用字符的語義概率給出相鄰字符和相鄰音節(jié)的音節(jié)和躍遷概率。
已發(fā)現(xiàn)一種較為簡單、同樣有效的用于將語音漢字變換為漢字字符的方法。按照本發(fā)明原理,只通過計(jì)算文本中相鄰漢字字符出現(xiàn)的概率來獲得通過可能的漢字字符晶格的最優(yōu)路徑來進(jìn)行這種變換。
更具體地說,公開了一種用于將文本中n個(gè)語音漢字字符S到Sn變換為漢字符C1和Cn的自動(dòng)方法。按照該方法,對(duì)每個(gè)漢字音節(jié)Si,產(chǎn)生一組漢字字符Ci1和Ciz,集中標(biāo)記為與之對(duì)應(yīng)的Ci1-Z。然后計(jì)算通過可能的漢字字符C11-Z到Cn1-Z的晶格的最優(yōu)路徑以導(dǎo)出與n個(gè)語音漢字音節(jié)S1到Sn對(duì)應(yīng)的最可能的n個(gè)漢字字符C1到Cn。最好按照本發(fā)明的方法計(jì)算該最優(yōu)路徑,即根據(jù)在中文文本語言資料庫中所述相鄰漢字字符有序出現(xiàn)的頻率導(dǎo)出相鄰漢字字符Ci和Ci-1在所述文本中使用概度,將所導(dǎo)出概率連乘,將最大概率路徑選為最優(yōu)路徑。
參考附圖和以下描述,本發(fā)明的其它特性和優(yōu)點(diǎn)是顯而易見的,附圖中
圖1是按照本發(fā)明的方法將漢字音節(jié)變換為漢字字符的變換方法的流程圖; 圖2是提出與每個(gè)特定漢語字節(jié)(S1-S5)相對(duì)應(yīng)的可能漢字字符(C1-C9)的漢字字符矩陣; 圖3公開了與圖2所示的相同的漢字字符矩陣,為便于說明,漢字字符已用英文字母“a”到“h”替換; 圖4是反映代表在漢字字符文本的大型語言資料庫中漢字字符彼此相鄰出現(xiàn)的次數(shù)的矩陣,以及 圖5示出圖4的頻率數(shù)如何用來計(jì)算出通過圖3矩陣的最優(yōu)路徑,從而選出最可能對(duì)應(yīng)于特定漢字音節(jié)的漢字字符。
現(xiàn)在以選擇通過由語言輸入產(chǎn)生的漢字字符晶格的最優(yōu)路徑來說明本發(fā)明。所以考慮以下例子,在該實(shí)例中每個(gè)語音漢字音節(jié)(“tai2”,“wan1”,“you3”,“tai2”,“feng1”)分別指其下面列出的漢字字符之一。即“wan1”指其下面5個(gè)漢字字符之一,而“you3”指其下面6個(gè)漢字字符之一。
tai2 wan1 you3 tai2 feng1
臺(tái)
颱
友
抬 豌 莠 抬 峰
蜿 酉
封 臺(tái) 剜 黝 臺(tái) 鋒
蜂 苔 苔
抬 抬 楓 邰 邰 豐 所圈漢字字符表示很可能通過晶格的路徑,即中文句子“臺(tái)灣有臺(tái)風(fēng)”。
現(xiàn)說明按照本發(fā)明的原理用于選擇上述實(shí)例中最優(yōu)路徑的方法。圖1中步驟1說明本方法起始點(diǎn)為漢字音節(jié)S1到Sn,即在說明性實(shí)例中,為分別對(duì)應(yīng)于漢字音節(jié)“tai2”,“wan1”,“you3”,“tai2”和“feng1”的S1到S5。按照?qǐng)D2的步驟2,對(duì)每個(gè)漢字音節(jié)Si產(chǎn)生表示對(duì)應(yīng)于特定漢字音節(jié)的所有可能漢字字符的的漢字字符C1到Cz,其中對(duì)每個(gè)漢字音節(jié)而言字符“Z”的數(shù)目是變化的?,F(xiàn)參考圖2,示出通過產(chǎn)生這種漢字字符所形成的矩陣,由于“tai2”表示9個(gè)可能字符之一所以“tai2”的“Z”為9,由于“wan1”表示5個(gè)可能字符之一,所以“wan1”的“Z”為5,如所示“you3”的“Z”為6,“feng1”的“Z”為9,因?yàn)椤癴eng1”表示9個(gè)可能字符之一。
按照?qǐng)D1的步驟3,所產(chǎn)生漢字字符形成一矩陣,第一音節(jié)產(chǎn)生的字符構(gòu)成左邊的列Ct而最后音節(jié)(號(hào)n)產(chǎn)生的字符構(gòu)成右邊的列Cn。即可參考圖2中矩陣,“tai2”的漢字字符C1(按圖1步驟3方法標(biāo)號(hào),在該矩陣中實(shí)際上是C11)是“tai2”下的第一個(gè)漢字符號(hào),“tai2”的漢字字符C2(矩陣字符C12)為“tai2”下的第二個(gè)漢字符號(hào),“tai2”的漢字字符C3(矩陣字符C13)為“tai2”下的第三個(gè)漢字符號(hào)等等直到“tai2”的漢字字符C9(矩陣字符C19)為“tai2”下的第九個(gè)漢字符號(hào)。
“wan1”的漢字字符C1為“wan1”下的第一個(gè)漢字符號(hào),由于它是第二字符的第一符號(hào),所以按照?qǐng)D1的標(biāo)號(hào)方案指定為C21。同樣,“wan1”的漢字字符C2為“wan1”下的第二漢字符號(hào)而由于是第二字符的第二符號(hào)所以按圖1標(biāo)號(hào)方案標(biāo)定為C22。最后,“wan1”的最后漢字字符C5為“wan1”下的第5個(gè)漢字符號(hào),由于是第二個(gè)字符的第5符號(hào)所以按圖1的標(biāo)號(hào)方案指定為C25。
最后的符號(hào)“feng1”(即S5)的漢字字符C為“feng1”下的第一個(gè)漢字符號(hào),由于是第5字符的第一符號(hào)所以按圖1標(biāo)號(hào)方案指定為C51。由于它是“feng1”下的第9個(gè)符號(hào),在該矩陣右下角的最后符號(hào)是“feng1”的C9,由于是第5字符的第9符號(hào)故指定為C59。
圖3描述和圖2所示相同的漢字字符矩陣,其中為便于說明以后的對(duì)通過該矩陣的最優(yōu)路徑的選擇,已用英文標(biāo)識(shí)“a”到“h”代替一些漢字符號(hào)。這樣,圖3中的“a”表示圖2中“tai2”下的第一符號(hào),圖3中的“b”表示“tai2”下的第2符號(hào),圖3中的“C”表示圖2中的“wan1”下的第一符號(hào)等等。這些指定是任意的(除了明顯地以相同英文標(biāo)識(shí)指定相同漢字字符)并僅僅用于方便本發(fā)明原理的進(jìn)一步說明。
圖4示出反映漢字文本語言資料庫中相鄰漢字字符(Ci-1,Ci)使用的頻率矩陣。該矩陣可通過大量分析并將有序漢字字符對(duì)的出現(xiàn)次數(shù)記在文本中來得到。又,為便于說明,圖3所用相同的英文字母“a”到“h”再次分別用于標(biāo)識(shí)圖4所示出相鄰漢字字符。字母“i”指中文句子分隔符(中文句點(diǎn))如下文所述用于分隔中文短語的開始和結(jié)束。由于漢字字符數(shù)量相當(dāng)大,圖4僅示出實(shí)際頻率矩陣中的代表性部分,實(shí)際頻率矩陣大約為6000×6000(矩陣,表示6000漢字字符的使用。
圖4示出漢字字符有序?qū)?Ci-1,Ci)在語言資料庫中出現(xiàn)的次數(shù),例如,由于對(duì)Ci-1=a和Ci=a出現(xiàn)數(shù)5,則“aa”對(duì)在語言資料庫中出現(xiàn)5次。同樣地,由于對(duì)Ci-1=a和Ci=b出現(xiàn)數(shù)0則“ab”對(duì)出現(xiàn)零次。另一方面,“ac”對(duì)出現(xiàn)1513次(見Ci-1=a和Ci=b)。很快會(huì)注意到,盡管“ac”對(duì)在中文文本頻繁出現(xiàn)但其倒置即“ca”可能幾乎不出現(xiàn)(例如,圖4中為“1”)。很容易發(fā)現(xiàn),許多對(duì)在語言資料庫中竟未找到,即,例如“ab”,“af”,“ah”,“ba”,“bb”,“bc”等等。
圖4中的字母“i”指中文句子分隔符,用于填在輸入序列的兩端,這樣,“a”為第一字符,有序?qū)?Ci-1,Ci)實(shí)際構(gòu)成“ia”對(duì)。同樣,“a”為最后字符時(shí),有序?qū)?Ci-1,Ci)實(shí)際構(gòu)成“ai”對(duì)。因此,圖4指出“a”為第1字符322次(見Ci-1=i,Ci=a)以及“a”為最后字符只有22次(見Ci-1=a,Ci=i)。
回到圖3,我們的目標(biāo)是使用圖4頻率信息尋找通過9×5矩陣(含C11到C59)的最優(yōu)路徑從而識(shí)別出最有可能對(duì)應(yīng)于5個(gè)漢字音節(jié)“tai2 wan1 you3 tai2 feng1”的5個(gè)漢字字符。更具體地說,有21,870條可能通過矩陣的路徑(即9×5×6×9×9)。一條路徑可以是圖3第一行所示的“aceag”。另一路徑可以是第2行所示的“bdfbh”。當(dāng)然,通過組合第一和第二行,很容易導(dǎo)出其它可能路徑,例如“adfbh”“bdeag”等。事實(shí)上,圖5示出僅對(duì)圖3第一和第二行符號(hào)組合的可能的32個(gè)組合。路徑“aceag”作為圖5的第一路徑列出,“aceah”作為第二路徑列出,“acebg”為第三路徑,……以及“bdfbh”為最后路徑。
圖5在每條路徑右側(cè)也示出用于導(dǎo)出最優(yōu)路徑的頻率計(jì)算。例如,通過對(duì)以下的對(duì)“ia”、“ac”、“ce”、“ea”、“ag”、“gi”在圖4中查找各有序?qū)Φ某霈F(xiàn)頻率,即322、1513、26、25、2、41從而導(dǎo)出第一條路徑“aceag”的頻率計(jì)算(或概率計(jì)算)。然后將這6個(gè)數(shù)連乘,導(dǎo)出使用漢字字符“aceag”的得分,即導(dǎo)出圖1第一行示出的大數(shù)25,967,013,800。僅有的另一可能路徑在第三行示出,即“acebg”,而事實(shí)上,由于計(jì)算出的概率數(shù)30,121,736,088大于任何其它計(jì)算數(shù),因此表示最優(yōu)路徑。這樣,將漢字字符“acebg”選擇來表示由漢字符號(hào)“tai2 wan1 you3 tai2 feng1”確定的漢字字符,以中文說該句子為“臺(tái)灣有臺(tái)風(fēng)”。
以更為數(shù)學(xué)化術(shù)語,通過引用以下公式導(dǎo)出用漢字字符所表示的矩陣的最優(yōu)路徑,其中“C”為漢字字符,P(Ci|Ci-1)為給出前面出現(xiàn)的相鄰漢字字符i-1時(shí),漢字字符i的概率
概念上講,可以枚舉出通過晶格的所有路徑,然后根據(jù)以上公式指出最優(yōu)路徑。當(dāng)然,真正枚舉所有可能路徑在計(jì)算上很是昂貴。然而,如上述公式及前面的討論所指出,通過對(duì)字符的相鄰對(duì)乘盡所有概率(頻率)計(jì)算出完整路徑的得分,因此可大大減少必須用動(dòng)態(tài)規(guī)劃(=viterbi算法)技術(shù)加以考慮的路徑。用形式術(shù)語,注意到對(duì)任何音節(jié)syli,對(duì)每個(gè)Ci,j(一個(gè)漢字字符對(duì)應(yīng)于syli),考慮以Ci,j結(jié)束的所有路徑的得分。然而,注意到只需保持以Ci,j結(jié)束的最優(yōu)路徑。這是因?yàn)?,?dāng)我們繼續(xù)進(jìn)行到下一音節(jié)syli+1并考慮所有字符Ci+1,k,便要對(duì)以字符對(duì)Ci,jCj+1,k結(jié)束的路徑計(jì)算得分(以及以對(duì)應(yīng)于sylisyli+1的其它字符結(jié)束的路徑的得分),通過將該路徑得分與字符對(duì)Ci,jCi+1,k的出現(xiàn)頻率freq(Ci,jCi+1,k)相乘,對(duì)每條以Ci,j結(jié)束的路徑進(jìn)行這種計(jì)算。然而,很清楚,由于相同乘數(shù)freq(Ci,jCi+1,k)用于計(jì)算以對(duì)Ci,jCi+1,k結(jié)束的每條路徑的頻率,即使在執(zhí)行這些計(jì)算之前,我們僅需考慮以Ci,j結(jié)束的最優(yōu)得分路徑,以Ci,jCi+1,k對(duì)結(jié)束的最優(yōu)路徑簡單地就是與字符Ci+1,k拼合的字符Ci,j結(jié)束的最優(yōu)路徑。因此除了通向Ci,j的最佳得分路徑之外放棄所有路徑。這樣與其保持以Ci,j結(jié)束的CC1·CC2……CCi-1路徑(其中CCm是可能對(duì)應(yīng)于sylm的字符個(gè)數(shù)),不如只保持1個(gè)。為了說明,回到圖5,如已提到,通過圖3給出的晶格表示可能路徑的子集。假設(shè)我們的考慮圖5第三行的音節(jié)“wan1”。注意到有4條在圖5中示出的不同的可能路徑,這些路徑以“wan1”的可能的拼音結(jié)束,即 ·“iac”,標(biāo)號(hào)1-8的最終路徑的初始子路徑, ·“iad”,標(biāo)號(hào)9-16的最終路徑的初始子路徑, ·“ibc”,標(biāo)號(hào)17-24的最終路徑的初始子路徑, ·“ibd”,標(biāo)號(hào)25-32的最終路徑的初始子路徑, 按照以上形式描述,因?yàn)椤癷bc”的得分0x0=0,顯然不能和以“c”結(jié)尾的其它路徑即“iac”相比,故可將之消去,路徑“iac”此處得分為322×1513=487,186(注意到,實(shí)際上值0并未使用),而是代之以任意選擇的小數(shù)值常數(shù),這是因?yàn)椴挥绊懕疚挠懻摰募夹g(shù)上原因)。本質(zhì)上來說,無法將較長路徑“ibce”、“ibcf”、分別與“iace”或“iacf”匹敵,這是因?yàn)榇藭r(shí),對(duì)這些路徑計(jì)算得分,將“ce”和“cf”對(duì)的得分與路徑“ibc”和“ica”的得分相乘,因?yàn)橐呀?jīng)知道“ibc”是比“iac”較差的候選,符合“ibce”和“ibcf”分別比“iace”和“iacf”較差的候選。所以可不再進(jìn)一步考慮子路徑“ibc”。以“d”、“iad”和“ibd”結(jié)尾的兩路徑得分為0,原則上可消去這兩條路徑,但實(shí)際上其中之一,此時(shí)為“iad”可留在附近,而在較后步驟中刪去。這時(shí),我們已刪去兩條路徑-“ibc”和“ibd”,并剩余兩條-“iac”和“iad”。繼續(xù)到圖5第四列的音節(jié)“wan1”,我們須考慮以下可能的路徑 ·“iace”,標(biāo)號(hào)1-4的最終路徑的初始子路徑, ·“iacf”,標(biāo)號(hào)5-8的最終路徑的初始子路徑, ·“iade”,標(biāo)號(hào)9-12的最終路徑的初始子路徑, ·“iadf”,標(biāo)號(hào)13-16的最終路徑的初始子路徑, 在以“e”結(jié)束的路徑中,即“iace”和“iade”,前者數(shù)值為322×1513×26=12,666,836而后者數(shù)值為322×0×0=0,所以在進(jìn)一步考慮時(shí)刪“iade”。在以“f”結(jié)尾的路徑中,即“iacf”和“iade”其值均為0(分別為322×1513×0和322×0×0),實(shí)際上,如上所述將其中之一,此例為“iacf”置于一邊。此時(shí)僅保留兩條路徑“iace”和“iacf”而消去6種其它可能性,在該步中消去“iade”“iadf”,而由于在前面步中消去了“ibc”和“ibd”即消去了“ibce”、“ibcf”、“ibde”、“ibdf”。
在說明性實(shí)施例中所用的圖4的頻率統(tǒng)計(jì)是從中文報(bào)紙文本中總體上260萬語言資料庫中導(dǎo)出的。兩個(gè)相鄰漢字字符出現(xiàn)概率的評(píng)估可通過將序列出現(xiàn)頻率被語言資料庫大小相除而得出。然而,由于這樣導(dǎo)出的所有概率評(píng)估表示被語言資料庫大小相除的頻率,所以實(shí)際上可從計(jì)算中消去語言資料庫大小,因?yàn)樗挥绊懽畲笾?這樣在本發(fā)明方法的以上說明性描述中使用頻率而不是評(píng)估概率)。
為評(píng)價(jià)本方法有效性,選擇不同長度的7種短文本樣本,代表從非常正規(guī)到口語的各種寫作風(fēng)格,這七種樣本為 1)廣告(正規(guī)) 2)報(bào)告(正規(guī)) 3)從訓(xùn)練組得到的報(bào)紙的社會(huì)評(píng)論(半正規(guī)) 4)散文(較口語) 5)敘述文(較大語) 6)短篇小說(口語) 7)述評(píng)(口語) 通過每個(gè)音節(jié)的正確字符的百分比(命中率),在如下表格中給出本方法的性能,在第三列說明了本方法的命中率并與由第二列給出的命中率相比較,該第二列的命中率是僅挑出給出發(fā)音的最常用字符所得到的。
風(fēng)格 僅用語義概率 本方法 1)(正規(guī)) 76% 93% 2)(正規(guī)) 73 90% 3)(半正規(guī)) 76% 98% 4)(較口語) 69% 73% 5)(較口語) 72% 86% 6)(口語) 71% 89% 7)(口語) 71% 92% 總計(jì) 73% 90% 這些數(shù)據(jù)表明對(duì)風(fēng)格的相關(guān)性,本訓(xùn)練語言資料庫風(fēng)格上十分正規(guī),因?yàn)槠浯蟛糠秩∽詧?bào)紙。作為一結(jié)果,其風(fēng)格正規(guī)的文本(1-3)比較口語文本效果好,除了第7)種風(fēng)格,如果訓(xùn)練語言資料庫擴(kuò)展以包括其它風(fēng)格,該風(fēng)格相關(guān)性會(huì)變換較少。
本發(fā)明的其它改型和應(yīng)用對(duì)本領(lǐng)域技術(shù)人員是顯然的,并包括于本發(fā)明精神及范圍內(nèi)。
權(quán)利要求
1、一種用于將文本中n個(gè)語音漢字音節(jié)S到S變換為n個(gè)漢字字符C1到Cn的自動(dòng)方法,包含以下步驟
對(duì)每個(gè)漢字音節(jié)Si產(chǎn)生可能與之對(duì)應(yīng)的一組漢字字符Ci1到Ciz,總的表示為Ci1-z,
計(jì)算通過可能的漢字字符C11-E到Cn1-E晶格的最優(yōu)路徑以導(dǎo)出最有可能對(duì)應(yīng)于n個(gè)語音漢字音節(jié)S1到Sn的n個(gè)漢字字符C1到Cn。
所述方法的特征在于
所述計(jì)算步驟包括根據(jù)中文文本語言資料庫中所述相鄰漢字字符的有序出現(xiàn)頻率,導(dǎo)出在所述文本中使用相鄰漢字字符Ci和Ci-1的概率,將導(dǎo)出概率連乘,以及選擇最高概率的路徑為所述最優(yōu)路徑。
2、如權(quán)利要求1所述的方法,其特征在于用動(dòng)態(tài)規(guī)劃技術(shù)實(shí)現(xiàn)所述計(jì)算步驟。
3、如權(quán)利要求1所述的方法,其特征在于所述中文文本語言資料庫包含代表一種或多種漢語風(fēng)格的一個(gè)或多個(gè)中文文本的語言資料庫。
全文摘要
通過計(jì)算漢字文本中出現(xiàn)相鄰漢字字符的概率,判定通過漢字字符可能組合晶格的最優(yōu)路徑來實(shí)現(xiàn)將語音漢字變換為字符漢字的一種方法。
文檔編號(hào)G06F17/28GK1059977SQ9110891
公開日1992年4月1日 申請(qǐng)日期1991年9月9日 優(yōu)先權(quán)日1990年9月10日
發(fā)明者R·W·斯普羅特 申請(qǐng)人:美國電話電報(bào)公司