文章を使った新しいCAPTCHA?


8

別の可能な解決策について考えたとき、私はちょうどrecaptchaがどのように難しくなっているかについて考えていました。画像は永遠に続くわけではないので、いつか人間の論理や感情のような何かが必要になります。Googleや他の人たちは、カテゴリ別に画像をグループ化しようとしています(属していない画像を見つけます)が、これは大量の画像を必要とし、視覚障害者には機能しません。

とにかく、テキストの膨大なコレクション(各言語のパブリックドメインの本)が収集され、選択肢の選択ボックスである1(または2)の単語でユーザーに文章が表示された場合はどうなるでしょうか。正しい英語/スペイン語/ドイツ語の文法を知っているコンピュータのみが、どの単語が文に属しているかを判別できます。

このアプローチには問題がありますか?文章が表示されている言語を知っている人なら、reCAPTCHAテキストを読もうとするよりも簡単に答えを理解するのは簡単だと思います。さらに、非常に多くのセンテンスを保存すると、数ギガバイトのスペースしか必要とせず、画像/オーディオのテイクを作成するCPU時間の近くには何もかかりません。つまり、システムパフォーマンスへの影響を最小限に抑えながら、誰でも独自のキャプチャシステムをホストできます。

このアプローチに問題はありますか?より具体的には、私はこのアプローチの主な問題を探しています。

Stackoverflowから移行


4
先日、視覚的なものと見ているのに苦労していたので、聞いているものを試してみました。音は完全に理解できませんでした。すべてが少しばかげていますよね。
アルマンド

2
または、キャプチャとしてVoight-Kampffテストを管理することもできます。レプリカントで動作するようです...
FrustratedWithFormsDesigner

4
これはxkcdコミックのように聞こえます... xkcd.com/810
Tyanna

1
まあ、まず、誰もが完全に言語を知っているわけではなく、多くのユーザーはネイティブスピーカーではないかもしれません(例:私)。しかし、最も重要なこととして、私はすべての人間が論理に恵まれているという仮定にあまり依存しません。チャンスはあなたが人間をフィルタリングし、..を通じてボットをさせるに終わるだろうとかもしれだから経験が神話は...特定の場合には、人間の論理であることを教えてくれたけど
ルキウス

2
わかりませんが、一部のサイトに合法的にログインするためだけに、文字を壊すソフトウェアを購入することを真剣に検討しました。:)
davidhaskins 2011年

回答:


7

まず、IBMのWatsonを紹介します。コンピューティングは、言語の空白の問題を埋めるだけのことをはるかに超えていると思います。

次に、ソフトウェアで実装されたすべてのスペル/文法チェッカーを紹介します。文中の単語が文法的に正しいかどうかの判断は、90%以上のケースで解決されます。私は首を突き出して、私が知っているほとんどの人間よりも識字能力が優れているとさえ言います。

CAPTCHAのアイデアが期待どおりに機能しないと思います...


スペルと文法は、ルールがあればわかります。ルールはあいまいであっても機能します。一方で、それは間違いなくその方向への研究をも刺激するだろう...
Matthieu M.

多くのスペルチェッカーによる正しい正しい使用率が高く、Jeffが述べたように残りの単語を推測する可能性があると仮定すると、CAPTCHAの効果が大幅に低下すると私は考えています。私はそれが多くの小さなサイトでうまく機能すると思います-しかし、スパマーが少しの時間を費やして破壊しようとすることを気にしないサイトはありません。コンピュータはすでに人間よりも優れた言語を話します-スペルチェッカーはそれを証明します。
Xeoncross

6

見てみましょう。最初の選択肢を常に選択し、最終的に正しくするのにどれくらいの時間がかかりますか?


3
ハ、私自身の過剰設計された応答の基本的なケース。しかし、そうです、これが多肢選択のCAPTCHAがばかげている理由です。
Meredith L. Patterson

確かに対処する必要がある問題。ただし、現在のところ、私のサイトではIPレート制限と障害ロギングを採用しています。スパマーが無関係な大規模なネットワーク(分散型DoSと同じ)を持たない限り、私は彼を捕まえるでしょう。
Xeoncross 2011年

