Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
意外と簡単!「この商品を買った人はこんな商品も買っています」を作ってみよう
Search
yuta ishizaka
September 08, 2016
Technology
790
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
意外と簡単!「この商品を買った人はこんな商品も買っています」を作ってみよう
勉強会資料です。
テストデータなどはイベント開催ページにて。
http://d-cube.connpass.com/event/39131/
yuta ishizaka
September 08, 2016
More Decks by yuta ishizaka
See All by yuta ishizaka
ProductZine webiner資料
yutaishizaka
0
78
s-dev talks #2 〜チームビルディング〜 LT資料
yutaishizaka
3
680
業務ハックのためのPFDのすゝめ
yutaishizaka
1
330
スタートアップ2人目エンジニアのリアル
yutaishizaka
2
490
product_kaizen_night
yutaishizaka
1
710
Other Decks in Technology
See All in Technology
iOSDC Japan 2026 day1 TrackC 10:50
feedtailor
1
160
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
0
2.2k
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
810
俺の仕事は AIに奪われないし、たぶんその BIも要らない
hikaruri
0
470
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
150
データ_AIの事業の勝敗をわけるもの
nek0128
0
350
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
720
Genieを崇めよ
kameitomohiro
0
120
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
350
range over func 2年間の軌跡 Issue #56413 はGoのエコシステムをどう変えたか
ryujicre8ive
0
190
AIによるクリエイティブ生成を行う上での試行錯誤
plaidtech
PRO
0
140
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Visualization
eitanlees
152
17k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
HDC tutorial
michielstock
2
870
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
250
WENDY [Excerpt]
tessaabrams
14
39k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
GraphQLとの向き合い方2022年版
quramy
50
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Transcript
株式会社ビズリーチ 1 意外と簡単! 「この商品を買った人はこんな商品も 買っています」を作ってみよう
Copyright © 2016 BizReach Inc. All Right Reserved. これ⾒見見たことありますか?
2
Copyright © 2016 BizReach Inc. All Right Reserved. これ⾒見見たことありますか?
3 Amazon
Copyright © 2016 BizReach Inc. All Right Reserved. これ⾒見見たことありますか?
4
Copyright © 2016 BizReach Inc. All Right Reserved. これ⾒見見たことありますか?
5 YouTube
Copyright © 2016 BizReach Inc. All Right Reserved. 6
これを作ります
Copyright © 2016 BizReach Inc. All Right Reserved. アジェンダ
• ⾃自⼰己紹介 • レコメンドとは – 代表的なレコメンド⼿手法 • 作ってみよう – 環境作り – 実際に作ってみる 7
Copyright © 2016 BizReach Inc. All Right Reserved. ⾃自⼰己紹介
名前: ⽯石坂優太 職歴: 2008/4-‐‑‒2015/5 パイオニア(PM、アーキテクト) 2015/5-‐‑‒now ビズリーチ(企業向けサービスのグロース) スキル: C++, Java, Python, Rails, iOSApp, etc... 8
Copyright © 2016 BizReach Inc. All Right Reserved. ⾃自⼰己紹介
9
Copyright © 2016 BizReach Inc. All Right Reserved. レコメンドとは
• レコメンド(recommend)とは? 10
Copyright © 2016 BizReach Inc. All Right Reserved. レコメンドとは
• レコメンド(recommend)とは? 11 おすすめする
Copyright © 2016 BizReach Inc. All Right Reserved. 有名なレコメンド
• Amazon – ある商品を買った⼈人に、おすすめ商品を表⽰示することで、更更なる購⼊入を誘う – テンション・リダクション効果を狙っている • YouTube – ある動画を観た⼈人に、おすすめ動画を表⽰示することで、更更に視聴を促す 12
Copyright © 2016 BizReach Inc. All Right Reserved. レコメンドの効果
• 趣味嗜好に合わせた選択肢を提⽰示するので、コンバージョン率率率が⾼高い – 特に協調フィルタリングは好みを考慮するので効果が⾼高い • 利利⽤用者が思いつかない選択肢を提⽰示できる – 検索索では、利利⽤用者が思いつく選択肢にしかたどり着けない 13
Copyright © 2016 BizReach Inc. All Right Reserved. 代表的なレコメンドの⼿手法
• コンテンツ(内容)ベース – テキスト情報や属性情報などの内容で近さを評価し、内容が近いものをオ ススメする • 協調フィルタリング – 購⼊入者同⼠士の好みの類似性で近さ評価し、好みが近い⼈人が好きな商品をレ コメンドする 14
Copyright © 2016 BizReach Inc. All Right Reserved. 代表的なレコメンドの⼿手法
• コンテンツ(内容)ベース – テキスト情報や属性情報などの内容で近さを評価し、内容が近いものをオ ススメする • 協調フィルタリング – 購⼊入者同⼠士の好みの類似性で近さ評価し、好みが近い⼈人が好きな商品をレ コメンドする → AmazonやYouTubeは基本的にこっち 15
Copyright © 2016 BizReach Inc. All Right Reserved. コンテンツベース
16 ・新宿に住んでいる ・好きな食べものジャンルにカレーを登録している 新宿の飲み屋グループ 新宿のカレー屋グループ 原宿のカレー屋グループ ↓お店の情報をあらかじめ分析してグルーピング
Copyright © 2016 BizReach Inc. All Right Reserved. コンテンツベース
17 ・新宿に住んでいる ・好きな食べものジャンルにカレーを登録している 新宿の飲み屋グループ 新宿のカレー屋グループ 原宿のカレー屋グループ
Copyright © 2016 BizReach Inc. All Right Reserved. コンテンツベース
18 ・新宿に住んでいる ・好きな食べものジャンルにカレーを登録している 新宿の飲み屋グループ 新宿のカレー屋グループ 原宿のカレー屋グループ 内容が近いのでオススメする
Copyright © 2016 BizReach Inc. All Right Reserved. レコメンドの⼿手法(協調フィルタリング)
19
Copyright © 2016 BizReach Inc. All Right Reserved. レコメンドの⼿手法(協調フィルタリング)
20 購入!
Copyright © 2016 BizReach Inc. All Right Reserved. レコメンドの⼿手法(協調フィルタリング)
21 同じものを買った!
Copyright © 2016 BizReach Inc. All Right Reserved. レコメンドの⼿手法(協調フィルタリング)
22 こっちは買ってない
Copyright © 2016 BizReach Inc. All Right Reserved. レコメンドの⼿手法(協調フィルタリング)
23 おすすめする
Copyright © 2016 BizReach Inc. All Right Reserved. 作ってみよう
• AmazonやYouTubeで使われている「協調フィルタリング」のレコメンド を作ります – 近さの評価の仕⽅方は⾊色々ありますが、⼀一番シンプルなやつをつくりま す • Pythonで作ります – Pythonはデータ分析系のライブラリが充実しているので、レコメンド や機械学習に向いている 24
Copyright © 2016 BizReach Inc. All Right Reserved. 開発環境を作る
• Windowsの場合 http://qiita.com/koara-‐‑‒local/items/8d48d0306c85c61aed97 ※⼿手順4で pip install pandas もやる 25
Copyright © 2016 BizReach Inc. All Right Reserved. 開発環境を作る
• Macの場合 1. pythonのバージョン確認 python -‐‑‒-‐‑‒version 2. jupyterのインストール sudo pip install jupyter 3. pandasのインストール sudo pip install pandas 4. jupyter起動 jupyter notebook 26
Copyright © 2016 BizReach Inc. All Right Reserved. 実際に作ってみる
• とあるECサイトのユーザーのAさんが買い物をした時に、オススメの商品を5件表⽰示 する 27 購入! おすすめ!
Copyright © 2016 BizReach Inc. All Right Reserved. 実際に作ってみる
1. 購⼊入履履歴データを読み込む testdata.csv を⽤用意しました。 2. 購⼊入履履歴データを各お客さんごとにまとめる 後の計算をわかりやすくするためにデータを整形します。 {“Aさん” : [“商品A”, “商品B”, “商品C”], “Bさん” : [“商品B”]・・・} のようなデータに整形します。 3. レコメンドしたい対象(Aさん)とその他の共起数をとる 共起数 = 購⼊入したものが⼀一致している数 4. 共起数が⾼高い順にオススメとして表⽰示する 購⼊入したものの⼀一致数が多いほど、好みが近いため、優先的に表⽰示しましょう。 28
Copyright © 2016 BizReach Inc. All Right Reserved. testdata.csv
29
Copyright © 2016 BizReach Inc. All Right Reserved. ⾏行行動データの読み込み
30 conversionsには、 [(‘Aさん’,’商品A’), (‘Aさん’, ‘商品B’), (‘Bさん’, ‘商品C’), (‘Bさん’, ‘商品G’)・・・] のようなデータが入ってきます。 これを {“Aさん” : [“商品A”,“商品B”], “Bさん” : [“商品B”,“商品C”]・・・} のようなデータに一度変換します。
Copyright © 2016 BizReach Inc. All Right Reserved. 共起
31 1個被ってる ので、共起1 2個被ってる ので、共起2
Copyright © 2016 BizReach Inc. All Right Reserved. レコメンドの⼿手法
• 協調フィルタリングの弱点 – 特定の商品が集中してレコメンドされやすい • 誰からも好みと思われなかった商品はレコメンドされない • Amazonのようなレコメンドでは、商品数が無制限なので、ひとつの商品が集中 してレコメンドされても問題にならない(みんな買える) • Pairsのような⼈人材マッチングだと問題になる(1000⼈人の⼥女女性に1⼈人のモテ男性を 薦めても、マッチング成⽴立立するのは1⼈人だけなので、効率率率が悪いし、成⽴立立しない マッチングを薦めるのは顧客体験を損ねる) – ⾏行行動をベースにするので、⾏行行動がなければレコメンドできない • つまり、新規のお客さんにはレコメンドできないので、⼯工夫が必要 → コールドスタート問題 と⾔言います 32
Copyright © 2016 BizReach Inc. All Right Reserved. 付録
• Pythonのデータ分析等でよく使うライブラリ – Numpy – scikit-‐‑‒learn 33