中文輸入法、資訊標準及技術探討 (chinfost)   
一般區 精華區 休閒聊天 個人郵件 個人設定 重新登入

←回列表   ↑上一篇   ↓下一篇           

發信人:mak (he hung <makchehu@netvigator.com>)
日期:Sat, 18 Oct 1997 05:43:13 -0700
標題:快速倉頡輸入法第五代(二)
信群:tw.bbs.comp.chinese    看板:
代號:<3448AEE1.40E7@netvigator.com>
組織:mak's company

快速倉頡輸入法第五代簡介(二)

    倉頡輸入法是目前最流行的輸入法。它有很多優點,例如它是唯一
能處理大量中文字(第五代倉頡輸入法能處理六萬多個中文字)而且重碼
率甚低的一種輸入法;同時它僅使用英文鍵盤的25鍵,為大部分專業人
士所樂用的輸入法。

    然而倉頡輸入法規則繁複,一般用戶很難利用此法進行寫作。同時,
現時的輸入法系統有很多不足之處,例如 ﹕在編碼方面,常用的第三代
倉頡輸入法系統沒有標點符號和香港常用字編碼、欠缺容錯碼、部分字的
編碼錯誤以及某些重碼字不依使用頻率排序等;在按鍵方面,目前視窗系
統的重碼選字方式和中英文模式的切換鍵也是笨鈍和遲緩的。以上種種不
利的因素皆令到用戶利用鍵盤輸入中文字時感到極大的困難!

    筆者為了改善現時輸入法的缺點,乃改良和優化倉頡輸入法,並發明
多項編碼技術和簡便的中英文模式切換鍵,克服了以上所說系統的缺點和
輸入法的困難,使到無論是專業打字員或一般用戶都能輕易地利用鍵盤把
中文字輸入電腦。這個改良和優化的倉頡輸法稱為【快速倉頡輸入法】。

【快速倉頡輸入法】的內容如下 ﹕

 1. 簡化倉頡輸入法的編碼規則 ﹕

    除了少數的字外,常用的中文字僅取倉頡碼的首、次和尾碼,即
每字限取 1 至 3 碼。對於以上的編碼規則,用戶可以利用以下的方法理解 ﹕

      a. 對於分體字來說,由於每字限取 1 至 3 碼,故此編碼有下列四種組合
﹕

         甲:  字母 (一碼)           - 口訣是“頭“

         乙:  第一碼 - 字首一碼
           第二碼 - 字身一碼    - 口訣是“頭尾“

         丙: 第一碼 - 字首一碼
         第二碼 - 字身首碼
         第三碼 - 字身尾碼    - 口訣是“頭 - 頭尾“

         丁: 第一碼 - 字首首碼
         第二碼 - 字首尾碼
         第三碼 - 字身尾碼    - 口訣是 “頭尾 - 尾“ 

    若將《頭》代表首碼,《尾》代表尾碼,則用戶可以用以下的口訣記憶 ﹕

                        頭、頭尾、頭頭尾、頭尾尾


		《由於文字檔的緣故,圖表從略》

    由上表可知,對於分體字來說,當某一字根(字母或輔助字形)能構成
字首或字身時,我們即取此字根為其字首或字身;然而當我們無法找到一
個單字根表示某字的字首或字身時,我們則取其首碼和尾碼,然後用適當
的字根表示。

 b. 連體字取碼 - 依序取首、次和尾碼。 

 c. 對於某些複合字、特殊字和難字,取碼原則和倉頡輸入法相同。

 d. 快速倉頡輸入法仍沿用倉頡輸入法的包含省略原則 ﹕
    《由於文字檔的緣故,圖表從略》


 2. 容錯碼 ﹕

    容錯碼有兩個涵義 ﹕其一,是用戶容易誤取的碼;其二,是容許用
戶誤取的碼。由於現時流行的倉頡輸入法並沒有設置容錯碼,而且某些字的編
碼是有問題的,用戶除了緊記數以百計的異體字和標準字的寫法外,同時亦要
強記系統內編錯碼的字。筆者為了使用戶能在不假思索的情況下,毫不費力地
輸入中文字,達到邊想邊打字的境界,特設容錯碼(包括了倉頡碼和快速倉頡
碼)超過 5000 餘個,主要包括以下各種類型﹕

 a. 字首和字身的容錯碼﹕
      很多時候,雖然用戶明白倉頡輸入法的編碼規則,但是他仍然無法取
