JP2018084953A - 情報解析装置、情報解析システム、情報解析方法、および情報解析プログラム - Google Patents

情報解析装置、情報解析システム、情報解析方法、および情報解析プログラム Download PDF

Info

Publication number
JP2018084953A
JP2018084953A JP2016227589A JP2016227589A JP2018084953A JP 2018084953 A JP2018084953 A JP 2018084953A JP 2016227589 A JP2016227589 A JP 2016227589A JP 2016227589 A JP2016227589 A JP 2016227589A JP 2018084953 A JP2018084953 A JP 2018084953A
Authority
JP
Japan
Prior art keywords
user
character string
identification information
unit
feature amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016227589A
Other languages
English (en)
Other versions
JP6680666B2 (ja
Inventor
義裕 安藤
Yoshihiro Ando
義裕 安藤
山本 浩司
Koji Yamamoto
浩司 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2016227589A priority Critical patent/JP6680666B2/ja
Publication of JP2018084953A publication Critical patent/JP2018084953A/ja
Application granted granted Critical
Publication of JP6680666B2 publication Critical patent/JP6680666B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】不正に取得されたユーザIDの検出精度を向上させることを目的の一つとする。【解決手段】情報解析装置は、ユーザの識別情報を取得する取得部と、前記取得部により取得された前記ユーザの識別情報が示す文字列から、文字列または文字の存在確率に関する特徴量、文字列に含まれる特定の記号に関する特徴量、および地域によって異なるキーボードの配列に関する特徴量のうち少なくとも一部を抽出する抽出部と、前記抽出部により前記文字列から抽出された特徴量の中から、不正に取得されたユーザの識別情報を検出するための特徴量を、機械学習を用いて選択する機械学習部とを備える。【選択図】図5

Description

本発明は、情報解析装置、情報解析システム、情報解析方法、および情報解析プログラムに関する。
SNS(Social Networking Service)などで利用されるユーザの識別情報(以下、ユーザIDと称する)から複数の特徴量を抽出して、この抽出した複数の特徴量を機械学習することで、ユーザIDを大量に取得している不正なユーザを検出する技術が知られている。
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.
しかしながら、従来の技術では、抽出される特徴量が多岐に亘り、その特徴量の組み合わせによっては、不正に取得されたユーザIDの検出精度が向上しない場合があった。
本発明は、このような事情を考慮してなされたものであり、不正に取得されたユーザIDの検出精度を向上させることを目的の一つとする。
本発明の一態様は、ユーザの識別情報を取得する取得部と、前記取得部により取得された前記ユーザの識別情報が示す文字列から、文字列または文字の存在確率に関する特徴量、文字列に含まれる特定の記号に関する特徴量、および地域によって異なるキーボードの配列に関する特徴量のうち少なくとも一部を抽出する抽出部と、前記抽出部により前記文字列から抽出された特徴量の中から、不正に取得されたユーザの識別情報を検出するための特徴量を、機械学習を用いて選択する機械学習部と、を備える情報解析装置である。
本発明の一態様によれば、不正に取得されたユーザIDの検出精度を向上させることができる。
実施形態における情報解析装置100を含む情報解析システム1の一例を示す図である。 実施形態における端末装置10の構成の一例を示す図である。 実施形態におけるサーバ装置50の構成の一例を示す図である。 アカウント情報54の一例を示す図である。 実施形態における情報解析装置100の構成の一例を示す図である。 二値分類問題を解くためのパターン識別モデルを生成する処理の一例を示すフローチャートである。 教師データ132の一例を示す図である。 特徴量情報134の一例を示す図である。 QWERTY配列のキーボードと、DVORAK配列のキーボードの一例を示す図である。 実際の評価結果の一例を示す図である。 生成したパターン認識モデルを用いて、未分類のユーザIDを正例または負例に分類する処理の一例を示すフローチャートである。 ユーザIDの文字数の制限の有無に応じたInformation Surpriseの特徴量の一例を示す図である。 ユーザIDの認証時に端末装置10の表示部13に表示される画面の一例を示す図である。 実施形態の端末装置10、サーバ装置50、および情報解析装置100のハードウェア構成の一例を示す図である。
以下、図面を参照し、本発明の情報解析装置、情報解析システム、情報解析方法、および情報解析プログラムの実施形態について説明する。
[概要]
実施形態の情報解析装置は、一以上のプロセッサによって実現される。情報解析装置は、ユーザIDを取得し、このユーザIDが示す文字列から、文字列または文字の存在確率に関する特徴量、文字列に含まれる特定の記号に関する特徴量、および地域によって異なるキーボードの配列に関する特徴量を抽出する。本実施形態におけるユーザIDは、例えば、アルファベットなどの文字、数字、アンダーバーなどの記号のうち一部または全部を含む文字列によって表されるユーザの識別情報である。
情報解析装置は、文字列から抽出した複数の特徴量の中から、不正に取得されたユーザIDを検出するための特徴量を、機械学習を用いて選択する。そして、情報解析装置は、不正に取得されたユーザIDを検出するための特徴量に基づいて、取得した複数のユーザIDの中から、不正に取得されたユーザIDを検出する。これによって、不正に取得されたユーザIDの検出精度を向上させることができる。
なお、本実施形態における「不正に取得」とは、例えば、ある観測期間内に、所定数以上(例えば100個以上)のユーザIDが取得されることをいう。
[全体構成]
図1は、実施形態における情報解析装置100を含む情報解析システム1の一例を示す図である。実施形態における情報解析システム1は、一つ以上の端末装置10と、サーバ装置50と、情報解析装置100とを備える。これらの装置は、ネットワークNWを介して互いに接続される。ネットワークNWは、例えば、無線基地局、Wi−Fiアクセスポイント、通信回線、プロバイダ、インターネットなどを含む。なお、図1に示す各装置の全ての組み合わせが相互に通信可能である必要はなく、ネットワークNWは、一部にローカルなネットワークを含んでもよい。
端末装置10は、ユーザによって使用される装置である。端末装置10は、例えば、スマートフォンなどの携帯電話、タブレット端末、パーソナルコンピュータなどのコンピュータ装置である。例えば、端末装置10は、ショッピングサイトなどのウェブサイト、メールサービス、SNSサービス、情報提供サービスなどにおいてユーザIDを登録するために利用されてよい。
サーバ装置50は、各種サービスを提供する。例えば、サーバ装置50は、端末装置10において起動されるウェブブラウザを介して、各種サービスを提供するためのウェブサイトを提供するウェブサーバ装置であってよい。また、サーバ装置50は、所定のアプリケーションプログラムが起動(実行)された端末装置10と通信を行うことで、各種情報の受け渡しを行うアプリケーションサーバ装置であってもよい。所定のアプリケーションプログラムが起動された端末装置10には、サーバ装置50との通信により、各種サービスを提供可能な画面が表示される。以下、説明を簡略化するために、サーバ装置50がウェブサーバ装置であるものとして説明する。
例えば、サーバ装置50は、サービスの提供前にユーザIDの認証を行い、ユーザの確認を行う。サーバ装置50は、認証の結果、既にユーザIDが登録されたユーザであれば各種サービスを提供し、ユーザIDが登録されていないユーザであれば、ユーザIDが未登録であることを通知したり、ユーザIDの登録を促したりする。ユーザIDが未登録であることを受けて、ユーザが新規にユーザIDの登録した場合、サーバ装置50は、新たに登録されたユーザIDを発行する。これによって、ユーザは新規にユーザIDを取得することができる。
情報解析装置100は、サーバ装置50と通信を行って、サーバ装置50が提供するサービスを利用するユーザのユーザIDを取得し、このユーザIDを機械学習により解析することで、不正に取得されたユーザIDが存在しているかどうかを検出する。本実施形態における機械学習は、SVM(Support Vector Machine)やロジスティック回帰などの教師あり学習である。
[端末装置の構成]
以下、各装置の構成について説明する。図2は、実施形態における端末装置10の構成の一例を示す図である。図示のように、端末装置10は、例えば、端末側通信部11と、受付部12と、表示部13と、端末側記憶部14と、端末側制御部15とを備える。
端末側通信部11は、ネットワークNWを介してサーバ装置50と通信する。端末側通信部11は、サーバ装置50から情報を受信した場合、受信した情報を端末側制御部15に出力する。また、端末側通信部11は、端末側制御部15による制御を受けて、サーバ装置50に情報を送信する。
受付部12は、例えば、キーボード、ボタン、マウス、マイク、タッチパネル等のユーザインターフェースであり、ユーザからの操作を受け付ける。また、受付部12は、例えば、音声による入力を受け付けるものであってもよい。なお、表示部13がタッチパネルである場合、受付部12の一部は表示部13と一体として形成される。
表示部13は、例えば、LCD(Liquid Crystal Display)や有機EL(Electroluminescence)ディスプレイなどの表示装置である。表示部13は、端末側制御部15から入力される情報に基づいて各種画像を表示する。
端末側記憶部14は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、またはRAM(Random Access Memory)などにより実現される。
端末側制御部15は、例えば、CPU(Central Processing Unit)などのプロセッサが端末側記憶部14に格納されたプログラムを実行することにより実現される。また、端末側制御部15は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、またはFPGA(Field-Programmable Gate Array)などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
端末側制御部15は、例えば、ウェブブラウザなどのUA(User Agent)を起動し、受付部12に対して所定の操作がなされることで、端末側通信部11を用いて、サーバ装置50に対してHTTP(Hypertext Transfer Protocol)リクエストを送信する。そして、端末側制御部15は、サーバ装置50から返信されたウェブページに基づいてウェブ画面を生成し、これを表示部13に表示させる。
[サーバ装置の構成]
図3は、実施形態におけるサーバ装置50の構成の一例を示す図である。図示のように、サーバ装置50は、例えば、サーバ側通信部51と、サーバ側記憶部52と、サーバ側制御部55とを備える。サーバ側制御部55は、「認証部」の一例である。
サーバ側通信部51は、ネットワークNWを介して端末装置10または情報解析装置100と通信する。サーバ側通信部51は、端末装置10または情報解析装置100から情報を受信した場合、受信した情報をサーバ側制御部55に出力する。また、サーバ側通信部51は、サーバ側制御部55による制御を受けて、端末装置10または情報解析装置100に情報を送信する。
サーバ側記憶部52は、例えば、HDD、フラッシュメモリ、EEPROM、ROM、またはRAMなどにより実現される。サーバ側記憶部52は、例えば、ウェブサイトを提供するための情報(以下、ウェブサイト情報53と称する)と、アカウント情報54とを記憶する。ウェブサイト情報53は、例えば、HTML(Hyper Text Markup Language)等のマークアップ言語で記述されたテキストデータや、スタイルシート、静止画像データ、動画データ、音声データなどを含むウェブページに関する情報である。アカウント情報54は、ウェブサイトにおいて登録されたユーザIDや、メールアドレス、パスワードなどの情報を含む。
図4は、アカウント情報54の一例を示す図である。図示の例のように、アカウント情報54は、ユーザIDに対して、メールアドレスやパスワードなどの情報が対応付けられた情報である。
サーバ側制御部55は、例えば、CPUなどのプロセッサがサーバ側記憶部52に格納されたプログラムを実行することにより実現される。また、サーバ側制御部55は、LSI、ASIC、またはFPGAなどのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
例えば、サーバ側制御部55は、サーバ側通信部51により端末装置10からHTTPリクエストが受信されると、ユーザIDを認証するためのウェブページを、サーバ側通信部51を介して端末装置10へと返信する。端末装置10においてユーザIDが入力された場合、サーバ側制御部55は、入力されたユーザIDとアカウント情報54とを比較して、入力されたユーザIDが既に登録されているか否かを判定する。
入力されたユーザIDが未だ登録されていない場合、サーバ側制御部55は、サーバ側通信部51を介して端末装置10にユーザIDが未登録であることを通知したり、ユーザIDの登録を促したりするための情報を送信する。端末装置10においてユーザIDの新規登録が行われた場合、サーバ側通信部51は、端末装置10から新規登録されたユーザIDを受信する。そして、サーバ側制御部55は、サーバ側通信部51により受信された、新たなユーザIDをアカウント情報54に追加する。これによって、ユーザIDが新たに発行される。
一方、入力されたユーザIDが既に登録されている場合、サーバ側制御部55は、サーバ側通信部51を介して端末装置10にウェブサイト情報53を送信する。これによって、端末装置10は、ウェブブラウザの機能により、ウェブサイト情報53に基づいて、各種サービスを享受可能なウェブページが描画された画面を表示する。
[情報解析装置の構成]
図5は、実施形態における情報解析装置100の構成の一例を示す図である。図示のように、情報解析装置100は、例えば、解析装置側通信部102と、解析装置側制御部110と、解析装置側記憶部130とを備える。
解析装置側通信部102は、例えば、NIC等の通信インターフェースを含む。解析装置側通信部102は、ネットワークNWを介してサーバ装置50と通信する。解析装置側通信部102は、サーバ装置50から情報を受信した場合、受信した情報を解析装置側制御部110に出力する。例えば、解析装置側通信部102は、サーバ装置50からアカウント情報54を受信する。また、解析装置側通信部102は、解析装置側制御部110による制御を受けて、サーバ装置50に情報を送信する。
解析装置側制御部110は、例えば、取得部112と、抽出部114と、機械学習部116と、検出部118と、出力制御部120とを備える。これらの構成要素の一部または全部は、CPUなどのプロセッサが解析装置側記憶部130に格納されたプログラムを実行することにより実現される。また、解析装置側制御部110の構成要素の一部または全部は、LSI、ASIC、またはFPGAなどのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
解析装置側記憶部130は、例えば、HDD、フラッシュメモリ、EEPROM、ROM、またはRAMなどにより実現される。解析装置側記憶部130は、例えば、教師データ132と、特徴量情報134と、学習条件情報136と、学習データ138と、不正ID情報140とを記憶する。これらの情報については後述する。
[教師データによる機械学習]
まず、機械学習において、二値分類問題を解くためのパターン識別モデルを生成する処理についてフローチャートを用いて説明する。本実施形態における二値分類問題とは、学習対象のユーザIDを、そのユーザIDの取得が正常(通常)であるのか、またはユーザIDの取得が不正であるのかのいずれかに分類することをいう。ユーザIDの取得が正常である例については「正例」として扱われ、ユーザIDの取得が不正である例については「負例」として扱われる。
図6は、二値分類問題を解くためのパターン識別モデルを生成する処理の一例を示すフローチャートである。まず、取得部112は、教師データ132を参照して、このデータからユーザIDを取得する(S100)。
図7は、教師データ132の一例を示す図である。教師データ132は、例えば、ユーザIDに対して、不正に取得されたユーザIDであるか否かを示すフラグが付与された情報である。言い換えれば、教師データ132は、不正か否かが既に判明した情報である。例えば、不正に取得されたユーザIDである場合、「1」のフラグに付与され、不正でなく正常に取得されたユーザIDである場合、「0」のフラグに付与される。例えば、教師データ132は、過去のある時点で不正であると判断されたユーザIDと、これと同時期に使用され、且つ不正でないと判断されたユーザIDとを集約した情報である。
次に、抽出部114は、取得部112が教師データ132から取得したユーザIDごとに、そのユーザIDが示す文字列から、特徴量情報134において指定された種々の特徴量を抽出する(S102)。例えば、抽出部114はユーザIDが示す文字列から、ユーザIDの入力のしやすさ、文字列に含める文字のランダム性などを表す特徴量を抽出する。
図8は、特徴量情報134の一例を示す図である。図示の例のように、特徴量情報134は、抽出対象の特徴量がどういったものであるのかを表している。例えば、抽出対象の特徴量には、以下の10種類が存在する。下記の(1)、(10)の特徴量は、「文字列または文字の存在確率に関する特徴量」の一例である。また、(2)、(5)の特徴量は、「文字列に含まれる特定の記号に関する特徴量」の一例であり、(3)、(4)、(6)〜(9)の特徴量は、「地域によって異なるキーボードの配列に関する特徴量」の一例である。
(1)Information Surprise
(2)ユーザIDの文字列に含まれる数字の数
(3)QWERTY配列のTopRowにある文字がユーザIDに含まれている割合
(4)DVORAK配列のTopRowにある文字がユーザIDに含まれている割合
(5)ユーザIDの文字列に含まれる数字の割合
(6)DVORAK配列でユーザIDをタイプしたときの想定される指の移動量[m]
(7)QWERTY配列のHomeRowにある文字がユーザIDに含まれている割合
(8)QWERTY配列でユーザIDをタイプしたときの想定される指の移動量[m]
(9)DVORAK配列のBottomRowにある文字がユーザIDに含まれている割合
(10)ユーザIDのエントロピー(シャノン情報量)
図9は、QWERTY配列のキーボードと、DVORAK配列のキーボードの一例を示す図である。例えば、QWERTY配列のキーボードの場合、TopRowにある文字は、数字キーの一段下にある「Q、W、E、…、O、P」の文字となる。また、HomeRowにある文字は、TopRowよりも更に一段下の「A、W、E、…、O、P」の文字であり、BottomRowにある文字とは、スペースキーの一段上(HomeRowの一段下)の「Z、X、C、…、N、M」の文字である。なおこれらの文字には、アンダーバーやスラッシュ、カンマ、不等号などの記号が含まれてもよい。
また、上記の各種特徴量は、国や地域によって、一部が省略されてもよいし、他の特徴量が追加されてもよい。例えば、日本国では、QWERTY配列のキーボードが主流であるため、DVORAK配列に関する各種特徴量((4)、(6)、(9))は、省略されてよい。
例えば、抽出部114は、以下の数式(1)、(2)に基づいて、(1)Information Surpriseの特徴量を抽出する。
Figure 2018084953
Figure 2018084953
数式(1)におけるI(u)は、特徴量であるInformation Surpriseのエントロピー値を表している。また、数式(1)および(2)におけるuは、対象とするユーザIDの文字列を表し、p(u)は、文字列uの存在確率を表し、mは、文字列uの長さ(文字数)を表している。また、数式(2)におけるcは、対象となる文字列uの中でi番目の文字を表している。
例えば、抽出部114は、数式(2)に示すように、n−gram法を用いて、文字列uをn文字(例えばn=6)ずつシフトさせながら分割し、分割した文字列uに含まれる各文字cが全文字列中に存在する存在確率p(=(c|ci−(n−1)…))を導出する。抽出部114は、文字cの存在確率pを、n−gram法により分割した文字列uごとに導出し、分割した各文字列u単位での文字cの存在確率pを全て乗算することで、文字列uの存在確率p(u)を導出する。
そして、抽出部114は、数式(2)に基づき導出した文字列uの存在確率p(u)を、数式(1)に代入することで、Information Surpriseのエントロピー値を表すI(u)を導出する。これによって、(1)の特徴量が抽出される。
また、抽出部114は、ユーザIDの文字列に含まれる0から9の数を計数することで、(2)の特徴量を抽出する。
また、抽出部114は、ユーザIDの文字列に含まれる全文字数に対する、当該ユーザIDの文字列に含まれる「Q、W、E、…、O、P」の文字数の割合を導出することで、(3)の特徴量を抽出する。
また、抽出部114は、ユーザIDの文字列に含まれる全文字数に対する、当該ユーザIDの文字列に含まれる「P、Y、F、…、R、L」の文字数の割合を導出することで、(4)の特徴量を抽出する。
また、抽出部114は、ユーザIDの文字列に含まれる全文字数に対する、当該ユーザIDの文字列に含まれる0から9の数の割合を導出することで、(5)の特徴量を抽出する。
また、抽出部114は、DVORAK配列のキーボードを二次元平面と捉えて、二次元平面における各キーの相対的な位置関係に基づいて、文字列に含まれる文字を、その列順にタイプしたときに想定されるユーザの指の移動距離を導出することで、(6)の特徴量を抽出する。例えば、抽出部114は、BottomRowの左下のキー(Ctrlキー)を原点座標O(0,0)とし、DVORAK配列における各キーの位置座標を原点座標Oからの相対座標として決定する。原点座標Oとして割り当てられるキーを含む全キーの座標は、例えば、各キーのキートップの領域での中心座標であってよい。抽出部114は、ユーザIDが示す文字列を一文字ずつ分割し、各文字に対応するキーの座標を導出する。そして、抽出部114は、文字列順に各文字に対応するキーの座標間の距離を導出する。例えば、抽出部114は、文字列が「ABC」であれば、「A」のキーの座標から「B」のキーの座標の間の距離と、「B」のキーの座標から「C」のキーの座標の間の距離とを合わせた合計の距離を、実際の想定されるキーボードの大きさに基づく倍率で乗算し、その乗算値(合計距離×倍率)を、所定値(例えば100)で除算することで、指の移動距離を導出する。これによって、(6)の特徴量が抽出される。
また、抽出部114は、ユーザIDの文字列に含まれる全文字数に対する、当該ユーザIDの文字列に含まれる「A、S、D、…、K、L」の文字数の割合を導出することで、(7)の特徴量を抽出する。
また、抽出部114は、(6)の特徴量の抽出方法と同様に、QWERTY配列のキーボードを二次元平面と捉えて、二次元平面における各キーの相対的な位置関係に基づいて、文字列に含まれる文字を、その列順にタイプしたときに想定されるユーザの指の移動距離を導出することで、(8)の特徴量を抽出する。
また、抽出部114は、ユーザIDの文字列に含まれる全文字数に対する、当該ユーザIDの文字列に含まれる「Q、J、K、…、V、Z」の文字数の割合を導出することで、(9)の特徴量を抽出する。
また、抽出部114は、以下の数式(3)に基づいて、(10)ユーザIDのエントロピーの特徴量を抽出する。
Figure 2018084953
数式(3)におけるH(u)は、ユーザIDのエントロピー値を表している。例えば、抽出部114は、数式(3)に示すシャノンの情報量(平均情報量)の定義式に基づいて、ユーザIDのエントロピー値H(u)を導出する。これによって、(10)の特徴量が抽出される。
ここで、図6のフローチャートの説明に戻る。次に、機械学習部116は、抽出部114により抽出された複数の特徴量のうち一部または全部を用いて機械学習を行い(S104)、特徴量の抽出元であるユーザIDを正例または負例に分類するためのパターン識別モデルを生成する。
例えば、機械学習部116は、SVMにおいて、抽出部114により抽出された複数の特徴量のそれぞれを素性として扱い、各素性を特徴ベクトルとした特徴空間において、各特徴ベクトルを正例または負例に分類する超平面(特徴空間の次元数から1低下した次元を有する空間)を、パターン識別モデルとして導出する。このとき、機械学習部116は、教師データ132において、「0」のフラグが付与されたユーザIDが正例に、「1」のフラグが付与されたユーザIDが負例に分類されるように超平面を導出する。
また、機械学習部116は、機械学習としてロジスティック回帰を利用する場合、抽出部114により抽出された複数の特徴量のそれぞれを独立変数とし、正例または負例を従属変数として扱うことで、ロジスティック曲線(パターン識別モデルの他の例)を導出する。
そして、機械学習部116は、導出したパターン識別モデルを評価する(S106)。例えば、機械学習部116は、SVMとロジスティック回帰における双方のパターン識別モデルについて、F値(F−measure)を用いて評価する。F値とは、パターン識別モデルによるユーザIDの分類結果が、真の結果とどの程度一致するのかを評価する指標である。F値は、「スコア」の一例である。例えば、F値は、以下の数式(4)から(6)に基づいて導出される。
Figure 2018084953
Figure 2018084953
Figure 2018084953
precision(精度)は、パターン識別モデルにより正例として分類されたユーザIDのうち、実際に正例であるユーザID(教師データ132において「0」のフラグが付与されたユーザID)の割合を表している。TPは、パターン識別モデルによる分類結果が正であり、真の結果も正であるユーザIDの数を表し、FPは、パターン識別モデルによる分類結果が正であり、真の結果が負であるユーザIDの数を表している。Recall(再現率)は、実際に正例であるユーザIDのうち、パターン識別モデルにより正例として分類されたユーザIDの割合を表している。FNは、パターン識別モデルによる分類結果が負であり、真の結果が正であるユーザIDの数を表している。例えば、F値(F−measure)が100[%]であれば、教師データ132を完全に正例と負例に分類できたことを意味する。
機械学習部116は、特徴量の組み合わせごとのパターン識別モデルの評価結果(F値)に基づいて、学習条件を決定する(S108)。学習条件には、(1)抽出部114により抽出された複数の特徴量のうち、機械学習において用いる特徴量の組み合わせを指定すること、(2)機械学習の対象とするユーザIDの文字数に制限を設けること(例えば10文字未満のユーザIDは、機械学習の対象から除外する)、(3)複数の機械学習の手法うち好適な手法を選択すること、といった条件が含まれる。機械学習部116により決定された学習条件は、学習条件情報136として解析装置側記憶部130に記憶される。
ユーザIDの文字数に制限を設ける意味は、機械学習におけるノイズの影響を抑制するためである。一般的に、成長期(過渡期)を過ぎて成熟期(定常期)に移行したサービスでは、そのサービスにおいてユーザにより取得されるユーザIDは、ある文字数以上に収束しやすくなる。これは、年月が増すにつれて、申請されたユーザIDが既に取得されたユーザIDと重複する確率が高くなるためである。従って、ユーザIDの文字数に制限を設けることによって、不正に取得されている蓋然性の高いユーザIDの文字数と異なる文字数のユーザIDを除外することができる。すなわち、不正に取得されている蓋然性の低いユーザIDを除外することができる。
図10は、実際の評価結果の一例を示す図である。図中(a)に示すように、ある観測時期にログイン(認証)に成功したユーザ(通常ユーザ)のユーザIDの数は「2.4×10」程度であり、上記の観測時期と同時期に100個以上のユーザIDを取得したユーザ(不正ユーザ)のユーザIDの数は「12.1×10」程度であった。また、不正ユーザのうち、そのユーザIDの文字数が10文字以上のユーザIDの数は、「9.4×10」程度であった。
解析装置側制御部110は、上記(a)を学習データ138として扱い、SVMおよびロジスティック回帰の双方の機械学習を行うことで、各機械学習におけるパターン識別モデルを評価した。このとき、クラスインバランスを考慮して、上記(a)の観測データのうち、学習データ138として扱う通常ユーザのユーザID数を、不正ユーザのユーザID数と同程度とした。また、SVMについては、特徴空間において特徴ベクトル同士の重なりを考慮して(特徴ベクトルを線形分離できない場合を考慮して)、ソフトマージンSVM(C‐SVM)を用いた。また、ロジスティック回帰については、過学習が生じるのを抑制するために、L1正則化ロジスティック回帰を用いた。また、F値の導出時には、K−分割交差検証(例えばK=10)を用いた。
同図の(b)は、各パターン識別モデルの評価結果を表している。図示の例では、ユーザIDの長さ(文字数)を指定せずに、F値が最も大きくなる学習条件は、ソフトマージンSVM(C‐SVM)において、(1)〜(10)の10個の特徴量を全て組み合わせて学習したときであった(F値=85.49[%])。また、ユーザIDの文字数(ユーザIDの長さ)を10文字以上に指定したときのF値が最も大きくなる学習条件は、ソフトマージンSVM(C‐SVM)において、(1)、(2)、(4)〜(7)、(10)の7つの特徴量を組み合わせて学習したときであった(F値=89.77[%])。
ユーザIDの文字数に制限を設ける場合、Information Surpriseの特徴量が変動するため、F値の結果が変わる。上述したように、Information Surpriseのエントロピー値I(u)は、対象とするユーザIDの文字列uの存在確率p(u)に起因しているため、文字列uが短ければ、その存在確率p(u)は大きくなる。これにより、I(u)は大きくなり、F値が向上する。
このように、機械学習部116は、評価結果のF値を参照して、最もF値が高くなる学習条件を選出し、その学習条件を次回以降の学習におけるパラメータとして設定する。図10の例の場合、F値は89.77[%]が最大であるため、機械学習部116は、学習条件として、機械学習において用いる特徴量の組み合わせを、(1)、(2)、(4)〜(7)、(10)の7つの特徴量に、ユーザIDの制限文字数を10文字以上に、更に、機械学習の手法をSVM(C‐SVM)に決定する。
[学習データによる機械学習]
上述したフローチャートの処理により学習条件を決定した後、解析装置側制御部110は、生成したパターン認識モデルを用いて、サーバ装置50により登録されたユーザIDのうち、教師データ132として利用しなかったユーザIDを正例または負例に分類する。
図11は、生成したパターン認識モデルを用いて、未分類のユーザIDを正例または負例に分類する処理の一例を示すフローチャートである。まず、取得部112は、学習データ138を参照して、このデータからユーザIDを取得する(S200)。
学習データ138とは、サーバ装置50により登録されたユーザIDのうち、教師データ132として利用しなかったユーザIDであって、未だ不正か否かの判断がなされていないユーザIDの集合である。教師データ132において過去の時点で不正でないと判断されたユーザIDについては、現在においても使用され得ることが想定されるため、学習データ138には、教師データ132において「0」のフラグが付与されたユーザIDが含まれてよい。
次に、抽出部114は、取得部112により取得されたユーザID(未分類のユーザID)から(1)〜(10)の10個の特徴量を抽出する(S202)。
次に、機械学習部116は、教師データ132を用いて決定した学習条件に従って、機械学習を行う(S204)。例えば、機械学習部116は、上述した図10の例において決定した学習条件に従う場合、抽出部114により抽出された10個の特徴量のうち、(1)、(2)、(4)〜(7)、(10)の7個の特徴量を選択し、この7個の特徴量を素性としてSVM(C‐SVM)による機械学習を行う。この際、機械学習部116は、負例に分類するユーザIDの文字数を10文字以上とする。
次に、検出部118は、機械学習部116による機械学習の結果に基づいて、学習データ138に含まれるユーザIDの中から、不正に取得されたユーザIDを検出する(S206)。例えば、検出部118は、SVMによる機械学習が行われる場合、特徴空間において負例に分類された特徴ベクトル(素性)を抽出し、この特徴ベクトルが示す特徴量の抽出元であるユーザIDを特定することで、不正に取得されたユーザIDを検出する。検出部118により検出された不正なユーザIDは、不正ID情報140として解析装置側記憶部130に記憶される。
なお、検出部118は、機械学習部116による機械学習の結果に基づいて不正に取得されたユーザIDを検出する代わりに、抽出部114により抽出されたInformation Surpriseの特徴量に基づいて、不正に取得されたユーザIDを検出してもよい。
図12は、ユーザIDの文字数の制限の有無に応じたInformation Surpriseの特徴量の一例を示す図である。図中(a)は、ユーザIDの文字数に制限を設けていない場合のInformation Surpriseの特徴量の結果を表し、(b)は、ユーザIDの文字数に10文字以上の制限を設けた場合のInformation Surpriseの特徴量の結果を表している。いずれも横軸は、Information Surpriseの特徴量を、その特徴量の標準偏差で正規化した値を表し、縦軸は、Information Surpriseの特徴量の抽出元の文字列uの存在確率p(u)を表している。
例えば、検出部118は、Information Surpriseの特徴量が閾値TH1(例えば250)以上のときに、文字列uの存在確率p(u)の値が閾値TH2(例えば5[%])以上である場合に、そのInformation Surpriseの特徴量の抽出元のユーザIDを、不正に取得されたユーザIDとして検出してよい。
次に、出力制御部120は、解析装置側通信部102を用いて、検出部118による検出結果である不正ID情報140をサーバ装置50に送信する(S208)。これによって、本フローチャートの処理が終了する。
サーバ装置50は、情報解析装置100から不正ID情報140を受信した場合、不正ID情報140に含まれるユーザIDによるサービスの利用を禁止してもよいし、そのユーザIDの認証方法を変更してもよい。
図13は、ユーザIDの認証時に端末装置10の表示部13に表示される画面の一例を示す図である。例えば、サーバ側制御部55は、サーバ側通信部51により端末装置10から受信されたユーザIDが不正ID情報140に含まれているか否かを判定する。すなわち、サーバ側制御部55は、認証時に入力されたユーザIDが不正に取得されたユーザIDであるのか否かを判定する。認証時に入力されたユーザIDが、不正ID情報140に含まれていない場合、サーバ側制御部55は、正常なユーザIDであると判断し、ウェブサイトを介してサービスを提供する。
一方、認証時に入力されたユーザIDが、不正ID情報140に含まれている場合、サーバ側制御部55は、新たに画像認証を求める画面を、端末装置10の表示部13に表示させる。これによって、不正なユーザIDの蓋然性が高いIDについては、ユーザIDの認証の難易度を高めることによって、サービスの利用を抑制することができる。また、サーバ側制御部55は、画像認証に代えて或いは加えて、予め設定した情報(例えば生年月日や家族の名前など)の入力を求めるキーワード認証やその他の認証を行ってもよい。また、サーバ側制御部55は、画像認証において表示する画像の文字数を増やしたり、文字の歪み度合を大きくしたりすることで、その画像認証自体の難易度を高めてもよい。すなわち、サーバ側制御部55は、認証回数を増加させたり、各認証の難易度を高めたりすることで、不正に取得されたユーザIDを用いたサービスの利用を抑制してよい。
以上説明した実施形態によれば、ユーザIDを取得する取得部112と、取得部112により取得されたユーザIDが示す文字列から、(1)から(10)の特徴量のうち少なくとも一部を抽出する抽出部114と、抽出部により文字列から抽出された特徴量の中から、不正に取得されたユーザIDを検出するための特徴量(例えば、(1)、(2)、(4)〜(7)、(10)の特徴量)を、機械学習を用いて選択する機械学習部116と、を備えることにより、不正に取得されたユーザIDの検出精度を向上させることができる。
また、上述した実施形態によれば、負例に分類するユーザIDの文字数に制限を設けることにより、機械学習におけるノイズの影響を抑制することができる。
また、上述した実施形態によれば、機械学習を用いて選択した特徴量に基づいて、不正に取得されたユーザIDを検出し、サービス利用のための認証時に、検出したユーザIDが使用された場合、認証回数を増加させたり、各認証の難易度を高めたりすることで、不正に取得されたユーザIDを用いたサービスの利用を抑制することができる。
<ハードウェア構成>
上述した実施形態の端末装置10、サーバ装置50、および情報解析装置100は、例えば、図14に示すようなハードウェア構成により実現される。図14は、実施形態の端末装置10、サーバ装置50、および情報解析装置100のハードウェア構成の一例を示す図である。本図は、端末装置10がスマートフォンである例を示している。
端末装置10は、CPU10−1、RAM10−2、ROM10−3、フラッシュメモリなどの二次記憶装置10−4、タッチパネル10−5、および無線通信モジュール10−6が、内部バスあるいは専用通信線によって相互に接続された構成となっている。無線通信モジュール10−6は、無線基地局にアクセスすることでネットワークNWに接続する。無線通信モジュール10−6は端末側通信部11に対応し、タッチパネル10−5は受付部12および表示部13に対応する。RAM10−2、ROM10−3、二次記憶装置10−4は、端末側記憶部14に対応する。また、二次記憶装置10−4に格納されたプログラムがDMAコントローラ(不図示)などによってRAM10−2に展開され、CPU10−1によって実行されることで、端末側制御部15が実現される。
サーバ装置50は、NIC50−1、CPU50−2、RAM50−3、ROM50−4、フラッシュメモリやHDDなどの二次記憶装置50−5、およびドライブ装置50−6が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置50−6には、光ディスクなどの可搬型記憶媒体が装着される。NIC50−1は、サーバ側通信部51に対応し、RAM50−3、ROM50−4、二次記憶装置50−5は、サーバ側記憶部52に対応する。二次記憶装置50−5、またはドライブ装置50−6に装着された可搬型記憶媒体に格納されたプログラムがDMAコントローラ(不図示)などによってRAM50−3に展開され、CPU50−2によって実行されることで、サーバ側制御部55が実現される。サーバ側制御部55が参照するプログラムは、ネットワークNWを介して他の装置からダウンロードされてもよい。
情報解析装置100は、NIC100−1、CPU100−2、RAM100−3、ROM100−4、フラッシュメモリやHDDなどの二次記憶装置100−5、およびドライブ装置100−6が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置100−6には、光ディスクなどの可搬型記憶媒体が装着される。NIC100−1は、解析装置側通信部102に対応し、RAM100−3、ROM100−4、二次記憶装置100−5は、解析装置側記憶部130に対応する。二次記憶装置100−5、またはドライブ装置100−6に装着された可搬型記憶媒体に格納されたプログラムがDMA(Direct Memory Access)コントローラ(不図示)などによってRAM100−3に展開され、CPU100−2によって実行されることで、解析装置側制御部110の各機能部が実現される。解析装置側制御部110が参照するプログラムは、ネットワークNWを介して他の装置からダウンロードされてもよい。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
1…情報解析システム、10…端末装置、11…端末側通信部、12…受付部、13…表示部、14…端末側記憶部、15…端末側制御部、50…サーバ装置、51…サーバ側通信部、52…サーバ側記憶部、55…サーバ側制御部、100…情報解析装置、102…解析装置側通信部、110…解析装置側制御部、112…取得部、114…抽出部、116…機械学習部、118…検出部、120…出力制御部、130…解析装置側記憶部、132…教師データ、134…特徴量情報、136…学習条件情報、138…学習データ、140…不正ID情報、NW…ネットワーク

Claims (12)

  1. ユーザの識別情報を取得する取得部と、
    前記取得部により取得された前記ユーザの識別情報が示す文字列から、文字列または文字の存在確率に関する特徴量、文字列に含まれる特定の記号に関する特徴量、および地域によって異なるキーボードの配列に関する特徴量のうち少なくとも一部を抽出する抽出部と、
    前記抽出部により前記文字列から抽出された特徴量の中から、不正に取得されたユーザの識別情報を検出するための特徴量を、機械学習を用いて選択する機械学習部と、
    を備える情報解析装置。
  2. 前記文字列または文字の存在確率に関する特徴量は、前記文字列または文字の存在確率のエントロピー値に基づく特徴量である、
    請求項1に記載の情報解析装置。
  3. 前記機械学習部は、
    前記抽出部により抽出された複数の特徴量のそれぞれを素性として、前記素性を正例および負例に分類する2値分類問題を解き、
    前記2値分類問題におけるスコアが最も高い特徴量の組み合わせを、前記不正に取得されたユーザの識別情報を検出するための特徴量として選択する、
    請求項1または2に記載の情報解析装置。
  4. 前記文字列または文字の存在確率に関する特徴量は、前記文字列の長さに応じて値が変動する特徴量であり、
    前記機械学習部は、前記ユーザの識別情報が示す文字列の長さに制限を設けて前記スコアを導出する、
    請求項3に記載の情報解析装置。
  5. 前記地域が日本国である場合、前記キーボードの配列に関する特徴量を、QWERTY配列に関する特徴量とする、
    請求項1から4のうちいずれか1項に記載の情報解析装置。
  6. 前記機械学習部により選択された特徴量に基づいて、前記取得部により取得された複数のユーザの識別情報の中から、前記不正に取得されたユーザの識別情報を検出する検出部を更に備える、
    請求項1から5のうちいずれか1項に記載の情報解析装置。
  7. 前記抽出部により抽出された複数の特徴量のうち、前記文字列または文字の存在確率に関する特徴量に基づいて、前記取得部により取得された複数のユーザの識別情報の中から、前記不正に取得されたユーザの識別情報を検出する検出部を更に備える、
    請求項1から5のうちいずれか1項に記載の情報解析装置。
  8. 前記検出部は、前記文字列または文字の存在確率に関する特徴量が閾値を超える場合に、閾値を超えた前記文字列または文字の存在確率に関する特徴量の抽出元であるユーザの識別情報を、前記不正に取得されたユーザの識別情報として検出する、
    請求項7に記載の情報解析装置。
  9. ユーザの識別情報を取得する取得部と、
    前記取得部により取得された前記ユーザの識別情報が示す文字列から、文字列または文字の存在確率に関する特徴量を抽出する抽出部と、
    前記文字列または文字の存在確率に関する特徴量が閾値を超える場合に、閾値を超えた前記文字列または文字の存在確率に関する特徴量の抽出元であるユーザの識別情報を、不正に取得されたユーザの識別情報として検出する検出部と、
    を備える情報解析装置。
  10. 請求項7から9のうちいずれか1項に記載の情報解析装置と、
    前記ユーザの識別情報の入力操作を受け付ける受付部と、
    前記受付部により受け付けられた前記ユーザの識別情報の入力操作に基づいて、ユーザの認証を行う認証部と、を備え、
    前記認証部は、前記検出部により前記不正に取得されたユーザの識別情報として検出されたユーザの識別情報が、前記受付部によって受け付けられた場合、前記認証の難易度を変更する、
    情報解析システム。
  11. コンピュータが、
    ユーザの識別情報を取得し、
    前記取得した前記ユーザの識別情報が示す文字列から、文字列または文字の存在確率に関する特徴量、文字列に含まれる特定の記号に関する特徴量、および地域によって異なるキーボードの配列に関する特徴量のうち少なくとも一部を抽出し、
    前記文字列から抽出した特徴量の中から、不正に取得されたユーザの識別情報を検出するための特徴量を、機械学習を用いて選択する、
    情報解析方法。
  12. コンピュータに、
    ユーザの識別情報を取得させ、
    前記取得させた前記ユーザの識別情報が示す文字列から、文字列または文字の存在確率に関する特徴量、文字列に含まれる特定の記号に関する特徴量、および地域によって異なるキーボードの配列に関する特徴量のうち少なくとも一部を抽出させ、
    前記文字列から抽出させた特徴量の中から、不正に取得されたユーザの識別情報を検出するための特徴量を、機械学習を用いて選択させる、
    情報解析プログラム。
JP2016227589A 2016-11-24 2016-11-24 情報解析装置、情報解析システム、情報解析方法、および情報解析プログラム Active JP6680666B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016227589A JP6680666B2 (ja) 2016-11-24 2016-11-24 情報解析装置、情報解析システム、情報解析方法、および情報解析プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016227589A JP6680666B2 (ja) 2016-11-24 2016-11-24 情報解析装置、情報解析システム、情報解析方法、および情報解析プログラム

Publications (2)

Publication Number Publication Date
JP2018084953A true JP2018084953A (ja) 2018-05-31
JP6680666B2 JP6680666B2 (ja) 2020-04-15

Family

ID=62238406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016227589A Active JP6680666B2 (ja) 2016-11-24 2016-11-24 情報解析装置、情報解析システム、情報解析方法、および情報解析プログラム

Country Status (1)

Country Link
JP (1) JP6680666B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192122A (ja) * 2007-01-09 2008-08-21 Nec Corp 悪意メール検出装置、検出方法およびプログラム
JP2010102690A (ja) * 2008-09-24 2010-05-06 Canon Inc 情報処理装置及び方法
JP2011164779A (ja) * 2010-02-05 2011-08-25 Sony Corp 情報処理装置、情報処理方法、及びプログラム
JP2014192687A (ja) * 2013-03-27 2014-10-06 Ricoh Co Ltd 画像処理システム、操作部、制御方法及びプログラム
JP2015170219A (ja) * 2014-03-07 2015-09-28 株式会社日立システムズ アクセス管理方法およびアクセス管理システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192122A (ja) * 2007-01-09 2008-08-21 Nec Corp 悪意メール検出装置、検出方法およびプログラム
JP2010102690A (ja) * 2008-09-24 2010-05-06 Canon Inc 情報処理装置及び方法
JP2011164779A (ja) * 2010-02-05 2011-08-25 Sony Corp 情報処理装置、情報処理方法、及びプログラム
JP2014192687A (ja) * 2013-03-27 2014-10-06 Ricoh Co Ltd 画像処理システム、操作部、制御方法及びプログラム
JP2015170219A (ja) * 2014-03-07 2015-09-28 株式会社日立システムズ アクセス管理方法およびアクセス管理システム

Also Published As

Publication number Publication date
JP6680666B2 (ja) 2020-04-15

Similar Documents

Publication Publication Date Title
US11475143B2 (en) Sensitive data classification
US10839790B2 (en) Sequence-to-sequence convolutional architecture
CN105279405B (zh) 触屏用户按键行为模式构建与分析系统及其身份识别方法
US10733387B1 (en) Optimizing machine translations for user engagement
US11516210B1 (en) Image-based authentication systems and methods
JP2020030868A (ja) 画像ベースのcaptchaチャレンジ
US20140095308A1 (en) Advertisement distribution apparatus and advertisement distribution method
US20170371866A1 (en) Language model using reverse translations
US20180067920A1 (en) Dictionary updating apparatus, dictionary updating method and computer program product
US20100228804A1 (en) Constructing image captchas utilizing private information of the images
CN109033798B (zh) 一种基于语义的点选验证码识别方法及其装置
US20180268307A1 (en) Analysis device, analysis method, and computer readable storage medium
US11361068B2 (en) Securing passwords by using dummy characters
US11748578B1 (en) Predictive text system
CN106874253A (zh) 识别敏感信息的方法及装置
US10133859B2 (en) Managing registration of user identity using handwriting
JP6719399B2 (ja) 解析装置、解析方法、およびプログラム
US8752144B1 (en) Targeted biometric challenges
JP2018156473A (ja) 解析装置、解析方法、およびプログラム
US10318640B2 (en) Identifying risky translations
CN113641767A (zh) 实体关系抽取方法、装置、设备及存储介质
US20220083910A1 (en) Learning model applying system, a learning model applying method, and a program
Kim et al. Spyware resistant smartphone user authentication scheme
JP6680666B2 (ja) 情報解析装置、情報解析システム、情報解析方法、および情報解析プログラム
Thao et al. Human factors in homograph attack recognition

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190325

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200122

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200319

R150 Certificate of patent or registration of utility model

Ref document number: 6680666

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350