LoginSignup
5
1

More than 1 year has passed since last update.

Teams でアンケート (Forms) を作って結果を Power BI で可視化・共有する (2) キーフレーズ抽出

Last updated at Posted at 2022-11-30

この記事は Teams でアンケート (Forms) を作って結果を Power BI で可視化・共有する (1) の続きです。
前回の記事では Teams のチャネル内で Forms のアンケートを作成し、結果が格納される Excel ファイルを Power BI Desktop に取り込む方法を紹介しました。今回は回答を Power BI Desktop に取り込んだ後の、データの加工方法を紹介します。

Forms アンケートの回答は Excel にどう格納されるのか?

データを加工する前に、Forms のアンケート結果がどのようなルールで Excel に格納されるのかを簡単に説明します。

  • 最初の 5 つの列には、回答者 ID、各回答の開始時間と完了時間、各回答者の名前とメール アドレスが格納されます。
列名 データ
ID 回答を識別するID。1から連番が振られます。
Start time 回答の開始日時
Completion time 回答の終了日時
Email 組織向け記名式アンケートの場合にメールアドレスが入ります。それ以外は「Anonymous」となります。
Name 組織向け記名式アンケートの場合に氏名が入ります。それ以外は空欄です。
  • 後続の列 において、各質問文が列名になります。
  • 選択式の質問は、選択した回答の内容がセルに格納され、複数選択の場合には各回答がセミコロン「;」で区切られます。

Power BI では列名を使ってデータの加工手順を記録していくので、後から質問文を変更すると、列が見つからないためにエラーになることがあります。
後から質問文を変える必要がないようによく吟味して Forms アンケートを完成させてから Power BI に取り込むことをお勧めします。

Power BI Desktop の Text Analytics とは

Power BI Desktop の Power Query エディターでは「Text Analytics」というボタンがあります。
image.png
Text Analytics を使用することで、文章が格納されている列に対して次のことができます。

  • 言語検出
    何語の文章であるかを返します。日本語なら「ja」英語なら「en」という具合。
  • 感情分析
    文章のポジティブ/ネガティブを1~0の数値で返します。ポジティブなほど1に近くなります。残念ながら日本語は未サポートです (動作はします)。
  • キーフレーズ抽出
    文章に含まれるフレーズをカンマ「,」区切りで返し、さらに行に展開します。

カスタムビジュアルの「Word Cloud」だけで頻出単語の分析ができるのは、英語などのスペースで単語が区切られる言語のみとなります。日本語の文章は Word Cloud では分割してくれないので、Text Analytics でキーフレーズ抽出が必要です。

Text Analytics を含む「AI 分析情報」に関するドキュメントはこちらです。
Power BI Desktop で AI 分析情報を使用する

Text Analytics を含む「AI 分析情報」の使用には、Power BI サービスにサインインして Premium 機能が使用できる必要があります。組織で禁止されていなければ、Premium per user ライセンスの試用版でお試しできます。

Azure Cognitive Services にも Text Analytics と同様の機能があり、連携して使用することも可能です。こちらのドキュメントにその方法が記載されています。
チュートリアル: Power BI に保存されているテキストからキー フレーズを抽出する

アンケートの回答文からキーフレーズを抽出する

前置きがだいぶ長くなりましたが、ここから前回の作業の続きです。
Excel を読み込むと下図のように Power BI Desktop の画面右側「フィールド」ペインに Excel シートのヘッダー (列名) が表示されます。
image.png

Completion time, Start time は日付・時刻データ型なのでカレンダーのアイコン、ID は数値なので暗黙的な集計が定義され「Σ」(シグマ) のアイコンが付加されています。
Power BI Desktop のリボンメニューで [ホーム] → [データの変換] をクリックし、Power Query エディターを開きます。

まず、Power BI は不要な行や列を削除するのがパフォーマンス良く使うためにまずやるべきことですので、匿名のアンケートでは不要となる「Email」と「Name」の2つの列を削除します。列名を右クリックして[削除]でも良いですし、列名を選択した状態で Delete キーでも削除できます。
image.png

また、回答の1行目は自分でお試しで答えたものだったので、これも削除します。[ホーム] → [行の削除] → [上位の行の削除] で削除したい行数を入力します。
image.png
image.png

