我对reCAPTCHA的工作原理有点困惑。我已经在 ROR 中实现了它。
有时候,即使我只输入两个单词中的一个单词,它也会返回 true,而有时候则失败。
我真的很困惑,不明白 reCAPTCHA 的行为。
Recaptcha会显示两个单词,一个是计算机扫描器已经扫描并识别的单词,另一个则是计算机扫描器无法识别的单词。Recaptcha检查它知道答案的单词,并保存未知单词的响应。这些对未知单词的响应被编制和分析,以便人类“解决”该问题,而不是计算机扫描器。
以下是他们自己的更多信息:
“但如果计算机不能读取这样的CAPTCHA,那么系统如何知道谜题的正确答案?以下是说明:每个新单词,如果OCR无法正确读取,则与另一个已知答案的单词一起交付给用户。然后要求用户阅读这两个单词。如果他们解决了已知答案的那个单词,则系统假定他们对新单词的答案也是正确的。然后系统会将新图像提供给其他人,以确定是否正确。
Recaptcha 使用两个单词,其中一个是已知的,另一个是未知的(程序试图帮助解密的未知单词可能是从某本旧书或其他地方扫描而来)。因此,服务只需要找到正确的已知单词答案。即使您未输入未知单词,只要您输入了正确的已知单词,该服务也会成功。如果您输入了另一个单词(未知单词),则会失败。
我认为这就是reCAPTCHA的主要作用。它帮助开发人员区分人类和机器人,并且还有助于数字化图书。
通常会出现两个单词,其中一个更容易阅读。如果您能够阅读这个单词,那么就没问题,您是人类。
第二个单词是从一本书中扫描而来的,自动OCR(识别)无法确定这个单词。因此,用户需要帮助阅读这个单词,以便更好地将书籍数字化。