两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種連筆鍵盤文字輸入的方法和設(shè)備的制作方法

文檔序號(hào):6580830閱讀:487來源:國知局
專利名稱:一種連筆鍵盤文字輸入的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及輸入法領(lǐng)域,特別涉及一種連筆鍵盤文字輸入的方法和設(shè)備。
背景技術(shù)
隨著中文輸入法廣泛地應(yīng)用于電腦、機(jī)頂盒、及各種手持設(shè)備中,各類中
文輸入法迅速發(fā)展起來,如T9中文輸入法,A4中文輸入法,梅花中文輸入法 等,這些輸入法雖然都可以使用戶通過各種硬件設(shè)備實(shí)現(xiàn)中文輸入,但是用戶 和輸入法的接口設(shè)計(jì)上卻各有不同。
傳統(tǒng)輸入法通過按鍵或手寫方式接收用戶輸入的編碼。然而,按鍵輸入過 程序需要很多手指抬起按下的動(dòng)作,并且鍵盤面積較小,按鍵大小非常有限, 輸入容易出現(xiàn)錯(cuò)誤,影響輸入速度。手寫輸入的弊端在于,用戶輸入速度很大 程度上依賴于漢字識(shí)別模塊的好壞,當(dāng)用戶輸入漢字很潦草或其它原因?qū)е萝?件識(shí)別不準(zhǔn)確時(shí)候,用戶需要?jiǎng)h除原來的漢字,重新輸入。當(dāng)漢字筆畫較多時(shí), 用戶也必須輸入整個(gè)漢字,輸入速度慢。
鑒于傳統(tǒng)輸入法的缺點(diǎn),業(yè)界已提出連筆鍵盤輸入的設(shè)想。連筆鍵盤輸入 法可以識(shí)別用戶通過連線方式輸入的字母,將輸入的字母與字庫中的單詞直接 匹配得到候選單詞,并從中選擇一個(gè)作為輸入。目前,連筆鍵盤輸入法允許用 戶通過連線方式輸入多種西方國家語言,如英語、法語等。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題
中文與西方國家語言不同,中文輸入還需要借助特定的編碼。因此,何如 將連筆鍵盤輸入應(yīng)用于中文輸入,還是一個(gè)亟待解決的問題。

發(fā)明內(nèi)容
為了實(shí)現(xiàn)連筆鍵盤丈字輸入法,本發(fā)明實(shí)施例提供了一種連筆鍵盤文字輸 入的方法和設(shè)備。所述技術(shù)方案如下
一種連筆鍵盤文字輸入的方法,所述方法包括接收用戶通過連筆方式在鍵盤上輸入的編碼串; 根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別所述輸入編碼串表示的候選編碼串; 根據(jù)所述候選編碼串,輸入相應(yīng)的文字串。
其中,所述根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別所述輸入編碼串表示的候選編 碼串包括
將所述輸入編碼串與所述編碼庫存儲(chǔ)的編碼串進(jìn)4亍匹配;
按照匹配程度由強(qiáng)到弱的順序,從所述編碼庫中選出與所述輸入編碼串匹
配的編碼串作為候選編碼串。
其中,所述根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別所述輸入編碼串表示的候選編
碼串包括
將所述輸入編碼串與所述編碼庫存儲(chǔ)的編碼串進(jìn)4亍匹配; 按照匹配程度由強(qiáng)到弱的順序,從所述編碼庫中選出與所述輸入編碼串匹
配的編碼串作為候選編碼串;
根據(jù)用戶輸入的前一個(gè)文字串,通過Ngram算法,對(duì)所述候選編碼串的順
序進(jìn)行調(diào)整。
其中,所述根據(jù)所述候選編碼串,輸入相應(yīng)的文字串包括 從所述候選編碼串中選出最佳匹配編碼串; 對(duì)所述最佳匹配編碼串進(jìn)行解碼;
根據(jù)詞庫,將所述解碼后的最佳匹配編碼串轉(zhuǎn)換為候選文字集;
從所述候選文字集中選出最佳匹配文字串;
將所述最佳匹配文字串作為欲輸入的文字串。
其中,所述從所述候選編碼串中選出最佳匹配編碼串包括
將所述編碼庫中匹配程度最強(qiáng)的編碼串作為最佳匹配編碼串;或者,
將用戶選4%的編碼串作為最佳匹配編碼串。
其中,所述根據(jù)詞庫,將所述解碼后的最佳匹配編碼串轉(zhuǎn)換為候選文字集 包括
從所述詞庫中查找與所述解碼后的最佳匹配編碼串匹配的第 一文字串,或 者才艮氺居第 一公式/ (w!…w"):; 0!); 02 Iw!); (W31 W2)…; OJ w"一j)以及第二公式 -氺
尸KI氣》c—二) , c(w"-iw")〉0,計(jì)算所述解碼后的最佳匹配編碼串中各個(gè)編碼對(duì)應(yīng)的文字串的組合概率;其中,;p(Mv..w")表示所述解碼后的最佳匹 配編碼串各個(gè)編碼對(duì)應(yīng)的文字串的組合概率,p(> lvv,)表示文字串出現(xiàn)的情
況下,文字串w 出現(xiàn)的概率,CO^wJ是^_" 在語料中出現(xiàn)的次數(shù),C*0 _lW ) 是通過GOOD-Turing平滑算法得到的氣_, 打折后在語料里出現(xiàn)的次數(shù),"(h^) 是回溯權(quán)值;按照組合概率由大到小的順序排列,從中選擇概率最大的一個(gè)作 為第一文字串,將所述第一文字串作為所述候選文字集;或者,
從所述詞庫中查找與所述解碼后的最佳匹配編碼串的部分編碼匹配的第二
文字串,將所述第二文字串作為所述候選文字集;或者,
當(dāng)所述解碼后的最佳匹配編碼串對(duì)應(yīng)的文字串的個(gè)數(shù)小于預(yù)設(shè)長度時(shí),在
所述字庫中查找包含所述最佳匹配編碼串、且長度小于等于所述預(yù)設(shè)長度的編
碼對(duì)應(yīng)的第三文字串,將所述第三文字串作為所述^('美選文字集。 其中,所述從所述候選文字集中選出最佳匹配文字串包括 將所述候選文字集中概率最大的文字串作為最佳匹配文字串;或者, 將用戶選擇的文字串替換所述概率最大的文字串,將所述用戶選擇的文字
串作為最佳匹配文字串。
其中,當(dāng)所述輸入編碼串包括命令觸發(fā)鍵和至少一個(gè)命令編碼時(shí),所述方
法還包括
根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別所述命令編碼表示的候選命令; 從所述候選命令中選擇一個(gè)作為輸入命令,并執(zhí)行所述輸入命令。 其中,所述對(duì)所述最佳匹配編碼串進(jìn)行解碼包括 根據(jù)用戶添加的編碼切分符,對(duì)所述最佳匹配編碼串進(jìn)行解碼。 其中,所述對(duì)所述最佳匹配編碼串進(jìn)行解碼之后包括 判斷解碼后得到的所述最佳匹配編碼串的各個(gè)編碼的狀態(tài)是完整編碼或非 完整編碼,并存儲(chǔ)判斷結(jié)果。 其中,所述方法還包括
通過^t糊編碼集,預(yù)先建立輸入編碼串與4t正編碼之間的映射; 根據(jù)所述映射,將所述輸入編碼串轉(zhuǎn)換為相應(yīng)的校正編碼; 則根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別所述輸入編碼串表示的候選編碼串包括 根據(jù)所述編碼庫存儲(chǔ)的編碼串,識(shí)別所述輸入編碼串表示的候選編碼串和 所述轉(zhuǎn)換后的校正編碼表示的候選編碼串。
其中,所述將所述最佳匹配文字串作為^i輸入的文字串之后包括在所述字庫中查找與所述最佳匹配文字串相關(guān)的文字串;
在所述最佳匹配文字串出現(xiàn)的情況下,按照所述相關(guān)的文字串出現(xiàn)概率由 大到小的順序,提示用戶下一次輸入的候選文字串。
其中,所述從所述候選文字串中選出最佳匹配文字串之后包括
設(shè)所述候選文字串為(/2j,/V.A),其對(duì)應(yīng)的概率分別為(A,A…凡),并設(shè)所
述最佳匹配文字串為/zm ,其對(duì)應(yīng)的^f既率為pm ;
將除所述最佳匹配文字串之外的其他候選文字串a(chǎn),的概率a減去^ ,則所 述其他候選文字串力,的概率變?yōu)?1 -A:) a , i # m , 0<k<0.5;
將所述最佳匹配文字串/7m的概率&加上& ,則所述最佳匹配文字串Am的概
率變?yōu)閹?li&, (i-m)。
,=1
其中,所述方法還包括
當(dāng)所述編碼庫中不存在所迷輸入編碼串或者所述輸入編碼串對(duì)應(yīng)的候選文 字串中沒有用戶名夂輸入的文字串時(shí),選取所述輸入編碼串的部分編碼;
根據(jù)所述詞庫,將所述部分編碼轉(zhuǎn)換為第二候選文字集,從所述第二候選 文字串集選出第二最佳匹配文字串,將所述第二最佳匹配文字串作為第二欲輸 入的文字串;
根據(jù)所述詞庫,將除所述部分編碼之外的其他所述輸入編碼串轉(zhuǎn)換為第三 候選文字集,并按照在所述第二最佳匹配文字串存在的情況下,所述第三候選 文字集中的文字串在所述詞庫中出現(xiàn)概率由大到小的順序排列,從所述第三候 選文字集中選出第三最佳匹配文字串,將所述第三最佳匹配文字串作為第三欲 輸入的文字串。
其中,所述方法還包括
在所述編碼庫中存儲(chǔ)所述輸入編碼串,并將所述輸入編碼串及其對(duì)應(yīng)的所 述第二最佳匹配文字串和所述第三最佳匹配文字串存儲(chǔ)到所述詞庫中
一種連筆鍵盤文字輸入的設(shè)備,所述設(shè)備包括
編碼接收模塊,用于接收用戶通過連筆方式在鍵盤上輸入的編碼串;
編碼識(shí)別模塊,用于根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別所述輸入編碼串表示 的候選編碼串;
輸入模塊,用于根據(jù)所述候選編碼串,輸入相應(yīng)的文字串。 其中,所述編碼識(shí)別模塊具體用于將所述輸入編碼串與所述編碼庫存儲(chǔ)的編碼串進(jìn)行匹配;
按照匹配程度由強(qiáng)到弱的順序,從所述編碼庫中選出與所述輸入編碼串匹 配的編碼串作為候選編碼串。
其中,所述編碼識(shí)別;f莫塊具體用于
按照匹配程度由強(qiáng)到弱的順序,從所述編碼庫中選出與所述輸入編碼串匹
配的編碼串作為候選編碼串;
根據(jù)用戶輸入的前一個(gè)文字串,通過Ngram算法,對(duì)所述候選編碼串的順 序進(jìn)行調(diào)整。
其中,所述輸入^t塊包括
編碼選4,單元,用于從所述候選編碼串中選出最佳匹配編碼串;
編碼解碼單元,用于對(duì)所述最佳匹配編碼串進(jìn)行解碼;
文字轉(zhuǎn)換單元,用于根據(jù)詞庫,將所述解碼后的最佳匹配編碼串轉(zhuǎn)換為候
選文字集;
文字選才奪單元,用于從所述候選文字集中選出最佳匹配文字串; 文字輸入單元,用于將所述最佳匹配文字串作為欲輸入的文字串。 其中,所述編碼選4奪單元具體用于
將所述編碼庫中匹配程度最強(qiáng)的編碼串作為最佳匹配編碼串;或者, 將用戶選擇的編碼串作為最佳匹配編碼串。 其中,所述編碼解碼單元具體用于
根據(jù)用戶添加的編碼切分符,對(duì)所述最佳匹配編碼串進(jìn)行解碼。 其中,所述文字轉(zhuǎn)換單元具體用于
v^人所述詞庫中查找與所述解碼后的最佳匹配編碼串匹配的第 一文字串,或
者才艮才居第 一 公式; (v^…w ) = / OiXP(W21 wi)P(w31 w2)…P(w" I以及第二公式
C (u ) 、^
c(二 , cov,";og,計(jì)算所述解碼后的最佳匹配編碼串中
各個(gè)編碼對(duì)應(yīng)的文字串的組合概率;其中,p—c)表示所述解碼后的最佳匹 配編碼串各個(gè)編碼對(duì)應(yīng)的文字串的組合概率,/ (氣Imv,)表示文字串m^出現(xiàn)的情 況下,文字串w"出現(xiàn)的概率,€<0 _1^)是^_1氣在語料中出現(xiàn)的次數(shù)'c*k— 是通過GOOD-Turing平滑算法得到的w —, 打折后在語料里出現(xiàn)的次數(shù),a(w _,) 是回溯權(quán)值;按照組合概率由大到小的順序排列,從中選擇概率最大的一個(gè)作為第一文字串,將所述第一文字串作為所述候選文字集;或者,
從所述詞庫中查找與所述解碼后的最佳匹配編碼串的部分編碼匹配的第二
文字串,將所述第二文字串作為所述候選文字集;或者,
當(dāng)所述解碼后的最佳匹配編碼串的對(duì)應(yīng)的文字串的個(gè)數(shù)小于預(yù)設(shè)長度時(shí), 在所述字庫中查找包含所述最佳匹配編碼串、且長度小于等于所述預(yù)設(shè)長度的 編碼對(duì)應(yīng)的第三文字串,將所述第三文字串作為所述候選文字集。
其中,所述文字選擇單元,具體用于
將所述候選文字集中概率最大的文字串作為最佳匹配文字串;或者,
將用戶選擇的文字串替換所述概率最大的文字串,將所述用戶選擇的文字
串作為最佳匹配文字串。
其中,所述設(shè)備還包括命令模塊,用于當(dāng)所述輸入編碼串包括命令觸發(fā)
鍵和至少 一個(gè)命令編碼時(shí),
根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別所述命令編碼表示的候選命令;
從所述候選命令中選擇一個(gè)作為輸入命令,并執(zhí)行所述輸入命令。
其中,所述設(shè)備還包括筒全拼模塊,用于判斷解碼后得到的所述最佳匹
配編碼串的各個(gè)編碼的狀態(tài)是完整編碼或非完整編碼,并存儲(chǔ)判斷結(jié)果。
其中,所述設(shè)備還包括模糊編碼模塊,用于通過模糊編碼集,預(yù)先建立
輸入編碼串與才交正編碼之間的映射;
根據(jù)所述映射,將所述輸入編碼串轉(zhuǎn)換為相應(yīng)的校正編碼; 所述編碼識(shí)別模塊,還用于根據(jù)所述編碼庫存儲(chǔ)的編碼串,識(shí)別所述輸入
編碼串表示的候選編碼串和所述轉(zhuǎn)換后的校正編碼表示的候選編碼串。
其中,所述設(shè)備還包括字詞關(guān)聯(lián)模塊,用于在所述字庫中查找與所述最
佳匹配文字串相關(guān)的文字串;
在所述最佳匹配文字串出現(xiàn)的情況下,按照所述相關(guān)的文字串出現(xiàn)概率由
大到小的順序,提示用戶下一次輸入的候選文字串。
其中,所述設(shè)備還包括詞頻調(diào)整模塊,用于設(shè)所述候選文字串為",/v.A),
其對(duì)應(yīng)的概率分別為(A,;V..A),并設(shè)所述最佳匹配文字串為/v其對(duì)應(yīng)的概率
為;v
將除所述最佳匹配文字串之外的其他候選文字串/2,的概率A減去^ ,則所
述其他候選文字串&的才既率變?yōu)?l-。 Pi, i#m, 0<k<0.5;
將所述最佳匹配文字串&的概率&加上^,則所述最佳匹配文字串&的概率變?yōu)閊+f^, (i-m)。
,=1
其中,所述設(shè)備還包括分解處理模塊,用于當(dāng)所述編碼庫中不存在所述 輸入編碼串或者所述輸入編碼串對(duì)應(yīng)的候選文字串中沒有用戶欲輸入的文字串 時(shí),選取所述輸入編碼串的部分編碼;
根據(jù)所述詞庫,將所述部分編碼轉(zhuǎn)換為第二候選文字集,從所述第二候選 文字串集選出第二最佳匹配文字串,將所述第二最佳匹配文字串作為第二欲輸 入的文字串;
根據(jù)所述詞庫,將除所述部分編碼之外的其他所述輸入編碼串轉(zhuǎn)換為第三 候選文字集,并按照在所述第二最佳匹配文字串存在的情況下,所述第三候選 文字集中的文字串在所述詞庫中出現(xiàn)概率由大到小的順序排列,從所述第三候 選文字集中選出第三最佳匹配文字串,將所述第三最佳匹配文字串作為第三名炎 輸入的文字串。
其中,所述設(shè)備還包括存儲(chǔ)模塊,用于在所述編碼庫中存儲(chǔ)所述輸入編 碼串,并將所述輸入編碼串及其對(duì)應(yīng)的所述第二最佳匹配文字串和所述第三最 佳匹配文字串存儲(chǔ)到所述詞庫中。
本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是
通過接收用戶通過連筆方式在鍵盤上輸入的編碼串,根據(jù)編碼庫存儲(chǔ)的編 碼串,識(shí)別輸入編碼串表示的候選編碼串,根據(jù)候選編碼串,輸入相應(yīng)的文字 串,減少了用戶輸入過程中的抬筆和落筆的操作,輸入過程更加流暢,極大的 提高了輸入的速度。


