HadoopTimes

実践 機械学習:レコメンデーションにおけるイノベーション
技術情報

レコメンダシステムにおけるデザインパターン

MapRのチーフアプリケーションアーキテクト、テッド・ダニングとエレン・フリードマンはオライリー・メディア・ブック上で新著を発売した。そのタイトルは『実践機械学習 ― レコメンデーションの革新』である (2014年1月)。この書籍は、ビッグデータ・ユニバースにおいて最も興味深く、楽しく、強力なデータサイエンスの応用の1つである、レコメンダシステムを考察している。私にとって、これはデータマイニングのもっとも興味深いアプリケーションの1つであった。それは約10年前に私が (宇宙物理学のルーツから徐々に移行を始め) データサイエンスの旅に乗り出したとき、即座に私の想像力を捕らえたものだった。それはまた、データサイエンスMOOCや他のアナリティクストレーニングコースで教えられる最も一般的な使用事例の1つでもあった。

なぜレコメンダシステムなのか?

レコメンダシステムとの愛は2つの理由に帰することができると思う。1つ目は、私たちほぼ全員が経験し、恩恵を受け、称賛しているAmazonが初めて構築したエンタープライズクラスのレコメンダシステムであり、それを利用したとてつもない成功である (Netflixや他の多くの成功企業と共に)。そして2つ目は、レコメンダシステムがビッグデータやデータサイエンスの価値について、極めて明確であり実証的な証拠を提供することである。その様子はまるでまだまだ証拠が必要であるかのようである。私は公開プレゼンテーションで発表するときはほぼ毎回レコメンダサイエンスの例を持ち出している。ダニングとフリードマンの書籍は、簡単なおもちゃの例、誰もがポニーを欲しがっている! で始まる。(この件については後でまた触れる。) この書籍がおもちゃの例について、その正反対を証明する目的で遊び心に満ちた説明を試みていることに注意する必要がある。正反対とは、誰もがポニーを欲しがっていることを知ることが、なぜ人の関心を惹く効果的なレコメンデーションを行う最良の方法とは言えないか、ということである。

レコメンダシステムは、理解が比較的容易であり、(経営陣に対して) 正当化しやすく、また、設計が直観的である。顧客についての貴重な見通しとすぐに利用できる情報を提供してくれるし、成功の度合を測定する明確な基準を有している。それらのビッグデータサイエンスイニシアチブのROI (投資収益率、あるいは、革新に対する収益) は、測定と追跡が容易である。通常は、必要な測定基準はあらかじめウェブサイトおよび顧客分析パッケージに含まれており、すぐに利用可能である。言い換えれば、これらの質問に対する回答は直ちに入手可能である。顧客はどのページを訪問したか? どの商品が提示されたか? 顧客は何をクリックしたか? 顧客は何をショッピングカートに追加したか? どのショッピングカートが放棄されたか? その放棄されたカートには何が入っていたか? 顧客は最終的に何を購入したか? (もっとも予測が正確で、もっとも収益性の高い予測モデルを見つけ出すために) 異なるレコメンダエンジンの実装を設計し、実験してみることは、「強力なジェダイ」のデータサイエンスである。

予測分析のデザインパターン

先に示したように、レコメンダシステムは本質的に予測分析エンジンである。エンジンは、(a) 過去のトレーニングデータ (例えば、以前の顧客と比較したときの特定の顧客のウェブの使用状況および/または購入パターン) と、(b) 多種多様な類似計算 (購入パターンの重複のありさまを測定する) からスタートして、特定の各顧客が次に何を行う可能性が高いかを予測することができる。例えば、ウェブサイトの特定のページに進むか、会社の在庫から特定の商品をダウンロードするか、あるいは、カタログから特定の商品を購入する。以上の結果として、予測分析活動 (と、特にレコメンダシステム) のデザインパターンにおける2つの主要な要素カテゴリを確認できることになる。それは履歴ログ (トレーニングデータ) と監視下の機械学習アルゴリズムである。以下で、レコメンダシステムのデザインパターンの例を二つ三つ簡潔に記述する。その後、次回の記事で、それらの特別な観点についてより深く吟味、探求、拡張する。

