輸入法介紹
當華人網友敲擊鍵盤輸入漢字時,電腦螢幕上都會出現一串中文詞組供其選擇——這就是“聯想式輸入法”,它最早出現在“聯想式漢字輸入系統”簡稱“聯想漢卡”中。然而,無論華人網友中絕大多數人並不知道這項發明的來龍去脈。
“聯想漢卡”的問世,為華人徹底解決了在電腦中使用漢字的難題,推動了微型計算機在中國的迅速普及和套用。因此,在聯想世界眾多的計算機成果中,聯想漢卡始終是一顆璀璨奪目的明星。
“聯想漢卡”這一高科技產品,是由時任聯想集團總工程師、中國科學院計算所研究員、中國唯一集兩項國家科技進步一等獎於一身的著名計算機專家倪光南主持研製的,而“聯想式輸入法”則是倪光南院士的獨特發明。
背景
1980年代初期,個人電腦剛傳入中國,但無法進行漢字錄入,因為沒法普及套用。於是,全國各種漢字輸入、顯示、列印、字型檔等硬軟體新技術不斷推出……倪光南的獨特貢獻是,發明聯想式輸入法,從而極大推動計算機普及套用。
1961年夏天,倪光南以全5分從南京工學院(現東南大學)無線電系畢業,分配到中科院計算所研製外圍設備的第六研究室輸入組工作,結識並與室黨支部書記兼主任王中田成為知己。
王中田是一位1945年參加革命的老幹部,他與一般黨政幹部的最大不同是對技術有強烈的興趣,他常說,“我們當領導的,即使不會演戲,至少也要能聽戲”。為此,這個“提著褲腰帶鬧革命”的黨政幹部,變成勤奮學生。業餘時間幾乎都用來學習技術,他的“老師”就是倪光南。從與王中田的接觸中,倪光南學到了許多優秀品質,特別是王中田不計個人得失,堅持真理的精神給了倪光南很大的教育,兩個人常常在實驗室里研討技術直到深夜。
當時,計算機輸入手段十分落後,計算所的幾台計算機都採用穿孔紙帶輸入,嚴重地妨礙了計算機的套用。
王中田希望倪光南研究計算機新輸入技術,倪光南欣然從命。從那時起,倪光南就步入研製新輸入技術之漫長曆程。倪光南認為,要改進計算機輸入技術,應該依靠計算機本身。於是,他逐漸形成了自己的研究目標,一是用計算機輔助漢字輸入,二是用計算機識別文字;前者發展為聯想式漢字輸入方法,後者發展為手寫文字識別機。
由來
最初,倪光南參加了我國自行研製第一台大型電子管計算機(吳幾康領導的119機)的工作,倪光南擔任外圍設備的值班長、負責調機。後來擔任外掛程式(線路)組長,負責設計和改進線路。1964年4月,119機研製成功,倪光南被評為計算所先進工作者和中科院京區先進工作者。這時,他已成為所里小有名聲的“業務尖子”。此後,倪光南主要從事新輸入技術的研究。
上世紀六十年代,隨著計算機從純科學計算轉向其他套用領域,在中國,漢字信息處理逐漸成為計算機領域中的重大課題。我國一些研究單位、高等學校和很多學者都陸續開展了這方面的研究。
當時,“漢字編碼”研究在中國逐漸興起。但那時幾乎所有的“漢字編碼”研究都是單純的人工“編碼”,即用漢字的字形、發音等作為編碼的基本元素,將一個漢字用一些基本元素的組合來表示,這些基本元素一般只有幾十個,所以可用一個普通的西文鍵盤來輸入漢字,這就是“漢字編碼”方法。
一般的“漢字編碼”方法都需要編碼者記憶規則,這對於使用者是一個負擔,為了減輕漢字輸入時的負擔,倪光南認為,應當充分利用計算機的處理能力,用計算機輔助人來輸入漢字,後來他將這種方法與人的“聯想”功能比擬,稱之為“聯想式漢字輸入方法”。然而,當時的計算機還不能處理漢字,為了實施這種“聯想”功能,計算機首先要能顯示漢字,然後要能知道人選擇哪個漢字,用術語說,就是要有人機互動(人機對話)漢字顯示設備的支撐。
這時,六室顯示組在萬永熙的帶領下正在研製漢字顯示技術。於是,倪光南就積極參予顯示組的研製工作,一方面是協助顯示組,另一方面,又是為聯想式輸入方法的實現準備條件。
1968年7月,計算所研製了衛星監測用的717機,六室顯示組為該機研製了我國最早的漢字顯示器。在研製此種設備過程中一直有倪光南、秦梅芳、賈沛長等多人參加,解決了不少技術難以後,顯示組又研製了“111機”的漢字顯示器。在這種劃時代的先進顯示器的研製過程中,倪光南、秦梅芳、賈沛長等多人也一直參與這項工作,解決了不少技術難題。
111計算機上的漢字顯示器已經可以用鍵盤進行人機互動,但後來顯示組研製的另一台顯示器又增加了一種人機互動手段,這就是“光筆”。光筆很像現在手機上用的手寫筆,不過光筆比較大、比較重,還拖著一根“辮子”(光纖),使用起來遠不如現在的手寫筆那么方便。但在當時,已是實現聯想式漢字輸入方法的理想手段了。萬永熙、倪光南、王紹滿、溫德山、劉歲杪等署名發表的論文《SK-1(DJS-130)計算機光筆圖形顯示器》在《計算機動態》1976年11期上。
後來,倪光南用這些技術在111機上專門為聯想式漢字輸入方法設計了帶光筆的漢字顯示器。
但倪光南在111機上專門為聯想式漢字輸入方法設計的帶光筆的漢字顯示器也有一點小的改進,以前的光筆是用手開關控制的,當光筆指點了螢幕上的圖形和文字後,還要用手指按一下筆上的觸點(手開關),進行選擇。倪光南的做法是在光筆頭上加上一個微動開關,只要光筆指點了螢幕上的漢字,輕輕一壓,開關一動作,漢字就被選擇了。他的這種做法,對聯想式漢字輸入方法操作起來比較方便,只要用光筆在螢幕顯示的漢字上一點,就能輸入這個漢字,這是專門為聯想式漢字輸入方法設計的。
後來,倪光南在111機上演示聯想式漢字輸入時,用光筆在螢幕上輕輕一點就輸入一個漢字的情形給許多人留下了深刻的印象,但做到這一步,花費了十年時間。
“748工程”和計算所學術報告
1974年,倪光南作為計算所的唯一代表參加了電子部著名的“748工程”會議,這一工程帶動了全國漢字信息處理工作的發展。倪光南向當時的負責專家、清華大學張忻中教授介紹了自己的漢字處理研究。
1975年,計算所六室輸入組正式立項進行漢字信息處理課題的研製。
70年代中期,倪光南在計算所階梯教室作過學術報告,介紹聯想式漢字輸入方法。倪光南介紹了他的想法,即利用上下文的關聯性,由計算機輔助漢字輸入。他在黑板上畫出了聯想式輸入方法的示意圖,表明當使用者輸入了一個漢字,例如“中”,計算機將在漢字顯示器上提供許多聯想詞(由一個或多於一個漢字組成),供使用者選擇,例如:國、文、心、央、華、……國共產黨、華人民共和國、……,這樣,使用者可以通過用光筆或鍵盤來選取某一聯想詞,方便地輸入漢字。
“111漢字信息實驗系統”和“手寫文字識別機”
從1967年倪光南參予顯示組的研製工作開始,到1975年,漢字信息處理成為六室輸入組的項目,在七年多的時間裡,倪光南不僅提出了聯想式漢字輸入方法,而且為這一研究準備了必要的條件——人機互動漢字顯示技術,即顯示漢字和用光筆選取漢字的技術。在成為輸入組的項目後,組長竺迺剛和組內其他同事都參加了這一研究。
當年,輸入組在111機上同時開展了兩個項目的研究,即“111漢字信息實驗系統”和“手寫文字識別機”,倪光南把二者融為一體進行研究,共享技術和設備。
六室輸入組對文字識別的研究開始得較早,在109機上就開始了某些實驗。因為文字識別的研究是從英文字母和符號的識別開始,容易起步。為此也需要某些設備支撐,這就是作為手寫文字數位化手段的“飛點掃描器”和作為文字輸出手段的繪圖儀。在109機上進行實驗時,倪光南等做了一個比較簡單的“飛點掃描器”原型,繪圖儀則利用了現成的設備。但漢字處理對於硬體有特殊要求,以前的計算機不能處理漢字,所以在109機上不能進行漢字處理研究。正因為如此,倪光南需要首先參予顯示組的人機互動漢字顯示器研製,在創造了漢字處理的支撐條件後,才將這一研究作為組內課題。
倪光南提出的設計方案,使這兩項研究的設備共享,“手寫文字識別機”(“識別機”)的硬體設備基本上包含了“111漢字信息處理實驗系統”(“漢字系統”)的硬體設備。“識別機”的硬體包括“自適應飛點掃描器”和“文字識別監視器”,後者就是“漢字系統”的主要硬體——人機互動漢字顯示器(包括漢字顯示器、光筆和鍵盤)(圖3),它在“漢字系統”工作時用來顯示和輸入漢字,而在“識別機”工作時,作為文字識別監視器和修訂手段。兩個設備公用控制器。只有漢字印表機是“漢字系統”專用的。倪光南的這一設計大大節省了設備,縮短了研製周期。
項目的研製工作可分為九個部分,它包括控制器部分,即控制器(由三百多塊小規模積體電路構成),竺迺剛負責邏輯設計、倪光南確定功能指標、調試、修改;設備接口研製(D/A座標轉換器、掃描驅動器等)倪光南、劉金鐸等負責。
機械設計部分包括飛點掃描器、漢字顯示器、光筆和鍵盤、控制器機櫃等由李蘭元、蘆承烈、劉桂珍負責。
漢字系統部分的人機互動漢字顯示器研製(包括漢字顯示器、光筆等,主要是移植顯示組的成果)由倪光南、丁家福等負責;漢字系統軟體研製(包括漢字顯示、光筆控制、聯想輸入、對話輸入、漢字列印等模組)由倪光南、馬長山、陳芷英、劉金鐸負責;“對話輸入法詞典”編制和“聯想詞典”編制是竺迺剛、陳芷英、劉金鐸等負責的;漢字印表機研製由蔡樹永、李燕仲、陳貴榮、張永慧等負責。
識別機部分的自適應飛點掃描器研製(包括自適應掃描、自動聚焦、噪聲抑制放大器等)由倪光南、丁家福、高仲操、劉金鐸負責;識別機軟體研製(包括文字搜尋、標準化、前處理、特徵抽取、識別、後處理、人工干預、自學習形成識別字典等模組)由倪光南、高仲操、丁家福、竺迺剛、陳芷英、劉金鐸負責
倪光南的工作涉及九部分中的六個部分,他主持了全部硬體、軟體的研製和上機實驗。
萬永熙、倪光南和六室顯示組研製的“SK-1光筆圖形顯示器”的控制器邏輯,111機的“人機互動漢字顯示器”的控制器邏輯基本上是它的移植,但將“三維座標變換器”簡化為“二維座標變換器”,同時,修改了與主機的接口。
倪光南學硬體出身,自學軟體,因為中國直到1964年才有計算機系畢業生,因此老一輩計算機專家全靠自學成材。倪光南最初在109機上用16進制機器碼編程,做手寫文字識別實驗;後來他用BCY(相當於ALGO-60)語言設計“橫向濾波器”,在《計算機動態》上發表了論文:“信號波形處理和橫向濾波器的時域設計”(1978年7期,pp.1-16.);在參予顯示組“SK-1光筆圖形顯示器”研製中,他用BASIC語言,編制了三維圖形程式進行調機(圖5);在111機上,他帶領輸入組同事用彙編語言編制了二個項目的軟體,進行實驗。
上述工作涉及的科技人員還有萬永熙、賈沛長、劉正堅、秦梅芳、劉歲杪、溫德山等。這個系統的“對話輸入法”的最初方案——“上下形”輸入法,是劉金鐸的同學劉效璞提供的,在它的基礎上,竺迺剛發展成“對話輸入法”。其他作出貢獻還有提供字型檔的九室的王建新,以及漢字系統的最早用戶——在111機上做機器翻譯研究的劉湧泉、吳遜和耿立大等。
演變
聯想式漢字輸入法從倪光南最初提出到後來的實現,經過了以下的演變。
“字”==》“詞”方式
倪光南最初提出的聯想式漢字輸入法是採用“字”==》“詞”方式,即輸入一個漢字,由計算機提供一組“聯想詞”(由一個或一個以上漢字組成)供人選擇,例如對應“中”字的聯想詞典結構為:
中==》國、文、心、央、華、……
……
國共產黨
華人民共和國
……
在這種情況下,選擇一次就可輸入由多個漢字組成的“詞”,例如選擇最後一項,就可輸入“華人民共和國”。當初倪光南提出的聯想是單次的:輸入一個漢字,聯想一個詞,再輸入一個漢字,再聯想一個詞,……等等。
“字”==》“字”方式
在研製“111漢字信息處理實驗系統”中,竺迺剛負責編制聯想詞典,他提出採用“字”==》“字”方式,即輸入一個漢字,由計算機提供一組“聯想字”供人選擇,“聯想字”形成一個鏈,實現“字”==》“詞”的效果。這是竺迺剛對於聯想式輸入法的一個貢獻,可以節約聯想詞典的存儲空間,所以倪光南接受了他的建議,而且用軟體判斷一個控制開關,可以選擇是用這種連續的“字”==》“字”聯想方式,還是用單次的“字”==》“詞”聯想方式。“字”==》“字”聯想方式付出的代價是輸入一個詞需要作多次選擇。例如,由“中”字開始,通過聯想,輸入“華人民共和國”這個詞,需要選擇6次,其過程為:
中==|國|==>人====>民=|大產平
|文|語家|解|==>和=|氣
|心|夏工|==>共=|同|善
|=>華=|文力政享|==>國
央··的·諧
······
······
“詞”==》“詞”方式
“字”==》“字”方式雖然能節省存儲,但這樣聯想字的命中率不高。後來倪光南在聯想式漢卡中發展為“詞”==》“詞”方式,即根據已輸入的“詞”(可超過一個字),計算機提供一組“聯想詞”供人選擇。“聯想詞”所依據的、已輸入詞的長度稱為“聯想相關長度”。顯然,這個長度愈長,聯想詞的命中率也愈高。在聯想式漢卡的V2.X軟體系統中,支持“聯想相關長度”為1至4,也就是計算機可以根據前面已輸入的一至四個漢字來提供“聯想詞”。下面表示“聯想相關長度”分別為1至4時,“聯想詞”的詞典結構如下:
聯想相關長度=1:
中==》國、文、心、央、華、……
聯想相關長度=2:
中國==》人民、政府、國家、公民、製造、……
聯想相關長度=3:
中國人==》民、文、口、均、……
聯想相關長度=4:
中國人民==》政府、銀行、解放軍、政治協商會議、……
按照這種方式,聯想詞的命中率較高,輸入效率也較高(選擇一次可以輸入不止一個漢字)。
作用
利用聯想功能減少輸入中的重碼
在聯想式漢卡的V2.X軟體系統中,倪光南還利用聯想功能來減少輸入中的重碼。像拼音這類輸入法,雖然規則簡單,但重碼很多,例如“yi”的同音字超過一百個,在這么多的重碼字中選擇所需的字,效率很低。V2.X軟體系統允許加上“利用聯想功能減少重碼”這一選項,這時,重碼字將被篩選,其中屬於“聯想字”的那些字將排在前面,便於人的選擇,這種做法接近於後來的智慧型拼音輸入方法。
1980年,加拿大國家研究院(NRC)的一位副院長到中科院計算所訪問,六室由萬永熙負責接待,他叫倪光南演示了“111漢字信息處理實驗系統”和“手寫文字識別機”,倪光南用不流利的英語和這位副院長交流,深得他的嘗識。1981年,倪光南應邀到加拿大國家研究院工作,擔任VRO(訪問研究員),年薪43000加元,這在加拿大也屬於薪水最高的5%之內。從此,倪光南提前進入了小康。儘管待遇高、條件好,但倪光南不想留在加拿大,他抓緊這一難得的機會,掌握了C語言和微處理器技術,並在1983年回國。那時他已有把握,運用微處理器和C語言技術,將聯想式漢字輸入等漢字處理技術整合在一個微機系統上。為了儘快做出成果,倪光南回國時,自費買回了一批在國內較難買到的包括Z80微處理器等關鍵器材。
圖形微型機
有了這些關鍵器材,倪光南等很快研製出了一個獨立的漢字信息處理系統——“LX-80漢字圖形微型機”。從依賴於一個大型計算機的實驗系統——“111漢字信息處理實驗系統”到發展成一個實用的漢字微機,是一個很大的進步。
1984年,“LX-80漢字圖形微型機”獲得中科院三等獎,名次為:倪光南、竺迺剛、秦梅芳、平鎮中、楊展青、高仲操、陳芷英(中國科學院計算技術研究所《科學技術成果彙編》,1979-1985,pp.88)。
LX-80已經是一個產品,它通過技術轉讓,一共給了四家公司生產,有廣東省科學院實驗工廠,大連科華公司,四川萬縣船舶總公司457廠,蘇州計算機廠等,一共生產了600台。這在當時研究所里,是成果轉化較好的一例。
倪光南的課題組那時在科技成果與市場結合方面已經是計算所的姣姣者。
1984年4月23日,在深圳市的“電腦產品及套用成果展覽會”上,LX-80和IBM-PC同台獻藝。當時,LX-80採用的是“硬漢字”技術,即採用硬體處理漢字,而IBM-PC採用的是“軟漢字”技術,即採用CCDOS這一軟體來處理漢字,因此,LX-80在處理速度上占有很大優勢。那時的PC速度很低,用16位的8088CPU,主頻只有4.66兆赫(性能大概只有現在新的PC的千分之一),所以每秒只能顯示幾十個漢字,而且在一個全螢幕幕上只能顯示十行漢字。相比之下,LX-80雖然用的是8位的Z80CPU,主頻4兆赫,但是漢字處理主要用硬體,例如漢字顯示速度每秒達到千字左右,而且全螢幕幕可以顯示25行漢字。所以從外特性比較,LX-80的漢字信息處理功能遠遠超過了PC。很多觀眾看好LX-80,但是倪光南自己很清醒,國外的一段經歷使他開了眼界,他認識到,PC是工業界的主流。用Z80微處理器的系統,像當時中國很普遍的Cromemco,TRS-80微機等,包括自己開發的LX-80在內,都將不能抗衡。正是在這個展覽會後,倪光南開始了將LX-80的技術向PC上移植、變成聯想式漢卡的過程。
聯想式漢卡
中航深圳工貿中心的劉汝瑛總經理是聯想式漢卡的第一個支持者,她提供了兩台當時最新的IBM-PC/XT。
1984年8月,她和計算所簽署協定,合作開發聯想式漢卡。接著,由於信通公司邀請倪光南擔任顧問,信通也提供了支持,這樣,在計算所公司成立前,聯想式漢卡的研製工作已經在中航深圳工貿中心和信通公司的支持下進行了。
1984年11月計算所公司成立後,王樹和、張祖祥、三人共同決定請倪光南出山擔任總工,由於對這三位同事的信任以及他在國外對於高技術企業的認識,倪光南深感“成果轉化”需要通過高技術企業,所以柳傳志他立即同意,於12月加入了公司,成為公司的第十二位員工。
倪光南很清楚,只有正在研製的聯想式漢卡才能為公司打開市場,LX-80沒有什麼前途。聯想式漢卡的技術在所內已研製了多年,又有人追加投入,怎樣處理這個關係呢?當時計算所公司可以無償使用計算所的成果,所以將聯想式漢卡帶給計算所公司沒有問題,但是倪光南認為,前期對漢卡作過支持的單位也應給以適當的回報。通過和王樹和等的商量,決定給中航深圳工貿中心6萬元作為對他們提供PC的補償,而對信通採取的方式是,兩家共享聯想式漢卡第一個型號銷售收益。
創新
1981年IBM-PC推出後,在西方迅速流行並進入了各個領域,但在中國,PC的推廣卻遇到了處理漢字的難題,這包括漢字的輸入、輸出、顯示、編碼、字型、漢字套用軟體等等問題。在這一需求的推動下,各種漢字系統應運而生。PC上最早的漢字系統是CCDOS,這是純軟體的解決方案,即“軟漢字系統”,它成本低,但也有缺點:在PC/XT上漢字顯示速度每秒只有幾十個;全螢幕幕只能顯示十行漢字文本;漢字字型檔占據了1/3的記憶體資源;漢字顯示必須通過BIOS軟體處理,破壞了“直接寫屏”協定,使大多數套用軟體都不能直接處理漢字。為使原來的軟體能處理漢字就需要修改即進行“漢化”,有的還很難“漢化”。正是由於軟漢字系統的缺點,很多用戶,特別是要求高的用戶,迫切需要有高性能的解決方案。
聯想式漢卡(兼容軟硬體的聯想式漢字輸入系統)就適應了這種需求,它是把軟體植入專門的硬體(卡)處理漢字,所以又是“硬漢字系統”。它的設計思想就是使西文PC變成中文PC,使它在性能方面可以和西文PC媲美。
曾經有一種說法,認為方塊漢字不能適應現代計算機的要求,因此漢字需要改革,需要走西方文字拼音化的道路。但是在我國學者的努力之下,隨著漢字信息處理技術(現在一般稱為“中文信息處理技術”,含義比“漢字信息處理技術”更廣)的發展,計算機處理漢字的各種難題逐步得到解決。現在,對於計算機和信息技術來說,漢字不僅不是一個障礙,而且顯示出了它的獨特優點,例如漢字信息量大,有易讀性等,這應歸功於漢字信息處理技術取得的成就。
2001年在由中國工程院倡議主辦的“20世紀我國重大工程技術成就”評選中,共評出了25項重大工程技術成就,其中“漢字信息處理與印刷革命”僅次於“兩彈一星”,居第二位。眾所周知,“印刷革命”主要是王選主持研發的方正排版系統,而“漢字信息處理”則有眾多的漢字信息處理研發者;而聯想式漢卡是首個獲得國家科技進步一等獎(1988年)的漢字信息處理系統。
在1988年1月的“國家級科學技術進步獎申報書”上,聯想式漢字輸入系統“主要完成單位”是:中國科學院計算技術研究所,“主要完成人”是:倪光南、秦梅芳、錢華林、陳浩斌、嚴開明、平鎮中、胡錫蘭、鄭茂松、何玉珍、賀志強、李玉新。基層申報單位是:中國科學院計算技術研究所(所長曾茂朝)。
聯想式漢卡的最大特色是採用了聯想式輸入方法,故命名為“聯想式漢卡”。
聯想式漢卡通過硬體與軟體相結合的方法,使PC處理漢字和處理西文的效率相同:無論是中文還是西文,顯示速度不變,顯示格式不變,記憶體資源不被占用,“直接寫屏”協定不變,西文軟體基本上不需“漢化”就可使用。
在當時“漢卡”這類產品中,聯想式漢卡是最早推出之一,並很快成為銷量最大、影響最大的漢卡。嚴格說,聯想式漢字系統是由硬體(卡)加軟體(LXPC系統軟體)構成的,但是軟體並不單獨定價、銷售,而是包含在硬體銷售中,即用戶每買一套卡就必定帶一盒裝有LXPC系統軟體的軟碟,採用這種硬軟體“捆綁銷售”在當時是必要的,象方正排版軟體在聯想式漢卡中占有重要的地位,它提供了中文系統軟體和套用軟體的支持,尤其是,聯想式漢卡發展了智慧型化的漢字輸入,例如:它支持聯想功能,“聯想”的相關長度達到4個漢字;用戶可用碼錶生成任意輸入方案,支持字和詞的輸入;利用“聯想”可減少輸入的重碼字數或調整輸入的候選字順序;允許在輸入現場自定義詞(或詞組);輸入的候選字可根據使用頻度動態排序等等。
倪光南認為,聯想式漢卡的成功首先是把握市場的成功,因為聯想式漢卡的主要技術在1984年推出的LX-80上已基本實現,移植到PC上的難度相對說來不大。從學術的角度看,LX-80是一個完整的系統,而聯想式漢卡僅僅是PC上的一個擴展卡,但從市場的角度看,LX-80隻推廣了600台,而聯想式漢卡總共推廣了16萬套。另外,聯想式漢卡還帶動了公司的微機銷售,帶動了其他相關產品,如漢字仿真終端、漢字網路和軟體等等,其效益是LX-80無從比擬的。這是因為PC是工業界的標準,是主流,聯想式漢卡是依託PC才取得成功的。系統,四通打字機等都是如此。