テキストマイニングとは?仕組みと分析の進め方をやさしく解説
みなさん、こんにちは。スマート・アナリティクスの畠です。 「授業アンケートの自由記述が500件。全部読んで傾向をまとめてください」——そう言われたら、ちょっと途方に暮れてしまいますよね。数十件なら一つひとつ読めばよいのですが、数百件・数千件となると、人の目だけで全体の傾向をつかむのは大変です。そこで使うのがテキストマイニングです。テキストマイニングとは、文章データを単語に分けて集計し、傾向や関係性を探る分析手法のこと。アンケートの自由記述、講義の感想文、卒業研究のインタビュー記録など、「言葉のデータ」を数えられる形に変換することで、統計的に扱えるようにします。このページでは、テキストマイニングの仕組み(形態素解析・出現頻度・共起)、ワードクラウドなどの可視化の読み方、分析の進め方4ステップ、そして気をつけたい限界まで、初学者の方にもわかりやすく順番に解説します。
- テキストマイニングは、自由記述などの文章データを単語に分けて集計し、傾向や関係性を探る分析手法
- 日本語は単語の区切りがないため、まず形態素解析で文章を単語に分割し、品詞を判定する
- 出現頻度の集計ではストップワード(助詞など)の除外と表記ゆれの統一が大切
- 共起(一緒に使われやすい単語の組み合わせ)を見ると、単語単体ではわからない文脈が見えてくる
- 「頻度が高い=重要」とは限らない。可視化の結果は必ず原文に戻って確かめる
- 進め方は「収集 → 前処理 → 集計・可視化 → 解釈」の4ステップ
テキストマイニングとは何か
テキストマイニングとは、文章データを単語に分けて集計し、傾向や関係性を探る分析手法です。マイニング(mining)は「採掘」という意味で、大量の文章という鉱山から、価値のある情報を掘り出すイメージからこの名前がついています。
テキストマイニングが活躍するのは、たとえば次のような場面です。
- 授業評価アンケートの自由記述500件から、受講者が何を評価し、何に不満を持っているかを整理する
- 卒業研究のインタビュー記録から、語られたテーマの傾向をつかむ
- 学園祭の来場者アンケートの感想欄から、よく登場する話題を把握する
- 研究対象の文書(日誌・手記・記事など)に現れる言葉の使われ方を調べる
共通しているのは、対象が「数値」ではなく「文章(テキスト)」だということです。点数や回数のような数値データなら、平均を出したりグラフにしたりと、すぐに統計の道具が使えます。しかし文章は、そのままでは平均も合計も計算できません。テキストマイニングは、文章を「数えられる形」に変換することで、言葉のデータに統計の道具を使えるようにする技術なのです。
私はSPSSに20年以上関わるなかで、「アンケートの選択式の設問は分析したけれど、自由記述欄は結局ほとんど読めていない」という方にたくさんお会いしてきました。とてももったいないことです。自由記述には、選択肢では拾えない生の声が詰まっています。テキストマイニングを知っていると、この眠っている情報を研究や学習に活かせるようになります。
テキストマイニングの本質は「文章を数えられる形にすること」。一度数えられる形になれば、頻度の集計もクロス集計も、その先の統計分析も使えるようになります。
なぜ文章はそのままでは統計的に扱えないのか
「文章だって、コンピュータに読ませればなんとかなるのでは?」と思うかもしれません。ところが、文章データには数値データと決定的に違う性質があります。
数値データは、最初から「構造化」されています。たとえば20人分のテストの点数は、20個の数値がきれいに並んだ表になっていて、どの値とどの値を比べればよいかが明確です。一方、自由記述の文章は長さも書き方も人それぞれで、決まった形がありません。このようなデータを「非構造化データ」と呼びます。
たとえば、授業アンケートに次の2つの回答があったとします。
- 「先生の説明がとてもわかりやすかったです」
- 「説明はわかりやすいが、スライドの文字が小さい」
人間が読めば、どちらも「説明のわかりやすさ」に触れていて、2つめはスライドへの注文つきだ、とすぐにわかります。しかしコンピュータにとって、この2つはただの長さの違う文字の列にすぎません。比べることも、数えることもできないのです。
そこでテキストマイニングでは、文章をいったん単語のレベルまで分解し、「どの単語が」「何回」「どの単語と一緒に」現れたかという、数えられる情報に変換します。この変換の入口になるのが、次の章で説明する形態素解析です。
形態素解析——文章を単語に分ける
形態素解析とは、文章を意味を持つ最小単位(単語)に分割し、それぞれの品詞を判定する処理です。テキストマイニングの最初の関門であり、いちばん重要な土台でもあります。
英語の文章は単語と単語の間にスペースがあるので、分割は比較的簡単です。ところが日本語は、単語が切れ目なくつながって書かれます。「すもももももももものうち」をどこで区切るか——人間でも一瞬迷いますよね。日本語のテキストマイニングでは、辞書と文法規則を使って、この区切りをコンピュータに判定させます。
たとえば「先生の説明がわかりやすかった」を形態素解析すると、次のように分割されます。
| 単語 | 品詞 | 備考 |
|---|---|---|
| 先生 | 名詞 | 分析でよく使う |
| の | 助詞 | 通常は分析から除外(ストップワード) |
| 説明 | 名詞 | 分析でよく使う |
| が | 助詞 | 通常は分析から除外 |
| わかりやすい | 形容詞 | 「わかりやすかった」は原形に直して数える |
表の最後の行に注目してください。「わかりやすかった」という過去形は、原形の「わかりやすい」に直してから数えます。こうしないと、「わかりやすい」「わかりやすく」「わかりやすかった」が別々の単語として数えられてしまい、頻度が分散してしまうからです。
また、形態素解析の精度は辞書に大きく左右されます。たとえば専門用語や固有名詞(「分散分析」「オープンキャンパス」など)が辞書に載っていないと、「分散」と「分析」にバラバラに分割されてしまうことがあります。多くのツールでは、自分で単語を辞書に登録して、こうした分割ミスを防げるようになっています。
形態素解析は「日本語を数えられるようにする」ための心臓部。分析結果がしっくりこないときは、まず単語の分割が適切か(専門用語が変なところで切れていないか)を確認しましょう。
出現頻度の集計とストップワード・表記ゆれ
文章が単語に分割できたら、次は出現頻度の集計です。どの単語が何回登場したかを数えるだけですが、ここに2つの大切な下ごしらえがあります。
ストップワード——数えても意味のない語を外す
そのまま頻度を数えると、上位に並ぶのは「の」「が」「です」「する」「こと」のような語ばかりになります。これらはどんな文章にも現れるため、数えても内容の特徴は見えてきません。このように「数えても内容の特徴が見えない語」を分析から除外する仕組みをストップワードと呼びます。一般には助詞・助動詞や、「こと」「もの」のような一般的すぎる名詞をストップワードに指定します。何をストップワードにするかは分析の目的によって変わるため、結果を見ながら調整していきます。
表記ゆれ——同じ意味の言葉を1つにまとめる
日本語には、同じ意味を複数の書き方で表せるという特徴があります。「わかりやすい」と「分かりやすい」、「レポート」と「レポ」、「先生」と「教員」——これらが別々に数えられると、本当はよく使われている言葉の頻度が分散して、見落としにつながります。これを表記ゆれと呼び、同義語をまとめる辞書を作って統一します。
地味な作業に見えますが、私の経験では、テキストマイニングの結果の質は、この前処理の丁寧さでほぼ決まります。「分析ボタンを押す前の下ごしらえが本番」と覚えておいてください。
共起と共起ネットワーク——「一緒に使われる言葉」を見る
共起とは、2つの単語が同じ文や同じ回答の中で一緒に使われることを指します。単語の頻度だけでは「何がよく話題になったか」しかわかりませんが、共起を見ると「その話題がどう語られたか」が見えてきます。
たとえば授業アンケートで「課題」という単語が頻出していたとします。それだけでは、課題が好評なのか不評なのかわかりません。しかし共起を調べて、「課題」が「多い」「大変」と一緒に使われがちなのか、「力がつく」「楽しい」と一緒に使われがちなのかがわかれば、解釈は大きく変わりますよね。
共起の強さは、単純な「一緒に出た回数」だけでなく、それぞれの単語の出現数を考慮した指標(Jaccard係数など)で測るのが一般的です。そして、単語を点、共起の強さを線で表した図が共起ネットワークです。
共起ネットワークを読むときは、太い線(強いつながり)から順に、「このつながりは原文ではどんな文だったのか」を確かめながら解釈していきます。図だけを眺めて想像で解釈をふくらませないことが大切です。
ワードクラウドなどの可視化と、読み方の注意
ワードクラウドとは、出現頻度の高い単語ほど大きな文字で表示する可視化手法です。全体の雰囲気がひと目で伝わるため、レポートや発表資料の冒頭で「データの顔」を見せる用途にとても向いています。
ただし、見た目のインパクトが強いぶん、読み方には注意が必要です。
- 頻度が高い=重要、とは限らない。質問文に含まれる言葉(「授業」について尋ねれば「授業」が頻出します)や、当たり前すぎる言葉が大きく表示されがちです。
- 否定表現が消える。「わかりやすくない」という回答も、単語に分解すると「わかりやすい」としてカウントされることがあります。肯定・否定の文脈は、単語の頻度だけでは判別できません。
- 少数だが重要な意見が埋もれる。たった1人の回答でも、研究上は重要な指摘である場合があります。頻度ベースの可視化は、多数派の意見を映す鏡だと理解しておきましょう。
このほか、頻度の上位語を棒グラフにしたり、回答者の属性(学年・性別など)と単語のクロス集計表を作ったりする方法もよく使われます。クロス集計をすれば、「『課題が多い』と書いたのは主にどの学年か」のような属性別の傾向まで踏み込めます。カテゴリ同士の偏りの検定にはカイ二乗検定が使えます。テキストを数えられる形にした時点で、ふつうの統計の道具箱がそのまま使えるようになるわけです。
テキストマイニングの進め方【4ステップ】
ここまでの内容を、実際の分析の流れとして整理します。テキストマイニングは、次の4ステップで進めるのが基本です。
ステップ1:目的を決めて、テキストを集める
「何を知りたいのか」を1文にしてから始めます(例:受講者は授業のどこに満足し、どこに不満を持っているか)。そのうえで、自由記述の回答をExcelなどの表形式に整理します。1行=1回答者とし、学年・性別などの属性列も一緒に持っておくと、後で属性別の分析ができます。
ステップ2:前処理を行う(形態素解析・ストップワード・表記ゆれ)
ツールに読み込んで形態素解析を実行し、単語への分割結果を確認します。専門用語が変なところで切れていたら辞書に登録し、助詞などのストップワードを除外し、表記ゆれ(「分かりやすい/わかりやすい」など)を統一します。結果の質を決める、いちばん大切なステップです。
ステップ3:集計・可視化する(頻度・共起・属性とのクロス)
単語の出現頻度を集計し、ワードクラウドや頻度の棒グラフで全体像をつかみます。続いて共起ネットワークで「一緒に使われる言葉」のつながりを確認し、属性(学年など)とのクロス集計で、グループごとの傾向の違いを見ます。
ステップ4:原文に戻って解釈し、報告する
気になった単語やつながりは、必ず元の回答文を読み直して文脈を確かめます。そのうえで、「どの単語が・どれくらい・どう使われていたか」を図表と原文の引用を組み合わせて報告します。可視化の図だけを貼って終わりにせず、原文の具体例を添えると説得力がぐっと増します。
4ステップのうち、初学者が軽視しがちで実は勝負どころなのが「ステップ2:前処理」と「ステップ4:原文に戻る」。ボタンを押せば図は出ますが、信頼できる解釈はこの2つの丁寧さから生まれます。
テキストマイニングでできること・できないこと
テキストマイニングは、定性的な(質的な)データを定量的に扱えるようにする強力な方法ですが、万能ではありません。できること・できないことを正直に整理しておきます。
| できること | 苦手なこと・できないこと |
|---|---|
| 大量の文章の全体傾向を短時間で把握する | 1件1件の回答の深い意味を理解する(精読の代わりにはならない) |
| 頻出する話題・言葉の組み合わせを客観的な数値で示す | 皮肉・反語・行間のニュアンスをくみ取る |
| 属性ごとの語られ方の違いを比較する | 文脈の肯定・否定を頻度だけから正確に判別する |
| 人の目では気づきにくい意外な言葉のつながりを発見する | 「なぜそう書いたのか」という理由の特定 |
つまり、テキストマイニングは「読むこと」を置き換える道具ではなく、どこを重点的に読むべきかを教えてくれる地図です。地図で全体を見渡し、気になる場所は自分の足で歩く(原文を読む)。定量と定性を往復するこの使い方が、いちばん実りが大きいと私は考えています。
テキストマイニングを行うツール
テキストマイニングには専用のツールを使うのが現実的です。形態素解析・辞書管理・共起ネットワークなどを自力でプログラミングするのは、初学者にはかなり負担が大きいからです。
当社では、SPSS上で日本語テキストマイニングを行うためのアドオン「Text Coder X for SPSS」を提供しています。自由記述などの文章データに対して形態素解析・辞書管理・コーディング(カテゴリ化)を行い、その結果を数量データとしてSPSS Statisticsに渡せるため、アンケートの自由記述を既存の量的データ(属性や尺度得点)と統合して分析できます。「自由記述を定量化して、クロス集計や多変量解析につなげたい」という量的研究のニーズにフィットします。
より大規模なデータや、予測モデルとの組み合わせまで視野に入れる場合は、データマイニングツールIBM SPSS Modelerのテキスト分析機能という選択肢もあります。研究のアンケート自由記述をSPSS上で定量化・分析するなら Text Coder X for SPSS、組織での大規模運用や予測モデル連携なら Modeler、という目安で考えるとよいでしょう。
関連分析手法・関連ページ
テキストマイニングと関連の深い分析手法・ページを以下にまとめます。あわせてご活用ください。
- データマイニングとは? — 大量データからパターンを見つける、より広い枠組み。テキストマイニングはその文章版です。
- カイ二乗検定とは? — 単語の出現と属性のクロス集計の偏りを検定できます。
- 相関分析とは? — 数値化したあとの変数同士の関係を調べる基本手法です。
- Text Coder X for SPSS — SPSSで日本語の自由記述を定量化・コーディングできるアドオン。機能と提供価格のご案内。
- IBM SPSS Modeler — テキスト分析機能も持つデータマイニングツール。本格運用向け。
- 分析手法で選ぶSPSS製品 — やりたい分析からSPSS製品を選べる一覧。
つまずきやすいポイントと注意点
テキストマイニングでつまずきやすいポイントを、ここで整理しておきます。
1. 前処理を飛ばして分析ボタンを押す。ストップワードの除外や表記ゆれの統一をせずに集計すると、「の」「こと」が上位に並んだり、同じ意味の言葉の頻度が分散したりして、結果がぼやけます。前処理は遠回りに見えて、いちばんの近道です。
2. 頻度の高い単語だけで結論を書く。質問文に含まれる言葉や一般的な言葉は、内容にかかわらず頻出します。頻度に加えて、共起(どんな言葉と一緒に使われたか)と原文の文脈を必ず確認しましょう。
3. 可視化の図を貼って満足してしまう。ワードクラウドや共起ネットワークは「問いを見つける」ための道具で、それ自体は結論ではありません。図から読み取った仮説を、原文の引用やクロス集計で裏づけるところまでがレポートです。
4. 否定表現・皮肉を見落とす。「わかりやすくない」「楽しいとは言えない」のような表現は、単語の頻度上は肯定語としてカウントされがちです。評価に関わる重要な単語ほど、原文での使われ方を確かめてください。
5. データが少なすぎるのに数値だけで語る。自由記述が数十件程度なら、まず全部読むほうが確実です。テキストマイニングの強みが活きるのは、人の目で読み切れない数百件以上の規模からだと考えておきましょう。