圖l是本發(fā)明實(shí)施例1中提供的連筆鍵盤文字輸入的方法流程圖2是本發(fā)明實(shí)施例1中提供的連筆鍵盤文字輸入的信息交互圖3是本發(fā)明實(shí)施例1中提供的連筆^:盤文字輸入的另一方法流程圖4是本發(fā)明實(shí)施例1中提供的詞庫文件示意圖5是本發(fā)明實(shí)施例1中提供的uni-gram詞庫文件示意圖6是本發(fā)明實(shí)施例1中提供的連筆輸入示意圖7是本發(fā)明實(shí)施例1中提供的編碼串切分流程圖8是本發(fā)明實(shí)施例1中提供的連筆輸入命令示意圖;圖9是本發(fā)明實(shí)施例1中提供的簡/全拼及模糊音流程圖IO是本發(fā)明實(shí)施例1中提供的字詞聯(lián)想示意圖ll是本發(fā)明實(shí)施例1中提供的長詞組聯(lián)想流程圖12是本發(fā)明實(shí)施例1中提供的長詞組聯(lián)想示意圖13是本發(fā)明實(shí)施例1中提供的自動(dòng)調(diào)整一元信息示意圖14是本發(fā)明實(shí)施例1中提供的自動(dòng)調(diào)整二元信息示意圖15是本發(fā)明實(shí)施例2中提供的連筆鍵盤文字輸入的設(shè)備結(jié)構(gòu)示意圖16是本發(fā)明實(shí)施例2中提供的連筆鍵盤文字輸入另一設(shè)備結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明 實(shí)施方式作進(jìn)一步地詳細(xì)描述。 實(shí)施例1
參見圖1,本實(shí)施例提供了一種連筆鍵盤文字輸入的方法,包括
101:接收用戶通過連筆方式在鍵盤上輸入的編碼串;
102:根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別該輸入編碼串表示的候選編碼串;
其中,編碼庫用來存放詞庫中所有字詞的編碼串。其中,編碼串可以為拼
音編碼串(包括字詞完整的拼音和首拼)或字形編碼串(如筆畫編碼串),本實(shí)
施例并不限定編碼的具體方式。
103:根據(jù)候選編碼串,輸入相應(yīng)的文字串。
其中,文字串可以是漢字串,或類似中文的語言,如韓語或日語等等。本 實(shí)施例以漢字串為例進(jìn)行說明,其他文字串的處理過程與漢字串相同,本實(shí)施 不再贅述。
具體的,本實(shí)施例并不限定候選編碼串轉(zhuǎn)換為文字串的具體過程,現(xiàn)有技 術(shù)中可實(shí)現(xiàn)該轉(zhuǎn)換過程的方法均可采用。優(yōu)選的,本實(shí)施例也提供了一種轉(zhuǎn)換 方法,包括
103a:從該候選編碼串中選出最佳匹配編碼串;
其中,候選編碼串可以是一個(gè)或多個(gè)。
103b:對(duì)該最佳匹配編碼串進(jìn)行解碼;
其中,解碼即按照一定的規(guī)則將編碼串劃分為若干系統(tǒng)可處理的單元,對(duì)于拼音編碼來說,解碼過程可以為切分過程,。
103c: #4居詞庫,將該解碼后的最佳匹配編碼串轉(zhuǎn)換為候選文字集;
其中,詞庫是將編碼串轉(zhuǎn)換為文字串的基礎(chǔ),用來存儲(chǔ)字詞的一元信息和 多元信息。 一元信息,用來表征單個(gè)字詞的屬性信息,包括單個(gè)字詞、字詞編 碼、平滑后的概率和回溯權(quán)值。多元信息,用來表征多個(gè)字詞之間的關(guān)聯(lián)信息。
103d: AU亥候選文字集中選出最佳匹配文字串;
其中,候選文字集可以包括一個(gè)或多個(gè)文字串。
103e:將該最佳匹配文字串作為名炎l^入的文字串。
本實(shí)施例提供的方法,通過接收用戶通過連筆方式在鍵盤上輸入的編碼串, 根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別輸入編碼串表示的候選編碼串,根據(jù)候選編碼 串,輸入相應(yīng)的文字串,減少了用戶輸入過程中的抬筆和落筆的操作,輸入過 程更加流暢,極大的提高了輸入的速度。
參見圖2和圖3,以根據(jù)拼音編碼串輸入中文為例,連筆鍵盤中文輸入的具 體實(shí)現(xiàn)過程如下。其他編碼與此類似,這里不再贅述。
201:設(shè)計(jì)詞庫和編碼庫。
首先介紹設(shè)計(jì)詞庫時(shí)采用的Ngram算法及平滑算法。
在智能輸入法中,根據(jù)當(dāng)前或以往輸入的詞來預(yù)測(cè)下一個(gè)詞,這種預(yù)測(cè)可 以用條件概率p表示
P(H>n I W ...W"一') ( 1 )
上述公式表示第n項(xiàng)候選字詞的出現(xiàn)概率取決于前n-l個(gè)字詞項(xiàng),這種根據(jù) 前n-l個(gè)已經(jīng)出現(xiàn)的詞來預(yù)測(cè)第n個(gè)詞的模型,稱為n元語法模型,也稱為n-l 階馬爾可夫模型。
如果用最大似、然4古計(jì)(MLE, Maximum likelihood estimation)估計(jì)p的4直,

iV(T^…d)
其中,W(w,...vO是在訓(xùn)練語料中詞串vv..w 出現(xiàn)的次數(shù),iV(w,…vvO是在 訓(xùn)練語料中詞串^…vtV,出現(xiàn)的次數(shù)。當(dāng)n-l的時(shí),該語言模型被稱為uni-gram 模型,依此當(dāng)n=2時(shí)為bi-gram才莫型,當(dāng)n=3時(shí)為tri-gmm才莫型,當(dāng)n=4時(shí)為 four-gram模型。理論上,n值越大,計(jì)算出來p的值越貼近人們使用語言的習(xí) 慣。但這種方式需要保存大量的數(shù)據(jù),且隨著n的增加,數(shù)據(jù)量將以指數(shù)級(jí)增長。如果輸入法使用的字詞庫有K個(gè)字詞項(xiàng),則所需的數(shù)據(jù)量為K的n階冪。 由于數(shù)據(jù)量過大,在實(shí)際應(yīng)用中,n的取值往往設(shè)為2或3 ??紤]到當(dāng)前手機(jī)設(shè) 備的存儲(chǔ)空間和處理能力,本實(shí)施例以bi-gram模型為例進(jìn)行說明,其他模型與 此類似,這里不再贅述。
對(duì)分詞后的語料庫進(jìn)行uni-gram統(tǒng)計(jì),得到在語料庫中出現(xiàn)的所有詞的概 率pO,)。在篩選一些有意義的詞的后,再通過bi-gram計(jì)算出這些詞在語料庫 中的條件概率
雖》
對(duì)于詞vv..w"連續(xù)出現(xiàn)的概率,采用如下公式計(jì)算
…w") = pO^Xw2 ( wXw3 I w2)" (w ( wj ( 4 )
在獲取概率數(shù)據(jù)的過程中,本實(shí)施例使用了最大似然估計(jì)的方法,但這種
方法有一個(gè)缺點(diǎn)再大的語料庫,也會(huì)有大量的詞串沒有出現(xiàn),這就不可避免 地會(huì)出現(xiàn)大量估計(jì)值為0的條件概率,這就是所謂地?cái)?shù)據(jù)稀疏問題。最大似然 估計(jì)的方法只統(tǒng)計(jì)了在語料中己出現(xiàn)詞串的概率,對(duì)于語料中未出現(xiàn)詞串,根 據(jù)公式U),在計(jì)算P的過程中,若有一個(gè)二元項(xiàng)P為O,則無論其他二元項(xiàng)組 合的概率有多大,計(jì)算結(jié)果P必然為0。這樣的結(jié)果是不合理的。為了解決這個(gè) 問題,本實(shí)施例引入數(shù)據(jù)平滑技術(shù)。
數(shù)據(jù)平滑的基本思想整最大似然估計(jì)的概率值,使零概率增值,使大概 率下調(diào),消除零概率,"劫富濟(jì)貧,,,改進(jìn)模型的整體正確率。目前,數(shù)據(jù)平滑 有多種方法,Katz平滑算法對(duì)于從較小的語料中統(tǒng)計(jì)二元語法模型效果較好。
C(x)
"(Uy) '/c(xy) = o
z/C(xy)>0 (5)
其中,xy是用戶先后輸入的拼音、漢字或詞組,C(x力是xy在語料中出現(xiàn) 的次數(shù),C、x力是通過GOOD-Turing平滑算法得到的xy打折后在語料里出現(xiàn)的 次數(shù),"(;c)是回溯權(quán)值。當(dāng)用戶輸入的xy在預(yù)料中出現(xiàn)的次數(shù)為0時(shí),數(shù)據(jù)平 滑之前Uylx)為O,數(shù)據(jù)平滑之后,^zCHx) = "(x)^z(y),消除了O概率。
基于上述介紹的算法,下面介紹詞庫和編碼庫的"i殳計(jì)。
詞庫,是輸入法將編碼串轉(zhuǎn)換為漢字的基礎(chǔ)。通過對(duì)分詞后的語料進(jìn)行 Ngram (本實(shí)施例以n=2為例進(jìn)行說明)及平滑運(yùn)算,得到uni-gram和bi-gram詞庫文件。參見圖4,詞庫文件的設(shè)計(jì)過程如下
通過Ngram算法對(duì)大量的文本語料進(jìn)行統(tǒng)計(jì),得到常用的字詞組合,或稱 短語;將常用的字詞組合添加到中文分詞工具。具體操作時(shí),可以限定常用字 詞組合的長度,本實(shí)施例限定為4。通過對(duì)語料進(jìn)ff bi-gram( n=2 )、tri-gram( n=3 )、 four-gram (n二4)的計(jì)算,我們得到了在語料中出現(xiàn)頻率較高,即…wj ( n=2、 3、 4)較大的兩字短語,三字短語和四字短語,然后我們從中篩選出一些有意 義的短語并將其加入中文分詞工具。對(duì)于單字,將GB2312字符集中的全部6763 個(gè)漢字加入中文分詞工具。分詞后的語料經(jīng)過平滑算法,得到uni-gram和bi-gram 詞庫文件。本實(shí)施例并不限定單字的具體來源,僅以GB2312字符集中的漢字為 例力D以i兌明。
uni-gram詞庫文件存儲(chǔ)了字詞的一元信息,包含了分詞后的語料庫中出現(xiàn)的 所有的單個(gè)字詞、字詞的編碼、平滑后的概率和回溯權(quán)值。本實(shí)施例剔除了長 度大于四的詞和一些不常見的人名,地名及一些分詞噪音,同時(shí)還對(duì)語料中的 多音字進(jìn)行校對(duì),并對(duì)其概率進(jìn)行了處理。假設(shè)常用字詞組合的長度為4,參見 圖5,則uni-gram詞庫文件的結(jié)構(gòu)包括單字詞信息、兩字詞信息、三字詞信息 和四字詞信息。
接下來對(duì) uni-gram詞庫出現(xiàn)的詞進(jìn)行二元信息統(tǒng)計(jì),將分詞結(jié)果中兩兩相 鄰的字詞對(duì)的出現(xiàn)次數(shù)進(jìn)行統(tǒng)計(jì),得到二元信息的原始數(shù)據(jù),并將其存儲(chǔ)到 bi-gram詞庫。
bi-gram詞庫存儲(chǔ)了分詞后的語料庫中所有兩個(gè)字詞之間的二元關(guān)系
0,,W2,^叱0niw2》,即詞^、 w2,以及在w2出現(xiàn)的條件下w,出現(xiàn)的概率。
基于上述uni-gram詞庫和bi-gram詞庫的介紹可殺口 與uni-gram詞庫文^f牛 相比,二元信息文件(bi -gram詞庫文件)的大小^奪遠(yuǎn)遠(yuǎn)大于字詞庫文件(uni-gram 詞庫文件)。另外,在計(jì)算整句輸入和聯(lián)想詞的輸出過程中,需要頻繁查找二元 字詞對(duì)的概率,因此二元信息文件的設(shè)計(jì)必須充分考慮到其存儲(chǔ)空間的占用以 及查找算法的效率。
在uni-gram詞庫里,4姿照字詞的編碼升序排序,并為每個(gè)字和詞分配一個(gè) 唯一的ID值,對(duì)于多音字,根據(jù)其不同的讀音分配不同的ID值,并按照ID值 的升序排列。這樣查找用戶輸入的編碼時(shí),或者是才艮據(jù)ID值查找對(duì)應(yīng)的漢字時(shí), 就可以運(yùn)用二分查找算法,快速查找。同時(shí),每個(gè)^的結(jié)點(diǎn)中,有一個(gè)指向^集合的指針,這樣也實(shí)現(xiàn)了從w,快速定位到二元信息的目的。
uni-gram詞庫與bi-gram詞庫在具體實(shí)現(xiàn)時(shí),可參考如下代碼 typedef struct bigram
int word2;〃 w2的ID值
float pro;〃 /^。,:(Wi|m/2) } bigram WordNode; typedef struct unigram
char*hz;/7 w,代表的漢字 char * *py;〃沖艮據(jù)的長度,為py對(duì)應(yīng)的賦值 float pro;〃 w!在Unigram里的概率 intid;〃 w的ID值
float bow;〃回溯^又《直
bigram WordNode * bigram—list;〃和存在二元關(guān)系的w2的集合 int bigram—len;〃 w2的個(gè)數(shù) } unigram WordNode;
編碼庫文件,是用來存i文詞庫中所有字詞的編碼串。其中,編碼串包括音 碼和形碼,音碼可以是拼音輸入法,形碼可以是筆畫輸入法。拼音輸入法,遵 循漢語普通話語音習(xí)慣和漢語拼音方案,通過聲母和韻母的組合和設(shè)備中內(nèi)置 編碼庫進(jìn)行比對(duì),并顯示相應(yīng)的中文。筆畫輸入法,依據(jù)中文的一些筆畫組合 規(guī)則,把中文字按其筆畫順序拆開分解,依照筆畫順序輸入,最后組合成漢字。
另外,為了支持簡拼輸入,本實(shí)施例的編碼庫文件除了存儲(chǔ)某一詞組完整 的拼音,還存儲(chǔ)該詞組的首拼,即聲母部分。比如,詞庫中有"我們"這個(gè)詞, 則在編碼庫就有對(duì)應(yīng)的拼音串"women",為了讓連筆鍵盤輸入更加快速地輸入 中文,在編碼庫中還存貯了該詞組對(duì)應(yīng)的首拼,如"wm"。這樣可以減少了用 戶連線的軌跡。
202:接收用戶通過連筆方式或按鍵方式在鍵盤上輸入的編碼串。 其中,連筆方式輸入的編碼串送到連筆識(shí)別器進(jìn)行識(shí)別,按鍵方式輸入的 編碼串送到編碼串切分模塊進(jìn)行切分。其中,編碼串可以為拼音編碼串或筆畫編碼串,如五筆編碼串。本實(shí)施例 以拼音編碼串為例進(jìn)行說明,其他編碼與此類似,不再贅述。
203:根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別出通過連筆方式輸入的編碼串表示的
候選編碼串。
具體的,連筆識(shí)別器智能地按照匹配程度由強(qiáng)到弱,依次從編碼庫中選出 與用戶輸入編碼串匹配的編碼,作為候選編碼串。
例如,用戶想輸入"women",參見圖6,用戶連筆輸入的劃線軌跡只需要 在虛鍵盤上把w, o, m, e, n五個(gè)字母連接起來。候選編碼串"women" 、 "wuhan"、 "weiyuan"、 "wennuan"等, >換照匹配程度由強(qiáng)到弱依次顯示在編碼才交正顯示 器上,供用戶選擇。
204:存儲(chǔ)所有的候選編碼串,從中選出最佳匹配編碼串。 具體的,編碼串集合中存儲(chǔ)所有的候選編碼串,從中選出最佳匹配編碼串, 并將其送到編碼串切分;f莫塊進(jìn)行切分。
默認(rèn)情況下,將匹配程度最強(qiáng)的候選編碼串,如"women"作為用戶本次 輸入的最佳匹配編碼串,可采用獨(dú)特的背景顏色顯示。
如果默認(rèn)候選編碼串不是用戶想輸入的編碼串,接收用戶通過手動(dòng)方式選 擇的候選編碼串作為最佳匹配編碼串。其中,可以將候選編碼串顯示在編碼校 正顯示器上。當(dāng)候選編碼串較多時(shí),可以在編碼校正顯示器的兩端設(shè)置翻頁的 箭頭,當(dāng)箭頭可用時(shí),以獨(dú)特的背景顏色顯示。
205:如果接收到用戶以按鍵方式輸入的編碼串,則將輸入的編碼串直接送 到編碼串切分模塊進(jìn)行切分。
206:對(duì)最佳匹配編碼串(或用戶以按^:方式輸入的編碼串)進(jìn)行切分。 其中,切分是按照一定的規(guī)則將編碼串劃分為若干系統(tǒng)可處理的單元。 具體的,編碼串切分模塊判斷輸入的編碼串是否為合法的編碼串,并對(duì)合 法的編碼串進(jìn)行切分。參見圖7,用戶輸入編碼串后,編碼串切分才莫塊對(duì)輸入的 編碼串進(jìn)行檢測(cè),判斷輸入的編碼串是否為合法的編碼串;如果不合法,返回; 如果合法,對(duì)輸入的編碼串采用拼音切換算法進(jìn)行切分,進(jìn)一步的,對(duì)于切分 有歧義的拼音,本實(shí)施例還支持用戶自行切分,例如設(shè)定'來隔開不同的音 節(jié),則fangan->fang'an,或fangan-> fan'gan;然后判斷切分后的編碼串是否小于 系統(tǒng)可接受的最大長度;如果否,則輸入法不予接受;如果是,將該編碼串送到編碼串漢字轉(zhuǎn)換^f莫塊進(jìn)行漢字轉(zhuǎn)換。
進(jìn)一步的,連筆鍵盤中文輸入法把切分后的編碼串放入數(shù)組*口7[],如果拼
音串中的音節(jié)個(gè)數(shù)大于預(yù)設(shè)個(gè)數(shù)(設(shè)為4),則取出前4個(gè)切分好的拼音音節(jié), 并從詞庫中四字詞的詞表中查找,如果切分后的編碼串的長度小于4,則直接送 入對(duì)應(yīng)長度的詞表中查找。如果找到則保存查找結(jié)果,如果沒找到,則去掉最 后一個(gè)音節(jié),在對(duì)應(yīng)長度的詞表中查找,剩下的拼音作為用戶下次的輸入。
207:根據(jù)設(shè)計(jì)的詞庫,將切分后的最佳匹配編碼串(或切分后的用戶按4建 輸入的編碼串)轉(zhuǎn)換為候選漢字集。
其中,候選漢字集中的漢字串可能有三種情況
第 一種是從詞庫中查找與切分后的最佳匹配編碼串匹配的第 一漢字串; 第二種是從詞庫中查找與切分后的最佳匹配編碼串的部分編碼匹配的第二 漢字串;
第三種是當(dāng)切分后的最佳匹配編碼串的各個(gè)編碼的長度小于預(yù)設(shè)長度時(shí), 在字庫中查找包含最佳匹配編碼串、且長度小于等于預(yù)設(shè)長度的編碼對(duì)應(yīng)的第
三漢字串;
其中,候選漢字集可以為三種情況中的一種或幾種的組合。 進(jìn)一步的,為了提高存取速度,可以在緩存中存儲(chǔ)切分后的最佳匹配編碼 串(或切分后的用戶按鍵輸入的編碼串)對(duì)應(yīng)的候選漢字集。
208:從候選漢字集中選出最佳匹配漢字串。
默認(rèn)情況下,將候選漢字集中概率最大的漢字串作為最佳匹配漢字串,可 采用獨(dú)特的背景顏色顯示。如果默認(rèn)的漢字串不是用戶想輸入的漢字串,接收 用戶通過手動(dòng)方式選#^的漢字串,將用戶選"t奪的漢字串替換默認(rèn)的漢字串(即 概率最大的漢字串),將用戶選擇的漢字串作為最佳匹配漢字串。
其中,可以在漢字校正顯示器上顯示候選漢字串,當(dāng)候選漢字串較多時(shí), 可以在漢字校正顯示器的兩端設(shè)置翻頁的箭頭,當(dāng)箭頭可用時(shí),以獨(dú)特的背景 顏色顯示。
進(jìn)一步的,可以將編碼和漢字校正顯示器與虛擬鍵盤集成在一起,使預(yù)覽 編碼或漢字能夠位于非常鄰近用戶關(guān)注的虛鍵盤區(qū)域。還有,校正顯示器能夠 顯示不止一個(gè)預(yù)覽字/編碼。由于許多字/編碼都有可能與用戶(完成的或未完成 的)輸入匹配,因此顯示其他一些接近匹配的候選字/編碼而不^U又是最匹配的字/編碼是有好處的。
209:將最佳匹配漢字串作為欲輸入的漢字串,并顯示在文字編輯器中,完 成一次連筆(或按#:)輸入過程。
進(jìn)一步的,當(dāng)不能識(shí)別輸入編碼串時(shí)或者輸入編碼串對(duì)應(yīng)的候選漢字串中 沒有用戶欲輸入的漢字串時(shí),本實(shí)施例提供了兩種處理方法
一種是根據(jù)公式4、 5,計(jì)算輸入編碼串各個(gè)音節(jié)對(duì)應(yīng)的漢字串的組合概率, 并按照組合概率由大到小的順序呈現(xiàn)給用戶,將用戶從中選擇的作為欲輸入的 漢字串。
另一種是選取輸入編碼串的部分編碼;根據(jù)詞庫,將部分編碼轉(zhuǎn)換為第二 候選漢字集,從第二候選漢字串集選出第二最佳匹配漢字串,將第二最佳匹配 漢字串作為欲輸入的漢字串;根據(jù)詞庫,將除部分編碼之外的其他輸入編碼串 轉(zhuǎn)換為第三候選漢字集,并按照在第二最佳匹配漢字串存在的情況下,第三候 選漢字集中的漢字串在詞庫中出現(xiàn)概率由大到小的順序顯示,從第三候選漢字 集中選出第三最佳匹配漢字串(或者將第三候選漢字集中概率最大漢字串默認(rèn) 作為第三最佳匹配漢字串),將第三最佳匹配漢字串作為欲輸入的漢字串。
基于以上介紹的連筆鍵盤中文輸入過程,下面介紹連筆鍵盤中文輸入法涉 及的特定功能及其實(shí)現(xiàn)。
(1)連筆鍵盤輸入命令(如復(fù)制、粘貼、剪切等)的功能。
具體的,輸入命令的方法為以命令觸發(fā)^t(設(shè)為Cmd)為起點(diǎn),以連線 方式輸入命令的(全部或部分)編碼,從候選命令中選擇一個(gè)最佳匹配命令。 其中,命令編碼可以是中文拼音或英文單詞,本實(shí)施例并不限定命令的具體形 式。
本實(shí)施例以"復(fù)制,,命令為例說明。參見圖8,用戶選中編輯文本里的一段 文字后,先將筆(或手指)放在Cmd鍵或其他任何預(yù)設(shè)的命令觸發(fā)鍵上,然后 將筆拖動(dòng)到該命令的第一個(gè)字母鍵,在本實(shí)施例中為C鍵,Cmd-C預(yù)覽顯示候 選命令剪切(Cut)、復(fù)制、關(guān)閉(Close )、評(píng)論(Comment)等,用戶從中選才奪 復(fù)制命令,或繼續(xù)將筆朝第二個(gè)字母鍵O滑動(dòng),Cmd-C-O與復(fù)制(Copy)命令 匹配,預(yù)覽顯示命令"復(fù)制"。然后,當(dāng)用戶抬起筆時(shí),發(fā)出"復(fù)制"命令。同樣的, 用戶可以先將筆放在Cmd鍵或其他任何預(yù)設(shè)的命令觸發(fā)鍵上,然后將筆拖動(dòng)到該命令的第一和第二個(gè)字母鍵pa (paste),當(dāng)用戶抬筆時(shí),發(fā)出"粘貼,,命令。 (2)簡拼、全拼、簡/全拼混合輸入,及模糊音功能。
簡/全拼功能判斷各個(gè)音節(jié)分別是簡拼或全拼,將判斷的結(jié)果依次存儲(chǔ)到 預(yù)設(shè)的數(shù)組,然后分別按照該音節(jié)是簡拼還是全拼,到詞庫查找相應(yīng)的漢字串。 其中,簡/全拼功能是相對(duì)于拼音編碼來說的,其他編碼形式與此類似,該功能 可以表述為判斷各個(gè)編碼的狀態(tài)是完整編碼或非完整編碼,并存儲(chǔ)判斷結(jié)果。
具體的,可采用如下數(shù)據(jù)結(jié)構(gòu)typedef struct pinyin—lattice保存拼音串信息。 其中,inpuU)inyin[60]用來存儲(chǔ)用戶通過按鍵或連線輸入的拼音串,指針數(shù)組 承py[ll]用來存放切分用戶輸入拼音串后的切分結(jié)果,整形is—whole_py [ll]記錄 了切分后的拼的狀態(tài),如果為1則表示該拼音為全拼,為O則表示該拼音只有 聲母,例如,當(dāng)用戶通過按鍵的方式輸入拼音beij,經(jīng)過4并音切分模塊切分后, 第一個(gè)拼音為bei,第二個(gè)拼音為j,則is—wholejy
的值為1,記錄了第一個(gè) 拼音為全拼狀態(tài),is—wholejy[l]的值為0,記錄了第二個(gè)拼音只有聲母。py一len 為切分拼音串后的拼音音節(jié)的個(gè)數(shù),unanalysed[60]為目前還沒處理的拼音串。 flag一vague是用來標(biāo)志模糊音功能是否打開, aguejy[]里保存了用戶輸入的編 碼串映射到模糊音節(jié)的集合,vague_pyjen記錄了集合中的模糊音的個(gè)數(shù)。 typedef struct pinyin—lattice
char inputjpinyin[60];〃用戶通過按鍵或連線輸入的拼音串。
char 4py[ll];〃切分后的拼音串。
int flag—vague;〃標(biāo)志才莫糊4并音功能是否開啟。
char aguejy[];/Z如果模糊拼音功能開啟,存》欠模糊拼音集。
int vaguejyJen;/4莫糊拼音集的個(gè)數(shù)。
intis—wholej)y[ll];〃切分后的第i個(gè)音節(jié)py[i]是否為全拼。
int pyjen;〃拼音串中音節(jié)的個(gè)數(shù)。
char unanalysed[60];〃沒處理完的拼音串。 } stjpinyinLattice; 模糊音功能
本實(shí)施例是以拼音編碼串為例進(jìn)行說明,對(duì)于其他編碼,此功能可相應(yīng)的 統(tǒng)稱為模糊編碼功能,具體包括通過模糊編碼集,預(yù)先建立輸入編碼串與校正編碼之間的映射;根據(jù)該映射,將該輸入編碼串轉(zhuǎn)換為相應(yīng)的校正編碼;才艮
據(jù)該編碼庫存^f諸的編碼串,識(shí)別該輸入編碼串表示的4美選編碼串和該轉(zhuǎn)換后的
校正編碼表示的候選編碼串。相應(yīng)的,模糊音功能包括通過模糊音集,預(yù)先 建立輸入拼音串與校正音之間的映射;根據(jù)該映射,將該輸入拼音串轉(zhuǎn)換為相 應(yīng)的校正音;根據(jù)該編碼庫存儲(chǔ)的編碼,識(shí)別該輸入拼音串表示的候選編碼串 和該轉(zhuǎn)換后的校正音表示的候選編碼串,并分別呈現(xiàn)給用戶,供用戶選擇。
模糊音功能特別適合那些普通話不夠標(biāo)準(zhǔn)及習(xí)慣用方言發(fā)音的用戶使用。 比如一些用戶對(duì)si和shi、 zi和zhi分不清楚,可以通過輸入法中事先勾選相應(yīng) 的模糊音,例如"zi-zhi,,,在輸入"zi"時(shí)照樣可以打出"只,,來。通過對(duì)一 些地方方言的發(fā)音和正確讀音進(jìn)行比較,及對(duì)用戶常見拼音錯(cuò)誤的觀察。本實(shí) 施例設(shè)置了模糊音集,用于存儲(chǔ)輸入拼音串與校正音之間的映射。本實(shí)施例并 不限定模糊音集的具體內(nèi)容,僅以下面列舉的為例加以說明
平舌音與巻舌音之間的映射
s<=>sh
c<=>ch
z<=>zh
前鼻音與后鼻音之間的映射
an<=>ang
en<=>eng
in<=>ing
除些之外,還有一些容易被用戶拼錯(cuò)的讀音,如
l<=>n
f<=〉h
因?yàn)樵摴δ芸赡軙?huì)產(chǎn)生很多錯(cuò)誤匹配的漢字串,如在輸入"zi"時(shí),"只" 字可以顯示出來,所以用戶可以根據(jù)自身的需要,關(guān)閉此功能。
基于上述設(shè)置,簡/全拼及模糊音功能總體工作流程,參見圖9:輸入切分 后的拼音fpy[i],模糊音功能是否開啟,如果是,映射到模糊音集,如果為否, 直接判斷該拼音是否為全拼,如果為是,與編碼庫中的拼音比較,如果為否, 與編碼庫中的聲母比較,然后判斷是否還可以匹配拼音+py[i+l],如果為否,則
輸出漢字串候選集,如果為是,則處理拼音+py[i+l]。(3 )字詞聯(lián)想及長詞組聯(lián)想。 字詞聯(lián)想,是當(dāng)用戶輸入某一漢字串,后,系統(tǒng)可以通過詞庫的二元信息
(bi-gram字庫),查找與該漢字串,相關(guān)的所有w,,并3要照二元信息中1 從大到小的順序顯示用戶下次可能要輸入的漢字串。
例如,參見圖10,用戶選中"北京"后,在漢字顯示區(qū)域按照概率由大到 小,顯示聯(lián)想的漢字"時(shí)間"、"地區(qū)"、"移動(dòng)"、"奧運(yùn)會(huì)"、"人"、"城鄉(xiāng),,等, 用戶可直接從聯(lián)想字詞中選擇輸入,提高了用戶輸入的效率。
長詞組聯(lián)想,是根據(jù)用戶給出的拼音串聯(lián)想出比拼音串音節(jié)個(gè)數(shù)更長的漢 語詞組。具體的,如果切分后音節(jié)長度(設(shè)為i)小于系統(tǒng)可處理的最大長度(設(shè) 為L),則在字庫的一元信息(uni-gram字庫)中查找前i個(gè)音節(jié)為切分后音節(jié)、 長度為i+j且i+j<=L的漢字候選集。
參見圖11,長詞組聯(lián)想在uni-gram字庫查找過程為用戶輸入編碼串,經(jīng) 編碼串切分模塊,得到切分后音節(jié)長度(設(shè)為i),判斷i是否大于系統(tǒng)可處理的 最大長度L,如果是,則設(shè)置數(shù)據(jù)結(jié)構(gòu)st_pinyinLattice中未處理的拼音數(shù)據(jù)項(xiàng) (unanalysed),如果否,查找詞庫并保存結(jié)果;然后判斷i+l是否大于L,如果 是,返回;如果否,查找詞庫并保存結(jié)果。
例如,參見圖12,當(dāng)用戶以連筆或按^t的方式輸入beijing時(shí),拼音音節(jié)的 個(gè)數(shù)為2,通過在兩字詞詞表里查找得到"北京,,和"背景"兩個(gè)詞,同時(shí),輸 入法將這兩個(gè)拼音在三字詞和四字詞uni-gram詞典里查找,將用戶輸入的這個(gè) 兩個(gè)拼音與三字詞和四字詞的前兩個(gè)字的4并音進(jìn)行匹配,找到"北京市"和"背 井離鄉(xiāng)"兩個(gè)詞。
長詞組聯(lián)想具體可用如下代碼實(shí)現(xiàn)
void py2hz(char *py,SwiPY2HZ—INPUT inputFlag)
int i = 0;
int py—len — 0;
if(SWI_PY2HZ_TRACE == inputFlag)〃如果用連筆的方式輸入拼音,通過 按鍵的方式輸入的拼音,有專門拼音的處理邏輯
reset_pinyin—lattice();set—lattice_typed_py (py);
set—lattice—seg_py(g_pinyin—lattice.input_pinyin);set_lattice—syllables(g_pinyin—lattice.seg_py);}〃初始化st_pinyinLattice數(shù)據(jù)結(jié)構(gòu)里的數(shù)據(jù)成員
if(g_pinyin—lattice.py—len <= 4){〃如果用戶輸入的拼音長度大于4,則先處理前4個(gè)拼音。
py_len = g_pinyin—lattice.py—len;}else{
py—len = 4j
for(i = py一len;i > 0;i—)
reset—1^1^_0&11(^3163();//重新初始化保存漢字候選集的數(shù)據(jù)結(jié)構(gòu)。search—from—imigram(i,i);〃/人長度為i的詞典里查找前i個(gè)4并音。if(g—hzCandidatesList.len 〉 0)〃如果長度為i的4并音從詞典里找到了對(duì)應(yīng)的漢字候選集,則停止,否則i減l,從長度為i的拼音從詞典里查找。
g—hzCandidatesList.longer_phraess—count = 0;break;
if(i + 1 <= 4)〃如果Unigram詞典中還有更長的詞,繼續(xù)查找。
find—from—longer_phrase(i);
memset(gjpinyin—lattice.unanalysed,'\0',10);〃沒處理完的4并音力文入unanalysed中,下 一 步處理。
if(i<g_pinyin—lattice.py—len)
〃set the imanlized py to the current pyfor(;i<g_pinyin—lattice .py—len; i++) {
strcat(g_pinyin—lattice.unanalysed,g_pinyin—lattice.py[i]);
sort—hanzi—candilists—by—fre(g一hzCandidatesList);
輸入法這兩種聯(lián)想功能,減少了用戶輸入編碼串的長度,從而提高了用戶的輸入速度。
(4) 其他漢字編碼。
方式,比如二筆輸入法、五筆輸入法、鄭碼輸入法、自然碼輸入法、倉頡輸入法等中文輸入法,這些輸入法的原理和拼音輸入法基本相同,只是更改了編碼庫和uni-gram詞庫里的漢字編碼。
(5) 自動(dòng)調(diào)整詞頻。
自動(dòng)調(diào)整詞頻算法具體為,設(shè)所述候選漢字串為A,/v.A),其對(duì)應(yīng)的概率
分別為(A,;V. "),并設(shè)最佳匹配漢字串為&,其對(duì)應(yīng)的概率為j^;
將除最佳匹配漢字串之外的其他候選漢字串&的概率a減去^ ,則其他候
選漢字串化的概率變?yōu)?1-/0 a, i^m, 0<k<0.5;
將最佳匹配漢字串/ m的概率pm加上& ,則最佳匹配漢字串&的概率變?yōu)?br> Pm+S>A (i^m)。這樣就使得用戶經(jīng)常使用的詞被提到漢字校正顯示器的前面。
利用用戶輸入的歷史信息數(shù)據(jù),基于上述算法對(duì)uni-gram和bi-gram詞庫文件進(jìn)行修改。
對(duì)于uni-gram詞庫,參見圖13 ,用戶通過對(duì)某一編碼串所對(duì)應(yīng)的漢字串的選擇,在一元信息數(shù)據(jù)中,調(diào)整這一編碼串所對(duì)應(yīng)的漢字串的概率,以及該漢字串在漢字候選集中出現(xiàn)的順序。
對(duì)于bi-gram詞庫,參見圖14,用戶通過對(duì)聯(lián)想漢字的選擇,在二元信息數(shù)據(jù)中,調(diào)整聯(lián)想漢字的概率,以及聯(lián)想漢字在聯(lián)想漢字候選集中出現(xiàn)的順序。
在對(duì)用戶歷史數(shù)據(jù)的學(xué)習(xí)過程中,語言才莫型的任務(wù)包括對(duì)uni-gram詞庫文件和bi-gram詞庫文件進(jìn)行》務(wù)改,如添加、刪除及更新。通過這種方式,用戶的輸入習(xí)慣可以逐漸被反饋到數(shù)據(jù)文件中,從而使這個(gè)輸入模型能夠適應(yīng)用戶的輸入習(xí)慣。
(6)自造詞功能。
自造詞功能是用戶通過輸入詞庫里沒有詞,向詞庫里添加自己常用的詞。
具體實(shí)現(xiàn)過程為
當(dāng)不能識(shí)別該輸入編碼串或者該輸入編碼串對(duì)應(yīng)的候選漢字串中沒有用戶
欲輸入的漢字串時(shí),選耳又該輸入編碼串的部分編碼;根據(jù)該詞庫,將該部分編碼轉(zhuǎn)換為第二候選漢字串,從該第二候選漢字串中選出第二最佳匹配漢字串,將該第二最佳匹配漢字串作為^r炎輸入的漢字串;才艮據(jù)該詞庫,將除該部分編碼之外的其他該輸入編碼串轉(zhuǎn)換為第三候選漢字串,并按照在該第二最佳匹配漢字串存在的情況下,該第三候選漢字串在該詞庫中出現(xiàn)概率由大到小的順序顯示給用戶,從該第三候選漢字串中選出第三最佳匹配漢字串,將該第三最佳匹配漢字串作為欲輸入的漢字串(或者將概率最大的第三候選漢字串默認(rèn)作為第三最佳匹配漢字串);存儲(chǔ)該輸入編碼串及其對(duì)應(yīng)的該第二最佳匹配漢字串和該第三最佳匹配漢字串。
例如,當(dāng)用戶通過連筆(或4要4建)的方式l敘入"beijhyingni"時(shí),在uni-gram詞庫中沒有找到與bei j h ying相匹配的四字詞,系統(tǒng)還可以分多次對(duì)輸入的拼音串進(jìn)行查找處理,在回退到拼音串bei j的時(shí)候找到對(duì)應(yīng)的漢字候選集,在用戶在校正顯示器上選擇"北京"后,系統(tǒng)會(huì)記錄前兩個(gè)拼音對(duì)應(yīng)的詞為"北京",然后系統(tǒng)開始處理拼音串hyingni,重復(fù)上面的邏輯后最終得到用戶輸入的拼音串"beijhyingni"對(duì)應(yīng)的漢字串為"北京歡迎你",系統(tǒng)自動(dòng)將拼音串和對(duì)應(yīng)的詞添加到系統(tǒng)的詞庫。這樣用戶就可以將自造的詞或短語添加到詞庫,下次輸入該拼音串的時(shí)候,就可以連線或按^t方式輸入對(duì)應(yīng)的漢字串。
進(jìn)一步的,連筆鍵盤中文輸入還支持智能拼音、智能筆畫、智能英文、大寫字母、小寫字母、數(shù)字和一些特殊符號(hào)七種輸入模式,以及自定義字體、皮
膚等界面元素。
進(jìn)一步的,連筆鍵盤文字輸入方法,可以實(shí)現(xiàn)中文、或類似中文如韓語或曰語等的輸入,可以用軟件加以實(shí)現(xiàn),該軟件可以裝入和運(yùn)行在計(jì)算機(jī)、PDA、移動(dòng)電話、智能手機(jī)、平板電腦或其他電子設(shè)備。作為本發(fā)明的擴(kuò)展,該連筆鍵盤可以被運(yùn)用和移植到有觸摸屏且與用戶有交互的各類硬件設(shè)備上,該連筆鍵盤可以采用不同的模式識(shí)別算法來實(shí)現(xiàn)用戶輸入的連線到編碼串的轉(zhuǎn)換,該
2連筆鍵盤可以采用設(shè)計(jì)不同的輸入法鍵盤界面,該連筆鍵盤可以采用不同的中文輸入邏輯等,均屬于本發(fā)明保護(hù)范圍。
本實(shí)施例提供的方法,用戶通過連線方式輸入編碼串后,根據(jù)編碼庫存儲(chǔ)的編碼,識(shí)別所述輸入編碼串表示的候選編碼串,從中選出最佳匹配編碼串,根據(jù)詞庫,將所述解碼后的最佳匹配編碼串轉(zhuǎn)換為候選漢字串,從所述候選漢字串中選出最佳匹配漢字串,將其作為欲輸入的中文,減少了用戶輸入過程中的抬筆和落筆的操作,使輸入過程更加流暢,極大的提高了輸入的速度,給用戶一種全新的連線輸入漢字的理念,讓中文輸入變得快捷,輕松。另外,連筆鍵盤中文輸入還具備一定的容錯(cuò)能力,即使連筆軌跡經(jīng)過了不需要輸入的字母,或是沒有經(jīng)過全部需要^T入的字母,都可以正確識(shí)別,容^"性好。
實(shí)施例2
參見圖15,本實(shí)施例提供了一種連筆鍵盤文字輸入的設(shè)備,包括編碼接收沖莫塊301,用于接收用戶通過連筆方式在鍵盤上輸入的編碼串;編碼識(shí)別才莫塊302,用于根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別該輸入編碼串表示的候選編碼串;
輸入才莫塊303,用于才艮據(jù)候選編碼串,輸入相應(yīng)的文字串。其中,文字串可以是漢字串,或類似中文的語言,如韓語或日語等等。其中,該編碼識(shí)別模塊302具體用于將該輸入編碼串與該編碼庫存儲(chǔ)的編碼串進(jìn)行匹配;按照匹配程度由強(qiáng)到弱的順序,從該編碼庫中選出與該輸入編碼串匹配的編碼串作為候選編碼串。
其中,該編碼識(shí)別^f莫塊302具體還用于將該輸入編碼串與該編碼庫存儲(chǔ)的編碼串進(jìn)行匹配;按照匹配程度由強(qiáng)到弱的順序,從該編碼庫中選出與該輸入編碼串匹配的編碼串作為候選編碼串;
根據(jù)用戶輸入的前一個(gè)文字串,通過Ngram算法,對(duì)該候選編碼串的順序進(jìn)行調(diào)整。
進(jìn)一步的,該輸入模塊303包括
編碼選擇單元303a,用于從該候選編碼串中選出最佳匹配編碼串;編碼解碼單元303b,用于對(duì)該最佳匹配編碼串進(jìn)行解碼;文字轉(zhuǎn)換單元303c,用于根據(jù)詞庫,將該切分后的最佳匹配編碼串轉(zhuǎn)換為候選文字集;
文字選^r單元303d,用于從該候選文字集中選出最佳匹配文字串;文字輸入單元303e,用于將該最佳匹配文字串作為欲輸入的文字串。其中,該編碼選4奪單元303a具體用于
將該編碼庫中匹配程度最強(qiáng)的編碼串作為最佳匹配編碼串,具體的,可以設(shè)定如果沒有接收到用戶手動(dòng)選擇的編碼串,執(zhí)行此操作;
將用戶選擇的編碼串作為最佳匹配編碼串,具體的,可以設(shè)定如果接收到用戶手動(dòng)選擇的編碼串,執(zhí)行此操作。
其中,編碼解碼單元303b具體用于
根據(jù)用戶添加的編碼切分符,對(duì)最佳匹配編碼串進(jìn)行解碼。其中,該文字轉(zhuǎn)換單元303c具體用于
從該詞庫中查找與該解碼后的最佳匹配編碼串匹配的第 一文字串,或者根據(jù)第 一 公式p(w…氣)=; 0,Xp(W21 wj; 031 w2) (>」d) 以及第二公式
,c—",")^,計(jì)算該解碼后的最佳匹配編碼串中各
個(gè)編碼對(duì)應(yīng)的文字串的組合概率;其中,pOv..氣)表示該解碼后的最佳匹配編碼串各個(gè)編碼對(duì)應(yīng)的文字串的組合概率,Im^)表示文字串w"出現(xiàn)的情況
下,文字串氣出現(xiàn)的概率,COv^)是w^氣在語料中出現(xiàn)的次數(shù),C*(w —"")是通過GOOD-Turing平滑算法得到的打折后在語料里出現(xiàn)的次數(shù),a(vv,)是回溯權(quán)值;按照組合概率由大到小的順序排列,從中選擇概率最大的一個(gè)作為第一文字串,將該第一文字串作為該候選文字集;或者,
從該詞庫中查找與該解碼后的最佳匹配編碼串的部分編碼匹配的第二文字串,將該第二文字串作為該候選文字集;或者,
當(dāng)該解碼后的最佳匹配編碼串的各個(gè)編碼的長度小于預(yù)設(shè)長度時(shí),在該字庫中查找包含該最佳匹配編碼串、且長度小于等于該預(yù)設(shè)長度的編碼對(duì)應(yīng)的第三文字串,將該第三文字串作為該候選文字集。
進(jìn)一 步的,可以將上述三種情況的至少 一種作為候選文字集。
其中,該文字選^^單元303d具體用于
將該候選文字集中概率最大的文字串作為最佳匹配文字串,具體的,可以
30設(shè)定如果沒有接收到用戶手動(dòng)選擇的文字串,執(zhí)行此操作;
將該用戶選擇的文字串替換該概率最大的文字串,將該用戶選擇的文字串作為最佳匹配文字串,具體的,可以設(shè)定如果接收到用戶手動(dòng)選擇的文字串,執(zhí)行此操作。
其中,參見圖16,該設(shè)備還包括命令模塊304,用于當(dāng)該輸入編碼串包括命令觸發(fā)鍵和至少 一個(gè)命令編碼時(shí),
根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別該命令編碼表示的候選命令;
從該候選命令中選擇一個(gè)作為輸入命令,并執(zhí)行該輸入命令。
其中,該設(shè)備還包括編碼狀態(tài)模塊305,用于判斷解碼后得到組成該最佳匹配編碼串的各個(gè)編碼的狀態(tài)是完整編碼或非完整編碼,并存儲(chǔ)判斷結(jié)果,具體的,可將其存儲(chǔ)到預(yù)設(shè)的數(shù)組。其中,如果是拼音編碼,則完整編碼和非完整編碼則分別對(duì)應(yīng)筒4并和全4并。
其中,該設(shè)備還包括模糊音模塊306,用于通過模糊編碼集,預(yù)先建立輸入編碼串與校正編碼之間的映射;
根據(jù)該映射,將該輸入編碼串轉(zhuǎn)換為相應(yīng)的校正編碼;
該編碼識(shí)別模塊302,還用于根據(jù)該編碼庫存儲(chǔ)的編碼串,識(shí)別該輸入編碼串表示的候選編碼串和該轉(zhuǎn)換后的校正編碼表示的候選編碼串。
其中,該設(shè)備還包括字詞關(guān)聯(lián)模塊307,用于在該字庫中查找與該最佳匹配文字串相關(guān)的文字串;
在該最佳匹配文字串出現(xiàn)的情況下,按照該相關(guān)的文字串出現(xiàn)概率由大到小的順序,提示用戶下一次輸入的候選文字串。
其中,該設(shè)備還包括詞頻調(diào)整模塊308,用于設(shè)該候選文字串為(、V.A),其對(duì)應(yīng)的概率分別為(A,iV..凡),并設(shè)該最佳匹配文字串為&,其對(duì)應(yīng)的概率為
將除該最佳匹配文字串之外的其他候選文字串&的概率p,減去&,則該其
他候選文字串&的概率變?yōu)?1 - 。 a , i # m , 0<k<0.5;
將該最佳匹配文字串/zm的概本/^加上&,,則該最佳匹配文字串&的概率變
其中,該設(shè)備還包括分解處理模塊309,用于當(dāng)不能識(shí)別該輸入編碼串或者該輸入編碼串對(duì)應(yīng)的候選文字串中沒有用戶欲輸入的文字串時(shí),選取該輸入編碼串的部分編碼;
根據(jù)該詞庫,將該部分編碼轉(zhuǎn)換為第二候選文字集,從該第二候選文字串集選出第二最佳匹配文字串,將該第二最佳匹配文字串作為第二欲輸入的文字串;
根據(jù)該詞庫,將除該部分編碼之外的其他該輸入編碼串轉(zhuǎn)換為第三候選文字集,并按照在該第二最佳匹配文字串存在的情況下,該第三候選文字集中的文字串在該詞庫中出現(xiàn)概率由大到小的順序排列,從該第三候選文字集中選出
第三最佳匹配文字串,將該第三最佳匹配文字串作為第三欲輸入的文字串;
進(jìn)一步的,第二欲輸入的文字串和第三名大輸入的文字串為用戶欲輸入的編碼串。
其中,該設(shè)備還包括存儲(chǔ)模塊310,用于在編碼庫中存儲(chǔ)輸入編碼串,并將輸入編碼串及其對(duì)應(yīng)的第二最佳匹配文字串和第三最佳匹配文字串存儲(chǔ)到詞庫中。
本實(shí)施例提供的設(shè)備,與方法實(shí)施例屬于同一構(gòu)思,其實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。
本實(shí)施例提供的設(shè)備,通過接收用戶以連線鍵盤方式輸入的編碼串后,根據(jù)編碼庫存儲(chǔ)的編碼,識(shí)別所述輸入編碼串表示的候選編碼串,從中選出最佳匹配編碼串,根據(jù)詞庫,將所述解碼后的最佳匹配編碼串轉(zhuǎn)換為候選文字串,從所述候選文字串中選出最佳匹配文字串,將其作為欲輸入的中文,減少了用戶輸入過程中的抬筆和落筆的操作,使輸入過程更加流暢,極大的提高了輸入的速度,給用戶一種全新的連線輸入文字的理念,讓中文輸入變得快捷,輕松。另外,連筆鍵盤中文輸入還具備一定的容錯(cuò)能力,即使連筆軌跡經(jīng)過了不需要輸入的字母,或是沒有經(jīng)過全部需要輸入的字母,都可以正確識(shí)別,容錯(cuò)性好。
以上實(shí)施例提供的技術(shù)方案中的全部或部分內(nèi)容可以通過軟件編程實(shí)現(xiàn),其軟件程序存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)例如計(jì)算機(jī)中的硬盤、光盤或軟盤。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種連筆鍵盤文字輸入的方法,其特征在于,所述方法包括接收用戶通過連筆方式在鍵盤上輸入的編碼串;根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別所述輸入編碼串表示的候選編碼串;根據(jù)所述候選編碼串,輸入相應(yīng)的文字串。
2、 如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)編碼庫存儲(chǔ)的編碼串, 識(shí)別所述輸入編碼串表示的候選編碼串包括將所述輸入編碼串與所述編碼庫存儲(chǔ)的編碼串進(jìn)行匹配; 按照匹配程度由強(qiáng)到弱的順序,從所述編碼庫中選出與所述輸入編碼串匹 配的編碼串作為候選編碼串。
3、 如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)編碼庫存儲(chǔ)的編碼串, 識(shí)別所述輸入編碼串表示的候選編碼串包括將所述輸入編碼串與所述編碼庫存儲(chǔ)的編碼串進(jìn)^f亍匹配;按照匹配程度由強(qiáng)到弱的順序,從所述編碼庫中選出與所述輸入編碼串匹配的編碼串作為候選編碼串;根據(jù)用戶輸入的前一個(gè)文字串,通過Ngram算法,對(duì)所述候選編碼串的順序進(jìn)行調(diào)整。
4、 如權(quán)利要求l所述的方法,其特征在于,所述才艮據(jù)所述候選編碼串,輸 入相應(yīng)的文字串包4舌從所述候選編碼串中選出最佳匹配編碼串; 對(duì)所述最佳匹配編碼串進(jìn)^f亍解碼;根據(jù)詞庫,將所述解碼后的最佳匹配編碼串轉(zhuǎn)換為候選文字集; 從所述候選文字集中選出最佳匹配文字串; 將所述最佳匹配文字串作為欲輸入的文字串。
5、 如權(quán)利要求4所述的方法,其特征在于,所述從所述候選編碼串中選出 最佳匹配編碼串包括將所述編碼庫中匹配程度最強(qiáng)的編碼串作為最佳匹配編碼串;或者, 將用戶選擇的編碼串作為最佳匹配編碼串。
6、 如權(quán)利要求4所述的方法,其特征在于,所述對(duì)所述最佳匹配編碼串進(jìn)行解碼之后包括判斷解碼后得到的所述最佳匹配編碼串的各個(gè)編碼的狀態(tài)是完整編碼或非 完整編碼,并存儲(chǔ)判斷結(jié)果。
7、 如權(quán)利要求6所述的方法,其特征在于,所述々艮據(jù)詞庫,將所述解碼后的最佳匹配編碼串轉(zhuǎn)換為候選文字集包括從所述詞庫中查找與所述解碼后的最佳匹配編碼串匹配的第 一文字串,或 者才艮4居第 一公式…w") = ; (wJ; (W21 w》j^(W31 vv2)-"p(w I w —J以及第二公式c 0 — 、A c(w" j , C(vv,")〉0,計(jì)算所述解碼后的最佳匹配編碼串中<formula>formula see original document page 0</formula>各個(gè)編碼對(duì)應(yīng)的文字串的組合概率;其中,p(w,…,)表示所述解碼后的最佳匹配編碼串各個(gè)編碼對(duì)應(yīng)的文字串的組合概率,p(氣I VVP表示文字串出現(xiàn)的情況下,文字串氣出現(xiàn)的概率,CO^mo是w^氣在語料中出現(xiàn)的次數(shù),c、mvw) 是通過GOOD-Turing平滑算法得到的vv,氣打折后在語料里出現(xiàn)的次數(shù), 是回溯權(quán)值;按照組合概率由大到小的順序排列,從中選擇概率最大的一個(gè)作 為第一文字串,將所述第一文字串作為所述候選文字集;或者,從所述詞庫中查找與所述解碼后的最佳匹配編碼串的部分編碼匹配的第二 文字串,將所述第二文字串作為所述候選文字集;或者,當(dāng)所述解碼后的最佳匹配編碼串對(duì)應(yīng)的文字串的個(gè)數(shù)小于預(yù)設(shè)長度時(shí),在 所述字庫中查找包含所述最佳匹配編碼串、且長度小于等于所述預(yù)設(shè)長度的編 碼對(duì)應(yīng)的第三文字串,將所述第三文字串作為所述候選文字集。
8、 如權(quán)利要求4所述的方法,其特征在于,所述從所述候選文字集中選出 最佳匹配文字串包括將所述候選文字集中概率最大的文字串作為最佳匹配文字串;或者, 將用戶選擇的文字串替換所述概率最大的文字串,將所述用戶選擇的文字 串作為最佳匹配文字串。
9、 如權(quán)利要求4所述的方法,其特征在于,當(dāng)所述輸入編碼串包括命令觸 發(fā)^t和至少一個(gè)命令編碼時(shí),所述方法還包括根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別所述命令編碼表示的候選命令; 從所述候選命令中選擇一個(gè)作為輸入命令,并執(zhí)行所述輸入命令。
10、 如權(quán)利要求4所述的方法,其特征在于,所述對(duì)所述最佳匹配編碼串 進(jìn)行解碼包括才艮據(jù)用戶添加的編碼切分符,對(duì)所述最佳匹配編碼串進(jìn)行解碼。
11、 如權(quán)利要求l所述的方法,其特征在于,所述方法還包括通過模糊編碼集,預(yù)先建立輸入編碼串與校正編碼之間的映射; 根據(jù)所述映射,將所述輸入編碼串轉(zhuǎn)換為相應(yīng)的校正編碼; 則根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別所述輸入編碼串表示的候選編碼串包括 才艮據(jù)所述編碼庫存儲(chǔ)的編碼串,識(shí)別所述輸入編碼串表示的候選編碼串和 所述轉(zhuǎn)換后的校正編碼表示的候選編碼串。
12、 如權(quán)利要求4所述的方法,其特征在于,所述將所述最佳匹配文字串 作為欲輸入的文字串之后包括在所述字庫中查找與所述最佳匹配文字串相關(guān)的文字串; 在所述最佳匹配文字串出現(xiàn)的情況下,按照所述相關(guān)的文字串出現(xiàn)概率由 大到小的順序,提示用戶下一次輸入的候選文字串。
13、 如權(quán)利要求4所述的方法,其特征在于,所述從所述候選文字串中選 出最佳匹配文字串之后包括設(shè)所述候選文字串為(、/v.;o ,其對(duì)應(yīng)的概率分別為(a,;v..pJ ,并設(shè)所述最佳匹配文字串為& ,其對(duì)應(yīng)的一既率為pm;將除所述最佳匹配文字串之外的其他候選文字串化的概率A減去& ,則所述其他候選文字串/^的概率變?yōu)?1-。 A, i-m, 0<k<0.5;將所述最佳匹配文字串/7m的概率&加上& ,則所述最佳匹配文字串&的概率變?yōu)?^+f^ (i^m)。z=l
14、 如權(quán)利要求l所述的方法,其特征在于,所述方法還包括當(dāng)所述編碼庫中不存在所述輸入編碼串或者所述輸入編碼串對(duì)應(yīng)的候選文 字串中沒有用戶欲輸入的文字串時(shí),選取所述輸入編碼串的部分編碼;根據(jù)所述詞庫,將所述部分編碼轉(zhuǎn)換為第二候選文字集,從所述第二候選 文字串集選出第二最佳匹配文字串,將所述第二最佳匹配文字串作為第二欲輸 入的文字串;根據(jù)所述詞庫,將除所述部分編碼之外的其他所述輸入編碼串轉(zhuǎn)換為第三 候選文字集,并按照在所述第二最佳匹配文字串存在的情況下,所述第三候選 文字集中的文字串在所述詞庫中出現(xiàn)概率由大到小的順序排列,從所述第三候 選文字集中選出第三最佳匹配文字串,將所述第三最佳匹配文字串作為第三欲輸入的文字串。
15、 如權(quán)利要求14所述的方法,其特征在于,所述方法還包括 在所述編碼庫中存儲(chǔ)所述輸入編碼串,并將所述輸入編碼串及其對(duì)應(yīng)的所述第二最佳匹配文字串和所述第三最佳匹配文字串存儲(chǔ)到所述詞庫中。
16、 一種連筆鍵盤文字輸入的設(shè)備,其特征在于,所述設(shè)備包括 編碼接收模塊,用于接收用戶通過連筆方式在鍵盤上輸入的編碼串; 編碼識(shí)別模塊,用于根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別所述輸入編碼串表示的候選編碼串;輸入模塊,用于根據(jù)所述候選編碼串,輸入相應(yīng)的文字串。
17、 如權(quán)利要求16所述的設(shè)備,其特征在于,所述編碼識(shí)別模塊具體用于 將所述輸入編碼串與所述編碼庫存儲(chǔ)的編碼串進(jìn)行匹配;按照匹配程度由強(qiáng)到弱的順序,從所述編碼庫中選出與所述輸入編碼串匹 配的編碼串作為候選編碼串。
18、 如權(quán)利要求16所述的設(shè)備,其特征在于,所述編碼識(shí)別模塊具體用于 將所述輸入編碼串與所述編碼庫存儲(chǔ)的編碼串進(jìn)行匹配;按照匹配程度由強(qiáng)到弱的順序,從所述編碼庫中選出與所述輸入編碼串匹 配的編碼串作為候選編碼串;根據(jù)用戶輸入的前一個(gè)文字串,通過Ngmm算法,對(duì)所述候選編碼串的順 序進(jìn)行調(diào)整。
19、 如權(quán)利要求16所述的設(shè)備,其特征在于,所述輸入模塊包括 編碼選擇單元,用于從所述候選編碼串中選出最佳匹配編碼串; 編碼解碼單元,用于對(duì)所述最佳匹配編碼串進(jìn)行解碼; 文字轉(zhuǎn)換單元,用于根據(jù)詞庫,將所述解碼后的最佳匹配編碼串轉(zhuǎn)換為候選文字集;文字選擇單元,用于從所述候選文字集中選出最佳匹配文字串; 文字輸入單元,用于將所述最佳匹配文字串作為欲輸入的文字串。
20、 如權(quán)利要求19所述的設(shè)備,其特征在于,所述編碼選擇單元具體用于 將所述編碼庫中匹配程度最強(qiáng)的編碼串作為最佳匹配編碼串;或者,將用戶選#^的編碼串作為最佳匹配編碼串。
21、 如權(quán)利要求19所述的設(shè)備,其特征在于,所述編碼解碼單元具體用于 根據(jù)用戶添加的編碼切分符,對(duì)所述最佳匹配編碼串進(jìn)行解碼。
22、 如權(quán)利要求16所述的設(shè)備,其特征在于,所述設(shè)備還包括編碼狀態(tài) 模塊,用于判斷解碼后得到的所述最佳匹配編碼串的各個(gè)編碼的狀態(tài)是完整編 碼或非完整編碼,并存儲(chǔ)判斷結(jié)果。
23、 如權(quán)利要求22所述的設(shè)備,其特征在于,所述文字轉(zhuǎn)換單元具體用于 ;^所述詞庫中查找與所述解碼后的最佳匹配編碼串匹配的第一文字串,或者才艮才居第 一 公式<formula>formula see original document page 6</formula>以及第二公式<formula>formula see original document page 6</formula>計(jì)算所述解碼后的最佳匹配編碼串中各個(gè)編碼對(duì)應(yīng)的文字串的組合概率;其中,i7(w,…viO表示所述解碼后的最佳匹配編碼串各個(gè)編碼對(duì)應(yīng)的文字串的組合概率,I VV卩表示文字串出現(xiàn)的情況下,文字串w 出現(xiàn)的概率,c(mv!氣)是w _lW 在語料中出現(xiàn)的次數(shù),o _lW )是通過GOOD-Turing平滑算法得到的打折后在語料里出現(xiàn)的次數(shù), 是回溯權(quán)值;按照組合概率由大到小的順序排列,,人中選^4既率最大的一個(gè)作 為第一文字串,將所述第一文字串作為所述候選文字集;或者,從所述詞庫中查找與所述解碼后的最佳匹配編碼串的部分編碼匹配的第二 文字串,將所述第二文字串作為所述候選文字集;或者,當(dāng)所述解碼后的最佳匹配編碼串的對(duì)應(yīng)的文字串的個(gè)數(shù)小于預(yù)設(shè)長度時(shí), 在所述字庫中查找包含所述最佳匹配編碼串、且長度小于等于所述預(yù)設(shè)長度的 編碼對(duì)應(yīng)的第三文字串,將所述第三文字串作為所述候選文字集。
24、如權(quán)利要求19所述的設(shè)備,其特征在于,所述文字選擇單元,具體 用于將所述候選文字集中概率最大的文字串作為最佳匹配文字串;或者,將用戶選擇的文字串替換所述概率最大的文字串,將所述用戶選擇的文字 串作為最佳匹配文字串。
25、 如權(quán)利要求16所述的設(shè)備,其特征在于,所述設(shè)備還包括命令模塊, 用于當(dāng)所述輸入編碼串包括命令觸發(fā)4建和至少一個(gè)命令編碼時(shí),根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別所述命令編碼表示的候選命令; 從所述候選命令中選擇一個(gè)作為輸入命令,并執(zhí)行所述輸入命令。
26、 如權(quán)利要求16所述的設(shè)備,其特征在于,所述設(shè)備還包括模糊編碼 模塊,用于通過模糊編碼集,預(yù)先建立輸入編碼串與校正編碼之間的映射;根據(jù)所述映射,將所述輸入編碼串轉(zhuǎn)換為相應(yīng)的才交正編碼;所述編碼識(shí)別模塊,還用于根據(jù)所述編碼庫存儲(chǔ)的編碼串,識(shí)別所述輸入 編碼串表示的候選編碼串和所述轉(zhuǎn)換后的校正編碼表示的候選編碼串。
27、 如權(quán)利要求16所述的設(shè)備,其特征在于,所述設(shè)備還包括字詞關(guān)聯(lián) 模塊,用于在所述字庫中查找與所述最佳匹配文字串相關(guān)的文字串;在所述最佳匹配文字串出現(xiàn)的情況下,按照所述相關(guān)的文字串出現(xiàn)概率由 大到小的順序,提示用戶下一次輸入的候選文字串。
28、 如權(quán)利要求16所述的設(shè)備,其特征在于,所述設(shè)備還包括詞頻調(diào)整模塊,用于設(shè)所述候選文字串為(A,V..W ,其對(duì)應(yīng)的概率分別為O,,iV..P"), 并設(shè)所述最佳匹配文字串為Am ,其對(duì)應(yīng)的;fe率為/7m ;將除所述最佳匹配文字串之外的其他候選文字串A,的概率A減去,則所述其他候選文字串&的概率變?yōu)?1-)0 a , i- m , 0<k<0.5;將所述最佳匹配文字串Zzm的概率An加上,則所述最佳匹配文字串&的概率變?yōu)锳+2一 (i^m)。<formula>formula see original document page 7</formula>
29、 如權(quán)利要求16所述的設(shè)備,其特征在于,所述設(shè)備還包括分解處理候選文字串中沒有用戶^l輸入的文字串時(shí),選耳又所述輸入編碼串的部分編碼;根據(jù)所述詞庫,將所述部分編碼轉(zhuǎn)換為第二候選文字集,從所述第二候選 文字串集選出第二最佳匹配文字串,將所述第二最佳匹配文字串作為第二欲輸 入的文字串;根據(jù)所述詞庫,將除所述部分編碼之外的其他所述輸入編碼串轉(zhuǎn)換為第三 候選文字集,并按照在所述第二最佳匹配文字串存在的情況下,所述第三候選 文字集中的文字串在所述詞庫中出現(xiàn)概率由大到小的順序排列,從所述第三候 選文字集中選出第三最佳匹配文字串,將所述第三最佳匹配文字串作為第三欲 輸入的文字串。
30、 如權(quán)利要求29所述的設(shè)備,其特征在于,所述設(shè)備還包括存儲(chǔ)模塊, 用于在所述編碼庫中存儲(chǔ)所述輸入編碼串,并將所述輸入編碼串及其對(duì)應(yīng)的所 述第二最佳匹配文字串和所述第三最佳匹配文字串存儲(chǔ)到所述詞庫中。
全文摘要
本發(fā)明公開了一種連筆鍵盤文字輸入的方法和設(shè)備,屬于輸入法領(lǐng)域。所述方法包括接收用戶通過連筆方式在鍵盤上輸入的編碼串;根據(jù)編碼庫存儲(chǔ)的編碼串,識(shí)別所述輸入編碼串表示的候選編碼串;根據(jù)所述候選編碼串,輸入相應(yīng)的文字串。所述設(shè)備包括編碼接收模塊、編碼識(shí)別模塊和輸入模塊。本發(fā)明通過接收用戶通過連線方式輸入的編碼串后,將其轉(zhuǎn)換為對(duì)應(yīng)的文字串,減少了用戶輸入過程中的抬筆和落筆的操作,輸入過程更加流暢,極大的提高了輸入的速度。
文檔編號(hào)G06F3/048GK101667099SQ20091017832
公開日2010年3月10日 申請(qǐng)日期2009年10月16日 優(yōu)先權(quán)日2009年10月16日
發(fā)明者孟建春, 彭石磊, 程彩虹 申請(qǐng)人:神形互聯(lián)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
黄大仙区| 嘉义县| 邢台县| 巩留县| 娄烦县| 建始县| 环江| 肃南| 台南县| 新邵县| 娄烦县| 建始县| 镇远县| 涿州市| 蓝山县| 永丰县| 蒙阴县| 略阳县| 同江市| 郁南县| 莲花县| 五家渠市| 忻城县| 乌鲁木齐市| 甘洛县| 金川县| 湄潭县| 沙河市| 独山县| 美姑县| 玉树县| 鄂托克前旗| 布尔津县| 紫云| 临湘市| 即墨市| 和静县| 临城县| 铜梁县| 夏邑县| 乌苏市|