企業には、問い合わせメール、アンケートの自由記述欄、営業日報、チャットログなど、日々膨大なテキストデータが蓄積されています。しかし、これらは数値のように集計できる形になっていないため、多くの企業で分析対象から外されています。結果として、顧客が本当に不満に感じていること、現場が繰り返し報告している課題、競合に流出しそうな兆候といった重要な情報が埋もれたまま放置されています。テキストデータを読み込んで手作業で分類する方法では、月に数百件が限界であり、数千件以上のデータを扱う現場では現実的ではありません。
この記事は、従業員50〜500名規模の企業で、顧客対応データやアンケート結果の活用を任されているマーケティング担当者、カスタマーサクセス担当者、あるいは経営企画や情報システム部門の方を想定しています。読み終えると、散在するテキストデータを自動で分類・感情分析し、BIダッシュボードで可視化するまでの一連のワークフローを自社で構築できるようになります。大規模エンタープライズ向けの全社データ基盤構築や、自然言語処理モデルの独自開発については扱いません。
なお、本記事で紹介するツールの組み合わせは代表的な一例です。同じ役割を果たす別の製品でも、同様のワークフローを構築できます。
読み終えた時点で、テキストデータの収集からカテゴリ分類・感情スコア付与・ダッシュボード表示までの具体的な手順と設定方針が手元に揃い、すぐに小規模な検証を開始できる状態になります。
Workflow at a glance: 顧客の声や営業日報などのテキストデータを分析可能にして意思決定に活かす方法
売上金額や受注件数のような数値データは、そのまま合計や平均を出せます。一方、テキストデータは1件ごとに表現が異なり、同じ不満でも書き方が人によってバラバラです。たとえば、納期遅延への不満は、ある人は「届くのが遅い」と書き、別の人は「予定日を過ぎても届かなかった」と書きます。これを同じカテゴリとして集計するには、まず人間が読んで判断し、分類ラベルを付ける必要があります。この手作業が、テキストデータ活用の最大のボトルネックです。
多くの企業では、四半期に一度、担当者がアンケート結果を読み込んでExcelにまとめるという運用をしています。しかし、この方法には3つの問題があります。まず、分類基準が担当者の主観に依存するため、人が変わると結果が変わります。次に、処理できる件数に上限があり、月に500件を超えると現実的に回りません。最後に、集計結果が出るまでに数週間かかるため、問題が深刻化してから初めて気づくことになります。この遅延が繰り返されると、現場はテキストデータの分析自体を諦め、数値データだけで意思決定する習慣が定着します。
テキストデータを分析しないということは、顧客が言葉で伝えてくれている改善ヒントを無視しているのと同じです。競合他社が同じデータを活用して製品改善やサービス改善を進めている場合、気づかないうちに顧客満足度で差をつけられます。また、営業日報に繰り返し登場する失注理由や競合情報も、テキストのまま放置すれば経営判断に反映されません。
テキスト分析と聞くと、AIが文章の意味を完全に理解して高度な洞察を出すイメージを持つ方が多いですが、実務で最も効果が高いのは、もっとシンプルなアプローチです。それは、テキストをあらかじめ決めたカテゴリに振り分け、感情のポジティブ・ネガティブを判定し、その件数の推移を追うことです。
経営やマーケティングの意思決定に必要なのは、個々のテキストの深い理解ではなく、全体の傾向です。たとえば、先月と比べて納期に関する不満が30%増えたという事実は、個別のコメントを100件読むよりも強い意思決定の根拠になります。分類カテゴリは最初から完璧である必要はなく、5〜10個の大分類から始めて、運用しながら調整すれば十分です。
従来のテキスト分析では、専用の機械学習モデルを構築する必要がありました。しかし現在は、OpenAI APIのようなLLM(大規模言語モデル)のAPIを使えば、プロンプト(指示文)を書くだけでテキスト分類と感情分析を実行できます。モデルの学習やチューニングは不要で、分類カテゴリの変更もプロンプトを書き換えるだけで対応できます。この柔軟性が、専門知識のないチームでもテキスト分析を始められる最大の理由です。
このワークフローは、週次で実行することを想定しています。初回のセットアップに半日〜1日、その後の運用は週あたり30分程度です。
まず、分析対象のテキストデータを一箇所に集めます。顧客の問い合わせデータがZendeskやGoogleフォームに、営業日報がGoogle スプレッドシートやkintoneに散在しているケースが一般的です。Troccoを使い、これらのデータソースからテキストデータを定期的に抽出し、Google BigQueryのテーブルに格納します。
具体的には、Troccoで以下の設定を行います。データソースごとに転送ジョブを作成し、テキスト本文、投稿日時、データソース名(問い合わせ/アンケート/営業日報など)の3列を最低限含むテーブルに統一します。転送スケジュールは週次(毎週月曜の早朝など)に設定します。重複排除のため、元データの一意なIDをキーとして設定し、同じデータが二重に取り込まれないようにします。
この段階で重要なのは、テキストの中身には手を加えないことです。誤字脱字の修正や表記統一は不要です。後続のLLMが文脈から判断できるため、前処理に時間をかける必要はありません。
Google BigQueryに蓄積されたテキストデータに対して、OpenAI APIを使って分類と感情分析を行います。Troccoのデータマート機能やGoogle BigQueryのスケジュールクエリと組み合わせて、Python スクリプトを定期実行する方法が現実的です。
プロンプトの設計が最も重要な工程です。以下のような指示をOpenAI APIに送ります。
プロンプトには、各カテゴリの定義と具体例を含めます。たとえば、納期カテゴリには「配送の遅延、届くまでの時間、納品日に関する言及を含むもの」と定義し、「届くのが遅かった」「予定日を過ぎた」などの例文を添えます。これにより、分類精度が大幅に向上します。
処理結果はJSON形式で受け取り、元のテキストデータと紐づけてGoogle BigQueryの分析用テーブルに書き戻します。週次で数千件程度であれば、OpenAI APIのgpt-4o-miniモデルを使うことでコストを抑えられます。1件あたりの処理時間は1〜2秒程度で、1,000件でも30分以内に完了します。
分類精度の検証は、最初の1〜2週間は必ず行ってください。100件程度をランダムに抽出し、人間の判断と比較して80%以上の一致率があれば実用に耐えます。一致率が低い場合は、プロンプトのカテゴリ定義や例文を修正します。
Google BigQueryの分析用テーブルをLooker Studioに接続し、テキストデータの傾向を可視化するダッシュボードを作成します。Looker StudioはGoogle BigQueryとの接続がネイティブに用意されているため、設定は数クリックで完了します。
ダッシュボードには、最低限以下の3つのグラフを配置します。
1つ目は、カテゴリ別の件数推移です。横軸を週、縦軸を件数とした折れ線グラフで、どのカテゴリの声が増減しているかを一目で把握できます。2つ目は、カテゴリ別の感情スコア平均です。棒グラフで表示し、どのカテゴリで不満が強いかを可視化します。3つ目は、感情スコアが特に低い(-0.5以下など)テキストの一覧表です。これにより、具体的にどのような声が問題になっているかを、ダッシュボードから直接確認できます。
フィルターとして、データソース(問い合わせ/アンケート/営業日報)と期間を設定しておくと、用途に応じた切り口で分析できます。このダッシュボードのURLを関係者に共有し、週次の定例会議で確認する運用にすると、テキストデータに基づく意思決定が自然に定着します。
テキストデータが1つのシステムにまとまっていることはまれで、問い合わせ管理ツール、アンケートツール、社内の業務システムなど複数のソースに分散しているのが現実です。Troccoは日本企業で一般的に使われるサービスとの接続コネクタを豊富に備えており、ノーコードでデータ転送の設定ができます。スケジュール実行と重複排除の機能があるため、週次の定期収集を安定して運用できます。一方、Trocco自体にはテキスト分析の機能はないため、あくまでデータを集めて整える役割に特化しています。コスト面では月額課金のため、転送するデータソースの数が増えると費用も増加する点は事前に確認が必要です。
従来のテキスト分析では、学習データの準備とモデル構築に数ヶ月かかることが一般的でした。OpenAI APIを使えば、プロンプトを書くだけで分類と感情分析を即日開始できます。カテゴリの追加や変更もプロンプトの修正だけで対応でき、ビジネス状況の変化に素早く追従できます。弱みとしては、APIにテキストデータを送信するため、個人情報や機密情報を含むデータの取り扱いには注意が必要です。OpenAIのデータ利用ポリシーを確認し、必要に応じてAPI利用時のデータ保持をオフにする設定を行ってください。また、大量のデータを処理する場合はAPI利用料が積み上がるため、まずはgpt-4o-miniで運用し、精度が不足する場合のみ上位モデルに切り替えるのが現実的です。
分析結果がGoogle BigQueryのテーブルに入っていても、SQLを書ける人しかデータを見られないのでは意味がありません。Looker StudioはGoogleアカウントがあれば無料で使え、Google BigQueryとの接続も簡単です。URLを共有するだけで、SQLを書けない経営層やマーケティング担当者もリアルタイムにデータを確認できます。弱みとしては、高度なデータ加工や複雑な計算はLooker Studio上では限界があるため、集計ロジックはGoogle BigQuery側で事前に処理しておく設計が重要です。
| Tool | Role | Pricing | Implementation time | Notes |
|---|---|---|---|---|
| Trocco | 複数データソースからのテキストデータ収集・転送 | 月額課金 | 半日〜1日 | Google BigQueryへの転送ジョブを作成し、週次スケジュールで自動実行する。接続コネクタの対応状況を事前に確認すること。 |
| OpenAI API | テキストのカテゴリ分類と感情分析 | 従量課金 | 半日 | gpt-4o-miniモデルを使用し、プロンプトにカテゴリ定義と例文を含める。個人情報を含むデータの送信ポリシーを事前に確認すること。 |
| Looker Studio | 分類結果の可視化と関係者への共有 | 無料枠あり | 2〜3時間 | Google BigQueryとネイティブ接続し、カテゴリ別件数推移・感情スコア・低スコアテキスト一覧の3つのグラフを配置する。 |
テキストデータの分析は、完璧な仕組みを最初から作ろうとすると挫折します。まずは1つのデータソース(たとえば直近3ヶ月分の問い合わせデータ)から100件を抽出し、OpenAI APIで分類してみてください。分類結果を確認し、プロンプトを2〜3回調整すれば、実用的な精度に到達します。
その結果をLooker Studioで可視化し、週次の会議で1回使ってみることが、最小の次のステップです。テキストデータが数字になって見える体験を一度すると、他のデータソースも同じ仕組みに載せたいという要望が自然に生まれます。そこから段階的に拡張していくのが、最も確実な進め方です。
Mentioned apps: ChatGPT, trocco, Looker Studio
Related categories: BIツール, LLM・大規模言語モデル
Related stack guides: 監査時にガイドライン対応の証跡をすぐ提出できる体制を4つのツールで構築する方法, KPI改善と現場の不満が食い違うとき定量データと定性フィードバックを統合して施策の真の効果を判断する方法, AIエージェントの開発データと本番データの乖離を防ぎ精度低下と手戻りをなくす方法, AIの判断結果を人が検証・承認してから業務に反映する仕組みをつくり誤判定トラブルを防ぐ方法, マスタデータの重複登録を登録時点で防ぎ請求ミスと在庫差異をなくす方法
サービスカテゴリ
AI・エージェント
ソフトウェア(Saas)