JP5159451B2 - ネットワーク行動を分析する情報処理装置、分析システム、ネットワーク行動の分析方法およびプログラム - Google Patents

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

Info

Publication number
JP5159451B2
JP5159451B2 JP2008155237A JP2008155237A JP5159451B2 JP 5159451 B2 JP5159451 B2 JP 5159451B2 JP 2008155237 A JP2008155237 A JP 2008155237A JP 2008155237 A JP2008155237 A JP 2008155237A JP 5159451 B2 JP5159451 B2 JP 5159451B2
Authority
JP
Japan
Prior art keywords
user
info
bubble
info bubble
information
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
JP2008155237A
Other languages
English (en)
Other versions
JP2009301334A (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 JP2008155237A priority Critical patent/JP5159451B2/ja
Publication of JP2009301334A publication Critical patent/JP2009301334A/ja
Application granted granted Critical
Publication of JP5159451B2 publication Critical patent/JP5159451B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、ネットワークにアクセスするユーザの、特定のテーマに関連する行動を分析する技術に関し、より詳細には、キーワード等の特徴パラメータによって特徴付けられるコンテンツへのアクセスから、ユーザ集団のネットワーク行動を分析する、情報処理装置、分析システム、ネットワーク行動の分析方法およびプログラムに関する。
ネットワーク通信網の普及に伴い、ブログ、SNS(Social
Network Service)などを介してユーザ間での交流が一般化している。ネットワーク上での情報交換は、どのユーザ間でも同じ程度の情報交換が行われている訳ではなく、実世界での情報交換と同様に、頻繁に情報交換が行われる内容やユーザ集団が存在する。
頻繁に情報交換が行われている内容を有するコンテンツに関連付けて当該情報交換を行っているユーザ集団を分析することにより、特定のユーザ集団における情報の拡散度合いを分析することが可能となる。また、特定の内容を有するコンテンツに関連するユーザ集団の規模を時系列的に分析し、コンテンツに関連して特徴付けられるユーザ集団の拡散/縮小の傾向を分析することにより、マーケッティング情報およびユーザ集団情報などを取得することができ、ネットワーク行動を効率的にビジネス・ソリューションに反映させることができる。
これまで、ネットワークを介して伝送される情報を使用して、伝送されるメッセージの中から重要なテーマを抽出する技術が知られている。例えば、特開2007−328610号公報(特許文献1)では、親子関係のあるメッセージ間で関連度を示すスコアを算出し、スコアを用いたクラスタリングによって、テーマ抽出対象となるメッセージ群の絞り込み、電子掲示板などのコミュニケーションではメッセージ間に親子関係が形成されていることを利用して、抽出テーマを選択する技術が提案されている。
上述した特許文献1は、掲示板の中から重要なスレッドを抽出することを目的とするものであり、メッセージを、トランザクションの返答関係を使用してリンクを定義してツリー構造を作成するものである。上述した特許文献1では、例えば、ユーザ間のリンクに対し、スコアを付与する際に、限定されたユーザ集団内で高密度のトランザクションが発生する場合に高スコアを与える。しかしながら、特定の内容を有するコンテンツに関連して集合離散するユーザ集団を分析することを目的とするものではない。
例えば、ブログやSNS上で特定の内容を有するコンテンツがアップロードされた場合、当該コンテンツに関連するメッセージをネットワーク上で送受信する複数のユーザは、予測がつかず、また事前に予測して解析することは極めて困難である。特定のコンテンツに関連して生成するユーザ間のトランザクション頻度を使用して複数のユーザを、特定のユーザ集団として識別することは、ユーザ集団の特徴付けを可能とし、特定のユーザ集団を対象とした宣伝広告などを行うための重要な情報を提供する。
また、逆に特定のユーザ集団がどのようなコンテンツに関心があるのか、およびユーザ集団の特徴を解析することは、コンテンツに関連するビジネスに対する次世代ソリューションの検討を可能とするものということができる。
特開2007−328610号公報
上述したように、情報の広がり方は、ユーザの属性だけを見ていても判断することができない。例えば、「キーワードとして“IBM東京基礎研究所”を含むコンテンツは、いったいどのようなユーザ層に広まっているのか?」に関して、その情報伝播を解析することが必要な場合があった。さらにSNS内での情報拡散および縮小を時系列的に追跡することによって、以下の項目についての情報を取得することが可能となる。
○情報を最初に発信した人・集団は?
○情報は広がる傾向か?それとも収まる傾向か?
○情報は移動するか?どのような経路での移動か?
○情報を広げる方向にもっとも貢献する人・集団は?
以上の点で、上述したように、特許文献1は、特定のコンテンツに関連した不特定のユーザをユーザ集団として識別することを可能とする技術ではなかった。また、特許文献1は、特定のコンテンツに関連したユーザ集団の時系列的な解析を使用して、ユーザ手段の拡散および縮小を追跡することを可能とするものではない。さらに特許文献1は、特定のユーザ集団に分類されたユーザに共通する属性を分析することにより、ネットワークを介して集合離散するユーザを解析することによってユーザのネットワーク行動を分析することを可能とするものではない。
すなわち、これまで、特定のコンテンツに関連して複数のユーザが形成するユーザ集団を特徴付ける技術が必要とされていた。
また、これまで、特徴付けされたユーザ集団の規模が時系列的にどのように推移して行くのかを分析し、コンテンツの内容に関連したネットワーク行動を分析する技術が必要とされていた。
さらに、特徴付けられたユーザ集団に帰属されるユーザに共通する属性を取得して分析する技術が必要とされていた。
本発明は上記の課題を解決するために、情報処理装置は、ネットワークを介してユーザ・コンピュータから情報に対するアクセスを受付け、ユーザ・コンピュータ間に、情報を特徴付けるパラメータに関連して情報に対するネットワーク行動を生成させる。情報の広がりを示す一つの塊を、インフォバブルとして参照し、当該塊を構成するユーザを、特徴付けされたユーザ集団として参照する。ネットワーク行動は、行動履歴として記憶され、インフォバブルを生成するために利用される。情報処理装置は、インフォバブル生成部を含んでおり、インフォバブル生成部は、特徴パラメータを含む情報を抽出し、抽出した情報に対するネットワーク行動を取得する。そして、前記ユーザ・コンピュータをノードとするユーザ・リンクのユーザから、抽出した情報に対するネットワークでのユーザ関わり度gを計算し、さらに設定されたサンプリング間隔で計算したユーザ関わり度gを累積計算してスコア値を計算し、少なくとも1つのユーザをインフォバブルに登録し、インフォバブルを生成する。生成されたインフォバブルは、ネットワーク行動解析部により読み出され、特徴パラメータに関連付けられた情報に対するユーザのネットワーク行動を分析するために使用される。
サンプリング周期ごとに前記ユーザ関わり度により計算されるスコア値を累積計算し、直前生成したインフォバブルを拡張するか、または直前生成したインフォバブルを収縮させるかを決定して、時系列的に複数の異なるユーザを含むインフォバブル・シーケンスを生成する。
インフォバブルの膨張・収縮は、スコア値に設定された膨張しきい値および収縮しきい値を参照して決定される。インフォバブルの膨張は、ユーザ・リンクの隣接ユーザを直前生成したインフォバブルに含ませた場合に、膨張後のバブル平均スコアが収縮しきい値以下とならないことを基準として実行される。
また、インフォバブルの収縮は、直前生成したインフォバブルが含むスコア値の最小のユーザを選択し、バブル平均スコアが収縮しきい値を超えるまでユーザをインフォバブルから削除することにより実行される。
さらに、ネットワーク行動分析部は、識別値で指定されるインフォバブルを読み出し、インフォバブルの時間進化を使用し特徴パラメータを含む情報の情報伝播を分析し、さらに、読み出した複数のインフォバブルのユーザ属性の類似性を使用してインフォバブルのクラスタを生成し、クラスタを形成するユーザを分析する。
すなわち、本発明によれば、特定のコンテンツに関連して生成するユーザ間のトランザクション頻度を使用して複数のユーザを、特定のユーザ集団として識別することにより、ユーザ集団の特徴付けを可能とする、情報処理装置、分析システム、分析方法およびプログラムを提供することが可能となる。
また、本発明では、上述したユーザ集団の特徴付けを使用することで、逆に特定のユーザ集団がどのようなコンテンツに関心があるのか、およびユーザ集団の特徴を解析することは、コンテンツに関連するビジネスに対する次世代ソリューションの検討を可能とする、情報処理装置、分析システム、分析方法およびプログラムを提供することが可能となる。
<セクション1:ハードウェア構成>
以下、本発明を実施の形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図1は、本実施形態のユーザのネットワーク行動を分析する分析システム100の実施形態を示す。分析システム100は、ネットワーク116に接続され、ユーザにより操作されて、ネットワーク116を介してサーバ122にアクセスする複数のユーザ・コンピュータ(以下、説明の便宜上、ユーザとして参照する。)112、114を含んで構成されている。ユーザ112は、例えばSNSなどで友人などとして登録されたユーザ・グループを形成する。また、ユーザ114は、これとは異なるユーザ・グループを形成している。ユーザのネットワーク行動は極めて多岐にわたり、また広範なコンテンツがアプリケーション・サーバなどに登録されるので、各ユーザ・グループは、常時完全に分離しているわけではなく、時系列的に相互関連し合い、特定のユーザ・グループに帰属されているユーザが、他のユーザ・グループに参加し、また離脱するなどの行動を取る。
ネットワーク116には、サーバ機能部120が接続されていて、情報検索、SNS、ウェブ・サービス、メール・サービスなどを含むアプリケーション・サービスをユーザに対して提供している。サーバ機能部120は、情報処理装置122と、複数のデータベース124〜130を含んで構成されている。情報処理装置122は、本実施形態では、SNS、情報検索などのサービスを提供するアプリケーション・サーバモジュールおよびユーザのネットワーク行動を分析するための分析モジュールとを含んで実装されている。これらの各モジュール構成については、より詳細に後述する。
また、情報処理装置122は、複数のデータベース124〜130を使用してユーザのネットワーク行動を分析する。ネットワーク・データ記憶部124は、ユーザのネットワーク・アドレスなどを含むネットワーク・データを記憶している。テキスト・データ記憶部126は、ユーザがアップデートしたコンテンツのテキスト部分、メール、ブログなどのコメントなどといったネットワーク行動を分析するために使用するテキスト・データを記憶する。行動履歴記憶部128は、情報処理装置122へのユーザ・アクセスの履歴、いわゆるアクセスログを記録して、後の分析を実行するためのデータを提供する。
さらに、情報処理装置122は、ユーザ情報記憶部130を管理していて、ネットワーク116を介してアクセスするユーザを、例えばユーザ識別値(ユーザID)、ハンドルネーム、IPアドレスなどを使用して識別し、行動履歴記憶部128による行動履歴作成を可能とする。その他、ユーザ情報管理部130は、SNSや特定の権限を有するサービスへのアクセス管理を実行するための情報を含んでいて、情報処理装置122によるサービス提供の管理を可能とさせている。本実施形態では、ネットワーク116は、インターネットなどのネットワークを含むことが好ましいが、インターネット以外にもWAN(Wide Area Network)、LAN(Local Area network)などを含んで構成されていてもよい。
また、情報処理装置122は、図1に示すように、アプリケーション・モジュールと分析モジュールとが一体として構成することができる。他の実施形態では、アプリケーション・モジュールを、アプリケーション・サーバとして構成し、分析モジュールを分離して分析サーバとして配置する実装形式を採用することもできる。いずれの実装形式を採用するかについては、特定の用途に依存して、適宜選択することができる。
上述した情報処理装置122は、PENTIUM(登録商標)、PENTIUM(登録商標)互換チップ、などのCISCアーキテクチャのマイクロプロセッサ、または、POWER PC(登録商標)などのRISCアーキテクチャのマイクロプロセッサを実装することができる。また、情報処理装置122は、WINDOWS(登録商標)200X、UNIX(登録商標)、LINUX(登録商標)などのオペレーティング・システムにより制御されていて、C++、JAVA(登録商標)、JAVA(登録商標)BEANS、PERL、RUBYなどのプログラミング言語を使用して実装される、CGI、サーブレット、APACHEなどのサーバ・プログラムを実行し、ユーザ112、114からの要求を処理し、サービスを提供する。
ユーザ112、114と、情報処理装置122との間は、TCP/IPなどのトランザクション・プロトコルに基づき、HTTPプロトコルなどのファイル転送プロトコルを使用するトランザクションを使用したネットワークで接続される。ユーザ112、114は、情報処理装置122にアクセスし、ファイルのアップロード、ダウンロード、ブログ書込み、ブログ読出し、感想・意見の記述、チャット、フォーム送信、フォーム・ダウンロード、コンテンツ・アップロード、コンテンツ・ダウンロードなどを行っている。以下、ユーザが情報処理装置122に対してネットワーク116を介して行う各種の行動を、ユーザのネットワーク行動として参照する。
一方、ユーザ112、114は、パーソナル・コンピュータまたはワークステーションなどを使用して実装でき、また、そのマイクロプロセッサ(MPU)は、これまで知られたいかなるシングルコア・プロセッサまたはデュアルコア・プロセッサを含んでいてもよい。また、ユーザ112、114は、WINDOWS(登録商標)、UNIX(登録商標)、LINUX(登録商標)、MAC OSなど、いかなるオペレーティング・システムにより制御することができる。ユーザ112、114がウェブ・クライアントとして機能する場合には、ユーザ112、114は、Internet Explorer(商標)、Mozilla、Opera、Netscape Navigator(商標)などのブラウザ・ソフトウェアを使用して、情報処理装置122にアクセスする。
図2は、図1に示した情報処理装置122の機能ブロック構成200を示す。情報処理装置122は、ネットワーク116を介してユーザ112、114からの要求を受領し、またサービスの提供を行うため、OSI基本参照モデルでは、物理層/データリンク層/ネットワーク層レベルの処理を実行するネットワーク・アダプタ280を含んで構成される。ネットワーク・アダプタ280が受領した要求は、アプリケーション提供部270に送られて、情報処理装置122によるサービス処理が実行され、その実行結果は、ネットワーク・アダプタ280を介してネットワーク116を経由してユーザ112、114に送付される。
一方、ユーザ112、114が情報処理装置122に対して行った要求、アップロード、ダウンロード、書き込み、読み出しなどのネットワーク行動は、アプリケーション提供部270の処理を処理履歴として各データベースに送付される。例えば、ユーザ112、114のネットワーク行動は、そのトランザクションが発生したタイムスタンプ、ユーザID、コンテンツ内容などが抽出され、行動履歴記憶部128、テキスト・データ記憶部126などに登録され、以後、ユーザ・グループの時間的進化を分析するために利用される。
情報処理装置122は、アプリケーション提供部270の他、ユーザのネットワーク行動を分析するための複数のモジュールを含んで構成される。情報処理装置122は、ユーザのネットワーク行動を分析するために、パラメータ制御部210、インフォバブル生成部220とを含んで構成される。パラメータ制御部210は、ユーザのネットワーク行動を、ネットワークを介して送受信されたデータから分析するために使用する、キーワードなどの特徴パラメータを設定・変更する処理を実行する。
また、インフォバブル生成部220は、ネットワークを介して送受信されたコンテンツから、設定された特徴パラメータを含むデータを選択して抽出し、当該トランザクションに関わるユーザを、ユーザID、ハンドルネーム、IPアドレスなどにより抽出する。そして、インフォバブル生成部220は、ユーザについて、ユーザ・グループを割当てる処理を実行する。なお、以後、特定の特徴パラメータにより識別されるユーザ・グループを、インフォバブル(IB)として参照する。
インフォバブル生成部220は、上述した処理を実行するため、リレーショナル・データベース機能を含んで構成することができ、SQL(Structured Query Language)を使用して、設定されたタイムウィンドウごとにネットワーク行動をモニタして、ユーザをインフォバブルに帰属し、インフォバブルの時間的進化を分析する。また、インフォバブル生成部220は、生成したインフォバブル・データを、インフォバブル記憶部260に登録し、後述するインフォバブルのクラスタリングなどのために利用する。
インフォバブル記憶部260に登録されたインフォバブル・データは、適切なAPI(Application Programming Interface)230を介してネットワーク行動分析部240に送付される。ネットワーク行動分析部240は、インフォバブル・データを特定のタイムウィンドウ内について分析することにより、インフォバブルを構成するユーザのついての情報を取得し、インフォバブルを構成する特徴パラメータについてのユーザ分析などを実行する。
また、ネットワーク行動分析部240は、タイムウィンドウごとのインフォバブルの変化などの時間進化を取得して、特徴パラメータについてのインフォバブルの形成期間、種類などを分析する。さらに、ネットワーク行動分析部240は、インフォバブルに関連してインフォバブルを、特定のユーザ属性などを使用してクラスタリングし、より、大域的なネットワーク行動の分析を実行する。なお、インフォバブル生成部220およびネットワーク行動分析部240の詳細な処理については、詳細に後述する。
ネットワーク行動分析部240の分析結果は、テーブル、リスト、またはグラフなどの適切な表現形式でネットワーク行動分析結果出力部250に送付され、出力が行われる。なお、ネットワーク行動分析結果出力部250は、情報処理装置122がローカルに管理する出力デバイスとすることもできるし、ネットワーク・アダプタ280を介して管理者端末などにデータをアップロードする例えば、FTPモジュール、HTTPモジュールとして構成することができる。
<セクション2:インフォバブル定義づけ>
図3は、本実施形態のインフォバブル300の例示的な実施形態を示す。インフォバブル300は、複数のユーザ320、310のリンクについて、特定の特徴パラメータについてのアクセス頻度が一定以上のユーザ310を登録することにより生成される。以下、本実施形態では、特定の情報Iに対するアクセス頻度に対して、ユーザ関わり度gおよびスコア関数f(u,I,T)を定義して定式化する。図3に示した実施形態では、インフォバブル境界330が定義され、その中に、情報Iについて知っているユーザが多く含まれている。
また、インフォバブル境界330の内側には、情報Iについて知らない(アクセスしない)ユーザも少数含まれる。この情報Iを知らないユーザは、可能性として、当該情報Iにまだアクセスしていないだけの可能性もあるので、インフォバブル300を構成するインフォバブル境界330内の他のユーザとの関係でインフォバブル300の要素ユーザとして登録される。なお、インフォバブル境界330の内側のユーザは、インフォバブル・データを構成するユーザ集合として、そのユーザID、ハンドルネーム、IPアドレスなどをCSV、スペース区切り、カンマ区切りなどのフォーマットで、リストに登録される。
また、ユーザ320は、情報Iに関連してアクセス頻度が高くないので、図3に示した実施形態では、インフォバブル境界330の外側に示されている。なお、時間経過に対応して、ユーザ320が情報Iについてもアクセス頻度がしきい値を超えるようになる場合、インフォバブル境界330がユーザ320を含むように拡張される。
図3に示すユーザ・リンクは、予めインフォバブル生成部220が管理する。ユーザ・リンクは、ユーザがノードとされ、ノード間のリンクは、ノード間のネットワーク行動に関連する関わり合いの存在を示すものである。ユーザ間のリンクを生成する処理は、種々想定でき、第1の実施形態としては、情報処理装置122がSNSサービスを提供する場合には、個々のユーザにより登録された登録関係を使用して、リンクを生成し、適切な記憶領域に記憶させておくことができる。なお、このリンクは、例えば、ユーザ情報記憶部130に登録しておき、インフォバブル生成部220がインフォバブルを生成する処理に応じてアクセスすることができる。また、ユーザ・リンクは、ネットワーク・データとして、ネットワーク・データ記憶部124に格納することもできる。
また、第2の実施形態では、ユーザ間で送受信された情報の行動を分析するための行動マトリックスを定義し、行動マトリックス特定のキーワードといった特徴パラメータの共有割合の高いユーザ間にリンクを定義する方法を採用することができる。行動マトリックスを使用する詳細な処理は、特願2007−336919号明細に記載されているが、本明細書においてその処理の概略を説明する。
図4は、行動マトリックスのデータ構成およびその生成処理を示した概略図である。ユーザ402は、例えばオンライン・コミュニティ・サービスにおいて、行動404として示した、「メッセージを書く」404a、「掲示板に書き込む」404b、「ブログを書く」404c・・・「メッセージを読む」404i、「掲示板を読む」404j、「ブログを読む」404k、「ニュースを読む」404l・・などの行動(活動)を行う。
このような、ユーザがオンライン・コミュニティ・サービス内でとり得る行動の種類は、情報処理装置122の適切な処理モジュール、例えば、パラメータ制御部210などに予め設定されている。上述した活動の各々に対して、ある一定期間に、ユーザ402が、メッセージとして読み書きしたテキスト406a、掲示板に読み書きしたテキスト406b、ブログとして読み書きしたテキスト406c、ニュースとして読んだテキスト406d・・・を、テキスト情報406として、情報処理装置122が管理するテキスト・データ記憶部126に一旦保存する。
図4では、情報を、読書きしたテキスト406aのように一括して参照するが、読んだテキストおよび書いたテキストは、別個に識別可能に保存される。これは、掲示板やブログについても、同様である。そこで、特開2001−84250、特開2002−251402、特開2004−246440などから周知の構文解析技術などにより、情報が含むキーワードや特定表現の頻度を、TF−IDF(Term Frequency−Invert Document Frequency)などの手法を使用してパラメータ制御部210などが解析する。解析結果を使用して、情報処理装置122は、ことにより実行し、当該ユーザ402に対する行動マトリクス408を生成する。
図4に示した特定の実施形態では、本発明の行動マトリクス408は、行をキーワード、列を行動種別として定義されている。行動マトリックス408は、キーワードなどの特徴パラメータを登録する行が多くの場合数千行であり、行動種類は、ネットワーク行動に関連して多くの場合それよりも少なく、列が数十程度であり、矩形行列を構成する。また、行に現れるキーワードは、テキスト情報406として保存されたすべてのテキストから構文解析により抽出されたキーワードのすべてを網羅する。そして、行動マトリックスの要素は、特定のキーワードなどの特徴パラメータの行の、特定行動の列の成分の値として、当該行動に関連するテキストから取得された、当該する特徴パラメータの出現頻度を設定する。
上述した行動マトリクスの値は、ユーザごとに、個別のファイルとして、適切な記憶部、例えば行動履歴記憶部128に保存される。このとき、保存する形式は、例えば、CSV、HTML、XMLなど、行と列の値として、C、C++、C#、Java(登録商標)、Perl、Ruby、PHPなどのプログラミング・ツールによって識別可能な任意の形式とすることができる。
上述のように作成された行動マトリックスは、Hausholder法などによる特異値計算により、特定のネットワーク行動においてその時点で送受信される特徴パラメータを取得するためにも使用することができる。また、上述のようにして生成された行動マトリックス408は、本発明においては、特徴パラメータに関連したユーザ間のリンクを生成するために使用することができる。例えば、行動マトリックス408の要素値は、特徴パラメータの出現頻度なので、特徴パラメータの出現頻度についてしきい値を設定し、しきい値を超えた特徴パラメータを共有するユーザ間にリンクを割当てることにより図3のユーザ・リンクを生成させ、登録しておくことができる。
この際、トランザクションが直接行われたユーザ間についてまずリンクを生成し、トランザクションのノードとなったユーザから、同一の特徴パラメータの出現頻度について設定される第2のしきい値以上を有するリンクを当該ノードについての子ノードとして設定するなどの処理を使用してユーザ・リンクを拡張する。
図5は、本実施形態のインフォバブルの時間進化を説明する説明図である。インフォバブル生成部220は、周期的に、行動履歴記憶部128などにアクセスして、設定されたタイムウィンドウ間の行動履歴を抽出し、抽出した行動履歴に含まれるユーザについて、インフォバブルを生成する。例えば、インフォバブル生成部は、サンプリングタイムT=tで、タイムウィンドウT540の期間についての行動履歴をサンプリングして、ユーザ・リンク510に登録されたユーザに対してインフォバブル512、514、516を生成し、インフォバブル記憶部260に登録する。
その後、インフォバブル生成部220は、サンプリング周期が経過したサンプリングタイムT=tでタイムウィンドウT550の期間にわたり、同所の処理を実行して、ユーザ・リンク520についてインフォバブル522、524、526を生成する。この時、特徴パラメータに関連してユーザの興味や話題が変化する場合、インフォバブル512に対応するインフォバブル522のサイズ、すなわち要素ユーザ数が変化する。インフォバブルの時間進化は、それぞれインフォバブル514、524、インフォバブル516、526についても生成することができる。同様に、サンプリングタイムT=tにおいてもタイムウィンドウTが設定され、インフォバブルを生成するために利用される。
インフォバブル生成部220は、サンプリングタイムT=Tとなった場合、再度、タイムウィンドウ560の間の行動履歴を取得して、インフォバブル532、534、536を生成し、ユーザ・リンク530に各インフォバブルをインフォバブル・シーケンスとして生成させて行くことにより、特徴パラメータに関連付けられたインフォバブルの時間進化を分析することが可能となる。なお、インフォバブル生成部220は、行動履歴記憶部128にすでに登録されたデータを参照してインフォバブルを生成することができるし、行動履歴記憶部128に登録されるアクセスログをサンプリングタイムが到来した段階で、タイムウィンドウの期間だけ取得して、インフォバブルを生成してもよい。また、サンプリングウィンドウT、サンプリング周期(tm+1−t)の比率は、適切な精度でインフォバブルを生成することができる限り、特に限定はない。
<セクション3:インフォバブル生成処理>
インフォバブル生成部220は、インフォバブルを生成するためのタイムウィンドウの期間にわたり、特徴パラメータに関連する情報について、ユーザ関わり度gを計算する。ユーザ関わり度gは、情報Iに対して何度ユーザが書き込みアクセスを行い、また読み込みアクセスを行ったかを、行動履歴から取得し、書き込みアクセスがある場合については、下記式(1)で、書き込みアクセスはないが、読み込みアクセスがある場合については、下記式(2)で与えられる値g(u,I,T,Tm+1)で定義される。また、情報Iに対して書き・読み込みアクセス両方がないユーザに対しては、対応するそのユーザ関わり度をゼロとする。なお、Tは、タイムウィンドウの時系列順序を示すための識別値であり、mは、0以上の整数である。
Figure 0005159451
Figure 0005159451
上記式中、uは、ユーザID、Iは、情報ID、n>0は、アクセス回数、jは、正の整数である。
また、本実施形態では、ユーザがアクセスする可能性のある関連事項例えば、「日本アイ・ビー・エム」、「IBM」などについては、特徴パラメータに関連付けられるものとして、小さな定数を導入し、上記式(1)、(2)の右辺の係数として設定し、ユーザ関わり度の計算に含ませることができる。
さらに、インフォバブル生成部220は、インフォバブル境界を、現時点で登録されている、インフォバブル境界から膨張させるか、または収縮させるかを判断するためのスコア関数f(u,I,T)を実装する。スコア関数f(u,I,T)は、説明する実施形態では、下記式(3)として実装することができる。
Figure 0005159451
上記式(3)中、αは、0<α<1の実数である。ただし、減少の場合、時系列的になめらかな関数であって、アクセス回数に関連して値を増減することができる関数であれば、関数の型式に特に限定はない。なお、特定のインフォバブル内でのスコア値の平均値を、以下、バブル平均スコア(Average Info Bubble Scoreであり、以後、これを略してAvgInfoBubbleとする。)と定義し、インフォバブルの膨張・収縮判断のために提供する。
図6は、ユーザ関わり度gを使用して生成されるスコア関数f(u,I,T)の実施形態および、インフォバブルの膨張・収縮判断について説明した図である。図6に示すように、上記式(1)〜(3)を使用して、各時刻のスコア関数f(u,I,T)は直前の時刻からのタイムウィンドウに関連して計算される。図6に示したスコア・ポイント610は、各タイムウィンドウで計算されたスコア値を示すものである。各スコア・ポイントの間は、スプライン関数や各種補間関数などを使用してなめらかに接続されるように計算されてもよい。インフォバブル生成部220は、スコア値に対して、膨張しきい値および収縮しきい値を設定し、スコア値と各しきい値とを比較して、インフォバブル境界の膨張・収縮処理を実行する。
インフォバブル境界の膨張とは、特定のインフォバブルを構成するインフォバブル・データに、ユーザ・リンクで隣接し、他のインフォバブルに含まれるか隣接するか、またはインフォバブルに含まれていないユーザを追加する処理を意味する。また、インフォバブルの収縮とは、膨張の逆の処理に対応し、インフォバブル・データに含まれる要素ユーザを、インフォバブル・データから削除する処理を意味する。例えば、図6に示したスコア値では、ポイント620では、インフォバブルの収縮処理を実行し、ポイント630では、インフォバブルの膨張処理を実行する。なお、膨張処理および収縮処理については、より詳細に後述する。
図7は、本実施形態で生成されるインフォバブル・データ700のデータ構造を示す。図7に示すインフォバブル・データ700は、変数名と、当該変数に対して登録する変数のデータ内容とを含む構成として示す。図7に示すように、フィールド710は、変数名=Infoとしてインフォバブルを定義するための情報内容が登録される。この値としては、例えば特徴パラメータなどを使用することができる。また、フィールド720には、サンプリングした時刻を、例えばサンプリングについてのタイムウィンドウの終点のTm+1の値を代表させるなどして、タイムスタンプとして使用する。
また、フィールド730は、Peopleとして、インフォバブル700に含まれるユーザ集合を、ユーザIDを列記する型式などで、登録する。さらに、フィールド750は、当該インフォバブルが含むユーザのユーザ関わり度の平均値AvgInfoScoreを登録するフィールドである。なお、AvgInfoScoreは、0≦AvgInfoScore≦1を満たす実数である。図7に示したインフォバブル・データ700は、例えば、B(I,T,P,AIS)として固有に識別され、インフォデータ記憶部260に登録される。
<セクション3:インフォバブル生成部の処理>
以下、本実施形態の各処理について説明するが、使用するパラメータ値の定義および内容は、以下の通り、
○I=Infoの値
○T=時刻・タイムスタンプの値
○P=Peopleの値
○AIS=AvgInfoScoreの値
○膨張しきい値=ExpandThreshold
○収縮しきい値=ShrinkThreshold
○インフォバブル=B
○インフォバブル集合=IBSet
である。
図8は、インフォバブル生成処理の実施形態のフローチャートである。なお、図8の処理では、時刻Tまでデータが登録されているものとする。図8の処理は、ステップS800から開始し、ステップS801で、時刻のカウンタおよびIBSetを、それぞれi=1、IBSet=φ(空集合)として初期化する。ステップS802では、インフォバブルを初期化し、ステップS803で、時刻が時刻の最大値T以下であるか否かを判断する。時刻のカウンタ値がNを超える場合(No)、処理をステップS806に分岐させて処理を終了させる。ステップS803で、i≦Nの場合(Yes)、ステップS804で、時刻Tのインフォバブルの生成処理を実行する。ステップS805では、時刻のカウンタiをインクリメントし、処理をステップS803に戻し、時刻のカウンタがNを超えるまで、インフォバブルの生成処理を反復させる。
図9は、図8のステップS802のインフォバブル初期化処理の実施形態についてのフローチャートである。処理は、ステップS900から開始し、ステップS901で、処理対象のユーザがまだ残っているか否かを判断し、処理対象のユーザが残っていない場合(No)、処理をステップS905に分岐させる。
ステップS901で、処理対象のユーザがまだ残っていると判断された場合(Yes)ステップS902で、未処理のユーザuを選択し、スコア値f(u,I,T)を計算する。ステップS903では、スコア値f(u,I,T)が収縮しきい値ShrinkThresholdよりも大きいか否かを判断し、スコア値が収縮しきい値以下の場合(No)、処理をステップS901に戻し、処理を反復させる。
ステップS903で、スコア値が収縮しきい値よりも大きいと判断された場合(Yes)、ステップS904でIBSetの要素として、インフォバブル・データを登録する。ステップS905では、時刻T(つまり、時刻TからT1までのタイムウィンドウ)のインフォバブル膨張処理を実行させ、ステップS906で、生成したインフォバブルのIB識別値を修正して付け直しステップS907で処理を終了させる。
図10は、タイムウィンドウT(i>0)におけるインフォバブル生成処理の実施形態のフローチャートを示す。図10の処理は、ステップS1000から開始し、ステップS1001で各B∈IBSetに対するAISの再計算を実行する。ステップS1002では、時刻Tにおけるインフォバブル収縮処理を実行し、ステップS1003では、時刻Ti−1のインフォバブルに関わらないユーザ集合のインフォバブルを初期化する。ステップS1004では、時刻Tにおけるインフォバブル膨張処理を実行して、処理をステップS1005で終了させる。
図11は、時刻Tでのインフォバブル膨張処理の実施形態についてのフローチャートを示す。図11の処理は、ステップS1100から開始し、ステップS1101で、インフォバブルが変更されたか否かを示す変更識別値isChanged=falseに設定する。ステップS1102は、統合可能なインフォバブルB1、B2がIBSetの要素として存在するか否かを判断するステップである。S1102の判断で統合可能なインフォバブルB1、B2がない場合には(No)、処理をステップS1104に分岐させる。
一方、ステップS1102で統合可能なB1、B2が存在する場合(Yes)、ステップS1103で、統合可能なB1、B2の組を1つ選択し、集合和を計算し、その和集合をB1、B2の値を削除したIBSetと統合し、新しいIBSetを得る。その後、変更識別値isChanged=trueに変更する。
ステップS1104では、追加可能なユーザuとインフォバブルBの組み合わせが存在するか否かを判断し、存在しない場合(No)、処理をステップS1106に分岐させ、変更識別値isChangedがtrueであるか否かを判断し、isChanged=falseである場合(No)、処理をステップS1107で終了させる。一方、ステップS1106で変更識別値isChangedがtrueである場合(Yes)、処理をステップS1101に分岐させ、統合可能なB1、B2がIBSet内に存在しなくなるまで、処理を反復する。図11の処理によって、時刻Tに対応するインフォバブルが生成される。
なお、以下の、ステップS1103の統合処理およびステップS1105の追加処理の処理プロセスを説明する。
[統合処理]
例えば、インフォバブルB1、B2が統合可能であるということは、u∈B1、v∈B2であり、u∈N(v) を満たすu、vが存在することと同値である。ここで、N(v)とは、ユーザ・リンクを構成するユーザ集合の中からユーザvと直接的に接続される、または隣接する、ユーザ集合のことである。統合処理は、インフォバブルB1(I,T,P1,AIS1)およびインフォバブルB2(I,T,P2,AIS2) に対し、merge(B1,B2):=(I,T,P1∪P2,AIS)で指定されるインフォバブルを生成する処理に対応する。ここで、統合されたインフォバブルのAISについては重付き平均を使用して計算し、AIS:=p1×AIS1+p2×AIS2,p1=|P1|/|P1∪P2|,p2=|P2|/|P1∪P2|で与えるものとする。
[追加処理]
ユーザuは、インフォバブルBに追加可能であるとは、インフォバブルBのAISがExpandThreshold値以上であって、かつuがどのインフォバブルの要素ではなく、かつ、merge(B,{u})のAISがShrinkThresholdよりも大きいことを要件として実行される。
図12は、図10のステップS1002で説明したインフォバブル収縮処理の実施形態についてのフローチャートを示す。図12の処理は、ステップS1200から開始し、ステップS1201で未処理のインフォバブルがまだ残っているか否かを判断し、残っていない場合(No)、処理をステップS1205に分岐させ、IBSetを更新し、処理をステップS1206で終了させる。
一方、ステップS1201で未処理のインフォバブルが残っていると判断された場合(Yes)、ステップS1202で、未処理のインフォバブルBをIBSetから選択し、ステップS1203で、インフォバブルBのAISが収縮しきい値ShrinkThreshold以上か否かを判断する。ステップS1203で、インフォバブルBのAISが収縮しきい値ShrinkThreshold以上ではないと判断された場合(No)、ステップS1204でBに対して、ユーザの削除および分離を実行し、新に生成されたインフォバブルに処理済みのマークを付けて、IBSetに登録する。
一方、ステップS1203で、インフォバブルBのAISが収縮しきい値ShrinkThereshold以上と判断された場合(yes)、処理をステップS1201に分岐させ、未処理のインフォバブルがなくなるまで、処理を反復させる。
以下、図12のステップS1204の削除・分離処理についての処理プロセスを説明する。
[削除処理]
インフォバブルB(I,T,P,AIS)から、P∋uであって、f(u,I,T)が最も小さいuを順に選択し、削除後のインフォバブルのAISの値がShrinkThreshold以上となるようにユーザuを次々にインフォバブルBから取り除く処理である。この処理は、削除された全ユーザのfが必ずShrinkThreshold以下で、かつ削除された後のインフォバブルBのAISを必ずShrinkThreshold以上とする処理であり、細切れのインフォバブルの生成を最小化させるための処理である。
[分離処理]
削除を行ったインフォバブルB(I,T,P,AIS)が連結できない場合、インフォバブルBの各統合・連結成分を新たにインフォバブルとして生成する処理である。I、T、その他のバブル情報は、元のインフォバブルBから継承するが、Pと、AISとを新しく計算して登録する。
図13は、図10〜図12に説明したインフォバブルの膨張・収縮処理について、グラフ表現1300を使用して説明する図である。図13に示す膨張収縮処理では、インフォバブル1310は、インフォバブル1310をバブルA、バブルB、バブルCを統合して生成される。統合前のバブルA、バブルB、バブルCは、それぞれ破線で示したものであり、図11の処理を使用して、統合が実行されている。また、インフォバブル1320は、AISの値が膨張しきい値ExpansionThreshold以上の場合に、インフォバブル境界を拡張させ、インフォバブル1320を構成する要素ユーザをインフォバブル1320に追加登録することにより実行される。
また、インフォバブル1330は、AISが収縮しきい値以下となって、インフォバブル1330が収縮される。この例では、ユーザ1340のスコア関数が同じインフォバブルに属するユーザの中で最小であるため、ユーザ1340がインフォバブル1330から削除されている。インフォバブルの収縮とユーザの削除を併用することにより、インフォバブル1330のAISがShrinkThreshold以上になるような、最適なサイズのインフォバブルが残ることになる。
図14は、インフォバブルを初期化した段階で与えられるインフォバブル1410、1420、1430、1440を、グラフ表現で示したものである。図14で示した初期化では、収縮しきい値:ShrinkThreshold=0.55、膨張しきい値:ExpandThreshold=0.75を使用した。図14に示すように、インフォバブル生成部220は、定義されたユーザ・リンクに含まれるユーザに対して最小単位のインフォバブルを割当てている。図14でインフォバブルが割当てられているユーザは、スコア値f(u,I,T)が、設定以上の値を有するユーザであり、図14に示した実施形態では、スコア値f(u,I,T)が、0.55以上のユーザについてインフォバブルを割り当てている。
なお、初期にインフォバブルを割当てるための値は、適宜設定することができる。図14でインフォバブルが割当てられていないユーザは、当該特徴パラメータを含む情報Iについてアクセスしていない、または、充分にアクセスしていないためである。初期化された図14の状態から、インフォバブル生成部220は、インフォバブルを可能か限り膨張させる処理を実行する。これが、図9のステップS905が実行する時刻Tでの膨張処理に対応する。図ではユーザに対応するノード・節点には、ユーザを固有に識別するためのハンドルネームおよび当該ユーザのスコア値を併せて示す。
図15は、図14に示した初期膨張処理によって生成されたインフォバブルの実施形態を示す。図15に示した実施形態では、インフォバブル1510は、ハンドルネーム=Harry(0.61)のユーザのみを含んでおり、またインフォバブル1520には、ハンドルネーム=Fumio(0.58)のユーザのみを含んでいる。そして、それぞれハンドルネーム=Harryのインフォバブル1510は、IBSet集合において、識別値=3として登録され、ハンドルネーム=Fumioのインフォバブル1520は、識別値=2として登録されている。
さらに、図15を参照すると、ハンドルネーム=Harryのスコア値がExpandThreshold=0.75より低いので、インフォバブル1510は、初期膨張処理では、変化しない。この状況は、ハンドルネーム=Fumio(0.58)についても同様であるため、ハンドルネーム=Fumioについてもインフォバブルは変化しない。
一方、ハンドルネーム=Hitoshi(0.75)、ハンドルネーム=Akiko(0.98)については、それぞれのスコア値がExpandThreshold=0.75よりも大きい。初期設定時にはインフォバブル1430、1440がそれぞれ割当てられていたものである。初期膨張処理では、このインフォバブルが隣接するために、両方をまず統合する。統合後のインフォバブル1530の要素ユーザのスコア値の平均AISが、膨張しきい値を超える限り、インフォバブルを統合するとともに、直隣接するユーザの中でスコア関数が一番高いユーザの追加の可能性を判断し、可能である場合、すなわち、追加後のAISの値が収縮しきい値以上である場合には、インフォバブルにユーザの追加を実行する。このため、図14のインフォバブル1430、1440が統合され、さらに、ハンドルネーム=Akikoに隣接するハンドルネーム=Isseiのユーザが統合されたインフォバブルに直隣接するユーザの中からスコア関数が最大であることと、ハンドルネーム=Isseiのユーザを含めた場合でもAIS=0.68、つまり、ShrinkThresholdの0.55以上であるので、統合後のインフォバブル1530には、ハンドルネーム=Isseiが追加されている。
その後、インフォバブル1530のAISがExpandThreshold=0.75よりも小さい(0.68)値をとることから、ユーザ・リンク上で隣接してハンドルネーム=Hideo(0.28)のユーザとハンドルネーム=Risa(0.05)のユーザが存在しても、インフォバブル1530には追加されず、初期膨張処理は、インフォバブル1730の要素ユーザとして、ユーザ=Hitoshi、Akiko、Isseiを登録し、各インフォバブルの識別値を割当て直して、統合後のインフォバブル1530を、IBSetにおいて、識別値=1として登録する。
図16は、インフォバブルの時間的進化に対応するインフォバブル生成処理1600の実施形態を示す。図16に示すように、時刻Tで生成されたIBSet1610には、インフォバブル1620およびインフォバブル1630が登録されている。図16に示した実施形態では、ユーザ=Harryが形成するインフォバブル1620は、識別値=7で示される値が付され、インフォバブル1630には、識別値=1.5が付されている。
識別値1.5は、インフォバブルの時間的進化を追跡することを可能とするため、初期膨張処理で与えられた識別値を、時刻Tごとに当該インフォバブルが存在している場合、統合された側のインフォバブルの識別値を昇順にピリオドで区切り、識別値=V.V.V.・・・.Vとして生成し、インフォバブルに割り当てて登録する。例えば、IBSet1610では、インフォバブル1630は、ユーザ=Hitoshiがインフォバブルの識別値1から削除され、ユーザ=Risaが追加されているものの、初期膨張時からインフォバブル1が存在し、図16に示した実施形態での時刻Tでは、識別値V=5に割当てられたインフォバブルと統合されることによって、新しくインフォバブルの識別値1.5ができたことを示している。
ここで、さらに時間が経過して、時刻Tm+1について、インフォバブル生成部220がインフォバブルの生成処理を実行した結果がIBSet1650で示されている。IBSet1650には、さらに複数のインフォバブルが登録されており、IBSet1610で生成されたインフォバブル7がさらに拡大してインフォバブル1660として生成され、その識別値=7.10が割り当てられている。なお、インフォバブル1660は、膨張処理前には、インフォバブル10およびインフォバブル7として登録されていたものが統合処理によって、生成されたものである。
一方、IBSet1650には、さらに他のインフォバブル1690も登録される。インフォバブル1690は、初期のインフォバブルである識別値=1から進化したものであり、その識別値=1.5.13であり、それ以前には、識別値=1.5として参照されていたインフォバブル1630とインフォバブル1695(識別値=13)とが統合され生成されたものである。図16に示した実施形態では、時刻Tから時刻Tm+1の間に、ユーザ=Harryを起源とするインフォバブルが拡大し、一方、ユーザ=Fumioを起源とするインフォバブルが再度、ユーザ=Hitoshiのインフォバブル1695を吸収して拡大して行くのが示されている。以上のように、時刻ごとにインフォバブルを生成することにより、初期に生成したインフォバブルの時間的進化を追跡することが可能となり、特定の特徴パラメータを含む情報のユーザ間での共有または関心の拡大または縮小を追跡することが可能となる。
したがって、例えばSNSなどで特徴パラメータを有する情報についての情報伝播が、どのユーザを起源とするものであるかを追跡することが可能となる。また、特徴パラメータに関連する情報についての時間発展を追跡できることから、特定時刻の直後から、情報処理装置122に現にアクセスしているユーザに対するバナー広告などの表示制御や広告内容などの選択にフィードバックすることが可能となる。
<インフォバブルを使用したネットワーク行動解析>
以上説明したインフォバブル生成処理は、ユーザ・リンクを使用し、特徴パラメータに関心を有するユーザ集合を生成するものである。このことは、逆に、特徴パラメータに関心を有するユーザ集合を構成するユーザのユーザ属性と特徴パラメータとを対応付け、ユーザ属性ごとにクラスタリングすることを可能とする。クラスタリングのために、インフォバブル生成に使用しないユーザの属性(例えば年齢、職業、趣味など)を用いることができ、その類似度を見ることにより,ある情報に関するインフォバブルのユーザが、そのユーザ属性に関連する多様性、分布、性向があるかを分析することができる。
図17は、本実施形態で、インフォバブルをクラスタリングする処理の実施形態を示す。時刻Tで生成されたユーザ・リンク1710内には、特徴パラメータに関連して複数のインフォバブル、例えばインフォバブル1720〜インフォバブル1740が生成されている。ユーザ・リンク1710を対象とし、インフォバブルを構成するユーザのユーザ属性の類似性を使用して、インフォバブルをクラスタ・リストなどとして登録することにより、インフォバブル1720〜1740をユーザ属性の類似性に基づいてクラスタリングすることができる。ユーザ属性の類似性を判定するためには、ユーザ属性について属性類似リストを提供し、属性類似リストの同一レコードに分類されるユーザ属性を類似として判断することが好ましい。下記表1に、属性類似リストの実施形態を示す。下記表1の属性類似リストのエントリ項目は、列の属性それぞれを使用して類似判断に利用することもできるし、複数列の属性を組み合わせて、より詳細な類似判断を行うことができる。
Figure 0005159451
クラスタリング処理は、情報処理装置122のネットワーク行動分析部240の特定モジュールとして構成することができ、適切なAPI230を介して、インフォバブル・データを取得し、登録されたユーザのユーザ属性を上記表1にマッピングして、ユーザ・リンク1750に対してインフォバブル1720〜1740を含むクラスタ1760、1770、1780などを、ユーザ属性に対応付けて生成する。さらに、タイムウィンドウごとにクラスタリング処理を実行することで、クラスタの時間進化を分析することができる。以下、クラスタリング処理についてさらに詳細に説明する。
[クラスタ生成処理]
クラスタ生成処理は、種々の方法で行うことができ、例えばK−meansや
agglomerative clusteringなど既存手法のうち、いかなるものでも用いることができる。クラスタ生成処理では、入力は、時刻Tにおけるインフォバブルの集合IBSetの要素集合:IB(T)={IB1, IB2, …, IBm }および実装するクラスタリング・アルゴリズムに与えるパラメータ、例えばK−meansの場合には、クラスタの個数kである。また、出力は、例えばK-means
の場合は、IB(T)の分割IB(T)1,IB(T)2,…, IB(T)kであって、IB(T)i ∩IB(T)j=φ(if i ≠ j)、∪i=1 k
IB(T)i=IB(T)の条件を満たすものである。また、i,jに対して IB(T)iとIB(T)jの類似度を出力しても良い。
また、本実施形態では、クラスタ生成は、サンプリング周期ごとの時刻Tについて生成される。このため、時刻T(m≧0の整数)ごとに生成されたクラスタの類似度を使用してネットワーク行動分析を行うことが可能となる。図18は、生成されたクラスタの異なる時刻TおよびTm+1の間におけるクラスタの類似判断処理の概略図である。
図18に示す実施形態に示すように、時刻Tに対応するユーザ・リンク1810内には、クラスタ1830、1840などが生成されている。その後時間が経過し、時刻Tm+1に対応する時点では、ユーザ・リンク1820内には、クラスタ1830、1850などが生成されている。図18に示した実施形態では、クラスタ1830は、そのまま生存しているものの、クラスタ1840は、他のクラスタを吸収してクラスタ1850として生成されている。ネットワーク行動解析部240は、上述した時刻T、Tm+1において生成された各クラスタについてクラスタ間の対応付けを行う。
クラスタの類似度判断処理は、類似度1860を使用して計算することができる。図18に示すように、類似度1860は、本実施形態では、クラスタXおよびクラスタYに帰属されるユーザの共通性を使用して計算することが好ましい。より具体的には、類似度1860は、クラスタXに含まれるユーザと、クラスタYに含まれるユーザの要素数を重複を排除して合計する。そしてクラスタXおよびクラスタYのユーザ集合の重複要素数を合計し、Sm+1=(重複要素数)/(クラスタXとクラスタYの重複を除いた要素数)として、類似度を計算する。図18に示した実施形態では、クラスタXと、クラスタYとの間の類似度S=0.4が与えられる。クラスタが時間進化により***した場合や統合された場合は、クラスタの対応付けは、各クラスタが含むインフォバブルの識別子をトレースし、クラスタ間の対応付けを行ない、類似度を計算することができる。なお、ここに示した以外の、クラスタ間に定義される任意の類似度を用いることもできる。
図19は、クラスタの類似度計算の実施形態についてのフローチャートを示す。処理は、ステップS1900から開始し、ステップS1901で、カウンタiをi=0に初期設定する。ステップS1902では、時刻Tのインフォバブルを生成し、ステップS1903で、i<Nであるか否かを判断し、i<Nでない場合(No)、次にクラスタ計算するべきインフォバブルがまだ生成されていないので、ステップS1907に分岐させて処理を終了させる。
ステップS1903で、i<Nであると判断された場合(Yes)、ステップS1904で、時刻Ti+1のインフォバブルを生成する。その後、ステップS1905では、TとTi+1のクラスタについて類似度を計算し、適切な記憶領域に類似度を保存する。ステップS1906では、カウンタiを、i=i+1としてインクリメントし、処理をステップS1903に戻し、ステップS1903の判断が否定的な値を返すまで、処理を反復させ、クラスタの時間進化に対応する類似度シーケンスを生成する。生成した類似度シーケンスは、インフォバブル・データ、クラスタ・データなどとともにネットワーク行動分析結果出力部250に送られて、以後の処理において利用される。
図20は、図19に示したステップS1905の類似度計算処理の実施形態のフローチャートである。図20の処理は、ステップS2000から開始し、ステップS2001で、時刻Tのクラスタがまだ残っているか否かを判断し、残されていない場合(No)には、ステップS2008に処理を分岐させて処理を終了させる。
一方、ステップS2001で、未処理のクラスタが残っている場合(Yes)、ステップS2002で未処理の時刻TのクラスタXを選択しScoreを0に初期化し、Y(X)を空集合に初期化する。ステップS2003で時刻Ti+1のクラスタXに対応付けられたクラスタが残っているか否かを判断し、残っている場合(Yes)、ステップS2004で未処理の時刻Ti+1のクラスタYを選択し、類似度スコアS(X、Y)を計算する。ステップS2005では、Score<S(X、Y)か否かを判断し、S(X、Y)がScoreを超える場合(Yes)、ステップS2006で、Score=S(X、Y)に設定し、Y(X)=Yとする。
その後、処理をステップS2003に戻し、クラスタXに対応付けされるクラスタYが存在しなくなるまで(ステップS2003でNo)、処理を反復させ、ステップS2003の判断が否定的な結果を返す場合(No)、処理をステップS2007に分岐させ、クラスタXに対して最も高いScoreの値を返すクラスタY(X)を最も類似度の高いクラスタとして出力する。その後、処理をステップS2001に戻し、時刻TのクラスタXの全部について類似度計算を終了させる。
以上の処理を使用することにより、特徴パラメータを含む情報のユーザ・リンク内での情報伝播を追跡することが可能となるとともに、タイムウィンドウごとに生成されるインフォバブルのユーザ集合を解析することによって、特徴パラメータに関連したユーザのネットワーク行動を、特定のユーザについてのミクロな追跡ではなく、マクロな追跡を使用して解析することが可能となる。
さらにインフォバブルのクラスタ化を可能とするので、インフォバブルを構成するユーザ集団の特性を分析することが可能となり、ネットワーク行動解析の結果表示、バナー広告制御、流行予測などのソリューション、または情報伝播分析などのために利用することが可能となる。
本実施形態の上記機能は、C++、Java(登録商標)、Java(登録商標)Beans、Java(登録商標)Applet、Java(登録商標)Script、Perl、Rubyなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、当該プログラムは、ハードディスク装置、CD−ROM、MO、フレキシブルディスク、EEPROM、EPROMなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
本実施形態の分析システム100の実施形態を示した図。 図1に示した情報処理装置122の機能ブロックを示した図。 本実施形態のインフォバブル300の例示的な実施形態を示した図。 行動間トリックのデータ構成およびその生成処理を示した概略図。 本実施形態のインフォバブルの時間進化を説明する説明図。 ユーザ関わり度gを使用して生成されるスコア関数f(u,I,T)の実施形態および、インフォバブルの膨張・収縮判断について説明した図。 本実施形態で生成されるインフォバブル・データ700のデータ構造を示した図。 インフォバブル生成処理の実施形態のフローチャート。 図8のステップS802のインフォバブル初期化処理の実施形態についてのフローチャート。 タイムウィンドウT(i>0)におけるインフォバブル生成処理の実施形態のフローチャート。 タイムウィンドウTでのインフォバブル膨張処理の実施形態についてのフローチャート。 図10のステップS1002で説明したインフォバブル収縮処理の実施形態についてのフローチャート。 図10〜図12に説明したインフォバブルの膨張・収縮処理について、グラフ表現1300を使用して説明する図 インフォバブルを初期化した段階で与えられるインフォバブル1410、1420、1430、1440のグラフ表現。 図14に示した初期膨張処理によって生成されたインフォバブルの実施形態を示した図。 インフォバブルの時間的進化に対応するインフォバブル生成処理1600の実施形態を示した図。 本実施形態で、インフォバブルをクラスタリングする処理の実施形態を示した図。 生成されたクラスタの異なるタイムウィンドウTおよびTm+1の間におけるクラスタの類似判断処理の概略図 クラスタの類似度計算の実施形態についてのフローチャート。 図19に示したステップS1905の類似度計算処理の実施形態のフローチャート。
符号の説明
100…分析システム、112、114…ユーザ・コンピュータ、116…ネットワーク、120…サーバ機能部、122…情報処理装置、124…ネットワーク・データ記憶部、126…テキスト・データ記憶部、128…行動履歴記憶部、130…ユーザ情報記憶部、200…機能ブロック(情報処理装置)、210…パラメータ制御部、220…インフォバブル生成部、230…API、240…ネットワーク行動分析部、250…ネットワーク行動分析結果出力部、260…インフォバブル記憶部、270…アプリケーション提供部、280…ネットワーク・アダプタ

Claims (17)

  1. ネットワーク行動を分析する情報処理装置であって、前記情報処理装置は、
    ネットワークを介してユーザ・コンピュータから情報に対するアクセスを受付け、前記ユーザ・コンピュータに対して前記情報に対する前記ネットワーク行動を生成するアプリケーション提供部と、
    前記ネットワーク行動の行動履歴を格納する行動履歴記憶部と、
    特徴パラメータを含む情報を抽出し、抽出した前記情報に対するネットワーク行動を取得して、前記ユーザ・コンピュータをノードとするユーザ・リンクのユーザから、前記抽出した情報に対するネットワークでのユーザ関わり度を使用して少なくとも1つのユーザを、特徴付けされたユーザ集団であるインフォバブルに登録し、インフォバブルを生成する、インフォバブル生成部と、
    前記インフォバブルを読み出して、前記ユーザのネットワーク行動を分析する、ネットワーク行動分析部と
    を含み、
    前記インフォバブル生成部は、前記インフォバブルを設定されたサンプリング周期ごとに前記ユーザ関わり度により計算されるスコア値を累積計算し、直前生成したインフォバブルを拡張するか、または直前生成したインフォバブルを収縮させるかを決定し、時系列的に複数の異なるユーザを含むインフォバブル・シーケンスを生成する、情報処理装置。
  2. 前記インフォバブル生成部は、前記スコア値に設定された膨張しきい値および収縮しきい値を参照して前記インフォバブルの膨張または収縮を決定する、請求項に記載の情報処理装置。
  3. 前記インフォバブル生成部は、前記ユーザ・リンクの隣接ユーザを前記直前生成したインフォバブルに含ませた場合に、膨張後のバブル平均スコアが前記収縮しきい値以下とならないことを基準として前記隣接ユーザを含むように前記インフォバブルを膨張させる、請求項に記載の情報処理装置。
  4. 前記インフォバブル生成部は、前記直前生成したインフォバブルが含む前記スコア値の最小のユーザを選択し、前記バブル平均スコアが前記収縮しきい値を超えるまで前記ユーザを前記インフォバブルから削除することにより、前記インフォバブルを収縮させる、請求項に記載の情報処理装置。
  5. 前記ネットワーク行動分析部は、識別値で指定される前記インフォバブルを読み出し、前記インフォバブルの時間進化を使用して前記特徴パラメータを含む前記情報の情報伝播を分析し、さらに、読み出した複数の前記インフォバブルのユーザ属性の類似性を使用して前記インフォバブルのクラスタを生成し、前記クラスタを形成するユーザを分析する、請求項に記載の情報処理装置。
  6. ユーザ・コンピュータ間のネットワーク行動を分析する情報処理装置を含む分析システムであって、前記情報処理装置は、
    ネットワークを介してユーザ・コンピュータから情報に対するアクセスを受付け、前記ユーザ・コンピュータに対して前記情報に対する前記ネットワーク行動を生成するアプリケーション提供部と、
    前記ネットワーク行動の行動履歴を格納する行動履歴記憶部と、
    特徴パラメータを含む情報を抽出し、抽出した前記情報に対するネットワーク行動を取得して、前記ユーザ・コンピュータをノードとするユーザ・リンクのユーザから、前記抽出した情報に対するネットワークでのユーザ関わり度を使用して少なくとも1つのユーザを、特徴付けされたユーザ集団である、インフォバブルに登録し、インフォバブルを生成する、インフォバブル生成部と、
    前記インフォバブルを読み出して、前記ユーザのネットワーク行動を分析する、ネットワーク行動分析部と
    を含み、
    前記インフォバブル生成部は、前記インフォバブルを設定されたサンプリング周期ごとに前記ユーザ関わり度により計算されるスコア値を累積計算し、直前生成したインフォバブルを拡張するか、または直前生成したインフォバブルを収縮させるかを決定し、時系列的に複数の異なるユーザを含むインフォバブル・シーケンスを生成する、分析システム。
  7. 前記インフォバブル生成部は、前記スコア値に設定された膨張しきい値および収縮しきい値を参照して前記インフォバブルの膨張または収縮を決定する、請求項に記載の分析システム。
  8. 情報処理装置が実行し、ユーザ・コンピュータのネットワーク行動に対する分析方法であって、前記分析方法は、前記情報処理装置が、
    ネットワークを介して前記ユーザ・コンピュータから情報に対するアクセスを受付け、前記ユーザ・コンピュータに対して前記情報に対する前記ネットワーク行動を生成するステップと、
    前記ネットワーク行動の行動履歴を格納するステップと、
    特徴パラメータを含む情報を抽出し、抽出した前記情報に対するネットワーク行動を取得して、前記ユーザ・コンピュータをノードとするユーザ・リンクのユーザから、前記抽出した情報に対するネットワークでのユーザ関わり度を計算するステップと、
    前記ユーザ関わり度を累積計算してスコア値を生成し、前記スコア値を参照して直前生成した、特徴付けされたユーザ集団である、インフォバブルを拡張するか、または直前生成したインフォバブルを収縮させるかを決定するステップと、
    使用して少なくとも1つのユーザをインフォバブルに追加または削除することにより、時系列的に複数の異なるユーザを含むインフォバブル・シーケンスを生成するステップと、
    前記インフォバブルを読み出して、前記ユーザのネットワーク行動を分析するステップと
    を実行する方法。
  9. 前記インフォバブル・シーケンスを生成するステップは、前記ユーザ・リンクの隣接ユーザを前記直前生成したインフォバブルに含ませた場合に、膨張後のバブル平均スコアが前記収縮しきい値以下とならないことを基準として前記隣接ユーザを含むように前記インフォバブルを膨張させるステップを含む、請求項に記載の方法。
  10. 前記インフォバブル・シーケンスを生成するステップは、前記直前生成したインフォバブルが含む前記スコア値の最小のユーザを選択し、前記バブル平均スコアが前記収縮しきい値を超えるまで前記ユーザを前記インフォバブルから削除することにより、前記インフォバブルを収縮させるステップを含む、請求項に記載の方法。
  11. 前記ネットワーク行動を分析するステップは、識別値で指定される前記インフォバブルを読み出し、前記インフォバブルの時間進化を使用して前記特徴パラメータを含む前記情報の情報伝播を分析するステップを含む、請求項10に記載の方法。
  12. 前記ネットワーク行動を分析するステップは、読み出した複数の前記インフォバブルのユーザ属性の類似性を使用して前記インフォバブルのクラスタを生成し、前記クラスタを形成するユーザを分析するステップを含む、請求項11に記載の方法。
  13. ユーザ・コンピュータのネットワーク行動に対する分析方法を実行するための情報処理装置実行可能なプログラムであって、前記プログラムは、前記情報処理装置を、
    ネットワークを介して前記ユーザ・コンピュータから情報に対するアクセスを受付け、前記ユーザ・コンピュータに対して前記情報に対する前記ネットワーク行動を生成する手段と、
    前記ネットワーク行動の行動履歴を格納する手段と、
    特徴パラメータを含む情報を抽出し、抽出した前記情報に対するネットワーク行動を取得して、前記ユーザ・コンピュータをノードとするユーザ・リンクのユーザから、前記抽出した情報に対するネットワークでのユーザ関わり度を計算する手段と、
    前記ユーザ関わり度を累積計算してスコア値を生成し、前記スコア値を参照して直前生成した、特徴づけされたユーザ集団である、インフォバブルを拡張するか、または直前生成したインフォバブルを収縮させるかを決定する手段と、
    使用して少なくとも1つのユーザをインフォバブルに追加または削除することにより、時系列的に複数の異なるユーザを含むインフォバブル・シーケンスを生成する手段と、
    前記インフォバブルを読み出して、前記ユーザのネットワーク行動を分析する手段と して機能させる、情報処理装置実行可能なプログラム。
  14. 前記インフォバブル・シーケンスを生成する手段は、前記ユーザ・リンクの隣接ユーザを前記直前生成したインフォバブルに含ませた場合に、膨張後のバブル平均スコアが前記収縮しきい値以下とならないことを基準として前記隣接ユーザを含むように前記インフォバブルを膨張させる手段を含む、請求項13に記載のプログラム。
  15. 前記インフォバブル・シーケンスを生成する手段は、前記直前生成したインフォバブルが含む前記スコア値の最小のユーザを選択し、前記バブル平均スコアが前記収縮しきい値を超えるまで前記ユーザを前記インフォバブルから削除することにより、前記インフォバブルを収縮させる手段を含む、請求項14に記載のプログラム。
  16. 前記ネットワーク行動を分析する手段は、識別値で指定される前記インフォバブルを読み出し、前記インフォバブルの時間進化を使用して前記特徴パラメータを含む前記情報の情報伝播を分析する手段を含む、請求項15に記載のプログラム。
  17. 前記ネットワーク行動を分析する手段は、読み出した複数の前記インフォバブルのユーザ属性の類似性を使用して前記インフォバブルのクラスタを生成し、前記クラスタを形成するユーザを分析する手段を含む、請求項16に記載のプログラム。
JP2008155237A 2008-06-13 2008-06-13 ネットワーク行動を分析する情報処理装置、分析システム、ネットワーク行動の分析方法およびプログラム Expired - Fee Related JP5159451B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008155237A JP5159451B2 (ja) 2008-06-13 2008-06-13 ネットワーク行動を分析する情報処理装置、分析システム、ネットワーク行動の分析方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008155237A JP5159451B2 (ja) 2008-06-13 2008-06-13 ネットワーク行動を分析する情報処理装置、分析システム、ネットワーク行動の分析方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2009301334A JP2009301334A (ja) 2009-12-24
JP5159451B2 true JP5159451B2 (ja) 2013-03-06

Family

ID=41548153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008155237A Expired - Fee Related JP5159451B2 (ja) 2008-06-13 2008-06-13 ネットワーク行動を分析する情報処理装置、分析システム、ネットワーク行動の分析方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5159451B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110225170A1 (en) * 2010-03-11 2011-09-15 Microsoft Corporation Adaptable relevance techniques for social activity streams
JP5656254B2 (ja) * 2010-12-28 2015-01-21 日本電気株式会社 コミュニケーションイベントログ作成システム、コミュニケーションイベントログ作成方法およびプログラム
JP5525470B2 (ja) * 2011-03-24 2014-06-18 Kddi株式会社 影響度算出装置、影響度算出方法およびプログラム
JPWO2013011728A1 (ja) * 2011-07-19 2015-02-23 日本電気株式会社 コミュニケーション支援装置、コミュニケーション支援方法、およびプログラム
WO2013094361A1 (ja) 2011-12-19 2013-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション ソーシャル・メデイアにおけるコミュニティを検出する方法、コンピュータ・プログラム、コンピュータ
US20140172541A1 (en) * 2012-12-13 2014-06-19 Facebook, Inc. Generating Metrics Based on Client Device Ownership
EP3258409B1 (en) * 2015-03-18 2019-07-17 Nippon Telegraph and Telephone Corporation Device for detecting terminal infected by malware, system for detecting terminal infected by malware, method for detecting terminal infected by malware, and program for detecting terminal infected by malware

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4892896B2 (ja) * 2005-09-05 2012-03-07 富士ゼロックス株式会社 コミュニケーション分析装置および方法
JP2007102657A (ja) * 2005-10-07 2007-04-19 Fuji Xerox Co Ltd コミュニティ分析装置、およびコミュニティ分析方法、並びにコンピュータ・プログラム
JP2008107867A (ja) * 2006-10-23 2008-05-08 Hitachi Ltd コミュニティ抽出方法、コミュニティ抽出処理装置
JP2009193465A (ja) * 2008-02-15 2009-08-27 Ntt Communications Kk 情報処理装置、情報提供システム、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
JP2009301334A (ja) 2009-12-24

Similar Documents

Publication Publication Date Title
US10546006B2 (en) Method and system for hybrid information query
JP5230421B2 (ja) 集合の類似性に基づく拡張性に富むユーザクラスタリング
JP5159451B2 (ja) ネットワーク行動を分析する情報処理装置、分析システム、ネットワーク行動の分析方法およびプログラム
Tyagi et al. An algorithmic approach to data preprocessing in web usage mining
Losarwar et al. Data preprocessing in web usage mining
US20160188604A1 (en) Social media impact assessment
US20140101134A1 (en) System and method for iterative analysis of information content
US20080215581A1 (en) Content/metadata selection and propagation service to propagate content/metadata to client devices
US9256692B2 (en) Clickstreams and website classification
US20170270210A1 (en) Data Infrastructure and Method for Ingesting and Updating A Continuously Evolving Social Network
Sisodia et al. Fast prediction of web user browsing behaviours using most interesting patterns
Jagan et al. A survey on web personalization of web usage mining
CN111177481B (zh) 用户标识映射方法及装置
Nguyen et al. Analyzing and visualizing web server access log file
Eltahir et al. Extracting knowledge from web server logs using web usage mining
Bhat et al. Browser simulation-based crawler for online social network profile extraction
JP2014016916A (ja) ソーシャル・グラフの拡張方法、プログラム及びシステム
Suguna et al. User interest level based preprocessing algorithms using web usage mining
US20030160609A9 (en) Method and facility for storing and indexing web browsing data
JP2010198223A (ja) 関連性解析システムおよび関連性解析方法
Bakariya et al. An inclusive survey on data preprocessing methods used in web usage mining
JP5535787B2 (ja) 分類装置、分類方法及び分類プログラム
CN109408716B (zh) 用于推送信息的方法和设备
Zubi et al. Using web logs dataset via web mining for user behavior understanding
Maheswari et al. Algorithm for Tracing Visitors' On-Line Behaviors for Effective Web Usage Mining

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120814

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121019

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20121127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121211

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees