(57)【要約】【解決手段】  人間であるか機械であるかの識別が開示される。この開示は、現在トリガされている人間であるか機械であるかの識別リクエストをサーバに送信すること、人間であるか機械であるかの識別リクエストに応じてサーバによってレンダリングされる第１の動作を受信し、第１の動作は、人間か機械かを識別するように構成され、人間であるか機械であるかを識別するための動作トラックを表示する、受信すること、及び第１の動作に応じてトリガされた第２の動作をサーバに送信し、事前に設定された挙動特性モデルに基づいて、第２の動作のためのトリガ主体について人間であるか機械であるかを識別すること、を含む。【選択図】  図１Ａ
2018520397.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
クライアントによって送信される人間であるか機械であるかの識別リクエストに応じて、人間であるか機械であるかを識別するように構成されている第１の動作に関する情報を表示のためにクライアントに送信し、
前記クライアントによってサブミットされる第２の動作を受信し、前記第２の動作は、前記第１の動作に関連付けられている動作トラックに対して実施される対話動作に応じてトリガされ、
挙動特性モデルに基づいて、前記第２の動作のためのトリガ主体が人間であるか機械であるかを識別し、前記挙動特性モデルは、人間動作及び機械動作のための分類子を含み、前記分類子は、動作サンプルに基づいて訓練される、
ことを備える方法。
【請求項２】
請求項１に記載の方法であって、
前記動作サンプルの挙動特性データは、作動スライド時間の長さを含む、方法。
【請求項３】
請求項１に記載の方法であって、
前記動作サンプルの挙動特性データは、作動スライド時間の長さを含み、前記作動スライド時間の長さは、前記動作サンプルのうちの有効動作の合計時間の長さを決定することによって得られる、方法。
【請求項４】
請求項１に記載の方法であって、
前記挙動特性モデルの挙動特性データは、少なくとも１つの区間の作動スライド時間の長さ、少なくとも１つの区間の中心軸−偏位頻度、及び少なくとも１つの区間の平均偏位距離のうちの、少なくとも１つを含む、方法。
【請求項５】
請求項１に記載の方法であって、
前記挙動特性モデルの挙動特性データは、少なくとも１つの区間の作動スライド時間の長さ、少なくとも１つの区間の中心軸−偏位頻度、及び少なくとも１つの区間の平均偏位距離のうちの、少なくとも１つを含み、
前記少なくとも１つの区間の前記作動スライド時間の長さは、
前記動作サンプルの合計動作時間を複数の等区間に分割し、
少なくとも１つの動作区間の時間の長さを計算する、
ことに少なくとも部分的に基づいて得られ、
前記少なくとも１つの区間の前記中心軸−偏位頻度は、
前記動作サンプルの前記合計動作時間を複数の等区間に分割し、
少なくとも１つの動作区間について中心軸からの偏位の数を計算する、
ことに少なくとも部分的に基づいて得られ、
前記少なくとも１つの区間の前記平均偏位距離は、
前記動作サンプルのうちの少なくとも１つ動作サンプルの合計動作時間を複数の等区間に分割し、
前記少なくとも１つの動作区間について前記中心軸からの偏位の距離を計算する、
ことに少なくとも部分的に基づいて得られる、方法。
【請求項６】
請求項１に記載の方法であって、
前記動作サンプルの挙動特性データは、動作トリガ初期位置及び動作トリガ最終位置を含む、方法。
【請求項７】
請求項１に記載の方法であって、
前記動作サンプルの挙動特性データは、動作トリガ初期位置及び動作トリガ最終位置を含み、
前記動作トリガ初期位置及び前記動作トリガ最終位置は、
動作サンプルがトリガを経始めるときの座標を前記動作トリガ初期位置として決定し、
前記動作サンプルがトリガを経るのを止めるときの座標を前記動作トリガ最終位置として決定する、
ことに基づいて得られる、方法。
【請求項８】
請求項１に記載の方法であって、
前記挙動特性モデルに基づいて、前記第２の動作のためのトリガ主体を識別することは、
前記第２の動作の識別対象挙動特性データを抽出し、
前記識別対象挙動特性データが人間動作に適合する場合に、前記第２の動作のための前記トリガ主体は人間であると決定し、
前記識別対象挙動特性データが機械動作に適合する場合に、前記第２の動作のための前記トリガ主体は機械であると決定する、
ことを含む、方法。
【請求項９】
請求項１に記載の方法であって、更に、
前記事前に設定された前記挙動特性モデルに基づいて、前記第２の動作のための前記トリガ主体について人間であるか機械であるかを識別した後、
前記人間であるか機械であるかの識別の結果が機械である場合に、前記機械によって送信されるアクセスリクエストを拒絶し、
前記人間であるか機械であるかの識別の結果が人間である場合に、前記人間によって送信されるアクセスリクエストに応答する、
ことを備える方法。
【請求項１０】
デバイスであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに結合され、前記１つ以上のプロセッサに命令を提供するように構成されたメモリと、
を備え、
前記命令は、実行されたときに、
クライアントによって送信される人間であるか機械であるかの識別リクエストに応じて、人間であるか機械であるかを識別するように構成された第１の動作に関する情報を表示のためにクライアントに送信し、
前記クライアントによってサブミットされる第２の動作を受信し、前記第２の動作は、前記第１の動作に関連付けられている動作トラックに対して実施される対話動作に応じてトリガされ、
挙動特性モデルに基づいて、前記第２の動作のためのトリガ主体が人間であるか機械であるかを識別し、前記挙動特性モデルは、人間動作及び機械動作のための分類子を含み、前記分類子は、動作サンプルに基づいて訓練される、
ことを前記１つ以上のプロセッサに行わせる、デバイス。
【請求項１１】
請求項１０に記載のデバイスであって、
人間か機械かを識別するように構成された第１の動作に関する情報を表示のために前記クライアントに送信することは、
前記第２の動作の識別対象挙動特性データを抽出し、
前記識別対象挙動特性データが人間動作に適合する場合に、前記第２の動作のための前記トリガ主体は人間であると決定し、
前記識別対象挙動特性データが機械動作に適合する場合に、前記第２の動作のための前記トリガ主体は機械であると決定する、
ことを含む、デバイス。
【請求項１２】
請求項１０に記載のデバイスであって、
前記１つ以上のメモリは、更に、実行されたときに、
前記挙動特性モデルに基づいて、前記第２の動作のための前記トリガ主体を人間又は機械のいずれかとして識別した後、
前記人間であるか機械であるかの識別の結果が機械である場合に、その後に前記機械によって送信されるアクセスリクエストを拒絶し、
前記人間であるか機械であるかの識別の結果が人間である場合に、その後に前記人間によって送信されるアクセスリクエストに応答する、
ことを前記１つ以上のプロセッサに行わせる命令を、前記１つ以上のプロセッサに提供するように構成されている、デバイス。
【請求項１３】
有形の非一時的なコンピュータ読み取り可能ストレージ媒体に記録されているコンピュータプログラム製品であって、
クライアントによって送信される人間であるか機械であるかの識別リクエストに応じて、人間であるか機械であるかを識別するように構成された第１の動作に関する情報を表示のためにクライアントに送信するためのコンピュータ命令と、
前記クライアントによってサブミットされる第２の動作を受信するためのコンピュータ命令と、前記第２の動作は、前記第１の動作に関連付けられている動作トラックに対して実施される対話動作に応じてトリガされ、
挙動特性モデルに基づいて、前記第２の動作のためのトリガ主体が人間であるか機械であるかを識別するためのコンピュータ命令と、前記挙動特性モデルは、人間動作及び機械動作のための分類子を含み、前記分類子は、動作サンプルに基づいて訓練されること、
を備えるコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連技術の相互参照］
本出願は、２０１５年４月２１日に出願され名称を「Ａ  ＨＵＭＡＮ  ＯＲ  ＭＡＣＨＩＮＥ  ＭＥＴＨＯＤ  ＡＮＤ  ＤＥＶＩＣＥ  ＡＮＤ  Ａ  ＭＥＴＨＯＤ  ＡＮＤ  Ａ  ＤＥＶＩＣＥ  ＦＯＲ  ＣＯＬＬＥＣＴＩＮＧ  ＢＥＨＡＶＩＯＲＡＬ  ＣＨＡＲＡＣＴＥＲＩＳＴＩＣ  ＤＡＴＡ（人間か又は機械か方法及びデバイス、並びに挙動特性データを収集するための方法及びデバイス）」とする中国特許出願第２０１５１０１９１０３０．Ｘに基づく優先権を主張する。この出願は、あらゆる目的のために、参照によって本明細書に組み込まれる。
【０００２】
本出願は、人間であるか機械であるかを識別するための方法及びシステムに関する。
【背景技術】
【０００３】
チューリングテストは、機械が思考できるかどうかを判定するためにＡｌａｎ  Ｔｕｒｉｎｇによって１９５０年に考え出されたテストである。チューリングテストは、機械が人間の知性と同等の又は区別がつかないほどの知性を示せるかどうかをテストした。コンピュータと人間とを見分けるための完全自動化公開チューリング（ＣＡＰＴＣＨＡ）テストは、逆チューリングテストの一種だと見なされることが多く、これは、質問への答えを提供している者が人間であるか機械であるかを検出するためにコンピュータによって実施されるテストである。コンピュータは、ＣＡＰＴＣＨＡによる質問に答えられないことが多く、質問への正しい答えを提供する者を人間であると見なせる。例えば、コンピュータは、検証コードを含む歪められた画像を提示し、それを、人間又は機械が認識しようと試みる。検証コードを正しく認識することができるものは、人間であると判定される。検証コードを認識することができないものは、機械であると判定される。
【図面の簡単な説明】
【０００４】
本発明の様々な実施形態が、以下の詳細な説明及び添付の図面において開示される。
【０００５】
本出願の実施形態における技術的構想を更に明瞭に説明するために、以下で、実施形態を説明するために必要とされる図面が簡単に説明される。明らかに、以下で説明される図面は、本出願の実施形態のうちの幾つかにすぎない。当業者ならば、創作的努力を費やさずとも、これらの図面をもとにしてその他の図面を得られるだろう。
【０００６】
【図１Ａ】挙動特性モデルを訓練するためのプロセスの一実施形態を示したフローチャートである。
【０００７】
【図１Ｂ】プリフィルタリングを経た動作サンプルの挙動特性データの次元を縮小するためのプロセスの一実施形態を示したフローチャートである。
【０００８】
【図１Ｃ】次元縮小された挙動特性データを分類して第１の挙動特性ベクトルと第２の挙動特性ベクトルとを有する分類子を得るためのプロセスの一実施形態を示したフローチャートである。
【０００９】
【図２Ａ】人間であるか機械であるかを識別するためのプロセスの一実施形態を示したフローチャートである。
【００１０】
【図２Ｂ】既定の挙動特性モデルを使用して人間であるか機械であるかを識別するためのプロセスの一実施形態を示したフローチャートである。
【００１１】
【図３】挙動特性データを収集するためのプロセスの一実施形態を示したフローチャートである。
【００１２】
【図４】人間であるか機械であるかを識別するためのプロセスの別の一実施形態を示したフローチャートである。
【００１３】
【図５Ａ】人間であるか機械であるかを識別するためのデバイスの一実施形態を示した構造ブロック図である。
【００１４】
【図５Ｂ】第１の識別モジュールの一実施形態を示した構造ブロック図である。
【００１５】
【図６Ａ】挙動特性モデルを訓練するためのデバイスの一実施形態を示した構造ブロック図である。
【００１６】
【図６Ｂ】次元縮小モジュールの一実施形態を示した構造ブロック図である。
【００１７】
【図６Ｃ】分類モジュールの一実施形態を示した構造ブロック図である。
【００１８】
【図７】挙動特性データを収集するためのデバイスの一実施形態を示した構造ブロック図である。
【００１９】
【図８】人間であるか機械であるかを識別するためのデバイスの別の一実施形態を示した構造ブロック図である。
【００２０】
【図９】人間であるか機械であるかを識別するためのシステムの一実施形態を示した図である。
【００２１】
【図１０】人間であるか機械であるかを識別するためのプログラムドコンピュータシステムの一実施形態を示した機能図である。
【発明を実施するための形態】
【００２２】
本発明は、プロセス、装置、システム、合成物、コンピュータ読み取り可能ストレージ媒体に実装されたコンピュータプログラム製品、並びに／又は接続先のメモリに格納された命令及び／若しくは接続先のメモリによって提供される命令を実行するように構成されたプロセッサなどのプロセッサを含む、数々の形態で実現できる。本明細書では、これらの実現形態、又は本発明がとりえるその他のあらゆる形態が、技術と称されてよい。総じて、開示されるプロセスのステップの順番は、発明の範囲内で変更されてよい。別途明記されない限り、タスクを実施するように構成されているものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成されている汎用コンポーネントとして、又はタスクを実施するように製造された特殊コンポーネントとして実装されてよい。本書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つ以上のデバイス、回路、及び／又は処理コアを言う。
【００２３】
本発明の原理を例示した添付の図面とともに、以下で、本発明の１つ以上の実施形態の詳細な説明が提供される。本発明は、このような実施形態に関連付けて説明されるが、いずれの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定され、本発明は、数々の代替形態、変更形態、及び同等形態を包含している。以下の説明では、本発明の完全な理解を与えるために、数々の具体的詳細が明記されている。これらの詳細は、例示を目的として提供されるものであり、本発明は、これらの詳細の一部又は全部を伴わずとも特許請求の範囲にしたがって実施されてよい。明瞭を期するため、本発明に関連する技術分野で知られる技工物は、本発明が不必要に不明瞭にされないように詳細な説明を省略される。
【００２４】
本出願は、機械学習を通じて訓練される挙動特性モデル、及び人間であるか機械であるかを識別するためのこの挙動特性モデルの使用を開示する。
【００２５】
図１Ａは、挙動特性モデルを訓練するためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス１００は、図９のサーバ９１０によって実行に移され、以下を含む。
【００２６】
ステップ１１０では、複数の動作サンプルが、それらの動作サンプルの動作移動速度及び動作無作為度に基づいてプリフィルタリングされる。動作無作為度は、動作サンプルトラックの上下変動に相当する。
【００２７】
先ず、この例では、サーバは、一式の動作サンプルを得る。例えば、サーバは、データベースに格納されている既存の動作行為の中から、１００個の格納された動作サンプルを無作為に選択する。既存の動作は、サーバが以前に応答したユーザジェスチャ又はサーバが以前に拒絶したマシン挙動を含むことができる。これらの既存の動作行為の中からの（選択された）動作サンプルは、挙動特性モデルを訓練するために使用できる。
【００２８】
下記の表１に示されている動作データフォーマットは、記録されるデータフォーマットの一例を示しており、動作行為に関連付けられている動作データを格納しているデータベースから抽出できる。
【表１】
2018520397.tif 000003
【００２９】
表１における機器情報フィールドに関し、ブラウザ／アプリケーション情報は、対応する動作サンプルがトリガされたときに、その動作サンプルのためにどのヴァージョンのブラウザ又はスタンドアロンアプリケーションが使用されるかに相当し得る。オペレーティングシステムは、対応する動作サンプルがトリガされたときに、その動作サンプルのために例えばＡｎｄｒｏｉｄ  ６又はＷｉｎｄｏｗｓ  １０などのどのタイプ及び／又はヴァージョンのオペレーティングシステムが使用されるかを示し得る。ハードウェア情報は、対応する動作サンプルがトリガされたときの、その動作サンプルのための、モバイル端末の国際移動体装置識別（ＩＭＥＩ）番号又はコンピュータのＩｎｔｅｒｎｅｌ  Ｐｒｏｔｏｃｏｌ（ＩＰ）アドレスなどの情報を表し得る。表１における挙動情報フィールドに関し、マウスの動きは、対応する動作サンプルがトリガされたときの、その動作サンプルのためのマウスカーソル位置トラックに相当し得る。マウスのクリックは、マウスのクリックがトリガされたときの、その対応するサンプルのためのディスプレイ画面上におけるマウスのクリック位置情報に相当し得る。「ユーザが押したキー」は、対応するキーがトリガされたときに、そのサンプルのためにタッチ画面上においてユーザによってどのキーが押されたかに相当し得る。その他の実施形態では、上記よりも多くのタイプの動作データが、サーバデータベースに格納できる。表１は、説明のための例に過ぎない。
【００３０】
抽出された動作サンプルの挙動特性データは、表１における挙動情報フィールドから抽出される。表２は、挙動特性データの内容を例示している。
【表２】
2018520397.tif 000004
【００３１】
表２では、作動スライド時間の長さは、対応する動作サンプルが作動している際の合計時間を指すことができる（合計作動時間とも呼ばれる）。例えば、ユーザがマウスカーソルを動かす又はスライダをドラッグするのに費やした合計時間である。一部の実施形態では、時間の長さをＮ区間に分割することが可能であり、Ｎの値は２０から５０までの間であることができる。実際のニーズに基づいて、別の値のＮも設定できる。したがって、各区間の時間の長さＴ（ｉ）は、ｉ番目のトラック区間の時間の長さに相当する。ｉ番目のトラック区間は、Ｎ個の区間のうちの１つを指す。各区間の中心軸−偏位頻度Ｏ（ｉ）は、動作トラックをＮ区間に分割した後、動作トラックにおけるトラックの上下いずれかへの変動を中心軸からの一偏位と見なしたときに、ｉ番目のトラック区間の中心軸からの偏位の数として計算され、中心軸は、動作トラックの中心軸に相当する。各区間の平均偏位距離ＯＶ（ｉ）は、動作トラックをＮ区間に分割し、ｉ番目のトラック区間の中心軸からの偏位の平均距離をＯＶ（ｉ）として計算される。ここで、中心軸は、スライダの中心に位置する軸を指す。動作がトリガされるときの初期位置Ｄ（ｘ，ｙ）は、動作トラックの始点に相当し、動作が解除されるときの最終位置Ｕ（ｘ，ｙ）は、動作トラックの終点に相当する。例えば、初期位置Ｄ（ｘ，ｙ）は、ユーザがカーソルを動かし始めたときのマウスカーソルの出発位置に相当することができ、最終位置Ｕ（ｘ，ｙ）は、ユーザがカーソルを動かすのを止めたときのマウスカーソルの最終位置に相当することができる。
【００３２】
なお、表２における挙動特性データは、例示的なものに過ぎないことに留意すべきである。更に、一例として、動作は、人間であるか機械であるかの識別のために、表２における一タイプの挙動特性データを選択してよい。別の例では、動作は、人間であるか機械であるかの識別のために、表２における挙動特性データの任意の組み合わせを選択してよい。一例では、挙動特性データとして、作動スライド時間の長さが単独で選択される。他の例では、各区間の作動スライド時間の長さ、各区間の中心軸−偏位頻度、又は各区間の平均偏位距離が、挙動特性データとして選択される。更に別の例では、動作トリガ初期位置及び動作トリガ最終位置が、挙動特性データとして選択される。本書で説明される技術は、挙動特性データのタイプを限定しない。挙動特性データカテゴリの量又は挙動特性データの選択が、プロセス１００の実行に影響することはない。
【００３３】
作動スライド時間の長さは、動作サンプルの有効動作の合計時間の長さに相当する。各区間の作動スライド時間の長さは、動作サンプルの合計動作時間を幾つかの等区間に分割し、各区間の作動時間の長さを計算することによって得られる。各区間の中心軸−偏位頻度は、動作サンプルの合計動作時間を幾つかの等区間に分割し、各区間について中心軸からの作動偏位の数を計算することによって得られる。例えば、作動偏位の数は、ユーザのマウスポインタがスライダの中心軸から偏位する距離に基づいて計算される。各区間の平均偏位距離は、動作サンプルの合計動作時間を幾つかの等区間に分割し、各区間について中心軸からの作動距離偏位を計算することによって得られる。動作サンプルが例えばマウスクリックなどのトリガを経始めるときの座標は、動作トリガ初期位置に相当することができ、動作サンプルがトリガを経るのを止めるときの座標は、動作トリガ最終位置に相当することができる。
【００３４】
次に、動作サンプルの挙動特性データが抽出された後、動作サンプルは、それらの動作サンプルの移動速度及び動作無作為度に基づいてプリフィルタリングされる。動作速度は、動作サンプルのトラック移動速度を示す。動作移動速度が速すぎる（例えば、第１の閾値を上回る）場合又は動作移動時間が短すぎる（例えば、第２の閾値を下回る）場合は、動作サンプルは、機械挙動であると見なせる。例えば、動作移動時間が１００ｍｓ以下である場合は、対応する動作サンプルは、機械挙動であると見なされる。したがって、このような動作サンプルは、フィルタリングによって排除される。動作無作為度は、動作サンプルトラックの上下変動に相当する。例えば、もし、動作サンプルが、基本的に上下変動を有さないならば、その動作サンプルは、やはり、機械挙動であると見なされ、フィルタリングによって排除されることになる。
【００３５】
ステップ１２０では、サーバは、プリフィルタリングされた動作サンプルの挙動特性データの次元を主成分解析（ＰＣＡ）技術に基づいて縮小する。
【００３６】
プリフィルタリングされた動作サンプルの挙動特性データの次元を縮小するために、主成分解析（ＰＣＡ）が用いられる。その結果、挙動特性データは、次元数を縮小され、これは、そのあとに続くサポートベクトルマシン（ＳＶＭ）分類を容易にする。ＰＣＡは、周知のデータマイニング及び統計の技術である。作動スライド時間の長さは、挙動特性データの次元の一例である。
【００３７】
図１Ｂは、プリフィルタリングされた動作サンプルの挙動特性データの次元を縮小するためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス１２００は、図１Ａのステップ１２０の一実装形態であり、以下を含む。
【００３８】
ステップ１２１０では、サーバは、プリフィルタリングを経た動作サンプルの挙動特性データをデミーン（統計値調整する）する。
【００３９】
プリフィルタリングされた動作サンプルの挙動特性データは、デミーンされる。例えば、挙動特性データから経験的平均ベクトルが減算され、デミーンされた挙動特性データが得られる。例えば、［ａｉ  ｂｉ  ｃｉ  ……  ｍｉ］のそれぞれが、ユーザｉによって実施される動作の一動作挙動ベクトルに相当し、ｍが、ユーザｉによって実施される一動作中の様々なタイプの挙動特性を示すと想定する。挙動特性の例が、表２に示されている。ベクトル要素ａｉやｂｉなどは、区間の作動スライド時間の長さや区間の中心軸−偏位頻度などに相当することができ、各ベクトル要素は、単一値である。また、合計ｎ人のユーザが存在すると想定する。次に、ｎ人のユーザについて各タイプの動作挙動ベクトルの平均をとることによって、
【数１】
2018520397.tif 000005
に関するベクトルが得られる。次いで、各タイプの動作挙動ベクトルの平均が、動作挙動ベクトルを正規化するために使用できる。結果は、以下に示される行列Ｙである。
【００４０】
【数２】
2018520397.tif 000006
【００４１】
ステップ１２２０では、サーバは、デミーンされた挙動特性データの共分散行列を計算する。
【００４２】
共分散行列は、デミーンされた挙動特性データについて計算される。共分散行列は、次の式（Ｉ）に基づいて計算できる。
【００４３】
【数３】
2018520397.tif 000007
【００４４】
ここで、ｎは、ユーザの数であり、Ｙは、ステップ１２１０で計算された行列である。
【００４５】
ステップ１２３０では、サーバは、標準的な既知の技術を使用し、共分散行列に基づいて挙動特性データの共分散固有値及び共分散固有ベクトルを計算する。
【００４６】
続いて、ステップ１２２０で計算された共分散行列Ｃが、挙動特性データの共分散固有値及び共分散固有ベクトルを計算するために使用される。
【００４７】
ステップ１２４０では、サーバは、挙動特性データを共分散固有値に基づいて降順にランク付けする。
【００４８】
ステップ１２５０では、サーバは、ランク付けされた挙動特性データのうちの、上から順にＮ個の挙動特性データを、次元縮小行列Ｐとして選択する。ここで、Ｎは、１以上の整数である。
【００４９】
ステップ１２６０では、サーバは、次元縮小行列に基づいて挙動特性データの次元を縮小する。
【００５０】
サーバは、ステップ１２５０の次元縮小行列Ｐに基づいて、式「Ｚ＝ＰＸ」に基づいて挙動データの次元を縮小する。ここで、Ｘは、ステップ１２１０における行列Ｙに相当するローデータであり、Ｚは、次元縮小された挙動特性データである。
【００５１】
図１Ａに戻り、１３０では、サーバは、サポートベクトルマシン（ＳＶＭ）技術に基づいて、次元縮小された挙動特性データを分類し、人間挙動に関する第１の挙動特性ベクトルと機械挙動に関する第２の挙動特性ベクトルとを有する分類子を得る。ＳＶＭでは、分類子は、異なるタイプの入力ベクトルを分離する最適な超平面を得るために、訓練用データ（例えば、人間挙動又は機械挙動のいずれかとしてラベル付けされた挙動特性ベクトル）に基づいて訓練される。分類子が訓練されたら、ラベル付けされていない次元縮小された挙動特性データが、ラベル付け（又は同等な分類）を受けるために上記訓練済みの分類子に入力される。訓練をどのように実施してＳＶＭをどのように実行に移すかは、以下で、図１Ｃとの関連のもとで説明される。
【００５２】
ステップ１２０で実施された次元縮小に続いて、サーバは、次元縮小された挙動特性データをＳＶＭに基づいて分類し、そうして、２タイプの挙動特性データを得る。一方のタイプの挙動特性データは、人間挙動に適合する挙動特性データに相当し、人間挙動として分類される。もう一方のタイプは、機械挙動に適合する挙動特性データであり、機械挙動として分類される。
【００５３】
図１Ｃは、次元縮小された挙動特性データを分類して第１の挙動特性ベクトルと第２の挙動特性ベクトルとを有する分類子を得るためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス１３００は、図１の１３０の一実装形態であり、以下を含む。
【００５４】
ステップ１３１０では、サーバは、マッピング関数に基づいて、次元縮小された挙動特性データをそれよりも高い次元の空間上に投影する。マッピング関数の一例が、カーネル関数である。
【００５５】
ここで使用されるカーネル関数は、ガウスカーネル関数である。ガウスカーネル関数は、式（II）に示されるような関数である。
【００５６】
【数４】
2018520397.tif 000008
【００５７】
ガウスカーネル関数に基づく分類関数は、式（III）で示されるような関数である。
【００５８】
【数５】
2018520397.tif 000009
【００５９】
ステップ１３２０では、サーバは、投影された挙動特性データのサンプルデータに基づいてサポートベクトルマシンを訓練する。
【００６０】
サンプルデータが、集合｛Ｘｉ，Ｚｉ｝に相当すると想定する。ここで、Ｘｉは、挙動特性データであり、Ｚｉは、｛−１，１｝である。ここで、−１は、挙動特性ベクトルに対応する動作サンプルが機械動作であることを示し、１は、挙動特性ベクトルに対応する動作サンプルが人間動作であることを示す。分類子の訓練の実施には、ロジスティク回帰などの既知の技術が使用できる。
【００６１】
ステップ１３３０では、サーバは、訓練結果を人間動作及び機械動作のための分類子として格納する。
【００６２】
ステップ１３２０を実施した後、サーバは、その後に続いて収集される挙動特性データの二値化分類を容易にするために、α、ｂ、及びサポートベクトルを含む最適な分類超平面を取得して、該最適な分類超平面を人間動作及び機械動作のための分類子として格納することができる。
【００６３】
一部の実施形態では、次元縮小された挙動特性データの分類は、次元縮小された挙動特性データを二値化（例えば、真又は偽、１又は０などに）して、次元縮小された挙動特性データの二値化画像を取得すること、該二値化画像から、次元縮小された挙動特性データの二値化特性を抽出すること、ＳＶＭフォーマットに基づいて二値化特性をフォーマット化して、フォーマット済みの二値化特性を取得すること、及びフォーマット済みの二値化特性を人間挙動に適合する第１の挙動特性データと、機械挙動に適合する第２の挙動特性データとに分類する分類子を、既定のＳＶＭパラメータに基づいて訓練すること、を含む。
【００６４】
挙動特性モデルのための訓練プロセスの初期化の完了後は、人間であるか機械であるかの識別のプロセスが実施できる。図２Ａは、人間であるか機械であるかを識別するためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス２００は、図９のサーバ９１０によって実行に移され、以下を含む。
【００６５】
ステップ２１０では、クライアントから人間であるか機械であるかの識別リクエストが受信された場合に、サーバは、人間であるか機械であるかを識別するための第１の動作を表示のためにクライアントに送信されるようにレンダリングする。
【００６６】
プロセス２００は、人間であるか機械であるかを識別するために、及びサーバに接続されたクライアントによってサブミットされた動作について人間か機械化を識別するために、サーバに適用できる。一部の実施形態では、Ａｌｉｐａｙの例を使用し、ユーザによるＡｌｉｐａｙウォレットの使用は、多くの場合、口座振替又は支払いなどの金銭動作を伴う。したがって、一部の実施形態では、クライアントによってサブミットされた動作が人間のユーザによって実施されたか又は機械によって実施されたかの識別が実施される。識別が実施されるのは、機械によってサブミットされる動作が、ユーザを装うなどの悪質なプログラムによるものである可能性が高いからである。一部の実施形態では、クライアントが口座振替動作をサブミットした後、サーバは、人間であるか機械であるかを識別するための第１の動作を提示する。例えば、動作（例えば、第１の動作）を実施するようにユーザに要求する動作トラックが、表示のためにクライアントに送信される。例えば、口座振替動作は、人間であるか機械であるかの識別リクエストのタイプの１つである。もちろん、クライアントによってサブミットされるどの動作が人間であるか機械であるかの識別リクエストであるかを、事前に設定することも可能である。クライアントによってサブミットされた動作が人間であるか機械であるかの識別リクエストに相当するときは、第１の動作がレンダリングされ、該第１の動作は、表示のためにクライアントに送信される。
【００６７】
一部の実施形態では、Ｗｅｂ（パソコン（ＰＣ）ウェブページやモバイル端末ブラウザウェブページを含むことができる）の場合は、サーバ上のＪａｖａＳｃｒｉｐｔ（登録商標）によって、表示のために対話動作がレンダリングできる。モバイル端末上でユーザによって使用されるワイヤレスアプリの例（Ａｎｄｒｏｉｄオペレーティングシステム下及びｉＯＳシステム下におけるアプリケーションシナリオを含むことができる）では、対話動作は、サーバ上のＪａｖａ（登録商標）（Ａｎｄｒｏｉｄ）又はＯｂｊｅｃｔｉｖｅ  Ｃ（ｉＯＳ）によって、表示のためにレンダリングできる。一例では、トラック（例えば、ラインやバーなど）がユーザに表示され、自身が人間であることを証明するためにユーザが実施するように要求される対話動作は、自身の指をタッチ画面上のトラックで滑らせて又はディスプレイ上のトラックでマウスカーソルを動かしてトラックを「ロック解除」することを含む。別の例では、トラック、ボール、及びバスケットがユーザに表示され、ユーザが人間であることを証明するために実施される対話動作は、ボールをドラッグしトラックをたどらせてバスケットに入れることを含む。
【００６８】
ステップ２２０では、サーバは、第１の動作によって描写された動作トラックに基づいてトリガされる、クライアントによって現在サブミットされている第２の動作を受信する。
【００６９】
サーバは、第１の動作を表示のためにクライアントに送信した後、次いで、第１の動作によって提示された動作トラックをユーザ又は機械が模倣することによってトリガされた、即ち実施された、クライアントによってサブミットされた第２の動作を受信する。サーバは、第２の動作のためのトリガ主体（即ち、第２の動作を実施して、第２の動作に関連付けられているデータをサーバに送信させた者）が人間であるか又は機械であるかを、第２の動作の挙動特性に基づいて決定する。
【００７０】
ステップ２３０では、サーバは、事前に訓練された挙動特性モデルに基づいて、第２の動作のためのトリガ主体について人間であるか機械であるかを識別する。一部の実施形態では、挙動特性モデルは、動作サンプルに基づいて訓練される、人間動作及び機械動作のための分類子に相当する。
【００７１】
図２Ｂは、既定の挙動特性モデルを使用して人間であるか機械であるかを識別するためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス２３００は、図２Ａの動作２３０の一実装形態であり、以下を含む。
【００７２】
ステップ２３１０では、サーバは、第２の動作の識別対象挙動特性データを抽出する。
【００７３】
サーバは、クライアントによってサブミットされた第２の動作を受信した後、先ず、第２の動作の挙動特性データを第２の動作から抽出する。識別対象挙動特性データの抽出は、図１Ａのプロセス１００で実施された挙動特性データの抽出と同様なやり方で実施できる。挙動特性モデルのための動作サンプルは、挙動特性データがどのように抽出されるかを例示している。その後に続く第２の動作も、同じアプローチを使用して識別対象挙動特性データを提示することができる。
【００７４】
ステップ２３２０では、サーバは、識別対象挙動特性データを挙動特性モデルに適用することによって、識別対象挙動特性データが人間動作に適合するか又は機械動作に適合するかを決定する。
【００７５】
ステップ２３３０では、識別対象挙動特性データが人間動作に適合する場合に、サーバは、第２の動作のトリガ主体が人間であると決定する。
【００７６】
次いで、サーバは、ステップ２３１０で抽出された挙動特性データが、挙動特性モデルにおける第１の挙動特性データであるか又は挙動特性モデルにおける第２の挙動特性データであるかを決定する。抽出された挙動特性データが第１の挙動特性データに相当する場合は、サーバは、抽出された挙動特性データが人間動作に関するものであると決定する。したがって、第２の動作のためのトリガ主体は、人間であると決定される。
【００７７】
ステップ２３４０では、識別対象挙動特性データが機械動作に関するものである場合に、サーバは、第２の動作のトリガ主体が機械であると決定する。
【００７８】
識別対象挙動特性データが第２の挙動特性データに相当する場合に、サーバは、抽出された挙動特性データが機械動作に対応すると決定する。したがって、第２の動作のためのトリガ主体は、機械であると決定される。
【００７９】
図２Ａに戻り、ステップ２４０では、人間であるか機械であるかの識別の結果が機械である場合に、サーバは、その後に機械によって送信されるアクセスリクエストを拒絶する。
【００８０】
ステップ２５０では、人間であるか機械であるかの識別の結果が人間である場合に、サーバは、その後にクライアントを通じて人間によって送信されるアクセスリクエストに応答する。
【００８１】
サーバは、第２の動作のためのトリガ主体を人間であると識別する場合は、その後にユーザによって送信されるアクセスリクエストに通常通りに応答することができる。一例として、サーバは、第２の動作のためのトリガ主体が機械であると識別する場合は、現アクセスリクエストを、悪質な攻撃又はセキュリティの問題に関連している可能性があると見なす。サーバは、その後に機械によって発行されるアクセスリクエストを拒絶することができ、そうして、ネットワークセキュリティの向上を実現することができる。
【００８２】
一部の実施形態では、サーバは、人間であるか機械であるかを識別するときに、人間であるか機械であるかの識別のための第１の動作を実施するためのリクエストを表示のためにクライアントに送信する。この第１の動作は、例えば、人間であるか機械であるかを識別するために使用される動作トラックを示すことができる。次いで、第１の動作に基づいてトリガされた、クライアントによってサブミットされた第２の動作を受信した後、サーバは、事前に訓練された挙動特性モデルに基づいて、第２の動作のためのトリガ主体が人間であるか又は機械であるかを識別する。別の言い方をすると、サーバは、第２の動作のためのトリガ主体が人間であるか又は機械であるかを決定する。例えば、ユーザは、マウス操作又はトリガ操作を実施するときに、ユーザ自身の特性を有する。例えば、ユーザは、特定の速度でスワイプすることに慣れている、スワイププロセス中に揺れを回避することができないなどである。したがって、クライアントによってサブミットされた第２の動作挙動特性データは、第２の動作が人間によってトリガされたか又は機械によってトリガされたかを決定するために使用できる。したがって、人間であるか機械であるかを識別するためのプロセス２００は、従来のプロセスよりも正確であることができ、それゆえに、機械アクセスリクエストを拒絶することによってネットワークセキュリティを更に向上させることができ、しかしながら、プロセス２００は、ユーザが第１の動作に基づいて第２の動作を直接実施することができるゆえに、ユーザエクスペリエンスを向上させることもできる。
【００８３】
図３は、挙動特性データを収集するためのプロセスの一実施形態を示したフローチャートである。一部の実施形態では、プロセス３００は、図９のクライアント９２０によって実行に移され、以下を含む。
【００８４】
クライアントは、アプリ、パソコン（ＰＣ）アプリケーション、ブラウザ、デバイスなどを含むことができる。
【００８５】
ステップ３１０では、クライアントは、現在トリガされている人間であるか機械であるかの識別リクエストをサーバに送信する。
【００８６】
クライアントは、現在トリガされている挙動特性データ、即ち第２の動作を収集する。先ず、人間であるか機械であるかの識別を必要とする何らかの対話プロセス（例えば、ショッピングカート清算プロセス）では、クライアントは、ユーザによってトリガされた例えば支払い動作などの対話リクエストを受信した場合に、現在トリガされている人間であるか機械であるかの識別リクエストをサーバに送信することができる。
【００８７】
ステップ３２０では、クライアントは、人間であるか機械であるかの識別リクエストに応じてサーバによってレンダリングされた第１の動作を受信する。第１の動作は、人間であるか機械であるかを識別するために及び動作トラックを表現するために使用される。
【００８８】
クライアントによって送信された人間であるか機械であるかの識別リクエストを受信した後、サーバは、人間であるか機械であるかを識別するための第１の動作をレンダリングする。第１の動作は、クライアントによって模倣又は複製されることになる動作トラックを提示することができる。第１の動作は、次いで、表示のためにクライアントに送信される。
【００８９】
ステップ３３０では、クライアントは、事前に設定された挙動特性モデルに基づいて、第１の動作に基づいてトリガされた第２の動作のためのトリガ主体について人間であるか機械であるかを識別するために、上記第２の動作をサーバに送信する。一部の実施形態では、挙動特性モデルは、動作サンプルに基づいて訓練される、人間動作及び機械動作のための分類子に相当する。
【００９０】
クライアントは、第１の動作を表示した後、第１の動作によって提示された動作トラックに基づいてトリガされた第２の動作をサーバに送信する。サーバは、すると、事前に設定された挙動特性モデルに基づいて、第２の動作のためのトリガ主体について人間であるか機械であるかを識別することができる。一部の実施形態では、挙動特性モデルは、動作サンプルに基づいて訓練される、人間動作及び機械動作のための分類子を含む。
【００９１】
人間であるか機械であるかの識別の実施は、図２Ａのプロセス２００に示されており、ここでは再度述べることはしない。
【００９２】
一部の実施形態では、クライアントは、サーバによって送信された第１の動作に基づいて第２の動作をトリガし、第１の動作は、人間であるか機械であるかを識別するための動作トラックを提示することができる。続いて、クライアントが第２の動作をサブミットした後、サーバは、事前に訓練された挙動特性モデルに基づいて、第２の動作のためのトリガ主体について人間であるか機械であるかを識別する。別の言い方をすると、サーバは、第２の動作のためのトリガ主体が人間であるか機械であるかを決定する。例えば、ユーザは、マウス操作又はトリガ操作を実施するときに、ユーザ自身の特性を有する。例えば、ユーザは、特定の速度でスワイプすることに慣れている、スワイププロセス中に震えを回避することができないなどである。したがって、クライアントによってサブミットされた第２の動作の挙動特性データは、第２の動作が人間によってトリガされたか又は機械によってトリガされたかを決定するために使用できる。したがって、人間であるか機械であるかの識別プロセスの実施は、従来のプロセスよりも正確に決定を行うことができ、それゆえに、機械アクセスリクエストを拒絶することによってネットワークセキュリティを更に向上させることができ、しかしながら、ユーザが第１の動作に基づいて第２の動作を直接実施することができるゆえに、ユーザエクスペリエンスを向上させることもできる。
【００９３】
図４は、人間であるか機械であるかを識別するためのプロセスの別の一実施形態を示したフローチャートである。一部の実施形態では、プロセス４００は、独立したデバイス又は図９のサーバ９１０によって実行に移され、以下を含む。
【００９４】
ステップ４１０では、現在トリガされている人間であるか機械であるかの識別リクエストが、クライアントから受信された場合に、サーバは、人間であるか機械であるかを識別するための第１の動作を表示のためにクライアントに送信されるようにレンダリングする。
【００９５】
一部の実施形態では、ネットワークが存在しないところで人間か機械化の識別が実施されることになる。したがって、サーバ又は独立デバイスとクライアントとがやり取りできない状況の中で、人間であるか機械であるかの正確な識別を保証するために、独立デバイスに適用されて人間であるか機械であるかを識別するためのプロセス４００が、提供される。独立デバイスは、コンピュータ、モバイル端末、又は別のオフラインデバイスであることができる。この独立デバイスは、独立デバイス自体でトリガされた動作のための挙動特性データを収集することができる。独立デバイスは、次いで、独立デバイス自体に格納されている事前に訓練された挙動特性モデルに基づいて、人間か機械かを識別することができる。一例として、図２Ａの動作２１０で説明されたような、人間か機械かの識別リクエストの受信に続いて第１の動作が実行に移される技術が挙げられ、これは、簡潔を期するために、これ以上は論じられない。
【００９６】
ステップ４２０では、サーバは、第１の動作によって表現された動作トラックに基づいてトリガされる第２の動作を受信する。
【００９７】
独立デバイスは、第１の動作によって表現された動作トラックをレンダリングした後に、第１の動作を表示することができる。第１の動作は、模倣及びトリガされることになる動作トラックを既に提示しているので、独立デバイスは、第１の動作が模倣及びトリガされた後に、次いで、第２の動作を受信することができる。
【００９８】
ステップ４３０では、サーバは、事前に設定された挙動特性モデルに基づいて、第２の動作のためのトリガ主体について人間であるか機械であるかを識別する。一部の実施形態では、挙動特性モデルは、動作サンプルに基づいて訓練される、人間動作及び機械動作のための分類子を含む。
【００９９】
独立デバイスは、識別対象挙動特性データを第２の動作から抽出する。更に、事前に訓練された挙動特性モデルに関連して、サーバは、第２の動作のためのトリガ主体について人間であるか機械であるかを識別する。一部の実施形態では、挙動特性モデルは、動作サンプルに基づいて訓練される、人間動作及び機械動作のための分類子である。人間であるか機械であるかを識別する動作に関しては、この人間であるか機械であるかを識別する動作は、図２Ａのプロセス２００で説明されており、簡潔を期するために、これ以上は論じられない。
【０１００】
一部の実施形態では、第２の動作のトリガは、第１の動作に基づいて実施され、第１の動作は、人間であるか機械であるかの識別のための動作トラックを提示する。続いて、サーバは、事前に訓練された挙動特性モデルに基づいて、第２の動作のためのトリガ主体について人間であるか機械であるかを識別する。別の言い方をすると、サーバは、第２の動作のためのトリガ主体が人間であるか又は機械であるかを決定する。例えば、ユーザは、マウス操作又はトリガ操作を実施するときに、ユーザ自身の特性を有する。例えば、ユーザは、特定の速度でスワイプすることに慣れている、スワイププロセス中に揺れを回避することができないなどである。したがって、第２の動作の挙動特性データは、第２の動作が人間によってトリガされたか又は機械によってトリガされたかを決定するために使用できる。したがって、人間であるか機械であるかの識別は、従来のプロセスよりも正確に実施でき、それゆえに、機械アクセスリクエストを拒絶することによってネットワークセキュリティを更に向上させることができ、しかしながら、ユーザが第１の動作に基づいて第２の動作を直接実施することができるゆえに、ユーザエクスペリエンスを向上させることもできる。
【０１０１】
上述されたプロセスに関して、これらのプロセスは、一連の動作の組み合わせとして表現されてきた。しかしながら、特定の動作は、その他の順番で又は同時に実施できるので、当業者にならば、これらのプロセスが、説明された動作によって制限されないことが理解される。更に、当業者ならば、それらに伴う動作及びモジュールが、必ずしも必須ではないことがわかる。
【０１０２】
図５Ａは、人間であるか機械であるかを識別するためのデバイスの一実施形態を示した構造ブロック図である。一部の実施形態では、デバイス５００は、図２Ａのプロセス２００を実施するように構成され、第１のレンダリングモジュール５１０と、第１の第２動作受信モジュール５２０と、第１の識別モジュール５３０と、拒絶モジュール５４０と、応答モジュール５５０とを含む。
【０１０３】
一部の実施形態では、クライアントによって送信された人間であるか機械であるかの識別リクエストに応じて、第１のレンダリングモジュール５１０は、人間であるか機械であるかを識別するための第１の動作を表示のためにクライアントに送信されるようにレンダリングするように構成されている。
【０１０４】
一部の実施形態では、第１の第２動作受信モジュール５２０は、第１の動作によって描写された動作トラックに基づいてトリガされる、クライアントによって現在サブミットされている第２の動作を受信するように構成されている。
【０１０５】
一部の実施形態では、第１の識別モジュール５３０は、事前に設定された挙動特性モデルに基づいて、第２の動作のためのトリガ主体について人間であるか機械であるかを識別するように構成されている。一部の実施形態では、挙動特性モデルは、動作サンプルに基づいて訓練される、人間動作及び機械動作のための分類子に相当する。
【０１０６】
上述されたモジュールは、１つ以上の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、又は特定の機能を実施するように設計されたプログラマブルロジックデバイス及び／若しくは特殊用途向け集積回路などのハードウェアとして、又はこれらの組み合わせとして実装することができる。一部の実施形態では、これらのモジュールは、本発明の実施形態で説明される方法を（パソコン、サーバ、ネットワーク機器等などの）コンピュータデバイスに実行させるための幾つかの命令を含み且つ（光ディスク、フラッシュストレージデバイス、モバイルハードディスク等などの）不揮発性のストレージ媒体に格納できるソフトウェア製品の形態で具現化できる。これらのモジュールは、１つのデバイス上に実装されてよい、又は複数のデバイスに分散されてよい。これらのモジュールの機能は、互いに合体されてよい、又は複数のサブモジュールに更に分割されてよい。
【０１０７】
図５Ｂは、第１の識別モジュールの一実施形態を示した構造ブロック図である。一部の実施形態では、第１の識別モジュール５３００は、図５Ａの第１の識別モジュール５３０の一実装形態であり、特性データ抽出モジュール５３１０と、決定モジュール５３２０と、人間動作モジュール５３３０と、機械動作モジュール５３４０とを含む。
【０１０８】
一部の実施形態では、特性データ抽出モジュール５３１０は、第２の動作の識別対象挙動特性データを抽出するように構成されている。
【０１０９】
一部の実施形態では、決定モジュール５３２０は、識別対象挙動特性データが人間動作に適合するか又は機械動作に適合するかを決定するように構成されている。
【０１１０】
一部の実施形態では、識別対象挙動特性データが人間動作に適合する場合に、人間動作モジュール５３３０は、第２の動作のトリガ主体が人間であると決定するように構成されている。
【０１１１】
一部の実施形態では、識別対象挙動特性データが機械動作に関するものである場合に、機械動作モジュール５３４０は、第２の動作のトリガ主体が機械であると決定するように構成されている。
【０１１２】
図５Ａに戻り、一部の実施形態では、人間であるか機械であるかの識別の結果が機械である場合に、拒絶モジュール５４０は、その後に機械によって送信されるアクセスリクエストを拒絶するように構成されている。
【０１１３】
一部の実施形態では、人間であるか機械であるかの識別の結果が人間である場合に、応答モジュール５５０は、その後にクライアントを通じて人間によって送信されるアクセスリクエストに応答する。
【０１１４】
図６Ａは、挙動特性モデルを訓練するためのデバイスの一実施形態を示した構造ブロック図である。一部の実施形態では、デバイス６００は、図１Ａのプロセス１００を実行に移すように構成され、プリフィルタリングモジュール６１０と、次元縮小モジュール６２０と、分類モジュール６３０とを含む。
【０１１５】
一部の実施形態では、プリフィルタリングモジュール６１０は、動作サンプルの動作移動速度及び動作無作為度に基づいて動作サンプルにプリフィルタリングを施すように構成されている。
【０１１６】
一部の実施形態では、次元縮小モジュール６２０は、プリフィルタリングを経た動作サンプルの挙動特性データの次元を主成分解析（ＰＣＡ）アルゴリズムに基づいて縮小するように構成されている。
【０１１７】
一部の実施形態では、分類モジュール６３０は、次元縮小された挙動特性データをサポートベクトルマシン（ＳＶＭ）アルゴリズムに基づいて分類し、人間挙動適合する第１の挙動特性データと、機械挙動に適合する第２の挙動特性データとを得るように構成されている。
【０１１８】
図６Ｂは、次元縮小モジュールの一実施形態を示した構造ブロック図である。一部の実施形態では、次元縮小モジュール６２００は、図６Ａの次元縮小モジュール６２０の一実装形態であり、デミーンモジュール６２１０と、共分散行列計算モジュール６２２０と、固有パラメータ計算モジュール６２３０と、降順モジュール６２４０と、選択モジュール６２５０と、次元縮小モジュール６２６０とを含む。
【０１１９】
一部の実施形態では、デミーンモジュール６２１０は、プリフィルタリングを経た動作サンプルの挙動特性データをデミーンするように構成されている。
【０１２０】
一部の実施形態では、共分散行列計算モジュール６２２０は、デミーンされた挙動特性データの共分散行列を計算するように構成されている。
【０１２１】
一部の実施形態では、固有パラメータ計算ンモジュール６２３０は、共分散行列に基づいて挙動特性データの共分散固有値及び共分散固有ベクトルを計算するように構成されている。
【０１２２】
一部の実施形態では、降順モジュール６２４０は、共分散固有値に基づいて降順に挙動特性データをランク付けするように構成されている。
【０１２３】
一部の実施形態では、選択モジュール６２５０は、ランク付けされた挙動特性データのうちの上から順にＮ個の挙動特性データを次元縮小行列として選択するように構成されている。ここで、Ｎは、１以上の整数である。
【０１２４】
一部の実施形態では、次元縮小モジュール６２６０は、次元縮小行列に基づいて挙動特性データの次元を縮小するように構成されている。
【０１２５】
図６Ｃは、分類モジュールの一実施形態を示した構造ブロック図である。一部の実施形態では、分類モジュール６３００は、図６Ａの分類モジュールの一実装形態であり、投影モジュール６３１０と、訓練モジュール６３２０と、格納モジュール６３３０とを含む。
【０１２６】
一部の実施形態では、投影モジュール６３１０は、マッピング関数に基づいて、次元縮小された挙動特性データをそれよりも高い次元の空間上に投影するように構成されている。
【０１２７】
一部の実施形態では、訓練モジュール６３２０は、投影された挙動特性データのサンプルデータに基づいてサポートベクトルマシンを訓練するように構成されている。
【０１２８】
一部の実施形態では、格納モジュール６３３０は、訓練結果を人間動作及び機械動作のための分類子として格納するように構成されている。
【０１２９】
図７は、挙動特性データを収集するためのデバイスの一実施形態を示した構造ブロック図である。一部の実施形態では、デバイス７００は、図３のプロセス３００を実行に移すように構成され、リクエスト送信モジュール７１０と、第１動作受信モジュール７２０と、動作送信モジュール７３０とを含む。
【０１３０】
一部の実施形態では、リクエスト送信モジュール７１０は、現在トリガされている人間であるか機械であるかの識別リクエストをサーバに送信するように構成されている。
【０１３１】
一部の実施形態では、第１動作受信モジュール７２０は、人間であるか機械であるかの識別リクエストに応じてサーバによってレンダリングされた、人間であるか機械であるかの識別に使用される第１の動作を受信するように構成されている。一部の実施形態では、第１の動作は、人間であるか機械であるかを識別するための動作トラックを表現する。
【０１３２】
一部の実施形態では、動作送信モジュール７３０は、第１の動作に基づいてトリガされた第２の動作を、事前に設定された挙動特性モデルに基づいて第２の動作のためのトリガ主体について人間であるか機械であるかを識別するために、サーバに送信するように構成されている。一部の実施形態では、挙動特性モデルは、動作サンプルに基づいて訓練される、人間動作及び機械動作のための分類子である。
【０１３３】
一部の実施形態では、クライアントは、サーバによって送信された第１の動作に基づいて第２の動作をトリガし、第１の動作は、人間であるか機械であるかを識別するための動作トラックを提示する。次いで、クライアントが第２の動作をサブミットした後、サーバは、事前に訓練された挙動特性モデルに基づいて第２の動作のためのトリガ主体について人間であるか機械であるかを識別する。別の言い方をすると、サーバは、第２の動作のためのトリガ主体が人間であるか又は機械であるかを決定する。例えば、ユーザは、マウス操作又はトリガ操作を実施するときに、ユーザ自身の特性を有する。例えば、ユーザは、特定の速度でスワイプすることに慣れている、スワイププロセス中に揺れを回避することができないなどである。したがって、クライアントは、第２の動作挙動特性モデルに基づいて、第２の動作が人間によってトリガされたか又は機械によってトリガされたかを決定することができる。したがって、デバイスは、人間であるか機械であるかを従来のデバイスよりも正確に識別することができ、それゆえに、機械アクセスリクエストを拒絶することによってネットワークセキュリティを更に向上させることができ、しかしながら、ユーザが第１の動作に基づいて第２の動作を直接実施することができるゆえに、ユーザエクスペリエンスを向上させることもできる。
【０１３４】
図８は、人間であるか機械であるかを識別するためのデバイスの別の一実施形態を示した構造ブロック図である。一部の実施形態では、デバイス８００は、図４のプロセス４００を実行に移すように構成され、第２のレンダリングモジュール８１０と、第２の第２動作受信モジュール８２０と、第２の識別モジュール８３０とを含む。
【０１３５】
一部の実施形態では、現在トリガされている人間であるか機械であるかの識別リクエストがクライアントから受信された場合に、第２のレンダリングモジュール８１０は、人間であるか機械であるかの識別のための第１の動作を表示のためにクライアントに送信されるようにレンダリングするように構成されている。
【０１３６】
一部の実施形態では、第２の第２動作受信モジュール８２０は、第１の動作によって表現された動作トラックに基づいてトリガされる第２の動作を受信するように構成されている。
【０１３７】
一部の実施形態では、第２の識別モジュール８３０は、事前に設定された挙動特性モデルに基づいて第２の動作のためのトリガ主体について人間であるか機械であるかを識別するように構成されている。一部の実施形態では、挙動特性モデルは、動作サンプルに基づいて訓練される、人間動作及び機械動作のための分類子である。
【０１３８】
一部の実施形態では、第２の動作のトリガは、第１の動作に基づいて実施され、第１の動作は、人間であるか機械であるかを識別するための動作トラックを提示する。続いて、第２の識別モジュール８３０は、事前に訓練された挙動特性モデルに基づいて、第２の動作のためのトリガ主体について人間であるか機械であるかを識別する。別の言い方をすると、第２の識別モジュール８３０は、第２の動作のためのトリガ主体が人間であるか又は機械であるかを決定する。例えば、ユーザは、マウス操作又はトリガ操作を実施するときに、ユーザ自身の特性を有する。例えば、ユーザは、特定の速度でスワイプすることに慣れている、スワイププロセス中に揺れを回避することができないなどである。したがって、第２の動作挙動特性モデルは、第２の動作が人間によってトリガされたか又は機械によってトリガされたかを決定するために使用できる。したがって、デバイス８００は、人間であるか機械であるかを従来のデバイスよりも正確に識別することができ、それゆえに、機械アクセスリクエストを拒絶することによってネットワークセキュリティを更に向上させることができ、しかしながら、ユーザが第１の動作に基づいて第２の動作を直接実施することができるゆえに、ユーザエクスペリエンスを向上させることもできる。
【０１３９】
図９は、人間であるか機械であるかを識別するためのシステムの一実施形態を示した図である。一部の実施形態では、システム９００は、ネットワーク９３０を通じてクライアント９２０に接続されたサーバ９１０を含む。
【０１４０】
人間であるか機械であるかの識別リクエストがクライアント９２０から受信された場合に、サーバ９１０は、人間であるか機械であるかの識別のための第１の動作を表示のためにクライアント９２０に送信されるようにレンダリングすることができる。
【０１４１】
サーバ９１０は、第１の動作によって表現された動作トラックに基づいてトリガされる、クライアント９２０によって現在サブミットされている第２の動作を受信することができる。
【０１４２】
サーバ９１０は、事前に訓練された挙動特性モデルに基づいて、第２の動作のためのトリガ主体について人間であるか機械であるかを識別することができる。一部の実施形態では、挙動特性モデルは、動作サンプルに基づいて訓練される、人間動作及び機械動作のための分類子である。
【０１４３】
図１０は、人間であるか機械であるかを識別するためのプログラムドコンピュータシステムの一実施形態を示した機能図である。人間であるか機械であるかを識別するために、その他のアーキテクチャ及び構成のコンピュータシステムが使用できることが明らかである。後述のような様々なサブシステムを含むコンピュータシステム１０００は、少なくとも１つのマイクロプロセッササブシステム（プロセッサ又は中央演算処理装置（ＣＰＵ）とも呼ばれる）１００２を含む。例えば、プロセッサ１００２は、シングルチッププロセッサによって又は複数のプロセッサによって実現できる。一部の実施形態では、プロセッサ１００２は、コンピュータシステム１０００の動作を制御する汎用デジタルプロセッサである。メモリ１０１０から取り出された命令を使用して、プロセッサ１００２は、入力データの受信及び操作、並びに出力デバイス（例えば、ディスプレイ１０１８）へのデータの出力及び表示を制御する。
【０１４４】
プロセッサ１００２は、メモリ１０１０に双方向に接続され、メモリ１０１０は、通常はランダムアクセスメモリ（ＲＡＭ）である第１の一次ストレージと、通常は読み出し専用メモリ（ＲＯＭ）である第２の一次ストレージエリアとを含むことができる。当該分野で周知のように、一次ストレージは、汎用ストレージエリアとして及びスクラッチパッドメモリとして使用でき、入力データ及び処理済みデータを格納するためにも使用できる。一次ストレージは、プロセッサ１００２上で起きるプロセスのためのその他のデータ及び命令に追加して、プログラミング命令及びデータも、データオブジェクト及びテキストオブジェクトの形態で格納することができる。やはり当該分野で周知のように、一次ストレージは、通常は、プロセッサ１００２がその機能（例えば、プログラムされた命令）を実施するために使用する基本的な動作命令、プログラムコード、データ、及びオブジェクトを含む。例えば、メモリ１０１０は、例えば、データアクセスが双方向又は単方向のいずれである必要があるかに応じて、後述される任意の適切なコンピュータ読み取り可能ストレージ媒体を含むことができる。例えば、プロセッサ１００２は、頻繁に必要とされるデータを直接的に且つ非常に迅速に取り出してキャッシュメモリ（不図示）に格納することもできる。メモリは、非一時的なコンピュータ読み取り可能ストレージ媒体であることができる。
【０１４５】
着脱式大容量ストレージデバイス１０１２が、コンピュータシステム１０００のための追加のデータストレージ容量を提供し、双方向（読み出し／書き込み）又は単方向（読み出しのみ）のいずれかでプロセッサ１００２に接続される。例えば、ストレージ１０１２は、磁気テープ、フラッシュメモリ、ＰＣカード、ポータブル大容量ストレージデバイス、ホログラフィックストレージデバイス、及びその他のストレージデバイスなどの、コンピュータ読み取り可能媒体を含むこともできる。例えば、固定大容量ストレージ１０２０も、追加のデータストレージ容量を提供することができる。大容量ストレージ１０２０として最も一般的な例は、ハードディスクドライブである。大容量ストレージ１０１２及び１０２０は、一般に、プロセッサ１００２によって通常は能動的に使用されていない追加のプログラミング命令やデータなどを格納する。大容量ストレージ１０１２及び１０２０に保持される情報は、必要に応じて、仮想メモリとしてメモリ１０１０（例えば、ＲＡＭ）の一部に標準的に組み込めることがわかる。
【０１４６】
バス１０１４は、プロセッサ１００２をストレージサブシステムにアクセス可能にすることに加えて、その他のサブシステム及びデバイスへのアクセスを提供するためにも使用できる。図に示されるように、これらとしては、ディスプレイモニタ１０１８、ネットワークインターフェース１０１６、キーボード１００４、及びポインティングデバイス１００６はもちろん、必要に応じて、補助入出力デバイスインターフェース、サウンドカード、スピーカ、及びその他のサブシステムが挙げられる。例えば、ポインティングデバイス１００６は、マウス、スタイラス、トラックボール、又はタブレットであることができ、グラフィカルユーザインターフェースとのやり取りに有用である。
【０１４７】
ネットワークインターフェース１０１６は、図に示されるようにネットワーク接続を使用してプロセッサ１００２が別のコンピュータ、コンピュータネットワーク、又は電気通信ネットワークに接続されることを可能にする。例えば、ネットワークインターフェース１０１６を通じて、プロセッサ１００２は、方法／プロセスのステップを実施する過程において、別のネットワークから情報（例えば、データオブジェクト若しくはプログラム命令）を受信する又は別のネットワークに情報を出力することができる。情報は、プロセッサ上で実行される一連の命令として表されることが多く、別のネットワークから受信する又は別のネットワークに出力することができる。コンピュータシステム１０００を外部ネットワークに接続するために及びデータを標準プロトコルにしたがって転送するために、インターフェースカード又は類似のデバイス、及びプロセッサ１００２によって実現される（例えば、プロセッサ１００２上で実行される／実施される）適切なソフトウェアが使用できる。例えば、本書で開示される様々なプロセスの実施形態は、プロセッサ１００２上で実行できる、又は処理の一部を共有するリモートプロセッサと協働してインターネット、イントラネットネットワーク、若しくはローカルエリアネットワークなどのネットワークで実施できる。プロセッサ１００２には、ネットワークインターフェース１０１６を通じて追加の大容量ストレージデバイス（不図示）も接続できる。
【０１４８】
コンピュータシステム１０００と協働して、補助入出力デバイスインターフェース（不図示）が使用できる。補助入出力デバイスインターフェースは、プロセッサ１００２が、マイク、タッチセンサ式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声又は手書き認識装置、生体認証リーダ、カメラ、ポータブル大容量ストレージデバイス、及びその他のコンピュータなどの他のデバイスにデータを送信することを、及び更に一般的にはこれらの他のデバイスからデータを受信することを可能にする、汎用並びに専用のインターフェースを含むことができる。
【０１４９】
図１０に示されたコンピュータシステムは、本書で開示される様々な実施形態との使用に適したコンピュータシステムの一例に過ぎない。このような使用に適したその他のコンピュータシステムは、更に多い又は少ないサブシステムを含むことができる。また、バス１０１４は、サブシステムを接続する働きをする任意の相互接続方式を例示したものである。異なるサブシステム構成を有するその他のコンピュータアーキテクチャも利用できる。
【０１５０】
本書で開示された実施形態に照らして説明された方法又はアルゴリズムステップは、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、又はその両方を使用して実行に移せる。ソフトウェアモジュールは、ランダムアクセスメモリ（ＲＡＭ）、メモリ、読み出し専用メモリ（ＲＯＭ）、電気的にプログラム可能なＲＯＭ、電気的に消去可能でプログラム可能なＲＯＭ、レジスタ、ハードドライブ、着脱式ディスク、ＣＤ−ＲＯＭ、又は当該分野で知られるその他の任意の系チアのストレージ媒体にインストールできる。
【０１５１】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するためには、多くの代替的手法がある。開示された実施形態は、例示的であり、限定的ではない。
【図１Ａ】
2018520397.tif 000010
【図１Ｂ】
2018520397.tif 000011
【図１Ｃ】
2018520397.tif 000012
【図２Ａ】
2018520397.tif 000013
【図２Ｂ】
2018520397.tif 000014
【図３】
2018520397.tif 000015
【図４】
2018520397.tif 000016
【図５Ａ】
2018520397.tif 000017
【図５Ｂ】
2018520397.tif 000018
【図６Ａ】
2018520397.tif 000019
【図６Ｂ】
2018520397.tif 000020
【図６Ｃ】
2018520397.tif 000021
【図７】
2018520397.tif 000022
【図８】
2018520397.tif 000023
【図９】
2018520397.tif 000024
【図１０】
2018520397.tif 000025
【手続補正書】
【提出日】平成29年11月24日(2017.11.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
クライアントによって送信される人間であるか機械であるかの識別リクエストに応じて、人間であるか機械であるかを識別するように構成されている第１の動作に関する情報を表示のためにクライアントに送信し、
前記クライアントによってサブミットされる第２の動作を受信し、前記第２の動作は、前記第１の動作に関連付けられている動作トラックに対して実施される対話動作に応じてトリガされ、
挙動特性モデルに基づいて、前記第２の動作のためのトリガ主体が人間であるか機械であるかを識別し、前記挙動特性モデルは、人間動作及び機械動作のための分類子を含み、前記分類子は、動作サンプルに基づいて訓練される、
ことを備える方法。
【請求項２】
請求項１に記載の方法であって、
前記動作サンプルの挙動特性データは、作動スライド時間の長さを含む、方法。
【請求項３】
請求項１に記載の方法であって、
前記動作サンプルの挙動特性データは、作動スライド時間の長さを含み、前記作動スライド時間の長さは、前記動作サンプルのうちの有効動作の合計時間の長さを決定することによって得られる、方法。
【請求項４】
請求項１に記載の方法であって、
前記挙動特性モデルの挙動特性データは、少なくとも１つの区間の作動スライド時間の長さ、少なくとも１つの区間の中心軸−偏位頻度、及び少なくとも１つの区間の平均偏位距離のうちの、少なくとも１つを含む、方法。
【請求項５】
請求項１に記載の方法であって、
前記挙動特性モデルの挙動特性データは、少なくとも１つの区間の作動スライド時間の長さ、少なくとも１つの区間の中心軸−偏位頻度、及び少なくとも１つの区間の平均偏位距離のうちの、少なくとも１つを含み、
前記少なくとも１つの区間の前記作動スライド時間の長さは、
前記動作サンプルの合計動作時間を複数の等区間に分割し、
少なくとも１つの動作区間の時間の長さを計算する、
ことに少なくとも部分的に基づいて得られ、
前記少なくとも１つの区間の前記中心軸−偏位頻度は、
前記動作サンプルの前記合計動作時間を複数の等区間に分割し、
少なくとも１つの動作区間について中心軸からの偏位の数を計算する、
ことに少なくとも部分的に基づいて得られ、
前記少なくとも１つの区間の前記平均偏位距離は、
前記動作サンプルのうちの少なくとも１つ動作サンプルの合計動作時間を複数の等区間に分割し、
前記少なくとも１つの動作区間について前記中心軸からの偏位の距離を計算する、
ことに少なくとも部分的に基づいて得られる、方法。
【請求項６】
請求項１に記載の方法であって、
前記動作サンプルの挙動特性データは、動作トリガ初期位置及び動作トリガ最終位置を含む、方法。
【請求項７】
請求項１に記載の方法であって、
前記動作サンプルの挙動特性データは、動作トリガ初期位置及び動作トリガ最終位置を含み、
前記動作トリガ初期位置及び前記動作トリガ最終位置は、
動作サンプルがトリガを経始めるときの座標を前記動作トリガ初期位置として決定し、
前記動作サンプルがトリガを経るのを止めるときの座標を前記動作トリガ最終位置として決定する、
ことに基づいて得られる、方法。
【請求項８】
請求項１に記載の方法であって、
前記挙動特性モデルに基づいて、前記第２の動作のためのトリガ主体を識別することは、
前記第２の動作の識別対象挙動特性データを抽出し、
前記識別対象挙動特性データが人間動作に適合する場合に、前記第２の動作のための前記トリガ主体は人間であると決定し、
前記識別対象挙動特性データが機械動作に適合する場合に、前記第２の動作のための前記トリガ主体は機械であると決定する、
ことを含む、方法。
【請求項９】
請求項１に記載の方法であって、更に、
前記事前に設定された前記挙動特性モデルに基づいて、前記第２の動作のための前記トリガ主体について人間であるか機械であるかを識別した後、
前記人間であるか機械であるかの識別の結果が機械である場合に、前記機械によって送信されるアクセスリクエストを拒絶し、
前記人間であるか機械であるかの識別の結果が人間である場合に、前記人間によって送信されるアクセスリクエストに応答する、
ことを備える方法。
【請求項１０】
デバイスであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに結合され、前記１つ以上のプロセッサに命令を提供するように構成されたメモリと、
を備え、
前記命令は、実行されたときに、
クライアントによって送信される人間であるか機械であるかの識別リクエストに応じて、人間であるか機械であるかを識別するように構成された第１の動作に関する情報を表示のためにクライアントに送信し、
前記クライアントによってサブミットされる第２の動作を受信し、前記第２の動作は、前記第１の動作に関連付けられている動作トラックに対して実施される対話動作に応じてトリガされ、
挙動特性モデルに基づいて、前記第２の動作のためのトリガ主体が人間であるか機械であるかを識別し、前記挙動特性モデルは、人間動作及び機械動作のための分類子を含み、前記分類子は、動作サンプルに基づいて訓練される、
ことを前記１つ以上のプロセッサに行わせる、デバイス。
【請求項１１】
請求項１０に記載のデバイスであって、
人間か機械かを識別するように構成された第１の動作に関する情報を表示のために前記クライアントに送信することは、
前記第２の動作の識別対象挙動特性データを抽出し、
前記識別対象挙動特性データが人間動作に適合する場合に、前記第２の動作のための前記トリガ主体は人間であると決定し、
前記識別対象挙動特性データが機械動作に適合する場合に、前記第２の動作のための前記トリガ主体は機械であると決定する、
ことを含む、デバイス。
【請求項１２】
請求項１０に記載のデバイスであって、
前記１つ以上のメモリは、更に、実行されたときに、
前記挙動特性モデルに基づいて、前記第２の動作のための前記トリガ主体を人間又は機械のいずれかとして識別した後、
前記人間であるか機械であるかの識別の結果が機械である場合に、その後に前記機械によって送信されるアクセスリクエストを拒絶し、
前記人間であるか機械であるかの識別の結果が人間である場合に、その後に前記人間によって送信されるアクセスリクエストに応答する、
ことを前記１つ以上のプロセッサに行わせる命令を、前記１つ以上のプロセッサに提供するように構成されている、デバイス。
【請求項１３】
コンピュータプログラムであって、
クライアントによって送信される人間であるか機械であるかの識別リクエストに応じて、人間であるか機械であるかを識別するように構成された第１の動作に関する情報を表示のためにクライアントに送信するための機能と、
前記クライアントによってサブミットされる第２の動作を受信するための機能と、前記第２の動作は、前記第１の動作に関連付けられている動作トラックに対して実施される対話動作に応じてトリガされ、
人間動作及び機械動作のための分類子であって、動作サンプルに基づいて訓練される分類子を含む挙動特性モデルに基づいて、前記第２の動作のためのトリガ主体が人間であるか機械であるかを識別するための機能と、をコンピュータによって実現させるコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１５１
【補正方法】変更
【補正の内容】
【０１５１】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、本発明は、提供された詳細に限定されない。本発明を実現するためには、多くの代替的手法がある。開示された実施形態は、例示的であり、限定的ではない。
適用例１：方法であって、
クライアントによって送信される人間であるか機械であるかの識別リクエストに応じて、人間であるか機械であるかを識別するように構成されている第１の動作に関する情報を表示のためにクライアントに送信し、
前記クライアントによってサブミットされる第２の動作を受信し、前記第２の動作は、前記第１の動作に関連付けられている動作トラックに対して実施される対話動作に応じてトリガされ、
挙動特性モデルに基づいて、前記第２の動作のためのトリガ主体が人間であるか機械であるかを識別し、前記挙動特性モデルは、人間動作及び機械動作のための分類子を含み、前記分類子は、動作サンプルに基づいて訓練される、
ことを備える方法。
適用例２：適用例１に記載の方法であって、
前記動作サンプルの挙動特性データは、作動スライド時間の長さを含む、方法。
適用例３：適用例１に記載の方法であって、
前記動作サンプルの挙動特性データは、作動スライド時間の長さを含み、前記作動スライド時間の長さは、前記動作サンプルのうちの有効動作の合計時間の長さを決定することによって得られる、方法。
適用例４：適用例１に記載の方法であって、
前記挙動特性モデルの挙動特性データは、少なくとも１つの区間の作動スライド時間の長さ、少なくとも１つの区間の中心軸−偏位頻度、及び少なくとも１つの区間の平均偏位距離のうちの、少なくとも１つを含む、方法。
適用例５：適用例１に記載の方法であって、
前記挙動特性モデルの挙動特性データは、少なくとも１つの区間の作動スライド時間の長さ、少なくとも１つの区間の中心軸−偏位頻度、及び少なくとも１つの区間の平均偏位距離のうちの、少なくとも１つを含み、
前記少なくとも１つの区間の前記作動スライド時間の長さは、
前記動作サンプルの合計動作時間を複数の等区間に分割し、
少なくとも１つの動作区間の時間の長さを計算する、
ことに少なくとも部分的に基づいて得られ、
前記少なくとも１つの区間の前記中心軸−偏位頻度は、
前記動作サンプルの前記合計動作時間を複数の等区間に分割し、
少なくとも１つの動作区間について中心軸からの偏位の数を計算する、
ことに少なくとも部分的に基づいて得られ、
前記少なくとも１つの区間の前記平均偏位距離は、
前記動作サンプルのうちの少なくとも１つ動作サンプルの合計動作時間を複数の等区間に分割し、
前記少なくとも１つの動作区間について前記中心軸からの偏位の距離を計算する、
ことに少なくとも部分的に基づいて得られる、方法。
適用例６：適用例１に記載の方法であって、
前記動作サンプルの挙動特性データは、動作トリガ初期位置及び動作トリガ最終位置を含む、方法。
適用例７：適用例１に記載の方法であって、
前記動作サンプルの挙動特性データは、動作トリガ初期位置及び動作トリガ最終位置を含み、
前記動作トリガ初期位置及び前記動作トリガ最終位置は、
動作サンプルがトリガを経始めるときの座標を前記動作トリガ初期位置として決定し、
前記動作サンプルがトリガを経るのを止めるときの座標を前記動作トリガ最終位置として決定する、
ことに基づいて得られる、方法。
適用例８：適用例１に記載の方法であって、
前記挙動特性モデルに基づいて、前記第２の動作のためのトリガ主体を識別することは、
前記第２の動作の識別対象挙動特性データを抽出し、
前記識別対象挙動特性データが人間動作に適合する場合に、前記第２の動作のための前記トリガ主体は人間であると決定し、
前記識別対象挙動特性データが機械動作に適合する場合に、前記第２の動作のための前記トリガ主体は機械であると決定する、
ことを含む、方法。
適用例９：適用例１に記載の方法であって、更に、
前記事前に設定された前記挙動特性モデルに基づいて、前記第２の動作のための前記トリガ主体について人間であるか機械であるかを識別した後、
前記人間であるか機械であるかの識別の結果が機械である場合に、前記機械によって送信されるアクセスリクエストを拒絶し、
前記人間であるか機械であるかの識別の結果が人間である場合に、前記人間によって送信されるアクセスリクエストに応答する、
ことを備える方法。
適用例１０：デバイスであって、
１つ以上のプロセッサと、
前記１つ以上のプロセッサに結合され、前記１つ以上のプロセッサに命令を提供するように構成されたメモリと、
を備え、
前記命令は、実行されたときに、
クライアントによって送信される人間であるか機械であるかの識別リクエストに応じて、人間であるか機械であるかを識別するように構成された第１の動作に関する情報を表示のためにクライアントに送信し、
前記クライアントによってサブミットされる第２の動作を受信し、前記第２の動作は、前記第１の動作に関連付けられている動作トラックに対して実施される対話動作に応じてトリガされ、
挙動特性モデルに基づいて、前記第２の動作のためのトリガ主体が人間であるか機械であるかを識別し、前記挙動特性モデルは、人間動作及び機械動作のための分類子を含み、前記分類子は、動作サンプルに基づいて訓練される、
ことを前記１つ以上のプロセッサに行わせる、デバイス。
適用例１１：適用例１０に記載のデバイスであって、
人間か機械かを識別するように構成された第１の動作に関する情報を表示のために前記クライアントに送信することは、
前記第２の動作の識別対象挙動特性データを抽出し、
前記識別対象挙動特性データが人間動作に適合する場合に、前記第２の動作のための前記トリガ主体は人間であると決定し、
前記識別対象挙動特性データが機械動作に適合する場合に、前記第２の動作のための前記トリガ主体は機械であると決定する、
ことを含む、デバイス。
適用例１２：適用例１０に記載のデバイスであって、
前記１つ以上のメモリは、更に、実行されたときに、
前記挙動特性モデルに基づいて、前記第２の動作のための前記トリガ主体を人間又は機械のいずれかとして識別した後、
前記人間であるか機械であるかの識別の結果が機械である場合に、その後に前記機械によって送信されるアクセスリクエストを拒絶し、
前記人間であるか機械であるかの識別の結果が人間である場合に、その後に前記人間によって送信されるアクセスリクエストに応答する、
ことを前記１つ以上のプロセッサに行わせる命令を、前記１つ以上のプロセッサに提供するように構成されている、デバイス。
適用例１３：有形の非一時的なコンピュータ読み取り可能ストレージ媒体に記録されているコンピュータプログラム製品であって、
クライアントによって送信される人間であるか機械であるかの識別リクエストに応じて、人間であるか機械であるかを識別するように構成された第１の動作に関する情報を表示のためにクライアントに送信するためのコンピュータ命令と、
前記クライアントによってサブミットされる第２の動作を受信するためのコンピュータ命令と、前記第２の動作は、前記第１の動作に関連付けられている動作トラックに対して実施される対話動作に応じてトリガされ、
挙動特性モデルに基づいて、前記第２の動作のためのトリガ主体が人間であるか機械であるかを識別するためのコンピュータ命令と、前記挙動特性モデルは、人間動作及び機械動作のための分類子を含み、前記分類子は、動作サンプルに基づいて訓練されること、
を備えるコンピュータプログラム製品。
【国際調査報告】
2018520397.tif 000026