ガジェット通信

見たことのないものを見に行こう

なぜ、俺に赤いフリースの靴下を推薦してくるんだ?──レコメンドの仕組みと機械学習

DATE:
  • ガジェット通信を≫

「こんな商品も買っています」の背景には…

Amazonでのショッピング中に目につく、「この商品を買った人はこんな商品も買っています」の欄。

コナン・ドイルのシャーロックホームズ『緋色の研究』のページを見ている人に、『四つの署名』をオススメして来るのはまだわかる。しかし、「何で俺にこんなモノを…?」と訝しんでしまうような商品が、オススメされていることってありませんか?

または逆に、自分の好みを見事に網羅したオススメラインナップに、思わず唸ってしまったという経験はありませんか?

その体験は「レコメンデーション技術」という黒子に支えられています。エンジニアの貴方なら、仕組みが気になるはず。

この記事では様々なレコメンデーション技術と、HOTなトピック「機械学習」との絡みを解説していきます。

一度見た商品を推薦する、従来型「リマーケティング」

ECサイトよりは、主にWebサイトやWebサービスの宣伝手法ですが、よい比較対象として従来型の「リマーケティング」を引き合いに出してみましょう。

リマーケティングとは、一度閲覧したWebサイトがユーザーにCookieを付与し、追いかけていくタイプの広告です。主に、検索エンジンやWebサイトの広告欄で表示されます。

リマーケティングの使いどころは、何らかの理由でWebサイトを去ったユーザーに再度アクションを促すことや、「詰替用の洗剤」のように繰り返しの購買が見込める商品広告を適切なタイミングで出し、リピートしてもらうことなどにあります。

ちなみに「リターゲティング」という同義の用語もありますが、Googleのネットワーク上で展開されるのが「リマーケティング」、
Yahoo!のネットワークなら「リターゲティング」と呼ばれ、一種の縄張り争いのようですね。

もう一歩考えを進めた「動的リマーケティング」では、ユーザーがサイトのどのページを閲覧したかまで記憶し、その履歴に対して最適な商品広告等を配信します。

しかし、レコメンデーション技術はこれらとは全く異質なもの。なぜなら、「まだ見たことのない商品」でも、推薦対象としてふさわしい可能性があるからです。

すなわち、最新のレコメンデーション技術を成立させるには、単なるユーザーの追跡では不十分で、「あるユーザーに最適な推薦対象をどうやって見つけるか」という、分析的な側面がなくてはならないのです。

嗜好のドッペルゲンガーたちを利用する「協調フィルタリング」

ここで登場するのが「協調フィルタリング」という数理・統計的手法です。協調フィルタリングは、端的に言えば以下のような手続きで行われます。

Webサイト上でのユーザーの購買行動、例えば「商品aを買った/閲覧した/閲覧しなかった」「レビューのスコアが5/4/3/2/1」などの嗜好データをユーザ毎に収集・保管する。
サイトを訪れたユーザーAの嗜好データに対し、データベース上の全ユーザーがどの程度「近い」嗜好を持っているか、スコア付けしていく。
2.で付けたスコアを重みとして、各商品に対する評点を計算する。

それぞれのステップについて、より具体的に補足していきましょう。

1.でのデータ格納は、機械学習と相性のよいPythonでいえば、ネストされたディクショナリを使うのが一般的です。そうすれば(ユーザー,商品)の組に対して評点にアクセスすることが容易であり、後のステップがスムーズに進行します。
2.でサイトを訪れたユーザーAと、データブック上のユーザーたちとの「近さ」は、主にユークリッド距離や、ピアソン相関係数といった尺度により評価されます。
3.データベース上のユーザー に対する重み付け(類似度)を,各ユーザーの商品aに対する評点を で表すと、ユーザーAが商品aに対して持つであろう評点の予測は を正規化することで得られます。

このシステムが結果的に実現するのは、ユーザーAに対して嗜好の近いユーザーA’がいれば、その評点が色濃く反映するという評点予測システムです。

A’はAが未経験のモノにいろいろと触れているはずですから、その評点をAに対するレコメンドに活かすことができます。

いわば、流入したユーザーAに対して「嗜好のドッペルゲンガー」を多数見つけ出し、彼らの経験を流用することによって、Aに対するレコメンドを行っている。これが協調フィルタリングの基本的な仕組みです。

より詳しい内容やコーディングについて知りたい方は、以下の書籍の2章を参照するとよいでしょう。

集合知プログラミング」(オライリー・ジャパン)

赤いフリースの靴下がレコメンドされる事例集

協調フィルタリングの仕組みをご紹介しましたが、レコメンドに使われる仕組みは多岐に渡ります。

最後に、「赤いフリースの靴下」がレコメンドされる体験事例をまとめてみました。

事例
技術

外国語学習支援サイトで、数日前に見ていたファッション系ECサイトが「赤いフリースの靴下」を推す広告を出している
リマーケティング

Amazonで薄手のジャケットを買ったら、赤いフリースの靴下も推してきた
協調フィルタリング

大手ポータルサイトで「ファッション-秋」カテゴリの記事を読んでいたら、記事末尾に赤いフリースの靴下を推すAmazonへのリンクがあった
コンテンツベースフィルタリング

「フリースの手編みの方法」という記事を読んでいたら、赤いフリースの靴下の広告が出てきた
ベイジアンネットワーク

「流行中 赤いフリースの靴下980円残量わずか!今だけのお買い得価格!」
インテンションベースフィルタリング

「これはなんだ?」と思うものがあったら、ぜひとも仕組みをチェックしてみてくださいね。

「機械学習」関連レポート

リアルタイム分析・機械学習・協調フィルタリングetc.…レコメンデーション技術は何を目指すのか?
Python、それともR?機械学習実装の一歩を踏み出すためのスタートガイド
日常に潜む数理計画☆マルコフモデルを理解すれば1年後の天気が分かる?
Google自動運転の成功の裏に隠された、人工知能技術の可能性とは?
情報爆発によって劇的な進化を遂げた「機械学習」の軌跡

カテゴリー : デジタル・IT タグ :
CodeIQ MAGAZINEの記事一覧をみる ▶
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。

TOP