本文是本人于 2003 年做的研究生論文綜述,權當作一個遙遠的輸入法歷史回顧吧。這次重新整理成 HTML 格式的同時,修改了個別的錯別字和語法錯誤。當我重溫此文的時候,仍然覺得收獲不小,希望對讀者也有所裨益。
現在是 2020 年末,漢字輸入技術已經發生了巨大變化,人工智能技術的應用使得文字識別和語音識別這些非編碼輸入方式日益成熟、實用,基于鍵盤編碼的漢字輸入也取得長足的進步。互聯網和智能手機的普及,使中文輸入產品及其用戶的格局發生了深刻的變化,形成了搜狗輸入法、百度輸入法和訊飛輸入法三大頭部產品。輸入法的商業模式更是煥然一新,輸入法均是免費提供,變現則是通過其它方式實現。中文頂功編碼理論和輸入技術從 2005 年誕生,經過 10 多年的發展,到逐步為輸入法愛好者接受,口碑相傳,親自動手,嘗試用頂功技術對音碼、形碼、音形碼進行改造,對字詞模式和整句模式進行優化,取得了豐碩成果,最著名的有聲筆系列和星空系列的頂功輸入法方案,另外還有一碼起頂的左飛 1811,二碼起頂的西風瘦碼、小兮碼、靈形速影、左飛雙拼、頂功雅歌,三碼起頂的左飛三碼、聽雨三碼,二四頂屏的頂功希碼,星空學系列的星空兩筆、星空鍵道及其變種,采用四二頂的 C42,采用五二頂的徐碼五二頂等等。
至于本文所述輸入法歷史之后的進展情況,本人打算另外撰文加以回顧。
1978 年 7 月 9 日上海《文匯報》在第一版以標題為 “漢字進入了計算機” 長篇文章詳細報道了支秉彝先生完成 “見字識碼” 的小鍵盤輸入漢字的設計方案和編碼碼本,掀開了 “編碼潮” 的序幕,越來越多的人卷入到漢字與電腦碰撞的旋渦,形成了陳力為先生所形容為 “史無前例的規模巨大的群眾性科研活動”。
1978 年 12 月,張其睿、支秉彝等漢字編碼先行者在青島召開了我國首次 “漢字編碼研究會”。會后,科學技術文獻出版社出版了《漢字編碼方案匯編》,這是第一本關于編碼方案的專著。1979 年夏,陳明遠主持了第一個中文信息研討班,進行了為時兩個月信息處理漢字的基礎理論和編碼方案研究,張普等將研究成果連續發表在《語文現代化》雜志上,這是第一批研究漢字特征信息的論文。1981 年,以錢偉長為理事長的中國中文信息學會成立。中文信息學會及所屬的漢字編碼專業委員會、《中文信息學報》、《中文信息》等雜志成為組織交流漢字編碼及理論的場所和媒介。1981 年至今中文信息學會、漢字編碼委員會召開國際性、全國性學術會議幾十次。在上述學術會議和全國性雜志、報刊、專利公告上發表的國內外論文和公布編碼方案約在數千種以上,已上機運行的也超千種。
漢字編碼輸入利用計算機的標準配置實現,通過編碼對漢字信息進行壓縮,既經濟又快速,因而一直是漢字信息處理領域中參與人數最多、研究得最多、討論得最熱烈、產品競爭最激烈的領域。隨著手機在中國的普及,手機短信量急劇增加,又促進了數字鍵盤漢字編碼輸入法的發展。
雖然目前的漢字編碼輸入法已有成千上萬,然而對它的研究熱潮仍然一浪高過一浪。縱觀為數眾多的漢字編碼輸入法,大多為低水平的重復設計和開發,技術上的突破很少,理論上的創新就更為罕見了,造成了巨大的人力、物力和財力的浪費。同時,虛假的廣告宣傳、惡性的商業競爭、猖狂的盜版使用,既使得廣大的用戶無所適從,又損害了漢字編碼輸入法開發者的利益。
本文打算分基礎工作、理論研究和實用系統三個方面來對漢字編碼輸入技術的歷史和現狀進行綜合評述,最后指出現有技術中存在的問題并預測今后技術的發展趨勢。基礎工作包括國家標準和規范的制定和推行,語料庫建設,字、詞和漢字特征信息使用頻度統計;理論研究包括漢字各階信息熵計算,字詞編碼最短極限碼長的計算,漢字編碼輸入模型的建立,輸入法評測方法的討論;實用系統包括至今為止已投入使用的典型漢字編碼輸入系統的發展狀況,它們在編碼技術、反饋技術、接口技術等方面的特點。
1 基礎工作
1974 年 8 月,我國開始了第一個大型漢字信息處理工程項目 “748 工程”,其主要成果之一是《漢字頻度表》,它首先為漢字信息處理提供了重要的基礎數據。1980 年前后,陳明遠、盛諫等人分別公布漢語音節、聲母、韻母、聲調和字母頻度統計。1980 年,經過對《漢字頻度表》和其它字表的統計分析,國家標準總局頒布了漢字信息處理領域的第一個國家標準《信息交換用漢字編碼字符集?基本集》(GB2312-80)。這是一個在中國的漢字信息處理歷史上劃時代的、具有深遠影響的標準。1981 年,武漢大學、復旦大學等公布了在《新華字典》字集范圍內的字根頻度統計結果。1984 年,國家文字改革委員會與武漢大學公布了《辭海》字集范圍內漢字筆畫、部件、結構的動態統計分析結果。1985 年,國家文字改革委員會與山西大學公布了人命姓氏用字的抽樣統計分析結果。1986 年,北京航空學院、新華社利用計算機技術分別公布了基于大型語料庫的新的漢字使用頻度統計和流通頻度統計 [5]。1985 年后,還有北京師范大學、上海交通大學、北京語言學院等分別使用各具特色的自動分詞技術公布了大型語料庫的現代漢語詞語使用頻度統計 [8]。
武漢大學、上海交通大學、陜西大學、中國人民大學、北京語言學院、北京信息工程學院、北京師范大學、深圳大學、北京航天航空大學和新華社等單位分別建立了具有使用側重面的大型漢語語料庫。今年來我國學者提出在語料庫語言學指導下建立語料庫,使語料庫建設走上更加科學化和規范化的道路。上海交通大學、北京圖書館、國家語委陸續推出規模越來越大、屬性越來越全,數據越來越精確的大型漢字屬性庫。北京大學計算機語言研究所還建立了以漢語語法為中心的 “現代漢語語法信息詞典” [9]。內容全面、翔實、使用方便的漢語語料庫、字詞屬性庫對推動漢字編碼鍵盤輸入技術的發展無疑會起到重大作用。
九十年代后公布的與漢字鍵盤輸入系統有關的國家標準有 GB13000.1《信息技術多八位編碼字符(UCS)》、GB18030 《信息技術 信息交換用漢字編碼字符集 基本集的擴充》、GB18031 《信息技術 數字鍵盤漢字輸入通用要求》、GB15834 《標點符號用法》和即將公布的有 GB/T18220-2000《信息技術 通用鍵盤漢字輸入通用要求》。語委頒布的規范有 GF3001 《信息處理 GB13000.1 字符漢字部件規范》、GF3002 《GB13000.1 字符集漢字筆順規范》、GF3003 《信息處理用漢語拼音方案表示規范通用鍵盤》。
GB2312-80 包含 6763 個字,GB13000.1 包含 20902 個字,GB18030 包含 27533 個字。關于編碼字符集,GB/T 18031 要求數字鍵盤編碼應包括 GB2312 或 GB13000.1 或 GB18030 中定義的全部漢字字符,GB/T18220-2003 要求通用鍵盤編碼應包括 GB18030 中定義的全部漢字符號和現代漢語標點符號。
關于鍵位設置,GB/T 18031 對數字鍵盤規定輸入漢字的編碼元素要設定在 0~9 的數字鍵范圍內,并對五種基本筆畫和漢語拼音符號的鍵位作了規定。多筆畫部件及筆畫組合可以自由設定。GB/T18220-2003 對通用鍵盤規定‘A’到‘Z’26 個字母鍵輸入漢字和詞語的特征編碼信息。‘0’到‘9’10 個數字鍵,除用來輸入阿拉伯數字外,還可用來輸入漢字和詞語的特征編碼信息的輔助信息,包括漢語聲調、重碼字選擇等。另外,還對 GB/T 15834 定義的 23 個標點符號的鍵位進行了規定。
關于部件規范,GF 3001 對 GB 13000.1 的 20902 個漢字進行逐個拆分、歸納與統計后給出了 560 個基礎部件,并規定:基礎部件(也稱末級部件)為最小的不可拆分的部件;基礎部件可以組合成成字部件使用,但不得組合成非字部件;漢字拆分為部件時,應遵循 “相離、相接可拆,交重不拆(可拆成筆畫)” 的原則。
關于筆畫規范,GF 3002 明確了漢字的基本筆形是五種,其排列順序為一(橫)、丨(豎)、丿(撇)、丶(點)、乛(折),分別用符號 1、2、3、4、5 表示。GF 3002 還給出了 GB 13000.1 的 20902 字的規范筆順。
2 理論研究
2.1 字熵、最短碼長和極限速度
早在 50 年代,錢文浩先生開始從信息論的角度研究漢字,并計算漢字的熵值。這項工作一直延續了三十年,陳文熙、王世寧、李公宜、劉源等將漢字熵值的研究從字熵推進到詞熵,從零階熵推進到高階熵值。中文的熵值研究對包括鍵盤輸入技術在內的中文信息處理具有重要的理論價值,并對漢字編碼具有指導作用。
李公宜等按照信息論原理,計算出漢字的零階熵 為 9.66 比特。他們根據不同語言的句子具有等價的語義信息這一基本前提,推出漢字的極限熵 H∞在 5.2 比特到 5.5 比特之間 [10]。他們同時還從中文信息熵得出了在碼元數不大于 36 時以句子為編碼對象前提下漢字編碼的最短平均碼長為 1.25, 從而駁斥了某些編碼自稱能一鍵一字、輸入速度達到每分鐘 300 字的神話。雖然碼元數大于 36 后,在理論上可以進一步縮短平均碼長,但是由于手指移動速度會受到影響,反而會使輸入速度下降,因而繼續增加碼元是不可取的。不能突破 1.25 鍵 / 字的結論是針對漢字信源總體作出的,與個別或某些詞語或句子能夠實現一鍵一字的實際情況并不矛盾。
馮志偉根據他自己建立的 “漢字容量局限定理”,在漢字的字種數為 12370 的范圍內,計算出漢字的零階熵 為 9.65 比特 [11]。他還利用英漢雙語語料庫,間接推算出漢字的極限熵 H∞處于 3.0212 比特到 5.0713 比特之間,其平均值為 4.0462。
王曉龍等直接用概率論的方法,在 180 萬字的樣本數據內,計算了 N 元字詞編碼的最短碼長 [12]。當 N 等于 26 時,字輸入最短碼長為 2.081087,詞輸入最短碼長為 1.731010。當 N 等于 36 時,詞輸入最短碼長為 1.588347。他根據日本打字員的平均每分鐘擊鍵數(N=26 時為 450 擊,N=50 時為 250 擊,N=2000 時為 5000 擊)給出了錄入員的平均速度上限(N=26 時為 260 字 / 分,N=50 時為 170 字 / 分),再次說明了碼元數的過度增加雖然可以縮短碼長但卻會降低輸入速度的道理。他同時還指出,當 N 增大時,最短碼長和漢字(詞)熵的差距隨之增加,編碼效率逐步降低。
陳一凡認為 “由于漢語字、詞的熵值高于拼音文字和漢語的冗余度較低、組詞方式靈活,使漢字小鍵盤輸入的效率遠遠高于拼音文字” [5]。他在這里忽視了一個問題,那就是漢字是通過編碼以后輸入的,拼音文字的輸入則是沒有經過編碼而直接進行的。根據信息論原理,編碼是可以對作為信源的漢字信息進行壓縮的。因此,漢字的編碼輸入和拼音文字的直接輸入沒有什么可比性。
2.2 輸入模型
整個漢字編碼輸入過程涉及到人、機、文、碼等多種對象,包含了一系列人和機的活動。弄清各種對象和活動之間的相互關系和影響,從而建立起漢字編碼輸入的概念模型和數學模型,對漢字編碼輸入法的研究具有重要的理論指導意義。不幸的是,輸入模型并沒有得到足夠的重視。在現有的出版物中,對輸入模型的探討是很少的。
不過,陳一凡等的《漢字鍵盤輸入技術與理論基礎》一書對輸入模型做了相當深入的研究 [5]。他們分析了漢字鍵盤輸入流程,提出了 “理想的漢字特征信息鍵盤輸入的數學模型” 和 “實際的漢字特征信息鍵盤輸入的數學模型” 。他們的數學模型以集合論為工具,說明了漢字、漢字特征信息、鍵元、漢字內碼之間的映射關系及重碼的處理辦法。
張侃等按照人的視聽感覺、認知和動作對整個漢字鍵盤輸入過程進行分界和說明,得到了一個漢字鍵盤輸入的認知模型 [14]。該模型的三個不同層次的加工過程和容量限制分別為評測漢字輸入方法的三個主要素質提供理論依據:即長期記憶量與易學性,短期記憶量與心理負荷和易學性,認知、動作加工與易用性和輸入速度。
何克杭分析了人類識別漢字的認知模型,并將認知心理學的理論方法系統地應用于漢字編碼的形碼方案設計,以解決快速性和易學性的矛盾 [15]。
2.3 輸入法評測
面對 80 年代初 “編碼潮” 涌現出的數百種方案和上百種上機運行的漢字鍵盤輸入系統,對它們的內在素質和使用效果的優劣評估提到議事日程。上海交通大學、北京信息工程學院、中國標準化與信息分類編碼研究所、中國科學院心理研究所等單位不斷探索評估理論和設計評測軟件。評估對象由 80 年代初的編碼方案發展為八十年代末的包含 “編碼層次” 和 “軟件層次” 的整個輸入系統;評測內容由表象測定深入到與認知心理結合的內在素質測定;評測手段由定性到定量;評測方法由主觀因素起作用逐漸過渡到計算機客觀評測;九十年代則將評測內容和指標寫進了國家標準。
從 1980 年起,中國開始進行過幾次民間組織的評測工作。由上海交通大學牽頭起草了一個評測試行草案。1983 年 4 月,臺灣中文電腦研析室主持了對漢字輸入方法的調查評估,參加測試的方案有 7 個。1984 年夏,中國中文信息研究會漢字編碼委員會、上海交通大學、中國福利會少年宮組織了有 5 個方案參加的計算機定量測試工作,為評測的理論和實踐打下了初步基礎。1985 年在國務院振興辦公室、國家科委和國家標準局的領導下,掛靠在國家標準局信息分類編碼研究所的全國漢字輸入方案評測辦公室組織各方面有關專家,在對評測試行規則草案進行了全面修改和補充又先后經過三次專家評審,于 1985 年 12 月形成了漢字鍵盤輸入方法評測規則草案 [16]。
1986 年 3 月至 5 月,由國務院電子振興辦公室、國家科委和國家標準化總局、中國中文信息學會聯合組織的首屆全國性評測歷時 38 天,報名方案 51 個。經靜態參數測試和資格審查,確定 34 個方案進入動態測試。其中,有形碼 20 個、音碼 3 個、音形碼 8 個、形音碼 1 個、形字音詞碼 1 個、整字鍵盤方案 1 個。按照測試規定和成績評選出了 11 個 A 類方案和 19 個 B 類方案。11 個 A 類方案是:陳代于的大眾編碼,張國防的五十字元多能漢字輸入法,唐懋寬的中文聲數編碼,錢偉長的宏觀字形編碼,陳國斌的層次四角編碼,萬仁芳的前三末一拼形方案,劉書澤的部形碼,李金凱的筆形編碼,由中文信息學會漢字編碼專業委員會組織協調、公安部十二局負責牽頭的公關項目聯合 45-3 輸入法,歐陽松的 CK 碼,李公宜的 JDL 無間隔輸入法。以上 A 類方案的平均速率為 43.16 字 / 分,平均錯碼率為 3.14%,最高平均速率為 52.52 字 / 分,最低平均速率為 34.83 字 / 分,操作員最短學習期(包括教學)時間為 38 小時。此次評測工作有力地推動了漢字編碼輸入技術的發展。
1987 年在大連舉辦了中華杯中文電腦公開賽,探索將漢字編碼輸入作為計算機系統的一個子系統來進行評測,同時電子工業部向上海交通大學和北京信息工程學院下達了 “漢字鍵盤輸入評測技術” 研究課題,推動了評測工作向 “的客觀、公證、科學” 的方向發展。
進入九十年代后,漢字能否輸入計算機的問題已得到解決。但隨著計算機的普及,漢字編碼輸入者中專業打字員的比例越來越少,并且中小學生也都普遍的開始學習漢字編碼輸入。漢字編碼的規范性問題、與語文教學的關系問題、易學性問題等日益尖銳地顯現了出來。王力德就普及型漢字編碼的易學性目標體系和效率目標體系進行了有益的探索 [17]。文獻 [18]-[26] 圍繞認知碼和五筆字型的規范性問題進行了激烈的討論。華紹和等指出適應中小學教學用的漢字編碼應具備的特點有:編碼應符合國家語言文字有關標準和規范;編碼實現應使用通用設備,鍵位設置應符合有關規定;編碼以計算機輸入為基礎,與識字、寫字、查字相結合;編碼應把漢字全息輸入與非全息輸入有機結合起來;為基礎教育服務,與語文教學緊密結合 [27]。
九十年代的國家標準將編碼層次和軟件層次視為統一的鍵盤輸入系統進行性能考核。《數字鍵盤漢字輸入通用要求》和《通用鍵盤漢字輸入通用要求》規定的系統性能指標有三個:易學性、漢字輸入平均碼長和重碼字詞鍵選率,給出了應當達到的最低要求。值得注意的是,這些標準用鍵選率取代了傳統上使用的重碼率。易學性指標要求 “學會使用漢字編碼輸入系統的時間盡量短,并應符合使用漢語作為母語的使用者的思維習慣”,對數字編碼則更進一步要求 “做到上手能用”。平均碼長指標對通用鍵盤漢字輸入要求小于 3.2 鍵 / 字(漢語拼音、筆畫為主的簡易編碼)或小于 2.2 鍵 / 字(部件碼、音形碼、形音碼、雙拼);平均碼長指標對數字鍵盤漢字輸入要求小于 6 鍵 / 字(逐字字段輸入)或小于 4 鍵 / 字(字詞混合輸入)。鍵選率指標對通用鍵盤漢字輸入要求小于 6%(漢語拼音、筆畫為主的簡易編碼)或小于 1.5%(部件碼、音形碼、形音碼、雙拼);鍵選率指標對數字鍵盤漢字輸入要求小于 8%(逐字字段筆畫、部件碼輸入)或小于 10(字詞混合筆畫、部件碼輸入)或小于 13(10 鍵位逐字字段拼音輸入)或小于 14(8 鍵位逐字字段拼音輸入)或小于 12(10 鍵位字詞混合拼音輸入)或小于 14(8 鍵位字詞混合拼音輸入)。