中文輸入法:字形 vs 字音

中國字舉凡五萬有餘,即使教育部頒訂的常用字也有 4808 個。 若要以一字一鍵的方式輸入,幾乎可以肯定是不實際的想法。 早期的中文打字機,事實上是個鉛字撿字機,一個面盤上有上千個鉛字。 這樣的機械,應該不適合一般人使用。 而體積過於龐大,也不適合在一般的辦公室內架設。

林語堂先生曾率先嘗試發明拆字與組字的小型中文打字機 (並幾乎為此破產)。 他企圖將中國字拆成若干個事先整理完全的部首或偏旁; 這些中國字的小單元,此後稱為字根。 將這些字根作成鍵盤上的按鍵,就好像西方語言的字母一樣。 使用者按下一組按鍵,由機械的設計將這些字根組合,印在紙上,合成一個字。 這個想法類似於王雲五先生的四角號碼; 兩者都是設法將一個中國字的字形拆開化解, 使得中國字有一個簡單的索引辦法。

傳統的中國字典,其索引辦法用的是部首和筆畫。 但是,許多人不能理解部首的設計; 例如林語堂先生就經常為文抱怨部首設計的不合理。 而且,使用筆畫數來作索引,顯然不是一個有效率的作法。 另一個常用來當檢索辦法的是讀音。 這個困難就更明顯了。 一則許多字可能是見到卻讀不出來的, 二則各地的鄉音和方言使得讀音並不統一。

林語堂先生的想法是非常適用的; 他的困難在於,他領先了時代太遠。 當時他必須用堅硬的機械結構來實現他的理想。 而方便且便宜的個人電腦還要三十年才問世。 試想,輸入一個木,是木字; 兩個木是林,這兩個木字必須要變的比較窄; 三個木是森,這三個木字必須要變的比較窄又比較矮,而且要堆在一起。 這樣的機械該有多複雜? 但是,這種複雜而有一定規則的事情,正是電腦最擅長的工作。

林先生的設計並沒有真的被挪用到今天的電腦上,成為輸入中文的工具。 但是他的想法卻隨處可見。 例如朱邦復先生的倉頡輸入法,現在已經是 PC 上的一種中文標準配備 (朱先生將這項發明捐給了社會,不收版權費)。 幾乎所有中文鍵盤上,都印著英文字母,注音字母,和倉頡輸入法的字根。 同樣想法但是號稱比較簡單的,有王贊傑先生的大易輸入法; 每個字最多只取四個字根。 最近又有劉重次先生的行易輸入法,也是每個字最多只取四個字根。 但可能字根的解讀更簡單或直覺一點,近年的幾次輸入競賽,是由使用行易法的選手奪魁。 其平均速度竟然達到每分鐘一百八十多個中國字。 即使一個字僅須按下三個鍵,每秒也得敲下九個鍵,這還包括在腦子裡拆字的時間。 這個記錄對一般人而言,可能就像奧林匹克的百公尺短跑記錄一樣的望塵莫及。

以上所說以倉頡法為代表的中文輸入法,統稱為字形輸入法。

字形輸入法是藉由鍵盤輸入指令,指導電腦為我們選擇一個中國字。 我們可以有一個最基本的估計。 由於一般的計算機中都以 Big-5 為中文的編碼系統,而此系統共定義了 13,461 個中國字的字形以及它們的編碼。 假如在鍵盤上我們可以運用的按鍵數是 n,則這 n 個鍵一共可以組成

n + n2 + n3 + ...
種不同的組合。每一種組合可以對應一個中國字的編碼。 例如一個使用內碼輸入法的人,每個字都恰須按下四個按鍵。 很少有人可以使用這種輸入法。 假設一個輸入法占用了二十六個英文字母鍵 (不含 SHIFT) 以及十個數字鍵, 則 n=36。因為 36 + 362 = 1,332,顯然不足以對應 13,461 個碼, 甚至不夠對應 5,401 個常用字的碼。 而 36 + 362 + 363 = 47,988,就足夠多了。 在最佳情況下,有 36 個字可以按一個鍵就輸入了; 有 1296 個字須按兩個鍵,有 12129 個字須按三個鍵。 因此,平均每個字須按下
(36 + 2 * 1296 + 3 * 12129) / 13461 大約 2.898
個鍵才能組成。 再例如以九個 (右端) 數字鍵為按鍵的輸入法,他的理論複雜度至少是
(9 + 2 * 81 + 3 * 729 + 4 * 6561 + 5 * 6081) / 13461 大約 4.383
這是所有以鍵盤為輸入媒介的複雜度下界。 越接近這個下界的字形輸入法,表示其效率越高。 但是它的規則想必很複雜。

為了公平比較不同的字形輸入法在設計上的合理性與邏輯性 (合邏輯的方法比較容易記住),我提出以下一套問題:

  1. 相同筆劃但上下長度不同: 田 由 甲 申
  2. 相同筆劃但左右長度不同: 土 士 未 末
  3. 相同筆劃但大小寬窄不同: 日 曰 口 囗
  4. 相同筆劃但相對位置不同: 人 八 入
  5. 複雜筆劃: 鬱 籤