得正確的編碼,其中一個原因是他拆錯了字首和字身。事實上,用戶須牢記字
典上常用的部首以及各種字首的特例,才可以準確選取字首和字身的。筆者特
設容錯碼以解決這個問題。

   《由於文字檔的緣故,圖表從略》

      由以上兩個例子可以知道,雖然用戶拆錯了字首和字身,但是字的快
速倉頡碼和其容錯碼是相同的。這是快速倉頡輸入法的其中一項優點。

      在第五代倉頡輸入法中,「應」的正確編碼是「戈人土心」,並不是
「戈土心」。由此例可見,倉頡輸入法對於字首和字身的定義是含糊的。因此
藉著容錯碼,用戶便毋須強記的各字的字首和字身,同時還可令用戶更迅速地
找出字元。

 b. 字形變易的容錯碼 ﹕

        有些字形會由於「裝飾字形」的原因而改變其原貌,用戶很難從其字
形而知道其確實的編碼。容錯碼可解決此類問題。

   《由於文字檔的緣故,圖表從略》

 c. 錯別字或異體字的容錯碼 ﹕

        錯別字或異體字是一個很燙手和頭痛的問題。無論輸入法設計得如何
巧妙,如何盡善盡美,然而很多用戶仍感到中文輸入法是十分困難的。其中一
個主要原因是中文字形繁複,一個字可以有多種寫法,用戶須清楚知道電腦內
的字是以哪一個字形作為依據才可以正確地編碼。要求用戶須牢記數以百計的
異體字的編碼是一件不切實際的事。筆者相信容錯碼是解決這問題的其中一種
可行的方法。

   《由於文字檔的緣故,圖表從略》

      以上的例子說明當用戶以為「荔」字從「刀」不從「力」,他仍可找
到正確的「荔」字。

 d. 簡體字的容錯碼 ﹕

      當用戶誤將簡體字當作繁體字編碼,仍能找出他所需要的字。 

      以上的例子說明當用戶誤將「華」字當作簡體「人心十」編碼時,他仍
找到繁體的「華」字。

 e. 依筆順編碼的容錯碼 ﹕

    快速倉頡輸入法是不依筆順編碼的。部分字依筆順編碼的目的是增加用
戶找到字元的機會。

   《由於文字檔的緣故,圖表從略》

 f. 包含省略的容錯碼 ﹕

      包含省略是倉頡輸入法較難明白的法則。由於快速倉頡輸入法仍沿用這
個法則,筆者恐怕部分用戶容易取錯碼,故為大部分有包含省略的字附加容錯碼
,以增大用戶找到字元的機會。

 g. 其他 ﹕

      在編碼的過程中,筆者發覺系統內部分字的編碼和字形是有矛盾的。
以下的例子可以說明這個矛盾。

   《由於文字檔的緣故,圖表從略》

        以上的例子說明部分字是不依照字形而編碼的。很多有關談及倉頡輸入
法的書籍又沒有詳細說明,難怪用戶感到倉頡輸入法難學了。

3. 簡碼 ﹕

     對於經常使用的字,筆者特設簡碼以增快用戶的打字速度。大部分的簡碼是
取字的首尾碼。

     例 ﹕ 對 - ti         愛 -  be 
           總 - vp           同 -  br 
           此 - yp           器 -  rr 
           若 - tr           生 -  hm 
           非 - ly         與 -  hc 
           自 - hu           很 -  hv 
           為 - if           現 -  mu 
           定 - jo           要 -  mv 
           發 - ne           乃 -  ns 
           會 - oa           知 -  or 
           將 - vi         以 -  vo 
           新 - yl           則 -  bn 
           國 - ww           這 -  xx
           做 - do           的 -  hh
           我 - ii           使 -  oo
           是 - is           經 -  vv
           處 - yn           得 -  duk

4. 標點符號編碼 ﹕

     在寫作堙A標點符號是不可或缺的東西。若果用戶能記熟標點符號的編碼,
可加快寫作的速度。常用的標點符號的編碼如下 ﹕

      例 ﹕ , - jf 或 fj 或 x
            。 - ls 或 sl 或 z
            、 - js
            : - jg 或 gj
            「 - pf
             」- fp
            ? - lf 或 fl
            ; - gh


5. 其他符號的編碼 :

	「grp」可得各種圖形符號;
	「num」可得各種數字符號;
	「eng」可得各種英文符號;
	「pin」可得各種國語拼音符號;
	「sbl」可得各種標點符號;
	「zza」可得 ├   
	「zzb」可得 ╭  ╯╰  ╮      
	「zzc」可得  ┘   
	「zzd」可得  ┤    ╡
	「zze」可得  ┐   

