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

Snowflakeで実現する広告画像評価の自動化と属人化解消 @Snowflake MEATup

Avatar for yuto16 yuto16
October 02, 2025
9

Snowflakeで実現する広告画像評価の自動化と属人化解消 @Snowflake MEATup

下記イベントの登壇時の発表資料です。

Snowflake Tech MEAT UP
https://www.snowflake.com/event/snowflake-tech-meat-up-20251002/

Avatar for yuto16

yuto16

October 02, 2025
Tweet

Transcript

  1. 登壇者紹介 
 酒井 悠斗 / Yuto Sakai
 職歴:外資保険会社 → 2024年

    GA technologies入社
 所属:Data本部 Applied ML部 データサイエンティスト 
 
 社内での取り組み:
 ・デジタルマーケティング領域の出稿割合の最適化 
 ・セールス領域の行動とKPIの関連性可視化・分析
 ・社内でのLLMアプリ作成ツール導入による LLMの民主化

  2. お客様が投資用不動産を購入するまで 
 Webでの問い合わせから成約までの一連のフローは以下の通り 
 Contract
 成約
 Field Sales
 オンライン面談
 Inside

    Sales
 電話面談
 Web
 問い合わせ
 広告別に、どれだけ後続のファネルに 到達するかといったパフォーマンス 
 分析も実施 Webからの問合せが重要な流入チャネル であるため、オンライン広告に年間 
 数十億単位で大規模に出稿 

  3. 広告画像の評価における課題 
 評価者が関係部署に複数おり、属人化や時間がかかるといった課題があった 
 関係部署にそれぞれ評価者 
 がおり、全ての結果を集める までに時間がかかる 
 業務が属人化し、

    
 ナレッジの共有が 
 不十分 それぞれの専門領域での 評価になるので、 1人が
 多角的に評価をするのは 
 難しい
 評価時間 属人化 スキル不足
  4. Streamlitアプリ / 広告画像レビュワー 
 背景・課題: 
 • 広告画像のレビューに時間がかかる 
 •

    レビューの体勢も画一化しきれていない 
 
 対象ユーザー: 
 • クリエイティブ作成メンバー 
 
 効果:
 • クリエイティブレビューの工数削減 
 • レビューのクオリティの均質化 
 広告画像レビュワー
 Streamlitアプリでレビューを簡単に行うことができる体制を整えることに 

  5. レビューアプリの全体像 
 Streamlitにて、広告画像の定性・定量の評価結果を簡単にチェックできる 
 Catalog
 Notebook
 Streamlit
 Stage
 Table
 Models


    処理1
 画像から特徴量への変換 
 処理2
 画像特徴量と実績データから 実績予測MLモデルを作成
 出稿実績
 画像特徴量 
 実績予測MLモデル
 入力1
 画像
 出力1
 定量評価
 ヒット予測
 
 ヒット確率X%
 出力2
 定性評価
 レビュー
 
 XXが
 良い(or悪い)
 LLM
 LLM

  6. Cortex AISQLの紹介 / テキスト入力 
 SQLを数行書くだけで、 Snowflake側で用意されている LLMを呼び出して会話ができます 
 SELECT

    AI_COMPLETE( model=>'claude-4-sonnet', prompt=>'こんにちは!' ) AS LLM_RESPONSE; AI_COMPLETE (単一文字列)
  7. Cortex AISQLの紹介 / 画像入力 (その2)
 PROMPT関数を使うとプロンプトが動的に書けるので、表現の幅が広がります 
 SELECT AI_COMPLETE( model=>'claude-4-sonnet',

    prompt=>PROMPT( '画像を日本語で説明してください。{0}', TO_FILE('@{DATABASE}.{SCHEMA}.{STAGE}', '{FILENAME}') )) AS LLM_RESPONSE; SELECT AI_COMPLETE( model=>'claude-4-sonnet', predicate=>'画像を日本語で説明してください。', file=>TO_FILE('@{DATABASE}.{SCHEMA}.{STAGE}', '{FILENAME}') ) AS LLM_RESPONSE; AI_COMPLETE (プロンプトオブジェクト)
  8. Cortex AISQLの紹介 / 構造化出力 
 出力の形式を指定することで構造化された出力を得ることもできます 
 SELECT AI_COMPLETE( model

    => 'claude-4-sonnet', prompt => '広告画像内のテキストから response_formatで定義された特徴量を抽出してください。 # 含まれるテキスト {COPY_TEXT}', response_format => { 'type': 'json', 'schema': { 'type': 'object', 'properties': { 'copy_has_topic_ai': {'type': 'string', 'enum': ['0', '1']}, 'copy_has_topic_incentive': {'type': 'string', 'enum': ['0', '1']}, 'copy_has_topic_risk': {'type': 'string', 'enum': ['0', '1']} }, 'required': [ 'copy_has_topic_ai', 'copy_has_topic_incentive', 'copy_has_topic_risk' ] }}) AS LLM_RESPONSE; 年収500万円以上の方必見
 月1万円で家族の生活をずっと支え られる不動産投資リノシー 
 団信加入で万一の時には毎月の家 賃収入と約2,000万円の現物資産 が残せます
 ※1弊社実績から算出。物件やご契 約の管理プラン等、諸条件により異 なります。(以下略) 
 AI_COMPLETE 構造化出力
  9. Model Registryの紹介 / MLモデルの登録 
 Notebookで学習した sklearnのモデルなどを Snowflake上に記録できる 
 from

    snowflake.ml.registry import Registry from snowflake.snowpark.context import get_active_session session = get_active_session() reg = Registry( session=session, database_name="{DATABASE}", schema_name="{SCHEMA}" ) mv = reg.log_model( model, model_name="my_model", version_name="V1", metrics={"score": {ML_SCORE}}, sample_input_data=train_features, target_platforms=["WAREHOUSE", "SNOWPARK_CONTAINER_SERVICES"] ) Snowflakeモデルレジストリ
  10. Model Registryの紹介 / MLモデルの呼び出し 
 記録したモデルは、バージョンを指定して 1モデルを呼び出すことができる 
 # モデルの取得

    m = reg.get_model("my_model") # バージョン指定1 mv = m.version("V3") # バージョン指定2 mv = m.default # 推論1 mv.run({new_data}, function_name="predict") # 推論2 my_model = mv.load() my_model.predict({new_data})
  11. レビューアプリの全体像(再掲) 
 Streamlitにて、広告画像の定性・定量の評価結果を簡単にチェックできる 
 Catalog
 Notebook
 Streamlit
 Stage
 Table
 Models


    処理1
 画像から特徴量への変換 
 処理2
 画像特徴量と実績データから 実績予測MLモデルを作成
 出稿実績
 画像特徴量 
 実績予測MLモデル
 入力1
 画像
 出力1
 定量評価
 ヒット予測
 
 ヒット確率X%
 出力2
 定性評価
 レビュー
 
 XXが
 良い(or悪い)
 LLM
 LLM

  12. 定量評価の流れ 
 過去の出稿データとその実績をもとに、新しいデータのパフォーマンス予測を行う 
 特徴1 特徴2 特徴3 IMG1 1 0

    1 IMG2 0 1 1 IMG3 1 1 0 パフォーマンス IMG1 150% IMG2 200% IMG3 300% 新しい画像 
 特徴1 特徴2 特徴3 IMG 0 1 1 効果予測 IMG 200%
  13. 制約・注意点 
 いくつか制約や注意点はあります 
 Cortex AISQLの制約: 
 • 画像入力ができるモデルや構造化出力ができるモデルは限られています 


    • 現時点では、画像入力と構造化出力を併用できません (*1)
 ◦ → 2段階に分けたり、それが出来る外部 APIを呼んだりする必要があります 
 
 ML modelの実行環境の制限: 
 • Snowflake Notebookでモデルを記録した時のパッケージ等のバージョンと、 Streamlitの バージョンを合わせる必要があります( Python, Library両方)
 ◦ → StreamlitのSPCS(*2)が来ればここはもっと簡単になるはず・・・? 
 
 推論時間について: 
 • LLMを呼んだり、MLモデルをロードしたり返答までに結構時間はかかります 
 ◦ → 並列化など工夫が必要 
 *1) AI_COMPLETE (Prompt object) | Snowflake Documentation *2) Streamlit on SPCS?
  14. ▶ポジション概要
 • 生成AIや機械学習を活用し、事業成長と社内業務効率化を推進するAIソリューションエンジニアを募集。CDO直下の組織で裁量大きく、スピー ディーに開発・改善に携わり、不動産テック領域の変革を牽引します。
 ▶ミッション
 • セールス生産性向上:面談データ活用、AIロールプレイング、自動申し送り書作成、リアルタイムサポートなど
 • マーケティング効率化:LTV予測、ROAS最適化、生成AIによる広告クリエイティブ自動化など
 •

    物件情報活用:物件紹介文自動生成、空室・設備故障リスク予測など
 • コミュニケーション効率化:AIチャットボットによる問い合わせ対応自動化
 • 全社的な生産性向上:テストコード自動生成、バックオフィス業務自動化など
 ▶スキル
 • ノーコード・ローコードツール(Dify, n8n等)活用経験
 • Python/SQLを用いたAI開発経験
 • 非エンジニアとのビジネス連携・要件定義支援経験(ネイティブレベルの日本語必須)
 • プロジェクト推進・完遂経験
 • システム運用・効果測定経験
 ▶魅力
 • 膨大な実データ(年間10万件の面談データ等)を保有
 • CDO直下組織での大きな裁量と迅速な意思決定
 • 「まず試す」文化と高速な改善サイクルと事業貢献への強い手触り感
 • 幅広い領域・フェーズ(toC/toB、グローバル)での経験
 • 福利厚生充実(住宅・家族・保育手当、フルフレックス、自己研鑽制度など)
 ▶待遇
 • 給与:年収800万〜1,200万円
 • 勤務地:東京都港区六本木(六本木一丁目駅直結)
 • 勤務体系:ハイブリッドワーク(週3日出社目安)、フルフレックスタイム制
 • 休日:完全週休2日制(土日祝)
 募集要項例 / AIソリューションエンジニア 
 生成AI×不動産テックの最前線で、あなたのスキルを活かし、大きなインパクトを生み出しませんか?