自由記述アンケートのテキスト分析 Part 1：文章の単語化とワードクラウドを使った可視化

![p1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/26498bd9-308a-2ca3-222e-5be2de9117c6.png)


# 自由記述アンケートのテキスト分析 Part 1：文章の単語化とワードクラウドを使った可視化


どうも！[Exploratory](https://ja.exploratory.io/?utm_campaign=survey_tokenize&utm_medium=blog&utm_source=qiita)の[Ikuya](https://twitter.com/Ikuyamm)です。

みなさんも自由記述の回答の入ったアンケートを実施することはありませんか。実はこういった回答は読んで終わりではなく、テキストデータとして定量的に分析するための宝の山だったりします。

今日はそんな自由記述の文章を単語に分け、集計、可視化することで、どんな言葉がよく使われているのかを簡単に分析する方法を紹介します。


- Part2：アンケートでよく出現する単語の組み合わせを調べる - [Link](https://qiita.com/IkuyaM/items/e4fbc5e4c9b29d044508)

# 自由記述のテキストを分析するステップ

今回は[Exploratory](https://ja.exploratory.io/?utm_campaign=survey_tokenize&utm_medium=blog&utm_source=qiita)を使って、以下の3ステップに沿って説明していきます。

1. データを取得する
2. 文章を単語化する
3. 単語化した文章をワードクラウドで可視化する

# 1. データを取得する

ExploratoryはExcel・データベースなど[様々なソース](https://exploratory.io/datasource)からデータの取得が可能ですが、私達もアンケートを取る時によく使う、[Googleフォーム](https://www.google.com/intl/ja_jp/forms/about/)からも直接データを取ってくることができます。

ここでは、Googleフォームからのデータの取得について説明します。


![p2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/7f9993c8-c83b-32fe-077c-78e5772b180b.png)


まずは、Googleフォームで集めた回答結果をGoogle Sheetsにエクスポートします。

一度Google Sheetsにデータをエクスポートできれば後は、直接データを取得するだけです。


![p3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/ff1bce15-dd30-b7e1-fced-9d0dd9de09db.png)


- Google Sheetsのデータをインポートする方法 - [Link](https://exploratory.io/note/BWz1Bar4JF/Google-Sheets-Nnk4xUD2bI)

Google Sheetsのデータを直接取得するために、まずは「クラウドアプリケーションデータ」を選択します。


![p4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/e12a844f-2dd3-4179-a236-b354e4cd3330.png)


続いてクラウドアプリケーション・データソースからGoogle Sheetsを選択します。


![p5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/3dc0b11c-316e-5f8d-0eb0-69c162c6827c.png)


するとインポートダイアログが表示されるので、シート名を選択します。


![p6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/e297dd42-2957-07d2-4ea5-c5aa829d09c5.png)


次にシートに含まれるワークシートの候補が表示されるので、インポートしたいワークシートを選択します。


![p7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/128f384b-e1fe-b4a0-7e1a-e4981d357f9f.png)


するとデータがプレビュー画面に表示されるので「保存」ボタンをクリックして、データをインポートします。


![p8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/ec556de1-1dcd-1b11-322a-bff83f63b0ce.png)


これでデータの取得は完了です。

![p9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/0d37c972-7fa8-7f31-1278-f2b8ed35cf14.png)


テーブル・ビューに移動するとデータが、以下のように1回答者ごとに1行のデータになっていることが分かります。

![p10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/38c7f5ae-4203-1de5-18d9-cc6f269f00fd.png)


# 2. 文章を単語化する

今回は自由記述の項目でどのような単語が多く使われているのかを理解して、セミナーの改善ポイントを探していきます。

![p11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/0475c93d-35e6-79c5-696c-1b69636bca60.png)


まずは「文章を単語に分ける」ことから始めていきます。

「本セミナーをよりよくするための提案を1つ挙げるとすればなんでしょうか？」という質問の列ヘッダーメニューから「テキストデータの加工（UI）」、「文章の単語化（日本語化）」を選択します。


![p12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/83c19589-9ec3-0da4-7bea-89c28b71df5a.png)


すると「文章の単語化（日本語）」ダイアログが表示されるので、ストップワードを取り除くに「はい」、ストップワードの言語に「日本語」、ひらがなのみの単語を除くに「2文字以下」を選択し、実行します。

なおストップワードは、あまりに一般的な「は」「の」「です」といった、意味をなさない言葉の総称です。


![p13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/6f6eb743-1475-8648-9db3-4d4c6d3d88cc.png)


すると以下のように文章が単語に分かれます。

![p14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/acfe7106-7027-800c-e4dd-945e18fcd895.png)


各々の列は以下の意味を表しています。

- token …文章を単語に分解したもの
- count…一つの文章の中でtokenが登場した回数
- document_id…文章ごとにユニークなID

サマリ・ビューに移動すると、「もっと」、「ほしい」といった言葉が多く使われていることが分かります。


![p15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/9e815792-aca1-43bb-d2bb-e837dbe41e69.png)


せっかくなので、ストップワードを含むケースも見てみましょう。先ほどのステップに戻って、「文章の単語化（日本語）」のステップの中にある、トークンをクリックします。すると先ほどの「文章の単語化（日本語）」ダイアログが再度表示されるので、今度はストップワードを取り除くに「いいえ」を選択し、実行します。


![p16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/d5f92d03-a112-5635-e018-3556333ca87d.png)


すると「時間」というtokenが増えていることが分かります。今回はセミナーに関する回答を扱っているので、「時間」という単語が含まれても問題ないと判断し、このまま、可視化まで進んでいきます。


![p17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/1cb89cdd-e814-6fd9-f19e-7814eb75d16a.png)



# 3. 単語化した文章を ワードクラウドで可視化する

それでは、実際にどのような単語が多く使われているかを可視化していきます。チャート・ビューに移動して、タイプに「ワードクラウド」、単語に「token」、色で分割に「count」を選択します。


![p18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/91fa70eb-5746-5a1f-2916-d05fdf202ac9.png)


続いて色で分割の集計関数に「合計値（sum）」を選択します。


![p19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/4462ca31-03c9-3dbb-11c6-b027a420068b.png)


すると以下のように、いくつかの単語しか可視化されないということがあります。


![p20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/e91b06e9-b414-7f8a-2873-72ee0624ee8b.png)


これはワードクラウドがデフォルトで「8」回以上、出現した単語を可視化するためです。そこで今回のようにデータが少ない場合は単語の最小頻度を変更します。

プロパティから単語の最小頻度を「2」に設定します。


![p21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/add8ad4a-b2e7-9a1a-738b-96fa1b26fa98.png)


すると以下のように単語の出現回数が文字の大きさと色によって可視化されました。どのような単語がよく使われているのかが、直感的にわかるようになりました。


![p22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/dfe108a0-ccbd-dc4e-3fd5-616b76bd8853.png)


これだけを見ると、「もっと時間がほしい」という回答が多かったのかもしれません。

しかし、それぞれの単語の出現回数だけでは、例えば、「デモ」が「ほしい」のか、「時間」が「ほしい」のか、または「事例」が「ほしい」のかがわかりません。

そういった問題に答えるために、よく一緒に使われる単語の組み合わせごとに頻出回数を集計したりするのですが、そちらはパート2で説明します！

- Part2：アンケートでよく出現する単語の組み合わせを調べる - [Link](https://qiita.com/IkuyaM/items/e4fbc5e4c9b29d044508)


# 自分のデータで実際に試してみる

[Exploratory](https://ja.exploratory.io/?utm_campaign=survey_tokenize&utm_medium=blog&utm_source=qiita)では30日間、無料でトライアルができます。実際に自分達のデータを使って試してみたい方は下記より無料トライアルをご利用ください！

![p23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/226318/cd3f965e-04ad-772a-6ae2-50b2e019eead.png)