(57)【要約】【課題】全てのユーザのそれぞれが過去にコミュニケーションを交わしたことがあるかないかに関わらず、将来コミュニケーションをとる可能性の高い２ユーザを発見し、発見された上記２ユーザに、互いを発見させコミュニケーションを促進することができるコミュニケーション活性化装置を提供することを目的とする。【解決手段】３ユーザのコミュニケーションの構造（３ノード間の有向枝の出現パターン）の時間的変化を分析し、どの構造においてコミュニケーションが成立しやすいかを分析し、この分析結果に基づいて、コミュニケーションを取る可能性の高い２ユーザを発見する。【選択図】図８
2010176263.tif 000002
【特許請求の範囲】
【請求項１】
３−部分グラフ情報テーブルに記載されているカテゴリの３−部分グラフ情報から、上記カテゴリの構造別推薦スコア計算のための時刻として、４点時刻（ｔｃ，０，…，ｔｃ，３）を取得する４点時刻取得手段と；
３−部分グラフ情報テーブルに記載されている上記カテゴリの３−部分グラフ情報のうちで、時刻ｔｃ，１における３−部分グラフ情報Ｇｃ，１を取得する３−部分グラフ情報Ｇｃ，１取得手段と；
コミュニケーション情報抽出部から受け渡されたコミュニケーション情報に記載されている上記カテゴリの投稿のうちで、コミュニケーション時刻フィールドが、ｔｃ，１以上であり、ｔｃ，２未満である投稿Ｐｃ（ｔｃ，１，ｔｃ，２）を取得する投稿Ｐｃ（ｔｃ，１，ｔｃ，２）取得手段と；
３−部分グラフ情報テーブルに記載されている上記カテゴリの３−部分グラフ情報のうちで、時刻がｔｃ，１である３−部分グラフ情報Ｇｃ，１と、コミュニケーション情報に記載されている上記カテゴリの投稿のうちで、コミュニケーション時刻フィールドがｔｃ，１以上、ｔｃ，２未満の投稿Ｐｃ（ｔｃ，１，ｔｃ，２）とを用い、構造別回答数テーブルを構築する構造別回答数テーブル構築手段と；
を有することを特徴とするコミュニケーション活性化装置。
【請求項２】
請求項１において、
ユーザ構造決定ルールを参照し、上記構造別推薦スコアテーブル構築部から受け渡された構造フィールドの値から、対応する３−部分グラフパターンｐａｔｔｅｒｎｓ１を取得する３−部分グラフパターンｐａｔｔｅｒｎｓ１取得手段と；
上記構造別推薦スコア算出部が受け渡されたＧｃ，１のうちで、３−部分グラフパターンフィールドの値が、ｐａｔｔｅｒｎｓ１である行の数｜ｐａｔｔｅｒｎｓ１｜を取得する行の数｜ｐａｔｔｅｒｎｓ１｜取得手段と；
上記構造別推薦スコア算出部から受け渡された３−部分グラフ情報Ｇｃ，１、Ｐｃ（ｔｃ，１，ｔｃ，２）を用い、構造フィールドの値に対応する回答数の期待値＜ｎｓ１，ｓ２ｃ，２＞と、標準偏差σｓ１，ｓ２ｃ，２とを算出する構造別回答数期待値及び標準偏差算出部と；
上記構造別推薦スコア算出部が受け渡された上記期待値＜ｎｓ１，ｓ２ｃ，２＞と、上記標準偏差σｓ１，ｓ２ｃ，２とに応じて、構造フィールドの値（ｓ１，ｓ２）に対応する推薦スコアを算出する構造別推薦スコア算出部と；
を有することを特徴とするコミュニケーション活性化装置。
【請求項３】
請求項１または請求項２において、
生成した構造内でのユーザ位置関係毎の投稿の発生しやすさを表したスコアと、コミュニケーション情報と、未処理のユーザＩＤと、カテゴリとが与えられると、推薦メッセージを選択することを特徴とするコミュニケーション活性化装置。
【請求項４】
請求項３において、
構造別推薦スコアテーブル更新処理手段を有することを特徴とするコミュニケーション活性化装置。
【請求項５】
請求項３または請求項４において、
推薦スコアを予め定めた閾値で閾値処理する閾値処理手段と；
閾値以上のスコアを持つユーザが投稿した投稿を、返信すべき投稿であるとして推薦する推薦手段と；
を有することを特徴とするコミュニケーション活性化装置。
【請求項６】
３−部分グラフ情報テーブルに記載されているカテゴリの３−部分グラフ情報から、上記カテゴリの構造別推薦スコア計算のための時刻として、４点時刻（ｔｃ，０，…，ｔｃ，３）を取得し、記憶装置に記憶する４点時刻取得工程と；
３−部分グラフ情報テーブルに記載されている上記カテゴリの３−部分グラフ情報のうちで、時刻ｔｃ，１における３−部分グラフ情報Ｇｃ，１を取得し、記憶装置に記憶する３−部分グラフ情報Ｇｃ，１取得工程と；
コミュニケーション情報抽出部から受け渡されたコミュニケーション情報に記載されている上記カテゴリの投稿のうちで、コミュニケーション時刻フィールドが、ｔｃ，１以上であり、ｔｃ，２未満である投稿Ｐｃ（ｔｃ，１，ｔｃ，２）を取得し、記憶装置に記憶する投稿Ｐｃ（ｔｃ，１，ｔｃ，２）取得工程と；
３−部分グラフ情報テーブルに記載されている上記カテゴリの３−部分グラフ情報のうちで、時刻がｔｃ，１である３−部分グラフ情報Ｇｃ，１と、コミュニケーション情報に記載されている上記カテゴリの投稿のうちで、コミュニケーション時刻フィールドがｔｃ，１以上、ｔｃ，２未満の投稿Ｐｃ（ｔｃ，１，ｔｃ，２）とを用い、構造別回答数テーブルを構築し、記憶装置に記憶する構造別回答数テーブル構築工程と；
ユーザ構造決定ルールを参照し、上記構造別推薦スコアテーブル構築部から受け渡された構造フィールドの値から、対応する３−部分グラフパターンｐａｔｔｅｒｎｓ１を取得し、記憶装置に記憶する３−部分グラフパターンｐａｔｔｅｒｎｓ１取得工程と；
上記構造別推薦スコア算出部が受け渡されたＧｃ，１のうちで、３−部分グラフパターンフィールドの値が、ｐａｔｔｅｒｎｓ１である行の数｜ｐａｔｔｅｒｎｓ１｜を取得し、記憶装置に記憶する行の数｜ｐａｔｔｅｒｎｓ１｜取得工程と；
上記構造別推薦スコア算出部から受け渡された３−部分グラフ情報Ｇｃ，１、Ｐｃ（ｔｃ，１，ｔｃ，２）を用い、構造フィールドの値に対応する回答数の期待値＜ｎｓ１，ｓ２ｃ，２＞と、標準偏差σｓ１，ｓ２ｃ，２とを算出し、記憶装置に記憶する構造別回答数期待値及び標準偏差算出部と；
上記構造別推薦スコア算出部が受け渡された上記＜ｎｓ１，ｓ２ｃ，２＞と、上記標準偏差σｓ１，ｓ２ｃ，２とに応じて、構造フィールドの値（ｓ１，ｓ２）に対応する推薦スコアを算出し、記憶装置に記憶する構造別推薦スコア算出工程と；
を有することを特徴とするコミュニケーション活性化方法。
【請求項７】
請求項６において、
生成した構造内でのユーザ位置関係毎の投稿の発生しやすさを表したスコアと、コミュニケーション情報と、未処理のユーザＩＤと、カテゴリとが与えられると、推薦メッセージを選択することを特徴とするコミュニケーション活性化方法。
【請求項８】
請求項７において、
構造別推薦スコアテーブル更新処理工程を有することを特徴とするコミュニケーション活性化方法。
【請求項９】
請求項６または請求項８において、
推薦スコアを予め定めた閾値で閾値処理する閾値処理工程と；
閾値以上のスコアを持つユーザが投稿した投稿を、返信すべき投稿であるとして推薦する推薦工程と；
を有することを特徴とするコミュニケーション活性化方法。
【請求項１０】
請求項１〜請求項５のいずれか１項記載の装置を構成する各手段としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上で提供されるコミュニケーションに関する。より詳細には、ネットワーク上で提供されるユーザ間のコミュニケーションにおいて、ユーザの集合であるコミュニティ内のコミュニケーション活性化手法およびその装置に関する。
【背景技術】
【０００２】
近年、インターネットの発展に伴い、ネットワークを介したコミュニケーションが普及している。中でも、メーリングリストや掲示板、チャット、ブログ、ＱＡサイト、ソーシャルネットワーキングサービス等において、ユーザ間の面識の有無に関わらず、コミュニティを形成し、活発なコミュニケーションおよび情報交換が行われている。
【０００３】
このようなネットワーク上のコミュニティにおいて、様々な企業や商品やサービスを宣伝し、さらに消費者の生の声を収集する場合に利活用している。ユーザは、自身の趣味や興味に関して、情報交換や情報収集をし、また新たな人との出会いの場として活用している。
【０００４】
このようなコミュニティを活性化する手法は、これまでいくつも提案されている。新旧を問わず、様々なユーザとコミュニケーションをとっている重要ユーザを発見し、その所属するコミュニティを、活性コミュニティとしてユーザに提示する装置が知られている（たとえば、特許文献１参照）。重要ユーザの存在が、ユーザにおける見ず知らずの相手とのコミュニケーションに感じる不安を軽減し、コミュニケーションしやすい環境を作るという仮説に基づいた手法である。
【０００５】
ハブ・オーソリティというＷＷＷ空間特有の構造に着目し、将来的にコミュニケーションを取りやすいユーザの集合に着目し、そのユーザに対して、別のユーザにコミュニケーションをとらせることが知られている（たとえば、特許文献２参照）。
【０００６】
また、頻繁にコミュニケーションを取り合っている２ユーザを検出し、互いをコミュニケーション相手として提示する手法も考えられる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−２３５１１８号公報
【特許文献２】特開２００４−１１８３６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来のオンラインコミュニティ活性化手法は、コミュニティそのものの性質か、またはコミュニティに属する１人のユーザの性質しか着目していない。しかし、コミュニケーションは、本来２人のユーザで行われるものである。
【０００９】
たとえば、特許文献１記載の手法では、コミュニティの性質から、ユーザにとってどのコミュニティが参加し易いかは分かるが、ユーザの性質に着目していないので、そのコミュニティのどのメンバとコミュニケーションがとり易いかは分からない。したがって、コミュニティを充分に活性化することができないという問題がある。
【００１０】
特許文献２記載の手法では、ユーザ毎に、コミュニケーションの取りやすさのようなスコアを付与する。このスコアの高いユーザばかりを、コミュニケーション相手として推薦すると、コミュニケーションの成立が、スコアの高い特定ユーザのみに偏り、オンラインコミュニティの活性化を図ることが困難であるという問題がある。また、この手法は、ＷＷＷ空間特有の構造を仮定しているが、全てのオンラインコミュニティが同様の構造をしているとは限らない。したがって、この手法でも、コミュニティを充分に活性化することができないという問題がある。
【００１１】
かつて頻繁にコミュニケーションを取り合った２ユーザ同士のコミュニケーションを促進する手法では、一度もコミュニケーションをとったことのないユーザ間のコミュニケーションを成立させることができないという問題がある。
【００１２】
本発明は、全てのユーザのそれぞれが過去にコミュニケーションを交わしたことがあるかないかに関わらず、将来コミュニケーションをとる可能性の高い２ユーザを発見し、発見された上記２ユーザに、互いを発見させコミュニケーションを促進することができるコミュニケーション活性化装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、３ユーザのコミュニケーションの構造（３ノード間の有向枝の出現パターン）の時間的変化を分析し、どの構造においてコミュニケーションが成立しやすいかを分析し、この分析結果に基づいて、コミュニケーションを取る可能性の高い２ユーザを発見する。
【発明の効果】
【００１４】
本発明によれば、全てのユーザのそれぞれが過去にコミュニケーションを交わしたことが無くても、将来コミュニケーションをとる可能性の高い２ユーザを発見し、発見された上記２ユーザに、互いを発見させコミュニケーションを促進することができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】オンラインコミュニティのコミュニケーション情報を記録するコミュニケーション情報テーブルＴ１の例を示す図である。
【図２】図１に示すコミュニケーション情報テーブルＴ１の例において、各カテゴリにおける時刻２００８年６月２１日０時３７分のコミュニケーションをグラフにモデル化した例を示す図である。
【図３】図１に示すコミュニケーション情報テーブルＴ１の例において、時刻２００８年６月２１日１時９分のコミュニケーションをグラフにモデル化した例を示す図である。
【図４】３ノードによって構成されている連結グラフの全パターンを示す図である。
【図５】３−部分グラフにおけるユーザのポジションを示す図である。
【図６】３ノード間の有向枝の出現パターンを示す図である。
【図７】３−部分グラフ構造に基づく投稿推薦の概要を示す図である。
【図８】本発明の実施例１であるコミュニケーション活性化装置１００のシステム概略を示す図である。
【図９】コミュニケーション活性化装置１００の全体の処理を示すフローチャートである。
【図１０】３−部分グラフ情報テーブル構築部２０が、図１４に示す３−部分グラフ情報テーブルＴ２を構築する動作を示すフローチャートである。
【図１１】３−部分グラフ情報テーブル更新部２１が行う３−部分グラフ情報テーブルＴ２の更新処理を示すフローチャートである。
【図１２】３−部分グラフマッチング部２１１における３ユーザの３−部分グラフマッチング処理を示すフローチャートである。
【図１３】３−部分グラフマッチング処理のために、１３種類の各パターンにおけるコミュニケーション行列Ｍｋ（ｋ＝１，…，１３）を示す図である。
【図１４】図１４に示す３−部分グラフ情報テーブルＴ２の例を示す図である。
【図１５】構造別推薦スコアテーブル構築部３０が構造別推薦スコアテーブルＴ４を構築する動作を示すフローチャートである。
【図１６】構造別回答数テーブルＴ３の例を示す図である。
【図１７】構造別回答数テーブル構築部３１が構造別回答数テーブルＴ３を構築する動作を示すフローチャートである。
【図１８】構造別回答数テーブル更新部３１１が構造別回答数テーブルＴ３を更新する動作を示すフローチャートである。
【図１９】コーザ構造決定ルールＲ１をまとめた図である。
【図２０】構造別推薦スコア算出部３２が構造別推薦スコアを算出する動作を示すフローチャートである。
【図２１】構造別回答数期待値及び標準偏差算出部３２１において、上記推薦スコア算出に必要な構造別回答数期待値と標準偏差とを算出する動作を示すフローチャートである。
【図２２】構造別推薦スコアテーブルＴ４の例を示す図である。
【図２３】新規メッセージ推薦部４０が新規メッセージを推薦する（返信メッセージ発信者側が新規メッセージ発信者のメッセージを推薦する）動作を示すフローチャートである。
【図２４】ユーザ別推薦スコア算出部４１がユーザ別推薦スコアを算出する動作を示すフローチャートである。
【図２５】実施例２の概要を示す図である。
【図２６】実施例２において、３−部分グラフ情報テーブル構築部２０が、３−部分グラフ情報テーブルを構築する動作を示すフローチャートである。
【図２７】実施例２において、構造別推薦スコアテーブル構築部３０が、図２２に示す構造別推薦スコアテーブルＴ４を構築する動作を示すフローチャートである。
【図２８】実施例２において、新規メッセージ推薦部４０が新規メッセージ推薦処理する動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
発明を実施するための形態は、以下の実施例である。
【実施例１】
【００１７】
図８は、本発明の実施例１であるコミュニケーション活性化装置１００のシステム概略を示す図である。
【００１８】
図１は、オンラインコミュニティのコミュニケーション情報を記録するコミュニケーション情報テーブルＴ１の例を示す図である。
【００１９】
図１に示すコミュニケーション情報テーブルＴ１には、カテゴリＩＤフィールドと、スレッドＩＤフィールドと、メッセージＩＤフィールドと、ユーザＩＤフィールドと、メッセージ時刻フィールドと、タイトルフィールドと、本文フィールドと、メッセージ種別フィールドとが含まれている。
【００２０】
上記「カテゴリＩＤフィールド」は、コミュニケーションのカテゴリを特定する識別子であり、ユーザのコミュニケーションが対象とするカテゴリに基づいて設定されている。なお、上記「カテゴリ」は、コミュニケーション活性化装置１００において、ユーザまたはサービスを提供している主催者によって、設定されるコミュニケーション内容を分けた分類である。このカテゴリによって、ユーザは、コミュニケーションのための興味の対象を絞り込むことができる。
【００２１】
上記「カテゴリＩＤ」は、新たなカテゴリが設定された時刻に、コミュニケーション活性化装置１００が設定する。
【００２２】
上記「スレッドＩＤフィールド」は、コミュニケーションのスレッドを特定する識別子であり、ユーザのコミュニケーションが、対象とするスレッドに基づいて設定される。上記「スレッド」は、１つの新規メッセージとそれに対する１以上の返信メッセージとの集合である。したがって、１つのスレッド内では、元のメッセージに起因する話題が、コミュニケーションの対象である場合が多く、ユーザは、カテゴリよりも、より詳細なコミュニケーションの興味の対象として、スレッドを選択する。
【００２３】
上記「スレッドＩＤ」は、新規のメッセージが設定された時刻に、コミュニケーション活性化装置１００が設定する。
【００２４】
上記「メッセージＩＤフィールド」は、個々のメッセージ（新規または返信）を特定する識別子であり、各メッセージに対して、コミュニケーション活性化装置１００が一意に設定する。
【００２５】
上記「ユーザＩＤフィールド」は、コミュニケーション活性化装置１００がメッセージを発信したユーザを特定する識別子を格納する領域である。
【００２６】
上記「メッセージ時刻フィールド」は、コミュニケーション活性化装置１００がメッセージを発信した時間を記録し、設定する領域である。
【００２７】
当該メッセージから、メッセージのタイトルをコミュニケーション活性化装置１００が抽出し、タイトルフィールドに格納する。
【００２８】
当該メッセージから、メッセージの本文が、コミュニケーション活性化装置１００によって抽出され、本文フィールドに格納される。
【００２９】
発信されたメッセージが新規の発信であるか（図１における「新規」）、他のメッセージに対する返信であるか（図１における「返信」）を、コミュニケーション活性化装置１００が判定し、メッセージ種別フィールドに設定する。
【００３０】
今、コミュニケーションの方向性を考慮しながら、オンラインコミュニティのコミュニケーション情報を、グラフにモデル化する。ユーザｕ１が新規に発信したメッセージに対して、ユーザｕ２が返信した場合、ユーザｕ２は、ユーザｕ１に話しかけたと判断する。なお、上記「グラフ」は、離散数学における一般的なグラフであり、ノードとエッジとの集合で表される。
【００３１】
図２は、図１に示すコミュニケーション情報テーブルＴ１の例において、各カテゴリにおける時刻２００８年６月２１日０時３７分のコミュニケーションをグラフにモデル化した例を示す図である。
【００３２】
上記の場合、ユーザｕ１、ｕ２をノードとみなし、図２に示すように、ユーザｕ２からユーザｕ１への有向枝で、上記コミュニケーションの成立を表す。
【００３３】
この要領で、参加しているユーザを、ノードとし、カテゴリ毎に、返信メッセージをエッジとする有向グラフで表す。また、コミュニケーション時刻フィールド（図１に示すメッセージ時刻フィールド）のデータを参照することによって、過去のある時刻ｔ０におけるグラフを、再現することができる。
【００３４】
図３は、図１に示すコミュニケーション情報テーブルＴ１の例において、時刻２００８年６月２１日１時９分のコミュニケーションをグラフにモデル化した例を示す図である。
【００３５】
このように、コミュニケーション情報をグラフにモデル化したときに、そのグラフは、時間とともに成長する（ノード、エッジが増える）。
【００３６】
さらに、上記グラフにおける任意の３ノード（すなわち、異なる３ユーザ）を選択し、これら３ノードからなる部分グラフがどのような構造をしているかを考える。なお、上記「部分グラフ」は、元のグラフのノードとエッジとの部分集合で構成される。
【００３７】
図４は、３ノードによって構成されている連結グラフの全パターンを示す図である。
【００３８】
なお、上記「連結グラフ」は、グラフの任意の２点間に道が存在するグラフである（１−３⇒１−２−３、２−３⇒２−３、１−２⇒１−２）。
【００３９】
３ノードからなる連結グラフは、任意のノードを入れ換えたものを同一と考えると、図４に示す１３通りのパターンしか存在しない。それぞれのパターンについて、図４に示すように、１〜１３の数字を付与する。
【００４０】
今、３−部分グラフに含まれているユーザのそれぞれが、どこに位置するかを考慮する。なお、上記「３−部分グラフ」は、ノードの数が３つの部分グラフである。
【００４１】
図５は、３−部分グラフにおけるユーザのポジションを示す図である。
【００４２】
図５に示すように、３−部分グラフにおける上のノードをポジション１、左下のノードをポジション２、右下のノードをポジション３と呼ぶ。
【００４３】
図６は、３ノード間の有向枝の出現パターンを示す図である。
【００４４】
１３通りの３−部分グラフパターンとポジションとに基づくノードの種類は、図６に示す１〜３０（丸印の中に記載されている数字）の３０通りである。
【００４５】
ポジションに応じて決定されるノードの種類を、「構造」と呼ぶ。
【００４６】
ここで、３−部分グラフ内において、入ってくるエッジの数と、出るエッジの数とが等しいノードは、同一の「構造」のノードであるとみなす。
【００４７】
本発明の目的は、全てのユーザのそれぞれが過去にコミュニケーションを交わしたことがなくても、将来コミュニケーションを行う可能性の高い２者を発見することであり、このために、ノード間にどの程度、新たな返信が発生し易いかを、２ノードについてスコアリングし、新たなエッジがつき易い（返信が発生し易い）２ノードを抽出する。
【００４８】
図７は、３−部分グラフ構造に基づく返信推薦の概要を示す図である。
【００４９】
なお、３−部分グラフ構造は、１３通りのパターンであり、３−部分グラフは、個々の３−部分グラフである。
【００５０】
時刻ｔ０は、オンラインコミュニティを開始し、コミュニケーション情報が蓄積され始めた時刻である。まず、時刻ｔ０から、ある過去の時刻ｔ１までのコミュニケーション情報を使って、３−部分グラフと、それらがどのユーザによって構成されているかに関する情報とを使って、３−部分グラフと、それらがどのユーザによって構成されているかに関する情報とを取得する。
【００５１】
次に、時刻ｔ１と、それよりも少し未来の時刻ｔ２との間に行われた返信メッセージを使って、それらがどの構造（ポジションにより決定されるノードの種類）間で成立したものであるかを、カウントする。たとえば、構造１０（たとえば図６に示すノードの中に記載されている数字１０）から、構造１０への返信メッセージが６件あったとする。
【００５２】
次に、同区間（ｔ１〜ｔ２）で、構造１０から構造１０へ返信メッセージが発生する期待値を求める。つまり、構造Ａから構造Ｂへの返信メッセージの件数（絶対値）を比較しても、真に構造Ａから構造Ｂに返信が発生しやすいかどうかを評価できない。したがって、構造Ａから構造Ｂへの返信メッセージの相対的な件数（相対値）を求めるために、期待値が必要である。
【００５３】
この期待値と、観測値である上記６件という数値とを比較することによって、構造１０から構造１０への構造別推薦スコアを求める。上記「推薦スコア」は、当該２構造間の返信メッセージの発生し易さを示す数値である。当該２構造間に発生した返信の数の偏差値を求め、この偏差値が、当該２構造間の返信メッセージの発生し易さであると考える。
【００５４】
次に、時刻ｔ０から時刻ｔ２までのコミュニケーション情報を使って、３−部分グラフと、それらがどのユーザによって構成されているかに関する情報を取得する。このときに得られる３−部分グラフは、ｔ１までの３−部分グラフに含まれている３ユーザが、同じパターンをなしているとは、限らない。上記処理で、構造１０から構造１０へは、比較的返信メッセージが着き易いということがわかっていれば、時刻ｔ２において、構造１０、構造１０をなしている２ユーザ間は、返信メッセージが着きやすいとし、それらユーザに互いの新規メッセージを推薦する。つまり、上記２ユーザ間で発信すれば、返信される確率が高いので、発信する意義があり、このために、新規メッセージを推薦する。
【００５５】
本発明の実施例１であるコミュニケーション活性化装置１００は、コミュニティ内のコミュニケーション活性化装置の例である。
【００５６】
コミュニケーション活性化装置１００は、図８に示すように、コミュニケーション情報抽出部１０と、３−部分グラフ情報テーブル構築部２０と、構造別推薦スコアテーブル構築部３０と、新規メッセージ推薦部４０と、通信部５０と、入出力部６０と、記録部７０とを有する。コミュニケーション活性化装置１００には、ネットワークＮＷ１を経由した外部端末８０と、外部装置９０とが接続される。
【００５７】
コミュニケーション情報抽出部１０は、図１に示すコミュニケーション情報テーブルＴ１に記載されている情報を、記録部７０から抽出し、この抽出した情報を、３−部分グラフ情報テーブル構築部２０と、構造別推薦スコアテーブル構築部３０と、新規メッセージ推薦部４０とに受け渡す。
【００５８】
３−部分グラフ情報テーブル構築部２０は、コミュニケーション情報抽出部１０から受け渡されたコミュニケーション情報に記載されている情報に基づいて、図１４に示す３−部分グラフ情報テーブルＴ２を、記録部７０に構築し、構造別推薦スコアテーブル構築部３０と、新規メッセージ推薦部４０とに、３−部分グラフ情報テーブルＴ２を受け渡す。
【００５９】
構造別推薦スコアテーブル構築部３０は、３−部分グラフ情報テーブル構築部２０から受け渡された３−部分グラフ情報テーブルＴ２（図１４参照）に記載されている情報を用いて、図２２に示す構造別推薦スコアテーブルＴ４を記録部７０に構築する。
【００６０】
新規メッセージ推薦部４０は、コミュニケーション情報抽出部１０から受け渡されたコミュニケーション情報に記載されている情報と、図１４に示す３−部分グラフ情報テーブルＴ２に記載されている情報と、図２２に示す構造別推薦スコアテーブルＴ４に記載されている情報とを用い、ユーザに推薦すべき新規メッセージを決定する。
【００６１】
記録部７０は、図１に示すコミュニケーション情報テーブルＴ１と、図１４に示す３−部分グラフ情報テーブルＴ２と、図１６に示す構造別回答数テーブルＴ３と、図２２に示す構造別推薦スコアテーブルＴ４とを記録している。
【００６２】
３−部分グラフ情報テーブル構築部２０は、３−部分グラフ情報テーブル更新部２１を有する。
【００６３】
３−部分グラフ情報テーブル更新部２１は、３−部分グラフ情報テーブル構築部２０から受け渡されたコミュニケーション時刻フィールドが、ｔｃ，０以上ｔｃ，１以下である投稿Ｐｃ（ｔｃ，０，ｔｃ，１）に基づいて、記録部７０における３−部分グラフ情報テーブルＴ２（図１４参照）を更新する。
【００６４】
３−部分グラフ情報テーブル更新部２１は、３−部分グラフマッチング部２１１を有する。
【００６５】
３−部分グラフマッチング部２１１は、３−部分グラフ情報テーブル更新部２１から受け渡されたコミュニケーション時刻フィールドが、ｔｃ，０以上ｔｃ，１以下である投稿Ｐｃ（ｔｃ，０，ｔｃ，１）と、ユーザＩＤフィールドとの組み合わせ（ｕ１，ｕ２，ｕ３）（３ユーザＩＤの組み合わせ。重複を許さない）に基づいて、ユーザＩＤの組み合わせ（ｕ１，ｕ２，ｕ３）に対応する３−部分グラフのパターンが、図４に示す１３種類のパターンのうちのどのパターンであるかを示す投稿Ｐａｔｔｅｒｎｕ１，ｕ２，ｕ３と、ユーザｕ１，ｕ２，ｕ３のうちで、３−部分グラフのポジション１、ポジション２、ポジション３に当て嵌まるユーザＩＤＰ１，Ｐ２，Ｐ３とを取得する。
【００６６】
構造別推薦スコアテーブル構築部３０は、図２２に示す構造別推薦スコアテーブルＴ４を有する。
【００６７】
構造別回答数テーブル構築部３１は、構造別推薦スコアテーブル構築部３０から受け渡された３−部分グラフ情報テーブルＴ２（図１４参照）に記載されているカテゴリｃの３−部分グラフ情報のうちで、時刻がｔｃ，１である投稿Ｇｃ，１と、コミュニケーション情報に記載されているカテゴリｃの投稿のうちで、コミュニケーション時刻フィールドがｔｃ，１以上、ｔｃ，２未満の投稿Ｐｃ（ｔｃ，１，ｔｃ，２）とを用い、図１６に示す構造別回答数テーブルＴ３を、記録部７０に構築する。
【００６８】
構造別回答数テーブル構築部３１は、構造別回答数テーブル更新部３１１を有する。
【００６９】
構造別回答数テーブル更新部３１１は、構造別回答数テーブル構築部３１から受け渡されたユーザｕ１、ｕ２、３−部分グラフ情報集合Ｇｕ１，ｕ２に基づいて、図１６に示す構造別回答数テーブルＴ３を更新する。
【００７０】
新規メッセージ推薦部４０は、ユーザ別推薦スコア算出部４１を有する。
【００７１】
ユーザ別推薦スコア算出部４１は、記録部７０に記録されている３−部分グラフ情報テーブルＴ２（図１４参照）と、図２２に示す構造別推薦スコアテーブルＴ４とを参照し、ユーザｕ２の新規メッセージに対するユーザｕ１の推薦スコアｒｕ１，ｕ２ｃを算出する。
【００７２】
図９は、コミュニケーション活性化装置１００の全体の処理を示すフローチャートである。
【００７３】
Ｓ１で、コミュニケーション情報抽出部１０が、図１に示すコミュニケーション情報テーブルＴ１に記載されている情報を、記録部７０から抽出し、それを３−部分グラフ情報テーブル構築部２０と構造別推薦スコアテーブル構築部３０と、新規メッセージ推薦部４０とに受け渡す。
【００７４】
Ｓ２で、３−部分グラフ情報テーブル構築部２０が、コミュニケーション情報抽出部１０から受け渡されたコミュニケーション情報に記載されている情報に基づいて、図１４に示す３−部分グラフ情報テーブルＴ２を記録部７０に構築し、構造別推薦スコアテーブル構築部３０と、新規メッセージ推薦部４０に、３−部分グラフ情報テーブルＴ２を受け渡す。
【００７５】
Ｓ３で、構造別推薦スコアテーブル構築部３０が、３−部分グラフ情報テーブル構築部２０から受け渡された３−部分グラフ情報テーブルＴ２（図１４参照）に記載されている情報を用いて、図２２に示す構造別推薦スコアテーブルＴ４を記録部７０に構築する。
【００７６】
Ｓ４で、新規メッセージ推薦部４０が、コミュニケーション情報抽出部１０から受け渡されたコミュニケーション情報に記載されている情報と、図１４に示す３−部分グラフ情報テーブルＴ２に記載されている情報と、図２２に示す構造別推薦スコアテーブルＴ４に記載されている情報とを用い、ユーザに推薦すべき新規メッセージを決定する。
【００７７】
新規メッセージ推薦部４０は、推薦結果（推薦すべき新規メッセージ）を記録部７０に記録するようにしてもよい。また、入出力部６０を介して、外部出力装置に、上記推薦結果を出力するようにしてもよく、通信部５０を介して、予め定められた推薦結果通知先に、上記推薦結果を通知するようにしてもよい。
【００７８】
図１０は、３−部分グラフ情報テーブル構築部２０が、図１４に示す３−部分グラフ情報テーブルＴ２を構築する動作を示すフローチャートである。
【００７９】
ただし、どの構造にどれくらい新たなエッジ（返信）が発生し易いかは、カテゴリによって異なると考えられる。そこで、Ｓ１０以下のステップでは、カテゴリ毎に分けて処理する。
【００８０】
Ｓ１０では、３−部分グラフ情報テーブル構築部２０が、コミュニケーション情報抽出部１０から受け渡されたコミュニケーション情報に記載されているカテゴリｃの投稿から、最も古い投稿の時刻ｔｃ，０と、最も新しい投稿の時刻ｔｃ，３とを取得し、図１４に示す３−部分グラフ情報テーブルＴ２を構築するための時刻（ｔｃ，０，…，ｔｃ，３）を、４点、算出する。次の式（１）を満たす４点時刻（ｔｃ，０，…，ｔｃ，３）を設定する。
【００８１】
ｔｃ，１−ｔｃ，０＞＞ｔｃ，２−ｔｃ，１＝ｔｃ，３−ｔｃ，２  …式（１）
【００８２】
Ｓ１１では、３−部分グラフ情報テーブル構築部２０が、一時変数ｉを用意し、その値を、１に初期化する。
【００８３】
Ｓ１２では、３−部分グラフ情報テーブル構築部２０が、コミュニケーション情報抽出部１０から受け渡されたコミュニケーション情報に記載されているカテゴリｃの投稿のうちで、コミュニケーション時刻フィールドが、ｔｃ，０以上ｔｃ，１以下である投稿Ｐｃ（ｔｃ，０，ｔｃ，１）を取得し、これら（投稿Ｐｃ（ｔｃ，０，ｔｃ，１））を、３−部分グラフ情報テーブル更新部２１に受け渡す。
【００８４】
Ｓ１３で、３−部分グラフ情報テーブル更新部２１が、３−部分グラフ情報テーブル構築部２０から受け渡されたコミュニケーション時刻フィールドが、ｔｃ，０以上ｔｃ，１以下である投稿Ｐｃ（ｔｃ，０，ｔｃ，１）に基づいて、記録部７０における３−部分グラフ情報テーブルＴ２（図１４参照）を更新する。
【００８５】
Ｓ１４では、３−部分グラフ情報テーブル構築部２０が、一時変数ｉをインクリメントする。
【００８６】
図１１は、３−部分グラフ情報テーブル更新部２１が行う３−部分グラフ情報テーブルＴ２（図１４参照）の更新処理を示すフローチャートである。
【００８７】
Ｓ２１では、３−部分グラフ情報テーブル更新部２１が、３−部分グラフ情報テーブル構築部２０から受け渡されたコミュニケーション時刻フィールドが、ｔｃ，０以上ｔｃ，１以下である投稿Ｐｃ（ｔｃ，０，ｔｃ，１）のうちで、ユーザＩＤフィールドの取りうる値（ＩＤ）の３つの全組み合わせを取得する。
【００８８】
Ｓ２４で、３−部分グラフマッチング部２１１が、３−部分グラフ情報テーブル更新部２１から受け渡されたコミュニケーション時刻フィールドが、ｔｃ，０以上ｔｃ，１以下である投稿Ｐｃ（ｔｃ，０，ｔｃ，１）と、ユーザＩＤフィールドとの組み合わせ（ｕ１，ｕ２，ｕ３）（３ユーザＩＤの組み合わせ）に基づいて、ユーザＩＤの組み合わせ（ｕ１，ｕ２，ｕ３）に対応する３−部分グラフのパターンが、図４に示す１３種類のパターンのうちのどのパターンであるかを示す投稿Ｐａｔｔｅｒｎｕ１，ｕ２，ｕ３と、ユーザｕ１，ｕ２，ｕ３のうちで、３−部分グラフのポジション１、ポジション２、ポジション３に当て嵌まるユーザＩＤＰ１，Ｐ２，Ｐ３とを取得する。
【００８９】
なお、上記「３−部分グラフのポジション１」は、３−部分グラフにおける上のノードに当て嵌まるユーザである。上記「３−部分グラフのポジション２」は、３−部分グラフにおける左下のノードに当て嵌まるユーザである。上記「３−部分グラフのポジション３」は、３−部分グラフにおける右下のノードに当て嵌まるユーザである。
【００９０】
Ｓ２６で、３−部分グラフ情報テーブル更新部２１が、カテゴリＩＤフィールドの値が、ｃであり、ポジション１ユーザＩＤフィールドの値が、Ｐ１であり、ポジション２ユーザＩＤフィールドの値が、Ｐ２であり、ポジション３ユーザＩＤフィールドの値が、Ｐ３であり、時刻フィールドの値が、ｔｃ，ｉであり、３−部分グラフパターンフィールドの値が、ｐａｔｔｅｒｎｕ１，ｕ２，ｕ３である行を、図１４に示す３−部分グラフ情報テーブルＴ２に挿入する。
【００９１】
図１２は、３−部分グラフマッチング部２１１において、３ユーザのそれぞれについて行う３−部分グラフマッチング処理を示すフローチャートである。
【００９２】
Ｓ３１で、３−部分グラフマッチング部２１１が、ユーザＩＤフィールドの組み合わせ（ｕ１，ｕ２，ｕ３）に対応する（つまり、ユーザＩＤフィールドに記載されている異なるユーザｕ１、ｕ２、ｕ３について）全６通りの順序（ｕ１，ｕ２，ｕ３）、（ｕ１，ｕ３，ｕ２）、（ｕ２，ｕ１，ｕ３）、（ｕ２，ｕ３，ｕ１）、（ｕ３，ｕ１，ｕ２）、（ｕ３，ｕ２，ｕ１）を取得する。
【００９３】
Ｓ３１で、３−部分グラフマッチング部２１１が、３−部分グラフ情報テーブル更新部２１から受け渡されたコミュニケーション時刻フィールドが、ｔｃ，０以上ｔｃ，ｉ以下の投稿Ｐｃ（ｔｃ，０，ｔｃ，ｉ）に基づいて、ユーザＩＤフィールドの順序（Ｐ１，Ｐ２，Ｐ３）に対応する行列であって、図１３に示す３行３列のコミュニケーション行列ＭＰ１，Ｐ２，Ｐ３を作成する。
【００９４】
図１３は、３−部分グラフマッチング処理のために、１３種類の各パターンにおけるコミュニケーション行列Ｍｋ（ｋ＝１，…，１３）を示す図である。
【００９５】
コミュニケーション行列ＭＰ１，Ｐ２，Ｐ３の各成分は、対角成分の値を、＊とし、ｘ行ｙ列の値が、投稿Ｐｃ（ｔｃ，０，ｔｃ，ｉ）において、発信元アドレスフィールドの値がポジションＰｘ（ｘ＝１、２、３のいずれか）であり、かつコミュニケーション識別フィールドの値が「返信」である行のうちで、発信元アドレスフィールドの値がポジションＰｙ（ｙ＝１、２、３のいずれか）であり、かつコミュニケーション識別フィールドの値が「新規」である行と、スレッドＩＤフィールドの値とが一致する投稿がある場合、１を与え、一致しない場合、０を与える。
【００９６】
つまり、各コミュニケーション行列ＭＰ１，Ｐ２，Ｐ３の各成分は、対角成分の値を、＊とし、ｘ行ｙ列の値を、ｘ番目のノードからｙ番目のノードにエッジ（返信）がある場合、１を与え、エッジ（返信）がない場合、０を与える。なお、比較の際に、Ｍｋの対角成分の値はチェックしない。
【００９７】
また、コミュニケーション行列ＭＰ１，Ｐ２，Ｐ３の対角成分の値を、＊で与えているが、＊の他のどのような値を与えるようにしてもよい。
【００９８】
Ｓ３５で、３−部分グラフマッチング部２１１が、一時変数ｋを用意し、その値を１に初期化する。
【００９９】
Ｓ３７で、３−部分グラフマッチング部２１１が、ユーザＩＤフィールドの順序（Ｐ１，Ｐ２，Ｐ３）に対応する３行３列のコミュニケーション行列ＭＰ１，Ｐ２，Ｐ３と、ｋ番目のパターンを示すコミュニケーション行列Ｍｋとが互いに一致するかどうかを判別する。
【０１００】
Ｓ３８で、３−部分グラフマッチング部２１１が、ユーザＩＤフィールドに記載されている３ユーザの組み合わせ（ｕ１，ｕ２，ｕ３）に対応する３−部分グラフパターンフィールドの値ｐａｔｔｅｒｎｕ１，ｕ２，ｕ３をｋとし、３−部分グラフ情報データベース更新部２１に受け渡す。
【０１０１】
Ｓ３９で、３−部分グラフマッチング部２１１が、一時変数ｋをインクリメントする。
【０１０２】
図１４は、図１４に示す３−部分グラフ情報テーブルＴ２の例を示す図である。
【０１０３】
３−部分グラフ情報テーブルＴ２には、カテゴリＩＤフィールドと、ポジション１ユーザＩＤフィールドと、ポジション２ユーザＩＤフィールドと、ポジション３ユーザＩＤフィールドと、３−部分グラフ時刻フィールドと、３−部分グラフパターンフィールドとが含まれている。
【０１０４】
上記「ポジション１ユーザＩＤフィールド」は、ある行の３−部分グラフを構成する３ユーザのうちで、ポジション１にあたるユーザＩＤが、３−部分グラフ情報テーブル更新部２１によって設定される。
【０１０５】
上記「ポジション２ユーザＩＤフィールド」は、ある行の３−部分グラフを構成する３ユーザのうちで、ポジション２にあたるユーザＩＤが、３−部分グラフ情報テーブル更新部２１によって設定される。
【０１０６】
上記「ポジション３ユーザＩＤフィールド」は、ある行の３−部分グラフを構成する３ユーザのうちで、ポジション３にあたるユーザＩＤが、３−部分グラフ情報テーブル更新部２１によって設定される。
【０１０７】
上記「３−部分グラフ時刻フィールド」は、ある行の３−部分グラフがコミュニティ上で観測された時刻が、３−部分グラフ情報テーブル更新部２１によって設定される。
【０１０８】
上記「３−部分グラフパターンフィールド」は、ある行の３−部分グラフが、図１３に示す１３種類のいずれと一致するかを表す値が、３−部分グラフ情報テーブル更新部２１によって設定される。
【０１０９】
図１５は、構造別推薦スコアテーブル構築部３０が、図２２に示す構造別推薦スコアテーブルＴ４を構築する動作を示すフローチャートである。
【０１１０】
Ｓ４１で、構造別推薦スコアテーブル構築部３０が、図１４に示す３−部分グラフ情報テーブルＴ２に記載されているカテゴリｃの３−部分グラフ情報から、カテゴリｃの構造別推薦スコアを計算する（新規メッセージに対する返信を推薦する）ための時刻として、４点時刻（ｔｃ，０，…，ｔｃ，３）を取得する。
【０１１１】
Ｓ４４で、構造別推薦スコアテーブル構築部３０が、図１４に示す３−部分グラフ情報テーブルＴ２に記載されているカテゴリｃの３−部分グラフ情報のうちで、時刻がｔｃ，０、である投稿Ｇｃ，１を取得する。
【０１１２】
Ｓ２２で、構造別推薦スコアテーブル構築部３０が、コミュニケーション情報抽出部１０から受け渡されたコミュニケーション情報に記載されているカテゴリｃの投稿のうちで、コミュニケーション時刻フィールドが、ｔｃ，１以上であり、ｔｃ，２未満である投稿Ｐｃ（ｔｃ，１，ｔｃ，２）を取得し、それを３−部分グラフ情報テーブルに受け渡す。ただし、３−部分グラフ情報テーブルは、この投稿Ｐｃ（ｔｃ，１，ｔｃ，２）を、記録部７０に記録するようにしてもよい。
【０１１３】
Ｓ２３で、構造別回答数テーブル構築部３１が、構造別推薦スコアテーブル構築部３０から受け渡された３−部分グラフ情報テーブルＴ２（図１４参照）に記載されているカテゴリｃの３−部分グラフ情報のうちで、時刻がｔｃ，１である投稿Ｇｃ，１と、コミュニケーション情報に記載されているカテゴリｃの投稿のうちで、コミュニケーション時刻フィールドがｔｃ，１以上、ｔｃ，２未満の投稿Ｐｃ（ｔｃ，１，ｔｃ，２）とを用い、図１６に示す構造別回答数テーブルＴ３を、記録部７０に構築する。
【０１１４】
図１６は、構造別回答数テーブルＴ３の例を示す図である。
【０１１５】
構造別推薦スコア算出部３２と構造別推薦スコアテーブル構築部３０とに、図１６に示す構造別回答数テーブルＴ３を受け渡す。ただし、構造別回答数テーブル構築部３１は、結果である構造別回答数（後述する）を、記録部７０に記録する必要はない。ここで、図１６に示す構造別回答数テーブルＴ３における構造フィールドの取りうる値の全てを取得し、それらの各要素について、Ｓ４８、Ｓ４９を実行する。
【０１１６】
Ｓ４８、Ｓ４９の説明に入る前に、図１６に示す構造別回答数テーブルＴ３について説明する。
【０１１７】
図１６に示す構造別回答数テーブルＴ３には、カテゴリＩＤフィールドと、時刻フィールドと、構造フィールドと、回答数フィールドとが含まれている。
【０１１８】
上記「構造フィールド」は、図１６における該当する行に対応するカテゴリＩＤフィールドの値を、ｃとし、時刻フィールドの値を、ｔｃ，ｉとした場合、カテゴリｃの時刻ｔｃ，ｉ−１からｔｃ，ｉにおいて、時刻ｔｃ，ｉ−１における３−部分グラフ内のパターンと、それに含まれているユーザによって特定されるエッジ（返信）の種類とを示す領域である。
【０１１９】
たとえば、構造フィールドの値が（４，５）である場合、構造４のユーザの新規メッセージに対して、構造５のユーザが返信したことを意味し、グラフにモデル化すると、「４←５」で表すことができる。なお、構造４は、図６に示す３ノード間の有向枝の出現パターンにおいて丸印の中に記載されている数字４が示す構造である。
【０１２０】
上記「回答数フィールド」は、図１６における対応する行のカテゴリＩＤと、構造間（ノードの種類）における時刻ｔｃ，ｉ−１、ｔｃ，ｉとの間に発生した回答数を示す領域である。
【０１２１】
Ｓ４８で、構造別推薦スコアテーブル構築部３０が、図１６に示す構造別回答数テーブルＴ３の回答数フィールドに記載されている回答数（構造別回答数）に関する情報であり、カテゴリＩＤフィールドの値が、ｃであり、時刻フィールドの値が、ｔｃ，２であり、構造フィールドの値が、（ｓ１，ｓ２）である投稿の回答数ｎｓ１，ｓ２ｃ，２を取得する。
【０１２２】
次に、構造別推薦スコア算出部３２が、構造別回答数テーブル構築部３１から受け渡された投稿Ｇｃ，1、回答数ｎｓ１，ｓ２ｃ，２に基づいて、構造別推薦スコアｆｓ１，ｓ２ｃ，２を算出し、構造別推薦スコア算出部３２に受け渡す。ただし、構造別推薦スコア算出部３２は、構造別推薦スコアｆｓ１，ｓ２ｃ，２を、記録部７０に記録するようにしてもよい。
【０１２３】
図２２は、構造別推薦スコアテーブルＴ４の例を示す図である。
【０１２４】
Ｓ４９で、構造別推薦スコアテーブル構築部３０が、カテゴリＩＤフィールドの値がｃであり、時刻フィールドの値がｔｃ，２であり、構造フィールドの値が（ｓ１，ｓ２）であり、構造別推薦スコアフィールドの値がｆｓ１，ｓ２ｃ，２である行を、図２２に示す構造別推薦スコアテーブルＴ４に挿入する。
【０１２５】
図１７は、構造別回答数テーブル構築部３１が構造別回答数テーブルＴ３（図１６参照）を構築する動作を示すフローチャートである。
【０１２６】
Ｓ５１で、構造別回答数テーブル構築部３１が、構造別推薦スコアテーブル構築部３０から受け渡された投稿Ｐｃ（ｔｃ，１，ｔｃ，２）において、スレッドＩＤフィールドの取りうる値の全てを取得する。そのスレッドＩＤ集合に含まれている各スレッドｑについて、Ｓ５２〜Ｓ５６を実行する。
【０１２７】
Ｓ５４では、図１６に示す構造別回答数テーブル構築部３１が、投稿Ｐｃ（ｔｃ，１，ｔｃ，２）のうちで、スレッドＩＤが、ｑであり、かつ、メッセージ種別フィールドの値が、「新規」である行のユーザＩＤフィールドの値ｕ１を取得する。
【０１２８】
Ｓ５５で、図１６に示す構造別回答数テーブル構築部３１が、投稿Ｐｃ（ｔｃ，１，ｔｃ，２）のうちで、スレッドＩＤがｑであり、かつメッセージ種別フィールドの値が「返信」である投稿の全ての投稿Ｐｑを取得する。投稿Ｐｑに含まれている各投稿について、Ｓ５４〜Ｓ５６を実行する。
【０１２９】
Ｓ５７では、構造別回答数テーブル構築部３１が、処理中の投稿のユーザＩＤフィールドの値ｕ２を取得する。
【０１３０】
Ｓ５８で、構造別回答数テーブル構築部３１が、構造別推薦スコアテーブル構築部３０から受け渡された３−部分グラフ情報集合Ｇｃ，１において、ポジション１ユーザＩＤフィールド、ポジション２ユーザＩＤフィールド、ポジション３ユーザＩＤフィールドのいずれか２つに、ｕ１、ｕ２をともに含む行の集合Ｇｕ１，ｕ２を取得する。
【０１３１】
Ｓ５９で、構造別回答数テーブル更新部３１１が、構造別回答数テーブル構築部３１から受け渡されたユーザｕ１、ｕ２、３−部分グラフ情報集合Ｇｕ１，ｕ２に基づいて、図１６に示す構造別回答数テーブルＴ３を更新する。
【０１３２】
図１８は、構造別回答数テーブル更新部３１１が、図１６に示す構造別回答数テーブルＴ３を更新する動作を示すフローチャートである。
【０１３３】
Ｓ６１で、構造別回答数テーブル更新部３１１が、Ｇｕ１，ｕ２に含まれている１つの３−部分グラフ情報ｇｕ１，ｕ２を取得し、Ｓ６２で、この３−部分グラフパターンフィールドの値ｐａｔｔｅｒｎｕ１，ｕ２を得る。
【０１３４】
今、ユーザｕが、１つの３−部分グラフ情報ｇｕ１，ｕ２のポジションｘ１ユーザＩＤフィールド（ｘ１は、１、２、３のいずれかであり、ポジション１ユーザＩＤフィールド、ポジション２ユーザＩＤフィールド、ポジション３ユーザＩＤフィールドのいずれか）に含まれ、ユーザｕ２が、１つの３−部分グラフ情報ｇｕ１，ｕ２のポジションｘ１ユーザＩＤフィールドに含まれているとする。なお、１つの３−部分グラフ情報ｇｕ１，ｕ２のポジションｘ１、ｘ２が取りうる値は、１、２、３のいずれかであり、またテーブルの設計から、１つの３−部分グラフ情報ｇｕ１，ｕ２のポジションｘ１≠ｘ２である。
【０１３５】
Ｓ６３で、構造別回答数テーブル更新部３１１が、１つの３−部分グラフ情報ｇｕ１，ｕ２のポジションｘ１、ｘ２の値に基づいて、ユーザ構造決定ルールを用い、構造フィールドの値（ｓ１，ｓ２）を決定する。ただし、構造フィールドの値ｓ１が、ユーザｕ１に対応する値であり、構造フィールドの値ｓ２が、ユーザｕ２に対応する値である。
【０１３６】
図１９は、ユーザ構造決定ルールＲ１をまとめた図である。
【０１３７】
たとえば、図１４に示す３−部分グラフパターンフィールドの値ｐａｔｔｅｒｎｕ１，ｕ２が、５であり、１つの３−部分グラフ情報ｇｕ１，ｕ２のポジションｘ１の値が３であり、１つの３−部分グラフ情報ｇｕ１，ｕ２のポジションｘ２の値が２であるときに、ユーザｕ１に対応する構造フィールドの値ｓ１は、１３であり、ユーザｕ２に対応する構造フィールドの値ｓ２は、１２である。
【０１３８】
Ｓ６３で、構造別回答数テーブル更新部３１１が、図１６に示す構造別回答数テーブルＴ３に記載されている構造別回答数のうちで、カテゴリＩＤフィールドの値が、ｃであり、時刻フィールドの値が、ｔｃ，ｉであり、構造フィールドの値が、（ｓ１，ｓ２）である行があるかどうかを判別する。
【０１３９】
Ｓ６４で、構造別回答数テーブル更新部３１１が、カテゴリＩＤフィールドの値が、ｃであり、時刻フィールドの値が、ｔｃ，２であり、構造フィールドの値が、（ｓ１，ｓ２）であり、回答数フィールドの値が１である行を、図１６に示す構造別回答数テーブルＴ３に挿入する。
【０１４０】
Ｓ６５で、構造別回答数テーブル更新部３１１が、カテゴリＩＤフィールドの値が、ｃであり、時刻フィールドの値が、ｔｃ，２であり、構造フィールドの値が、（ｓ１，ｓ２）である行を参照し、回答数フィールドの値ｎｓ１，ｓ２ｃ，２を得て、カテゴリＩＤフィールドの値が、ｃであり、時刻フィールドの値が、ｔｃ，２であり、構造フィールドの値が、（ｓ１，ｓ２）である行における回答数フィールドの値を、図１６に示す構造別回答数テーブルＴ３ｎｓ１，ｓ２ｃ，２＋１において、更新する。
【０１４１】
図２０は、構造別推薦スコア算出部３２が構造別推薦スコアを算出する動作を示すフローチャートである。
【０１４２】
Ｓ７１で、構造別推薦スコア算出部３２が、ユーザ構造決定ルールＲ１を参照し、構造別推薦スコアテーブル構築部３０から受け渡された構造フィールドの値ｓ１の値から、対応する３−部分グラフパターンｐａｔｔｅｒｎｓ１を取得する。ただし、ｐａｔｔｅｒｎｓ１は、構造フィールドの値ｓ１から一意に決まる。これは、構造が異なる２つのパターンに出現しないことに起因する。つまり、たとえば、図６において、構造９は、３−部分グラフパターン４にしか出現しない。
【０１４３】
Ｓ７２で、構造別推薦スコア算出部３２が、構造別推薦スコアテーブル構築部３０から受け渡されたＧｃ，１のうちで、３−部分グラフパターンフィールドの値が、ｐａｔｔｅｒｎｓ１である行の数｜ｐａｔｔｅｒｎｓ１｜を、取得する。
【０１４４】
Ｓ７３で、構造別回答数期待値及び標準偏差算出部３２１とが、構造別推薦スコア算出部３２から受け渡されたＧｃ，１、Ｐｃ（ｔｃ，１，ｔｃ，２）を用い、構造フィールドの値（ｓ１，ｓ２）に対応する回答数の期待値＜ｎｓ１，ｓ２ｃ，２＞、標準偏差σｓ１，ｓ２ｃ，２を算出する。なお、上記標準偏差σｓ１，ｓ２ｃ，２は、後述の式（４）、Ｓ９１で定義されている。
【０１４５】
Ｓ７４で、構造別推薦スコア算出部３２が、構造別推薦スコアテーブル構築部３０から受け渡された回答数の期待値＜ｎｓ１，ｓ２ｃ，２＞と、σｓ１，ｓ２ｃ，２とに応じて、以下の式（２）を用い、構造フィールドの値（ｓ１，ｓ２）に対応する推薦スコアｆｓ１，ｓ２ｃ，２を求める。なお、ｆｓ１，ｓ２ｃ，２の右上の２は、時刻ｔ２である。
【０１４６】
ｆｓ１，ｓ２ｃ，２＝（ｎｓ１，ｓ２ｃ，２−＜ｎｓ１，ｓ２ｃ，２＞）／σｓ１，ｓ２ｃ，２  …式（２）
【０１４７】
図２１は、構造別回答数期待値及び標準偏差算出部３２１において、上記推薦スコア算出に必要な構造別回答数期待値と標準偏差σｓ１，ｓ２ｃ，２とを算出する動作を示すフローチャートである。
【０１４８】
まず、時刻ｔｃ，１からｔｃ，２の間に投稿された投稿の集合Ｐｃ（ｔｃ，１，ｔｃ，２）から、ユーザ集合を抽出する。
【０１４９】
次に、抽出されたユーザ集合から、ランダムに異なる２ユーザを選択し、２ユーザで構成されるエッジ（返信）を、ランダムに、｜Ｐ１，２ａ｜回、生成した場合の返信数を取得する。ここで、上記｜Ｐ１，２ａ｜は、投稿の集合Ｐｃ（ｔｃ，１，ｔｃ，２）に含まれている返信メッセージの数である。
【０１５０】
この回答数を取得する処理を、予め設定した回数（ここでは１０００回）実行することによって、｜Ｐ１，２ａ｜×１０００個の回答数が得られ、その中に含まれている構造フィールドの値（ｓ１，ｓ２）毎に、期待値と標準偏差σｓ１，ｓ２ｃ，２とを算出する。
【０１５１】
Ｓ８１で、構造別回答数期待値及び標準偏差算出部３２１が、Ｐｃ（ｔｃ，１，ｔｃ，２）に含まれている返信メッセージの数｜Ｐ１，２ａ｜を取得する。
【０１５２】
Ｓ８３以下は、Ｐｃ（ｔｃ，１，ｔｃ，２）と同等の回答数分ランダムの異なる２ユーザ間のコミュニケーションを発生させ、その場合の構造別回答数を取得するフローチャートである。
【０１５３】
Ｓ８３で、構造別回答数期待値及び標準偏差算出部３２１が、予め設定した回数分繰り返し、ランダムに発生させた返信に対する構造別回答数を取得し、構造別回答数の期待値＜ｎｓ１，ｓ２ｃ，２＞、標準偏差σｓ１，ｓ２ｃ，２を算出する。図２１において、たとえば１０００回繰り返すようにしているが、この値は、任意の適当な値でよい。
【０１５４】
Ｓ８７で、構造別回答数期待値及び標準偏差算出部３２１が、投稿の集合Ｐｃ（ｔｃ，１，ｔｃ，２）に含まれている互いに異なる２ユーザＩＤｖ１，ｖ２を、ランダムに取得する。
【０１５５】
Ｓ８８で、構造別回答数期待値及び標準偏差算出部３２１が、投稿Ｇｃ，１において、ポジション１ユーザＩＤフィールド、ポジション２ユーザＩＤフィールド、ポジション３ユーザＩＤフィールドのいずれか２つに、ユーザＩＤｖ１、ユーザＩＤｖ２をともに含む行の集合Ｇｖ１，ｖ２を取得する。
【０１５６】
Ｓ８９は、構造別回答数テーブル更新部３１１が、構造別回答数期待値及び標準偏差算出部３２１から受け渡されたｖ１、ｖ２、Ｇｖ１，ｖ２に基づいて、ｖ１、ｖ２対応のユーザ構造ｓｖ１、ｓｖ２に対応する回答数ｎｓ１，ｓ２ｃ，２（ｉ，ｊ）を算出する。
【０１５７】
Ｓ９１で、構造別回答数期待値及び標準偏差算出部３２１が、下記の式（３）、式（４）を用いて、構造フィールドの値（エッジ（返信）の種類）（ｓ１，ｓ２）毎に、構造別回答数の期待値＜ｎｓ１，ｓ２ｃ，２＞、標準偏差σｓ１，ｓ２ｃ，２を算出する。
【０１５８】
【数１】
2010176263.tif 000003
【０１５９】
図２２に示す構造別推薦スコアテーブルＴ４に、カテゴリＩＤフィールドと、時刻フィールドと、構造フィールドと、推薦スコアフィールドとが含まれている。
【０１６０】
上記「回答数フィールド」は、当該行のカテゴリＩＤｃと、構造フィールドの値（エッジ（返信）の種類）（ｓ１，ｓ２）と、時刻ｔｃ，１、ｔｃ，２間に対応する推薦スコアｆｓ１，ｓ２ｃ，２とを示す。
【０１６１】
ここまでの処理によって、時刻ｔｃ，１、ｔｃ，２間において、構造フィールドの値（ｓ１，ｓ２）にどれだけ新たなエッジ（返信）が発生し易いかを、構造別推薦スコアとして算出することができる。つまり、「構造別推薦スコア」は、時刻ｔｃ，１、ｔｃ，２間において、構造フィールドの値（ｓ１，ｓ２）にどれだけ新たなエッジ（返信）が発生し易いかを示すスコアである。
【０１６２】
次に、この構造別推薦スコアを用いて、時刻ｔｃ，２、ｔｃ，３間で、どの構造に、新たなエッジ（返信）が発生し易いかを予測し、返信メッセージ発信者毎に、予測された２ユーザへの返信を促す新規メッセージを抽出する処理について説明する。
【０１６３】
図２３は、新規メッセージ推薦部４０が新規メッセージを推薦する（システムが返信メッセージ発信者側に新規メッセージ発信者のメッセージを推薦する）動作を示すフローチャートである。
【０１６４】
Ｓ１０１で、新規メッセージ推薦部４０が、コミュニケーション情報抽出部１０から受け渡されたコミュニケーション情報に記載されている情報から、全ユーザＩＤの集合Ｕと、全カテゴリＩＤの集合Ｃとを取得する。このユーザＩＤ集合Ｕに含まれている各ユーザｕと、カテゴリＩＤ集合Ｃに含まれている各カテゴリｃとについて、Ｓ１０１〜Ｓ１１０を実行する。
【０１６５】
Ｓ１０６で、新規メッセージ推薦部４０が、コミュニケーション情報抽出部１０から受け渡されたコミュニケーション情報に記載されている情報のうちで、カテゴリＩＤが、ｃであり、発生時刻が、ｔｃ，２からｔｃ，３までであり、メッセージ種別が、「新規」である全ての投稿Ｑｃ（ｔｃ，２，ｔｃ，３）を取得する。全投稿Ｑｃ（ｔｃ，２，ｔｃ，３）に含まれている各投稿qについて、Ｓ１０８〜Ｓ１１０を実行する。
【０１６６】
Ｓ１０８で、新規メッセージ推薦部４０が、未処理の投稿qを選択し、このユーザＩＤｕ２を取得する。
【０１６７】
Ｓ１０９で、ユーザ別推薦スコア算出部４１が、記録部７０に記録されている３−部分グラフ情報テーブルＴ２（図１４参照）と、図２２に示す構造別推薦スコアテーブルＴ４とを参照し、ユーザｕ２の新規メッセージに対するユーザｕ１の推薦スコアｒｕ１，ｕ２ｃを算出し、新規メッセージ推薦部４０に受け渡す。なお、ユーザ別推薦スコア算出部４１は、ｒｕ１，ｕ２ｃを記録部７０に記録するようにしてもよい。
【０１６８】
Ｓ１１０で、新規メッセージ推薦部４０が、ユーザ別推薦スコア算出部４１から受け渡された推薦スコアｒｕ１，ｕ２ｃが、予め設定されているある闘値θｃを越えるか否かを判定する。ただし、闘値として、たとえば１のような定数を設定してもよく、ユーザｕ１に対して推薦する新規メッセージの数が、ある一定数になるように、上記閾値を調整する（閾値処理ではなく、ユーザ別推薦スコア上位ｎ件を取得する）ようにしてもよい。
【０１６９】
Ｓ１１１で、新規メッセージ推薦部４０が、返信すべきメッセージとして、投稿qを、ユーザｕ１に推薦する。
【０１７０】
図２４は、ユーザ別推薦スコア算出部４１がユーザ別推薦スコアを算出する動作を示すフローチャートである。
【０１７１】
Ｓ１２１で、ユーザ別推薦スコア算出部４１が、ユーザｕ１の新規メッセージに対するユーザｕ２の推薦スコアｒｕ１，ｕ２ｃに、初期値として０を代入する。
【０１７２】
Ｓ１２２で、ユーザ別推薦スコア算出部４１が、記録部７０に記録されている３−部分グラフ情報テーブルＴ２（図１４）を参照し、時刻が、ｔｃ，２であり、ポジション１ユーザＩＤフィールド、ポジシヨン２ユーザＩＤフィールド、ポジション３ユーザＩＤフィールドに、ユーザｕ１、ｕ２をともに含む３−部分グラフ情報の全てＧｕ１，ｕ２２を取得する。Ｇｕ１，ｕ２２の各３−部分グラフ情報ｇｕ１，ｕ２２について、Ｓ１２４、Ｓ１２５，Ｓ１２６、Ｓ１２７を実行する。
【０１７３】
Ｓ１２４で、ユーザ別推薦スコア算出部４１が、３−部分グラフ情報ｇｕ１，ｕ２２に含まれている３−部分グラフ情報の３−部分グラフパターンフィールドのｐａｔｔｅｒｎｕ１，ｕ２を取得する。さらに、ユーザｕ１が、３−部分グラフ情報ｇｕ１，ｕ２のポジションｘ１ユーザＩＤフィールドに含まれ（ポジション１、ポジション２、ポジション３のうちの１つ）、ユーザｕ２が、１つの３−部分グラフ情報ｇｕ１，ｕ２のポジションｘ１ユーザＩＤフィールドに含まれているとして、１つの３−部分グラフ情報ｇｕ１，ｕ２のポジションｘ１、ｘ２を取得する。
【０１７４】
Ｓ１２５で、ユーザ別推薦スコア算出部４１が、１つの３−部分グラフ情報ｇｕ１，ｕ２のポジションｘ１、ｘ２、ｐａｔｔｅｒｎｕ１，ｕ２の値からユーザ構造決定ルールＲ１を用いて、構造フィールドの値（ｓ１，ｓ２）を決定する。ただし、構造フィールドの値ｓ１が、ユーザｕ１に対応する値であり、構造フィールドの値ｓ２が、ユーザｕ２に対応する値である。ユーザ構造決定ルールＲ１を、上記の通り、図１６に示してある。
【０１７５】
Ｓ１２６で、ユーザ別推薦スコア算出部４１が、記録部７０に記録されている構造別推薦スコアテーブルＴ４（図２２参照）に記載の構造別推薦スコア（テーブルの行の１つ）の中で、カテゴリフィールドの値が、ｃであり、時刻フィールドの値が、ｔｃ，２であり、構造フィールドの値が（ｓ１，ｓ２）である推薦スコアｆｓ１，ｓ２ｃ，２を取得する。
【０１７６】
Ｓ１２７で、ユーザ別推薦スコア算出部４１が、次の式（５）を用い、ｆｓ１，ｓ２ｃ，２からユーザｕ１に対するユーザｕ２の新規メッセージの推薦スコアｒｕ１，ｕ２ｃを用いて更新する。
【０１７７】
ｒｕ１，ｕ２ｃ＝ｒｕ１，ｕ２ｃ＋ｆｓ１，ｓ２ｃ，２  …式（５）
【実施例２】
【０１７８】
実施例１では、投稿推薦に静的な４つの時刻を用いる。ただし、実施例１では、投稿推薦（返信メッセージ）のためのスコアを計算した４点時刻から、時間が経過すればするほど（ｔｃ，３−ｔｃ，２が大になればなるほど）、上記式（１）を満たさず、精度が落ちるという問題がある。
【０１７９】
そこで、実施例２は、投稿推薦のためのスコアリングを、時間経過とともに更新する方実施例である。
【０１８０】
図２５は、実施例２の概要を示す図である。
【０１８１】
４点時刻（ｔｃ，０，ｔｃ，ｋ−２，ｔｃ，ｋ−１，ｔｃ，ｋ）を用いて、ｔｃ，ｋ−１、ｔｃ，ｋ間の投稿推薦を行ったとする。このときに構築した時刻ｔｃ，ｋ−１における３−部分グラフ情報を用いる方法である。
【０１８２】
今、４点時刻（ｔｃ，０，ｔｃ，ｋ−１，ｔｃ，ｋ，ｔｃ，ｋ＋１）を用いて、ｔｃ，ｋ−１、ｔｃ，ｋ、ｔｃ，ｋ＋１間の投稿推薦を行うときに関する３−部分グラフ情報テーブルは、既に構築済みであるので、３−部分グラフ情報テーブルを構築する必要がない。ただし、ｋ＝２である場合、ｔｃ，ｋ−１に関する３−部分グラフ情報テーブルを構築する必要がある。ｔｃ，ｋ−１、ｔｃ，ｋ間の構造別回答スコアと、時刻ｔｃ，ｋに関する３−部分グラフ情報とを取得するだけで足りる。３−部分グラフ情報を取得するプロセスは、非常に計算量の多いプロセスであるので、このステップを省略できることは重要である。ただし、ｋ＝２である場合、実施例１と全く同様の処理を行う。
【０１８３】
全体の処理の流れは、実施例１と同様に、図９に示すフローチャートの通りである。
【０１８４】
図２６は、実施例２において、３−部分グラフ情報テーブル構築部２０が、３−部分グラフ情報テーブルを構築する動作を示すフローチャートである。
【０１８５】
Ｓ１３３で、３−部分グラフ情報テーブル構築部２０が、カテゴリｃにおける最新の投稿時刻ｔｃ，ｋ＋１を取得し、前回処理の際における４点時刻（ｔｃ，０，ｔｃ，ｋ−２，ｔｃ，ｋ−１，ｔｃ，ｋ）から、処理のための４点時刻（ｔｃ，０，ｔｃ，ｋ−１，ｔｃ，ｋ，ｔｃ，ｋ＋１）を決定する。ただし、以降のステップは、次の式（６）を満たしている必要がある。
【０１８６】
ｔｃ，１−ｔｃ，ｏ＞＞ｔｃ，ｋ＋１−ｔｃ，ｋ  …式（６）
Ｓ１３４で、３−部分グラフ情報テーブル構築部２０が、コミュニケーション情報抽出部１０から受け渡されたコミュニケーション情報に記載されているカテゴリｃの投稿のうちで、コミュニケーション時刻フィールドがｔｃ，ｏ以上ｔｃ，ｋ以下である投稿Ｐｃ（ｔｃ，０，ｔｃ，ｋ）を取得し、この取得した３−部分グラフ情報テーブル更新部２１に受け渡す。
【０１８７】
Ｓ１３５で、３−部分グラフ情報テーブル更新部２１が、３−部分グラフ情報テーブル構築部２０から受け渡されたコミュニケーション時刻フィールドが、ｔｃ，ｏ以上ｔｃ，ｋ以下である投稿Ｐｃ（ｔｃ，０，ｔｃ，ｋ）に基づいて、記録部７０における３−部分グラフ情報テーブルＴ２（図１４参照）を更新する。
【０１８８】
図２７は、実施例２において、構造別推薦スコアテーブル構築部３０が、図２２に示す構造別推薦スコアテーブルＴ４を構築する動作を示すフローチャートである。
【０１８９】
Ｓ１４３で、構造別推薦スコアテーブル構築部３０が、図１４に示す３−部分グラフ情報テーブルＴ２に記載されているカテゴリｃの３−部分グラフ情報から、カテゴリｃの構造別推薦スコア計算のための時刻として、４点時刻（ｔｃ，０，ｔｃ，ｋ−１，ｔｃ，ｋ，ｔｃ，ｋ＋１）を取得する。
【０１９０】
Ｓ１４４で、構造別推薦スコアテーブル構築部３０が、図１４に示す３−部分グラフ情報テーブルＴ２に記載されているカテゴリｃの３−部分グラフ情報のうちで、時刻がｔｃ，ｋ−１である投稿Ｇｃ，ｋを取得する。
【０１９１】
Ｓ１４５で、構造別推薦スコアテーブル構築部３０が、コミュニケーション情報抽出部１０から受け渡されたコミュニケーション情報に記載されているカテゴリｃの投稿のうちで、コミュニケーション時刻フィールドがｔｃ，ｋ−１以上ｔｃ，ｋ未満の投稿Ｐｃ（ｔｃ，ｋ−１，ｔｃ，ｋ）を取得し、これを、構造別回答数テーブル更新部３１１に受け渡す。
【０１９２】
Ｓ１４６で、構造別回答数テーブル構築部３１が、構造別推薦スコアテーブル構築部３０から受け渡された３−部分グラフ情報テーブルＴ２（図１４参照）に記載されているカテゴリｃの３−部分グラフ情報のうちで、時刻がｔｃ，ｋ−１である投稿Ｇｃ，ｋ−１と、コミュニケーション情報に記載されているカテゴリｃの投稿のうちで、コミュニケーション時刻フィールドがｔｃ，ｋ−１以上ｔｃ，ｋ未満である投稿Ｐｃ（ｔｃ，ｋ−１，ｔｃ，ｋ）を用い、図１６に示す構造別回答数テーブルＴ３を記録部７０に構築し、構造別推薦スコア算出部３２と構造別推薦スコアテーブル構築部３０とに受け渡す。
【０１９３】
ただし、構造別回答数テーブル構築部３１は、結果である構造別回答数ｎｓ１，ｓ２ｃ，ｋを記録部７０に記録する必要はない。ここで、図１６に示す構造別回答数テーブルＴ３において、構造フィールドが取り得る値の全てを取得し、これらの各要素について、Ｓ１４８、Ｓ１４９を実行する。
【０１９４】
Ｓ１４８で、構造別スコアテーブル構築部３０が、図１６に示す構造別回答数テーブルＴ３に記載されている構造別回答数に関する情報であり、カテゴリＩＤフィールドの値が、ｃであり、時刻フィールドの値が、ｔｃ，ｋであり、構造フィールドの値が（ｓ１，ｓ２）である情報の回答数ｎｓ１，ｓ２ｃ，ｋを取得する。
【０１９５】
次に、構造別推薦スコア算出部３２が、構造別スコアテーブル構築部３０から受け渡されたＧｃ，ｋ−１、ｎｓ１，ｓ２ｃ，ｋに基づいて、構造別推薦スコアｆｓ１，ｓ２ｃ，ｋを算出し、構造別推薦スコアテーブル構築部３０に受け渡す。
【０１９６】
Ｓ１４９で、構造別推薦スコアテーブル構築部３０が、図２２に示す構造別推薦スコアテーブルＴ４に、カテゴリＩＤフィールドの値が、ｃであり、時刻フィールドの値が、ｔｃ，ｋであり、構造フィールドの値が、（ｓ１，ｓ２）であり、構造別推薦スコアフィールドの値が、ｆｓ１，ｓ２ｃ，ｋである行を挿入する。
【０１９７】
図２８は、実施例２において、新規メッセージ推薦部４０が返信メッセージ発信者に新規メッセージ推薦処理する動作を示すフローチャートである。
【０１９８】
Ｓ１０１〜Ｓ０５に関しては、図２３に示す実施例１の場合と同様であるので、説明を割愛する。
【０１９９】
Ｓ１５１は、実施例１における図２３のＳ１０６に対応する。Ｓ１５１で、新規メッセージ推薦部４０が、コミュニケーション清報抽出部１０から受け渡されたコミュニケーション清報に記載されている情報のうちで、カテゴリＩＤが、ｃであり、発生時刻が、ｔｃ，ｋからｔｃ，ｋ＋１であり、メッセージ種別が、「新規」である全ての投稿Ｑｃ（ｔｃ，ｋ，ｔｃ，ｋ＋１）を取得する。全ての投稿Ｑｃ（ｔｃ，ｋ，ｔｃ，ｋ＋１）に含まれている各投稿qについて、Ｓ１０８、Ｓ１０９、Ｓ１１０を実行する。
【０２００】
上記実施例の特徴は、３名のユーザそれぞれをノードで表現し、ユーザ間のメッセージのやりとりを有向グラフで表現し、各有向グラフの中でのノードの位置毎に（図６に示す構造番号毎に）、各ノード間でのメッセージ生成頻度を算出する処理である。
【０２０１】
なお、ノード間でのメッセージ生成頻度算出時には、図６に示す構造番号毎のノード出現確率の違いを吸収するための正規化処理も実行する。
【０２０２】
この処理に、たとえば、メッセージが発生する頻度が高い位置関係にあるノード（ユーザ）同士は、将来的にコミュニケーションを取る可能性が高いと判定する処理を追加するので、今まで直接メッセージのやりとりをしたことがあるかないかに関わらず、将来コミュニケーションを取る可能性の高いユーザを抽出することができる。
【０２０３】
つまり、上記実施例は、３−部分グラフ情報テーブルに記載されているカテゴリの３−部分グラフ情報から、上記カテゴリの構造別推薦スコア計算のための時刻として、４点時刻（ｔｃ，０，…，ｔｃ，３）を取得する４点時刻取得手段と、３−部分グラフ情報テーブルに記載されている上記カテゴリの３−部分グラフ情報のうちで、時刻ｔｃ，１における３−部分グラフ情報Ｇｃ，１を取得する３−部分グラフ情報Ｇｃ，１取得手段と、コミュニケーション情報抽出部から受け渡されたコミュニケーション情報に記載されている上記カテゴリの投稿のうちで、コミュニケーション時刻フィールドが、ｔｃ，１以上であり、ｔｃ，２未満である投稿Ｐｃ（ｔｃ，１，ｔｃ，２）を取得する投稿Ｐｃ（ｔｃ，１，ｔｃ，２）取得手段と、３−部分グラフ情報テーブルに記載されている上記カテゴリの３−部分グラフ情報のうちで、時刻がｔｃ，１である３−部分グラフ情報Ｇｃ，１と、コミュニケーション情報に記載されている上記カテゴリの投稿のうちで、コミュニケーション時刻フィールドがｔｃ，１以上、ｔｃ，２未満の投稿Ｐｃ（ｔｃ，１，ｔｃ，２）とを用い、構造別回答数テーブルを構築する構造別回答数テーブル構築手段とを有するコミュニケーション活性化装置の例である。
【０２０４】
この場合、ユーザ構造決定ルールを参照し、上記構造別推薦スコアテーブル構築部から受け渡された構造フィールドの値から、対応する３−部分グラフパターンｐａｔｔｅｒｎｓ１を取得する３−部分グラフパターンｐａｔｔｅｒｎｓ１取得手段と、上記構造別推薦スコア算出部が受け渡されたＧｃ，１のうちで、３−部分グラフパターンフィールドの値が、ｐａｔｔｅｒｎｓ１である行の数｜ｐａｔｔｅｒｎｓ１｜を取得する行の数｜ｐａｔｔｅｒｎｓ１｜取得手段と、上記構造別推薦スコア算出部から受け渡された３−部分グラフ情報Ｇｃ，１、Ｐｃ（ｔｃ，１，ｔｃ，２）を用い、構造フィールドの値に対応する回答数の期待値＜ｎｓ１，ｓ２ｃ，２＞と、標準偏差σｓ１，ｓ２ｃ，２とを算出する構造別回答数期待値及び標準偏差算出部と、上記構造別推薦スコア算出部が受け渡された上記期待値＜ｎｓ１，ｓ２ｃ，２＞と、上記標準偏差σｓ１，ｓ２ｃ，２とに応じて、構造フィールドの値（ｓ１，ｓ２）に対応する推薦スコアを算出する構造別推薦スコア算出部とを有する。
【０２０５】
また、生成した構造内でのユーザ位置関係毎の投稿の発生しやすさを表したスコアと、コミュニケーション情報と、未処理のユーザＩＤと、カテゴリとが与えられると、推薦メッセージを選択する。
【０２０６】
さらに、構造別推薦スコアテーブル更新処理手段を有する。
【０２０７】
しかも、推薦スコアを予め定めた閾値で閾値処理する閾値処理手段と、閾値以上のスコアを持つユーザが投稿した投稿を、返信すべき投稿であるとして推薦する推薦手段とを有する。
【０２０８】
上記実施例によれば、図４に示す３−部分グラフパターンの時間的変化に基づいて、コミュニティの成長過程に関する情報（３−部分グラフのパターンと、そこに含まれているノードのポジションである構造に着目し、どの構造をなす２ユーザ間にエッジ（返信）が発生し易いかに関する情報）を取得するので、そのコミュニティに属するコミュニケーションをとる（そのコミュニティに属するユーザから、別のユーザへの返信メッセージが発生する）可能性の高い２ユーザを発見し、返信メッセージを投稿しそうなユーザに、他方のユーザの新規メッセージを推薦することができる。
【０２０９】
また、上記実施例によれば、３ユーザに着目しているので、ある２ユーザに共通してコミュニケーションをとったことがあるユーザがいれば、上記２ユーザが互いにコミュニケーションを一度も行ったことが無くても、上記２ユーザ間で、コミュニケーションを促進することができる。
【０２１０】
さらに、上記実施例によれば、ユーザにスコアを付与するのではなく、上記２ユーザ間の関係性にスコアを付与するので、従来手法によくある特定のユーザばかりのコミュニケーションを誘引する結果にはならず、コミュニティ全体を活性化することができる。
【０２１１】
また、上記実施例を方法の発明として把握することができる。つまり、上記実施例は、３−部分グラフ情報テーブルに記載されているカテゴリの３−部分グラフ情報から、上記カテゴリの構造別推薦スコア計算のための時刻として、４点時刻（ｔｃ，０，…，ｔｃ，３）を取得し、記憶装置に記憶する４点時刻取得工程と、３−部分グラフ情報テーブルに記載されている上記カテゴリの３−部分グラフ情報のうちで、時刻ｔｃ，１における３−部分グラフ情報Ｇｃ，１を取得し、記憶装置に記憶する３−部分グラフ情報Ｇｃ，１取得工程と、コミュニケーション情報抽出部から受け渡されたコミュニケーション情報に記載されている上記カテゴリの投稿のうちで、コミュニケーション時刻フィールドが、ｔｃ，１以上であり、ｔｃ，２未満である投稿Ｐｃ（ｔｃ，１，ｔｃ，２）を取得し、記憶装置に記憶する投稿Ｐｃ（ｔｃ，１，ｔｃ，２）取得工程と、３−部分グラフ情報テーブルに記載されている上記カテゴリの３−部分グラフ情報のうちで、時刻がｔｃ，１である３−部分グラフ情報Ｇｃ，１と、コミュニケーション情報に記載されている上記カテゴリの投稿のうちで、コミュニケーション時刻フィールドがｔｃ，１以上、ｔｃ，２未満の投稿Ｐｃ（ｔｃ，１，ｔｃ，２）とを用い、構造別回答数テーブルを構築し、記憶装置に記憶する構造別回答数テーブル構築工程と、ユーザ構造決定ルールを参照し、上記構造別推薦スコアテーブル構築部から受け渡された構造フィールドの値から、対応する３−部分グラフパターンｐａｔｔｅｒｎｓ１を取得し、記憶装置に記憶する３−部分グラフパターンｐａｔｔｅｒｎｓ１取得工程と、上記構造別推薦スコア算出部が受け渡されたＧｃ，１のうちで、３−部分グラフパターンフィールドの値が、ｐａｔｔｅｒｎｓ１である行の数｜ｐａｔｔｅｒｎｓ１｜を取得し、記憶装置に記憶する行の数｜ｐａｔｔｅｒｎｓ１｜取得工程と、上記構造別推薦スコア算出部から受け渡された３−部分グラフ情報Ｇｃ，１、Ｐｃ（ｔｃ，１，ｔｃ，２）を用い、構造フィールドの値に対応する回答数の期待値＜ｎｓ１，ｓ２ｃ，２＞と、標準偏差σｓ１，ｓ２ｃ，２とを算出し、記憶装置に記憶する構造別回答数期待値及び標準偏差算出部と、上記構造別推薦スコア算出部が受け渡された上記期待値＜ｎｓ１，ｓ２ｃ，２＞と、上記標準偏差σｓ１，ｓ２ｃ，２とに応じて、構造フィールドの値（ｓ１，ｓ２）に対応する推薦スコアを算出し、記憶装置に記憶する構造別推薦スコア算出工程とを有するコミュニケーション活性化方法の例である。
【０２１２】
この場合、生成した構造内でのユーザ位置関係毎の投稿の発生しやすさを表したスコアと、コミュニケーション情報と、未処理のユーザＩＤと、カテゴリとが与えられると、推薦メッセージを選択する。
【０２１３】
また、構造別推薦スコアテーブル更新処理工程を有する。
【０２１４】
しかも、推薦スコアを予め定めた閾値で閾値処理する閾値処理工程と、閾値以上のスコアを持つユーザが投稿した投稿を、返信すべき投稿であるとして推薦する推薦工程とを有する。
【０２１５】
さらに、上記実施例をプログラムの発明として把握することができる。つまり、上記実施例は、請求項１〜請求項５のいずれか１項記載の装置を構成する各手段としてコンピュータを機能させるプログラムの例である。
【符号の説明】
【０２１６】
１００…コミュニケーション活性化装置、
１０…コミュニケーション情報抽出部、
２０…３−部分グラフ情報テーブル構築部、
２１…３−部分グラフ情報テーブル更新部、
２１１…３−部分グラフマッチング部、
３０…構造別推薦スコアテーブル構築部、
３１…構造別回答数テーブル構築部、
３１１…構造別回答数テーブル更新部、
３２…構造別推薦スコア算出部、
３２１…構造別回答数期待値及び標準偏差算出部、
４０…新規メッセージ推薦部、
４１…ユーザ別推薦スコア算出部、
５０…通信部、
６０…入出力部、
７０…記録部、
Ｔ１…コミュニケーション情報テーブル、
Ｔ２…３−部分グラフ情報テーブル、
Ｔ３…構造別回答数テーブル、
Ｔ４…構造別推薦テーブル、
Ｕ…全ユーザＩＤの集合、
Ｃ…全カテゴリＩＤの集合、
Ｑｃ…メッセージ種別が、「新規」である全ての投稿、
ｑ…全ての投稿Ｑｃに含まれている各投稿、
Ｇ…３−部分グラフ情報集合、
ｘ１…１つの３−部分グラフ情報ｇｕ１のポジション、
ｘ２…１つの３−部分グラフ情報ｇｕ１のポジション、
ｓ１、ｓ２…構造フィールドの値、
Ｐｃ…投稿、
８０…外部端子、
９０…外部装置。
【図１】
2010176263.tif 000004
【図２】
2010176263.tif 000005
【図３】
2010176263.tif 000006
【図４】
2010176263.tif 000007
【図５】
2010176263.tif 000008
【図６】
2010176263.tif 000009
【図７】
2010176263.tif 000010
【図８】
2010176263.tif 000011
【図９】
2010176263.tif 000012
【図１０】
2010176263.tif 000013
【図１１】
2010176263.tif 000014
【図１２】
2010176263.tif 000015
【図１３】
2010176263.tif 000016
【図１４】
2010176263.tif 000017
【図１５】
2010176263.tif 000018
【図１６】
2010176263.tif 000019
【図１７】
2010176263.tif 000020
【図１８】
2010176263.tif 000021
【図１９】
2010176263.tif 000022
【図２０】
2010176263.tif 000023
【図２１】
2010176263.tif 000024
【図２２】
2010176263.tif 000025
【図２３】
2010176263.tif 000026
【図２４】
2010176263.tif 000027
【図２５】
2010176263.tif 000028
【図２６】
2010176263.tif 000029
【図２７】
2010176263.tif 000030
【図２８】
2010176263.tif 000031