[ユーザタイプ変化速度平均と、3−部分グラフパターン変化速度平均との和の一般式]
図1は、コミュニティにおけるコミュニケーションの性質判別装置100を示すシステム概略図である。
コミュニティにおけるコミュニケーションの性質判別装置100は、コミュニケーション情報抽出部10と、ユーザタイプ情報テーブル構築部20と、3−部分グラフ情報テーブル構築部30と、カテゴリ性質判別部40と、通信部50と、入出力部60と、記録部70とを有する。
記録部70には、コミュニケーション情報テーブル71と、ユーザタイプ情報テーブル72と、3−部分グラフ情報テーブル73とが記録されている。
ユーザタイプ情報テーブル構築部20は、ユーザタイプ情報テーブル更新部21を含む。ユーザタイプ情報テーブル更新部21は、ユーザタイプ判別部22を含む。
3−部分グラフ情報テーブル構築部30は、3−部分グラフ情報テーブル更新部31を含む。3−部分グラフ情報テーブル更新部31は、3−部分グラフマッチング部32を含む。
カテゴリ性質判別部40は、ユーザタイプ変化速度平均算出部41と、3−部分グラフパターン5−11変化速度平均算出部42と、3−部分グラフパターン11−13変化速度平均算出部43と、3−部分グラフパターン5−13変化速度平均算出部44とを有する。
図2は、実施例1におけるコミュニケーション情報テーブル71を示す図である。
コミュニケーション情報テーブル71には、カテゴリIDフィールドと、スレッドIDフィールドと、コミュニケーションIDフィールドと、発信元アドレスフィールドと、コミュニケーション時刻フィールドと、タイトルフィールドと、内容フィールドと、コミュニケーション種別フィールドとが含まれている。
上記カテゴリIDフィールドは、コミュニケーションのカテゴリを特定する識別子であり、ユーザのコミュニケーションが対象とするカテゴリに基づいて設定される。上記カテゴリは、コミュニケーション提供装置において、ユーザまたはサービスを提供している主催者によって設定されるコミュニケーション内容の分類である。これによって、ユーザは、コミュニケーションのための興味の対象を絞り込むことができる。
上記カテゴリIDは、新たなカテゴリが設定された時点で、コミュニケーション提供装置によって設定することができる。
上記スレッドIDフィールドは、コミュニケーションのスレッドを特定する識別子であり、ユーザのコミュニケーションが対象とするスレッドに基づいて設定される。上記スレッドは、1つのメッセージから派生し、連なる複数のコミュニケーションの集合である。したがって、1つのスレッド内では、元のメッセージに起因する話題がコミュニケーションの対象となっている場合が多く、ユーザは、カテゴリよりも、より詳細なコミュニケーションの興味の対象として、スレッドを選択することができる。
新規のメッセージが設定された時点で、コミュニケーション提供装置が、スレッドIDを設定することができる。
上記コミュニケーションIDフィールドは、個々のコミュニケーション(新規発信、返信および閲覧を含む)を特定する識別子であり、各コミュニケーションについて、コミュニケーション提供装置が一意に設定する。
上記発信元アドレスフィールドは、コミュニケーションしたユーザを特定する識別子を、コミュニケーション提供装置が格納する。
上記コミュニケーション時刻フィールドは、コミュニケーションを行なった時間を、コミュニケーション提供装置が記録し、設定する。たとえば、新規発信、返信、および閲覧要求を受信した時刻を、コミュニケーション提供装置が、コミュニケーション時刻フィールドに記録する。
上記タイトルフィールドは、特定のコミュニケーションから、コミュニケーションのタイトルを、コミュニケーション提供装置が抽出し、格納する。閲覧の場合、予め定めたタイトルがないことを示す情報を格納する。具体的には、「ヌル(Nu1l)」を格納する。
上記内容フィールドは、コミュニケーション提供装置が、コミュニケーションの内容を、特定のコミュニケーションから抽出し、格納する。閲覧の場合、予め定めた、コミュニケーションの内容がないことを示す情報を格納する。具体的には、「ヌル(Nu1l)」を格納する。
上記コミュニケーション種別フィールドは、行われたコミュニケーションが新規の発信であるのか(図2における「新規」)、他のメッセージに対する返信であるのか(図2における「返信」)、メッセージの閲覧であるのか(図示せず)を、コミュニケーション提供装置が判定し、設定する。以下、これらのコミュニケーション情報テーブルに格納されているデータを、「コミュニケーション情報」という。
次に、実施例1における全体の処理の流れについて説明する。
図3は、実施例1における全体の処理の流れを示すフローチャートである。
S1で、コミュニケーション情報抽出部10が、コミュニケーション情報テーブル71に記載されている情報を、記録部70から抽出する。次に、カテゴリIDフィールドの中から、未選択のカテゴリIDフィールドを選択し、選択したカテゴリIDフィールド値を、S2に受け渡し、S2以降の処理を実施する。
未選択のカテゴリIDフィールドがなければ、処理を終了する。ここでは、選択されたカテゴリIDフィールドの値をcとする。なお、コミュニティにおけるコミュニケーションの性質判別装置100が、通信部50または入出力部60を介して、外部端末80または外部装置90から、性質判別を行うコミュニティを指定する情報を取得し、そのコミュニティに対してのみ、S2〜S5の処理を実施するようにしてもよい。
S2で、コミュニケーション情報抽出部10が、コミュニケーション情報テーブル71に含まれている全ての投稿のうちで、カテゴリIDフィールドの値がcである投稿を取得し、それを、ユーザタイプ情報テーブル構築部20と3−部分グラフ情報テーブル構築部30とに受け渡す。
S3で、ユーザタイプ情報テーブル構築部20が、コミュニケーション情報抽出部10から受け渡されたコミュニケーション情報に記載されている情報に基づいて、ユーザタイプ情報テーブル72を記録部70に構築し、カテゴリ性質判別部40に受け渡す。ただし、ユーザタイプ情報テーブル構築部20は、結果であるユーザタイプ情報を、記録部70に記録せずに、他の場所に記録するようにしてもよい。
S4で、3−部分グラフ情報テーブル構築部30が、コミュニケーション情報抽出部10から受け渡されたコミュニケーション情報に記載されている情報に基づいて、3−部分グラフ情報テーブル73を記録部70に構築し、カテゴリ性質判別部40に受け渡す。ただし、3−部分グラフ情報テーブル構築部30は、結果である3−部分グラフ情報を記録部70に記録せずに、他の場所に記録するようにしてもよい。
S5で、カテゴリ性質判別部40が、ユーザタイプ情報テーブル構築部20から受け渡されたユーザタイプ情報テーブル72に記載されている情報と、3−部分グラフ情報テーブル構築部30から受け渡された3−部分グラフ情報テーブル73に記載されている情報とを用いて、カテゴリの性質を判別する。カテゴリ性質判別部40は、判別結果を記録部70に記録するようにしてもよい。
また、入出力部60を介して、上記判別結果を外部出力装置に出力するようにしてもよい。通信部50を介して、予め定められた判別結果通知先に、上記判別結果を通知するようにしてもよい。また、通信部50、ネットワークNW1を介して、外部端末80からカテゴリの性質判別の要求を受けている場合、カテゴリの性質判別要求を行った外部端末80に、上記判別結果を通知するようにしてもよい。
なお、図3に示す例では、S4よりも前に、S3を実施するが、S4をS3よりも先に実施するようにしてもよい。
ここで、ユーザのタイプを、タイプA、タイプBの2種類に定義する。タイプA・Bの説明にあたって、コミュニケーションの方向性(返信メッセージ発行者から新規メッセージ発信者へ送信すること)を考慮しながら成立したコミュニケーションを、グラフにモデル化する。なお、タイプAは、質疑応答タイプであり、タイプBは、議論タイプである。
次に、ユーザu1が新規に発信したメッセージについて、ユーザu2が返信した場合を考える。
このときに、ユーザu2は、ユーザu1に話しかけたとし、ユーザu1 、ユーザu2をノードとみなし、このようなコミュニケーションの成立を、ユーザu2からユーザu1への有向枝で表わす。つまり、あるカテゴリについて、参加しているユーザを、ノードとし、成立したコミュニケーションを、有向枝とする有向グラフの形で表わす。
また、コミュニケーション時刻フィールドのデータを参照することによって、過去のある時刻t0におけるグラフを再現することができる。
図4は、図2に示すコミュニケーション情報テーブル71に関して、各カテゴリにおける時刻2008年6月21日0時37分時点のコミュニケーションを、グラフにモデル化した例を示す図である。
図5は、時刻2008年6月21日1時9分時点のコミュニケーションを、グラフにモデル化した例を示す図である。
今、あるノードndに着目する。ノードndと直接有向枝で接続しているノードを、“距離1のノード”と呼ぶ。ノードndに対して、距離1のノードと、その間の有向枝(エッジ)からなる部分グラフとを抽出する。
図6は、このような部分グラフの例を示す図である。
図6の左右の図ともに、図中央に円で示すノードが、着目しているノードndである。このときに、図6の左に示す場合のように、その部分グラフの中心のノードndに、隣接する別のノード間にエッジがない部分グラフと、図6の右に示す場合のように、部分グラフの中心のノードndに隣接する別のノード間に、エッジがある部分グラフに着目する。
このときに、前者のノードで示されるユーザを、タイプA(質疑応答タイプ)のユーザ、後者のノードで示されるユーザを、タイプB(議論タイプ)のユーザであると定義する。
あるコミュニティに含まれているユーザを、タイプAとタイプBとのいずれに該当するのかを判定し、タイプAのユーザ数と、タイプBのユーザ数との割合に関して、時刻t0と、時刻t1(=t0+△t、△t>0)とにおけるタイプとを比較し、変化率を計算する。これによって、そこで行われているコミュニケーションの形式を予測することができる。
図7は、ユーザタイプ情報テーブル構築部20が、ユーザタイプ情報テーブル72を構築処理する流れの詳細を示すフローチャートである。
S10で、ユーザタイプ情報テーブル構築部20が、コミュニケーション情報抽出部10から受け渡されたコミュニケーション情報に記載されているカテゴリcの投稿から、最も古い投稿の時刻tc0と、最も新しい投稿の時刻tcnとを取得し、ユーザタイプ情報テーブル72を構築するための時刻(tc0,・・・,tcn)を、以下の式(1)を用いて算出する。ただし、nは、予め定めた2以上の整数である。
tci=tci−1+tcn−tc0/n …式(1)
S11で、ユーザタイプ情報テーブル構築部20が、一時変数iを用意し、この値(一時変数i)を、1に初期化する。
S12で、ユーザタイプ情報テーブル構築部20が、コミュニケーション情報抽出部10から受け渡されたコミュニケーション情報に記載されているカテゴリcの投稿のうちで、コミュニケーション時刻フィールドがtc0以上tci以下のもの(つまり、時刻tc0から時刻tciまでの間に投稿された投稿)Pc(tc0,tci)を取得し、それをユーザタイプ情報テーブル更新部21に受け渡す。ユーザタイプ情報テーブル構築部20は、このPc(tc0,tci)を、記録部70に記録するようにしてもよい。
S13で、ユーザタイブ情報テーブル更新部21が、ユーザタイプ情報テーブル構築部20から受け渡されたコミュニケーション時刻フィールドが、tc0以上tci以下のものPc(tc0,tci)に基づいて、記録部70におけるユーザタイプ情報テーブル72を更新する。
S14で、ユーザタイプ情報テーブル構築部20が、一時変数iをインクリメントする。
図8は、ユーザタイプ情報テーブル更新部21が、ユーザタイプ情報テーブル72を更新処理する流れの詳細を示すフローチャートである。
S100で、ユーザタイプ情報テーブル更新部21が、ユーザタイプ情報テーブル構築部20から受け渡されたコミュニケーション時刻フィールドが、tc0以上tci以下である投稿Pc(tc0,tci)のうちで、発信元アドレスフィールドに出現する全てのユーザの中から、S101以降の処理が未処理であるユーザを選択する。未処理かどうかを判定する他の方法として、投稿Pc(tc0,tci)に含まれている全投稿の発信元アドレスフィールドに出現する各ユーザに対して、S101以降の処理を実施したか否かを示すフラグを設け、フラグの値を参照する方法が考えられる。この場合、たとえば、S100で、全ユーザに対するフラグの値を予め定めた“S101以降の処理が未処理”であることを示す値に設定し、S101以降の処理が未処理であるユーザを、S100で選択した際に、選択したユーザに対するフラグの値を、予め定めた“S101以降の処理が処理済みであることを示す値”に設定する。
S101で、ユーザタイプ情報テーブル更新部21が、ユーザタイプ情報テーブル72に記載されている情報を、記録部70から抽出する。
S102で、ユーザタイプ情報テーブル更新部21が、ユーザタイプ情報テーブル72に記載されている情報のうちで、発信元アドレスがuであり、かつユーザタイプが「タイプB」である行が存在するかどうかを判別する。存在すれば、何もせずに、次の未処理のユーザを選択する処理に移行する。存在しなければ、ユーザタイプ情報テーブル更新部21が、コミュニケーション情報テーブル71に記載されているカテゴリcの投稿のうちで、コミュニケーション時刻フィールドがtc0以上tci以下である投稿Pc(tc0,tci)と、発信元アドレスuの値とを、ユーザタイプ判別部22に受け渡す。
S103で、ユーザタイプ判別部22が、ユーザタイプ情報テーブル更新部21から受け渡されたコミュニケーション情報テーブル71に記載されているカテゴリcの投稿のうちで、コミュニケーション時刻フィールドがtc0以上tci以下である投稿Pc(tc0,tci)と、発信元アドレスuの値とから、ユーザuのPc(tc0,tci)におけるユーザタイプを判別し、その値typec uを、ユーザタイプ情報テーブル更新部21に受け渡す。
S104で、ユーザタイプ情報テーブル更新部21が、ユーザタイプ情報テーブル構築部20から受け渡されたコミュニケーション情報テーブル71に記載されているカテゴリcの投稿のうちで、コミュニケーション時刻フィールドがtc0以上tci以下である投稿Pc(tc0,tci)と、発信元アドレスuの値とに基づいて、投稿Pc(tc0,tci)において発信元アドレスフィールドの値がuである投稿で、コミュニケーション時刻フィールドが最古の値told uを取得する。
S105で、ユーザタイプ情報テーブル更新部21が、ユーザタイプ情報テーブル72の中で、カテゴリIDフィールドの値がcであり、かつ発信元アドレスフィールドの値がuである行について、ユーザタイプをtypec uに更新し、最古投稿時刻をtold uに更新する。さらに、typec u=タイプBであれば、タイプBになった時刻をtcに更新する。typec u=タイプAであれば、タイプBになった時刻を、予め定めた値(タイプが変化した時刻がないことを示す値(たとえば、null))に更新する。
S106で、ユーザタイプ情報テーブル更新部21が、ユーザタイプ情報テーブル72に、カテゴリIDフィールドの値がc、発信元アドレスフィールドの値がu、ユーザタイプがtypec u、最古投稿時刻をtold u、typec u=タイプBであればタイプBになった時刻がtci(typec u=タイプAであれば、予め定めた値、つまり、タイプが変化した時刻がないことを示す値(たとえば、null))を含む新たな行を挿入し、次の未処理のユーザを選択する処理に戻る。
図9は、ユーザタイプ判別部22が、ユーザタイプ判別処理する流れの詳細を示すフローチャートである。
S1000で、ユーザタイプ判別部22が、ユーザタイプ情報テーブル更新部21から受け渡されたコミュニケーション情報テーブル71に記載されているカテゴリcの投稿のうちで、コミュニケーション時刻フィールドがtc0以上tci以下である投稿Pc(tc0,tci)において、発信元アドレスフィールドの値がuであり、かつコミュニケーション識別フィールドの値が「新規」である行のスレッドIDフィールドがとり得る値の全てを取得する。このスレッドIDフィールドがとり得る値のそれぞれと、スレッドIDフィールドの値とが互いに一致し、かつコミュニケーション識別フィールドの値が「返信」である行の発信元アドレスフィールドがとり得る値の全てを取得する。これを、以下では、「(A)」と表記する。つまり、ユーザuが「新規」に発信したメッセージに対して「返信」メッセージを送信したユーザを取得するために、コミュニケーション識別フィールドの値が「返信」である行の発信元アドレスフィールドがとり得る値の全てを取得する。
これと同様に、ユーザタイプ判別部22が、ユーザタイプ情報テーブル更新部21から受け渡されたコミュニケーション情報テーブル71に記載されているカテゴリcの投稿のうちで、コミュニケーション時刻フィールドがtc0以上tci以下である投稿Pco(tc0,tci)において、発信元アドレスフィールドの値がuであり、かつコミュニケーション識別フィールドの値が「返信」である行のスレッドIDフィールドがとり得る値の全てを取得し、そのスレッドIDフィールドがとり得る値のそれぞれと、スレッドIDフィールドの値とが互いに一致し、かつコミュニケーション識別フィールドの値が「新規」である行の発信元アドレスフィールドがとり得る値の全てを取得する。これを、以下では、「(B)」と表記する。
つまり、ユーザwが「返信」した相手を取得するために、コミュニケーション識別フィールドの値が「新規」である行の発信元アドレスフィールドがとり得る値の全てを取得する。
これら両者のユニオンをとって(つまり、(A)∪(B)とし)、ユーザ集合Uを取得する。
S1001で、ユーザタイブ判別部が、ユーザ集合Uに含まれている互いに異なる2ユーザの全ての組み合わせの中から、S1002以降の処理が未処理である2ユーザの組み合わせを取得する。ここで、選択された2ユーザの発信元アドレスフィールドの値が、v、wであるとする。
組み合わせが未処理であるか否かを判断する場合、“S101以降の処理が未処理のユーザを選択”する際と同様に、各組み合わせが未処理であるか否かを判断するフラグと、予め定めた処理済みであることを示す値と、未処理であることを示す値とを用いて判定するようにしてもよい。
S1002で、ユーザタイプ判別部22が、ユーザタイプ情報テーブル更新部21から受け渡されたコミュニケーション情報テーブル71に記載されているカテゴリcの投稿のうちで、コミュニケーション時刻フィールドがtc0以上tci以下である投稿Pc(tc0,tci)において、発信元アドレスフィールドの値がvであり、かつコミュニケーション識別フィールドの値が「新規」である行と、発信元アドレスフィールドの値がwでありかつコミュニケーション識別フィールドの値が「返信」である行とで、同じスレッドIDフィールドの値をもつもの(つまり、ユーザvの発信した新規メッセージにユーザwが返信したこと)があるかどうかを判別する。または、発信元アドレスフィールドの値がvであり、かつコミュニケーション識別フィールドの値が「返信」である行と、発信元アドレスフィールドの値がwであり、かつコミュニケーション識別フィールドの値が「新規」である行とで、同じスレッドIDフィールドの値をもつもの(つまり、ユーザwの発信した新規メッセージにユーザvが返信したこと)があるかどうかを判別する。
S1002で、“発信元アドレスフィールドの値がvであり、かつコミュニケーション識別フィールドの値が「新規」である行と、発信元アドレスフィールドの値がwであり、かつコミュニケーション識別フィールドの値が「返信」である行とで、スレッドIDフィールドで同じ値をもつものがある場合(A)、または、発信元アドレスフィールドの値がvであり、かつコミュニケーション識別フィールドの値が「返信」である行と、発信元アドレスフィールドの値がwであり、かつコミュニケーション識別フィールドの値が「新規」である行とで、同じスレッドIDフィールドの値をもつものがある”と判定された場合(B)、発信元アドレスフィールドの値がuであるユーザタイプtypec uは、タイプB(議論タイプ)であると判定し、ユーザタイプ判別部22は、ユーザタイプ情報テーブル更新部21にtypec u=Bとの判定結果を受け渡す。
S1002で、“発信元アドレスフィールドの値がvでありかつコミュニケーション識別フィールドの値が「新規」である行と、発信元アドレスフィールドの値がwでありかつコミュニケーション識別フィールドの値が「返信」である行とで、スレッドIDフィールドで同じ値をもつものがなく、かつ、発信元アドレスフィールドの値がvでありかつコミュニケーション識別フィールドの値が「返信」である行と、発信元アドレスフィールドの値がwでありかつコミュニケーション識別フィールドの値が「新規」である行とで、スレッドIDフィールドで同じ値をもつものもない”と判定された場合、未処理の2ユーザの組み合わせ処理(S1001)に戻る。
なお、S1001で、未処理の2ユーザの組み合わせがないと判定されると、発信元アドレスフィールドの値がuであるユーザタイプtypec uは、タイプAであると判定し、ユーザタイプ判別部22は、ユーザタイプ情報テーブル更新部21に、typec u=Aとの判定結果を受け渡す。
上記処理によって、S3で、カテゴリcに対するユーザタイプ情報テーブル72を更新する。
次に、カテゴリcに対する3−部分グラフ情報テーブル73の更新処理(S4)の詳細を説明する。
図10は、グラフ理論における一般的なグラフにおいて、連結された任意の3ノード間の有向枝の全出現パターンを示す図である。
3ノードからなる連結グラフ(以後、「3−部分グラフ」という)は、図10に示すように、13通りが得られる。なお、ノードの組み合わせが同じであり、しかも、枝(エッジ)の向きが同じである3−部分グラフは、同一の3−部分グラフであると考える。
また、各3−部分グラフのそれぞれについて、図10に示すように、1〜13の数字をふり、それぞれパターン1、パターン2と呼ぶ。上記1〜13のそれぞれをパターン番号とも呼ぶ。
図11は、3−部分グラフ情報テーブル構築部30が、3−部分グラフ情報テーブル73を構築処理する流れを詳細に示すフローチャートである。
S20で、3−部分グラフ情報テーブル構築部30が、コミュニケーション情報抽出部10から受け渡されたコミュニケーション情報に記載されているカテゴリcの投稿から、最も古い投稿の時刻tc0と、最も新しい投稿の時刻tcmとを取得し、ユーザタイプ情報テーブル72を構築のための時刻(tc0,・・・,tcm)をm点算出する。
なお、上記mは、予め定めた2以上の整数であり、図7のS11で用いた値とは異なる値であるとしてもよい。カテゴリ判別処理に要する時間が長くかかるが、精度のよいカテゴリの性質判別結果を得たい場合、mの値を大きくし、逆に結果の精度よりも処理時間を優先する場合、mの値を大きくすればよい。
以下の式(2)を用いることによって、ユーザタイプ情報テーブル72を構築するためのm点時刻(tc0,・・・,tcm)が等間隔になるように設定できる。
tci=tci−1+(tcn−tc0)/m …式(2)
また、コミュニケーション情報テーブル71を参照することによって、ユーザタイプ情報テーブル72を構築するためのm点時刻(tc0,・・・,tcm)を、それらの各間隔における投稿件数が等しくなるように、設定することもできる。
S21で、3−部分グラフ情報テーブル構築部30が、一時変数iを用意し、その値を1に初期化する。
S22で、3−部分グラフ情報テーブル構築部30が、コミュニケーション情報抽出部10から受け渡されたコミュニケーション情報に記載されているカテゴリcの投稿のうちで、コミュニケーション時刻フィールドがtc0以上tci以下である投稿Pc(tc0,tci)を取得し、それを3−部分グラフ情報テーブル更新部31に受け渡す。3−部分グラフ情報テーブル構築部30は、このPc(tc0,tci)を、記録部70に記録するようにしてもよい。
S23で、3−部分グラフ情報テーブル更新部31が、3−部分グラフ情報テーブル構築部30から受け渡されたコミュニケーション時刻フィールドがtc0以上tci以下である投稿Pc(tc0,tci)に基づいて、記録部70における3−部分グラフ情報テーブル73を更新する。
S24で、3−部分グラフ情報テーブル構築部30が、一時変数iをインクリメントする。
図12は、3−部分グラフ情報テーブル更新部31が、3−部分グラフ情報テーブル73を更新処理する流れの詳細を示すフローチャートである。
S200で、3−部分グラフ情報テーブル更新部31が、3−部分グラフ情報テーブル構築部30から受け渡されたコミュニケーション時刻フィールドがtc0以上tci以下である投稿Pc(tc0,tci)において、発信元アドレスフィールドがとり得る値の3つの全ての組み合わせを取得する。
S201で、3−部分グラフマッチング部32が、3−部分グラフ情報テーブル更新部31から受け渡されたコミュニケーション時刻フィールドがtc0以上tci以下である投稿Pc(tc0,tci)と、発信元アドレスフィールドの組み合わせ(u1,u2,u3)とに基づいて、発信元アドレスフィールドの組み合わせ(u1,u2,u3)に対応する3−部分グラフが13種類の3ノード間のエッジのパターンのうちのどれと一致するかを判別するために、パターンの番号patternu1,u2,u3を使用する。
なお、上記patternu1,u2,u3は、発信元アドレスフィールドの組み合わせ(u1,u2,u3)に対応する3−部分グラフが一致していると判別されたパターンの番号(1から13)を示す値である。
S202で、3−部分グラフ情報テーブル更新部31が、発信元アドレスフィールドの組み合わせ(u1,u2,u3)を辞書順にソートし、(ud1,ud2,ud3)を得て、3−部分グラフ情報テーブル73に、カテゴリIDフィールドの値がc、発信元アドレスフィールド1の値がud1、発信元アドレスフィールド2の値がud2、発信元アドレスフィールド3の値がud3、時刻フィールドの値がtci、3−部分グラフパターンフィールドの値がpatternu1,u2,u3である行を、3−部分グラフ情報テーブル73に挿入する。
図13は、3−部分グラフマッチング部32での3ユーザの3−部分グラフマッチング処理の流れの詳細を示すフローチャートである。
S2000で、3−部分グラフマッチング部32が、発信元アドレスフィールドの組み合わせ(u1,u2,u3)に対応する全6通りの順序(u1,u2,u3)、(u1,u3,u2)、(u2,u1,u3)、(u2,u3,u1)、(u3,u1,u2)、(u3,u2,u1)を取得する。そして、この中から未処理の順序を選択する。
未処理の順序がなければ、発信元アドレスフィールドの組み合わせ(u1,u2,u3)の3名間では、コミュニケーションを形成していないことを示す。つまり、3名のうちで、少なくとも1名は、他の2名のいずれともコミュニケーションをとっていない。すなわち、ユーザをノードで示し、返信を枝で示した部分グラフでは、少なくとも1つのノードは、他の2つのノードのいずれとも枝で直接接続していない孤立したノードである。
この場合、3−部分グラフマッチング部32は、patternu1,u2,u3に、予め定めたマッチングパターンがないことを示す値(たとえば、0)を設定し、3−部分グラフ情報テーブル更新部31に受け渡す。
S2001で、3−部分グラフマッチング部32が、3−部分グラフ情報テーブル更新部31から受け渡されたコミュニケーション時刻フィールドがtc0以上tci以下である投稿Pc(tc0,tci)に基づいて、発信元アドレスフィールドの順序(p1,p2,p3)に対応する3行3列のコミュニケーション行列Mp1,p2,p3(図には記載されていないが、強いて言えば、図14のM1と同等である)を作成する。
具体的には、コミュニケーション行列Mp1,p2,p3の各成分は、対角成分の値を*、i行j列の値がPc(tc0,tci)において発信元アドレスフィールドの値がpiでありかつコミュニケーション識別フィールドの値が「返信」である行のうちで、発信元アドレスフィールドの値がpjであり、かつコミュニケーション識別フィールドの値が「新規」である行と、スレッドIDフィールドの値が一致する投稿がある場合は、1を与え、ない場合は、0を与える。なお、コミュニケーション行列Mp1,p2,p3の対角成分の値を*で与えたが、上記対角成分の値を*以外の値を与えるようにしてもよい。
図14は、3−部分グラフマッチング処理するために必要な13種類の各パターンにおけるコミュニケーション行列Mi(i=1,・・・,13)を示す図である。
各コミュニケーション行列の各成分は、対角成分の値として*を与え、i行j列の値として、i番目のノードからj番目のノードにエッジがある場合は1、ない場合は0を与える。ただし、13種類の各パターンの各ノードに対して、上、左下、右下から順に順序を1、2、3と付ける。なお、Miの対角成分の値は、コミュニケーション行列Mp1,p2,p3と一致するように設定する。
S2002で、3−部分グラフマッチング部32が、一時変数(ループのための変数)iを用意し、その値を1に初期化する。
S2003で、3−部分グラフマッチング部32が、発信元アドレスフィールドの順序(p1,p2,p3)に対応する3行3列のコミュニケーション行列Mp1,p2,p3と、i番目のパターンを表すコミュニケーション行列Miとが、一致するかどうかを判別する。一致する場合、S2004に進む。一致しない場合、S2005に進む。
S2004で、3−部分グラフマッチング部32が、発信元アドレスフィールドの組み合わせ(u1,u2,u3)に対応する3−部分グラフパターンフィールドの値patternu1,u2,u3をiとし、patternu1,u2,u3を3−部分グラフ情報データべース更新部に受け渡す。
S2005で、3−部分グラフマッチング部32が、一時変数iをインクリメントする。
図15は、ユーザタイプ情報テーブル72の例を示す図である。
ユーザタイプ情報テーブル72には、カテゴリIDフィールドと、発信元アドレスフィールドと、ユーザタイプフィールドと、最古投稿時刻フィールドと、タイプBになった時刻フィールドとが含まれている。
上記ユーザタイプフィールドは、同一行のカテゴリIDフィールドの値に対応するカテゴリ内で、その行の発信元アドレスフィールドの値に対応するユーザに関して、そのユーザが作成したスレッドに返信したユーザおよびそのユーザの返信したスレッドを新規作成したユーザとの過去のコミュニケーションの成立状況が、ある時刻において図7に示すタイプAの構造をとるのか、タイプBの構造をとるのかを示す値が格納されている。この格納されている値は、ユーザタイプ判別部22が判定し、ユーザタイプ情報テーブル更新部21が更新する。
上記最古投稿時刻フィールドは、同一行の発信元アドレスフィールドの値に対応するユーザが、同一行のカテゴリIDフィールド内で投稿した時刻の最も古い値を、ユーザタイプ情報テーブル更新部21が格納する。
タイプBになった時刻フィールドは、同一行の発信元アドレスフィールドの値に対応するユーザが、同一行のカテゴリIDフィールドの値に対応するカテゴリ内で、ユーザタイプがBであるときに、ユーザタイプがAからBに変化した時刻が格納される。
図16は、3−部分グラフ情報テーブル73の例を示す図である。
3−部分グラフ情報テーブル73には、カテゴリIDフィールドと、発信元アドレスフィールド1と、発信元アドレスフィールド2と、発信元アドレスフィールド3と、3−部分グラフ時刻フィールドと、3−部分グラフバターンフィールドとが含まれている。
上記発信元アドレスフィールド1は、同一行の3−部分グラフを構成する3ユーザのうちで、辞書順に最も順序の早い発信元アドレスを、3−部分グラフ情報テーブル更新部31が設定する。
上記発信元アドレスフィールド2は、同一行の3−部分グラフを構成する3ユーザのうちで、辞書順に2番目に順序の早い発信元アドレスを、3−部分グラフ情報テーブル更新部31が設定する。
上記発信元アドレスフィールド3は、同一行の3−部分グラフを構成する3ユーザのうちで、辞書順に最も順序の遅い発信元アドレスを、3−部分グラフ情報テーブル更新部31が設定する。
上記3−部分グラフ時刻フィールドは、同一行の3−部分グラフがコミュニティ上で観測された時刻を、3−部分グラフ情報テーブル更新部31が設定する。
上記3−部分グラフパターンフィールドは、同一行の3−部分グラフが、図8に示す13種類のいずれと一致するかを表す値を、3−部分グラフ情報テーブル更新部31が設定する。
図17は、カテゴリ性質判別部40がカテゴリ性質判別する処理の流れを詳細に示すフローチャートである。
S30で、カテゴリ性質判別部40が、ユーザタイプ情報テーブル72に記載されている情報を、記録部70から抽出し、ユーザタイプ変化速度平均算出部41に受け渡す。また、カテゴリ性質判別部40が、3−部分グラフ情報テーブル73に記載されている情報を、記録部70から抽出し、3−部分グラフパターン5−11変化速度平均算出部42と、3−部分グラフパターン11−13変化速度平均算出部43と、3−部分グラフパターン5−13変化速度平均算出部44とに受け渡す。
S31で、ユーザタイプ変化速度平均算出部41が、カテゴリ性質判別部40から受け渡されたユーザタイプ情報テーブル72に記載されている情報に基づいて、コミュニティが議論を行う場である度合いを示す指標であるユーザタイプ変化速度平均αcを算出し、カテゴリ性質判別部40に受け渡す。
なお、コミュニティの中で議論を行うタイプ(タイプB)のユーザの数が多ければ多いほど、かつ、各議論を行うタイプのユーザがコミュニティに参加してから議論を行うタイプに変化するまでに要する時間が短ければ短いほど、ユーザタイプ変化速度平均は大きな値である。
S32で、3−部分グラフパターン5−11変化速度平均算出部42が、カテゴリ性質判別部40から受け渡されたユーザタイプ情報テーブル72に記載されている情報に基づいて、コミュニティが議論を行う場である度合いを示す指標である3−部分グラフパターン5−11変化速度平均βcを算出し、カテゴリ性質判別部40に受け渡す。
なお、3−部分グラフパターン5は、質疑応答が行われている際によく現れる3−部分グラフであり、3−部分グラフパターン11は、議論が行われている際によく現れる3−部分グラフである。
したがって、3−部分グラフパターン5から3−部分グラフパターン11への変化は、3名間のやりとりが質疑応答から議論に発展したことを示す指標である。また、3−部分グラフパターン5から3−部分グラフパターン11へ変化した3−部分グラフの数が多ければ多いほど、かつ、3−部分グラフの変化に要する時間が短ければ短いほど、3−部分グラフパターン5−11変化速度平均は大きな値である。
S33で、3−部分グラフパターン11−13変化速度平均算出部43が、カテゴリ性質判別部40から受け渡されたユーザタイプ情報テーブル72に記載されている情報に基づいて、コミュニティが議論を行う場である度合いを示す指標である3−部分グラフパターン11−13変化速度平均γcを算出し、カテゴリ性質判別部40に受け渡す。
なお、3−部分グラフパターン13は、議論が行われている際によく現れる3−部分グラフである。3−部分グラフパターン13は、3−部分グラフパターン11よりも密にコミュニケーションが行われている状態である。つまり、図10に示すように、3−部分グラフパターン11において、右下のユーザ(ノード)による発信に対して、上、左下のユーザ(ノード)は返信していないが、3−部分グラフパターン13において、右下のユーザ(ノード)による発信に対して、上、左下のユーザ(ノード)は返信している。したがって、3−部分グラフパターン11−13変化速度平均は、3−部分グラフパターン11の状態よりもさらに活発に議論が行われていることを示す指標である。
また、3−部分グラフパターン11から3−部分グラフパターン13へ変化した3−部分グラフの数が多ければ多いほど、かつ、3−部分グラフの変化に要する時間が短ければ短いほど、3−部分グラフパターン11−13変化速度平均は大きな値である。
S34で、3−部分グラフパターン5−13変化速度平均算出部44が、カテゴリ性質判別部40から受け渡されたユーザタイプ情報テーブル72に記載されている情報に基づいて、コミュニティが議論を行う場である度合いを示す指標である3−部分グラフパターン5−13変化速度平均δcを算出し、カテゴリ性質判別部40に受け渡す。
なお、3−部分グラフパターン5から3−部分グラフパターン13へ変化した3−部分グラフの数が多ければ多いほど、かつ、3−部分グラフの変化に要する時間が短ければ短いほど、3−部分グラフパターン5−13変化速度平均は大きな値である。
S35で、カテゴリ性質判別部40が、ユーザタイプ変化速度平均算出部41から受け渡されたユーザタイプ変化速度平均αcと、3−部分グラフパターン5−11変化速度平均算出部42から受け渡された3−部分グラフパターン5−11変化速度平均βcと、3−部分グラフパターン11−13変化速度平均算出部43から受け渡された3−部分グラフパターン11−13変化速度平均γcと、3−部分グラフパターン5−13変化速度平均算出部44から受け渡された3−部分グラフパターン5−13変化速度平均δcとに基づいて、カテゴリcの議論度discussion_degreecを、ユーザタイプ変化速度平均αcが大きければ大きいほど、3種類の3−部分グラフパターン変化速度平均βc、γc、δcが大きければ大きいほど、discussion_degreecが大きな値を取るように算出する。具体的には、以下の式(3)によって算出する。
discussion_degreec=αc+βc+γc+δc …式(3)
S36で、カテゴリ性質判別部40が、あるカテゴリcで行われているコミュニケーションが、議論であるか質疑応答であるかを判別するために、その議論度discussion_degreecと予め定めておいた闘値θの大小の比較を行う。
S37で、カテゴリ性質判別部40が、カテゴリcは質疑応答を行う場であると判別する。
S38で、カテゴリ性質判別部40が、カテゴリcは議論を行う場であると判別する。
図18は、ユーザタイプ変化速度平均算出部41が、ユーザタイプ変化速度平均を算出処理する流れの詳細を示すフローチャートである。
S300で、ユーザタイプ変化速度平均算出部41が、ユーザタイプ変化速度平均αcの初期値を0で与える。
S301で、ユーザタイプ変化速度平均算出部41が、カテゴリ性質判別部40から受け渡されたユーザタイプ情報テーブル72に記載されている情報を取得する。
S302で、ユーザタイプ変化速度平均算出部41が、ユーザタイプ情報テーブル72においてカテゴリIDフィールドがcであり、かつ発信元アドレスフィールドがuの行のユーザタイプフィールドの値が予め定めた「タイプB」を示す値かどうかを判別する。
S303で、ユーザタイプ変化速度平均算出部41が、ユーザタイプ情報テーブル72においてカテゴリIDフィールドがcであり、かつ発信元アドレスフィールドがuの行のユーザの最古投稿時刻フィールドの値told uと、タイプBになった時刻フィールドの値tB uとを取得する。
S304、S305で、ユーザタイプ変化速度平均算出部41が、以下の式を用いてユーザタイプ変化速度平均αcを算出する。
ただし、|U
c|は、ユーザタイプ情報テーブル72に含まれている行の総数を表す。
図19は、3−部分グラフパターン5−11変化速度平均算出部42が、3−部分グラフパターン5−11変化速度平均を算出処理する流れの詳細を示すフローチャートである。
S310で、3−部分グラフパターン5−11変化速度平均算出部42が、3−部分グラフパターン5−11変化速度平均βcの初期値を0で与える。
S311で、3−部分グラフパターン5−11変化速度平均算出部42が、カテゴリ性質判別部40が受け渡した3−部分グラフ情報テーブル73に記載の情報に含まれている、発信元アドレスフィールド1と、発信元アドレスフィールド2と、発信元アドレスフィールド3との3人のユーザによる全組み合わせを取得する。
S312で、3−部分グラフパターン5−11変化速度平均算出部42が、カテゴリ性質判別部40によって受け渡された3−部分グラフ情報テーブル73において発信元アドレスフィールド1(A1)、発信元アドレスフィールド2(A2)、発信元アドレスフィールド3(A3)の値の組み合わせがe=(u1,u2,u3)と一致する行(つまり、A1,A2,A3の組み合わせ=u1,u2,u3であり、たとえば、A1=u1、A2=u2、A3=u3である行)で、かつ3−部分グラフパターンフィールドの値が予め定めた「パターン5」を示す値の行が存在するかどうかを判定する。このような行が存在すれば、Mc e5とする。
S313で、3−部分グラフパターン5−11変化速度平均算出部42が、Mc e5の中から、3−部分グラフ時刻フィールドの値が最も古い値t5 eを抽出する。
S314で、3−部分グラフパターン5−11変化速度平均算出部42が、カテゴリ性質判別部40によって受け渡された3−部分グラフ情報テーブル73において発信元アドレスフィールド1、発信元アドレスフィールド2、発信元アドレスフィールド3の値の組み合わせがe=(u1,u2,u3)と一致する行で、かつ3−部分グラフパターンフィールドの値が予め定めた「パターン11」(図10参照)を示す値の行が存在するかどうかを判定する。このようなものが存在すれば、Mc e11とする。
S315で、3−部分グラフパターン5−11変化速度平均算出部42が、Mc e11の中から3−部分グラフ時刻フィールドの値が最も古いものt11 eを抽出する。
S316、S317で、3−部分グラフパターン5−11変化速度平均算出部42が、以下の式を用いて、3−部分グラフパターン5−11変化速度平均βcを算出する。
ただし、|E
c|は、3−部分グラフ情報テーブル73に含まれている発信元アドレスフィールド1と、発信元アドレスフィールド2と、発信元アドレスフィールド3との3人のユーザの一意な全組み合わせの総数である。
図20は、3−部分グラフパターン11−13変化速度平均算出部43が、3−部分グラフパターン11−13変化速度平均を算出処理する流れの詳細を示すフローチャートである。
S320で、3−部分グラフパターン11−13変化速度平均算出部43が、3−部分グラフパターン11−13変化速度平均γcの初期値を0で与える。
S321で、3−部分グラフパターン11−13変化速度平均算出部43が、カテゴリ性質判別部40によって受け渡された3−部分グラフ情報テーブル73に記載の情報に含まれている、発信元アドレスフィールド1と、発信元アドレスフィールド2と、発信元アドレスフィールド3との3人のユーザの一意な全組み合わせを取得する。
S322で、3−部分グラフパターン11−13変化速度平均算出部43が、カテゴリ性質判別部40によって受け渡された3−部分グラフ情報テーブル73において発信元アドレスフィールド1、発信元アドレスフィールド2、発信元アドレスフィールド3の値の組み合わせがe=(u1,u2,u3)と一致する行であり、かつ3−部分グラフパターンフィールドの値が予め定められている「パターン11」を示す値の行が存在するかどうかを判定する。このような行の集合を、Mc e11とする。
S323で、3−部分グラフパターン11−13変化速度平均算出部43が、Mc e11の中から3−部分グラフ時刻フィールドの値が最も古いものt11 eを抽出する。
S324で、3−部分グラフパターン11−13変化速度平均算出部43が、カテゴリ性質判別部40によって受け渡された3−部分グラフ情報テーブル73において発信元アドレスフィールド1、発信元アドレスフィールド2、発信元アドレスフィールド3の値の組み合わせがe=(u1,u2,u3)と一致する行であり、かつ3−部分グラフパターンフィールドの値が、予め定めた「パターン13」を示す値の行が存在するかどうかを判定する。このような行の集合を、Mc e13とする。
S325で、3−部分グラフパターン11−13変化速度平均算出部43が、Mc e13の中から3−部分グラフ時刻フィールドの値が最も古いものt13 eを抽出する。
S326、S327で、3−部分グラフパターン11−13変化速度平均算出部43が、以下の式を用いて3−部分グラフパターン11−13変化速度平均γcを算出する。
ただし、|E
c|は、3−部分グラフ情報テーブル73に含まれている発信元アドレスフィールド1と、発信元アドレスフィールド2と、発信元アドレスフィールド3との3人のユーザの一意な全組み合わせの総数を表す。
図21は、3−部分グラフパターン5−13変化速度平均算出部44が、3−部分グラフパターン5−13変化速度平均を算出処理する流れの詳細を示すフローチャートである。
S330で、3−部分グラフパターン5−13変化速度平均算出部44が、3−部分グラフパターン5−13変化速度平均δcの初期値を0で与える。
S331で、3−部分グラフパターン5−13変化速度平均算出部44が、カテゴリ性質判別部40によって受け渡された3−部分グラフ情報テーブル73に記載の情報に含まれている、発信元アドレスフィールド1と、発信元アドレスフィールド2と、発信元アドレスフィールド3との3人のユーザの一意な全組み合わせを取得する。
S332で、3−部分グラフパターン5−13変化速度平均算出部44が、カテゴリ性質判別部40によって受け渡された3−部分グラフ情報テーブル73において発信元アドレスフィールド1と、発信元アドレスフィールド2と、発信元アドレスフィールド3との値の組み合わせがe=(u1,u2,u3)と一致する行であり、かつ3−部分グラフパターンフィールドの値が予め定めた「パターン5」(図10参照)を示す値の行が存在するかどうか判定する。このような行の集合を、Mc e5とする。
S333で、3−部分グラフパターン5−13変化速度平均算出部44が、Mc e5の中から、3−部分グラフ時刻フィールドの値が最も古い3−部分グラフ情報フィールドの値t5 eを抽出する。
S334で、3−部分グラフパターン5−13変化速度平均算出部44が、カテゴリ性質判別部40によって受け渡された3−部分グラフ情報テーブル73において発信元アドレスフィールド1と、発信元アドレスフィールド2と、発信元アドレスフィールド3との値の組み合わせがe=(u1,u2,u3)と一致する行で、かつ3−部分グラフパターンフィールドの値が「パターン13」の行が存在するかどうか判定する。このような行が存在すれば、Mc e13とする。
S335で、3−部分グラフパターン5−13変化速度平均算出部44が、Mc e13の中から、3−部分グラフ時刻フィールドの値が最も占いものt13 eを抽出する。
S336、S337で、3−部分グラフパターン5−13変化速度平均算出部44が、以下の式を用いて、3−部分グラフパターン5−13変化速度平均δcを算出する。
ただし、|E
c|は、3−部分グラフ情報テーブル73に含まれている発信元アドレスフィールド1と、発信元アドレスフィールド2と、発信元アドレスフィールド3との3人のユーザの一意な全組み合わせの総数を表す。
図22は、カテゴリ性質判別の結果例を示す図である。
カテゴリ性質判別の結果テーブルには、カテゴリIDフィールドと、カテゴリ性質フィールドとが含まれている。
カテゴリ性質フィールドは、同一行のカテゴリIDフィールドの値に対応するカテゴリが、どのようなコミュニケーションの場であるのかを示す。この値は、カテゴリ性質判別部40によって判別される。
[ユーザタイプ変化速度平均と3−部分グラフパターン変化速度平均の和の一般式]
図23は、本発明の実施例2であるコミュニティにおけるコミュニケーションの性質判別装置200を示すシステム概略図である。
コミュニティにおけるコミュニケーションの性質判別装置200は、コミュニケーション情報抽出部10と、ユーザタイプ情報テーブル構築部20と、3−部分グラフ情報テーブル構築部30と、カテゴリ性質判別部40aと、通信部50と、入出力部60と、記録部70とからなる。
記録部70には、コミュニケーション情報テーブル71と、ユーザタイプ情報テーブル72と、3−部分グラフ情報テーブル73とが記録されている。
ユーザタイプ情報テーブル構築部20は、ユーザタイブ情報テーブル更新部21を含む。さらに、ユーザタイプ情報テーブル更新部21は、ユーザタイプ判別部22を含む。
3−部分グラフ情報テーブル構築部30は、3−部分グラフ情報テーブル更新部31を含む。さらに、3−部分グラフ情報テーブル更新部31は、3−部分グラフマッチング部32を含む。
カテゴリ性質判別部40aは、ユーザタイプ変化速度平均算出部41aと、3−部分グラフパターンi−j変化速度平均算出部42aとを有する。
全体の処理の流れは、実施例1と同様で、その概略は、図3に示す通りである。ここでの説明は割愛する。
ユーザタイプ情報テーブル構築部20がユーザタイプ情報テーブル72を構築する処理の流れの詳細は、実施例1と同様で、その概略は、図7に示す通りである。ここでの説明は割愛する。
ユーザタイプ情報テーブル更新部21が、ユーザタイプ情報テーブル72を更新処理する流れの詳細は、実施例1と同様で、その概略は、図8に示す通りである。ここでの説明は割愛する。
ユーザタイプ判別部22が、ユーザタイプ判別処理する流れの詳細は、実施例1と同様で、その概略は、図9に示す通りである。ここでの説明は割愛する。
3−部分グラフ情報テーブル構築部30が、3−部分グラフ情報テーブル73を構築処理する流れの詳細は、実施例1と同様で、その概略は、図11に示す通りである。ここでの説明は割愛する。
3−部分グラフ情報テーブル更新部31が、3−部分グラフ情報テーブルを更新処理する流れの詳細は、実施例1と同様で、その概略は、図12に示す通りである。ここでの説明は割愛する。
3−部分グラフマッチング部32が、3ユーザの3−部分グラフマッチング処理する流れの詳細は、実施例1と同様である。なお、3ユーザの3−部分グラフマッチング処理の概略を、図13に示してあり、ここでの説明は割愛する。
ユーザタイプ情報テーブル72の構造は、実施例1と同様で、図15に示す通りである。
3−部分グラフ情報テーブル73の構造は、実施例1と同様で、図16に示す通りである。
図24は、実施例2におけるカテゴリ性質判別部40aでのカテゴリ性質判別処理の流れの詳細を示すフローチャートである。
S40で、カテゴリ性質判別部40aが、ユーザタイプ情報テーブル72に記載されている情報を、記録部70から抽出し、ユーザタイプ変化速度平均算出部41aに受け渡す。また、カテゴリ性質判別部40aが、3−部分グラフ情報テーブル73に記載されている情報を記録部70より抽出し、3−部分グラフパターンi−j変化速度平均算出部42aに受け渡す。
S41で、ユーザタイプ変化速度平均算出部41aが、カテゴリ性質判別部40aから受け渡されたユーザタイブ情報テーブルに記載されている情報に基づいて、ユーザタイプ変化速度平均αcを算出し、カテゴリ性質判別部40aに受け渡す。
S42で、3−部分グラフパターンi−j変化速度平均算出部42aが、カテゴリ性質判別部40aから受け渡されたユーザタイプ情報テーブル72に記載されている情報に基づいて、3−部分グラフで変化する可能性のある(i,j)の組み合わせに対して、3−部分グラフパターンi−j変化速度平均ηc i,jを算出し、カテゴリ性質判別部40aに受け渡す。
図25における次数の総和は、13種類の3−部分グラフに含まれているエッジの数を表している。エッジは、時間が経過しても消えることはないので、3−部分グラフの次数の総和は、当然時間の経過に対して単調非減少である。したがって、時間が経過し、たとえば次数の総和が3であるパターン5の3−部分グラフが、次数の総和が2であるパターン2の3−部分グラフに変化することはない。また、1回の投稿で増えるエッジの数は、最大で1であるので、次数の総和が1度に2増えるようなことはない。たとえば、ある3−部分グラフが、次数の総和4のパターン11から、1度の投稿で、次数の総和6のパターン13に変化することはなく、必ずパターン12を経過する筈である。
なお、上記次数は、あるユーザが別のユーザに送信した場合に1をカウントし、また、あるユーザが別のユーザから受信した場合に1をカウントする数である。次数の総和は、上記次数の合計である。したがって、図10に示すパターン1において、右下のユーザが別の2人のユーザに送信しているので、パターン1における次数の総和は、2である。また、図10に示すパターン5は、右下のユーザがもう2人のユーザに送信し、左下のユーザが上のユーザに送信しているので、次数の総和は3である。図11のパターン11は、パターン5の送信に加えて、上のユーザが左下のユーザに送信しているので、次数の総和は4である。
図25は、13種類の3−部分グラフの変遷の全パターンを示す図である。
つまり、図25において、次数の総和の右に記載されている数字は、それぞれ、パターン番号である。すなわち、たとえば、次数の総和「2:」の右に記載されている数字1、2、4は、それぞれ、パターン番号であり、パターン1、パターン2、パターン4である。次数の総和「3:」の右に記載されている数字3、5、9、10は、それぞれ、パターン番号であり、パターン3、パターン5、パターン9、パターン10である。これらと同様に、次数の総和「4:」、「5:」、「6:」の右に記載されている数字もそれぞれパターン番号である。
そして、図25において、パターン番号1からパターン番号3、5に向かう矢印が記載されている。これは、図10に示すパターン1が、パターン3または、パターン5に変遷することを意味している。つまり、図10において、右下のユーザ(ノード)が、上、左下のユーザ(ノード)に発信する(パターン1)と、その後に、左下のユーザ(ノード)が右下のユーザ(ノード)に返信する(パターン3)か、または、左下のユーザ(ノード)が上のユーザ(ノード)に返信する(パターン5)。
図25において、所定のパターン番号から別のパターン番号に矢印が記載されていなければ、上記所定のパターン番号から上記別のパターン番号へは変遷しない。つまり、図25において、たとえばパターン番号1からパターン番号9に矢印が記載されていないので、図10に示すパターン1からパターン9へは変遷しない。
上記のようにして、パターンが変遷し、最終的には、図10に示すパターン12からPターン13に変遷し、最も密にコミュニケーションが行われる。
図10に示す13種類の3−部分グラフが時間の経過にともなって変化するパターンは、図25に示す全22種類である。n点時刻(tc0,・・・,tcn)のとりかたによっては、次数の総和が1度に2以上増加する変化パターンも検出される可能性もあるので、それを考慮して、全ての(i,j)の組み合わせは、全52通りである。なお、nは、予め定めた2以上の整数である。
S43で、カテゴリ性質判別部40aが、ユーザタイプ変化速度平均算出部41aから受け渡されたユーザタイプ変化速度平均αcと、全52通りの(i,j)に対する3−部分グラフパターンi−j変化速度平均算出部から受け渡された3−部分グラフパターンi−j変化速度平均ηc i,jとから、カテゴリcの議論度discussion_degreecを、以下の式(8)によって、定義し、算出する。
ただし、pおよびq
i,jは、予め設定した定数であり、0から1の値をとる。当然、pと全ての(i,j)に対するq
i,jの値を、0に設定すると、discussion_degree
cも常に0になるので、いずれかのpおよびq
i,jは、0以外の値に設定する。なお、議論が活発になっていることを示すパターンの変化に対応するほど、q
i,jが大きな値になるように、q
i,jを設定する。
S44で、カテゴリ性質判別部40aが、カテゴリcで行われているコミュニケーションが、議論であるか質疑応答であるかを判別するために、その議論度discussion_degreecと、予め定めておいた閾値θとについて、大小の比較を行う。
S45で、カテゴリ性質判別部40aが、カテゴリcは質疑応答を行う場であると判別する。S46で、カテゴリ性質判別部40aが、カテゴリcは議論を行う場であると判別する。
図26は、3−部分グラフパターンi−j変化速度平均算出部42aが、3−部分グラフパターンi−j変化速度平均を算出処理する流れの詳細を示すフローチャートである。
S400で、3−部分グラフパターンi−j変化速度平均算出部42aが、3−部分グラフパターンi−j変化速度平均ηc i,jの初期値を0で与える。S401で、3−部分グラフパターンi−j変化速度平均算出部42aが、カテゴリ性質判別部40aによって受け渡された3−部分グラフ情報テーブル73に記載されている情報に含まれる、発信元アドレスフィールド1と、発信元アドレスフィールド2と、発信元アドレスフィールド3との3人のユーザの一意な全組み合わせを取得する。
S402で、3−部分グラフパターンi−j変化速度平均算出部42aが、カテゴリ性質判別部40aによって受け渡された3−部分グラフ情報テーブル73の行において発信元アドレスフィールド1と、発信元アドレスフィールド2と、発信元アドレスフィールド3との値の組み合わせがe=(u1,u2,u3)と一致する行であり、かつ3−部分グラフパターンフィールドの値が「パターンi」の行が存在するかどうかを判定する。そのようなものが存在すれば、Mc eiとする。
S403で、3−部分グラフパターンi−j変化速度平均算出部42aが、Mc eiの中から、3−部分グラフ時刻フィールドの値が最も古い時刻ti eを抽出する。
S404で、3−部分グラフパターンi−j変化速度平均算出部42aが、カテゴリ性質判別部40aによって受け渡された3−部分グラフ情報テーブル73において発信元アドレスフィールド1と、発信元アドレスフィールド2と、発信元アドレスフィールド3との値の組み合わせがe=(u1,u2,u3)と一致する行で、かつ3−部分グラフパターンフィールドの値が「パターンj」の3−部分グラフ情報テーブルの行が存在するかどうかを判定する。このような3−部分グラフ情報テーブルの行が存在すれば、Mc ejとする。
S405で、3−部分グラフパターンi−j変化速度平均算出部42aが、Mc ejの中から、3−部分グラフ時刻フィールドの値が最も古い時刻tj eを抽出する。
S406、S407で、3−部分グラフパターンi−j変化速度平均算出部42aが、以下の式を用いて、3−部分グラフパターンi−j変化速度平均ηc i,jを算出する。
ただし、|E
c|は、3−部分グラフ情報テーブル73に含まれている発信元アドレスフィールド1と、発信元アドレスフィールド2と、発信元アドレスフィールド3との3人のユーザの一意な全組み合わせの総数を表す。
なお、上記実施例において、式(4)に示すユーザタイプ変化速度平均αcのみを用いて、議論の場である度合いを算出するようにしてもよい。また、上記実施例において、3−部分グラフパターン5−11変化速度平均βcと、3−部分グラフパターン11−13変化速度平均γcと、3−部分グラフパターン5−13変化速度平均δcとの組み合わせを用いて、議論の場である度合いを算出するようにしてもよい。
なお、上記実施例は、コミュニティの中で議論タイプのユーザの数を検出する議論タイプユーザ数検出手段と、ユーザがコミュニティに参加してから議論タイプに変化するまでに要した時間を検出する時間検出手段と、コミュニティの中で議論タイプのユーザが多ければ多いほど、しかも、各ユーザがコミュニティに参加してから議論タイプに変化するまでに要した時間が短ければ短いほど、そのコミュニティは議論の場である度合いが高いと判定する判定手段を有することを特徴とするコミュニティにおけるコミュニケーションの性質発見装置の例である。
この場合、上記議論の場である度合いは、ユーザタイプ変化速度平均cであり、このユーザタイプ変化速度平均cを、上記式(4)で算出する。ただし、|Uc|は、ユーザタイプ情報テーブル72を表す。
また、上記実施例は、コミュニティの中で議論タイプのユーザの数を検出する議論タイプユーザ数検出手順と、ユーザがコミュニティに参加してから議論タイプに変化するまでに要した時間を検出する時間検出手順と、コミュニティの中で議論タイプのユーザが多ければ多いほど、しかも、各ユーザがコミュニティに参加してから議論タイプに変化するまでに要した時間が短ければ短いほど、そのコミュニティは議論の場である度合いが高いと判定する判定手順とをコンピュータに実行させるプログラムの例である。
さらに、上記実施例は、コミュニティ内に参加しているユーザの中から3名のユーザ組み合わせのパターンである3−部分グラフであって、コミュニティの中で、議論が活発化していることを示す変化を起こした3−部分グラフの数を検出する3−部分グラフ数検出手段と、議論活発化に要した時間を検出する議論活発化検出手段と、コミュニティの中で議論が活発化していることを示す変化を起こした3−部分グラフの数が多ければ多いほど、しかも、議論活発化に要した時間が短ければ短いほど、そのコミュニティは議論の場である度合いが高いと判定する判定手段とを有することを特徴とするコミュニティにおけるコミュニケーションの性質発見装置の例である。
この場合、13種類の上記3−部分グラフで形成される52通りの遷移に対して、議論が活発である度合いを示す値を予め付与する。また、上記議論の場である度合いは、上記式(5)で示す3−部分グラフパターン5−11変化速度平均βc、上記式(6)で示す3−部分グラフパターン11−13変化速度平均γc、上記式(7)で示す3−部分グラフパターン5−13変化速度平均δcの和である。
また、上記実施例は、コミュニティ内に参加しているユーザの中から3名のユーザ組み合わせのパターンである3−部分グラフであって、コミュニティの中で、議論が活発化している3−部分グラフの数を検出し、記憶装置に記憶する3−部分グラフ数検出手順と、議論活発化に要した時間を検出し、記憶装置に記憶する議論活発化検出手順と、コミュニティの中で議論が活発化している3−部分グラフの数が多ければ多いほど、しかも、議論活発化に要した時間が短ければ短いほど、そのコミュニティは議論の場である度合いが高いと判定する判定手順とをコンピュータに実行させるプログラムの例である。
また、この場合、13種類の上記3−部分グラフで形成される52通りの遷移に対して、議論が活発である度合いを示す値を予め付与する手順をコンピュータに実行させるプログラムの例である。
さらに、上記議論の場である度合いは、上記で示す3−部分グラフパターン5−11変化速度平均βc、上記式(6)で示す3−部分グラフパターン11−13変化速度平均γc、上記式(7)で示す3−部分グラフパターン5−13変化速度平均δcの和であるプログラムの例である。
つまり、上記実施例は、上記コミュニティにおけるコミュニケーションの性質発見装置を構成する各手段としてコンピュータを機能させるプログラムの例である。
そして、上記実施例において、各手段を工程に変更すると、コミュニティにおけるコミュニケーションの性質発見方法の発明として把握することができる。