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
意外と簡単!「この商品を買った人はこんな商品も買っています」を作ってみよう
Search
yuta ishizaka
September 08, 2016
Technology
780
3
Share
意外と簡単!「この商品を買った人はこんな商品も買っています」を作ってみよう
勉強会資料です。
テストデータなどはイベント開催ページにて。
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
70
s-dev talks #2 〜チームビルディング〜 LT資料
yutaishizaka
3
670
業務ハックのためのPFDのすゝめ
yutaishizaka
1
330
スタートアップ2人目エンジニアのリアル
yutaishizaka
2
480
product_kaizen_night
yutaishizaka
1
700
Other Decks in Technology
See All in Technology
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
74k
最初の一歩を踏み出せなかった私が、誰かの背中を押したいと思うようになるまで / give someone a push
mii3king
0
160
AgentCore×VPCでの設計パターンn選と勘所
har1101
3
280
明日からドヤれる!超マニアックなAWSセキュリティTips10連発 / 10 Ultra-Niche AWS Security Tips
yuj1osm
0
590
Hacobu Tech Deck
hacobu
PRO
0
110
ぼくがかんがえたさいきょうのあうとぷっと
yama3133
0
190
プラットフォームエンジニアリングの実践 - AWS コンテナサービスで構築する社内プラットフォーム / AWS Containers Platform Meetup #1
literalice
1
160
AIはハッカーを減らすのか、増やすのか?──現役ホワイトハッカーから見るAI時代のリアル【MEGU-Meet】
cscengineer
0
160
基盤を育てる 外部SaaS連携の運用
gamonges_dresscode
1
120
AI駆動1on1〜AIに自分を育ててもらう〜
yoshiakiyasuda
0
120
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
910
AI時代のガードレールとしてのAPIガバナンス
nagix
0
280
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
440
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
340
A better future with KSS
kneath
240
18k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Designing for humans not robots
tammielis
254
26k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Mind Mapping
helmedeiros
PRO
1
150
Optimizing for Happiness
mojombo
378
71k
Design in an AI World
tapps
1
200
Six Lessons from altMBA
skipperchong
29
4.2k
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