分かった気になれる! レコメンドって何?
投稿日: 2018/06/12
レコメンド
「 レコメンド 」という言葉を最近良く耳にしますね。
ビジネス、特にオンラインショッピングで良く使われているのかと思います。
知ったかぶりは良くないのでちょっと調べてみたのですが、これがまた奥が深い。
なので、小難しい理論はいったん抜きにして、触りだけを 分かった気になれる感じでまとめてみます。
レコメンドとは
言葉の意味
レコメンドという言葉は、英語の「recommend」から来ている言葉です。
発音はrèkəménd。意味は「推薦する」「推奨する」です。
もう少し噛み砕くと「 おすすめする 」ですね。
英語圏の人も普通に使う単語のようなので、和製英語というわけでもなさそうです。
ネイティブな発音を目指すと、レコメンドではなくリコメンドとも言われますね。
recommendは動詞なので、正確には名詞のrecommendationが正しい呼び方なのかなと思いますが、私は英語が苦手なのであまり気にしていません。
どんなときに使うか
基本的にはビジネスシーンで使う言葉ですね。
特にオンラインショッピングを運営している人が、ユーザー(消費者・購入者)に対して 商品を買ってもらうための施策として使われているようです。
「広告を打つ」のように「レコメンド(広告)を打つ」という表現もされたりします。
レコメンドの考え方
レコメンドがおすすめすることだと分かりましたが、ただ単に闇雲におすすめをするわけではありません。
ある考え方によっておすすめのやり方は変わってきます。
レコメンド自体、日々考え方が進化していてはいるのですが、今回は 基本的な4つの考え方を紹介します。
4つの考え方は次の通りです。
- ルールベース
- コンテンツベースフィルタリング
- 協調フィルタリング(アイテムベース&ユーザーベース)
- ベイジアンネットワーク
用語の説明
アイテムとは、商品のことです。
商品の属性も含まれてます。
コンテンツとは、商品のカテゴリのことです。
内容を示すものではないので注意してください。
ルールベース
ルールベースとは、ある 運営者が決めた特定の基準に基づいて、おすすめのアイテムを決める考え方です。
ユーザーやアイテムに左右されない考え方ですね。
例えば次のようなものが挙げられます。
- 人気商品ランキング上位のものをおすすめ。
- A社とタイアップ中なので、A社のアイテムをおすすめ。
- 新商品が発売されたので、それをおすすめ。
- 私が好きなものをおすすめ。
一定のルールであれば、何でもいいですね。
シンプルなロジックなので、 レコメンドシステムを作りやすいというメリットがあります。
デメリットは、決め打ちなので ユーザーにとって刺さらない可能性があることや、コンテンツが増えると ルールの管理が大変になることが考えられます。
コンテンツベースフィルタリング
コンテンツベースフィルタリングとは、 商品のカテゴリが同じものをおすすめする考え方です。
- ハンバーガーを買った人に、ポテトをおすすめ。
- ジャケットを買った人に、Tシャツやパンツをおすすめ。
など、同じカテゴリの中で隣にある商品をおすすめするイメージですね。
コンテンツベースフィルタリングも、ある程度 ロジックは組みやすいというメリットがあります。
デメリットとしては、そのカテゴリ内の商品の母数が少ないと、 いつも同じおすすめになってしまうことです。
協調フィルタリング
協調フィルタリングは、 似た者同士をおすすめする考え方です。
似ている商品をおすすめするアイテムベースと、似ているユーザーにおすすめするユーザーベースの2つの考え方があります。
最近良く言われるレコメンド手法は、大体この協調フィルタリングを指していることが多いですね。
良くある例としては次のようなものが挙げられます。
- この商品を買った人はこちらの商品を買っています。
- あなたと同じ30代男性はこちらの商品を良く買っています。
上の例はユーザーベースの協調フィルタリングです。
アイテムベースだと、
- マクドナルドのビックマックが好きな人に、クォーターパウンダーをおすすめ。
- ユーチューバーのヒカキンが好きな人に、セイキンをおすすめ。
のような感じです。
簡単な図にしてみましたので、そちらも参考にしてください。
この協調フィルタリングは、いわゆる似た者同士をおすすめするので、 ユーザーにより刺さりやすいというメリットがあります。
逆に、たまたま見た商品があまり好みではなかった場合に 的外れなおすすめをし続けてしまうというデメリットもあります。
また、商品の母数が少ないとうまく機能しない可能性も秘めています。
ベイジアンネットワーク
聞きなれない言葉ですね。
ベイジアンネットワークは、 ユーザーの行動に着目したレコメンドの考え方です。
ユーザーがある行動を取ったとき、次にする行動を予測しておすすめする商品を決めるという考え方です。
例えば次のようなものが挙げられます。
- 雨が降ったので、濡れてしまう。なので、傘をおすすめしよう。
- 雨が降ったので、家で過ごす人が増える。なので、Amazonプライムをおすすめしよう。
季節ものなどは良い例に挙げられるような気がします。
他にも、「全員ではなく、たくさん利用したユーザーにだけシェアを要求する」というやり方もユーザーの行動心理に基づいた考え方ですね。
※直接的なおすすめではないので少し趣旨から外れますが......。
ベイジアンネットワークは、コンテンツベースフィルタリングや協調フィルタリングのように母数が少ない場合の問題をかかえないというメリットがあります。
行動予測をするので、 商品の種類や絶対数に左右されないのです。
逆に、似た者同士の確立が下がるので、 ユーザーに刺さらない可能性が高いデメリットも持っています。
レコメンド手法の問題
4つの考え方を知ってみて、それぞれ特徴やメリデメを見てみると共通して問題となっているものがありました。
「 データの母数が少ないと良いレコメンドができない」ですね。
この問題は、ベイジアンネットワークの考え方が出てきたように、そのうちビッグデータに頼らないやり方がどんどん出てくることでしょう。
また、考え方は分かったはいいものの、いざロジックを組もうとすると「 高度な数学知識が必要 」という問題も抱えています。
私が頭が悪いだけかもしれませんが、数式を組み合わせてレコメンドロジックを作るのはやはりハードルが高いと思います。
個人的には、無料で使えるレコメンドエンジンが増えていくことを願っています。
終わりに
ひとことでレコメンドと言ってもなかなか奥が深く、難しいですね。
拙い頭でかみ砕いているので、間違った理解も多いかもしれません。
計算ロジックまで踏み込むと、本当に難し世界に突入します。
今回は「 分かった気になれる 」を目標とするのでここまで。
なんとなく、明日隣の人にレコメンドについてちょっと語れるくらいになってもらえたら幸いです。
参考リンク
レコメンドについては、次のスライドが参考になります。
本記事では触れていない「計算方法」についても詳しく説明があります。
難しい内容ですが、読み応えがありました。もっと詳しく知りたい方は読んでみてはいかがでしょうか。
ベイジアンネットとレコメンデーション -第5回データマイニング+WEB勉強会@東京