原子力産業新聞
データマイニングの世界

Netflixのオススメ・アルゴリズム 〜データがエンターテイメントを変えた〜

text:石井敬之

Netflixは、視聴者が好む作品をどのように見つけているのだろうか?

かつて、レンタルビデオ店では、新作のポスターや店員のおすすめリストを頼りに作品を選んでいた。しかし、Netflixはこれを劇的に変えた。Netflixはデータマイニングを駆使し、ユーザーごとの「好み」を徹底的に分析することで、パーソナライズされたエンターテイメント体験を実現している。

DVDレンタル時代からオススメ・アルゴリズムを開発

Netflixは1997年にR.ヘイスティングスとM.ランドルフによって、米カリフォルニア州スコッツバレーで創業された。当初はインターネットを通じてDVDを郵送レンタルするサービスからスタートし、ユーザーに大量の映画タイトルを提供していた。その膨大な作品ラインナップの中から、利用者それぞれにフィットした映画を届けるため、データドリブンなアプローチによるパーソナライズ(個別化)の必要性が生まれた。これが、Netflixが他社に先駆けてオススメ・アルゴリズムの開発に取り組み始めたきっかけである。

Netflixは2000年頃、初のオススメ・システムである「Cinematch」を導入した 。Cinematchはユーザーの映画に対する評価(★1~5の星評価)データを協調フィルタリング(Collaborative Filtering)によって解析し、各ユーザーがある映画をどれくらい気に入るかを予測するアルゴリズムだった。このシステムにより、ユーザーの過去の評価履歴や他ユーザーの嗜好パターンに基づいてパーソナライズされた映画オススメが可能となった。Cinematchの予測精度は比較的高く、Netflixによれば予測評価は実際のユーザー評価と星0.5以内の誤差に75%の確率で収まり、さらにCinematchがオススメした映画を実際に借りたユーザーの約半数はその映画に5つ星を付けたと報告されている。このように、初期の段階からNetflixはデータに基づいてユーザーの好みを学習し、精度の高いオススメでサービス満足度向上を図っていた。

より高度なオススメを実現するため、Netflixは2006年に**「Netflix Prize」と呼ばれる機械学習コンペティションを開始した。優勝賞金100万ドルを賭け、自社の既存システムCinematchの予測精度を10%以上改善できるアルゴリズムの開発を、世界中の研究者に依頼したのだ。このコンテストには多くのチームが参加し、映画の評価予測精度を競い合った。3年に及ぶ競技の末、2009年にチーム「BellKor’s Pragmatic Chaos」が約10.06%の精度向上を達成し、100万ドルのグランプリを獲得した。優勝チームの手法は非常に高度で、行列因子分解(SVD)や制限付きボルツマンマシン(RBM)など複数のアルゴリズム(合計100以上)を組み合わせたアンサンブルモデルだった。Netflixはこの結果から得られた知見を分析し、特に効果の高かったSVDやRBMといった手法を自社のオススメ・エンジンに取り入れた。これらのアルゴリズムは、当時Netflixが保持していた50億件を超える評価データへのスケーラビリティや、新たな評価が追加され続ける環境での適応性といった課題をクリアした上で、実運用に組み込まれ、現在でもオススメ・エンジンの一部として利用されている。一方、優勝モデルそのものは数百もの予測器を組み合わせた非常に複雑なものであったため、わずかな精度向上のための実装コストに見合わないと判断され、Netflixはこのフルアンサンブルモデルをそのまま本番システムに導入することはしなかった。ちょうどこの頃、Netflixのビジネスとデータ環境は大きな転換期を迎えており、オススメ・アルゴリズムの改善すべきフォーカスは次の段階へと移っていったのだ。

ストリーミング時代への転換

Netflixは2007年に動画ストリーミングサービスを開始し、ユーザーの利用行動とデータ収集の様相が劇的に変化した。DVD宅配ではユーザーが視聴したい作品をあらかじめキューに入れて郵送で受け取るため、作品の選択と実際の視聴との間に時間的隔たりがあった。またディスクを交換するのに1日以上かかることから、ユーザーは視聴する作品を慎重に選ぶ傾向が強く、さらに視聴中に細かなフィードバックデータを得ることもできなかった。しかしストリーミングの登場によって、ユーザーは「今すぐ観たい作品を探す」行動を取るようになり、視聴までのハードルが下がった。数クリックで再生を開始できるため、複数の作品を試し見して気に入ったものを選ぶことが日常化し、各作品がどこまで視聴されたか(観終わったのか、途中離脱したのか)や連続して何本視聴したかなど、より詳細な行動データがリアルタイムで収集可能になった。加えて、2008年前後からNetflixはパソコンのウェブサイトだけでなく、RokuやXboxなどのセットトップボックス(STB)、スマートフォンやタブレットなど様々なデバイスで視聴できるようになった。

そしてNetflixは2010年前後に、カナダや中南米、ヨーロッパなど世界規模へサービスを拡大した。このグローバルなストリーミング時代への移行に伴い、Netflixのアルゴリズムも進化を遂げることになる。

オススメ・システムの目標は従来の「ユーザーの評価(☆)を当てること」から、「ユーザーが今まさに視聴しそうな作品を適切な順序でリストアップすること」へとシフトした。具体的には、単に予測評価スコアの高い順に並べるのではなく、作品の人気度(一般的な視聴率)とユーザー個々の嗜好の両面を考慮し、バランスよくランキングするアプローチが取られるようになった。また、トップページ上に表示される「作品カテゴリー別の行」自体もユーザーごとに選択・並べ替えを行うなど、サービス画面全体をパーソナライズして最適化する戦略がとられている。こうした取り組みの結果、2012年時点で「視聴されるコンテンツの75%以上は何らかのオススメから生まれている」(Netflix公式ブログ)と報告されており、パーソナライズの強化による顧客満足度やエンゲージメントの向上が数値的にも示されている。