あなたは誰かに3回のチャンスさえ与えないでしょうか?
JeffO 2011年

3?私はそれらを禁止する前に、30分で40ヒットのようなものをもっと考えています。
Xeoncross 2011年

2
間違った答えが10分のペナルティを与え、良い答えが5分のペナルティを減らすとします。ペナルティがゼロより大きい場合、ペナルティモードに入ります。ペナルティモードは、アプリケーションが機能に到達する前にキャプチャを渡す必要があることを意味します。ブルートフォースボットはすぐに数年のペナルティに到達しますが、人間は2つのステップで最初のミスから(明確な指示を与えられて)回復できます。
Jacek Prucia、2011年

4

パブリックドメインの書籍から文章を取得している場合、ボットは文法について何も知る必要はありません。同じ文にインデックスを付けて、実際の文がどの単語を使用しているかを検索するだけで済みます。そして、それはあなたが問題を合理的に解決することを前提としています。ジェフOが毎回最初のオプションを推測することで問題を回避できるところを提案しました。

さらに、パブリックドメインの書籍の世界の多くの文章は、この種の取り組みには不適切です。多くの場合、コンテキストがなければあいまいになります。多くの場合、不快なコンテンツが含まれます(Huckleberry Finnのランダムな文章を提示することを想像してください)。したがって、不快にならず、曖昧にならない一連の文に到達するには、かなりの労力を費やす必要があります。一部の文があいまいになることを受け入れると、ボットを誤った推測で罰する能力の多くが失われます。


3

ボットにとってより困難な問題は、文から単語を削除し、同じ品詞の4つの異なる単語から選択肢を提示することです。(たとえば、名詞を削除します。これらの4つの名詞のどれがここに最適ですか?)

タグ付けと解析のアルゴリズムは完璧ではありませんが、コーパスベースのアプローチは、商品やオープンソースソフトウェアを使用して、CAPTCHAのオッズに勝てるようにパーサーを十分にトレーニングできるようになりました。(大量にスパムを送信する場合、全体的な成功率を上げるのに十分な数のメッセージが届かない限り、一部のメッセージが通らなくても問題ありません。)

しかし、コンピュータはまだセマンティクスに劣っています。


はい、私は自動テキスト解析で作業していて、正しい単語の選択が明らかな場合は、このシステムを打ち負かす計算を見ることができるので、一致するPoS置換で単語が特定の品詞であると考えていました。繰り返しになりますが、あまり明白ではありません-[言語が話せない]話者にとっては答えが難しくなります。
Xeoncross 2011年

当然のことながら、セマンティクスがあまり優れていない場合があります...
FrustratedWithFormsDesigner

3

私が最近受け取るスパムのほとんどは、実際にボット生成ではありません。フォーラムやブログなどにメッセージを投稿するために1時間に数セント雇われる第三世界の国々から大量のスパムが届きます。

人間とコンピュータを区別するシステムはこれを止めません。

そのため、私は自分のサイトのキャプチャを完全に廃止しました。代わりに、私はかなり単純なJavaScriptベースのソリューションを持っています(基本的に、クライアントで実行されるJavascriptはフィールドを再配置するため、JavaScriptをオフにして投稿すると失敗します)。これにより、ボットスパムの95%が阻止されますが、明らかに人間のスパムには影響しませんが、CAPTCHAには影響しません。


ランダムなIDのチェックボックスをクリックするだけで投稿が追加されない、またはページのどこかに印刷されたテキストがランダムに名前が付けられた入力フィールドに入力される必要のあるサイトがますます増え始めています。captchaよりはるかに優れており、よりユーザーフレンドリーです。
2011年

2

正しい英語/スペイン語/ドイツ語の文法を知っているコンピュータのみが、どの単語が文に属しているかを判別できます。

答えは主観的になり(実際には主観的ではありませんが、言語の概念の欠如はすべての社会に及びます)、母国語を話さない人にとっては難しいかもしれません。

