Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Snowflake Intelligence × Document AIで“使いにくいデータ”...

Avatar for Kosaku Ono Kosaku Ono
September 12, 2025

Snowflake Intelligence × Document AIで“使いにくいデータ”を“使えるデータ”に

[Snowflake World Tour Tokyo 2025 BC-212]
Snowflake Intelligence × Document AIで“使いにくいデータ”を“使えるデータ”に
〜構造化データと非構造データを活用した次世代データ分析最前線〜

ナウキャストでは、オルタナティブデータをSnowflake上で加工・整備し、データプロダクトとして提供しています。これらのデータと比較対象として用いる企業の財務データは構造化されていないことが多く、機械的な処理が難しいという課題がありました。
本セッションでは、こうした非構造データ活用の課題に対してSnowflakeのAI機能をどう適用したかを、以下3つのアプローチでご紹介します。
・Document AI を用いたPDF文書からの情報抽出と構造化処理
・Streamlit in Snowflake を活用した、人の目による確認・補正を組み込んだ Human-in-the-loop ワークフローの構築
・Cortex Search による非構造情報のベクトル検索と自然言語での検索体験の実現
さらに、構造化データと非構造データを組み合わせて分析を行うにあたり、Snowflake Intelligence を活用したデータ分析レポート作成業務の効率化にも取り組みました。構造化データと非構造化データを横断する、AIを組み込んだ実践的データ分析ワークフローについて、リアルな知見をお届けします。

Avatar for Kosaku Ono

Kosaku Ono

September 12, 2025
Tweet

More Decks by Kosaku Ono

Other Decks in Technology

