データサイエンスブログ

データ分析・統計・機械学習・自然言語処理関連

自然言語のクラスタリング2〜k-平均法(k-means)〜

f:id:yusuke091:20170509162835p:plain
前回は凝集型クラスタリングを行いましたが、今回はk-平均法(k-means)を使って、自然言語クラスタリングをしてみたいと思います。

※この記事は以下の書籍を参考に書かれています

言語処理のための機械学習入門 (自然言語処理シリーズ)

言語処理のための機械学習入門 (自然言語処理シリーズ)

k-平均法(k-means)

最初に適当にk個のクラスタを作成する。各クラスタは平均ベクトルなどの代表ベクトルで表現される。
各事例ベクトル(クラスタリングを行いたいデータ)を、どのクラスタの代表ベクトルに近いかという基準にしたがって、クラスタに帰属させていく。
クラスタに含まれている事例ベクトルの平均を算出し、これを新たな代表ベクトルとする。
クラスタに変化がなくなるまで、この処理を繰り返す。

注意点

代表ベクトルの初期値は計算時間、クラスタリング結果に影響を与える。凝集型クラスタリングの結果を初期値として利用する方法もある。
代表ベクトルの再計算はすべての事例ベクトルをクラスタに帰属させてから行う。

自然言語データ

前回と同様に、TwitterのSearch APIで取得できる「#ジブリ」を含むツイート37件を利用する。
また、前処理も同様に、MeCabによる分かち書きと小文字化を行っておく。

自然言語の数学的表現

前回と同様に、bag-of-wordsを利用する。

クラスタリング

代表ベクトルの初期値

前回の凝集型クラスタリングの最終的な重心ベクトルを使用する。