ここでやっとキーフレーズ抽出に進みます。
が、まずここで一工夫です。回答数が百件を超えてくると、そこから抽出されるフレーズの数も相当な数になります。そこでキーフレーズ抽出用に、もうひとつクエリを用意します。
「Table1」というクエリがありますが、これを参照する別のクエリを作って、そこでキーフレーズ抽出を行います。
クエリペインの「Table1」を右クリックし [参照] をクリックします。
image.png

「Table1 (2)」というクエリが作成されるので、名前を「キーフレーズ」に変更します。
image.png

必要なのは ID 列と回答文が入っている列のみなので、この2つの列を Ctrl キーを押しながらクリックして、右クリックメニューから [他の列の削除] を選択します。
image.png

回答文が入っていない行は不要なので、列名のプルダウンメニューを開き、(null) のチェックボックスを外して除外します。
image.png

回答文が入っている列 (ここでは「Power BI の好きなところを教えてください」という列) を選択し、[ホーム] → [Text Analytics] をクリックします。
image.png

初めて使用するときには下図の通りサインインを求められます。これは Text Analytics が Premium 機能なので、権限があるかどうかを確認するためです。
image.png

キーフレーズ抽出を行う [Extract key phrases] を選択し、Language ISO code には日本語を示す「ja」と入力します。[OK]をクリックすると、Power BI サービスでキーフレーズ抽出が行われます。(データ量が多いと少し待たされます。)

image.png

「データのプライバシーに関する情報が必要です」と表示されるので [続行] ボタンをクリックします。
image.png

プライバシー レベルを設定し、[保存] をクリックします。
image.png

[Extract key phrases] と [Extract key phrases.KeyPhrase] という2つの列が追加されます。前者は抽出したキーフレーズをカンマ区切りで格納し、後者はそれをさらに行に展開しています。行に展開することにより、各フレーズが何度出現しているかがカウントしやすくなります。
image.png

後者の列名を「キーフレーズ」に変更し、[ID] と [キーフレーズ] の2つの列を選択して、他の列を削除します。
ここで一旦 [閉じて適用] をクリックします。
image.png

リレーションシップの設定

Power Query エディターの画面が閉じ、データの取り込みと変換が終了したら、リレーションの設定をするために画面左側の [モデル] のボタンをクリックします。
image.png

[クロス フィルターの方向]を「双方向」に変更し、[変更の適用] をクリックします。
この設定を行うことで、この後ビジュアルを追加した時に、キーフレーズから文章を絞り込むことができるようになります。
image.png

以下、12/15に追記。

キーフレーズを可視化する

  1. Power BI Desktop で [レポート] ボタンを押してレポートにビジュアル (グラフ) を追加していきます。カスタム ビジュアルを取り込むために、視覚化のアイコンの一番右下にある三点リーダーアイコンをクリックし、「その他のビジュアルの取得」をクリックします。
    image.png

  2. カスタムビジュアルは大量にあるので、右上の検索窓に「Word」と入力して、「Word Cloud」のビジュアルを選択します。
    image.png
    image.png このバッジがついているのは、認定ビジュアルです。
    何をもって認定しているか、詳しくはこちらのドキュメントをご覧ください。

  3. カスタム ビジュアルの説明やイメージ図の確認、サンプルのダウンロードなどができます。「追加する」ボタンをクリックして、カスタム ビジュアルを取り込みます。image.png
    このように表示されれば取込完了です。image.png
    標準ビジュアルの下にアイコンが追加されます。image.png

  4. 上記の追加されたアイコンをクリックして、キャンバスに追加し、「キーフレーズ」テーブルの「キーフレーズ」列を [カテゴリ] に、「ID」列を [値] にそれぞれドラッグ&ドロップします。
    image.png

  5. 私の質問が「Power BI の好きなところを教えてください」だったため、回答も「~なところ」が多かったようです。ビジュアルの書式設定の [ストップワード] 欄に「ところ」と入力して、ビジュアルから除外します。「こと」もあまり意味がないため、半角スペースで区切って入力し、除外します。また、[テキストの回転] のトグルをオフにし、見やすくしました。
    image.png

キーフレーズを抽出したら、可視化までしないとモヤモヤするよなーと思い、追記しました。
次回は、複数回答項目を分析しやすいように変換して、可視化します。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1