協調フィルタリング×アイテムベースの課題と対策
協調フィルタリング×アイテムベースを採用するレコメンド機能は、こうした基本処理をベースに開発されているが、この方法には以下のような課題がある。
- セットで購入するケースが少ない場合、レコメンドされない、またはレコメンドの精度が悪くなる
- レコメンドされるアイテムが人気の高いアイテムに偏る
- レコメンドされるアイテムが長期間掲載しているアイテムに偏る
- 同一アイテムに対する連続的な閲覧や、クローラーなどの閲覧によって偏る
- 関連性のないカテゴリのアイテムがレコメンドされてしまう
- 自動計算では意図的なレコメンドができない
これらの課題を改善するために、各社のレコメンド機能は、基本処理に加え、精度を向上するためのロジックを導入している。わが社のパーソナライズド・レコメンダーでは、ユーザー行動履歴情報の嗜好抽出方法や、さまざまな切り口による重み付けで精度を向上している。パーソナライズド・レコメンダー特有のロジックについては次回解説しようと思う。
なぜアイテムベースなのか
さて、ここでパーソナライズド・レコメンダーがアイテムベースを採用している理由について解説しよう。それは、ECサイトに訪れるユーザーの利便性と、ASPサービスとしての運用を考慮したためである。
協調フィルタリングは、判別属性をユーザーベースとしたケースを基に解説されることが多いが、それは、文字通りユーザー個人の行動履歴を活用したレコメンドを実現できるからである。しかしケービーエムジェイは、ユーザーベースでは前述した協調フィルタリングの欠点を回避することが困難で、ECサイトが必要とする機能としては適切でないと考えている。
図3の?「セットで購入されるアイテム間の関連性」と同様のデータから、ユーザーベースを採用した場合の基本処理を概念的に図解すると図4のようになる。
ユーザーベースの基本処理では、このデータから、ユーザーEと類似性の高い嗜好を持つユーザーを見つける必要がある。ここでは、「ユーザーEとの類似性」を「購入履歴の一致回数÷ユーザーの購入回数」で簡易的に算出する。そうすると、ユーザーAが最も類似性の高い嗜好であることがわかり、ユーザーEにレコメンドすべき商品は、商品e だということがわかる。そして、ユーザーごとの嗜好データを保有し、個別に照らし合わせる処理が発生し、膨大なデータ量を管理する必要がある。
この基本処理における大きな問題点として、下記の3点が挙げられる。
- 他人に頼まれたものや、数年に一度しか購入しないものを購入した場合、当面そのユーザー嗜好データを基にレコメンドされてしまう
- アイテムベースとは違い、ユーザーごとのデータ蓄積を必要とする。初回訪問者は、ユーザー嗜好データがないため、レコメンドされない
- アイテムベースに比べてデータ量が膨大でデータ管理コストもかかるため、低価格なASPサービスに適さない
これに対しアイテムベースでは、大多数のユーザー行動履歴を基にアイテム間の関連性を分析しているため、例えレアな商品を購入したとしても、レコメンドに影響することがほとんどない。また、初回ユーザーでも他のユーザーと同様のレコメンドが可能となるほか、データ量を商品ごとの関連性に抑えることでコスト削減を図り、低価格のASPサービスを安定的に供給できる。これが、協調フィルタリング×アイテムベースを採用している理由だ。
次回は、パーソナライズド・レコメンダーで導入されている「協調フィルタリング課題解決方法」について解説しようと思う。
筆者紹介
高島理貴(たかしま まさき)
ケイビーエムジェイ インターネットプロダクト&マーケティング事業部 プランニング&コンサルティング グループ アクセス解析チーム チームリーダー Newビジネス企画 担当。埼玉県生まれ。年間総計30億ページビュー以上のサイトを解析し、クライアントのサイトの成長をお手伝いするアクセス解析コンサルタント。