另一種是由讀音來輸入,統稱為字音輸入法。 前面說了,字音輸入法有其困難。 那麼,除了其成為一個最簡單,對大部分人而言最好學的輸入法之外, 字音輸入法還有什麼存在的價值呢?

在我們投入時間,精力甚至金錢,去學習一種中文輸入法之前,要認清: 我們輸入中文的工作性質,是在依照既定的稿件或印刷品,將其電子化, 還是成為一個作者,將自己的意思直接以電子形式寫出來。 如果您的工作主要屬於前者,那麼, 您的工作要件當然是要快而正確。 這時候,您可能根本不會思考您正在抄寫的文章內容,只要能把眼前的字輸入電腦就是了。 所以,字形輸入法是一個合理的工具: 您只須將已經印成或寫出來的字化成字根的代碼,鍵入電腦, 根本不須理會它的讀音和意義。 一名熟練的輸入者,每分鐘輸入個一百字並不誇張。

但是,如果您自己就是作者,字形輸入法就值得商榷了。 雖然正式的結論需要心理學家的研究證明,但我想一般人會同意, 當我們思考的時候,字音比字形先出現。 而且,若是一邊思考一邊書寫,輸入的速度就變得相對來說不非常重要了。 對作者而言,字音輸入法或許比較自然。 在這種情形,通常您不會遇到需要輸入一個您不會唸的字; 當然偶爾您會發現幾個您念錯的字,這是難免,但是應該不至於造成太大的困擾。 倒是方言或不標準的發音,的確是一大障礙。 所幸以目前大多數受過新式教育的作者,大概在發音上沒有太大的困難。

撇開這些問題,字音輸入法的最大障礙是一項電腦技術問題。 眾所周知,中國字同音字何其多。 單以常用字為例,沒有同音字的只有像

我 徐 死 能 白 拍 跑 胖 摸 買 粉 放 大 短 套 透 牛 撈 冷 改 給 口 海 誰 熟 少 彆 耍 收 說 扔 賊 租 猜 外 走
等等。而一般字典上,與「義」同音的字總有八十個以上。

同音字固然降低字音輸入法的效率,提高出錯的機會; 更糟糕的是它更加傷害我們的眼睛。 因為我們的眼睛必須更專注在螢幕上,並且可能要遊走於螢幕的兩個不同的部位。 所幸近代語言學的應用大量地改善了這個缺點。 關鍵是,中國話的同音字很多,但是同音詞卻很少; 同一個詞性的同音詞就更少了 (像「氣管」和「企管」,「修課」和「休克」)。 如果一個字音輸入的程式能設計得夠聰明,它可以先記得很多詞, 然後在使用過程當中學習新詞,如果再加上文法和文章類別 (法律,醫學,etc.) 的輔助, 則作者通常只須要鍵入讀音,電腦可以選出正確的詞。 當然,這種技術不太可能在原始設計時就完美,例如它不大可能知道您和您的親友的名字。 但是透過妥善設計的學習功能,在同一位作者長期使用後, 這種「智慧型」的字音輸入法會有相當高的效率。 不過,對於文言文或詩詞的作者,它的功能可能不太高。 這一類的作者,可能比較實際的作法是先用紙筆寫稿, 然後用一個字形輸入法使其電子化。

字音輸入法也是以鍵盤為輸入媒介的,它的效率通常比字形輸入法要差。 也就是說,平均每個字所須要的按鍵數頗大於理論上的最小下界。 (注音符號的長度 (1--3) + 聲調符號 (0--1) + 選字 (1--13))。 但是,透過智慧型的辭庫與辭義處理,它容許一次輸入一句話。所以, 它的效率或許有可能達到最低的平均值。

除了以鍵盤為媒介的中文輸入法,還有其他的方式; 諸如語音,手寫和光眼 (OCR). 這些方式的輸入法都已經有了商業產品問世。 但是,它們的適用性都還有待大家的考驗。 原因之一是,這些方法都需要使用者與其善意的配合。 在彼此適應的情況下,它們或許會成為某些人的好幫手,但是卻未必適合其他人。

課外讀物:
[1] 【我的倉頡】網站,也有 CCCII 碼的教育資訊。 原址: http://mycj.tale.net 中大數學的鏡射地址: http://www.math.ncu.edu.tw/mcl/mycj
[2] 自然輸入法,含有辭庫的智慧型輸入法。 中研院資訊所【語言與文件應用系統實驗室】 (LPDA Lab) 的首頁: http://www.iis.sinica.edu.tw/LPDA,以及其內的【開放式中文全功能輸入系統】 (Open Chinese): http://www.iis.sinica.edu.tw/LPDA/OpenChinese


[ 發表感想或意見 ] ‧ [ 讀者推薦課外讀物 ]
單維彰 (95/10/07) --- 96/10/29, 01/10/07