--- クラスタ1の代表ベクトルの初期値 ---
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5714285714285714, 0.8571428571428571, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.14285714285714285, 0.0, 0.0, 0.2857142857142857, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.2857142857142857, 0.2857142857142857, 0.0, 0.0, 0.0, 0.14285714285714285, 0.14285714285714285, 0.14285714285714285, 0.42857142857142855, 0.0, 0.0, 0.0, 0.0, 0.42857142857142855, 0.0, 0.42857142857142855, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.14285714285714285, 0.0, 0.0, 0.14285714285714285, 0.0, 0.14285714285714285, 0.0, 0.14285714285714285, 0.14285714285714285, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.14285714285714285, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.2857142857142857, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.14285714285714285, 0.0, 0.14285714285714285, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.14285714285714285, 0.14285714285714285, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.14285714285714285, 0.14285714285714285, 0.14285714285714285, 0.14285714285714285, 0.0, 0.14285714285714285, 0.14285714285714285, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.2857142857142857, 0.0, 0.14285714285714285, 0.0, 0.0, 0.14285714285714285, 0.14285714285714285, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.14285714285714285, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
--- クラスタ2の代表ベクトルの初期値 ---
[0.045454545454545456, 0.09090909090909091, 0.09090909090909091, 2.6818181818181817, 0.3181818181818182, 0.0, 0.0, 0.0, 0.045454545454545456, 0.0, 0.0, 0.09090909090909091, 0.09090909090909091, 0.0, 0.0, 0.18181818181818182, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.22727272727272727, 0.09090909090909091, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.22727272727272727, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.22727272727272727, 0.09090909090909091, 0.045454545454545456, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.09090909090909091, 0.045454545454545456, 0.09090909090909091, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.09090909090909091, 0.13636363636363635, 0.0, 0.18181818181818182, 0.0, 0.045454545454545456, 0.0, 0.0, 0.0, 0.045454545454545456, 0.0, 0.5454545454545454, 0.0, 0.13636363636363635, 0.09090909090909091, 0.045454545454545456, 0.0, 0.2727272727272727, 0.3181818181818182, 0.0, 0.045454545454545456, 0.13636363636363635, 0.13636363636363635, 0.0, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.09090909090909091, 0.0, 0.0, 0.0, 0.045454545454545456, 0.0, 0.13636363636363635, 0.0, 0.045454545454545456, 0.22727272727272727, 0.0, 0.0, 0.0, 0.0, 0.0, 0.045454545454545456, 0.045454545454545456, 0.09090909090909091, 0.045454545454545456, 0.0, 0.045454545454545456, 0.09090909090909091, 0.0, 0.0, 0.0, 0.0, 0.045454545454545456, 0.045454545454545456, 0.09090909090909091, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.2727272727272727, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.13636363636363635, 0.045454545454545456, 0.13636363636363635, 0.0, 0.0, 0.09090909090909091, 0.045454545454545456, 0.13636363636363635, 0.09090909090909091, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.09090909090909091, 0.0, 0.0, 0.22727272727272727, 0.0, 0.045454545454545456, 0.09090909090909091, 0.09090909090909091, 0.5454545454545454, 0.0, 0.22727272727272727, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.09090909090909091, 0.0, 0.045454545454545456, 0.18181818181818182, 0.045454545454545456, 0.0, 0.0, 0.22727272727272727, 0.0, 0.045454545454545456, 0.0, 0.0, 0.5, 0.0, 0.0, 0.045454545454545456, 0.0, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 1.0, 0.0, 0.0, 0.13636363636363635, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.0, 0.13636363636363635, 0.13636363636363635, 0.09090909090909091, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.13636363636363635, 0.045454545454545456, 0.0, 0.0, 0.045454545454545456, 0.0, 0.0, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.09090909090909091, 0.09090909090909091, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.0, 0.045454545454545456, 0.0, 0.0, 0.045454545454545456, 0.0, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.0, 0.0, 0.045454545454545456, 0.0, 0.0, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.0, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.0, 0.045454545454545456, 0.0, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.0, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.13636363636363635, 0.13636363636363635, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.0, 0.045454545454545456, 0.0, 0.3181818181818182, 0.0, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.13636363636363635, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456, 0.0, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.045454545454545456, 0.0, 0.2727272727272727, 0.045454545454545456, 0.18181818181818182, 0.0, 0.0, 0.0, 0.0, 0.045454545454545456, 0.045454545454545456, 0.0, 0.045454545454545456]
--- クラスタ3の代表ベクトルの初期値 ---
[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
--- クラスタ4の代表ベクトルの初期値 ---
[1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0]
--- クラスタ5の代表ベクトルの初期値 ---
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0]
--- クラスタ6の代表ベクトルの初期値 ---
[0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0]
--- クラスタ7の代表ベクトルの初期値 ---
[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
--- クラスタ8の代表ベクトルの初期値 ---
[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0]
--- クラスタ9の代表ベクトルの初期値 ---
[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0]
--- クラスタ10の代表ベクトルの初期値 ---
[0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0]
結果

なんとクラスタリング結果は前回と同じになった(前回の結果を初期値として利用しているので当然かもしれない)。また、この最終的なクラスタリング結果は1度の処理で出力された。
もう少し異なる結果になれば面白かったのだが。

--- クラスタ1 ---
戦争 で 稼ぐ 奴 は 悪党 だ 。 〔 ジャンク 屋 の 親父 / 紅の豚 〕# ジブリ
私 なんか 、 美しかっ た こと なんて 一 度 も ない わ! 〔 ソフィー / ハウルの動く城 〕# ジブリ
音楽 やめ ぇい ! 〔 猫 王 / 猫の恩返し 〕# ジブリ
かわいそう に 、 髪の毛 を 切ら れる 方 が よっぽど つらい さ 。 〔 ドーラ / 天空の城ラピュタ 〕# ジブリ
お前 の 弁当 、 ずいぶん でっかい の な 。 〔 聖司 / 耳をすませば 〕# ジブリ
良い奴 は 皆 死ぬ 。 〔 ポルコ / 紅の豚 〕# ジブリ
そいつ ら 、 後で 泣く こと に なる な 。 まず 人間 に は 戻れ ない よ 。 〔 カルシファー / ハウルの動く城 〕# ジブリ

--- クラスタ2 ---
タイトル 組み合わせ 『 耳 すませ 豚 』 # ジブリ
仕事 を し て いる 二郎さん を 見る の が 一番 好き # ジブリ
エボシ : 首 だけ に なっ て も 食らい 付く の が 山犬 だ even cut off , the head can still bite もののけ姫 より # ジブリ # ghibli # 英語
♫ 朝焼け が 窓 を 染め た なら 君 に 告げよ う グッバイ モーニング … # bot # 魔女の宅急便 # kiki # ジブリ
マルクル … … 待た れ よ 。 stand by ハウルの動く城 より # ジブリ # ghibli # 英語
午後 から 幼稚園 の 観劇 会 文化会館 で つる の 恩返し を 観る よ 息子 に 伝え たら 、 あぁ … 猫 の 。 あれ か 。 と 。 まぁ いっか ! # ジブリ # 猫の恩返し # かんちがい
土 に 根 を 下ろし 、 風 と共に 生きよう 。 種 と共に 冬 を 越え 、 鳥 と共に 春 を 歌お う 。 (「# 天空の城ラピュタ 」 # シータ ) # ジブリ
♫ さみしく なる と たずねる 坂道 の 古本屋 … # bot # 魔女の宅急便 # kiki # ジブリ
たき ざわ はるか ? 贅沢 な 名前 だ ねぇ … 今日 から 、 あんた の 名前 は 、 ラーメン だ よ ! 早く 返事 を しぃ 、 ラーメン !! # ラーメンマン 伝説 # ジブリ
they ' ll change course for the nearest island as soon as they ' re out of sight . by ポルコ 見え なく なる まで 飛ん で すぐ 針路 を 変える に 違え ねえ # ジブリ # 紅の豚 # 英語 # 名言
タイトル 組み合わせ 『 借りもの で すませ ば 』 # ジブリ
ジコ 坊 : ふ ふっ 地バ シリ の 技 だ that ' s how they trick the boars もののけ姫 より # ジブリ # ghibli # 英語
飛べ ねぇ 豚 は ただ の チャーシュー だ # ラーメンマン 伝説 # ジブリ
もう 逃がさ ねえ ぞ that ' s as far as you go ! 紅の豚 より # ジブリ # ghibli # 英語
… ♬ それ は まるで 夢 の よう … # bot # 魔女の宅急便 # kiki # ジブリ
don ' t be such a sap ! バカヤロ   志 を もっと 大きく 持て # ジブリ # 紅の豚 # 英語 # 名言
親方 ー っ ! 空 から ラーメン が ー !! # ラーメンマン 伝説 # ジブリ
見つかっ ちゃう よ ! they ' ll find out i ' m a fake 魔女の宅急便 より # ジブリ # ghibli # 英語
… ♬ 時 を 越える たび 気づく ね 心 は 果てしなく て … # bot # 魔女の宅急便 # kiki # ジブリ
タイトル 組み合わせ 『 となり の 動く 豚 』 # ジブリ
我が 家族 は ややこしい 者 ばかり だ な 。 # ジブリ
♫ 突然 驚い た の … 胸 が ドキドキ し てる … # bot # 魔女の宅急便 # kiki # ジブリ

--- クラスタ3 ---
必ず 行く から 未来 で 待っ て い て !( ソフィー )  # ジブリ  # アニメ  # 名言

--- クラスタ4 ---
here is my garden , which everyone fears and does not approach . / ここ は 、 みな 恐れ て 近寄ら ぬ 私 の 庭 だ ( エボシ / もののけ姫 ) # ジブリ

--- クラスタ5 ---
「 サン は 森 で 、 私 は タタラ 場 で 暮らそ う 。 共に 生きよう 。 会い に 行く よ 、 ヤックル に 乗っ て 。 」 ( アシタカ )  # ジブリ  # アニメ  # 名言

--- クラスタ6 ---
あの 子 を 解き放て ! あの 子 は 人間 だ ぞ !- アシタカ ( もののけ姫 ) # ジブリ

--- クラスタ7 ---
いやいや 、 見つかっ て よかっ た 。 はぁ … はぁ … 。 こちら に 入る 時 に 落とし て しまっ た よう で … 御 家来 様 の 重量 オーバー の せい です ニャー ↑ ↑ # ジブリ

--- クラスタ8 ---
there is a demon within you. within this girl as well . / そなた の 中 に は 夜叉 が いる 。 この 娘 の 中 に も だ 。 ( アシタカ / もののけ姫 ) # ジブリ

--- クラスタ9 ---
この まま ひき さ が れる かい 。 すぐ 出発 だ ! ! # ジブリ

--- クラスタ10 ---
あの 女 の ため に 残し て おい た 力 な のに ! ( 「 もののけ姫 」 モロ )     # ジブリ  # アニメ  # 名言

自然言語のクラスタリング1〜凝集型クラスタリング〜

f:id:yusuke091:20170202172202p:plain

今回は凝集型クラスタリングを使って、自然言語クラスタリングをしてみたいと思います。

※この記事は以下の書籍を参考に書かれています

言語処理のための機械学習入門 (自然言語処理シリーズ)

言語処理のための機械学習入門 (自然言語処理シリーズ)

 

 

凝集型クラスタリング

クラスタリング

似ているもの同士を一つのグループにまとめ、グループ分けを行う作業。

出来上がるグループのことをクラスタと呼ぶ。どのようなクラスタが出来上がるかを事前に知ることはできない。

教師なし学習の一つ

凝集型クラスタリング

似ているもの同士をくっつけていくクラスタリング手法。

 

自然言語データ

TwitterのSearch APIで取得できる「#ジブリ」を含むツイート37件を利用。

戦争で稼ぐ奴は悪党だ。 〔ジャンク屋の親父 / 紅の豚〕#ジブリ
タイトル組み合わせ 『耳すませ豚』 #ジブリ
仕事をしている二郎さんを見るのが一番好き #ジブリ
...
あの女のために残しておいた力なのに!(「もののけ姫」モロ)   #ジブリ #アニメ #名言
前処理

データの前処理として、MeCabによる分かち書きと小文字化を行っておく。

 

自然言語の数学的表現

今回はbag-of-wordsを利用した。

bag-of-words

文章のベクトル表現の一つ。文章内に各単語が何回出現したかを用いてベクトルで表す。単語の頻度のみで表され、語順などの情報は残らない。

データ全体で、以下の単語が含まれていた場合、

,!,!!,#,',(,),)  #,.,. /,/,:,a,and,approach,as,be,bite,boars,bot,by,can,change,course,cut,demon,does,don,even,everyone,fake,far,fears,find,for,garden,ghibli,girl,go,head,here,how,i,is,island,kiki,ll,m,my,nearest,not,of,off,out,re,s,sap,sight,soon,stand,still,such,t,that,the,there,they,this,trick,well,which,within,you,you.,…,↑,♫,♬, , #,、,。,「,」,『,』,〔,〕#,あぁ,あの,あれ,あんた,い,いっか,いやいや,いる,う,ぇい,おい,お前,か,かい,から,かわいそう,かんちがい,が,ここ,こちら,こと,この,さ,さみしく,ざわ,し,しぃ,しまっ,すぐ,すませ,ずいぶん,せい,そいつ,そなた,それ,ぞ,た,たき,たずねる,ただ,たび,ため,たら,だ,だけ,ちゃう,っ,つらい,つる,て,てる,で,です,でっかい,と,となり,と共に,な,ない,なく,なっ,なら,なる,なんか,なんて,に,ぬ,ね,ねぇ,ねえ,の,のに,は,はぁ,はるか,ば,ばかり,ひき,ふ,ふっ,まぁ,まず,まで,まま,まるで,みな,も,もう,もっと,もののけ姫,やめ,ややこしい,よ,よう,よかっ,よっぽど,より,ら,れ,れる,わ!,を,アシタカ,アニメ,エボシ,オーバー,カルシファー,グッバイ,サン,シリ,シータ,ジコ,ジブリ,ジャンク,ソフィー,タイトル,タタラ,チャーシュー,ドキドキ,ドーラ,ニャー,ハウルの動く城,バカヤロ,ポルコ,マルクル,モロ,モーニング,ヤックル,ラーメン,ラーメンマン,ー,一,一番,下ろし,中,乗っ,二郎さん,人間,今日,仕事,付く,会,会い,伝え,伝説,借りもの,入る,共に,冬,出発,切ら,力,動く,午後,古本屋,名前,名言,君,告げよ,土,地バ,坂道,坊,場,変える,夜叉,夢,大きく,天空の城ラピュタ,女,奴,好き,娘,子,家族,家来,屋,山犬,幼稚園,度,庭,弁当,待た,待っ,後で,御,心,必ず,志,恐れ,恩返し,息子,悪党,我が,戦争,戻れ,技,持て,文化会館,方,早く,春,時,暮らそ,朝焼け,未来,果てしなく,染め,根,森,様,歌お,死ぬ,残し,気づく,泣く,猫,猫の恩返し,王,生きよう,皆,私,種,稼ぐ,空,突然,窓,紅の豚,組み合わせ,美しかっ,者,耳,耳をすませば,聖司,胸,良い奴,英語,落とし,行く,見え,見つかっ,見る,親方,親父,観る,観劇,解き放て,豚,贅沢,越え,越える,近寄ら,返事,逃がさ,違え,重量,針路,音楽,風,飛べ,飛ん,食らい,首,驚い,髪の毛,魔女の宅急便,鳥,!,!(,!-,#,(,(「#,),)  #,?

次の文章は、

戦争で稼ぐ奴は悪党だ。 〔ジャンク屋の親父 / 紅の豚〕#ジブリ

このようにベクトル化される。

[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

 

クラスタの類似度

今回は37個の文章をすべてクラスタとし、類似のものを融合していくことでクラスタが10個以内になるまで処理を行う。

クラスタの類似度を測るためのアルゴリズムには以下のようなものがある。

単連結法

二つのクラスタが与えられた時、その中で最も近い事例対の類似度を、その二つのクラスタの類似度とする方法。クラスタが長く伸びてしまおうがお構いなしに融合していく。

完全連結法

二つのクラスタが与えられた時、その中で最も遠い事例同士の類似度を、その二つのクラスタの類似度とする方法。鎖のように長く伸びたクラスタができにくい。

重心法

クラスタの重心ベクトルの類似度をクラスタ間の類似度とする。単連結法と完全連結法の中間的な性質を持つ。

 

今回は重心法を用いて、クラスタの類似度を測る。類似度の計算には余弦類似度を使用する。

クラスタリング結果

以下のようにクラスタリングされた。

クラスタ1では「[」、「/」、「]」が共通して含まれている。

クラスタ2を見ると「タイトル」や「組み合わせ」、「♫」、「魔女の宅急便」、「kiki」、「英語」、「ghibli」などが共通して含まれていることが分かる。

 

--- クラスタ1 ---
戦争 で 稼ぐ 奴 は 悪党 だ 。 〔 ジャンク 屋 の 親父 / 紅の豚 〕# ジブリ
良い奴 は 皆 死ぬ 。 〔 ポルコ / 紅の豚 〕# ジブリ
お前 の 弁当 、 ずいぶん でっかい の な 。 〔 聖司 / 耳をすませば 〕# ジブリ
そいつ ら 、 後で 泣く こと に なる な 。 まず 人間 に は 戻れ ない よ 。 〔 カルシファー / ハウルの動く城 〕# ジブリ
かわいそう に 、 髪の毛 を 切ら れる 方 が よっぽど つらい さ 。 〔 ドーラ / 天空の城ラピュタ 〕# ジブリ
私 なんか 、 美しかっ た こと なんて 一 度 も ない わ! 〔 ソフィー / ハウルの動く城 〕# ジブリ
音楽 やめ ぇい ! 〔 猫 王 / 猫の恩返し 〕# ジブリ

--- クラスタ2 ---
タイトル 組み合わせ 『 耳 すませ 豚 』 # ジブリ
タイトル 組み合わせ 『 借りもの で すませ ば 』 # ジブリ
タイトル 組み合わせ 『 となり の 動く 豚 』 # ジブリ
エボシ : 首 だけ に なっ て も 食らい 付く の が 山犬 だ even cut off , the head can still bite もののけ姫 より # ジブリ # ghibli # 英語
♫ 朝焼け が 窓 を 染め た なら 君 に 告げよ う グッバイ モーニング … # bot # 魔女の宅急便 # kiki # ジブリ
♫ さみしく なる と たずねる 坂道 の 古本屋 … # bot # 魔女の宅急便 # kiki # ジブリ
… ♬ それ は まるで 夢 の よう … # bot # 魔女の宅急便 # kiki # ジブリ
… ♬ 時 を 越える たび 気づく ね 心 は 果てしなく て … # bot # 魔女の宅急便 # kiki # ジブリ
♫ 突然 驚い た の … 胸 が ドキドキ し てる … # bot # 魔女の宅急便 # kiki # ジブリ
マルクル … … 待た れ よ 。 stand by ハウルの動く城 より # ジブリ # ghibli # 英語
don ' t be such a sap ! バカヤロ   志 を もっと 大きく 持て # ジブリ # 紅の豚 # 英語 # 名言
見つかっ ちゃう よ ! they ' ll find out i ' m a fake 魔女の宅急便 より # ジブリ # ghibli # 英語
もう 逃がさ ねえ ぞ that ' s as far as you go ! 紅の豚 より # ジブリ # ghibli # 英語
ジコ 坊 : ふ ふっ 地バ シリ の 技 だ that ' s how they trick the boars もののけ姫 より # ジブリ # ghibli # 英語
they ' ll change course for the nearest island as soon as they ' re out of sight . by ポルコ 見え なく なる まで 飛ん で すぐ 針路 を 変える に 違え ねえ # ジブリ # 紅の豚 # 英語 # 名言
飛べ ねぇ 豚 は ただ の チャーシュー だ # ラーメンマン 伝説 # ジブリ
午後 から 幼稚園 の 観劇 会 文化会館 で つる の 恩返し を 観る よ 息子 に 伝え たら 、 あぁ … 猫 の 。 あれ か 。 と 。 まぁ いっか ! # ジブリ # 猫の恩返し # かんちがい
親方 ー っ ! 空 から ラーメン が ー !! # ラーメンマン 伝説 # ジブリ
たき ざわ はるか ? 贅沢 な 名前 だ ねぇ … 今日 から 、 あんた の 名前 は 、 ラーメン だ よ ! 早く 返事 を しぃ 、 ラーメン !! # ラーメンマン 伝説 # ジブリ
我が 家族 は ややこしい 者 ばかり だ な 。 # ジブリ
仕事 を し て いる 二郎さん を 見る の が 一番 好き # ジブリ
土 に 根 を 下ろし 、 風 と共に 生きよう 。 種 と共に 冬 を 越え 、 鳥 と共に 春 を 歌お う 。 (「# 天空の城ラピュタ 」 # シータ ) # ジブリ

--- クラスタ3 ---
必ず 行く から 未来 で 待っ て い て !( ソフィー )  # ジブリ  # アニメ  # 名言

--- クラスタ4 ---
here is my garden , which everyone fears and does not approach . / ここ は 、 みな 恐れ て 近寄ら ぬ 私 の 庭 だ ( エボシ / もののけ姫 ) # ジブリ

--- クラスタ5 ---
「 サン は 森 で 、 私 は タタラ 場 で 暮らそ う 。 共に 生きよう 。 会い に 行く よ 、 ヤックル に 乗っ て 。 」 ( アシタカ )  # ジブリ  # アニメ  # 名言

--- クラスタ6 ---
あの 子 を 解き放て ! あの 子 は 人間 だ ぞ !- アシタカ ( もののけ姫 ) # ジブリ

--- クラスタ7 ---
いやいや 、 見つかっ て よかっ た 。 はぁ … はぁ … 。 こちら に 入る 時 に 落とし て しまっ た よう で … 御 家来 様 の 重量 オーバー の せい です ニャー ↑ ↑ # ジブリ

--- クラスタ8 ---
there is a demon within you. within this girl as well . / そなた の 中 に は 夜叉 が いる 。 この 娘 の 中 に も だ 。 ( アシタカ / もののけ姫 ) # ジブリ

--- クラスタ9 ---
この まま ひき さ が れる かい 。 すぐ 出発 だ ! ! # ジブリ

--- クラスタ10 ---
あの 女 の ため に 残し て おい た 力 な のに ! ( 「 もののけ姫 」 モロ )     # ジブリ  # アニメ  # 名言