(57)【特許請求の範囲】
【請求項１】
ネットワーク行動を分析する情報処理装置であって、前記情報処理装置は、
ネットワークを介してユーザ・コンピュータから情報に対するアクセスを受付け、前記ユーザ・コンピュータに対して前記情報に対する前記ネットワーク行動を生成するアプリケーション提供部と、
前記ネットワーク行動の行動履歴を格納する行動履歴記憶部と、
特徴パラメータを含む情報を抽出し、抽出した前記情報に対するネットワーク行動を取得して、前記ユーザ・コンピュータをノードとするユーザ・リンクのユーザから、前記抽出した情報に対するネットワークでのユーザ関わり度を使用して少なくとも１つのユーザを、特徴付けされたユーザ集団であるインフォバブルに登録し、インフォバブルを生成する、インフォバブル生成部と、
前記インフォバブルを読み出して、前記ユーザのネットワーク行動を分析する、ネットワーク行動分析部と
を含み、
前記インフォバブル生成部は、前記インフォバブルを設定されたサンプリング周期ごとに前記ユーザ関わり度により計算されるスコア値を累積計算し、直前生成したインフォバブルを拡張するか、または直前生成したインフォバブルを収縮させるかを決定し、時系列的に複数の異なるユーザを含むインフォバブル・シーケンスを生成する、情報処理装置。
【請求項２】
前記インフォバブル生成部は、前記スコア値に設定された膨張しきい値および収縮しきい値を参照して前記インフォバブルの膨張または収縮を決定する、請求項１に記載の情報処理装置。
【請求項３】
前記インフォバブル生成部は、前記ユーザ・リンクの隣接ユーザを前記直前生成したインフォバブルに含ませた場合に、膨張後のバブル平均スコアが前記収縮しきい値以下とならないことを基準として前記隣接ユーザを含むように前記インフォバブルを膨張させる、請求項２に記載の情報処理装置。
【請求項４】
前記インフォバブル生成部は、前記直前生成したインフォバブルが含む前記スコア値の最小のユーザを選択し、前記バブル平均スコアが前記収縮しきい値を超えるまで前記ユーザを前記インフォバブルから削除することにより、前記インフォバブルを収縮させる、請求項３に記載の情報処理装置。
【請求項５】
前記ネットワーク行動分析部は、識別値で指定される前記インフォバブルを読み出し、前記インフォバブルの時間進化を使用して前記特徴パラメータを含む前記情報の情報伝播を分析し、さらに、読み出した複数の前記インフォバブルのユーザ属性の類似性を使用して前記インフォバブルのクラスタを生成し、前記クラスタを形成するユーザを分析する、請求項４に記載の情報処理装置。
【請求項６】
ユーザ・コンピュータ間のネットワーク行動を分析する情報処理装置を含む分析システムであって、前記情報処理装置は、
ネットワークを介してユーザ・コンピュータから情報に対するアクセスを受付け、前記ユーザ・コンピュータに対して前記情報に対する前記ネットワーク行動を生成するアプリケーション提供部と、
前記ネットワーク行動の行動履歴を格納する行動履歴記憶部と、
特徴パラメータを含む情報を抽出し、抽出した前記情報に対するネットワーク行動を取得して、前記ユーザ・コンピュータをノードとするユーザ・リンクのユーザから、前記抽出した情報に対するネットワークでのユーザ関わり度を使用して少なくとも１つのユーザを、特徴付けされたユーザ集団である、インフォバブルに登録し、インフォバブルを生成する、インフォバブル生成部と、
前記インフォバブルを読み出して、前記ユーザのネットワーク行動を分析する、ネットワーク行動分析部と
を含み、
前記インフォバブル生成部は、前記インフォバブルを設定されたサンプリング周期ごとに前記ユーザ関わり度により計算されるスコア値を累積計算し、直前生成したインフォバブルを拡張するか、または直前生成したインフォバブルを収縮させるかを決定し、時系列的に複数の異なるユーザを含むインフォバブル・シーケンスを生成する、分析システム。
【請求項７】
前記インフォバブル生成部は、前記スコア値に設定された膨張しきい値および収縮しきい値を参照して前記インフォバブルの膨張または収縮を決定する、請求項６に記載の分析システム。
【請求項８】
情報処理装置が実行し、ユーザ・コンピュータのネットワーク行動に対する分析方法であって、前記分析方法は、前記情報処理装置が、
ネットワークを介して前記ユーザ・コンピュータから情報に対するアクセスを受付け、前記ユーザ・コンピュータに対して前記情報に対する前記ネットワーク行動を生成するステップと、
前記ネットワーク行動の行動履歴を格納するステップと、
特徴パラメータを含む情報を抽出し、抽出した前記情報に対するネットワーク行動を取得して、前記ユーザ・コンピュータをノードとするユーザ・リンクのユーザから、前記抽出した情報に対するネットワークでのユーザ関わり度を計算するステップと、
前記ユーザ関わり度を累積計算してスコア値を生成し、前記スコア値を参照して直前生成した、特徴付けされたユーザ集団である、インフォバブルを拡張するか、または直前生成したインフォバブルを収縮させるかを決定するステップと、
使用して少なくとも１つのユーザをインフォバブルに追加または削除することにより、時系列的に複数の異なるユーザを含むインフォバブル・シーケンスを生成するステップと、
前記インフォバブルを読み出して、前記ユーザのネットワーク行動を分析するステップと
を実行する方法。
【請求項９】
前記インフォバブル・シーケンスを生成するステップは、前記ユーザ・リンクの隣接ユーザを前記直前生成したインフォバブルに含ませた場合に、膨張後のバブル平均スコアが前記収縮しきい値以下とならないことを基準として前記隣接ユーザを含むように前記インフォバブルを膨張させるステップを含む、請求項８に記載の方法。
【請求項１０】
前記インフォバブル・シーケンスを生成するステップは、前記直前生成したインフォバブルが含む前記スコア値の最小のユーザを選択し、前記バブル平均スコアが前記収縮しきい値を超えるまで前記ユーザを前記インフォバブルから削除することにより、前記インフォバブルを収縮させるステップを含む、請求項９に記載の方法。
【請求項１１】
前記ネットワーク行動を分析するステップは、識別値で指定される前記インフォバブルを読み出し、前記インフォバブルの時間進化を使用して前記特徴パラメータを含む前記情報の情報伝播を分析するステップを含む、請求項１０に記載の方法。
【請求項１２】
前記ネットワーク行動を分析するステップは、読み出した複数の前記インフォバブルのユーザ属性の類似性を使用して前記インフォバブルのクラスタを生成し、前記クラスタを形成するユーザを分析するステップを含む、請求項１１に記載の方法。
【請求項１３】
ユーザ・コンピュータのネットワーク行動に対する分析方法を実行するための情報処理装置実行可能なプログラムであって、前記プログラムは、前記情報処理装置を、
ネットワークを介して前記ユーザ・コンピュータから情報に対するアクセスを受付け、前記ユーザ・コンピュータに対して前記情報に対する前記ネットワーク行動を生成する手段と、
前記ネットワーク行動の行動履歴を格納する手段と、
特徴パラメータを含む情報を抽出し、抽出した前記情報に対するネットワーク行動を取得して、前記ユーザ・コンピュータをノードとするユーザ・リンクのユーザから、前記抽出した情報に対するネットワークでのユーザ関わり度を計算する手段と、
前記ユーザ関わり度を累積計算してスコア値を生成し、前記スコア値を参照して直前生成した、特徴づけされたユーザ集団である、インフォバブルを拡張するか、または直前生成したインフォバブルを収縮させるかを決定する手段と、
使用して少なくとも１つのユーザをインフォバブルに追加または削除することにより、時系列的に複数の異なるユーザを含むインフォバブル・シーケンスを生成する手段と、
前記インフォバブルを読み出して、前記ユーザのネットワーク行動を分析する手段と  して機能させる、情報処理装置実行可能なプログラム。
【請求項１４】
前記インフォバブル・シーケンスを生成する手段は、前記ユーザ・リンクの隣接ユーザを前記直前生成したインフォバブルに含ませた場合に、膨張後のバブル平均スコアが前記収縮しきい値以下とならないことを基準として前記隣接ユーザを含むように前記インフォバブルを膨張させる手段を含む、請求項１３に記載のプログラム。
【請求項１５】
前記インフォバブル・シーケンスを生成する手段は、前記直前生成したインフォバブルが含む前記スコア値の最小のユーザを選択し、前記バブル平均スコアが前記収縮しきい値を超えるまで前記ユーザを前記インフォバブルから削除することにより、前記インフォバブルを収縮させる手段を含む、請求項１４に記載のプログラム。
【請求項１６】
前記ネットワーク行動を分析する手段は、識別値で指定される前記インフォバブルを読み出し、前記インフォバブルの時間進化を使用して前記特徴パラメータを含む前記情報の情報伝播を分析する手段を含む、請求項１５に記載のプログラム。
【請求項１７】
前記ネットワーク行動を分析する手段は、読み出した複数の前記インフォバブルのユーザ属性の類似性を使用して前記インフォバブルのクラスタを生成し、前記クラスタを形成するユーザを分析する手段を含む、請求項１６に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにアクセスするユーザの、特定のテーマに関連する行動を分析する技術に関し、より詳細には、キーワード等の特徴パラメータによって特徴付けられるコンテンツへのアクセスから、ユーザ集団のネットワーク行動を分析する、情報処理装置、分析システム、ネットワーク行動の分析方法およびプログラムに関する。
【背景技術】
【０００２】
ネットワーク通信網の普及に伴い、ブログ、ＳＮＳ(Social
Network Service)などを介してユーザ間での交流が一般化している。ネットワーク上での情報交換は、どのユーザ間でも同じ程度の情報交換が行われている訳ではなく、実世界での情報交換と同様に、頻繁に情報交換が行われる内容やユーザ集団が存在する。
【０００３】
頻繁に情報交換が行われている内容を有するコンテンツに関連付けて当該情報交換を行っているユーザ集団を分析することにより、特定のユーザ集団における情報の拡散度合いを分析することが可能となる。また、特定の内容を有するコンテンツに関連するユーザ集団の規模を時系列的に分析し、コンテンツに関連して特徴付けられるユーザ集団の拡散／縮小の傾向を分析することにより、マーケッティング情報およびユーザ集団情報などを取得することができ、ネットワーク行動を効率的にビジネス・ソリューションに反映させることができる。
【０００４】
これまで、ネットワークを介して伝送される情報を使用して、伝送されるメッセージの中から重要なテーマを抽出する技術が知られている。例えば、特開２００７−３２８６１０号公報（特許文献１）では、親子関係のあるメッセージ間で関連度を示すスコアを算出し、スコアを用いたクラスタリングによって、テーマ抽出対象となるメッセージ群の絞り込み、電子掲示板などのコミュニケーションではメッセージ間に親子関係が形成されていることを利用して、抽出テーマを選択する技術が提案されている。
【０００５】
上述した特許文献１は、掲示板の中から重要なスレッドを抽出することを目的とするものであり、メッセージを、トランザクションの返答関係を使用してリンクを定義してツリー構造を作成するものである。上述した特許文献１では、例えば、ユーザ間のリンクに対し、スコアを付与する際に、限定されたユーザ集団内で高密度のトランザクションが発生する場合に高スコアを与える。しかしながら、特定の内容を有するコンテンツに関連して集合離散するユーザ集団を分析することを目的とするものではない。
【０００６】
例えば、ブログやＳＮＳ上で特定の内容を有するコンテンツがアップロードされた場合、当該コンテンツに関連するメッセージをネットワーク上で送受信する複数のユーザは、予測がつかず、また事前に予測して解析することは極めて困難である。特定のコンテンツに関連して生成するユーザ間のトランザクション頻度を使用して複数のユーザを、特定のユーザ集団として識別することは、ユーザ集団の特徴付けを可能とし、特定のユーザ集団を対象とした宣伝広告などを行うための重要な情報を提供する。
【０００７】
また、逆に特定のユーザ集団がどのようなコンテンツに関心があるのか、およびユーザ集団の特徴を解析することは、コンテンツに関連するビジネスに対する次世代ソリューションの検討を可能とするものということができる。
【特許文献１】特開２００７−３２８６１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したように、情報の広がり方は、ユーザの属性だけを見ていても判断することができない。例えば、「キーワードとして“ＩＢＭ東京基礎研究所”を含むコンテンツは、いったいどのようなユーザ層に広まっているのか？」に関して、その情報伝播を解析することが必要な場合があった。さらにＳＮＳ内での情報拡散および縮小を時系列的に追跡することによって、以下の項目についての情報を取得することが可能となる。
○情報を最初に発信した人・集団は？
○情報は広がる傾向か？それとも収まる傾向か？
○情報は移動するか？どのような経路での移動か？
○情報を広げる方向にもっとも貢献する人・集団は？
以上の点で、上述したように、特許文献１は、特定のコンテンツに関連した不特定のユーザをユーザ集団として識別することを可能とする技術ではなかった。また、特許文献１は、特定のコンテンツに関連したユーザ集団の時系列的な解析を使用して、ユーザ手段の拡散および縮小を追跡することを可能とするものではない。さらに特許文献１は、特定のユーザ集団に分類されたユーザに共通する属性を分析することにより、ネットワークを介して集合離散するユーザを解析することによってユーザのネットワーク行動を分析することを可能とするものではない。
【０００９】
すなわち、これまで、特定のコンテンツに関連して複数のユーザが形成するユーザ集団を特徴付ける技術が必要とされていた。
【００１０】
また、これまで、特徴付けされたユーザ集団の規模が時系列的にどのように推移して行くのかを分析し、コンテンツの内容に関連したネットワーク行動を分析する技術が必要とされていた。
【００１１】
さらに、特徴付けられたユーザ集団に帰属されるユーザに共通する属性を取得して分析する技術が必要とされていた。
【課題を解決するための手段】
【００１２】
本発明は上記の課題を解決するために、情報処理装置は、ネットワークを介してユーザ・コンピュータから情報に対するアクセスを受付け、ユーザ・コンピュータ間に、情報を特徴付けるパラメータに関連して情報に対するネットワーク行動を生成させる。情報の広がりを示す一つの塊を、インフォバブルとして参照し、当該塊を構成するユーザを、特徴付けされたユーザ集団として参照する。ネットワーク行動は、行動履歴として記憶され、インフォバブルを生成するために利用される。情報処理装置は、インフォバブル生成部を含んでおり、インフォバブル生成部は、特徴パラメータを含む情報を抽出し、抽出した情報に対するネットワーク行動を取得する。そして、前記ユーザ・コンピュータをノードとするユーザ・リンクのユーザから、抽出した情報に対するネットワークでのユーザ関わり度ｇを計算し、さらに設定されたサンプリング間隔で計算したユーザ関わり度ｇを累積計算してスコア値を計算し、少なくとも１つのユーザをインフォバブルに登録し、インフォバブルを生成する。生成されたインフォバブルは、ネットワーク行動解析部により読み出され、特徴パラメータに関連付けられた情報に対するユーザのネットワーク行動を分析するために使用される。
【００１３】
サンプリング周期ごとに前記ユーザ関わり度により計算されるスコア値を累積計算し、直前生成したインフォバブルを拡張するか、または直前生成したインフォバブルを収縮させるかを決定して、時系列的に複数の異なるユーザを含むインフォバブル・シーケンスを生成する。
【００１４】
インフォバブルの膨張・収縮は、スコア値に設定された膨張しきい値および収縮しきい値を参照して決定される。インフォバブルの膨張は、ユーザ・リンクの隣接ユーザを直前生成したインフォバブルに含ませた場合に、膨張後のバブル平均スコアが収縮しきい値以下とならないことを基準として実行される。
【００１５】
また、インフォバブルの収縮は、直前生成したインフォバブルが含むスコア値の最小のユーザを選択し、バブル平均スコアが収縮しきい値を超えるまでユーザをインフォバブルから削除することにより実行される。
【００１６】
さらに、ネットワーク行動分析部は、識別値で指定されるインフォバブルを読み出し、インフォバブルの時間進化を使用し特徴パラメータを含む情報の情報伝播を分析し、さらに、読み出した複数のインフォバブルのユーザ属性の類似性を使用してインフォバブルのクラスタを生成し、クラスタを形成するユーザを分析する。
【００１７】
すなわち、本発明によれば、特定のコンテンツに関連して生成するユーザ間のトランザクション頻度を使用して複数のユーザを、特定のユーザ集団として識別することにより、ユーザ集団の特徴付けを可能とする、情報処理装置、分析システム、分析方法およびプログラムを提供することが可能となる。
【００１８】
また、本発明では、上述したユーザ集団の特徴付けを使用することで、逆に特定のユーザ集団がどのようなコンテンツに関心があるのか、およびユーザ集団の特徴を解析することは、コンテンツに関連するビジネスに対する次世代ソリューションの検討を可能とする、情報処理装置、分析システム、分析方法およびプログラムを提供することが可能となる。
【発明を実施するための最良の形態】
【００１９】
＜セクション１：ハードウェア構成＞
以下、本発明を実施の形態をもって説明するが、本発明は、後述する実施形態に限定されるものではない。図１は、本実施形態のユーザのネットワーク行動を分析する分析システム１００の実施形態を示す。分析システム１００は、ネットワーク１１６に接続され、ユーザにより操作されて、ネットワーク１１６を介してサーバ１２２にアクセスする複数のユーザ・コンピュータ（以下、説明の便宜上、ユーザとして参照する。）１１２、１１４を含んで構成されている。ユーザ１１２は、例えばＳＮＳなどで友人などとして登録されたユーザ・グループを形成する。また、ユーザ１１４は、これとは異なるユーザ・グループを形成している。ユーザのネットワーク行動は極めて多岐にわたり、また広範なコンテンツがアプリケーション・サーバなどに登録されるので、各ユーザ・グループは、常時完全に分離しているわけではなく、時系列的に相互関連し合い、特定のユーザ・グループに帰属されているユーザが、他のユーザ・グループに参加し、また離脱するなどの行動を取る。
【００２０】
ネットワーク１１６には、サーバ機能部１２０が接続されていて、情報検索、ＳＮＳ、ウェブ・サービス、メール・サービスなどを含むアプリケーション・サービスをユーザに対して提供している。サーバ機能部１２０は、情報処理装置１２２と、複数のデータベース１２４〜１３０を含んで構成されている。情報処理装置１２２は、本実施形態では、ＳＮＳ、情報検索などのサービスを提供するアプリケーション・サーバモジュールおよびユーザのネットワーク行動を分析するための分析モジュールとを含んで実装されている。これらの各モジュール構成については、より詳細に後述する。
【００２１】
また、情報処理装置１２２は、複数のデータベース１２４〜１３０を使用してユーザのネットワーク行動を分析する。ネットワーク・データ記憶部１２４は、ユーザのネットワーク・アドレスなどを含むネットワーク・データを記憶している。テキスト・データ記憶部１２６は、ユーザがアップデートしたコンテンツのテキスト部分、メール、ブログなどのコメントなどといったネットワーク行動を分析するために使用するテキスト・データを記憶する。行動履歴記憶部１２８は、情報処理装置１２２へのユーザ・アクセスの履歴、いわゆるアクセスログを記録して、後の分析を実行するためのデータを提供する。
【００２２】
さらに、情報処理装置１２２は、ユーザ情報記憶部１３０を管理していて、ネットワーク１１６を介してアクセスするユーザを、例えばユーザ識別値（ユーザＩＤ）、ハンドルネーム、ＩＰアドレスなどを使用して識別し、行動履歴記憶部１２８による行動履歴作成を可能とする。その他、ユーザ情報管理部１３０は、ＳＮＳや特定の権限を有するサービスへのアクセス管理を実行するための情報を含んでいて、情報処理装置１２２によるサービス提供の管理を可能とさせている。本実施形態では、ネットワーク１１６は、インターネットなどのネットワークを含むことが好ましいが、インターネット以外にもＷＡＮ(Wide Area Network)、ＬＡＮ(Local Area network)などを含んで構成されていてもよい。
【００２３】
また、情報処理装置１２２は、図１に示すように、アプリケーション・モジュールと分析モジュールとが一体として構成することができる。他の実施形態では、アプリケーション・モジュールを、アプリケーション・サーバとして構成し、分析モジュールを分離して分析サーバとして配置する実装形式を採用することもできる。いずれの実装形式を採用するかについては、特定の用途に依存して、適宜選択することができる。
【００２４】
上述した情報処理装置１２２は、ＰＥＮＴＩＵＭ（登録商標）、ＰＥＮＴＩＵＭ（登録商標）互換チップ、などのＣＩＳＣアーキテクチャのマイクロプロセッサ、または、ＰＯＷＥＲ  ＰＣ（登録商標）などのＲＩＳＣアーキテクチャのマイクロプロセッサを実装することができる。また、情報処理装置１２２は、ＷＩＮＤＯＷＳ（登録商標）２００Ｘ、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）などのオペレーティング・システムにより制御されていて、Ｃ＋＋、ＪＡＶＡ（登録商標）、ＪＡＶＡ（登録商標）ＢＥＡＮＳ、ＰＥＲＬ、ＲＵＢＹなどのプログラミング言語を使用して実装される、ＣＧＩ、サーブレット、ＡＰＡＣＨＥなどのサーバ・プログラムを実行し、ユーザ１１２、１１４からの要求を処理し、サービスを提供する。
【００２５】
ユーザ１１２、１１４と、情報処理装置１２２との間は、ＴＣＰ／ＩＰなどのトランザクション・プロトコルに基づき、ＨＴＴＰプロトコルなどのファイル転送プロトコルを使用するトランザクションを使用したネットワークで接続される。ユーザ１１２、１１４は、情報処理装置１２２にアクセスし、ファイルのアップロード、ダウンロード、ブログ書込み、ブログ読出し、感想・意見の記述、チャット、フォーム送信、フォーム・ダウンロード、コンテンツ・アップロード、コンテンツ・ダウンロードなどを行っている。以下、ユーザが情報処理装置１２２に対してネットワーク１１６を介して行う各種の行動を、ユーザのネットワーク行動として参照する。
【００２６】
一方、ユーザ１１２、１１４は、パーソナル・コンピュータまたはワークステーションなどを使用して実装でき、また、そのマイクロプロセッサ（ＭＰＵ）は、これまで知られたいかなるシングルコア・プロセッサまたはデュアルコア・プロセッサを含んでいてもよい。また、ユーザ１１２、１１４は、ＷＩＮＤＯＷＳ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ＭＡＣ  ＯＳなど、いかなるオペレーティング・システムにより制御することができる。ユーザ１１２、１１４がウェブ・クライアントとして機能する場合には、ユーザ１１２、１１４は、Internet Explorer（商標）、Mozilla、Opera、Netscape Navigator（商標）などのブラウザ・ソフトウェアを使用して、情報処理装置１２２にアクセスする。
【００２７】
図２は、図１に示した情報処理装置１２２の機能ブロック構成２００を示す。情報処理装置１２２は、ネットワーク１１６を介してユーザ１１２、１１４からの要求を受領し、またサービスの提供を行うため、ＯＳＩ基本参照モデルでは、物理層／データリンク層／ネットワーク層レベルの処理を実行するネットワーク・アダプタ２８０を含んで構成される。ネットワーク・アダプタ２８０が受領した要求は、アプリケーション提供部２７０に送られて、情報処理装置１２２によるサービス処理が実行され、その実行結果は、ネットワーク・アダプタ２８０を介してネットワーク１１６を経由してユーザ１１２、１１４に送付される。
【００２８】
一方、ユーザ１１２、１１４が情報処理装置１２２に対して行った要求、アップロード、ダウンロード、書き込み、読み出しなどのネットワーク行動は、アプリケーション提供部２７０の処理を処理履歴として各データベースに送付される。例えば、ユーザ１１２、１１４のネットワーク行動は、そのトランザクションが発生したタイムスタンプ、ユーザＩＤ、コンテンツ内容などが抽出され、行動履歴記憶部１２８、テキスト・データ記憶部１２６などに登録され、以後、ユーザ・グループの時間的進化を分析するために利用される。
【００２９】
情報処理装置１２２は、アプリケーション提供部２７０の他、ユーザのネットワーク行動を分析するための複数のモジュールを含んで構成される。情報処理装置１２２は、ユーザのネットワーク行動を分析するために、パラメータ制御部２１０、インフォバブル生成部２２０とを含んで構成される。パラメータ制御部２１０は、ユーザのネットワーク行動を、ネットワークを介して送受信されたデータから分析するために使用する、キーワードなどの特徴パラメータを設定・変更する処理を実行する。
【００３０】
また、インフォバブル生成部２２０は、ネットワークを介して送受信されたコンテンツから、設定された特徴パラメータを含むデータを選択して抽出し、当該トランザクションに関わるユーザを、ユーザＩＤ、ハンドルネーム、ＩＰアドレスなどにより抽出する。そして、インフォバブル生成部２２０は、ユーザについて、ユーザ・グループを割当てる処理を実行する。なお、以後、特定の特徴パラメータにより識別されるユーザ・グループを、インフォバブル（ＩＢ）として参照する。
【００３１】
インフォバブル生成部２２０は、上述した処理を実行するため、リレーショナル・データベース機能を含んで構成することができ、ＳＱＬ(Structured Query Language）を使用して、設定されたタイムウィンドウごとにネットワーク行動をモニタして、ユーザをインフォバブルに帰属し、インフォバブルの時間的進化を分析する。また、インフォバブル生成部２２０は、生成したインフォバブル・データを、インフォバブル記憶部２６０に登録し、後述するインフォバブルのクラスタリングなどのために利用する。
【００３２】
インフォバブル記憶部２６０に登録されたインフォバブル・データは、適切なＡＰＩ(Application Programming Interface)２３０を介してネットワーク行動分析部２４０に送付される。ネットワーク行動分析部２４０は、インフォバブル・データを特定のタイムウィンドウ内について分析することにより、インフォバブルを構成するユーザのついての情報を取得し、インフォバブルを構成する特徴パラメータについてのユーザ分析などを実行する。
【００３３】
また、ネットワーク行動分析部２４０は、タイムウィンドウごとのインフォバブルの変化などの時間進化を取得して、特徴パラメータについてのインフォバブルの形成期間、種類などを分析する。さらに、ネットワーク行動分析部２４０は、インフォバブルに関連してインフォバブルを、特定のユーザ属性などを使用してクラスタリングし、より、大域的なネットワーク行動の分析を実行する。なお、インフォバブル生成部２２０およびネットワーク行動分析部２４０の詳細な処理については、詳細に後述する。
【００３４】
ネットワーク行動分析部２４０の分析結果は、テーブル、リスト、またはグラフなどの適切な表現形式でネットワーク行動分析結果出力部２５０に送付され、出力が行われる。なお、ネットワーク行動分析結果出力部２５０は、情報処理装置１２２がローカルに管理する出力デバイスとすることもできるし、ネットワーク・アダプタ２８０を介して管理者端末などにデータをアップロードする例えば、ＦＴＰモジュール、ＨＴＴＰモジュールとして構成することができる。
【００３５】
＜セクション２：インフォバブル定義づけ＞
図３は、本実施形態のインフォバブル３００の例示的な実施形態を示す。インフォバブル３００は、複数のユーザ３２０、３１０のリンクについて、特定の特徴パラメータについてのアクセス頻度が一定以上のユーザ３１０を登録することにより生成される。以下、本実施形態では、特定の情報Ｉに対するアクセス頻度に対して、ユーザ関わり度ｇおよびスコア関数ｆ（ｕ，Ｉ，Ｔ）を定義して定式化する。図３に示した実施形態では、インフォバブル境界３３０が定義され、その中に、情報Ｉについて知っているユーザが多く含まれている。
【００３６】
また、インフォバブル境界３３０の内側には、情報Ｉについて知らない（アクセスしない）ユーザも少数含まれる。この情報Ｉを知らないユーザは、可能性として、当該情報Ｉにまだアクセスしていないだけの可能性もあるので、インフォバブル３００を構成するインフォバブル境界３３０内の他のユーザとの関係でインフォバブル３００の要素ユーザとして登録される。なお、インフォバブル境界３３０の内側のユーザは、インフォバブル・データを構成するユーザ集合として、そのユーザＩＤ、ハンドルネーム、ＩＰアドレスなどをＣＳＶ、スペース区切り、カンマ区切りなどのフォーマットで、リストに登録される。
【００３７】
また、ユーザ３２０は、情報Ｉに関連してアクセス頻度が高くないので、図３に示した実施形態では、インフォバブル境界３３０の外側に示されている。なお、時間経過に対応して、ユーザ３２０が情報Ｉについてもアクセス頻度がしきい値を超えるようになる場合、インフォバブル境界３３０がユーザ３２０を含むように拡張される。
【００３８】
図３に示すユーザ・リンクは、予めインフォバブル生成部２２０が管理する。ユーザ・リンクは、ユーザがノードとされ、ノード間のリンクは、ノード間のネットワーク行動に関連する関わり合いの存在を示すものである。ユーザ間のリンクを生成する処理は、種々想定でき、第１の実施形態としては、情報処理装置１２２がＳＮＳサービスを提供する場合には、個々のユーザにより登録された登録関係を使用して、リンクを生成し、適切な記憶領域に記憶させておくことができる。なお、このリンクは、例えば、ユーザ情報記憶部１３０に登録しておき、インフォバブル生成部２２０がインフォバブルを生成する処理に応じてアクセスすることができる。また、ユーザ・リンクは、ネットワーク・データとして、ネットワーク・データ記憶部１２４に格納することもできる。
【００３９】
また、第２の実施形態では、ユーザ間で送受信された情報の行動を分析するための行動マトリックスを定義し、行動マトリックス特定のキーワードといった特徴パラメータの共有割合の高いユーザ間にリンクを定義する方法を採用することができる。行動マトリックスを使用する詳細な処理は、特願２００７−３３６９１９号明細に記載されているが、本明細書においてその処理の概略を説明する。
【００４０】
図４は、行動マトリックスのデータ構成およびその生成処理を示した概略図である。ユーザ４０２は、例えばオンライン・コミュニティ・サービスにおいて、行動４０４として示した、「メッセージを書く」４０４ａ、「掲示板に書き込む」４０４ｂ、「ブログを書く」４０４ｃ・・・「メッセージを読む」４０４ｉ、「掲示板を読む」４０４ｊ、「ブログを読む」４０４ｋ、「ニュースを読む」４０４ｌ・・などの行動（活動）を行う。
【００４１】
このような、ユーザがオンライン・コミュニティ・サービス内でとり得る行動の種類は、情報処理装置１２２の適切な処理モジュール、例えば、パラメータ制御部２１０などに予め設定されている。上述した活動の各々に対して、ある一定期間に、ユーザ４０２が、メッセージとして読み書きしたテキスト４０６ａ、掲示板に読み書きしたテキスト４０６ｂ、ブログとして読み書きしたテキスト４０６ｃ、ニュースとして読んだテキスト４０６ｄ・・・を、テキスト情報４０６として、情報処理装置１２２が管理するテキスト・データ記憶部１２６に一旦保存する。
【００４２】
図４では、情報を、読書きしたテキスト４０６ａのように一括して参照するが、読んだテキストおよび書いたテキストは、別個に識別可能に保存される。これは、掲示板やブログについても、同様である。そこで、特開２００１−８４２５０、特開２００２−２５１４０２、特開２００４−２４６４４０などから周知の構文解析技術などにより、情報が含むキーワードや特定表現の頻度を、ＴＦ−ＩＤＦ(Term Frequency−Invert Document Frequency)などの手法を使用してパラメータ制御部２１０などが解析する。解析結果を使用して、情報処理装置１２２は、ことにより実行し、当該ユーザ４０２に対する行動マトリクス４０８を生成する。
【００４３】
図４に示した特定の実施形態では、本発明の行動マトリクス４０８は、行をキーワード、列を行動種別として定義されている。行動マトリックス４０８は、キーワードなどの特徴パラメータを登録する行が多くの場合数千行であり、行動種類は、ネットワーク行動に関連して多くの場合それよりも少なく、列が数十程度であり、矩形行列を構成する。また、行に現れるキーワードは、テキスト情報４０６として保存されたすべてのテキストから構文解析により抽出されたキーワードのすべてを網羅する。そして、行動マトリックスの要素は、特定のキーワードなどの特徴パラメータの行の、特定行動の列の成分の値として、当該行動に関連するテキストから取得された、当該する特徴パラメータの出現頻度を設定する。
【００４４】
上述した行動マトリクスの値は、ユーザごとに、個別のファイルとして、適切な記憶部、例えば行動履歴記憶部１２８に保存される。このとき、保存する形式は、例えば、ＣＳＶ、ＨＴＭＬ、ＸＭＬなど、行と列の値として、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）、Ｐｅｒｌ、Ｒｕｂｙ、ＰＨＰなどのプログラミング・ツールによって識別可能な任意の形式とすることができる。
【００４５】
上述のように作成された行動マトリックスは、Hausholder法などによる特異値計算により、特定のネットワーク行動においてその時点で送受信される特徴パラメータを取得するためにも使用することができる。また、上述のようにして生成された行動マトリックス４０８は、本発明においては、特徴パラメータに関連したユーザ間のリンクを生成するために使用することができる。例えば、行動マトリックス４０８の要素値は、特徴パラメータの出現頻度なので、特徴パラメータの出現頻度についてしきい値を設定し、しきい値を超えた特徴パラメータを共有するユーザ間にリンクを割当てることにより図３のユーザ・リンクを生成させ、登録しておくことができる。
【００４６】
この際、トランザクションが直接行われたユーザ間についてまずリンクを生成し、トランザクションのノードとなったユーザから、同一の特徴パラメータの出現頻度について設定される第２のしきい値以上を有するリンクを当該ノードについての子ノードとして設定するなどの処理を使用してユーザ・リンクを拡張する。
【００４７】
図５は、本実施形態のインフォバブルの時間進化を説明する説明図である。インフォバブル生成部２２０は、周期的に、行動履歴記憶部１２８などにアクセスして、設定されたタイムウィンドウ間の行動履歴を抽出し、抽出した行動履歴に含まれるユーザについて、インフォバブルを生成する。例えば、インフォバブル生成部は、サンプリングタイムＴ＝ｔ０で、タイムウィンドウＴ０５４０の期間についての行動履歴をサンプリングして、ユーザ・リンク５１０に登録されたユーザに対してインフォバブル５１２、５１４、５１６を生成し、インフォバブル記憶部２６０に登録する。
【００４８】
その後、インフォバブル生成部２２０は、サンプリング周期が経過したサンプリングタイムＴ＝ｔ１でタイムウィンドウＴ１５５０の期間にわたり、同所の処理を実行して、ユーザ・リンク５２０についてインフォバブル５２２、５２４、５２６を生成する。この時、特徴パラメータに関連してユーザの興味や話題が変化する場合、インフォバブル５１２に対応するインフォバブル５２２のサイズ、すなわち要素ユーザ数が変化する。インフォバブルの時間進化は、それぞれインフォバブル５１４、５２４、インフォバブル５１６、５２６についても生成することができる。同様に、サンプリングタイムＴ＝t２においてもタイムウィンドウＴ２が設定され、インフォバブルを生成するために利用される。
【００４９】
インフォバブル生成部２２０は、サンプリングタイムＴ＝Ｔ３となった場合、再度、タイムウィンドウ５６０の間の行動履歴を取得して、インフォバブル５３２、５３４、５３６を生成し、ユーザ・リンク５３０に各インフォバブルをインフォバブル・シーケンスとして生成させて行くことにより、特徴パラメータに関連付けられたインフォバブルの時間進化を分析することが可能となる。なお、インフォバブル生成部２２０は、行動履歴記憶部１２８にすでに登録されたデータを参照してインフォバブルを生成することができるし、行動履歴記憶部１２８に登録されるアクセスログをサンプリングタイムが到来した段階で、タイムウィンドウの期間だけ取得して、インフォバブルを生成してもよい。また、サンプリングウィンドウＴｍ、サンプリング周期（ｔｍ＋１−ｔｍ）の比率は、適切な精度でインフォバブルを生成することができる限り、特に限定はない。
【００５０】
＜セクション３：インフォバブル生成処理＞
インフォバブル生成部２２０は、インフォバブルを生成するためのタイムウィンドウの期間にわたり、特徴パラメータに関連する情報について、ユーザ関わり度ｇを計算する。ユーザ関わり度ｇは、情報Ｉに対して何度ユーザが書き込みアクセスを行い、また読み込みアクセスを行ったかを、行動履歴から取得し、書き込みアクセスがある場合については、下記式（１）で、書き込みアクセスはないが、読み込みアクセスがある場合については、下記式（２）で与えられる値ｇ（ｕ，Ｉ，Ｔｍ，Ｔｍ＋１）で定義される。また、情報Iに対して書き・読み込みアクセス両方がないユーザに対しては、対応するそのユーザ関わり度をゼロとする。なお、Ｔｍは、タイムウィンドウの時系列順序を示すための識別値であり、ｍは、０以上の整数である。
【００５１】
【数１】
0005159451.tif 000002
【００５２】
【数２】
0005159451.tif 000003
上記式中、ｕは、ユーザＩＤ、Ｉは、情報ＩＤ、ｎ＞０は、アクセス回数、ｊは、正の整数である。
【００５３】
また、本実施形態では、ユーザがアクセスする可能性のある関連事項例えば、「日本アイ・ビー・エム」、「ＩＢＭ」などについては、特徴パラメータに関連付けられるものとして、小さな定数を導入し、上記式（１）、（２）の右辺の係数として設定し、ユーザ関わり度の計算に含ませることができる。
【００５４】
さらに、インフォバブル生成部２２０は、インフォバブル境界を、現時点で登録されている、インフォバブル境界から膨張させるか、または収縮させるかを判断するためのスコア関数ｆ（ｕ，Ｉ，Ｔ）を実装する。スコア関数ｆ（ｕ，Ｉ，Ｔ）は、説明する実施形態では、下記式（３）として実装することができる。
【００５５】
【数３】
0005159451.tif 000004
【００５６】
上記式（３）中、αは、０＜α＜１の実数である。ただし、減少の場合、時系列的になめらかな関数であって、アクセス回数に関連して値を増減することができる関数であれば、関数の型式に特に限定はない。なお、特定のインフォバブル内でのスコア値の平均値を、以下、バブル平均スコア(Average Info Bubble Scoreであり、以後、これを略してAvgInfoBubbleとする。)と定義し、インフォバブルの膨張・収縮判断のために提供する。
【００５７】
図６は、ユーザ関わり度ｇを使用して生成されるスコア関数ｆ（ｕ，Ｉ，Ｔ）の実施形態および、インフォバブルの膨張・収縮判断について説明した図である。図６に示すように、上記式（１）〜（３）を使用して、各時刻のスコア関数ｆ（ｕ，Ｉ，Ｔ）は直前の時刻からのタイムウィンドウに関連して計算される。図６に示したスコア・ポイント６１０は、各タイムウィンドウで計算されたスコア値を示すものである。各スコア・ポイントの間は、スプライン関数や各種補間関数などを使用してなめらかに接続されるように計算されてもよい。インフォバブル生成部２２０は、スコア値に対して、膨張しきい値および収縮しきい値を設定し、スコア値と各しきい値とを比較して、インフォバブル境界の膨張・収縮処理を実行する。
【００５８】
インフォバブル境界の膨張とは、特定のインフォバブルを構成するインフォバブル・データに、ユーザ・リンクで隣接し、他のインフォバブルに含まれるか隣接するか、またはインフォバブルに含まれていないユーザを追加する処理を意味する。また、インフォバブルの収縮とは、膨張の逆の処理に対応し、インフォバブル・データに含まれる要素ユーザを、インフォバブル・データから削除する処理を意味する。例えば、図６に示したスコア値では、ポイント６２０では、インフォバブルの収縮処理を実行し、ポイント６３０では、インフォバブルの膨張処理を実行する。なお、膨張処理および収縮処理については、より詳細に後述する。
【００５９】
図７は、本実施形態で生成されるインフォバブル・データ７００のデータ構造を示す。図７に示すインフォバブル・データ７００は、変数名と、当該変数に対して登録する変数のデータ内容とを含む構成として示す。図７に示すように、フィールド７１０は、変数名＝Ｉｎｆｏとしてインフォバブルを定義するための情報内容が登録される。この値としては、例えば特徴パラメータなどを使用することができる。また、フィールド７２０には、サンプリングした時刻を、例えばサンプリングについてのタイムウィンドウの終点のＴｍ＋１の値を代表させるなどして、タイムスタンプとして使用する。
【００６０】
また、フィールド７３０は、Ｐｅｏｐｌｅとして、インフォバブル７００に含まれるユーザ集合を、ユーザＩＤを列記する型式などで、登録する。さらに、フィールド７５０は、当該インフォバブルが含むユーザのユーザ関わり度の平均値AvgInfoScoreを登録するフィールドである。なお、AvgInfoScoreは、０≦AvgInfoScore≦１を満たす実数である。図７に示したインフォバブル・データ７００は、例えば、B(I，T，P，AIS)として固有に識別され、インフォデータ記憶部２６０に登録される。
＜セクション３：インフォバブル生成部の処理＞
以下、本実施形態の各処理について説明するが、使用するパラメータ値の定義および内容は、以下の通り、
○Ｉ＝Ｉｎｆｏの値
○Ｔ＝時刻・タイムスタンプの値
○Ｐ＝Ｐｅｏｐｌｅの値
○ＡＩＳ＝AvgInfoScoreの値
○膨張しきい値＝ExpandThreshold
○収縮しきい値＝ShrinkThreshold
○インフォバブル＝Ｂ
○インフォバブル集合＝ＩＢＳｅｔ
である。
【００６１】
図８は、インフォバブル生成処理の実施形態のフローチャートである。なお、図８の処理では、時刻ＴＮまでデータが登録されているものとする。図８の処理は、ステップＳ８００から開始し、ステップＳ８０１で、時刻のカウンタおよびＩＢＳｅｔを、それぞれｉ＝１、ＩＢＳｅｔ＝φ（空集合）として初期化する。ステップＳ８０２では、インフォバブルを初期化し、ステップＳ８０３で、時刻が時刻の最大値ＴＮ以下であるか否かを判断する。時刻のカウンタ値がＮを超える場合（Ｎｏ）、処理をステップＳ８０６に分岐させて処理を終了させる。ステップＳ８０３で、ｉ≦Ｎの場合（Ｙｅｓ）、ステップＳ８０４で、時刻Ｔｉのインフォバブルの生成処理を実行する。ステップＳ８０５では、時刻のカウンタｉをインクリメントし、処理をステップＳ８０３に戻し、時刻のカウンタがＮを超えるまで、インフォバブルの生成処理を反復させる。
【００６２】
図９は、図８のステップＳ８０２のインフォバブル初期化処理の実施形態についてのフローチャートである。処理は、ステップＳ９００から開始し、ステップＳ９０１で、処理対象のユーザがまだ残っているか否かを判断し、処理対象のユーザが残っていない場合（Ｎｏ）、処理をステップＳ９０５に分岐させる。
【００６３】
ステップＳ９０１で、処理対象のユーザがまだ残っていると判断された場合（Ｙｅｓ）ステップＳ９０２で、未処理のユーザｕを選択し、スコア値ｆ（ｕ，Ｉ，Ｔ）を計算する。ステップＳ９０３では、スコア値ｆ（ｕ，Ｉ，Ｔ）が収縮しきい値ShrinkThresholdよりも大きいか否かを判断し、スコア値が収縮しきい値以下の場合（Ｎｏ）、処理をステップＳ９０１に戻し、処理を反復させる。
【００６４】
ステップＳ９０３で、スコア値が収縮しきい値よりも大きいと判断された場合（Ｙｅｓ）、ステップＳ９０４でＩＢＳｅｔの要素として、インフォバブル・データを登録する。ステップＳ９０５では、時刻Ｔ１（つまり、時刻Ｔ０からＴ1までのタイムウィンドウ）のインフォバブル膨張処理を実行させ、ステップＳ９０６で、生成したインフォバブルのＩＢ識別値を修正して付け直しステップＳ９０７で処理を終了させる。
【００６５】
図１０は、タイムウィンドウＴｉ（ｉ＞０）におけるインフォバブル生成処理の実施形態のフローチャートを示す。図１０の処理は、ステップＳ１０００から開始し、ステップＳ１００１で各Ｂ∈ＩＢＳｅｔに対するＡＩＳの再計算を実行する。ステップＳ１００２では、時刻Ｔｉにおけるインフォバブル収縮処理を実行し、ステップＳ１００３では、時刻Ｔｉ−１のインフォバブルに関わらないユーザ集合のインフォバブルを初期化する。ステップＳ１００４では、時刻Ｔｉにおけるインフォバブル膨張処理を実行して、処理をステップＳ１００５で終了させる。
【００６６】
図１１は、時刻Ｔｉでのインフォバブル膨張処理の実施形態についてのフローチャートを示す。図１１の処理は、ステップＳ１１００から開始し、ステップＳ１１０１で、インフォバブルが変更されたか否かを示す変更識別値ｉｓＣｈａｎｇｅｄ＝ｆａｌｓｅに設定する。ステップＳ１１０２は、統合可能なインフォバブルＢ１、Ｂ２がＩＢＳｅｔの要素として存在するか否かを判断するステップである。Ｓ１１０２の判断で統合可能なインフォバブルＢ１、Ｂ２がない場合には（Ｎｏ）、処理をステップＳ１１０４に分岐させる。
【００６７】
一方、ステップＳ１１０２で統合可能なＢ１、Ｂ２が存在する場合（Ｙｅｓ）、ステップＳ１１０３で、統合可能なＢ１、Ｂ２の組を１つ選択し、集合和を計算し、その和集合をＢ１、Ｂ２の値を削除したＩＢＳｅｔと統合し、新しいＩＢＳｅｔを得る。その後、変更識別値ｉｓＣｈａｎｇｅｄ＝ｔｒｕｅに変更する。
【００６８】
ステップＳ１１０４では、追加可能なユーザｕとインフォバブルＢの組み合わせが存在するか否かを判断し、存在しない場合（Ｎｏ）、処理をステップＳ１１０６に分岐させ、変更識別値ｉｓＣｈａｎｇｅｄがｔｒｕｅであるか否かを判断し、ｉｓＣｈａｎｇｅｄ＝ｆａｌｓｅである場合（Ｎｏ）、処理をステップＳ１１０７で終了させる。一方、ステップＳ１１０６で変更識別値ｉｓＣｈａｎｇｅｄがｔｒｕｅである場合（Ｙｅｓ）、処理をステップＳ１１０１に分岐させ、統合可能なＢ１、Ｂ２がＩＢＳｅｔ内に存在しなくなるまで、処理を反復する。図１１の処理によって、時刻Ｔｉに対応するインフォバブルが生成される。
【００６９】
なお、以下の、ステップＳ１１０３の統合処理およびステップＳ１１０５の追加処理の処理プロセスを説明する。
【００７０】
[統合処理]
例えば、インフォバブルＢ１、Ｂ２が統合可能であるということは、ｕ∈Ｂ１、ｖ∈Ｂ２であり、ｕ∈Ｎ（ｖ） を満たすｕ、ｖが存在することと同値である。ここで、Ｎ（ｖ）とは、ユーザ・リンクを構成するユーザ集合の中からユーザｖと直接的に接続される、または隣接する、ユーザ集合のことである。統合処理は、インフォバブルB1(I，T，P1，AIS1)およびインフォバブルB2(I，T，P2，AIS2) に対し、merge(B1，B2)：=(I，T，P1∪P2，AIS)で指定されるインフォバブルを生成する処理に対応する。ここで、統合されたインフォバブルのＡＩＳについては重付き平均を使用して計算し、AIS：＝p1×AIS1+p2×AIS2，p1=|P1|/|P1∪P2|，p2=|P2|/|P1∪P2|で与えるものとする。
【００７１】
[追加処理]
ユーザｕは、インフォバブルＢに追加可能であるとは、インフォバブルＢのＡＩＳがExpandThreshold値以上であって、かつｕがどのインフォバブルの要素ではなく、かつ、merge(B，{u})のＡＩＳがShrinkThresholdよりも大きいことを要件として実行される。
【００７２】
図１２は、図１０のステップＳ１００２で説明したインフォバブル収縮処理の実施形態についてのフローチャートを示す。図１２の処理は、ステップＳ１２００から開始し、ステップＳ１２０１で未処理のインフォバブルがまだ残っているか否かを判断し、残っていない場合（Ｎｏ）、処理をステップＳ１２０５に分岐させ、ＩＢＳｅｔを更新し、処理をステップＳ１２０６で終了させる。
【００７３】
一方、ステップＳ１２０１で未処理のインフォバブルが残っていると判断された場合（Ｙｅｓ）、ステップＳ１２０２で、未処理のインフォバブルＢをＩＢＳｅｔから選択し、ステップＳ１２０３で、インフォバブルＢのＡＩＳが収縮しきい値ShrinkThreshold以上か否かを判断する。ステップＳ１２０３で、インフォバブルＢのＡＩＳが収縮しきい値ShrinkThreshold以上ではないと判断された場合（Ｎｏ）、ステップＳ１２０４でＢに対して、ユーザの削除および分離を実行し、新に生成されたインフォバブルに処理済みのマークを付けて、ＩＢＳｅｔに登録する。
【００７４】
一方、ステップＳ１２０３で、インフォバブルＢのＡＩＳが収縮しきい値ShrinkThereshold以上と判断された場合（ｙｅｓ）、処理をステップＳ１２０１に分岐させ、未処理のインフォバブルがなくなるまで、処理を反復させる。
【００７５】
以下、図１２のステップＳ１２０４の削除・分離処理についての処理プロセスを説明する。
【００７６】
[削除処理]
インフォバブルB(I，T，P，AIS)から、Ｐ∋ｕであって、ｆ（ｕ，Ｉ，Ｔ）が最も小さいｕを順に選択し、削除後のインフォバブルのAISの値がShrinkThreshold以上となるようにユーザｕを次々にインフォバブルＢから取り除く処理である。この処理は、削除された全ユーザのfが必ずShrinkThreshold以下で、かつ削除された後のインフォバブルＢのAISを必ずShrinkThreshold以上とする処理であり、細切れのインフォバブルの生成を最小化させるための処理である。
【００７７】
[分離処理]
削除を行ったインフォバブルB(I，T，P，AIS)が連結できない場合、インフォバブルＢの各統合・連結成分を新たにインフォバブルとして生成する処理である。Ｉ、Ｔ、その他のバブル情報は、元のインフォバブルＢから継承するが、Ｐと、ＡＩＳとを新しく計算して登録する。
【００７８】
図１３は、図１０〜図１２に説明したインフォバブルの膨張・収縮処理について、グラフ表現１３００を使用して説明する図である。図１３に示す膨張収縮処理では、インフォバブル１３１０は、インフォバブル１３１０をバブルＡ、バブルＢ、バブルＣを統合して生成される。統合前のバブルＡ、バブルＢ、バブルＣは、それぞれ破線で示したものであり、図１１の処理を使用して、統合が実行されている。また、インフォバブル１３２０は、ＡＩＳの値が膨張しきい値ExpansionThreshold以上の場合に、インフォバブル境界を拡張させ、インフォバブル１３２０を構成する要素ユーザをインフォバブル１３２０に追加登録することにより実行される。
【００７９】
また、インフォバブル１３３０は、ＡＩＳが収縮しきい値以下となって、インフォバブル１３３０が収縮される。この例では、ユーザ１３４０のスコア関数が同じインフォバブルに属するユーザの中で最小であるため、ユーザ１３４０がインフォバブル１３３０から削除されている。インフォバブルの収縮とユーザの削除を併用することにより、インフォバブル１３３０のＡＩＳがShrinkThreshold以上になるような、最適なサイズのインフォバブルが残ることになる。
【００８０】
図１４は、インフォバブルを初期化した段階で与えられるインフォバブル１４１０、１４２０、１４３０、１４４０を、グラフ表現で示したものである。図１４で示した初期化では、収縮しきい値：ShrinkThreshold＝０．５５、膨張しきい値：ExpandThreshold＝０．７５を使用した。図１４に示すように、インフォバブル生成部２２０は、定義されたユーザ・リンクに含まれるユーザに対して最小単位のインフォバブルを割当てている。図１４でインフォバブルが割当てられているユーザは、スコア値ｆ（ｕ，Ｉ，Ｔ０）が、設定以上の値を有するユーザであり、図１４に示した実施形態では、スコア値ｆ（ｕ，Ｉ，Ｔ０）が、０．５５以上のユーザについてインフォバブルを割り当てている。
【００８１】
なお、初期にインフォバブルを割当てるための値は、適宜設定することができる。図１４でインフォバブルが割当てられていないユーザは、当該特徴パラメータを含む情報Ｉについてアクセスしていない、または、充分にアクセスしていないためである。初期化された図１４の状態から、インフォバブル生成部２２０は、インフォバブルを可能か限り膨張させる処理を実行する。これが、図９のステップＳ９０５が実行する時刻Ｔ１での膨張処理に対応する。図ではユーザに対応するノード・節点には、ユーザを固有に識別するためのハンドルネームおよび当該ユーザのスコア値を併せて示す。
【００８２】
図１５は、図１４に示した初期膨張処理によって生成されたインフォバブルの実施形態を示す。図１５に示した実施形態では、インフォバブル１５１０は、ハンドルネーム＝Ｈａｒｒｙ（０．６１）のユーザのみを含んでおり、またインフォバブル１５２０には、ハンドルネーム＝Ｆｕｍｉｏ（０．５８）のユーザのみを含んでいる。そして、それぞれハンドルネーム＝Ｈａｒｒｙのインフォバブル１５１０は、ＩＢＳｅｔ集合において、識別値＝３として登録され、ハンドルネーム＝Ｆｕｍｉｏのインフォバブル１５２０は、識別値＝２として登録されている。
【００８３】
さらに、図１５を参照すると、ハンドルネーム＝Ｈａｒｒｙのスコア値がExpandThreshold＝０．７５より低いので、インフォバブル１５１０は、初期膨張処理では、変化しない。この状況は、ハンドルネーム＝Ｆｕｍｉｏ（０．５８）についても同様であるため、ハンドルネーム＝Ｆｕｍｉｏについてもインフォバブルは変化しない。
【００８４】
一方、ハンドルネーム＝Ｈｉｔｏｓｈｉ（０．７５）、ハンドルネーム＝Ａｋｉｋｏ（０．９８）については、それぞれのスコア値がExpandThreshold＝０．７５よりも大きい。初期設定時にはインフォバブル１４３０、１４４０がそれぞれ割当てられていたものである。初期膨張処理では、このインフォバブルが隣接するために、両方をまず統合する。統合後のインフォバブル１５３０の要素ユーザのスコア値の平均ＡＩＳが、膨張しきい値を超える限り、インフォバブルを統合するとともに、直隣接するユーザの中でスコア関数が一番高いユーザの追加の可能性を判断し、可能である場合、すなわち、追加後のＡＩＳの値が収縮しきい値以上である場合には、インフォバブルにユーザの追加を実行する。このため、図１４のインフォバブル１４３０、１４４０が統合され、さらに、ハンドルネーム＝Ａｋｉｋｏに隣接するハンドルネーム＝Ｉｓｓｅｉのユーザが統合されたインフォバブルに直隣接するユーザの中からスコア関数が最大であることと、ハンドルネーム＝Ｉｓｓｅｉのユーザを含めた場合でもＡＩＳ＝０．６８、つまり、ShrinkThresholdの０．５５以上であるので、統合後のインフォバブル１５３０には、ハンドルネーム＝Ｉｓｓｅｉが追加されている。
【００８５】
その後、インフォバブル１５３０のＡＩＳがExpandThreshold＝０．７５よりも小さい（０．６８）値をとることから、ユーザ・リンク上で隣接してハンドルネーム＝Ｈｉｄｅｏ（０．２８）のユーザとハンドルネーム＝Ｒｉｓａ（０．０５）のユーザが存在しても、インフォバブル１５３０には追加されず、初期膨張処理は、インフォバブル１７３０の要素ユーザとして、ユーザ＝Ｈｉｔｏｓｈｉ、Ａｋｉｋｏ、Ｉｓｓｅｉを登録し、各インフォバブルの識別値を割当て直して、統合後のインフォバブル１５３０を、ＩＢＳｅｔにおいて、識別値＝１として登録する。
【００８６】
図１６は、インフォバブルの時間的進化に対応するインフォバブル生成処理１６００の実施形態を示す。図１６に示すように、時刻Ｔｍで生成されたＩＢＳｅｔ１６１０には、インフォバブル１６２０およびインフォバブル１６３０が登録されている。図１６に示した実施形態では、ユーザ＝Ｈａｒｒｙが形成するインフォバブル１６２０は、識別値＝７で示される値が付され、インフォバブル１６３０には、識別値＝１．５が付されている。
【００８７】
識別値１．５は、インフォバブルの時間的進化を追跡することを可能とするため、初期膨張処理で与えられた識別値を、時刻Ｔｍごとに当該インフォバブルが存在している場合、統合された側のインフォバブルの識別値を昇順にピリオドで区切り、識別値＝Ｖ０．Ｖ１．Ｖ２．・・・．Ｖｍとして生成し、インフォバブルに割り当てて登録する。例えば、ＩＢＳｅｔ１６１０では、インフォバブル１６３０は、ユーザ＝Ｈｉｔｏｓｈｉがインフォバブルの識別値１から削除され、ユーザ＝Ｒｉｓａが追加されているものの、初期膨張時からインフォバブル１が存在し、図１６に示した実施形態での時刻Ｔｍでは、識別値Ｖｍ＝５に割当てられたインフォバブルと統合されることによって、新しくインフォバブルの識別値１．５ができたことを示している。
【００８８】
ここで、さらに時間が経過して、時刻Ｔｍ＋１について、インフォバブル生成部２２０がインフォバブルの生成処理を実行した結果がＩＢＳｅｔ１６５０で示されている。ＩＢＳｅｔ１６５０には、さらに複数のインフォバブルが登録されており、ＩＢＳｅｔ１６１０で生成されたインフォバブル７がさらに拡大してインフォバブル１６６０として生成され、その識別値＝７．１０が割り当てられている。なお、インフォバブル１６６０は、膨張処理前には、インフォバブル１０およびインフォバブル７として登録されていたものが統合処理によって、生成されたものである。
【００８９】
一方、ＩＢＳｅｔ１６５０には、さらに他のインフォバブル１６９０も登録される。インフォバブル１６９０は、初期のインフォバブルである識別値＝１から進化したものであり、その識別値＝１．５．１３であり、それ以前には、識別値＝１．５として参照されていたインフォバブル１６３０とインフォバブル１６９５（識別値＝１３）とが統合され生成されたものである。図１６に示した実施形態では、時刻Ｔｍから時刻Ｔｍ＋１の間に、ユーザ＝Ｈａｒｒｙを起源とするインフォバブルが拡大し、一方、ユーザ＝Ｆｕｍｉｏを起源とするインフォバブルが再度、ユーザ＝Ｈｉｔｏｓｈｉのインフォバブル１６９５を吸収して拡大して行くのが示されている。以上のように、時刻ごとにインフォバブルを生成することにより、初期に生成したインフォバブルの時間的進化を追跡することが可能となり、特定の特徴パラメータを含む情報のユーザ間での共有または関心の拡大または縮小を追跡することが可能となる。
【００９０】
したがって、例えばＳＮＳなどで特徴パラメータを有する情報についての情報伝播が、どのユーザを起源とするものであるかを追跡することが可能となる。また、特徴パラメータに関連する情報についての時間発展を追跡できることから、特定時刻の直後から、情報処理装置１２２に現にアクセスしているユーザに対するバナー広告などの表示制御や広告内容などの選択にフィードバックすることが可能となる。
【００９１】
＜インフォバブルを使用したネットワーク行動解析＞
以上説明したインフォバブル生成処理は、ユーザ・リンクを使用し、特徴パラメータに関心を有するユーザ集合を生成するものである。このことは、逆に、特徴パラメータに関心を有するユーザ集合を構成するユーザのユーザ属性と特徴パラメータとを対応付け、ユーザ属性ごとにクラスタリングすることを可能とする。クラスタリングのために、インフォバブル生成に使用しないユーザの属性（例えば年齢、職業、趣味など）を用いることができ、その類似度を見ることにより，ある情報に関するインフォバブルのユーザが、そのユーザ属性に関連する多様性、分布、性向があるかを分析することができる。
【００９２】
図１７は、本実施形態で、インフォバブルをクラスタリングする処理の実施形態を示す。時刻Ｔで生成されたユーザ・リンク１７１０内には、特徴パラメータに関連して複数のインフォバブル、例えばインフォバブル１７２０〜インフォバブル１７４０が生成されている。ユーザ・リンク１７１０を対象とし、インフォバブルを構成するユーザのユーザ属性の類似性を使用して、インフォバブルをクラスタ・リストなどとして登録することにより、インフォバブル１７２０〜１７４０をユーザ属性の類似性に基づいてクラスタリングすることができる。ユーザ属性の類似性を判定するためには、ユーザ属性について属性類似リストを提供し、属性類似リストの同一レコードに分類されるユーザ属性を類似として判断することが好ましい。下記表１に、属性類似リストの実施形態を示す。下記表１の属性類似リストのエントリ項目は、列の属性それぞれを使用して類似判断に利用することもできるし、複数列の属性を組み合わせて、より詳細な類似判断を行うことができる。
【００９３】
【表１】
0005159451.tif 000005
【００９４】
クラスタリング処理は、情報処理装置１２２のネットワーク行動分析部２４０の特定モジュールとして構成することができ、適切なＡＰＩ２３０を介して、インフォバブル・データを取得し、登録されたユーザのユーザ属性を上記表１にマッピングして、ユーザ・リンク１７５０に対してインフォバブル１７２０〜１７４０を含むクラスタ１７６０、１７７０、１７８０などを、ユーザ属性に対応付けて生成する。さらに、タイムウィンドウごとにクラスタリング処理を実行することで、クラスタの時間進化を分析することができる。以下、クラスタリング処理についてさらに詳細に説明する。
【００９５】
[クラスタ生成処理]
クラスタ生成処理は、種々の方法で行うことができ、例えばＫ−ｍｅａｎｓや
ａｇｇｌｏｍｅｒａｔｉｖｅ  ｃｌｕｓｔｅｒｉｎｇなど既存手法のうち、いかなるものでも用いることができる。クラスタ生成処理では、入力は、時刻Ｔにおけるインフォバブルの集合ＩＢＳｅｔの要素集合：IB(T)＝{IB1, IB2, …, IBm }および実装するクラスタリング・アルゴリズムに与えるパラメータ、例えばＫ−ｍｅａｎｓの場合には、クラスタの個数ｋである。また、出力は、例えばK-means
の場合は、IB(T)の分割IB(T)1，IB(T)2，…， IB(T)kであって、IB(T)i ∩IB(T)j＝φ(if i ≠ j)、∪i=1k
IB(T)i＝IB(T)の条件を満たすものである。また、ｉ，ｊに対して IB(T)iとIB(T)jの類似度を出力しても良い。
【００９６】
また、本実施形態では、クラスタ生成は、サンプリング周期ごとの時刻Ｔｍについて生成される。このため、時刻Ｔｍ（ｍ≧０の整数）ごとに生成されたクラスタの類似度を使用してネットワーク行動分析を行うことが可能となる。図１８は、生成されたクラスタの異なる時刻ＴｍおよびＴｍ＋１の間におけるクラスタの類似判断処理の概略図である。
【００９７】
図１８に示す実施形態に示すように、時刻Ｔｍに対応するユーザ・リンク１８１０内には、クラスタ１８３０、１８４０などが生成されている。その後時間が経過し、時刻Ｔｍ＋１に対応する時点では、ユーザ・リンク１８２０内には、クラスタ１８３０、１８５０などが生成されている。図１８に示した実施形態では、クラスタ１８３０は、そのまま生存しているものの、クラスタ１８４０は、他のクラスタを吸収してクラスタ１８５０として生成されている。ネットワーク行動解析部２４０は、上述した時刻Ｔｍ、Ｔｍ＋１において生成された各クラスタについてクラスタ間の対応付けを行う。
【００９８】
クラスタの類似度判断処理は、類似度１８６０を使用して計算することができる。図１８に示すように、類似度１８６０は、本実施形態では、クラスタＸおよびクラスタＹに帰属されるユーザの共通性を使用して計算することが好ましい。より具体的には、類似度１８６０は、クラスタＸに含まれるユーザと、クラスタＹに含まれるユーザの要素数を重複を排除して合計する。そしてクラスタＸおよびクラスタＹのユーザ集合の重複要素数を合計し、Ｓｍ＋１＝（重複要素数）／（クラスタＸとクラスタＹの重複を除いた要素数）として、類似度を計算する。図１８に示した実施形態では、クラスタＸと、クラスタＹとの間の類似度Ｓ＝０．４が与えられる。クラスタが時間進化により分裂した場合や統合された場合は、クラスタの対応付けは、各クラスタが含むインフォバブルの識別子をトレースし、クラスタ間の対応付けを行ない、類似度を計算することができる。なお、ここに示した以外の、クラスタ間に定義される任意の類似度を用いることもできる。
【００９９】
図１９は、クラスタの類似度計算の実施形態についてのフローチャートを示す。処理は、ステップＳ１９００から開始し、ステップＳ１９０１で、カウンタｉをｉ＝０に初期設定する。ステップＳ１９０２では、時刻Ｔｉのインフォバブルを生成し、ステップＳ１９０３で、ｉ＜Ｎであるか否かを判断し、ｉ＜Ｎでない場合（Ｎｏ）、次にクラスタ計算するべきインフォバブルがまだ生成されていないので、ステップＳ１９０７に分岐させて処理を終了させる。
【０１００】
ステップＳ１９０３で、ｉ＜Ｎであると判断された場合（Ｙｅｓ）、ステップＳ１９０４で、時刻Ｔｉ＋１のインフォバブルを生成する。その後、ステップＳ１９０５では、ＴｉとＴｉ＋１のクラスタについて類似度を計算し、適切な記憶領域に類似度を保存する。ステップＳ１９０６では、カウンタｉを、ｉ＝ｉ＋１としてインクリメントし、処理をステップＳ１９０３に戻し、ステップＳ１９０３の判断が否定的な値を返すまで、処理を反復させ、クラスタの時間進化に対応する類似度シーケンスを生成する。生成した類似度シーケンスは、インフォバブル・データ、クラスタ・データなどとともにネットワーク行動分析結果出力部２５０に送られて、以後の処理において利用される。
【０１０１】
図２０は、図１９に示したステップＳ１９０５の類似度計算処理の実施形態のフローチャートである。図２０の処理は、ステップＳ２０００から開始し、ステップＳ２００１で、時刻Ｔｉのクラスタがまだ残っているか否かを判断し、残されていない場合（Ｎｏ）には、ステップＳ２００８に処理を分岐させて処理を終了させる。
【０１０２】
一方、ステップＳ２００１で、未処理のクラスタが残っている場合（Ｙｅｓ）、ステップＳ２００２で未処理の時刻ＴｉのクラスタＸを選択しＳｃｏｒｅを０に初期化し、Ｙ（Ｘ）を空集合に初期化する。ステップＳ２００３で時刻Ｔｉ＋１のクラスタＸに対応付けられたクラスタが残っているか否かを判断し、残っている場合（Ｙｅｓ）、ステップＳ２００４で未処理の時刻Ｔｉ＋１のクラスタＹを選択し、類似度スコアＳ（Ｘ、Ｙ）を計算する。ステップＳ２００５では、Ｓｃｏｒｅ＜Ｓ（Ｘ、Ｙ）か否かを判断し、Ｓ（Ｘ、Ｙ）がＳｃｏｒｅを超える場合（Ｙｅｓ）、ステップＳ２００６で、Ｓｃｏｒｅ＝Ｓ（Ｘ、Ｙ）に設定し、Ｙ（Ｘ）＝Ｙとする。
【０１０３】
その後、処理をステップＳ２００３に戻し、クラスタＸに対応付けされるクラスタＹが存在しなくなるまで（ステップＳ２００３でＮｏ）、処理を反復させ、ステップＳ２００３の判断が否定的な結果を返す場合（Ｎｏ）、処理をステップＳ２００７に分岐させ、クラスタＸに対して最も高いＳｃｏｒｅの値を返すクラスタＹ（Ｘ）を最も類似度の高いクラスタとして出力する。その後、処理をステップＳ２００１に戻し、時刻ＴｉのクラスタＸの全部について類似度計算を終了させる。
【０１０４】
以上の処理を使用することにより、特徴パラメータを含む情報のユーザ・リンク内での情報伝播を追跡することが可能となるとともに、タイムウィンドウごとに生成されるインフォバブルのユーザ集合を解析することによって、特徴パラメータに関連したユーザのネットワーク行動を、特定のユーザについてのミクロな追跡ではなく、マクロな追跡を使用して解析することが可能となる。
【０１０５】
さらにインフォバブルのクラスタ化を可能とするので、インフォバブルを構成するユーザ集団の特性を分析することが可能となり、ネットワーク行動解析の結果表示、バナー広告制御、流行予測などのソリューション、または情報伝播分析などのために利用することが可能となる。
【０１０６】
本実施形態の上記機能は、Ｃ＋＋、Ｊａｖａ（登録商標）、Ｊａｖａ（登録商標）Ｂｅａｎｓ、Ｊａｖａ（登録商標）Ａｐｐｌｅｔ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ、Ｐｅｒｌ、Ｒｕｂｙなどのオブジェクト指向プログラミング言語などで記述された装置実行可能なプログラムにより実現でき、当該プログラムは、ハードディスク装置、ＣＤ−ＲＯＭ、ＭＯ、フレキシブルディスク、ＥＥＰＲＯＭ、ＥＰＲＯＭなどの装置可読な記録媒体に格納して頒布することができ、また他装置が可能な形式でネットワークを介して伝送することができる。
【０１０７】
これまで本実施形態につき説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【０１０８】
【図１】本実施形態の分析システム１００の実施形態を示した図。
【図２】図１に示した情報処理装置１２２の機能ブロックを示した図。
【図３】本実施形態のインフォバブル３００の例示的な実施形態を示した図。
【図４】行動間トリックのデータ構成およびその生成処理を示した概略図。
【図５】本実施形態のインフォバブルの時間進化を説明する説明図。
【図６】ユーザ関わり度ｇを使用して生成されるスコア関数ｆ（ｕ，Ｉ，Ｔ）の実施形態および、インフォバブルの膨張・収縮判断について説明した図。
【図７】本実施形態で生成されるインフォバブル・データ７００のデータ構造を示した図。
【図８】インフォバブル生成処理の実施形態のフローチャート。
【図９】図８のステップＳ８０２のインフォバブル初期化処理の実施形態についてのフローチャート。
【図１０】タイムウィンドウＴｉ（ｉ＞０）におけるインフォバブル生成処理の実施形態のフローチャート。
【図１１】タイムウィンドウＴｉでのインフォバブル膨張処理の実施形態についてのフローチャート。
【図１２】図１０のステップＳ１００２で説明したインフォバブル収縮処理の実施形態についてのフローチャート。
【図１３】図１０〜図１２に説明したインフォバブルの膨張・収縮処理について、グラフ表現１３００を使用して説明する図
【図１４】インフォバブルを初期化した段階で与えられるインフォバブル１４１０、１４２０、１４３０、１４４０のグラフ表現。
【図１５】図１４に示した初期膨張処理によって生成されたインフォバブルの実施形態を示した図。
【図１６】インフォバブルの時間的進化に対応するインフォバブル生成処理１６００の実施形態を示した図。
【図１７】本実施形態で、インフォバブルをクラスタリングする処理の実施形態を示した図。
【図１８】生成されたクラスタの異なるタイムウィンドウＴｍおよびＴｍ＋１の間におけるクラスタの類似判断処理の概略図
【図１９】クラスタの類似度計算の実施形態についてのフローチャート。
【図２０】図１９に示したステップＳ１９０５の類似度計算処理の実施形態のフローチャート。
【符号の説明】
【０１０９】
１００…分析システム、１１２、１１４…ユーザ・コンピュータ、１１６…ネットワーク、１２０…サーバ機能部、１２２…情報処理装置、１２４…ネットワーク・データ記憶部、１２６…テキスト・データ記憶部、１２８…行動履歴記憶部、１３０…ユーザ情報記憶部、２００…機能ブロック（情報処理装置）、２１０…パラメータ制御部、２２０…インフォバブル生成部、２３０…ＡＰＩ、２４０…ネットワーク行動分析部、２５０…ネットワーク行動分析結果出力部、２６０…インフォバブル記憶部、２７０…アプリケーション提供部、２８０…ネットワーク・アダプタ
【図１】
0005159451.tif 000006
【図２】
0005159451.tif 000007
【図３】
0005159451.tif 000008
【図４】
0005159451.tif 000009
【図５】
0005159451.tif 000010
【図６】
0005159451.tif 000011
【図７】
0005159451.tif 000012
【図８】
0005159451.tif 000013
【図９】
0005159451.tif 000014
【図１０】
0005159451.tif 000015
【図１１】
0005159451.tif 000016
【図１２】
0005159451.tif 000017
【図１３】
0005159451.tif 000018
【図１４】
0005159451.tif 000019
【図１５】
0005159451.tif 000020
【図１６】
0005159451.tif 000021
【図１７】
0005159451.tif 000022
【図１８】
0005159451.tif 000023
【図１９】
0005159451.tif 000024
【図２０】
0005159451.tif 000025