Amazon Q in QuickSight ハンズオンのご紹介

Amazon Q in QuickSight ハンズオンのご紹介

セルフハンズオン「Amazon QuickSight 可視化 BASIC 編」では QuickSight 全体の使い方を学べます。 Amazon Q in QuickSight を使用する Generative BI 機能の部分だけを選んで体験することもできます。
Clock Icon2024.10.29

コーヒーが好きな emi です。

Amazon QuickSight はいくつかセルフハンズオンキットが日本語で提供されています。
特に以下の「Amazon QuickSight 可視化 BASIC 編」では、Amazon Q in QuickSight のハンズオンも提供されています、

https://catalog.us-east-1.prod.workshops.aws/workshops/aa601d0b-84c9-4f77-b9a7-5954d8574cd5/ja-JP

このハンズオンは QuickSght 全体の基本的な使い方を学ぶことができますが、Amazon Q in QuickSight を使用する Generative BI 機能のみ選択して体験することもできますので、今回は Amazon Q in QuickSight ハンズオン部分を紹介します。実施したのは以下リンクの部分です。

0. ハンズオンの構成図

Amazon Q in QuickSight の部分のみ抜き出して書くとこんな感じです。
Q in QuickSight は東京リージョンでサポートされていないので、バージニア北部リージョン で実施します。

emiki_q-in-quicksight-handson_1-2

日本語対応がまだなので、多くの表示が英語になっています。今回のハンズオンでは可視化する元データが日本語なので一部日本語での自然言語問い合わせにも反応することがありますが、基本的には英語で問い合わせしないと応答が返ってきにくいです。

Q in QuickSight で特徴的なのは「トピック」と「Data stories(データストーリー)」という項目が追加されているところです。後述します。

Q in QuickSight ハンズオンで提供されているデータは携帯電話事業者の様々なデータです。
サービスの利用状況、解約率、契約者の居住地、顧客行動データなどを可視化しています。

このワークショップでは、携帯電話事業者のマーケティング部門のマーケティングアナリストが、サービスの利用状況やその他の顧客行動データから、解約リスクの原因となる要因を特定できることができるダッシュボードを作ることを目的にしています。それにより、ターゲットを絞った顧客維持キャンペーンの実施など、予測される行動を変えるための是正措置を講じることできます。
SageMaker連携とGenerative BIを使用してダッシュボードを作成する

1. ハンズオンの事前準備

ハンズオン内で提供されている CloudFormation テンプレートでリソースを作成します。S3 からのデータの引き込みと QuickSight のアセット(データセット、分析、Q トピック)が作成された状態になります。

emiki_q-in-quicksight-handson_2

以降は、既に作成されている分析に自然言語で問い合わせて編集したり、ビジュアルを追加したりしていきます。

2. 分析にトピックをリンクする

こちらは CloudFormation で作成済みの分析を開いた画面です。画面上部に Q のアイコンと「Build visual」というボタンがありますが、このボタンの右の三点リーダをクリックすると「Topic Linking」というメニューがあり、トピックと分析をリンクできます。
emiki_q-in-quicksight-handson_3

リンクするトピックを選びます。
emiki_q-in-quicksight-handson_4

3. トピックとは

トピックは一言で説明しにくいのですが、データセットに含まれる情報がどういうものでどんな意味を持つかを登録しておく場所、とでも言いましょうか。データセットのインデックス(索引)のようなものです。

データセットに含まれるカラムに、以下のような要素を登録しておきます。

Include そのフィールドをトピックに含めるかどうか。必要に応じてフィールドを除外したり追加のフィールドを含めたりできる
Friendly name(フレンドリー名) フィールドの名前
Synonyms(シノニム。同義語) フィールドの内容に似た言葉を登録しておく。企業独自の用語等、一般的に使われない語の意味や、言い方・表現に揺らぎがある語を登録しておく
Details(詳細) その他詳細情報

emiki_q-in-quicksight-handson_7

分析やダッシュボードを作成していない状態でも、トピックを作成しておけば、データセット自体に自然言語で Q&A を行えます。

十分にキュレーションされたトピックを分析にリンクすると、ビジュアルの作成と Q&A のエクスペリエンスが向上します。 「キュレーション(curation)」とは、情報を選んで集めて整理することです。

