2021年11月18日 聯合報 科技.人文聯合講座

我不是機器人

趙坤茂

在公費疫苗預約登記平台操作時,身分驗證畫面總會要求使用者輸入圖形驗證碼的文字,通過後才能進行身分驗證。明明輸入的身分證字號及健保卡卡號,某種程度已代表自己,為何還要驗證碼呢?

圖形驗證碼是用來判定使用者是不是「人類」,以遏止機器人程式以大批輸入來破解密碼、快速搶票、大量下單或攻擊系統。所以在人流眾多的網路平台,都會看到類似的關卡,如高鐵訂票系統,「為了確保交易安全,請輸入右圖中之驗證碼」;台鐵訂票系統,訂票時要勾選「我不是機器人」。

千禧年時,雅虎面臨機器人程式大量申請帳號的難題。剛進卡內基美隆大學就讀的Luis von Ahn知道這問題後,很快就想到人類可以辨識歪歪扭扭的文字和數字,但當時的電腦做不到,於是設計了圖形驗證碼,若使用者能正確回答圖形上的扭曲字符,就判定是人類。這類型的圖形驗證碼稱為CAPTCHA,是「Completely Automated Public Turing test to tell Computers and Humans Apart」的縮寫字,讀音像Capture(逮到了)。

CAPTCHA後來演進為reCAPTCHA,它讓使用者辨識兩個英文單字,第一個字已知答案,第二個字選自掃描文件裡,電腦無法自動判讀的單字。當使用者第一個字過關後,所回答的第二個字就與其他使用者的答案並存,最後以多數人的共識作為第二個字的答案。如此一來,使用者所回答的第二個字,都可協助辨識掃描文件的難解文字。reCAPTCHA巧用此類群眾外包力量,不消幾天就將一年份的紙本紐約時報完全數位化,因此也被用來加速古今書籍的數位化。

另一種判定方式,是讓使用者勾選「我不是機器人」。讀者或許納悶,單單一個勾選動作,怎能判定是否為人類?其實人們在勾選前的游標移動及網頁捲動等行為,都流露了一些人味,其微妙差異可據以區別人和機器人。有些線上服務,除了必須勾選「我不是機器人」外,還要辨識圖片上的紅綠燈、山丘、煙囪等,才能得到服務。眾人協助辨識的街景號誌,可用來數位化地表建物,以及訓練自動駕駛系統。

還有一種方式是系統在背後運作,讓使用者不必回答圖形驗證碼,也不必勾選,系統可藉由操作軌跡判斷使用者是否為人。這種方式較不擾人,對視障者也更友善。

經過這些年的訓練,機器人的圖形辨識能力,不僅可與人類並駕齊驅,甚至在某些特定的圖文上,早已凌駕人類。或許,未來純機器人的網路平台裡,為了防止人類來攪局,其所設定的圖形辨識碼,只有機器人能過關,答不出來的人類只好被屏除在外了。

【2021/11/18 聯合報】