專利名稱::調(diào)整候選詞順序的方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及文字輸入技術(shù),尤其涉及一種調(diào)整候選詞順序的方法和裝置。技術(shù)背景計算機(jī)使用者要將漢字輸入到計算機(jī),就要使用中文輸入法,目前,中文輸入法可分為鍵盤輸入法和非鍵盤輸入法,而使用比較成熟的就是基于鍵盤的中文輸入法。所謂中文輸入法,即把鍵盤輸入的編碼或其他非鍵盤輸入的媒體數(shù)據(jù)轉(zhuǎn)換成漢字輸入的方法。其中,鍵盤輸入法就是利用鍵盤,并根據(jù)一定的編碼規(guī)則來輸入漢字的一種方法。英文字母只有26個,它們對應(yīng)著鍵盤上的26個字母,所以,對于英文而言是幾乎不存在輸入法的,直接輸入英文字母就可以。漢字的字?jǐn)?shù)有幾萬個,它們和鍵盤是沒有任何對應(yīng)關(guān)系的,但為了向計算機(jī)中輸入漢字,必須對漢字進(jìn)行編碼,并將這些編碼與鍵盤上的鍵聯(lián)系起來,這樣在鍵盤輸入某個漢字的編碼時,計算機(jī)就會將編碼轉(zhuǎn)換成漢字。目前,漢字編碼方案已經(jīng)有數(shù)百種,其中在計算機(jī)上已經(jīng)應(yīng)用的就有幾十種。作為一種圖形文字,漢字是由字的音、形、義來共同表達(dá)的,漢字輸入的編碼方法,基本上都是采用將音、形、義與特定的鍵相聯(lián)系,再根據(jù)不同漢字進(jìn)行組合來完成漢字輸入的。非鍵盤輸入法包括手寫輸入法、語音輸入法和光學(xué)字符識別(OCR,OpticalCharacterRecognition)輸入法等。手寫輸入法是一種筆式環(huán)境下的手寫中文識別輸入方法,用戶只要在手寫板上按平常的習(xí)慣寫字,計算機(jī)就能將其識別并顯示出來。當(dāng)然也可以用鼠標(biāo)在指定區(qū)域內(nèi)也可以寫出字來,進(jìn)而轉(zhuǎn)換成漢字。語音輸入法是通過話簡輸入聲音然后轉(zhuǎn)換成文字的一種輸入方法,語音輸入法在硬件方面要求計算機(jī)必須配備能進(jìn)行正常錄音的聲卡,然后調(diào)試好麥克風(fēng),用戶可以對著麥克風(fēng)用普通話語音進(jìn)行文字錄入。OCR輸入法是將文稿通過掃描儀轉(zhuǎn)化為圖形,進(jìn)而對圖形進(jìn)行識別并轉(zhuǎn)換為漢字的一種輸入方法。目前,在使用輸入法的過程中,用戶通常會有將某個候選詞固定在候選詞列表中指定位置的需求。以候選詞的置頂為例,用戶希望在每次輸入拼音"shishi"的時候,候選詞列表的首位總是顯示漢字"事實"。現(xiàn)有技術(shù)是通過類似于自定義短語的方式來實現(xiàn)候選詞置頂?shù)?,所謂自定義短語的方式是通過自定義的特殊輸入來得到自定義的文本,用戶可以設(shè)置一個字符串到一個候選詞的映射關(guān)系,并設(shè)置這個候選詞在候選詞列表的位置。如圖l所示,用戶通過界面設(shè)置字符串"simka"和對應(yīng)的候選詞"SIM卡",并設(shè)置"SIM卡"在候選詞列表的位置為1,則在保存設(shè)置后,用戶再次輸入"simka"時,候選詞"SIM卡"會排列在候選詞列表的首位,如表l所示simkal.SIM卡2.四名卡3.四名4.私募5.寺廟6.司馬7.四面8.私密9.四門表1當(dāng)然,圖1中也可以設(shè)置"SIM卡"在候選詞列表的位置為其他位置,如2、或3、或4等等。這樣"SIM卡"就可以根據(jù)實際需要,出現(xiàn)在候選詞列表中的任何位置上?,F(xiàn)有技術(shù)中通過配置文件對設(shè)置的映射關(guān)系和位置信息進(jìn)行存儲,配置文件格式如下netease=l,網(wǎng)易simka-1,SIM卡tixu=2,T恤txingtai=3,T型臺tXU=2,T恤upan=l,U盤當(dāng)用戶輸入的時候,根據(jù)用戶輸入的字符串在上述映射關(guān)系中查找與輸入的字符串相對應(yīng)的候選詞和位置信息,如果能夠找到,則按照位置信息將候選詞排列在候選詞列表中的相應(yīng)位置上。但是,現(xiàn)有的調(diào)整候選詞順序的方法,需要用戶通過界面的自定義短語選項進(jìn)行設(shè)定,操作比較麻煩;并且缺乏拼音識別能力,不支持拼音的模糊匹配,用戶輸入的字符串必須與預(yù)先設(shè)定的字符串完全匹配才可以實現(xiàn)置頂,以圖l的設(shè)置為例,在設(shè)定了"simka"和"SIM卡"的映射關(guān)系之后,如果用戶輸入"simk,,,則無法與預(yù)先設(shè)定的"simka"完全匹配,從而無法將"SIM卡"這個候選詞顯示在候選詞列表中的指定位置上。
發(fā)明內(nèi)容有鑒于此,本發(fā)明的主要目的在于提供一種調(diào)整候選詞順序的方法和裝置,以解決現(xiàn)有的候選詞順序調(diào)整的方法缺乏拼音識別能力,操作麻煩的問題。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的本發(fā)明提供了一種調(diào)整候選詞順序的方法,包括接收來自漢字輸入裝置的順序調(diào)整指令,所述指令中包括候選詞的拼音串、漢字和位置信息的映射關(guān)系;根據(jù)所述順序調(diào)整指令,將所述候選詞的漢字排列在候選詞列表中的指定位置。所述接收來自漢字輸入裝置的順序調(diào)整指令之前,該方法還包括所述漢字輸入裝置從所述拼音串對應(yīng)的候選詞列表中選取需要調(diào)整的候選詞,并生成所述拼音串、所選候選詞的漢字和位置信息的映射關(guān)系;將所述映射關(guān)系攜帶在順序調(diào)整指令中以快捷鍵的方式發(fā)送。所述接收來自漢字輸入裝置的順序調(diào)整指令之后,該方法還包括將所述指令中的映射關(guān)系以檢索樹的形式進(jìn)行存儲,所述檢索樹為二元查找樹、紅黑樹和哈希表中的任一種。所述將映射關(guān)系以檢索樹的形式存儲,進(jìn)一步包括將所述拼音串與輸入法詞典中所存儲的所述漢字的標(biāo)準(zhǔn)全拼進(jìn)行匹配,判斷所述拼音串是否為標(biāo)準(zhǔn)全拼;如果判斷所述拼音串不是標(biāo)準(zhǔn)全拼,則生成所述漢字、位置信息與標(biāo)準(zhǔn)全拼的映射關(guān)系插入所述檢索樹中。所述將候選詞的漢字排列在候選詞列表中的指定位置之后,該方法還包括根據(jù)來自所述漢字輸入裝置的位置恢復(fù)指令,將所述候選詞在候選詞列表中的位置恢復(fù)為初始位置,具體包括接收來自所述漢字輸入裝置的位置恢復(fù)指令,所述指令中包括所述候選詞的拼音串和漢字的映射關(guān)系;將所述位置恢復(fù)指令中的映射關(guān)系與所述檢索樹中已存儲的映射關(guān)系進(jìn)行匹配,在匹配成功時,將所述檢索樹中匹配到的映射關(guān)系刪除,并將所述候選詞在候選詞列表中的位置恢復(fù)為初始位置。所述位置恢復(fù)指令由所述漢字輸入裝置通過快捷鍵的方式發(fā)送。所述漢字輸入裝置為鍵盤或手寫板。本發(fā)明還提供了一種調(diào)整候選詞順序的裝置,包括順序調(diào)整指令接收模塊,用于接收來自漢字輸入裝置的順序調(diào)整指令,所述指令中包括候選詞的拼音串、漢字和位置信息的映射關(guān)系;候選詞調(diào)整模塊,用于根據(jù)所述順序調(diào)整指令,將所述候選詞的漢字排列在候選詞列表中的指定位置。所述裝置還包括映射關(guān)系存儲模塊,用于將所述指令中的映射關(guān)系以檢索樹的形式進(jìn)行存儲,所述檢索樹為二元查找樹、紅黑樹和哈希表中的任一種。所述映射關(guān)系存儲模塊進(jìn)一步包括拼音串匹配子模塊,用于將所述拼音串與輸入法詞典中所存儲的所述漢字的標(biāo)準(zhǔn)全拼進(jìn)行匹配,判斷所述拼音串是否為標(biāo)準(zhǔn)全拼;映射關(guān)系插入子模塊,用于根據(jù)匹配結(jié)果,在判斷所述拼音串不是標(biāo)準(zhǔn)全拼時,生成所述漢字、位置信息與標(biāo)準(zhǔn)全拼的映射關(guān)系插入所述檢索樹中。所述裝置還包括位置恢復(fù)模塊,用于根據(jù)來自所述漢字輸入裝置的位置恢復(fù)指令,將所述候選詞在候選詞列表中的位置恢復(fù)為初始位置。所述位置恢復(fù)模塊進(jìn)一步包括位置恢復(fù)指令接收子模塊,用于接收來自所述漢字輸入裝置的位置恢復(fù)指令,所述指令中包括所述候選詞的拼音串和漢字的映射關(guān)系;映射關(guān)系匹配子模塊,用于將所述位置恢復(fù)指令中的映射關(guān)系與所述檢索樹已存儲的映射關(guān)系進(jìn)行匹配;位置恢復(fù)子模塊,用于在匹配成功時,將所述檢索樹中匹配到的映射關(guān)系刪除,將所述候選詞在候選詞列表中的位置恢復(fù)為初始位置。本發(fā)明所提供的調(diào)整候選詞順序的方法和裝置,由計算機(jī)的漢字輸入裝置通過快捷鍵的方式發(fā)出順序調(diào)整指令,計算機(jī)根據(jù)順序調(diào)整指令中的拼音串、漢字和位置信息的映射關(guān)系,將該候選詞迅速調(diào)整到候選詞列表中的指定位置,實現(xiàn)了快捷操作;并且本發(fā)明支持拼音的模糊匹配,無論用戶輸入為標(biāo)準(zhǔn)全拼,簡拼,還是模糊音,都可以實現(xiàn)候選詞的順序調(diào)整,從而提高了漢字輸入的實用性。圖l為現(xiàn)有技術(shù)中調(diào)整候選詞順序的操作界面示意圖;圖2為本發(fā)明一種調(diào)整候選詞順序的方法流程圖;圖3為本發(fā)明實施例中模糊音設(shè)置的示意圖;圖4為本發(fā)明實施例的候選詞置頂?shù)姆椒鞒虉D;圖5為本發(fā)明實施例的輸入法詞典的數(shù)據(jù)結(jié)構(gòu)示意圖;圖6為本發(fā)明一種調(diào)整候選詞順序的裝置的組成結(jié)構(gòu)示意圖。具體實施方式下面結(jié)合附圖和具體實施例對本發(fā)明的技術(shù)方案進(jìn)一步詳細(xì)闡述。本發(fā)明提供一種調(diào)整候選詞順序的方法,在用戶釆用計算機(jī)進(jìn)行漢字輸入操作時,利用漢字輸入裝置并以快捷鍵的方式發(fā)出順序調(diào)整指令,由計算機(jī)根據(jù)順序調(diào)整指令將候選詞迅速調(diào)整到候選詞列表中的指定位置。本發(fā)明的調(diào)整候選詞順序的方法,如圖2所示,該方法主要包括以下步驟步驟201,計算機(jī)接收來自漢字輸入裝置的順序調(diào)整指令,該指令中包括候選詞的拼音串、漢字和位置信息的映射關(guān)系。用戶在釆用計算機(jī)進(jìn)行漢字輸入操作時,如果需要將某個候選詞在候選詞列表中的位置進(jìn)行調(diào)整,使得以后每次輸入該候選詞的拼音串時,對應(yīng)的漢字都能始終顯示在候選詞列表的指定位置;則可以通過漢字輸入裝置從用戶輸入的拼音串所對應(yīng)的候選詞列表中選取需要調(diào)整的候選詞,并生成候選詞的拼音串、漢字和位置信息的映射關(guān)系;然后,以快捷鍵的方式向計算機(jī)發(fā)出順序調(diào)整指令,并將候選詞的拼音串、漢字和位置信息的映射關(guān)系攜帶在順序調(diào)整指令中發(fā)送給計算機(jī)。其中,漢字輸入裝置可以是鍵盤或手寫板等裝置,本發(fā)明中以鍵盤為例進(jìn)行描述。本發(fā)明中可以通過不同的快捷鍵發(fā)出各種順序調(diào)整指令,將候選詞調(diào)整到候選詞列表中的指定位置,例如通過"Ctrl+數(shù)字"的快捷鍵發(fā)出順序調(diào)整指令,將候選詞調(diào)整到候選詞列表中的首位,即將候選詞置頂;通過"Alt+數(shù)字"的快捷鍵發(fā)出順序調(diào)整指令,將候選詞調(diào)整到候選詞列表中的第二的位置上。需要指出的是,用以發(fā)送順序調(diào)整指令的快捷鍵可以根據(jù)實際需要進(jìn)行預(yù)先設(shè)定。例如,用戶在進(jìn)行漢字輸入操作時,通過鍵盤輸入拼音串"shishi",界面所顯示的候選詞列表如表2所示shi,shil.試試2.事實3.實施4.適時5.時時6.實時7.事事8.逝世9.世事表2此時,用戶希望把候選詞"實時"置頂,則可以通過"Ctrl+6"的快捷鍵發(fā)起順序調(diào)整指令,在該指令中攜帶有"shishi"、"實時"和位置信息l的映射關(guān)系,其中,"6"是指候選詞"實時"在當(dāng)前的候選詞列表中所處的位置,位置信息l是指"實時"需要調(diào)整的目的位置為候選詞列表中的首位;用戶希望把候選詞"時時"調(diào)整到候選詞列表中的第二的位置上,則可以通過"Alt+5"的快捷鍵發(fā)起順序調(diào)整指令,在該指令中攜帶有"shishi"、"時時"和位置信息2的映射關(guān)系,其中"5"是指候選詞"時時"在當(dāng)前的候選詞列表中所處的位置,,位置信息2是指"時時"需要調(diào)整的目的位置為候選詞列表中的第二的位置。步驟202,計算機(jī)根據(jù)順序調(diào)整指令,將候選詞的漢字排列在候選詞列表中的指定位置。計算機(jī)將順序調(diào)整指令中所攜帶的映射關(guān)系以檢索樹的形式進(jìn)行存儲,檢索樹可以為二元查找樹、紅黑數(shù)或哈希表等等。并且,計算機(jī)根據(jù)所接收到的順序調(diào)整指令,將候選詞的漢字排列在候選詞列表中的指定位置。根據(jù)上述步驟201中置頂?shù)呐e例,計算機(jī)接收到鍵盤通過"Ctrl+6"的快捷鍵發(fā)起的順序調(diào)整指令后,將指令中攜帶的"shishi"、"實時"和位置信息l的映射關(guān)系存儲在檢索樹中,并將候選詞的漢字"實時"排列在候選詞列表的首位,如表3所示shi,shil.實時2.試試3.事實4.實施5.適時6.時時7.事事8.逝世9.世事表3并且,由于檢索樹中存儲了"shishi"、"實時"和位置信息l的映射關(guān)系,因此,在用戶進(jìn)行漢字輸入的過程中,每當(dāng)輸入拼音串"shishi",計算機(jī)都能通過匹配檢索樹的操作,匹配到"shishi"、"實時"和位置信息l的映射關(guān)系,從而根據(jù)位置信息1,始終將"實時"的位置排列在表3所示的候選詞列表的首位。進(jìn)而,根據(jù)本發(fā)明的映射關(guān)系,用戶在進(jìn)行漢字輸入的過程中,計算機(jī)需要將用戶輸入的拼音串與映射關(guān)系中的各個拼音串進(jìn)行匹配的操作,如果匹配成功,則根據(jù)匹配到的映射關(guān)系中記錄的候選詞的位置信息,將映射關(guān)系中的候選詞顯示在候選詞列表中的指定位置。在步驟202之后,如果用戶需要將候選詞恢復(fù)到調(diào)整之前的位置,則可以通過快捷鍵的方式發(fā)起位置恢復(fù)指令,該指令中包括候選詞的拼音串和漢字的映射關(guān)系,計算機(jī)可以根據(jù)位置恢復(fù)指令,將候選詞在候選詞列表中的位置恢復(fù)為初始位置。根據(jù)上述步驟202中的舉例,在表3所示的狀態(tài)下,用戶如果需要取消"實時"的置頂狀態(tài)時,可以通過"Ctrl+Shift+l"的快捷鍵發(fā)起位置恢復(fù)指令,該指令中攜帶"shishi,,和"實時"的映射關(guān)系;計算機(jī)通過匹配檢索樹,能夠匹配到"shishi"和"實時"的映射關(guān)系,則將檢索樹中所存儲的"shishi"和"實時"的映射關(guān)系刪除,并將"實時"在候選詞列表中的位置恢復(fù)為初始位置,恢復(fù)后的候選詞列表如前述表2所示。需要指出的是,用以發(fā)送位置恢復(fù)指令的快捷鍵可以根據(jù)實際需要進(jìn)行預(yù)先設(shè)定。當(dāng)然,如果某個候選詞經(jīng)過多次順序調(diào)整,那么既可以通過快捷鍵將候選詞調(diào)整到初始位置,也可以通過快捷鍵將候選詞調(diào)整到最近一次調(diào)整之前的位置。例如表2中的"實時"在進(jìn)行第一次順序調(diào)整時,調(diào)整到了表3中所示的候選詞列表首位,在進(jìn)行第二次順序調(diào)整時,又從候選詞列表的首位調(diào)整到了第二的位置;則此時既可以通過發(fā)起位置恢復(fù)指令,將位于候選詞列表中第二位置上的"實時"恢復(fù)到表2所示的初始位置,也可以恢復(fù)到表3所示的位置。在實際應(yīng)用中,可以通過設(shè)定不同的快捷鍵來實現(xiàn)上述不同的位置恢復(fù)操作。另外,在實際應(yīng)用中還存在表4和表5所示的情況,用戶需要將"紅黑樹"這個詞置頂,在輸入"hongheishu"的拼音串時,候選詞列表如表4所示hong,hei,shul.紅黑數(shù)2.紅黑3.紅4.宏5.洪6.鴻7.虹8.哄9.弘表4從表4可知,候選詞列表中并沒有用戶所需的"紅黑樹"這個詞,此時,用戶可以通過手動選擇的操作構(gòu)造"紅黑樹"這個詞,先選擇"紅黑",則候選詞列表如表5所示紅黑shul.數(shù)2.書3.樹4.屬5.輸6.術(shù)7.舒8.述9.束表5在表5的狀態(tài)下,用戶可以通過"Ctrl+3"的快捷鍵發(fā)起順序調(diào)整指令,該指令中包括"honghdshu"和"紅黑樹"的映射關(guān)系,構(gòu)造的"紅黑樹"這個詞被存儲到輸入法詞典中,且"紅黑樹"被置頂,如表6所示hong,hei,shu1.紅黑樹2.紅黑3.紅4.宏5.洪6.鴻7.虹8.哄9.弘表6如果用戶需要取消"紅黑樹"的置頂狀態(tài)時,可以通過"Ctrl+Shift+l"的快捷鍵發(fā)起位置恢復(fù)指令,計算機(jī)將檢索樹中"hongheishu"和"紅黑樹"的映射關(guān)系刪除,并取消"紅黑樹"的置頂狀態(tài)。需要指出的是,上述都是用戶輸入的拼音串為標(biāo)準(zhǔn)全拼的情況,但在實際應(yīng)用中,用戶通常輸入的拼音串并不是標(biāo)準(zhǔn)全拼,如簡拼和模糊音等,而本發(fā)明對于輸入的拼音串為非標(biāo)準(zhǔn)全拼的情況也是適用的,下面以置頂操作為例進(jìn)行說明,其他位置上的順序調(diào)整與置頂操作類似。用戶需要將"布吉"這個詞置頂,在輸入簡拼"bj"時,界面顯示的候選詞列表如表7所示<table>tableseeoriginaldocumentpage13</column></row><table>表7經(jīng)過翻頁后,界面顯示的候選詞列表如表8所示<table>tableseeoriginaldocumentpage14</column></row><table>表8在表8的狀態(tài)下,用戶可以通過"Ctrl+2"的快捷鍵發(fā)起順序調(diào)整指令,該指令中包括"bj"、"布吉"和位置信息1的映射關(guān)系,"布吉"被置頂后的候選詞列表如表9所示<table>tableseeoriginaldocumentpage14</column></row><table>表9計算機(jī)將"bj"與輸入法詞典中所存儲的"布吉"的標(biāo)準(zhǔn)全拼進(jìn)行匹配,判定"bj"不是標(biāo)準(zhǔn)全拼;此時,計算機(jī)査找輸入法詞典,生成"布吉,,與標(biāo)準(zhǔn)全拼"buji"和位置信息1的映射關(guān)系,并將該映射關(guān)系存儲到檢索樹中,則在用戶此后進(jìn)行的漢字輸入過程中,輸入"bj"時,界面顯示的候選詞列表如前述表9所示,輸入"buji"時,界面顯示的候選詞列表如表IO所示<table>tableseeoriginaldocumentpage14</column></row><table>表10即無論用戶輸入"bj"還是"buji","布吉"都會顯示在候選詞列表的首位。另外,在表9和表10所示的狀態(tài)下,用戶如果需要取消"布吉"的置頂狀態(tài),則可通過"Ctrl+Shift+l"的快捷鍵發(fā)起位置恢復(fù)指令來實現(xiàn)。對于模糊音的情況,如圖3所示,圖3主要時面向普通話不標(biāo)準(zhǔn)的用戶,可以啟動模糊音的設(shè)置功能。用戶需要將"湖南"這個詞置頂,由于用戶的普通話不標(biāo)準(zhǔn),輸入的拼音串為"fiilan",界面顯示的候選詞列表如表ll所示fu,lanl.腐爛2.湖南3.弗蘭4.護(hù)欄5.弗朗6.呼蘭7.湖藍(lán)8.呋喃9.扶欄表11在表ll的狀態(tài)下,用戶可以通過"Ctrl+2"的快捷鍵發(fā)起順序調(diào)整指令,該指令中包括"Man"、"湖南"和位置信息1的映射關(guān)系,"湖南"被置頂后的候選詞列表如表12所示fli,lanl.湖南2.腐爛3.弗蘭4.護(hù)欄5.弗朗6.呼蘭7.湖藍(lán)8.呋喃9.扶欄表12計算機(jī)將"fUlan,,與輸入法詞典中所存儲的"湖南"的標(biāo)準(zhǔn)全拼進(jìn)行匹配,判定"fulan"不是標(biāo)準(zhǔn)全拼;此時,計算機(jī)查找輸入法詞典,生成"湖南"與標(biāo)準(zhǔn)全拼"himan"和位置信息1的映射關(guān)系,并將該映射關(guān)系存儲到檢索樹中,則在用戶此后進(jìn)行的漢字輸入過程中,輸入"fulan"時,界面顯示的候選詞列表如前述表12所示,輸入"hunan"時,界面顯示的候選詞列表如表13所示hu,nan1.湖南2.昏暗3.胡楠4.胡5.混6.湖7.戶8.互9.虎表13即無論用戶輸入"fUlan"還是"hunan","湖南,,都會顯示在候選詞列表的首位。另外,在表12和表13所示的狀態(tài)下,用戶如果需要取消"湖南"的置頂狀態(tài),則可通過"Ctrl+Shift+l"的快捷鍵發(fā)起位置恢復(fù)指令來實現(xiàn)。由于對候選詞進(jìn)行置頂?shù)膽?yīng)用較為廣泛,基于上述的舉例,下面將候選詞置頂作為本發(fā)明的較佳實施例,并結(jié)合圖4對候選詞置頂?shù)姆椒ㄟM(jìn)一步詳細(xì)闡述。如圖4所示,主要包括以下步驟步驟401,計算機(jī)根據(jù)順序調(diào)整指令中的拼音串査找檢索樹,與檢索樹中所存儲的拼音串進(jìn)行一一匹配。本發(fā)明中的映射關(guān)系,由計算機(jī)提供的配置文件進(jìn)行集中存儲,從而便于管理。在每次輸入法啟動的時候,計算機(jī)從配置文件中逐條讀取映射關(guān)系,并將映射關(guān)系逐條插入到檢索樹中。如果配置文件中的映射關(guān)系為空,則檢索樹也為空。用戶在利用鍵盤進(jìn)行漢字輸入的過程中,根據(jù)輸入的拼音串所對應(yīng)的候選詞列表,如果需要將候選詞列表中的某個候選詞進(jìn)行順序調(diào)整,則采用快捷鍵的方式向計算機(jī)發(fā)出順序調(diào)整指令,該指令中組合了用戶輸入的拼音串、用戶所選的候選詞漢字和位置信息的映射關(guān)系。計算機(jī)接收到鍵盤發(fā)出的順序調(diào)整指令后,根據(jù)指令中的拼音串查找檢索樹,與檢索樹中存儲的拼音串進(jìn)行一一匹配。步驟402,判斷檢索樹中是否有匹配的拼音串,如果有,則轉(zhuǎn)到步驟404;否則,轉(zhuǎn)到步驟403。步驟403,將順序調(diào)整指令中攜帶的候選詞的拼音串、漢字和位置信息的映射關(guān)系插入檢索樹中,并轉(zhuǎn)到步驟406。步驟404,計算機(jī)詢問用戶是否需要對檢索樹中匹配到的拼音串所對應(yīng)映射關(guān)系進(jìn)行更新,如果需要,則轉(zhuǎn)到步驟405;否則,結(jié)束當(dāng)前處理流程。步驟405,將順序調(diào)整指令中的映射關(guān)系替換檢索樹中匹配到的拼音串所對應(yīng)的映射關(guān)系。例如順序調(diào)整指令中包括"bj"、"布吉"和位置信息1的映射關(guān)系,而檢索樹中已存在"bj"、"北京"和位置信息l的映射關(guān)系,則將"bj"、"布吉"和位置信息1的映射關(guān)系替換"bj"、"北京"和位置信息1的映射關(guān)系。步驟406,將順序調(diào)整指令中的拼音串與輸入法詞典中所存儲的候選詞的標(biāo)準(zhǔn)全拼進(jìn)行匹配,以判斷順序調(diào)整指令中的拼音串是否為標(biāo)準(zhǔn)全拼,如果是,則結(jié)束當(dāng)前處理流程;否則,轉(zhuǎn)到步驟407。步驟407,到輸入法詞典中查找順序調(diào)整指令中的候選詞所對應(yīng)的標(biāo)準(zhǔn)全拼,并生成候選詞的標(biāo)準(zhǔn)全拼、漢字和位置信息的映射關(guān)系。步驟408,將查找到的標(biāo)準(zhǔn)全拼與檢索樹中的拼音串進(jìn)行匹配,以判斷檢索樹中是否有與標(biāo)準(zhǔn)全拼相匹配的拼音串,如果有,則轉(zhuǎn)到步驟410;否則,轉(zhuǎn)到步驟409。步驟409,將候選詞的標(biāo)準(zhǔn)全拼、漢字和位置信息的映射關(guān)系插入到檢索樹中,并結(jié)束當(dāng)前處理流程。根據(jù)步驟405中的舉例,如果查找到檢索樹中不存在"buji"和"布吉"的映射關(guān)系,則將步驟407中生成的"buji"和"布吉"的映射關(guān)系插入到檢索樹中。步驟410,計算機(jī)詢問用戶是否需要對檢索樹中匹配到的標(biāo)準(zhǔn)全拼所對應(yīng)映射關(guān)系進(jìn)行更新,如果是,則轉(zhuǎn)到步驟411;否則,結(jié)東當(dāng)前處理流程。步驟411,將步驟407中生成的映射關(guān)系替換檢索樹中匹配到的標(biāo)準(zhǔn)全拼所對應(yīng)的映射關(guān)系。根據(jù)步驟405中的舉例,如果在步驟410中匹配到檢索樹中"buji"和"不及"的映射關(guān)系,則將步驟407中生成的"buji"和"布吉"的映射關(guān)系替換檢索樹中"buji"和"不及"的映射關(guān)系。在圖4所示的候選詞置頂?shù)膶嵤├?,在檢索樹所存儲的映射關(guān)系中,與一個拼音串所對應(yīng)的候選詞的漢字是唯一的,而與一個候選詞的漢字所對應(yīng)的拼音串可以不是唯一的。如表14所示<table>tableseeoriginaldocumentpage17</column></row><table>上表中,候選詞"布吉"可以對應(yīng)簡拼"bj"和標(biāo)準(zhǔn)全拼"buji",而如果在表14中增加一個"bj"和"北京"的映射關(guān)系,則在用戶輸入"bj"時,計算機(jī)從表14中匹配到兩個置頂?shù)暮蜻x詞"布吉,'和"北京",這時就會發(fā)生沖突,計算機(jī)無法選擇是將"布吉"置頂,還是將"北京"置頂。因此,在實際應(yīng)用中,這種情況是需要在設(shè)計映射關(guān)系時避免的。另外,本發(fā)明中的映射關(guān)系,支持用戶通過設(shè)置頁面進(jìn)行集中管理,用戶通過設(shè)置頁面可以實現(xiàn)配置文件中對映射關(guān)系的查詢、排序、修改、添加、刪除、恢復(fù)初始位置、導(dǎo)入和導(dǎo)出等操作。且在輸入法啟動的時候,計算機(jī)從配置文件中逐條讀取映射關(guān)系,并將映射關(guān)系逐條插入到檢索樹中;在進(jìn)行輸入法的切換或關(guān)閉輸入法時,計算機(jī)遍歷檢索樹,并將檢索樹中記錄的映射關(guān)系寫入到配置文件中,覆蓋原來的配置文件。通過這些搡作,使配置文件中的映射關(guān)系能夠根據(jù)用戶的順序調(diào)整或位置恢復(fù)的操作得到更新。實際應(yīng)用中的輸入法詞典通常釆用圖5所示的數(shù)據(jù)結(jié)構(gòu),圖5中左側(cè)的一列"gydg""gydg""gydgs"等不包含在數(shù)據(jù)結(jié)構(gòu)中,而只是為了說明本數(shù)據(jù)結(jié)構(gòu)的排序方法。該數(shù)據(jù)結(jié)構(gòu)遵循以下兩條排序準(zhǔn)則A、首先按照全拼串中的每個音節(jié)首字母所組成的字符串從小到大進(jìn)行排序;B、當(dāng)全拼串的每個音節(jié)首字母組成的字符串相等時,按照全拼串從小到大排序。圖5所示的數(shù)據(jù)結(jié)構(gòu)中一個優(yōu)點是所有首字母相同的全拼串在數(shù)組中是聚在一起的,也就是說它們在數(shù)組的位置是連續(xù)的。這樣就可以實現(xiàn)在此數(shù)組中找到一個每個音節(jié)首字母匹配的結(jié)點后,通過向其相鄰的結(jié)點擴(kuò)展就可以找到簡拼串對應(yīng)的全部全拼串。基于圖5所示的輸入法詞典,用戶在輸入拼音串的過程中所實現(xiàn)的候選詞顯示的流程如下步驟l,用戶使用漢字輸入裝置輸入拼音串"gonydiah"。步驟2,釆用動態(tài)規(guī)劃算法進(jìn)行音節(jié)劃分,結(jié)果為"gon,y,dia,h"。步驟3,在輸入法詞典中找到一個與輸入拼音串"gonydia,h"的每個音節(jié)首字母都相同的結(jié)點。假設(shè)找到了結(jié)點"gong'ye'dian,han"。步驟4,以結(jié)點"gong,ye,dian,han"為中心向上和向下分別進(jìn)行擴(kuò)展,把"gon,y,dia,h"和每個找出的全拼串比較,找出其中匹配的全拼串,一直到找到一個全拼串的音節(jié)首字母與"gon,y,dia,h"的音節(jié)首字母不完全相同為止。從圖5中可以看出,結(jié)點"gong,ye,dian,han"與輸入拼音串"gon,y,dia,h"音節(jié)首字母相同并且匹配。向上擴(kuò)展到"gan,ying,dian,he"結(jié)點,此全拼串與輸入拼音串"gon,y,dia,h"不匹配,但音節(jié)首字母相同;繼續(xù)向上擴(kuò)展到結(jié)點"guang,yin,de,gu,shi",此全拼串與輸入拼音串"gon,y,dia,h"不匹配而且音節(jié)首字母也不相同,則停止向上匹配。向下擴(kuò)展到"gong,yong,dian,hua"結(jié)點,此全拼串與輸入拼音串"gon,y,dk,h"匹配,且音節(jié)首字母相同;繼續(xù)向下擴(kuò)展到結(jié)點"gao,ya,dian,ji",此全拼串與輸入拼音串"gon,y,dia,h"不匹配而且音節(jié)首字母不相同,停止向下匹配。步驟5,把每個匹配的全拼串對應(yīng)的候選詞按照詞頻從大到小進(jìn)行排序。根據(jù)上個步驟,匹配的全拼串包括"gong,ye,dian,han,,和"gong,yong,dian,hua"。它們對應(yīng)的候選詞分別為"工業(yè)電焊"和"公用電話"。假設(shè)"公用電話"的詞頻大于"工業(yè)電焊"的詞頻,則排序結(jié)果為"公用電話、工業(yè)電焊"。步驟6,將排序好的各個候選詞組成的候選詞列表通過窗口顯示。對于模糊音的情況,則要根據(jù)音節(jié)劃分后的拼音串把所有的模糊音列舉出來,然后對每種模糊音執(zhí)行上述流程中的步驟3和步驟4。在應(yīng)用于圖4所示置頂搡作的實施例時,上述的流程則需要加入對置頂候選詞的處理,即在步驟2和步驟3之間增加一個步驟,就是到置頂操作的映射關(guān)系中查找是否有與輸入的拼音串相匹配的候選詞,如果有,則需將匹配的候選詞置于候選詞列表的首位。為實現(xiàn)上述本發(fā)明的候選詞置頂?shù)姆椒?,本發(fā)明還提供了一種調(diào)整候選詞順序的裝置,應(yīng)用于計算機(jī)中,如圖6所示,該裝置包括順序調(diào)整指令接收模塊IO、映射關(guān)系存儲模塊20、候選詞調(diào)整模塊30和位置恢復(fù)模塊40。其中,順序調(diào)整指令接收模塊IO,用于接收來自漢字輸入裝置的順序調(diào)整指令,該指令中包括候選詞的拼音串、漢字和位置信息的映射關(guān)系。映射關(guān)系存儲模塊20,連接順序調(diào)整指令接收模塊10,用于將順序調(diào)整指令中的映射關(guān)系以檢索樹的形式進(jìn)行存儲,本發(fā)明中的檢索樹可以為二元查找樹、紅黑樹或哈希表等等。候選詞調(diào)整模塊30,連接順序調(diào)整指令接收模塊10和映射關(guān)系存儲模塊20,用于根據(jù)順序調(diào)整指令和存儲的映射關(guān)系,將候選詞的漢字排列在候選詞列表中的指定位置。位置恢復(fù)模塊40,連接映射關(guān)系存儲模塊20,用于根據(jù)來自漢字輸入裝置的位置恢復(fù)指令,將候選詞在候選詞列表中的位置恢復(fù)為初始位置。其中,映射關(guān)系存儲模塊20和位置恢復(fù)模塊40是可選的。映射關(guān)系存儲模塊20進(jìn)一步包括相互連接的拼音串匹配子模塊21和映射關(guān)系插入子模塊22。拼音串匹配子模塊21,用于將順序調(diào)整指令中拼音串與輸入法詞典中所存儲的漢字的標(biāo)準(zhǔn)全拼進(jìn)行匹配,判斷拼音串是否為標(biāo)準(zhǔn)全拼。映射關(guān)系插入子模塊22,用于根據(jù)拼音串匹配子模塊21的匹配結(jié)果,在判斷順序調(diào)整指令中的拼音串不是標(biāo)準(zhǔn)全拼時,將順序調(diào)整指令中的漢字與輸入法詞典中標(biāo)準(zhǔn)全拼,以及位置信息的映射關(guān)系插入檢索樹中。位置恢復(fù)模塊40進(jìn)一步包括位置恢復(fù)指令接收子模塊41、映射關(guān)系匹配子模塊42和位置恢復(fù)子模塊43。位置恢復(fù)指令接收子模塊41,用于接收來自漢字輸入裝置的位置恢復(fù)指令,該指令中包括候選詞的拼音串和漢字的映射關(guān)系。映射關(guān)系匹配子模塊42,連接位置恢復(fù)指令接收子模塊41,用于將位置恢復(fù)指令中的映射關(guān)系與檢索樹中已存儲的映射關(guān)系進(jìn)行匹配。位置恢復(fù)子模塊43,連接映射關(guān)系匹配子模塊42,用于在匹配成功時,將檢索樹中匹配到的映射關(guān)系刪除,并將候選詞在候選詞列表中的位置恢復(fù)到初始位置。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。權(quán)利要求1、一種調(diào)整候選詞順序的方法,其特征在于,包括接收來自漢字輸入裝置的順序調(diào)整指令,所述指令中包括候選詞的拼音串、漢字和位置信息的映射關(guān)系;根據(jù)所述順序調(diào)整指令,將所述候選詞的漢字排列在候選詞列表中的指定位置。2、根據(jù)權(quán)利要求l所述調(diào)整候選詞順序的方法,其特征在于,所述接收來自漢字輸入裝置的順序調(diào)整指令之前,該方法還包括所述漢字輸入裝置從所述拼音串對應(yīng)的候選詞列表中選取需要調(diào)整的候選詞,并生成所述拼音串、所選候選詞的漢字和位置信息的映射關(guān)系;將所述映射關(guān)系攜帶在順序調(diào)整指令中以快捷鍵的方式發(fā)送。3、根據(jù)權(quán)利要求l所述調(diào)整候選詞順序的方法,其特征在于,所述接收來自漢字輸入裝置的順序調(diào)整指令之后,該方法還包括將所述指令中的映射關(guān)系以檢索樹的形式進(jìn)行存儲,所述檢索樹為二元查找樹、紅黑樹和哈希表中的任一種。4、根據(jù)權(quán)利要求3所述調(diào)整候選詞順序的方法,其特征在于,所述將映射關(guān)系以檢索樹的形式存儲,進(jìn)一步包括將所述拼音串與輸入法詞典中所存儲的所述漢字的標(biāo)準(zhǔn)全拼進(jìn)行匹配,判斷所述拼音串是否為標(biāo)準(zhǔn)全拼;如果判斷所述拼音串不是標(biāo)準(zhǔn)全拼,則生成所述漢字、位置信息與標(biāo)準(zhǔn)全拼的映射關(guān)系插入所述檢索樹中。5、根據(jù)權(quán)利要求l所述調(diào)整候選詞順序的方法,其特征在于,所述將候選詞的漢字排列在候選詞列表中的指定位置之后,該方法還包括根據(jù)來自所述漢字輸入裝置的位置恢復(fù)指令,將所述候選詞在候選詞列表中的位置恢復(fù)為初始位置,具體包括接收來自所述漢字輸入裝置的位置恢復(fù)指令,所述指令中包括所述候選詞的拼音串和漢字的映射關(guān)系;將所述位置恢復(fù)指令中的映射關(guān)系與所述檢索樹中已存儲的映射關(guān)系進(jìn)行匹配,在匹配成功時,將所述檢索樹中匹配到的映射關(guān)系刪除,并將所述候選詞在候選詞列表中的位置恢復(fù)為初始位置。6、根據(jù)權(quán)利要求5所述調(diào)整候選詞順序的方法,其特征在于,所述位置恢復(fù)指令由所述漢字輸入裝置通過快捷鍵的方式發(fā)送。7、根據(jù)權(quán)利要求1至6中任一項所述調(diào)整候選詞順序的方法,其特征在于,所述漢字輸入裝置為鍵盤或手寫板。8、一種調(diào)整候選詞順序的裝置,其特征在于,包括順序調(diào)整指令接收模塊,用于接收來自漢字輸入裝置的順序調(diào)整指令,所述指令中包括候選詞的拼音串、漢字和位置信息的映射關(guān)系;候選詞調(diào)整模塊,用于根據(jù)所述順序調(diào)整指令,將所述候選詞的漢字排列在候選詞列表中的指定位置。9、根據(jù)權(quán)利要求8所述調(diào)整候選詞順序的裝置,其特征在于,所述裝置還包括映射關(guān)系存儲模塊,用于將所述指令中的映射關(guān)系以檢索樹的形式進(jìn)行存儲,所述檢索樹為二元查找樹、紅黑樹和哈希表中的任一種。10、根據(jù)權(quán)利要求8或9所述調(diào)整候選詞順序的裝置,其特征在于,所述映射關(guān)系存儲模塊進(jìn)一步包括拼音串匹配子模塊,用于將所述拼音串與輸入法詞典中所存儲的所述漢字的標(biāo)準(zhǔn)全拼進(jìn)行匹配,判斷所述拼音串是否為標(biāo)準(zhǔn)全拼;映射關(guān)系插入子模塊,用于根據(jù)匹配結(jié)果,在判斷所述拼音串不是標(biāo)準(zhǔn)全拼時,生成所述漢字、位置信息與標(biāo)準(zhǔn)全拼的映射關(guān)系插入所述檢索樹中。11、根據(jù)權(quán)利要求8所述調(diào)整候選詞順序的裝置,其特征在于,所述裝置還包括位置恢復(fù)模塊,用于根據(jù)來自所述漢字輸入裝置的位置恢復(fù)指令,將所述候選詞在候選詞列表中的位置恢復(fù)為初始位置。12、根據(jù)權(quán)利要求ll所述調(diào)整候選詞順序的裝置,其特征在于,所述位置恢復(fù)模塊進(jìn)一步包括位置恢復(fù)指令接收子模塊,用于接收來自所述汊字輸入裝置的位置恢復(fù)指令,所述指令中包括所述候逸詞的拼音串和漢字的映射關(guān)系;映射關(guān)系匹配子模塊,用于將所述位置恢復(fù)指令中的映射關(guān)系與所述檢索樹已存儲的映射關(guān)系進(jìn)行匹配;位置恢復(fù)子模塊,用于在匹配成功時,將所述檢索樹中匹配到的映射關(guān)系刪除,將所述候選詞在候選詞列表中的位置恢復(fù)為初始位置。全文摘要本發(fā)明公開了一種調(diào)整候選詞順序的方法,包括接收來自漢字輸入裝置的順序調(diào)整指令,該指令中包括候選詞的拼音串、漢字和位置信息的映射關(guān)系;根據(jù)順序調(diào)整指令,將候選詞的漢字排列在候選詞列表中的指定位置。本發(fā)明還公開了一種調(diào)整候選詞順序的裝置,可以根據(jù)來自漢字輸入裝置的順序調(diào)整指令中的拼音串、漢字和位置信息的映射關(guān)系,將候選詞調(diào)整到候選詞列表中的指定位置,實現(xiàn)了快捷操作;并且本發(fā)明支持拼音的模糊匹配,無論用戶輸入為標(biāo)準(zhǔn)全拼、簡拼,還是模糊音,都可以實現(xiàn)候選詞的順序調(diào)整,從而提高了漢字輸入的實用性。文檔編號G06F17/30GK101334769SQ20081012914公開日2008年12月31日申請日期2008年6月30日優(yōu)先權(quán)日2008年6月30日發(fā)明者張會鵬,鄭全戰(zhàn)申請人:騰訊科技(深圳)有限公司