(57)【要約】【課題】人間に対するプロセス及び学習データを必要とせず、ボットを正確に判定する。【解決手段】ボット判定装置１は、タイムスタンプ群を記憶するタイムスタンプ群１０と、タイムスタンプ群を参照し、ポアソン分布由来スコアを算出するＬｉＰＰ処理手段２０と、タイムスタンプ群を参照し、スケラム分布由来スコアを算出するＮｉＰＰ処理手段３０と、ポアソン分布由来スコア及びスケラム分布由来スコアを統合し、ボット判定スコアを算出するボット判定スコア算出手段４０と、ボット判定スコアに基づいて、ボットであるか否かを判定するボット判定手段５０とを備える。【選択図】図１
2020086623.tif 000002
【特許請求の範囲】
【請求項１】
人間又はボットによる行動の時刻を示すタイムスタンプ群を用いて、前記ボットを判定するためのボット判定スコアを算出するボット判定スコア算出装置であって、
前記タイムスタンプ群を参照し、前記行動が行われた時刻の分及び／又は秒を抽出し、抽出した前記分及び／又は前記秒ごとに前記行動の出現回数を算出する出現回数算出手段と、
前記出現回数の平均及び分散を算出する平均分散算出手段と、
前記ボット判定スコアとして、前記平均と前記分散の比によるポアソン分布由来スコアを算出するポアソン分布由来スコア算出手段と、を備えることを特徴とするボット判定スコア算出装置。
【請求項２】
人間又はボットによる行動の時刻を示すタイムスタンプ群を用いて、前記ボットを判定するためのボット判定スコアを算出するボット判定スコア算出装置であって、
前記タイムスタンプ群の時間軸上に第１の時間窓及び第２の時間窓を設定し、前記第１の時間窓に含まれる第１のタイムスタンプ数、前記第２の時間窓に含まれる第２のタイムスタンプ数、及び、前記第１のタイムスタンプ数と前記第２のタイムスタンプ数との差分二乗であるタイムスタンプ数誤差を算出するタイムスタンプ数算出手段と、
前記時間軸上の所定期間において、前記第１のタイムスタンプ数の時間積分、前記第２のタイムスタンプ数の時間積分、及び、前記タイムスタンプ数誤差の時間積分を求めるタイムスタンプ数積分手段と、
前記ボット判定スコアとして、前記タイムスタンプ数誤差の時間積分によるスケラム分布由来スコアを算出するスケラム分布由来スコア算出手段と、を備えることを特徴とするボット判定スコア算出装置。
【請求項３】
人間又はボットによる行動の時刻を示すタイムスタンプ群を用いて、前記ボットを判定するためのボット判定スコアを算出するボット判定スコア算出装置であって、
前記タイムスタンプ群を参照し、前記行動が行われた時刻の分及び／又は秒を抽出し、抽出した前記分及び／又は前記秒ごとに前記行動の出現回数を算出する出現回数算出手段と、
前記出現回数の平均及び分散を算出する平均分散算出手段と、
前記平均と前記分散の比によるポアソン分布由来スコアを算出するポアソン分布由来スコア算出手段と、
前記タイムスタンプ群の時間軸上に第１の時間窓及び第２の時間窓を設定し、前記第１の時間窓に含まれる第１のタイムスタンプ数、前記第２の時間窓に含まれる第２のタイムスタンプ数、及び、前記第１のタイムスタンプ数と前記第２のタイムスタンプ数との差分二乗であるタイムスタンプ数誤差を算出するタイムスタンプ数算出手段と、
前記時間軸上の所定期間において、前記第１のタイムスタンプ数の時間積分、前記第２のタイムスタンプ数の時間積分、及び、前記タイムスタンプ数誤差の時間積分を求めるタイムスタンプ数積分手段と、
前記タイムスタンプ数誤差の時間積分によるスケラム分布由来スコアを算出するスケラム分布由来スコア算出手段と、
前記ポアソン分布由来スコア及び前記スケラム分布由来スコアを統合することで、前記ボット判定スコアを算出するボット判定スコア算出手段と、を備えることを特徴とするボット判定スコア算出装置。
【請求項４】
前記ポアソン分布由来スコア算出手段は、
前記平均がＸ、前記分散がＶ、及び、前記比がＲで表される式（Ａ）を用いて、
【数１】
2020086623.tif 000007
前記ポアソン分布由来スコアＬｉＰＰを算出することを特徴とする請求項１又は請求項３に記載のボット判定スコア算出装置。
【請求項５】
前記出現回数算出手段は、前記分及び前記秒の両方で前記出現回数を算出し、
前記平均分散算出手段は、前記分及び前記秒の両方で前記平均及び前記分散を算出し、
前記ポアソン分布由来スコア算出手段は、前記分及び前記秒の両方で前記ポアソン分布由来スコアを算出して統合することを特徴とする請求項１、請求項３又は請求項４に記載のボット判定スコア算出装置。
【請求項６】
第１の前記タイムスタンプ群を予め設定した時間だけ経過させた第２の前記タイムスタンプ群を生成するタイムスタンプ群生成手段、をさらに備え、
前記タイムスタンプ数算出手段は、前記第１のタイムスタンプ群と前記第２のタイムスタンプ群との重複期間を求め、前記第１のタイムスタンプ群の前記重複期間内に前記第１の時間窓を設定し、前記第２のタイムスタンプ群の前記重複期間内に前記第２の時間窓を設定し、
前記タイムスタンプ数積分手段は、前記重複期間において、前記第１のタイムスタンプ数の時間積分、前記第２のタイムスタンプ数の時間積分、及び、前記タイムスタンプ数誤差の時間積分を求めることを特徴とする請求項２又は請求項３に記載のボット判定スコア算出装置。
【請求項７】
前記スケラム分布由来スコア算出手段は、前記第１のタイムスタンプ数の時間積分がＡ、前記第２のタイムスタンプ数の時間積分がＢ、前記タイムスタンプ数誤差の時間積分がＣ、及び、単調増加関数がＦで表される式（Ｂ）を用いて、
【数２】
2020086623.tif 000008
前記スケラム分布由来スコアＮｉＰＰを算出することを特徴とする請求項６に記載のボット判定スコア算出装置。
【請求項８】
前記ボット判定スコアの閾値判定により、前記ボットであるか否かを判定するボット判定手段、をさらに備えることを特徴とする請求項１から請求項７の何れか一項に記載のボット判定スコア算出装置。
【請求項９】
コンピュータを、請求項１から請求項８の何れか一項に記載のボット判定スコア算出装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ボット（ｂｏｔ）を判定するためのボット判定スコアを算出するボット判定スコア算出装置及びそのプログラムに関する。
【背景技術】
【０００２】
インターネットにおける経済・社会活動が活発になり、通信の匿名性と情報技術を悪用して個人の私利私欲を満たす者が増えている。具体的には、市場価値の高まりが予想される物品（例えば、有名歌手のコンサートチケット）をインターネット経由で購入する際に、自動プログラムを使用して購入ページ上で高速入力を行い、物品を買い占める者がいる。また、実在する人物であるかのような振る舞いをするインターネット上の存在により、いわゆるステルスマーケティングを行うものもいる。例えば、ソーシャル・ネットワーキング・サービス（ＳＮＳ:Social Networking Service）のアカウントを作り出し、政治的・営利的目的に合致する宣伝活動を、目的と関係ない個人が主体的に行っているかのように振る舞わせ、閲覧者に抵抗感なく刷り込む。
【０００３】
これらの、人間による健全な活動と一線を画する営利目的のインターネット上の活動は、その目的ゆえに、コストがかからず大きな効果が得られる自動プログラム（以下、「ボット」）によってしばしば行われる。サービスの提供者側は、それらの対策として、人間にしかできないような複雑なプロセス（操作や判定）を組み込み、ボットの排除を行っている。例えば、特許文献１〜３では、画像内で特定の色を変更し、その色に基づいて回答を行わせるというプロセスにより、ボットを排除する手法が提案されている。この他、画面中のパズルを完成させるというプロセスや（非特許文献１）、大きく歪んだ文字列を入力させるというプロセスも提案されている（非特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許５４４０１４２号公報
【特許文献２】特許５５５２９１１号公報
【特許文献３】特許５６９９６７１号公報
【非特許文献】
【０００５】
【非特許文献１】“Ｃａｐｙ”、［平成３０年１０月２９日検索］、インターネット〈URL：https://www.capy.me/jp/>
【非特許文献２】“ＣＡＰＴＣＨＡ”、［平成３０年１０月２９日検索］、インターネット〈URL：http://www.captcha.net/>
【発明の概要】
【０００６】
しかしながら、近年のＡＩ（artificial intelligence）技術の高度化などにより、ボットの性能が向上しており、前記した複雑なプロセスを突破するボットも出現している。さらにプロセスを複雑化することでボットを排除できるが、プロセスの難度と手間が増大するため、排除対象でない人間の排除にもつながりかねず、プロセスを強要される人間のストレスが増加するという問題がある。
【０００７】
この問題に対処すべく、サービス提供者側がＡＩを用いて、ボットを排除することも考えられる。この場合、サービス提供者側では、膨大な数の学習データを生成し、それをＡＩに学習させる必要がある。さらに、新たな種類のボットが出現すると、そのボットに対応した学習データを新たに生成し、その学習をやり直さなければならない。このように、ＡＩを用いる場合、学習データの生成や学習自体に手間を要するという問題がある。
【発明が解決しようとする課題】
【０００８】
そこで、本発明は、人間に対するプロセス、及び、ボットの特徴に関する学習データを必要とせず、ボットを正確に判定できるボット判定スコア算出装置及びそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００９】
前記した課題に鑑みて、本発明に係るボット判定スコア算出装置は、人間又はボットによる行動の時刻を示すタイムスタンプ群を用いて、ボットを判定するためのボット判定スコアを算出するボット判定スコア算出装置であって、出現回数算出手段と、平均分散算出手段と、ポアソン分布由来スコア算出手段と、を備える構成とした。
【００１０】
かかるボット判定スコア算出装置によれば、出現回数算出手段は、タイムスタンプ群を参照し、行動が行われた時刻の分及び／又は秒を抽出し、抽出した分及び／又は秒ごとに行動の出現回数を算出する。
平均分散算出手段は、出現回数の平均及び分散を算出する。
【００１１】
ここで、人間は、ボットと比べて、行動のタイミングを細かく意識しないと考えられる。すなわち、人間が行った行動の［秒］と［分］の値はランダムであり、任意の［秒］と［分］の出現がポアソン過程になると仮定する。
このように、ポアソン分布由来スコア算出手段は、人間の行動が微視的にはポアソン過程で表されるという仮定のもと、ボット判定スコアとして、平均と分散の比によるポアソン分布由来スコアを算出する。
【００１２】
また、前記した課題に鑑みて、本発明に係るボット判定スコア算出装置は、人間又はボットによる行動の時刻を示すタイムスタンプ群を用いて、ボットを判定するためのボット判定スコアを算出するボット判定スコア算出装置であって、タイムスタンプ数算出手段と、タイムスタンプ数積分手段と、スケラム分布由来スコア算出手段と、を備える構成とした。
【００１３】
かかるボット判定スコア算出装置によれば、タイムスタンプ数算出手段は、タイムスタンプ群の時間軸上に第１の時間窓及び第２の時間窓を設定し、第１の時間窓に含まれる第１のタイムスタンプ数、第２の時間窓に含まれる第２のタイムスタンプ数、及び、第１のタイムスタンプ数と第２のタイムスタンプ数との差分二乗であるタイムスタンプ数誤差を算出する。
タイムスタンプ数積分手段は、時間軸上の所定期間において、第１のタイムスタンプ数の時間積分、第２のタイムスタンプ数の時間積分、及び、タイムスタンプ数誤差の時間積分を求める。
【００１４】
ここで、人間は、ボットと比べて、長期的には行動回数が変化しやすく、短期的には連続して行動することが多いと考えられる。すなわち、人間の行動は、気まぐれな傾向があり、その頻度の変化が大きくなるので、タイムスタンプ数誤差も大きくなると仮定する。
このように、スケラム分布由来スコア算出手段は、人間の行動が気まぐれであり、統計的には乱雑であるという仮定のもと、ボット判定スコアとして、タイムスタンプ数差分の時間積分に基づいたスケラム分布由来スコアを算出する。
【００１５】
また、前記した課題に鑑みて、本発明に係るボット判定スコア算出装置は、ポアソン分布由来スコア及びスケラム分布由来スコアを両方算出し、両方のスコアを統合することで、ボット判定スコアを算出してもよい。
【００１６】
なお、本発明は、コンピュータが備えるＣＰＵ、メモリ、ハードディスク等のハードウェア資源を、前記したボット判定スコア算出装置として協調動作させるプログラムで実現することもできる。
【発明の効果】
【００１７】
本発明によれば、人間の行動が確率過程で表されるという仮定によりボット判定スコアを正確に算出するので、ボットを正確に判定できる。さらに、ポアソン分布やスケラム分布といった統計学的手法を用いるので、人間に対するプロセス、及び、ボットの特徴に関する学習データを必要とせず、ボットの判定に要する手間を削減できる。
【図面の簡単な説明】
【００１８】
【図１】第１実施形態に係るボット判定装置の構成を示すブロック図である。
【図２】第１実施形態においてポアソン過程に関する仮定を説明する説明図であり、（ａ）は各投稿時刻の［秒］の出現回数を表し、（ｂ）は各投稿時刻の［分］の出現回数を表す。
【図３】第１実施形態においてスケラム分布に関する仮定を説明する説明図であり、（ａ）はボットによる投稿を表し、（ｂ）は人間による投稿を表す。
【図４】第１実施形態においてスケラム分布に関する仮定を説明する説明図であり、タイムスタンプ群の時間軸上に設定した時間窓を表す。
【図５】第１実施形態においてスケラム分布由来スコアの算出を説明する説明図であり、（ａ）は人間の行動によるタイムスタンプ群を表し、（ｂ）はボットの行動によるタイムスタンプ群を表す。
【図６】第１実施形態に係るボット判定装置の動作を示すフローチャートである。
【図７】第２実施形態に係るボット判定装置の構成を示すブロック図である。
【図８】第２実施形態に係るボット判定装置の動作を示すフローチャートである。
【図９】第３実施形態に係るボット判定装置の構成を示すブロック図である。
【図１０】第３実施形態に係るボット判定装置の動作を示すフローチャートである。
【図１１】実施例３において、ＡＵＣによる評価結果を示すテーブルである。
【図１２】実施例３において、ＭＣＣによる評価結果を示すテーブルである。
【発明を実施するための形態】
【００１９】
以下、本発明の各実施形態について、適宜図面を参照しながら詳細に説明する。なお、各実施形態において、同一の手段及び同一の処理には同一の符号を付し、説明を省略した。
【００２０】
（第１実施形態）
［ボット判定装置の構成］
図１を参照し、第１実施形態に係るボット判定装置（ボット判定スコア算出装置）１の構成を説明する。
ボット判定装置１は、ボットを判定するためのボット判定スコアを算出し、算出したボット判定スコアの閾値判定により、ボットであるか否かを判定するものである。本実施形態では、人間の行動が確率過程で表されるという仮定のもと、ボット判定装置１は、ポアソン分布由来スコア及びスケラム分布由来スコアという２種類のスコアを算出する。このポアソン分布由来スコアはポアソン分布に由来するスコアであり、このスケラム分布由来スコアはスケラム分布に由来するスコアである。そして、ボット判定装置１は、ポアソン分布由来スコア及びスケラム分布由来スコアを、ボット判定スコアとして統合する。
【００２１】
なお、ポアソン分布とは、ある期間内に平均μ回観測される事象が、実際にはＫ回観測される確率の分布のことである。このポアソン分布では、平均と分散が何れもμとなる。
また、ポアソン過程とは、事象の観測回数がポアソン分布に従う確率過程である。
また、スケラム分布とは、ポアソン分布に従う２つの独立した確率過程の差の分布を表す。例えば、２つの確率過程の観測回数の平均をμ１，μ２とすると、スケラム分布の平均がμ１−μ２となり、スケラム分布の分散がμ１＋μ２となる。
【００２２】
図１に示すように、ボット判定装置１は、タイムスタンプ群記憶手段１０と、ＬｉＰＰ（Likelihood as Poisson Process）処理手段２０と、ＮｉＰＰ（Non-integer Period Power）処理手段３０と、ボット判定スコア算出手段４０と、ボット判定手段５０とを備える。
【００２３】
タイムスタンプ群記憶手段１０は、人間又はボットによる行動の時刻を示すタイムスタンプ群を予め記憶するものである。例えば、タイムスタンプ群記憶手段１０は、判定対象となる同一ユーザによる一連の行動時刻を表すタイムスタンプ群を、予め記憶する。このタイムスタンプ群は、後記するＬｉＰＰ処理手段２０、及び、ＮｉＰＰ処理手段３０により参照される。
【００２４】
なお、タイムスタンプとは、ボットか人間か不明な対象（以下、「ユーザ」）が、ある行動を行った時刻を表す。従って、タイムスタンプ群には、一定期間内のタイムスタンプが複数含まれている。
また、ボットとは、インターネット等のコンピュータネットワーク上において、人間と類似した行動を行う機械プログラムのことである。
また、行動とは、ユーザが何らかの情報を入力する、又は、ユーザが何らかの操作を行うことである。例えば、ユーザの行動としては、ＳＮＳやブログへの投稿、ネットショッピングにおける商品の購入があげられる。
【００２５】
ＬｉＰＰ処理手段２０は、ポアソン分布由来スコアの算出に関連する処理を行うものであり、出現回数算出手段２１と、平均分散算出手段２２と、ポアソン分布由来スコア算出手段２３とを備える。以下、人間の行動がポアソン分布で表されるという仮定を説明した後、ＬｉＰＰ処理手段２０の各手段を説明する。
【００２６】
＜ポアソン過程に関する仮定＞
図２を参照し、ポアソン過程に関する仮定を説明する。
ボットは、例えば、商品の宣伝、プロパガンダ、自己顕示のために投稿することが多い。これらの投稿に共通する目的は、その投稿を多くの人間に見てもらうことである。この目的を達成するには、特定の時刻に投稿する、ある時間帯に多めに投稿する、人間の投稿を一定回数検出したらボットが投稿するなど、特定の規則に従って安定的に投稿すると考えられる。
【００２７】
一方、人間は、投稿のタイミングを細かく意識しないことが多い。そこで、各投稿時刻の［秒］と［分］の値が完全にランダムになり、任意の［秒］と［分］の出現がポアソン過程になると仮定する。例えば、人間が１８０回投稿を行ったときの、各投稿時刻の［秒］の出現回数を図２（ａ）に表し、各投稿時刻の［分］の出現回数を図２（ｂ）に表す。この図２は、その［秒］や［分］に投稿された回数を表している。また、任意の［秒］と［分］において、出現回数の期待値が３となる。すなわち、期待値３のポアソン過程が６０回行われていることになる。
【００２８】
ここで、投稿時刻の［秒］がｋとなる投稿の回数（出現回数）は、Ｘｓｅｃ（ｋ）となる（例えば、Ｘｓｅｃ（３）＝４、Ｘｓｅｃ（５７）＝２）。この場合、出現回数の期待値（平均値）は、以下の式（１−１）で表される。さらに、出現回数の分散は、以下の式（１−２）で表される。
【００２９】
【数１】
2020086623.tif 000003
【数２】
2020086623.tif 000004
【００３０】
従って、投稿時刻の［秒］のポアソン分布由来スコアは、平均Ｘ￣ｓｅｃと分散Ｖｓｅｃの比Ｒｓｅｃにより、以下式（２）のＬｉＰＰｓｅｃで表される。ここで、人間の投稿にポアソン過程が成立すると仮定したので、投稿時刻の［秒］の値が完全にランダムになる。よって、その平均Ｘ￣ｓｅｃと分散Ｖｓｅｃが等しくなるので、Ｒｓｅｃが１となり、ＬｉＰＰｓｅｃが最大値の１となる。すなわち、ＬｉＰＰｓｅｃは、０〜１の値となり、その値が大きくなる程、行動がポアソン過程に従う人間である確率が高くなり、その値が小さくなる程、ボットである確率が高くなることを示す。
【００３１】
【数３】
2020086623.tif 000005
【００３２】
なお、各式の下付き添え字ｓｅｃは、投稿時刻の［秒］を表す。
また、投稿時刻の［分］のポアソン分布由来スコアについても、［秒］と同様の各式で求めることができる。
また、ユーザの行動がＳＮＳ等への投稿であることとして説明したが、ポアソン過程に関する仮定は投稿に限定されない。
【００３３】
＜ＬｉＰＰ処理手段の各手段＞
図１に戻り、ＬｉＰＰ処理手段２０の各手段について説明する。
ＬｉＰＰ処理手段２０では、タイムスタンプの［分］又は［秒］の何れか一方のみを扱うのか、［分］及び［秒］の両方を扱うのか、予め設定しておくこととする。例えば、ボット判定装置１の利用者が、図示を省略したマウス、キーボード等の操作手段を用いて、［分］や［秒］を設定することができる。
【００３４】
出現回数算出手段２１は、タイムスタンプ群記憶手段１０のタイムスタンプ群を参照し、行動が行われた時刻の［分］及び／又は［秒］を抽出し、抽出した［分］及び／又は［秒］ごとに行動の出現回数を算出するものである。
【００３５】
［秒］のみを扱う場合、出現回数算出手段２１は、図２（ａ）に示すように、［秒］の出現回数を算出する。まず、出現回数算出手段２１は、各タイムスタンプについて、時刻の［秒］以外の単位を全て［秒］に換算し、整数で表現する。例えば、整数型のＵＮＩＸ時間への変換がそれにあたる。次に、出現回数算出手段２１は、予め設定したパターン数Ｐによる剰余を算出する。例えば、出現回数算出手段２１は、６０秒による剰余であれば（Ｐ＝６０）、各タイムスタンプの［秒］の値を算出する。そして、出現回数算出手段２１は、剰余がとり得る各パターン（つまり、０秒〜５９秒）の出現回数を数える。
【００３６】
［分］のみを扱う場合、出現回数算出手段２１は、図２（ｂ）に示すように、［分］の出現回数を算出する。なお、［分］の出現回数は、［秒］と同様に算出できるので、説明を省略する。
［秒］と［分］の両方を扱う場合、出現回数算出手段２１は、［秒］と［分］の出現回数を算出する。
【００３７】
平均分散算出手段２２は、出現回数の平均及び分散を算出するものである。
［秒］のみを扱う場合、平均分散算出手段２２は、式（１−１）で表される［秒］の出現回数の平均Ｘ￣ｓｅｃと、式（１−２）で表される［秒］の出現回数の分散Ｖｓｅｃとを算出する。
【００３８】
［分］のみを扱う場合、平均分散算出手段２２は、［分］の出現回数の平均及び分散を算出する。なお、［分］の出現回数の平均及び分散は、［秒］と同様に算出できるので、説明を省略する。
［秒］と［分］の両方を扱う場合、平均分散算出手段２２は、［分］と［秒］の出現回数の平均及び分散を算出する。
【００３９】
ポアソン分布由来スコア算出手段２３は、出現回数の平均と分散の比によるポアソン分布由来スコアを算出するものである。ここで、各行動が、真にランダムな時間間隔で行われたものとすれば、剰余の各パターンの出現がポアソン過程となるので、各パターンの出現回数は、平均Ｎ／Ｐ、分散Ｎ／Ｐとなるはずである（なお、Ｎは、タイムスタンプ数）。この仮定のもと、ポアソン分布由来スコア算出手段２３は、出現回数の平均と分散の比を算出する。
【００４０】
［秒］のみを扱う場合、ポアソン分布由来スコア算出手段２３は、式（２）で表されるＬｉＰＰｓｅｃを算出する。そして、ポアソン分布由来スコア算出手段２３は、算出したポアソン分布由来スコアをボット判定スコア算出手段４０に出力する。
【００４１】
［分］のみを扱う場合、ポアソン分布由来スコア算出手段２３は、［分］のポアソン分布由来スコアを算出し、算出したポアソン分布由来スコアをボット判定スコア算出手段４０に出力する。なお、［分］のポアソン分布由来スコアは、［秒］と同様に算出できるので、説明を省略する。
【００４２】
［秒］と［分］の両方を扱う場合、ポアソン分布由来スコア算出手段２３は、［秒］と［分］のポアソン分布由来スコアを算出する。この場合、ポアソン分布由来スコア算出手段２３は、［秒］と［分］のポアソン分布由来スコアを調和平均により統合し、統合したポアソン分布由来スコアをボット判定スコア算出手段４０に出力する。この他、ポアソン分布由来スコア算出手段２３は、加算平均又は相乗平均により、［秒］と［分］のポアソン分布由来スコアを統合してもよい。
【００４３】
＜ポアソン分布由来スコアの利点＞
以下、ポアソン分布由来スコアの利点について説明する。
一般に、人間の行動は、微視的には曖昧である。具体的には、人間は、行動するにあたり「何秒ごとに行動する」など細かな時間を意識することがほとんどない。これに着目したのが、ポアソン分布由来スコアである。すなわち、ポアソン分布由来スコアは、微視的な周期性に着目し、周期性が低く、乱雑である場合に人間であると評価するものである。従って、ポアソン分布由来スコアは、単純なアルゴリズムで周期的に行動するボットを正確に判定できる。
【００４４】
ポアソン分布由来スコアに影響を及ぼすパラメータとしては、パターン数Ｐがあげられる。ここで、ボットの行動周期が、パターン数Ｐの整数倍である場合を考える。例えば、パターン数Ｐを６０秒に設定し、ボットが６００秒周期で行動する場合である。この場合、剰余の出現回数が大きく偏るため、出現回数の平均に対して分散が極端に大きくなり、ポアソン分布由来スコアが低くなる。また、ボットの行動周期とパターン数Ｐが互いに素である場合を考える。例えば、パターン数Ｐを６０秒に設定し、ボットが６０１秒周期で行動する場合である。この場合、剰余の出現回数が全てのパターンで均一になるため、出現回数の平均に対して分散が極端に小さくなり、ポアソン分布由来スコアが低くなる。
【００４５】
ＮｉＰＰ処理手段３０は、スケラム分布由来スコアの算出に関連する処理を行うものである。図１に示すように、ＮｉＰＰ処理手段３０は、タイムスタンプ群生成手段３１と、タイムスタンプ数算出手段３２と、タイムスタンプ数積分手段３３と、スケラム分布由来スコア算出手段３４とを備える。以下、人間の行動がポアソン分布で表されるという仮定を説明した後、ＮｉＰＰ処理手段３０の各手段を説明する。
【００４６】
＜スケラム分布に関する仮定＞
図３及び図４を参照し、スケラム分布に関する仮定について説明する。
図３には、月曜日から木曜日までの間、ユーザによる投稿のタイムスタンプを黒丸（●）で図示した。また、図３（ａ）はボットによる投稿を表し、図３（ｂ）は人間による投稿を表している。
【００４７】
前記したように、ボットは、特定の規則に従って安定的に投稿すると考えられる。図３（ａ）の例では、ボットは、月曜日から木曜日までの間、一日２回ずつ投稿を行っている。これに対し、人間は、長期的には投稿数が変化しやすく、短期的には連続して投稿する傾向が強いと考えられる。図３（ｂ）の例では、人間は、月曜日に４回、火曜日に３回投稿を行った後、一日空けて、木曜日に１回投稿を行っている。このように、人間が行った投稿は、投稿頻度の変化（誤差）が大きくなるので、タイムスタンプ数誤差も大きくなり、気まぐれな傾向があると仮定する。
【００４８】
図４に示すように、投稿のタイムスタンプ群の時間軸上に第１の時間窓Ｗ１及び第２の時間窓Ｗ２を設定する。図４において、第１の時間窓Ｗ１及び第２の時間窓Ｗ２は、所定の時間ｇだけ離れている。なお、図４では、ユーザによる投稿のタイムスタンプを黒丸（●）で図示した。
次に、第１の時間窓Ｗ１に含まれるタイムスタンプ数を求め、第１のタイムスタンプ数Ｎ１とする。同様に、第２の時間窓Ｗ２に含まれるタイムスタンプ数を求め、第２のタイムスタンプ数Ｎ２とする。そして、第１のタイムスタンプ数Ｎ１と第２のタイムスタンプ数Ｎ２との差分二乗（Ｎ１−Ｎ２）２を算出し、タイムスタンプ数誤差とする。
次に、第１の時間窓Ｗ１及び第２の時間窓Ｗ２を時間軸上で動かして、第１のタイムスタンプ数Ｎ１、第２のタイムスタンプ数Ｎ２、及び、タイムスタンプ数誤差（Ｎ１−Ｎ２）２を積分する。このタイムスタンプ数誤差（Ｎ１−Ｎ２）２の時間積分Ｃを、第１のタイムスタンプ数Ｎ１の時間積分Ａと第２のタイムスタンプ数Ｎ２の時間積分Ｂとの和で除算した値Ｄを求める。そして、この値Ｄを単調増加関数Ｆの引数とすることで、スケラム分布由来スコアを算出する。
【００４９】
ここで、スケラム分布由来スコアが大きい場合、投稿頻度の平均に対して投稿頻度の変化（誤差）が大きいことから、気まぐれな投稿を行っている人間であることを表している。すなわち、スケラム分布由来スコアは、その値が大きくなる程、人間である確率が高くなり、その値が小さくなる程、ボットである確率が高くなることを示す。
なお、ユーザの行動がＳＮＳ等への投稿であることとして説明したが、スケラム分布に関する仮定は投稿に限定されない。
【００５０】
＜ＮｉＰＰ処理手段の各手段＞
図１及び図５を参照し、ＮｉＰＰ処理手段３０の各手段について説明する。なお、図５（ａ）は人間の行動によるタイムスタンプ群を表し、図５（ｂ）はボットの行動によるタイムスタンプ群を表す。
【００５１】
タイムスタンプ群生成手段３１は、第１のタイムスタンプ群Ｔ１を予め設定した時間ｇだけ経過させた第２のタイムスタンプ群Ｔ２を生成するものである。つまり、タイムスタンプ群生成手段３１は、第１のタイムスタンプ群Ｔ１に時間ｇを加え、本来の行動時刻から時間ｇだけ経過後に同一行動を行った第２のタイムスタンプ群Ｔ２を生成する。なお、第１のタイムスタンプ群Ｔ１とは、タイムスタンプ群記憶手段１０に格納されている当初のタイムスタンプ群のことである。
【００５２】
タイムスタンプ数算出手段３２は、後記する重複期間内の各時刻において、第１の時間窓Ｗ１に含まれる第１のタイムスタンプ数Ｎ１、第２の時間窓Ｗ２に含まれる第２のタイムスタンプ数Ｎ２、及び、タイムスタンプ数誤差（Ｎ１−Ｎ２）２を算出するものである。
【００５３】
まず、タイムスタンプ数算出手段３２は、第１のタイムスタンプ群Ｔ１と第２のタイムスタンプ群Ｔ２との重複期間を求める。図５に示すように、重複期間は、第２のタイムスタンプ群Ｔ２で最も古いタイムスタンプ（時刻ｔ２）から、第１のタイムスタンプ群Ｔ１で最も新しいタイムスタンプ（時刻ｔ１）までの期間である。
【００５４】
次に、タイムスタンプ数算出手段３２は、第１のタイムスタンプ群Ｔ１の重複期間内に第１の時間窓Ｗ１を設定し、第２のタイムスタンプ群Ｔ２の重複期間内に第２の時間窓Ｗ２を設定する。第１の時間窓Ｗ１及び第２の時間窓Ｗ２は、タイムスタンプの時間軸上において、予め設定された時間幅ｗを有する。
なお、図５では、第１の時間窓Ｗ１及び第２の時間窓Ｗ２が同一時刻に設定されているように見えるが、実際には、第２の時間窓Ｗ２は、第１の時間窓Ｗ１が時間ｇだけ過去に遡ったものである。
【００５５】
図５（ａ）に示すように、人間の場合を考える。ある時刻Ｕでは、第１の時間窓Ｗ１にタイムスタンプが１個含まれ（Ｎ１＝１）、第２の時間窓Ｗ２にタイムスタンプが２個含まれる（Ｎ２＝２）。従って、時刻Ｕでは、タイムスタンプ数誤差（Ｎ１−Ｎ２）２＝（１−２）２＝１となる。また、別の時刻Ｕ´では、第１の時間窓Ｗ´１にタイムスタンプが１個含まれ（Ｎ１＝１）、第２の時間窓Ｗ´２にタイムスタンプが３個含まれる（Ｎ２＝３）。従って、時刻Ｕ´では、タイムスタンプ数誤差（Ｎ１−Ｎ２）２＝４となる。このように、人間の行動は気まぐれな傾向があるので、タイムスタンプ数誤差（Ｎ１−Ｎ２）２が大きくなる。
【００５６】
図５（ｂ）に示すように、ボットの場合を考える。ある時刻Ｕでは、第１の時間窓Ｗ１にタイムスタンプが１個含まれ（Ｎ１＝５）、第２の時間窓Ｗ２にもタイムスタンプが５個含まれる（Ｎ２＝５）。従って、時刻Ｕでは、タイムスタンプ数誤差（Ｎ１−Ｎ２）２＝（５−５）２＝０となる。また、別の時刻Ｕ´では、第１の時間窓Ｗ´１にタイムスタンプが４個含まれ（Ｎ１＝４）、第２の時間窓Ｗ´２にもタイムスタンプが４個含まれる（Ｎ２＝４）。従って、時刻Ｕ´では、タイムスタンプ数誤差（Ｎ１−Ｎ２）２＝０となる。このように、ボットの行動は規則性があるので、タイムスタンプ数誤差（Ｎ１−Ｎ２）２が小さくなる。
【００５７】
タイムスタンプ数積分手段３３は、重複期間内で、第１のタイムスタンプ数Ｎ１の時間積分Ａ、第２のタイムスタンプ数Ｎ２の時間積分Ｂ、及び、タイムスタンプ数誤差（Ｎ１−Ｎ２）２の時間積分Ｃを求めるものである。つまり、タイムスタンプ数積分手段３３は、時刻Ｕ、時間ｇ、時間幅ｗで定まる第１のタイムスタンプ数Ｎ１、第２のタイムスタンプ数Ｎ２、及び、タイムスタンプ数誤差（Ｎ１−Ｎ２）２のそれぞれについて、時刻Ｕを変数として時刻ｔ２〜時刻（ｔ１−ｗ）の範囲で積分する。
【００５８】
スケラム分布由来スコア算出手段３４は、以下の式（３）を用いて、第１のタイムスタンプ数Ｎ１の時間積分Ａ、第２のタイムスタンプ数Ｎ２の時間積分Ｂ、タイムスタンプ数誤差（Ｎ１−Ｎ２）２の時間積分Ｃ、及び、一つの引数Ｄをとる単調増加関数Ｆから、スケラム分布由来スコアＮｉＰＰを算出するものである。例えば、単調増加関数Ｆとしては、シグモイド関数があげられる。そして、スケラム分布由来スコア算出手段３４は、算出したスケラム分布由来スコアをボット判定スコア算出手段４０に出力する。
なお、単調増加関数Ｆは、シグモイド関数に限定されず、スケラム分布由来スコアを算出又は使用する状況に応じて、適宜選択できる。
【００５９】
【数４】
2020086623.tif 000006
【００６０】
＜スケラム分布由来スコアの利点＞
以下、スケラム分布由来スコアの利点について説明する。
人間の行動は、巨視的にはきまぐれと言うことができる。例えば、人間は、数時間一切行動しなかったにもかかわらず、突然、行動を数分以内で繰り返すことがある。このような行動頻度のムラを評価するのが、スケラム分布由来スコアである。つまり、スケラム分布由来スコアは巨視的な乱雑性に着目し、その乱雑性が高い場合に人間であると評価するものである。
【００６１】
スケラム分布由来スコアに影響を及ぼすパラメータとしては、時間ｇ及び時間幅ｗがあげられる。この時間ｇは、１ユーザの行動を、時間ｇだけ離れている２ユーザの行動に分離する役割を有する。そして、２ユーザの行動が似ている場合、すなわち、時間ｇにおいて強い周期性を示す場合、タイムスタンプ数誤差（Ｎ１−Ｎ２）２の時間積分Ｃが小さくなるので、スケラム分布由来スコアも小さくなる。ここで、人間及びボットの行動は、普遍的な時制に由来した周期性を示し易いことが知られている。さらに、人間の行動は気まぐれな傾向があるので、ボットの行動の方がより強い周期性を示す。このような性質から、時間ｇは、普遍的な時制に由来する周期（例えば、２４時間や７日間）を設定することが好ましい。
【００６２】
時間幅ｗは、その時間内にユーザがとった行動回数の決定に影響する。タイムスタンプ数誤差（Ｎ１−Ｎ２）２の時間積分Ｃは、第１のタイムスタンプ数Ｎ１の時間積分Ａや第２のタイムスタンプ数Ｎ２の時間積分Ｂに比べて、時間幅ｗの期間内に行動が集中した場合に大きくなる。ここで、人間の行動が時間幅ｗしか継続しないと一般化できる場合がある。例えば、ブログへの投稿を３時間も４時間も継続するのは人間に相当な負担を与えるので、ブログへの投稿は１時間しか継続しないと一般化できる。この場合、タイムスタンプ数誤差（Ｎ１−Ｎ２）２の時間積分Ｃが大きくなり、スケラム分布由来スコアも大きくなる。このような性質から、時間幅ｗとして、一般的な人間が連続して行動可能な時間を設定することが好ましい。
なお、この性質に着目し、ボットの行動に人間の行動に類似したムラを生じさせると、特定の規則に従って安定的に行動するというボット本来の役割を達成できない可能性が高くなるので、ボットの運用者にとって大きなリスクになる。
【００６３】
図１に戻り、ボット判定装置１の説明を続ける。
ボット判定スコア算出手段４０は、ポアソン分布由来スコア算出手段２３からのポアソン分布由来スコア、及び、スケラム分布由来スコア算出手段３４からのスケラム分布由来スコアを調和平均により統合することで、ボット判定スコアを算出するものである。このボット判定スコアは、その行動がボットを行ったものであるか否かを判定するスコアである。調和平均により統合した場合、ボット判定スコアは、０〜１の値となり、その値が大きくなる程、人間である確率が高くなり、その値が小さくなる程、ボットである確率が高くなることを示す。この他、ボット判定スコア算出手段４０は、加算平均、相乗平均、加算又は乗算により、ポアソン分布由来スコアとスケラム分布由来スコアを統合してもよい。その後、ボット判定スコア算出手段４０は、算出したボット判定スコアをボット判定手段５０に出力する。
なお、ポアソン分布由来スコアとスケラム分布由来スコアの統合方法に応じて、ボット判定スコア算出手段４０は、両スコアの値域を予め揃えてもよい。
【００６４】
ボット判定手段５０は、ボット判定スコア算出手段４０から入力されたボット判定スコアの閾値判定により、ボットであるか否かを判定するものである。例えば、ボット判定スコアが０〜１の値をとる場合、ボット判定手段５０では、閾値を０．９に予め設定する。この場合、ボット判定手段５０は、ボット判定スコアが閾値０．９未満の場合、ボットと判定し、ボット判定スコアが閾値０．９以上の場合、人間と判定する。その後、ボット判定手段５０は、ボットであるか否かを示す判定結果を外部に出力する。
【００６５】
［ボット判定装置の動作］
図６を参照し、ボット判定装置１の動作について説明する。
なお、図６では、タイムスタンプ群記憶手段１０にタイムスタンプ群が予め記憶されていることとする。
【００６６】
図６のステップＳ１において、出現回数算出手段２１は、タイムスタンプ群記憶手段１０のタイムスタンプ群を参照し、行動の出現回数を算出する。
ステップＳ２において、平均分散算出手段２２は、出現回数の平均及び分散を算出する。
ステップＳ３において、ポアソン分布由来スコア算出手段２３は、出現回数の平均と分散の比によりポアソン分布由来スコアを算出する。
【００６７】
ステップＳ４において、タイムスタンプ群生成手段３１は、第１のタイムスタンプ群を予め設定した時刻だけ経過させた第２のタイムスタンプ群を生成する。
ステップＳ５において、タイムスタンプ数算出手段３２は、第１のタイムスタンプ群と第２のタイムスタンプ群との重複期間の各時刻において、第１のタイムスタンプ数、第２のタイムスタンプ数、及び、タイムスタンプ数誤差を算出する。
【００６８】
ステップＳ６において、タイムスタンプ数積分手段３３は、重複期間内で、第１のタイムスタンプ数の時間積分、第２のタイムスタンプ数の時間積分、及び、タイムスタンプ数誤差の時間積分を求める。
ステップＳ７において、スケラム分布由来スコア算出手段３４は、式（３）を用いて、第１のタイムスタンプ数の時間積分、第２のタイムスタンプ数の時間積分、及び、タイムスタンプ数誤差の時間積分により、スケラム分布由来スコアを算出する。
【００６９】
ステップＳ８において、ボット判定スコア算出手段４０は、ポアソン分布由来スコア及びスケラム分布由来スコアを統合することで、ボット判定スコアを算出する。
ステップＳ９において、ボット判定手段５０は、ボット判定スコアの閾値判定により、ボットであるか否かを判定する。
【００７０】
［作用・効果］
以上のように、ボット判定装置１は、人間の行動が確率過程で表されるという仮定により正確なボット判定スコアを算出するので、ボットを正確に判定できる。
ここで、ボット判定装置１は、微視的な周期性に着目したポアソン分布由来スコアと巨視的な乱雑性に着目したスケラム分布由来スコアとを統合し、ボット判定スコアを算出している。このように、ボット判定装置１は、着目する周期性のスケールが異なるスコアを併用しているので、様々な種類のボットに対応できる。
【００７１】
さらに、ボット判定装置１は、ポアソン分布やスケラム分布といった統計学的手法を用いるので、人間に対してプロセスを要求することがなく、人間にストレスを与えることがない。
さらに、ボット判定装置１は、前記した統計学的手法を用いるので、機械学習やＡＩのような学習データを必要としない。これにより、ボット判定装置１は、ボットの特徴に関する学習データの収集や学習が不要となり、ボットの判定に要する手間を削減すると共に、処理の高速化を図ることができる。
【００７２】
（第２実施形態）
［ボット判定装置の構成］
図７を参照し、第２実施形態に係るボット判定装置１Ｂの構成について、第１実施形態と異なる点を説明する。
ボット判定装置１Ｂは、ボット判定スコアとして、ポアソン分布由来スコアのみを算出する点が、第１実施形態と異なる。
【００７３】
図７に示すように、ボット判定装置１Ｂは、タイムスタンプ群記憶手段１０と、ＬｉＰＰ処理手段２０Ｂと、ボット判定手段５０Ｂとを備える。
ＬｉＰＰ処理手段２０Ｂは、ボット判定スコアとして、ポアソン分布由来スコア算出手段２３が算出したポアソン分布由来スコアをボット判定手段５０Ｂに出力する。
ボット判定手段５０Ｂは、ＬｉＰＰ処理手段２０Ｂからのボット判定スコアの閾値判定により、ボットであるか否かを判定する。
他の点、ボット判定装置１Ｂの各手段は、第１実施形態と同様のため、これ以上の説明を省略する。
【００７４】
［ボット判定装置の動作］
図８を参照し、ボット判定装置１Ｂの動作について説明する。
ステップＳ１及びステップＳ２の処理は、第１実施形態と同様のため、説明を省略する。
【００７５】
ステップＳ３Ｂにおいて、ポアソン分布由来スコア算出手段２３は、ボット判定スコアとして、出現回数の平均と分散の比によるポアソン分布由来スコアを算出する。
ステップＳ９Ｂにおいて、ボット判定手段５０Ｂは、ステップＳ３Ｂで算出したボット判定スコアの閾値判定により、ボットであるか否かを判定する。
【００７６】
［作用・効果］
以上のように、ボット判定装置１Ｂは、人間の行動がポアソン過程で表されるという仮定により正確なボット判定スコアを算出するので、ボットを正確に判定できる。
さらに、ボット判定装置１Ｂは、第１実施形態と同様、人間に対してプロセスを要求することがなく、人間にストレスを与えることもない。
さらに、ボット判定装置１Ｂは、第１実施形態と同様、機械学習やＡＩのような学習データを必要としないので、ボットの判定に要する手間を削減し、処理の高速化を図ることができる。
【００７７】
（第３実施形態）
［ボット判定装置の構成］
図９を参照し、第３実施形態に係るボット判定装置１Ｃの構成について、第１実施形態と異なる点を説明する。
ボット判定装置１Ｃは、ボット判定スコアとして、スケラム分布由来スコアのみを算出する点が、第１実施形態と異なる。
【００７８】
図９に示すように、ボット判定装置１Ｃは、タイムスタンプ群記憶手段１０と、ＮｉＰＰ処理手段３０Ｃと、ボット判定手段５０Ｃとを備える。
ＮｉＰＰ処理手段３０Ｃは、ボット判定スコアとして、スケラム分布由来スコア算出手段３４が算出したスケラム分布由来スコアをボット判定手段５０Ｃに出力する。
ボット判定手段５０Ｃは、ＮｉＰＰ処理手段３０Ｃからのボット判定スコアの閾値判定により、ボットであるか否かを判定する。
他の点、ボット判定装置１Ｃの各手段は、第１実施形態と同様のため、これ以上の説明を省略する。
【００７９】
［ボット判定装置の動作］
図１０を参照し、ボット判定装置１Ｃの動作について説明する。
ステップＳ４〜ステップＳ６の処理は、第１実施形態と同様のため、説明を省略する。
【００８０】
ステップＳ７Ｃにおいて、スケラム分布由来スコア算出手段３４は、ボット判定スコアとして、式（３）を用いて、スケラム分布由来スコアを算出する。
ステップＳ９Ｃにおいて、ボット判定手段５０Ｃは、ステップＳ７Ｃで算出したボット判定スコアの閾値判定により、ボットであるか否かを判定する。
【００８１】
［作用・効果］
以上のように、ボット判定装置１Ｃは、人間の行動が統計的に乱雑であるという仮定により正確なボット判定スコアを算出するので、ボットを正確に判定できる。
さらに、ボット判定装置１Ｃは、第１実施形態と同様、人間に対してプロセスを要求することがなく、人間にストレスを与えることもない。
さらに、ボット判定装置１Ｃは、第１実施形態と同様、機械学習やＡＩのような学習データを必要としないので、ボットの判定に要する手間を削減し、処理の高速化を図ることができる。
【００８２】
（変形例）
以上、本発明の各実施形態を詳述してきたが、本発明は前記した各実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００８３】
前記した各実施形態において、ボット判定スコアの算出過程で設定したパラメータ（パターン数Ｐ、時間ｇ、時間幅ｗ）を適宜変更し、異なるパラメータでボット判定スコアを算出して統合してもよい。
【００８４】
前記した各実施形態では、ボット判定スコアによりボットを判定するボット判定装置として説明したが、本発明は、これに限定されない。つまり、本発明は、ボットの判定までを行わず、算出したボット判定スコアを出力するボット判定スコア算出装置としてもよい。
【００８５】
前記した各実施形態では、［時］・［分］・［秒］が結合してることとして説明したが、タイムスタンプの形式はこれに限定されない。例えば、タイムスタンプが、［時］、［分］、［秒］に分けられた形式であってもよい。この場合、［秒］や［分］の出現回数をそのまま数えるだけでよい。
【００８６】
前記した各実施形態では、ボット判定装置を独立したハードウェアとして説明したが、本発明は、これに限定されない。例えば、本発明は、コンピュータが備えるＣＰＵ、メモリ、ハードディスク等のハードウェア資源を、前記したボット判定装置として協調動作させるプログラムで実現することもできる。これらのプログラムは、通信回線を介して配布してもよく、ＣＤ−ＲＯＭやフラッシュメモリ等の記録媒体に書き込んで配布してもよい。
【００８７】
（実施例１：ウェブページにおけるユーザ判定）
以下、実施例１として、ボット判定装置をウェブページにおけるユーザ判定に適用した例を説明する。
例えば、ウェブページで商品を購入する際、数量や支払い方法を入力する状況が考えられる。このように、ユーザが何らかの情報を入力する状況であれば、その入力（行動）のログを取得するウェブページを活用できる。例えば、その情報を入力するウィンドウがアクティブになるタイミング及び非アクティブになるタイミング、アクティブな時間内に入力された文字数と入力に要した時間などをログとして取得する。ここで、ＰＨＰやＪａｖａＳｃｒｉｐｔを用いて、ログを取得可能なウェブページを容易に作成できる。ユーザの入力完了後、入力内容と共にログをウェブページからボット判定装置に送信することで、ボット判定装置が、人間又はボットを判定できる。ウェブページでは、ボットが一様に連続的に入力することが多いので、特にポアソン分布由来スコアが有用である。
【００８８】
（実施例２：ＳＮＳにおけるユーザ判定）
以下、実施例２として、ボット判定装置をＳＮＳにおけるユーザ判定に適用した例を説明する。
ＳＮＳでは、ユーザの投稿時刻を活用する。ポアソン分布由来スコアにスケラム分布由来スコアを組み合わせることで、長期間にわたる安定的かつ継続的なボットの行動を正確に判定できる。このとき、スケラム分布由来スコアに関するパラメータ（時間ｇ及び時間幅ｗ）は、人間が行動するときの周期性と継続性を考慮し、適切に設定するとよい。例えば、時間ｇを２４時間に設定した場合、一日単位で行動回数の誤差を捉えることになる。また、時間幅ｗを１時間に設定した場合、１時間単位で行動回数の変化に敏感になる。
【００８９】
（実施例３：評価実験）
以下、実施例３として、ＡＵＣ（Area Under the Curve）及びＭＣＣ（Matthews Correlation Coefficient）による評価実験の結果を説明する。
【００９０】
実施例３では、以下のデータセットを用いて、評価実験を行った。
Ｓ．Ｃｒｅｓｃｉらが作成、公開しているラベル付きデータセットを用いた（ｇｉｖｅｎ）。このデータセットには、ボットによるツイッターの投稿が３９８アカウント分、人間によるツイッターの投稿が２１４６アカウント分含まれている。なお、このデータセットでは、２０１８年９月２５日の時点において、１８０投稿以上閲覧可能なものに限定している。
また、ＴｗｉｔｔｅｒＳｔｒｅａｍＡＰＩでランダムに取得したデータセットも用いた（Ｏｒｉｇｉｎａｌ）。このデータセットには、ボットによるツイッターの投稿が６３アカウント分、人間によるツイッターの投稿が１０２アカウント分含まれている。なお、このデータセットでは、手動でラベル付け可能であったものに限定している。
【００９１】
また、実施例３では、以下の手法でボット判定スコアを算出した。
項番１−１：投稿時刻の［秒］から算出したポアソン分布由来スコア
項番１−２：投稿時刻の［分］から算出したポアソン分布由来スコア
項番１−３：項番１−１と項番１−２の調和平均
項番２−１：スケラム分布由来スコア（時間幅ｗ＝１時間、時間ｇ＝２４時間）
項番２−２：スケラム分布由来スコア（時間幅ｗ＝２４時間、時間ｇ＝２４時間）
項番２−３：項番２−１と項番２−２の調和平均
項番３−１：項番１−１と項番２−１の積
項番３−２：項番１−１、項番１−２、項番２−１及び項番２−２の積
項番３−３：項番１−３と項番２−３の積
【００９２】
そして、実施例３では、各手法で算出したボット判定スコアをＡＵＣ及びＭＣＣのそれぞれで評価した。図１１のテーブルがＡＵＣによる評価結果を表し、図１２のテーブルがＭＣＣによる評価結果を表す。
図１１及び図１２に示すように、ＡＵＣ及びＭＣＣの何れにおいても、ポアソン分布由来スコア及びスケラム分布由来スコアの正確性が実用上問題ないことが分かった。特に、ポアソン分布由来スコアとスケラム分布由来スコアの両方を統合した場合、ボット判定スコアの正確性が高くなることがわかった。
【符号の説明】
【００９３】
１，１Ｂ，１Ｃ  ボット判定装置（ボット判定スコア算出装置）
１０  タイムスタンプ群記憶手段
２０，２０Ｂ  ＬｉＰＰ処理手段
２１  出現回数算出手段
２２  平均分散算出手段
２３  ポアソン分布由来スコア算出手段
３０，３０Ｃ  ＮｉＰＰ処理手段
３１  タイムスタンプ群生成手段
３２  タイムスタンプ数算出手段
３３  タイムスタンプ数積分手段
３４  スケラム分布由来スコア算出手段
４０  ボット判定スコア算出手段
５０，５０Ｂ，５０Ｃ  ボット判定手段
【図１】
2020086623.tif 000009
【図２】
2020086623.tif 000010
【図３】
2020086623.tif 000011
【図４】
2020086623.tif 000012
【図５】
2020086623.tif 000013
【図６】
2020086623.tif 000014
【図７】
2020086623.tif 000015
【図８】
2020086623.tif 000016
【図９】
2020086623.tif 000017
【図１０】
2020086623.tif 000018
【図１１】
2020086623.tif 000019
【図１２】
2020086623.tif 000020