エンジニア日記 データ分析

【データ分析】データマーケティングにおけるレコメンド手法の一覧まとめ

この記事は約5分で読めます。

 

レコメンドとは

 

レコメンドとはそのまま文字通りの意味で「推薦」。ECサイトなどで自分の購買履歴や属性情報に基づいてオススメの商品を紹介してくれる仕組みです。

 

  • この記事を見た人はこの記事も見ています。
  • この動画を見た人はこの人の動画を高く評価しています。
  • あなたと似ているユーザはこの人です。

 

ようはこんなやつのことですね。

 

レコメンドシステムの種類

 

レコメンドの手法について一通り調べたところ大枠としては以下のように分類されているみたいです。

 

  • ルールベース
  • コンテンツ(内容)ベースフィルタリング
  • 協調フィルタリング
  • 知識ベースフィルタリング
  • ハイブリッドフィルタリング

 

f:id:oruka199665:20220402163346p:plain

引用:協調フィルタリングって何?商品のおすすめ機能を学…|Udemy メディア

 

ポぴゅらリティ

 

人気ランキングみたいな売れ筋商品の紹介みたいなイメージ。まあこれもデータベースにソートかけてREST APIで呼び出すみたいな感じで実装できそうなレベル。

 

ルールーベース

 

「商品Aを購入したユーザーには、関連した商品Bをおすすめする」「20代の女性ユーザーにはこれを勧める」といったもの。ようはプログラミングやエクセルのIF文程度で実装できそうな単純なロジックのことを指すようです。

 

コンテンツベースフィルタリング(content base)

 

コンテンツベースフィルタリング(content base filtering)は、アイテムの特徴をもとにユーザが過去に高評価したアイテムと似た特徴を持つアイテムをレコメンドする手法です。ただアイテムの特徴のラベル付け(アノテーション)部分でドメイン知識が要求されるため、職人芸に頼らざるを得ない部分があるようでクライアントとの連携を強化する必要がありそうです。なので単純にレコメンド作って的にぶん投げられている場合は少し実装の段取りに手間取りそうというイメージ。

 

参照:実装して理解するレコメンド手法〜コンテンツベースフィルタリング │ キヨシの命題

 

協調フィルタリング

 

アマゾンみたいなECサイトで買い物をしていると、「この商品を買った人はこんな商品も買っています」という表示をよく見かけます。これに使われているのが「協調フィルタリング」という仕組みです。詳しい話はアルベルト様の公式ブログが分かりやすかったので抜粋します。

 

協調フィルタリングとは、ある対象者が商品をチェックまたは購入したデータと、対象者以外がチェックまたは購入したデータの両方を用い、その購入パターンから人同士の類似性、または商品間の共起性をアソシエーション分析(相関分析)で解析し、対象者個人の行動履歴を関連づけることでパーソナライズされた商品を提示することができる手法です。前提となっている仮説は「自分に似ている人の評価と自分の評価は似ているだろう。従って、自分は持っていないが自分に似ている人が持っている商品は欲しいに違いない!」というものです。従って、多くの顧客の中から自分に似ている人々を探しだし、その人々が持っていて自分が持っていないものをおすすめするのが基本となっています。

 

協調フィルタリングは、商品スペックの関連性や商品閲覧の共起性だけで推薦するわけではなく、購買データ等を基に人と人の類似性を定義し、自分が似た人が持っていて自分が持っていない商品を推薦するのが基本なので、意外性のある商品を提示すること(セレンディピティ)もでき、よりコンバージョンレートのアップが見込まれる手法です。

引用:https://www.albert2005.co.jp/knowledge/marketing/recommendation_basics/collaborative_filtering

 

 

・協調フィルタリングの強み(メリット)

(1)相関の要因を知らなくても予測が可能である。
(2)アイテムの特徴を知ることなしにおすすめとして挙げることが可能である。
(3)異なるジャンルのアイテムでもおすすめすることが可能である。

 

・協調フィルタリングの欠点(デメリット)

類似度の高い利用者の行動履歴にないアイテムは誰も評価していないアイテムということになるので、情報の少ない新製品やマイナー商品を適切にオススメや、購買ログが溜まっていない状態で実装することが困難(コールドスタート問題)

 

 

恐らく普通のマーケターには難しくて分析会社とかにわざわざ依頼してくる「機械学習でいい感じに商品をレコメンドして売り上げを伸ばしたい」みたいなケースだとまずは協調フィルタリングを使ってみるというのが無難かなと思います。

 

ただ最初自分は「協調フィルタリング」というのはK-MEANS的な特定のアルゴリズムを指すワードだと思っていたのですが、調べると協調フィルタリングは概念的に結構広義で、アルゴリズムのアプローチもKNNやディープラーニングを用いる手法など様々あるようなので、協調フィルタリング使います!→ 具体的にはどのアルゴリズム使えばいいんだ…?ってなったので、ここからは協調フィルタリングで検索して出てきた各アルゴリズムについて堀り下げていきます。

 

続き→【Python】協調フィルタリングを使った機械学習レコメンドアルゴリズムの一覧とコード実装

 

参照:https://qiita.com/k-oto/items/7790941656fba0068ed8

参照:https://blog.brainpad.co.jp/entry/2017/02/03/153000

参照:https://yolo-kiyoshi.com/2020/06/22/post-1947/

 

コメント

タイトルとURLをコピーしました