一個神人創造了驗證碼,又讓驗證碼做出了巨大貢獻
本文來自知乎的一個問答貼,題主的原問題是「能不能把上網的人的能量收集起來為人所用?」。下面是吳陽林的回復。
很多人已經知道神人Luis von Ahn和reCAPTCHA了,我再啰嗦講一下。Luis von Ahn是CMU教授,2000左右和別人提出了CAPTCHA,就是萬惡的驗證碼。現在看來也許驗證碼是個顯而易見的點子,但是從歷史上看,它絕對是個判 斷正在輸入的是人類還是機器的簡單高效方法。再后來,這個教授就想了,每天這么多人都在識別輸入一串字符,能不能利用它呢?于是后來他就又搞出了 reCAPTCHA。
如果我們想電子化一些從前的文檔,比如19世紀的紐約時報,我們要不得依靠人力,手動地一個一個字地輸入電腦,要不然就直接掃描,然后用軟件識別。但是軟件識別的準確率不能保證,尤其是掃描或者文檔本身質量很差的時候,比如:
reCAPTCHA做的,簡單來說就是把上圖的單詞切割抽取出來,然后與一組自動生成的字符混合,生成驗證碼,發送到各各網站上,像這樣:
reCAPTCHA默認如果電腦產生的字符你輸入正確,那么從文檔中抽取的字符你的輸入也將是正確的,然后通過交叉驗證,重復驗證,各種算法保證準確率。于是坐在電腦前上網的我們,每次輸入驗證碼的時候,就可能順便為某個圖書館的文檔錄入做出了貢獻。詳細點的介紹可看:關于 reCAPTCHA 驗證碼。
一個經常被提到的實例就是,借助廣大網民之手,紐約時報從1851年到現在的所有報紙,總共超過1千3百萬篇文章都已經成功錄入計算機。如果依靠手工輸入,人力,資金,時間都將是巨大的,然而借助reCAPTCHA, 以及每天上網的我們,這項工作短時間內已經完成了。
09年reCAPTCHA被谷歌收購了,大家可能也都注意到了,谷歌更進一步利用驗證碼來幫助它們識別門牌號,路牌等等,用來修正谷歌地圖的精度。這樣谷歌地圖的準確度,以及用戶的體驗都得到了提升。
Luis von Ahn真是很有想法的人,后來他又創辦了很火的Duolingo,幫助大家學外語。
update 1-15====收了好多贊,但我覺得我只是個搬運工============================
可以聽聽Luis von Ahn自己怎么說的,下面是他上個月在油Tube上介紹reCAPTCHA project的一段幾分鐘視頻:
https://www.油Tube.com/watch?v=PQ-xzwj_p_4
據他說,目前有已經有11億人次幫助他們至少輸入了一個單詞,谷歌每年電子化了相當于200萬本書的文本。比較有趣的是,留言里部分人義憤填膺,覺得自己被利用了或者被驗證碼折磨了。
再補充一段Duolingo志愿者推薦的視頻:http://youtu.be/-Ht4qiDRZE8,“主要就是講Luis怎么用眾包的概念創立公司的。他也曾在TechCrunch的演講里提到過那個自己幼年構想發電健身房的故事,可能這樣能更好地回答題主的疑問。幾乎我們所有多鄰國的志愿者都有看過這個。”
有個評論提到了,Luis von Ahn現在更多地投入在Duolingo上。幫助大家學習外語的同時,類似reCAPTCHA的思路,Duolingo利用大家的學習參與過程,實現翻譯 文本。(例如截取CNN新聞的片段讓你翻譯成其他語言(暫時沒有中文),多個參與者的練習拼湊起來就是一篇翻譯好的文本,然后賣回去給CNN。)
========評論里還會有人問起是怎么保證正確率的?用評論里的回復的補充===============
以上面街景截圖帶門派號的驗證碼為例子,左邊一組數字是街景的截圖(希望你幫系統識別出來的,系統原來并不知道是上面數字),右邊一組是系統產生的 數字(系統知道是上面數字)。當你正確輸入了右邊的數字,系統就判斷你是人,于是默認你左邊輸入的數字就是他們原來并不知道的門牌號。如果有人不小心或者 故意把左邊的門牌輸錯怎么辦?另外一個機制是,系統會把左邊的圖發送給多個用戶驗證,然后從多個用戶里取出現次數大于一定閥值的那個答案,(例如10個 人,有8個人給出相同的答案,那可以認為就是正確答案了)。否則就重復以上步驟,或者其他更復雜的機制。
總結一下reCAPTCHA有效的兩個機制就是:
- 1.和傳統驗證碼配合使用,確保你是個人類,人類識別字符是輕而易舉的。
- 2.多重驗證,保證正確率。