8章レコメンデーションエンジン:ユーザが直接触れる大規模データ製品を構築する
レコメンデーションエンジン、もしくは、レコメンデーションシステムは典型的なデータ製品です。そして、データサイエンティストではない人に、データサイエンスが何であるかを伝えるためのよい出発点になるでしょう。なぜなら、多くの人がAmazon.comで本を紹介されたり、Netflixで映画を推薦されたりし、レコメンデーションシステムに接したことがあるからです。しかし思った以上に、データサイエンティストではない人は、そのレコメンデーションの裏に存在するエンジニアリングやアルゴリズムについてはあまり考えていません。本の購入や映画のランク付けといった自分の行動がデータを生成していて、それによってレコメンデーションエンジンがフィードバックを受け、自分や他の人たちへのレコメンデーションの改善につながっている、ということにもあまり気付いていません。
文字どおりデータを燃料として使うエンジンのわかりやすい例である、という点以外で、レコメンデーションシステムが「典型的」なデータ製品であるという理由には、信頼性の高いレコメンデーションシステムを作るためには、線形代数とコードを実装する力の両方が要求される、という点があります。また、レコメンデーションシステムを説明することでビッグデータの引き起こす問題を描くことができます。それによって、直感的にわかりやすい問題であっても、その解決策を大規模データに対して実装する際には非常に複雑になりうる、ということが浮かび上がってきます。
この章では、マット・ガッティス(Matt Gattis)がHunch.comのレコメンデーションシステムを構築するために行ったことを紹介します。彼がどのような意思決定をなぜ行ったのか、また、さまざまなアルゴリズム間のトレードオフをどのように考えたのか、ユーザが使用する製品を強化するための大規模なシステム基盤を構築する事例をもとに説明します。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access