6. 數字編碼 ﹕

    由於編碼僅限於 26 個英文字鍵, 故用戶可用以下的英文字母代替數字
,以便編碼。所有數字均以「zX」或 「zXX」或「zXXX」形式編碼。其
中「X」為對應數字之英文字母。
          
     ┌——┬——┬——┬——┬——┬——┬——┬——┬——┬——┐
數字 | 1  | 2  | 3  | 4  | 5  | 6  | 7  | 8  | 9  | 0  |
     |    |    |    |    |    |    |    |    |    |    |
    
├——┼——┼——┼——┼——┼——┼——┼——┼——┼——┤           
     |    |    |    |    |    |    |    |    |    |    |
英文 | Q  | W  | E  | R  | T  | Y  | U  | I  | O  | P  |
     └——┴——┴——┴——┴——┴——┴——┴——┴——┴——┘
    例 : zq     壹 1 Ⅰ 〡
         zp     拾 0 Ⅹ 十 卄 卅

7. 消滅重碼的「SDFG」編碼技術 :

   由於重碼能令用戶減慢輸入中文字的速度,筆者發明了「SDFG」編碼技術
,使到用戶更能快捷地輸入中文字。所謂「SDFG」編碼技術是使所有重碼字都
加上一個尾碼,其尾碼  是按照重碼字在屏幕上出現的次序而決定的。從鍵盤
的數字鍵和英文字母的位置看,我們可以觀察到「s」對應「2」字,「d」
對應「3」字,「f」對應「4」字,而「g」則對應「5」字。應用這個字母和
數字對應的方法,我們便可加快輸入字元的速度。

    舉例說,若果用戶要輸入「何」字,他便要按下 「omr」,屏幕上便會出
現三個重碼字 : 1 合  2 何  3 舍

    由於「何」字在第二個位置,用戶須按「2」的數目字才可選取「何」字
。如果用戶早已知道按「何」會在選字   區的第二個位置的話, 他可按「omrs」
的編碼便可立即輸入「何」字了,他根本毋須等待一列重碼字出現後,才去選
字。這樣便可使比較熟練打字的用戶能更快捷地輸入中文字了。根據同樣的原
理, 若用戶想輸入「舍」字, 他可按「omrd」便可立即輸入「舍」字。

    在本輸入法的系統堙A由於它可以即時顯示用戶按鍵後所有編碼字,故
此當用戶按下「omr」時,屏幕上便會出現三個重碼字 :

        1 合  2 何  3 舍 。

    這時,只要他再按一下「s」鍵,「何」字便立即被選出來。由於這種方
法可以解決重碼所起的打字遲延,再加上選字時只按「sdfg」等鍵便可以了,
選字快捷方便可靠,筆者乃將此法定名為消滅重碼的「sdfg」編碼技術。

8. 高頻先見的編碼技術 ﹕

    在現時中文系統的倉頡輸入法堙A某些重碼字是不依照  使用頻率的高低
排序的。例如鍵入「某」和「引」兩字時都需要選字。這使用戶在打字時很不方
便。筆者乃將所有重碼  字按使用頻率排序,以方便用戶選字。
   
9. 高頻字根偏旁的編碼技術 ﹕

     在簡化倉頡輸入法的過程中,筆者發覺若果每字只取倉頡碼的首、次和
尾碼,在某些情況下,重碼字會很多。換句話說,用戶需要忙於選字,以致減
慢輸入字元的速度,同時亦會妨礙寫作的思路。筆者為了減少重碼,增快輸入
字元的速度,乃發明高頻字根偏旁的編碼技術。使用這種編碼技術,重碼字減少
至最低的限度,用戶可以輕鬆地輸入中文字了。

   高頻字根偏旁的原理如下 ﹕
    很多中文字都有相同的字根偏旁,例如「禾」是「和」、「租」和「秋」的字
根偏旁;「魚」是「鯧」、
「鯤」和「穌」的字根偏旁。若果用戶視這些字根偏旁
是倉頡輸入法的輔助字形的話,則用戶對這些字的分拆將如下例所示 ﹕ 
   「和」可分拆為「禾」和「口」,
             不是「竹」、「木」和「口」;
   「秋」可分拆為「禾」和「火」,
             不是「竹」、「木」和「火」;