https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/quicksight-q-topics.html

トピック画面はこのようになっています。ハンズオンの CloudFormation によって既に 1 つトピックが作成されています。
emiki_q-in-quicksight-handson_5

フレンドリー名やシノニムは Data タブの「DATA FIELDS」でこのように登録されています。
emiki_q-in-quicksight-handson_6

機械学習機能により、トピックを自動生成することもできます。
トピックが作成されると、定義された文字列データのインデックスが作成され格納されます。インデックスを利用することで、質問に返答したり、その他の質問を提案したりします。
定期的にインデックスを更新し、最新の定義と値を保持する必要があります。
また、定義されたディメンションのデータが多いとインデックスの作成に時間がかかりますので、どの項目をトピックに含めるか検討する必要があるそうです。

ハンズオンの中では登場しませんが、「Data」タブの「DATASETS」でトピックの定期更新、手動更新ができるようです。
emiki_q-in-quicksight-handson_64

4. Build visual

Build visual は、分析画面で自然言語で問い合わせすることでビジュアルを作成できる機能です。

分析を開くと画面上部に「Build visual」があるのでクリックすると、
emiki_q-in-quicksight-handson_8

画面右に自然言語で問い合わせする画面が生えてきます。
Total charge by prefecture(都道府県別料金合計)」と入力して「BUILD」をクリックすると、
emiki_q-in-quicksight-handson_9

このように Filled Map(塗りつぶされたマップ) を使用した日本地図のビジュアルが表示されます。「Interpreted as:Total 全利用請求料金 by 都道府県.」の部分で、問い合わせた内容が Q にどのように解釈されたか表示されています。
「ADD TO ANALYSIS」で、自動生成された日本地図ビジュアルを分析のシートに追加できます。
emiki_q-in-quicksight-handson_10

分析のシートに、自然言語で問い合わせて自動作成されたビジュアルを追加できました。
emiki_q-in-quicksight-handson_11

5. 計算フィールドを自然言語問い合わせで作成する

Generative BI 機能を使用して、計算フィールドを自然言語問い合わせで生成していきます。

分析画面で「+計算フィールド」をクリックします。
emiki_q-in-quicksight-handson_12

Q のマークがついた「計算を作成」ボタンがあるのでクリックします。
emiki_q-in-quicksight-handson_13

まず日本語で「電話番号数に対する解約の割合」と入力して作成ボタンをクリックします。残念ながらうまく生成できませんでした。
emiki_q-in-quicksight-handson_14

次はハンズオンで指定されたプロンプト「cancellation ratio versus unique phone numbers」を入力してみましたが、これも生成できませんでした。むむ…
emiki_q-in-quicksight-handson_15

解約部分の計算式だけでも生成したいので、「解約がTrueの場合の電話番号数」と日本語で入力すると…日本語の問い合わせで計算が生成できました!
日本語でも部分的に動くんだな~~と思ったのですが、後から考えたらトピックに日本語や類義語が登録されているから解釈できただけなのかもしれません。

ちなみに生成できた計算式は今回ハンズオンで生成したかった計算式ではなかったので、このまま破棄します。残念。
emiki_q-in-quicksight-handson_16

「解約がTrueの場合の電話番号数」を英語で「the unique number of phone whose cancellation are True」と問い合わせると、ハンズオンで求めていた計算式の一部が正しく生成されました。「挿入」をクリックして計算式を登録します。
emiki_q-in-quicksight-handson_17

割合を出したいので、何とか全体の電話番号数を生成したいです。「電話番号数」と問い合わせると計算式が生成されましたが、求めている式ではありません…。
emiki_q-in-quicksight-handson_18

最終的に、画面下部に挿入した計算式を手動で直してしまいました。完璧に自動生成するのは難しいですね。直接手で編集できるので良かったです。
emiki_q-in-quicksight-handson_19

作成した計算フィールドは「cancellation ratio」と名前を付けて保存します。

6. 自然言語問い合わせでビジュアルを編集する

Generative BI 機能を使用してビジュアルを編集します。

