(57)【要約】【課題】今まで接点のなかったユーザ同士をメンバーに含むようなコミュニティを形成することができるコミュニティ形成システムを提供する。【解決手段】コミュニケーションサービスを利用する複数のユーザごとに少なくとも所属グループと各種のプロフィール情報とを属性名と属性値のペアからなる集合として表現したユーザ情報３１０を、ユーザ間でのメッセージの送信者と受信者の情報を含むメッセージログ３２０とともに記憶する。この状態でメッセージログ３２０でコミュニケーションが頻繁な複数のユーザの集合をクラスタとし、複数のクラスタから新規クラスタ形成の基になるクラスタ対の候補を選択する。この選択されたクラスタ対のユーザ情報３１０からコミュニティを特徴付けるよう共通するトピック属性を検出する。この検出されたトピック属性で対象のクラスタ対を選択的に併合してコミュニティを形成する。【選択図】図１
2010286868.tif 000002
【特許請求の範囲】
【請求項１】
コミュニケーションサービスを利用する複数のユーザごとに少なくとも所属グループと各種のプロフィール情報とを属性名と属性値のペアからなる集合として表現したユーザ情報を、複数の前記ユーザ間でのメッセージの送信者と受信者の情報を含むメッセージログとともに記憶するデータ記憶装置と、
前記メッセージログでコミュニケーションが頻繁な複数の前記ユーザの集合をクラスタとして、複数の前記クラスタから新規クラスタ形成の基になるクラスタ対の候補を選択するクラスタ検出手段と、
選択された前記クラスタ対の前記ユーザ情報からコミュニティを特徴付けるよう共通するトピック属性を検出するクラスタ対比較手段と、
検出された前記トピック属性を用いて対象の前記クラスタ対を選択的に併合して前記コミュニティを形成するコミュニティ選択手段と、
を有するコミュニティ形成システム。
【請求項２】
前記クラスタ対比較手段は、前記クラスタ対の前記トピック属性を検出するときに前記クラスタを構成する前記ユーザの多数が共通して持っている前記属性値の情報を用いる請求項１に記載のコミュニティ形成システム。 
【請求項３】
前記コミュニティ選択手段は、前記クラスタ対の選択基準の中に前記ユーザ間のリンク関係を含める請求項１または２に記載のコミュニティ形成システム。 
【請求項４】
請求項１ないし３の何れか一項に記載のコミュニティ形成システムのコミュニティ形成装置であって、
前記メッセージログでコミュニケーションが頻繁な複数の前記ユーザの集合をクラスタとして、複数の前記クラスタから新規クラスタ形成の基になるクラスタ対の候補を選択するクラスタ検出手段と、
選択された前記クラスタ対の前記ユーザ情報からコミュニティを特徴付けるよう共通するトピック属性を検出するクラスタ対比較手段と、
検出された前記トピック属性を用いて対象の前記クラスタ対を選択的に併合して前記コミュニティを形成するコミュニティ選択手段と、
を有するコミュニティ形成装置。
【請求項５】
請求項４に記載のコミュニティ形成装置のためのコンピュータプログラムであって、
前記メッセージログでコミュニケーションが頻繁な複数の前記ユーザの集合をクラスタとして、複数の前記クラスタから新規クラスタ形成の基になるクラスタ対の候補を選択するクラスタ検出処理と、
選択された前記クラスタ対の前記ユーザ情報からコミュニティを特徴付けるよう共通するトピック属性を検出するクラスタ対比較処理と、
検出された前記トピック属性を用いて対象の前記クラスタ対を選択的に併合して前記コミュニティを形成するコミュニティ選択処理と、
をコミュニティ形成装置に実行させるコンピュータプログラム。
【請求項６】
請求項４に記載のコミュニティ形成装置のデータ処理方法であって、
前記メッセージログでコミュニケーションが頻繁な複数の前記ユーザの集合をクラスタとして、複数の前記クラスタから新規クラスタ形成の基になるクラスタ対の候補を選択するクラスタ検出動作と、
選択された前記クラスタ対の前記ユーザ情報からコミュニティを特徴付けるよう共通するトピック属性を検出するクラスタ対比較動作と、
検出された前記トピック属性を用いて対象の前記クラスタ対を選択的に併合して前記コミュニティを形成するコミュニティ選択動作と、
を有するデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの集まりをコミュニティとして顕在化するコミュニティ形成システムに関し、特に既存の活発なコミュニティを併合するためのトピックを検出するコミュニティ形成システム、そのコミュニティ形成装置、そのデータ処理方法およびコンピュータプログラム、に関する。
【背景技術】
【０００２】
現在提案されているコミュニティ形成システムは、例えば、図１０に示すように、各ユーザが使用するパーソナルコンピュータ（ＰＣ）１１０、それらのＰＣ１１０に各種の情報処理サービスを提供するメールサーバ１２０、ローカルエリアネットワーク（ＬＡＮ）１００内のユーザやインターネット上のユーザのウェブ（Ｗｅｂ）ページを提供するウェブサーバ１３０、ＰＣ１１０上のユーザに対して電子メールの送受信サービスを提供するメールサーバ１４０、コミュニティ形成装置２００から構成されている。
【０００３】
ここで、コミュニティ形成装置２００は、メール監視部１５２、分析部１５４、サービス登録部１５６を備える。このような構成を有する従来のコミュニティ形成システムは次のように動作する。
【０００４】
メール監視部１５２は、ＬＡＮ１００上に流れる電子メールのヘッダ情報および本文の引用情報を元に、当該電子メールの転送関係を抽出する。ここで、転送関係とは、当該電子メールを受け取ってきたユーザの履歴を指す。
【０００５】
分析部１５４は、メール監視部１５２によって抽出されたメール転送関係およびメール中のキーワードを元に、共通の話題を持つユーザの集まりをコミュニティとして抽出する。
【０００６】
サービス登録部１５６は、抽出されたコミュニティのためのウェブページを開設し、コミュニティの各メンバーに対して開設を通知する。この従来のコミュニティ形成システムは、すでに相互作用が行われているユーザの集まりをコミュニティとして顕在化することで、コミュニティの形成や成長を支援するものである（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−２４４６４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上述のようなコミュニティ形成システムでは、今まで接点のなかったユーザ同士を含むコミュニティを形成することが困難である。その理由は、コミュニティの抽出をユーザ同士の過去のコミュニケーション履歴に基づいて行うために、過去に接点のなかったユーザ同士は同一コミュニティには入らないためである。
【０００９】
より単純な方法として、ユーザのプロフィール情報を参照して、類似した属性を持つユーザの集まりをコミュニティとして抽出する方法もありうる。しかし、そのような方法では過去のコミュニケーション履歴は考慮されないので、形成されたコミュニティ上で活発なやりとりが行われることは期待できない。
【００１０】
また、上述のようなコミュニティ形成システムでは、異なるグループ同士を結び付ける形でコミュニティを形成することも困難である。ここで、グループとは、例えば企業における従業員の所属部門のように、特定の属性に基づいて集められたユーザの集団を指す。その理由は、コミュニティを形成するときに、その構成員であるユーザの所属情報が考慮されないためである。
【００１１】
本発明は上述のような課題に鑑みてなされたものであり、今まで接点のなかったユーザ同士をメンバーに含むようなコミュニティを形成することができ、異なるグループ同士を結び付ける形でコミュニティを形成することができる、コミュニティ形成システム、そのコミュニティ形成装置、そのデータ処理方法およびコンピュータプログラム、を提供するものである。
【課題を解決するための手段】
【００１２】
本発明のコミュニティ形成システムは、コミュニケーションサービスを利用する複数のユーザごとに少なくとも所属グループと各種のプロフィール情報とを属性名と属性値のペアからなる集合として表現したユーザ情報を、複数のユーザ間でのメッセージの送信者と受信者の情報を含むメッセージログとともに記憶するデータ記憶装置と、メッセージログでコミュニケーションが頻繁な複数のユーザの集合をクラスタとして、複数のクラスタから新規クラスタ形成の基になるクラスタ対の候補を選択するクラスタ検出手段と、選択されたクラスタ対のユーザ情報からコミュニティを特徴付けるよう共通するトピック属性を検出するクラスタ対比較手段と、検出されたトピック属性を用いて対象のクラスタ対を選択的に併合してコミュニティを形成するコミュニティ選択手段と、を有する。
【００１３】
本発明のコミュニティ形成装置は、本発明のコミュニティ形成システムのコミュニティ形成装置であって、メッセージログでコミュニケーションが頻繁な複数のユーザの集合をクラスタとして、複数のクラスタから新規クラスタ形成の基になるクラスタ対の候補を選択するクラスタ検出手段と、選択されたクラスタ対のユーザ情報からコミュニティを特徴付けるよう共通するトピック属性を検出するクラスタ対比較手段と、検出されたトピック属性を用いて対象のクラスタ対を選択的に併合してコミュニティを形成するコミュニティ選択手段と、を有する。
【００１４】
本発明のコンピュータプログラムは、本発明のコミュニティ形成装置のためのコンピュータプログラムであって、メッセージログでコミュニケーションが頻繁な複数のユーザの集合をクラスタとして、複数のクラスタから新規クラスタ形成の基になるクラスタ対の候補を選択するクラスタ検出処理と、選択されたクラスタ対のユーザ情報からコミュニティを特徴付けるよう共通するトピック属性を検出するクラスタ対比較処理と、検出されたトピック属性を用いて対象のクラスタ対を選択的に併合してコミュニティを形成するコミュニティ選択処理と、をコミュニティ形成装置に実行させる。
【００１５】
本発明のデータ処理方法は、本発明のコミュニティ形成装置のデータ処理方法であって、メッセージログでコミュニケーションが頻繁な複数のユーザの集合をクラスタとして、複数のクラスタから新規クラスタ形成の基になるクラスタ対の候補を選択するクラスタ検出動作と、選択されたクラスタ対のユーザ情報からコミュニティを特徴付けるよう共通するトピック属性を検出するクラスタ対比較動作と、検出されたトピック属性を用いて対象のクラスタ対を選択的に併合してコミュニティを形成するコミュニティ選択動作と、を有するデータ処理方法。
【００１６】
なお、本発明の各種の構成要素は、その機能を実現するように形成されていればよく、例えば、所定の機能を発揮する専用のハードウェア、所定の機能がコンピュータプログラムにより付与されたコミュニティ形成システム、コンピュータプログラムによりコミュニティ形成システムに実現された所定の機能、これらの任意の組み合わせ、等として実現することができる。
【００１７】
また、本発明の各種の構成要素は、必ずしも個々に独立した存在である必要はなく、複数の構成要素が一個の部材として形成されていること、一つの構成要素が複数の部材で形成されていること、ある構成要素が他の構成要素の一部であること、ある構成要素の一部と他の構成要素の一部とが重複していること、等でもよい。
【００１８】
また、本発明のコンピュータプログラムおよびデータ処理方法は、複数の処理および動作を順番に記載してあるが、その記載の順番は複数の処理および複数の動作を実行する順番を限定するものではない。
【００１９】
このため、本発明のコンピュータプログラムおよびデータ処理方法を実施するときには、その複数の処理および複数の動作の順番は内容的に支障しない範囲で変更することができる。
【００２０】
さらに、本発明のコンピュータプログラムおよびデータ処理方法は、複数の処理および複数の動作が個々に相違するタイミングで実行されることに限定されない。このため、ある処理および動作の実行中に他の処理および動作が発生すること、ある処理および動作の実行タイミングと他の処理および動作の実行タイミングとの一部ないし全部が重複していること、等でもよい。
【発明の効果】
【００２１】
本発明のコミュニティ形成システムでは、コミュニケーションサービスを利用する複数のユーザごとに少なくとも所属グループと各種のプロフィール情報とを属性名と属性値のペアからなる集合として表現したユーザ情報を、ユーザ間でのメッセージの送信者と受信者の情報を含むメッセージログとともにデータ記憶装置が記憶する。このような状態で、メッセージログでコミュニケーションが頻繁なユーザの集合をクラスタとして、複数のクラスタから新規クラスタ形成の基になるクラスタ対の候補をクラスタ検出手段が選択する。このように選択されたクラスタ対のユーザ情報からコミュニティを特徴付けるよう共通するトピック属性をクラスタ対比較手段が検出する。この検出されたトピック属性を用いて対象のクラスタ対をコミュニティ選択手段が選択的に併合してコミュニティを形成する。従って、今まで接点のなかったユーザ同士をメンバーに含むようなコミュニティを形成することができ、異なるグループ同士を結び付ける形でコミュニティを形成することができる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態のコミュニティ形成システムの論理構造を示す模式的なブロック図である。
【図２】ユーザ情報のデータ構造を示す模式図である。
【図３】メッセージログに格納されるデータ構造を示す模式図である。
【図４】本発明の全体の動作を説明する模式的なブロック図である。
【図５】クラスタ検出手段の動作手順を説明するフローチャートである。
【図６】クラスタ検出手段およびコミュニティ選択手段のデータ構造を説明する模式的なブロック図である。
【図７】クラスタ対比較手段の動作手順を説明するフローチャートである。
【図８】クラスタ対比較手段およびコミュニティ選択手段のデータ構造を説明する模式図である。
【図９】コミュニティ選択手段の動作手順を説明するフローチャートである。
【図１０】従来のコミュニティ形成支援システムの構成を示すブロック図である。
【発明を実施するための形態】
【００２３】
本発明の実施の一形態を図面を参照して以下に説明する。本発明の実施の形態のコミュニティ形成システムは、図１を参照すると、コミュニケーションサービスを利用する複数のユーザごとに少なくとも所属グループと各種のプロフィール情報とを属性名と属性値のペアからなる集合として表現したユーザ情報３１０を、複数のユーザ間でのメッセージの送信者と受信者の情報を含むメッセージログ３２０とともに記憶するデータ記憶装置３００と、メッセージログ３２０でコミュニケーションが頻繁な複数のユーザの集合をクラスタとして、複数のクラスタから新規クラスタ形成の基になるクラスタ対の候補を選択するクラスタ検出手段２１０と、選択されたクラスタ対のユーザ情報３１０からコミュニティを特徴付けるよう共通する属性値として検出するクラスタ対比較手段２２０と、検出されたトピック属性を用いて対象のクラスタ対を選択的に併合してコミュニティを形成するコミュニティ選択手段２３０と、を有する。
【００２４】
より具体的には、本実施の形態のコミュニティ形成システムは、コミュニケーションサーバ１１００と、コミュニティ形成装置２００と、データ記憶装置３００と、少なくとも一個の利用者端末４００と、少なくとも一個の管理者端末５００と、を備える。
【００２５】
このうち、コミュニケーションサーバ１１００、コミュニティ形成装置２００、利用者端末４００、管理者端末５００は、プログラム制御により動作するコンピュータである。コミュニケーションサーバ１１００と、コミュニティ形成装置２００と、利用者端末４００と、管理者端末５００は、通信ネットワーク６００を介して相互に接続される。
【００２６】
ここで、通信ネットワーク６００はイーサネット（Ethernet、登録商標）などのローカルエリアネットワーク（ＬＡＮ）でもよいし、インターネット（the Internet）などの広域ネットワーク（ＷＡＮ）でもよい。
【００２７】
利用者端末４００および管理者端末５００は、典型的にはＷｅｂブラウザが動作するパーソナルコンピュータであって、ＨＴＴＰ（Hypertext Transfer Protocol）などの通信プロトコルを介してコミュニケーションサーバ１１００およびコミュニティ形成装置２００との間で通信する。
【００２８】
コミュニケーションサーバ１１００と、コミュニティ形成装置２００は、同一のデータ記憶装置３００に接続される。データ記憶装置３００の一例は、ＮＦＳ（Network File System）プロトコルを用いてファイルへの読み書きが行われるＮＡＳ（Network Attached Storage）装置である。
【００２９】
図１では、これらの構成要素間は専用のネットワークを用いて相互に接続されるが、通信ネットワーク６００に直接にデータ記憶装置３００が接続される形態でもよい。本実施の形態のコミュニティ形成システムでは、データ記憶装置３００内に、ユーザ情報３１０とメッセージログ３２０が事前に格納されていることを前提とする。
【００３０】
ユーザ情報３１０とは、コミュニケーションサービスの各利用者（ユーザ）について、所属グループと、その他のプロフィール情報を、属性名と属性値のペアからなる集合として表現したものである。
【００３１】
メッセージログ３２０とは、ユーザ間で過去にコミュニケーションサーバ１１００を通して送受信されたメッセージの記録であり、各メッセージについて送信者と受信者の情報を含む。
【００３２】
コミュニケーションサーバ１１００は、ユーザ登録手段１１１０と、メッセージ送受信手段１１２０とを含む。ユーザ登録手段１１１０は、利用者端末４００を通して、新規ユーザの情報を受け取り、その内容をデータ記憶装置３００内にユーザ情報３１０として格納する。
【００３３】
メッセージ送受信手段１１２０は、利用者端末４００を通してユーザから入力されたメッセージを受け取るとともに、他の利用者端末４００からの要求に対してそのメッセージを送信することにより、複数の利用者端末４００間でメッセージを配布する。さらに、メッセージ送受信手段１１２０は、利用者端末４００から受け取ったメッセージの内容を、データ記憶装置３００内にメッセージログ３２０として蓄積する。
【００３４】
コミュニケーションサーバ１１００の具体例は、既存のブログ（Blog）ソフトウェアが動作するサーバ装置であり、ブログソフトウェアの機能としてユーザ登録手段１１１０およびメッセージ送受信手段１１２０を備える。
【００３５】
コミュニティ形成装置２００は、クラスタ検出手段２１０と、クラスタ対比較手段２２０と、コミュニティ選択手段２３０と、を含む。クラスタ検出手段２１０は、データ記憶装置３００内のメッセージログ３２０から、密にコミュニケーションが行われているユーザの集まり、すなわちクラスタを抽出し、クラスタ検出手段２１０により抽出されたクラスタの中から、新規クラスタ形成の基になるクラスタ対の候補を選択する。
【００３６】
本実施の形態のコミュニティ形成システムは、ユーザ情報３１０とメッセージログ３２０を入力して受け取り、クラスタ検出手段２１０、クラスタ対比較手段２２０、コミュニティ選択手段２３０を順に適用することにより、新規コミュニティを構成するユーザのリストと、そのコミュニティのトピック（話題）を出力する。
【００３７】
クラスタ検出手段２１０は、メッセージログ３２０の情報から、過去にメッセージのやりとりを頻繁に行ったユーザの集まりを抽出する。前述の特許文献１では、同様の手順で抽出されたユーザの集まりをコミュニティと呼称しているが、ここでは後述のコミュニティ選択手段２３０によって形成するコミュニティと区別するために、クラスタ（Cluster）と呼称する。
【００３８】
クラスタ対比較手段２２０は、クラスタ対の候補に含まれるユーザについて、データ記憶装置３００に格納されているユーザ情報３１０を参照して、共通するトピック属性を検出する。
【００３９】
クラスタ対比較手段２２０は、クラスタ検出手段２１０によって検出されたクラスタの集まりの中から、二つずつ一対にして取り出し、それらを併合して一つのコミュニティを形成する場合のトピック属性を選択する。
【００４０】
ここで、コミュニティとは、コミュニケーションサービス上に作られる、特定の話題、すなわちトピックに関して情報交換することを目的としたユーザの集まりを指す。ここで、トピックは、ユーザ情報３１０における特定の属性名と属性値のペア、つまり、トピック属性として表現される。
【００４１】
クラスタとの違いは、コミュニティに所属するユーザ間で事前にコミュニケーション関係が存在するとは限らないことと、特定のトピックに関連付けられることである。ここで、トピックを選択する基準として、クラスタ対の中に、プロフィール情報としてそのトピックを持つユーザが共通して多く含まれるという事実を用いる。
【００４２】
コミュニティ選択手段２３０は、クラスタ対比較手段２２０によるトピック属性の検出結果を用いて、新規コミュニティの属性名と属性値を出力する。コミュニティ選択手段２３０は、クラスタ対比較手段２２０によってトピック属性が付加されたクラスタ対の集まりを入力として、その中から新規コミュニティとして最も適したものを選択する。
【００４３】
さらに、そのクラスタ対に関連付けられたトピック属性とともに、クラスタ対に含まれるユーザのうち、プロフィール情報中にそのトピックを持つユーザのリストを出力する。主力に含まれるユーザのリストは、新規コミュニティを構成するメンバーとなる。
【００４４】
ここで、クラスタ対を選択する基準として、同じトピックを持つユーザが両クラスタに多く含まれていることに加えて、同一グループに所属するユーザが少ないという事実を用いる。
【００４５】
コミュニティ形成システムの出力であるトピック属性とメンバーリストの利用方法については、いくつかの方法がありうる。一つは、最上位のクラスタ対について、出力結果であるトピック属性とメンバーリストを用いて機械的に新規コミュニティを作成する方法である。
【００４６】
別の方法は、上位数件のクラスタ対についてトピック属性とメンバーリストを出力し、本システムを操作する管理者がその中から実際に作成するコミュニティを選択するという方法である。
【００４７】
データ記憶装置３００は、ユーザ情報３１０と、メッセージログ３２０とを格納する。ユーザ情報３１０は、本システムのユーザについてのプロフィール情報であり、前述のユーザ登録手段１１１０により格納される。メッセージログ３２０は、ユーザによるメッセージ送信および受信の履歴であり、前述のメッセージ送受信手段１１２０により格納される。
【００４８】
上述のような構成において、本実施の形態のコミュニティ形成装置２００は、既存のクラスタ対を併合する形でコミュニティを形成するようなトピックを出力する。以下に本実施の形態の動作について詳細に説明する。
【００４９】
［コミュニケーションサーバ１１００］
コミュニケーションサーバ１１００に対しては、通信ネットワーク６００を介して、利用者端末４００から、ユーザ登録要求、メッセージ書き込み要求、メッセージ読み出し要求、のいずれかの要求が送られる。
【００５０】
ここで、ユーザ登録要求には、ユーザを一意に識別するユーザＩＤと、ユーザの所属グループ名と、その他のプロフィール情報が含まれる。コミュニケーションサーバ１１００のユーザ登録手段１１１０は、ユーザ登録要求に含まれる情報を、データ記憶装置３００中のユーザ情報３１０に追加する。
【００５１】
図２に、ユーザ情報３１０の具体例を示す。この例では、所属グループとして所属部門の情報が使われ、プロフィール情報として勤務地、保有スキル、趣味、好きな食べ物が含まれる。
【００５２】
メッセージ書き込み要求には、メッセージの送信者を示すユーザＩＤと、メッセージ本文が最低限含まれる。それ以外に、そのメッセージを関連付ける他のメッセージを識別するＩＤ、またはメッセージ送信先のユーザＩＤが含まれる場合もある。
【００５３】
例えば、ブログシステムの場合、メッセージはブログ記事あるいはコメントに相当し、ブログ記事へのコメントは、その記事を書いたユーザに対するメッセージとみなすことができる。
【００５４】
コミュニケーションサーバ１１００のメッセージ送受信手段１１２０は、受け取ったメッセージ書き込み要求の内容をデータ記憶装置３００中のメッセージログ３２０に追記する。
【００５５】
図３に、メッセージログ３２０の具体例を示す。この例は、ブログシステムを前提としている。コメント番号は、記録されたメッセージを一意に識別する番号である。記事著者は、ブログ記事の著者を示すユーザＩＤである。
【００５６】
記事番号は、記事著者との組み合わせブログ記事を一意に識別する番号である。コメント記入者は、当該ブログ記事に対してコメントを記入したユーザを識別するユーザＩＤである。
【００５７】
コメント記入者が空欄になっている行は、ブログ記事本文に相当し、コメント記入者の内容が入っている行は、ブログ記事へのコメントに相当する。メッセージ本文は、ブログ記事あるいはそれに対するコメントの文章である。
【００５８】
メッセージ読み出し要求には、メッセージを特定するための情報が含まれる。図３の例では、メッセージを特定するための情報として、記事著者、あるいは記事著者と記事番号の組、あるいはコメント番号を用いることができる。
【００５９】
メッセージ送受信手段１１２０は、メッセージログ３２０から、メッセージ読み出し要求に含まれる情報に対応するメッセージの内容を参照し、その内容を要求元の利用者端末４００に送信する。
【００６０】
［コミュニティ形成装置２００：全体の動作の流れ］
本実施の形態のコミュニティ形成システムでは、データ記憶装置３００が、コミュニケーションサービスを利用する複数のユーザごとに少なくとも所属グループと各種のプロフィール情報とを属性名と属性値のペアからなる集合として表現したユーザ情報３１０を、ユーザ間でのメッセージの送信者と受信者の情報を含むメッセージログ３２０とともに記憶する。
【００６１】
このような状態で、メッセージログ３２０でコミュニケーションが頻繁なユーザの集合をクラスタとして、複数のクラスタから新規クラスタ形成の基になるクラスタ対の候補をクラスタ検出手段２１０が選択する。
【００６２】
このように選択されたクラスタ対のユーザ情報３１０からコミュニティを特徴付けるよう共通するトピック属性をクラスタ対比較手段２２０が検出する。この検出されたトピック属性を用いて対象のクラスタ対をコミュニティ選択手段２３０が選択的に併合してコミュニティを形成する。
【００６３】
より詳細には、図４を参照して、コミュニティ形成装置２００の全体の動作の流れを説明する。図４の矢印は、情報の流れる向きを示す。
【００６４】
１．本システムの管理者は、管理者端末５００を通して、コミュニティ形成装置２００に対してコミュニティ形成要求を送信する。送信されたコミュニティ形成要求を、コミュニティ形成装置２００のクラスタ検出手段２１０が受け取る。
【００６５】
２．クラスタ検出手段２１０は、データ記憶装置３００中のメッセージログ３２０を参照し、その内容に基づいてユーザをクラスタ化し、その結果をコミュニティ選択手段２３０に渡す。
【００６６】
ここで、ユーザのクラスタ化とは、メッセージの交換頻度に基づいてユーザを複数の集まり、すなわちクラスタに分割する処理を指す。コミュニティ選択手段２３０が受け取るのは、クラスタの集まりであり、各クラスタはユーザＩＤの集まりとして表現される。
【００６７】
３．コミュニティ選択手段２３０は、クラスタ検出手段２１０から渡された各クラスタに所属する各ユーザについて、ユーザ情報３１０中の所属グループ名を参照し、その内容に基づいてクラスタ対の集まりを出力し、それをクラスタ対比較手段２２０に渡す。ここで、クラスタ対とは、二つの既存のクラスタを指す。
【００６８】
４．クラスタ対比較手段２２０は、コミュニティ選択手段２３０によって出力された各クラスタ対について、ユーザ情報３１０中のプロフィール情報を参照し、その内容に基づいてクラスタ対の構成ユーザに共通する属性名と属性値を検出する。
【００６９】
５．コミュニティ選択手段２３０は、クラスタ対比較手段２２０によって出力された、属性情報つきの各クラスタについて評価関数を適用し、それを最大化する属性名・属性値の対を出力する。これをコミュニティ形成装置２００の最終的な出力とする。
【００７０】
以下、コミュニティ形成装置２００が備える各手段の動作の詳細を説明する。
【００７１】
［クラスタ検出手段２１０］
クラスタ検出手段２１０は、メッセージログ３２０から読み取れるユーザ間のメッセージ送受信頻度に基づき、ユーザ群を複数のクラスタに分割する。ここでの処理は、特許文献１に記載されている、潜在的に形成されているコミュニティを顕在化させる手段と同様のものを適用することができる。
【００７２】
すなわち、ユーザ間のメッセージ送受信関係と、そのメッセージに含まれるキーワードを用いて、同一のキーワードを通して活発にコミュニケーションが行われているユーザの集まりをクラスタとして抽出する。
【００７３】
図５を参照して、クラスタ検出手段２１０による出力の一例を示す。図６では、１から８までのラベルが振られた円がユーザ、円の間を結ぶ矢印がメッセージに相当する。このうち、ユーザ１，２，３，４の間でプログラミングの話題についてメッセージのやり取りが行われていて、ユーザ５，６，７，８の間でマーケティングの話題についてメッセージのやり取りが行われていたとすると、ユーザ１，２，３，４を要素とするクラスタＡと、ユーザ５，６，７，８を要素とするクラスタＢの二つを抽出する。
【００７４】
［クラスタ対比較手段２２０］
クラスタ対比較手段２２０は、クラスタ検出手段２１０により出力されるクラスタの集まりを入力として、その中から二つずつ一対として取り出し、各クラスタ対に所属するユーザの属性を比較することにより、複数のクラスタ対を一つに併合した場合に生まれるコミュニティのトピック属性を選択する。ここで、トピック属性とは、コミュニティを特徴付ける属性名と属性値の対を指す。
【００７５】
クラスタ対比較手段２２０は、入力であるクラスタの集まりから、すべての可能なクラスタ対を順に取り出し、それらを処理の対象とする。例えば、入力がＣ１、Ｃ２、Ｃ３の３つのクラスタである場合、処理対象のクラスタ対は｛Ｃ１，Ｃ２｝，｛Ｃ１，Ｃ３｝，｛Ｃ２，Ｃ３｝の３種類となる。
【００７６】
以下、図７のフローチャートを参照して、クラスタ対比較手段２２０の詳細な動作手順を説明する。まず、処理対象のクラスタ対のうち、以下のステップＳ２２２以降で未処理のものがあるかどうかを調べる（ステップＳ２２１）。ここで、処理対象のクラスタ対とは、前述したとおり、入力されたクラスタの集合のうち、すべての可能なクラスタ対を指す。
【００７７】
Ｓ２２１でＹＥＳの場合、処理対象のクラスタ対のうち、未処理のものを一つ取得する（ステップＳ２２２）。ここでどのクラスタ対を選択するかは、結果に影響しない。以下のステップＳ２２３からＳ２２８では、本ステップで選択したクラスタ対を、それぞれクラスタＸ、Ｙと呼称する。
【００７８】
つぎに、データ記憶装置３００中のユーザ情報３１０を構成する属性名のうち、未計算のものがあるかどうかを調べる（ステップＳ２２３）。ここで、未計算の属性名とは、クラスタ対Ｘ，Ｙについて、以下のステップＳ２２４からＳ２２７においてまだ計算対象としてない属性名を指す。
【００７９】
つぎに、未計算の属性名を一つ取得する（ステップＳ２２４）。ここでの未計算の属性名についての基準は、Ｓ２２３と同様である。以下のステップ２２５からＳ２２７では、ここで選択した属性名を属性Ａと呼称する。なお、ここでは選択対象の属性名として、ユーザＩＤおよび所属グループは使用しない。
【００８０】
つぎに、ユーザ情報３１０において、属性Ａに対応する属性値のうち、未計算のものが存在するかどうかを調べる（ステップＳ２２５）。ここで、未計算の属性値とは、クラスタＸまたはクラスタＹに所属するユーザについて、属性Ａの取りうる属性値であり、かつ以下のステップＳ２２６からＳ２２７においてまだ選択されていないものを指す。
【００８１】
Ｓ２２５でＹＥＳの場合、未計算の属性値を一つ選択する（ステップＳ２２６）。ここでの未計算の属性値の基準は、ステップＳ２２５と同様である。
【００８２】
つぎに、クラスタＸ，Ｙのそれぞれについて、属性ＡがＳ２２６で選択した属性値ｖを持つユーザの数を数え、そのうちの小さい方を、クラスタ対Ｘ，Ｙと属性名Ａ，属性値ｖについての共通ユーザ数と呼称する（ステップＳ２２７）。本ステップの後、ステップ２２５以降のステップを繰り返す。
【００８３】
Ｓ２２５でＮＯの場合、クラスタＸ，Ｙに属するユーザの属性Ａのすべての属性値について、共通ユーザ数を計算したことになる。この場合、ステップＳ２２３に戻り、他の属性名について共通ユーザ数の計算を行う。
【００８４】
Ｓ２２３でＮＯの場合、クラスタＸ，Ｙに属するユーザの全属性名・属性値について、共通ユーザ数を計算したことになる。この場合、ステップＳ２２８に進む。
【００８５】
ステップＳ２２８では、クラスタＸ，Ｙについての共通ユーザ数を最大化する属性名と属性値の対を選択し、その属性名と属性値をクラスタ対Ｘ，Ｙのトピック属性とする。本ステップの後、ステップＳ２２１に戻り、他のクラスタ対についてトピック属性を計算する。
【００８６】
Ｓ２２１でＮＯの場合、処理対象の全クラスタ対について、トピック属性を計算したことになる。この場合、ステップＳ２２９に進む。ステップＳ２２９では、処理対象の各クラスタ対にトピック属性を付加したものを出力する。
【００８７】
以下では、クラスタ対比較手段２２０の動作の具体例を示す。図８は、ユーザ情報３１０のうち、クラスタ検出手段２１０によって検出された二つのクラスタＡ，Ｂに属するユーザについての情報を示している。
【００８８】
図２の例と同様に、この例では所属グループの代わりに「所属部門」の属性が用いられている。ここでは、上記のステップＳ２２２におけるＸ，ＹとしてクラスタＡ，Ｂを選択した場合について、ステップＳ２２４からＳ２２８までの動作を示す。
【００８９】
まず、ステップＳ２２４において、未計算の属性名として「勤務地」を選択する。この場合、取り得る属性値は、東京、横浜、大阪、京都である。つぎに、ステップＳ２２５では、東京、横浜、大阪、京都のいずれについて未計算なので、Ｓ２２６に進む。
【００９０】
つぎに、ステップＳ２２６では、未計算の属性値として「東京」を選択する。つぎに、ステップＳ２２７では、「属性名：勤務地、属性値：東京」を満たすユーザ数は、クラスタＡ：３名、クラスタＢ：０名となる。したがって、「クラスタＡ，Ｂ，属性名：勤務地、属性値：東京」についての共通ユーザ数は０となる。
【００９１】
同様に、各属性名と属性値に関して上記のステップＳ２２４から２２７の処理を繰り返した結果、クラスタＡ，Ｂおよび各属性名・属性値についての共通ユーザ数は以下のようになる。
【００９２】
・ 属性名：勤務地、属性値：東京、共通ユーザ数：０
・ 属性名：勤務地、属性値：横浜、共通ユーザ数：０
・ 属性名：勤務地、属性値：大阪、共通ユーザ数：０
・ 属性名：勤務地、属性値：京都、共通ユーザ数：０
・ 属性名：保有スキル、属性値：英会話、共通ユーザ数：１
・ 属性名：保有スキル、属性値：中国語、共通ユーザ数：０
・ 属性名：保有スキル、属性値：Ｐｅｒｌ(登録商標)、共通ユーザ数：０
・ 属性名：保有スキル、属性値：Ｊａｖａ(登録商標)、共通ユーザ数：０
・ 属性名：保有スキル、属性値：数学、共通ユーザ数：０
・ 属性名：保有スキル、属性値：簿記、共通ユーザ数：０
・ 属性名：保有スキル、属性値：ＰＨＰ、共通ユーザ数：０
・ 属性名：趣味、属性値：楽器演奏、共通ユーザ数：０
・ 属性名：趣味、属性値：水泳、共通ユーザ数：０
・ 属性名：趣味、属性値：サッカー、共通ユーザ数：０
・ 属性名：趣味、属性値：ゴルフ、共通ユーザ数：１
・ 属性名：趣味、属性値：音楽鑑賞、共通ユーザ数：０
・ 属性名：趣味、属性値：野球、共通ユーザ数：０
・ 属性名：趣味、属性値：美術、共通ユーザ数：０
・ 属性名：好きな食べ物、属性値：スイーツ 、共通ユーザ数：２
・ 属性名：好きな食べ物、属性値：ラーメン 、共通ユーザ数：１
・ 属性名：好きな食べ物、属性値：果物 、共通ユーザ数：１
【００９３】
つぎに、ステップＳ２２８において、上記の計算結果を比較し、共通ユーザ数が最大となるものを選ぶ。この例では、「属性名：好きな食べ物、属性値：スイーツ、共通ユーザ数：２」を選択する。したがって、クラスタＡ，Ｂの対についてのトピック属性は、「属性名：好きな食べ物、属性値：スイーツ」となる。
【００９４】
［コミュニティ選択手段２３０］
コミュニティ選択手段２３０は、クラスタ対比較手段２２０の出力結果である、クラスタ対とそれに関連づけられたトピック属性の集まりについて、それらを元にコミュニティを形成した場合に期待される活性度を予測し、その結果を最大化するものを出力する。
【００９５】
ここでは、コミュニティの活性度を、クラスタ対を対象とした評価関数の値、すなわち評価値として予測する。以下、図９のフローチャートを参照して、コミュニティ選択手段２３０の動作手順を説明する。
【００９６】
まず、入力されたクラスタ対のうち、以下のＳ２３２以降でまだ処理されていないものがあるかどうかを調べる（ステップＳ２３１）。ステップＳ２３１でＹＥＳの場合、未処理のクラスタ対を一つ選択する（ステップＳ２３２）。
【００９７】
ここで、どのクラスタ対を選択するかは結果に影響しない。以下、ステップＳ２３３からＳ２３７において、選択したクラスタ対をクラスタＸ，Ｙと呼称する。つぎに、クラスタ対Ｘ，Ｙとそのトピック属性について、共通ユーザ数を計算する（ステップＳ２３３）。
【００９８】
共通ユーザ数の定義は、クラスタ対比較手段２２０（図７）で用いたものと共通である。この値はクラスタ対比較手段２２０で計算されたものと同一なので、クラスタ対比較手段２２０の出力に含めて、ここでは再計算しないという方法と取ることもできる。
【００９９】
つぎに、クラスタＸに属するユーザａと、クラスタＹに属するユーザｂのすべての可能な組み合わせについて、ユーザａとユーザｂの間のリンクが存在するか否かを調べ、リンクの総数を数える（ステップＳ２３４）。
【０１００】
ここで、ユーザ間のリンクの定義は、クラスタ検出手段２１０（図５）で用いたものと同一である。図６の例にように、リンクに重みがある場合には、リンクの総数を数える代わりに、リンクの重みの和を取ってもよい。
【０１０１】
つぎに、クラスタＸとＹに共通して含まれるユーザ数を数える（ステップＳ２３５）。クラスタ検出手段２１０の動作手順によっては、クラスタＸとＹに共通して含まれるユーザは存在しえないので、この値は常に０になる。
【０１０２】
つぎに、ユーザ情報３１０を参照して、クラスタＸとＹおよび所属グループの各属性値について共通ユーザ数を計算し、その最大値を取る（ステップＳ２３６）。共通ユーザ数の計算には、クラスタ対比較手段２２０のＳ２２５からＳ２２７と同様の手順を用いる。
【０１０３】
つぎに、ステップＳ２３３からＳ２３６で計算した各数値を用いて、クラスタＸとＹについての評価値を計算する（ステップＳ２３７）。ここで、評価値を計算する方法の一例は、定数ｃ１、ｃ２、ｃ３、ｃ４（すべて正の実数）を用いて、以下の計算式を用いるというものである。
【０１０４】
［数１］
評価値＝ｃ１×（Ｓ２３３の計算結果）−ｃ２×（Ｓ２３４の計算結果）−ｃ３×（Ｓ２３５の計算結果）−ｃ４×（Ｓ２３６の計算結果）
【０１０５】
ステップＳ２３７が完了すると、次のクラスタ対について同様の評価値を計算するために、ステップＳ２３１に戻る。ステップＳ２３１でＮＯの場合、すべてのクラスタ対について評価値を計算したことになる。この場合、ステップＳ２３８に進む。
【０１０６】
ステップＳ２３８では、前ステップまでに計算した評価値を最大化するクラスタ対を選択し、それに対応するトピック属性とともに出力する。この出力を、コミュニティ形成装置２００の最終的な出力とする。
【０１０７】
以下、図８および図６を参照して、コミュニティ選択手段２３０の動作の具体例を説明する。ここでは、図８におけるクラスタＡ，Ｂについて、上記のステップＳ２３３からＳ２３７までの手順を用いて、実際に評価値を計算する。また、クラスタＡ，Ｂに所属する各ユーザは、図６に示すリンク関係を持つと仮定する。
【０１０８】
まず、Ｓ２３３で、クラスタＡ，Ｂの間のトピック属性についての共通ユーザ数を計算する。ここでは、クラスタ対比較手段２２０についての例と同様に、トピック属性は「属性名：好きな食べ物、属性値：スイーツ」となるので、共通ユーザ数は２となる。
【０１０９】
つぎに、Ｓ２３４で、クラスタＡ，Ｂ間のユーザａ，ｂ間のリンク数を計算する。ここでは、図６に示すリンク関係を参照して、ユーザk-takahashiとe-hasebe、およびt-okadaとe-hasebeの２本のリンクが存在する。さらに、リンク数の代わりに重みの和を用いることにすると、その数値は２＋１＝３となる。
【０１１０】
つぎに、Ｓ２３５で、クラスタＡ，Ｂに共通して含まれるユーザの数を数える。この例では共通して含まれるユーザはいないので、この数は０となる。つぎに、Ｓ２３６で、クラスタＡ，Ｂと各所属部門についての共通ユーザ数の最大値を計算する。図８を参照して、所属部門についての各属性値について共有ユーザ数を数えると、以下の結果になる。
【０１１１】
・ 属性名：所属部門、属性値：営業、共通ユーザ数：１
・ 属性名：所属部門、属性値：人事、共通ユーザ数：０
・ 属性名：所属部門、属性値：研究、共通ユーザ数：０
・ 属性名：所属部門、属性値：開発、共通ユーザ数：１
・ 属性名：所属部門、属性値：経理、共通ユーザ数：０
・ 属性名：所属部門、属性値：企画、共通ユーザ数：０
【０１１２】
したがって、所属部門に関する共通ユーザ数の最大値は１となる。最後に、Ｓ２３７で、クラスタＡ，Ｂについての評価値を計算する。ここでは、ｃ１＝５，ｃ２＝１，ｃ３＝３，ｃ４＝３とすると、評価値の計算結果は以下のようになる。
【０１１３】
［数２］
評価値＝５×２−１×３−３×０−３×１＝４
【０１１４】
なお、本発明は本実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で各種の変形を許容する。例えば、本実施の形態のコミュニティ形成システムは、企業内の人脈形成を支援するためのソーシャルネットワーキングサービス（ＳＮＳ：Social Networking Service）におけるコミュニティ自動作成機能といった用途に適用できる。また、一般消費者向けのソーシャルネットワーキングサービスにおけるコミュニティ自動作成機能といった用途にも適用可能である。
【０１１５】
さらに、本実施の形態ではコミュニティ形成システムの各部がコンピュータプログラムにより各種機能として論理的に実現されることを例示した。しかし、このような各部の各々を固有のハードウェアとして形成することもでき、ソフトウェアとハードウェアとの組み合わせとして実現することもできる。
【０１１６】
また、上記形態では通信ネットワーク６００として現状のインターネットを例示したが、これが次世代のインターネットであるＮＧＮ（Next Generation Network）などでもよい。
【０１１７】
なお、当然ながら、上述した実施の形態および複数の変形例は、その内容が相反しない範囲で組み合わせることができる。また、上述した実施の形態および変形例では、各部の構造などを具体的に説明したが、その構造などは本願発明を満足する範囲で各種に変更することができる。
【符号の説明】
【０１１８】
１００    ＬＡＮ
１１０    パーソナルコンピュータ
１２０    メールサーバ
１３０    ウェブサーバ
１４０    メールサーバ
１５２    メール監視部
１５４    分析部
１５６    サービス登録部
２００    コミュニティ形成装置
２１０    クラスタ検出手段
２２０    クラスタ対比較手段
２３０    コミュニティ選択手段
３００    データ記憶装置
３１０    ユーザ情報
３２０    メッセージログ
４００    利用者端末
５００    管理者端末
６００    通信ネットワーク
１１００    コミュニケーションサーバ
１１１０    ユーザ登録手段
１１２０    メッセージ送受信手段
【図１】
2010286868.tif 000003
【図２】
2010286868.tif 000004
【図３】
2010286868.tif 000005
【図４】
2010286868.tif 000006
【図５】
2010286868.tif 000007
【図６】
2010286868.tif 000008
【図７】
2010286868.tif 000009
【図８】
2010286868.tif 000010
【図９】
2010286868.tif 000011
【図１０】
2010286868.tif 000012