劉宗凡
編者按:如果時光倒流到二十年前,五筆字型和WPS就代表了計算機。在當時網絡還不普及的時代,能在計算機上打出一串串文字,就代表了你是一個計算機高手。現在我們整天在鍵盤上敲敲打打,把心里的想法變成文字。可是我們可能沒有想過,為什么敲擊鍵盤可以輸入文字呢?除了鍵盤,有沒有其他辦法輸入文字呢?甚至意識是不是能控制計算機呢?在此,主持人和嘉賓將分兩期對這一問題進行深入探討。
● 遙遠的穿孔紙帶
也許我們覺得計算機配置一個鍵盤,是天經地義的事。但實際上,計算機在上世紀80年代中期,還普遍是用穿孔紙帶或穿孔卡片來向計算機輸入信息的。如果我們追溯到更古老的計算機,如第一臺計算機ENIAC,要讓它進行一項計算,只能重新連接線路!圖1為穿孔紙帶。
為什么要用這么奇怪的紙帶來輸入信息?我們首先要了解計算機的工作原理。我們使用的計算機千姿百態,除了常用的微機,還有小型機、大型機、巨型機、嵌入式計算機以及各種智能設備,如手機、平板等,但無一例外都是使用存儲程序思想進行工作,我們稱之為馮·諾依曼體系計算機。馮·諾依曼體系計算機的一個重要特點是使用二進制進行設計。呈現在我們面前豐富多彩的多媒體信息,如動聽的音樂、優美的動畫、漂亮的圖片、絢麗的視頻……在計算機內部都是冷冰冰的“0”和“1”。一個“0”或“1”我們稱之為一位(bit,比特),8位組合在一起稱為一個字節(Byte)。字節是計算機存儲的基本單位。
既然計算機內部是用二進制表示,那么要計算機理解我們的思維,自然使用二進制是最直接的方式。打孔紙帶一行有8個位置可以打孔,如果某個位置打孔,代表這是一個“1”,否則代表這是一個“0”。一行8個位置,剛好組成一個字節。計算機通過紙帶閱讀機(紙帶輸入機)來識別信息,從而輸入計算機。
當然,要在紙帶上打孔,是一件非常麻煩的事情。打孔時用一個特制的鋼夾子把紙帶夾住,夾子上有八個孔。根據預先約定的位置,用一個鋼頂針在給定的孔位把計算機一條指令在紙帶上鉆成幾個孔。一個程序少說也有幾百上千條指令,穿在紙帶上后紙帶足有好幾米長,沒有個三五天是穿不完的。所以這個時期,計算機只是少數科研機構及少數計算機專家才能使用,和普通老百姓幾乎沒有什么聯系。
● 熟悉的鍵盤
鍵盤的發明,是要遠遠早于現代計算機的。1714年,英、美、法、意等國家發明了各種形式的打字機,最早的鍵盤就是那個時候開始應用在打字機上。1868年,克里斯多?!な挔査乖O計了現在使用的鍵盤,即使用QWERTY鍵盤布局,一直使用至今。
上世紀80年代初,IBM在XT/AT計算機推出M型鍵盤,是現代鍵盤史上的巔峰之作。隨后計算機上使用鍵盤輸入信息越來越普及,穿孔紙帶走入博物館。
鍵盤由一組開關矩陣組成,包括數字鍵、字母鍵、符號鍵、功能鍵及控制鍵等。每一個按鍵在計算機中都有它的唯一代碼。最初的鍵盤為84鍵,后來出現了101鍵的鍵盤。在Windows 95出現以后,104鍵的鍵盤又出現了,它和101鍵的鍵盤相比,多了幾個快捷鍵,用來快速調用Windows 95里的菜單。微軟的Windows 98流行后,市場上又出現了一種108鍵的“Windows 98”鍵盤,區別是多了Windows 98的功能鍵:Power、Sleep和Wake Up。之后的鍵盤鍵數就越來越多了,主要提供一些多媒體的功能,如CD播放、互聯網應用等。
當按下某個鍵時,鍵盤接口將該鍵的二進制代碼送入計算機主機中,并將按鍵字符顯示在顯示器上。當快速大量輸入字符,主機來不及處理時,先將這些字符的代碼送往內存的鍵盤緩沖區,然后再從該緩沖區中取出進行分析處理。鍵盤接口電路多采用單片微處理器,由它控制整個鍵盤的工作,如接上電時對鍵盤的自檢、鍵盤掃描、按鍵代碼的產生、發送及與主機的通訊等。
● 漢字的輸入與顯示
英文輸入和打字機基本一致,每個鍵對應唯一的二進制碼,基本上不用經過什么處理,非常簡單。但漢字常用的就有好幾千個,《中華字?!肥珍浀臐h字更是超過八萬個。這么龐大的字庫,用一一對應的鍵盤是無法想象的。漢字從輸入到輸出這一過程,要經過一系列復雜的編碼—漢字的輸入:輸入碼→交換碼(國標碼);漢字的機內表示:機內碼;漢字的輸出:字形碼。圖2為漢字編碼的關系。
1.輸入碼
區位碼:區位碼是一個四位的十進制數,每個國標碼或區位碼都對應著一個唯一的漢字或符號,但因為十六進制數我們很少用到,所以大家常用的是區位碼,它的前兩位叫做區碼,后兩位叫做位碼。在區位碼中,01-09區為特殊字符,10-55區為一級漢字(3755個最常用的漢字,按拼音字母的次序排列),56-87區為二級漢字(3008個漢字,按部首次序排列),在區位碼漢字輸入方法中,漢字編碼無重碼,在熟練掌握漢字的區位碼后,錄入漢字的速度是很快的,但若想記憶住全部區位碼是相當困難的,常使用于錄入特殊符號,如制表符、希臘字母等。
音碼:音碼是按照拼音規定來輸入漢字,不需要特殊記憶,符合人的思維習慣,只要會拼音就可以輸入漢字,非常簡單直接,是現在種類最多的輸入碼。但拼音輸入的缺點也非常明顯:一是漢字同音字太多,所以重碼率特別高,有時要輸入一個不太常用的漢字往往要翻很多頁,輸入效率比較低;二是對于普通話不太標準、拼音不太精確的人來說,輸入是有一定困難的,往往要反復嘗試;三是有些不認識的字無法輸入。雖然缺點很多,但音碼學習成本近于零,所以對輸入速度要求不高的普通用戶來說,音碼成為了首選輸入法。
入門級用戶常用全拼輸入法,以單字輸入為主。智能ABC以詞組輸入提高輸入速度,微軟拼音以句為目標輸入,能在輸入過程中自動調整輸入過的字詞,從而減少選擇漢字的操作,以提高效率。搜狗拼音輸入法是基于搜索引擎技術的、特別適合網民使用的、新一代的輸入法產品,用戶可以通過互聯網備份自己的個性化詞庫和配置信息。與整句輸入風格的微軟拼音不同的是它偏向于詞語輸入特性,為中國國內現今主流漢字拼音輸入法之一。
形碼:形碼是按漢字的字形(筆畫、部首)來進行編碼的。漢字是由許多相對獨立的基本部分組成的,在漢字編碼中稱為字根或字元。形碼是一種將字根或筆畫規定為基本的輸入編碼,再由這些編碼組合成漢字的輸入方法,其中赫赫有名的就是五筆字型輸入法。
五筆字型輸入法是王永民在1983年8月發明的一種漢字輸入法。因為發明人姓王,所以也稱為“王碼五筆”。五筆字型完全依據筆畫和字形特征對漢字進行編碼,是典型的形碼輸入法。五筆是目前中國以及一些東南亞國家如新加坡、馬來西亞等國的最常用的漢字輸入法之一。
和音碼相比,形碼的重碼率相當低,可以實現盲打;根據漢字的使用頻率,每個漢字只要通過兩三次,最多四次擊鍵就可以打出來;常用詞組都只需要四次擊鍵就可以打出來,減少了擊鍵次數,大大提高了輸入效率;只要掌握了編碼規則,即使碰到了不認識的字也可以輕松打出來。當然,形碼的缺點也非常明顯,就是要投入比較大的成本來進行學習才能熟練使用。所以現在除了對打字速度要求比較高的場合,很少會有人去專門學習五筆字型了,五筆字型在輸入法市場逐漸成了小眾的選擇。
音形碼:音形碼吸取了音碼和形碼的優點,將二者混合使用。常見的音形碼有自然碼、鄭碼等。其中自然碼是目前比較常用的一種混合碼。這種輸入法以音碼為主,以形碼作為可選輔助編碼,而且其形碼采用“切音”法,解決了不認識的漢字輸入問題。這類輸入法的特點是速度較快,又不需要專門培訓。音形碼既有音碼和形碼的優點,又同時有它們的缺點,從理論上來說是一種不錯的選擇,但實際上因為它講速度比不過五筆字型,講簡單拼不過音碼,基本上沒有什么人使用了。
2.交換碼
交換碼是指不同的具有漢字處理功能的計算機系統之間或記錄媒體之間在交換漢字信息時所使用的代碼標準。
GB2313碼:全國信息技術化技術委員會于1981年5月發布的《信息交換用漢字編碼字符集·基本集》(代號GB2312-80),共收錄了6763個漢字和682個圖形符號。6763個漢字按其使用頻率和用途,又可分為一級常用漢字3755個,二級次常用漢字3008個。其中一級漢字按拼音字母順序排列,二級漢字按偏旁部首排列。采用兩個字節對每個漢字進行編碼,每個字節各取七位,這樣可對128×128=16384個字符進行編碼。這是現在最常用的漢字編碼,稱為國標碼。
Big5碼:即“大五碼”,是繁體字常用的編碼,共收入13060個繁體字,普遍使用于臺灣、香港等地。
GBK碼:兩字節編碼的國標碼只收錄了6763個漢字,在日常生活中經常捉襟見肘。1995年12月1日,我國發布了《漢字內碼擴展規范》,即GBK碼,以四字節進行編碼,收入了21886個漢字和符號,大大方便了我們的使用。
Unicode碼:這是由國際組織設計,可以容納全世界所有語言文字的編碼方案,解決了傳統的字符編碼方案的局限,以滿足跨語言、跨平臺進行文本轉換、處理的要求。
3.機內碼
漢字機內碼是漢字在信息處理系統內部最基本的表示形式,它是計算機內部對漢字進行存儲、運算、傳輸時所使用的代碼,通常是對漢字交換碼做出某種標識之后得到的內部碼,與交換碼之間有對應關系。
4.字形碼
每一個漢字都是一種象形文字,可以看成一個特定的圖形。這些圖形可以用點陣、向量等方式表示,其中最基本的是用點陣加以表示,稱為字形碼。一般的點陣規模有16×16,24×24,32×32,64×64等,每一個點在存儲器中用一個二進制位(bit)存儲。在相同點陣中,不管其筆畫繁簡,每個漢字所占的字節數相等。
為了節省存儲空間,普遍采用了字形數據壓縮技術。所謂的矢量漢字是指用矢量方法將漢字點陣字模進行壓縮后得到的漢字字形的數字化信息。圖3為“你”字的中文字模、位代碼及字模信息。
● 成長的語音輸入
沒有經過專門訓練的人,用鍵盤輸入漢字,每分鐘可能就20~30個。而我們一般講話時語速能達到每分鐘160個漢字左右。如果能直接把語音變成文字,這是多么大的誘惑!
當然,中國地域廣大,各地漢語發音千差萬別,識別難度很高,這一直是人工智能領域未完全攻克的難點。IBM、微軟、蘋果、谷歌等國際大公司都曾投入非常多的精力來提高語音識別率,國內科大訊飛、搜狐、觸寶、百度等公司也投入巨資來進行研究?,F在雖然說語音識別不能達到百分之百的準確率,但已經邁入了實用的階段。特別是在移動端,蘋果個人語音數字助理Siri可稱得上移動應用的里程碑,引領了語音輸入的潮流。
我們來體驗一下微軟在Windows7里提供的語音輸入。
①打開“控制面板—語音識別”(如下頁圖4)。
②點擊“啟動語音識別”,進行麥克風設置。然后要設置是否啟用文檔審閱來讓計算機學習字詞和短語,以便改進計算機識別話語的能力;選擇激活模式等。最后可以啟動語音教程,來學習一下如何進行操作。在此之前,要保證麥克風已經能正常錄音。
③下面的“設置麥克風”和“學習語音教程”是為了在第二步沒有做好時可以重新設置或學習。
④點擊“訓練您的計算機以使其更了解您”,進行一段十分鐘左右的訓練。雖然這不是必需的,但建議你把它做完,只要對著麥克風把相應的內容大聲朗讀完就可以。里面的內容對如何使用語音識別有非常貼切的建議。
Windows7提供的語音識別不僅可以輸入文字,還可以用來控制計算機。比如可以說:“打開記事本”,系統將自動為你打開記事本程序。我們可以通過“打開語音參考卡片”來了解那些命令列表。
如果你的普通話比較標準,麥克風質量過關,使用得當,那么語音識別的效果還是不錯的,經過一段時間使用之后,正確率可以達到95%左右。
語音識別雖然在計算機文字輸入上還有很長的路要走,但在移動設備上正風生水起,特別是在聊天等對正確率要求不是很高的場合,完全可以用語音識別來解放自己。可以想象,當語音識別技術得到突破的一天,可能鍵盤就不再是像現在這樣成為計算機的標配了。
● 簡易的手寫輸入
部分特殊的人群,如一些老年人,既不會拼音,也背不下五筆字型字根,中文輸入成為使用計算機的一道難題。但購買一塊幾十塊錢的手寫板,就可以解決這個問題。手寫板一般是使用一只專門的筆,或者用手指在特定的區域內書寫文字。手寫板通過各種方法將筆或者手指走過的軌跡記錄下來,然后識別為文字。只要會寫字,就能輸入漢字。
手寫輸入還有一個好處,如果某個字你不會讀,也不會用五筆來拆分,那手寫輸入就能幫上大忙了。如果只是偶然碰到不會輸入的漢字,可以不用專門買手寫板來解決,在一些輸入法上就可以啟用手寫輸入,用鼠標來書寫這個字,輸入法會進行識別。如果你用的輸入法不提供手寫輸入,還可以在網上搜索在線手寫輸入,網頁會彈出一個窗口給你用鼠標進行書寫(如下頁圖5),再識別你寫的字,你只要把識別出來的字復制到要使用的地方就行了。
手寫輸入因為速度太慢,只在一些特殊的人群范圍內使用,但對偶然解決一下輸入中的問題還是很有用的。
● 快捷的文字識別
我們可能經常碰到要把某些書籍雜志報紙或手寫稿的內容進行數字化,也就是將其存儲在計算機里。最快捷的辦法是先將其掃描保存成圖片,然后用OCR軟件進行識別。
所謂OCR(Optical Character
Recognition光學字符識別)也就是圖像文字識別技術,是計算機輸入技術的一種,它通過模式識別將文字的圖像文件轉化為可編輯的文本文件,徹底改變了計算機紙介質資料輸入的概念。OCR是使用電子設備(如掃描儀或數碼相機)檢查紙上打印的字符,通過檢測暗、亮的模式確定其形狀,然后用字符識別的方法將形狀翻譯成計算機文字的過程;即對文本資料進行掃描,然后對圖像文件進行分析處理,最終獲取文字及版面信息。
早在上世紀六七十年代,世界各國就開始進行OCR的研究,我國在上世紀70年代末開始進行漢字識別的研究,到1986年進入一個實質性的階段,不少單位有很多成熟的中文OCR產品推出。
和語音識別類似,OCR也還做不到百分之百正確識別,因為書寫者的習慣或印刷品質、掃描儀的掃描品質、識別的方法、學習及測試的樣本等都會影響其正確率。經過多年的研究,國內OCR識別簡體漢字差錯率為萬分之三,如果要求更高的精度需要投入更大的人工干預,可以說是非常實用的了。
漢王是國內比較優秀的OCR軟件公司,我們以漢王PDF OCR為例簡要說明文字識別的過程:①單擊菜單“文件—掃描”,對紙質文件進行掃描。如果已經有文字的圖片文件,單擊“文件—打開圖像”,選擇相應的圖片文件,也可以是由圖片轉換而來的PDF文件。②如果打開的圖片有些傾斜,單擊“編輯—自動傾斜校正”,校正完如果效果不好,單擊“編輯—手動傾斜校正”,將圖片調整好。③單擊菜單“識別—版面分析”,軟件將自動對圖片中的各個元素進行分割,將元素分類為圖像、橫欄、豎欄、表格四種。如果不準確,可以拖動鼠標修改區域,或者增刪區域。④單擊菜單“識別—開始識別”,軟件將對圖片上的各個元素自動識別。⑤對比識別結果和圖片處的異同,修改識別錯誤的文字。⑥單擊菜單“輸出—到指定格式文件”,將文本輸出到純文本文件(TXT)或富文本文件(RTF)。如果是單純的表格,也可以輸出到電子表格文件(XLS)。其界面如圖6所示。
● 神奇的腦電波輸入
如果一個人手腳不能動,不能說話,還能操作計算機嗎?答案是肯定的。我們來看看最傳奇的科學家霍金是如何使用計算機輸入的(如圖7)。
霍金在21歲時就患上肌萎縮側索硬化癥,1985年因患肺炎做了穿氣管手術,被徹底剝奪了說話的能力?;艚鹱畛跏褂玫氖荳altosz開發的軟件Word+,計算機安裝在輪椅上,他使用一種特制的開關來輸入內容。使用Word+軟件,光標會在屏幕上一行一行掃描,經過某個單詞或字母時,霍金按下開關,單詞或字母就會出現在屏幕下方,反復進行,就可以輸入整個句子和文章。
2008年,霍金的手已經無法按下開關,于是在他的眼鏡上安裝了負責偵測肌肉活動的紅外線發射器及偵測器。他動下臉上的肌肉,前面的屏幕上就會出現字幕,當他需要字母時,再動下,屏幕上就會出現這個字母開關的單詞。這和用手控制開關類似,每分鐘可以輸入5~6個單詞。
2012年,霍金的肌肉已經不太靈活,眼瞼下垂,連眼球也無法追蹤。美國的腦神經科學家設計了一款腦電波讀取設備iBranin。字母在屏幕出現,當霍金想選中單詞時,停止大腦的反應,設備就可以監測、提取出來這個字母或單詞。當然可以想象,這種方式輸入文字,速度和正確率是很低的。但是,只要動動腦子就可以使用計算機,將使得無數殘疾人受益。Wadsworth Center的腦損傷研究者Jonathan Wolpaw最近正在開發計算機-大腦用戶界面系統。這套系統可以讓癱瘓的人,通過計算機屏幕與親朋好友溝通,操作也極其簡單:第一步,戴上類似泳帽一樣的腦波信號收集器;第二步,讓他在一堆字母中,集中注意力于其中一個,于是一個字母就會顯示在屏幕上。雖然現在打字速度還比較慢,但這也代表了交互越來越簡單、越來越自然的趨勢。
科技是如此神奇。我們不妨狂想一下,在將來用于腦電波進行輸入可能會在普通人中普及。在頭皮中植入一個小小的芯片,意念有多快,輸入就有多快。意念可以控制計算機,以后我們也許不再需要血肉之軀,每個人都可以像變形金剛一樣,可以自由選擇身體的形狀。如果意念可以轉移,人也就可以永生了。這也許是科技的終極夢想。