KHcoder20. 共起ネットワーク(第1回)

KHcoder20. 共起ネットワーク(第1回)

テキストマイニングツール「KHcoder」の活用メモ
開発者である樋口先生に感謝!
【今回の分析対象テキストはこちらからコピーできます】

共起ネットワーク

手順と機能

 
 「ツール」→「抽出語」→「共起ネットワーク」の順でクリックします。
 基本的にここまで「段落」を分析単位にしてきたので、まず集計単位を「段落」に設定します。最小出現数もこれまで通り3に設定します。
<共起関係(edge)の種類>
 「語-語」は結果に「語」だけが表示されます。つまり「語」と「語」の関係を分析します。

<描画する共起関係(edge)の選択>
 係数は「Jaccard」「Cosune」「Euclid」のどれかを選択できます。「Jaccard」が最も一般的で係数の計算方法も明確なので「Jaccard」を選択します。上位「60」のところの数値を設定変更できます。大きい数値に設定すると多くの「語」で表現されます。ただし左側で設定した「最小出現数」の方を優先するため、「最小出現数」よりも少ない出現数の「語」が分析対象になることはありません。「係数」のラジオボタンをチェックすると設定したJaccard係数以上の関係だけで描画します。

<強い共起関係ほど濃い線に>
 チェックすると共起の強弱をビジュアル化できるのでチェックをオススメします。

<係数を表示>
 サンプルのように「語」数が少ないときは係数を表示するとよいでしょう。「語」数が多いときはゴチャゴチャして見にくいことがあります。

<最小スパニング・ツリーだけを描画>
 このような描画になります。描画した結果が見づらいとき、単純化したいときはチェックしてください。とにかく各種設定を変えながら何度も見直すことが重要です。

<実行時にこの画面を閉じない>
 様々な設定を試してみるときはチェックしておくことをオススメします。

結果画面

 <サブグラフ検出>
 色で中心性を表現する選択肢と色でコミュニティーを表現する選択肢があります。「サブグラフ検出(modularity)」が見やすいと思いますが、好みによります。

<調整>
 「最小スパニング・ツリーを強調表示」にチェックするといい感じになります。試してみてください。

<HTML表示>
 ブラウザが立ち上がります。見え方が面白いのでぜひ試してください。

<保存>
 Rソースか画像形式の保存機能です。CSVで出力はできません。

段と文

段と文では結果が違う

 共起ネットワークは「集計単位」を「段」に設定するのか「文」に設定するのかで結果が大きく異なることがあります。「段」に設定すると「語」がどこの「段」に出現するのかに基づいて計算し、「文」に設定すると「語」がどこの「文」に出現するのかに基づいて計算します。つまり、「語」を含む「段」数をカウントしてJaccard係数を算出する、「語」を含む「文」数をカウントしてJaccard係数を算出する、このような違いがあります。
 実際に「段」で設定したときと「文」で設定したときの違いを、ID7の「段」”イカとかエビのようなあっさりしたネタが好き。サバが苦手。”で説明します。

段のとき

 「段」に設定して「分析対象テキスト」を共起ネットワーク分析します。「分析対象テキスト」に出現する「エビ」「イカ」「サバ」「好き」「苦手」はすべて1「段」に同時に出現するからすべての「語」が共起します。図から「エビ」「イカ」「サバ」は「好き」でもあり「苦手」でもあることが読み取れます。ID7の「段」は”イカとかエビのようなあっさりしたネタが好き。サバが苦手。”、「好き」なのは「エビ」「イカ」です。「段」で分析すると例えば「サバ」は苦手にもかかわらず、「好き」でもあるように読めます。

文のとき

 つぎに「文」に設定して共起ネットワーク分析を実施します。「エビ」「イカ」が「好き」、「サバ」が「苦手」なのだろうと読めます。「エビ」「イカ」が「苦手」と共起しないからです。

 分析対象テキストが
・イカとかエビのようなあっさりしたネタが好き。
・サバが苦手。
 このように2文で構成されているからです。

段と文のどちらがよいのか?

 はっきりとした結論はありません。
① 「文」の場合、共起の対象になる(共起の相手になる)1「文」中に含まれる「語」数が「段」のときよりも少なくなるから、文意に近い結果がでやすい。多くの「語」が数珠つなぎになりにくく、コミュニティーが明確になりやすい。コミュニティー数が多くなる。これはよし悪いしの両方がある。

② ”イカとかエビのようなあっさりしたネタが好き。サバが苦手。”このように「。」(句点)で2文になっているとよいが、”イカとかエビのようなあっさりしたネタが好きだが、サバが苦手。”このように「、」(読点)のとき、「段」で分析するのと同じ結果になる。

③ 「段」の場合、「段」数=回答者数のようなとき、出現回数やJaccard係数を用いて「回答者数の50%が好きと答えた」「イクラが好きな回答者数のうち30%はサーモンも好き」このような計算が可能になる。回答欄に「好き」なネタだけが書かれていれば、「段」の方が有利。

 「文」にしても「段」にしてもそれぞれに長所短所があるもので、テキストマイニングのほとんどの分析は「段」を基本に行えばよいように思いますが、共起ネットワークだけは、「文」の設定も必ず試してみるべきです。

>KHcoder21. 共起ネットワーク(第2回) Rの計算