(57)【要約】【課題】コミュニティに属するメンバーの類似性とトピックの類似性とを同時に考慮して精度の高いクラスタリングを行う。【解決手段】クラスタリング装置１は、グループに属するトピック情報とメンバー情報とに応じて、グループに属するメンバーの活動状況を示す行列を作成する行列作成部２０１と、行列作成部２０１により作成された行列に基づいて、グループに属する１または２以上のトピックと１または２以上のメンバーに対して双クラスタリングを行うクラスタリング処理部２０２と、クラスタリング処理部によるクラスタリング処理結果に基づいて、トピックとメンバーとを、新たなサブグループに分けるグループ分割部２０３と、を備える。【選択図】図１
2010218353.tif 000002
【特許請求の範囲】
【請求項１】
グループに属するトピック情報とメンバー情報とに応じて、前記グループに属するメンバーの活動状況を示す行列を作成する行列作成部と、
前記行列作成部により作成された前記行列に基づいて、前記グループに属する１または２以上のトピックと１または２以上のメンバーに対して双クラスタリングを行うクラスタリング処理部と、
前記クラスタリング処理部によるクラスタリング処理結果に基づいて、前記トピックと前記メンバーとを、新たなサブグループに分けるグループ分割部と、
を備えることを特徴とする、クラスタリング装置。
【請求項２】
前記グループを識別するグループＩＤと前記グループのグループ名とを関連付けて記憶しているグループ情報格納部と、
前記グループＩＤと前記グループに属するメンバーを識別するメンバーＩＤとを関連付けて記憶しているメンバー情報格納部と、
前記トピック毎に対応する前記グループに属するメンバーの活動状況を示す情報を記憶している活動状況情報格納部と、
前記グループＩＤと前記トピック情報とを関連付けて記憶しているトピック情報格納部と、
前記メンバーの活動状況の種類ごとの重み付けの値を格納する活動状況重み格納部と、
を備えることを特徴とする、請求項１に記載のクラスタリング装置。
【請求項３】
前記行列作成部は、前記活動状況情報格納部に記憶されている前記トピック毎に対応する前記メンバーの活動状況を数値化した行列を作成することを特徴とする、請求項２に記載のクラスタリング装置。
【請求項４】
前記メンバーの活動状況は、前記メンバーのトピックへの投稿、トピックへのタグ付け、トピックの参照を含み、
前記行列作成部は、前記活動状況重み格納部を参照して、前記メンバーの活動状況の種類に対応する重み付けの値を用いて前記メンバーの活動状況を数値化した行列を作成することを特徴とする、請求項３に記載のクラスタリング装置。
【請求項５】
前記行列作成部により作成される行列は、前記メンバーと前記トピックとを行列要素とし、各行列の値は、前記メンバーの活動状況の種類毎の発生回数に前記メンバーの活動状況の重み付けの値を乗じて算出されることを特徴とする、請求項４に記載のクラスタリング装置。
【請求項６】
前記クラスタリング処理部は、前記メンバーをクラスタリングする際に、前記メンバー間の関係が強い組み合わせで、クラスタリング前後の情報量の差分量が他の組み合わせと比べて決められた順位内である場合に、優先的にクラスタリングすることを特徴とする、請求項１に記載のクラスタリング装置。
【請求項７】
前記クラスタリング処理部は、前記メンバー間に友人関係がある場合にメンバー間の関係が強いと判断して、クラスタリングを行うことを特徴とする、請求項６に記載のクラスタリング装置。
【請求項８】
前記メンバーＩＤと前記メンバーＩＤの示すメンバーと友人関係にあるメンバーのメンバーＩＤとを関連付けて記憶している、メンバー関係情報格納部を備え、
前記クラスタリング処理部は、前記メンバー関係情報格納部を参照して、前記メンバー間に友人関係があるか否かを判断することを特徴とする、請求項７に記載のクラスタリング装置。
【請求項９】
前記クラスタリング処理部は、同一のトピックに同一のタグを付与したメンバー間に強い関係があると判断して、クラスタリングを行うことを特徴とする、請求項６に記載のクラスタリング装置。
【請求項１０】
前記クラスタリング処理部は、前記トピックをクラスタリングする際に、前記トピック間の関係が強い組み合わせで、クラスタリング前後の情報量の差分量が他の組み合わせと比べて決められた順以内である場合に、優先的にクラスタリングすることを特徴とする、請求項１に記載のクラスタリング装置。
【請求項１１】
前記クラスタリング処理部は、同一の単語を含むトピック間に強い関係があると判断して、クラスタリングを行うことを特徴とする、請求項１０に記載のクラスタリング装置。
【請求項１２】
前記行列作成部は、前記アクション情報格納部に格納されているアクション情報の発生時刻を示すアクション時刻をもとに、過去のアクションほど小さい重みを設定して、各トピックに対するメンバーのアクションを数値化した行列を作成することを特徴とする、請求項１に記載のクラスタリング装置。
【請求項１３】
グループに属するトピック情報とメンバー情報について、クラスタリングを行うクラスタリング装置において、
グループに属するトピック情報とメンバー情報とに応じて、前記グループに属するメンバーの活動状況を示す行列を作成するステップと、
前記行列を作成するステップにおいて作成された前記行列に基づいて、前記グループに属する１または２以上のトピックと１または２以上のメンバーに対して双クラスタリングを行うステップと、
前記双クラスタリングを行うステップにおいて得られたクラスタリング処理結果に基づいて、前記トピックと前記メンバーとを、新たなサブグループに分けるステップと、
を含むことを特徴とする、クラスタリング方法。
【請求項１４】
グループに属するトピック情報とメンバー情報とに応じて、クラスタリングを行うクラスタリング装置を制御するコンピュータを、
前記トピック情報と前記メンバー情報とに応じて、前記グループに属するメンバーの活動状況を示す行列を作成する行列作成部と、
前記行列作成部により作成された前記行列に基づいて、前記グループに属する１または２以上のトピックと１または２以上のメンバーに対して双クラスタリングを行うクラスタリング処理部と、
前記クラスタリング処理部によるクラスタリング処理結果に基づいて、前記トピックと前記メンバーとを、新たなサブグループに分けるグループ分割部と、
として機能させるための、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラスタリング装置およびクラスタリング方法に関し、特に、コミュニティ内のメンバーやトピックをクラスタリングし、サブコミュニティを生成するクラスタリング装置およびクラスタリング方法に関する。
【背景技術】
【０００２】
昨今、ソーシャルネットワークサービスやニュースグループにおけるコミュニティでは、様々な話題が議論されている。コミュニティで継続的に議論が行われていると、ある話題から様々な話題へと広がっていくことが多々ある。この場合、情報を整理するためにコミュニティを複数の話題や各話題の参加者などで分類して、副次的なコミュニティを形成したいという要求がある。
【０００３】
例えば、特許文献１では、コミュニティにおけるメンバー間のメッセージのやりとりに関する情報から、メッセージの話題を抽出したりメッセージの情報量を算出したりして、メンバーのクラスタリングを行っている。メンバーをクラスタリングすることにより、コミュニティを所定のクラスタに分割することが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−２４０６４０号公報
【非特許文献】
【０００５】
【非特許文献１】李、安部「共起データに基づくクラスタリング法」、自然言語処理シンポジウム「実用的な自然言語処理にむけて」（１９９７）
【非特許文献２】青野、土肥「文書―単語双クラスタリングを用いた特許データの概念検索性能向上手法について」、ＤＥＷＳ２００５（２００５）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１では、メンバー情報をもとにコミュニティをクラスタリングするのみで、メンバーの類似性やコミュニティ内の個々のトピックについては何ら考慮されていないため、精度の高いクラスタリングを行うことができないという問題があった。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、コミュニティに属するメンバーの類似性とトピックの類似性とを同時に考慮して精度の高いクラスタリングを行うことが可能な、新規かつ改良されたクラスタリング装置、クラスタリング方法を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある観点によれば、グループに属するトピック情報とメンバー情報とに応じて、グループに属するメンバーの活動状況を示す行列を作成する行列作成部と、行列作成部により作成された行列に基づいて、グループに属する１または２以上のトピックと１または２以上のメンバーに対して双クラスタリングを行うクラスタリング処理部と、クラスタリング処理部によるクラスタリング処理結果に基づいて、トピックとメンバーとを、新たなサブグループに分けるグループ分割部と、を備えることを特徴とする、クラスタリング装置が提供される。
【０００８】
かかる構成によれば、グループに属するトピック情報とメンバー情報とに応じて、グループに属するメンバーの活動状況を示す行列を作成し、作成された行列に基づいてグループおよびトピックを双クラスタリングし、クラスタリングした結果に基づいて新たなサブグループを作成する。これにより、コミュニティに属するメンバーの類似性とトピックの類似性とを同時に考慮して、精度の高いクラスタリングを行うことが可能となる。
【０００９】
また、グループを識別するグループＩＤとグループのグループ名とを関連付けて記憶しているグループ情報格納部と、グループＩＤとグループに属するメンバーを識別するメンバーＩＤとを関連付けて記憶しているメンバー情報格納部と、トピック毎に対応するグループに属するメンバーの活動状況を示す情報を記憶している活動状況情報格納部と、グループＩＤとトピック情報とを関連付けて記憶しているトピック情報格納部と、メンバーの活動状況の種類ごとの重み付けの値を格納する活動状況重み格納部と、を備えてもよい。
【００１０】
また、行列作成部は、活動状況情報格納部に記憶されているトピック毎に対応するメンバーの活動状況を数値化した行列を作成するようにしてもよい。
【００１１】
また、メンバーの活動状況は、メンバーのトピックへの投稿、トピックへのブックマークや付箋の付与を表わすトピックへのタグ付け、トピックの参照を含み、行列作成部は、活動状況重み格納部を参照して、メンバーの活動状況の種類に対応する重み付けの値を用いてメンバーの活動状況を数値化した行列を作成するようにしてもよい。また、トピックでは、コミュニティの内容に合わせた話題が議論されたり、メンバーに周知しておきたい情報の共有として、例えば、社内外の情報源のＵＲＬや共有フォルダの紹介、会議資料のアップデートなどがなされる。
【００１２】
また、行列作成部により作成される行列は、メンバーとトピックとを行列要素とし、各行列の値は、メンバーの活動状況の種類毎の発生回数にメンバーの活動状況の重み付けの値を乗じて算出されるようにしてもよい。
【００１３】
また、クラスタリング処理部は、メンバーをクラスタリングする際に、メンバー間の関係が強い組み合わせで、クラスタリング前後の情報量の差分量が他の組み合わせと比べて決められた順位内である場合に、優先的にクラスタリングするようにしてもよい。
【００１４】
また、クラスタリング処理部は、メンバー間に友人関係がある場合にメンバー間の関係が強いと判断して、クラスタリングを行うようにしてもよい。
【００１５】
また、メンバーＩＤとメンバーＩＤの示すメンバーと友人関係にあるメンバーのメンバーＩＤとを関連付けて記憶している、メンバー関係情報格納部を備え、クラスタリング処理部は、メンバー関係情報格納部を参照して、メンバー間に友人関係があるか否かを判断するようにしてもよい。
【００１６】
また、クラスタリング処理部は、同一のトピックに同一のタグを付与したメンバー間に強い関係があると判断して、クラスタリングを行うようにしてもよい。
【００１７】
また、クラスタリング処理部は、トピックをクラスタリングする際に、トピック間の関係が強い組み合わせで、クラスタリング前後の情報量の差分量が他の組み合わせと比べて決められた順以内である場合に、優先的にクラスタリングするようにしてもよい。
【００１８】
また、クラスタリング処理部は、同一の単語を含むトピック間に強い関係があると判断して、クラスタリングを行うようにしてもよい。
【００１９】
また、行列作成部は、アクション情報格納部に格納されているアクション情報の発生時刻を示すアクション時刻をもとに、過去のアクションほど小さい重みを設定して、各トピックに対するメンバーのアクションを数値化した行列を作成するようにしてもよい。
【００２０】
また、上記課題を解決するために、本発明の別の観点によれば、グループに属するトピック情報とメンバー情報について、クラスタリングを行うクラスタリング装置において、グループに属するトピック情報とメンバー情報とに応じて、グループに属するメンバーの活動状況を示す行列を作成するステップと、行列を作成するステップにおいて作成された行列に基づいて、グループに属する１または２以上のトピックと１または２以上のメンバーに対して双クラスタリングを行うステップと、双クラスタリングを行うステップにおいて得られたクラスタリング処理結果に基づいて、トピックとメンバーとを、新たなサブグループに分けるステップと、を含むことを特徴とする、クラスタリング方法が提供される。
【００２１】
また、上記課題を解決するために、本発明の別の観点によれば、グループに属するトピック情報とメンバー情報とに応じて、クラスタリングを行うクラスタリング装置を制御するコンピュータを、トピック情報とメンバー情報とに応じて、グループに属するメンバーの活動状況を示す行列を作成する行列作成部と、行列作成部により作成された行列に基づいて、グループに属する１または２以上のトピックと１または２以上のメンバーに対して双クラスタリングを行うクラスタリング処理部と、クラスタリング処理部によるクラスタリング処理結果に基づいて、トピックとメンバーとを、新たなサブグループに分けるグループ分割部と、として機能させるための、プログラムが提供される。
【発明の効果】
【００２２】
以上説明したように本発明によれば、コミュニティに属するメンバーの類似性とトピックの類似性とを同時に考慮して精度の高いクラスタリングを行うことができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１の実施形態にかかるクラスタリング装置の機能構成を示すブロック図である。
【図２】同実施形態にかかるグループ情報格納部の内容を説明する説明図である。
【図３】同実施形態にかかるメンバー情報格納部の内容を説明する説明図である。
【図４】同実施形態にかかるアクション情報格納部の内容を説明する説明図である。
【図５】同実施形態にかかるトピック情報格納部の内容を説明する説明図である。
【図６】同実施形態にかかるアクション重み情報格納部の内容を説明する説明図である。
【図７】同実施形態にかかるクラスタリング処理の詳細を示すフローチャートである。
【図８】同実施形態にかかるトピック―メンバー行列の計算方法を示すフローチャートである。
【図９】同実施形態にかかる双クラスタリングの処理方法を示すフローチャートである。
【図１０】同実施形態にかかるトピック―メンバー行列の内容を説明する説明図である。
【図１１】同実施形態にかかる双クラスタリング結果について説明する説明図である。
【図１２】同実施形態にかかるグループ情報格納部の内容を説明する説明図である。
【図１３】同実施形態にかかるメンバー情報格納部の内容を説明する説明図である。
【図１４】同実施形態にかかるトピック情報格納部の内容を説明する説明図である。
【図１５】本発明の第２の実施形態にかかるクラスタリング装置の機能構成を示すブロック図である。
【図１６】同実施形態にかかるメンバー関係情報格納部の内容を説明する説明図である。
【図１７】同実施形態にかかる単語情報格納部の内容を説明する説明図である。
【図１８Ａ】同実施形態にかかる双クラスタリングの処理方法を示すフローチャートである。
【図１８Ｂ】同実施形態にかかる双クラスタリングの処理方法を示すフローチャートである。
【発明を実施するための形態】
【００２４】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２５】
また、以下に示す順序に従って、当該「発明を実施するための形態」を説明する。
〔１〕本実施形態の目的
〔２〕第１実施形態
〔２−１〕クラスタリング装置の機能構成
〔２−２〕クラスタリング処理の詳細
〔３〕第２実施形態
〔３−１〕クラスタリング装置の機能構成
〔３−２〕クラスタリング処理の詳細
〔４〕第３実施形態
〔４−１〕クラスタリング装置の機能構成
〔４−２〕クラスタリング処理の詳細
【００２６】
〔１〕本実施形態の目的
まず、本発明の実施形態の目的について説明する。昨今、ソーシャルネットワークサービスやニュースグループにおけるコミュニティでは、様々な話題が議論されている。コミュニティで継続的に議論が行われていると、ある話題から様々な話題へと広がっていくことが多々ある。この場合、情報を整理するためにコミュニティを複数の話題や各話題の参加者などで分類して、副次的なコミュニティを形成したいという要求がある。
【００２７】
例えば、コミュニティにおけるメンバー間のメッセージのやりとりに関する情報から、メッセージの話題を抽出したりメッセージの情報量を算出したりして、メンバーのクラスタリングを行う技術が開示されている。当該技術では、メンバーをクラスタリングすることにより、コミュニティを所定のクラスタに分割することが可能となる。
【００２８】
しかし、上記技術では、メンバー情報をもとにコミュニティをクラスタリングするのみで、メンバーの類似性やコミュニティ内の個々のトピックについては何ら考慮されていないため、精度の高いクラスタリングを行うことができないという問題があった。また、個々のトピックを振り分けたり、サブコミュニティごとに興味のあるメンバーを再登録したりして、既存のコミュニティから新たにサブコミュニティを作成するのは面倒であった。
【００２９】
そこで、上記のような事情を一着眼点として、本発明の実施形態にかかるクラスタリングを装置が創作されるに至った。本実施形態にかかるクラスタリング装置は、メンバー情報のみならず、メンバーの類似性やコミュニティに属する類似のトピックを発見して既存のコミュニティを整理し、サブコミュニティを生成する。これにより、コミュニティに属するメンバーの類似性とトピックの類似性を同時に考慮して精度の高いクラスタリングを行うことが可能となる。
【００３０】
本実施形態にかかるクラスタリング装置は、既存のコミュニティからサブコミュニティを生成するために、後述するトピック―メンバー行列を作成し、双クラスタリングを行う。双クラスタリングとは、２つの異なる要素を同時に考慮して双方向でクラスタリングを行う手法である。具体的には、２つの異なる要素の共起性に着目して、２つの異なる要素をそれぞれクラスタリングする。双クラスタリングを扱った文献として、例えば、非特許文献１および非特許文献２が挙げられる。非特許文献１および非特許文献２においては、文書と単語を用いた双クラスタリングについて提案されている。
【００３１】
上記したトピック―メンバー行列とは、コミュニティに属する各メンバーが、個々のトピックに対して行った発言やタグ付与などのアクションを数値化した行列である。ここで、タグ付与とは、トピックにブックマークのように付与される見出し語を付与することをいう。また、クラスタリングをする際に、メンバーのマイフレンド関係の有無を評価することにより、ソーシャルネットワークサービスに特有のフレンド関係（友人関係）などを活用する。
【００３２】
〔２〕第１実施形態
以上、本発明の実施形態の目的について説明した。次に、図１を参照して、本実施形態にかかるクラスタリング装置１の機能構成について説明する。なお、クラスタリング装置１の機能構成を説明するに際し、適宜、図２〜６を参照する。クラスタリング装置１としては、例えば、パーソナルコンピュータ等のコンピュータ装置（ノート型、デスクトップ型を問わない。）を例示できるが、かかる例に限定されず、携帯電話やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）などで構成してもよい。
【００３３】
〔２−１〕クラスタリング装置の機能構成
図１の機能構成を説明する前に、クラスタリング装置１のハードウェア構成の一例について説明する。クラスタリング装置１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、入力装置と、出力装置と、ストレージ装置（ＨＤＤ）などを備える。
【００３４】
ＣＰＵは、演算処理装置および制御装置として機能し、各種プログラムに従って行動予測装置１０の動作全般を制御する。また、ＣＰＵは、マイクロプロセッサであってもよい。ＲＯＭは、ＣＰＵが使用するプログラムや演算パラメータ等を記憶する。ＲＡＭは、ＣＰＵの実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバスなどから構成されるホストバスにより相互に接続されている。
【００３５】
入力装置は、例えば、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、ＣＰＵに出力する入力制御回路などから構成されている。
【００３６】
出力装置は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置、液晶ディスプレイ（ＬＣＤ）装置、ＯＬＥＤ（Ｏｒｇａｎｉｃ  Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｓｐｌａｙ）装置およびランプなどの表示装置と、スピーカおよびヘッドホンなどの音声出力装置で構成される。
【００３７】
ストレージ装置は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。ストレージ装置は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）で構成される。このストレージ装置は、ハードディスクを駆動し、ＣＰＵが実行するプログラムや各種データを格納する。
【００３８】
以上、クラスタリング装置１のハードウェア構成について説明した。次に、図１を参照して、クラスタリング装置１の機能構成について説明する。図１に示したように、クラスタリング装置１は、入力部１０、サブグループ作成部２０、出力部３０、グループ情報格納部４０、メンバー情報格納部５０、アクション情報格納部６０、トピック情報格納部７０、アクション重み格納部８０などを備える。
【００３９】
入力部１０は、上記した入力装置により構成される。クラスタリング装置１のユーザは、該入力部１０を操作することにより、クラスタリング装置１に対して各種のデータを入力したり処理動作を指示したりすることができる。具体的には、ユーザ操作に応じて、特定のグループについて、サブグループを生成する要求を受け付ける機能を有する。
【００４０】
サブグループ作成部２０は、入力部１０を介してユーザにより指定されたグループについて、サブグループを作成する機能を有する。図１に示したように、サブグループ作成部２０は、行列作成部２０１、クラスタリング処理部２０２、グループ分割部２０３などを備える。行列作成部２０１、クラスタリング処理部２０２、グループ分割部２０３を含むサブグループ作成部２０は、コンピュータにより構成され、その動作は、上記したＲＯＭに記憶されたプログラムをもとに、ＣＰＵで実行される。
【００４１】
行列作成部２０１は、クラスタリング処理対象となる、指定されたグループに属するトピック情報とメンバー情報とに応じて、グループに属する各メンバーの活動状況を示す行列を生成する機能を有する。各メンバーの活動状況を示す行列とは、上記したトピック―メンバー行列である。行列作成部２０１において作成されるトピック―メンバー行列については、後で詳細に説明する。
【００４２】
クラスタリング処理部２０２は、行列作成部２０１により作成されたトピック―メンバー行列に基づいて、グループに属する１または２以上のトピックと１または２以上のメンバーに対してクラスタリングを行う機能を有する。クラスタリング処理部２０２は、クラスタリングを行った結果をグループ分割部２０３に提供する。
【００４３】
グループ分割部２０３は、クラスタリング処理部２０２により実行されたクラスタリング処理結果に基づいて、トピックとメンバーとを新たなサブグループに分ける機能を有する。
【００４４】
出力部３０は、上記した出力処置により構成される。出力部３０は、サブグループ作成部２０によりサブグループが作成されか否かを出力する。
【００４５】
グループ情報格納部４０は、グループに関する情報を格納している。図２に示したように、グループ情報格納部４０には、グループを識別するグループＩＤ４０１とグループのグループ名４０２とが関連付けて記憶されている。
【００４６】
メンバー情報格納部５０は、メンバー情報格納部５０は、各グループに所属しているメンバーＩＤを格納している。図３に示したように、メンバー情報格納部５０には、グループＩＤ５０１とグループに属するメンバーを識別するメンバーＩＤ５０２とが関連付けて記憶されている。例えば、図３のメンバー情報格納部５０に示したように、第１レコードは、グループｇ１に所属するメンバーのメンバーＩＤが、ｍ１、ｍ２、ｍ３、ｍ４、ｍ５、ｍ６、ｍ７、ｍ８の８人であることを示している。
【００４７】
アクション情報格納部６０は、コミュニティに対する投稿など、メンバーのアクション情報を格納している。図４に示したように、アクション情報格納部６０には、アクションＩＤ６０１、トピックＩＤ６０２、アクション種類６０３、アクション者６０４、アクション時刻６０５、アクション内容６０６が格納されている。
【００４８】
ここで、トピックは各グループに投稿された個々の話題に対応し、一つの話題に対して複数の発言を投稿することができる。個々のトピックは、トピックＩＤによって識別される。各トピックでは、コミュニティの内容に合わせた話題が議論されたり、メンバーに周知しておきたい情報の共有として、例えば、社内外の情報源のＵＲＬや共有フォルダの紹介、会議資料のアップデートなどがなされる。また、メンバーの活動状況を示すアクションには、「トピックに投稿する」「トピックにタグを付与する」などの種類が挙げられ、アクション種類６０３に設定される。「トピックにタグを付与する」とは、例えば、トピックをブックマークしたり、付箋を付与したりすることなどが挙げられる。アクション者６０４には、アクションを実施したメンバーのメンバーＩＤが設定される。アクション時刻６０５には、メンバーによりアクションが実施された時刻が設定される。
【００４９】
アクション内容項目６０６には、アクション種類が「投稿」である場合には投稿された内容が設定され、アクション種類が「タグ」である場合には付与されたタグ名が設定される。
【００５０】
例えば、第１レコード（アクションＩＤ＝ａ１）は、メンバーＩＤ「ｍ１」がトピック「ｔ１」に対して「プログラミング言語について議論しよう。」という投稿を２００８年１２月１１日１２：００に行ったことを示している。また、第４レコード（アクションＩＤ＝ａ４）は、メンバーＩＤ「ｍ１」がトピック「ｔ１」に対して「○○言語」というタグを２００８年１２月１４日１２：００に行ったことを示している。
【００５１】
トピック情報格納部７０は、トピックに関する情報を格納しており、各トピックがどのコミュニティ（グループ）に属しているかの情報を格納している。図５に示したように、トピック情報格納部７０には、トピックＩＤ７０１とグループＩＤ７０２とが関連付けられて記憶されている。例えば、図５に示したように、トピックＩＤ「ｔ１」〜「ｔ６」までのトピックが、グループｇ１に属している。
【００５２】
アクション重み格納部８０は、各アクションがどの程度の重みを有するかについての情報を格納している。図６に示したように、アクション重み格納部８０には、アクションの種類８０１ごとの重み付けの値８０２が記憶されている。アクション重み格納部８０は、本発明の活動状況重み格納部の一例である。例えば、アクション種類「発言」の重み値は「１」であり、アクション種類「タグ」の重み値は「０．５」である。アクション種類は、「発言」「タグ付与」に限定されない。例えば、アクション種類に「参照」などのアクションを追加するようにしてもよい。アクション情報格納部６０は、本発明の活動状況情報格納部の一例である。
【００５３】
上記グループ情報格納部４０、メンバー情報格納部５０、アクション情報格納部６０、トピック情報格納部７０、アクション重み格納部８０は、上記したストレージ装置（ＨＤＤ）により構成される。
【００５４】
〔２−２〕クラスタリング処理の詳細
以上、本実施形態にかかるクラスタリング装置１の機能構成について説明した。次に、図７〜９を参照して、クラスタリング装置１におけるクラスタリング処理の詳細について説明する。なお、クラスタリング処理の詳細を説明するに際して、適宜、図１０〜１４を参照する。図７は、クラスタリング処理の詳細を示すフローチャートである。
【００５５】
図７に示したように、まず、入力部１０は、ユーザ入力に応じて、特定のグループのサブグループ（サブコミュニティ）生成要求を受け付ける（Ｓ１００）。次に、行列作成部２０１は、ステップＳ１００において入力部１０により受け付けられたグループに対して、トピック―メンバー行列を作成する（Ｓ１１０）。行列作成部２０１は、ステップＳ１１０において作成したトピック―メンバー行列をトピック―メンバー行列一時記憶部（図示せず）に格納する。
【００５６】
ここで、図１０を参照して、トピック―メンバー行列について説明する。図１０は、トピック―メンバー行列について説明する説明図である。図１０に示したように、トピック―メンバー行列は、コミュニティに所属しているメンバーを列にし、コミュニティの各トピックを行にする。行列には、トピックごとのメンバーのアクションを数値化した値を格納する。
【００５７】
例えば、アクション情報格納部６０において、トピックｉで、メンバーｊがｍ回発言しｎ個タグを付与した場合に、行列の値ａｉｊは、以下の計算式によって算出される。
ａｉｊ＝ｍ×（アクション種類「発言」の重み）＋ｎ×（アクション種類「タグ」の重み）                                                      ・・・（数式１）
例えば、アクション情報格納部６０に、メンバーｍ１が、トピックｔ１で、２回発言し、タグを２個付与したというアクション情報が格納されている場合には、上記数式１により行列の値ａｔ１,ｍ１が以下のように算出できる。各アクション種類の重みはアクション重み格納部８０を参照して、アクション種類「発言」の重みは１．０、アクション種類「タグ」の重みは０．５に設定される。
ａｔ１,ｍ１＝２×１．０＋２×０．５＝２．０
【００５８】
図７に戻り、行列作成部２０１は、アクション情報格納部６０を参照して、すべてのトピック、メンバーの組み合わせについて、トピック―メンバー行列を算出する。ここで、図８を参照して、ステップＳ１１０におけるトピック―メンバー行列の計算方法について説明する。図８は、行列作成部２０１におけるトピック―メンバー行列の計算方法について説明する説明図である。
【００５９】
図８に示したように、まず、トピック情報格納部７０を参照して、処理対象となるグループＩＤに対応するコミュニティのトピック数を取得する（Ｓ１０００）。また、メンバー情報格納部５０を参照して、処理対象となるコミュニティ（グループ）に参加しているメンバー数を取得する（Ｓ１０００）。
【００６０】
そして、ステップＳ１０００において決定したトピック数およびメンバー数に応じたサイズでトピック―メンバー行列を初期化する（Ｓ１０１０）。そして、アクション情報格納部６０の処理対象レコードの位置を格納するカウンタｉを０に初期化する（Ｓ１０２０）。
【００６１】
そして、すべてのレコードを処理したか否かを判定する（Ｓ１０３０）。ステップＳ１０３０において、カウンタｉが、アクション情報格納部６０の総レコード数より小さい場合には、すべてのレコードを処理していないと判定して、ステップＳ１０４０の処理を実行する。ステップＳ１０３０において、カウンタｉが、アクション情報格納部６０の総レコード数と同じ場合にはすべてのレコードを処理したと判定して処理を終了する。
【００６２】
次に、アクション情報格納部６０のグループＩＤが処理対象か否かを判定する（Ｓ１０４０）。ステップＳ１０４０においては、処理対象レコードＲｉのトピックＩＤに対応するグループＩＤが、サブグループの生成要求を受け付けたコミュニティのグループＩＤと同一か否かを判定する。
【００６３】
ステップＳ１０４０において、処理対象レコードＲｉのトピックＩＤに対応するグループＩＤと処理対象となるグループＩＤとが同一の場合には、ステップＳ１０５０の処理を実行する。一方、ステップＳ１０４０において、処理対象レコードＲｉのトピックＩＤに対応するグループＩＤと処理対象となるグループＩＤとが同一ではない場合には、ステップＳ１０７０の処理を実行する。
【００６４】
そして、ステップＳ１０４０において、アクション情報格納部６０のグループＩＤが処理対象であると判定された場合には、処理対象レコードＲｉのアクション種類に対応する重みを、アクション重み格納部８０から取得する（Ｓ１０５０）。次に、処理対象レコードＲｉのトピックＩＤ、アクション者項目から、トピック―メンバー行列の対応する値に、ステップＳ１０５０で取得した重みを加算する（Ｓ１０６０）。
【００６５】
そして、カウンタｉを１つ加算して（Ｓ１０７０）、ステップＳ１０３０の処理に戻る。以上、行列作成部２０１におけるトピック―メンバー行列の計算方法について説明した。図７に戻り、クラスタリング処理の説明を続ける。
【００６６】
図７に示したように、ステップＳ１１０においてトピック―メンバー行列を作成した後に、クラスタリング処理部２０２は、双クラスタリング手法により、トピック、メンバーについてクラスタリングを実行する（Ｓ１２０）。ステップＳ１２０における双クラスタリングの方法は、例えば非特許文献１の方法が挙げられる。非特許文献１においては、トピックおよびメンバーについて、それぞれ所定のペアの関係（記述長）の減少を計算し、全記述長の減少の大きい順にクラスタ・ペアをソートする。
【００６７】
ここで、図９を参照して、双クラスタリングの処理方法について説明する。図９は、双クラスタリングの処理方法を示すフローチャートである。図９に示したように、まず、トピッククラスタについて、全記述長（または、相互情報量）の減少の大きいクラスタ・ペアを見つけるために、マージ前の全記述長（または、相互情報量）を計算する（Ｓ１２００）。全記述長（または相互情報量）の計算方法は、例えば、非特許文献１および２示されている。
【００６８】
そして、トピッククラスタのすべての組み合わせについて、マージ後の全記述長（または、相互情報量）を計算しさらにマージ前とマージ後の差分値を計算する（Ｓ１２１０）。そして、トピッククラスタのすべての組み合わせについて、差分値の大きい順にソートする（Ｓ１２２０）。
【００６９】
そして、マージ後の値のほうが大きいか否かを判定する（Ｓ１２３０）。ステップＳ１２３０において、差分値の最大が負の場合には、マージ後の全記述長（または、相互情報量）のほうが大きいと判断して、ステップＳ１２４０の処理を実行する。一方、ステップＳ１２３０において、差分値の最大が負ではない場合には、マージ後の全記述長（または、相互情報量）のほうが小さいと判断して、ステップＳ１２５０の処理を実行する。
【００７０】
ステップＳ１２３０において、マージ後の全記述長（または、相互情報量）のほうが大きいと判定された場合には、トピッククラスタ、メンバークラスタともに、マージ後の全記述長（または、相互情報量）のほうが大きいか否かを判定する（Ｓ１２４０）。ステップＳ１２４０において、トピッククラスタ、メンバークラスタともにマージ後の全記述長（または、相互情報量）のほうが大きいと判定された場合には、処理を終了する。一方、ステップＳ１２４０において、トピッククラスタ、メンバークラスタのいずれかのマージ後の全記述（または、相互情報量）のほうが大きいと判定された場合には、ステップＳ１２６０の処理を実行する。
【００７１】
ステップＳ１２４０において、マージ前の全記述長（または、相互情報量）のほうが大きいと判定された場合には、差分値の最大のクラスタ・ペアでマージする。そして、メンバークラスタについて、全記述長（または、相互情報量）の減少の大きいクラスタ・ペアを見つけるために、マージ前の全記述長（または、相互情報量）を計算する。（ステップＳ１２６０）。
【００７２】
そして、メンバークラスタのすべての組み合わせについて、マージ後の全記述長（または、相互情報量）を計算し、さらに、マージ前とマージ後の差分値を計算する（Ｓ１２７０）。そして、メンバークラスタのすべての組み合わせについて、差分値の大きい順にソートする（Ｓ１２８０）。
【００７３】
そして、マージ後の値のほうが大きいか否かを判定する（Ｓ１２９０）。ステップＳ１２９０において、差分値の最大が負の場合にはマージ後の全記述長（または、相互情報量）のほうが大きいと判断して、ステップＳ１３００の処理を実行する。一方、ステップＳ１２８０において、差分値の最大が負ではない場合にはマージ後の全記述長（または、相互情報量）のほうが小さいと判断して、ステップＳ１３１０の処理を実行する。
【００７４】
ステップＳ１２９０において、マージ後の全記述長（または、相互情報量）のほうが大きいと判定された場合には、差分値の最大のクラスタ・ペアでマージする。その後、ステップＳ１２００の処理に戻る。
【００７５】
例えば、非特許文献１の方法によって、トピック―メンバー行列は、次のようにクラスタリングできる。
【００７６】
トピックのクラスタリング（１回目）：ｔ２とｔ３（新トピック：ｔ７とする。）
メンバーグループのクラスタリング(１回目)：ｍ３とｍ４（新グループ：ｍ９とする。）
トピックのクラスタリング(２回目)：ｔ１とｔ４（新トピック：ｔ８とする。）
メンバーグループのクラスタリング（２回目）：ｍ６とｍ８（新グループ：ｍ１０とする。）
トピックのクラスタリング（３回目）：ｔ７とｔ５（新トピック：ｔ９とする。）
メンバーグループのクラスタリング（３回目）：ｍ５とｍ７（新グループ：ｍ１１とする。）
トピックのクラスタリング（４回目）：ｔ８とｔ６（新トピック：ｔ１０とする。）
メンバーグループのクラスタリング（４回目）：ｍ１とｍ２（新グループ：ｍ１２とする。）
【００７７】
図１１に示したクラスタリング例では、４回目でクラスタリングの処理が終了しているが、別のクラスタリング手法によって、例えば、トピックについては、クラスタ数が２になるまで実行するようにしてもよい。図１１に示した最終的なクラスタについて、トピッククラスタｔ９、ｔ１０、メンバークラスタｍ９、ｍ１０、ｍ１１、ｍ１２について、以後に説明する処理を実行する。ただし、図１１に示したクラスタリングは一例であって、当該処理方法に限らず、他のクラスタリング手法によってクラスタリングした結果を用いてもよい。
【００７８】
図７に戻り、ステップＳ１２０において双クラスタリングを実施した後、グループ分割部２０３は、個々のトピッククラスタについて、ステップＳ１４０〜ステップＳ２００の処理を実行する。まず、すべてのトピッククラスタについて、処理が終了しているか否かを判定する（Ｓ１３０）。ステップＳ１３０において、すべてのトピッククラスタについて処理が終了していない場合には、処理対象のトピッククラスタを決定する。ステップＳ１３０において、すべてのトピッククラスタについて処理が終了していた場合には、ステップＳ２１０の処理を実行する。
【００７９】
ステップＳ１３０において処理対象のトピッククラスタが決定された場合には、決定されたトピッククラスタについて、アクション値の計算を行う（Ｓ１４０）。ステップＳ１４０においては、まず、該トピッククラスタに属するメンバークラスタを決定する。そして、トピック―メンバー行列を参照して、トピッククラスタとメンバークラスタごとに、行列の成分を集計する。
【００８０】
例えば、トピッククラスタ「ｔ９」でのメンバークラスタ「ｍ９」のアクション「ｂｔ９ｍ９＝８」は、以下のように算出される。
ｂｔ９ｍ９＝ａｔ２ｍ３＋ａｔ２ｍ４＋ａｔ３ｍ３＋ａｔ３ｍ４＋ａｔ５ｍ３＋ａｔ５ｍ４＝１＋２＋３＋２＋０＋０＝８
【００８１】
同様に、トピッククラスタ、メンバークラスタごとのアクションの集計結果は以下の通りである。
2010218353.tif 000003
【００８２】
そして、ステップＳ１４０において集計したトピッククラスタについて、各行ベクトルの成分の合計値を計算する（Ｓ１５０）。例えば、トピッククラスタｔ９の合計値「２１」、トピッククラスタｔ１０の合計値「４３」は以下のように算出される。
2010218353.tif 000004
【００８３】
そして、以下の計算式を満たす場合には、トピッククラスタｉに、メンバークラスタｊが属すると判断する（Ｓ１６０）。
（トピッククラスタｉの合計値）/５＜ｂｉｊの値・・・（数式２）
【００８４】
例えば、トピッククラスタｔ９では、合計値が２１であるため、値が５以上のメンバークラスタｍ９およびｍ１２が数式２の条件を満たす。トピッククラスタｔ１０では、合計値が４３であるため、値が９以上のメンバークラスタｍ１０およびｍ１１が数式２の条件を満たす。
【００８５】
そして、グループ分割部２０３は、トピッククラスタに属するメンバーグループが、当該コミュニティのすべてのメンバーであるか、またはメンバーが０人であるか否かを判定する（Ｓ１７０）。ステップＳ１７０において、トピッククラスタに属するメンバーグループがコミュニティのすべてのメンバーではなく、メンバーが０人でない場合には、分割が成功したと判断して、ステップＳ１８０の処理を実行する。
【００８６】
ステップＳ１７０において、トピッククラスタに属するメンバーグループがコミュニティのすべてのメンバーであるか、メンバーが０人である場合には、分割はできないと判断して、次のトピッククラスタを処理するために、ステップＳ１３０に戻る。例えば、上記計算したトピッククラスタｔ９およびｔ１０については、ステップＳ１８０の処理を実行する。
【００８７】
そして、グループ分割部２０３は、コミュニティの分割を実行する（Ｓ１８０）。ステップＳ１８０において、個々のトピッククラスタを新しいグループとして、グループ情報格納部４０に格納する。例えば、トピッククラスタｔ９、ｔ１０のグループＩＤを、それぞれｇ３、ｇ４とした場合には、図１２に示したグループ情報格納部４０となる。
【００８８】
グループ分割部２０３は、ステップＳ１８０において作成された個々のトピッククラスタについて、ステップＳ１６０で決定したメンバー情報をメンバー情報格納部５０に格納する（Ｓ１９０）。例えば、トピッククラスタｔ９、ｔ１０のグループＩＤを、それぞれｇ３、ｇ４とした場合には、図１３に示したメンバー情報格納部５０となる。
【００８９】
上記では、ステップＳ１９０において、ｇ３およびｇ４の新たなサブコミュニティを作成しているが、ステップＳ１９０の処理を実行せずに、コミュニティのメンバーは、もとのコミュニティのメンバーと同じであってもよい。
【００９０】
グループ分割部２０３は、トピック情報格納部７０に対して、トピッククラスタに属するトピックグループのグループＩＤを、新しいグループＩＤに更新する（Ｓ２００）。そして、ステップＳ２００の処理の後、次のトピッククラスタを処理するために、ステップＳ１４０に戻る。
【００９１】
例えば、トピッククラスタｔ９、ｔ１０のグループＩＤをそれぞれｇ３、ｇ４とした場合には、図１４に示したトピック情報格納部７０となる。そして、出力部３０は、サブグループが生成されたか否かを出力し（Ｓ２１０）、処理を終了する。ステップＳ２１０においては、例えば、サブグループｇ３およびｇ４が作成されたことを出力する。
【００９２】
以上、クラスタリング処理の詳細について説明した。上記実施形態によれば、コミュニティのトピック情報とメンバー情報とに基づいて双クラスタリングを行って、コミュニティをサブコミュニティに分割し、コミュニティの個々のトピックとメンバーをサブコミュニティに振り分けることが可能となる。
【００９３】
例えば、コミュニティのトピックを、トピックに含まれる単語情報だけでクラスタリングすると、データ量が少ない場合にはスパースになり、精度のよいクラスタリングをすることができないことが考えられる。しかし、類似するトピックには、興味が近いメンバーが発言していると考えることができ、トピックに含まれる単語情報のみでクラスタリングする場合に比べて、精度の高いクラスタリング結果を得ることが可能となる。以上、第１実施形態について説明した。
【００９４】
〔３〕第２実施形態
次に、第２実施形態について説明する。第１実施形態では、ソーシャルネットワークサービスに特有の、メンバー間のつながりに関する情報を、クラスタリングに活用していなかった。そこで、本実施形態では、メンバー間のつながりに関する情報をクラスタリングに活用する。メンバー間のつながりとしては、以下の項目が挙げられる。
項目１：メンバー間のフレンド関係（友人関係）を重視する。
項目２：同一のトピックに同一のタグを付与したメンバー間の関係を重視する。
【００９５】
また、第１実施形態では、トピック間の関係として、トピックに含まれる単語情報もクラスタリングに活用していない。そこで、本実施形態では、トピック間の関係に関する情報をクラスタリングに活用する。トピック間の関係としては、以下の項目が挙げられる。
項目３：複数のトピックに対する発言やタグの間で、アクション内容項目に同一の単語が含まれている場合、それらのトピック間の関係を重視する。
【００９６】
具体的には、上記した項目１について、フレンド関係があるメンバーの組み合わせで優先的にマージ処理を行う。項目２についても、同一のトピックに、同一のタグを付与したメンバーについて、優先的にマージ処理を行う。また、項目３については、アクション情報格納部６０の各発言やタグに対してあらかじめ形態素解析を行って、同一の単語を含むトピックについて優先的にマージ処理を行う。
【００９７】
〔３−１〕クラスタリング装置の機能構成
次に、図１５を参照して、本実施形態にかかるクラスタリング装置２の機能構成について説明する。図１５に示したように、クラスタリング装置２は、入力部１０、サブグループ作成部２０、出力部３０、グループ情報格納部４０、メンバー情報格納部５０、アクション情報格納部６０、トピック情報格納部７０、アクション重み格納部８０、メンバー関係情報格納部９０、単語情報格納部１００などを備える。
【００９８】
本実施形態にかかるクラスタリング装置２は、第１実施形態とは、メンバー関係情報格納部９０および単語情報格納部１００を備える点で異なっている。以下では、第１実施形態と異なる機能について主に説明し、第１実施形態と同様の機能については説明を省略する。
【００９９】
メンバー関係情報格納部９０は、例えばＥＥＰＲＯＭ、ＥＰＲＯＭなどの不揮発性メモリや、ハードディスクおよび円盤型磁性体ディスクなどの磁気ディスクなどで構成される。メンバー関係情報格納部９０は、メンバー間のフレンド関係の情報を格納する。図１６に示したように、メンバー関係情報格納部９０には、メンバーＩＤ９０１とフレンドメンバーＩＤ９０２とが関連付けられて記憶されている。例えば、図１６のメンバー関係情報格納部９０に示したように、第１レコードは、メンバーｍ１とメンバーｍ２、ｍ５、ｍ１０の間でフレンド関係があることを示している。
【０１００】
単語情報格納部１００は、例えばＥＥＰＲＯＭ、ＥＰＲＯＭなどの不揮発性メモリや、ハードディスクおよび円盤型磁性体ディスクなどの磁気ディスクなどで構成される。単語情報格納部１００は、アクション情報格納部６０の各発言やタグについて、あらかじめ形態素解析を行った結果を格納している。図１７に示したように、単語情報格納部１００は、単語名１００１とトピックＩＤ１００２とが関連付けられて記憶されている。これにより、どのトピックにどの単語名が含まれているのかがわかる。
【０１０１】
〔３−２〕クラスタリング処理の詳細
以上、本実施形態にかかるクラスタリング装置２の機能構成について説明した。次に、図１８Ａおよび図１８Ｂを参照して、本実施形態にかかるクラスタリング装置２におけるクラスタリング処理の詳細について説明する。以下では、第１実施形態と異なる処理について主に説明し、第１実施形態と同様の処理については説明を省略する。本実施形態では、第１実施形態のクラスタリング処理とは双クラスタリングの実施についての処理（図７のステップＳ１２０、図９）が異なるため、以下では、双クラスタリングの実施について第１実施形態と異なる処理について主に説明する。
【０１０２】
本実施形態では、ソートされたトピッククラスタの組み合わせのうち、最小の上位５つの組み合わせで、共通の単語を含むトピックがある場合に優先的にマージする。トピッククラスタの組み合わせに、共通の単語が含まれているか否かは単語情報格納部１００を参照して行う。
【０１０３】
また、ソートされたメンバークラスタの組み合わせのうち、最小の上位５つの組み合わせで、マイフレンド関係を含むメンバーがいる場合に優先的にマージする。メンバークラスタの組み合わせに、マイフレンド関係を含むメンバーがいるか否かはメンバー関係情報格納部９０を参照して行う。
【０１０４】
さらに、同一のトピックに、同一のタグを付与したメンバーがいる場合に優先的にマージする。同一のトピックに同一のタグを付与したメンバーがいるか否かは、アクション情報格納部６０に対して、トピックＩＤとアクション内容項目が同一で、アクション種類が「タグ」であるレコードが存在するかどうかをＳＱＬでデータベース検索を行い判定する。
【０１０５】
図１８Ａに示したように、図９に示した第１実施形態の双クラスタリングの実施処理のうち、ステップＳ１２３０とステップＳ１２５０との間に、以下に説明するステップＳ１８００〜ステップＳ１８４０の処理を実施する。
【０１０６】
ステップＳ１２３０において、差分値の最大が負ではない場合には、マージ後の全記述長（または、相互情報量）のほうが小さい場合には、ソートされたトピッククラスタの組み合わせのｉ番前の組み合わせを示すカウンタｉを０に初期化する（Ｓ１８００）。次に、カウンタｉが５以上、または、すべてのトピッククラスタにおいて共通単語のチェックが終了したか否かを判定する（Ｓ１８１０）。
【０１０７】
ステップＳ１８１０においては、上位５組のクラスタの組み合わせについての計算が終了したか否かについて判定しているが、かかる例に限定されない。例えば、全組み合わせ数の５％の組み合わせについての計算が終了したか否かを判定するようにしてもよい。
【０１０８】
ステップＳ１８１０においてカウンタｉが５以上、または、すべてのトピッククラスタにおいて共通単語のチェックが終了したと判定された場合には、ステップＳ１２５０の処理を実行する。一方、ステップＳ１８１０において、カウンタｉが５以上ではなく、すべてのトピッククラスタで共通単語のチェックが終了していない場合には、トピッククラスタのペアに共通の単語が存在するか否かを判定する（Ｓ１８２０）。
【０１０９】
ステップＳ１８２０において、トピッククラスタの組み合わせのなかに、共通単語を含むトピックが存在すると判定された場合には、当該クラスタ・ペアでマージする（Ｓ１８３０）。ステップＳ１８２０において、トピッククラスタの組み合わせのなかに、共通単語を含むトピックが存在しないと判定された場合には、カウンタｉに１を加算して、ステップＳ１８１０に戻る。
【０１１０】
例えば、ステップＳ１２３０の処理の終了時点で、トピッククラスタの上位のソート結果が以下のようになっていたと仮定する。
＜ステップＳ１２３０終了時点のソート結果＞
ｔ２−ｔ３：１１．９２９
ｔ２−ｔ５：１０．５８２
ｔ４−ｔ６：１０．７７３
ｔ１−ｔ４：１０．５４９
ｔ１−ｔ２：９．１７６
【０１１１】
上記組み合わせのうち、トピックｔ１とｔ２は、図１７に示した単語情報格納部１００で、共通の単語「言語」を含んでおり上記した項目３を満たす。そこで、ステップＳ１８３０において、トピックｔ１とｔ２の組み合わせをクラスタ・ペアとして、優先してマージする。その結果、１回目のトピックのクラスタリングは以下のようになる。
トピックのクラスタリング（１回目）：ｔ１とｔ２（新トピック：ｔ２０とする。）
【０１１２】
上記したステップＳ１８００〜ステップＳ１８３０までの処理については、トピッククラスタの組み合わせについて優先的に処理されていれば、他の処理手順であってもよい。
【０１１３】
また、本実施形態においては、図９に示した第１実施形態の双クラスタリングの実施処理におけるステップＳ１３１０以降の処理に代えて、以下のステップＳ２０００〜ステップＳ２０４０までの処理を実行する。
【０１１４】
ステップＳ１２９０において、マージ後の全記述長（または、相互情報量）のほうが小さいと判断した場合には、ソートされたメンバークラスタの組み合わせのｉ番目の組み合わせを示すカウンタｉを０に初期化する（Ｓ２０００）。次に、カウンタｉが５以上、またはすべてのメンバークラスタにおいてマイフレンド関係のチェックが終了したか否かを判定する（Ｓ２０１０）。
【０１１５】
ステップＳ２０１０においては、上位５組のクラスタの組み合わせについての計算が終了したか否かについて判定しているが、かかる例に限定されない。例えば、全組み合わせ数の５％の組み合わせについての計算が終了したか否かを判定するようにしてもよい。
【０１１６】
ステップＳ２０１０において、カウンタｉが５以上、または、すべてのメンバークラスタにおいてマイフレンド関係のチェックが終了したと判定された場合には、ステップＳ１３１０の処理を実行する。一方、ステップＳ２０１０において、カウンタｉが５以上ではなく、すべてのメンバークラスタにおいてマイフレンド関係のチェックが終了していない場合には、メンバークラスタの組み合わせのなかにフレンド関係のあるメンバーが存在するか、または、同一のトピックに同一のタグを付与したメンバーがいるか否かを判定する（Ｓ２０２０）。
【０１１７】
ステップＳ２０２０において、メンバークラスタの組み合わせのなかに、フレンド関係のあるメンバーが存在する、または、同一のトピックに同一のタグを付与したメンバーがいると判定された場合には、当該クラスタ・ペアでマージする（Ｓ２０３０）。一方、ステップＳ２０２０において、メンバークラスタの組み合わせのなかに、フレンド関係のあるメンバーが存在せず、同一のトピックに同一のタグを付与したメンバーも存在しないと判定された場合には、カウンタｉに１加算して、ステップＳ２０１０に戻る。
【０１１８】
例えば、ステップＳ１２９０の処理の終了時点で、メンバークラスタの上位のソート結果が以下のようになっていたと仮定する。
＜ステップＳ１２９０の終了時点のソート結果＞
ｍ３−ｍ４：１０．０８７
ｍ６−ｍ８：８．８８０
ｍ１−ｍ８：８．６３３
ｍ６−ｍ７：８．５７２
ｍ５−ｍ７：８．３７９
【０１１９】
上記組み合わせのうち、メンバーｍ６とｍ７は、図４に示したアクション情報格納部６０で、アクションＩＤがａ７とａ８のレコードで、同一のトピックに同一のタグを付与した関係であるため、上記項目２を満たす。また、図１６に示したメンバー関係情報格納部９０においても、ｍ６とｍ７にマイフレンド関係があることがわかるため、上記項目１も満たしている。
【０１２０】
ステップＳ２０２０においては、上記項目１または項目２のいずれかを満たせばよいため、メンバーｍ６とｍ７の組み合わせをクラスタ・ペアとして、優先してマージする。その結果、１回目のメンバーのクラスタリングは以下のようになる。
メンバーグループのクラスタリング（１回目）：ｍ６とｍ７（新グループ：ｍ２０とする。）
【０１２１】
上記したステップＳ２０００〜ステップＳ２０３０までの処理については、メンバークラスタの組み合わせについて優先的に処理されていれば、他の処理手順であってもよい。
【０１２２】
以上、クラスタリング処理の詳細について説明した。上記実施形態によれば、ソーシャルネットワークサービスに特有の、メンバー間のつながりに関する情報を活用することができる。例えば、メンバー間にマイフレンド関係がある場合には、共通の興味があると考え、優先的にマージして、精度の高いクラスタリングを行うことが可能となる。
【０１２３】
また、トピック間の関係に関する情報を活用することもできる。例えば、共通の単語を含むトピックは類似していると考え、優先的にマージして、精度の高いクラスタリングを行うことも可能となる。以上、第２実施形態について説明した。
【０１２４】
〔４〕第３実施形態
次に、第３実施形態について説明する。第１実施形態および第２実施形態では、各トピックがいつ投稿されたりタグが付与されたりしたのか、すなわち、アクション時刻に関する情報を考慮していなかった。そこで、本実施形態では、トピックのアクション時刻に関する情報をクラスタリングに活用する。具体的には、トピックのアクション時刻が古いものほど、アクションの重み値が軽くなるようにトピック―メンバー行列を作成する。
【０１２５】
〔４−１〕クラスタリング装置の機能構成
本実施形態にかかるクラスタリング装置３の機能構成は、第１実施形態にかかるクラスタリング装置１の機能構成とほぼ同様であるため、詳細な説明は省略する。
【０１２６】
〔４−２〕クラスタリング処理の詳細
本実施形態にかかるクラスタリング装置３におけるクラスタリング処理については、第１実施形態と異なる処理について主に説明する。本実施形態におけるクラスタリング処理は、第１実施形態のトピックメンバー行列のステップＳ１０６０（図７）の代わりに、以下に説明するステップＳ３０００の処理を実施する点で異なっている。
【０１２７】
行列作成部２０１は、処理対象レコードＲｉのアクション種類に対応する重みを、アクション重み格納部８０から取得した後に、以下のステップＳ３０００の処理を実行する。行列作成部２０１は、処理対象レコードＲｉのトピックＩＤ、アクション者項目から、現在時刻とアクション時刻との差を考慮したアクション時刻による重み考慮して、トピック―メンバー行列に加算する（Ｓ３０００）。
【０１２８】
具体的には、ステップＳ３０００において、メンバーｊがトピックｉに対して行ったアクションについて、次の式によって、行列の（ｉ，ｊ）成分に加算する。
ａｉｊ＝ａｉｊ＋（アクション時刻による重み）×（アクション重み）・・・（数式３）
【０１２９】
上記したアクション時刻による重みは、以下のように算出する。例えば、現在時刻とアクション時刻の差が３ヶ月未満の場合には、重みを１．０とする。また、現在時刻とアクション時刻の差が３ヶ月以上〜１年未満の場合には、重みを０．５とする。また、現在時刻とアクション時刻の差が１年以上の場合には、重みを０．３とする。
【０１３０】
本実施形態では、上記したように、過去のアクションほど重みが軽くなるように加算しているが加算方法はこれに限定されず、過去のアクションを重要視して、過去のアクション重みが重くなるように加算するようにしてもよい。
【０１３１】
例えば、現在時刻を２００９年３月１日と仮定した場合の重みについて説明する。図４に示したアクション情報格納部６０において、第１レコードのアクション時刻は「２００８年１２月１１日」である。この場合、現在時刻とアクション時刻との差は、「３ヶ月以上１年未満」に該当する。したがって、アクション時刻による重みは０．５となる。第１レコードのアクション内容は「投稿」であるため、アクション重みは１．０である。そうすると、アクション時刻による重みとアクション重みとの積（０．５＝０．５×１．０）が行列の（１，１）成分ａ１１に加算されることとなる。
【０１３２】
以上、第３実施形態について説明した。第３実施形態によれば、双クラスタリングを行うためのトピック―メンバー行列を作成する際に、アクション時刻による重み付けを行って、過去のアクションの影響を減らすことが可能となる。これにより、個々のメンバーの最近のアクションに応じたクラスタリングを実現することができる。
【０１３３】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【０１３４】
例えば、上記実施形態では、１つのコミュニティにあるトピックについて、クラスタリングを実施することとしたが、本発明はかかる例に限定されない。例えば、コミュニティにカテゴリや上位コミュニティが設定されている場合に、同一のカテゴリのコミュニティ群に属しているトピックに対して本発明を適用してもよい。この場合、コミュニティは異なるが、カテゴリが同一のコミュニティに属しているトピックをまとめて、トピッククラスタを作成するようにしてもよい。
【０１３５】
また、上記実施形態では、非特許文献１および２の手法を用いてトピッククラスタおよびメンバークラスタを双クラスタリングしているが、かかる例に限定されず、他の手法を用いて双クラスタリングをするようにしてもよい。
【０１３６】
また、上記実施形態では、存在するメンバーのすべてを対象としてトピック―メンバー行列を作成しているが、かかる例に限定されない。例えば、すべてのトピックで発言しているメンバーについては、トピック―メンバー行列に含めないように前処理を行ってもよい。
【符号の説明】
【０１３７】
１、２、３  クラスタリング装置
１０      入力部
２０      サブグループ作成部
２０１    行列作成部
２０２    クラスタリング処理部
２０３    グループ分割部
３０      出力部
４０      グループ情報格納部
５０      メンバー情報格納部
６０      アクション情報格納部
７０      トピック情報格納部
８０      アクション重み格納部
９０      メンバー関係情報格納部
１００    単語情報格納部
【図１】
2010218353.tif 000005
【図２】
2010218353.tif 000006
【図３】
2010218353.tif 000007
【図４】
2010218353.tif 000008
【図５】
2010218353.tif 000009
【図６】
2010218353.tif 000010
【図７】
2010218353.tif 000011
【図８】
2010218353.tif 000012
【図９】
2010218353.tif 000013
【図１０】
2010218353.tif 000014
【図１１】
2010218353.tif 000015
【図１２】
2010218353.tif 000016
【図１３】
2010218353.tif 000017
【図１４】
2010218353.tif 000018
【図１５】
2010218353.tif 000019
【図１６】
2010218353.tif 000020
【図１７】
2010218353.tif 000021
【図１８Ａ】
2010218353.tif 000022
【図１８Ｂ】
2010218353.tif 000023