ビジュアルを選択すると右上に「Q で編集」という Q のマークが出るので、クリックして「change the visual to cluster combo bar chart and add cancellation ratio to Line(ビジュアルをクラスターコンボバーチャートに変更し、キャンセル比率を Line に追加する)」と入力します。
emiki_q-in-quicksight-handson_20

ビジュアルの見た目が変わりました。
emiki_q-in-quicksight-handson_21

7. トピックの更新

「5. 計算フィールドを自然言語問い合わせで作成する」で分析上に新たに計算フィールドを追加しました。この新たに作成した計算フィールドの情報はトピックにまだ反映されていません。トピックの設定を更新し、この計算フィールドの情報がトピックに含まれるようにします。

トピックを更新する前に、リンク済みのトピックを一度解除します。
emiki_q-in-quicksight-handson_22
emiki_q-in-quicksight-handson_23

トピックを開き、Data タブの DATA FIELDS で「ADD CALCULATED FIELD」をクリックします。
emiki_q-in-quicksight-handson_24

フレンドリーフィールド名として cancellation ratio と入力し、先ほど作成した計算フィールドの計算式を入れて右上の SAVE をクリックします。
emiki_q-in-quicksight-handson_25

トピックに計算フィールドが追加できました。
emiki_q-in-quicksight-handson_26

計算フィールドはディメンション(データを分類・整理するための情報)であり、文字列データではないため、トピックに含まれるデータのインデックス(索引)に影響しません。そのため、インデックスの更新は不要です。

このハンズオンでは日本語データ項目を英語で質問したときに解釈できるようにトピックに様々なシノニムが設定されています。ここでもシノニムとして日本語で「解約比率」と追加しておきます。
emiki_q-in-quicksight-handson_27

次に「NAMED ENTITY」タブを選択します。
NAMED ENTITY とは、フィールドの順序やランキングを定義するエンティティ設定のことです。曖昧な質問をされた場合でも、定義されたフィールドの関連性をもとに、複数のビジュアルで回答が提供されるようにします。

cancellation という Friendly name の定義が表示されるので、その右にある「...」をクリックし、Edit を選択します。
emiki_q-in-quicksight-handson_28

左の Data ペインから cancellation ratio を選択します。
Named Entity の FIELD RANKING の最後に追加されたことを確認し、右上の SAVE ボタンをクリックします。
emiki_q-in-quicksight-handson_29

NAMED ENTITY の使い方をもう少し解説

今回は「顧客の解約率("cancellation ratio")」についての質問に回答できるようにするために上記設定をおこないました。

  1. NAMED ENTITYの作成
    今回は作成済みの NAMED ENTITY の編集しかしていませんが、本来は「NAMED ENTITY」タブから解約率を示すフィールド「cancellation ratio」を作成します。
    このフィールドにはフレンドリーネーム( 「cancellation」など)を付け、ユーザーが解約率を意味する自然な表現で質問しても理解できるようにします。

  2. ランキングの設定
    「FIELD RANKING」を使い、関連するフィールドの重要度や順序を設定します。質問内容に応じて、解約率のフィールドが他の関連フィールドと一緒に適切に参照されるようにします。

これらの設定を適切におこないチューニングをすることで、「今月の解約率は?」や「解約率の高い顧客属性は?」といった質問に対して、解約率のビジュアルやデータを返答することが可能になるはずです。

…と自分なりに解釈して書いてみましたが、実際に自分が用意したデータのチューニングをしたわけではないのでこの辺りの設定の塩梅や意味はまだ腹落ちしていません…。

8. Generative BI 機能をダッシュボード上でも使用できるように設定して公開

Data stories の作成、エグゼクティブサマリー、ダッシュボード上の Q&A を許可するチェックを入れダッシュボードを公開します。
emiki_q-in-quicksight-handson_30

9. Executive Summary

ここから Generative BIのQ&A機能を使用し、ストーリーを作成する のハンズオンとなります。

Executive Summary(エグゼクティブサマリー)機能とは、Generative BI の機能を使用して、ダッシュボード上に表示されたビジュアルや表からポイントとなるインサイト(洞察)を文章にして、箇条書きで表示してくれる機能です。わりとサラッとしてます。

ダッシュボードを開き、右上にある Build ボタンを選択して Executive Summary をクリックします。
emiki_q-in-quicksight-handson_31

