(57)【要約】【課題】不正に取得されたユーザＩＤの検出精度を向上させることを目的の一つとする。【解決手段】情報解析装置は、ユーザの識別情報を取得する取得部と、前記取得部により取得された前記ユーザの識別情報が示す文字列から、文字列または文字の存在確率に関する特徴量、文字列に含まれる特定の記号に関する特徴量、および地域によって異なるキーボードの配列に関する特徴量のうち少なくとも一部を抽出する抽出部と、前記抽出部により前記文字列から抽出された特徴量の中から、不正に取得されたユーザの識別情報を検出するための特徴量を、機械学習を用いて選択する機械学習部とを備える。【選択図】図５
2018084953.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの識別情報を取得する取得部と、
前記取得部により取得された前記ユーザの識別情報が示す文字列から、文字列または文字の存在確率に関する特徴量、文字列に含まれる特定の記号に関する特徴量、および地域によって異なるキーボードの配列に関する特徴量のうち少なくとも一部を抽出する抽出部と、
前記抽出部により前記文字列から抽出された特徴量の中から、不正に取得されたユーザの識別情報を検出するための特徴量を、機械学習を用いて選択する機械学習部と、
を備える情報解析装置。
【請求項２】
前記文字列または文字の存在確率に関する特徴量は、前記文字列または文字の存在確率のエントロピー値に基づく特徴量である、
請求項１に記載の情報解析装置。
【請求項３】
前記機械学習部は、
前記抽出部により抽出された複数の特徴量のそれぞれを素性として、前記素性を正例および負例に分類する２値分類問題を解き、
前記２値分類問題におけるスコアが最も高い特徴量の組み合わせを、前記不正に取得されたユーザの識別情報を検出するための特徴量として選択する、
請求項１または２に記載の情報解析装置。
【請求項４】
前記文字列または文字の存在確率に関する特徴量は、前記文字列の長さに応じて値が変動する特徴量であり、
前記機械学習部は、前記ユーザの識別情報が示す文字列の長さに制限を設けて前記スコアを導出する、
請求項３に記載の情報解析装置。
【請求項５】
前記地域が日本国である場合、前記キーボードの配列に関する特徴量を、ＱＷＥＲＴＹ配列に関する特徴量とする、
請求項１から４のうちいずれか１項に記載の情報解析装置。
【請求項６】
前記機械学習部により選択された特徴量に基づいて、前記取得部により取得された複数のユーザの識別情報の中から、前記不正に取得されたユーザの識別情報を検出する検出部を更に備える、
請求項１から５のうちいずれか１項に記載の情報解析装置。
【請求項７】
前記抽出部により抽出された複数の特徴量のうち、前記文字列または文字の存在確率に関する特徴量に基づいて、前記取得部により取得された複数のユーザの識別情報の中から、前記不正に取得されたユーザの識別情報を検出する検出部を更に備える、
請求項１から５のうちいずれか１項に記載の情報解析装置。
【請求項８】
前記検出部は、前記文字列または文字の存在確率に関する特徴量が閾値を超える場合に、閾値を超えた前記文字列または文字の存在確率に関する特徴量の抽出元であるユーザの識別情報を、前記不正に取得されたユーザの識別情報として検出する、
請求項７に記載の情報解析装置。
【請求項９】
ユーザの識別情報を取得する取得部と、
前記取得部により取得された前記ユーザの識別情報が示す文字列から、文字列または文字の存在確率に関する特徴量を抽出する抽出部と、
前記文字列または文字の存在確率に関する特徴量が閾値を超える場合に、閾値を超えた前記文字列または文字の存在確率に関する特徴量の抽出元であるユーザの識別情報を、不正に取得されたユーザの識別情報として検出する検出部と、
を備える情報解析装置。
【請求項１０】
請求項７から９のうちいずれか１項に記載の情報解析装置と、
前記ユーザの識別情報の入力操作を受け付ける受付部と、
前記受付部により受け付けられた前記ユーザの識別情報の入力操作に基づいて、ユーザの認証を行う認証部と、を備え、
前記認証部は、前記検出部により前記不正に取得されたユーザの識別情報として検出されたユーザの識別情報が、前記受付部によって受け付けられた場合、前記認証の難易度を変更する、
情報解析システム。
【請求項１１】
コンピュータが、
ユーザの識別情報を取得し、
前記取得した前記ユーザの識別情報が示す文字列から、文字列または文字の存在確率に関する特徴量、文字列に含まれる特定の記号に関する特徴量、および地域によって異なるキーボードの配列に関する特徴量のうち少なくとも一部を抽出し、
前記文字列から抽出した特徴量の中から、不正に取得されたユーザの識別情報を検出するための特徴量を、機械学習を用いて選択する、
情報解析方法。
【請求項１２】
コンピュータに、
ユーザの識別情報を取得させ、
前記取得させた前記ユーザの識別情報が示す文字列から、文字列または文字の存在確率に関する特徴量、文字列に含まれる特定の記号に関する特徴量、および地域によって異なるキーボードの配列に関する特徴量のうち少なくとも一部を抽出させ、
前記文字列から抽出させた特徴量の中から、不正に取得されたユーザの識別情報を検出するための特徴量を、機械学習を用いて選択させる、
情報解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報解析装置、情報解析システム、情報解析方法、および情報解析プログラムに関する。
【背景技術】
【０００２】
ＳＮＳ（Social Networking Service）などで利用されるユーザの識別情報（以下、ユーザＩＤと称する）から複数の特徴量を抽出して、この抽出した複数の特徴量を機械学習することで、ユーザＩＤを大量に取得している不正なユーザを検出する技術が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】ZAFARANI, Reza LIU, Huan. 10 Bits of Surprise: Detecting Malicious Users with Minimum Information. In: Proceedings of the 24th ACM International on Conference on Information and Knowledge Management. ACM, 2015. p. 423431.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、抽出される特徴量が多岐に亘り、その特徴量の組み合わせによっては、不正に取得されたユーザＩＤの検出精度が向上しない場合があった。
【０００５】
本発明は、このような事情を考慮してなされたものであり、不正に取得されたユーザＩＤの検出精度を向上させることを目的の一つとする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、ユーザの識別情報を取得する取得部と、前記取得部により取得された前記ユーザの識別情報が示す文字列から、文字列または文字の存在確率に関する特徴量、文字列に含まれる特定の記号に関する特徴量、および地域によって異なるキーボードの配列に関する特徴量のうち少なくとも一部を抽出する抽出部と、前記抽出部により前記文字列から抽出された特徴量の中から、不正に取得されたユーザの識別情報を検出するための特徴量を、機械学習を用いて選択する機械学習部と、を備える情報解析装置である。
【発明の効果】
【０００７】
本発明の一態様によれば、不正に取得されたユーザＩＤの検出精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態における情報解析装置１００を含む情報解析システム１の一例を示す図である。
【図２】実施形態における端末装置１０の構成の一例を示す図である。
【図３】実施形態におけるサーバ装置５０の構成の一例を示す図である。
【図４】アカウント情報５４の一例を示す図である。
【図５】実施形態における情報解析装置１００の構成の一例を示す図である。
【図６】二値分類問題を解くためのパターン識別モデルを生成する処理の一例を示すフローチャートである。
【図７】教師データ１３２の一例を示す図である。
【図８】特徴量情報１３４の一例を示す図である。
【図９】ＱＷＥＲＴＹ配列のキーボードと、ＤＶＯＲＡＫ配列のキーボードの一例を示す図である。
【図１０】実際の評価結果の一例を示す図である。
【図１１】生成したパターン認識モデルを用いて、未分類のユーザＩＤを正例または負例に分類する処理の一例を示すフローチャートである。
【図１２】ユーザＩＤの文字数の制限の有無に応じたInformation Surpriseの特徴量の一例を示す図である。
【図１３】ユーザＩＤの認証時に端末装置１０の表示部１３に表示される画面の一例を示す図である。
【図１４】実施形態の端末装置１０、サーバ装置５０、および情報解析装置１００のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、図面を参照し、本発明の情報解析装置、情報解析システム、情報解析方法、および情報解析プログラムの実施形態について説明する。
【００１０】
［概要］
実施形態の情報解析装置は、一以上のプロセッサによって実現される。情報解析装置は、ユーザＩＤを取得し、このユーザＩＤが示す文字列から、文字列または文字の存在確率に関する特徴量、文字列に含まれる特定の記号に関する特徴量、および地域によって異なるキーボードの配列に関する特徴量を抽出する。本実施形態におけるユーザＩＤは、例えば、アルファベットなどの文字、数字、アンダーバーなどの記号のうち一部または全部を含む文字列によって表されるユーザの識別情報である。
【００１１】
情報解析装置は、文字列から抽出した複数の特徴量の中から、不正に取得されたユーザＩＤを検出するための特徴量を、機械学習を用いて選択する。そして、情報解析装置は、不正に取得されたユーザＩＤを検出するための特徴量に基づいて、取得した複数のユーザＩＤの中から、不正に取得されたユーザＩＤを検出する。これによって、不正に取得されたユーザＩＤの検出精度を向上させることができる。
【００１２】
なお、本実施形態における「不正に取得」とは、例えば、ある観測期間内に、所定数以上（例えば１００個以上）のユーザＩＤが取得されることをいう。
【００１３】
［全体構成］
図１は、実施形態における情報解析装置１００を含む情報解析システム１の一例を示す図である。実施形態における情報解析システム１は、一つ以上の端末装置１０と、サーバ装置５０と、情報解析装置１００とを備える。これらの装置は、ネットワークＮＷを介して互いに接続される。ネットワークＮＷは、例えば、無線基地局、Ｗｉ−Ｆｉアクセスポイント、通信回線、プロバイダ、インターネットなどを含む。なお、図１に示す各装置の全ての組み合わせが相互に通信可能である必要はなく、ネットワークＮＷは、一部にローカルなネットワークを含んでもよい。
【００１４】
端末装置１０は、ユーザによって使用される装置である。端末装置１０は、例えば、スマートフォンなどの携帯電話、タブレット端末、パーソナルコンピュータなどのコンピュータ装置である。例えば、端末装置１０は、ショッピングサイトなどのウェブサイト、メールサービス、ＳＮＳサービス、情報提供サービスなどにおいてユーザＩＤを登録するために利用されてよい。
【００１５】
サーバ装置５０は、各種サービスを提供する。例えば、サーバ装置５０は、端末装置１０において起動されるウェブブラウザを介して、各種サービスを提供するためのウェブサイトを提供するウェブサーバ装置であってよい。また、サーバ装置５０は、所定のアプリケーションプログラムが起動（実行）された端末装置１０と通信を行うことで、各種情報の受け渡しを行うアプリケーションサーバ装置であってもよい。所定のアプリケーションプログラムが起動された端末装置１０には、サーバ装置５０との通信により、各種サービスを提供可能な画面が表示される。以下、説明を簡略化するために、サーバ装置５０がウェブサーバ装置であるものとして説明する。
【００１６】
例えば、サーバ装置５０は、サービスの提供前にユーザＩＤの認証を行い、ユーザの確認を行う。サーバ装置５０は、認証の結果、既にユーザＩＤが登録されたユーザであれば各種サービスを提供し、ユーザＩＤが登録されていないユーザであれば、ユーザＩＤが未登録であることを通知したり、ユーザＩＤの登録を促したりする。ユーザＩＤが未登録であることを受けて、ユーザが新規にユーザＩＤの登録した場合、サーバ装置５０は、新たに登録されたユーザＩＤを発行する。これによって、ユーザは新規にユーザＩＤを取得することができる。
【００１７】
情報解析装置１００は、サーバ装置５０と通信を行って、サーバ装置５０が提供するサービスを利用するユーザのユーザＩＤを取得し、このユーザＩＤを機械学習により解析することで、不正に取得されたユーザＩＤが存在しているかどうかを検出する。本実施形態における機械学習は、ＳＶＭ（Support Vector Machine）やロジスティック回帰などの教師あり学習である。
【００１８】
［端末装置の構成］
以下、各装置の構成について説明する。図２は、実施形態における端末装置１０の構成の一例を示す図である。図示のように、端末装置１０は、例えば、端末側通信部１１と、受付部１２と、表示部１３と、端末側記憶部１４と、端末側制御部１５とを備える。
【００１９】
端末側通信部１１は、ネットワークＮＷを介してサーバ装置５０と通信する。端末側通信部１１は、サーバ装置５０から情報を受信した場合、受信した情報を端末側制御部１５に出力する。また、端末側通信部１１は、端末側制御部１５による制御を受けて、サーバ装置５０に情報を送信する。
【００２０】
受付部１２は、例えば、キーボード、ボタン、マウス、マイク、タッチパネル等のユーザインターフェースであり、ユーザからの操作を受け付ける。また、受付部１２は、例えば、音声による入力を受け付けるものであってもよい。なお、表示部１３がタッチパネルである場合、受付部１２の一部は表示部１３と一体として形成される。
【００２１】
表示部１３は、例えば、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electroluminescence）ディスプレイなどの表示装置である。表示部１３は、端末側制御部１５から入力される情報に基づいて各種画像を表示する。
【００２２】
端末側記憶部１４は、例えば、ＨＤＤ（Hard Disc Drive）、フラッシュメモリ、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）、ＲＯＭ（Read Only Memory）、またはＲＡＭ（Random Access Memory）などにより実現される。
【００２３】
端末側制御部１５は、例えば、ＣＰＵ（Central Processing Unit）などのプロセッサが端末側記憶部１４に格納されたプログラムを実行することにより実現される。また、端末側制御部１５は、ＬＳＩ（Large Scale Integration）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＦＰＧＡ（Field-Programmable Gate Array）などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【００２４】
端末側制御部１５は、例えば、ウェブブラウザなどのＵＡ（User Agent）を起動し、受付部１２に対して所定の操作がなされることで、端末側通信部１１を用いて、サーバ装置５０に対してＨＴＴＰ（Hypertext Transfer Protocol）リクエストを送信する。そして、端末側制御部１５は、サーバ装置５０から返信されたウェブページに基づいてウェブ画面を生成し、これを表示部１３に表示させる。
【００２５】
［サーバ装置の構成］
図３は、実施形態におけるサーバ装置５０の構成の一例を示す図である。図示のように、サーバ装置５０は、例えば、サーバ側通信部５１と、サーバ側記憶部５２と、サーバ側制御部５５とを備える。サーバ側制御部５５は、「認証部」の一例である。
【００２６】
サーバ側通信部５１は、ネットワークＮＷを介して端末装置１０または情報解析装置１００と通信する。サーバ側通信部５１は、端末装置１０または情報解析装置１００から情報を受信した場合、受信した情報をサーバ側制御部５５に出力する。また、サーバ側通信部５１は、サーバ側制御部５５による制御を受けて、端末装置１０または情報解析装置１００に情報を送信する。
【００２７】
サーバ側記憶部５２は、例えば、ＨＤＤ、フラッシュメモリ、ＥＥＰＲＯＭ、ＲＯＭ、またはＲＡＭなどにより実現される。サーバ側記憶部５２は、例えば、ウェブサイトを提供するための情報（以下、ウェブサイト情報５３と称する）と、アカウント情報５４とを記憶する。ウェブサイト情報５３は、例えば、ＨＴＭＬ（Hyper Text Markup Language）等のマークアップ言語で記述されたテキストデータや、スタイルシート、静止画像データ、動画データ、音声データなどを含むウェブページに関する情報である。アカウント情報５４は、ウェブサイトにおいて登録されたユーザＩＤや、メールアドレス、パスワードなどの情報を含む。
【００２８】
図４は、アカウント情報５４の一例を示す図である。図示の例のように、アカウント情報５４は、ユーザＩＤに対して、メールアドレスやパスワードなどの情報が対応付けられた情報である。
【００２９】
サーバ側制御部５５は、例えば、ＣＰＵなどのプロセッサがサーバ側記憶部５２に格納されたプログラムを実行することにより実現される。また、サーバ側制御部５５は、ＬＳＩ、ＡＳＩＣ、またはＦＰＧＡなどのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【００３０】
例えば、サーバ側制御部５５は、サーバ側通信部５１により端末装置１０からＨＴＴＰリクエストが受信されると、ユーザＩＤを認証するためのウェブページを、サーバ側通信部５１を介して端末装置１０へと返信する。端末装置１０においてユーザＩＤが入力された場合、サーバ側制御部５５は、入力されたユーザＩＤとアカウント情報５４とを比較して、入力されたユーザＩＤが既に登録されているか否かを判定する。
【００３１】
入力されたユーザＩＤが未だ登録されていない場合、サーバ側制御部５５は、サーバ側通信部５１を介して端末装置１０にユーザＩＤが未登録であることを通知したり、ユーザＩＤの登録を促したりするための情報を送信する。端末装置１０においてユーザＩＤの新規登録が行われた場合、サーバ側通信部５１は、端末装置１０から新規登録されたユーザＩＤを受信する。そして、サーバ側制御部５５は、サーバ側通信部５１により受信された、新たなユーザＩＤをアカウント情報５４に追加する。これによって、ユーザＩＤが新たに発行される。
【００３２】
一方、入力されたユーザＩＤが既に登録されている場合、サーバ側制御部５５は、サーバ側通信部５１を介して端末装置１０にウェブサイト情報５３を送信する。これによって、端末装置１０は、ウェブブラウザの機能により、ウェブサイト情報５３に基づいて、各種サービスを享受可能なウェブページが描画された画面を表示する。
【００３３】
［情報解析装置の構成］
図５は、実施形態における情報解析装置１００の構成の一例を示す図である。図示のように、情報解析装置１００は、例えば、解析装置側通信部１０２と、解析装置側制御部１１０と、解析装置側記憶部１３０とを備える。
【００３４】
解析装置側通信部１０２は、例えば、ＮＩＣ等の通信インターフェースを含む。解析装置側通信部１０２は、ネットワークＮＷを介してサーバ装置５０と通信する。解析装置側通信部１０２は、サーバ装置５０から情報を受信した場合、受信した情報を解析装置側制御部１１０に出力する。例えば、解析装置側通信部１０２は、サーバ装置５０からアカウント情報５４を受信する。また、解析装置側通信部１０２は、解析装置側制御部１１０による制御を受けて、サーバ装置５０に情報を送信する。
【００３５】
解析装置側制御部１１０は、例えば、取得部１１２と、抽出部１１４と、機械学習部１１６と、検出部１１８と、出力制御部１２０とを備える。これらの構成要素の一部または全部は、ＣＰＵなどのプロセッサが解析装置側記憶部１３０に格納されたプログラムを実行することにより実現される。また、解析装置側制御部１１０の構成要素の一部または全部は、ＬＳＩ、ＡＳＩＣ、またはＦＰＧＡなどのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【００３６】
解析装置側記憶部１３０は、例えば、ＨＤＤ、フラッシュメモリ、ＥＥＰＲＯＭ、ＲＯＭ、またはＲＡＭなどにより実現される。解析装置側記憶部１３０は、例えば、教師データ１３２と、特徴量情報１３４と、学習条件情報１３６と、学習データ１３８と、不正ＩＤ情報１４０とを記憶する。これらの情報については後述する。
【００３７】
［教師データによる機械学習］
まず、機械学習において、二値分類問題を解くためのパターン識別モデルを生成する処理についてフローチャートを用いて説明する。本実施形態における二値分類問題とは、学習対象のユーザＩＤを、そのユーザＩＤの取得が正常（通常）であるのか、またはユーザＩＤの取得が不正であるのかのいずれかに分類することをいう。ユーザＩＤの取得が正常である例については「正例」として扱われ、ユーザＩＤの取得が不正である例については「負例」として扱われる。
【００３８】
図６は、二値分類問題を解くためのパターン識別モデルを生成する処理の一例を示すフローチャートである。まず、取得部１１２は、教師データ１３２を参照して、このデータからユーザＩＤを取得する（Ｓ１００）。
【００３９】
図７は、教師データ１３２の一例を示す図である。教師データ１３２は、例えば、ユーザＩＤに対して、不正に取得されたユーザＩＤであるか否かを示すフラグが付与された情報である。言い換えれば、教師データ１３２は、不正か否かが既に判明した情報である。例えば、不正に取得されたユーザＩＤである場合、「１」のフラグに付与され、不正でなく正常に取得されたユーザＩＤである場合、「０」のフラグに付与される。例えば、教師データ１３２は、過去のある時点で不正であると判断されたユーザＩＤと、これと同時期に使用され、且つ不正でないと判断されたユーザＩＤとを集約した情報である。
【００４０】
次に、抽出部１１４は、取得部１１２が教師データ１３２から取得したユーザＩＤごとに、そのユーザＩＤが示す文字列から、特徴量情報１３４において指定された種々の特徴量を抽出する（Ｓ１０２）。例えば、抽出部１１４はユーザＩＤが示す文字列から、ユーザＩＤの入力のしやすさ、文字列に含める文字のランダム性などを表す特徴量を抽出する。
【００４１】
図８は、特徴量情報１３４の一例を示す図である。図示の例のように、特徴量情報１３４は、抽出対象の特徴量がどういったものであるのかを表している。例えば、抽出対象の特徴量には、以下の１０種類が存在する。下記の（１）、（１０）の特徴量は、「文字列または文字の存在確率に関する特徴量」の一例である。また、（２）、（５）の特徴量は、「文字列に含まれる特定の記号に関する特徴量」の一例であり、（３）、（４）、（６）〜（９）の特徴量は、「地域によって異なるキーボードの配列に関する特徴量」の一例である。
【００４２】
（１）Information Surprise
（２）ユーザＩＤの文字列に含まれる数字の数
（３）ＱＷＥＲＴＹ配列のＴｏｐＲｏｗにある文字がユーザＩＤに含まれている割合
（４）ＤＶＯＲＡＫ配列のＴｏｐＲｏｗにある文字がユーザＩＤに含まれている割合
（５）ユーザＩＤの文字列に含まれる数字の割合
（６）ＤＶＯＲＡＫ配列でユーザＩＤをタイプしたときの想定される指の移動量［ｍ］
（７）ＱＷＥＲＴＹ配列のＨｏｍｅＲｏｗにある文字がユーザＩＤに含まれている割合
（８）ＱＷＥＲＴＹ配列でユーザＩＤをタイプしたときの想定される指の移動量［ｍ］
（９）ＤＶＯＲＡＫ配列のＢｏｔｔｏｍＲｏｗにある文字がユーザＩＤに含まれている割合
（１０）ユーザＩＤのエントロピー（シャノン情報量）
【００４３】
図９は、ＱＷＥＲＴＹ配列のキーボードと、ＤＶＯＲＡＫ配列のキーボードの一例を示す図である。例えば、ＱＷＥＲＴＹ配列のキーボードの場合、ＴｏｐＲｏｗにある文字は、数字キーの一段下にある「Ｑ、Ｗ、Ｅ、…、Ｏ、Ｐ」の文字となる。また、ＨｏｍｅＲｏｗにある文字は、ＴｏｐＲｏｗよりも更に一段下の「Ａ、Ｗ、Ｅ、…、Ｏ、Ｐ」の文字であり、ＢｏｔｔｏｍＲｏｗにある文字とは、スペースキーの一段上（ＨｏｍｅＲｏｗの一段下）の「Ｚ、Ｘ、Ｃ、…、Ｎ、Ｍ」の文字である。なおこれらの文字には、アンダーバーやスラッシュ、カンマ、不等号などの記号が含まれてもよい。
【００４４】
また、上記の各種特徴量は、国や地域によって、一部が省略されてもよいし、他の特徴量が追加されてもよい。例えば、日本国では、ＱＷＥＲＴＹ配列のキーボードが主流であるため、ＤＶＯＲＡＫ配列に関する各種特徴量（（４）、（６）、（９））は、省略されてよい。
【００４５】
例えば、抽出部１１４は、以下の数式（１）、（２）に基づいて、（１）Information Surpriseの特徴量を抽出する。
【００４６】
【数１】
2018084953.tif 000003
【００４７】
【数２】
2018084953.tif 000004
【００４８】
数式（１）におけるＩ（ｕ）は、特徴量であるInformation Surpriseのエントロピー値を表している。また、数式（１）および（２）におけるｕは、対象とするユーザＩＤの文字列を表し、ｐ（ｕ）は、文字列ｕの存在確率を表し、ｍは、文字列ｕの長さ（文字数）を表している。また、数式（２）におけるｃｉは、対象となる文字列ｕの中でｉ番目の文字を表している。
【００４９】
例えば、抽出部１１４は、数式（２）に示すように、ｎ−ｇｒａｍ法を用いて、文字列ｕをｎ文字（例えばｎ＝６）ずつシフトさせながら分割し、分割した文字列ｕに含まれる各文字ｃｉが全文字列中に存在する存在確率ｐ（＝（ｃｉ｜ｃｉ−（ｎ−１）…））を導出する。抽出部１１４は、文字ｃｉの存在確率ｐを、ｎ−ｇｒａｍ法により分割した文字列ｕごとに導出し、分割した各文字列ｕ単位での文字ｃｉの存在確率ｐを全て乗算することで、文字列ｕの存在確率ｐ（ｕ）を導出する。
【００５０】
そして、抽出部１１４は、数式（２）に基づき導出した文字列ｕの存在確率ｐ（ｕ）を、数式（１）に代入することで、Information Surpriseのエントロピー値を表すＩ（ｕ）を導出する。これによって、（１）の特徴量が抽出される。
【００５１】
また、抽出部１１４は、ユーザＩＤの文字列に含まれる０から９の数を計数することで、（２）の特徴量を抽出する。
【００５２】
また、抽出部１１４は、ユーザＩＤの文字列に含まれる全文字数に対する、当該ユーザＩＤの文字列に含まれる「Ｑ、Ｗ、Ｅ、…、Ｏ、Ｐ」の文字数の割合を導出することで、（３）の特徴量を抽出する。
【００５３】
また、抽出部１１４は、ユーザＩＤの文字列に含まれる全文字数に対する、当該ユーザＩＤの文字列に含まれる「Ｐ、Ｙ、Ｆ、…、Ｒ、Ｌ」の文字数の割合を導出することで、（４）の特徴量を抽出する。
【００５４】
また、抽出部１１４は、ユーザＩＤの文字列に含まれる全文字数に対する、当該ユーザＩＤの文字列に含まれる０から９の数の割合を導出することで、（５）の特徴量を抽出する。
【００５５】
また、抽出部１１４は、ＤＶＯＲＡＫ配列のキーボードを二次元平面と捉えて、二次元平面における各キーの相対的な位置関係に基づいて、文字列に含まれる文字を、その列順にタイプしたときに想定されるユーザの指の移動距離を導出することで、（６）の特徴量を抽出する。例えば、抽出部１１４は、ＢｏｔｔｏｍＲｏｗの左下のキー（Ｃｔｒｌキー）を原点座標Ｏ（０，０）とし、ＤＶＯＲＡＫ配列における各キーの位置座標を原点座標Ｏからの相対座標として決定する。原点座標Ｏとして割り当てられるキーを含む全キーの座標は、例えば、各キーのキートップの領域での中心座標であってよい。抽出部１１４は、ユーザＩＤが示す文字列を一文字ずつ分割し、各文字に対応するキーの座標を導出する。そして、抽出部１１４は、文字列順に各文字に対応するキーの座標間の距離を導出する。例えば、抽出部１１４は、文字列が「ＡＢＣ」であれば、「Ａ」のキーの座標から「Ｂ」のキーの座標の間の距離と、「Ｂ」のキーの座標から「Ｃ」のキーの座標の間の距離とを合わせた合計の距離を、実際の想定されるキーボードの大きさに基づく倍率で乗算し、その乗算値（合計距離×倍率）を、所定値（例えば１００）で除算することで、指の移動距離を導出する。これによって、（６）の特徴量が抽出される。
【００５６】
また、抽出部１１４は、ユーザＩＤの文字列に含まれる全文字数に対する、当該ユーザＩＤの文字列に含まれる「Ａ、Ｓ、Ｄ、…、Ｋ、Ｌ」の文字数の割合を導出することで、（７）の特徴量を抽出する。
【００５７】
また、抽出部１１４は、（６）の特徴量の抽出方法と同様に、ＱＷＥＲＴＹ配列のキーボードを二次元平面と捉えて、二次元平面における各キーの相対的な位置関係に基づいて、文字列に含まれる文字を、その列順にタイプしたときに想定されるユーザの指の移動距離を導出することで、（８）の特徴量を抽出する。
【００５８】
また、抽出部１１４は、ユーザＩＤの文字列に含まれる全文字数に対する、当該ユーザＩＤの文字列に含まれる「Ｑ、Ｊ、Ｋ、…、Ｖ、Ｚ」の文字数の割合を導出することで、（９）の特徴量を抽出する。
【００５９】
また、抽出部１１４は、以下の数式（３）に基づいて、（１０）ユーザＩＤのエントロピーの特徴量を抽出する。
【００６０】
【数３】
2018084953.tif 000005
【００６１】
数式（３）におけるＨ（ｕ）は、ユーザＩＤのエントロピー値を表している。例えば、抽出部１１４は、数式（３）に示すシャノンの情報量（平均情報量）の定義式に基づいて、ユーザＩＤのエントロピー値Ｈ（ｕ）を導出する。これによって、（１０）の特徴量が抽出される。
【００６２】
ここで、図６のフローチャートの説明に戻る。次に、機械学習部１１６は、抽出部１１４により抽出された複数の特徴量のうち一部または全部を用いて機械学習を行い（Ｓ１０４）、特徴量の抽出元であるユーザＩＤを正例または負例に分類するためのパターン識別モデルを生成する。
【００６３】
例えば、機械学習部１１６は、ＳＶＭにおいて、抽出部１１４により抽出された複数の特徴量のそれぞれを素性として扱い、各素性を特徴ベクトルとした特徴空間において、各特徴ベクトルを正例または負例に分類する超平面（特徴空間の次元数から１低下した次元を有する空間）を、パターン識別モデルとして導出する。このとき、機械学習部１１６は、教師データ１３２において、「０」のフラグが付与されたユーザＩＤが正例に、「１」のフラグが付与されたユーザＩＤが負例に分類されるように超平面を導出する。
【００６４】
また、機械学習部１１６は、機械学習としてロジスティック回帰を利用する場合、抽出部１１４により抽出された複数の特徴量のそれぞれを独立変数とし、正例または負例を従属変数として扱うことで、ロジスティック曲線（パターン識別モデルの他の例）を導出する。
【００６５】
そして、機械学習部１１６は、導出したパターン識別モデルを評価する（Ｓ１０６）。例えば、機械学習部１１６は、ＳＶＭとロジスティック回帰における双方のパターン識別モデルについて、Ｆ値（Ｆ−ｍｅａｓｕｒｅ）を用いて評価する。Ｆ値とは、パターン識別モデルによるユーザＩＤの分類結果が、真の結果とどの程度一致するのかを評価する指標である。Ｆ値は、「スコア」の一例である。例えば、Ｆ値は、以下の数式（４）から（６）に基づいて導出される。
【００６６】
【数４】
2018084953.tif 000006
【００６７】
【数５】
2018084953.tif 000007
【００６８】
【数６】
2018084953.tif 000008
【００６９】
ｐｒｅｃｉｓｉｏｎ（精度）は、パターン識別モデルにより正例として分類されたユーザＩＤのうち、実際に正例であるユーザＩＤ（教師データ１３２において「０」のフラグが付与されたユーザＩＤ）の割合を表している。ＴＰは、パターン識別モデルによる分類結果が正であり、真の結果も正であるユーザＩＤの数を表し、ＦＰは、パターン識別モデルによる分類結果が正であり、真の結果が負であるユーザＩＤの数を表している。Ｒｅｃａｌｌ（再現率）は、実際に正例であるユーザＩＤのうち、パターン識別モデルにより正例として分類されたユーザＩＤの割合を表している。ＦＮは、パターン識別モデルによる分類結果が負であり、真の結果が正であるユーザＩＤの数を表している。例えば、Ｆ値（Ｆ−ｍｅａｓｕｒｅ）が１００［％］であれば、教師データ１３２を完全に正例と負例に分類できたことを意味する。
【００７０】
機械学習部１１６は、特徴量の組み合わせごとのパターン識別モデルの評価結果（Ｆ値）に基づいて、学習条件を決定する（Ｓ１０８）。学習条件には、（１）抽出部１１４により抽出された複数の特徴量のうち、機械学習において用いる特徴量の組み合わせを指定すること、（２）機械学習の対象とするユーザＩＤの文字数に制限を設けること（例えば１０文字未満のユーザＩＤは、機械学習の対象から除外する）、（３）複数の機械学習の手法うち好適な手法を選択すること、といった条件が含まれる。機械学習部１１６により決定された学習条件は、学習条件情報１３６として解析装置側記憶部１３０に記憶される。
【００７１】
ユーザＩＤの文字数に制限を設ける意味は、機械学習におけるノイズの影響を抑制するためである。一般的に、成長期（過渡期）を過ぎて成熟期（定常期）に移行したサービスでは、そのサービスにおいてユーザにより取得されるユーザＩＤは、ある文字数以上に収束しやすくなる。これは、年月が増すにつれて、申請されたユーザＩＤが既に取得されたユーザＩＤと重複する確率が高くなるためである。従って、ユーザＩＤの文字数に制限を設けることによって、不正に取得されている蓋然性の高いユーザＩＤの文字数と異なる文字数のユーザＩＤを除外することができる。すなわち、不正に取得されている蓋然性の低いユーザＩＤを除外することができる。
【００７２】
図１０は、実際の評価結果の一例を示す図である。図中（ａ）に示すように、ある観測時期にログイン（認証）に成功したユーザ（通常ユーザ）のユーザＩＤの数は「２．４×１０６」程度であり、上記の観測時期と同時期に１００個以上のユーザＩＤを取得したユーザ（不正ユーザ）のユーザＩＤの数は「１２．１×１０３」程度であった。また、不正ユーザのうち、そのユーザＩＤの文字数が１０文字以上のユーザＩＤの数は、「９．４×１０３」程度であった。
【００７３】
解析装置側制御部１１０は、上記（ａ）を学習データ１３８として扱い、ＳＶＭおよびロジスティック回帰の双方の機械学習を行うことで、各機械学習におけるパターン識別モデルを評価した。このとき、クラスインバランスを考慮して、上記（ａ）の観測データのうち、学習データ１３８として扱う通常ユーザのユーザＩＤ数を、不正ユーザのユーザＩＤ数と同程度とした。また、ＳＶＭについては、特徴空間において特徴ベクトル同士の重なりを考慮して（特徴ベクトルを線形分離できない場合を考慮して）、ソフトマージンＳＶＭ（Ｃ‐ＳＶＭ）を用いた。また、ロジスティック回帰については、過学習が生じるのを抑制するために、Ｌ１正則化ロジスティック回帰を用いた。また、Ｆ値の導出時には、Ｋ−分割交差検証（例えばＫ＝１０）を用いた。
【００７４】
同図の（ｂ）は、各パターン識別モデルの評価結果を表している。図示の例では、ユーザＩＤの長さ（文字数）を指定せずに、Ｆ値が最も大きくなる学習条件は、ソフトマージンＳＶＭ（Ｃ‐ＳＶＭ）において、（１）〜（１０）の１０個の特徴量を全て組み合わせて学習したときであった（Ｆ値＝８５．４９［％］）。また、ユーザＩＤの文字数（ユーザＩＤの長さ）を１０文字以上に指定したときのＦ値が最も大きくなる学習条件は、ソフトマージンＳＶＭ（Ｃ‐ＳＶＭ）において、（１）、（２）、（４）〜（７）、（１０）の７つの特徴量を組み合わせて学習したときであった（Ｆ値＝８９．７７［％］）。
【００７５】
ユーザＩＤの文字数に制限を設ける場合、Information Surpriseの特徴量が変動するため、Ｆ値の結果が変わる。上述したように、Information Surpriseのエントロピー値Ｉ（ｕ）は、対象とするユーザＩＤの文字列ｕの存在確率ｐ（ｕ）に起因しているため、文字列ｕが短ければ、その存在確率ｐ（ｕ）は大きくなる。これにより、Ｉ（ｕ）は大きくなり、Ｆ値が向上する。
【００７６】
このように、機械学習部１１６は、評価結果のＦ値を参照して、最もＦ値が高くなる学習条件を選出し、その学習条件を次回以降の学習におけるパラメータとして設定する。図１０の例の場合、Ｆ値は８９．７７［％］が最大であるため、機械学習部１１６は、学習条件として、機械学習において用いる特徴量の組み合わせを、（１）、（２）、（４）〜（７）、（１０）の７つの特徴量に、ユーザＩＤの制限文字数を１０文字以上に、更に、機械学習の手法をＳＶＭ（Ｃ‐ＳＶＭ）に決定する。
【００７７】
［学習データによる機械学習］
上述したフローチャートの処理により学習条件を決定した後、解析装置側制御部１１０は、生成したパターン認識モデルを用いて、サーバ装置５０により登録されたユーザＩＤのうち、教師データ１３２として利用しなかったユーザＩＤを正例または負例に分類する。
【００７８】
図１１は、生成したパターン認識モデルを用いて、未分類のユーザＩＤを正例または負例に分類する処理の一例を示すフローチャートである。まず、取得部１１２は、学習データ１３８を参照して、このデータからユーザＩＤを取得する（Ｓ２００）。
【００７９】
学習データ１３８とは、サーバ装置５０により登録されたユーザＩＤのうち、教師データ１３２として利用しなかったユーザＩＤであって、未だ不正か否かの判断がなされていないユーザＩＤの集合である。教師データ１３２において過去の時点で不正でないと判断されたユーザＩＤについては、現在においても使用され得ることが想定されるため、学習データ１３８には、教師データ１３２において「０」のフラグが付与されたユーザＩＤが含まれてよい。
【００８０】
次に、抽出部１１４は、取得部１１２により取得されたユーザＩＤ（未分類のユーザＩＤ）から（１）〜（１０）の１０個の特徴量を抽出する（Ｓ２０２）。
【００８１】
次に、機械学習部１１６は、教師データ１３２を用いて決定した学習条件に従って、機械学習を行う（Ｓ２０４）。例えば、機械学習部１１６は、上述した図１０の例において決定した学習条件に従う場合、抽出部１１４により抽出された１０個の特徴量のうち、（１）、（２）、（４）〜（７）、（１０）の７個の特徴量を選択し、この７個の特徴量を素性としてＳＶＭ（Ｃ‐ＳＶＭ）による機械学習を行う。この際、機械学習部１１６は、負例に分類するユーザＩＤの文字数を１０文字以上とする。
【００８２】
次に、検出部１１８は、機械学習部１１６による機械学習の結果に基づいて、学習データ１３８に含まれるユーザＩＤの中から、不正に取得されたユーザＩＤを検出する（Ｓ２０６）。例えば、検出部１１８は、ＳＶＭによる機械学習が行われる場合、特徴空間において負例に分類された特徴ベクトル（素性）を抽出し、この特徴ベクトルが示す特徴量の抽出元であるユーザＩＤを特定することで、不正に取得されたユーザＩＤを検出する。検出部１１８により検出された不正なユーザＩＤは、不正ＩＤ情報１４０として解析装置側記憶部１３０に記憶される。
【００８３】
なお、検出部１１８は、機械学習部１１６による機械学習の結果に基づいて不正に取得されたユーザＩＤを検出する代わりに、抽出部１１４により抽出されたInformation Surpriseの特徴量に基づいて、不正に取得されたユーザＩＤを検出してもよい。
【００８４】
図１２は、ユーザＩＤの文字数の制限の有無に応じたInformation Surpriseの特徴量の一例を示す図である。図中（ａ）は、ユーザＩＤの文字数に制限を設けていない場合のInformation Surpriseの特徴量の結果を表し、（ｂ）は、ユーザＩＤの文字数に１０文字以上の制限を設けた場合のInformation Surpriseの特徴量の結果を表している。いずれも横軸は、Information Surpriseの特徴量を、その特徴量の標準偏差で正規化した値を表し、縦軸は、Information Surpriseの特徴量の抽出元の文字列ｕの存在確率ｐ（ｕ）を表している。
【００８５】
例えば、検出部１１８は、Information Surpriseの特徴量が閾値ＴＨ１（例えば２５０）以上のときに、文字列ｕの存在確率ｐ（ｕ）の値が閾値ＴＨ２（例えば５［％］）以上である場合に、そのInformation Surpriseの特徴量の抽出元のユーザＩＤを、不正に取得されたユーザＩＤとして検出してよい。
【００８６】
次に、出力制御部１２０は、解析装置側通信部１０２を用いて、検出部１１８による検出結果である不正ＩＤ情報１４０をサーバ装置５０に送信する（Ｓ２０８）。これによって、本フローチャートの処理が終了する。
【００８７】
サーバ装置５０は、情報解析装置１００から不正ＩＤ情報１４０を受信した場合、不正ＩＤ情報１４０に含まれるユーザＩＤによるサービスの利用を禁止してもよいし、そのユーザＩＤの認証方法を変更してもよい。
【００８８】
図１３は、ユーザＩＤの認証時に端末装置１０の表示部１３に表示される画面の一例を示す図である。例えば、サーバ側制御部５５は、サーバ側通信部５１により端末装置１０から受信されたユーザＩＤが不正ＩＤ情報１４０に含まれているか否かを判定する。すなわち、サーバ側制御部５５は、認証時に入力されたユーザＩＤが不正に取得されたユーザＩＤであるのか否かを判定する。認証時に入力されたユーザＩＤが、不正ＩＤ情報１４０に含まれていない場合、サーバ側制御部５５は、正常なユーザＩＤであると判断し、ウェブサイトを介してサービスを提供する。
【００８９】
一方、認証時に入力されたユーザＩＤが、不正ＩＤ情報１４０に含まれている場合、サーバ側制御部５５は、新たに画像認証を求める画面を、端末装置１０の表示部１３に表示させる。これによって、不正なユーザＩＤの蓋然性が高いＩＤについては、ユーザＩＤの認証の難易度を高めることによって、サービスの利用を抑制することができる。また、サーバ側制御部５５は、画像認証に代えて或いは加えて、予め設定した情報（例えば生年月日や家族の名前など）の入力を求めるキーワード認証やその他の認証を行ってもよい。また、サーバ側制御部５５は、画像認証において表示する画像の文字数を増やしたり、文字の歪み度合を大きくしたりすることで、その画像認証自体の難易度を高めてもよい。すなわち、サーバ側制御部５５は、認証回数を増加させたり、各認証の難易度を高めたりすることで、不正に取得されたユーザＩＤを用いたサービスの利用を抑制してよい。
【００９０】
以上説明した実施形態によれば、ユーザＩＤを取得する取得部１１２と、取得部１１２により取得されたユーザＩＤが示す文字列から、（１）から（１０）の特徴量のうち少なくとも一部を抽出する抽出部１１４と、抽出部により文字列から抽出された特徴量の中から、不正に取得されたユーザＩＤを検出するための特徴量（例えば、（１）、（２）、（４）〜（７）、（１０）の特徴量）を、機械学習を用いて選択する機械学習部１１６と、を備えることにより、不正に取得されたユーザＩＤの検出精度を向上させることができる。
【００９１】
また、上述した実施形態によれば、負例に分類するユーザＩＤの文字数に制限を設けることにより、機械学習におけるノイズの影響を抑制することができる。
【００９２】
また、上述した実施形態によれば、機械学習を用いて選択した特徴量に基づいて、不正に取得されたユーザＩＤを検出し、サービス利用のための認証時に、検出したユーザＩＤが使用された場合、認証回数を増加させたり、各認証の難易度を高めたりすることで、不正に取得されたユーザＩＤを用いたサービスの利用を抑制することができる。
【００９３】
＜ハードウェア構成＞
上述した実施形態の端末装置１０、サーバ装置５０、および情報解析装置１００は、例えば、図１４に示すようなハードウェア構成により実現される。図１４は、実施形態の端末装置１０、サーバ装置５０、および情報解析装置１００のハードウェア構成の一例を示す図である。本図は、端末装置１０がスマートフォンである例を示している。
【００９４】
端末装置１０は、ＣＰＵ１０−１、ＲＡＭ１０−２、ＲＯＭ１０−３、フラッシュメモリなどの二次記憶装置１０−４、タッチパネル１０−５、および無線通信モジュール１０−６が、内部バスあるいは専用通信線によって相互に接続された構成となっている。無線通信モジュール１０−６は、無線基地局にアクセスすることでネットワークＮＷに接続する。無線通信モジュール１０−６は端末側通信部１１に対応し、タッチパネル１０−５は受付部１２および表示部１３に対応する。ＲＡＭ１０−２、ＲＯＭ１０−３、二次記憶装置１０−４は、端末側記憶部１４に対応する。また、二次記憶装置１０−４に格納されたプログラムがＤＭＡコントローラ（不図示）などによってＲＡＭ１０−２に展開され、ＣＰＵ１０−１によって実行されることで、端末側制御部１５が実現される。
【００９５】
サーバ装置５０は、ＮＩＣ５０−１、ＣＰＵ５０−２、ＲＡＭ５０−３、ＲＯＭ５０−４、フラッシュメモリやＨＤＤなどの二次記憶装置５０−５、およびドライブ装置５０−６が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置５０−６には、光ディスクなどの可搬型記憶媒体が装着される。ＮＩＣ５０−１は、サーバ側通信部５１に対応し、ＲＡＭ５０−３、ＲＯＭ５０−４、二次記憶装置５０−５は、サーバ側記憶部５２に対応する。二次記憶装置５０−５、またはドライブ装置５０−６に装着された可搬型記憶媒体に格納されたプログラムがＤＭＡコントローラ（不図示）などによってＲＡＭ５０−３に展開され、ＣＰＵ５０−２によって実行されることで、サーバ側制御部５５が実現される。サーバ側制御部５５が参照するプログラムは、ネットワークＮＷを介して他の装置からダウンロードされてもよい。
【００９６】
情報解析装置１００は、ＮＩＣ１００−１、ＣＰＵ１００−２、ＲＡＭ１００−３、ＲＯＭ１００−４、フラッシュメモリやＨＤＤなどの二次記憶装置１００−５、およびドライブ装置１００−６が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置１００−６には、光ディスクなどの可搬型記憶媒体が装着される。ＮＩＣ１００−１は、解析装置側通信部１０２に対応し、ＲＡＭ１００−３、ＲＯＭ１００−４、二次記憶装置１００−５は、解析装置側記憶部１３０に対応する。二次記憶装置１００−５、またはドライブ装置１００−６に装着された可搬型記憶媒体に格納されたプログラムがＤＭＡ（Direct Memory Access）コントローラ（不図示）などによってＲＡＭ１００−３に展開され、ＣＰＵ１００−２によって実行されることで、解析装置側制御部１１０の各機能部が実現される。解析装置側制御部１１０が参照するプログラムは、ネットワークＮＷを介して他の装置からダウンロードされてもよい。
【００９７】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【００９８】
１…情報解析システム、１０…端末装置、１１…端末側通信部、１２…受付部、１３…表示部、１４…端末側記憶部、１５…端末側制御部、５０…サーバ装置、５１…サーバ側通信部、５２…サーバ側記憶部、５５…サーバ側制御部、１００…情報解析装置、１０２…解析装置側通信部、１１０…解析装置側制御部、１１２…取得部、１１４…抽出部、１１６…機械学習部、１１８…検出部、１２０…出力制御部、１３０…解析装置側記憶部、１３２…教師データ、１３４…特徴量情報、１３６…学習条件情報、１３８…学習データ、１４０…不正ＩＤ情報、ＮＷ…ネットワーク
【図１】
2018084953.tif 000009
【図２】
2018084953.tif 000010
【図３】
2018084953.tif 000011
【図４】
2018084953.tif 000012
【図５】
2018084953.tif 000013
【図６】
2018084953.tif 000014
【図７】
2018084953.tif 000015
【図８】
2018084953.tif 000016
【図９】
2018084953.tif 000017
【図１０】
2018084953.tif 000018
【図１１】
2018084953.tif 000019
【図１２】
2018084953.tif 000020
【図１３】
2018084953.tif 000021
【図１４】
2018084953.tif 000022