レコメンド機能

レコメンド機能とは

 現在では、インターネット上で商品やサービスを販売する多くのウェブサイトが存在します。これらのウェブサイトでは、利用者により多くの商品を見てもらい、より多くの利用者に商品を購入してもらうため、様々な工夫をしています。
 例えば、通販サイトでは、「この商品を買った人はこんな商品も買っています。」といった表示(レコメンド)をよく目にします。これは、"レコメンド機能"と呼ばれるものです。レコメンド機能は、ウェブサイトへのアクセス履歴などの膨大な情報を取集し、利用者と類似した商品やカテゴリに関心を持っている他の利用者を関連づけ、グループ化し、類似した利用者がよく見ているが、利用者がまだ見ていない商品を表示させる仕組みです。
 このため、レコメンド機能は、利用者が今まで存在を知らなかった商品に気づくきっかけとなり、利用者の潜在的なニーズの引き出しに貢献しています。

協調フィルタリングの概要

 レコメンド機能は、次のような3つの段階を経て、レコメンドが表示されます。

 1.レコメンドするために、ウェブサイトへのアクセス履歴などの必要な情報の取集。
 2.取集した情報をルールに基づきモデル化。
 3.特定条件によりマッチングした商品を表示。

 レコメンド機能の仕組みにはいくつかの方式がありますが、よく用いられているのは「協調フィルタリング」と呼ばれる方式です(※1)。「協調フィルタリング方式」には、ウェブサイトのアクセス履歴などの利用者の行動履歴を基に、

 1.商品間の関連性を分析し、ある商品を表示したときに関連性の高い商品を表示する方式(アイテムベース)
 2.利用者の好みの類似値を分析し、好みが似た利用者がチェックした、他の商品を表示する方式(ユーザーベース)

があります。ここでは、「協調フィルタリング方式(アイテムベース)」の仕組みを簡単に紹介したいと思います。

 まず始めに、利用者の行動履歴情報を取集します。具体的には、利用者Aが商品c を購入した際の履歴がデータベースに蓄積されます。この繰り返しで蓄積される情報を基に、図1のようなクロス集計が作成されます。

図1 利用者と商品の購入履歴のクロス集計

利用者と商品の購入履歴のクロス集計

 

 協調フィルタリングの基本処理を概念的に説明すると、4段階のクロス集計のプロセスを経てルールが作成されます(図2)。

図2 協調フィルタリング(アイテムベース)の処理の流れ(イメージ)

協調フィルタリング(アイテムベース)の処理の流れ(イメージ)

 1段階目では「セットで購入される商品間の関連性」を集計するため、商品ごとの購入回数は無視して、一度でも購入があった場合を「1」、全く購入が無かった場合を「0」とし、購入履歴の有無に図1の集計表を変換します。図2の(1)をみると、商品aと商品cをセットで購入した人は、利用者A、利用者C、利用者Dの3人とわかります。
 2段階目は、「同一利用者が購入した商品の組合せの回数」を集計し、軸商品とセット購入された商品の関連性を分析します。図2の(2)をみると、軸商品の商品aとセットで購入した商品cとの組み合わせの回数は3回とわかります。
 3段階目は、「組み合わせの総和からセット購入される商品の割合」を計算します。そして、4段階目にこの割合を一覧にすることにより、「商品aを購入した人に対して商品cを43%、商品dを29%、商品bを14%、商品eを14%の割合でレコメンドする」というルールが作成されます。これが協調フィルタリング方式(アイテムベース)の基本的な処理の流れとなります。

 なお、協調フィルタリング方式を採用するレコメンド機能には、「セットで購入するケースが少ない場合、レコメンドの精度が悪くなる」などの課題があります。このため、各企業のレコメンド機能には、上記の基本処理に加えてレコメンドの精度向上のため、独自の仕組みを導入しているようです。

(※1) レコメンド機能は、「協調フィルタリング方式」以外にも、18世紀にトーマス・ベイズが発表した「確率問題の解決のためのエッセイ」を起源とするベイズ理論を応用した「ベイジアンネットワーク方式」があります。これは、多くのコンテンツ情報や利用者の行動履歴などの細部にわたる事象を計算し、利用者が購入する確率の高い商品がレコメンドできると考えられるため、次世代のレコメンド方式として注目されています。

 

参考文献

ZDNet Japanウェブサイト