JP2010218353A - クラスタリング装置およびクラスタリング方法 - Google Patents
クラスタリング装置およびクラスタリング方法 Download PDFInfo
- Publication number
- JP2010218353A JP2010218353A JP2009065694A JP2009065694A JP2010218353A JP 2010218353 A JP2010218353 A JP 2010218353A JP 2009065694 A JP2009065694 A JP 2009065694A JP 2009065694 A JP2009065694 A JP 2009065694A JP 2010218353 A JP2010218353 A JP 2010218353A
- Authority
- JP
- Japan
- Prior art keywords
- clustering
- topic
- group
- matrix
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】コミュニティに属するメンバーの類似性とトピックの類似性とを同時に考慮して精度の高いクラスタリングを行う。
【解決手段】クラスタリング装置1は、グループに属するトピック情報とメンバー情報とに応じて、グループに属するメンバーの活動状況を示す行列を作成する行列作成部201と、行列作成部201により作成された行列に基づいて、グループに属する1または2以上のトピックと1または2以上のメンバーに対して双クラスタリングを行うクラスタリング処理部202と、クラスタリング処理部によるクラスタリング処理結果に基づいて、トピックとメンバーとを、新たなサブグループに分けるグループ分割部203と、を備える。
【選択図】図1
【解決手段】クラスタリング装置1は、グループに属するトピック情報とメンバー情報とに応じて、グループに属するメンバーの活動状況を示す行列を作成する行列作成部201と、行列作成部201により作成された行列に基づいて、グループに属する1または2以上のトピックと1または2以上のメンバーに対して双クラスタリングを行うクラスタリング処理部202と、クラスタリング処理部によるクラスタリング処理結果に基づいて、トピックとメンバーとを、新たなサブグループに分けるグループ分割部203と、を備える。
【選択図】図1
Description
本発明は、クラスタリング装置およびクラスタリング方法に関し、特に、コミュニティ内のメンバーやトピックをクラスタリングし、サブコミュニティを生成するクラスタリング装置およびクラスタリング方法に関する。
昨今、ソーシャルネットワークサービスやニュースグループにおけるコミュニティでは、様々な話題が議論されている。コミュニティで継続的に議論が行われていると、ある話題から様々な話題へと広がっていくことが多々ある。この場合、情報を整理するためにコミュニティを複数の話題や各話題の参加者などで分類して、副次的なコミュニティを形成したいという要求がある。
例えば、特許文献1では、コミュニティにおけるメンバー間のメッセージのやりとりに関する情報から、メッセージの話題を抽出したりメッセージの情報量を算出したりして、メンバーのクラスタリングを行っている。メンバーをクラスタリングすることにより、コミュニティを所定のクラスタに分割することが可能となる。
李、安部「共起データに基づくクラスタリング法」、自然言語処理シンポジウム「実用的な自然言語処理にむけて」(1997)
青野、土肥「文書―単語双クラスタリングを用いた特許データの概念検索性能向上手法について」、DEWS2005(2005)
しかし、特許文献1では、メンバー情報をもとにコミュニティをクラスタリングするのみで、メンバーの類似性やコミュニティ内の個々のトピックについては何ら考慮されていないため、精度の高いクラスタリングを行うことができないという問題があった。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、コミュニティに属するメンバーの類似性とトピックの類似性とを同時に考慮して精度の高いクラスタリングを行うことが可能な、新規かつ改良されたクラスタリング装置、クラスタリング方法を提供することにある。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、コミュニティに属するメンバーの類似性とトピックの類似性とを同時に考慮して精度の高いクラスタリングを行うことが可能な、新規かつ改良されたクラスタリング装置、クラスタリング方法を提供することにある。
上記課題を解決するために、本発明のある観点によれば、グループに属するトピック情報とメンバー情報とに応じて、グループに属するメンバーの活動状況を示す行列を作成する行列作成部と、行列作成部により作成された行列に基づいて、グループに属する1または2以上のトピックと1または2以上のメンバーに対して双クラスタリングを行うクラスタリング処理部と、クラスタリング処理部によるクラスタリング処理結果に基づいて、トピックとメンバーとを、新たなサブグループに分けるグループ分割部と、を備えることを特徴とする、クラスタリング装置が提供される。
かかる構成によれば、グループに属するトピック情報とメンバー情報とに応じて、グループに属するメンバーの活動状況を示す行列を作成し、作成された行列に基づいてグループおよびトピックを双クラスタリングし、クラスタリングした結果に基づいて新たなサブグループを作成する。これにより、コミュニティに属するメンバーの類似性とトピックの類似性とを同時に考慮して、精度の高いクラスタリングを行うことが可能となる。
また、グループを識別するグループIDとグループのグループ名とを関連付けて記憶しているグループ情報格納部と、グループIDとグループに属するメンバーを識別するメンバーIDとを関連付けて記憶しているメンバー情報格納部と、トピック毎に対応するグループに属するメンバーの活動状況を示す情報を記憶している活動状況情報格納部と、グループIDとトピック情報とを関連付けて記憶しているトピック情報格納部と、メンバーの活動状況の種類ごとの重み付けの値を格納する活動状況重み格納部と、を備えてもよい。
また、行列作成部は、活動状況情報格納部に記憶されているトピック毎に対応するメンバーの活動状況を数値化した行列を作成するようにしてもよい。
また、メンバーの活動状況は、メンバーのトピックへの投稿、トピックへのブックマークや付箋の付与を表わすトピックへのタグ付け、トピックの参照を含み、行列作成部は、活動状況重み格納部を参照して、メンバーの活動状況の種類に対応する重み付けの値を用いてメンバーの活動状況を数値化した行列を作成するようにしてもよい。また、トピックでは、コミュニティの内容に合わせた話題が議論されたり、メンバーに周知しておきたい情報の共有として、例えば、社内外の情報源のURLや共有フォルダの紹介、会議資料のアップデートなどがなされる。
また、行列作成部により作成される行列は、メンバーとトピックとを行列要素とし、各行列の値は、メンバーの活動状況の種類毎の発生回数にメンバーの活動状況の重み付けの値を乗じて算出されるようにしてもよい。
また、クラスタリング処理部は、メンバーをクラスタリングする際に、メンバー間の関係が強い組み合わせで、クラスタリング前後の情報量の差分量が他の組み合わせと比べて決められた順位内である場合に、優先的にクラスタリングするようにしてもよい。
また、クラスタリング処理部は、メンバー間に友人関係がある場合にメンバー間の関係が強いと判断して、クラスタリングを行うようにしてもよい。
また、メンバーIDとメンバーIDの示すメンバーと友人関係にあるメンバーのメンバーIDとを関連付けて記憶している、メンバー関係情報格納部を備え、クラスタリング処理部は、メンバー関係情報格納部を参照して、メンバー間に友人関係があるか否かを判断するようにしてもよい。
また、クラスタリング処理部は、同一のトピックに同一のタグを付与したメンバー間に強い関係があると判断して、クラスタリングを行うようにしてもよい。
また、クラスタリング処理部は、トピックをクラスタリングする際に、トピック間の関係が強い組み合わせで、クラスタリング前後の情報量の差分量が他の組み合わせと比べて決められた順以内である場合に、優先的にクラスタリングするようにしてもよい。
また、クラスタリング処理部は、同一の単語を含むトピック間に強い関係があると判断して、クラスタリングを行うようにしてもよい。
また、行列作成部は、アクション情報格納部に格納されているアクション情報の発生時刻を示すアクション時刻をもとに、過去のアクションほど小さい重みを設定して、各トピックに対するメンバーのアクションを数値化した行列を作成するようにしてもよい。
また、上記課題を解決するために、本発明の別の観点によれば、グループに属するトピック情報とメンバー情報について、クラスタリングを行うクラスタリング装置において、グループに属するトピック情報とメンバー情報とに応じて、グループに属するメンバーの活動状況を示す行列を作成するステップと、行列を作成するステップにおいて作成された行列に基づいて、グループに属する1または2以上のトピックと1または2以上のメンバーに対して双クラスタリングを行うステップと、双クラスタリングを行うステップにおいて得られたクラスタリング処理結果に基づいて、トピックとメンバーとを、新たなサブグループに分けるステップと、を含むことを特徴とする、クラスタリング方法が提供される。
また、上記課題を解決するために、本発明の別の観点によれば、グループに属するトピック情報とメンバー情報とに応じて、クラスタリングを行うクラスタリング装置を制御するコンピュータを、トピック情報とメンバー情報とに応じて、グループに属するメンバーの活動状況を示す行列を作成する行列作成部と、行列作成部により作成された行列に基づいて、グループに属する1または2以上のトピックと1または2以上のメンバーに対して双クラスタリングを行うクラスタリング処理部と、クラスタリング処理部によるクラスタリング処理結果に基づいて、トピックとメンバーとを、新たなサブグループに分けるグループ分割部と、として機能させるための、プログラムが提供される。
以上説明したように本発明によれば、コミュニティに属するメンバーの類似性とトピックの類似性とを同時に考慮して精度の高いクラスタリングを行うことができる。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、以下に示す順序に従って、当該「発明を実施するための形態」を説明する。
〔1〕本実施形態の目的
〔2〕第1実施形態
〔2−1〕クラスタリング装置の機能構成
〔2−2〕クラスタリング処理の詳細
〔3〕第2実施形態
〔3−1〕クラスタリング装置の機能構成
〔3−2〕クラスタリング処理の詳細
〔4〕第3実施形態
〔4−1〕クラスタリング装置の機能構成
〔4−2〕クラスタリング処理の詳細
〔1〕本実施形態の目的
〔2〕第1実施形態
〔2−1〕クラスタリング装置の機能構成
〔2−2〕クラスタリング処理の詳細
〔3〕第2実施形態
〔3−1〕クラスタリング装置の機能構成
〔3−2〕クラスタリング処理の詳細
〔4〕第3実施形態
〔4−1〕クラスタリング装置の機能構成
〔4−2〕クラスタリング処理の詳細
〔1〕本実施形態の目的
まず、本発明の実施形態の目的について説明する。昨今、ソーシャルネットワークサービスやニュースグループにおけるコミュニティでは、様々な話題が議論されている。コミュニティで継続的に議論が行われていると、ある話題から様々な話題へと広がっていくことが多々ある。この場合、情報を整理するためにコミュニティを複数の話題や各話題の参加者などで分類して、副次的なコミュニティを形成したいという要求がある。
まず、本発明の実施形態の目的について説明する。昨今、ソーシャルネットワークサービスやニュースグループにおけるコミュニティでは、様々な話題が議論されている。コミュニティで継続的に議論が行われていると、ある話題から様々な話題へと広がっていくことが多々ある。この場合、情報を整理するためにコミュニティを複数の話題や各話題の参加者などで分類して、副次的なコミュニティを形成したいという要求がある。
例えば、コミュニティにおけるメンバー間のメッセージのやりとりに関する情報から、メッセージの話題を抽出したりメッセージの情報量を算出したりして、メンバーのクラスタリングを行う技術が開示されている。当該技術では、メンバーをクラスタリングすることにより、コミュニティを所定のクラスタに分割することが可能となる。
しかし、上記技術では、メンバー情報をもとにコミュニティをクラスタリングするのみで、メンバーの類似性やコミュニティ内の個々のトピックについては何ら考慮されていないため、精度の高いクラスタリングを行うことができないという問題があった。また、個々のトピックを振り分けたり、サブコミュニティごとに興味のあるメンバーを再登録したりして、既存のコミュニティから新たにサブコミュニティを作成するのは面倒であった。
そこで、上記のような事情を一着眼点として、本発明の実施形態にかかるクラスタリングを装置が創作されるに至った。本実施形態にかかるクラスタリング装置は、メンバー情報のみならず、メンバーの類似性やコミュニティに属する類似のトピックを発見して既存のコミュニティを整理し、サブコミュニティを生成する。これにより、コミュニティに属するメンバーの類似性とトピックの類似性を同時に考慮して精度の高いクラスタリングを行うことが可能となる。
本実施形態にかかるクラスタリング装置は、既存のコミュニティからサブコミュニティを生成するために、後述するトピック―メンバー行列を作成し、双クラスタリングを行う。双クラスタリングとは、2つの異なる要素を同時に考慮して双方向でクラスタリングを行う手法である。具体的には、2つの異なる要素の共起性に着目して、2つの異なる要素をそれぞれクラスタリングする。双クラスタリングを扱った文献として、例えば、非特許文献1および非特許文献2が挙げられる。非特許文献1および非特許文献2においては、文書と単語を用いた双クラスタリングについて提案されている。
上記したトピック―メンバー行列とは、コミュニティに属する各メンバーが、個々のトピックに対して行った発言やタグ付与などのアクションを数値化した行列である。ここで、タグ付与とは、トピックにブックマークのように付与される見出し語を付与することをいう。また、クラスタリングをする際に、メンバーのマイフレンド関係の有無を評価することにより、ソーシャルネットワークサービスに特有のフレンド関係(友人関係)などを活用する。
〔2〕第1実施形態
以上、本発明の実施形態の目的について説明した。次に、図1を参照して、本実施形態にかかるクラスタリング装置1の機能構成について説明する。なお、クラスタリング装置1の機能構成を説明するに際し、適宜、図2〜6を参照する。クラスタリング装置1としては、例えば、パーソナルコンピュータ等のコンピュータ装置(ノート型、デスクトップ型を問わない。)を例示できるが、かかる例に限定されず、携帯電話やPDA(Personal Digital Assistant)などで構成してもよい。
以上、本発明の実施形態の目的について説明した。次に、図1を参照して、本実施形態にかかるクラスタリング装置1の機能構成について説明する。なお、クラスタリング装置1の機能構成を説明するに際し、適宜、図2〜6を参照する。クラスタリング装置1としては、例えば、パーソナルコンピュータ等のコンピュータ装置(ノート型、デスクトップ型を問わない。)を例示できるが、かかる例に限定されず、携帯電話やPDA(Personal Digital Assistant)などで構成してもよい。
〔2−1〕クラスタリング装置の機能構成
図1の機能構成を説明する前に、クラスタリング装置1のハードウェア構成の一例について説明する。クラスタリング装置1は、例えば、CPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)と、入力装置と、出力装置と、ストレージ装置(HDD)などを備える。
図1の機能構成を説明する前に、クラスタリング装置1のハードウェア構成の一例について説明する。クラスタリング装置1は、例えば、CPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)と、入力装置と、出力装置と、ストレージ装置(HDD)などを備える。
CPUは、演算処理装置および制御装置として機能し、各種プログラムに従って行動予測装置10の動作全般を制御する。また、CPUは、マイクロプロセッサであってもよい。ROMは、CPUが使用するプログラムや演算パラメータ等を記憶する。RAMは、CPUの実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバスなどから構成されるホストバスにより相互に接続されている。
入力装置は、例えば、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPUに出力する入力制御回路などから構成されている。
出力装置は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Display)装置およびランプなどの表示装置と、スピーカおよびヘッドホンなどの音声出力装置で構成される。
ストレージ装置は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含むことができる。ストレージ装置は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置は、ハードディスクを駆動し、CPUが実行するプログラムや各種データを格納する。
以上、クラスタリング装置1のハードウェア構成について説明した。次に、図1を参照して、クラスタリング装置1の機能構成について説明する。図1に示したように、クラスタリング装置1は、入力部10、サブグループ作成部20、出力部30、グループ情報格納部40、メンバー情報格納部50、アクション情報格納部60、トピック情報格納部70、アクション重み格納部80などを備える。
入力部10は、上記した入力装置により構成される。クラスタリング装置1のユーザは、該入力部10を操作することにより、クラスタリング装置1に対して各種のデータを入力したり処理動作を指示したりすることができる。具体的には、ユーザ操作に応じて、特定のグループについて、サブグループを生成する要求を受け付ける機能を有する。
サブグループ作成部20は、入力部10を介してユーザにより指定されたグループについて、サブグループを作成する機能を有する。図1に示したように、サブグループ作成部20は、行列作成部201、クラスタリング処理部202、グループ分割部203などを備える。行列作成部201、クラスタリング処理部202、グループ分割部203を含むサブグループ作成部20は、コンピュータにより構成され、その動作は、上記したROMに記憶されたプログラムをもとに、CPUで実行される。
行列作成部201は、クラスタリング処理対象となる、指定されたグループに属するトピック情報とメンバー情報とに応じて、グループに属する各メンバーの活動状況を示す行列を生成する機能を有する。各メンバーの活動状況を示す行列とは、上記したトピック―メンバー行列である。行列作成部201において作成されるトピック―メンバー行列については、後で詳細に説明する。
クラスタリング処理部202は、行列作成部201により作成されたトピック―メンバー行列に基づいて、グループに属する1または2以上のトピックと1または2以上のメンバーに対してクラスタリングを行う機能を有する。クラスタリング処理部202は、クラスタリングを行った結果をグループ分割部203に提供する。
グループ分割部203は、クラスタリング処理部202により実行されたクラスタリング処理結果に基づいて、トピックとメンバーとを新たなサブグループに分ける機能を有する。
出力部30は、上記した出力処置により構成される。出力部30は、サブグループ作成部20によりサブグループが作成されか否かを出力する。
グループ情報格納部40は、グループに関する情報を格納している。図2に示したように、グループ情報格納部40には、グループを識別するグループID401とグループのグループ名402とが関連付けて記憶されている。
メンバー情報格納部50は、メンバー情報格納部50は、各グループに所属しているメンバーIDを格納している。図3に示したように、メンバー情報格納部50には、グループID501とグループに属するメンバーを識別するメンバーID502とが関連付けて記憶されている。例えば、図3のメンバー情報格納部50に示したように、第1レコードは、グループg1に所属するメンバーのメンバーIDが、m1、m2、m3、m4、m5、m6、m7、m8の8人であることを示している。
アクション情報格納部60は、コミュニティに対する投稿など、メンバーのアクション情報を格納している。図4に示したように、アクション情報格納部60には、アクションID601、トピックID602、アクション種類603、アクション者604、アクション時刻605、アクション内容606が格納されている。
ここで、トピックは各グループに投稿された個々の話題に対応し、一つの話題に対して複数の発言を投稿することができる。個々のトピックは、トピックIDによって識別される。各トピックでは、コミュニティの内容に合わせた話題が議論されたり、メンバーに周知しておきたい情報の共有として、例えば、社内外の情報源のURLや共有フォルダの紹介、会議資料のアップデートなどがなされる。また、メンバーの活動状況を示すアクションには、「トピックに投稿する」「トピックにタグを付与する」などの種類が挙げられ、アクション種類603に設定される。「トピックにタグを付与する」とは、例えば、トピックをブックマークしたり、付箋を付与したりすることなどが挙げられる。アクション者604には、アクションを実施したメンバーのメンバーIDが設定される。アクション時刻605には、メンバーによりアクションが実施された時刻が設定される。
アクション内容項目606には、アクション種類が「投稿」である場合には投稿された内容が設定され、アクション種類が「タグ」である場合には付与されたタグ名が設定される。
例えば、第1レコード(アクションID=a1)は、メンバーID「m1」がトピック「t1」に対して「プログラミング言語について議論しよう。」という投稿を2008年12月11日12:00に行ったことを示している。また、第4レコード(アクションID=a4)は、メンバーID「m1」がトピック「t1」に対して「○○言語」というタグを2008年12月14日12:00に行ったことを示している。
トピック情報格納部70は、トピックに関する情報を格納しており、各トピックがどのコミュニティ(グループ)に属しているかの情報を格納している。図5に示したように、トピック情報格納部70には、トピックID701とグループID702とが関連付けられて記憶されている。例えば、図5に示したように、トピックID「t1」〜「t6」までのトピックが、グループg1に属している。
アクション重み格納部80は、各アクションがどの程度の重みを有するかについての情報を格納している。図6に示したように、アクション重み格納部80には、アクションの種類801ごとの重み付けの値802が記憶されている。アクション重み格納部80は、本発明の活動状況重み格納部の一例である。例えば、アクション種類「発言」の重み値は「1」であり、アクション種類「タグ」の重み値は「0.5」である。アクション種類は、「発言」「タグ付与」に限定されない。例えば、アクション種類に「参照」などのアクションを追加するようにしてもよい。アクション情報格納部60は、本発明の活動状況情報格納部の一例である。
上記グループ情報格納部40、メンバー情報格納部50、アクション情報格納部60、トピック情報格納部70、アクション重み格納部80は、上記したストレージ装置(HDD)により構成される。
〔2−2〕クラスタリング処理の詳細
以上、本実施形態にかかるクラスタリング装置1の機能構成について説明した。次に、図7〜9を参照して、クラスタリング装置1におけるクラスタリング処理の詳細について説明する。なお、クラスタリング処理の詳細を説明するに際して、適宜、図10〜14を参照する。図7は、クラスタリング処理の詳細を示すフローチャートである。
以上、本実施形態にかかるクラスタリング装置1の機能構成について説明した。次に、図7〜9を参照して、クラスタリング装置1におけるクラスタリング処理の詳細について説明する。なお、クラスタリング処理の詳細を説明するに際して、適宜、図10〜14を参照する。図7は、クラスタリング処理の詳細を示すフローチャートである。
図7に示したように、まず、入力部10は、ユーザ入力に応じて、特定のグループのサブグループ(サブコミュニティ)生成要求を受け付ける(S100)。次に、行列作成部201は、ステップS100において入力部10により受け付けられたグループに対して、トピック―メンバー行列を作成する(S110)。行列作成部201は、ステップS110において作成したトピック―メンバー行列をトピック―メンバー行列一時記憶部(図示せず)に格納する。
ここで、図10を参照して、トピック―メンバー行列について説明する。図10は、トピック―メンバー行列について説明する説明図である。図10に示したように、トピック―メンバー行列は、コミュニティに所属しているメンバーを列にし、コミュニティの各トピックを行にする。行列には、トピックごとのメンバーのアクションを数値化した値を格納する。
例えば、アクション情報格納部60において、トピックiで、メンバーjがm回発言しn個タグを付与した場合に、行列の値aijは、以下の計算式によって算出される。
aij=m×(アクション種類「発言」の重み)+n×(アクション種類「タグ」の重み) ・・・(数式1)
例えば、アクション情報格納部60に、メンバーm1が、トピックt1で、2回発言し、タグを2個付与したというアクション情報が格納されている場合には、上記数式1により行列の値at1,m1が以下のように算出できる。各アクション種類の重みはアクション重み格納部80を参照して、アクション種類「発言」の重みは1.0、アクション種類「タグ」の重みは0.5に設定される。
at1,m1=2×1.0+2×0.5=2.0
aij=m×(アクション種類「発言」の重み)+n×(アクション種類「タグ」の重み) ・・・(数式1)
例えば、アクション情報格納部60に、メンバーm1が、トピックt1で、2回発言し、タグを2個付与したというアクション情報が格納されている場合には、上記数式1により行列の値at1,m1が以下のように算出できる。各アクション種類の重みはアクション重み格納部80を参照して、アクション種類「発言」の重みは1.0、アクション種類「タグ」の重みは0.5に設定される。
at1,m1=2×1.0+2×0.5=2.0
図7に戻り、行列作成部201は、アクション情報格納部60を参照して、すべてのトピック、メンバーの組み合わせについて、トピック―メンバー行列を算出する。ここで、図8を参照して、ステップS110におけるトピック―メンバー行列の計算方法について説明する。図8は、行列作成部201におけるトピック―メンバー行列の計算方法について説明する説明図である。
図8に示したように、まず、トピック情報格納部70を参照して、処理対象となるグループIDに対応するコミュニティのトピック数を取得する(S1000)。また、メンバー情報格納部50を参照して、処理対象となるコミュニティ(グループ)に参加しているメンバー数を取得する(S1000)。
そして、ステップS1000において決定したトピック数およびメンバー数に応じたサイズでトピック―メンバー行列を初期化する(S1010)。そして、アクション情報格納部60の処理対象レコードの位置を格納するカウンタiを0に初期化する(S1020)。
そして、すべてのレコードを処理したか否かを判定する(S1030)。ステップS1030において、カウンタiが、アクション情報格納部60の総レコード数より小さい場合には、すべてのレコードを処理していないと判定して、ステップS1040の処理を実行する。ステップS1030において、カウンタiが、アクション情報格納部60の総レコード数と同じ場合にはすべてのレコードを処理したと判定して処理を終了する。
次に、アクション情報格納部60のグループIDが処理対象か否かを判定する(S1040)。ステップS1040においては、処理対象レコードRiのトピックIDに対応するグループIDが、サブグループの生成要求を受け付けたコミュニティのグループIDと同一か否かを判定する。
ステップS1040において、処理対象レコードRiのトピックIDに対応するグループIDと処理対象となるグループIDとが同一の場合には、ステップS1050の処理を実行する。一方、ステップS1040において、処理対象レコードRiのトピックIDに対応するグループIDと処理対象となるグループIDとが同一ではない場合には、ステップS1070の処理を実行する。
そして、ステップS1040において、アクション情報格納部60のグループIDが処理対象であると判定された場合には、処理対象レコードRiのアクション種類に対応する重みを、アクション重み格納部80から取得する(S1050)。次に、処理対象レコードRiのトピックID、アクション者項目から、トピック―メンバー行列の対応する値に、ステップS1050で取得した重みを加算する(S1060)。
そして、カウンタiを1つ加算して(S1070)、ステップS1030の処理に戻る。以上、行列作成部201におけるトピック―メンバー行列の計算方法について説明した。図7に戻り、クラスタリング処理の説明を続ける。
図7に示したように、ステップS110においてトピック―メンバー行列を作成した後に、クラスタリング処理部202は、双クラスタリング手法により、トピック、メンバーについてクラスタリングを実行する(S120)。ステップS120における双クラスタリングの方法は、例えば非特許文献1の方法が挙げられる。非特許文献1においては、トピックおよびメンバーについて、それぞれ所定のペアの関係(記述長)の減少を計算し、全記述長の減少の大きい順にクラスタ・ペアをソートする。
ここで、図9を参照して、双クラスタリングの処理方法について説明する。図9は、双クラスタリングの処理方法を示すフローチャートである。図9に示したように、まず、トピッククラスタについて、全記述長(または、相互情報量)の減少の大きいクラスタ・ペアを見つけるために、マージ前の全記述長(または、相互情報量)を計算する(S1200)。全記述長(または相互情報量)の計算方法は、例えば、非特許文献1および2示されている。
そして、トピッククラスタのすべての組み合わせについて、マージ後の全記述長(または、相互情報量)を計算しさらにマージ前とマージ後の差分値を計算する(S1210)。そして、トピッククラスタのすべての組み合わせについて、差分値の大きい順にソートする(S1220)。
そして、マージ後の値のほうが大きいか否かを判定する(S1230)。ステップS1230において、差分値の最大が負の場合には、マージ後の全記述長(または、相互情報量)のほうが大きいと判断して、ステップS1240の処理を実行する。一方、ステップS1230において、差分値の最大が負ではない場合には、マージ後の全記述長(または、相互情報量)のほうが小さいと判断して、ステップS1250の処理を実行する。
ステップS1230において、マージ後の全記述長(または、相互情報量)のほうが大きいと判定された場合には、トピッククラスタ、メンバークラスタともに、マージ後の全記述長(または、相互情報量)のほうが大きいか否かを判定する(S1240)。ステップS1240において、トピッククラスタ、メンバークラスタともにマージ後の全記述長(または、相互情報量)のほうが大きいと判定された場合には、処理を終了する。一方、ステップS1240において、トピッククラスタ、メンバークラスタのいずれかのマージ後の全記述(または、相互情報量)のほうが大きいと判定された場合には、ステップS1260の処理を実行する。
ステップS1240において、マージ前の全記述長(または、相互情報量)のほうが大きいと判定された場合には、差分値の最大のクラスタ・ペアでマージする。そして、メンバークラスタについて、全記述長(または、相互情報量)の減少の大きいクラスタ・ペアを見つけるために、マージ前の全記述長(または、相互情報量)を計算する。(ステップS1260)。
そして、メンバークラスタのすべての組み合わせについて、マージ後の全記述長(または、相互情報量)を計算し、さらに、マージ前とマージ後の差分値を計算する(S1270)。そして、メンバークラスタのすべての組み合わせについて、差分値の大きい順にソートする(S1280)。
そして、マージ後の値のほうが大きいか否かを判定する(S1290)。ステップS1290において、差分値の最大が負の場合にはマージ後の全記述長(または、相互情報量)のほうが大きいと判断して、ステップS1300の処理を実行する。一方、ステップS1280において、差分値の最大が負ではない場合にはマージ後の全記述長(または、相互情報量)のほうが小さいと判断して、ステップS1310の処理を実行する。
ステップS1290において、マージ後の全記述長(または、相互情報量)のほうが大きいと判定された場合には、差分値の最大のクラスタ・ペアでマージする。その後、ステップS1200の処理に戻る。
例えば、非特許文献1の方法によって、トピック―メンバー行列は、次のようにクラスタリングできる。
トピックのクラスタリング(1回目):t2とt3(新トピック:t7とする。)
メンバーグループのクラスタリング(1回目):m3とm4(新グループ:m9とする。)
トピックのクラスタリング(2回目):t1とt4(新トピック:t8とする。)
メンバーグループのクラスタリング(2回目):m6とm8(新グループ:m10とする。)
トピックのクラスタリング(3回目):t7とt5(新トピック:t9とする。)
メンバーグループのクラスタリング(3回目):m5とm7(新グループ:m11とする。)
トピックのクラスタリング(4回目):t8とt6(新トピック:t10とする。)
メンバーグループのクラスタリング(4回目):m1とm2(新グループ:m12とする。)
メンバーグループのクラスタリング(1回目):m3とm4(新グループ:m9とする。)
トピックのクラスタリング(2回目):t1とt4(新トピック:t8とする。)
メンバーグループのクラスタリング(2回目):m6とm8(新グループ:m10とする。)
トピックのクラスタリング(3回目):t7とt5(新トピック:t9とする。)
メンバーグループのクラスタリング(3回目):m5とm7(新グループ:m11とする。)
トピックのクラスタリング(4回目):t8とt6(新トピック:t10とする。)
メンバーグループのクラスタリング(4回目):m1とm2(新グループ:m12とする。)
図11に示したクラスタリング例では、4回目でクラスタリングの処理が終了しているが、別のクラスタリング手法によって、例えば、トピックについては、クラスタ数が2になるまで実行するようにしてもよい。図11に示した最終的なクラスタについて、トピッククラスタt9、t10、メンバークラスタm9、m10、m11、m12について、以後に説明する処理を実行する。ただし、図11に示したクラスタリングは一例であって、当該処理方法に限らず、他のクラスタリング手法によってクラスタリングした結果を用いてもよい。
図7に戻り、ステップS120において双クラスタリングを実施した後、グループ分割部203は、個々のトピッククラスタについて、ステップS140〜ステップS200の処理を実行する。まず、すべてのトピッククラスタについて、処理が終了しているか否かを判定する(S130)。ステップS130において、すべてのトピッククラスタについて処理が終了していない場合には、処理対象のトピッククラスタを決定する。ステップS130において、すべてのトピッククラスタについて処理が終了していた場合には、ステップS210の処理を実行する。
ステップS130において処理対象のトピッククラスタが決定された場合には、決定されたトピッククラスタについて、アクション値の計算を行う(S140)。ステップS140においては、まず、該トピッククラスタに属するメンバークラスタを決定する。そして、トピック―メンバー行列を参照して、トピッククラスタとメンバークラスタごとに、行列の成分を集計する。
例えば、トピッククラスタ「t9」でのメンバークラスタ「m9」のアクション「bt9m9=8」は、以下のように算出される。
bt9m9=at2m3+at2m4+at3m3+at3m4+at5m3+at5m4=1+2+3+2+0+0=8
bt9m9=at2m3+at2m4+at3m3+at3m4+at5m3+at5m4=1+2+3+2+0+0=8
そして、ステップS140において集計したトピッククラスタについて、各行ベクトルの成分の合計値を計算する(S150)。例えば、トピッククラスタt9の合計値「21」、トピッククラスタt10の合計値「43」は以下のように算出される。
そして、以下の計算式を満たす場合には、トピッククラスタiに、メンバークラスタjが属すると判断する(S160)。
(トピッククラスタiの合計値)/5<bijの値・・・(数式2)
(トピッククラスタiの合計値)/5<bijの値・・・(数式2)
例えば、トピッククラスタt9では、合計値が21であるため、値が5以上のメンバークラスタm9およびm12が数式2の条件を満たす。トピッククラスタt10では、合計値が43であるため、値が9以上のメンバークラスタm10およびm11が数式2の条件を満たす。
そして、グループ分割部203は、トピッククラスタに属するメンバーグループが、当該コミュニティのすべてのメンバーであるか、またはメンバーが0人であるか否かを判定する(S170)。ステップS170において、トピッククラスタに属するメンバーグループがコミュニティのすべてのメンバーではなく、メンバーが0人でない場合には、分割が成功したと判断して、ステップS180の処理を実行する。
ステップS170において、トピッククラスタに属するメンバーグループがコミュニティのすべてのメンバーであるか、メンバーが0人である場合には、分割はできないと判断して、次のトピッククラスタを処理するために、ステップS130に戻る。例えば、上記計算したトピッククラスタt9およびt10については、ステップS180の処理を実行する。
そして、グループ分割部203は、コミュニティの分割を実行する(S180)。ステップS180において、個々のトピッククラスタを新しいグループとして、グループ情報格納部40に格納する。例えば、トピッククラスタt9、t10のグループIDを、それぞれg3、g4とした場合には、図12に示したグループ情報格納部40となる。
グループ分割部203は、ステップS180において作成された個々のトピッククラスタについて、ステップS160で決定したメンバー情報をメンバー情報格納部50に格納する(S190)。例えば、トピッククラスタt9、t10のグループIDを、それぞれg3、g4とした場合には、図13に示したメンバー情報格納部50となる。
上記では、ステップS190において、g3およびg4の新たなサブコミュニティを作成しているが、ステップS190の処理を実行せずに、コミュニティのメンバーは、もとのコミュニティのメンバーと同じであってもよい。
グループ分割部203は、トピック情報格納部70に対して、トピッククラスタに属するトピックグループのグループIDを、新しいグループIDに更新する(S200)。そして、ステップS200の処理の後、次のトピッククラスタを処理するために、ステップS140に戻る。
例えば、トピッククラスタt9、t10のグループIDをそれぞれg3、g4とした場合には、図14に示したトピック情報格納部70となる。そして、出力部30は、サブグループが生成されたか否かを出力し(S210)、処理を終了する。ステップS210においては、例えば、サブグループg3およびg4が作成されたことを出力する。
以上、クラスタリング処理の詳細について説明した。上記実施形態によれば、コミュニティのトピック情報とメンバー情報とに基づいて双クラスタリングを行って、コミュニティをサブコミュニティに分割し、コミュニティの個々のトピックとメンバーをサブコミュニティに振り分けることが可能となる。
例えば、コミュニティのトピックを、トピックに含まれる単語情報だけでクラスタリングすると、データ量が少ない場合にはスパースになり、精度のよいクラスタリングをすることができないことが考えられる。しかし、類似するトピックには、興味が近いメンバーが発言していると考えることができ、トピックに含まれる単語情報のみでクラスタリングする場合に比べて、精度の高いクラスタリング結果を得ることが可能となる。以上、第1実施形態について説明した。
〔3〕第2実施形態
次に、第2実施形態について説明する。第1実施形態では、ソーシャルネットワークサービスに特有の、メンバー間のつながりに関する情報を、クラスタリングに活用していなかった。そこで、本実施形態では、メンバー間のつながりに関する情報をクラスタリングに活用する。メンバー間のつながりとしては、以下の項目が挙げられる。
項目1:メンバー間のフレンド関係(友人関係)を重視する。
項目2:同一のトピックに同一のタグを付与したメンバー間の関係を重視する。
次に、第2実施形態について説明する。第1実施形態では、ソーシャルネットワークサービスに特有の、メンバー間のつながりに関する情報を、クラスタリングに活用していなかった。そこで、本実施形態では、メンバー間のつながりに関する情報をクラスタリングに活用する。メンバー間のつながりとしては、以下の項目が挙げられる。
項目1:メンバー間のフレンド関係(友人関係)を重視する。
項目2:同一のトピックに同一のタグを付与したメンバー間の関係を重視する。
また、第1実施形態では、トピック間の関係として、トピックに含まれる単語情報もクラスタリングに活用していない。そこで、本実施形態では、トピック間の関係に関する情報をクラスタリングに活用する。トピック間の関係としては、以下の項目が挙げられる。
項目3:複数のトピックに対する発言やタグの間で、アクション内容項目に同一の単語が含まれている場合、それらのトピック間の関係を重視する。
項目3:複数のトピックに対する発言やタグの間で、アクション内容項目に同一の単語が含まれている場合、それらのトピック間の関係を重視する。
具体的には、上記した項目1について、フレンド関係があるメンバーの組み合わせで優先的にマージ処理を行う。項目2についても、同一のトピックに、同一のタグを付与したメンバーについて、優先的にマージ処理を行う。また、項目3については、アクション情報格納部60の各発言やタグに対してあらかじめ形態素解析を行って、同一の単語を含むトピックについて優先的にマージ処理を行う。
〔3−1〕クラスタリング装置の機能構成
次に、図15を参照して、本実施形態にかかるクラスタリング装置2の機能構成について説明する。図15に示したように、クラスタリング装置2は、入力部10、サブグループ作成部20、出力部30、グループ情報格納部40、メンバー情報格納部50、アクション情報格納部60、トピック情報格納部70、アクション重み格納部80、メンバー関係情報格納部90、単語情報格納部100などを備える。
次に、図15を参照して、本実施形態にかかるクラスタリング装置2の機能構成について説明する。図15に示したように、クラスタリング装置2は、入力部10、サブグループ作成部20、出力部30、グループ情報格納部40、メンバー情報格納部50、アクション情報格納部60、トピック情報格納部70、アクション重み格納部80、メンバー関係情報格納部90、単語情報格納部100などを備える。
本実施形態にかかるクラスタリング装置2は、第1実施形態とは、メンバー関係情報格納部90および単語情報格納部100を備える点で異なっている。以下では、第1実施形態と異なる機能について主に説明し、第1実施形態と同様の機能については説明を省略する。
メンバー関係情報格納部90は、例えばEEPROM、EPROMなどの不揮発性メモリや、ハードディスクおよび円盤型磁性体ディスクなどの磁気ディスクなどで構成される。メンバー関係情報格納部90は、メンバー間のフレンド関係の情報を格納する。図16に示したように、メンバー関係情報格納部90には、メンバーID901とフレンドメンバーID902とが関連付けられて記憶されている。例えば、図16のメンバー関係情報格納部90に示したように、第1レコードは、メンバーm1とメンバーm2、m5、m10の間でフレンド関係があることを示している。
単語情報格納部100は、例えばEEPROM、EPROMなどの不揮発性メモリや、ハードディスクおよび円盤型磁性体ディスクなどの磁気ディスクなどで構成される。単語情報格納部100は、アクション情報格納部60の各発言やタグについて、あらかじめ形態素解析を行った結果を格納している。図17に示したように、単語情報格納部100は、単語名1001とトピックID1002とが関連付けられて記憶されている。これにより、どのトピックにどの単語名が含まれているのかがわかる。
〔3−2〕クラスタリング処理の詳細
以上、本実施形態にかかるクラスタリング装置2の機能構成について説明した。次に、図18Aおよび図18Bを参照して、本実施形態にかかるクラスタリング装置2におけるクラスタリング処理の詳細について説明する。以下では、第1実施形態と異なる処理について主に説明し、第1実施形態と同様の処理については説明を省略する。本実施形態では、第1実施形態のクラスタリング処理とは双クラスタリングの実施についての処理(図7のステップS120、図9)が異なるため、以下では、双クラスタリングの実施について第1実施形態と異なる処理について主に説明する。
以上、本実施形態にかかるクラスタリング装置2の機能構成について説明した。次に、図18Aおよび図18Bを参照して、本実施形態にかかるクラスタリング装置2におけるクラスタリング処理の詳細について説明する。以下では、第1実施形態と異なる処理について主に説明し、第1実施形態と同様の処理については説明を省略する。本実施形態では、第1実施形態のクラスタリング処理とは双クラスタリングの実施についての処理(図7のステップS120、図9)が異なるため、以下では、双クラスタリングの実施について第1実施形態と異なる処理について主に説明する。
本実施形態では、ソートされたトピッククラスタの組み合わせのうち、最小の上位5つの組み合わせで、共通の単語を含むトピックがある場合に優先的にマージする。トピッククラスタの組み合わせに、共通の単語が含まれているか否かは単語情報格納部100を参照して行う。
また、ソートされたメンバークラスタの組み合わせのうち、最小の上位5つの組み合わせで、マイフレンド関係を含むメンバーがいる場合に優先的にマージする。メンバークラスタの組み合わせに、マイフレンド関係を含むメンバーがいるか否かはメンバー関係情報格納部90を参照して行う。
さらに、同一のトピックに、同一のタグを付与したメンバーがいる場合に優先的にマージする。同一のトピックに同一のタグを付与したメンバーがいるか否かは、アクション情報格納部60に対して、トピックIDとアクション内容項目が同一で、アクション種類が「タグ」であるレコードが存在するかどうかをSQLでデータベース検索を行い判定する。
図18Aに示したように、図9に示した第1実施形態の双クラスタリングの実施処理のうち、ステップS1230とステップS1250との間に、以下に説明するステップS1800〜ステップS1840の処理を実施する。
ステップS1230において、差分値の最大が負ではない場合には、マージ後の全記述長(または、相互情報量)のほうが小さい場合には、ソートされたトピッククラスタの組み合わせのi番前の組み合わせを示すカウンタiを0に初期化する(S1800)。次に、カウンタiが5以上、または、すべてのトピッククラスタにおいて共通単語のチェックが終了したか否かを判定する(S1810)。
ステップS1810においては、上位5組のクラスタの組み合わせについての計算が終了したか否かについて判定しているが、かかる例に限定されない。例えば、全組み合わせ数の5%の組み合わせについての計算が終了したか否かを判定するようにしてもよい。
ステップS1810においてカウンタiが5以上、または、すべてのトピッククラスタにおいて共通単語のチェックが終了したと判定された場合には、ステップS1250の処理を実行する。一方、ステップS1810において、カウンタiが5以上ではなく、すべてのトピッククラスタで共通単語のチェックが終了していない場合には、トピッククラスタのペアに共通の単語が存在するか否かを判定する(S1820)。
ステップS1820において、トピッククラスタの組み合わせのなかに、共通単語を含むトピックが存在すると判定された場合には、当該クラスタ・ペアでマージする(S1830)。ステップS1820において、トピッククラスタの組み合わせのなかに、共通単語を含むトピックが存在しないと判定された場合には、カウンタiに1を加算して、ステップS1810に戻る。
例えば、ステップS1230の処理の終了時点で、トピッククラスタの上位のソート結果が以下のようになっていたと仮定する。
<ステップS1230終了時点のソート結果>
t2−t3:11.929
t2−t5:10.582
t4−t6:10.773
t1−t4:10.549
t1−t2:9.176
<ステップS1230終了時点のソート結果>
t2−t3:11.929
t2−t5:10.582
t4−t6:10.773
t1−t4:10.549
t1−t2:9.176
上記組み合わせのうち、トピックt1とt2は、図17に示した単語情報格納部100で、共通の単語「言語」を含んでおり上記した項目3を満たす。そこで、ステップS1830において、トピックt1とt2の組み合わせをクラスタ・ペアとして、優先してマージする。その結果、1回目のトピックのクラスタリングは以下のようになる。
トピックのクラスタリング(1回目):t1とt2(新トピック:t20とする。)
トピックのクラスタリング(1回目):t1とt2(新トピック:t20とする。)
上記したステップS1800〜ステップS1830までの処理については、トピッククラスタの組み合わせについて優先的に処理されていれば、他の処理手順であってもよい。
また、本実施形態においては、図9に示した第1実施形態の双クラスタリングの実施処理におけるステップS1310以降の処理に代えて、以下のステップS2000〜ステップS2040までの処理を実行する。
ステップS1290において、マージ後の全記述長(または、相互情報量)のほうが小さいと判断した場合には、ソートされたメンバークラスタの組み合わせのi番目の組み合わせを示すカウンタiを0に初期化する(S2000)。次に、カウンタiが5以上、またはすべてのメンバークラスタにおいてマイフレンド関係のチェックが終了したか否かを判定する(S2010)。
ステップS2010においては、上位5組のクラスタの組み合わせについての計算が終了したか否かについて判定しているが、かかる例に限定されない。例えば、全組み合わせ数の5%の組み合わせについての計算が終了したか否かを判定するようにしてもよい。
ステップS2010において、カウンタiが5以上、または、すべてのメンバークラスタにおいてマイフレンド関係のチェックが終了したと判定された場合には、ステップS1310の処理を実行する。一方、ステップS2010において、カウンタiが5以上ではなく、すべてのメンバークラスタにおいてマイフレンド関係のチェックが終了していない場合には、メンバークラスタの組み合わせのなかにフレンド関係のあるメンバーが存在するか、または、同一のトピックに同一のタグを付与したメンバーがいるか否かを判定する(S2020)。
ステップS2020において、メンバークラスタの組み合わせのなかに、フレンド関係のあるメンバーが存在する、または、同一のトピックに同一のタグを付与したメンバーがいると判定された場合には、当該クラスタ・ペアでマージする(S2030)。一方、ステップS2020において、メンバークラスタの組み合わせのなかに、フレンド関係のあるメンバーが存在せず、同一のトピックに同一のタグを付与したメンバーも存在しないと判定された場合には、カウンタiに1加算して、ステップS2010に戻る。
例えば、ステップS1290の処理の終了時点で、メンバークラスタの上位のソート結果が以下のようになっていたと仮定する。
<ステップS1290の終了時点のソート結果>
m3−m4:10.087
m6−m8:8.880
m1−m8:8.633
m6−m7:8.572
m5−m7:8.379
<ステップS1290の終了時点のソート結果>
m3−m4:10.087
m6−m8:8.880
m1−m8:8.633
m6−m7:8.572
m5−m7:8.379
上記組み合わせのうち、メンバーm6とm7は、図4に示したアクション情報格納部60で、アクションIDがa7とa8のレコードで、同一のトピックに同一のタグを付与した関係であるため、上記項目2を満たす。また、図16に示したメンバー関係情報格納部90においても、m6とm7にマイフレンド関係があることがわかるため、上記項目1も満たしている。
ステップS2020においては、上記項目1または項目2のいずれかを満たせばよいため、メンバーm6とm7の組み合わせをクラスタ・ペアとして、優先してマージする。その結果、1回目のメンバーのクラスタリングは以下のようになる。
メンバーグループのクラスタリング(1回目):m6とm7(新グループ:m20とする。)
メンバーグループのクラスタリング(1回目):m6とm7(新グループ:m20とする。)
上記したステップS2000〜ステップS2030までの処理については、メンバークラスタの組み合わせについて優先的に処理されていれば、他の処理手順であってもよい。
以上、クラスタリング処理の詳細について説明した。上記実施形態によれば、ソーシャルネットワークサービスに特有の、メンバー間のつながりに関する情報を活用することができる。例えば、メンバー間にマイフレンド関係がある場合には、共通の興味があると考え、優先的にマージして、精度の高いクラスタリングを行うことが可能となる。
また、トピック間の関係に関する情報を活用することもできる。例えば、共通の単語を含むトピックは類似していると考え、優先的にマージして、精度の高いクラスタリングを行うことも可能となる。以上、第2実施形態について説明した。
〔4〕第3実施形態
次に、第3実施形態について説明する。第1実施形態および第2実施形態では、各トピックがいつ投稿されたりタグが付与されたりしたのか、すなわち、アクション時刻に関する情報を考慮していなかった。そこで、本実施形態では、トピックのアクション時刻に関する情報をクラスタリングに活用する。具体的には、トピックのアクション時刻が古いものほど、アクションの重み値が軽くなるようにトピック―メンバー行列を作成する。
次に、第3実施形態について説明する。第1実施形態および第2実施形態では、各トピックがいつ投稿されたりタグが付与されたりしたのか、すなわち、アクション時刻に関する情報を考慮していなかった。そこで、本実施形態では、トピックのアクション時刻に関する情報をクラスタリングに活用する。具体的には、トピックのアクション時刻が古いものほど、アクションの重み値が軽くなるようにトピック―メンバー行列を作成する。
〔4−1〕クラスタリング装置の機能構成
本実施形態にかかるクラスタリング装置3の機能構成は、第1実施形態にかかるクラスタリング装置1の機能構成とほぼ同様であるため、詳細な説明は省略する。
本実施形態にかかるクラスタリング装置3の機能構成は、第1実施形態にかかるクラスタリング装置1の機能構成とほぼ同様であるため、詳細な説明は省略する。
〔4−2〕クラスタリング処理の詳細
本実施形態にかかるクラスタリング装置3におけるクラスタリング処理については、第1実施形態と異なる処理について主に説明する。本実施形態におけるクラスタリング処理は、第1実施形態のトピックメンバー行列のステップS1060(図7)の代わりに、以下に説明するステップS3000の処理を実施する点で異なっている。
本実施形態にかかるクラスタリング装置3におけるクラスタリング処理については、第1実施形態と異なる処理について主に説明する。本実施形態におけるクラスタリング処理は、第1実施形態のトピックメンバー行列のステップS1060(図7)の代わりに、以下に説明するステップS3000の処理を実施する点で異なっている。
行列作成部201は、処理対象レコードRiのアクション種類に対応する重みを、アクション重み格納部80から取得した後に、以下のステップS3000の処理を実行する。行列作成部201は、処理対象レコードRiのトピックID、アクション者項目から、現在時刻とアクション時刻との差を考慮したアクション時刻による重み考慮して、トピック―メンバー行列に加算する(S3000)。
具体的には、ステップS3000において、メンバーjがトピックiに対して行ったアクションについて、次の式によって、行列の(i,j)成分に加算する。
aij=aij+(アクション時刻による重み)×(アクション重み)・・・(数式3)
aij=aij+(アクション時刻による重み)×(アクション重み)・・・(数式3)
上記したアクション時刻による重みは、以下のように算出する。例えば、現在時刻とアクション時刻の差が3ヶ月未満の場合には、重みを1.0とする。また、現在時刻とアクション時刻の差が3ヶ月以上〜1年未満の場合には、重みを0.5とする。また、現在時刻とアクション時刻の差が1年以上の場合には、重みを0.3とする。
本実施形態では、上記したように、過去のアクションほど重みが軽くなるように加算しているが加算方法はこれに限定されず、過去のアクションを重要視して、過去のアクション重みが重くなるように加算するようにしてもよい。
例えば、現在時刻を2009年3月1日と仮定した場合の重みについて説明する。図4に示したアクション情報格納部60において、第1レコードのアクション時刻は「2008年12月11日」である。この場合、現在時刻とアクション時刻との差は、「3ヶ月以上1年未満」に該当する。したがって、アクション時刻による重みは0.5となる。第1レコードのアクション内容は「投稿」であるため、アクション重みは1.0である。そうすると、アクション時刻による重みとアクション重みとの積(0.5=0.5×1.0)が行列の(1,1)成分a11に加算されることとなる。
以上、第3実施形態について説明した。第3実施形態によれば、双クラスタリングを行うためのトピック―メンバー行列を作成する際に、アクション時刻による重み付けを行って、過去のアクションの影響を減らすことが可能となる。これにより、個々のメンバーの最近のアクションに応じたクラスタリングを実現することができる。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
例えば、上記実施形態では、1つのコミュニティにあるトピックについて、クラスタリングを実施することとしたが、本発明はかかる例に限定されない。例えば、コミュニティにカテゴリや上位コミュニティが設定されている場合に、同一のカテゴリのコミュニティ群に属しているトピックに対して本発明を適用してもよい。この場合、コミュニティは異なるが、カテゴリが同一のコミュニティに属しているトピックをまとめて、トピッククラスタを作成するようにしてもよい。
また、上記実施形態では、非特許文献1および2の手法を用いてトピッククラスタおよびメンバークラスタを双クラスタリングしているが、かかる例に限定されず、他の手法を用いて双クラスタリングをするようにしてもよい。
また、上記実施形態では、存在するメンバーのすべてを対象としてトピック―メンバー行列を作成しているが、かかる例に限定されない。例えば、すべてのトピックで発言しているメンバーについては、トピック―メンバー行列に含めないように前処理を行ってもよい。
1、2、3 クラスタリング装置
10 入力部
20 サブグループ作成部
201 行列作成部
202 クラスタリング処理部
203 グループ分割部
30 出力部
40 グループ情報格納部
50 メンバー情報格納部
60 アクション情報格納部
70 トピック情報格納部
80 アクション重み格納部
90 メンバー関係情報格納部
100 単語情報格納部
10 入力部
20 サブグループ作成部
201 行列作成部
202 クラスタリング処理部
203 グループ分割部
30 出力部
40 グループ情報格納部
50 メンバー情報格納部
60 アクション情報格納部
70 トピック情報格納部
80 アクション重み格納部
90 メンバー関係情報格納部
100 単語情報格納部
Claims (14)
- グループに属するトピック情報とメンバー情報とに応じて、前記グループに属するメンバーの活動状況を示す行列を作成する行列作成部と、
前記行列作成部により作成された前記行列に基づいて、前記グループに属する1または2以上のトピックと1または2以上のメンバーに対して双クラスタリングを行うクラスタリング処理部と、
前記クラスタリング処理部によるクラスタリング処理結果に基づいて、前記トピックと前記メンバーとを、新たなサブグループに分けるグループ分割部と、
を備えることを特徴とする、クラスタリング装置。 - 前記グループを識別するグループIDと前記グループのグループ名とを関連付けて記憶しているグループ情報格納部と、
前記グループIDと前記グループに属するメンバーを識別するメンバーIDとを関連付けて記憶しているメンバー情報格納部と、
前記トピック毎に対応する前記グループに属するメンバーの活動状況を示す情報を記憶している活動状況情報格納部と、
前記グループIDと前記トピック情報とを関連付けて記憶しているトピック情報格納部と、
前記メンバーの活動状況の種類ごとの重み付けの値を格納する活動状況重み格納部と、
を備えることを特徴とする、請求項1に記載のクラスタリング装置。 - 前記行列作成部は、前記活動状況情報格納部に記憶されている前記トピック毎に対応する前記メンバーの活動状況を数値化した行列を作成することを特徴とする、請求項2に記載のクラスタリング装置。
- 前記メンバーの活動状況は、前記メンバーのトピックへの投稿、トピックへのタグ付け、トピックの参照を含み、
前記行列作成部は、前記活動状況重み格納部を参照して、前記メンバーの活動状況の種類に対応する重み付けの値を用いて前記メンバーの活動状況を数値化した行列を作成することを特徴とする、請求項3に記載のクラスタリング装置。 - 前記行列作成部により作成される行列は、前記メンバーと前記トピックとを行列要素とし、各行列の値は、前記メンバーの活動状況の種類毎の発生回数に前記メンバーの活動状況の重み付けの値を乗じて算出されることを特徴とする、請求項4に記載のクラスタリング装置。
- 前記クラスタリング処理部は、前記メンバーをクラスタリングする際に、前記メンバー間の関係が強い組み合わせで、クラスタリング前後の情報量の差分量が他の組み合わせと比べて決められた順位内である場合に、優先的にクラスタリングすることを特徴とする、請求項1に記載のクラスタリング装置。
- 前記クラスタリング処理部は、前記メンバー間に友人関係がある場合にメンバー間の関係が強いと判断して、クラスタリングを行うことを特徴とする、請求項6に記載のクラスタリング装置。
- 前記メンバーIDと前記メンバーIDの示すメンバーと友人関係にあるメンバーのメンバーIDとを関連付けて記憶している、メンバー関係情報格納部を備え、
前記クラスタリング処理部は、前記メンバー関係情報格納部を参照して、前記メンバー間に友人関係があるか否かを判断することを特徴とする、請求項7に記載のクラスタリング装置。 - 前記クラスタリング処理部は、同一のトピックに同一のタグを付与したメンバー間に強い関係があると判断して、クラスタリングを行うことを特徴とする、請求項6に記載のクラスタリング装置。
- 前記クラスタリング処理部は、前記トピックをクラスタリングする際に、前記トピック間の関係が強い組み合わせで、クラスタリング前後の情報量の差分量が他の組み合わせと比べて決められた順以内である場合に、優先的にクラスタリングすることを特徴とする、請求項1に記載のクラスタリング装置。
- 前記クラスタリング処理部は、同一の単語を含むトピック間に強い関係があると判断して、クラスタリングを行うことを特徴とする、請求項10に記載のクラスタリング装置。
- 前記行列作成部は、前記アクション情報格納部に格納されているアクション情報の発生時刻を示すアクション時刻をもとに、過去のアクションほど小さい重みを設定して、各トピックに対するメンバーのアクションを数値化した行列を作成することを特徴とする、請求項1に記載のクラスタリング装置。
- グループに属するトピック情報とメンバー情報について、クラスタリングを行うクラスタリング装置において、
グループに属するトピック情報とメンバー情報とに応じて、前記グループに属するメンバーの活動状況を示す行列を作成するステップと、
前記行列を作成するステップにおいて作成された前記行列に基づいて、前記グループに属する1または2以上のトピックと1または2以上のメンバーに対して双クラスタリングを行うステップと、
前記双クラスタリングを行うステップにおいて得られたクラスタリング処理結果に基づいて、前記トピックと前記メンバーとを、新たなサブグループに分けるステップと、
を含むことを特徴とする、クラスタリング方法。 - グループに属するトピック情報とメンバー情報とに応じて、クラスタリングを行うクラスタリング装置を制御するコンピュータを、
前記トピック情報と前記メンバー情報とに応じて、前記グループに属するメンバーの活動状況を示す行列を作成する行列作成部と、
前記行列作成部により作成された前記行列に基づいて、前記グループに属する1または2以上のトピックと1または2以上のメンバーに対して双クラスタリングを行うクラスタリング処理部と、
前記クラスタリング処理部によるクラスタリング処理結果に基づいて、前記トピックと前記メンバーとを、新たなサブグループに分けるグループ分割部と、
として機能させるための、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009065694A JP2010218353A (ja) | 2009-03-18 | 2009-03-18 | クラスタリング装置およびクラスタリング方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009065694A JP2010218353A (ja) | 2009-03-18 | 2009-03-18 | クラスタリング装置およびクラスタリング方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010218353A true JP2010218353A (ja) | 2010-09-30 |
Family
ID=42977111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009065694A Withdrawn JP2010218353A (ja) | 2009-03-18 | 2009-03-18 | クラスタリング装置およびクラスタリング方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010218353A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012099057A (ja) * | 2010-11-05 | 2012-05-24 | Nec Corp | 情報提供装置、方法およびプログラム |
WO2013094361A1 (ja) * | 2011-12-19 | 2013-06-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ソーシャル・メデイアにおけるコミュニティを検出する方法、コンピュータ・プログラム、コンピュータ |
WO2014136312A1 (ja) * | 2013-03-05 | 2014-09-12 | ビッグローブ株式会社 | コミュニケーションシステム |
JP2016522477A (ja) * | 2014-03-20 | 2016-07-28 | シャオミ・インコーポレイテッド | グループ作成方法、グループ脱退方法、装置、プログラム、及び記録媒体 |
US10079787B2 (en) | 2014-03-20 | 2018-09-18 | Xiaomi Inc. | Method and apparatus for creating group and exiting group |
JP2018206343A (ja) * | 2017-06-01 | 2018-12-27 | 富士ゼロックス株式会社 | データ内の同格化した関係を視覚的に調査するためのシステム、関係のデータを視覚化する方法、プログラム、及びコンピュータ装置 |
CN109558533A (zh) * | 2018-10-29 | 2019-04-02 | 广东奥博信息产业股份有限公司 | 一种基于多重聚类的个性化内容推荐方法及装置 |
JP2019067360A (ja) * | 2017-09-28 | 2019-04-25 | 富士ゼロックス株式会社 | 2モードネットワークにおける検索結果の視覚的探索のためのシステム及び方法、プログラム、及びコンピュータ装置 |
JP2019067359A (ja) * | 2017-09-28 | 2019-04-25 | 富士ゼロックス株式会社 | 2モードネットワークにおけるサブネットワークパターンの視覚的探索のためのシステム及び方法、プログラム、及びコンピュータ装置 |
-
2009
- 2009-03-18 JP JP2009065694A patent/JP2010218353A/ja not_active Withdrawn
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012099057A (ja) * | 2010-11-05 | 2012-05-24 | Nec Corp | 情報提供装置、方法およびプログラム |
US9659098B2 (en) | 2011-12-19 | 2017-05-23 | International Business Machines Corporation | Method, computer program and computer for detecting communities in social media |
WO2013094361A1 (ja) * | 2011-12-19 | 2013-06-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ソーシャル・メデイアにおけるコミュニティを検出する方法、コンピュータ・プログラム、コンピュータ |
US10068009B2 (en) | 2011-12-19 | 2018-09-04 | International Business Machines Corporation | Method, computer program and computer for detecting communities in social media |
JPWO2013094361A1 (ja) * | 2011-12-19 | 2015-04-27 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ソーシャル・メデイアにおけるコミュニティを検出する方法、コンピュータ・プログラム、コンピュータ |
JP2014170463A (ja) * | 2013-03-05 | 2014-09-18 | Biglobe Inc | コミュニケーションシステム、コミュニケーション装置、コミュニケーション方法およびプログラム |
WO2014136312A1 (ja) * | 2013-03-05 | 2014-09-12 | ビッグローブ株式会社 | コミュニケーションシステム |
JP2016522477A (ja) * | 2014-03-20 | 2016-07-28 | シャオミ・インコーポレイテッド | グループ作成方法、グループ脱退方法、装置、プログラム、及び記録媒体 |
US10079787B2 (en) | 2014-03-20 | 2018-09-18 | Xiaomi Inc. | Method and apparatus for creating group and exiting group |
JP2018206343A (ja) * | 2017-06-01 | 2018-12-27 | 富士ゼロックス株式会社 | データ内の同格化した関係を視覚的に調査するためのシステム、関係のデータを視覚化する方法、プログラム、及びコンピュータ装置 |
JP2019067360A (ja) * | 2017-09-28 | 2019-04-25 | 富士ゼロックス株式会社 | 2モードネットワークにおける検索結果の視覚的探索のためのシステム及び方法、プログラム、及びコンピュータ装置 |
JP2019067359A (ja) * | 2017-09-28 | 2019-04-25 | 富士ゼロックス株式会社 | 2モードネットワークにおけるサブネットワークパターンの視覚的探索のためのシステム及び方法、プログラム、及びコンピュータ装置 |
JP7119550B2 (ja) | 2017-09-28 | 2022-08-17 | 富士フイルムビジネスイノベーション株式会社 | 2モードネットワークにおける検索結果の視覚的探索のためのシステム及び方法、プログラム、及びコンピュータ装置 |
JP7206632B2 (ja) | 2017-09-28 | 2023-01-18 | 富士フイルムビジネスイノベーション株式会社 | 2モードネットワークにおけるサブネットワークパターンの視覚的探索のためのシステム及び方法、プログラム |
CN109558533A (zh) * | 2018-10-29 | 2019-04-02 | 广东奥博信息产业股份有限公司 | 一种基于多重聚类的个性化内容推荐方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010218353A (ja) | クラスタリング装置およびクラスタリング方法 | |
US10565234B1 (en) | Ticket classification systems and methods | |
Argamon et al. | Style mining of electronic messages for multiple authorship discrimination: first results | |
US10579661B2 (en) | System and method for machine learning and classifying data | |
US6240411B1 (en) | Integrating campaign management and data mining | |
US8825673B2 (en) | Method for organizing large numbers of documents | |
US20080077570A1 (en) | Full Text Query and Search Systems and Method of Use | |
Jaidka et al. | Insights from CL-SciSumm 2016: the faceted scientific document summarization Shared Task | |
Clinchant et al. | Xrce’s participation in wikipedia retrieval, medical image modality classification and ad-hoc retrieval tasks of imageclef 2010 | |
Nguyen et al. | SemTab 2021: Tabular Data Annotation with MTab Tool. | |
US11574287B2 (en) | Automatic document classification | |
CN107423820B (zh) | 结合实体层次类别的知识图谱表示学习方法 | |
TW201027375A (en) | Search system, search method and program | |
JP7103496B2 (ja) | 関連スコア算出システム、方法およびプログラム | |
EP2013788A2 (en) | Full text query and search systems and method of use | |
JP2020512651A (ja) | 検索方法、装置及び非一時的コンピュータ読取可能記憶媒体 | |
He et al. | Clustering behavioral patterns using process data in PIAAC problem-solving items | |
CN111091883A (zh) | 一种医疗文本处理方法、装置、存储介质及设备 | |
TWI254880B (en) | Method for classifying electronic document analysis | |
US20080222063A1 (en) | Extensible mechanism for detecting duplicate search items | |
Wahle et al. | D3: A massive dataset of scholarly metadata for analyzing the state of computer science research | |
Gatenby et al. | GLIMIR: Manifestation and content clustering within WorldCat | |
CN116205296A (zh) | 一种融合自顶向下与自底向上的abac策略工程方法 | |
Wang et al. | Collaboration analytics: mining work patterns from collaboration activities | |
Ongko et al. | Hybrid approach redefinition with cluster-based instance selection in handling class imbalance problem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120605 |