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