對於字形較複雜的字,用戶須在分拆完字根偏旁後再取另一半字形的首尾碼。

    「租」可視為「禾」和「且」,
          最後分拆為「禾」、「月」和「一」;
    「鯧」可視為「魚」和「昌」,
          最後分拆為「魚」、「日」和「日」;
    「鯤」可視為「魚」和「昆」, 
          最後分拆為「魚」、「日」和「心」;
    「穌」可視為為「魚」和「禾」,
          最後分拆為「魚」、「竹」和「木」;

     以下是筆者設計的高頻字根偏旁 ﹕

     僅按一鍵的字根偏旁 ﹕

    《由於文字檔的緣故,圖表從略》

     需按兩次相同的鍵的字根偏旁 ﹕

    《由於文字檔的緣故,圖表從略》

     編碼舉例 ﹕
		「體」的編碼是 「btt」;
		「骯」的編碼是 「byn」;
		「冰」的編碼是 「ee」 ; 
		「凍」的編碼是 「edw」;
		「稱」的編碼是 「hbb」; 
		「穩」的編碼是 「hbp」;
		「社」的編碼是 「ig」 ; 
		「衫」的編碼是 「lhh」;
		「空」的編碼是 「jm」 ;
		「竊」的編碼是 「jhb」;
		「狗」的編碼是 「kpr」;
		「獅」的編碼是 「khb」;
		「幅」的編碼是 「lmw」;
		「帽」的編碼是 「lau」;
		「醒」的編碼是 「mam」;
		「酷」的編碼是 「mhr」;
		「鯧」的編碼是 「naa」;
		「鯤」的編碼是 「nap」;
		「氣」的編碼是 「ofd」;
		「氮」的編碼是 「off」;
		「迷」的編碼是 「xfd」;
		「這」的編碼是 「xyr」。

    筆者為求用戶能快速地輸入字元,在沒有增加重碼的情況下,本來應按兩
次鍵的字根偏旁可按一次鍵代替。以下例子除了「衛」和「蝸」兩字需按四次
鍵外,其餘的字均有兩種編碼方式。 

		「開」的編碼是 「aamt」或 「amt」;
		「睹」的編碼是 「bbja」或 「bja」;
		「賭」的編碼是 「ccja」或 「cja」;
		「精」的編碼是 「ffqb」或 「fqb」;
		「現」的編碼是 「mmbu」或 「mbu」;
		「簡」的編碼是 「hhaa」或 「haa」;
		「衛」的編碼是 「hhdn」;          
		「斬」的編碼是 「jjhl」或 「jhl」;
		「蝸」的編碼是 「llbr」;             
		「需」的編碼是 「mmml」或 「mml」;
		「礦」的編碼是 「mmic」或 「mic」;
		「階」的編碼是 「nnpa」或 「npa」;
		「饅」的編碼是 「ooae」或 「oae」;
		「踢」的編碼是 「rrah」或 「rah」;
		「驟」的編碼是 「ssso」或 「sso」;
		「韉」的編碼是 「tttf」或 「ttf」;
		「縮」的編碼是 「vvja」或 「vja」;
		「讀」的編碼是 「yygc」或 「ygc」。

   注意(一) ﹕

    筆者為減少部分用戶對字根偏旁的記憶量。由本版開始,「貝」字根偏
旁的編碼可以是「CC」或「BB」;「王」字根偏旁的編碼可以是「GG」或「MM」;
而「 」的編碼可以是「X」或「Y」。對於快速倉頡輸入法的用戶來說,使用後者
的編碼會得到較多的重碼。

    例 ﹕「賭」的快速倉頡編碼是「CCJA」(貝 十 日)或「CJA」,沒有重
碼,用戶無需選字。若果把「貝」這個字根偏旁視作「BB」鍵,則編碼是「BBJA」
或「BJA」;屏幕出現「睹」和「賭」兩字,「賭」排在第二位,需要選字。

   注意(二) ﹕
      上表所列的字根偏旁僅用於字的左偏旁。「 」、「气」、「門」、「 」
和「雨」僅用於首筆。

10. 香港常用字 ﹕

      由於現時流行的倉頡輸入法並沒有香港常用字的編碼,故此筆者為香港常用
字編碼,以方便用戶使用。


11. 快速的中英文切換鍵

    很多時候,我們需要將中文字或英文字一同混合鍵入電腦內。快速的中英
文切換鍵能幫助用戶更有效率地輸入中文或英文。本系統有以下三種模式轉換鍵
﹕
     1. 英文單字可在中文模式下按《ENTER》鍵直接輸出。
     2. 在中文模式下,按下《CapsLock》後,可直接鍵入大寫英文字。
     3.
連續按兩次《Shift》鍵或按《Ctrl-Space》鍵後,可由中文模式轉為英文
        模式。