エグゼクティブサマリーが出ました。これです。
emiki_q-in-quicksight-handson_32

契約状況
The sheet presents visuals related to cancellation counts and ratios across different prefectures in Japan.
Tokyo had the highest cancellation count at 146, followed by Osaka at 112 and Kanagawa at 88.
茨城 prefecture had the highest cancellation ratio at 43.82%, followed by 大分 at 43.3% and 長野 at 43.16%.
広島 prefecture had the highest cancellation ratio at 61.22%, followed by 山口 at 56.76% and 岩手 at 56.67%.

10. データ Q&A 機能

データ Q&A 機能では、自然言語で問い合わせることにより、複数のビジュアルを使った応答を生成し、インサイトを得やすいようにアシストしてくれる機能です。

ここではダッシュボードで問い合わせてみます。
ダッシュボード画面上部の「Ask a question about Customer Chun Prediction」をクリックします。
emiki_q-in-quicksight-handson_33

右から問い合わせるための画面が生えてくるので、「cancellation by total charge(総額による解約)」と入力し、ASKボタンをクリックします。
emiki_q-in-quicksight-handson_34

複数のビジュアルを使った応答が生成されます。これは見栄えが良くてすごいです。
emiki_q-in-quicksight-handson_35

The total 全利用請求料金 is 10,663,505.49. There are 2 unique values for 解約. The top 解約 value for total 全利用請求料金 is True with 6,211,060.33, followed by False with 4,452,445.17. The table shows the breakdown of 全利用請求料金 by 解約 and 都道府県, with the first row showing 東京 prefecture having 356,782.68 for True 解約 and 255,643.71 for False 解約.

(機械翻訳)全利用請求料金の合計は10,663,505.49。 解約には2つのユニークな値があります。 全利用請求料金の解約値のトップは「真」で6,211,060.33、次いで「偽」で4,452,445.17。 表は全利用請求料金の解約・都道府県別内訳を示し、1行目は東京都の「真」が356,782.68、「偽」が255,643.71である。

11. データストーリー

データストーリー(Data stories)機能は、自然言語で問い合わせて、ダッシュボードのインサイトからアクションを促すレポートやプレゼン資料を自動生成する機能です。個人的には Q in QuickSight の機能の中で一番すごいなと思いました。
生成されたストーリーは編集可能で、デザインを変更したり、説明文のカスタマイズを Q に依頼したりできます。完成したストーリーは QuickSight ユーザーに共有できます。

ダッシュボードの右上 Build ボタンから「Data story」をクリックします。
emiki_q-in-quicksight-handson_36

write a data story highlighting cancallation and renewal status and provide recommendation for retaining customers.(解約と更新の状況を強調したデータストーリーを作成し、顧客を維持するための推奨事項を提供する。)」と入力し、「+ビジュアルを追加」をクリックします。
emiki_q-in-quicksight-handson_37

ダッシュボード上の全てのビジュアルにチェックを入れ、「ビルド」をクリックします。
emiki_q-in-quicksight-handson_38

データストーリーができました!

右上にストーリーを再構築できる旨のメッセージが出ているのを「DONE」をクリックして閉じます。
emiki_q-in-quicksight-handson_39

こんな感じで、
emiki_q-in-quicksight-handson_40

よくまとまってます。
emiki_q-in-quicksight-handson_41

すごい、ちゃんとレポートです。全部英語ですが。
emiki_q-in-quicksight-handson_42

エディター上部の筆マーク「ストーリースタイル」をクリックすると、エディター右側にストーリースタイルがいくつか表示されます。スタイルを変えると色味やデザインが変わります。
emiki_q-in-quicksight-handson_43

生成された文章は手作業で編集できます。
emiki_q-in-quicksight-handson_44

文章の形式を変えることもできます。文章を選択して Q アイコンをクリックすると、「長くする」、「短くする」、「箇条書きに変更」が選べます。今回は「箇条書きに変更」をクリックしてみます。
emiki_q-in-quicksight-handson_45

プレビューが表示されるので、「保持」をクリックすると、
emiki_q-in-quicksight-handson_46

