Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
外部のデータを結合し分析するためのソリューションAWS Clean Rooms
Search
西岡 賢一郎 (Kenichiro Nishioka)
April 29, 2023
Technology
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
外部のデータを結合し分析するためのソリューションAWS Clean Rooms
機械学習の社会実装勉強会第22回 (
https://machine-learning-workshop.connpass.com/event/280038/
) の発表の資料です。
西岡 賢一郎 (Kenichiro Nishioka)
April 29, 2023
More Decks by 西岡 賢一郎 (Kenichiro Nishioka)
See All by 西岡 賢一郎 (Kenichiro Nishioka)
AIエージェントを雇う前に決める5つのこと
knishioka
1
160
顧客に説明できる、 安全なAIの使い方 - 会計士・税理士向けAI活用勉強会 第2回
knishioka
0
110
ローカルLLM、実際どこまで使えるか
knishioka
0
54
会計士・税理士向け AI活用勉強会第1回
knishioka
0
110
権限は渡さない、操作だけ切り出す ― 自前MCPサーバー実践入門
knishioka
0
100
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
280
データサイエンスの現場から学ぶ 成功と失敗の実像と生成AI時代の展望
knishioka
0
110
ハーネスエンジニアリング入門
knishioka
0
780
OpenClawでPM業務を自動化
knishioka
2
700
Other Decks in Technology
See All in Technology
書籍『生成AIの安全性入門』の入門
wataoka
0
220
Autonomous AI Databaseサービス・アップデート(FY27)/ adb-service-update-jp-fy27
oracle4engineer
PRO
0
120
20260906 「AWS運用入門」著者が教える、運用業務への生成AI活用入門
masaruogura
0
230
AIで仕事のやり方を変える
matsu7874
1
750
20260903 Tokyo Jazug Night #62 | Azure エンジニアよ、 その環境は本当にセキュアか?
olivia_0707
1
620
When Does a Local Qwen Start to Break
morshoto
0
180
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
250
Nav2、Nav3 ... はたまた自作?〜 作って理解する Nav3 の設計意図 〜 / Nav2, Nav3 ... or Build Your Own? — Understanding Nav3's design intent by building it from scratch
yanzm
0
250
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
110
Backstageでつくるセルフサービスな社内開発基盤
kikunosuke75
1
330
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
210
その指示、Bobにしっかり伝わってる?初心者でも即実践できる プロンプト/コンテキスト設計のコツ
muehara
1
160
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
Ethics towards AI in product and experience design
skipperchong
2
360
Ruling the World: When Life Gets Gamed
codingconduct
0
320
Side Projects
sachag
455
43k
Rails Girls Zürich Keynote
gr2m
96
14k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
690
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
560
Game over? The fight for quality and originality in the time of robots
wayneb77
1
260
Product Roadmaps are Hard
iamctodd
55
13k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
580
Transcript
外部のデータを結合し分析するためのソリューション AWS Clean Rooms 元データを保護したまま提供 2023/04/29 第22回勉強会
自己紹介 • 名前: 西岡 賢一郎 ◦ Twitter: @ken_nishi ◦ note:
西岡賢一郎@研究者から経営者へ (https://note.com/kenichiro) ◦ YouTube: 【経営xデータサイエンスx開発】西岡 賢一郎のチャンネル (https://www.youtube.com/channel/UCpiskjqLv1AJg64jFCQIyBg) • 経歴 ◦ 東京大学で位置予測アルゴリズムを研究し博士 (学術) を取得 ◦ 東京大学の博士課程在学中にデータサイエンスをもとにしたサービスを提供する株式会社ト ライディアを設立 ◦ トライディアを別のIT会社に売却し、CTOとして3年半務め、2021年10月末にCTOを退職 ◦ CDPのスタートアップ (Sr. PdM)・株式会社データインフォームド (CEO)・株式会社ディース タッツ (CTO) ◦ 自社および他社のプロダクト開発チーム・データサイエンスチームの立ち上げ経験
本日のお話 • 外部データを利用した分析 • AWS Clean Rooms • Clean Roomで使うテーブルの準備
• デモ
外部データを利用した分析
3rd Partyデータを用いた分析 • 自社で集められるデータには限界がある • 3rd Party (他社) とデータ結合をすることで詳細な分析が可能となる ◦
例: 広告の効果測定 広告効果測定は、3rd Party Cookieの規制により、複数プラットフォームをまたがったデー タの紐付けが難しくなり、異なる分析方法が必要となっている • 3rd Partyにデータを提供してもらい、データを結合して分析 • データ結合のために3rd Partyと共通となるキーが必要となる データ提供 3rd Party 自社データだけでは 十分な分析ができない 3rd Partyデータを用いて 詳細な分析ができる
他社データを結合する方法 • 属性で結合する方法などもあるが、個人識別子を使った結合のほうが精度の高い分析ができる • ただし、個人識別子を含むローデータを提供することが難しい
Data Clean Roomで安全に結合し分析 • ローデータを分析者に公開することなく結合し、分析できる環境を提供 • 集計結果に制約を設けることで、個人情報漏洩のリスクを下げることが可能 (完璧に防げるわけではない) • 個人情報の第三者提供をくぐり抜けるための銀の弾丸ではない
Data Clean Roomの分析イメージ
AWS Clean Rooms
AWS Clean Roomsの特徴 • 自分AWSを含め最大で5つのAWSアカウントでデータの連携が可能 • クエリの実行および結果の受け取りができるのは1つのAWSアカウントのみ • 集計結果に対して最小閾値を設定し、少ない集計結果による元データの推定 を防ぐ事が可能
• 自分が開始したクエリと自分のデータを含むクエリのログを受け取り可能 • 暗号コンピューティングにより、データを暗号化したまま保存・転送・処理 が可能
AWS Clean RoomsのMemberの種類 • Collaboration creator ◦ Collaborationを作成するアカウント ◦ 招待するMemberを決定
◦ 誰がクエリを実行できるかを決定 ◦ Query Logging, 暗号コンピューティングなどの利用有無を決定 ◦ クエリ実行者およびデータ提供者のどちらかになる • クエリ実行者 ◦ クエリを実行し、結果を受け取ることができるアカウント ◦ 1アカウントのみ設定が可能 ◦ Ability: Query, Receive results, Contribute data • データ提供者 (Contributor) ◦ データを提供するアカウント ◦ 提供したデータを使ったクエリのログを確認可能 (Query Loggingが Onのとき) ◦ Ability: Contribute data データ提供者 クエリ実行者 Collaboration Creator 必要なアカウントを招待し 自分もデータ提供者か クエリ実行者のどちらかになれる
Clean Roomで使うテーブルの準備
Clean Roomsで使用するテーブル • AWS Clean Roomsで使用するデータはAWS Glueのカタログになっている必要がある • AWS GlueでカタログとなったAmazon
S3テーブルのみサポートされている (2023/04/29現在) • 作成したClean Rooms用のTableは複数のCollaborationで使用することができる 出典: AWS Console
Clean Rooms用のテーブル設定 設定の手順 • AWS Glue tableからの選択 • Collaborationで許可するカラムを選択 (あとからの
変更が不可能) • Analysis ruleを設定
Clean Rooms用テーブルのAnalysis Rule • Aggregation Type ◦ COUNT、SUM、AVG関数を用いて統計情報を 任意の次元で集計するクエリーが可能 ◦
セグメント分析、測定、アトリビューション など • List Type ◦ クエリ可能なメンバーのテーブルの重なりの 行レベルのリストを出力するクエリを許可 ◦ データのエンリッチメントやセグメント構築 など
Analysis Rule Type: Aggregation • Aggregate functions ◦ 許可する集計関数とその関数を利用できるカラムを指定 ◦
COUNT, COUNT DISTINCT, SUM, SUM DISTINCT, AVGか ら選択可能 • Join controls ◦ 他のテーブルとINNER JOINするためのキーを設定 (複数 キー指定可能) ◦ JOINで使用するキーはクエリ結果には表示されない ◦ テーブル単体でのクエリ (JOINなしのクエリ) の許可 • Dimension controls (optional) ◦ 集計するためのディメンション (キー) を指定 • Scalar functions ◦ ABS, ROUND, CASTなど13個の関数 (2023/04/29現在) から選択 可能 ◦ 適用可能なスカラー関数を制御 ◦ ディメンション列に適用可能 ◦ 他の関数の上や他の関数内で使用できない • Aggregation constraints ◦ クエリ結果で返す行を制御 ◦ 最小の集計値を設定できる (2以上)
Analysis Rule Type: List • Join controls ◦ 他のテーブルとINNER JOINするためのキーを設定
(複数キー指定可能) ◦ JOINで使用するキーはクエリ結果には表示されない • List controls ◦ 出力できるカラムを指定 • AggregationのRule Typeに比べて指定する事項は少ない
Analysis Rule Typeの制約 • 異なる種類のAnalysis Rule Typeを使うクエリを走らせることはできない • AggregationのRuleを持つテーブルのみ、もしくはListのRuleを持つテーブ ルのみでクエリを構成する必要がある
AWS Clean Roomsでサポートされていないもの • SELECT以外のSQLコマンド • サブクエリおよびCTE (WITH句など) • 複数のクエリを結合する演算子
(UNIONなど) • TOP、LIMIT、OFFSETパラメータ
デモ • 2つのAWSアカウントのデータを用いた分析 • 広告に接触したユーザを分析 • 分析のステップ ◦ Collaborationの作成 ◦
Clean Room用のテーブルの設定 ◦ Analysis Ruleの設定 (Aggregation) ◦ クエリの実行 テーブル構造 分析者のテーブル データ提供者のテーブル