6章実システムへの組み込み

4章5章では、推薦アルゴリズムについて紹介してきました。それらの推薦アルゴリズムを実サービスへ組み込むためには、データベース、APIを含めた設計が必要になってきます。本章では、次の項目について、推薦システムを構築するために必要な考え方や設計のパターンを紹介します。

  • バッチ推薦/リアルタイム推薦
  • 推薦システムの設計パターン
  • 多段階推薦や近似最近傍探索による工夫
  • ログの設計
  • ニュースサービスにおける実例

6.1 システム概要

6.1.1 バッチ推薦とリアルタイム推薦

機械学習モデルを用いた処理の流れ

図6-1 機械学習モデルを用いた処理の流れ

機械学習モデルを推薦システムに組み込むには、モデルの学習、特徴量の抽出/更新、予測をどのような頻度やタイミングで行うかが重要です。

本章では、バッチ推薦とリアルタイム推薦の2つを以下のように定義します。

表6-1 バッチ推薦とリアルタイム推薦

 モデルの学習特徴量の抽出/更新予測
バッチ推薦バッチバッチバッチ
リアルタイム推薦バッチ or リアルタイムリアルタイムリアルタイム

バッチ推薦は、モデルの学習から予測までの処理を決められた時刻に一括で行うものを指します。一方で、リアルタイム推薦は、特徴量の抽出/更新をユーザーのクリックなどをトリガーとしてリアルタイムに随時行い、予測もユーザーのリクエスト時にリアルタイムに行う方式の推薦を指します。

表6-2 バッチ推薦とリアルタイム推薦の使い分け

フレッシュネスの要求レベル適する推薦方式 ...

Get 推薦システム実践入門 ―仕事で使える導入ガイド now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.