現在のアルゴリズムと初期システムの違い

初期のCinematchシステムと現在のNetflixのオススメ・アルゴリズムには、いくつか大きな違いがある。まずデータソースの違いとして、Cinematchがユーザーの明示的フィードバック(星による評価)を主な入力としていたのに対し、現在ではユーザーの視聴履歴、検索や閲覧行動、評価ボタン(👍👎)など暗黙的なフィードバックや多様なインタラクションデータが重視されている。実際、Netflixは2017年に5段階の星評価を廃止して👍👎形式に簡素化したが、これはユーザーが直感的にアルゴリズム訓練に参加していると理解できるため評価件数が200%増加する効果を生んだ 。また👍👎の方がユーザーの実際の視聴傾向と一致しやすく、建前の評価より視聴行動そのものを反映したデータ収集が可能になったという。

アルゴリズム手法の面でも、初期は協調フィルタリング主体の比較的シンプルな予測モデルだったが、現在ではハイブリッドかつ多層的なモデル構成になっている。Netflixのオススメ・エンジンは、いくつもの機械学習アルゴリズムを組み合わせており、たとえば強化学習によってユーザーの反応に応じ画面上のコンテンツ表示をリアルタイムに調整し、ディープラーニング(深層学習)を駆使して何億もの評価データや視聴履歴から潜在的な嗜好パターンを学習している。

その一方で、Netflixは従来からの行列分解型の協調フィルタリングも引き続き重視しており、これら新旧の手法を巧みに組み合わせることで、高精度なオススメを実現している 。Netflixは常に「一つのベストなアルゴリズム」を導入するのではなく、「それぞれのアルゴリズムが得意とする領域」をうまく組み合わせることで、巨大なユーザーベースと多種多様な視聴行動をカバーすることを可能にしているのである。

さらに、ユーザーの嗜好を細かくとらえるために数百〜数千規模のクラスター(テイスト・コミュニティ)にユーザーを分類し、類似嗜好グループ向けに最適化したコンテンツを提案するといったクラスタリング技術も用いている 。こうした複数アルゴリズムのアンサンブル学習と継続的なオンライン学習によって、Netflixではユーザーごとに画面上のコンテンツが調整され、「同じNetflix画面を見ているユーザーは、世界に二人といない」状態を作り出している 。

またNetflixはプラットフォーム全体をAWSクラウド上に移行(2016年1月に完了)することで膨大なデータ処理を可能にし 、あらゆるアルゴリズムの改良提案は常にA/Bテスト(ユーザーを分割し、異なる案[A・B]を試すことで、有意な差を比較・検証する実験手法)によって検証される仕組みを整えている。Netflix公式ブログにおいて、同社の実験プラットフォームに関する取り組みが紹介されているが、その中で「同時並行で多数のA/Bテストを運用している」旨が語られており、その数が「数百〜数千」にも及ぶとされている。このような高度にデータ駆動されたパーソナライズ戦略により、Netflixでは視聴コンテンツの大部分がオススメ経由で消費されるようになっている。実際、同社はオススメ・システムによってユーザーの解約防止や視聴増加につながり、年間10億ドル規模の価値をもたらしていると試算している。

なおNetflixは自社データセンターを廃止し、AWSクラウドに全面移行したわけだが、それは「脱データセンター」を意味するわけではない。むしろNetflixのように大量の視聴データを処理し、高度なオススメやグローバル配信を実現する企業ほど、クラウド事業者のデータセンターや自社のCDN(コンテンツ配信ネットワーク)拠点など、巨大かつ多面的な物理インフラに支えられている。データマイニングを多用する企業にとって、データセンターは不可欠な存在である。Netflixの場合、サーバ運用の主軸をAWSに預け、配信最適化のためにOpen Connectという自前のCDNを世界各地のデータセンターに展開し、クラウドとエッジの両面からインフラを整えている。「自社運営のデータセンターを持たない=データセンターが不要」という短絡的な見方ではなく、クラウドも含めたデータセンターの広範な活用こそが、巨大スケールのデータドリブン・ビジネスの要諦なのである。

まとめ

Netflixのオススメ・アルゴリズムは、DVDレンタルサービス時代に始まった「Cinematch」を基礎としており、ユーザーの評価データや視聴傾向をもとに、視聴者ごとに最適な作品を推定する仕組みを作り上げてきた。最初はユーザー評価を中心とした協調フィルタリングに重点を置いていたが、ストリーミング時代への移行とともに、より膨大なデータをリアルタイムで分析できるようになり、大規模な機械学習やディープラーニング技術を活用したハイブリッドモデルへと発展している。

現在のNetflixでは、視聴履歴や検索履歴に加え、視聴開始から終了までの滞在時間、どのタイミングで早送り・巻き戻しを行ったかなど、多様なインタラクションデータを総合的に解析することで、ユーザーが本当に興味を示すコンテンツを高精度に絞り込んでいる。また、クラウドベースのインフラにより、世界規模で大量のデータをリアルタイム処理できる点が強みとなっている。さらに、A/Bテストを頻繁に実施し、常に最適なパーソナライズが実現されている点が特徴的だ。

こうした継続的なデータ活用の取り組みが、Netflixにおける顧客満足度と収益性の向上に大きく貢献しており、エンターテイメントの楽しみ方を大きく変えた要因の一つとなっている。今後も、強化学習や自然言語処理などの新しいテクノロジーの進化に合わせて、オススメ技術のさらなる進化が期待される。

cooperation