テキストマイニング
テキストマイニングとは。手法とやり方、無料でできる範囲
アンケートの自由記述、問い合わせ、商談の会話。数えられない形で溜まっていく文章から、傾向を取り出す方法を整理します。
更新日:
執筆・運営:Klang AI AB
BASICS
テキストマイニングとは
文章を単語や文の単位に分解し、出現のしかたや結びつきを数えることで、読み切れない量のテキストから傾向を取り出す手法です。
売上や件数のように最初から数字で記録されるデータは、集計すればすぐ比較できます。一方で、アンケートの自由記述や問い合わせの本文、会議での発言は、そのままでは数えられません。テキストマイニングは、この「数えられないデータ」を数えられる形に変える作業だと考えると分かりやすくなります。
目的は、文章を読む作業をなくすことではありません。どこを読むべきかを決めることです。1,000件の自由記述のうち、どの100件を実際に読むかを絞り込むための道具として使うと、いちばん無駄がありません。
なお、自然言語処理(NLP)はテキストを扱う技術全般を指す言葉で、テキストマイニングはその技術を使って傾向を見つける活動を指します。近年は大規模言語モデルによる要約や分類も選択肢に加わり、従来の形態素解析だけに頼らない進め方が増えています。
METHODS
主な分析手法
手法はいくつもありますが、実務で使うものは限られます。まずはこの6つを押さえておけば足ります。
形態素解析
日本語は英語と違って単語が空白で区切られていないため、まず文を単語に分解します。ほとんどの分析の前提になる処理です。
頻出語の集計
よく出てくる語を数えます。最初に見る指標ですが、これだけで結論を出すと誤読につながります。
共起分析
どの語とどの語が同じ文・同じ回答に一緒に出るかを見ます。「価格」が「高い」と出るのか「わかりにくい」と出るのかで、意味はまったく変わります。
特徴語の抽出(TF-IDF)
どの文書にも出る一般的な語を薄め、その集団に特徴的な語を浮かび上がらせます。「ありがとうございます」のような定型句に埋もれないために使います。
感情分析
肯定・否定といった極性を判定します。日本語では皮肉や婉曲表現の扱いが難しく、単独では使いにくい指標です。
クラスタリング・分類
似た内容をまとめて、いくつかの塊に分けます。分類の軸をあらかじめ決めておく方法と、データから塊を見つける方法があります。
DATA
何を分析できるか
社内に溜まっているテキストのうち、分析の価値が高いのは「本人がわざわざ書いた/話した」ものです。
| データ | 量 | 向いている問い | 注意点 |
|---|---|---|---|
| アンケートの自由記述 | 多い | 満足・不満の理由 | 設問の書き方に回答が引きずられる |
| 問い合わせ・サポート履歴 | 多い | つまずく箇所、不具合の兆候 | 困った人だけが書くため偏る |
| レビュー・SNS | 多い | 市場での受け止められ方 | 発信する層が限られる |
| 商談・顧客との通話 | 中 | 反論、購買の判断材料 | 文字起こしが前提になる |
| ユーザーインタビュー | 少ない | 行動の理由、背景 | 件数が少なく統計的には扱えない |
| 社内会議 | 中 | 繰り返し止まっている論点 | 発言者の立場を考慮する必要がある |
HOW TO
やり方の5ステップ
ツールを開く前に目的を決めておくかどうかで、結果の使えるかどうかがほぼ決まります。
- 01
何を知りたいかを1文で書く
「顧客の声を分析する」では広すぎます。「解約した顧客が、解約前の3か月に何を問題にしていたか」のように、答えが行動につながる形まで絞ります。
- 02
データを集めて範囲を決める
期間、対象者、件数を決めます。比較したい軸(新規と既存、契約前と契約後など)がある場合は、この時点で分けられる形にしておきます。
- 03
前処理をする
表記ゆれ(「解約」「退会」「キャンセル」)をまとめ、定型の挨拶や署名を除きます。この作業の丁寧さが結果の質をいちばん左右します。
- 04
分析して、仮説を立てる
頻出語だけでなく共起関係まで見ます。ここで出るのは仮説であって結論ではありません。
- 05
元の文章に戻って確かめる
仮説に合う回答と合わない回答の両方を、実際に読みます。この確認を飛ばした分析は、見たいものを見ただけになります。
FREE
無料でできる範囲
最初から有料のツールを入れる必要はありません。件数が数百件までなら、手元の道具で十分に試せます。
無料の範囲で足りなくなるのは、件数が増えたときよりも「継続的に見たくなったとき」です。一度きりの分析は手作業でも終わりますが、毎週・毎月くり返すとなると、集める・整えるの部分が負担になります。
Excel・Googleスプレッドシート
分類のタグを手で付けてピボットで集計する方法です。件数が少なく、分類の軸が決まっているならこれがいちばん確実です。
無料のテキストマイニングツール
貼り付けるだけで頻出語や共起を図示してくれるツールがあります。まず傾向を眺めたいときに向きます。
生成AIに分類させる
分類の観点を指示して、回答を仕分けさせる方法です。速い一方で、判断の根拠を必ず元の文章で確認する必要があります。
PITFALLS
結果を誤読しないために
テキストマイニングでいちばん多い失敗は、分析そのものではなく解釈で起きます。
- 頻出語だけで判断しない。よく出る語は、たいてい話題の中心ではなく文の部品です。
- 母数を必ず添える。「価格への言及が30件」は、全体が50件なのか5,000件なのかで意味が逆になります。
- 出てこなかったことを「問題がない」と読まない。書かれなかった理由は、満足以外にもあります。
- 表記ゆれをまとめる前の集計を信じない。同じ意味の語がばらけたまま数えると、本当に多い論点が沈みます。
- 仮説に合わない回答こそ読む。合う回答だけを拾うと、分析ではなく裏づけ作業になります。
- 自由記述を書く人は偏る。強い不満と強い満足が集まりやすく、真ん中の意見は出てきません。
SPEECH
会話データを扱うとき
商談や会議、インタビューを対象にする場合は、分析の前に文字起こしという工程が入ります。ここでの精度が、後段のすべてに効いてきます。
話し言葉は書き言葉と性質が違います。言いよどみや相づちが多く、主語が省略され、同じことを言い換えながら話します。そのまま集計すると、意味のない語が上位を占めてしまうため、フィラーの除去や整文といった前処理が書き言葉以上に重要になります。
また、誰が言ったかを分けられるかどうかで、分析できることが変わります。商談の記録で「価格が高い」という発言があったとき、それが顧客の言葉なのか自社の営業担当の言葉なのかで、意味は正反対です。話者を分けた文字起こしが前提になります。
- 固有名詞(社名・製品名・業界用語)は事前に用語集へ登録しておくと、表記ゆれが大きく減ります。
- 録音と分析の目的は、参加者に先に伝えておきます。記録の扱いを決めてから始めるほうが、後で使える範囲が広がります。
- 件数が少ないインタビューは、統計ではなく定性分析の手順で扱うほうが適しています。
WORKED EXAMPLE
8件の自由記述で試す
以下は手順を説明するために作った架空データです。実際の顧客の声やKlangの分析結果ではありません。1行を1記録として数え、元の文章を残します。
| ID | 収集元 | 原文 |
|---|---|---|
| V01 | 問い合わせ | 初期設定が難しい。設定の説明が欲しい。 |
| V02 | 商談 | セットアップの案内が欲しい。 |
| V03 | 問い合わせ | 初期設定の担当が分からない。 |
| V04 | 問い合わせ | 設定中に招待メールが届かない。 |
| V05 | 商談 | 料金が高い。 |
| V06 | 商談 | 価格が分かりにくい。 |
| V07 | 問い合わせ | CSVの出力方法が分からない。 |
| V08 | アンケート | 操作が分かりやすい。 |
WORKED EXAMPLE
表記をそろえ、原文は別列に残す
この例では「設定」に関する記録を探します。表記の統一は分析用の列だけで行い、引用には原文を使います。
製品名や専門用語を無条件に分割しません。話者名・時刻は本文の集計から外しても、元記録に戻れる列として残します。除外した語と理由も保存してください。
フィラー:えー、設定が難しい → 設定が難しい
上の8件とは別の架空例です。話題の頻度だけを数える場合は「えー」を分析列から除けます。ためらいや話し方を調べる場合は残し、原文はどちらの場合も保存します。
話者ラベル:顧客A 00:12 設定が難しい → 設定が難しい
話者と時刻は本文から別列へ移します。「顧客A」と「00:12」は削除せず、発言の出典を確認したり、営業担当の発言と分けて数えたりできるようにします。
製品名:クラングで共有 → Klangで共有
同じ製品を指すと確認できた表記だけを辞書で統一します。引用には原文を使い、別の製品名や同名の一般語まで一括変換しないようにします。
| 原文の表記 | 分析用の表記 | 判断理由 |
|---|---|---|
| 初期設定 | 設定 | 今回の問いでは初回準備を同じ対象にする |
| セットアップ | 設定 | V02を設定の相談として扱う |
| 料金 | 価格 | 金額と説明の評価を同じ対象にする |
| 分からない | 分からない | 否定の意味が変わるため削除しない |
WORKED EXAMPLE
出現回数と、言及した記録数を分ける
前処理後の「設定」はV01に2回、V02・V03・V04に1回ずつあります。出現回数は5回、含まれる記録は4件です。
一人が何度も話した語を、その人数分の要望として扱わないようにします。実務では顧客IDの重複や収集経路を確認してから、どの単位で数えるか決めます。
| 数えるもの | 結果 | 意味 |
|---|---|---|
| 「設定」という語の出現 | 5回 | 同じ記録内の繰り返しも数える |
| 「設定」を含む記録 | 4件 / 8件 = 50% | この例題の半分の記録に登場 |
| 顧客全体の割合 | 算出しない | 回答者の抽出方法と重複が不明 |
WORKED EXAMPLE
無料ツールは、欲しい結果から選ぶ
頻出語の数が欲しいのか、原文の意味を分類したいのかで、準備と確認方法が変わります。
| 方法 | 入力と向いている作業 | 確認すること |
|---|---|---|
| Excel・スプレッドシート | 行ごとの文章と手動ラベルの集計 | 単語分割や意味の判断は別途必要 |
| KH Coder | 文章を読み込み、語や共起の傾向を調べる | 対応環境と導入手順は公式案内で確認 |
| 生成AIによる分類 | 文章と分類ルールからラベル候補を作る | 利用条件・費用・原文との一致を確認 |
会議と商談の会話を、読める形で溜めていく
Klangは録音と文字起こしから分析までを1つの流れにします。話者を分けた文字起こしを作り、複数の会議をまたいで質問できるため、テキストマイニングのための準備工程をそのまま省けます。
- 話者を自動で分けて文字起こし。誰の発言かが残ります。
- 用語集に社名・製品名を登録して、表記ゆれを抑えられます。
- 複数の会議をまとめて読み、繰り返し出る論点を定期的に届けられます。
よくある質問
テキストマイニングと自然言語処理の違いは何ですか。
自然言語処理は、テキストを機械で扱うための技術全般を指します。テキストマイニングは、その技術を使って大量の文章から傾向や関係を見つける活動を指します。技術と目的の関係だと考えると分かりやすくなります。
何件くらいから意味がありますか。
目的によります。傾向を統計的に見たいなら数百件以上が目安になりますが、数十件でも共起関係を見て仮説を立てる用途には使えます。件数が少ないときは、無理に数えるより定性分析の手順で丁寧に読むほうが得られるものが多くなります。
生成AIに任せれば、手法を知らなくてもよいのではありませんか。
分類や要約は任せられます。ただし何を軸に分けるか、結果をどう読むかは指示する側が決める必要があります。母数や偏りの扱いを理解していないと、もっともらしい結論が出てきたときに気づけません。
日本語は分析が難しいと聞きます。
単語が空白で区切られていないため、まず形態素解析が必要になる点が英語との大きな違いです。また敬語や婉曲表現が多く、否定の位置も文末に来るため、感情の判定は特に慎重に扱う必要があります。
会議の録音も分析の対象にできますか。
できます。ただし文字起こしが前提になり、話者を分けられるかどうかで分析できることが変わります。話し言葉特有の言いよどみを整理する前処理も必要です。