文節ネットワークと共起ネットワークの作り方【MTMineR】
テキストマイニングソフトMTMineRで文節ネットワーク、及び、共起ネットワークをつくる方法をまとめています。
上図は、ある映画のレビューをMTMineRで分析した結果です。
文節ネットワーク
文節のネットワークは、係り受け解析の結果をもとに作成します。単語の共起ネットワークとは異なり、複合語を自然に処理できます。
やり方
データの読み込みから、ネットワークを出力するところまで、一連の流れをご説明します。
①データの読み込みと係り受け解析
分析するデータを読み込み、係り受け解析を行います。この説明では、txtファイルを読み込みます。
<Add New Files...>を選択
選択するとファイルを選ぶ画面が現れますので、データのファイルを選択します。<Confirm>を押す
<Pos Renam...>を押す
Please rename POS:という画面が現れます。ここで品詞の名前を選択できます。そのままでよければ<Confirm...>を押します。
データの読み込みと係り受け解析は、以上で完了です。最初、MTMeinRを立ち上げたら<Data Format>で<Parser>を選んで下さい。また、Cabochaのインストールが必須となります。
②共起度を出力
続いて、共起度を出力します。
<Co-occurrence>のタブを選択
<Selecting POS...>を押す
現れた画面で分析したい品詞を選びます。ここで選択しているのはひとつの文章に登場する品詞です。選んだら<Confirm...>を押します。<Remove POS...>を押す
現れた画面で取り除きたい品詞を選びます。<Selecting POS...>で選んだ品詞を含む文章から取り除きたい品詞を選びます。<PoinetedPOS Processing...>を押す
これで共起度が出力されます。なお、<Co-occurrence>の<Pattern>は品詞、<Word>は単語となります。また、<Function>の<Dependency>は係り受け先を考慮し、<Co-occurrence>は係り受け先を無視するという設定です。
③Rでネットワークを作成
出力した共起度をRでグラフにします。
メニューの<R>で<Process Outputs In This Tab>を選択
Set Data Nameの画面で名前を入力
入力後、<OK>を押すと、三つの画面が立ち上がります。Run Rの画面で、<Network>のタブを選択
一番上の青い右向きのアイコンを押す
<Variables>の下にあるボックスのデータを<Picked>に移動します。使用する共起度のデータを選ぶことができます。上から三番目の青い右向きのアイコンを押す
<Subset>の下にあるボックスのデータを<Picked>に移動します。ファイルが複数ある場合は、使用するデータを選ぶことができます。画面下の<OK>を押す
これで文節ネットワークが出力されます。初めて使用する時はパッケージのインストールが必要となります。
結果
MTMineRのネットワークには3つの出力形式があります。上の画像の<Output>にある項目です。<plot>は通常の画像出力ですが、<visNetwork>はネットブラウザで、ネットワークを描いてくれます。また、<tkplot>は、下の動画のように、配置を変えたり、ひとつひとつの節点を自分で好きなように動かすことができます。
共起ネットワーク
上図は、ある映画のレビューをMTMineRで分析した結果です。
やり方
データの読み込みから、ネットワークを出力するところまで、一連の流れをご説明します。
①データの読み込みと形態素解析
分析するデータを読み込み、形態素解析を行います。この説明では、txtファイルを読み込みます。
- <Add New Files...>を選択
- <Confirm>を押す
- <Pos Renam...>を押す
選択するとファイルを選ぶ画面が現れますので、データのファイルを選択します。
Please rename POS:という画面が現れます。ここで品詞の名前を選択できます。そのままでよければ<Confirm...>を押します。
データの読み込みと形態素解析は、以上で完了です。
最初、MTMeinRを立ち上げたら<Data Format>で<Tagged Text>を選んで下さい。なお、ChaSenを使用する場合には、別途ChaSenのインストールが必須となります。
②共起度を出力
続いて、共起度を出力します。
- <Co-occurrence>のタブを選択
- <Selecting POS...>を押す
- <PoinetedPOS Processing...>を押す
現れた画面で分析したい品詞を選びます。名詞、形容詞、副詞がおすすめです。選んだら<Confirm...>を押します。
これで共起度が出力されます。
なお、<Cutoff>の推奨値が0になっているようにみえますが、0にするとデータがあまり多すぎて、MTMineRが落ちる場合があります。ネットワークを描く際にも、データが多過ぎると、かなり時間がかかります。数回しか登場しない言葉は切り捨ててしまって問題ありません。
③Rでネットワークを作成
出力した共起度をRでグラフにします。
- メニューの<R>で<Process Outputs In This Tab>を選択
- Set Data Nameの画面で名前を入力
- Run Rの画面で、<Network>のタブを選択
- <Variables>の下にあるボックスからデータを選択
- 一番上の青い右向きのアイコンを押す
- 上から三番目の青い右向きのアイコンを押す
- 画面下の<OK>を押す
入力後、<OK>を押すと、三つの画面が立ち上がります。
Windowsと同じように、ctrl+左クリック、shift+左クリックで、複数選択ができます。
<Variables>の下にあるボックスのデータを<Picked>に移動します。使用する共起度のデータを選ぶことができます。処理が重くなるので、データは200個ぐらいに抑えています。
<Subset>の下にあるボックスのデータを<Picked>に移動します。ファイルが複数ある場合は、使用するデータを選ぶことができます。
これで共起ネットワークが出力されます。初めて使用する時はパッケージのインストールが必要となります。
なお、<Number of features>でネットワークに描くデータの数を調整できます。ネットワーク分析では、<Feature Extraction Method>などを変更し最良な結果を探していきます。
結果
MTMineRのネットワークには3つの出力形式があります。上の画像の<Output>にある項目です。<plot>は通常の画像出力ですが、<visNetwork>はネットブラウザで、ネットワークを描いてくれます。また、<tkplot>は、下の動画のように、配置を変えたり、ひとつひとつの節点を自分で好きなように動かすことができます。