さて、デザインパターンとは何だろうか? 適切な定義は次のようになる。「普通に起こり得る問題に対する、一般的で再現性のあるソリューション。多くの異なる状況で使用できる、問題解決のための説明またはテンプレート」本質的には、デザインパターンは特定の分類の問題に適用される証明済みの開発パラダイムである。私たちの場合は、特定の分類の問題とはレコメンダエンジンの設計である。本記事でリストアップするデザインパターンは、映画、書籍、レストラン、ニュース記事、音楽その他で利用できる。パターンはコンテンツに無関係だからである。カスタマーエクスペリエンス環境 (例えば、オンラインショップ、ブラウザ、スマートフォンアプリ、その他すべて) で顧客の行動を予測するためのレコメンダエンジンに役立つ、4つの異なるデザインパターンを特定できる。それは、共起行列、ベクトル空間モデル、マルコフモデル、そして、「誰もがポニー (もっとも人気のある商品) を手に入れる」である。

  1. 共起行列は、ダニングとフリードマンの著書に記述されているが、過去の顧客が同時購入した商品ペアAとBの、考えられるすべてのクロス行列である。この行列の非ゼロ要素の分析により、どの共起が変則的であるかを、つまり、商品が個別に現れたときに期待できるよりも頻繁に起こっていることを特定できる。この変則的な共起は、商品Aを購入した顧客に商品Bを提示する可能性の指標となる。このアプローチは、アソシエーションルールマイニングアルゴリズム (マーケットバスケット分析と呼ばれるアプローチの制限された形式) にもとづいている。
  2. ベクトル空間モデルは、顧客モデリングと製品モデリングの双方にとって有益である。この方法は、顧客を記述する特徴のセット (例えば、関心のある商品、関心のある特徴、関心のあるメーカー、購入頻度、価格帯など) か、商品を記述する特徴のセット (例えば、コンテンツ、著者/作者、テーマ/ジャンルなど) のいずれかからなる、特徴ベクトルの構築からスタートする。次に、類似した顧客 (X、Y) と類似した商品 (A、B) を特定するために、これらの特徴ベクトルに対して、類似度の計算を行う。最初のケースでは、類似した顧客Yの購入履歴にもとづいて、顧客Xに商品を提示する。第2のケースでは、以前に購入したか、最近見た (しかし、購入しなかった) 商品Bとの類似にもとづいて商品Aを顧客に提示する。
  3. マルコフモデルは順序、特に一時的な順序 (例えば、天気、株式市場、ネットワークトラフィック、サイト内のウェブクリック、あるいは、購入パターン) の要素を予測するために利用できる確率モデルの1種である。マルコフモデルは数学的には制限された形式をしており、この制限のために、過去データ (トレーニングデータ) からマルコフモデルを参照できることがある。このモデルは、顧客が次に行うか購入するかする可能性がもっとも高いものといった、将来の事象の確率を予測するために用いることができる。
  4. もっとも人気のある (「トップ40」) 商品、あるいは、「誰もがポニーを手に入れる」として示されるこのモデルは世界1シンプルである。誰もが好きで、ほとんどの人が購入している商品を見つけたら、それらの商品をすべての新規顧客に提示することができる。彼らもまた購入する可能性があるからである。この「トップ40」モデルはそれほど興味深いものではなく、複雑な学習モデルも必要としないが、商品は保証された販売者であると言えるかもしれない。この単純化されたモデルは、特定のブランド (例えば、電子機器、書籍、レンタルビデオ) を有し、かつ、顧客が気づいていない可能性のある他の人気商品も抱えているオンラインショップで、最も有益となる可能性がある。最終的には、顧客が依然としてショップで買い物をしている間に、人気のあるノーブランド商品 (例えば、ギフトカード、読書用ランプ、またはポップコーン) に気づいてもらいたいと望むことになる。

レコメンダシステムの多様性

最後に、レコメンダシステムにおける聖杯が多様であることに目を留めよう。虹の最後に本物のゴールドを見つけ出せる地点である! 言葉を換えれば、提示が通常の「予測可能な」レコメンデーションと比べて興味深く、驚嘆的で、予想外なものであれば、そのレコメンデーションが顧客に受け入られる可能性は高くなる。例えば、洗濯機を買ったとすると、考えられる最悪のレコメンデーションは別のメーカーの洗濯機をもう1台レコメンデーションすることであり、好ましいレコメンデーションは、購入した洗濯機のメーカーの対となる乾燥機のレコメンデーションになるかもしれない。それよりさらに興味深いレコメンデーションは、洗剤1年分を通常価格の40%オフで提供することかもしれない。書籍や映画の場合は、真に興味深いレコメンデーションは、先に購入したものとよく似ているが1、 2点の特徴が異なっている商品 (例えば、同じ著者による同じ主題の本ではなく、それの挿絵の多い版) のレコメンデーションである。それゆえ、あらゆる顧客にポニーを提示したいと望んでも、最低でも異なる色の子馬も提示するのがよい。