12. 詞語編碼

    一個良好的輸入法應該提供詞庫輸入法給用戶自行編碼。本系統亦設置詞
庫編碼供用戶使用。

    筆者為使詞庫的編碼不與字庫內的編碼相同,以致產生重碼,乃設置大小
寫鍵編碼。筆者建議用戶用以下四種方式編碼﹕

     1. 完全使用大寫編碼;
     2. 第一個英文字使用大寫,其餘編碼使用小寫;
     3. 使用 z 鍵為尾碼;
     4. 編碼長度大於五碼。

    這四種編碼方式均可使詞語庫內的編碼不與字庫內的編碼相同,故不會產生
重碼。用戶便在無需選字下快速地輸入詞語或字元。

13. 一字多碼的編碼策略 ﹕

    為了減少重碼的緣故,快速倉頡輸入法僅為常用字編碼。但另一方面,我們亦
須為次常用字和罕用字編碼,否則我們須學另一種輸入法找出這些字。

    筆者認為最佳解決問題的方法是將倉頡輸入法和快速倉頡輸入法一併使用。換
句話說,系統內所有字都用倉頡輸入法編碼,而常用字則有兩種編碼方式,即倉
頡輸入法和快速倉頡輸入法。

   
這個「多種輸入法用同一字根貯存在同一系統內」的單字輸入方案有以下的優點
﹕

 1.
雖然系統內有兩種輸入法,但是它們卻「互不干擾」。換句話說,倉頡輸入法的
用戶在使用本系統時,他可以幾乎不感覺快速倉頡輸入法的存在。而快速倉頡輸入法
的用戶也不會察覺倉頡輸入法會妨礙他的打字速度。這是由於倉頡輸入法的編碼大多
超過三碼,而少於三碼的編碼亦和快速倉頡輸入法相同。對於習慣使用倉頡輸入法的
專業打字員來說,他可以無需改變他沿用的編碼方式就能夠直接使用本輸入法的系統。
同時他也可以利用系統內各種「優化」倉頡輸入法的編碼技術,以加快他的打字速度,
例如消滅重碼的「SDFG」、「高頻先見
」、「簡碼」和「標點符號」等編碼技術。
而且系統內有數以千計的容錯碼,使他毋須清楚記憶每一個中文字的寫法,就能提高
他的打字速度,這是舊的系統不能比擬的。

 2.
這兩種輸入法共存在同一系統內有「互補優點」的作用。快速倉頡法的編碼效率
很高。它有編碼短、簡單的編碼規則和選字率低等各種優點。對於一般用戶來說,
快速倉頡輸入法不但能令他們更快速地輸入中文字,而且更可以利用此法進行
「盲打」和「邊想邊打字」。

   
這都是快速倉頡輸入法的最大優點。另一方面,倉頡輸入法的最大優點就是能夠
處理多達六萬多個中文字。用戶可以利用此法輸入次常字和罕用字。換句話說,若果
這兩個輸入法能夠同時並存在同一個系統內,用戶就可以在毋須「撥檔」的情況下
直接得到這兩個輸入法的優點了。這個編碼策略克服了目前所有輸入法的困難。
這個困難是要求一個輸入法既要編碼短、編碼規則簡單和重碼率低,又要它能處理
大量中文字。事實上,這些條件是互為矛盾,不能兼得的。根據編碼理論,若果輸入
法只用 26
個英文字母鍵和編碼短至三鍵,而它又能夠處理數以萬計的中文字的話,
它的重碼率一定很高,用戶便無法快速地輸入字元了。故此筆者認為只有用這種方法
才可以解決這個編碼上的「死結」,才可以使到用戶利用電腦輸入中文時達到
「魚與熊掌兼得」的地步。這是筆者設計這個快速倉頡輸入法的主要目的。

3. 由於兩種輸入法皆貯存在同一系統內,故此法可以解決專業電腦打字員和一般
用戶不能共用相同輸入法的系統的矛盾了。

   
基於這些理由,筆者乃將倚天的第3代倉頡輸入法、資策會的標準倉頡輸入法、
第五代倉頡輸入法、簡體字編碼和快速倉頡輸入法結合在本系統內,目的是希望這種
編碼策略能符合專業人士和一般用戶的需要,同時更希望此輸入法能解決用電腦輸入
中文的困局 ─ 輸入速度和容易度成反比。


作者﹕麥志洪

網友如有興趣,可轉載本文給其他人知道。若想取得更多資料,可電郵給我。

Email﹕makchehu@netvigator.com


←回列表   ↑上一篇   ↓下一篇