基於縱橫碼的檢字法
常州技術師範學院計算機系
尹長青、陳亞銘、葛軼
一、前言
中文檢字法,是指能在眾多的字、詞中把我們需要的字、詞都能快速地檢索出來的一種方法。西文是拼音文字,它有一個字母的固定排序,且單詞不論長短,按字母的排列組合,就能簡便地檢出來。而中文檢字法實現起來相對較為困難。中文檢字法應當做到老少皆宜,既能適宜於啟蒙教育,又能適宜於大眾普及使用。現有的中文檢字法,在字詞典上有傳統的部首檢字法、漢語拼音檢字法、筆劃檢字法等等。而電腦的漢字編碼有音碼、形碼、音形碼、流水碼等四大類,方案數不勝數。面對眾多的中文檢字法,人們共同的感覺就是,各有長處,但都美中不足,不盡如人意,都希望有更好的檢字法能供大家使用。
二、中文檢字法的現狀和不足
現有的電腦漢字編碼的檢字法,不外是採用以下幾種方法。
1.部首檢字法
部首檢字法雖實用,但滿足不了現代快速檢索的要求。因為部首檢字法對取部首的方法只定了形,沒定好位,要判定一個字屬何部,還要花一番功夫推敲。我國漢字資訊處理的現狀是:文字有規範,書寫有規則,而取部首無規定。其缺點是部首太多、太散、無規律,取部首無定位,無規定。所以部首排序檢字法一直被電腦拒之門外。為滿足漢字快速檢索,還需進一步探索。
2.漢語拼音排序檢字法
雖說是漢語拼音排序,實際上此方法並不是按漢語拼音字母的聲音、韻母的排列規律來排序的,而是套用26個英文字母的排序來對中文排序。它是採用每個字的漢語拼音字母,按英文字母A到Z來組合排序,西文是拼音文字,用字母排序是很成功的。而中文就不同,因它的特點是一音四調,一音多字,一字多音,一次排序不行還要按聲調陽平、陰平、上聲、去聲來進行第二級排序(電腦漢字編碼連這級都沒有)。這樣排序後,同序的同音字仍有很多。後面就沒有序了。
漢語拼音排序法的優點是簡單、易學,電腦和字母排序通用,現有的多數字典、詞典、電腦的音碼,都是採用這個方法排序的。但不足之處就是有相當多的同音字沒有序(即重碼),如果說無序的同音字只有三五個,問題不大:但實際上是十幾個,有的還有上百個。如讀音是yi的字就有110個,不但在字詞典上不能在當頁查到,在電腦上也要不斷翻頁才能查到。由此看來,漢字不是拼音文字,用音來排序檢索有其不足之處。更重要的是我們日常使用的不是拼音而是漢字,如果碰上下知道讀音的漢字,此法就無法應用了。
3.筆劃數排序檢字法
這個方法很簡單,就是按漢字的筆劃數從一劃到三十多劃依次排序。同筆劃的則按橫豎撇點捺的先後兩兩組合排序,無須記憶。缺點是每個字都要慢慢地數筆劃,效率很慢。現有的編碼,不論其如何變化,他們共同的特點就是指組成漢字的各種構件(各編碼稱為字元、字根或其它),按筆劃的規律或者是自定的某些規律把漢字的構件排好序,然後把它們對應地安排在26個英文字母上,每個字母代表幾個構件。借用英文的排序來實現漢字的排序。此法規則多、記憶量大,不適宜大眾普及使用。
三、基於縱橫碼的檢字法
縱橫漢字編碼法是一種將漢字輸入電腦的簡易方法。這種方法將構成漢字的筆劃分10種筆形進行編碼。它類似漢字的四角號碼字典的筆劃分類法。同時,為了減少重碼,縱橫漢字編碼中還對漢字的字形作進一步劃分。它將漢字分為兩類,一類為有部首漢字;另一類為無部首漢字。其中,對漢字的部首作了歸類,提取了55個主部首。因此,縱橫碼是一種簡單易學、規則易記、重碼率低的漢字輸入方法,它對中文根基不深及漢語拼音不熟的廣大使用者無疑是一種方便、快捷的漢字輸入方法。它具有記憶量少——只需記55個部首;操作簡單——用“0”-“9”這10個數字鍵;使用方便——不需使用英文大鍵盤等特點。
我們根據漢字的縱橫編碼來進行排序,若出現重碼,則進行分離,規則如下:按筆劃數的多少來進行排序。由此,我們得到了縱橫碼的排序法,本排序主要是根據漢字的縱橫碼來進行。而縱橫漢字編碼重碼率極低,故利用縱橫碼快速準確地檢索漢字。隨著現在漢字GBK內碼的使用,系統提供了多達20902個符號,而其檢索法則急待完善。因此,我們提出採用縱橫碼漢字檢索法來進行GBK中符號的排序,將有利於漢字檢索的規範化。縱橫碼易學,不易忘,如中小學生都學會了縱橫碼檢索漢字,必將大大方便他們用電腦檢字和檢詞。
返回上頁 |