專利名稱::中文輸入方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及中文輸入
技術(shù)領(lǐng)域:
,特別涉及一種中文輸入方法和裝置。
背景技術(shù):
:通常,電腦使用者使用中文輸入軟件將漢字輸入到電腦。中文輸入軟件是運(yùn)行于操作系統(tǒng)上的一個工具軟件,可以把鍵盤輸入的編碼或其他非鍵盤輸入的媒體數(shù)據(jù)轉(zhuǎn)換成漢字。目前,中文輸入軟件可分為鍵盤輸入和非鍵盤輸入,比較成熟且使用最廣的是基于鍵盤的中文輸入軟件。鍵盤中文輸入軟件是利用鍵盤,根據(jù)一定的編碼規(guī)則來輸入漢字的一種方法。根據(jù)該編碼規(guī)則對漢字進(jìn)行編碼,并將得到的編碼與鍵盤上的26個英文字母聯(lián)系起來,從而通過鍵盤輸入某個漢字的編碼,然后根據(jù)編碼轉(zhuǎn)換成漢字。通常,在鍵盤上輸入漢字編碼有兩種形式,按照筆畫輸入,或者按照部首輸入。對于目前支持筆畫輸入的所有中文輸入軟件,都要求使用者必須知道待輸入漢字的所有筆畫,并且嚴(yán)格按照筆畫順序輸入,否則,就無法輸入該漢字。對于支持部首輸入的所有中文輸入軟件,通常會在輸入部首后搜索到非常多的漢字,噪聲較大,干擾性較強(qiáng),從而導(dǎo)致輸入效率低下。'
發(fā)明內(nèi)容為了克服現(xiàn)有技術(shù)的缺點,本發(fā)明實施例提供了一種中文輸入方法和裝置。所述技術(shù)方案如下一種中文輸入方法,所述方法包括接收用戶輸入的待輸入漢字的筆畫;如果該筆畫中包含通配符,則將該筆畫中的非通配符按照預(yù)設(shè)的映射規(guī)則轉(zhuǎn)換為筆畫編碼,根據(jù)所述筆畫編碼和通配符,查找預(yù)先建立的筆畫詞庫,找到與所述筆畫編碼和通配符匹配的漢字顯示給用戶;當(dāng)用戶在顯示的漢字中選擇所述待輸入的漢字后,將該漢字顯示在待輸入位置。所述接收用戶輸入的待輸入漢字的筆畫之后,還包括-如果該筆畫中不包含通配符,則將該筆畫按照預(yù)設(shè)的映射規(guī)則轉(zhuǎn)換為筆畫編碼,根據(jù)所述筆畫編碼査找預(yù)先建立的筆畫詞庫,找到與所述筆畫編碼匹配的漢字顯示給用戶,然后執(zhí)行所述當(dāng)用戶在顯示的漢字中選擇所述待輸入的漢字后,將該漢字顯示在待輸入位置的步驟。所述用戶輸入的待輸入漢字的筆畫為該漢字的全部筆畫或部分筆畫。所述通配符包括單筆畫通配符和多筆畫通配符中的至少一種,所述單筆畫通配符代表一個筆畫,所述多筆畫通配符代表任意個筆畫,包括零筆畫。所述預(yù)設(shè)的映射規(guī)則為將漢字標(biāo)準(zhǔn)筆畫中的點橫豎撇捺分別映射為指定的編碼。所述顯示給用戶,具體包括將所述匹配的漢字按照漢字的輸入次數(shù)或輸入時間進(jìn)行排序,然后顯示給用戶。一種中文輸入方法,所述方法包括接收用戶輸入的待輸入漢字的筆畫,按照預(yù)設(shè)的映射規(guī)則對該筆畫進(jìn)行編碼;按照所述編碼査找預(yù)先建立的部首及輔助部首詞庫,找到對應(yīng)的部首和漢字序列顯示給用戶,所述部首及輔助部首詞庫中包含標(biāo)準(zhǔn)部首和預(yù)先定義的輔助部首;當(dāng)用戶在顯示的漢字序列中選擇所述待輸入的漢字后,將該漢字顯示在待輸入位置。所述當(dāng)用戶在顯示的漢字序列中選擇所述待輸入的漢字后,將該漢字顯示在待輸入位置,具體包括判斷用戶是否在顯示內(nèi)容中找到所述待輸入的漢字;如果是,則將該漢字顯示在待輸入的位置處;否則,接收用戶根據(jù)顯示內(nèi)容選擇的部首或者再次輸入的筆畫,并按照該部首或用戶輸入的所有筆畫查找所述部首及輔助部首詞庫,找到對應(yīng)的部首和漢字序列顯示給用戶,直至ij用戶在顯示內(nèi)容中找到所述待輸入的漢字為止,將該漢字顯示在待輸入的位置處。'所述部首及輔助部首詞庫中的每一個輔助部首還具有一個對應(yīng)的圖片,圖片的內(nèi)容為顯示該輔助部首,相應(yīng)地,所述找到對應(yīng)的部首和漢字序列顯示給用戶,具體包括找到對應(yīng)的部首和漢字序列,將該部首對應(yīng)的圖片和該漢字序列顯示給用戶。所述用戶輸入的筆畫中包括通配符,所述通配符包括單筆畫通配符和多筆畫通配符中的至少一種,所述單筆畫通配符代表一個筆畫,所述多筆畫通配符代表任意個筆畫,包括零筆畫。所述預(yù)設(shè)的映射規(guī)則為將漢字標(biāo)準(zhǔn)筆畫中的點橫豎撇捺分別映射為指定的編碼。所述找到對應(yīng)的漢字序列顯示給用戶,具體包括將找到的漢字按照漢字的輸入次數(shù)或輸入時間進(jìn)行排序,然后顯示給用戶。一種中文輸入裝置,所述裝置包括-接收模塊,用于接收用戶輸入的待輸入漢字的筆畫;査找模塊,用于如果所述接收模塊收到的該筆畫中包含通配符,則將該筆畫中的非通配符按照預(yù)設(shè)的映射規(guī)則轉(zhuǎn)換為筆畫編碼,根據(jù)所述筆畫編碼和通配符,査找預(yù)先建立的筆畫詞庫,找到與所述筆畫編碼和通配符匹配的漢字;顯示模塊,用于將所述査找模塊找到的內(nèi)容顯示給用戶,當(dāng)用戶在顯示的漢字中選擇所述待輸入的漢字后,將該漢字顯示在待輸入位置。所述查找模塊還用于如果所述接收模塊收到的該筆畫中不包含通配符,則將該筆畫按照預(yù)設(shè)的映射規(guī)則轉(zhuǎn)換為筆畫編碼,根據(jù)所述筆畫編碼查找預(yù)先建立的筆畫詞庫,找到與所述筆畫編碼匹配的漢字。所述通配符包括單筆畫通配符和多筆畫通配符中的至少一種,所述單筆畫通配符代表一個筆畫,所述多筆畫通配符代表任意個筆畫,包括零筆畫。所述顯示模塊具體包括第一顯示單元,用于將所述査找模塊找到的漢字按照漢字的輸入次數(shù)或輸入時間進(jìn)行排序,然后顯示給用戶;第二顯示單元,用于當(dāng)用戶在顯示的漢字中選擇所述待輸入的漢字后,將該漢字顯示在;待輸入位置。一種中文輸入裝置,所述裝置包括接收模塊,用于接收用戶輸入的待輸入漢字的筆畫;査找模塊,用于按照預(yù)設(shè)的映射規(guī)則對所述接收模塊收到的該筆畫進(jìn)行編碼,按照所^編碼查找預(yù)先建立的部首及輔助部首詞庫,找到對應(yīng)的部首和漢字序列,所述部首及輔助部'首詞庫中包含標(biāo)準(zhǔn)部首和預(yù)先定義的輔助部首;顯示模塊,用于將所述查找模塊找到的內(nèi)容顯示給用戶,當(dāng)用戶在顯示的漢字序列中選擇所述待輸入的漢字后,將該漢字顯示在待輸入位置。所述裝置還包括判斷模塊,用于判斷用戶是否在所述顯示模塊顯示內(nèi)容中找到所述待輸入的漢字;所述接收模塊還用于如果所述判斷模塊判斷的結(jié)果為否,則接收用戶根據(jù)顯示內(nèi)容選擇的部首或者再次輸入的筆畫;所述查找模塊還用于按照所述接收模塊收到的該部首或用戶輸入的所有筆畫,再次査找所述部首及輔助部首詞庫,找到對應(yīng)的部首和漢字序列顯示給用戶,直到用戶在顯示內(nèi)容中找到所述待輸入的漢字為止;所述顯示模塊具體包括第一顯示單元,用于將所述査找模塊找到的內(nèi)容顯示給用戶;第二顯示單元,用于如果所述判斷模塊判斷的結(jié)果為是,則將用戶找到的漢字顯示在待輸入的位置處,或者當(dāng)所述査找模塊再次查找后,將用戶找到的漢字顯示在待輸入的位置處。所述部首及輔助部首詞庫中的每一個輔助部首還具有一個對應(yīng)的圖片,圖片的內(nèi)容為顯示該輔助部首,相應(yīng)地,所述顯示模塊將所述查找模塊找到的內(nèi)容顯示給用戶,具體為將找到的部首對應(yīng)的圖片和找到的漢字序列顯示給用戶。所述用戶輸入的筆畫中包括通配符,所述通配符包括單筆畫通配符和多筆畫通配符中的至少一種,所述單筆畫通配符代表一個筆畫,所述多筆畫通配符代表任意個筆畫,包括零筆畫。本發(fā)明實施例提供的上述方法和裝置,通過通配符或者輔助編碼,提高了詞庫的查找速度,加快了漢字的定位速度,極大地降低了搜索過程中的千擾強(qiáng)度,提高了漢字輸入效率,能夠?qū)崿F(xiàn)便捷地輸入生僻字、復(fù)雜難字,而且無需用戶必須知道漢字的所有筆畫順序,極大地方便了用戶使用,使得用戶可以快速輸入不認(rèn)識的漢字。上述技術(shù)方案還支持自動更新。筆畫詞庫中可以存儲數(shù)字編碼,也可以存儲字母編碼,提高了靈活性。部首及輔助部f詞庫中還可以存儲圖片編碼,給用戶提供可以顯示部首的圖片,極大地提高了用戶的體驗。圖1是本發(fā)明實施例提供的中文輸入方法一種流程圖2a是本發(fā)明實施例提供的筆畫輸入方式輸入漢字曱的示意圖2b是本發(fā)明實施例提供的筆畫i^入方式使用通配符輸入漢字曱的示意圖3a是本發(fā)明實施例提供的筆畫iJ入方式輸入漢字蠤的示意圖3b是本發(fā)明實施例提供的筆畫i^入方式使用通配符輸入漢字蠤的示意圖4a是本發(fā)明實施例提供的筆畫輸入方式使用單筆畫通配符輸入漢字鞾的示意圖4b是本發(fā)明實施例提供的筆畫輸入方式使用多筆畫通配符輸入漢字鞾的示意圖5是本發(fā)明實施例提供的中文輸入方法另一種流程圖6ae是本發(fā)明實施例提供的部首輸入方式輸入漢字騰的過程示意圖7ad是本發(fā)明實施例提供的部首輸入方式輸入漢字鞾的過程示意圖8為本發(fā)明實施例提供的中文輸入裝置一種結(jié)構(gòu)圖;圖9為本發(fā)明實施例提供的中文輸入裝置另一種結(jié)構(gòu)圖。具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。本發(fā)明實施例提供了一種中文輸入方法,包括接收用戶輸入的待輸入漢字的筆畫;如果該筆畫中包含通配符,則將該筆畫中的非通配符按照預(yù)設(shè)的映射規(guī)則轉(zhuǎn)換為筆畫編碼,根據(jù)筆畫編碼和通配符,查找預(yù)先建立的筆畫詞庫,找到與筆畫編碼和通配符匹配的漢字顯示給用戶;當(dāng)用戶在顯示的漢字屮選擇待輸入的漢字后,將該漢字顯示在待輸入位置。該方法采用筆畫輸入方式,參見圖l,具體過程如下步驟10h預(yù)先建立筆畫詞庫并定義通配符;其中,筆畫詞庫包括筆畫和筆畫編碼,具體地,可以如表l所示。<table>tableseeoriginaldocumentpage10</column></row><table>在本實施例中,筆畫編碼是根據(jù)預(yù)設(shè)的映射規(guī)則得到的。該預(yù)設(shè)的映射規(guī)則具體如下:漢字的標(biāo)準(zhǔn)筆畫有五種點橫豎撇捺折,對應(yīng)編碼為412345。參見表2,可以表示如下<table>tableseeoriginaldocumentpage10</column></row><table>其中,為了符合中文的輸入習(xí)慣,將"點"和"捺"對應(yīng)為同一個編碼"4"。上述標(biāo)準(zhǔn)筆畫對應(yīng)的編碼也可以根據(jù)需要修改為其它的值,本實施例不做具體限定,優(yōu)選地,按照上述映射規(guī)則進(jìn)行筆畫編碼。如表l中的漢字"丟",其筆畫為撇橫豎橫折點,對應(yīng)編碼為312154;再如漢字"汆",該字的標(biāo)準(zhǔn)讀音為"cuan",筆畫為撇捺豎折撇捺,對應(yīng)的筆畫編碼為342532。進(jìn)一步地,為了方便用戶輸入,可以將上述標(biāo)準(zhǔn)筆畫分別與鍵盤上的英文字母對應(yīng)起來,如將橫豎撇捺折(點)與鍵盤上的字母hspn(d)z分別對應(yīng)起來,以方便用戶輸入。即上述預(yù)設(shè)的映射規(guī)則也可以如表3所示。表3<table>tableseeoriginaldocumentpage11</column></row><table>相應(yīng)地,如果預(yù)設(shè)的映射規(guī)則為表3的形式,則上述筆畫詞庫中也可以直接存儲與筆凾編碼對應(yīng)的英文字母,如在詞庫中保存"汆"對應(yīng)的英文字母"pnszpn"。,本實施例中的筆畫詞庫中的漢字可以根據(jù)互聯(lián)網(wǎng)上的信息進(jìn)行收集和整理。進(jìn)一步地,;還可以從服務(wù)器上收集用戶同步上來的文件,并且經(jīng)過篩選、去重和人工整理后,作為新版'本的詞庫隨新版本輸入法程序發(fā)布。用戶在進(jìn)行輸入法升級時,自動更新程序會自動將用戶本地的詞庫更新為最新版本,并且更新相應(yīng)的版本文件。本實施例中的通配符包括兩種單筆畫通配符和多筆畫通配符。其中,單筆畫通配符是指該通配符代表一個筆畫,而多筆畫通配符是指該筆畫可以代表一個筆畫,也可以代表多個筆畫,還可以代表無筆畫,即0個筆畫。在用戶明確待輸入漢字的筆畫個數(shù)的情況下,優(yōu)選地,可以使用單筆畫通配符,以提高搜索速度;在用戶不確定待輸入漢字的筆畫順序的情況下,優(yōu)選地,可以使用多筆畫通配符,以簡化用戶的輸入,實現(xiàn)模糊查找。其中,單筆畫通配符和多筆畫通配符可以為任意符號,具體根據(jù)需要進(jìn)行設(shè)置,本發(fā)明實施例不做具體限定。例如,本實施例中,采用"?"作為單筆畫通配符,采用作為多筆畫通配符。當(dāng)用戶輸入"h"時,代表該筆畫有兩筆,第一筆為橫,第二筆為任意筆畫;當(dāng)用戶輸入"W時,由于*可以代表任意筆畫,包括零筆畫,因此,該筆畫可以為一筆,就是橫,也可以為兩筆,相當(dāng)于"h",也可以為三筆,相當(dāng)于"h",等等,依此類推。步驟102:接收用戶輸入的待輸入漢字的筆畫,判斷該筆畫中是否有通配符,如果是,則執(zhí)行步驟103;否則,執(zhí)行步驟105;步驟103:將該筆畫中的非通配符按照上述預(yù)設(shè)的映射規(guī)則,轉(zhuǎn)換為筆畫編碼;步驟104:根據(jù)轉(zhuǎn)換后的筆畫編碼和用戶輸入筆畫中的通配符,查找上述筆畫詞庫,找到匹配該筆畫編碼和通配符的漢字,并顯示給用戶,然后執(zhí)行步驟106;具體地,在根據(jù)通配符進(jìn)行匹配査找時,可以分段進(jìn)行搜索匹配,如"s*hs*Spn",可以先搜索第一個筆畫為豎的漢字,得到第一個搜索結(jié)果集,然后在第一個搜索結(jié)果集內(nèi),搜索包含橫豎的漢字,其中橫豎的位置可以在除第一筆以外的任何位置,得到第二個搜索結(jié)果集,然后在第二個搜索結(jié)果集內(nèi),搜索包含豎撇捺的漢字,其中,豎撇捺的位置可以在橫豎之后的任何位置,得到第三個搜索結(jié)果集,顯示給用戶,用戶可以在該第三個搜索結(jié)果集中找到待輸入的漢字。由于搜索范圍通過通配符可以一歩一歩地縮小,從而加快了搜索的速度,提高了輸入的效率。步驟105:將該筆畫按照上述預(yù)設(shè)的映射規(guī)則轉(zhuǎn)換為筆畫編碼,根據(jù)該筆畫編碼査找上述筆畫詞庫,找到匹配該筆畫編碼的漢字顯示給用戶,然后執(zhí)行步驟106;其中,步驟102至105中,顯示搜索到的漢字結(jié)果給用戶是跟隨用戶輸入的筆畫而進(jìn)行的,即當(dāng)用戶輸入第一筆筆畫時,就將當(dāng)前匹配該第一筆筆畫的漢字顯示給用戶,當(dāng)用戶輸入到第二筆筆畫時,就將當(dāng)前匹配該兩筆筆畫的漢字顯示給用戶,依此類推,直到用戶停止輸入筆畫,則不再更新漢字的顯示內(nèi)容。例如,用戶輸入的筆畫有5筆,則每輸入一筆,顯'示的結(jié)果都會發(fā)生變化,而不是在5筆全部輸入完成后,才進(jìn)行顯不。本實施例中,包括步驟104和105,當(dāng)顯示搜索到的漢字給用戶時,漢字的顯示順序可以根據(jù)需要進(jìn)行設(shè)置,包括但不限于根據(jù)漢字的輸入次數(shù)或漢字的輸入時間來排序。如按照漢字的使用頻度從高到低進(jìn)行排序后顯示,或者,按照漢字最后一次使用的時間從近到遠(yuǎn)進(jìn)行排序后顯示等等。步驟106:等待用戶否確認(rèn)待輸入的漢字,當(dāng)用戶在當(dāng)前顯示的漢字中確認(rèn)并選擇待輸入的漢字后,將該漢字顯示在待輸入的位置處,完成當(dāng)前漢字的輸入,流程結(jié)束。本實施例中,通常,用戶會在多種應(yīng)用軟件中需要輸入漢字,所述待輸入的位置處,是指用戶當(dāng)前使用的應(yīng)用軟件中待輸入漢字所在的位置,該應(yīng)用軟件包括當(dāng)不限于word、excel、visio、photoshop等等。本實施例中,如果當(dāng)前搜索到的漢字較多,則可以采用多屏顯示的方式,即分多頁顯示,并在界面上設(shè)置翻頁按鈕,從而用戶可以通過翻頁按鈕來翻頁進(jìn)行査找。其中,每頁顯示的漢字?jǐn)?shù)目可以根據(jù)需要設(shè)置和修改。本實施例中,用戶輸入的筆畫可以是待輸入漢字的全部筆畫,也可以是部分筆畫,本發(fā)明實施例對此不做具體限定。如某個漢字有15個筆畫,用戶可以輸入15個筆畫,也可以輸入前10個筆畫,或者前8個筆畫等等。無論用戶輸入全部筆畫,還是部分筆畫,均可以輸入通配符。下面以幾個具體的例子說明上述筆畫輸入的過程。參見圖2a,用戶待輸入漢字"曱",在輸入法工具中敲入"uszhhs",則輸入法工具會將其轉(zhuǎn)換為"25112",在筆畫詞庫中查找到與該編碼匹配的漢字,并顯示出來,由于匹配的漢字較多,因此多頁顯示,第一頁顯示5個漢字,其中,第3個為"曱",因此,用戶可以直接選擇第3個漢字,完成該字的輸入。參見圖2b,用戶也可以使用通配符來輸入,如輸入"us化s",則輸入法工具會將其轉(zhuǎn)換為"2*12",并按照該編碼在筆畫詞庫中査找匹配的漢字,并顯示出來,用戶在顯示的內(nèi)容中選擇第3個漢字,完成該字的輸入。其中,用戶輸入的第一個字母"u"代表當(dāng)前輸入法采用筆畫輸入模式,是個標(biāo)識符,不作為編碼的一部分,因此,不用對該字母進(jìn)行轉(zhuǎn)換。類似地,輸入法還可以規(guī)定其它不能作為聲母的字母為標(biāo)識符,如"v"或"i"等等,本發(fā)明實施例不做具體限定。參見圖3a,用戶待輸入漢字"籯",在輸入法工具中輸入"uhdzsddddszhshs",該筆畫就為部分筆畫,即僅輸入全部筆畫23個中的前14個筆畫,將該14個筆畫轉(zhuǎn)換為編碼后在詞庫中查找到2個匹配的漢字,第2個即用戶待輸入的漢字。參見圖3b,用戶使用通配符,輸入"uhdzs*sz*sz*sz",則將其轉(zhuǎn)換為編碼后查找到5個匹配的漢字,顯示給用戶,其中,第4個為用戶待輸入的漢字,用戶選擇該字后完成輸入。參見圖4a,用戶待輸入"鞾"字,輸入"uszhhss",將其轉(zhuǎn)換為編碼后搜索到5個匹配的漢字,顯示給用戶,其中第4個為待輸入的漢字,用戶選擇該字后完成輸入。參見圖4b,如果用戶不知道其中幾筆的筆畫順序,也可以使用通配符"*,',則輸入"fszhhzshs",將其轉(zhuǎn)換為編碼后搜索到5個匹配的漢字,顯示給用戶,其中第5個為待輸入的漢字,用戶選擇該字后完成輸入。本發(fā)明實施例還提供了一種中文輸入方法,包括接收用戶輸入的待輸入漢字的筆畫,按照預(yù)設(shè)的映射規(guī)則對該筆畫進(jìn)行編碼;按照該編碼査找預(yù)先建立的部首及輔助部首詞庫,找到對應(yīng)的部首和漢字序列顯示給用戶,該部首及輔助部首詞庫中包含標(biāo)準(zhǔn)部首和預(yù)先定義的輔助部首;當(dāng)用戶在顯示的漢字序列中選擇待輸入的漢字后,將該漢字顯示在待輸入位置。該方法采用部首輸入方式,參見圖5,具體過程如下步驟501:預(yù)先建立部首及輔助部首詞庫;其中,部首及輔助部首詞庫的格式有多種,參見表4,舉例如下表4<table>tableseeoriginaldocumentpage14</column></row><table>該部首及輔助部首詞庫包括部首筆畫、部首輔助編碼、部首對應(yīng)的圖片編碼和對應(yīng)該部首的漢字序列。在本實施例中,部首筆畫的編碼是根據(jù)預(yù)設(shè)的映射規(guī)則得到的。該預(yù)設(shè)的映射規(guī)則具體如下漢字的標(biāo)準(zhǔn)筆畫有五種點橫豎撇捺折,對應(yīng)編碼為412345。其中,為了符合中文的輸入習(xí)慣,將"點"和"捺"對應(yīng)為同一個編碼"4"。上述標(biāo)準(zhǔn)筆畫對應(yīng)的編碼也可以根據(jù)需要修改為其它的值。詞庫中的部首筆畫編碼可以用來初歩索引待輸入的漢字。漢字的標(biāo)準(zhǔn)部首是公認(rèn)的,且數(shù)量確定的漢字偏旁部首,如"王"、"口"、"門"、"小"'等等。由于漢字的標(biāo)準(zhǔn)部首比較有限,會造成噪聲干擾,本實施例中,進(jìn)一步地,為了消除'干擾,提高輸入效率,增設(shè)了部首輔助編碼,即創(chuàng)建一些新的部首作為輔助部首,與標(biāo)準(zhǔn)部墓,《:5首一起保存在詞庫中。例如,"干"、"于"、"』』"、"^"等等。部首輔助編碼是建立詞庫時設(shè)置的,根據(jù)需要可以修改。在表4所示的例子中,"于"和"干"的輔助編碼分別是0xla04、0xla05。在部首筆畫編碼相同的情況下,通過部首輔助編碼可以很容易地進(jìn)一步縮小搜索范圍,實現(xiàn)詞庫內(nèi)更精確的查找。本實施例中,由于有些輔助部首不是單獨的漢字,在漢字的輸入過程中為了能顯示在輸入工具中方便用戶査看,進(jìn)一步地,在上述詞庫中還可以建立輔助部首的圖片編碼,該圖片編碼對應(yīng)了顯示該輔助部首的圖片,這些圖片為預(yù)先創(chuàng)建的,可以保存在單獨的數(shù)據(jù)庫中,也可以保存在該部首及輔助部首詞庫中。在表4所示的例子中,"于"和"干"的圖片編碼分別為0xla041、Oxla05。另外,對于標(biāo)準(zhǔn)部首,除了在詞庫中保存該部首外,為了和輔助部首保持統(tǒng)一,也可以保存該部首對應(yīng)的圖片,即為每個標(biāo)準(zhǔn)部首都建立一個相應(yīng)的顯示該部首的圖片,然后設(shè)置該圖片的編碼,保存在詞庫中。上述部首及輔助部首詞庫中,部首的漢字序列中保存了包含當(dāng)前部首、或者當(dāng)前輔助部首的所有漢字,在用戶輸入的過程中顯示在工具界面上,用戶可以在該序列中精確定位待輸入的漢字。詞庫中存儲的漢字序列可以為漢字本身,也可以為漢字的編碼,當(dāng)搜索到漢字編碼時,通過該編碼再搜索對應(yīng)的漢字,然后顯示給用戶。本實施例中,在創(chuàng)建輔助部首時,可以根據(jù)漢字拆分后的各個組成部分來創(chuàng)建。如可以將某個漢字拆分后的各個部分、按照從左到右、從上到下依次組合得到的每個偏旁都作為輔助部首,從而可以實現(xiàn)更精確的查找;也可以按照偏旁在漢字中出現(xiàn)的頻率,選取其中一部分偏旁作為輔助部首,從而可以簡化詞庫,節(jié)省資源。例如,可以將"騰"拆分后得到的四個偏旁""、"月"、"iH'均作為輔助部首,也可以選取其中的"』J"和"iU"作為輔助部首等等。步驟502:接收用戶輸入的待輸入漢字的筆畫,按照上述預(yù)設(shè)的映射規(guī)則對該筆畫進(jìn)行編碼;步驟503:根據(jù)該編碼査找上述部首及輔助部首詞庫,找到該編碼對應(yīng)的部首,包括標(biāo)準(zhǔn)部首和輔助部首,以及對應(yīng)的漢字序列,并將找到的所有部首以及漢字序列都顯示給用戶;本實施例中,具體地,可以在中文輸入軟件的顯示界而上,設(shè)置一個部首選擇區(qū),當(dāng)從部首即輔助部首詞庫中搜索到部首后,可以將其顯示在該部首選擇區(qū)內(nèi);并且,還可以在界面上設(shè)置一個候選字區(qū),將搜索到的漢字序列顯示在該候選字區(qū)內(nèi),以方便用戶查看。優(yōu)逸地,部首選擇區(qū)和候選字區(qū)同時進(jìn)行顯示。步驟504:判斷用戶是否確認(rèn)并找到待輸入的漢字,如果是,則執(zhí)行步驟505;否則,執(zhí)行步驟506;步驟505:表明當(dāng)前顯示的漢字序列內(nèi)存在用戶待輸入的漢字,因此,在用戶確認(rèn)并選擇該漢字后,將該漢字顯示在待輸入的位置處,完成當(dāng)前漢字的輸入,流程結(jié)束。步驟506:接收用戶在部首選擇區(qū)選擇的部首,根據(jù)用戶選擇的該部首査找到包含該部首的所有部首,以及與該部首對應(yīng)的漢字序列,并將搜索到的部首以及漢字序列顯示給用戶,返回執(zhí)行步驟504;其中,步驟506可以重復(fù)多次,即用戶多次選擇部首,直到用戶在顯示的漢字序列中找到待輸入的漢字為止,完成當(dāng)前輸入流程。本實施例中,通常,用戶會在多種應(yīng)用軟件中需要輸入漢字,所述用戶待輸入漢字的位置處,是指用戶當(dāng)前使用的應(yīng)用軟件中待輸入漢字所在的位置,該應(yīng)用軟件包括當(dāng)不限于word、excel、visio、photoshop等等。本實施例中,如果當(dāng)前搜索到的部首或漢字序列較多,則可以采用多屏顯示的方式,即分多頁顯示,并在頁面上設(shè)置翻頁按鈕,從而用戶可以通過翻頁按鈕來翻頁進(jìn)行查找。其中,每頁顯示的漢字?jǐn)?shù)目可以根據(jù)需要設(shè)置和修改。例如,參見圖6ae,用戶待輸入漢字"騰",參見圖6a,用戶打開中文輸入工具,首先輸入"J",部首選擇區(qū)內(nèi)會顯示所有包含"j"的部首,候選字區(qū)會顯示所有包含"〗"的漢字,參見圖6b,用戶在顯示的部首中,選擇"/l",則部首選擇區(qū)會顯示所有包含"Jl"的部首,候選字區(qū)也進(jìn)行相應(yīng)的顯示,顯示所有包含"/l"的漢字序列;參見圖6c,用戶選擇"月",則部首選擇區(qū)和候選字區(qū)分別顯示包含"月"的部首和漢字序列;參見圖6d,用戶選擇部首則部首選擇區(qū)和候選字區(qū)分別顯示包含的部首和漢字序列,由于詞庫中沒有包含"iff』"的部首,因此,部首選擇區(qū)內(nèi)為空,由于候選字區(qū)內(nèi)包含"騰",因此用戶可以用鼠標(biāo)點擊該漢字,從而將該漢字顯示到屏幕上待輸入的位置處,完成"騰"字的輸入。進(jìn)一步地,為了加快搜索的速度,尤其是復(fù)雜漢字的搜索,本實施例中,還可以提供通配符供用戶使用,包括單筆畫通配符和多筆畫通配符,具體含義同上述實施例中的描述,itl:處不再贅述。例如,參見圖7ad,用戶輸入"??1^此時,用戶可能不知道該字的前3個筆畫的順序,因此,輸入了通配符,通過用戶輸入的筆畫可以搜索到一些部首,顯示給用戶,用戶選擇其中的"^"部首后,通過該部首可以搜索到相應(yīng)的漢字顯示給用戶,用戶通過翻頁查找到待輸入的漢字,完成輸入。本實施例中,步驟501中建立的部首及輔助部首詞庫可以根據(jù)互聯(lián)網(wǎng)上的信息進(jìn)行收集和整理。進(jìn)一步地,后期還可以從服務(wù)器上收集用戶同歩上來的文件,并且經(jīng)過篩選、去重和人工整理后,作為新版本的詞庫隨新版本輸入法程序發(fā)布。用戶在進(jìn)行輸入法升級時,自動更新程序會自動將用戶本地的詞庫更新為最新版本,并且更新相應(yīng)的版本文件。參見圖8,本實施例提供了一種中文輸入裝置,包括接收模塊801,用于接收用戶輸入的待輸入漢字的筆畫;查找模塊802,用于如果接收模塊801收到的該筆畫中包含通配符,則將該筆畫中的非通配符按照預(yù)設(shè)的映射規(guī)則轉(zhuǎn)換為筆畫編碼,根據(jù)筆畫編碼和通配符,查找預(yù)先建立的筆畫詞庫,找到與筆畫編碼和通配符匹配的漢字;顯示模塊803,用于將查找模塊802找到的內(nèi)容顯示給用戶,當(dāng)用戶在顯示的漢字中選擇待輸入的漢字后,將該漢字顯示在待輸入位置。其中,査找模塊802可以具體包括轉(zhuǎn)換單元,用于如果接收模塊801收到的該筆畫中包含通配符,則將該筆畫中的非通配符按照預(yù)設(shè)的映射規(guī)則轉(zhuǎn)換為筆畫編碼;查找單元,用于根據(jù)筆畫編碼和通配符,査找預(yù)先建立的筆畫詞庫,找到與筆畫編碼和通配符匹配的漢字。進(jìn)一步地,上述查找模塊802還可以用于如果接收模塊801收到的該筆畫中不包含通配符,則將該筆畫按照預(yù)設(shè)的映射規(guī)則轉(zhuǎn)換為筆畫編碼,根據(jù)筆畫編碼查找預(yù)先建立的筆畫詞庫,找到與筆畫編碼匹配的漢字。本實施例中的通配符包括單筆畫通配符和多筆畫通配符中的至少一種,單筆畫通配符代表一個筆畫,多筆畫通配符代表任意個筆畫,包括零筆畫,具體同上述方法實施例中的描述。本實施例中,顯示模塊803可以具體包括第一顯示單元,用于將査找模塊802找到的漢字按照漢字的輸入次數(shù)或輸入時間進(jìn)行排序,然后顯示給用戶;第二顯示單元,用于當(dāng)用戶在顯示的漢字中選擇待輸入的漢字后,將該漢字顯示在待輔入位置。參見圖9,本實施例提供了一種中文輸入裝置,包括接收模塊901,用于接收用戶輸入的待輸入漢字的筆畫;查找模塊902,用于按照預(yù)設(shè)的映射規(guī)則對接收模塊卯l收到的該筆畫進(jìn)行編碼,按照編碼查找預(yù)先建立的部首及輔助部首詞庫,找到對應(yīng)的部首和漢字序列,部首及輔助部首詞庫中包含標(biāo)準(zhǔn)部首和預(yù)先定義的輔助部首;顯示模塊903,用于將査找模塊902找到的內(nèi)容顯示給用戶,當(dāng)用戶在顯示的漢字序列中選擇待輸入的漢字后,將該漢字顯示在待輸入位置。其中,查找模塊902可以具體包括編碼單元,用于按照預(yù)設(shè)的映射規(guī)則對接收模塊901收到的該筆畫進(jìn)行編碼;查找單元,用于按照編碼單元得到的編碼,査找預(yù)先建立的部首及輔助部首詞庫,找到對應(yīng)的部首和漢字序列,部首及輔助部首詞庫中包含標(biāo)準(zhǔn)部首和預(yù)先定義的輔助部首。進(jìn)一步地,上述裝置還可以包括判斷模塊,用于判斷用戶是否在顯示模塊903顯示內(nèi)容中找到待輸入的漢字;相應(yīng)地,接收模塊卯l還用于如果判斷模塊判斷的結(jié)果為否,則接收用戶根據(jù)顯示內(nèi)容選擇的部首或者再次輸入的筆畫;以及,査找模塊902還用于按照接收模塊901收到的該部首或用戶輸入的所有筆畫,再次査找部首及輔助部首詞庫,找到對應(yīng)的部首和漢字序列顯示給用戶,直到用戶在顯示內(nèi)容中找到待輸入的漢字為止;相應(yīng)地,顯示模塊903具體包括第一顯示單元,用于將查找模塊902找到的內(nèi)容顯示給用戶;第二顯示單元,用于如果判斷模塊判斷的結(jié)果為是,則將用戶找到的漢字顯示在待輸入的位置處,或者當(dāng)查找模塊902再次查找后,將用戶找到的漢字顯示在待輸入的位置處。本實施例中,所述部首及輔助部首詞庫中的每一個輔助部首還具有一個對應(yīng)的圖片,圖片的內(nèi)容為顯示該輔助部首,相應(yīng)地,顯示模塊卯3將査找模塊902找到的內(nèi)容顯示給用戶,具體為將找到的部首對應(yīng)的圖片和找到的漢字序列顯示給用戶。本實施例中,用戶輸入的筆畫中包括通配符,通配符包括單筆畫通配符和多筆畫通配符中的至少一種,單筆畫通配符代表一個筆畫,多筆畫通配符代表任意個筆畫,包括零筆畫,具體同上述方法實施例中的描述。本發(fā)明實施例提供的上述方法和裝置,通過通配符或者輔助編碼,提高了詞庫的查找速度,加快了漢字的定位速度,極大地降低了搜索過程中的干擾強(qiáng)度,提高了漢字輸入效率,能夠?qū)崿F(xiàn)便捷地輸入生僻字、復(fù)雜難字,而且無需用戶必須知道漢字的所有筆畫順序,極大地方便了用戶使用,使得用戶可以快速輸入不認(rèn)識的漢字。上述技術(shù)方案還支持自動更新。筆畫詞庫中可以存儲數(shù)字編碼,也可以存儲字母編碼,提高了靈活性。部首及輔助部首詞庫中還可以存儲圖片編碼,給用戶提供可以顯示部首的圖片,極大地提高了用戶的體驗。本發(fā)明實施例提供的上述技術(shù)方案的全部或部分可以通過程序指令相關(guān)的硬件來完成,所述程序可以存儲在可讀取的存儲介質(zhì)中,該存儲介質(zhì)包括ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所述僅為本發(fā)明的較佳實施例,并不用以限制木發(fā)明,凡在本發(fā)明的精祌和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1、一種中文輸入方法,其特征在于,所述方法包括接收用戶輸入的待輸入漢字的筆畫;如果該筆畫中包含通配符,則將該筆畫中的非通配符按照預(yù)設(shè)的映射規(guī)則轉(zhuǎn)換為筆畫編碼,根據(jù)所述筆畫編碼和通配符,查找預(yù)先建立的筆畫詞庫,找到與所述筆畫編碼和通配符匹配的漢字顯示給用戶;當(dāng)用戶在顯示的漢字中選擇所述待輸入的漢字后,將該漢字顯示在待輸入位置。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收用戶輸入的待輸入漢字的筆畫之后,還包括如果該筆畫中不包含通配符,則將該筆畫按照預(yù)設(shè)的映射規(guī)則轉(zhuǎn)換為筆畫編碼,根據(jù)所述筆畫編碼査找預(yù)先建立的筆畫詞庫,找到與所述筆畫編碼匹配的漢字顯示給用戶,然后執(zhí)行所述當(dāng)用戶在顯示的漢字中選擇所述待輸入的漢字后,將該漢字顯示在待輸入位置的步驟。3、根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述用戶輸入的待輸入漢字的筆畫為該漢字的全部筆畫或部分筆畫。4、根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述通配符包括單筆畫通配符和多筆畫通配符中的至少一種,所述單筆畫通配符代表一個筆畫,所述多筆畫通配符代表任意個筆畫,包括零筆畫。5、根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述預(yù)設(shè)的映射規(guī)則為將漢字標(biāo)準(zhǔn)筆畫中的點橫豎撇捺分別映射為指定的編碼。6、根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述顯示給用戶,具體包括將所述匹配的漢字按照漢字的輸入次數(shù)或輸入時間進(jìn)行排序,然后顯示給用戶。7、一種中文輸入方法,其特征在于,所述方法包括-接收用戶輸入的待輸入漢字的筆畫,按照預(yù)設(shè)的映射規(guī)則對該筆畫進(jìn)行編碼;按照所述編碼査找預(yù)先建立的部首及輔助部首詞庫,找到對應(yīng)的部首和漢字序列顯示給用戶,所述部首及輔助部首詞庫中包含標(biāo)準(zhǔn)部首和預(yù)先定義的輔助部首;當(dāng)用戶在顯示的漢字序列中選擇所述待輸入的漢字后,將該漢字顯示在待輸入位置。8、根據(jù)權(quán)利要求7所述的方法,其特征在于,所述當(dāng)用戶在顯示的漢字序列中選擇所述待輸入的漢字后,將該漢字顯示在待輸入位置,具體包括判斷用戶是否在顯示內(nèi)容中找到所述待輸入的漢字;如果是,則將該漢字顯示在待輸入的位置處;否則,接收用戶根據(jù)顯示內(nèi)容選擇的部首或者再次輸入的筆畫,并按照該部首或用戶輸入的所有筆畫查找所述部首及輔助部首詞庫,找到對應(yīng)的部首和漢字序列顯示給用戶,直到用戶在顯示內(nèi)容中找到所述待輸入的漢字為止,將該漢字顯示在待輸入的位置處。9、根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述部首及輔助部首詞庫中的每一個輔助部首還具有一個對應(yīng)的圖片,圖片的內(nèi)容為顯示該輔助部首,相應(yīng)地,所述找到對應(yīng)的部首和漢字序列顯示給用戶,具體包括找到對應(yīng)的部首和漢字序列,將該部首對應(yīng)的圖片和該漢字序列顯示給用戶。10、根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述用戶輸入的筆畫中包括通配符,所述通配符包括單筆畫通配符和多筆畫通配符中的至少一種,所述單筆畫通配符代表一個筆畫,所述多筆畫通配符代表任意個筆畫,包括零筆畫。11、根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述預(yù)設(shè)的映射規(guī)則為將漢字標(biāo)準(zhǔn)筆畫中的點橫豎撇捺分別映射為指定的編碼。12、根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述找到對應(yīng)的漢字序列顯示給用戶,具體包括將找到的漢字按照漢字的輸入次數(shù)或輸入時間進(jìn)行排序,然后顯示給用戶。13、一種中文輸入裝置,其特征在于,所述裝置包括接收模塊,用于接收用戶輸入的待輸入漢字的筆畫;査找模塊,用于如果所述接收模塊收到的該筆畫中包含通配符,則將該筆畫中的非通配符按照預(yù)設(shè)的映射規(guī)則轉(zhuǎn)換為筆畫編碼,根據(jù)所述筆畫編碼和通配符,查找預(yù)先建立的筆畫詞庫,找到與所述筆畫編碼和通配符匹配的漢字;顯示模塊,用于將所述查找模塊找到的內(nèi)容顯示給用戶,當(dāng)用戶在顯示的漢字中選擇所述待輸入的漢字后,將該漢字顯示在待輸入位置。14、根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述査找模塊還用于如果所述接收模塊收到的該筆畫中不包含通配符,則將該筆畫按照預(yù)設(shè)的映射規(guī)則轉(zhuǎn)換為筆畫編碼,根據(jù)所述筆畫編碼查找預(yù)先建立的筆畫詞庫,找到與所述筆畫編碼匹配的漢字。15、根據(jù)權(quán)利要求13或14所述的裝置,其特征在于,所述通配符包括單筆畫通配符和多筆畫通配符中的至少一種,所述單筆畫通配符代表一個筆畫,所述多筆畫通配符代表任意個筆畫,包括零筆畫。16、根據(jù)權(quán)利要求13或14所述的裝置,其特征在于,所述顯示模塊具體包括第一顯示單元,用于將所述查找模塊找到的漢字按照漢字的輸入次數(shù)或輸入時間進(jìn)行排序,然后顯示給用戶;第二顯示單元,用于當(dāng)用戶在顯示的漢字中選擇所述待輸入的漢字后,將該漢字顯示在待輸入位置。17、一種中文輸入裝置,其特征在于,所述裝置包括接收模塊,用于接收用戶輸入的待輸入漢字的筆畫;查找模塊,用于按照預(yù)設(shè)的映射規(guī)則對所述接收模塊收到的該筆畫進(jìn)行編碼,按照所述編碼查找預(yù)先建立的部首及輔助部首詞庫,找到對應(yīng)的部首和漢字序列,所述部首及輔助部首詞庫中包含標(biāo)準(zhǔn)部首和預(yù)先定義的輔助部首;顯示模塊,用于將所述査找模塊找到的內(nèi)容顯示給用戶,當(dāng)用戶在顯示的漢字序列中選擇所述待輸入的漢字后,將該漢字顯示在待輸入位置。18、根據(jù)權(quán)利要求17所述的裝置,其特征在于,所述裝置還包括判斷模塊,用于判斷用戶是否在所述顯示模塊顯示內(nèi)容中找到所述待輸入的漢字;所述接收模塊還用于如果所述判斷模塊判斷的結(jié)果為否,則接收用戶根據(jù)顯示內(nèi)容選擇的部首或者再次輸入的筆畫;所述査找模塊還用于按照所述接收模塊收到的該部首或用戶輸入的所有筆畫,再次查找所述部首及輔助部首詞庫,找到對應(yīng)的部首和漢字序列顯示給用戶,直到用戶在顯示內(nèi)容中找到所述待俞入的漢字為止;所述顯示模塊具體包括第一顯示單元,用于將所述查找模塊找到的內(nèi)容顯示給用戶;第二顯示單元,用于如果所述判斷模塊判斷的結(jié)果為是,則將用戶找到的漢字顯示在待輸入的位置處,或者當(dāng)所述査找模塊再次查找后,將用戶找到的漢字顯示在待輸入的位置處。19、根據(jù)權(quán)利要求17或18所述的裝置,其特征在于,所述部首及輔助部首詞庫中的每一個輔助部首還具有一個對應(yīng)的圖片,圖片的內(nèi)容為顯示該輔助部首,相應(yīng)地,所述顯示模塊將所述査找模塊找到的內(nèi)容顯示給用戶,具體為將找到的部首對應(yīng)的圖片和找到的漢字序列顯示給用戶。20、根據(jù)權(quán)利要求17或18所述的裝置,其特征在于,所述用戶輸入的筆畫中包括通配符,所述通配符包括單筆畫通配符和多筆畫通配符中的至少一種,所述單筆畫通配符代表一個筆畫,所述多筆畫通配符代表任意個筆畫,包括零筆畫。全文摘要本發(fā)明公開了一種中文輸入方法和裝置,屬于中文輸入
技術(shù)領(lǐng)域:
。所述方法包括接收用戶輸入的筆畫;將其中的非通配符轉(zhuǎn)換為筆畫編碼,根據(jù)筆畫編碼和通配符查找筆畫詞庫,找到匹配的漢字顯示給用戶;當(dāng)用戶選擇待輸入漢字后,將其顯示在待輸入位置?;虬ń邮沼脩糨斎氲墓P畫,對其進(jìn)行編碼;按照該編碼查找部首及輔助部首詞庫,找到對應(yīng)的部首和漢字序列顯示給用戶,該詞庫中包含標(biāo)準(zhǔn)部首和輔助部首;當(dāng)用戶在顯示的漢字序列中選擇待輸入的漢字后,將其顯示在待輸入位置。所述裝置包括接收模塊、查找模塊和顯示模塊。本發(fā)明通過通配符或者輔助編碼,極大地提高了漢字輸入效率。文檔編號G06F3/023GK101639734SQ20091009240公開日2010年2月3日申請日期2009年9月10日優(yōu)先權(quán)日2009年9月10日發(fā)明者宋愛元,張會鵬,王松旭申請人:騰訊科技(深圳)有限公司