梁水源
1億人的舉手之勞能帶來什么?1億人的舉手之勞要是能為你所用,那是一件多么偉大的事。許多人認(rèn)為這簡直是天方夜譚,然而有個數(shù)碼專家做到了,他就是美國卡耐基梅隆大學(xué)教授路易斯·馮·安。
出生于1978年的路易斯,他從小就是一名學(xué)霸,也很愛動腦筋。2000年,他在杜克大學(xué)獲得了數(shù)學(xué)學(xué)士學(xué)位,隨后就進(jìn)入卡耐基梅隆大學(xué)讀博士。21世紀(jì)初,隨著網(wǎng)絡(luò)的廣泛應(yīng)用,網(wǎng)絡(luò)給人類帶來方便的同時,也出現(xiàn)惡意破解密碼、刷票、論壇灌水、黑客攻擊等漏洞,于是有人提出了使用驗證碼的初步想法。直到2003年,路易斯提出了“CAPTCHA”設(shè)想,這個愿望得到了實現(xiàn)。
怎樣才能區(qū)分用戶是計算機(jī)還是人類呢?路易斯經(jīng)過長時間的研究,發(fā)明了驗證碼(CAPTCHA),即全自動區(qū)分計算機(jī)和人類的圖靈測試系統(tǒng)。驗證碼不僅可以防止惡意破解密碼、刷票等,還能有效防止黑客對某一個特定注冊用戶,用特定程序暴力破解方式進(jìn)行不斷的登陸嘗試,而且利用比較簡易的方式實現(xiàn)了這個功能。有這個功能,問題就變得簡單多了,由于計算機(jī)無法解答CAPTCHA的問題,所以回答出問題的用戶就可以被認(rèn)為是人類。
路易斯的驗證碼切實可以抵制網(wǎng)絡(luò)上的不良軟件程序,比如你要在線搶購一張火車票,那么你需要過目一組扭曲的字母,并輸入正確內(nèi)容。這樣,系統(tǒng)可以將你判定為人類,而非機(jī)器程序。然而,這個發(fā)明在許多人看來很蠢,扭曲的字母很丑,原理看起來簡單粗暴,一點都不“高級”,而且浪費用戶大把的時間。據(jù)Google統(tǒng)計,每天地球人至少要填寫2億個驗證碼,人們搞定一個驗證碼平均需要10秒的時間,往往還會因為看不清楚而不得不換一個新的驗證碼來輸入。按此計算,人類每天在驗證碼上就浪費了50多萬個小時,這實在是一件令人沮喪的事。
這樣大數(shù)量級的時間浪費問題再一次激發(fā)了路易斯,他開始思考,是否有什么方法可以把這些碎片時間利用起來,哪怕僅僅是那短暫的10秒。令人難于想象的是,面對如此奇妙的設(shè)想,他居然找到了答案。他想,如果將計算機(jī)出現(xiàn)之前大量的書籍、報刊等書面資料電子化,那是一項很有意義卻又繁重的工作,雖然OCR是這方面較為有效的自動化技術(shù),但有些文獻(xiàn)由于字跡模糊、褪色、污損等原因,無法被OCR識別,而這些OCR無法識別的內(nèi)容由人工辨認(rèn)卻相對較為容易。路易斯要解決的問題是,讓所有填寫過驗證碼的人,或許可能并不知情,但實際上已經(jīng)在做著一件很有意義的事情,那就是為舊書數(shù)字化或翻譯文檔做出貢獻(xiàn)。
2007年,為了實現(xiàn)這一設(shè)想,已經(jīng)是卡耐基梅隆大學(xué)副教授的路易斯,設(shè)計了一個名叫reCAPTCHA的強(qiáng)大系統(tǒng),他開始讓電腦去向人類求助。具體做法是:將OCR軟件無法識別的文字掃描圖傳給世界各大網(wǎng)站,用以替換原來的驗證碼圖片,那些網(wǎng)站的用戶在正確識別出這些文字之后,其答案便會被傳回。在reCAPTCHA系統(tǒng)中,驗證碼有兩個單詞組成,一個叫“controlword”(控制系統(tǒng)知道答案),另一個叫“unknowword”(來源于OCR無法識別的部分,控制系統(tǒng)不知道答案),因此,對于用戶的輸入,只能驗證“controlword”部分,如果這部分是對的,就認(rèn)為“unknownword”部分用戶也提供了可信的答案。短時間內(nèi),它幫助紐約時報數(shù)字化了從1851年至今的所有文章,功能非常強(qiáng)大。
路易斯的驗證碼,這個外行人看起來有些蠢的設(shè)計,實際上卻精妙無比。它既防止惡意的攻擊、注冊、刷票、抽獎等,又巧妙地利用網(wǎng)民在識別一串串字符時,把這些腦力、時間利用起來,然后集合起來做一些有益于人類的事。