(すべての言語が持つ)文法規則の有限リストがある場合、それは単にアルゴリズムになります。アルゴリズムを実装しようとするすべてのマシンが近づくことができます。


そして、その文の言語を完全に理解していない人々はどうですか?彼らはキャプチャを通過できませんか?
FrustratedWithFormsDesigner

1
良い点ですが、それはreCAPTCHA画像のテキストを完全に理解していない人
Xeoncross 2011年

2
@Xeoncross違いがあります。典型的なCAPTCHAのテキストは抽象化されています。ユーザーがA == Aであることを知らないというわけではありません。それはプレゼンテーションです。問題は抽象化により、残念ながら人間と機械が理解できるものの間にギャップを作ることを期待して読みやすさが失われるという事実にあります。それは本質的に基本です。Aは常にAに等しくなります。文法をミックスに取り入れると、アプローチが変わります。これで、使用されている言語に関して、すべての個人が特定の学年レベルの理解度にあると想定しています。
Aaron McIver、2011年

1
私はあなたの分析にかなり興奮していたことを認めなければなりません。スパムボットを阻止するだけでなく、コメントを残すには、十分な知識が必要です。それはとても素晴らしいでしょう!; P
Xeoncross、2011年

1
@フラストレーション:一部の人は、バグではなく機能と見なします。;)
メイソンウィーラー

2
  1. すべてのキャプチャはキャプチャファーミングの影響を受けます。
  2. 複数選択は、ランダムに試行することで簡単に解決できません。(他の人が指摘したように。)

しかし、これらの深刻な問題を無視すると、言語の問題があります。

ハンガリー語やフィンランド語などの膠着言語は、この種のキャプチャに適しています。これは、単語に多くの接尾辞があり、それぞれが文で異なる目的を果たしているためです(たとえば、同じ名詞は、オブジェクトまたはサブジェクトとして使用すると、異なる接尾辞を持ちます)。ルールは人間にとって複雑なだけで、マシンは数回の試行で正しいものを見つけます。

言語の分離(英語はおおよその例であり、標準中国語ははるかにきれいな言語です)は、文法が文の位置によって決まり、単語の形式ではないため、さらに悪化します。

ロシア語やギリシャ語のような融合言語はおそらくさらに別の一連の問題を引き起こします。

要約すると、うまく翻訳され、ランダムに推測することが難しい言語のなぞなぞは、悪名高いほど見つけるのが難しいものです。構文よりも、意味論に集中する方がおそらくはるかに簡単です。たとえば、「次のシーケンスを続ける:木曜日、水曜日、火曜日...」または「ベイク、フライ、ロースト...」など。


1

captchaの背後にある通常の考えは、ボットをほぼ常に停止させることです。N個の回答から複数を選択すると、ボットのみが停止(N-1)/ Nの時間になるため、ボットは平均N回の試行で通過します。

間違ったキャプチャのタイムアウトを実装することはできますが、英語(または何でも)が上手ではない人、または選択ボックスに問題がある人(不安定な手、悪いマウス、その他)に深刻な迷惑をかけることなく、これを厳しくすることはできませんハンディキャップ)。さらに、異なるIPから推測が行われる可能性があるため、タイムアウトによってボットネットが停止することはありません。

さらに、正当な答えが1つだけであることをどのように確認しますか?Project Gutenbergからランダムに選択された文は、ランダムに選択されたいくつかの名詞で意味をなす場合がありますが、正しい答えは1つだけです。


0

あなたがしていることは、人間があなたのサイトを使用することをより難しくする一方で、ボットのためにあなたはまったく障害を加えていません。

あなたがむしろ焦点を当てるべきことは、投稿された何かがスパムであるかどうかを自動的に検出し、そうである場合は投稿をブロックするメカニズムを作成することです(たとえば、それを人間の節度に委ね、投稿者にその程度のメッセージを与える)。

CAPTCHAは、私がサイトを使用することをこれまで以上に避けがちであり、多くの場合私と一緒にいるため、非常に煩わしいものになっています。特にスパムボットにはまったく影響がないことが広く知られているためです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.