はじめに
「AIで分析したい」と思ったとき、多くの人がまず考えるのは、データをどこか別のツールに持っていくことです。でもBigQueryには、SQLの中でAIを呼べる「AI関数」があります。AI.GENERATEで文章を生成したり、AI.CLASSIFYで分類したり、AI.FORECASTで予測したり。データを外に出さず、慣れたSQLの延長で試せるのが一番の利点です。
AI関数で書ける4つのこと
1つ目は生成(AI.GENERATE)です。レビューや問い合わせ文の要約、定型文の下書きといった、文章を作る作業に使えます。
2つ目は分類・判定(AI.CLASSIFY)です。問い合わせの振り分けや、レビューのポジティブ・ネガティブ判定のように、「これはどれに当たるか」を決める作業です。
3つ目は構造化・埋め込み(AI.EMBED)です。文章を数値に変換して、類似検索やレコメンドの下地にできます。
4つ目は予測(AI.FORECAST)です。売上やアクセス数の先行きを、SQLだけで試算できます。
気をつけたい2つのこと
まず、AI関数の出力は非決定的で、同じSQLでも毎回まったく同じ答えが返るとは限りません。だから精度の検証SQLをセットで用意するのが、実務での作法です。
もう一つは料金です。AI関数の実行料金(BigQueryのスキャン料金とAIモデルのトークン料金)は、ご自身のGoogle Cloudプロジェクトに課金されます。少量のデータで試してから広げるのが安全です。
収録している15本について
全体は5章構成です。第1章「準備・生成編」(3本)、第2章「分類・判定編」(3本)、第3章「構造化・埋め込み編」(5本)、第4章「予測・運用編」(3本)、第5章「移行編」(1本)。プロジェクトIDやモデル名は {{}} のプレースホルダに置換済みで、コピペしてすぐ試せます。
コスト監視と精度検証のSQLも収録しました。「AI関数の暴走」と「精度不明」を防ぐためのものです。旧世代のML.GENERATE_TEXTからAI関数への移行パターンも1本入れています。
こんな方に向いています/向いていない方もいます
向いているのは、BigQueryでAI関数を使い始めたい方、分類や要約をSQLの中で完結させたい方です。
向いていない方もいます。BigQuery自体が初めての方には、基本操作の入門書ではないので合いません。また実行結果や精度の保証が欲しい方にも合いません。AIの出力は非決定的で、精度は保証されません。
おわりに
SQLの中でAIを試すところから始めたい方は、この記事の下に表示されている『BigQuery AI関数 実践SQLテンプレート集』をのぞいてみてください。まずは分類の1本から試すのが入りやすいと思います。