專利名稱:一種語音輸入和拼音輸入相結(jié)合的中文輸入法產(chǎn)品的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及中文輸入法,尤其涉及移動(dòng)電話中的中文輸入法。
背景技術(shù):
無論是在PC機(jī)上還是在移動(dòng)電話上,由于拼音輸入法的簡單易學(xué)等特點(diǎn),超過一 半的中文輸入法用戶使用拼音輸入法。而中文語音輸入法是更為自然的輸入方法。它通過語音識(shí)別和中文文本信息處理 等技術(shù)來實(shí)現(xiàn)語音到文本的轉(zhuǎn)換。由于語音輸入存在應(yīng)用場合等限制,中文語音輸入法不 可能完全替代其他輸入法。另外,目前的中文語音輸入法的識(shí)別率并不完美,并且還沒有能 夠很好地解決識(shí)別帶方言口音的普通話的問題。
發(fā)明內(nèi)容
本發(fā)明的目的是為了給用戶同時(shí)提供語音輸入和拼音輸入功能的中文輸入法,并且可以通過拼音輸入功能提高語音輸入的識(shí)別率,還可以通過拼音輸入功能來幫助解決識(shí) 別帶方言口音的普通話的問題。為了實(shí)現(xiàn)上述目的,本發(fā)明提供了 一種語音輸入和拼音輸入相結(jié)合的中文輸入法 產(chǎn)品。該產(chǎn)品從外部接收信號(hào)進(jìn)行相應(yīng)的處理,從而最終將接收信號(hào)轉(zhuǎn)換為漢字。其特征在于包括同時(shí)具有語音輸入功能和拼音輸入功能。用戶可以單獨(dú)使用拼音輸入功能。用戶可以單獨(dú)使用語音輸入功能。上述產(chǎn)品中,在用戶使用語音輸入功能的過程中,用戶可以通過拼音輸入來限制 搜索語音模板的范圍,從而提高語音輸入的識(shí)別率。上述產(chǎn)品中,在用戶使用語音輸入功能的過程中,用戶可以通過拼音輸入給出期 望的漢語拼音方案中的音節(jié),并且無需再次錄音即可直接訓(xùn)練與期望的漢語拼音方案中 的音節(jié)相對(duì)應(yīng)的語音模板,從而產(chǎn)生更加適應(yīng)用戶發(fā)音的語音模板來提高語音輸入的識(shí)別率。由于用戶可以單獨(dú)使用拼音輸入功能,因此,該產(chǎn)品能符合拼音輸入法用戶的使 用習(xí)慣。由于用戶可以通過拼音輸入功能訓(xùn)練語音模板來適應(yīng)用戶發(fā)音,因此,該產(chǎn)品可 以通過訓(xùn)練來識(shí)別用戶帶方言口音的普通話。
圖1是本發(fā)明的實(shí)施方式用于語音輸入和拼音輸入相結(jié)合的中文輸入法的產(chǎn)品 的開發(fā)環(huán)境。圖2是本發(fā)明的實(shí)施方式用于語音輸入和拼音輸入相結(jié)合的中文輸入法的產(chǎn)品的流程圖。圖3是本發(fā)明的實(shí)施方式用于語音輸入和拼音輸入相結(jié)合的中文輸入法的產(chǎn)品的用戶界面。圖4是本發(fā)明的實(shí)施方式用于語音輸入和拼音輸入相結(jié)合的中文輸入法的產(chǎn)品的示意結(jié)構(gòu)圖。
具體實(shí)施例方式下面將結(jié)合附圖對(duì)本發(fā)明的實(shí)施方式進(jìn)行詳細(xì)描述。圖1是本發(fā)明的實(shí)施方式用于語音輸入和拼音輸入相結(jié)合的中文輸入法的產(chǎn)品 的開發(fā)環(huán)境。移動(dòng)電話解決方案101是采用TI公司的0MAP850-201MHZ智能手機(jī)解決方案。操作系統(tǒng)102是采用微軟公司的Windows 6 Professional CE智能手機(jī)操作系 統(tǒng)。中文輸入法103是本發(fā)明的實(shí)施方式用于語音輸入和拼音輸入相結(jié)合的中文輸 入法的產(chǎn)品。為了更清楚的反映本發(fā)明的原理和實(shí)質(zhì),語音輸入僅涉及漢語拼音方案中的 404個(gè)單音節(jié)的孤立詞的語音識(shí)別,每個(gè)孤立詞只對(duì)應(yīng)一個(gè)單音節(jié),每一個(gè)單音節(jié)對(duì)應(yīng)一個(gè) 語音模板;拼音輸入僅涉及漢語拼音方案中的404個(gè)單音節(jié)的單字輸入,不包括多音節(jié)短 語和整句輸入。應(yīng)用程序104是文本編輯控件,它可以直接演示本發(fā)明的實(shí)施方式的結(jié)果。圖2是本發(fā)明的實(shí)施方式用于語音輸入和拼音輸入相結(jié)合的中文輸入法的產(chǎn)品 的流程圖。該流程開始于步驟201,即從操作系統(tǒng)捕捉鍵盤事件。然后,在步驟202,WindoWS 核心庫處理消息。在步驟203,針對(duì)鍵盤事件,判斷系統(tǒng)消息的類型。當(dāng)消息類型是拼音按鍵消息,則 流程進(jìn)入步驟204 ;當(dāng)消息類型是錄音按鍵消息,則流程進(jìn)入步驟210 ;當(dāng)消息類型是功能 按鍵消息,則流程進(jìn)入步驟214。在步驟204,有限狀態(tài)機(jī)根據(jù)不同的拼音按鍵消息發(fā)生狀態(tài)轉(zhuǎn)移或者保持原來的 狀態(tài)。有限狀態(tài)機(jī)的每一個(gè)狀態(tài)可對(duì)應(yīng)一個(gè)或多個(gè)的拼音組合。這里的拼音組合只限于漢語拼音的單音節(jié)字符串或者不完整的單音節(jié)字符串。參見圖3本發(fā)明的實(shí)施方式用于語音輸入和拼音輸入相結(jié)合的中文輸入法的產(chǎn) 品的用戶界面。用戶界面包含8個(gè)拼音鍵,分別是£11^,(1時(shí)41^,」1^1,111110,?91^,丨抓,^又2。在步驟205,根據(jù)有限狀態(tài)機(jī)的狀態(tài),輸出一個(gè)或多個(gè)拼音組合。用戶可以從圖3 中的拼音顯示窗口中選擇某一個(gè)拼音組合。在步驟206,判斷是否處于錄音狀態(tài)。如果是的話,則流程進(jìn)入步驟213 ;否則進(jìn)入 步驟207。在步驟207,字音轉(zhuǎn)換引擎把拼音轉(zhuǎn)換成漢字,并按照高頻先見的原則排列。在步驟208,在拼音輸入的情況下,拼音顯示窗口顯示有限狀態(tài)機(jī)的當(dāng)前狀態(tài)下的 一個(gè)或多個(gè)拼音組合;在語音輸入的情況下,拼音顯示窗口顯示排序后的單音節(jié)序列。漢字 顯示窗口顯示上述某個(gè)拼音組合所對(duì)應(yīng)的按照高頻先見原則下的漢字。由于拼音顯示窗口既可以顯示拼音輸入的結(jié)果,又可以顯示語音輸入的結(jié)果,這樣的用戶界面設(shè)計(jì)可以將語音輸入和拼音輸入緊密的結(jié)合起來。在步驟209,對(duì)漢字顯示窗口中的漢字進(jìn)行選擇,直接輸入漢字到應(yīng)用程序。在步驟210,雙緩存音頻存儲(chǔ)方案是使用兩塊內(nèi)存進(jìn)行音頻的采集和存儲(chǔ)。當(dāng)某個(gè) 內(nèi)存裝滿時(shí),系統(tǒng)就會(huì)發(fā)出MM_WIM_DATA消息,該消息處理函數(shù)馬上更換另一塊內(nèi)存。這種 方案的優(yōu)點(diǎn)在于無需指定固定的錄音時(shí)間,只要該消息處理函數(shù)檢測(cè)到停止錄音的條件, 就可以自動(dòng)停止錄音,參見宋坤,劉銳寧,馬文強(qiáng)所著,“Visual C++視頻技術(shù)方案寶典”。當(dāng)用戶按下錄音鍵時(shí),系統(tǒng)就會(huì)發(fā)出錄音鍵消息,然后消息處理函數(shù)就會(huì)打開錄音設(shè)備,并開始啟動(dòng)雙緩存音頻存儲(chǔ)方案。當(dāng)某個(gè)內(nèi)存裝滿時(shí),系統(tǒng)就會(huì)發(fā)出MM_WIM_DATA 消息,該消息處理函數(shù)馬上更換另一塊內(nèi)存進(jìn)行錄音,然后把這一塊內(nèi)存的數(shù)據(jù)讀入緩沖 區(qū),再進(jìn)入步驟211。在步驟211,對(duì)緩沖區(qū)內(nèi)的音頻采樣數(shù)據(jù)進(jìn)行端點(diǎn)檢測(cè)和特征提取。端點(diǎn)檢測(cè)可以 設(shè)置語音結(jié)束的標(biāo)志。當(dāng)某個(gè)內(nèi)存裝滿時(shí),系統(tǒng)就會(huì)發(fā)出MM_WIM_DATA消息。如果該消息 處理函數(shù)沒有檢測(cè)到語音結(jié)束的標(biāo)志時(shí),那么該消息處理函數(shù)馬上更換另一塊內(nèi)存繼續(xù)錄 音,即轉(zhuǎn)回步驟210 ;否則進(jìn)入步驟212。關(guān)于端點(diǎn)檢測(cè),參見ITU-T Rec. G. 729,Annex B,A silence compression scheme for G. 729 optimized forterminals conforming to ITU-T V. 70.關(guān)于特征提取,采用 了線性預(yù)測(cè)倒譜系數(shù)(LPCC),參見 L. R. Rabiner 和 B. -H. Juang 所著"Fundamentals of Speech Recognition.,,。在步驟212,語音識(shí)別引擎利用DTW算法得到特征參數(shù)與語音模板的距離,參見 L R. Rabiner 禾口 B· -H. Juang 所著"Fundamentals of Speech Recognition.,,。在步驟213,利用排序算法對(duì)各個(gè)語音模板與特征參數(shù)的距離進(jìn)行排序。當(dāng)有限狀 態(tài)機(jī)的狀態(tài)為初始狀態(tài),即該狀態(tài)不對(duì)應(yīng)任何拼音組合,排序范圍包括404個(gè)單音節(jié)對(duì)應(yīng) 的模板;當(dāng)有限狀態(tài)機(jī)的狀態(tài)對(duì)應(yīng)一個(gè)或多個(gè)拼音組合時(shí),先通過字符串匹配的方法篩選 出以該狀態(tài)對(duì)應(yīng)的拼音組合的字符串開頭的單音節(jié),然后對(duì)匹配的單音節(jié)對(duì)應(yīng)的模板進(jìn)行 排序。這樣就有效地限制搜索語音模板的范圍,從而提高了語音識(shí)別的識(shí)別率。在步驟214,判斷是否是訓(xùn)練按鍵消息,參見圖3中訓(xùn)練按鍵在用戶界面上的位 置。如果是的話,則流程進(jìn)入步驟215 ;否則進(jìn)入步驟217。在步驟215,判斷是否指定單音節(jié)并且已錄音。如果是的話,則流程進(jìn)入步驟216 ; 否則進(jìn)入步驟201。在步驟216,由于指定了單音節(jié),從而指定了語音模板。由于已錄音,從而提取了特 征參數(shù)。由于描述的語音輸入僅涉及404個(gè)漢語單音節(jié)的孤立詞,從而可以用特征參數(shù)直 接替換原來的漢語單音節(jié)的語音模板。因此,用戶可以通過拼音輸入給出期望的單音節(jié),并 可以使用戶無需再次錄音即可直接訓(xùn)練與期望的單音節(jié)相對(duì)應(yīng)的語音模板,從而產(chǎn)生更加 適應(yīng)用戶發(fā)音的語音模板來提高語音輸入的識(shí)別率。如果采用HMM模型的話,可以將原來 的語音模板作為HMM訓(xùn)練時(shí)的初始參數(shù),用提取的特征參數(shù)對(duì)HMM模型進(jìn)行訓(xùn)練并更新語 音模板,參見 L. R. Rabiner 禾口 B.-H. Juang 所著"Fundamentals of Speech Recognition·,,。在步驟217,對(duì)拼音組合或字的翻頁進(jìn)行處理。由于有限狀態(tài)機(jī)的某個(gè)狀態(tài)可能對(duì) 應(yīng)多個(gè)拼音組合,因此,需要選擇拼音顯示窗口內(nèi)的拼音組合。在語音輸入的情況下,拼音 顯示窗口會(huì)顯示排序后的單音節(jié)序列,由于語音識(shí)別率還不能達(dá)到100%,因此,有時(shí)需要選擇拼音顯示窗口內(nèi)的單音節(jié)。如果拼音顯示窗口不能容納對(duì)應(yīng)的多個(gè)拼音組合,那么可 以對(duì)拼音顯示進(jìn)行翻頁處理。另外,由于漢語拼音中普遍存在同音字的現(xiàn)象,因此,需要選 擇漢字顯示窗口內(nèi)的漢字。如果漢字顯示窗口不能容納對(duì)應(yīng)的多音字,那么可以對(duì)漢字顯 示進(jìn)行翻頁處理。圖3是本發(fā)明的實(shí)施方式用于語音輸入和拼音輸入相結(jié)合的中文輸入法的產(chǎn)品 的用戶界面。由圖3和本發(fā)明的實(shí)施方式可知,該產(chǎn)品同時(shí)具有語音輸入功能和拼音輸入功能。如果用戶不使用錄音和訓(xùn)練按鍵,那么用戶也可以只用拼音按鍵和功能按鍵使用 拼音輸入功能,從而用戶可以單獨(dú)使用拼音功能。如果用戶不使用拼音按鍵,那么用戶也可以只用錄音按鍵和功能按鍵使用語音輸 入功能,從而用戶可以單獨(dú)使用語音輸入功能。圖4是本發(fā)明的實(shí)施方式用于語音輸入和拼音輸入相結(jié)合的中文輸入法的產(chǎn)品 的示意結(jié)構(gòu)圖。錄音設(shè)備401用于采集和存儲(chǔ)音頻信號(hào),該產(chǎn)品中采用了 8K采樣率,16位,單聲道 的參數(shù)設(shè)置。當(dāng)用戶按壓錄音按鍵時(shí),錄音設(shè)備開始錄音。該產(chǎn)品采用了雙緩存音頻存儲(chǔ) 方案錄制音頻信號(hào),參見宋坤,劉銳寧,馬文強(qiáng)所著,“Visual C++視頻技術(shù)方案寶典”。端點(diǎn)檢測(cè)和特征提取402用于對(duì)采樣后的音頻信號(hào)進(jìn)行端點(diǎn)檢測(cè),來確定有效語 音信號(hào)的起止幀,并通過設(shè)置語音結(jié)束的標(biāo)志停止錄音設(shè)備。它還用于提取每一幀的語音 的特征參數(shù)線性預(yù)測(cè)倒譜系數(shù),參見L. R. Rabiner和B. -H. Juang所著“Fundamentals of Speech Recognition. ”。提取的特征參數(shù)可以用于語音識(shí)別和語音模板的訓(xùn)練。語音識(shí)別引擎403用于計(jì)算征參數(shù)與語音模板的距離,該產(chǎn)品運(yùn)用了 DTW算法,參 見 L R· Rabiner 禾口 B·-H. Juang 所著"Fundamentals of Speech Recognition·,,。語音模板404用于語音識(shí)別和訓(xùn)練。在用戶初次使用語音輸入功能的情況下,該 產(chǎn)品含有非特定人的普通話的語音模板,從而可以使用戶無需事先訓(xùn)練即可使用語音輸入 功能。在用戶使用語音輸入功能的過程中,用戶可以通過拼音組合408給出期望的單音節(jié), 端點(diǎn)檢測(cè)和特征提取402給出特征參數(shù),對(duì)相應(yīng)的語音模板進(jìn)行訓(xùn)練,從而產(chǎn)生更加適應(yīng) 用戶發(fā)音的語音模板來提高語音輸入的識(shí)別率。漢語單音節(jié)排序405用于對(duì)各個(gè)語音模板與特征參數(shù)的距離進(jìn)行排序得到相對(duì) 應(yīng)的漢語單音節(jié)的有序序列。當(dāng)有限狀態(tài)機(jī)的狀態(tài)為初始狀態(tài),即該狀態(tài)不對(duì)應(yīng)任何拼音 組合,排序范圍包括404個(gè)漢語單音節(jié);當(dāng)有限狀態(tài)機(jī)的狀態(tài)對(duì)應(yīng)一個(gè)或多個(gè)拼音組合時(shí), 僅對(duì)狀態(tài)對(duì)應(yīng)的拼音組合的字符串開頭的漢語單音節(jié)進(jìn)行排序。這樣就有效地限制搜索語 音模板的范圍,從而提高了語音識(shí)別的識(shí)別率。這些單音節(jié)序列可以在用戶界面上顯示,也 可以作為音字轉(zhuǎn)換引擎的輸入。用戶界面406用于人機(jī)交互,參見圖3本發(fā)明的實(shí)施方式用于語音輸入和拼音輸 入相結(jié)合的中文輸入法的產(chǎn)品的用戶界面。用戶可以從圖3中的拼音顯示窗口中選擇某一 個(gè)拼音組合。用戶可以從圖3中的漢字顯示窗口中選擇某一個(gè)漢字。有限狀態(tài)機(jī)407用于決定在不同的拼音按鍵消息下發(fā)生的狀態(tài)轉(zhuǎn)移。有限狀態(tài)機(jī) 的每一個(gè)狀態(tài)可對(duì)應(yīng)一個(gè)或多個(gè)的拼音組合。參見圖3本發(fā)明的實(shí)施方式用于語音輸入和拼音輸入相結(jié)合的中文輸入法的產(chǎn)品的用戶界面。用戶界面包含8個(gè)拼音鍵,分別是abc, def,ghi,jkl,mno,pqrs,tuv,wxyzD拼音組合408用于輸出有限狀態(tài)機(jī)在不同的狀態(tài)下對(duì)應(yīng)的拼音組合。這些拼音組 合可以在用戶界面上顯示,可以用來限制搜索語音模板的范圍,可以作為音字轉(zhuǎn)換引擎的 輸入,也可以用來給出語音模板訓(xùn)練時(shí)期望的單音節(jié)。音字轉(zhuǎn)換引擎409用于把拼音轉(zhuǎn)換成漢字,并按照高頻先見的原則排列。
系統(tǒng)掛接模塊410用于保證輸入法軟件與應(yīng)用程序之間的良好的通信。應(yīng)用程序411是需要中文輸入的程序,并且可以顯示中文文本。雖然以上描述了本發(fā)明的具體實(shí)施方式
,但是語音輸入技術(shù)領(lǐng)域和拼音輸入技術(shù) 領(lǐng)域的熟練技術(shù)人員應(yīng)當(dāng)理解,這些僅是舉例說明,可以對(duì)這些實(shí)施方式做出多種變更或 修改,而不會(huì)背離本發(fā)明的原理和實(shí)質(zhì)。本發(fā)明的范圍僅由權(quán)利要求書限定。
權(quán)利要求
一種語音輸入和拼音輸入相結(jié)合的中文輸入法產(chǎn)品。該產(chǎn)品從外部接收信號(hào)進(jìn)行相應(yīng)的處理,從而最終將接收信號(hào)轉(zhuǎn)換為漢字。其特征在于包括同時(shí)具有語音輸入功能和拼音輸入功能。用戶可以單獨(dú)使用拼音輸入功能。用戶可以單獨(dú)使用語音輸入功能。
2.根據(jù)權(quán)利要求1的中文輸入法產(chǎn)品,其特征包括在用戶使用語音輸入功能的過程 中,用戶可以通過拼音輸入來限制搜索語音模板的范圍,從而提高語音輸入的識(shí)別率。
3.根據(jù)權(quán)利要求1的中文輸入法產(chǎn)品,其特征包括在用戶使用語音輸入功能的過程 中,用戶可以通過拼音輸入給出期望的漢語拼音方案中的音節(jié),并且無需再次錄音即可直 接訓(xùn)練與期望的漢語拼音方案中的音節(jié)相對(duì)應(yīng)的語音模板,從而產(chǎn)生更加適應(yīng)用戶發(fā)音的 語音模板來提高語音輸入的識(shí)別率。
全文摘要
本發(fā)明提供了一種語音輸入和拼音輸入相結(jié)合的中文輸入法產(chǎn)品。該產(chǎn)品包括雙緩存音頻存儲(chǔ)方案,用于采集和存儲(chǔ)音頻信號(hào);端點(diǎn)檢測(cè)和特征提取,用于對(duì)采樣后的音頻信號(hào)進(jìn)行端點(diǎn)檢測(cè),來確定有效語音信號(hào)的起止幀,同時(shí)提取每一幀的語音的特征參數(shù)線性預(yù)測(cè)倒譜系數(shù);語音識(shí)別引擎,用于計(jì)算征參數(shù)與語音模板的距離;語音模板,用于語音識(shí)別和訓(xùn)練;用戶界面,用于人機(jī)交互;有限狀態(tài)機(jī),用于決定在不同的拼音按鍵消息下發(fā)生的狀態(tài)轉(zhuǎn)移;音字轉(zhuǎn)換引擎,用于把拼音轉(zhuǎn)換成漢字,并按照高頻先見的原則排列;系統(tǒng)掛接模塊,用于保證輸入法軟件與應(yīng)用程序之間的良好的通信。在用戶使用語音輸入功能的過程中,用戶可以單獨(dú)使用拼音輸入功能或單獨(dú)使用語音輸入功能。用戶可以通過拼音輸入來限制搜索語音模板的范圍,從而提高語音輸入的識(shí)別率;用戶可以通過拼音輸入給出期望的漢語拼音方案中的音節(jié),并且無需再次錄音即可直接訓(xùn)練與期望的漢語拼音方案中的音節(jié)相對(duì)應(yīng)的語音模板,從而產(chǎn)生更加適應(yīng)用戶發(fā)音的語音模板來提高語音輸入的識(shí)別率。
文檔編號(hào)G06F3/023GK101825953SQ20101014048
公開日2010年9月8日 申請(qǐng)日期2010年4月6日 優(yōu)先權(quán)日2010年4月6日
發(fā)明者朱建政 申請(qǐng)人:朱建政