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
3
750
意外と簡単!「この商品を買った人はこんな商品も買っています」を作ってみよう
勉強会資料です。
テストデータなどはイベント開催ページにて。
http://d-cube.connpass.com/event/39131/
yuta ishizaka
September 08, 2016
Tweet
Share
More Decks by yuta ishizaka
See All by yuta ishizaka
ProductZine webiner資料
yutaishizaka
0
57
s-dev talks #2 〜チームビルディング〜 LT資料
yutaishizaka
3
630
業務ハックのためのPFDのすゝめ
yutaishizaka
1
300
スタートアップ2人目エンジニアのリアル
yutaishizaka
2
450
product_kaizen_night
yutaishizaka
1
660
Other Decks in Technology
See All in Technology
バックオフィス向け toB SaaS バクラクにおけるレコメンド技術活用 / recommender-systems-in-layerx-bakuraku
yuya4
2
260
ゆるくVPC Latticeについてまとめてみたら、意外と奥深い件
masakiokuda
2
230
20250413_湘南kaggler会_音声認識で使うのってメルス・・・なんだっけ?
sugupoko
1
360
IVRyにおけるNLP活用と NLP2025の関連論文紹介
keisukeosone
0
180
アセスメントで紐解く、10Xのデータマネジメントの軌跡
10xinc
1
340
Webアプリを Lambdaで動かすまでに考えること / How to implement monolithic Lambda Web Application
_kensh
7
1.2k
【日本Zabbixユーザー会】LLDを理解するときの勘所 〜LLDのある世界を楽しもう!〜
yoshitake945
0
110
大AI時代で輝くために今こそドメインにディープダイブしよう / Deep Dive into Domain in AI-Agent-Era
yuitosato
1
260
LLM as プロダクト開発のパワードスーツ
layerx
PRO
1
190
AIエージェント開発における「攻めの品質改善」と「守りの品質保証」 / 2024.04.09 GPU UNITE 新年会 2025
smiyawaki0820
0
400
Cursor AgentによるパーソナルAIアシスタント育成入門―業務のプロンプト化・MCPの活用
os1ma
8
2.3k
「それはhowなんよ〜」のガイドライン #orestudy
77web
9
2.4k
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
2.9k
The Cult of Friendly URLs
andyhume
78
6.3k
Done Done
chrislema
183
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.4k
Raft: Consensus for Rubyists
vanstee
137
6.9k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
For a Future-Friendly Web
brad_frost
176
9.7k
GraphQLとの向き合い方2022年版
quramy
46
14k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
Automating Front-end Workflow
addyosmani
1369
200k
Music & Morning Musume
bryan
47
6.5k
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