(57)【要約】【課題】ＳＮＳにおいて、発言を投稿しているユーザがボットであるか否かを、ＳＮＳの特性およびボットの特性を利用して、学習データを必要とせずに、効率よく判定すること。【解決手段】ボット判定装置１００は、ＳＮＳに投稿された発言の投稿ユーザ情報および投稿日時情報を少なくとも含む発言情報を記憶する発言記憶部１２０と、判定対象ユーザについて、発言記憶部１２０に記憶されている発言情報に基づいて、判定対象ユーザ内または他ユーザと判定対象ユーザ間の少なくとも一方における投稿タイミングの規則性を示す規則性指数を算出する規則性指数算出部１３０と、規則性指数算出部１３０で算出された規則性指数と、予め設定されたしきい値とを比較することによって、判定対象ユーザがボットであるか否かを判定するユーザ判定部１１０と、を備える。【選択図】図１
2015141456.tif 000002
【特許請求の範囲】
【請求項１】
投稿された発言の受け付けと公開を行うＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）において、前記発言を投稿しているユーザがボットであるか否かを判定するボット判定装置であって、
前記ＳＮＳに投稿された発言の投稿ユーザ情報および投稿日時情報を少なくとも含む発言情報を記憶する発言記憶手段と、
判定対象ユーザについて、前記発言記憶手段に記憶されている発言情報に基づいて、判定対象ユーザ内または他ユーザと判定対象ユーザ間の少なくとも一方における投稿タイミングの規則性を示す規則性指数を算出する規則性指数算出手段と、
前記規則性指数算出手段で算出された規則性指数と、予め設定されたしきい値とを比較することによって、前記判定対象ユーザが前記ボットであるか否かを判定するユーザ判定手段と、
を備えるボット判定装置。
【請求項２】
前記規則性指数算出手段が、
前記発言記憶手段に記憶されている発言情報に基づいて、前記判定対象ユーザの各投稿日時情報に、当該各投稿日時情報に最も近い前記他ユーザそれぞれの投稿日時情報を対応付けた最近傍投稿日時リストを取得する最近傍投稿日時リスト取得手段と、
前記最近傍投稿日時リスト取得手段で取得した前記最近傍投稿日時リストに基づいて、前記他ユーザそれぞれと前記判定対象ユーザとの投稿タイミングの関連性を示す個別相関係数を算出する個別相関係数算出手段と、
前記個別相関係数算出手段で算出された個別相関係数の中から、前記判定対象ユーザの前に発言を投稿する傾向を有する他ユーザの個別相関係数を前記最近傍投稿日時リスト取得手段で取得した最近傍投稿日時リストに基づいて抽出し、抽出した個別相関係数の最大相関係数をタイミング相関係数として決定するタイミング相関係数決定手段と、
を備え、
前記ユーザ判定手段が、前記タイミング相関係数と、前記予め設定されたしきい値との大小関係から、前記判定対象ユーザが前記ボットであるか否かを判定することを特徴とする請求項１に記載のボット判定装置。
【請求項３】
前記発言記憶手段の発言情報は、前記ＳＮＳに投稿された各発言の他発言との関係を示す発言間関係情報を更に含み、
前記規則性指数算出手段が、
前記発言記憶手段に記憶されている発言情報に基づいて、前記判定対象ユーザの応答発言の投稿日時情報のリストである応答日時リストを取得する応答日時リスト取得手段と、
前記発言記憶手段に記憶されている発言情報に基づいて、前記判定対象ユーザの応答発言の元発言の投稿日時情報のリストである元投稿日時リストを取得する元投稿日時リスト取得手段と、
前記応答日時リスト取得手段で取得した応答日時リストと、前記元投稿日時リスト取得手段で取得した元投稿日時リストとに基づいて、前記判定対象ユーザが前記応答発言を投稿するまでの応答時間を算出し、算出した応答時間の平均を前記判定対象ユーザのユーザ応答時間として決定するユーザ応答時間決定手段と、
を備え、
前記ユーザ判定手段が、前記ユーザ応答時間決定手段で取得されたユーザ応答時間と、前記予め設定されたしきい値との大小関係から、前記判定対象ユーザが前記ボットであるか否かを判定することを特徴とする請求項１または請求項２に記載のボット判定装置。
【請求項４】
前記規則性指数算出手段が、
前記発言記憶手段に記憶されている発言情報に基づいて、前記判定対象ユーザと一の前記他ユーザとの間で所定の間隔以下で連続的に発言がやり取りされている連続応答区間の発言情報を抽出する連続応答区間抽出手段と、
前記連続応答区間抽出手段で抽出された連続応答区間の発言情報に基づいて、当該連続応答区間内に含まれる各発言の応答間隔を算出し、算出した応答間隔の差分から交替潜時特徴量を算出する交替潜時特徴量算出手段と、
を備え、
前記ユーザ判定手段が、前記交替潜時特徴量算出手段で算出した交替潜時特徴量から、前記判定対象ユーザが前記ボットであるか否かを判定することを特徴とする請求項３に記載のボット判定装置。
【請求項５】
前記発言記憶手段の発言情報は、前記ＳＮＳに投稿された各発言の内容情報を更に含み、
前記規則性指数算出手段が、
前記連続応答区間抽出手段で抽出された連続応答区間の発言情報に含まれる内容情報に基づいて、当該連続応答区間内に含まれる各発言が前発言に同意するか否かを判定する同意判定手段を備え、
前記交替潜時特徴量算出手段が、当該連続応答区間内に含まれる各発言の前記同意判定手段の判定結果によって、前記応答間隔に重み付けを行うことを特徴とする請求項４に記載のボット判定装置。
【請求項６】
前記規則性指数算出手段が、
前記発言記憶手段に記憶されている発言情報に基づいて、前記判定対象ユーザの投稿日時情報のリストを取得する解析投稿日時リスト取得手段と、
前記解析投稿日時リスト取得手段で取得した前記判定対象ユーザの投稿日時情報のリストをスペクトル解析し、振幅スペクトルの最大振幅値を周期性指数として取得するスペクトル解析手段と、
を備え、
前記ユーザ判定手段が、前記スペクトル解析手段で取得された周期性指数と、前記予め設定されたしきい値との大小関係から、前記判定対象ユーザが前記ボットであるか否かを判定することを特徴とする請求項１から請求項５のいずれかに記載のボット判定装置。
【請求項７】
前記スペクトル解析手段が、離散フーリエ変換法またはｐｉｃｃｏｌｏ法を用いて、前記解析投稿日時リスト取得手段で取得した前記判定対象ユーザの投稿日時情報のリストを解析し、前記周期性指数を算出することを特徴とする請求項６に記載のボット判定装置。
【請求項８】
前記発言記憶手段は、前記ＳＮＳに投稿された各発言の他発言との関係を示す発言間関係情報を更に発言情報に含め、
解析投稿日時リスト取得手段が、前記発言記憶手段に記憶されている発言情報の発言間関係情報に基づいて、前記判定対象ユーザについて、応答発言以外の発言の投稿日時情報のリストを取得することを特徴とする請求項６または請求項７に記載のボット判定装置。
【請求項９】
投稿された発言の受け付けと公開を行うＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）において、前記発言を投稿しているユーザがボットであるか否かを判定するボット判定装置であって、
前記ＳＮＳに投稿された発言の投稿ユーザ情報および投稿日時情報を少なくとも含む発言情報を記憶する発言記憶手段と、
判定対象ユーザについて、前記発言記憶手段に記憶されている発言情報に基づいて、判定対象ユーザ内または他ユーザと判定対象ユーザ間の少なくとも一方における投稿タイミングの規則性を示す複数種類の規則性指数を算出する規則性指数算出手段と、
ボットであると判定されているユーザおよび当該ボットでないと判定されているユーザそれぞれの前記複数種類の規則性指数を教師データとして、所定の学習アルゴリズムを用いて、前記複数種類の規則性指数それぞれを重み付けして統合した統合モデルを学習する統合モデル学習手段と、
判定対象ユーザについて前記規則性指数算出手段で算出された前記複数種類の規則性指数と前記統合モデル学習手段で学習された統合モデルに基づいて、前記判定対象ユーザがボットであるか否かを判定する統合モデル判定手段と、
を備えるボット判定装置。
【請求項１０】
投稿された発言の受け付けと公開を行うＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）において、前記発言を投稿しているユーザがボットであるか否かを判定するボット判定装置におけるボット判定方法であって、
前記ボット判定装置が、前記ＳＮＳに投稿された発言の投稿ユーザ情報および投稿日時情報を少なくとも含む発言情報を記憶する発言記憶手段と、規則性指数算出手段と、ユーザ判定手段と、を備え、
前記ユーザ判定手段が、前記ボットか否かの判定を行う判定対象ユーザの入力を受け付ける第１のステップと、
前記規則性指数算出手段が、前記判定対象ユーザについて、前記発言記憶手段に記憶されている発言情報に基づいて、判定対象ユーザ内または他ユーザと判定対象ユーザ間の少なくとも一方における投稿タイミングの規則性を示す規則性指数を算出する第２のステップと、
前記ユーザ判定手段が、前記第２のステップで算出された規則性指数と、予め設定されたしきい値とを比較することによって、前記判定対象ユーザが前記ボットであるか否かを判定する第３のステップと、
を含むボット判定方法。
【請求項１１】
投稿された発言の受け付けと公開を行うＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）において、前記発言を投稿しているユーザがボットであるか否かを判定するボット判定装置におけるボット判定方法をコンピュータに実行させるためのプログラムであって、
前記ボット判定装置が、前記ＳＮＳに投稿された発言の投稿ユーザ情報および投稿日時情報を少なくとも含む発言情報を記憶する発言記憶手段と、規則性指数算出手段と、ユーザ判定手段と、を備え、
前記ユーザ判定手段が、前記ボットか否かの判定を行う判定対象ユーザの入力を受け付ける第１のステップと、
前記規則性指数算出手段が、前記判定対象ユーザについて、前記発言記憶手段に記憶されている発言情報に基づいて、判定対象ユーザ内または他ユーザと判定対象ユーザ間の少なくとも一方における投稿タイミングの規則性を示す規則性指数を算出する第２のステップと、
前記ユーザ判定手段が、前記第２のステップで算出された規則性指数と、予め設定されたしきい値とを比較することによって、前記判定対象ユーザが前記ボットであるか否かを判定する第３のステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）において、発言を投稿しているユーザがボットであるか否かを判定するボット判定装置、ボット判定方法、およびプログラムに関する。
【背景技術】
【０００２】
インターネット上には情報検索の邪魔となる広告等の情報（スパム）が大量に存在しており、それらを取り除く様々な研究が行われている。ＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）上においても、ボット（ｂｏｔ）と呼ばれる、ルールに基づき自動で発言するシステムが大量に存在し、これらがユーザに代わって自動的に出力する発言が、ＳＮＳから情報収集を行う際の大きな妨げとなっている。
【０００３】
既存のメール／ＵＲＬのスパムフィルタでは、正例・負例が予め与えられていれば、ベイズ推定（例えば、非特許文献１参照）等の教師つき学習を用いて、スパムの判別が可能である。これらは基本的にスパムの正解例と似ているかどうかで判定するため、利用される単語が日々変化するＳＮＳ上で用いるためには、スパムの正否を人手で示した教師データを日々更新して行く必要があり、大変な労力を必要とするという問題点があった。
【０００４】
この問題に対し、本文やＵＲＬ参照先といったメタ情報や、ヘッダ／タグ／スクリプト等の構造情報といった、比較的変化が少ない特徴を基準として判定する手法（例えば、非特許文献２参照）が提案されているが、スパムが持つ上記の特徴が変化した場合は、やはり新たに学習データを更新する必要があった。
【０００５】
一方で、文書間の類似性を評価し、類似する文書が多数あればそれをスパムとして判定することで、正／負の教師データ無しにスパムを判定する手法が提案されている（例えば、特許文献１、非特許文献３参照）。特許文献１では、メールのスパム判定をするために受信用のアカウントを複数用意し、２つのアカウントの受信した結果を比較し、類似するメールがあった場合はスパムと判定する手法が提案されている。また、非特許文献３では、この手法を更に一般化し、受け取ったメールの本文文書からハッシュ特徴量を抽出し、特徴空間内に存在するメールの密度を計算することで、類似するメール群を抽出する手法が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−８６８２１号公報
【非特許文献】
【０００７】
【非特許文献１】Ｐａｕｌ  Ｇｒａｈａｍ．Ａ  ｐｌａｎ  ｆｏｒ  ｓｐａｍ，Ｉｎ  Ｐ．Ｇｒａｈａｍ，Ｈａｃｋｅｒｓ  ａｎｄＰａｉｎｔｅｒｓ．Ｏ‘Ｒｅｉｌｌｙ．Ｏ’Ｒｅｉｌｌｙ，２００４．
【非特許文献２】北村順平，青野雅樹“ウェブサイト間の類似度を用いたウェブスパムの検出”，ＤＢＳＪ  Ｊｏｕｒｎａｌ，Ｖｏｌ．８，Ｎｏ．１，ｐｐ．１４３−１４８，２００９．
【非特許文献３】Ｄｅｎｓｉｔｙ−Ｂａｓｅｄ  Ｓｐａｍ  Ｄｅｔｅｃｔｏｒ，Ｋｅｎｉｃｈｉ  Ｙｏｓｈｉｄａ，Ｆｕｊｉｍｏｒｉ  Ａｄａｃｈｉ，Ｔａｋａｓｈｉ  Ｗａｓｈｉｏ，Ｈｉｒｏｓｈｉ  Ｍｏｔｏｄａ，Ｔｅｒｕａｋｉ  Ｈｏｍｍａ，Ａｋｉｈｉｒｏ  Ｈａｋａｓｈｉｍａ，Ｈｉｒｏｍｉｔｓｕ  Ｆｕｊｉｋａｗａ  ａｎｄ  Ｋａｔｓｕｙｕｋｉ  Ｙａｍａｚａｋｉ，ＩＥＩＣＥ  Ｔｒａｎｓ．Ｉｎｆ．＆Ｓｙｓｔ．，Ｖｏｌ．Ｅ８７−Ｄ，  Ｎｏ．１２，ｐｐ．２６７８−２６８８，２００４年１２月（特開２００５−２０２５９０号公報）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、ＳＮＳにおいてはメールとは異なりユーザＩＤは使い捨てされない。そのため、スパムと判定される発言が多いユーザはボットであって、そのユーザの発言はスパムと判定されるのが正しい。しかしながら、非特許文献１から３、および特許文献１で提案されている手法では、発言（文書）１件毎にスパムの判定をしているため、ボットであるユーザの発言であっても、スパムと判定された発言と類似していなければ、スパムと判定されず、効率よくスパムを除去できないという問題点があった。
【０００９】
そこで、本発明は上記課題に鑑み、ＳＮＳにおいて、発言を投稿しているユーザがボットであるか否かを、ユーザＩＤが使い捨てされないというＳＮＳの特性、および発言の投稿は予めプログラムされたルールに従って行うというボットの特性を利用して、学習データを必要とせずに、効率よく判定するボット判定装置、ボット判定方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
【００１１】
（１）  本発明は、投稿された発言の受け付けと公開を行うＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）において、前記発言を投稿しているユーザがボットであるか否かを判定するボット判定装置（例えば、図１のボット判定装置１００）であって、前記ＳＮＳに投稿された発言の投稿ユーザ情報および投稿日時情報を少なくとも含む発言情報を記憶する発言記憶手段（例えば、図１の発言記憶部１２０）と、判定対象ユーザについて、前記発言記憶手段に記憶されている発言情報に基づいて、判定対象ユーザ内または他ユーザと判定対象ユーザ間の少なくとも一方における投稿タイミングの規則性を示す規則性指数を算出する規則性指数算出手段（例えば、図１の規則性指数算出部１３０）と、前記規則性指数算出手段で算出された規則性指数と、予め設定されたしきい値とを比較することによって、前記判定対象ユーザが前記ボットであるか否かを判定するユーザ判定手段（例えば、図１のユーザ判定部１１０）と、を備えるボット判定装置を提案している。
【００１２】
（２）  本発明は、（１）のボット判定装置について、前記規則性指数算出手段が、前記発言記憶手段に記憶されている発言情報に基づいて、前記判定対象ユーザの各投稿日時情報に、当該各投稿日時情報に最も近い前記他ユーザそれぞれの投稿日時情報を対応付けた最近傍投稿日時リストを取得する最近傍投稿日時リスト取得手段（例えば、図１の最近傍投稿日時リスト取得部１４１）と、前記最近傍投稿日時リスト取得手段で取得した前記最近傍投稿日時リストに基づいて、前記他ユーザそれぞれと前記判定対象ユーザとの投稿タイミングの関連性を示す個別相関係数を算出する個別相関係数算出手段（例えば、図１の個別相関係数算出部１４２）と、前記個別相関係数算出手段で算出された個別相関係数の中から、前記判定対象ユーザの前に発言を投稿する傾向を有する他ユーザの個別相関係数を前記最近傍投稿日時リスト取得手段で取得した最近傍投稿日時リストに基づいて抽出し、抽出した個別相関係数の最大相関係数をタイミング相関係数として決定するタイミング相関係数決定手段（例えば、図１のタイミング相関係数決定部１４３）と、を備え、前記ユーザ判定手段が、前記タイミング相関係数と、前記予め設定されたしきい値との大小関係から、前記判定対象ユーザが前記ボットであるか否かを判定することを特徴とするボット判定装置を提案している。
【００１３】
（３）  本発明は、（１）または（２）のボット判定装置について、前記発言記憶手段の発言情報は、前記ＳＮＳに投稿された各発言の他発言との関係を示す発言間関係情報を更に含み、前記規則性指数算出手段が、前記発言記憶手段に記憶されている発言情報に基づいて、前記判定対象ユーザの応答発言の投稿日時情報のリストである応答日時リストを取得する応答日時リスト取得手段（例えば、図１の応答日時リスト取得部１５１）と、前記発言記憶手段に記憶されている発言情報に基づいて、前記判定対象ユーザの応答発言の元発言の投稿日時情報のリストである元投稿日時リストを取得する元投稿日時リスト取得手段（例えば、図１の元投稿日時リスト取得部１５２）と、前記応答日時リスト取得手段で取得した応答日時リストと、前記元投稿日時リスト取得手段で取得した元投稿日時リストとに基づいて、前記判定対象ユーザが前記応答発言を投稿するまでの応答時間を算出し、算出した応答時間の平均を前記判定対象ユーザのユーザ応答時間として決定するユーザ応答時間決定手段（例えば、図１のユーザ応答時間決定部１５３）と、を備え、前記ユーザ判定手段が、前記ユーザ応答時間決定手段で取得されたユーザ応答時間と、前記予め設定されたしきい値との大小関係から、前記判定対象ユーザが前記ボットであるか否かを判定することを特徴とするボット判定装置を提案している。
【００１４】
（４）  本発明は、（３）のボット判定装置について、前記規則性指数算出手段が、前記発言記憶手段に記憶されている発言情報に基づいて、前記判定対象ユーザと一の前記他ユーザとの間で所定の間隔以下で連続的に発言がやり取りされている連続応答区間の発言情報を抽出する連続応答区間抽出手段（例えば、図１の連続応答区間抽出部１６１）と、前記連続応答区間抽出手段で抽出された連続応答区間の発言情報に基づいて、当該連続応答区間内に含まれる各発言の応答間隔を算出し、算出した応答間隔の差分から交替潜時特徴量を算出する交替潜時特徴量算出手段（例えば、図１の交替潜時特徴量算出部１６０）と、を備え、前記ユーザ判定手段が、前記交替潜時特徴量算出手段で算出した交替潜時特徴量から、前記判定対象ユーザが前記ボットであるか否かを判定することを特徴とするボット判定装置を提案している。
【００１５】
（５）  本発明は、（４）のボット判定装置について、前記発言記憶手段の発言情報は、前記ＳＮＳに投稿された各発言の内容情報を更に含み、前記規則性指数算出手段が、前記連続応答区間抽出手段で抽出された連続応答区間の発言情報に含まれる内容情報に基づいて、当該連続応答区間内に含まれる各発言が前発言に同意するか否かを判定する同意判定手段（例えば、図１の同意判定部１６２）を備え、前記交替潜時特徴量算出手段が、当該連続応答区間内に含まれる各発言の前記同意判定手段の判定結果によって、前記応答間隔に重み付けを行うことを特徴とするボット判定装置を提案している。
【００１６】
（６）  本発明は、（１）から（５）のボット判定装置について、前記規則性指数算出手段が、前記発言記憶手段に記憶されている発言情報に基づいて、前記判定対象ユーザの投稿日時情報のリストを取得する解析投稿日時リスト取得手段（例えば、図１の解析投稿日時リスト取得部１７１）と、前記解析投稿日時リスト取得手段で取得した前記判定対象ユーザの投稿日時情報のリストをスペクトル解析し、振幅スペクトルの最大振幅値を周期性指数として取得するスペクトル解析手段（例えば、図１のスペクトル解析部１７２）と、を備え、前記ユーザ判定手段が、前記スペクトル解析手段で取得された周期性指数と、前記予め設定されたしきい値との大小関係から、前記判定対象ユーザが前記ボットであるか否かを判定することを特徴とするボット判定装置を提案している。
【００１７】
（７）  本発明は、（６）のボット判定装置について、前記スペクトル解析手段が、離散フーリエ変換法またはｐｉｃｃｏｌｏ法を用いて、前記解析投稿日時リスト取得手段で取得した前記判定対象ユーザの投稿日時情報のリストを解析し、前記周期性指数を算出することを特徴とするボット判定装置を提案している。
【００１８】
（８）  本発明は、（６）または（７）のボット判定装置について、前記発言記憶手段は、前記ＳＮＳに投稿された各発言の他発言との関係を示す発言間関係情報を更に発言情報に含め、解析投稿日時リスト取得手段が、前記発言記憶手段に記憶されている発言情報の発言間関係情報に基づいて、前記判定対象ユーザについて、応答発言以外の発言の投稿日時情報のリストを取得することを特徴とするボット判定装置を提案している。
【００１９】
（９）  本発明は、投稿された発言の受け付けと公開を行うＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）において、前記発言を投稿しているユーザがボットであるか否かを判定するボット判定装置（例えば、図２のボット判定装置２００）であって、前記ＳＮＳに投稿された発言の投稿ユーザ情報および投稿日時情報を少なくとも含む発言情報を記憶する発言記憶手段と、判定対象ユーザについて、前記発言記憶手段に記憶されている発言情報に基づいて、判定対象ユーザ内または他ユーザと判定対象ユーザ間の少なくとも一方における投稿タイミングの規則性を示す複数種類の規則性指数を算出する規則性指数算出手段（例えば、図２の規則性指数算出部１３１）と、ボットであると判定されているユーザおよび当該ボットでないと判定されているユーザそれぞれの前記複数種類の規則性指数を教師データとして、所定の学習アルゴリズムを用いて、前記複数種類の規則性指数それぞれを重み付けして統合した統合モデルを学習する統合モデル学習手段（例えば、図２の統合モデル学習部２１０）と、判定対象ユーザについて前記規則性指数算出手段で算出された前記複数種類の規則性指数と前記統合モデル学習手段で学習された統合モデルに基づいて、前記判定対象ユーザがボットであるか否かを判定する統合モデル判定手段（例えば、図２の統合モデル判定部２３０）と、を備えるボット判定装置を提案している。
【００２０】
（１０）  本発明は、投稿された発言の受け付けと公開を行うＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）において、前記発言を投稿しているユーザがボットであるか否かを判定するボット判定装置におけるボット判定方法であって、前記ボット判定装置が、前記ＳＮＳに投稿された発言の投稿ユーザ情報および投稿日時情報を少なくとも含む発言情報を記憶する発言記憶手段と、規則性指数算出手段と、ユーザ判定手段と、を備え、前記ユーザ判定手段が、前記ボットか否かの判定を行う判定対象ユーザの入力を受け付ける第１のステップ（例えば、図２のステップＳ１）と、前記規則性指数算出手段が、前記判定対象ユーザについて、前記発言記憶手段に記憶されている発言情報に基づいて、判定対象ユーザ内または他ユーザと判定対象ユーザ間の少なくとも一方における投稿タイミングの規則性を示す規則性指数を算出する第２のステップ（例えば、図２のステップＳ２からＳ７）と、前記ユーザ判定手段が、前記第２のステップで算出された規則性指数と、予め設定されたしきい値とを比較することによって、前記判定対象ユーザが前記ボットであるか否かを判定する第３のステップ（例えば、図２のステップＳ８からＳ１０）と、を含むボット判定方法を提案している。
【００２１】
（１１）  本発明は、投稿された発言の受け付けと公開を行うＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）において、前記発言を投稿しているユーザがボットであるか否かを判定するボット判定装置におけるボット判定方法をコンピュータに実行させるためのプログラムであって、前記ボット判定装置が、前記ＳＮＳに投稿された発言の投稿ユーザ情報および投稿日時情報を少なくとも含む発言情報を記憶する発言記憶手段と、規則性指数算出手段と、ユーザ判定手段と、を備え、前記ユーザ判定手段が、前記ボットか否かの判定を行う判定対象ユーザの入力を受け付ける第１のステップ（例えば、図２のステップＳ１）と、前記規則性指数算出手段が、前記判定対象ユーザについて、前記発言記憶手段に記憶されている発言情報に基づいて、判定対象ユーザ内または他ユーザと判定対象ユーザ間の少なくとも一方における投稿タイミングの規則性を示す規則性指数を算出する第２のステップ（例えば、図２のステップＳ２からＳ７）と、前記ユーザ判定手段が、前記第２のステップで算出された規則性指数と、予め設定されたしきい値とを比較することによって、前記判定対象ユーザが前記ボットであるか否かを判定する第３のステップ（例えば、図２のステップＳ８からＳ１０）と、をコンピュータに実行させるためのプログラムを提案している。
【発明の効果】
【００２２】
本発明によれば、ＳＮＳにおいて、発言を投稿しているユーザがボットであるか否かを、ユーザＩＤが使い捨てされないというＳＮＳの特性、および発言の投稿は予めプログラムされたルールに従って行うというボットの特性を利用して、学習データを必要とせずに、効率よく判定することができる。その結果、ＳＮＳにおいて、ボットの発言を除くことができ、効率よくスパムを除去できる。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１の実施形態に係るボット判定装置の機能構成を示す図である。
【図２】本発明の第１の実施形態に係るボット判定装置におけるタイミング相関係数を用いたボット判定処理フローを示す図である。
【図３】本発明の第１の実施形態に係るボット判定装置におけるユーザ応答時間を用いたボット判定処理フローを示す図である。
【図４】本発明の第１の実施形態に係るボット判定装置における交替潜時特徴量を用いたボット判定処理フローを示す図である。
【図５】本発明の第１の実施形態に係るボット判定装置におけるスペクトル解析を用いたボット判定処理フローを示す図である。
【図６】本発明の第２の実施形態に係るボット判定装置の機能構成を示す図である。
【発明を実施するための形態】
【００２４】
以下、図面を用いて、本発明の実施形態について詳細に説明する。なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組み合わせを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００２５】
＜第１の実施形態＞
＜ボット判定装置の機能構成＞
図１は、本発明の第１の実施形態に係るボット判定装置１００の機能構成を示す図である。ボット判定装置１００は、ＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）において、発言を投稿しているユーザがボットであるか否かを判定する装置であって、ユーザ判定部１１０、発言記憶部１２０、規則性指数算出部１３０、およびしきい値記憶部１８０を備える。ここで、本発明におけるボットとは、広告等の情報（スパム）を発言する、機械による自動発言システムを意味する。
【００２６】
ユーザ判定部１１０は、ボットであるか否かを判定するユーザ（以下、判定対象ユーザという）のＳＮＳにおけるユーザＩＤ、または判定対象ユーザの発言情報が入力されたことに応じて、処理を開始して、ユーザＩＤまたは判定対象ユーザの発言情報を規則性指数算出部１３０に送信する。判定対象ユーザの発言情報が入力された場合には、ユーザ判定部１１０は、判定対象ユーザの発言情報を発言記憶部１２０に記憶する。発言情報については、後述する発言記憶部１２０にて説明する。
【００２７】
そして、ユーザ判定部１１０は、規則性指数算出部１３０から規則性指数を受信すると、規則性指数算出部１３０から受信した規則性指数と、しきい値記憶部１８０に記憶されているしきい値と、を比較して、判定対象ユーザがボットであるか否かを判定する。規則性指数とは判定対象ユーザの投稿タイミングの規則性をあらわす指数であって、ユーザ判定部１１０が規則性指数としきい値とを比較することによって、判定対象ユーザの発言タイミングに規則性があるか否かを判定する。
【００２８】
ボットによる発言の投稿は予めプログラムされたルールに従って行われるために、投稿のタイミングには規則性が生じるので、ユーザ判定部１１０は規則性があると判定した場合には、判定対象ユーザはボットであると判定し、一方、規則性がないと判定した場合には、判定対象ユーザはボットでない非ボットと判定する。
【００２９】
発言記憶部１２０は、ＳＮＳに投稿された発言の発言情報を記憶する。ここで、発言情報は、発言を投稿したユーザのユーザＩＤ、ＳＮＳに投稿された発言の投稿日時情報、ＳＮＳに投稿された各発言の他発言との関係を示す発言間関係情報、発言の内容を示す内容情報を含む。発言記憶部１２０に記憶される発言情報は、ＳＮＳのサーバから定期的に自動で取得されてもよいし、ボット判定装置１００の管理者が手動で登録を行ってもよい。
【００３０】
ここで、各発言の他発言との関係とは、各発言が、他ユーザが投稿した発言を再投稿（返信も含む）や引用投稿（言及も含む）している関係をいい、これらの関係にある発言を、本発明においては、応答発言という。例えば、発言間関係情報は、応答発言であるか、および応答対象の元発言を特定する情報を含み、投稿サイト内で適用される投稿ルールを利用して、「＠」に続いてプレーヤの投稿サイトユーザ名が含まれる投稿を抽出すること等により実現できる。
【００３１】
規則性指数算出部１３０は、タイミング相関係数算出部１４０、ユーザ応答時間算出部１５０、交替潜時特徴量算出部１６０、および周期性指数算出部１７０を備える。なお、規則性指数算出部１３０は、タイミング相関係数算出部１４０、ユーザ応答時間算出部１５０、交替潜時特徴量算出部１６０、および周期性指数算出部１７０のうち、少なくとも１つ備えていればよい。
【００３２】
タイミング相関係数算出部１４０は、判定対象ユーザと他ユーザとの間の発言の投稿タイミングの相関関係を表すタイミング相関係数を規則性指数として算出する。ところで、ボットによる発言の投稿は予めプログラムされたルールに従って行われるために、ボットによる発言の投稿は、特定ユーザの発言の投稿に追従するという規則性があることが多い。この場合には、ボットと特定ユーザとの間の発言の投稿タイミングに相関関係が表れるので、規則性指数としてタイミング相関係数を利用して、判定対象ユーザがボットか否かを判定することができる。
【００３３】
図１に示すように、タイミング相関係数算出部１４０は、最近傍投稿日時リスト取得部１４１、個別相関係数算出部１４２、およびタイミング相関係数決定部１４３を備える。
【００３４】
最近傍投稿日時リスト取得部１４１は、発言記憶部１２０に記憶されている発言情報に基づいて、判定対象ユーザの各投稿日時情報に、各投稿日時情報に最も近い他ユーザそれぞれの投稿日時情報を対応付けた最近傍投稿日時リストを取得する。
【００３５】
最近傍投稿日時リスト取得部１４１は、ユーザ判定部１１０から判定対象ユーザのユーザＩＤを取得すると、取得したユーザＩＤに基づいて、発言記憶部１２０から判定対象ユーザの投稿日時情報を取得する。最近傍投稿日時リスト取得部１４１は、発言記憶部１２０に記憶されている全投稿日時情報を取得してもよいし、期間を指定して、期間内の投稿日時情報のみを取得するようにしてもよい。
【００３６】
ユーザ判定部１１０から発言情報を取得した場合には、最近傍投稿日時リスト取得部１４１は、発言記憶部１２０から取得する判定対象ユーザの投稿日時情報の代わりに、ユーザ判定部１１０から発言情報に含まれる投稿日時情報を利用してもよい。また、最近傍投稿日時リスト取得部１４１は、ユーザ判定部１１０から取得した発言情報に含まれる判定対象ユーザのユーザＩＤに基づいて、発言記憶部１２０から判定対象ユーザの投稿日時情報を取得してもよい。
【００３７】
また、最近傍投稿日時リスト取得部１４１は、判定対象ユーザのユーザＩＤに基づいて判定対象ユーザ以外の他ユーザのユーザＩＤを発言記憶部１２０から取得する。なお、ユーザ判定部１１０から発言情報を取得した場合には、発言情報含まれる判定対象ユーザのユーザＩＤに基づいて、判定対象ユーザ以外の他ユーザのユーザＩＤを発言記憶部１２０から取得する。このとき、判定対象ユーザ以外であって、所定数以上の発言があるユーザのみを他ユーザとしてもよい。
【００３８】
最近傍投稿日時リスト取得部１４１は、取得した他ユーザのユーザＩＤに基づいて、他ユーザ毎に投稿日時情報を取得する。そして、最近傍投稿日時リスト取得部１４１は、他ユーザの投稿日時情報の中から、判定対象ユーザの各投稿日時情報に最も近い投稿日時情報それぞれを抽出し、判定対象ユーザの各投稿日時情報に対応付け、同処理を全他ユーザについて行って最近傍投稿日時リストを作成する。
【００３９】
個別相関係数算出部１４２は、最近傍投稿日時リスト取得部１４１で取得された最近傍投稿日時リストに基づいて、判定対象ユーザと他ユーザそれぞれとの投稿タイミングの関連性を示す、判定対象ユーザの投稿日時情報と他ユーザの投稿日時情報との個別相関係数を算出する。具体的には、以下の（１）式に最近傍投稿日時リストから判定対象ユーザのｉ番目の投稿日時情報と、他ユーザのｉ番目の投稿日時情報を代入して、判定対象ユーザと他ユーザとの個別相関係数を算出する。なお、個別相関係数算出部１４２は、全他ユーザについて判定対象ユーザとの相関係数を算出する。
【００４０】
【数１】
2015141456.tif 000003
【００４１】
タイミング相関係数決定部１４３は、個別相関係数算出部１４２で算出された個別相関係数の中から、判定対象ユーザの前に発言を投稿する傾向を有する他ユーザの個別相関係数を最近傍投稿日時リスト取得部１４１で取得した最近傍投稿日時リストに基づいて抽出し、抽出した個別相関係数の最大相関係数をタイミング相関係数として決定する。
【００４２】
具体的には、タイミング相関係数決定部１４３は、最近傍投稿日時リスト取得部１４１で取得された最近傍投稿日時リストに基づいて、判定対象ユーザの投稿日時情報の平均値と他ユーザそれぞれの投稿日時情報の平均値とを算出する。次に、タイミング相関係数決定部１４３は、判定対象ユーザの投稿日時情報の平均値よりも投稿日時情報の平均値が小さい他ユーザを特定する。判定対象ユーザの投稿日時情報の平均値よりも投稿日時情報の平均値が小さい他ユーザは、判定対象ユーザより前の投稿する傾向を有すると判断することができる。そして、タイミング相関係数決定部１４３は、特定した他ユーザと判定対象ユーザとの個別相関係数の最大値を、タイミング相関係数として決定する。
【００４３】
ボットによる発言の投稿は他ユーザの発言の投稿に追従するので、判定対象ユーザが追従している他ユーザとの個別相関係数の最大値を、ボットか否かの判定に用いるタイミング相関係数として決定する。タイミング相関係数決定部１４３は、判定対象ユーザの投稿日時情報の平均値よりも投稿日時情報の平均値が小さい他ユーザを特定することができない場合は、判定対象ユーザが追従している他ユーザがいないので、判定対象ユーザはボットでないと判断できる。この場合、ユーザ判定部１１０に判定対象ユーザがボットでないと必ず判断させるために、タイミング相関係数を０やマイナス値に置き換えることが望ましい。
【００４４】
タイミング相関係数は大きいほど、判定対象ユーザと他ユーザとの投稿タイミングに関連性があることを示す。規則性指数として算出されたタイミング相関係数としきい値記憶部１８０に記憶されているしきい値との大小関係を比較し、ユーザ判定部１１０は、タイミング相関係数がしきい値よりも大きい場合には、判定対象ユーザはボットであると判断し、一方、タイミング相関係数がしきい値以下の場合には、判定対象ユーザはボットでないと判断する。
【００４５】
ユーザ応答時間算出部１５０は、判定対象ユーザの応答時間を規則性指数として算出する。ところで、ボットによる発言の投稿は予めプログラムされたルールに従って行われるために、ボットは人よりも応答が速いという規則性があることが多ので、規則性指数として応答時間を利用して、判定対象ユーザがボットか否かを判定することができる。
【００４６】
図１に示すように、ユーザ応答時間算出部１５０は、応答日時リスト取得部１５１、元投稿日時リスト取得部１５２、およびユーザ応答時間決定部１５３を備える。
【００４７】
応答日時リスト取得部１５１は、ユーザ判定部１１０から判定対象ユーザのユーザＩＤを取得すると、取得したユーザＩＤに対応付けて発言記憶部１２０に記憶されている発言間関係情報に含まれる応答発言であるかの情報に基づいて、判定対象ユーザの応答発言の投稿日時情報のリストである応答日時リストを、発言記憶部１２０から取得する。
【００４８】
応答日時リスト取得部１５１は、ユーザ判定部１１０から判定対象ユーザの発言情報を取得した場合には、取得した発言情報に含まれる発言間関係情報に基づいて、判定対象ユーザの応答発言の投稿日時情報のリストである応答日時リストを取得する。なお、応答日時リスト取得部１５１は、ユーザ判定部１１０から取得した発言情報に含まれる判定対象ユーザのユーザＩＤに対応付けて発言記憶部１２０に記憶されている発言間関係情報に基づいて、応答日時リストを発言記憶部１２０から取得してもよい。
【００４９】
元投稿日時リスト取得部１５２は、ユーザ判定部１１０から判定対象ユーザのユーザＩＤを取得すると、取得したユーザＩＤに対応付けて発言記憶部１２０に記憶されている発言間関係情報に含まれる応答対象の元発言を特定する情報に基づいて、判定対象ユーザの各応答発言の元発言の投稿日時情報のリストである元投稿日時リストを、発言記憶部１２０から取得する。なお、元投稿日時リストのｉ番目の投稿日時情報は、応答日時リストのｉ番目の投稿日時情報に対応する応答発言の元発言である。
【００５０】
元投稿日時リスト取得部１５２は、ユーザ判定部１１０から判定対象ユーザの発言情報を取得した場合には、取得した発言情報の発言間関係情報に含まれる応答対象の元発言を特定する情報に基づいて、判定対象ユーザの各応答発言の元発言の投稿日時情報のリストである元投稿日時リストを取得する。なお、元投稿日時リスト取得部１５２は、ユーザ判定部１１０から取得した発言情報に含まれる判定対象ユーザのユーザＩＤに対応付けて発言記憶部１２０に記憶されている発言間関係情報に含まれる応答対象の元発言を特定する情報に基づいて、応答日時リストを発言記憶部１２０から取得してもよい。
【００５１】
ユーザ応答時間決定部１５３は、応答日時リストと元投稿日時リストとにおいて対応する投稿日時情報に基づいて、判定対象ユーザが各応答発言を投稿するまでの応答時間をそれぞれ算出し、算出した応答時間の平均を判定対象ユーザのユーザ応答時間として決定する。
【００５２】
応答時間が常に早いユーザはボットである可能性が高いことから、ユーザ判定部１１０は、ユーザ応答時間算出部１５０で算出されたユーザ応答時間をしきい値と比較し、しきい値よりもユーザ応答時間が小さい場合には、判定対象ユーザはボットであると判断し、一方、ユーザ応答時間がしきい値以上である場合には、判定対象ユーザは非ボットであると判断する。
【００５３】
交替潜時特徴量算出部１６０は、判定対象ユーザの交代潜時特徴量を規則性指数として算出する。ところで、人が２者間で対話する際には交代潜時が同調するが、ボットによる発言の投稿は予めプログラムされたルールに従って行われるために、交代潜時が同調しないという規則性があることが多ので、規則性指数として交代潜時特徴量を利用して、判定対象ユーザがボットか否かを判定することができる。
【００５４】
図１に示すように、交替潜時特徴量算出部１６０は、連続応答区間抽出部１６１、同意判定部１６２、および交替潜時特徴量決定部１６３を備える。
【００５５】
連続応答区間抽出部１６１は、発言記憶部１２０に記憶されている発言情報に基づいて、判定対象ユーザと一の他ユーザとリアルタイムに近い間隔で互いに向かって発言の投稿を所定回数繰り返している連続応答区間の発言情報を、発言記憶部１２０から抽出する。
【００５６】
具体的には、連続応答区間抽出部１６１は、まず、判定対象ユーザのユーザＩＤと、発言記憶部１２０に記憶されている発言間関係情報に含まれる応答対象の元発言を特定する情報および投稿日時情報とに基づいて、判定対象ユーザの発言と応答関係にあって、判定対象ユーザの発言との投稿間隔が所定時間以内にある発言を投稿しているユーザを連続応答ユーザ候補として抽出する。なお、ユーザ判定部１１０から発言情報を取得した場合には、最初に、ユーザ判定部１１０から取得した発言情報に含まれる判定対象ユーザのユーザＩＤを取得する。
【００５７】
次に、連続応答区間抽出部１６１は、発言記憶部１２０に記憶されている発言間関係情報に含まれる応答対象の元発言を特定する情報に基づいて、抽出した一の連続応答ユーザ候補の発言および判定対象ユーザの発言の中から応答関係にある発言の発言情報を抽出し、抽出した発言情報に含まれる投稿日時情報に基づいて、時系列に並べた発言時系列リストを作成する。連続応答区間抽出部１６１は、全ての連続応答ユーザ候補について、発言時系列リストを作成する。
【００５８】
そして、連続応答区間抽出部１６１は、作成した全発言時系列リストの中から投稿間隔が所定時間以内の発言が所定数以上続く区間を連続応答区間として特定し、全発言時系列リストから連続応答区間の発言情報を抽出する。
【００５９】
同意判定部１６２は、連続応答区間抽出部１６１で抽出された発言情報に含まれる内容情報に基づいて、連続応答区間の各発言が元発言に同意か不同意かを判定する。なお、同意でも不同意でもない中立かを含めて判定を行ってもよい。判定結果は、発言情報に付与する。
【００６０】
交替潜時特徴量算出部１６０は、連続応答区間抽出部１６１で抽出された連続応答区間の発言情報に含まれる投稿日時情報に基づいて、連続応答区間内に含まれる各発言の応答間隔を算出し、算出した応答間隔を以下の（２）式に代入して、交替潜時特徴量を算出する。
【００６１】
【数２】
2015141456.tif 000004
【００６２】
交替潜時特徴量算出部１６０は、連続応答区間の発言情報に同意判定部１６２の判定結果が付与されている場合には、判定結果に基づいて、連続応答区間内に含まれる各発言の応答間隔に重み付けを行う。そして、重み付けをした応答間隔を上述した（２）式に代入して、交替潜時特徴量を算出する。
【００６３】
相手に不同意の場合の応答時間は、同意の場合に応答時間に比べ長くなる傾向がある（非特許文献４：松山隆司，川嶋宏彰，平山高嗣，「時間と時間感覚に対する感性の情報処理」，電子情報通信学会誌  ９２（１１），９５２−９５４，２００９−１１−０１）。そのため、発言が同意か不同かによって応答時間に重み付けを行うことにより、より精度よく交替潜時特徴量を算出することが可能となる。
【００６４】
人間は２者間で対話する際、交替潜時が同調することから、ユーザ判定部１１０は、交代潜時特徴量が、しきい値「０」に収束する場合には、判定対象ユーザは非ボットであると判定し、一方、しきい値「０」に収束しない場合には、判定対象ユーザはボットであると判定する。
【００６５】
周期性指数算出部１７０は、解析投稿日時リスト取得部１７１、およびスペクトル解析部１７２を備える。
【００６６】
解析投稿日時リスト取得部１７１は、ユーザ判定部１１０から判定対象ユーザのユーザＩＤを取得すると、取得したユーザＩＤに対応付けて発言記憶部１２０に記憶されている発言情報に基づいて、判定対象ユーザの投稿日時情報のリストを解析投稿日時リストとして取得する。解析投稿日時リスト取得部１７１は、発言記憶部１２０に記憶されている全投稿日時情報を取得してもよいし、期間を指定して、期間内の投稿日時情報のみを取得するようにしてもよい。
【００６７】
ユーザ判定部１１０から発言情報を取得した場合には、解析投稿日時リスト取得部１７１は、発言記憶部１２０から取得する判定対象ユーザの投稿日時情報の代わりに、ユーザ判定部１１０から取得した発言情報から解析投稿日時リストを取得してもよい。なお、解析投稿日時リスト取得部１７１は、ユーザ判定部１１０から取得した発言情報に含まれる判定対象ユーザのユーザＩＤに基づいて、発言記憶部１２０から解析投稿日時リストを取得してもよい。
【００６８】
解析投稿日時リスト取得部１７１は、発言記憶部１２０に記憶されている発言情報に含まれる発言間関係情報に基づいて、判定対象ユーザについて、応答発言以外の発言の投稿日時情報のリストを解析投稿日時リストとして取得してもよい。それにより、より精度よく周期性の有無を判定することができる。他のユーザへの応答の発言は、予め設定されたルールには依存せず投稿されるため、周期性の有無を判定するにはノイズとなるからである。
【００６９】
スペクトル解析部１７２は、解析投稿日時リスト取得部１７１で取得した解析投稿日時リストをスペクトル解析する。具体的には、スペクトル解析部１７２は、発言の投稿を一定出力のインパルス応答信号の出力とみなして、スペクトル解析を行い、解析結果として振幅スペクトルを取得する。なお、スペクトル解析には、例えば、フーリエ変換やｐｉｃｃｏｌｏ法を用いる。そして、スペクトル解析部１７２は、取得した振幅スペクトルの最大振幅値を規則性指数として取得する。
【００７０】
ユーザ判定部１１０は、スペクトル解析部１７２で取得した最大振幅値がしきい値より大きければボットと判定し、一方、最大振幅値がしきい値以下であれば非ボットであると判定する。特定周期で発言が投稿されているほど、最大振幅値が大きくなるので、最大振幅値としきい値をと比較することにより判定対象ユーザがボットであるか否かを判定することができる。
【００７１】
しきい値記憶部１８０は、予め設定された規則性指数のしきい値を記憶する。具体的には、ボットの判定にユーザ間相関係数を用いる場合にはユーザ間相関係数のしきい値、ボットの判定に応答時間を用いる場合には応答時間のしきい値、ボットの判定に交代潜時特徴量を用いる場合には交代潜時特徴量のしきい値「０」、ボットの判定に最大振幅値を用いる場合には最大振幅値のしきい値が記憶されている。
【００７２】
＜タイミング相関係数を用いたボット判定処理フロー＞
図２は、本発明の第１の実施形態に係るボット判定装置１００における、タイミング相関係数を用いたボット判定処理フローを示す図である。
【００７３】
まず、ステップＳ１において、ユーザ判定部１１０が、外部から判定対象ユーザのユーザＩＤまたは判定対象ユーザの発言情報が入力されたか否かを判定する。入力されたと判定した場合（ＹＥＳ）には、ステップＳ２に処理を進め、一方、入力されていないと判定した場合（ＮＯ）には、処理を終了する。
【００７４】
次に、ステップＳ２において、最近傍投稿日時リスト取得部１４１は、判定対象ユーザの投稿日時情報を取得する。ユーザ判定部１１０から判定対象ユーザのユーザＩＤを受信した場合には、受信したユーザＩＤに基づいて投稿日時情報を発言記憶部１２０から取得する。一方、ユーザ判定部１１０から判定対象ユーザの発言情報を取得した場合には、発言情報に含まれるユーザＩＤに基づいて投稿日時情報を発言記憶部１２０から取得してもよいし、取得した発言情報から投稿日時情報を取得してもよい。
【００７５】
次に、ステップＳ３において、最近傍投稿日時リスト取得部１４１は、判定対象ユーザのユーザＩＤに基づいて判定対象ユーザ以外の他ユーザのユーザＩＤを発言記憶部１２０から取得する。
【００７６】
次に、ステップＳ４において、最近傍投稿日時リスト取得部１４１は、ステップＳ２で取得した判定対象ユーザの投稿日時情報と、ステップＳ３で取得した他ユーザそれぞれのユーザＩＤとに基づいて、発言記憶部１２０に記憶されている発言情報に基づいて、判定対象ユーザの各投稿日時情報に、各投稿日時情報に最も近い他ユーザそれぞれの投稿日時情報を対応付けた最近傍投稿日時リストを、発言記憶部１２０から取得する。
【００７７】
次に、ステップＳ５において、個別相関係数算出部１４２は、ステップＳ４で取得された最近傍投稿日時リストに基づいて、判定対象ユーザと他ユーザとの投稿タイミングの関連性を示し、判定対象ユーザの投稿日時情報と他ユーザそれぞれとの投稿日時情報との個別相関係数を算出する。
【００７８】
次に、ステップＳ６において、個別相関係数算出部１４２は、ステップＳ４で取得した最近傍投稿日時リストに含まれる全ての他ユーザについて個別相関係数を算出したか否かを判定する。全ての他ユーザの個別相関係数を算出した場合には、ステップＳ７に処理を進め、一方、まだ全ての他ユーザの個別相関係数を算出していない場合には、ステップＳ５に処理を戻す。
【００７９】
次に、ステップＳ７において、タイミング相関係数決定部１４３は、ステップＳ５で算出された個別相関係数の中から、判定対象ユーザの前に発言を投稿する傾向を有する他ユーザの個別相関係数をステップＳ４で取得した最近傍投稿日時リストに基づいて抽出し、抽出した個別相関係数の最大相関係数をタイミング相関係数として決定する。
【００８０】
次に、ステップＳ８において、ユーザ判定部１１０は、ステップＳ７で算出したタイミング相関係数がしきい値記憶部１８０に記憶されているしきい値より大きいか否かを判定する。タイミング相関係数がしきい値より大きいと判定した場合（ＹＥＳ）には、ステップＳ９に処理を進め、一方、タイミング相関係数がしきい値以下と判定した場合（ＮＯ）には、ステップＳ１０に処理を進める。
【００８１】
次に、ステップＳ９において、ユーザ判定部１１０は、判断対象ユーザはボットであると判定し、出力する。
【００８２】
次に、ステップＳ１０において、ユーザ判定部１１０は、判断対象ユーザは非ボットであると判定し、出力する。
【００８３】
＜ユーザ応答時間を用いたボット判定処理フロー＞
図３は、本発明の第１の実施形態に係るボット判定装置１００における、ユーザ応答時間を用いたボット判定処理フローを示す図である。なお、図２を用いて説明したタイミング相関係数を用いたボット判定処理フローと同一処理については、同一符号を付し、その詳細な説明は省略する。
【００８４】
次に、ステップＳ１１において、応答日時リスト取得部１５１は、判定対象ユーザの応答日時リストを取得する。ユーザ判定部１１０から判定対象ユーザのユーザＩＤを受信した場合には、受信したユーザＩＤに対応付けて発言記憶部１２０に記憶されている発言間関係情報に含まれる応答発言であるかの情報に基づいて、応答日時リストを発言記憶部１２０から取得する。一方、ユーザ判定部１１０から判定対象ユーザの発言情報を取得した場合には、発言情報に含まれるユーザＩＤに基づいて同様にして応答日時リストを発言記憶部１２０から取得してもよいし、ユーザ判定部１１０から取得した発言情報から応答日時リストを取得してもよい。
【００８５】
次に、ステップＳ１２において、元投稿日時リスト取得部１５２は、元投稿日時リストを取得する。ユーザ判定部１１０から判定対象ユーザのユーザＩＤを受信した場合には、受信したユーザＩＤに対応付けて発言記憶部１２０に記憶されている発言間関係情報に含まれる応答対象の元発言を特定する情報に基づいて、元投稿日時リストを発言記憶部１２０から取得する。一方、ユーザ判定部１１０から判定対象ユーザの発言情報を取得した場合には、発言情報に含まれるユーザＩＤに基づいて同様にして応答日時リストを発言記憶部１２０から取得してもよいし、発言情報に含まれる発言間関係情報に含まれる応答対象の元発言を特定する情報に基づいて、元投稿日時リストを発言記憶部１２０から取得してもよい。
【００８６】
次に、ステップＳ１３において、ユーザ応答時間決定部１５３は、ステップＳ１１で取得した応答日時リストとステップＳ１２で取得した元投稿日時リストとにおいて対応する投稿日時情報に基づいて、判定対象ユーザが各応答発言を投稿するまでの応答時間をそれぞれ算出し、算出した応答時間の平均を判定対象ユーザのユーザ応答時間として決定する。
【００８７】
次に、ステップＳ１４において、ユーザ判定部１１０は、ステップＳ１３で算出されたユーザ応答時間がしきい値記憶部１８０に記憶されているしきい値より小さいか否かを判定する。ユーザ応答時間がしきい値より小さいと判定した場合（ＹＥＳ）には、ステップＳ９に処理を進め、一方、ユーザ応答時間がしきい値以上と判定した場合（ＮＯ）には、ステップＳ１０に処理を進める。
【００８８】
＜交替潜時特徴量を用いたボット判定処理フロー＞
図４は、本発明の第１の実施形態に係るボット判定装置１００における、交替潜時特徴量を用いたボット判定処理フローを示す図である。なお、図２を用いて説明したタイミング相関係数を用いたボット判定処理フローと同一処理については、同一符号を付し、その詳細な説明は省略する。
【００８９】
次に、ステップＳ２１において、連続応答区間抽出部１６１は、判定対象ユーザの発言と応答関係にあって、判定対象ユーザの発言との投稿間隔が所定時間以内にある発言を投稿しているユーザを連続応答ユーザ候補として抽出する。
【００９０】
次に、ステップＳ２２において、連続応答区間抽出部１６１は、ステップＳ２１で抽出した一の連続応答ユーザ候補の発言情報、および判定対象ユーザの発言情報の中から応答関係にある発言情報を抽出し、時系列に並べた発言時系列リストを作成する。
【００９１】
次に、ステップＳ２３において、連続応答区間抽出部１６１は、ステップＳ２２で作成した発言時系列リストの中から投稿間隔が所定時間以内の発言が所定数以上続く区間を連続応答区間として特定し、連続応答区間の発言情報を抽出する。
【００９２】
次に、ステップＳ２４において、連続応答区間抽出部１６１は、ステップＳ２１で抽出した全ての連続対応ユーザ候補ユーザについてステップＳ２２およびＳ２３の処理を行ったか否かを判定する。全ての連続対応ユーザ候補ユーザについて処理を行った場合（ＹＥＳ）には、ステップＳ２５に処理を進め、一方、まだ全ての他ユーザの個別相関係数を算出していない場合（ＮＯ）には、ステップＳ２２に処理を戻す。
【００９３】
次に、ステップＳ２５において、交替潜時特徴量算出部１６０は、ステップＳ２３で抽出した全ての個別連続応答区間を合わせて一の連続応答区間として、連続応答区間内に含まれる各発言の応答間隔を算出し、算出した応答間隔を上述した（２）式に代入して、交替潜時特徴量を決定する。
【００９４】
次に、ステップＳ２６において、ユーザ判定部１１０は、ステップＳ２５で算出された交替潜時特徴量がしきい値記憶部１８０に記憶されているしきい値「０」に収束か否かを判定する。交替潜時特徴量がしきい値「０」に収束すると判定した場合（ＹＥＳ）には、ステップＳ９に処理を進め、一方、しきい値「０」に収束しないと判定した場合（ＮＯ）には、ステップＳ１０に処理を進める。
【００９５】
＜スペクトル解析を用いたボット判定処理フロー＞
図５は、本発明の第１の実施形態に係るボット判定装置１００における、スペクトル解析を用いたボット判定処理フローを示す図である。なお、図２を用いて説明したタイミング相関係数を用いたボット判定処理フローと同一処理については、同一符号を付し、その詳細な説明は省略する。
【００９６】
次に、ステップＳ３１において、解析投稿日時リスト取得部１７１は、判定対象ユーザの投稿日時情報を解析投稿日時リストとして取得する。ユーザ判定部１１０から判定対象ユーザのユーザＩＤを受信した場合には、受信したユーザＩＤに基づいて解析投稿日時リストを発言記憶部１２０から取得する。一方、ユーザ判定部１１０から判定対象ユーザの発言情報を取得した場合には、発言情報に含まれるユーザＩＤに基づいて解析投稿日時リストを発言記憶部１２０から取得してもよいし、取得した発言情報から解析投稿日時リストを取得してもよい。
【００９７】
次に、ステップＳ３２において、スペクトル解析部１７２は、ステップＳ３１で取得した解析投稿日時リストをスペクトル解析する。
【００９８】
次に、ステップＳ３３において、ステップＳ３２の解析結果として取得した振幅スペクトルの最大振幅値を規則性指数として取得する。
【００９９】
次に、ステップＳ３４において、ユーザ判定部１１０は、ステップＳ３３で算出された最大振幅値がしきい値記憶部１８０に記憶されているしきい値より大きいか否かを判定する。最大振幅値がしきい値より大きいと判定した場合（ＹＥＳ）には、ステップＳ９に処理を進め、一方、ユーザ応答時間がしきい値以下と判定した場合（ＮＯ）には、ステップＳ１０に処理を進める。
【０１００】
以上、説明したように、本実施形態によれば、ＳＮＳにおいて、ユーザＩＤは使い捨てされないこと、およびボットはルールに従って発言を投稿することを利用して、他ユーザとの投稿タイミングの相関関係や応答時間、発言の交替潜時の特徴、ユーザ内の投稿間隔の周期性といった投稿タイミングの規則性から、学習データを必要とせずに、発言を投稿しているユーザがボットであるか否かを効率よく判定することができる。その結果、ＳＮＳにおいて、ボットの発言を除くことができ、効率よくスパムを除去できる。
【０１０１】
＜第２の実施形態＞
図６を用いて、本発明の第２の実施形態について説明する。なお、本実施形態におけるボット判定装置は、第１の実施形態で説明したユーザ間相関係数、応答時間、および振幅最大値を統合してボット判定を行うことにより、判定の精度を向上させた装置である。なお、第１の実施形態と同一の符号を付す構成要素については、同一の機能を有することから、その詳細な説明は省略する。
【０１０２】
＜ボット判定装置の機能構成＞
図６は、本発明の第２の実施形態に係るボット判定装置２００の機能構成を示す図である。ボット判定装置２００は、ＳＮＳ（Ｓｏｃｉａｌ  Ｎｅｔｗｏｒｋｉｎｇ  Ｓｅｒｖｉｃｅ）において、発言を投稿しているユーザがボットであるか否かを判定する装置であって、規則性指数算出部１３１、発言記憶部１２０、統合モデル学習部２１０、統合モデル記憶部２２０、および統合モデル判定部２３０を備える。ここで、本発明におけるボットとは、広告等の情報（スパム）を発言する、機械による自動発言システムを意味する。
【０１０３】
規則性指数算出部１３１は、タイミング相関係数算出部１４０、ユーザ応答時間算出部１５０、および周期性指数算出部１７０を備える。
【０１０４】
統合モデル学習部２１０は、ボットであると判定されているユーザおよび非ボットと判定されているユーザそれぞれの複数種類の規則性指数を教師データとして、所定の学習アルゴリズムを用いて、複数種類の規則性指数それぞれを重み付けして統合した統合モデルを学習する。複数種類の規則性指数には、タイミング相関係数、ユーザ応答時間、周期性指数の少なくとも２つが含まれる。
【０１０５】
統合モデル学習部２１０は、複数種類の規則性指数それぞれを重み付けする方法には、例えば、ＡｆａＢｏｏｓｔ（非特許文献５：Ｙｏａｖ  Ｆｒｅｕｎｄ，Ｒｏｂｅｒｔ  Ｅ．Ｓｃｈａｐｉｒｅ．“Ａ  Ｄｅｃｉｓｉｏｎ−Ｔｈｅｏｒｅｔｉｃ  Ｇｅｎｅｒａｌｉｚａｔｉｏｎ  ｏｆ  ｏｎ−Ｌｉｎｅ  Ｌｅａｒｎｉｎｇ  ａｎｄ  ａｎ  Ａｐｐｌｉｃａｔｉｏｎ  ｔｏ  Ｂｏｏｓｔｉｏｎ”，１９９５）を用いることができる。
【０１０６】
統合モデル記憶部２２０は、統合モデル学習部２１０で学習された統合モデルを記憶する。なお、複数種類の規則性指数の組み合わせ毎に統合モデルが記憶されてもよい。
【０１０７】
統合モデル判定部２３０は、判定対象ユーザについて規則性指数算出部１３１で算出された複数種類の規則性指数と統合モデル記憶部２２０に記憶されている統合モデルに基づいて、判定対象ユーザがボットであるか否かを判定する。
【０１０８】
以上、説明したように、本実施形態によれば、教師データを利用して学習した、投稿タイミングの規則性に基づく統合モデルを用いて、発言を投稿しているユーザがボットであるか否かを効率よく判定することができる。その結果、ＳＮＳにおいて、ボットの発言を除くことができ、効率よくスパムを除去できる。
【０１０９】
なお、ボット判定装置の処理をコンピュータシステムが読み取り可能な記録媒体に記録し、この記録媒体に記録されたボット判定装置に読み込ませ、実行することによって本発明のボット判定装置を実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺装置等のハードウェアを含む。
【０１１０】
また、「コンピュータシステム」は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【０１１１】
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。更に、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１１２】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１１３】
１００，２００    ボット判定装置
１１０            ユーザ判定部
１２０            発言記憶部
１３０，１３１    規則性指数算出部
１４０            タイミング相関係数算出部
１４１            最近傍投稿日時リスト取得部
１４２            個別相関係数算出部
１４３            タイミング相関係数決定部
１５０            ユーザ応答時間算出部
１５１            応答日時リスト取得部
１５２            元投稿日時リスト取得部
１５３            ユーザ応答時間決定部
１６０            交替潜時特徴算出部
１６１            連続応答区間抽出部
１６２            同意判定部
１６３            交替せん潜時特徴決定部
１７０            周期性指数算出部
１７１            解析投稿日時リスト取得部
１７２            スペクトル解析部
１８０            しきい値算出部
２１０            統合モデル学習部
２２０            統合モデル記憶部
２３０            統合モデル判定部
【図１】
2015141456.tif 000005
【図２】
2015141456.tif 000006
【図３】
2015141456.tif 000007
【図４】
2015141456.tif 000008
【図５】
2015141456.tif 000009
【図６】
2015141456.tif 000010