【MTMineR】階層的クラスター分析

スポンサーリンク

MTMineRのクラスター分析

MTMineRで階層的クラスター分析をする方法を紹介します。

分析対象

今回、対象とするテキストデータは小説です。太宰治と芥川龍之介、森博嗣などの作品をクラスター分析で分類します。

テキストマイニングツールのKH Coderでは、品詞のBigramなどを出力できないため、MTMineRでないとできない分析です。

やり方

形態素解析は完了している状態から、進めます。階層的クラスター分析で、太宰や芥川などの著者を分類できるか確認してみます。

品詞のBigramを出力する

<n-gram>というタブを選び、下の参考画像のように設定します。なお、画像は<AllTag Processing>を押した後の画面です。

MTMineRでクラスター分析
  1. <Processing Type>は<Tag>を選びます。
  2. これは名詞や動詞などの品詞を出力するという意味です。

  3. <Ngram Type>は<Bigram>を選びます。
  4. これは品詞の二つの組み合わせを意味します。例えば、名詞と助詞、助詞と動詞などです。

  5. <Ngram Extraction Type>は<Sentence>を選びます。
  6. 句点で区切られた文という意味です。

  7. <Cutoff>は50に設定します。小さい値にすると動作が重くなります。
  8. <Tab/CSV Format>や<File in row/column>は画像の設定で大丈夫です。
  9. 出力形式を変えるだけなので、結果に影響はありません。

  10. 設定が完了したら<AllTag Processing>を押下します。

R実行画面でデータを相対頻度に変換する

R実行画面を立ち上げ、まずはデータを相対頻度に変換します
下の画面を参考にして下さい。

MTMeinRの相対頻度変換画面
  1. メニューの<R>を選択し<Process Outputs In This Tab>を選びます。
  2. Set Data Nameはデフォルトのtempのままで<OK>を押します。
    Run R、R Console、OUTPUTの三つの画面が立ち上がります。

  3. Run Rの画面の中央下の<Processing>を押します。
  4. <Command>の<Proportion in Each Row>は、行の総和を基準とした相対頻度に変える、という意味です。

  5. Run R画面の上部にある<Select Data>で相対頻度のデータを選びます。
  6. Data Nameをtempとした場合はtemp.traになっているはずです。

  7. Processing Sucessの画面は<OK>を押して閉じます。

R実行画面で階層的クラスター分析を実行する

<Unspervised>のタブで<Hierachical Clustering>を選び、樹形図(デンドログラム)を描きます
実行画面は下の画像の通りです。この状態で<OK>を押すと、樹形図が出力されます。

クラスター分析の実行画面
  1. <Unspervised>のタブで<Hierachical Clustering>を選びます。
  2. <Vriables>の下にあるボックスからデータを<Picked: 0>の下にボックスに移します。
  3. 丸い青い右向きの矢印を押すと、左から右へ移動します。

  4. <Subset>の下にあるボックスからデータを<Picked: 0>の下にボックスに移します。
  5. これも、丸い青い右向きの矢印を押すと、左から右へ移動します。
    これは階層的クラスター分析に使用するデータを選択しています。

  6. <Methods>は<Ward.D2>を選びます。
  7. <Distance Measures>は<Jaccard dist>を選びます。
  8. 画面下の<OK>を押します。

結果

下図のような樹形図が出力されます。
全てではありませんが、概ね、作者ごとにクラスターができあがっています。

クラスター分析

この記事のまとめ

MTMineRを使った階層的クラスター分析のやり方をご紹介しました。

参考文献

テキストマイニングによる筆者識別の正確性ならびに判定手続きの標準化

2.5文体的特徴で、品詞のbigramの記述があります。筆者識別力が高い文章の特徴として挙げられています。また、この論文はMTMineRを使って分析してます。

タイトルとURLをコピーしました