【MTMineR】ヒートマップ

スポンサーリンク

MTMineRでヒートマップを描く

MTMineRで下の画像のようなヒートマップをつくる方法をご紹介します。

下の図は、吉川英治著「三国志」に登場する武将を可視化しています。

MTMinRヒートマップ

ヒートマップのやり方

データの読み込みから、ヒートマップの出力まで、一連の流れをご説明します。

①データの読み込みと係り受け解析

分析するデータを読み込み、係り受け解析を行います。

  1. <Add New Files…>を選択
    選択するとファイルを選ぶ画面が現れますので、データのファイルを選択します。
  2. <Confirm>を押す
  3. <Pos Renam…>を押す
    画面の大きさで表示される文字が変わりますのでご注意ください。
  4. Please rename POS:の画面で<Confirm>を押す
    この画面で品詞の名前を変更できます。そのままでよければ<Confirm…>を押します。

データの読み込みと係り受け解析は、以上で完了です。最初、MTMeinRを立ち上げたらメニューの<Data Format>で<Parser>を選んで下さい。係り受け解析には、Cabochaのインストールが必須となります。形態素解析のデータでもヒートマップは作成できますが、複合語の処理が簡単にできるため係り受け解析のデータを使用しています。

MTMinRのファイル読み込み画面

②単語を出力

複合語を考慮した単語を出力します。

  1. <Condi-n-gram>のタブを選択
  2. <Ngram Type:>で<Unigram>を選択
  3. <Selecting POS…>を押す
    現れた画面で分析したい品詞を選びます。ここで文章に登場する品詞を選択します。選んだら<Confirm…>を押します。
  4. <Remove POS…>を押す
    現れた画面で取り除きたい品詞を選びます。<Selecting POS…>で選んだ品詞を含む文章から取り除きたい品詞を選びます。具体的には、句点、読点、記号、助詞、助動詞などです。
  5. <PoinetedPOS Processing…>を押す

これで単語が出力されます。<Cutoff>は文章量などのサイズに合わせて、適宜設定が必要となります。

MTMineRの複合語出力画面

③単語を相対頻度に変換

出力した単語を相対頻度に変換します。単なる回数では、文章量が多い分だけ増えてしまうので、その影響を取り除きます。

  1. メニューの<R>で<Process Outputs In This Tab>を選択
  2. Set Data Nameの画面で名前を入力
    入力後、<OK>を押すと、三つの画面が立ち上がります
  3. Run Rの画面で、<Transform>のタブを選択
  4. <Command:>が<Proportion in Each Row>となっていることを確認し<Processing…>を押す
    行(Row)の総和を基準とした相対頻度に変換します。
  5. <Select Data:>で相対頻度のデータを選択
    temp.traなど、.traが付きます。

これで相対頻度に変換ができます。

MTMineRの標準化画面

④Rでヒートマップを作成

出力した単語をRでヒートマップにします。

  1. Run Rの画面で、<Unsupervised>のタブの<HeatMap>を選択
  2. <Variables>の下にあるボックスからデータを選択
    Windowsと同じように、ctrl+左クリック、shift+左クリックで、複数選択ができます。
  3. 一番上の青い右向きのアイコンを押す
    <Variables>の下にあるボックスのデータを<Picked>に移動します。使用するデータを選ぶことができます。
  4. 上から三番目の青い右向きのアイコンを押す
    <Subset>の下にあるボックスのデータを<Picked>に移動します。<Variables>と同じように操作できます。
  5. 画面下の<OK>を押す

これでヒートマップが作成できます。<Instance distances:>と<Variable distances:>で、結果が変わりますのでいろいろ試してみる必要があります。

MTMineRのヒートマップ画面

ヒートマップの結果

MTMineRのヒートマップは、下のような画像も出力できます。冒頭の画像は出力されない場合がありますが、こちらは安定しています。

MTMineRのヒートマップ2(吉川英治三国志)
参考サイト

MTMineR
左メニューの●文節で、MTMineRの構文解析について解説しています。Co-occurrence(文節の共起)や、<Selecting POS…>と<Remove POS…>の処理について説明が記載されています。複合語については、下記のとおりです。

例えば、mecabで「自然言語処理を行う」を形態素解析すると「自然」「言語」「処理」「を」「行う」に分解され、名詞を集計すると「自然」「言語」「処理」が集計される。一方cabochaで文節分解を行うと「自然言語処理を」「行う」に分解される。名詞を含む文節の中から助詞を取り除くことにより「自然言語処理」が一つの項目として集計することができる。

引用–●文節4. Condi-n-gram(条件付きの文節のn-gram)

この記事のまとめ

MTMineRを使ったヒートマップの作り方をご紹介しました。

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