2008-05-15

行列×行列さえ一瞬でできれば、文書のクラスタリングも一瞬でできそう

Ward法をここ数日試してみて、十分速くなったのだが、ここまでくるといろいろ思う事がある。

1. 最終的に今ネックになっているのは、一番最初の行列×行列の計算である。
2. その演算であれば、分散処理での高速化が十分研究されている。
3. 最初は樹形図をつくるところがネックかと思っていたが、そうでないのは驚きである。
4. dict使いまくりの富豪プログラミングはアルゴリズムの試作に便利。

ということで、例えば分散処理で行列×行列を一瞬で計算できるようになれば、直前のエントリのクラスタリングアルゴリズムで1000文書であろうとものの数秒で分類できるということになる。

このクラスタリングの計算方法をC++で書き直せば、もっともっと速くなるはずで、たとえばweb経由でアクセスがあった瞬間に分類アルゴリズムを走らせることもできるだろう。

樹形図をどこでちょんぎるかのさじ加減は別途研究の必要があるが。