JP5324824B2 - ネットワーク・ノードを分類する情報処理装置、情報処理システム、情報処理方法およびプログラム - Google Patents

ネットワーク・ノードを分類する情報処理装置、情報処理システム、情報処理方法およびプログラム Download PDF

Info

Publication number
JP5324824B2
JP5324824B2 JP2008138373A JP2008138373A JP5324824B2 JP 5324824 B2 JP5324824 B2 JP 5324824B2 JP 2008138373 A JP2008138373 A JP 2008138373A JP 2008138373 A JP2008138373 A JP 2008138373A JP 5324824 B2 JP5324824 B2 JP 5324824B2
Authority
JP
Japan
Prior art keywords
node
spammer
link
action
nodes
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.)
Expired - Fee Related
Application number
JP2008138373A
Other languages
English (en)
Other versions
JP2009288883A (ja
Inventor
ルディ・レイモンド・ハリー・プテラ
明子 鈴木
弘揮 ▲柳▼澤
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2008138373A priority Critical patent/JP5324824B2/ja
Priority to US12/472,603 priority patent/US8291054B2/en
Publication of JP2009288883A publication Critical patent/JP2009288883A/ja
Application granted granted Critical
Publication of JP5324824B2 publication Critical patent/JP5324824B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワーク解析技術に関し、より詳細には、ネットワークに接続し、ネットワークに対して情報を発信するユーザを、ユーザ属性に対応して分類する情報処理装置、情報処理システム、情報処理方法、およびプログラムに関する。
近年、コンピュータ、接続装置などの処理能力の向上に伴い、インターネットやWAN(Wide Area network)などのネットワークを介して情報通信を行うのが普及している。ネットワークを介した情報通信は、通常、ネットワークに接続し、ウェブ・クライアントとして機能するコンピュータ(以下、単にノードとして参照する。)と、複数のノードからのアクセス要求を受付け、処理するウェブ・サーバ装置(以下、単にサーバとして参照する。)とを含んでいる。サーバは、CGI、サーブレットなどを使用して記述されたサーバ・アプリケーションを使用して、メール送受信、ファイル送受信、検索、SNS(Social Network Service)などを使用したブログ書込み、チャットなどのサービスを提供する。
ネットワークを介して送受信される情報の種類が増加し、またサービスの種類も増加するにつれて、ネットワークにアクセスするネットワーク・ユーザの質も広範なものとなる。例えば、サーバにアクセスし、悪意のないメールを送信するユーザ、情報検索を行い、サーバが管理する情報を専らダウンロードするユーザ、ブログ書込みを行うことで情報を発信し、また他人のブログに善意の書込みを行うユーザが存在する。以下、上述した善意のユーザが管理するユーザ・ノードを、一般ノードとして参照する。
一方、不必要な情報を強制的に大量送信するユーザや、チャット、ブログなどに悪意のある書込みを行なうユーザ・ノードが存在するようになってきている。以下、ネットワークに対して悪意をもってアクセスするユーザが管理するユーザ・ノードを、スパマー・ノードとして参照する。
上述したスパマー・ノードの活動は、スパマー・ノードではない他の善意の一般ノードが提供しているサービスの停止、ブログ閉鎖など、重大なネットワーク・アクティビティの阻害活動に発展する可能性もある。
また、サービスの停止やブログ閉鎖などの致命的なダメージを与えるには至らないが、ネットワークを介して希望されない大量のメールを送信することは、ネットワーク帯域幅を浪費し、一般ノードのネットワーク・アクティビティに影響を与え、またコンピュータ・ウィルスの蔓延という問題も生じる。したがって、これらのスパマー・ノードをネットワーク上で検出し、一般ノードのネットワーク・アクティビティに影響を与えないように対応することが必要とされている。さらに近年では、複数のスパマー・ノードが共同して自己がスパマー・ノードであることをカモフラージュするスパマー・グループが存在することも知られるようになってきている。
これまでも上述したスパマー・ノードを検出するための種々の試みがなされている。例えば、スパム・メールに対しては、スパムメール・メッセージなどを判定するために、許容可能なメール・メッセージの正解セットを作成し、機械学習させる方法が知られている。またこの他、多数のノードからのスパム通報を使用して特定ノードのスパム度を決定し、スパム度を管理者がチェックして、アクセス制御を実行することも知られている。
上述のポリシーを適用するスパム対策技術としては、例えば、特開2003−115925号公報(特許文献1)、特開2004−18541号公報(特許文献2)、特開2004−362559号公報(特許文献3)、特開2006−178998号公報(特許文献4)、および特開2003−348162号公報(特許文献5)を挙げることができる。特許文献1および特許文献2では、スパム・メールの送信回数を検出し、スパム・メールの送信回数の多いユーザをスパマー・ノードとして識別する。また、特許文献3および特許文献4では、メッセージの内容を解析してスパマー・ノードを特徴付ける特性を正解セットとして構成し、含むメッセージの送信元をスパマー・ノードとして識別するものである。
さらに、特許文献5は、ユーザ端末装置で受信された電子メールが迷惑メールであったとき、そのメールに関する情報を迷惑メール情報としてネットワーク側に通知し、メール受信サーバで受信された受信済み電子メールを保存し、前記ユーザ端末装置からの迷惑メール情報をデータベースに登録し、前記データベースに登録された迷惑メール情報に一致又は酷似するメールが前記受信済み電子メールの中に存在したとき、その電子メールを前記メール受信サーバの配信対象から除外する技術を開示する。
上述したように、従来技術では、ネットワークを介して転送されるコンテンツに対して、スパマー・ノードと一般ノードとを識別させるための正解セットを予め構築しておくか、またはノードからの通知を受領して正解セットを作成するものである。正解セットを作成する技術は、スパマー・ノードがコンテンツを含んだデータ、例えばメール・メッセージなどには効果的に適用することができる。しかしながら、コンテンツを発信するという行為は、機械学習のための特徴量として規定するには、スパース過ぎ、機械学習では、無駄なデータの回収を伴うことにもなるので、サーバのオーバーヘッドを増加させる割には、学習によるスパマー・ノード抽出効率の改善に結びつかないという問題点がある。
さらに、一定の内容のコンテンツを有しない場合、例えばコメントなどその内容が予測できない行為には、スパマー・ノードであることを特徴付けすることができず、この結果、ブログ書込みや、チャットへの妨害などを行うスパマー・ノードについては、効果的な学習を行うことができないという問題点がある
また、ノードからの通報を使用する技術も問題があることが知られている。例えば、スパマー・ノードが、一般ユーザがスパム・メールを通報したことを検知すると、通報先に対して、スパマー・ノードを通報した当の通報主(一般ノード)も通報する、いわゆる報復行動を取ることも知られている。このような報復行動が行われると、スパマー・ノードを一意に決定するのはさらに困難となる。また、このような報復行動の故に、一般ノードが通報行為を避けることも多い。さらに、スパマー・ノードが、スパマー集団として存在する場合、通報および逆行為(評価を高くするなど)などが可能となり、スパマー集団の中でお互いに協力しあい、スパム度を低下させてしまう協動的行動も可能としてしまう、という問題点もある。
特開2003−115925号公報 特開2004−178541号公報 特開2004−362559号公報 特開2006−178998号公報 特開2003−348162号公報
すなわち、これまでネットワークに接続した複数のノードから、スパマー・ノードと、スパマーではない他ノードとを、予め正解セットを構築させることなく、識別するための技術が必要とされていた。また、さらにこれまで、ノードからの通報の有無にかかわらず、アプリケーション・サーバへのアクセスログを使用して、アプリケーション・サーバにアクセスするユーザ属性を、スパマー・ノードおよび一般ノードとして分類する汎用的技術が必要とされていた。
本発明は、上記従来技術の問題点に鑑みてなされたものであり、ネットワークに接続され、アプリケーション・サーバにアクセスするノードのアクセスログから、ノードのユーザ属性を、ネットワークに対して善意でアクセスする一般ノードと、ネットワークに対して悪意でアクセスするスパマー・ノードとに分類する新規な技術を提供するものである。
本発明において、用語「ネットワークに対して善意でアクセスする」とは、ネットワークを介して行われるトランザクションによって検索、情報収集、コミュニケーション、メール・メッセージ送信、チャット、ブログ作成、コメント、適法なe−コマースなどの行為を行うことを意味する。以下、本発明では、これらの行為を行うノードを、一般ノードとして参照する。
また、本発明において、用語「ネットワークに対して悪意をもってアクセスする」とは、ネットワークを介した一般ノードのネットワーク・アクティビティを損ねるアクセスを行うことを意味する。以下、本発明では、これらのノードを、スパマー・ノードとして定義する。スパマー・ノードが行う悪意のある行為は、例えば、ネットワークを介した以下の迷惑行為を挙げることができる。
(1)宣伝の目的などのためのメッセージや元の文書と無関係なコメントなどを送付する。
(2)内容のない宣伝のためだけのコンテンツを作成する。
(3)オークションで落札後一方的にキャンセルする。
(4)オークションで交渉成立後、代金を支払っても商品を送付しない。
(5)他人や他団体の誹謗中傷を書く。
(6)著作権侵害のコンテンツを投稿するなど違法行為を繰り返す。
(7)他ユーザに不快感を与えるコンテンツを発信する。
本発明では、ネットワークを介したアプリケーション・サーバへのアクセスからスパマー報告アクションとして定義されるアクセスログを抽出し、スパマー報告アクション履歴集合を生成する。スパマー報告アクション履歴集合は、関連ノード取得部が、ノード集合Vおよびリンク集合Eを生成するために利用される。
本発明では、ノード集合Vおよびリンク集合Eは、無向グラフ生成部により参照され、スパマー報告アクションに関連したノードを節点とし、ノード間の接続関係を枝として登録する無向グラフG(V、E)を生成するために使用される。
無向グラフG(V、E)は、スパマー報告アクションに関連したノード間を、スパマー報告アクションに対して割当てられたアクション重付け値wsが定義されたリンクで相互接続するグラフ表現を与える。本発明の情報処理装置は、無向グラフG(V、E)のノードを、一般ノードを構成要素とする一般ノード集合Nと、スパマー・ノードを構成要素とするスパマー・ノード集合Sとからなる2集合に分割することで、ユーザ属性を分類する。ノードは、一般ノード集合Nまたはスパマー・ノード集合Sのいずれかに分類され、本発明では、後述の制約条件のもとで、一般ノード集合Nと、スパマー・ノード集合Sとの間を張るリンクのスパム特性を現す指標値を最大化させるように、2集合の境界を設定する。
スパム特性の指標値は、整数計画法、半正定値計画法、または欲張り法を使用して、特定の実施形態では、2集合の境界は、リンクについて生成されたリンク重付け値wijのうち、後述の制約条件のもとで、一般ノード集合Nおよびスパマー・ノード集合Sの間を張るリンクのリンク重付け値wijの総和を最大化させるようにして生成される。また、本発明の特定の実施形態で、欲張り法ソルバーとして参照されるソルバーは、上述した最大化の同値表現であり、後述の制約条件のもとで、一般ノード集合Nおよびスパマー・ノード集合Sの間を張るリンクのリンク重付け値wijの総和と、各集合内部に局在するリンク重付け値wijの総和との差を最大化するように、すなわち最大カット集合として、2集合の境界を生成することができる。
さらに、本発明の特定の実施形態では、最大カット集合は、最大カット・ソルバーを呼出すことにより実行される。最大カット・ソルバーは、整数計画法ソルバー、半正定値計画法ソルバー、または欲張り法ソルバーのいずれか、または全部を適宜選択して実装することができる。本実施形態で、整数計画法ソルバー、半正定値計画法ソルバー、または欲張り法ソルバーを複数実装する場合には、スパマー報告アクションに関連した処理対象のノード総数に対応して、最大カット・ソルバーを選択して呼出し、処理対象のノード総数とスパマー判定の精度に対応した効率的な処理を実行する。
本発明は、さらに上述した最大カット・ソルバーを実装する分析サーバを含む情報処理システム、および上述したユーザ属性の分類を可能とする情報処理方法、およびプログラムを提供するものである。
本発明によれば、ネットワークに接続した複数のノードから、スパマー・ノードと、スパマーではない他ノードとを、予め正解セットを構築させることなく、識別するための技術を提供することができる。また、本発明によれば、ノードからの直接的な通報、例えば、スパムメッセージの印付けや管理者へのスパマー・ノード通報のプログラムなどの有無にかかわらず、アプリケーション・サーバへのアクセスログを使用して、ノードのコンテンツ削除などの活動履歴からアプリケーション・サーバにアクセスするユーザ属性を、スパマー・ノードおよび一般ノードとして分類する、情報処理装置、情報処理システム、情報処理方法およびプログラムを提供することができる。
<セクション1:ハードウェア構成>
以下、本発明を実施の形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図1は、本実施形態の情報処理システム100の実施形態を示す。情報処理システム100は、ネットワーク116と、ネットワーク116に接続され、ネットワーク116を介してサーバ120にアクセスする複数のノード112、114を含んで構成されている。
複数のノード112、114のうち、ノード112は、ネットワークに対して善意でアクセスし、スパム行為を行うことがない一般ノードであり、ノード114は、ネットワーク上での一般ユーザのネットワーク・アクティビティに重大な影響を与えるスパム行為を行うスパマー・ノードである。本実施形態において、スパマー・ノードとは、例示的には、大多数の他のノードに不快感を与えるコンテンツを発信するノード、著作権侵害の画像などをアップロードする違法性の高いノード、特定の個人や団体などを中傷するコンテンツをアップロードするノード、または特定商品、サービス、ウィルスなどを含むコンテンツを承諾無しに他ノードに送付するノード、仮想ショッピングモールにおける一般ノードや出展者を欺く行為を行うノードとして定義される。本実施形態は、アプリケーション・サーバにアクセスする不特定のノードのユーザ属性を、アクセス履歴を使用してスパマー・ノードと、一般ノードとに分類するものである。なお、各ノードの固有の識別については、例えばユーザID、IPアドレスなど、ノードまたはユーザを固有に識別することが可能なネットワーク識別子であればいかなる値でも使用することができる。
特定のノードをスパマー・ノードとして特定するためには、種々の基準を使用することができる。例えば、投稿したコンテンツがその他のノードからの要請で消されるノードは、スパム度が高いノードとすることができる。ただし、複数のスパマー・ノードが共同して、逆にアップロードされたコンテンツの評価ポイントを高めることで、スパム度を低下させるスパマー集団も存在することが知られている。さらにスパマー・ノードであってもスパマー・ノードではない他ノードをスパマーであるとして通知することができる。スパム度のみでは、適切な判断を行うことができない場合も想定され、スパマー・ノードの存在割合が高まれば高まるほど、その傾向が強くなるものと考えられる。
このため、スパム度のみを使用してスパマー・ノードを特定することは、一般ノードについてスパム判定を行ってしまうことになり、適切ではないか、またはスパマー集団による報復攻撃などを考慮した場合、スパム度の高さだけでのスパム分析は、有効性を実質的に失うことになる。本実施形態の情報処理システム100は、スパマー集団が存在することによりスパム度分析が妨害される場合にでも、適切にスパマー・ノードを分析することを可能とする。
ネットワーク106に接続されたサーバ120は、図1に示した実施形態では、サーバ120の機能説明を明確にする目的で、サーバ120が、ウェブ・サービスを提供するアプリケーション・サーバ122と、スパマーを分析する分析サーバ126とから構成されるものとして示されている。アプリケーション・サーバ122は、ネットワーク116に接続されたノードからの検索要求、アップロード要求、ダウンロード要求などを受領して、ノードに対して要求に対応するサービスを提供する。アプリケーション・サーバ122が提供するサービスには特に限定はなく、検索サービス、ブログ提供サービス、SNS、メール配信サービス、チャット・サービスなどを例示的に挙げることができる。
アプリケーション・サーバ122は、ノードからの要求に対応するために、コンテンツ記憶部124を管理している。用語「コンテンツ」とは、テキスト、イメージ、動画データ、音声データ、マルティメディア・データ、メールなど、コンピュータがアクセス可能な形式で作成されたデータ構造体を意味する。アプリケーション・サーバ122は、ノードからの要求を受領してコンテンツ記憶部124にアクセスし、コンテンツの検索、コンテンツのアップロード、ダウンロード、メール転送などを行っている。
分析サーバ126は、アプリケーション・サーバ122にアクセスするノードのアプリケーション・サーバ122に対するアクセスログをモニタする。アクセスログは、アプリケーション・サーバ122のログなどとして登録することができる。分析サーバ126は、定期的にアプリケーション・サーバ122にポーリングして、前回のポーリング以後に蓄積されたアクセスログを、分析対象データとして取得する。また、他の実施形態では、分析サーバ126が、独立してアプリケーション・サーバ122へのノードのアクセスをモニタし、スパマー報告アクションに関連するアクセスログを蓄積し、以後の処理に使用することもできる。
分析サーバ126は、スパム分析データ記憶部128を管理する。スパム分析データ記憶部128は、ノードのスパム分析を行うための各種データ、例えば、スパマー報告アクション定義、スパマー報告アクションについて統計的な観点から割当てた重付けなどを登録し、分析サーバ126のスパム分析処理を可能とさせている。なお、スパム分析データについては、より詳細に後述する。
分析サーバ126は、スパム分析の結果を、ノード識別値などのリストとして生成し、出力結果を生成する。サーバ120の管理者は、分析サーバ126の出力結果を参照して、アクセス履歴を有するノードを、スパマー・ノードと、スパマー・ノードではない一般ノードとしてユーザ属性を識別する。その後、管理者は、スパマー・ノードとして特定されたノードに対し、フィルタリング設定などを行うことができる。また、分析サーバ126は、生成したリストをアプリケーション・サーバ122に通知し、アプリケーション・サーバ122によるIPアドレス停止、アクセス禁止などフィルタリング処理のために使用させることもできる。
分析サーバ126は、図1に示した実施形態のように、アプリケーション・サーバ122と別に実装させることもできる。また、他の実施形態では、分析サーバ126は、アプリケーション・サーバ122の管理モジュールとして実装することもできる。
上述したサーバ120は、PENTIUM(登録商標)、PENTIUM(登録商標)互換チップなどのCISCアーキテクチャのマイクロプロセッサ、または、POWER PC(登録商標)などのRISCアーキテクチャのマイクロプロセッサを実装する情報処理装置または情報処理装置のクラスタとして構成することができる。また、各サーバ120は、WINDOWS(登録商標)SERVER200X、UNIX(登録商標)、LINUX(登録商標)などの適切なオペレーティング・システムにより制御される。さらにサーバ120は、C++、JAVA(登録商標)、JAVA(登録商標)BEANS、PERL、RUBY、PYTHONなどのプログラミング言語を使用して実装される、CGI、サーブレット、APACHEなどのサーバ・プログラムを実行し、ノード112、114からの要求を処理する。
また、アプリケーション・サーバ122および分析サーバ126は、アクセスログを取得し、スパム分析を行うため、例えばDB2(登録商標)などのリレーショナル・データベースを含んで構成され、リレーショナル・データベースに対して照会処理を可能とする、SQL(Structured Query Language)文を使用する検索が可能とされている。なお、本実施形態では、アプリケーション・サーバおよび分析サーバ126は、リレーショナル・データベースおよびSQLによる照会処理を使用することなく、各種プログラミング言語で作成されたデータベース・アプリケーションおよび検索アプリケーションを使用して実装することもできる。
ノード112、114と、サーバ120との間は、TCP/IPなどのトランザクション・プロトコルに基づき、HTTPプロトコルなどのファイル転送プロトコルを使用するトランザクションが確立されていて、ノード112、114は、サーバ120との間で、ファイルのアップロード、ダウンロード、ブログ書込み、部録読出し、感想・意見の記述、e−コマース、チャット、フォーム送信、フォーム・ダウンロード、コンテンツ・アップロード、コンテンツ・ダウンロード、コンテンツ削除要求、スパマー通報などの種々のアクションを行なう。さらに、サーバ120は、SMTP(Simple Mail Transfer Protocol)を使用したメールサーバとして機能することもでき、ノード112間およびノード112と、114との間でメール・メッセージの送受信を可能とする。
一方、ノード112、114は、パーソナル・コンピュータ、ワークステーション、またはサーバなどとして実装される。ノードが、パーソナル・コンピュータやワークステーションから構成される場合、マイクロプロセッサ(MPU)は、これまで知られたいかなるシングルコア・プロセッサまたはマルチコア・プロセッサを含んでいてもよい。さらに、ノード112、114は、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、MAC OSなど、いかなるオペレーティング・システムにより制御されてもよい。サーバ120がウェブ・サーバとして実装される場合には、ノード112、114は、Internet Explorer(商標)、Mozilla、Opera、Netscape Navigator(商標)などのブラウザ・ソフトウェアを実装し、サーバ120に対してアクセスする。
また、スパマー・ノード114は、サーバとして実装される場合もある。この場合、スパマー・ノード114は、実質的にサーバ120に使用されるハードウェア構成およびオペレーティング・システムを含んで実装することができる。
<セクション2:ソフトウェア・モジュール構成>
図2は、図1に示した分析サーバ126のソフトウェア・モジュール構成200を示す。分析サーバ126には、プログラムおよびハードウェアが協働して複数の機能手段が実現されていて、スパム分析を可能とする機能手段を実現させている。分析サーバ126は、アクション履歴取得部210と、関連ノード取得部220と、無向グラフ生成部230と、最大カット計算部240と、結果出力部250とを含んで構成されている。以下、各機能部が実行する処理について詳細に説明する。
[アクション履歴取得部210]
アクション履歴取得部210は、前回アクセスの後に蓄積されたアクセスログを取得する。アクション履歴取得部210は、図2に示すように、アプリケーション・サーバ122のアクション履歴記憶部270にアクセスしてアクセスログを取得することもできるし、またアプリケーション・サーバ122へのアクションを聴取し、所定の期間内のアクセスログを取得し、適切な記憶領域に蓄積しておくこともできる。アクセスログは、アクションを要求した要求元識別子と、要求の対象となったコンテンツまたはノードを固有に示す対象識別子と、アクション内容を識別するためのアクション識別子とを含む構成として実装することができる。
アクション履歴取得部210は、アクセスログに登録されたアクション識別子を取得し、当該アクション識別子がスパマー報告アクション定義部280でスパマー報告アクションとして定義されているか否かを検査する。アクション履歴取得部210は、検査の結果、当該レコードがスパマー報告アクションに関わるものであると判断すると、該当するアクセスログのレコードを抽出し、スパマー報告アクションに関連するレコードのみを含む、スパマー報告アクション履歴集合を生成する。そして、生成したスパマー報告アクション履歴集合は、ビュー、リスト、またはテーブルとして分析サーバ126の適切な記憶領域に登録される。
[関連ノード取得部220]
関連ノード取得部220は、スパマー報告アクション履歴集合に登録されたノードを抽出し、ノード集合Vを生成する。ノード集合Vは、スパマー報告アクションに関連したノードを登録するリストのデータ構造体として表現できる。関連ノード取得部220は、当該アクションがコンテンツに対するものである場合、アプリケーション・サーバ122のコンテンツ記憶部124に照会を発行し、対象識別子から、対象となったコンテンツの作成元に対応する対象ノード識別子を取得する。ノード集合は、スパマー報告アクションに関連した各ノードの発信元識別子、対象ノード識別子を重複なく登録して生成することができる。関連ノード取得部220は、ノード集合Vを生成し、ビュー、リストまたはテーブルとして登録する。
その後、関連ノード取得部220は、リンク集合Eを作成する。リンク集合Eは、スパマー報告アクションに関連する発信元識別子と、対象ノード識別子と、関連ノード間に発生したスパマー報告アクションについて割当てられた重付け値とを対応付けて登録するリストとして記述することができる。生成したノード集合Vおよびリンク集合Eは、ビュー、リスト、またはテーブルとして分析サーバ126内のRAMなどの適切な記憶領域に格納される。
[無向グラフ生成部230]
無向グラフ生成部230は、ノード集合Vおよびリンク集合Eのレコードを参照して、特定のノード間の嫌悪度または迷惑度を関連付ける無向グラフG(V、E)を生成する。無向グラフG(V、E)は、そのデータ構造としてスパマー報告アクションの関連ノードを節点とし、各ノードについて、当該ノードを含むリンクを、総当たり的にリストしたデータ・テーブルを使用して生成することができる。無向グラフG(V、E)は、上述したデータ・テーブルを使用して、リンクごとに、リンクを定義するノードおよびリンクについて計算されるリンク重付け値wijとを登録するテーブル構造体として表現することができる。
本実施形態で、リンクとは、ノードを連結する枝を意味し、同一のノード間で複数回のスパマー報告アクションが登録される場合であっても、同一のリンクとして登録される。また、リンク重付け値wijは、ノードiおよびノードj間で発生したスパマー報告アクションについて、発生回数Tを使用して下記式(1)で定義される値である。
Figure 0005324824
上記式(1)中、wsij(t)は、ノードiおよびノードj間で発生した第t回のスパマー報告アクションについてスパム分析データ記憶部128に登録された、アクション重付け値である。
無向グラフ生成部230は、上述したデータ・テーブルを使用して、リンクを抽出する。さらに無向グラフ生成部230は、リンクとして指定されたリンクについて上記式(1)を使用してリンク重付け値wijを計算し、ノード、リンク、リンク重付け値を対応付けし、無向グラフG(V、E)を生成する。
[最大カット計算部240]
最大カット計算部240は、無向グラフG(V、E)を参照して、無向グラフG(V、E)のノードのユーザ属性を、スパマー・ノードと、一般ノードとに分類するための判断処理を実行する。本実施形態では、スパマー・ノードを要素として含む集合を、スパマー・ノード集合Sとし、一般ノードを要素として含む集合を一般ノード集合Nとして、ノードを分類する。本実施形態では、最大カットとは、ノードをスパマー集合Sおよび一般集合Nに分類した場合、スパマー・ノード集合Sの要素と一般ノード集合Nとの間を連結するリンクが与えるリンク数、またはリンク重付け値の総和を最大とするように、ノード集合を2分割(カット)することとして定義される。
本実施形態の最大カット計算部240は、処理対象のノード総数に対応して最適な最大カット計算を実行させるため、異なる処理を実行する最大カット・ソルバー240a、240b、240cを含んで実装することが好ましい。具体的には、最大カット・ソルバー240aは、対象ノード数が比較的少数、例えば500ノード以下の場合に適用される整数計画法ソルバーとして実装する。また、最大カット・ソルバー240cは、欲張り法ソルバーとして実装され、計算精度はやや低下するものの、最大カット計算のスケーラビリティを保証しつつ多数の処理ノードが存在する場合や、スパマー・ノードのダイジェストを高速に取得したい場合に使用される。
最大カット・ソルバー240bは、半正定値計画法を使用して最大カット計算を実行する半正定値計画法ソルバーとして実装される。本実施形態では、最大カット・ソルバー240bは、最大カット・ソルバー240aに設定された第1しきい値を超えた場合に呼出され、計算スケーラビリティを確保しながら、最大カット計算を実行する。また、最大カット・ソルバー240cは、最大カット・ソルバー240bに設定された第2しきい値を超えた場合に呼出され、ノードについて総当たり的に最大カット計算を実行するが、1判断に使用する計算量が少ないことから、膨大なノードの中から限られた数のスパマー・ノードを抽出する目的では、好ましく適用することができる。
最大カット計算部240が分類したスパマー・ノード集合Sに分類されたノードは、当該ノードの固有識別子および当該ノードについて計算されたスパム度とともにスパマー・リスト260としてサーバ126の適切な記憶領域に登録される。本実施形態では、スパム度は、下記式(2)で計算される値を使用することができる。
Figure 0005324824
上記式(2)、Wは、ノードkのスパム度であり、wklは、ノードkとノードlとの間をリンクし、ノードkに集中するノードlとの間のリンクについて計算されたリンク重付け値である。なお、各最大カット・ソルバーの処理についてはより詳細に後述する。
前記のスパム度は無方向のリンクから計算されるものとして与えたが、方向付きリンクからの計算もできる。例えば、スパマー報告アクション履歴集合の発信元識別子から対象識別子へとリンクの方向を与え、ノードkのスパム度をノードkが対象識別である方向付きリンクのリンク重付け値として計算できる。ただし,この場合発信元識別子であるノードを信頼することとなり、発信元識別子がスパマー・ノードである場合、得られたスパム度の信頼性が低下する可能性がある。
[結果出力部250]
結果出力部250は、スパマー・リスト260に登録されたスパマー・リスト260を照会し、スパム度の高いノードをスパム度順にソートして、アクションの内容などとともにスパム分析の出力結果として出力する。出力結果は、リストなどとして管理者が参照可能にハードコピーすることができる。他の実施形態では、出力結果は、アプリケーション・サーバに送付され、適切なURIを付してアプリケーション・サーバ122のアクセス解析データとして登録することもできる。さらに、結果出力部250は、出力結果をアプリケーション・サーバ122に通知し、アプリケーション・サーバ122における該当するIPアドレス、ユーザ識別値などの自動フィルタリング処理のために利用させることができる。
図3は、本実施形態で、スパム分析データ記憶部128が格納するスパム分析データ300の実施形態を示す。スパム分析データ300は、サーバ120へのアクセスログに登録されるアクションについて割当てられたアクション識別子のうち、スパマー報告アクションとして分類すべきアクションのアクション識別子を登録するフィールド310と、当該アクションをスパマー報告アクションとして参照する場合の重付け値を登録するフィールド320と、当該スパマー報告アクションの内容を登録するフィールド330とを含んで構成されている。例えばアクション識別子=10で特定されるスパマー報告アクションは、特定のノードがスパマー・ノードとして報告されたことを指定するものであり、この場合、特定のノードを、スパマー・ノードとして判断する場合の重付け値ws=1.0が割当てられる。
一方、例えばアクション識別子=61で指定されるアクションは、そのアクションの内容が「苦情のコメントを記入した」であり、当該アクションをスパマー報告アクションとして確実に特定するにはその回数・頻度を参考する必要があるため、フィールド320に登録された重付け値ws=0.5として低く設定されている。なお、図3に示したスパム分析データ300は、例示であり、アクションについて付される重付け値は、他の値とすることができるし、アクションの内容を登録するフィールド330は、分析結果にアクションの内容を含ませることが必要ない場合や、アクセスログ自体から取得される場合には、スパム分析データ300のエントリ項目として含ませなくともよい。
図3の通り本実施形態でリンクの重み付け値のもととなるアクション重み付け値が正の値として与えられたが、負の値として与えられてもよい。ただし、負の値として与えられたアクション重み付け値に対応するアクションの内容がスパマー報告アクションの反対、つまり、信頼報告に属するアクションとなる。ノードの信頼報告に属するアクションとはノードが他のノードを信頼できたからと思われるアクションのことで、例えば、他のノード好評価点を高くしたり、メッセージの返事を書いたりするなどがある。
図4は、本実施形態でアクション履歴取得部210によりアクセスログから生成されるスパマー報告アクション履歴集合のデータ構造を示す。アクション履歴取得部210は、アプリケーション・サーバ122が作成するアクセス履歴にアクセスし、前回取得したタイムスタンプの後に登録されたアクセス履歴を照会し、前回から現在までに蓄積されたアクセス履歴を抽出し、テーブル400を取得する。テーブル400は、説明する実施形態では、アクションが行われたタイムスタンプを登録するフィールド410、当該アクションの内容を示すアクション識別子を登録するフィールド420、アクション内容のダイジェストを登録するフィールド430、当該アクションに関連した発信元識別子を登録するフィールド440および対象識別子を登録するフィールド450を含んで構成されている。
アクション履歴取得部210は、その後、分析サーバ126のスパム定義データ記憶部128にアクセスして、スパマー報告アクションとして定義されているアクション識別子を取得し、テーブル400を検索する。アクション履歴取得部210は、テーブル400の検索により、スパマー報告アクションとして定義されているレコードを検索し、検索されたレコードをリストに登録して、スパマー報告アクション履歴集合460を生成する。なお、対象識別値がコンテンツ識別子である場合、スパマー報告アクション履歴集合460の対象識別子450a内にコンテンツ識別子が登録されている場合、関連ノード取得部220は、コンテンツの作成元のノードを固有に識別する対象ノード識別子を取得し、ノード集合Vに登録する。なお、他の実施形態では、アクション履歴取得部210は、関連ノード取得部220に渡す前に、コンテンツ識別値から対象ノード識別子を取得して、スパマー報告アクション履歴集合460のフィールド450aを対象ノード識別子で置換する処理を行うこともできる。本実施形態では、関連ノード取得部220は、スパマー報告アクション履歴集合460から、発信元識別子、対象ノード識別子を取得してノード集合Vおよびリンク集合Eを生成する。
その後、関連ノード取得部220は、スパマー報告アクション履歴集合460に対してSQL(Structured Query Language)文などを使用して照会を発行し、ノード集合Vおよびリンク集合Eを生成する。
図5は、アクション履歴取得部210が実行するスパマー報告アクション履歴集合生成処理のフローチャートである。図5の処理は、ステップS500から開始し、ステップS501で対象とするアクセスログの期間を指定してアクセスログを検査期間分抽出し、スパマー報告アクション履歴集合460を空集合に初期化する。ステップS502では、検査期間内に未処理のアクセスログが残っているかを判断する。未処理のアクセスログがない場合には(no)、処理をステップS505に分岐させ、スパマー報告アクション履歴集合460を確定し、適切な記憶領域に格納し、ステップS506で処理を終了し、関連ノード取得部220に通知を発行する。
一方、ステップS502で検査期間内に未処理のアクセスログが残っている場合(yes)、ステップS503で現在処理対象のレコードのアクション識別子がスパマー報告アクションとして登録されているか否かを判断する。処理対象のレコードがスパマー報告アクションに対応するアクション識別子を登録されていない場合(no)には、処理をステップS502に分岐させ、さらに残りの未処理アクセスログの有無を判断する。また、ステップS503で、処理対象のレコードがスパマー報告アクションとして定義されているアクション識別子を登録する場合(yes)、ステップS504で処理中のアクセスログのレコードをスパマー報告アクション履歴集合460に登録する。
さらに、対象識別値がコンテンツ識別値などの場合には、コンテンツを作成したノードを示す対象識別子を検索し、レコードの対象識別子のフィールドに対象ノード識別子として記述する。当該レコードの登録後、処理をステップS502に戻し、さらに未処理のアクセスログがあるかないかを判断し、検査期間中の全アクセスログについて処理が終了するまで、スパマー報告アクション履歴集合460へのスパマー報告アクションの登録を続行する。
関連ノード取得部220は、図5の処理で生成されたスパマー報告アクション履歴集合460を参照して、ノード集合Vおよびリンク集合Eを生成する。ノード集合Vおよびリンク集合Eのデータ構造は、テーブル、リスト、またはベクトル型式として実装することができるが、本実施形態では、ノード集合Vおよびリンク集合Eは、リスト構造として実装するものとして説明する。
ノード集合Vの作成処理は、関連ノード取得部220がスパマー報告アクション履歴集合460を参照して、発信元識別子440aおよび対象ノード識別子450aを抽出し、各識別子の重複を排除したリストを生成することによって実行される。なお、発信元識別子440aは、特定のユーザID、ハンドルネーム、送信元メール・アドレス、ドメインネーム、またはIPアドレスなど、ノードを固有に識別できる限り、いかなる値でも使用することができる。
また、対象ノード識別子450aは、メール・メッセージの場合、宛先メール・アドレス、IPアドレス、またはコンテンツのアップロード・ダウンロードに関連するアクションの場合には、上述したように、当該URIまたはURLに対してコンテンツを登録したコンテンツ作成元のユーザID、ハンドルネーム、ドメインネーム、IPアドレスなどを使用することができる。関連ノード取得部220は、対象識別子440aが、コンテンツに関連するものであると判断した場合、アプリケーション・サーバ122にアクセスし、コンテンツ記憶部124などを参照して、コンテンツ記憶部124の該当するコンテンツの作成者の固有識別値をユーザ・データベースなどを参照して取得し、対象ノード識別子450aとしてノード集合Vを生成するために使用する。なお、ノード集合Vの例示的なデータ構造についてはより詳細に後述する。
さらに関連ノード取得部220は、ノード集合Vを生成した後、リンク集合Eを初期化する。関連ノード取得部220によるリンク集合Eの生成処理は、スパマー報告アクション履歴集合460に登録されているアクション識別子を登録するフィールド420を参照し、アクション識別子について割当てられた重付け値wsを取得して、リンク集合のレコードに、アクション重みとして登録する。その後、関連ノード取得部220は、処理中のアクション識別子に対応する発信元識別子、および対象ノード識別子を取得し、リンク集合Eの該当するレコードのそれぞれ対応するフィールドに記述することで、リンク集合Eを生成する。
図6は、関連ノード取得部220が生成するリンク集合Eを、リンク・リスト600として実装する場合の実施形態である。図6に示すように、リンク・リスト600は、スパマー報告アクションについて割当てられたアクション重付け値wsを登録するフィールド610と、発信元識別子を登録するフィールド620と、対象ノード識別子を登録するフィールド630とを含む構成とされる。図6に示すリンク・リスト600では、説明の便宜上アクション重付け値wsは、最高の1.0のみがリストされているが、前述のようにアクションのスパム関連性の高さに対応して、図3に示すアクション重付け値wsが選択され、フィールド610に登録される。
無向グラフ生成部230は、図6に示したリンク・リスト600に登録された各項目値を使用して無向グラフG(V、E)を生成する。図6には、例示のため、無向グラフ(V、E)のグラフィカル表現を、無向グラフ640として示す。無向グラフ640は、リンク・リスト600の発信元識別子620と、対象ノード識別値630とをグラフのノードとし、同一のノードを連結するリンクで対応するノードを連結したグラフィカル表現として示される。また、各リンクには、上記式(1)を使用して計算された当該リンクについてのリンク重付け値wijを示す。
また、リンク・リスト600に登録されたノードは、発信元または対象ノード如何に関わらず、ノード650〜ノード690として登録され、それらの間がリンクにより連結されて無向グラフとして表現される。
無向グラフ生成部230は、関連ノード取得部220が生成したノード集合Vと、リンク集合Eとを使用して無向グラフを作成する。無向グラフ生成部230が実行する無向グラフ作成処理のフローチャートを、図7に示す。
図7に示す無向グラフ作成処理は、ステップS700から開始する。ステップS701で、スパマー報告アクションに関わるノードを列挙したノード集合Vを取得し、無向グラフG(V、E)を初期化する。ステップS702では、ノード集合Vに登録されたノードに関係するリンクに関連してリンク集合E内に未処理のリンクが残っているか否かを判断し、リンク集合Eに未処理のリンクがない場合(no)、処理をポイントAに分岐させる。ポイントAに後続する処理については後述する。
ステップS702で、リンク集合Eに未処理のリンクが残されている場合(yes)、ステップS703で現在処理中のリンクの発信元識別子が無向グラフG(V、E)のノードとして登録されているか否かを判断し、登録されていない場合、ステップS707で処理中の発信元識別子を無向グラフG(V、E)のノードとして登録し、処理をステップS704に分岐させる。一方、ステップS703で現在処理中のリンクの発信元識別子が無向グラフG(V、E)のノードとして含まれている場合(yes)、ステップS704に処理を分岐させる。ステップS704では、現在処理中のリンクの対象ノード識別子は、無向グラフG(V、E)のノードとして登録されているか否かを判断し、登録されていない場合(no)、ステップS708で対象ノード識別子を無向グラフG(V、E)に登録し、処理をステップS705に渡す。
一方、ステップS704で現在処理中のリンクの対象ノード識別値が、無向グラフG(V、E)のノードとして登録されている場合(yes)、処理をステップS705に分岐させる。ステップS705では、無向グラフG(V、E)に処理中の発信元識別子と対象ノード識別子との間に、同一の組合わせ端点ノードを有する他のリンクがあるかないかを、リンク集合Eを検査して判断する。同一の組合わせ端点ノードを有する他のリンクがある場合(yes)、同一の端点ノードを有するリンクについてのアクション重付け値wsを読出し、wij=ws+wijとして既計算の同一組合わせ端点ノードを結合するリンクのリンク重付け値wijに、処理中のアクション重付け値wsを加算し、リンク重付け値wijを更新する。
また、ステップS705で同一の端点ノードを有する他のリンクが先に登録されていないと判断された場合(no)、ステップS709で処理中のリンクについて割当てられたアクション重付け値wij=wsとして、リンク重付け値wijを計算する。
ステップS706およびステップS709の処理が終了し、リンク重付け値wijが確定した後、ステップS710で処理中のリンク・データ(発信元識別子、対象識別子、リンク重付け値)を無向グラフGのリンク・データとして登録し、処理をステップS702に分岐させ、リンク集合E内の未処理リンクがなくなるまで処理を繰返し実行する。図7の処理は、未処理のリンクがなくなった段階で、ポイントAから図8の処理に処理を分岐させる。
図8は、図7のポイントAに後続する無向グラフ作成処理のフローチャートである。図7のポイントAから分岐した後、ステップS801で無向グラフG(V、E)を出力し、ステップS802で、無向グラフG(V、E)の作成処理を終了させる。無向グラフG(V、E)は、リスト、テーブル、またはベクトル形式など種々のフォーマットで記述することが可能であり、処理上の効率などを考慮して、いかなるフォーマットとしても登録することができる。
図9は、図7および図8に示した無向グラフ作成処理によって作成される無向グラフG(V、E)を作成するためのデータ・テーブル900およびデータ・テーブル900から生成される無向グラフG(V、E)のデータ表現950を示す。
データ・テーブル900は、ノードをグラフの節点として登録するフィールド910を含んでおり、フィールド900の登録項目は、関連ノード取得部210が生成したノード集合Vの要素に対応する。また、データ・テーブル900には、リンク集合Eに対応するデータを登録するフィールド920が含まれている。フィールド920には、リンク集合Eに登録された発信元識別子、対象ノード識別子およびアクション重付け値wsをそれぞれ登録するサブフィールドが割当てられている。なお、図9フィールド920では、発信元識別子および対象ノード識別子を、無向グラフのノードとして処理するものである。フィールド920には、ノード集合Vに登録されたノードを発信元識別子として含むリンク集合Eのリンク・リスト600が、ノードごとに対応付けられて、例えばタイムスタンプの昇順に登録されている。
無向グラフ作成部230は、ノード集合Vおよびリンク集合Eに対応するデータ・テーブル900から、図7および図8に示した処理を実行し、データ表現で表された無向グラフG(V、E)950を作成する。無向グラフG(V、E)950は、リンクを指定する二つのノードと、リンク重付け値wijとを含んで構成される、グラフ・データを登録するフィールド960として構成されている。
なお、図9に示す無向グラフG(V、E)950では、リンクは、同一の発信元識別子および対象ノード識別子に対応するノード組合わせを有するリンクに集約され、集約した場合の重み付けの合計がリンク重み付け値wijとして定義される。ノードの若い方、具体的には、説明している実施形態で、アルファベットの先頭文字に近いノードを有するリンクを上位に記述する。しかしながら、本実施形態では、リンクを識別させるためのフォーマットは、情報処理装置が識別できる限り、いかなるフォーマットでもかまわないし、その登録順も、特定の用途・目的に応じて変更することができる。
セクション3:スパマー・ノード判断処理
図10は、本実施形態のスパマー・ノード判断処理の処理概念を、初期集合1000と、スパマー・ノード判断処理で生成される過渡集合1050とを使用して説明した概念図である。本実施形態のスパマー・ノード判断処理は、図2に示した実施形態の最大カット計算部240に実装される。スパマー・ノード判断処理では、初期設定として、初期集合1000として抽出されたスパマー報告アクションに関連するノードを、全部が一般ノードであるものとして一般ノード集合Nに登録し、スパマー・ノード集合Sを空集合として設定する。
初期設定時には、一般ノード集合Nに、ノードA〜ノードFまでが登録されている。また、スパマー・ノード集合Sは、空集合として初期化されており、処理の進行に応答して、スパマー・ノードの推定数に達するまでを制約条件に、スパマー・ノードをスパマー・ノード集合Sに登録し、一般ノード集合Nから削除する処理を実行する。この処理によって過渡集合1050が生成され、一般ノード集合Nと、スパマー・ノード集合Sとの間に、リンクが張られ、各リンクに対してそれぞれリンク重付け値Wsubが対応付けられる。特定のノードを、一般ノード集合Nからスパマー・ノード集合Sに移動させる処理は、本実施形態では、対象となるノード総数に応じ、処理の精度および処理のスケーラビリティを考慮して、整数計画法ソルバー、半正定値計画法ソルバー、および欲張り法ソルバーを利用する。
いずれのソルバーについても、基本的な処理概念は、異なる属性集合間に渡って張られるリンクのリンク重付け値を上昇させ、同一の属性集合内のみに局在するリンクについてのリンク重付け値を低下させ、その差を最大にするようにノードを一般集合Nおよびスパマー・ノード集合Sにユーザ属性を分類する。本実施形態では、最大カットとは、ノードを一般ノード集合Nと、スパマー・ノード集合Sとにユーザ属性を分類する場合に、異なるユーザ属性の集合間にわたって存在するリンクのリンク重付け値に注目して、指標値を最大とするように、2つのユーザ属性のノード集合を生成させる処理を意味する。
本実施形態で、最大カット計算を、整数計画法ソルバーを使用して実装する場合、整数計画法ソルバーは、下記式の指標関数(3)を導入し、指標関数(3)のノードについての総和を目的関数として使用する。
Figure 0005324824
上記式中、xおよびxは、ノード集合に帰属されるノードの指標値である。一般ノード集合Nに分類されるノードiについては、x=1とし、スパマー・ノード集合Sに分類されるノードjについては、x=−1として、絶対値が同じで、符号が異なる整数を、一般ノードおよびスパマー・ノードに割当てる。wijは、該当するリンクについて計算されたリンク重付け値である。
また、本実施形態で最大カット計算を、半正定値計画法ソルバーを利用して実装する場合、半正定値計画法ソルバーは、ノード集合Vの要素数に対応するn個のノードを代表するn×nの実正方行列を、下記式(4)のスパム行列Xとして定義する。スパム行列Xは、対角要素が1として設定され、それ以外の要素には、Xij=Xjiを満たす、いわゆる半正定値行列として参照されるn×nの実対称行列である。
Figure 0005324824
本実施形態では、ノード間のリンクの方向性を指定していないので、Xij=Xjiとして設定することができる。
上述の特性を有するスパム行列Xは、n×nの実対称行列となり、半正定値計画法による最適化が適用可能な行列を形成する(半正定値計画とその応用、第1回半正定値計画問題の基礎、東京工業大学大学院情報理工学研究科、小島政和著、2000年4月、http://www.is.titech.ac.jp〜kojimaartclesSDP0515.pdf)。
本実施形態の半正定値計画法ソルバーでは、スパマー・ノード判断処理に対して上述したスパム行列Xの要素を使用して下記指標関数(5)を定義する。
Figure 0005324824
上記式中、Xijは、スパム行列のi行j列の要素であり、wijは、リンク重付け値である。指標関数(5)は、半正定値計画法の目的関数として利用され、目的関数を最大化させるように、Xijの要素を決定し、スパマー・ノード判断を実行する。
さらに本実施形態の最大カット計算部240は、欲張り法ソルバーを実装する。欲張り法ソルバーは、整数計画法ソルバーおよび半正定値計画法ソルバーが実行する処理の出力結果に比較して得られた結果の最大性の保証が低下する。しかしながら、処理対象のノードが多数の場合、スパマー報告アクション集合(リスト)の中から短時間に効率的に最大カットを与えるスパマー・ノードを抽出する点で、スパマー報告アクション集合に含まれるノード数が一定以上の場合に好ましく利用することができる。
欲張り法ソルバーでは、指標関数(6)を使用して最大カット計算を実行する。
Figure 0005324824
上記式(6)中、wuvは、現在の一般ユーザ集合Nに属するノードuと、ノードu以外その他の一般ユーザ集合Nのノードvとを結合するリンクのリンク重付け値であり、wuxは、ノードuと現在のスパマー・ノード集合S内のノードxとを結合するリンクのリンク重付け値である。すなわち指標関数(6)は、現在一般ユーザ集合N内のノードuは仮にスパマー・ノード集合Sに移動された場合、その移動に伴った張られるリンクの重みの総和の変化を表している。
欲張り法では、初期設定時とそれ以降の各ステップに一般ノード集合Nに含まれていたノードの内、指標関数(6)の値が正で、かつ、最大となるようなノードuがスパマー・ノード集合Sに移動される。このようにして、各ステップでは既存の一般ノード集合Nから、欲張り的に指標関数(6)が最大となるように一つのノードが選ばれ、スパマー・ノード集合Sへと移動される。スパマー報告アクション履歴集合は、スパマー報告アクションに関連したノードとリンクを抽出して生成されるので、リンクは、当該ノード間にスパマー報告アクションが発生していることを示すものである。したがって、スパマー・ノードが完全にスパマー・ノード集合Sに移動された場合、一般ノード集合N内、および、スパマー集合S内に局在化するリンクは、理想的に存在しなくなるものと考えられる。このため、欲張り法では、既存の一般ユーザ集合Nのノードの内から、既存のスパマー・ユーザ集合Sへと移動されたノードuは、指標関数(6)の値が正で、かつ,最大となるようなノードとして選ばれる。意味的には、ノードuに対応するユーザは大多数の一般ユーザに嫌われ、スパマー・ユーザにはあまり嫌われないことに相当するので、指標関数(6)自体を目的関数として使用することが妥当である。
以下、図11を使用して本実施形態のスパマー・ノード判断処理を説明する。スパマー・ノード判断処理は、ステップS1100から開始し、ステップS1101で無向グラフG(V、E)を取得する。ステップS1102では、無向グラフG(V、E)内のスパマー数の推定値を、適切な記憶領域から取得する。スパマー数の推定値は、アプリケーション・サーバ122が提供するサービスの内容によっても異なる。例えば、SNSやブログなどをアプリケーション・サーバ122が提供する場合、スパマーの割合はある程度知られている。
NIFTY株式会社(ニフティ研究所)は、「BuzzPulse」で分析対象としているブログ記事のうち、2007年10月〜2008年2月の各月ごとにそれぞれ約10万記事をサンプリングして、スパム・ブログの割合を調査した。この結果、5ヶ月間の平均で、約40%がスパム・ブログであることが知られている(http://www.nifty.co.jp/cs/07shimo/detail/080326003337/1.htm)。また、メール・メッセージなど他のサービスの場合には、スパマー・ノードの推定数は、約1%〜2%といわれている。以上のように、SNS、メール配信、ブログなど、アプリケーション・サーバ122が提供するサービスに応じて、スパマー・ノードの推定数(推定割合)は、一定期間の統計的解析を行い、取得することができる。取得されたスパマー・ノードの推定値は、プログラム内に記述することもできるし、またサービスに対する柔軟な適用性を付与するために、ルックアップ・テーブルなどとして格納させておき、プログラムの実行開始時に初期設定することもできる。
ステップS1104では、無向グラフG(V、E)に含まれるノードの数を、ノード集合Vのエントリ数などを参照して判断し、無向グラフG(V、E)のノード数が第1しきい値以下であるか否かを検査する。第1しきい値は、使用するサーバなどの情報処理装置のCPU能力、メモリ容量などのハードウェア・リソースに応じて適宜設定することができ、特に制限されるものではない。説明する特定の実施形態では、第1しきい値を、ノード総数=100として例示的に挙げることができる。ステップS1104で、無向グラフG(V、E)のサイズが第1しきい値以下であると判断した場合(yes)、ステップS1105で整数計画法ソルバーを呼出して無向グラフG(V、E)を2分割するMAXCUT集合を生成する。
また、ステップS1104で、無向グラフG(V、E)のノード総数が第1しきい値を超えると判断された場合(no)、ステップS1107で、無向グラフG(V、E)のノード総数が第2しきい値以下であるか否かを判断する。ノード総数が第2しきい値以下であると判断した場合(yes)、ステップS1108で半正定値計画法ソルバーを呼出して無向グラフG(V、E)を2分割するMAXCUT集合を生成する。第2しきい値についても、使用するサーバなどの情報処理装置のCPU能力、メモリ容量などのハードウェア・リソースに応じて適宜設定することができるが、特定の実施形態では、第2しきい値を、例示的に1000として設定することができる。
一方、ステップS1107で、無向グラフG(V、E)が第2しきい値を超えると判断した場合(no)、ステップS1109で欲張り法ソルバーを呼出して無向グラフG(V、E)を2分割する最大カット集合を生成する。ステップS1105、S1108、S1109で最大カット集合を生成した後、ステップS1106では、無向グラフG(V、E)を2分割して、最大カット集合として生成したスパマー・ノード集合Sおよび一般ノード集合Nとを出力し、処理をステップS1110で終了させる。以下、各ソルバーの実装態様について説明する。
<整数計画法ソルバー>
図12は、図11の処理で使用する整数計画法ソルバーに実装されるスパマー判定式の実施形態を示す。図12に示すように本実施形態での整数計画法ソルバーは、指標関数(3)を含んで定式化される。また制約条件としては、処理下ノードは、一般ノードの集合Nとスパマー・ノード集合のSに分割され,一般ノードの集合Nのサイズが(n−n)以上で、スパマー・ノード集合Sのサイズがn以下となるように,つまり集合Nのサイズと集合Sのサイズの差が値(n−2n)以上となることを使用する。図12に示した目的関数は、ノードjがスパマー・ノードである場合、x=−1と設定され、ノードiが一般ノードである場合、x=+1に設定される。この結果、ノードiとノードjとが同一の属性集合に帰属される場合には、積x=1となり、指標関数(3)の値=0となる。すなわち、図12に示した目的関数は、ノードiとノードjとが異なる属性集合に帰属された場合に、2wijの正値を返す。なお、本実施形態では、ノードiおよびノードjについて方向を指定しないため、x、xが両方計算されるので、総和の正規化の目的で、図12に示した目的関数には、正規化定数=1/4が追加される。上述した目的関数は、制約条件の下で、最大化するようにユーザ属性分類が実行され、目的関数の値は、最大カット計算における指標値として使用される。
前述した整数計画法ソルバーによるノード集合をスパマー・ノード集合Sと一般ノード集合Nに分割する中で、指標関数(3)を最大化する制約条件としては前述した集合のサイズの他に、例えば、管理者が何らかの方法で事前に特定したいくつかのスパマー・ノードをあらためて指定して、それらをスパマー・ノード集合Sに入るような制約でもよい。基本的にノードiの指標値xの線形結合で表される関数であれば、指標関数(3)の最大化の制約条件として設定できる。
図12で示した実施形態では、ノード集合Vの処理終了時に整数計画法により、最大カットを満足する一般ノード集合Nおよびスパマー・ノード集合Sを生成することができることが保証される。しかしながら、正確にスパマー・ノードをスパマー・ノード集合Sに登録する処理を実行するためには、x、xの乗算を伴い、この結果、いわゆる2次計画法並みの計算量を必要とする。このため整数計画法ソルバーは、ノード総数の増加に対して計算量が増大し、またメモリ使用量も増大する。そこで、本実施形態では、使用するハードウェア・リソースの容量に対応して設定される第1しきい値に対応して、呼出すべき最大カット・ソルバーを選択することが好ましい。
<半正定値計画法ソルバー>
図13には、本実施形態で、ノード総数に対応し、最大カット・ソルバーとして、整数計画法ソルバーの代わりに呼出される半正定値計画法ソルバーが実装するスパマー判定式の実施形態を示す。目的関数は、上述した指標関数(4)を含んで構成され、Xijは、スパム行列Xの要素である。上述したように、スパム行列Xは、対角要素については、Xii=1とされ、非対角要素Xijについては、Xij=Xjiを満たす実数値が設定される。半正定値計画法ソルバーは、ノード総数の増加に対して実質的にその総数の3乗以上の計算量で、整数計画法のよりも小さいが、ノード数の増大するにつれて計算時間が急激に増加する。
なお、半正定値計画法ソルバーでは、全要素が1のn×n対称行列Eを導入し、行列の積の次元数を考慮して、Trace(EX)≧(n−2nの条件を満たすように、目的関数に対する制約条件を導入することで、一般ノードの集合Nのサイズが(n−n)以上、スパマー・ノード集合Sのサイズがn以下となるように、つまり集合Nのサイズと集合Sのサイズの差が値(n−2n)以上となるような分割を得ることができる。半正定値計画法の出力として、実数対象行列Xは得られるが、このn×n解行列Xからノードの集合属性を抽出する必要がある。整数計画法と欲張り法ではノードiの集合属性は変数xの値が1か−1かによって判定されるが、半正定値計画法ではノードiの集合の属性は行列Xの第iの行、つまりXによって判定される。行列の行から1または−1を抽出する方法は通称まるめ操作、または、ランダム射影と呼ばれ、標準的な手続きが多数あるが、例示的に、例えば、ノードiの指標値に対応する第iの行の総和、つまり、S=Xi1+Xi2+…+Xinを全ノードに対して計算し、その総和の昇順にノードをソートし、最初のn個のノードをスパマー・ノード集合Sに、残りのノードを一般ノード集合Nに分類する方法がある。
前述した半正定値計画法ソルバーによるノード集合をスパマー・ノード集合Sと一般ノード集合Nに分割する中で、指標関数(5)を最大化する制約条件としては前述した集合のサイズの他に、例えば、管理者が何らかの方法で事前に特定したいくつかのスパマー・ノードをあらためて指定して、それらをスパマー・ノード集合Sに入るような制約でもよい。基本的にノードiの指標値Xの要素のXijの線形結合で表される関数であれば、指標関数(5)の最大化の制約条件として設定できる。
<欲張り法ソルバー>
図14は、最大カット・ソルバーとしての実施形態の1つである欲張り法ソルバーの処理を示すフローチャートである。図14に示す処理は、ステップS1400から開始し、ステップS1401でスパマー・ノード集合Sを空集合に初期化し、一般ノード集合Nを、ノード集合Vに初期化する。この時点では、全ノードは、一般ノードとして設定される。
ステップS1402では、スパマー・ノード集合Sの要素数が、スパマーの推定数n以下か否かを判断する。スパマー・ノード集合Sの要素数が推定数n以下の場合(yes)、ステップS1403で一般ノード集合Nの各ノードuに対して指標値として使用されるカット値C(u、S、N)を計算し、そのカット値C(これは、式(6)の指標と同じ)が最大となるようなノードuが特定される。ステップS1404では、このカット値Cが正である場合(yes)、ステップS1405でスパマー・ノード集合Sに対して処理中のノードuを追加し、同時に一般ノード集合Nからノードuを削除する。この処理は、スパマー・ノード集合Sおよび一般ノード集合Nを、最大カット集合を与えるように更新する処理に対応し、ステップS1405の処理が終了した後、処理をステップS1402に戻し、処理を繰返す。
一方、ステップS1404で、カット値が負である場合(no)、つまり、一般ノード集合からスパマー・ノードとなりそうなノードが見つからない場合、処理をステップS1406に分岐させ、ステップS1406でスパマー・ノード集合Sと一般ノード集合Nとを出力し、その後処理をステップS1407で終了させる。
また、ステップS1402でスパマー・ノード集合Sの要素数|S|が推定値nを超えた場合(no)、ステップS1406でスパマー・ノード集合Sと一般ノード集合Nとを出力し、その後処理をステップS1407で終了させる。
図14に示す欲張り法ソルバーについては、一般ノード集合N内の任意のノードuを抽出して順次的にカット値を最大化させる。この観点からは、欲張り法ソルバーは、計算量としては、O(n)程度で済み、計算量的には半正定値計画法よりも高速となる。
前述した欲張り法ソルバーによるノード集合をスパマー・ノード集合Sと一般ノード集合Nに分割する中で、指標関数(6)を最大化する制約条件としては前述した集合のサイズの他に、例えば、管理者が何らかの方法で事前に特定したいくつかのスパマー・ノードをあらためて指定して、それらをスパマー・ノード集合Sに入るような制約でもよい。基本的にノードiの指標値xで表される関数であれば、指標関数(6)の最大化の制約条件として設定できる。
欲張り法ソルバーの処理の初期設定について、以下、ノードのスパム度を考慮して処理を効率化する他の実施形態について説明する。説明する他の実施形態では、初期設定で処理対象を選択するノードuを任意に選択するのではなく、ノードuとして、ノードとしてリンクが最も集中しているノード、すなわちスパム度の最も高いノードを初期一般ノード集合Nから選択する。この処理は、スパム度の最も高いノードを一般ノード集合Nからスパマー・ノード集合Sに移動させることで、カット値Cの最大化効率を向上させるものである。
例えば、本実施形態でこのようなノードは、例えば、図6の無向グラフG(V、E)または図9のデータ・テーブル900の、ノードとして登録される、ノードBを挙げることができる。図14に示す欲張り法ソルバーの処理で、ノードBを優先的に選択してカット値Cを計算することにより、カット値Cを効率的に最大化の方向に反復させることができ、より効率的な最大カット集合を生成させることができる。関連するさらに他の実施形態では、ノードに対するリンクの集中数を降順に登録しておき、図14のステップS1403での処理に選択的に投入することで、最大カット集合を、さらに効率的に生成させることができる。
図15は、欲張り法ソルバーを使用した場合のユーザ属性の判断処理を、図14のフローチャートに対応して説明した図である。無向グラフ1500は、ノードA〜ノードEを含んで無向グラフとされている。ここで、既存の一般ノード集合Nの要素であるノードA、C、D、とEを抽出し、これを既存のスパマー・ノード集合S(ノードBがすでにSに入っている)に追加する場合のカット値Cを計算すると、それぞれのカット値は、0−2=−2、2−2=0、4−0=4、2−2=0となる。最大のカット値が正であることから、それを実現するノードDがスパマー・ノード集合Sに新たに登録されることとなる。
その後、一般ノード集合Sの要素ノードA、ノードC、とノードEについてカット値を計算すると、正となるものがなく、結果としてノードBとノードDが入っているスパマー・ユーザ集合Sが得られる。
図16は、スパマー・ノードが特定された後、本実施形態の分析サーバ126が生成するスパマー情報作成処理のフローチャートである。図16に示す処理は、ステップS1600から開始し、ステップS1601で最大カット集合のうち、スパマー・ノード集合Sを取得する。ステップS1602では、スパマー・ノード集合Sの各要素に対してスパム度Wを、上記式(2)を使用して取得する。なお、スパム度Wがすでに計算されている場合には、ステップS1602では、既計算の値をメモリから読出すことにより実行される。
ステップS1603では、スパム度の高い順にスパマー・ノード集合の要素ノードをソーティングし、例えばリストに記入してスパマー・リストを作成して出力結果を生成する。その後処理は、ステップS1604で終了する。
セクション4:実施例
以下、本発明についてさらに、具体的な実施例および図17〜図20に示した結果を参照して説明する。なお、後述する実施例は、本発明を説明する目的で記載するものであり、本発明を限定するものではない。
<ハードウェア・インプリメンテーション>
オペレーティング・システムとしてWindows(登録商標)XPを実装したインターナショナル・ビジネス・マシーンズ・コーポレーション製のパーソナル・コンピュータに、本実施形態のスパマー・ノード判断処理を実行するためのプログラムをインストールし、処理性能について検討を加えた。スパマー・ノード判断処理を実行するためのプログラムは、スクリプト言語である、PYTHONを使用して記述した。
<データ・インプリメンテーション>
一般ユーザが記述したコンテンツ数は、検査期間の間に正規分布N(α、σ)で記述されるものとし(αは、コンテンツ数の平均値であり、σは、その標準偏差値である。)、一般ユーザのコンテンツは、その他の一般ユーザによって確率pnで削除される(喧嘩などで)ことはあるものの、スパマー・ノードが記述したコンテンツが削除される確率psよりも低い。また、スパマー・ノードが記述したコンテンツはpnよりも顕著に高い確率psで削除され、スパマー・ノードのコンテンツ数は、検査期間中に、指数分布Exp(λ)(λは、コンテンツ数の平均値である。)にしたがって記述されるものとする。スパム・ユーザは、自己のコンテンツが削除された場合、コンテンツを削除した一般ノードをスパマーであるとして復讐報告するなどして、1.0、または0.5、または0.0の確率で削除した一般ノードとの間にスパマー報告アクションを生成し、一般ユーザのスパム度を増加させる。
<実施例および比較例>
実施例として、最大カットを求める欲張り法(以下、SDwMC法と呼ぶ)を実装する本発明のスパマー・ノード判断処理を使用し、スパマー・ノードの存在割合を変化させながら、下記表1の条件を使用してスパマー・ノード集合Sを出力させた。評価は、出力された出力結果にスパマー・ノードとして設定したノードが含まれる割合をもって判断した。各実施例の最大カット法ソルバーとして、欲張り法ソルバーを実装させた。実施例および比較例に使用したデータ・インプリメンテーションの詳細条件を、図17に示す。
また、比較例は、実施例と同様のデータ・インプリメンテーションを使用し、Point法により生成されたスパマー・ノード集合Sに含まれるスパマー・ノードの割合を計算させた。Point法は、ノードAがノードBを通報するか、またはノードBのコンテンツを削除する場合、ノードBのスパム度を1と加算してスパム度を計算する手法であり、スパム度の高いノードから順にスパマー・ノード集合Sに登録することで、スパマー・ノード集合Sを生成する。
実施例および比較例について得られた結果をスパマー・ユーザが必ず報復する場合の図18(実施例1、比較例1)、スパマー・ユーザが必ず報復しない場合の図19(実施例2、比較例2)、およびスパマー・ユーザが確率0.5で報復する場合の図20(実施例3、比較例3)に示す。図18〜20に示すように、スパマー・ノードの存在割合が高いほど、そして,報復の確率が高いほど、Point法に比較して本実施形態のSDwMC法によるスパマー・ノードの抽出率(性能)は、増加することがわかる。
また、図19に示す実施例2および比較例2では、報復が必ずない場合、スパム割合が小さい場合にはPoint法の方が抽出率は高いものの、スパマー・ノードの存在割合が高くなるにつれ、実施例2では抽出率が増加することが示されている。なお、実施例2の場合には、スパマー・ノードからの報復がないため、スパマー・ノードと一般ノードとの間の区別が明確であることで、Point法でも充分な性能を示すものと考えられるが、SDwMC法では、スパマー・ノードの存在割合の高い領域では良好な検出性を示しており、例えばブログ・サービス、SNS、掲示板、チャットなどに好適に利用できることがわかる。また、実施例2の場合には、スパム度の高いノードを優先的に処理対象として含ませることが可能な欲張り法ソルバーを併用することで、スパマー・ノードの存在割合が少ない場合における検出性の低下に対応することができると考えられる。
図20に示す実施例3および比較例3については、スパム割合が小さい場合、本発明によるSDwMC法とPoint法との間の性能の差には顕著な相違は見られない。しかしながら、実施例1、実施例2と同様に、スパマー・ノードの存在割合が大きくなると、本発明のSDwMC法の法が検出率が増加することが示される。
以上の実施例および比較例に示されるように、本発明では、ブログ・サービス、SNS、チャット、掲示板など、スパマー・ノードの存在割合が高いことが予測されるウェブ・サービスにおいて、スパマー・ノードを効率的に抽出することが可能となり、一般ユーザのネットワーク・アクティビティを阻害する悪意のあるスパマー・ノードを膨大なトランザクション内から効率的に抽出することが可能となる。また、本発明は、コンテンツのメッセージを解析することなく、また予め正解セットを作成する必要がなく、ネットワーク・トランザクションでのノード間でのアクティビティのみを使用してスパマー・ノードを検出することができるので、分析サーバ126のスパマー抽出の処理効率を向上させることが可能となることが示される。
本実施形態では、整数計画法ソルバー、半正定値計画法ソルバー、および欲張り法ソルバーは、いずれも最大カット・ソルバーとして機能する。本発明の特定の実施形態では、整数計画法ソルバー、半正定値計画法ソルバー、および欲張り法ソルバーの3ソルバーを実装するものとして説明した。しかしながら、本発明を実装する情報処理装置のCPU能力、メモリなどのハードウェア・リソースの容量が充分である場合や、最大カットの数学的正確性よりもスパマー・ノードのダイジェストを取得することを優先させる場合などについては、ノード総数で呼出す最大カット・ソルバーを切換えることなく、整数計画法ソルバー、半正定値計画法ソルバー、および欲張り法ソルバーから選択される単独のソルバーを実装することができる。さらに他の実施形態では、最大カット・ソルバーは、上述した3ソルバーを、適切な組合わせとして選択し、情報処理装置に実装することができる。
本実施形態の上記機能は、C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Ruby、Pythonなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、当該プログラムは、ハードディスク装置、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
本実施形態の情報処理システム100の実施形態を示した図。 図1に示した分析サーバ126のソフトウェア・モジュール構成200を示した図。 本実施形態で、スパム分析データ記憶部128が格納するスパム分析データ300の実施形態を示した図。 本実施形態でアクション履歴取得部210によりアクセスログから生成されるスパマー報告アクション履歴集合のデータ構造を示した図。 アクション履歴取得部210が実行するスパマー報告アクション履歴集合生成処理のフローチャート。 関連ノード取得部220が生成するリンク集合Eを、リンク・リスト600として実装する場合の実施形態を示した図。 無向グラフ生成部230が実行する無向グラフ作成処理のフローチャート。 図7のポイントAに後続する無向グラフ作成処理のフローチャート。 図7および図8に示した無向グラフ作成処理によって作成される無向グラフG(V、E)を作成するためのデータ・テーブル900およびデータ・テーブル900から生成される無向グラフG(V、E)のデータ表現950を示した図。 本実施形態のスパマー・ノード判断処理の処理概念を、初期集合1000と、スパマー・ノード判断処理で生成される過渡集合1050とを使用して説明した概念図。 本実施形態のスパマー・ノード判断処理のフローチャート。 図11の処理で使用する整数計画法ソルバーに実装されるスパマー判定式の実施形態を示した図。 本実施形態で、ノード総数に対応し、最大カット・ソルバーとして、整数計画法ソルバーの代わりに呼出される半正定値計画法ソルバーが実装するスパマー判定式の実施形態を示した図。 最大カット・ソルバーとしての実施形態の1つである欲張り法ソルバーの処理を示すフローチャート。 欲張り法ソルバーを使用した場合のユーザ属性判断処理を、図14のフローチャートに対応して説明した図。 スパマー・ノードが特定された後、本実施形態の分析サーバ126が生成するスパマー情報作成処理のフローチャート。 実施例および比較例に使用したデータ・インプリメンテーションの詳細条件を示した図。 実施例1、比較例1についての結果を示した図。 実施例2、比較例2についての結果を示した図。 実施例3、比較例3についての結果を示した図。
符号の説明
100…情報処理システム、112…ノード(一般ノード)、114…ノード(スパマー・ノード)、116…ネットワーク、120…サーバ、122…アプリケーション・サーバ、124…コンテンツ記憶部、126…分析サーバ、128…スパム分析データ記憶部、200…ソフトウェア・モジュール構成、210…アクション履歴取得部、220…関連ノード取得部、230…無向グラフ生成部、240…最大カット計算部、240a…整数計画法ソルバー、240b…半正定値計画法ソルバー、240c…欲張り法ソルバー、250…結果出力部

Claims (19)

  1. ネットワークに接続された複数のノードのユーザ属性を分類する情報処理装置であって、前記情報処理装置は、
    アクセスログからスパマー報告アクションとして指定されるアクセスログを抽出し、スパマー報告アクションのアクション識別子と、発信元識別子と、スパマー報告アクションの対象となった対象識別子とを含むスパマー報告アクション履歴集合を生成するアクション履歴取得部と、
    前記スパマー報告アクション履歴集合から、前記スパマー報告アクションに関連した前記ノードを要素とするノード集合および前記スパマー報告アクションに関連した前記ノードを節点とするリンクと、当該リンクに割当てられたアクション重付け値とを要素とするリンク集合を生成する関連ノード取得部と、
    前記ノード集合および前記リンク集合から同一のノードの間を結合するリンクを枝とし、前記枝についての前記アクション重付け値を前記リンクについて総和したリンク重付け値とを対応付けて登録し、グラフを生成する、グラフ生成部と、
    前記グラフを形成する前記ノードを、2集合へと、前記2集合の間を張る前記リンクの重付け値の総和により規定され、下記式(1)で与えられる指標値を最大化させるように分類する、最大カット計算部と、
    を含む、情報処理装置。
    Figure 0005324824
    (上記式(1)中、w uv は、現在の一般ユーザ集合Nに属するノードuと、ノードu以外その他の一般ユーザ集合Nのノードvとを結合するリンクのリンク重付け値であり、w ux は、ノードuと現在のスパマー・ノード集合S内のノードxとを結合するリンクのリンク重付け値である。)
  2. 前記情報処理装置は、スパマー報告アクション定義部を含み、前記アクション履歴取得部は、前記スパマー報告アクション定義部が登録する前記スパマー報告アクションの前記アクション識別子を参照して、前記スパマー報告アクションを登録するレコードを抽出し、前記スパマー報告アクション履歴集合に前記レコードを登録する、請求項1記載の情報処理装置。
  3. 前記最大カット計算部は、整数計画法ソルバーを使い、前記整数計画法ソルバーは、異なる前記2集合に分類される前記ノードに対して絶対値の等しい正負の値を割当て、前記指標値を最大化することによって、前記ユーザ属性を分類する最大カット計算を実行する、請求項1記載の情報処理装置。
  4. 前記最大カット計算部は、半正定値計画法ソルバーを使い、前記半正定値計画法ソルバーは、前記ノードに対応する対称行列を定義し、前記対称行列の要素の値を使用して前記指標値を生成し、前記ノードの前記ユーザ属性を分類する最大カット計算を実行する、請求項1記載の情報処理装置。
  5. 前記最大カット計算部は、欲張り法ソルバーを含み、前記欲張り法ソルバーは、前記2集合の間に張られる前記リンクおよび前記2集合のそれぞれに内部に局在する前記リンクの重付け値の差を使用して前記指標値を生成し最大カット計算を実行する、請求項1記載の情報処理装置。
  6. 前記最大カット計算部は、整数計画法ソルバーの利用、半正定値計画法ソルバーの利用、および欲張り法ソルバーを含み、前記整数計画法ソルバーは、異なる前記2集合に分類される前記ノードに対して絶対値の等しい正負の値を割当て、前記指標値を最大化することによって、前記ユーザ属性を分類する最大カット計算を実行し、前記半正定値計画法ソルバーは、前記ノードに対応する対称行列を定義し、前記対称行列の要素の値を使用して前記指標値を生成し、前記ノードの前記ユーザ属性を分類する最大カット計算を実行し、前記欲張り法ソルバーは、前記2集合の間に張られる前記リンクおよび前記2集合のそれぞれに内部に局在する前記リンクの前記リンク重付け値の差を使用して前記指標値を生成し最大カット計算を実行し、前記情報処理装置は、処理対象のノードのノード数に応じて異なるソルバーを選択して前記最大カット計算を実行する、請求項1記載の情報処理装置。
  7. ネットワークに接続された複数のノードのユーザ属性を分類する情報処理システムであって、前記情報処理システムは、
    前記ネットワークを介して前記ノードからのアクセス要求を受領し、前記アクセス要求に対して応答するアプリケーション・サーバと、
    前記アプリケーション・サーバへのアクセスログを解析して複数の前記ノードを、前記ネットワークに対して善意でアクセスする一般ノードおよび前記ネットワークに対して悪意でアクセスするスパマー・ノードにユーザ属性を分類する分析サーバとを含み、前記分析サーバは、
    前記アクセスログからスパマー報告アクションとして指定されるアクセスログを抽出し、スパマー報告アクションのアクション識別子と、発信元識別子と、スパマー報告アクションの対象識別子とを含むスパマー報告アクション履歴集合を生成するアクション履歴取得部と、
    前記スパマー報告アクション履歴集合から、前記スパマー報告アクションに関連した前記ノードを要素とするノード集合および前記スパマー報告アクションに関連した前記ノードを節点とするリンクと、当該リンクに割当てられたアクション重付け値とを要素とするリンク集合を生成する関連ノード取得部と、
    前記ノード集合および前記リンク集合から同一のノードの間を結合するリンクを枝とし、前記枝についての前記アクション重付け値を前記リンクについて総和したリンク重付け値とを対応付けて登録し、無向グラフを生成する、無向グラフ生成部と、
    前記無向グラフを形成する前記ノードを、2集合へと、前記2集合の間を張る前記リンクの重付け値の総和により規定される下記式(1)の指標値を最大化させて分類する、最大カット計算部と、
    前記最大カット計算部が生成した前記2集合のうち、前記スパマー・ノードを含む集合からスパマー・リストを生成し、結果出力とする、結果出力部と
    を含む、情報処理システム。
    Figure 0005324824
    (上記式(1)中、w uv は、現在の一般ユーザ集合Nに属するノードuと、ノードu以外その他の一般ユーザ集合Nのノードvとを結合するリンクのリンク重付け値であり、w ux は、ノードuと現在のスパマー・ノード集合S内のノードxとを結合するリンクのリンク重付け値である。)
  8. 前記最大カット計算部は、整数計画法ソルバーを使い、前記整数計画法ソルバーは、異なる前記2集合に分類される前記ノードに対して絶対値の等しい正負の値を割当て、前記指標値を最大化することによって、前記ユーザ属性を分類する最大カット計算を実行する、請求項7記載の情報処理システム。
  9. 前記最大カット計算部は、半正定値計画法ソルバーを使い、前記半正定値計画法ソルバーは、前記ノードに対応する対称行列を定義し、前記対称行列の要素の値から前記指標値を生成し、前記ノードの前記ユーザ属性を分類する最大カット計算を実行する、請求項7記載の情報処理システム。
  10. 前記最大カット計算部は、欲張り法ソルバーを含み、前記欲張り法ソルバーは、前記2集合の間に張られる前記リンクおよび前記2集合のそれぞれに内部に局在する前記リンクの前記リンク重付け値の差を使用して前記指標値を生成し最大カット計算を実行する、請求項7記載の情報処理システム。
  11. 前記最大カット計算部は、整数計画法ソルバーの利用、半正定値計画法ソルバーの利用、および欲張り法ソルバーを含み、前記整数計画法ソルバーは、異なる前記2集合に分類される前記ノードに対して絶対値の等しい正負の値を割当て、前記指標値を最大化することによって、前記ユーザ属性を分類する最大カット計算を実行し、前記半正定値計画法ソルバーは、前記ノードに対応する対称行列を定義し、前記対称行列の要素の値を使用して前記指標値を生成し、前記ノードの前記ユーザ属性を分類する最大カット計算を実行し、前記欲張り法ソルバーは、前記2集合の間に張られる前記リンクおよび前記2集合のそれぞれに内部に局在する前記リンクの前記リンク重付け値の差を使用して前記指標値を生成し最大カット計算を実行し、前記情報処理装置は、処理対象のノードのノード数に応じて異なるソルバーを選択して前記最大カット計算を実行する、請求項7記載の情報処理システム。
  12. 前記分析サーバは、前記アプリケーション・サーバとは独立して実装されるか、または前記分析サーバは、前記アプリケーション・サーバの管理モジュールとして実装される、請求項7記載の情報処理システム。
  13. ネットワークに接続された複数のノードのユーザ属性を分類するために情報処理装置が実行する情報処理方法であって、前記情報処理装置が、
    アクセスログからスパマー報告アクションとして指定されるアクセスログを抽出し、スパマー報告アクションのアクション識別子と、発信元識別子と、スパマー報告アクションの対象識別子とを含むスパマー報告アクション履歴集合を生成するステップと、
    前記スパマー報告アクション履歴集合から、前記スパマー報告アクションに関連した前記ノードを要素とするノード集合および前記スパマー報告アクションに関連した前記ノードを節点とするリンクと、当該リンクに割当てられたアクション重付け値とを要素とするリンク集合を生成するステップと、
    前記ノード集合および前記リンク集合から同一のノードの間を結合するリンクを枝とし、前記枝についての前記アクション重付け値を前記リンクについて総和したリンク重付け値とを対応付けて登録し、グラフを生成するステップと、
    前記グラフを形成する前記ノードを、要素ノードが重複しない2集合へと、前記2集合の間を張る前記リンクの重付け値の総和により規定される下記式(1)の指標値を増大させるように2集合を分類するステップと
    を実行する、情報処理方法。
    Figure 0005324824
    (上記式(1)中、w uv は、現在の一般ユーザ集合Nに属するノードuと、ノードu以外その他の一般ユーザ集合Nのノードvとを結合するリンクのリンク重付け値であり、w ux は、ノードuと現在のスパマー・ノード集合S内のノードxとを結合するリンクのリンク重付け値である。)
  14. 前記スパマー報告アクション履歴集合を生成するステップは、スパマー報告アクション定義部が登録する前記スパマー報告アクションの前記アクション識別子を参照して、前記アクセスログの前記スパマー報告アクションを登録するレコードを抽出し、前記スパマー報告アクション履歴集合に前記レコードを登録するステップを含む、請求項13記載の情報処理方法。
  15. 前記分類するステップは、異なる前記2集合に分類される前記ノードに対して絶対値の等しい正負の値を割当て、前記指標値を最大化することによって、前記ユーザ属性を分類する最大カット計算ステップを含む、請求項13記載の情報処理方法。
  16. 前記分類するステップは、前記ノードに対応する対称行列を定義し、前記対称行列の要素の値を使用して前記指標値を生成し、前記ノードの前記ユーザ属性を分類する最大カット計算を実行するステップを含む、請求項13記載の情報処理方法。
  17. 前記分類するステップは、前記2集合の間に張られる前記リンクおよび前記2集合のそれぞれに内部に局在する前記リンクの前記リンク重付け値の差を使用して前記指標値を生成し最大カット計算を実行するステップを含む、請求項13記載の情報処理方法。
  18. 前記分類するステップは、異なる前記2集合に分類される前記ノードに対して絶対値の等しい正負の値を割当て、前記指標値を最大化することによって、前記ユーザ属性を分類する最大カット計算を実行するステップ、前記ノードに対応する対称行列を定義し、前記対称行列の要素の値を使用して前記指標値を生成し、前記ノードの前記ユーザ属性を分類する最大カット計算を実行するステップ、または前記2集合の間に張られる前記リンクおよび前記2集合のそれぞれに内部に局在する前記リンクの前記リンク重付け値の差を使用して前記指標値を生成し最大カット計算を実行するステップを、処理対象のノードのノード数に応じて選択して呼出す呼出ステップを含む、請求項13記載の情報処理方法。
  19. ネットワークに接続された複数のノードのユーザ属性を分類するための、情報処理装置実行可能なプログラムであって、前記プログラムは、情報処理装置を、
    アクセスログからスパマー報告アクションとして指定されるアクセスログを抽出し、スパマー報告アクションのアクション識別子と、発信元識別子と、スパマー報告アクションの対象識別子とを含むスパマー報告アクション履歴集合を生成する機能手段と、
    前記スパマー報告アクション履歴集合から、前記スパマー報告アクションに関連した前記ノードを要素とするノード集合および前記スパマー報告アクションに関連した前記ノードを節点とするリンクと、当該リンクに割当てられたアクション重付け値とを要素とするリンク集合を生成する機能手段と、
    前記ノード集合および前記リンク集合から同一のノードの間を結合するリンクを枝とし、前記枝についての前記アクション重付け値を前記リンクについて総和したリンク重付け値とを対応付けて登録し、グラフを生成する機能手段と、
    前記グラフを形成する前記ノードを、2集合へと、前記2集合の間を張る前記リンクの重付け値の総和により規定される下記式(1)の指標値を増大するように分類する機能手段と、
    生成した前記2集合の前記ユーザ属性から前記スパマー・ノードを含むスパマー・リストを生成し、結果出力とする機能手段と
    して機能させる、情報処理装置実行可能なプログラム。
    Figure 0005324824
    (上記式(1)中、w uv は、現在の一般ユーザ集合Nに属するノードuと、ノードu以外その他の一般ユーザ集合Nのノードvとを結合するリンクのリンク重付け値であり、w ux は、ノードuと現在のスパマー・ノード集合S内のノードxとを結合するリンクのリンク重付け値である。)
JP2008138373A 2008-05-27 2008-05-27 ネットワーク・ノードを分類する情報処理装置、情報処理システム、情報処理方法およびプログラム Expired - Fee Related JP5324824B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008138373A JP5324824B2 (ja) 2008-05-27 2008-05-27 ネットワーク・ノードを分類する情報処理装置、情報処理システム、情報処理方法およびプログラム
US12/472,603 US8291054B2 (en) 2008-05-27 2009-05-27 Information processing system, method and program for classifying network nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008138373A JP5324824B2 (ja) 2008-05-27 2008-05-27 ネットワーク・ノードを分類する情報処理装置、情報処理システム、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2009288883A JP2009288883A (ja) 2009-12-10
JP5324824B2 true JP5324824B2 (ja) 2013-10-23

Family

ID=41458062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008138373A Expired - Fee Related JP5324824B2 (ja) 2008-05-27 2008-05-27 ネットワーク・ノードを分類する情報処理装置、情報処理システム、情報処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5324824B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5775508B2 (ja) * 2012-11-30 2015-09-09 株式会社Nttドコモ スパムアカウント抽出装置及びスパムアカウント抽出方法
RU2697958C1 (ru) * 2018-06-29 2019-08-21 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносной активности на компьютерной системе
JP7109645B1 (ja) 2021-11-12 2022-07-29 Kddi株式会社 メッセージの中継装置、システム及びプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03113565A (ja) * 1989-09-27 1991-05-14 Anritsu Corp 最適値探索計算機
US6727914B1 (en) * 1999-12-17 2004-04-27 Koninklijke Philips Electronics N.V. Method and apparatus for recommending television programming using decision trees
US7272853B2 (en) * 2003-06-04 2007-09-18 Microsoft Corporation Origination/destination features and lists for spam prevention
JP2006237853A (ja) * 2005-02-23 2006-09-07 Mitsubishi Electric Corp Sipサーバ
US7930353B2 (en) * 2005-07-29 2011-04-19 Microsoft Corporation Trees of classifiers for detecting email spam
US8161119B2 (en) * 2006-12-22 2012-04-17 Cisco Technology, Inc. Network device provided spam reporting button for instant messaging
JP5078674B2 (ja) * 2008-02-29 2012-11-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 分析システム、情報処理装置、アクティビティ分析方法、およびプログラム
US8291054B2 (en) * 2008-05-27 2012-10-16 International Business Machines Corporation Information processing system, method and program for classifying network nodes

Also Published As

Publication number Publication date
JP2009288883A (ja) 2009-12-10

Similar Documents

Publication Publication Date Title
US8291054B2 (en) Information processing system, method and program for classifying network nodes
US9756073B2 (en) Identifying phishing communications using templates
US20050198160A1 (en) System and Method for Finding and Using Styles in Electronic Communications
US10599774B1 (en) Evaluating content items based upon semantic similarity of text
Adewole et al. SMSAD: a framework for spam message and spam account detection
US9292493B2 (en) Systems and methods for automatically detecting deception in human communications expressed in digital form
US8805937B2 (en) Electronic mail analysis and processing
Firte et al. Spam detection filter using KNN algorithm and resampling
US8359362B2 (en) Analyzing news content information
US20150254566A1 (en) Automated detection of deception in short and multilingual electronic messages
US20110320542A1 (en) Analyzing Social Networking Information
US20060168006A1 (en) System and method for the classification of electronic communication
CN109933717B (zh) 一种基于混合推荐算法的学术会议推荐系统
US20130198240A1 (en) Social Network Analysis
Merugu et al. Text message classification using supervised machine learning algorithms
US20220019619A1 (en) Computerized system and method for display of modified machine-generated messages
US20130179516A1 (en) Method for classifying email
Lota et al. A systematic literature review on sms spam detection techniques
JP5324824B2 (ja) ネットワーク・ノードを分類する情報処理装置、情報処理システム、情報処理方法およびプログラム
Arif et al. Social network extraction: a review of automatic techniques
JP4802523B2 (ja) 電子メッセージ分析装置および方法
US20150026266A1 (en) Share to stream
US10951568B2 (en) Methods and systems for processing electronic messages
KR102188337B1 (ko) 스파스 토픽들을 위한 분류자 리콜 추정
US20190068535A1 (en) Self-healing content treatment system and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130606

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: 20130625

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130719

R150 Certificate of patent or registration of utility model

Ref document number: 5324824

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees