エクセルでテキストマイニング
HADとTTMの連携機能TTM2HAD
清水裕士
関西学院大学社会学部
HADを作った人
• 清水裕士
– 専門:社会心理学 グループダイナミクス
– 所属:関西学院大学社会学部
– 連絡先:simizu706(あっと)norimune.net
• (あっと)を@に変えてください。
– ブログ:http://norimune.net
– Twitter: @simizu706
HADとは
• 清水が作ったExcelのVBAで動くプログラム
– Excelのバージョンは2007以降に対応
– Macにも対応(Excel for Mac2011以降)
• WinとMacを同じファイルで使いまわせる
• 主に心理統計分析ができる
– 大抵の心理統計分析は可能
• データハンドリング,統計的検定,多変量解析など
– マルチレベル分析もできる
• 階層線形モデルや,マルチレベルSEMなど
HADとは
• 無償のソフトウェアです
– 利用は無償です
– 清水のブログからからダウンロードできます
• http://norimune.net/had
• 何度でもダウンロードできます
• 自由なソフトウェアです
– ソースコードを自由に閲覧・変更することができます
• 第三者への配布も自由です
– ライセンス
• GNU General Public License(GPL)に則ってます
• ライセンスについては「HADとは」
(http://norimune.net/696)のページを参照してください。
TTM2HAD
• ExcelTTMとHADの連携機能
– TTMで分かち書きされたテキストデータをHADで
多変量解析するための機能
– クラスタ分析,多次元尺度法,対応分析を実行
• テキストデータを数量化して,HADに搭載されている他
の多変量解析に投入することもできる
• Excelがあればテキストマイニングができる
– HADもTTMも,Excelがあれば動くフリーソフト
– 手軽にテキストマニングができる点がポイント
TTMとは
TTMとは
• Tiny Text Miner
– 大阪大学の松村真宏先生(http://mtmr.jp/ja/)が開発
– テキストマイニングの前処理のためのフリーソフト
– MeCabを使って分かち書きをして,品詞ごとの集計や,
クロス表などを作成します。
• ExcelTTM
– TTMをExcelで動くようにしたものです。結果なども
Excelファイルで出力されます。
– HADと連携しているのはこちらのExcelTTMです
本も出ている
• 人文・社会科学のためのテキストマイニング
– 松村真宏・三浦麻子
– 誠信書房
– 改訂新版は2014年9月発売
ExcelTTMのダウンロード
• ExcelTTMのWebサイトにアクセス
– http://mtmr.jp/excelttm/
• WindowsとMacにそれぞれ対応
– ダウンロードするアイテムが違うので注意
– 詳細はExcelTTMのWebサイトを参照してください
TTM2HADの使い方
HADそのものの使い方については
http://norimune.net/had
をご参照ください
ExcelTTMの使い方
• 「分析データ」シートにデータを入力
– A列に回答者,B列にテキストデータを入れる
キーワード
• 分かち書きしたくないワードを設定
– 例:「テキストマイニング」は「テキスト」と「マイニン
グ」に分かち書きされる。しかし,「テキストマイニ
ング」という一つの言葉で使いたいときに利用
– 「キーワード」シートに登録しておく
ストップワード
• 分かち書きのときに省きたい単語
– よく出てくるが,データの分析には使いにくい単語
や記号などを省く
• する,なる,いる,などの複合動詞の一部など
– 欠損記号を省くときなどにも使える
同義語
• 同じ意味の言葉をまとめるときに使う
– 「はなす」と「話す」がデータに混じっている場合
– 「話す」に統一したほうが分析しやすい
ExcelTTMで分かち書き
• 「分析データ」シートのttmボタンを押す
– このボタン
• GUIが立ち上がる
– とりあえず,全部の品詞をチェック
– 出現頻度の最小値も0にしておく
• HADでも調整できるので,ここでは全部出力する
– 対応するシートに入力していれば,自動的にキー
ワードや同義語は範囲を指定してくれる
こんな感じ
出力
• 出力はこんな感じ(ttm6)
• HADに読み込むのは「ttm6」というシートのみ
– 他のシートは読み込まないのでなくてもいい
• 自動的に全部出力されるので,特に気にしなくていい
ファイルをxlsm形式で保存
• ExcelTTMのファイルを別名で保存
– ファイル形式はデフォルトでは”.xlsb”になっている
が,これを”.xlsm”にして保存する
• マクロ有効ファイルという形式
– xlsm形式じゃないとHADに読み込めないため
HADにTTMのデータを読み込む
HADを起動する
• 起動時に、マクロを有効にするか聞かれる
– Excelのマクロセキュリティを「中」にする
• Excel上部に下のような警告が出たら、有効化を押す
• 以下のような通知が出てきたら「有効にする」を押す
HAD12以降の注意点
• HAD12からはExcelのソルバーを使っている
– ソルバーとは,Excelに入っているアドイン
• 最初に起動したときにエラーがでる場合
– コンパイルエラーというのが出ることがある。
– その場合は,HADを一度閉じて,もう一度起動す
ると,ソルバーが入っていれば普通に使うことがで
きる。
それでもエラーが出る場合
• ソルバーが有効になってない,あるいは入って
いない可能性がある
– 参考URL:
• http://office.microsoft.com/ja-jp/excel-
help/HP010021570.aspx
• ソルバーオフバージョンもあります
– ソルバーを使わないバージョン
– 構造方程式モデルは実行できないが,それ以外の
分析はすべて可能
• もちろんTTM2HADもソルバー無しで動く
TTM2HADの起動
• まずはHADを起動
– データシートを開く
• TTM2HADボタン
– クリック
TTM2HADの画面
• 起動ボタンを押す
– TTM2HADのGUIが立ち上がる
TTM2HADの画面
ExcelTTMの出力を読み込む
• 「ExcelTTMの読み込み」の「参照」ボタン
– “.xlsm”形式のファイルを検索できるので,先ほど
保存したExcelTTMファイルを選択する
• 以下のウィンドウが出たら読み込み成功
読み込むとこんな感じ
• 回答者と単語のクロス表形式で読み込む
基礎的な単語の集計
データ出力
• 単語の出現頻度
– 単語ごとの度数
• クロス表
– 単語ペアの共頻度数
– 回答者と単語の共頻
• 距離行列
– 共頻関係から距離を計算
• Jaccord距離
単語の出現頻度
• 単語ごとの出現頻度と出現件数
– 品詞
• 単語の品詞や種類
– 出現頻度
• のべ登場回数
– 出現件数
• 単語を使った回答者数
単語×単語のクロス表
• 単語の共頻関係を表す
– 共頻:同じ回答者が,同時に使っていること
– 対応分析で用いる
距離行列
• Jaccard距離
– 共頻度を距離として表現したもの
• 0~1の範囲をとる
– クラスタ分析で用いる
その他のデータ出力
• 回答者と単語のクロス表
– HADにクロス表データとして読みこめば,対応分
析などを実行することができる
• 回答者ごとの単語への反応データ
– 単語に対して1回でも使えば1,使ってなかったら
0がコードされる
– 対応分析や,主成分分析のデータとして使う
単語のクラスタリング
クラスタ分析と多次元尺度法
• クラスタ分析
– 距離から単語を分類
• 単語クラスタを作る
• 多次元尺度法
– 単語の関係をマッピング
• 距離行列を2次元に圧縮
クラスタ分析
• クラスタ数を指定
– まずは適当に入力
– デンドログラムを見て
クラスタ数を決定
• デンドログラム
– 樹形図
– 単語の分類を図示
– クラスタ数の決定に使う
多次元尺度法
クラスタデータの出力
• クラスタ分析の結果を反映
– クラスタと回答者のクロス表を出力
– このデータを対応分析に入力することができる
データの数量化
対応分析編
回答者と単語のクロス表
• データ出力タブ
– 対応分析用のデータ
– 回答者がそれぞれの
単語をどれほど使用した
かをクロス表で出力
– シート名はSub_cross
対応分析
• データの数量化タブ
– 対応分析をチェック
– データのシート名は
デフォルトはSub_cross
– 重み
• 固有値で重み付け
対応分析
データの数量化
主成分分析編
回答者ごとの単語への反応データ
• データの出力から選択
– Sub_respというシートが
出力される
– 回答者が単語を使用
したら1,しなかったら0
– このデータを使って
単語データを数量化する
Sub_resp
主成分分析
• データ数量化タブ
– 主成分分析をチェック
– シートはSub_respが
デフォルト
– 数量化した結果は
「スコアデータ出力」で
出力できる
主成分分析
データの数量化
クラスタデータ編
クラスタデータの出力
• クラスタデータをチェック
• 読み込むシートを選択
– デフォルトは
• “Cluster_data”シート
• スコアデータの出力
– 数量化したデータを出力
• HADの分析に使える
– スコアデータを出す場合は,重みありのほうがいい
対応分析クロス表のプロット
クラスタの詳細
クラスタ1 彼氏, 一緒, 彼女, 結婚, 子ども, 家, 会う, 遊び, 旅行, 見る, 付き合う, 喧嘩, 自分, お互い, 誕生|日, 過ごす, 子供, 生まれる, 会える,
クラスタ2 卒業, 死ぬ, 食事, 持つ, 遊ぶ, 友達, ゆとり, 暮らす, 今, 仕事
クラスタ3 私, 食べる, 海, 生活, 送る, できる, メール, 家族, ご飯, 幸せ, 別れる, とる, 楽しい, 仲
クラスタ4 買い物, 料理, テレビ, 作る
クラスタ5 手, つなぐ
クラスタ1
クラスタ2
クラスタ3
クラスタ4
クラスタ5
次元2
次元1
スコアデータ
• 対応分析の回答者スコアを出力
– テキストデータの数量化
– HADの他の多変量解析(回帰分析など)に利用す
ることができる
まとめ
• ExcelTTMを使って,分かち書き
– 内部ではMeCabを用いている
– Excelでテキストデータを簡単に分かち書きできる
• キーワード,ストップワード,同義語などの設定も簡単
• HADにExcelTTMのデータを読み込む
– TTM2HADを使って,テキストデータを分析
• 単語のクラスタリング
• クラスタデータを数量化
手元のデータでチャレンジ!
• HAD
– http://norimune.net/had
• TTM
– http://mtmr.jp/ttm/
• ExcelTTM
– http://mtmr.jp/excelttm/

エクセルでテキストマイニング TTM2HADの使い方