Transcript

  1. © 2025 Snowflake Inc. All Rights Reserved BC-212 Snowflake Intelligence

    × Document AIで “使いにくいデータ”を“使えるデータ”に ~構造化データと非構造データを活用した次世代データ分析最前線~ 大野 巧作 Data Service Platform Unit Data Platform Engineer 株式会社ナウキャスト 向山 拓実 Data Engineer / LLM Engineer 株式会社ナウキャスト
  2. © Finatext Holdings Ltd. 1 アジェンダ • はじめに • Nowcastについて

    • Snowflake at Nowcast • ユースケース • データ活用を加速するSnowflakeの一気通貫パイプライン • 組織的な取り組み
  3. © Finatext Holdings Ltd. 2 はじめに 自己紹介 ⼤野 巧作 Data

    Domain Data Service Platform Unit Data Platform Engineer 向⼭ 拓実 Data AI Solution Domain Engineering Service Unit Data Engineer/LLM Engineer
  4. © Finatext Holdings Ltd. 3 Nowcastについて データサービス事業 3 ライセンスデータ データホルダー

    解析 POSデータ 日本経済新聞 1,500店舗の スーパーマーケット True Data 4,000店舗の スーパー、 ドラックストア 2,600店舗の 家電小売 クレジットカードデータ JCB JCBカードの 所有者・加盟店 クレディセゾン セゾンカードの 所有者 求人データ 人流データ TV広告データ KDDI 携帯搭載の 地理データ フロッグ 130超の日本の web求人広告 サイト エムデータ 日本の全無料 チャンネルの TV広告データ 官公庁・シンクタンク・投資家 エンドユーザー 投資家 不動産業界 「データの商社」のような Two-sided platform を提供
  5. © Finatext Holdings Ltd. Data Solution Domain Data Domain Data

    Holder Unit Data Consumer Units Data Service Platform Unit Engineering Team Consultant Team 自社プロダクトの 知見をDsolへ Dsolの知見を 自社プロダクトへ 様々な クライアント エンジニアの生産性最大化のために技術的な支援を行うプラットフォームチーム • 全社のクラウド活用を仕組み化によって推進する。 • ソリューション、プロダクト両方の知見を集約・循環させることで組織の進化を支える。 4 Nowcastについて Data Service Platform Unit
  6. © Finatext Holdings Ltd. 5 Snowflake at Nowcast NowcastのSnowflake利用状況 100TB+

    データ保存量 30+ データソース数 20TB+ データスキャン量 / 日 16 アカウント 200K+ クエリ数 / 日 100+ ユーザー数
  7. © Finatext Holdings Ltd. 6 Snowflake at Nowcast NowcastがSnowflakeで扱う多様なデータ 決済データ

    (POS、クレジットカード) マスタデータ (住所、企業、商業施設) 人流データ (位置情報) 労働市場データ (求人情報) 広告データ (TV広告) 財務データ (決算・有価証券報告書) 上記は一部であり、また日々新しい種類のデータをSnowflakeにロードしています!
  8. © Finatext Holdings Ltd. 1. コスト課題 データ抽出を外注していて、継続的 な利用によるコスト負担。また そのプロセスは複雑で運用コスト大 2.

    データ活用の制約 構造化データとして提供されていな いデータについては、活用量が限定 的。予測モデルの精度やアナリスト 分析に影響。 また非構造化データと合わせて分析 する際の作業の効率化の余地あり。 7 データ活用を加速する一気通貫パイプラインとデータ改善プロセス なぜパイプラインを作る必要があったのか 目的: Snowflake上で構造・非構造化データを一気通貫 で管理できるパイプラインを構築 見込み効果 : コスト削減 予測精度向上 分析深度強化
  9. © Finatext Holdings Ltd. 8 データ活用を加速する一気通貫パイプラインとデータ改善プロセス 各サービスの概要 Cortex Agent Cortex

    Analyst Cortex Search Snowflake Intelligence Streamlit in Snowflake Snowflake 内で Streamlit の アプリを作れる機能。 今回は Human-in-the-loop の データ修正に利用する。 PDFなどの非構造化データから情 報を抽出する機能。指示によって 抽出方式を変更可能。 自然言語でのデータ分析を可能に する機能。 Semantic View と組み合わせるこ とで精度が上がる。 ベクトル検索とキーワード検索を組 み合わせた高品質な検索を提供 する機能。 マネージドなRAGとして利用。 構造化・非構造化データ両方を対 象に問い合わせ可能な UI を提供 する機能。 Summit 2025 発表の新機能。 Cortex Analyst/Searchをツールと して利用し、タスクの計画やオーケ ストレーションをするAgent 機能。 AI_EXTRACT
  10. © Finatext Holdings Ltd. 9 データ活用を加速する一気通貫パイプラインとデータ改善プロセス 全体概要図 Unstructured Cortex Search

    Human in the Loop AI_EXTRACT Streamlit in Snowflake Semi Structured XMLGET Extracted Data Cortex Agents Cortex Analyst Structured 構造・非構造データを問わず Snowflake で一気通貫した パイプラインと データ活用の仕組みを実現
  11. © Finatext Holdings Ltd. 10 データ活用を加速する一気通貫パイプラインとデータ改善プロセス 全体概要図 Unstructured Cortex Search

    Human in the Loop Streamlit in Snowflake Semi Structured XMLGET Extracted Data Cortex Agents Cortex Analyst Structured 構造化されていないデータを 自動で構造化し、 人が修正可能な仕組み AI_EXTRACT
  12. © Finatext Holdings Ltd. 11 データ活用を加速する一気通貫パイプラインとデータ改善プロセス AI_EXTRACT による非構造データからのデータ抽出 SELECT AI_EXTRACT(

    file => TO_FILE('@internal_stage', 決算短信.pdf'), responseFormat => [ ' 「四半期連結財務諸表に関する注記事項」にあるセグメント別の売上等に関する表( 2個)か らすべての情報を抽出してください。 返却形: dict[str, dict[str, dict[str, str]]]の形式で返却してください。 第1階層のdictのキーは何番目の表かを表す indexです。 第2階層のdictのキーはセグメント名です。 第3階層のdictのバリューは表の各行の値です。 第3階層のdictのキーの数は一定です。 注意事項: - 表のすべての行から情報を抽出する - 表の値は空欄やハイフンの場合もある - 多くの場合、表は複数ある ' ] ) AS segment_name_json • 取り出したいデータを構造化して定義 • responseFormatをカスタマイズすることで、自 由度の高い出力が可能 • 値が存在する場所(セクション名)を明記すること で精度向上 データの構造化抽出 AIによる抽出の限界 • 形式的な指示は得意、意味解釈が必要な指示 は苦手 • responseFormatの内容が増えると精度低下 Fig. 実際に使ったSELECT文の例
  13. © Finatext Holdings Ltd. 12 データ活用を加速する一気通貫パイプラインとデータ改善プロセス AI_EXTRACT × Streamlit in

    Snowflake を使ったデータの抽出と検証 抽出データ Table 修正データ Table 60% 自動抽出 Human-in-the-loop な オペレーションで 40% 修正 必要なページを 機械的に選択 参照 編集 自動・手動を 合わせた table (dbtなどで作成) 参照 AI_EXTRACT
  14. © Finatext Holdings Ltd. 13 データ活用を加速する一気通貫パイプラインとデータ改善プロセス 全体概要図 Unstructured Cortex Search

    Human in the Loop Streamlit in Snowflake Semi Structured XMLGET Extracted Data Cortex Agents Cortex Analyst Structured AI_EXTRACT 誰でも自然言語で 簡単にデータを 分析可能にする仕組み
  15. © Finatext Holdings Ltd. 14 データ活用を加速する一気通貫パイプラインとデータ改善プロセス Cortex Analystを使った構造化データの活用 [1] Semantic

    View作成・整備  ・dimension, fact  ・シノニム  ・description 精度検証サイクル [2] Q&A作成 ・質問、想定回答セット ・レベル別回答セット [3] 検証 ・SQLが意図通りか。 ・値が一致するか。 [4] 誤り分析と更新 ・Semantic 定義更新 ・Custom Instructions拡 充 • 複雑だったり、ガチガチのロジックを持つSQLを 100%正確に自動生成するのは難しい。 • 「難しくはないが、ドメイン知識やコンテキストの理 解が必要」 という場面でこそ輝く。 Where Cortex Analyst does more Fig. 精度検証サイクルの例 • Semantic View整備 → Q&A作成 → 検証 → 誤り 修正を繰り返す必要がある。 • custom instructionの整理や、テーブル/カラム名の 明示など、地道な調整を積み重ねることで精度が向 上する。 泥臭い精度検証サイクル
  16. © Finatext Holdings Ltd. 15 データ活用を加速する一気通貫パイプラインとデータ改善プロセス Cortex Searchを使った非構造化データの活用 資料B 資料A

    年度別にファイル群 を分割 実際の分類別にファ イル群を分割 必要なページを 機械的に選択 必要なページを 機械的に選択 Cortex Search Cortex Search
  17. © Finatext Holdings Ltd. 16 組織的な取り組み  人とAIが協調して働くための勘所 2. 業務プロセスを整備する AIが得意な領域を切り出して、業務

    フローに組み込む。 ミスをしてはい けない場所にAIを組み込むのは得 策ではない。 1. AIに最終判断はさせない 判断責任は常に人間にあり、AIは補 助役である。情報整理や知識補完を 行うことで人の力を増幅させるような 相談相手としての役割が適切。 3. システム設計に人間を組み込む Human-in-the-LoopでAIによる出力 結果と説明責任を担保する。人間の 判断と組み合わせることで、AIの実 効性と業務効率化を両立 する。 4. 継続的な改善プロセス AI活用時には継続的な検証と改善 が必要。SnowflakeのManaged Serviceによって省力化。
  18. © Finatext Holdings Ltd. 17 組織的な取り組み 横展開を見据えたデータ基盤の強化・改善 新機能検証 • Preview機能を検証

    して利用可否や効果 をFB • 機能の有用性や適 用範囲を把握した上 で、プロダクトチー ム、ソリューション チームでの導入判断 を迅速化 機能のModule化 • 効果的な機能をモ ジュール化して、フ レームワークとして 整備 • CI/CD環境を利用し てガバナンスを効か せた変更管理 • これをSnowCastとし てパッケージ化 プラットフォーム管理 • 継続的なコスト監視 による異常検知を仕 組み化 • リソース利用状況か ら、非効率なクエリの 検出
  19. © Finatext Holdings Ltd. 18 Appendix. SnowCast • Snowflakeを用いたデータ基盤、 AI利用環境構築のベストプラクティスを

    まとめたナウキャスト独自のテンプレート • 社内でも幅広く利用している
  20. © Finatext Holdings Ltd. • Streamlit in Snowflake では iframe

    による pdf の埋め込みは未対応(2025年8月 時点) • 要件に応じて Streamlit in Snowflake と AWS ECS でホストした Streamlit を使い分けている 19 Appendix. Human-in-the-loop のデータ修正画面イメージ
  21. © Finatext Holdings Ltd. • 対象とするデータに関して ◦ 同一データであってもユースケースに応じて参照すべきデータのレイヤーは変えるべき ▪ アドホックな分析:データレイク

    or データウェアハウス ▪ Agent と組み合わせてシステムに組み込む:データウェアハウス or データマート ◦ ある程度集計したtableの方がAIが上手く利用しやすい。一方で集計しすぎていると分析の 幅は狭くはなってしまう。 ◦ 試し方:まずデータマートを用意してそれを利用する。より集計前の細かいtableが必要に なったら適宜上流の集計前のテーブルも利用してみるのが推奨 • Semantic View に関する Tips ◦ synonyms や sample_values は Cortex Analyst の画面上で自動生成可能で、これが便利 ◦ custom instructionとVQRの使い分け ▪ custom instruction →ドメイン知識 ▪ VQR → 質問に対するSQL例 ◦ 情報を入れ過ぎると、Semantic Viewの定義とコンフリクトして汎用性低下する危険性 20 Appendix. Cortex Analyst に関する Tips
  22. © Finatext Holdings Ltd. • Snowflake Intelligence ◦ 無料。Snowsight 自体は無料なのと同様。

    • Cortex Agents ◦ Preview 期間中につき、 Agents 自体にはまだコストはかからない。 ◦ Reasoning のモデルなどが動いているので、いずれはコストがかかると予想。 • Cortex Analyst ◦ ACCOUNT_USAGE.CORTEX_ANALYST_USAGE_HISTORY で確認可能 ◦ 0.067 Credit / message ▪ ユーザから投げられたテキストの1往復が1message • AI_EXTRACT (Document AI) ◦ Preview 期間中につき、詳細は未定。 ◦ テキストが token 化されるところでコストが発生する模様。 21 Appendix. 各サービスのコストについて①
  23. © Finatext Holdings Ltd. • Cortex Search:以下の5種類のコストが発生する ◦ Virtual Warehouse

    Compute ▪ text embedding ジョブや search index の構築の際に利用する WH のコスト ▪ 差分更新な仕組みなため、追加・変更があった時だけコストが発生する ◦ EMBED_TEXT tokens compute ▪ ONで指定したカラムをベクトル化する時のコストで、トークンベースの課金 ▪ 差分更新な仕組みなため、追加・変更があった行分だけ埋め込みの処理が動く ◦ Serving compute ▪ ユーザーのWHとは別の、Cortex Search のパフォーマンスを高めるためのサーバーのコスト ▪ サービスがクエリに応答可能な状態にある限り、 たとえその期間にクエリが一件も処理されなかったとしても、このコストは発生する ▪ 6.3 Credits per GB/mo of indexed data ◦ Storage ▪ Cortex Search に関連するデータの保存料金は通常通り発生する。 ▪ AWS Tokyo であれば $25 per TB/mo ◦ Cloud services compute ▪ ベースのtableに変化が起きたかどうかなどを判定するために Cloud Service Compute が動く 22 Appendix. 各サービスのコストについて②