[ThoughtSpot]人のためのAIによる分析 – SpotIQとはどんな機能なのか?

人のためのAIによる分析
2021.01.13

データアナリティクス事業本部の貞松です。

本記事では「検索とAIを活用した企業向け分析プラットフォーム」として展開されているThoughtSpotについて、AIを活用した目玉機能であるSpotIQについて概要と利用方法を解説します。

ThoughtSpotについて

ThoughtSpot自体の解説について、本記事では割愛します。
Web検索のような「検索」を用いて、分析したいデータ項目を選択したり、絞り込んだりしながらインタラクティブにデータ分析を実行できるのが特徴です。
また、インメモリDBによる高速な集計を実行したり、外部のDWHと接続してそのDWHが持つデータセットを利用した分析を実行することができます。

SpotIQの概要

SpotIQは「人のためのAIによる分析」と銘打っており、インメモリの計算エンジンを活用して膨大なデータに対する多数のクエリを実行することで、データに対するインサイトを検出するアルゴリズムを実行します。
現行のThoughtSpotでは、インメモリDBに搭載されているデータに対してのみSpotIQが利用可能となっています。

「AIによる分析」という言葉から、魔法のような何でもよしなにしてくれる分析を想像する方もいらっしゃるかも知れませんが、SpotIQは魔法の類ではありません。
具体的には、これまでに実行した検索(データ集計)の結果に基づいて、それらの結果に関する特徴的な傾向について自動的に分析して、結果をビジュアライズしてくれます。
例としては以下のような分析を実行してくれます。

  • 異常値・例外
  • 相関関係・先行指標
  • 傾向・トレンド
  • 集団・セグメント

また、SpotIQから得られたインサイトに対して、ユーザーが明示的にGoodあるいはNGのフィードバックをすることでユーザーの嗜好やデータの傾向を学習し、SpotIQが生成するインサイトが洗練されていくのも特徴の一つです。

SpotIQの利用方法

SpotIQの利用方法は、自動インサイト生成と手動による分析実行の2パターンがあります。

自動生成されるSpotIQのインサイト

自動とはいえ、何もないところから手当たり次第に分析を実行するわけではなく、あくまで実行済みの検索(データ集計)に基づいて、それに関するインサイトを生成します。

例として、検索の画面で「売上 月単位」で検索を実行してみます。
縦軸が売上金額、横軸が月の折れ線グラフが表示されました。この時画面下に「SpotIQインサイト」という項目がチラ見えしています。

画面を下にスクロールすると、SpotIQによって生成された幾つかのインサイトが表示されています。
これらは前述で実行した検索の結果に対して、異常値検出や相関分析などを行うことにより、売上のアップダウンに関連する特徴的な要因などのインサイト(気付き)を与えてくれます。

表示されているインサイトのパネルをクリックすると、そのインサイトの詳細画面に遷移します。

インサイトの詳細画面では、そのインサイトを得るに至った分析の結果が表示されます。
詳細を確認することにより、SpotIQが使用した分析軸や、インサイトとして得られた傾向以外の部分について確認することができます。
これにより、得られたインサイトに対する裏付けを能動的に確認したり、以降の分析を実施する上でのヒント(こういう分析軸で分析をすれば良い、など)を得ることができます。

検索画面で表示されるSpotIQインサイト以外に、ThoughtSpotのトップページ(ダッシュボード)にもSpotIQによるインサイトが表示されます。
画面下の「お知らせ」のセクションに、検索画面で表示されていたのと同じようにタイル形式で表示されたSpotIQインサイトを確認できます。
ここで表示されるインサイトは、単一の検索実行結果によるものではなく、これまでに実行された幾つかの検索実行結果に基づいて生成・表示されます。
もちろん検索画面と同様に、タイルをクリックすることでインサイトの詳細画面に遷移することもできます。

検索からのSpotIQ分析実行

次に手動によるSpotIQ分析について解説します。

自動生成の解説と同様に、まずは「売上 月単位」で検索を実行したとします。
ここで、比較的売上の高い月(ここでは2016年09月)に関するインサイトを得るために、データポイントを右クリックして、メニューからSpotIQ分析を選択します。

SpotIQ分析に関する解説が表示されます。

次にSpotIQ分析を実行するための設定が表示されます。
設定の画面には「列」と「詳細」の2種類のタブが存在します。
「列」のタブでは、SpotIQによって実際に実行される分析の軸として、どの列項目を使用するかを選択することができます。明らかに使っても意味がない列項目はここで除外しておきましょう。

「詳細」のタブでは、SpotIQで使用するアルゴリズムやハイパーパラメータ等の詳細な設定を行うことができます。ここではデフォルトのまま実行します。
「詳細」タブに対する設定方法については、下記の公式リファレンスをご参照ください。

SpotIQ分析を実行したら、画面最上部のメニューバーから「SpotIQ」を選択し、ひとつ下のメニューバーから「分析」を選択して、実行したSpotIQの一覧を開きます。
実行したSpotIQ分析が表示されているはずなので、該当の行の内容を確認します。「ステータス」列を確認し「完了」になっていれば結果を確認可能なので、「結果」列にある「結果の確認」をクリックして、結果の画面を表示します(ステータスが完了になってない場合はしばらくお待ちください)

結果の画面では、SpotIQ分析時の設定に従って生成されたインサイトがズラッと表示されます。

この時、インサイトのパネル下部に「このインサイトは役立ちましたか?」という表示があります。
この記述の右側にあるアイコンをクリックすることで、このインサイトに対するフィードバックを与えることができます。

Goodのアイコンをクリックした場合は、ポップアップメッセージが表示されるだけですが、NGのアイコンをクリックした場合は、明示的にどの列(分析軸)、傾向、フィルターが良くなかったのかを選択することができます。
このフィードバックによって、以降のSpotIQ分析で同様のインサイトが得られやすくなったり、不要な列(分析軸)を使ったインサイトが表示されないように学習していきます。

まとめ

魔法の分析とはいきませんが、DWH等のデータ分析基盤を整えたものの、どんな分析をすれば良いのかとっかかりが無くて困っている方や、自分であれこれ分析するというよりは結果を確認して意思決定に生かす立場の方にとっては非常に有益で強力なツールだと感じました。
現在の制限としてインメモリDB上のデータソースのみ対応となっていますが、他のDWHをデータソースとする場合にも利用できるようになれば、既存の手持ちデータに対するインサイトを得られるようになるので、かなり幅が幅が拡がると考えられます。この点については今後のアップデートに期待大です。