MTMineRでヒートマップを描く
MTMineRで下の画像のようなヒートマップをつくる方法をご紹介します。
下の図は、吉川英治著「三国志」に登場する武将を可視化しています。

ヒートマップのやり方
データの読み込みから、ヒートマップの出力まで、一連の流れをご説明します。
①データの読み込みと係り受け解析
分析するデータを読み込み、係り受け解析を行います。
- <Add New Files…>を選択
選択するとファイルを選ぶ画面が現れますので、データのファイルを選択します。 - <Confirm>を押す
- <Pos Renam…>を押す
画面の大きさで表示される文字が変わりますのでご注意ください。 - Please rename POS:の画面で<Confirm>を押す
この画面で品詞の名前を変更できます。そのままでよければ<Confirm…>を押します。
データの読み込みと係り受け解析は、以上で完了です。最初、MTMeinRを立ち上げたらメニューの<Data Format>で<Parser>を選んで下さい。係り受け解析には、Cabochaのインストールが必須となります。形態素解析のデータでもヒートマップは作成できますが、複合語の処理が簡単にできるため係り受け解析のデータを使用しています。。

②単語を出力
複合語を考慮した単語を出力します。
- <Condi-n-gram>のタブを選択
- <Ngram Type:>で<Unigram>を選択
- <Selecting POS…>を押す
現れた画面で分析したい品詞を選びます。ここで文章に登場する品詞を選択します。選んだら<Confirm…>を押します。 - <Remove POS…>を押す
現れた画面で取り除きたい品詞を選びます。<Selecting POS…>で選んだ品詞を含む文章から取り除きたい品詞を選びます。具体的には、句点、読点、記号、助詞、助動詞などです。 - <PoinetedPOS Processing…>を押す
これで単語が出力されます。<Cutoff>は文章量などのサイズに合わせて、適宜設定が必要となります。

③単語を相対頻度に変換
出力した単語を相対頻度に変換します。単なる回数では、文章量が多い分だけ増えてしまうので、その影響を取り除きます。
- メニューの<R>で<Process Outputs In This Tab>を選択
- Set Data Nameの画面で名前を入力
入力後、<OK>を押すと、三つの画面が立ち上がります。 - Run Rの画面で、<Transform>のタブを選択
- <Command:>が<Proportion in Each Row>となっていることを確認し<Processing…>を押す
行(Row)の総和を基準とした相対頻度に変換します。 - <Select Data:>で相対頻度のデータを選択
temp.traなど、.traが付きます。
これで相対頻度に変換ができます。

④Rでヒートマップを作成
出力した単語をRでヒートマップにします。
- Run Rの画面で、<Unsupervised>のタブの<HeatMap>を選択
- <Variables>の下にあるボックスからデータを選択
Windowsと同じように、ctrl+左クリック、shift+左クリックで、複数選択ができます。 - 一番上の青い右向きのアイコンを押す
<Variables>の下にあるボックスのデータを<Picked>に移動します。使用するデータを選ぶことができます。 - 上から三番目の青い右向きのアイコンを押す
<Subset>の下にあるボックスのデータを<Picked>に移動します。<Variables>と同じように操作できます。 - 画面下の<OK>を押す
これでヒートマップが作成できます。<Instance distances:>と<Variable distances:>で、結果が変わりますのでいろいろ試してみる必要があります。

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

参考サイト
・MTMineR
左メニューの●文節で、MTMineRの構文解析について解説しています。Co-occurrence(文節の共起)や、<Selecting POS…>と<Remove POS…>の処理について説明が記載されています。複合語については、下記のとおりです。
例えば、mecabで「自然言語処理を行う」を形態素解析すると「自然」「言語」「処理」「を」「行う」に分解され、名詞を集計すると「自然」「言語」「処理」が集計される。一方cabochaで文節分解を行うと「自然言語処理を」「行う」に分解される。名詞を含む文節の中から助詞を取り除くことにより「自然言語処理」が一つの項目として集計することができる。
引用–●文節4. Condi-n-gram(条件付きの文節のn-gram)
この記事のまとめ
MTMineRを使ったヒートマップの作り方をご紹介しました。

