專利名稱:一種基于八叉樹的拼音輸入法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于拼音輸入技術(shù)領(lǐng)域,涉及ー種字、詞的組織和查找方法,特別涉及ー種基于八叉樹的拼音輸入法。
背景技術(shù):
拼音輸入法是ー種將各種拼音字母輸入到計算機系統(tǒng)中且在漢語地區(qū)被廣泛應(yīng)用的拼音編碼方法。拼音輸入法基于漢字的拼音規(guī)則,去除了拼音中的聲調(diào),通過計算機的鍵盤輸入相應(yīng)的拼音字母來進行字和詞的輸入操作。一般來說,拼音輸入法對字母的大小寫不敏感,但若同時輸入英文則拼音輸入法只取小寫字母作為輸入,而將大寫字母作為英文輸入。拼音輸入法大體可分為三種類型,即,全拼輸入法、首字母輸入法和雙拼輸入法。其中,全拼輸入法是通過輸入所需字或詞的拼音中的全部字母,如“音”-“yin”,“拼音,,-“pinyin”等。首字母輸入法(簡拼輸入法)是通過輸入所需字或詞字的拼音中的第ー個字母,如“音”-“y”,“拼音”-“py”等。雙拼輸入法是通過將漢語拼音中各個含多個字母的聲母或韻母映射到不同的按鍵上,使得每個音都可以用最多兩次按鍵打出,但是,雙拼輸入法的效率低于全拼輸入法和首字母輸入法結(jié)合在一起的輸入方法。目前,被廣泛應(yīng)用的輸入法主要有搜狗拼音輸入法、QQ拼音輸入法、百度輸入法、紫光華宇拼音輸入法、微軟拼音輸入法、谷歌拼音輸入法和智能ABC輸入法。搜狗拼音輸入法是由搜狐公司推出的ー款Windows操作系統(tǒng)下的漢字拼音輸入法,基于搜索引擎技木。QQ拼音輸入法是騰訊公司開發(fā)的一款漢語拼音輸入法軟件,運行于Windows操作系統(tǒng)系統(tǒng)下。百度輸入法是百度公司基于百度捜索技術(shù),通過建立內(nèi)容豐富的詞庫,建立的支持Windows操作系統(tǒng)系統(tǒng)的輸入法。紫光華宇拼音輸入法是紫光華宇自主開發(fā)基于漢語拼音的中文字、詞及短語輸入法。微軟拼音輸入法是ー種基于語句的智能型的拼音輸入法,提供了模糊音設(shè)置。谷歌拼音輸入法支持短句和長句輸入,詞庫包含了互聯(lián)網(wǎng)上的流行語匯和熱門搜索詞。以上這些主流輸入法都不是基于八叉樹的輸入法,而八叉樹技術(shù)在非圖形學(xué)領(lǐng)域能夠形成易操作且查找信息效率極高的數(shù)據(jù)結(jié)構(gòu)。因此,利用八叉樹技術(shù)實現(xiàn)字詞的高速查找和定位是ー個重要課題。
發(fā)明內(nèi)容
本發(fā)明g在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題,特別創(chuàng)新地提出了一種基于八叉樹的拼音輸入法。為了實現(xiàn)本發(fā)明的上述目的,本發(fā)明提供了一種基于八叉樹的拼音輸入法,其包括如下步驟SI :將字詞庫中的字和詞組織為帶統(tǒng)計信息的八叉樹葉子節(jié)點;S2 :建立八叉樹系統(tǒng),將所有需要的字和詞存儲到八叉樹中,中間節(jié)點存入訪問頻
率值;S3 :在八叉樹上查找并快速返回請求的字或詞;
S4 :將八叉樹中間節(jié)點、葉子節(jié)點按使用頻率進行排序。本發(fā)明的基于八叉樹的拼音輸入法能夠自動建立和組織用于管理漢字和詞的高效八叉樹結(jié)構(gòu),通過對漢字庫中的字和詞進行快速有效的組織,實現(xiàn)字和詞的合理存儲并被高效的定位,提高了字詞的查找和定位速度。本發(fā)明的附加方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
本發(fā)明的上述和/或附加的方面和優(yōu)點從結(jié)合下面附圖對實施例的描述中將變得明顯和容易理解,其中 圖I本發(fā)明基于八叉樹的拼音輸入法的流程圖;圖2是本發(fā)明基于八叉樹的拼音輸入法的一個從拼音對應(yīng)到字詞的實施例的結(jié)構(gòu)組織示意圖。
具體實施例方式下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。在本發(fā)明的描述中,需要理解的是,術(shù)語“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底” “內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。本發(fā)明提供了一種基于八叉樹的拼音輸入法,如圖I所示,其包括如下步驟SI :將字詞庫中的字和詞組織為帶統(tǒng)計信息的八叉樹葉子節(jié)點;S2 :建立八叉樹系統(tǒng),將所有需要的字和詞存儲到八叉樹中,中間節(jié)點存入訪問頻
率值;S3 :在八叉樹上查找并快速返回請求的字或詞;S4 :將八叉樹中間節(jié)點、葉子節(jié)點按使用頻率進行排序。圖2是本發(fā)明基于八叉樹的拼音輸入法的一個從拼音對應(yīng)到字詞的實施例的結(jié)構(gòu)組織示意圖。要從拼音對應(yīng)到字詞,首先,將字詞庫中的字和詞組織為帶統(tǒng)計信息的八叉樹葉子節(jié)點,在八叉樹葉子節(jié)點中存儲有對應(yīng)拼音的字和詞,八叉樹葉子節(jié)點的統(tǒng)計信息中包含對應(yīng)葉子節(jié)點的字和詞被調(diào)用的次數(shù)。然后,建立八叉樹系統(tǒng),將所有需要的字和詞存儲到八叉樹中,中間節(jié)點存入訪問頻率值,在本實施方式中,建立八叉樹系統(tǒng)的規(guī)則包括八叉樹的根節(jié)點不包含拼音字母,僅記錄查找字或詞的次數(shù);對字詞庫中的所有字和詞的首字母進行統(tǒng)計,選出具有字和詞的數(shù)量最多的7個首字母,根節(jié)點的前7個子節(jié)點是這7個首字母,最后ー個子節(jié)點不包含字母,不包含字母的子節(jié)點的前7個子節(jié)點是具有字和詞的數(shù)量次多的7個首字母,最后ー個節(jié)點不包含首字母,以此類推,直到所有字和詞的首字母都包含在八叉樹中,由于漢字中沒有首字母為i、v、u的字和詞,因此,八叉樹中的首字母為除i、V、u之外的所有字母;這樣,從根節(jié)點到子節(jié)點就形成了一個路徑,在路徑上的字母依次排列形成對應(yīng)子節(jié)點的拼音,葉子節(jié)點存儲字和詞的內(nèi)存地址,對于有相同拼音的字和詞,用多個葉子節(jié)點進行存儲;中間節(jié)點和葉子節(jié)點中都記錄該節(jié)點及相關(guān)子節(jié)點中字和詞被選中的次數(shù);對于詞組,其各個字的首字母組成的路徑的最后ー個葉子節(jié)點指向存儲所述詞組的內(nèi)存地址。建立起八叉樹系統(tǒng)后,在八叉樹上查找并返回請求的字或詞的方法為當(dāng)需要全拼模式時,按照八叉樹從根向下的順序逐個查找對應(yīng)的字母,到達葉子節(jié)點時即返回相應(yīng)的字和詞;當(dāng)需要智能拼音模式時,按照八叉樹從根向下的順序逐個查找對應(yīng)的字母,對于路徑上的最后ー個節(jié)點的所有子節(jié)點包含的葉子節(jié)點所對應(yīng)的字和詞都返回。在八叉樹上查找并返回請求的字或詞后,將八叉樹中間節(jié)點、葉子節(jié)點按使用頻率進行排序,具體中間節(jié)點的排序方法為根據(jù)中間節(jié)點的子節(jié)點中字和詞的被選中次數(shù)重新排列包含字母的中間節(jié)點的順序,規(guī)則同建立八叉樹系統(tǒng)的規(guī)則。具體葉子節(jié)點的排序方法為根據(jù)葉子節(jié)點對應(yīng)的字和詞被選中的次數(shù)重新從大到小排列葉子節(jié)點的順序,排在前面的葉子節(jié)點對應(yīng)的字和詞也在字詞庫中排在前面。在本實施方式中,在將八叉樹中間節(jié)點、葉子節(jié)點按使用頻率進行排序后還可以具有以下步驟,即將新詞加入到八叉樹中,具體的方法可以為當(dāng)新詞被記錄下來時,生成新的葉子節(jié)點對其進行記錄,所述新的葉子節(jié)點排在具有相同拼音的字和詞的葉子節(jié)點的前面。在本說明書的描述中,參考術(shù)語“ー個實施例”、“一些實施例”、“示例”、“具體示例”、或“ー些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本發(fā)明的至少ー個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。 盡管已經(jīng)示出和描述了本發(fā)明的實施例,本領(lǐng)域的普通技術(shù)人員可以理解在不脫離本發(fā)明的原理和宗g的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。
權(quán)利要求
1.一種基于八叉樹的拼音輸入法,其特征在于,包括如下步驟 Si:將字詞庫中的字和詞組織為帶統(tǒng)計信息的八叉樹葉子節(jié)點; 52:建立八叉樹系統(tǒng),將所有需要的字和詞存儲到八叉樹中,中間節(jié)點存入訪問頻率值; 53:在八叉樹上查找并快速返回請求的字或詞; 54:將八叉樹中間節(jié)點、葉子節(jié)點按使用頻率進行排序。
2.如權(quán)利要求I所述的基于八叉樹的拼音輸入法,其特征在于,在所述步驟SI中,所述八叉樹葉子節(jié)點中存儲有對應(yīng)拼音的字和詞,所述八叉樹葉子節(jié)點的統(tǒng)計信息中包含對應(yīng)葉子節(jié)點的字和詞被調(diào)用的次數(shù)。
3.如權(quán)利要求I所述的基于八叉樹的拼音輸入法,其特征在于,在所述步驟S2中,建立八叉樹系統(tǒng)的規(guī)則包括八叉樹的根節(jié)點不包含拼音字母,僅記錄查找字或詞的次數(shù)。
4.如權(quán)利要求I所述的基于八叉樹的拼音輸入法,其特征在于,在所述步驟S2中,建立八叉樹系統(tǒng)的規(guī)則還包括對字詞庫中的所有字和詞的首字母進行統(tǒng)計,選出具有字和詞的數(shù)量最多的7個首字母,根節(jié)點的前7個子節(jié)點是這7個首字母,最后ー個子節(jié)點不包含字母,不包含字母的子節(jié)點的前7個子節(jié)點是具有字和詞的數(shù)量次多的7個首字母,最后ー個節(jié)點不包含首字母,以此類推,直到所有字和詞的首字母都包含在八叉樹中。
5.如權(quán)利要求I所述的基于八叉樹的拼音輸入法,其特征在于,在所述步驟S2中,建立八叉樹系統(tǒng)的規(guī)則還包括 從根節(jié)點到子節(jié)點形成一個路徑,在路徑上的字母依次排列形成對應(yīng)子節(jié)點的拼音,葉子節(jié)點存儲字和詞的內(nèi)存地址,對于有相同拼音的字和詞,用多個葉子節(jié)點進行存儲; 中間節(jié)點和葉子節(jié)點中都記錄該節(jié)點及相關(guān)子節(jié)點中字和詞被選中的次數(shù); 對于詞組,其各個字的首字母組成的路徑的最后ー個葉子節(jié)點指向存儲所述詞組的內(nèi)存地址。
6.如權(quán)利要求I所述的基于八叉樹的拼音輸入法,其特征在于,在所述步驟S3中,當(dāng)需要全拼模式時,按照八叉樹從根向下的順序逐個查找對應(yīng)的字母,到達葉子節(jié)點時即返回相應(yīng)的字和詞;當(dāng)需要智能拼音模式時,按照八叉樹從根向下的順序逐個查找對應(yīng)的字母,對于路徑上的最后ー個節(jié)點的所有子節(jié)點包含的葉子節(jié)點所對應(yīng)的字和詞都返回。
7.如權(quán)利要求I所述的基于八叉樹的拼音輸入法,其特征在于,在所述步驟S4中,將八叉樹中間節(jié)點按使用頻率進行排序的方法為根據(jù)中間節(jié)點的子節(jié)點中字和詞的被選中次數(shù)重新排列包含字母的中間節(jié)點的順序,規(guī)則同權(quán)利要求4-5中所述的建立八叉樹系統(tǒng)的規(guī)則。
8.如權(quán)利要求I所述的基于八叉樹的拼音輸入法,其特征在于,在所述步驟S4中,將八叉樹葉子節(jié)點按使用頻率進行排序的方法為根據(jù)葉子節(jié)點對應(yīng)的字和詞被選中的次數(shù)重新從大到小排列葉子節(jié)點的順序,排在前面的葉子節(jié)點對應(yīng)的字和詞也在字詞庫中排在前面。
9.如權(quán)利要求I所述的基于八叉樹的拼音輸入法,其特征在于,在步驟S4后還具有以下步驟 55:將新詞加入到八叉樹中。
10.如權(quán)利要求9所述的基于八叉樹的拼音輸入法,其特征在于,所述將新詞加入到八叉樹中的 方法為當(dāng)新詞被記錄下來時,生成新的葉子節(jié)點對其進行記錄,所述新的葉子節(jié)點排在具有相同拼音的字和詞的葉子節(jié)點的前面。
全文摘要
本發(fā)明提出了一種基于八叉樹的拼音輸入法,該拼音輸入法包括如下步驟首先,將字詞庫中的字和詞組織為帶統(tǒng)計信息的八叉樹葉子節(jié)點;然后,建立八叉樹系統(tǒng),將所有需要的字和詞存儲到八叉樹中,中間節(jié)點存入訪問頻率值;再后,在八叉樹上查找并快速返回請求的字或詞;最后,將八叉樹中間節(jié)點、葉子節(jié)點按使用頻率進行排序。本發(fā)明的基于八叉樹的拼音輸入法能夠自動建立和組織用于管理漢字和詞的高效八叉樹結(jié)構(gòu),通過對漢字庫中的字和詞進行快速有效的組織,實現(xiàn)字和詞的合理存儲并被高效的定位,提高了字詞的查找和定位速度。
文檔編號G06F3/023GK102662491SQ20121013032
公開日2012年9月12日 申請日期2012年4月27日 優(yōu)先權(quán)日2012年4月27日
發(fā)明者湯茂杰, 王瑀屏, 白石 申請人:清華大學(xué)