[掲示板へもどる]
一括表示

  [No.958] 共起ネットワークでのクリーク抽出・表示 投稿者:袋井  投稿日:2012/05/12(Sat) 08:19:29

樋口先生 様;

お世話になります、袋井と申します。

毎々、マニアックな質問でご迷惑をおかけしております。


ネットワーク分析では、コミュニティ抽出(検出)と呼ばれる、グラフ分割法に基づくグラフクラスタリングがあります。

KH coderでは、代表的な2種類のアルゴリズムが提供され、大変に重宝しています。


また、コミュニティ抽出では、クリークと呼ばれる部分グラフという考え方があります。

私も使っていますが、クラスタリングでは得られない有用な情報を得ることがあります。
(出力したノードリストとエッジリストからグラフファイルを作成して、Rで計算、表示)

特に有用だと思うときは(当たり前といえば当たり前ですが)、
・クリークのサイズが大きい
・クリークがクラスタを横断する
場合です。


よい例えかは分かりませんが、政党を例にすると、
グラフ分割されたクラスタは、親分〜子分の派閥
部分グラフのクリークは、派閥を横断する人脈、勉強会
といったところでしょうか。


共起ネットワークの場合では、クリークは、語の共起関係について、新しい観点を与えてくれるかもしれません。

一番難しいのは、抽出したクリークの提示方法・見せ方ですが、樋口先生のアイディアに期待をしています。


クラスタ、MSTに続く第三の構造抽出法として、
将来のバージョンアップで、クリークのご検討をしていただけたらと思います。


  [No.961] Re: 共起ネットワークでのクリーク抽出・表示 投稿者:HIGUCHI Koichi  投稿日:2012/05/12(Sat) 21:32:21

こんにちは、樋口です。書き込みありがとうございます。

いつも示唆に富む内容を、出し惜しみになしにポストしていただき、心より感
謝申し上げます。

もちろん、掲示板に期待する役割として「FAQの蓄積」ということもあります
し、その面ではそれほど役立たないかもしれません。

しかし、たとえFrequently Askedでないにしても、ソフトウェアの意図や仕組
みを深く理解した上でお使いいただいているからこその、一連のご質問は、大
変制作者冥利につきるものです。

今回もクリークを使った探索というおもしろそうな課題のご示唆をいただき、
まことにありがとうございます。

いつ頃、どんな風に実現できるか、まだまったくイメージできていませんが、
少し考えてみたいと思います。どうぞ気長にお待ちいただけましたら幸いです。


  [No.963] Re: 共起ネットワークでのクリーク抽出・表示 投稿者:袋井  投稿日:2012/05/13(Sun) 11:40:15

樋口先生 様;

お世話になります、袋井と申します。

私の真意が伝わっていることを拝見し、うれしく思います。
ありがとうございました。


テキストに潜む情報構造の抽出、提示は、色々な目的があると思いますが、
興味の一つにトピックがあると思っております。

トピックは共起出現するキーワードの組ですが、
ここでは、共起ネットワークグラフのクリークを提案させていただきました。


先生もご存知のNMF(Non-negative Matrix Factorization, 非負行列因子分解)は、
優れた特徴抽出の特性をもっております。

文書〜抽出語の表から、トピック抽出、抽出したトピックに基づくクラスタリングを行えます。

最適なトピック数を求める手続きは、人が介在する逐次的、探索的であり、
私なりに最適なトピック数を決めるノウハウは蓄積しつつありますが、労力が掛かります。


重要なことですが、
NMFでは、トピック=クラスタですが、
一方、グラフのクリークは部分グラフであり、クラスタ(分割グラフ)ではありません。

クラスタを横断するクリーク(キーワードの組、できれば次数の大きいもの)を検出できれば、
興味深いだろうと思っております。

更に、クリークは一意に決まり、計算量も少ないので、使いやすいです。


こんなことを考えて、NMFではなくクリークをご提案させていただきました。

将来のバージョンアップでの提供を、楽しみにしております。
よろしくお願いいたします。


  [No.964] Re: 共起ネットワークでのクリーク抽出・表示 投稿者:HIGUCHI Koichi  投稿日:2012/05/14(Mon) 18:18:30

こんにちは、樋口です。いつもありがとうございます。

そうですね、クリーク(互いに完全に結合している部分グラフ)を見つけるの
は、Rのコードとしては、きっと難しくないだろうと思います。

ただ、複数のクリークに所属する語(ノード)をどう表示するかといったこと
や、コミュニティ抽出(クラスタリング)の結果と併せて見られるようにとな
ると、なかなか、すぐにはアイデアが浮かばなかったりします。どうぞ気長に、
あまり期待せずに、お待ち下さい(苦笑)。


そういえば、NMFにつきましては、以前に別の方からリクエストをいただいた
記憶がございます。その時に試してみて、おもしろい結果だったように記憶し
ています。

NMFにせよ、その他の因子分析・クラスター分析にせよ、トピック・クラスター
・因子などの数を決めるのは難しいですね。BICまかせだと「2」と言われて閉
口してしまったり、結局は「総合的判断」になってしまうと言いますか。


以上雑感になってしまいましたが、書き込みしていただいた内容、今後の開発
の参考にさせていただきます。


  [No.965] Re: 共起ネットワークでのクリーク抽出・表示 投稿者:袋井  投稿日:2012/05/14(Mon) 20:34:42

樋口先生 様;

お世話になります、袋井と申します。

先生の所感を聞かせていただき、ありがとうございました。
よい勉強になりました。

> ただ、複数のクリークに所属する語(ノード)をどう表示するかといったこと
> や、コミュニティ抽出(クラスタリング)の結果と併せて見られるようにとな
> ると、なかなか、すぐにはアイデアが浮かばなかったりします。

私は、クリークの専用ソフトが手元にあり愛用していますが、
「KH Coderでクリークを利用できることに大きな意義がある」と思っております。

> どうぞ気長に、あまり期待せずに、お待ち下さい(苦笑)。

樋口先生のアイディアに大きな期待をしています。


NMFは、集合知プログラミングなどでも紹介されておりますので、今では一般的になってきたと思います。

NMFの代表的な論文である
Learning the parts of objects by non-negative matrix factorization
を初めて読んだ時には、驚きましたね。

興味深い特性をもっています。


とりあえずNMFを実行するのは簡単です。

NMFで最適なクラスタ数を推定する手法も提案されています。

しかし、精度の良いドキュメントクラスタリングを行うためには、工夫が必要だと思います。

Document Clustering Based On Non-negative Matrix Factorization
を読んで、そう思いましたね。


私は色々なクラスタリング手法を利用していますが、
Affinity Propagation Clustering に興味があります。
2007年にサイエンス誌に掲載されて大きな反響をよんだアルゴリズムです。

グラフクラスタリングとも関係がありそうです。


最後は関係のない話となり失礼をしましたが、
KH Coderのバージョンアップに大きな期待を寄せている人が多くいることを知りました。

私もファンの一人として楽しみにしております。


  [No.966] Re: 共起ネットワークでのクリーク抽出・表示 投稿者:HIGUCHI Koichi  投稿日:2012/05/14(Mon) 22:34:28

樋口です。

重ねてのご教示と励ましとをいただき、まことにありがとうございます。

こちらこそ豊富なご経験から勉強させていただいております。
後段の論文、追って読ませていただこうと思います。

いつもながら丁寧にお教えいただき、お礼申し上げます。