特許第6633188号(P6633188)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特許6633188-画像ベースのCAPTCHAチャレンジ 図000002
  • 特許6633188-画像ベースのCAPTCHAチャレンジ 図000003
  • 特許6633188-画像ベースのCAPTCHAチャレンジ 図000004
  • 特許6633188-画像ベースのCAPTCHAチャレンジ 図000005
  • 特許6633188-画像ベースのCAPTCHAチャレンジ 図000006
  • 特許6633188-画像ベースのCAPTCHAチャレンジ 図000007
  • 特許6633188-画像ベースのCAPTCHAチャレンジ 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6633188
(24)【登録日】2019年12月20日
(45)【発行日】2020年1月22日
(54)【発明の名称】画像ベースのCAPTCHAチャレンジ
(51)【国際特許分類】
   G06F 21/30 20130101AFI20200109BHJP
   G06F 21/36 20130101ALI20200109BHJP
   G06N 20/00 20190101ALI20200109BHJP
【FI】
   G06F21/30
   G06F21/36
   G06N20/00
【請求項の数】14
【全頁数】20
(21)【出願番号】特願2018-513816(P2018-513816)
(86)(22)【出願日】2016年12月1日
(65)【公表番号】特表2018-532188(P2018-532188A)
(43)【公表日】2018年11月1日
(86)【国際出願番号】US2016064390
(87)【国際公開番号】WO2017096022
(87)【国際公開日】20170608
【審査請求日】2018年3月15日
(31)【優先権主張番号】14/958,073
(32)【優先日】2015年12月3日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ウェイ・リウ
(72)【発明者】
【氏名】ヴィネイ・ダモダール・シェット
(72)【発明者】
【氏名】イン・リウ
(72)【発明者】
【氏名】アーロン・マレンファント
(72)【発明者】
【氏名】ハイドン・シャオ
(72)【発明者】
【氏名】ホンシュ・リャオ
(72)【発明者】
【氏名】ジエシン・グ
(72)【発明者】
【氏名】エディソン・タン
【審査官】 平井 誠
(56)【参考文献】
【文献】 米国特許出願公開第2014/0297570(US,A1)
【文献】 特表2010−517169(JP,A)
【文献】 Bruno Norberto da Silva et al.,A Hybrid Method for Image Taxonomy: Using CAPTCHA for Collaborative Knowledge Acquisition,American Association for Artificial Intelligence,2006年,P1-7,URL,https://www.aaai.org/Papers/Symposia/Fall/2006/FS-06-06/FS06-06-003.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/30−46
(57)【特許請求の範囲】
【請求項1】
画像特性を決定するコンピュータ実施方法であって、前記方法は、
1つまたは複数のコンピュータデバイスによって、未知の特性を有する1つまたは複数の第1の画像および既知の特性を有する1つまたは複数の第2の画像を取得するステップと、
前記1つまたは複数のコンピュータデバイスによって、検証チャレンジにおいて複数のユーザデバイスに前記1つまたは複数の第1の画像および前記1つまたは複数の第2の画像を提供するステップであって、前記検証チャレンジは、各ユーザデバイスのユーザに提示されることになる1つまたは複数の指示を含み、前記指示は、前記1つまたは複数の第1の画像の前記未知の特性および前記1つまたは複数の第2の画像の前記既知の特性に少なくとも部分的に基づいて決定される、ステップと、
前記1つまたは複数のコンピュータデバイスによって、前記複数のユーザデバイスの少なくともサブセットから前記検証チャレンジに対する応答を受信するステップと、
前記1つまたは複数のコンピュータデバイスによって、前記受信した応答の複数に少なくとも部分的に基づいて前記1つまたは複数の第1の画像の前記未知の特性を決定するステップと、
前記1つまたは複数のコンピュータデバイスによって、前記決定した特性を示すデータを1つまたは複数の機械学習モデルに提供するステップと、
記1つまたは複数のコンピュータデバイスによって、前記決定した特性を示す前記データに少なくとも部分的に基づいて前記1つまたは複数の機械学習モデルを訓練するステップであって、前記1つまたは複数の機械学習モデルは、前記1つまたは複数の第2の画像の少なくとも一部を決定するために使用される、ステップ
を含む、コンピュータ実施方法。
【請求項2】
1つまたは複数のコンピュータデバイスによって、ユーザコンピュータデバイスから検証プロセスを行う要求を受信するステップをさらに含み、前記1つまたは複数の第1の画像は、前記要求を受信したことに応じて取得される、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記1つまたは複数の第1の画像の前記未知の特性は、前記1つまたは複数の機械学習モデルに少なくとも部分的に基づいて未知であると決定され、前記1つまたは複数の機械学習モデルは、入力として1つまたは複数の画像を受信し、出力として前記1つまたは複数の画像の1つまたは複数の特性を決定するように構成される、請求項1に記載のコンピュータ実施方法。
【請求項4】
前記複数の第2の画像の前記既知の特性は、前記1つまたは複数の機械学習モデルに少なくとも部分的に基づいて決定される、請求項1に記載のコンピュータ実施方法。
【請求項5】
前記1つまたは複数の画像の前記1つまたは複数の特性は、前記1つまたは複数の画像に描写されている1つまたは複数のアイテムまたはオブジェクトに関連する、請求項3に記載のコンピュータ実施方法。
【請求項6】
前記1つまたは複数の機械学習モデルは、前記モデルの前記出力が的確であるという確実性の度合いを示す確実性確率を提供するようにさらに構成され、必要に応じて、
前記1つまたは複数の第1の画像の前記未知の特性は、前記1つまたは複数の第1の画像に関連付けられた前記確実性確率が確実性閾値を下回っていると未知であると決定される、請求項3に記載のコンピュータ実施方法。
【請求項7】
前記検証チャレンジに関連付けられた前記1つまたは複数の指示は、基準を満たす1つまたは複数の前記第1または第2の画像とインタラクションを行うように前記ユーザに促す、請求項1に記載のコンピュータ実施方法。
【請求項8】
前記検証チャレンジに関連付けられた前記1つまたは複数の指示は、基準を満たす前記1つまたは複数の第1の画像の少なくとも一部とインタラクションを行うように前記ユーザに促し、必要に応じて、
前記検証チャレンジに関連付けられた前記1つまたは複数の指示は、前記1つまたは複数の第1の画像のうちの少なくとも1つの一部を選択するように前記ユーザに促す、請求項1に記載のコンピュータ実施方法。
【請求項9】
前記検証チャレンジは、前記1つまたは複数の第1の画像の前記未知の特性に少なくとも部分的に基づいて決定される、請求項1に記載のコンピュータ実施方法。
【請求項10】
前記1つまたは複数のコンピュータデバイスによって、前記検証チャレンジにおいて第3の画像を提供するステップであって、前記第3の画像は、アイテムまたはオブジェクトを描写する、ステップをさらに含み、前記検証チャレンジに関連付けられた前記1つまたは複数の指示は、前記第3の画像に描写されている前記アイテムまたはオブジェクトと同一の分類のアイテムまたはオブジェクトを描写している前記1つまたは複数の第1の画像のうちの1つまたは複数もしくは第2の画像の前記少なくともサブセットを選択するように前記ユーザに促す、請求項1に記載のコンピュータ実施方法。
【請求項11】
前記1つまたは複数のコンピュータデバイスによって、前記検証チャレンジに対する前記応答に少なくとも部分的に基づいて前記複数のユーザデバイスの各々を検証するかどうかを決定するステップをさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項12】
前記1つまたは複数のコンピュータデバイスによって、前記1つまたは複数の第1の画像の前記未知の特性を決定するステップは、前記1つまたは複数のコンピュータデバイスによって、ユーザ応答の閾値数が前記1つまたは複数の第1の画像の特性を示している場合には前記1つまたは複数の第1の画像の前記未知の特性を推測するステップを含む、請求項1に記載のコンピュータ実施方法。
【請求項13】
1つまたは複数のプロセッサと、
1つまたは複数のメモリデバイスと
を含み、前記1つまたは複数のメモリデバイスは、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1から12のいずれか一項に記載の方法を行わせるコンピュータ可読命令を記憶する、コンピューティングシステム。
【請求項14】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに請求項1から12のいずれか一項に記載の方法を行わせるコンピュータ可読命令を記憶する、1つまたは複数の有形非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般的にCAPTCHAチャレンジに関し、より具体的には画像ベースのCAPTCHAチャレンジを使用して画像特性を決定することに関する。
【背景技術】
【0002】
信頼は、ウェブベースのインタラクションにおいて資産である。例えば、エンティティがユーザの身元または他の機密情報を確認および保護するのに十分な機構を、ユーザがそのようなエンティティとのインタラクションを快適に行えるように、提供しているとユーザは信頼しているはずである。さらに、ウェブリソースを提供しているエンティティは、悪意ある目的のためにウェブリソースへのアクセス権を得ようと試みる自動化された攻撃をブロック可能であるべきである。そのため、ウェブリソースが自動化された攻撃から保護されていることを保証するとともに、リソースプロバイダとユーザとの間でなくてはならない信頼関係を進展する上で、人間から発せられたリソース要求と自動化された機械によって生成された要求との違いを認識することができる高度化された認証機構は、必須のツールである。
【0003】
CAPTCHAシステム(「コンピュータと人間を区別する完全に自動化された公開チューリングテスト」)は、そのような認証機構を提供することを可能としている。CAPTCHAシステムの1つの目的は、人間が自動化された機械より優れたタスクを行うことが知られている状況を利用することである。そのため、検証プロセスの一部として、CAPTCHAシステムは、人間であれば解決できるが機械では一般的に解決できないチャレンジを提供し得る。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の実施形態の態様および利点を、以下の説明において一部説明することにする、または、説明から理解されよう、または、実施形態の実施により理解されよう。
【0005】
本開示の一つ例示的な態様は、画像特性を決定するコンピュータ実施方法を目的としている。方法は、1つまたは複数のコンピュータデバイスによって、未知の特性を有する第1の画像を取得するステップを含む。方法は、1つまたは複数のコンピュータデバイスによって、検証チャレンジにおいて複数のユーザデバイスに第1の画像を提供するステップをさらに含む。検証チャレンジは、各ユーザデバイスのユーザに提示されることになる1つまたは複数の指示を含む。指示は、第1の画像に少なくとも部分的に基づいて決定される。方法は、1つまたは複数のコンピュータデバイスによって、複数のユーザデバイスの少なくともサブセットから検証チャレンジに対する応答を受信するステップをさらに含む。方法は、1つまたは複数のコンピュータデバイスによって、受信した応答に少なくとも部分的に基づいて第1の画像の未知の特性を決定するステップをさらに含む。方法は、1つまたは複数のコンピュータデバイスによって、第1の画像の未知の特性を決定した後に、1つまたは複数のコンピュータデバイスによって、決定した特性に少なくとも部分的に基づいて1つまたは複数の機械学習モデルを訓練するステップをさらに含む。
【0006】
方法は、以下の随意的な特徴をさらに含み得る。方法は、1つまたは複数のコンピュータデバイスによって、ユーザコンピュータデバイスから検証プロセスを行う要求を受信するステップをさらに含み得るし、1つまたは複数の第1の画像は、要求を受信したことに応じて取得される。方法は、1つまたは複数のコンピュータデバイスによって、既知の特性を有する複数の第2の画像を取得するステップと、1つまたは複数のコンピュータデバイスによって、検証チャレンジにおいて1つまたは複数の第1の画像とともに複数の第2の画像の少なくともサブセットを提供するステップとをさらに含み得る。1つまたは複数の第1の画像の未知の特性は、1つまたは複数の機械学習モデルに少なくとも部分的に基づいて未知であると決定され、1つまたは複数の機械学習モデルは、入力として1つまたは複数の画像を受信し、出力として1つまたは複数の画像の1つまたは複数の特性を決定するように構成され得る。複数の第2の画像の既知の特性は、1つまたは複数の機械学習モデルに少なくとも部分的に基づいて決定され得る。1つまたは複数の画像の1つまたは複数の特性は、1つまたは複数の画像に描写されている1つまたは複数のアイテムまたはオブジェクトに関連し得る。1つまたは複数の機械学習モデルは、モデルの出力が的確であるという確実性の度合いを示す確実性確率を提供するようにさらに構成され得る。1つまたは複数の第1の画像の未知の特性は、1つまたは複数の第1の画像に関連付けられた確実性確率が確実性閾値を下回っていると未知であると決定され得る。検証チャレンジに関連付けられた1つまたは複数の指示は、基準を満たす1つまたは複数の第1または第2の画像とインタラクションを行うようにユーザに促し得る。検証チャレンジに関連付けられた1つまたは複数の指示は、基準を満たす1つまたは複数の第1の画像の少なくとも一部とインタラクションを行うようにユーザに促し得る。検証チャレンジに関連付けられた1つまたは複数の指示は、1つまたは複数の第1の画像のうちの少なくとも1つの一部を選択するようにユーザに促し得る。検証チャレンジは、1つまたは複数の第1の画像の未知の特性に少なくとも部分的に基づいて決定され得る。方法は、1つまたは複数のコンピュータデバイスによって、検証チャレンジにおいて第3の画像を提供するステップであって、第3の画像は、アイテムまたはオブジェクトを描写する、ステップをさらに含み得るし、検証チャレンジに関連付けられた1つまたは複数の指示は、第3の画像に描写されているアイテムまたはオブジェクトと同一の分類のアイテムまたはオブジェクトを描写している1つまたは複数の第1の画像のうちの1つまたは複数もしくは第2の画像の少なくともサブセットを選択するようにユーザに促す。方法は、1つまたは複数のコンピュータデバイスによって、検証チャレンジに対する応答に少なくとも部分的に基づいて複数のユーザデバイスの各々を検証するかどうかを決定するステップをさらに含み得る。1つまたは複数のコンピュータデバイスによって、1つまたは複数の第1の画像の未知の特性を決定するステップは、1つまたは複数のコンピュータデバイスによって、ユーザ応答の閾値数が1つまたは複数の第1の画像の特性を示している場合には1つまたは複数の第1の画像の未知の特性を推測するステップを含み得る。
【0007】
本開示の他の例示的な態様は、上述した方法を提供している例示的な態様による、画像ベースの検証チャレンジを使用して画像特性を決定するためのシステム、装置、有形非一時的コンピュータ可読媒体、ユーザインターフェース、メモリデバイス、および電子デバイスを目的としている。
【0008】
上記態様は、どのようにして画像の分類および画像特性の決定のための機械学習モデルを訓練するかということに関連した問題に対処することを目指している。
【0009】
様々な実施形態のこれらおよび他の特徴、態様、および利点は、以下の説明および添付の特許請求の範囲を参照することにより、より理解できるものとなるであろう。本明細書の一部に組み込まれているおよび本明細書の一部を構成している、添付の図面は、本開示の実施形態を図示しており、説明とともに、関連する原理を説明する役目を果たしている。
【0010】
当業者を対象とした実施形態の詳細な説明を、添付の図面を参照する本明細書に記載している。
【図面の簡単な説明】
【0011】
図1】本開示の例示的な実施形態による、画像ベースのCAPTCHAチャレンジを使用して画像特性を決定するための例示的なシステムの概要の図である。
図2】本開示の例示的な実施形態による、例示的なCAPTCHAチャレンジの図である。
図3】本開示の例示的な実施形態による、例示的なCAPTCHAチャレンジの図である。
図4】本開示の例示的な実施形態による、例示的なCAPTCHAチャレンジの図である。
図5】本開示の例示的な実施形態による、CAPTCHAチャレンジ結果に基づいて画像特性を決定する例示的な方法のフロー図である。
図6】本開示の例示的な実施形態による、ユーザを検証する例示的な方法のフロー図である。
図7】本開示の例示的な実施形態による、例示的なシステムの図である。
【発明を実施するための形態】
【0012】
ここで、その1つまたは複数の例が図面に示されている実施形態を詳細に参照する。各例は、実施形態の説明を目的として提供しており、本開示の限定を目的としたものではない。むしろ、本開示の範囲または精神を逸脱しない限り様々な修正および変形を実施形態に行い得ることは当業者にとっては明白であろう。例えば、一実施形態の一部として図示および説明した特徴は、別の実施形態とともに使用されさらに別の実施形態をもたらし得る。そのため、本開示の態様がそのような修正および変形をカバーしていることを意図している。
【0013】
本開示の例示的な態様は、画像ベースの検証チャレンジに少なくとも部分的に基づいて画像分類を決定することを目的としている。例えば、1つまたは複数の未知の特性を有する画像が、取得され、コンピュータと人間を区別する完全に自動化された公開チューリングテスト(CAPTCHA)チャレンジなどの検証チャレンジの一部として複数のユーザデバイスに提供され得る。より具体的には、チャレンジは、指定の方式で第1の画像とインタラクションを行うようにユーザに促す1つまたは複数の指示を含み得る。チャレンジに対する応答が、複数のユーザデバイスの各々から取得され得る。第1の画像の1つまたは複数の未知の特性のうちの少なくとも1つが、その後、複数のユーザデバイスからの応答に少なくとも部分的に基づいて決定され得る。少なくとも1つの未知の特性が決定されると、第1の画像が1つまたは複数の機械学習モデルを訓練するために使用され得る。
【0014】
より具体的には、ユーザは、ユーザデバイスを介してオンラインサービスまたはリソースにアクセスを試みようとし得る。本明細書で使用しているように、ユーザデバイスは、ラップトップコンピュータ、デスクトップコンピュータ、スマートフォン、タブレット、ウェアラブルコンピュータデバイス、または任意の他の適切なユーザコンピュータデバイスであり得る。オンラインサービスにアクセスするために、ユーザはまず、コンピュータ制御CAPTCHAシステムとやり取りしてユーザの人間としての状態を検証する必要があり得る、それによって、「ボット(bot)」がオンラインサービスに損害を与えることを防いでいる。例えば、CAPTCHAシステムは、検証チャレンジをユーザに提供し得るし、ユーザがチャレンジに「パス」した場合には、ユーザは、オンラインサービスへのアクセス権を得ることができる。いくつかの実施形態においては、検証チャレンジは、1つまたは複数の画像とのインタラクションを介してチャレンジを解決するようにユーザに促す指示を含む、画像ベースのチャレンジであり得る。
【0015】
例えば、ここで示しているように、1つまたは複数の未知の特性を有する1つまたは複数の第1の画像が検証チャレンジにおいてユーザに提供され得る。例えば、未知の特性とは、画像に関連付けられた分類が未決定のものであり得る。このように、1つまたは複数の未知の特性を有する画像は、画像に描写されている内容の分類が妥当な確実性内で決定され得ない画像であり得る。別の例として、未知の特性は、画像内のオブジェクトまたはアイテムの場所に関連付けられ得る。いくつかの実施形態においては、画像の特性が既知であるか未知であるかは、1つまたは複数の機械学習モデルを使用して決定され得る。例えば、1つまたは複数の機械学習モデル(例えば、画像分類、オブジェクト検出、または他のモデル)は、入力として画像を受信するように、および出力として画像に描写されている1つまたは複数のオブジェクトまたはアイテムを識別、カテゴライズ、分類、またさもなければ、検出するように構成され得る。モデルは、モデルの出力が的確であるという確実性の度合いに対応する確実性確率を決定するようにさらに構成され得る。いくつかの実施形態においては、画像がある閾値を下回る関連付けされた確実性確率を有している場合には、画像の特性は未知であり得る。例えば、1つまたは複数の未知の特性を有する第1の画像は、ある閾値を下回る確実性確率を有する画像であり得る。
【0016】
いくつかの実施形態においては、複数の第2の画像も取得され得るし、複数の第2の画像の少なくともサブセットが検証チャレンジにおける使用のために複数のユーザデバイスに提供され得る。複数の第2の画像は、既知の特性を有する画像であり得る。例えば、複数の第2の画像は、前記閾値を上回る関連付けされた確実性確率を有する画像であり得る。別の例として、第2の画像は、画像の内容を記述するメタデータまたは他の情報などといった関連する記述的情報を有する画像であり得る。このように、複数の第2の画像の少なくともサブセットが検証チャレンジにおいて第1の画像とともに提供され得る。
【0017】
検証チャレンジは、画像ベースのチャレンジであり得る。いくつかの実施形態においては、検証チャレンジは、第1の画像の未知の特性に関連付けられ得る。例えば、検証チャレンジは、指定の方式で第1の画像の少なくとも一部とインタラクションを行うようにユーザに促す指示を含み得る。具体的には、指示は、基準を満たす第1の画像の少なくとも一部とインタラクションを行うようにユーザに促し得る。例えば、検証チャレンジに関連付けられた指示は、特定のオブジェクトを描写している第1の画像の一部を探してインタラクションを行うようにユーザに促し得る。別の例として、検証チャレンジは、第1の画像または第2の画像のうちの少なくとも1つとインタラクションを行うようにユーザに促し得る。例えば、検証チャレンジは、特定のオブジェクトまたはアイテムを描写している、または、特定のカテゴリまたは分類に関連付けられている、画像のすべてを選択するようにユーザに促し得る。このように、検証チャレンジは、未知の特性を決定または推測するために検証チャレンジに対する応答を使用することができるように、調整され得る。さらに別の例として、いくつかの実施形態においては、参照画像が、第1および第2の画像とともに検証チャレンジにおいてユーザに提供され得る。そのような実施形態においては、検証チャレンジに関連付けられた指示は、参照画像に描写されているオブジェクトまたはアイテムと同一のカテゴリまたは分類から、オブジェクトまたはアイテムを描写している第1および第2の画像の各々を選択するようにユーザに促し得る。さらに別の例として、検証チャレンジは、1つまたは複数の画像、および画像を描写しているカテゴリのリストから1つまたは複数のカテゴリを選択するようにユーザに促す指示を含み得る。
【0018】
検証チャレンジは、1つまたは複数のオンラインサービスへのアクセス権を得ることを試みている1つまたは複数のユーザデバイスに提供され得る。検証チャレンジに対する応答が、その後、ユーザデバイスから受信され得る。例えば、検証チャレンジが指定の基準を満たす1つまたは複数の画像を選択するようにユーザに促した場合には、ユーザからの応答は、ユーザが選択した画像を示すデータを含み得る。ユーザからの応答は、オンラインサービスへのアクセス権をユーザデバイスに与えるべきかどうかを決定するために使用され得る。例えば、応答が選択されたチャレンジを満足いく形で完了または解決した場合には、その後、コンピュータ制御CAPTCHAシステムは、ユーザコンピュータデバイスを検証し得る。一例として、ユーザデバイスが(例えば、検証チャレンジに対する応答に基づいて)人間によって操作されているとコンピュータ制御CAPTCHAシステムが十分に確信すると、コンピュータ制御CAPTCHAシステムは、ユーザコンピュータデバイスに検証トークンまたは証明書を提供し得る。ユーザコンピュータデバイスは、その後、オンラインサービスに関連付けられたリソースプロバイダに検証トークンを提供し得る。そして、リソースプロバイダは、コンピュータ制御CAPTCHAシステムを用いて検証トークンの正当性を確認し得る。トークンの正当性が確認されると、リソースプロバイダは、リソースをユーザデバイスに提供し得る。いくつかの実施形態においては、検証チャレンジに対するユーザ応答が、ユーザデバイスを検証するかどうかを決定する上で決定的なものではないことがあり得る。例えば、ユーザが検証チャレンジを的確に解決した場合でも、ユーザを拒否し得る(例えば、検証しない)。別の例として、ユーザが検証チャレンジを的確に解決していない場合でも、ユーザを検証し得る。そのような実施形態においては、ユーザおよび/またはユーザコンピュータデバイスに関連付けられた1つまたは複数の追加の信号が、ユーザを検証するかどうかを決定するために、(例えば、ユーザ応答と併せて)使用され得る。例えば、検証チャレンジをほぼ解決しているユーザは、1つまたは複数の追加の信号に少なくとも部分的に基づいて検証され得る。
【0019】
検証チャレンジに対する応答は、第1の画像の未知の特性を決定または推測するためにさらに使用され得る。具体的には、ユーザ応答の閾値数が第1の画像の特性を示している場合には、第1の画像の未知の特性が決定または推測され得る。例えば、検証チャレンジの観点における第1の画像とのユーザインタラクションは、画像に描写されているオブジェクトまたはアイテムを示し得る。一例として、画像ベースの検証チャレンジが虎を描写している画像のすべてを選択するようにユーザに促す指示を含む場合には、ユーザが検証チャレンジに応答して第1の画像を選択したかどうかは、第1の画像が虎を描写しているかどうかを示し得る。このように、十分な数のユーザ(例えば、閾値を上回るユーザの数)が検証チャレンジを受信したことに応答して第1の画像を選択している場合には、前記画像が虎を描写していると推測され得る。第1の画像を選択するユーザの数が閾値を下回っている場合には、第1の画像が虎を描写していないと推測され得る。いくつかの実施形態においては、推測は、画像を選択するユーザの割合に少なくとも部分的に基づいてなされ得る。別の例として、検証チャレンジが特定のオブジェクトを描写している第1の画像の一部を探してインタラクションを行うようにユーザに促す指示を含む実施形態においては、ユーザ選択は、第1の画像内のオブジェクトの配置を決定するために使用され得る。
【0020】
いくつかの実施形態においては、検証チャレンジに対するユーザ応答は、既知の画像を確認するために使用され得る。例えば、検証チャレンジに対するユーザ応答は、既知の画像の既知の特性が的確であることを検証するために使用され得る。このように、既知の特性が的確ではないと既知の画像に関連付けられた十分な数のユーザ応答が示している場合には、前記画像は、既知の画像のセットから除去され得る。別の例として、既知の特性は、ユーザ応答に少なくとも部分的に基づいて調整または改善され得る。
【0021】
未知の特性が決定されると、第1の画像は、1つまたは複数の機械学習モデルを訓練するために使用され得る。具体的には、第1の画像を示すデータは、モデルを訓練するために使用される訓練データのコーパスに追加され得る。例えば、機械学習モデルは、画像認識アプリケーション、オブジェクト検出アプリケーション、および/または他の適切なアプリケーションにおいて使用され得る。具体的には、機械学習モデルは、訓練データのセットを使用して訓練され得る。そのような訓練データは、既知の特性を有する1つまたは複数の画像を示すデータ(例えば、ベクトルデータまたは他のデータ)を含み得る。例えば、訓練データは、1つまたは複数の画像を示すデータ、既に既知となっている内容を含み得る。このように、訓練データは、複数の入力/出力のペアを含み得る、ここで、入力は、画像を示すベクトルデータであり、出力は、画像の内容を示すデータ(例えば、画像に描写されている1つまたは複数のアイテム)である。機械学習モデルは、訓練データの入力/出力のペアに少なくとも部分的に基づいて訓練され得る。例えば、画像に関連付けられたベクトルデータが機械学習モデルに入力され得るし、モデルの出力が訓練データの出力と比較され得る。モデルは、比較に少なくとも部分的に基づいて調整または改善され得る。
【0022】
ここで、図面を参照して、本開示の例示的な態様をより詳細に説明することにする。例えば、図1は、画像ベースの検証チャレンジを提供する例示的なシステム100の概要を図示している。具体的には、システム100は、コンピュータ制御CAPTCHAシステム102、機械学習ネットワーク104、およびリソースプロバイダ106を含み得る。いくつかの実施形態においては、CAPTCHAシステム102、機械学習ネットワーク104、および/またはリソースプロバイダ106は、ネットワークを通じて互いに通信し得る。
【0023】
CAPTCHAシステム102は、例えば、1つまたは複数のサーバなどといった1つまたは複数のコンピュータデバイスを使用して実装され得る。CAPTCHAシステム102は、ユーザデバイスからの検証要求に応答して、検証CAPTCHAチャレンジを決定し、ユーザデバイスにそのようなチャレンジを提供するように構成され得る。いくつかの実施形態においては、検証チャレンジは、画像ベースのCAPTCHAチャレンジであり得る。例えば、CAPTCHAチャレンジは、1つまたは複数の既知および/または未知の画像をユーザに提供することを含み得る。そのような画像ベースのチャレンジは、1つまたは複数の画像とインタラクションを行うことによってチャレンジを解決するようにユーザに促す関連付けされた指示を有し得る。例えば、上述したように、チャレンジは、特定のカテゴリまたは分類に一致または属する提示された画像のすべてを選択するようにユーザに促す指示を含み得る。別の例として、チャレンジは、特定のアイテム、オブジェクト、動物などを描写している画像の一部を選択するように、またさもなければ、インタラクションを行うようにユーザに促す指示を含み得る。
【0024】
図示したように、CAPTCHAシステム102は、画像データベース108からの画像データにアクセスし得る。画像データベース108は、1つまたは複数の検証チャレンジにおいて使用されることになる複数の画像を含み得る。例示的な実施形態においては、画像データベース108は、単一の場所に位置する単一のデータベースであり得る、または複数の場所にわたって展開された複数のデータベースを含み得る。具体的には、画像データベース108は、既知の画像および未知の画像を含み得る。既知の画像は、1つまたは複数の既知の特性を有する画像を含み得る。例えば、既知の画像は、分類またはカテゴライズされた画像であり得る。いくつかの実施形態においては、1つまたは複数の既知の特性は、画像に関連付けられたメタデータまたは他の記述的情報に少なくとも部分的に基づいて決定され得る。いくつかの実施形態においては、1つまたは複数の既知の特性は、機械学習ネットワーク104に少なくとも部分的に基づいて決定され得る。例えば、機械学習ネットワーク104は、画像に描写されている1つまたは複数のオブジェクトを分類、カテゴライズ、識別、またさもなければ、検出するために使用され得る。
【0025】
画像データベース108は、1つまたは複数の未知の特性を有する1つまたは複数の未知の画像をさらに含み得る。既知の画像と同様に、未知の特性は、未知の特性に関連付けられたメタデータまたは他の記述的情報の欠如に少なくとも部分的に基づいて未知であると決定され得る。別の例として、未知の特性は、機械学習ネットワーク104に少なくとも部分的に基づいて未知であると決定され得る。
【0026】
いくつかの実施形態においては、既知および/または未知の画像は、検証チャレンジに関連して決定され得る。例えば、検証チャレンジに関連付けられた指示が虎を描写している各画像を選択するようにユーザに促す実施形態においては、既知の画像は、既に虎を描写していることが既知となっているおよび/または虎を描写していないことが既知となっている、画像データベース108からの1つまたは複数の画像を含み得る。このように、未知の画像は、画像に描写されている内容が未知である画像を含み得る。いくつかの実施形態においては、検証チャレンジは、その後、未知の画像に描写されている内容を決定またさもなければ推測するために使用され得る。
【0027】
機械学習ネットワーク104は、1つまたは複数のニューラルネットワークなどの1つまたは複数の機械学習モデルを含み得る。例えば、1つまたは複数のモデルは、画像を分類するようにおよび/または画像内に描写されているオブジェクトを検出するように構成され得る。このように、機械学習ネットワーク104は、入力として画像を受信し、出力として画像分類を提供するように構成され得る。いくつかの実施形態においては、機械学習ネットワーク104は、確実性確率または出力のための信頼性レベルを規定する出力に関連付けられた他の指標を提供するようにさらに構成され得る。いくつかの実施形態においては、機械学習ネットワーク104は、画像データベース108と通信して、画像データベース108に関連付けられた1つまたは複数の画像を分類するように構成され得る。このように、いくつかの実施形態においては、未知の画像はある閾値を下回る関連付けされた確実性確率を有する画像であり得るし、既知の画像は前記閾値を上回る関連付けされた確実性確率を有する画像であり得る。
【0028】
機械学習ネットワーク104は、1つまたは複数の機械学習モデルを訓練するようにさらに構成され得る。例えば、様々な適切なアルゴリズムが、訓練データのセットに少なくとも部分的に基づいて機械学習モデルを改善または調整するために使用され得る。このように、訓練データは、機械学習モデルを改善するために使用され得る。機械学習ネットワーク104をCAPTCHAシステム102とは別個且つ個別のシステムとして図示しているが、いくつかの実施形態においては、機械学習ネットワーク104がCAPTCHAシステム102内に実装されてもよいことは諒解されよう。
【0029】
システム100は、リソースプロバイダ106をさらに含む。リソースプロバイダ106は、オンラインまたは他のサービスと関連付けられ得る。リソースプロバイダ106は、オンラインサービスへのアクセス権に関するユーザデバイスからの要求を受信し得る。要求に応じて、リソースプロバイダ106は、CAPTCHAシステム102と連携して検証チャレンジをユーザデバイスに提供し得る。このように、CAPTCHAシステム102は、検証チャレンジを決定し、検証チャレンジをユーザに提供し得る。いくつかの実施形態においては、CAPTCHAシステム102は、未知の画像に少なくとも部分的に基づいて検証チャレンジを決定し得る。例えば、CAPTCHAシステム102は、検証チャレンジに対するユーザ応答を未知の画像の分類またはカテゴライズの証拠として使用できるように、検証チャレンジを調整し得る。いくつかの実施形態においては、検証チャレンジは、要求がボットではなく人間によって提供されたという信頼性レベルに少なくとも部分的に基づいて決定され得る。例えば、検証チャレンジの難易度は、信頼性レベルに少なくとも部分的に基づいて調整され得る。
【0030】
検証チャレンジに対するユーザ応答は、未知の画像の未知の特性を決定するために使用され得る。例えば、ユーザ応答は、未知の画像の分類に関連付けられた証拠として使用され得る。例えば、検証チャレンジが虎を描写しているすべての画像を選択する指示を含んでいる実施形態においては、ユーザが未知の画像を選択したかどうかは、未知の画像が虎を描写しているかどうかを示し得る。このように、未知の画像が1つまたは複数の検証チャレンジにおいて複数のユーザに提示され得るし、1つまたは複数の検証チャレンジに対するユーザからの応答は、画像の未知の特性を推測するために使用され得る。例えば、十分な数のユーザ(例えば、ユーザの高い十分な割合および/またはある閾値を上回るユーザの数)が、虎を含む画像を選択するようにユーザに指示する検証チャレンジに応答して未知の画像を選択している場合には、未知の画像が虎を描写していると推測され得る。
【0031】
未知の特性が妥当な確実性をもって推測され得ると、画像は、注釈が付けられ画像の分類を示し得る。画像は、その後、機械学習ネットワーク104の機械学習モデルを訓練するために使用される訓練データセットに含まれ得る。このように、画像は、モデルの分類性能を改善するために使用され得る。いくつかの実施形態においては、注釈が付けられた画像は、CAPTCHAシステム102によって決定される将来の検証チャレンジにおいてさらに使用され得る。例えば、注釈が付けられた画像は、1つまたは複数の検証チャレンジにおいて既知の画像として以降使用される。
【0032】
図2は、本開示の例示的な実施形態による、例示的な画像ベースのCAPTCHAチャレンジ110を図示している。図示したように、CAPTCHAチャレンジ110は、指示112と犬を描写していることが既知となっている関連参照画像114とを含んでいる。指示112は、参照画像114と「類似」した画像のすべてを選択するようにユーザに促す。CAPTCHAチャレンジ110は、既知の画像116および負の既知の画像118をさらに含んでいる。既知の画像116は、犬を描写していることが既知となっている画像であり、負の既知の画像118は、犬が描写されていないことが既知となっている画像である。負の既知の画像118の各々は猫を描写しているが、負の既知の画像が1つまたは複数の他のオブジェクト、アイテム、植物、動物、人間などを描写していてもよいことは諒解されよう。CAPTCHAチャレンジ110は、未知の画像120をさらに描写している。未知の画像120は、画像の内容が未知である画像であり得る。図2に示したように、未知の画像120は、トカゲを描写している。
【0033】
上述したように、CAPTCHAチャレンジ110を受信すると、ユーザは、指示に従い、ユーザの見解において、参照画像114と「類似」した1つまたは複数の画像を選択し得る。ユーザの選択は、ユーザがリソースプロバイダによって提供されたリソースまたはサービスへのアクセス権を与えられるかどうかを決定し得る。例えば、ユーザがチャレンジに「パス」した場合には、ユーザは、リソースまたはサービスへのアクセス権が与えられ得る。例えば、ユーザが的確な画像の組合せまたはほぼ的確な画像の組合せを選択した場合には、ユーザは、チャレンジをパスし得る。CAPTCHAチャレンジ110において、ユーザが既知の画像116の各々を選択し負の既知の画像118を選択しなかった場合には、ユーザはパスし得る。いくつかの実施形態においては、ユーザが「パス」していない場合には、ユーザは、異なるCAPTCHAチャレンジを提示され得る。
【0034】
未知の画像120は犬を描写していないので、この検証チャレンジに応答する人間のユーザの大部分がCAPTCHAチャレンジ110に応答して未知の画像120を選択するであろう可能性は低い。このように、未知の画像120が犬を描写していないと推測され得る。同様に、未知の画像が犬を描写している事例においては、人間のユーザの大部分がCAPTCHAチャレンジに応答して未知の画像を選択するであろう可能性は高い。このように、未知の画像が犬を描写していると推測され得る。
【0035】
未知の画像120が犬を描写していないと推測がなされると、以降の検証チャレンジにおいて使用され得る。例えば、それは、犬を描写していない参照画像を有する検証チャレンジにおいて未知の画像として使用され得る。いくつかの実施形態においては、未知の画像120は、犬を描写している参照画像を有する検証チャレンジにおいて負の既知の画像として以降使用され得る。
【0036】
図3および4は、本開示の例示的な実施形態による、追加の例示的な画像ベースのCAPTCHAチャレンジを図示している。例えば、図3は、飲み物を図示している参照画像124を有するCAPTCHAチャレンジ122を図示している。指示は、参照画像124に関連付けられた1つまたは複数の適切なカテゴリを選択するようにユーザに促す。1つまたは複数の推測および/または確認が、ユーザの選択に少なくとも部分的に基づいて参照画像124に関連してなされ得る。図4は、あるシーンを描写している参照画像128を描写するCAPTCHAチャレンジ126を描写している。図示したように、参照画像128は、複数の領域(例えば、正方形)に分割されている。CAPTCHAチャレンジ126は、「商号に関する正方形をすべて選択」するようにユーザに促す指示をさらに含む。このように、1つまたは複数の推測が、ユーザ応答に基づいて参照画像128内の商号の場所に関してなされ得る。例えば、人間のユーザの大部分が、指示に応答して画像正方形130および132を選択する可能性が高くなり得る。このように、商号が参照画像128の左下部分の画像正方形130および132に位置していると推測され得る。
【0037】
図5は、本開示の例示的な実施形態による、コンピュータ制御CAPTCHAシステムを使用して1つまたは複数の画像特性を決定する例示的な方法(200)のフロー図を示している。方法(200)は、図7に示した1つまたは複数のコンピュータデバイスなどの1つまたは複数のコンピュータデバイスによって実施され得る。加えて、図5は、図示および説明を目的として特定の順序で行われるステップを図示している。本明細書に開示のいずれの方法のステップを、本開示の範囲を逸脱しない限り様々な方法で、改変、再編成、拡張、省略、または変更することができることを、当業者は、本明細書に提供した開示を使用して、理解するであろう。
【0038】
(202)において、方法(200)は、検証プロセスを行う要求を受信するステップを含み得る。例えば、要求は、オンラインサービスまたはリソースへのアクセス権を得ようとしているユーザによって操作されたユーザデバイスによって提供され得る。(204)において、方法(200)は、未知の特性を有する第1の画像を取得するステップを含み得る。いくつかの実施形態においては、未知の特性を有する1つまたは複数の第1の画像が取得され得る。上述したように、未知の特性は、画像に描写されている内容に関連付けられ得る。例えば、未知の特性は、画像の内容の分類またはカテゴライズに関連付けられ得る。別の例として、未知の特性は、画像に描写されているオブジェクトの検出に関連付けられ得る。
【0039】
いくつかの実施形態においては、未知の特性は、1つまたは複数の機械学習モデルに少なくとも部分的に基づいて未知であると決定され得る。例えば、機械学習モデルが妥当な確実性をもって画像を分類またはカテゴライズできなかった場合には、画像は、未知の画像として識別され得る。具体的には、モデルが画像に関してある閾値を下回る確実性確率を提供している場合には、画像は、未知の特性を有する未知の画像として識別され得る。別の例として、未知の特性は、特性に関連付けられた十分なメタデータまたは他の記述的データの欠如が存在する場合には、未知であると決定され得る。
【0040】
(206)において、方法(200)は、既知の特性を有する複数の第2の画像を取得するステップを含み得る。第1の画像と同様に、第2の画像の既知の特性は、画像に関連付けられた機械学習モデルおよび/またはメタデータに少なくとも部分的に基づいて決定され得る。いくつかの実施形態においては、第2の画像は、第1の画像および/または第1の画像の未知の特性に少なくとも部分的に基づいて選択され得る。
【0041】
(208)において、方法(200)は、第1および第2の画像に少なくとも部分的に基づいてCAPTCHAチャレンジを生成するステップを含み得る。例えば、CAPTCHAチャレンジは、画像とインタラクションを行うようにユーザに促す指示とともに、第1の画像および/または複数の第2の画像の少なくともサブセットを含み得る。上述したように、いくつかの実施形態においては、チャレンジは、第1の画像の未知の特性に少なくとも部分的に基づいて選択および/または生成され得る。
【0042】
(210)において、方法(200)は、CAPTCHAチャレンジを複数のユーザデバイスに送信するステップを含み得る。例えば、CAPTCHAチャレンジは、1つまたは複数のリソースプロバイダに関連付けられた1つまたは複数のオンラインサービスまたはリソースへのアクセス権を得ようとしている複数のユーザデバイスに送信され得る。
【0043】
(212)において、方法(200)は、複数のユーザデバイスの少なくともサブセットからCAPTCHAチャレンジに対する1つまたは複数の応答を受信するステップを含み得る。応答は、CAPTCHAチャレンジとのユーザインタラクションを示すデータを含み得る。いくつかの実施形態においては、応答は、オンラインサービスまたはリソースへのアクセス権をユーザに与えるかどうかを決定するために使用され得る。
【0044】
(214)において、方法(200)は、ユーザ応答に少なくとも部分的に基づいて第1の画像の未知の特性を決定するステップを含み得る。例えば、CAPTCHAチャレンジにおいて提供した画像についてのユーザの選択および/またはインタラクションは、第1の画像に関連付けられた1つまたは複数の特性の証拠として使用され得る。例えば、ユーザ応答は、第1の画像の1つまたは複数の特性を決定するために、CAPTCHAチャレンジにおいて提供した指示を考慮して分析され得る。このように、十分な数のユーザ応答が第1の画像の特性を示している場合には、その特性が推測され得る。例えば、虎を描写している各画像を選択するようにユーザに指示するCAPTCHAチャレンジに応答して十分な数のユーザが第1の画像を選択している場合には、その後、第1の画像が虎を描写していると推測され得る。
【0045】
(216)において、方法(200)は、第1の画像の決定した特性に少なくとも部分的に基づいて1つまたは複数の機械学習モデルを訓練するステップを含み得る。例えば、1つまたは複数の機械学習モデルを訓練するステップは、画像を示すデータおよび決定した特性が訓練データセットに追加されるように、モデルを訓練するために使用される訓練データのセットに画像を示すデータおよび決定した特性を提供するステップを含み得る。このように、第1の画像を示すデータがモデルに入力され得るし、モデルの出力が決定した特性と比較され得る。モデルは、その後、比較に少なくとも部分的に基づいて調整またさもなければ改善され得る。
【0046】
いくつかの実施形態においては、第1の画像は、その後、以降の検証チャレンジにおいて使用され得る。例えば、第1の画像は、以降のCAPTCHAチャレンジにおいて既知の画像として使用され得る。このように、第1の画像は、CAPTCHAチャレンジにおいて使用され得る既知の画像のセットに追加され、未知の画像のセットから削除され得る。
【0047】
図6は、本開示の例示的な実施形態による、ユーザデバイスを検証するための例示的な方法(300)のフローチャートを図示している。方法(300)は、図7に示した1つまたは複数のコンピュータデバイスなどの1つまたは複数のコンピュータデバイスによって実施され得る。加えて、図6は、図示および説明を目的として特定の順序で行われるステップを図示している。本明細書に開示のいずれの方法のステップを、本開示の範囲を逸脱しない限り様々な方法で、改変、再編成、拡張、省略、または変更することができることを、当業者は、本明細書に提供した開示を使用して、理解するであろう。
【0048】
(302)において、ユーザデバイスは、リソースプロバイダからリソースまたはオンラインサービスへのアクセス権を要求し得る。(304)において、リソースプロバイダは、要求をユーザデバイスから受信し得る。
【0049】
(306)において、リソースプロバイダは、検証プロセスにおいてコンピュータ制御CAPTCHAシステムと直ちに関与するようにユーザデバイスに指示し得る。(308)において、ユーザデバイスは、コンピュータ制御CAPTCHAシステムと直ちに関与するためのリソースプロバイダからの指示を受信し得る。一例として、リソースプロバイダは、ユーザデバイスに、直ちにコンピュータ制御CAPTCHAシステムと接続して検証プロセスを開始するように、ユーザデバイスのブラウザをリダイレクトすることによって(306)において指示し得る。
【0050】
別の例として、(306)において、リソースプロバイダは、ユーザデバイスによって実行されるとユーザデバイスにコンピュータ制御CAPTCHAシステムと直ちに関与させるクライアントサイドスクリプトをユーザデバイスに提供し得る。例えば、クライアントサイドスクリプトは、インラインフレーム、組み込みオブジェクト、ポートレット、または他の組み込みアプリケーションもしくはウィジェットに含まれ得る。いくつかの実施形態においては、クライアントサイドスクリプトは、コンピュータ制御CAPTCHAシステムからリソースプロバイダに提供されるプラグインに含まれ得る。さらに、いくつかの実施形態においては、(306)において、リソースプロバイダは、コンピュータ制御CAPTCHAシステムがリソースプロバイダを識別する公開鍵をユーザデバイスに提供し得る。
【0051】
(310)において、ユーザデバイスは、コンピュータ制御CAPTCHAシステムに直ちに送信して検証プロセスを行い得る。(312)において、コンピュータ制御CAPTCHAシステムは、要求をユーザデバイスから受信し得る。
【0052】
一例として、(310)において送信された要求は、コンピュータ制御CAPTCHAシステムに関連付けられたアプリケーションプログラミングインターフェースに従ってフォーマットされ得る。例えば、要求は、(306)においてユーザデバイスに提供されたクライアントサイドスクリプトを実行する結果として送信され得る。さらに、いくつかの実施形態においては、(310)において送信された要求は、リソースプロバイダに関連付けられた公開鍵を含み得る。
【0053】
(314)において、コンピュータ制御CAPTCHAシステムは、1つまたは複数の未知の画像特性を有する1つまたは複数の第1の画像を取得し得る。例えば、第1の画像は、妥当な確実性内に分類またはカテゴライズできないまたはされなかった画像であり得る。別の例として、第1の画像は、アイテム、オブジェクト、植物、動物、人間などの場所を妥当な確実性内で決定できない画像であり得る。上述したように、未知の画像は、画像および/または1つまたは複数の機械学習モデルに関連付けられたメタデータまたは他の記述的情報に少なくとも部分的に基づいて未知であると決定され得る。
【0054】
(316)において、コンピュータ制御CAPTCHAシステムは、第1の画像および/または第1の画像の未知の特性に少なくとも部分的に基づいてCAPTCHAチャレンジを選択し、選択されたチャレンジをユーザデバイスに提供し得る。例えば、コンピュータ制御CAPTCHAシステムは、様々なフォーマット、難易度、形状、サイズ、ファイルフォーマット、プログラミング言語、または他の変数パラメータを有するCAPTCHAチャレンジのデータベースを含み得る。例えば、いくつかの実施形態においては、CAPTCHAチャレンジは、画像ベースであり得る。いくつかの実施形態においては、CAPTCHAチャレンジを選択するステップは、既知の画像特性を有する1つまたは複数の第2の画像を取得するステップを含み得る。上述したように、第2の画像は、CAPTCHAチャレンジに関連付けられた指示、および/または第1の画像に少なくとも部分的に基づいて選択され得る。
【0055】
一例として、(314)において取得された第1の画像に描写されている内容が未知である事例においては、CAPTCHAチャレンジは、画像の分類を決定するために選択され得る。例えば、CAPTCHAチャレンジは、複数の既知の画像を含み得るし、指示は、特定の共通の特性を共有する各画像を選択するようにユーザに促し得る。上述したように、CAPTCHAチャレンジは、CAPTCHAチャレンジに対するユーザ応答が第1の画像の特性を決定および/または絞り込む証拠として使用され得るように、調整され得る。別の例として、第1の画像の未知の特性が画像内のオブジェクトの未知の場所に関連付けられている場合には、CAPTCHAチャレンジは、オブジェクトを描写している画像の一部とインタラクションを行う(例えば、選択する、ハイライトを付ける、注釈を付ける、または他のインタラクションを行う)ようにユーザに促し得る。
【0056】
いくつかの実施形態においては、(316)において、チャレンジフォーマット、チャレンジタイプ、またはチャレンジの他の属性は、様々な他の適切な因子に基づいて選択され得る。例えば、ユーザデバイスが、例えば、スマートフォンまたはタブレットなどといったモバイルデバイスである事例においては、その後、(316)において、コンピュータ制御CAPTCHAシステムは、モバイルデバイス向けに設計されたCAPTCHAチャレンジを選択し得る。
【0057】
(318)において、ユーザデバイスは、コンピュータ制御CAPTCHAシステムからCAPTCHAチャレンジを受信し、ユーザに、例えば、ユーザデバイスのディスプレイ上に、それを提示し得る。(320)において、ユーザデバイスは、ユーザから1つまたは複数の応答を受信し、応答をコンピュータ制御CAPTCHAシステムに送信し得る。(322)において、コンピュータ制御CAPTCHAシステムは、応答をユーザデバイスから受信し得る。
【0058】
(324)において、コンピュータ制御CAPTCHAシステムは、検証トークンを生成し、1つまたは複数の検証条件を満足している場合には、それをユーザデバイスに提供し得る。(326)において、ユーザデバイスは、検証トークンをコンピュータ制御CAPTCHAシステムから受信し得る。
【0059】
一例として、コンピュータ制御CAPTCHAシステムは、検証トークンを生成し、(322)において受信した応答が的確に解決している場合には、またさもなければ、(316)において提供されたチャレンジを満足している場合には、(324)においてそれをユーザデバイスに提供し得る。検証トークンは、認証証明書または他のセキュリティもしくは認証デバイスもしくはメカニズムであり得る。例えば、いくつかの実施形態においては、検証トークンは、ユーザデバイス識別子のハッシュもしくは他の情報を含み得る、または、リソースプロバイダの公開鍵を包含し得る。
【0060】
いくつかの実施形態においては、ステップ(310)〜(326)は検証プロセスとみなされ得ることは諒解されよう。さらに、いくつかの実施形態においては、ステップ(310)〜(326)は、リソースプロバイダのウェブサイトに含まれる、インラインフレーム、組み込みオブジェクト、ポートレット、または他の組み込みウィジェットもしくはアプリケーションを介して行われ得る。
【0061】
(328)において、ユーザデバイスは、検証トークンをリソースプロバイダに提供し得る。(330)において、リソースプロバイダは、検証トークンをユーザデバイスから受信し得る。
【0062】
(332)において、リソースプロバイダは、検証トークンをコンピュータ制御CAPTCHAシステムに送信し得る。いくつかの実施形態においては、(332)において、リソースプロバイダはまた、その秘密鍵を検証トークンとともにコンピュータ制御CAPTCHAシステムに送信し得る。
【0063】
(334)において、コンピュータ制御CAPTCHAシステムは、検証トークンが有効である場合には、リソースプロバイダに検証トークンの正当性を提供し得る。検証トークンが無効であるまたは改竄されていた場合には、その後、コンピュータ制御CAPTCHAシステムは、検証トークンが無効であることをリソースプロバイダに通知し得る。
【0064】
(336)において、リソースプロバイダは、検証トークンの正当性をコンピュータ制御CAPTCHAシステムから受信し得る。(336)において正当性を受信したことに応じて、(338)において、リソースプロバイダは、リソースへのアクセス権を有するユーザデバイスへ提供し得る。(340)において、ユーザデバイスは、リソースにアクセスし得る。
【0065】
図7は、本開示の例示的な態様による、方法およびシステムを実施するために使用され得る例示的なコンピューティングシステム400を図示している。システム400は、ネットワーク440を介して1つまたは複数のクライアントデバイス430と通信するサーバ410を含むクライアントサーバ機構を使用して実装され得る。システム400は、単一のコンピュータデバイスなどの他の適切な機構を使用して実装され得る。
【0066】
システム400は、ウェブサーバなどのサーバ410を含む。サーバ410は、オンラインサービスまたはリソースへのアクセス権を与えるまたは拒否するように構成されるコンピュータ制御CAPTCHAシステムをホストし得る。サーバ410は、任意の適切なコンピュータデバイスを使用して実装され得る。サーバ410は、1つまたは複数のプロセッサ412および1つまたは複数のメモリデバイス414を有し得る。サーバ410はまた、ネットワーク440を介して1つまたは複数のクライアントデバイス430と通信するために使用されるネットワークインターフェースを含み得る。ネットワークインターフェースは、例えば、送信機、受信機、ポート、コントローラ、アンテナ、または他の適切なコンポーネントを含む、1つまたは複数のネットワークとインターフェースで接続するための任意の適切なコンポーネントを含み得る。
【0067】
1つまたは複数のプロセッサ412は、マイクロプロセッサ、マイクロコントローラ、集積回路、ロジックデバイス、または他の適切な処理デバイスなどといった、任意の適切な処理デバイスを含み得る。1つまたは複数のメモリデバイス414は、非一時的コンピュータ可読媒体、RAM、ROM、ハードドライブ、フラッシュドライブ、または他のメモリデバイスを含むがそれらに限定されない、1つまたは複数のコンピュータ可読媒体を含み得る。1つまたは複数のメモリデバイス414は、1つまたは複数のプロセッサ412によって実行され得るコンピュータ可読命令416を含む、1つまたは複数のプロセッサ412によってアクセス可能な情報を記憶し得る。命令416は、1つまたは複数のプロセッサ412によって実行されると1つまたは複数のプロセッサ412に動作を行わせる任意のセットの命令であり得る。例えば、命令416は、例えば、チャレンジ生成器420、ユーザ正当性検証器422、および画像分類器424を実施するために、1つまたは複数のプロセッサ412によって実行され得る。例えば、チャレンジ生成器420は、1つまたは複数の未知の画像および/または1つまたは複数の既知の画像を取得し、画像に少なくとも部分的に基づいてCAPTCHAチャレンジを生成するように構成され得る。ユーザ正当性検証器422は、CAPTCHAチャレンジに対するユーザ応答を受信し、応答に少なくとも部分的に基づいてユーザにアクセス権を与えるかどうかを決定するように構成され得る。画像分類器424は、ユーザ応答に少なくとも部分的に基づいて未知の画像の1つまたは複数の特性を決定し、画像および決定した特性を機械学習ネットワーク450に提供するように構成され得る。
【0068】
図7に示したように、1つまたは複数のメモリデバイス414はまた、1つまたは複数のプロセッサ412によって読み出され、操作され、作成され、または記憶され得るデータ418を記憶し得る。データ418は、例えば、画像データ、チャレンジデータ、および他のデータを含み得る。データ418は、1つまたは複数のデータベースに記憶され得る。1つまたは複数のデータベースは、高帯域幅LANもしくはWANによってサーバ410に接続され得る、または、ネットワーク440を介してサーバ410に接続もされ得る。1つまたは複数のデータベースは、複数の場所に位置するように分散され得る。
【0069】
サーバ410は、ネットワーク440を介して1つまたは複数のクライアントデバイス430とデータを交換し得る。1つのクライアントデバイス430を図7に示しているが、任意の数のクライアントデバイス430がネットワーク440を介してサーバ410に接続され得る。クライアントデバイス430の各々は、汎用コンピュータ、特殊用途コンピュータ、ラップトップ、デスクトップ、モバイルデバイス、ナビゲーションシステム、スマートフォン、タブレット、ウェアラブルコンピュータデバイス、1つまたは複数のプロセッサを有するディスプレイ、または他の適切なコンピュータデバイスなどといった、任意の適切なタイプのコンピュータデバイスであり得る。
【0070】
サーバ410と同様に、クライアントデバイス430は、1つまたは複数のプロセッサ432およびメモリ434を含み得る。1つまたは複数のプロセッサ432は、1つまたは複数の中央処理ユニット(CPU)、効率的に画像をレンダリングまたは他の特殊な計算を行うことを専門としているグラフィック処理ユニット(GPU)、および/または他の処理デバイスを含み得る。メモリ434は、1つまたは複数のコンピュータ可読媒体を含み得るし、1つまたは複数のプロセッサ432によって実行され得る命令436およびデータ438を含む、1つまたは複数のプロセッサ432によってアクセス可能な情報を記憶し得る。例えば、メモリ434は、本開示の例示的な態様による、CAPTCHAチャレンジを表示するためのユーザインターフェースモジュールを実施するための命令436を記憶し得る。
【0071】
図7のクライアントデバイス430は、タッチスクリーン、タッチパッド、データ入力キー、スピーカ、および/または音声認識に適したマイクロフォンなどといった、情報を提供およびユーザから受信するための様々な入力/出力デバイスを含み得る。例えば、クライアントデバイス430は、本開示の例示的な態様による、セマンティックなプレイス名を表示するユーザインターフェースを提示するための表示デバイス435を有し得る。
【0072】
クライアントデバイス430はまた、ネットワーク440を介して1つまたは複数のリモートコンピュータデバイス(例えば、サーバ410)と通信するために使用されるネットワークインターフェースを含み得る。ネットワークインターフェースは、例えば、送信機、受信機、ポート、コントローラ、アンテナ、または他の適切なコンポーネントなどといった、1つまたは複数のネットワークとインターフェースで接続するための任意の適切なコンポーネントを含み得る。
【0073】
ネットワーク440は、ローカルエリアネットワーク(例えば、イントラネット)、ワイドエリアネットワーク(例えば、インターネット)、セルラネットワーク、またはいくつかのその組合せなどといった、任意のタイプの通信ネットワークであり得る。ネットワーク440はまた、クライアントデバイス430とサーバ410との間の直接接続を含み得る。一般に、サーバ410とクライアントデバイス430との間の通信は、様々な通信プロトコル(例えば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくはフォーマット(例えば、HTML、XML)、および/または保護スキーム(例えば、VPN、セキュアHTTP、SSL)を使用して、任意のタイプの有線および/または無線接続を用いるネットワークインターフェースを介して行われ得る。
【0074】
サーバ410はまた、機械学習ネットワーク450などの1つまたは複数の機械学習ネットワークとデータを交換し得る。サーバ410およびクライアントデバイス430と同様に、機械学習ネットワークは、1つまたは複数のプロセッサ452およびメモリ454を含み得る。1つまたは複数のプロセッサ452は、1つまたは複数の中央処理ユニット(CPU)および/または他の処理デバイスを含み得る。メモリ454は、1つまたは複数のコンピュータ可読媒体を含み得るし、1つまたは複数のプロセッサ452によって実行され得る命令456およびデータ458を含む、1つまたは複数のプロセッサ452によってアクセス可能な情報を記憶し得る。例えば、メモリ454は、1つまたは複数の機械学習モデルを訓練するように構成されたモデル訓練器を実施するための命令456を含み得る。データ458は、1つまたは複数のモデルおよび訓練データを含み得る。機械学習ネットワーク450はまた、ネットワーク440を介して1つまたは複数のリモートコンピュータデバイス(例えば、サーバ410)と通信するために使用されるネットワークインターフェースを含み得る。
【0075】
本明細書に開示の技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステムを参照するとともに、そのようなシステムに対してとられたアクションならびにそのようなシステムに送信されるおよびから送信される情報も参照している。コンピュータベースのシステムのもともと備わっているフレキシビリティが、コンポーネント間のタスクおよび機能性の非常に多種多様な考えられ得る構成、組合せ、ならびに分割を可能としていることを当業者は理解されよう。例えば、本明細書に開示のサーバプロセスは、単一のサーバを使用してまたは共同して動作する複数のサーバを使用して実施され得る。データベースおよびアプリケーションは、単一のシステム上に実装され得る、または、複数のシステムにわたって分散され得る。分散コンポーネントは、シーケンシャルにまたはパラレルに動作し得る。
【0076】
本願の特定事項についてその特定の例示的な実施形態に関して詳細に説明してきたが、前述したことの理解を獲得すれば、当業者がそのような実施形態の変更、変形、および均等物を容易に創出し得ることは理解されよう。それゆえ、本開示の範囲は、限定としてではなく例としてのものであり、特定事項の開示は、当業者にとって容易に明らかとなるように、本願の特定事項に対するそのような修正、変形、および/または追加を含むすべてを排除するものではない。
【符号の説明】
【0077】
102 CAPTCHAシステム
104 機械学習ネットワーク
106 リソースプロバイダ
108 画像データ
410 サーバ
412 プロセッサ
414 メモリ
416 命令
418 データ
420 チャレンジ生成器
422 リスクスコア決定器
424 ユーザ正当性検証器
430 ユーザデバイス
432 プロセッサ
434 メモリ
435 ディスプレイ
436 命令
438 データ
450 機械学習ネットワーク
452 プロセッサ
454 メモリ
456 命令
458 データ
図1
図2
図3
図4
図5
図6
図7