学习笔记:reCAPTCHA: Human-Based Character Recognition via Web Security Measures

Citation: Von Ahn L, Maurer B, McMillen C, et al. recaptcha: Human-based character recognition via web security measures[J]. Science, 2008, 321(5895): 1465-1468.

学习者:巩博文

目前验证码被广泛的应用于互联网中,以区别访问者是人还是电脑。一个典型的验证码是几个扭曲过的字母。由于计算机目前不能像人类一样识别字母,所以验证码在社交网络、邮箱注册和售票中被广泛应用。据估算,每天全世界的人会输入近一亿次的验证码,一次输入时间在几秒左右,全部时间加起来一共有十万多个小时。而这么多时间的这些人类脑力工作的效力是无价的。作者便将此应用于转化电脑无法识辨的打印文档图片。通过将文字资料转化为电子资料,可以更好的保存,也更便于人们随时获取信息。目前的ORC技术在图文转换方面仍有诸多缺陷,而对于这些ORC不可识别的文字图片,便可以将其作为验证码来由人来识别。这种方式被作者称作reCAPTCHA。

由于reCAPTCHA须作为网络安全的验证机制,且图文识别过程需要保证其准确性,所以作者设计了如下一套验证机制。

对于扫描所得的图片,进行标准的分割操作,将图片按词划分成一个个的图片。然后用两套ORC算法对图像进行转化,对于转化结果不一致的单词图片,将其加入可疑名单中。网页中展示的reCAPTCHA会有两个词,一个是可疑名单中的词,一个是已知结果的词作为控制组来保证网络安全和用户识别的准确性。如果用户输入的控制单词正确,则其对可疑单词的输入结果作为一种可能的猜测。如果当前三个用户的输入均相同且与两套ORC识别结果均不同是,该猜测被作为正确结果且该单词图片被归入控制组。对于用户有不同输入结果的情况,则通过票数的方式来决定。一个人工输入结果为一票,一个ORC判断结果为半票(ORC结果可从前期两套识别结果中获得),得到2.5票的结果才会被归为正确答案。为了处理用户不可读的问题,reCAPTCHA提供了一个按钮,以提供给用户一个新的reCAPTCHA。对于一个单词,当有六个用户认为其不可读是,系统会将其列入不可读的列表中。当全部单词转换完之后,通过后期处理来处理多种人们可能犯的错误。通过分析作者发现,67.87%的单词只需两个用户进行判断,17.86%的需要三个。7.10%的需要四个,3.11%的需要五个,只有4.06%的需要六个或更多(其中还包括不可读的单词)。

之后作者用1860, 1865, 1908, 1935, 和1970共5年的纽约时报的资料来测试该机制的准确性,转化24,080个词语。同时用一个ORC进行同样的流程作为参照组。通过测试发现,reCAPTCHA的准确率达到了99.1%,而ORC的则为83.5%

之后经过一年的使用,reCAPTCHA全部转换的词语相当于17600本书,而现在,随着reCAPTCHA越来越流行,转化词语的速度仍在上升。

相比传统的验证码,reCAPTCHA使用了ORC技术无法识别的词语图片,大大提高了安全性,同时对于传统验证码和reCAPTCHA,用户判断和输入时间并没有太大的差异,目前有越来越多的网站在使用reCAPTCHA。

reCAPTCHA很好的证明了,一些可能是被“浪费”的人类处理过程可以被用于解决大量电脑目前无法解决的问题,一些人也据此提出了人计算的概念。目前,计算机在图像识别方面远不能达到人类的能力,因而如reCAPTCHA此类的方法可以更有效的解决很多问题

 

 

anyShare分享到:
This entry was posted in 学习笔记 and tagged , , . Bookmark the permalink.

发表评论