箇条書きに変わりました。
emiki_q-in-quicksight-handson_47

ブロックの追加もできます。ブロックとブロックの間にカーソルを合わせると「ブロックを追加」のメニューが現れるのでクリックします。
emiki_q-in-quicksight-handson_48

挿入するブロックのスタイルを選択します。
emiki_q-in-quicksight-handson_49

ブロックが挿入できました。「/」を入力し、
emiki_q-in-quicksight-handson_50

「ビジュアル」をクリックしてビジュアルを追加します。
emiki_q-in-quicksight-handson_51

挿入するビジュアルにチェックを入れ「追加」をクリックします。
emiki_q-in-quicksight-handson_52

ビジュアルが追加できました。
emiki_q-in-quicksight-handson_53

「プレビュー」でデータストーリー全体をプレビューできます。文字がふわっと出てくるエフェクトがかかっています。おしゃれなホームページのようです。
「共有」をクリックすると、他の QuickSight ユーザーにデータストーリーを共有できます。
emiki_q-in-quicksight-handson_54

特定の QuickSight ユーザーにアクセス許可を追加できます。
emiki_q-in-quicksight-handson_55

作成したデータストーリーはここに表示されます。
emiki_q-in-quicksight-handson_56

11-1. データストーリーの日本語化はできるか

[アップデート][プレビュー] QuickSight Q + 生成 BI 機能をさらに拡張した「Amazon Q in QuickSight」が発表されました #AWSreInvent | DevelopersIO を見ると、日本語の指示で日本語のデータストーリーを作成してくれるようなので試してみました。

画面右上の Q アイコンをクリックし、
emiki_q-in-quicksight-handson_58

「プロンプトでデータストーリーを作成」をクリックし、
emiki_q-in-quicksight-handson_59

日本語で
解約と更新の状況を強調した日本語のデータストーリーを作成し、顧客を維持するための推奨事項を提供してください。 と入力してビジュアルを選択し「ビルド」をクリックします。
emiki_q-in-quicksight-handson_60

うーん、再作成されましたが英語のままですね。
emiki_q-in-quicksight-handson_61

解約と更新の状況を強調した日本語のデータストーリーを作成し、顧客を維持するための推奨事項を日本語で提供してください。 と、「日本語」を強調して再構築してみます。
emiki_q-in-quicksight-handson_62

おお、一部が日本語、一部が英語のミックスされたデータストーリーができてしまいました。うまくいかないものですね…
emiki_q-in-quicksight-handson_63

11-2. データストーリーのエクスポートはできるか

データストーリーは PDF 出力できないのかなと思ったのですが、QuickSight の機能ではどうもできないようです。素晴らしいので出力できたら嬉しいなと思ったのですが……
通常の印刷機能で PDF 出力しようとすると、全体が出力できませんでした。
emiki_q-in-quicksight-handson_57
▲ 全体を PDF 印刷できないの図

終わりに

Q in QuickSight のハンスオンで、Q の機能に特化して紹介しました。ぜひハンズオン全体を試してみてください。個人的にはデータストーリーがやはりすごいなと思いました。

データセットを作成してそのまま自然言語で Q&A できるかというとそうではなく、まずはトピックというものを作成したうえでデータセットに対して Q&A できるようになります。場合によっては実データの内容を把握したうえでシノニムを細かく設定するなどのチューニングが必要な場合もあります。インデックスの更新などは今回触れなかったので別途学習します。

日本語でも英語でも思った通りの結果が返ってこない場合もあり、万能ではありませんが、ある程度のインサイトは提示してくれる感じです。帰ってきた応答が正しいかどうかは人間が確認して判断する必要があります。

東京リージョン未サポート、日本語未対応なので、対応するのが待ち遠しいです。

Q in QuickSight を有効に(プロロールのユーザーを作成)すると、ユーザー料金の他に別途月額 250USD かかりますので、検証の際は注意してください。

参考

https://aws.amazon.com/jp/blogs/news/amazon-quicksight-handson-202006/

https://dev.classmethod.jp/articles/quicksight-q-forecast/

https://dev.classmethod.jp/articles/amazon-q-quicksight-data-exploration-generative-bi-capabilities/

https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/quicksight-q-topics-create.html

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.