基礎から学ぶ推薦システム - 情報技術で嗜好を予測する -

基礎から学ぶ推薦システム - 情報技術で嗜好を予測する -

人の嗜好を予測する「推薦システム」技術について,わかりやすく丁寧に解説した一冊

ジャンル
発行年月日
2022/07/21
判型
A5
ページ数
324ページ
ISBN
978-4-339-02928-4
基礎から学ぶ推薦システム - 情報技術で嗜好を予測する -
在庫あり
2営業日以内に出荷致します。

定価

4,950(本体4,500円+税)

カートに入れる

電子版を購入

購入案内

  • 内容紹介
  • まえがき
  • 目次
  • レビュー
  • 著者紹介
  • 広告掲載情報

【書籍紹介】
「この商品を買った人はこんな商品も買っています」。いまや,Web上のいたるところでみかけます。もしかしたら,あなたもお薦めの本として提示されて,この本を手にとられたのかもしれません。このような機能を支えている技術が推薦システムです。本書では,その推薦システムの中身に迫ります。

推薦システムは,大きく,内容ベース推薦システム,協調ベース推薦システム,知識ベース推薦システム,そして,それらを組み合わせたハイブリッド型推薦システムに分類されます。この分類を踏まえ,本書はつぎのような構成になっています。1章では,なぜ推薦システムが必要かという話からはじめ,推薦問題の定義について学びます。内容ベース推薦システムについては2章と3章の2章構成で,協調ベース推薦システムについては4章から6章の3章構成で,それぞれ学びます。知識ベース推薦システムは7章で学び,ハイブリッド型推薦システムは8章で学びます。そして,最後に9章で推薦システムの評価について学びます。なお,本書は,1章から順を追って読まれることを想定しています。前の章で学んだ知識を後の章にも活用するように,知識を積み重ねていく構成となっています。

【本書の特徴】
本書では数式がふんだんに出てきますが,一つひとつ紐解きながら丁寧に解説しています。具体例を交えながら,計算過程もなるべく省略せずに書いていますので,一つひとつ記号の意味を理解しながら式を追っていくことができます。
また,問題に親しみをもってもらいやすいように,具体的かつ身近な事例として,食をテーマにしたシナリオを設定しています。食に対する好き嫌いは個人差が現れやすいので,嗜好予測の問題設定としてはうってつけです。

【著者からのメッセージ】
推薦システムの研究には面白くワクワクするような課題がたくさん詰まっています。本書では先端的なトピックについては扱いませんでしたが,いずれのトピックにおいても本書で学んだ内容が基礎となります。
世の中のコンテンツは数も種類も日々増大しており,人々の選択肢も無数に存在します。それにつれて人間の嗜好もどんどん多種多様で複雑になってきています。そのような嗜好を果して情報技術でどこまで予測できるのか,推薦システム研究はこの課題に挑戦しつづけていくことになるでしょう。さあ,推薦システムの探求への旅はいま始まったばかりです!

【著者による本書ブログ】 
執筆にあたっての苦労話やこだわりなどをブログで公開中!
https://note.com/okukenta/n/n11bd6d6f2dd3

「この商品を買った人はこんな商品も買っています」。いまや,Web上のいたるところでみかけます。オンラインショッピングサイトで,ある商品を購入しようとすると,その商品に関連するおすすめの商品が提示されます。動画共有サイトにアクセスすると,あなたにおすすめの動画が提示されます。観光情報サイトで興味のある地域の情報を閲覧すると,その地域のおすすめの観光スポットやレストラン,ホテルなどの情報が提示されます。もしかしたら,あなたもおすすめの本として提示されて,本書を手にとられたのかもしれません。このような機能を支えている技術が推薦システムです。

さて,この推薦システムの中身はどのようになっており,どのようにわたしたちの好みを言い当てているのでしょうか。本書では,その推薦システムの中身に迫ります。推薦システムにおいては,その人が何を好むのか,人の嗜好をいかに予測するのかが課題となります。その予測の鍵を握るのがデータ,すなわち,その人がこれまでに利用してきたコンテンツに対する評価履歴です。その評価履歴からの嗜好予測には,機械学習をはじめとしたさまざまな情報技術を駆使します。人の嗜好は多種多様で複雑です。そのような人の嗜好を情報技術でどこまで予測できるのか,これが推薦システムにおける究極的な問いであるといえます。この問いに対して挑みつづけることが,推薦システム研究の醍醐味ともいえるでしょう。

情報技術は,数学によって支えられています。そのため,本書では数式がふんだんに出てきます。数式が苦手な方にとっては少々難しく感じるかもしれません。しかし,安心してください。本書で出てくる数式については,一つひとつ紐解きながら丁寧に解説していきます。具体例を交えながら,計算過程もなるべく省略せずに書いていますので,一つひとつ記号の意味を理解しながら式を追っていくことができます。本書では,問題に親しみをもってもらいやすいように,具体的かつ身近な事例として,食をテーマにしたシナリオを設定しています。食に対する好き嫌いは個人差が現れやすいので,嗜好予測の問題設定としてはうってつけです。また,数式の意味を理解するためには,実際に手で計算しながら式を追っていくことが重要です。問題の大きさも小規模なものにしていますので,一部の計算を除いて,プログラムに頼らなくても,(関数電卓ぐらいは必要ですが)手計算で追っていける内容となっています。本書を通して,数式の読み方にも慣れていただければ幸いです。

本書の読者対象は,これから推薦システムについて学びたいという大学生,および大学院生を想定しています。学部1~2年生レベルの微分,線形代数,確率・統計に関する知識を前提としていますが,先述したように,数式についてはその都度解説していきますので,授業で習ったことがある程度で十分です。必要に応じて数学の教科書などを参照し,知識を補いながら読み進めていただければと思います。本書をきっかけに,推薦システムの研究分野に興味をもっていただければ望外の喜びです。

また,本書は,大学の授業や研究室などで,学生に対して推薦システムや関連技術について指導される機会のある教員の方も読者対象として想定しています。推薦システムは,機械学習やデータ分析などの応用例の一つとして紹介されることが多いと思いますが,本書の目次を参照いただいてもわかるとおり,推薦システムはじつに多くの技術に関連します。そのため,推薦システム一つとっても,学生に伝えられる技術は多くあります。本書が推薦システムや関連技術の指導の一助になれば幸いです。なお,コロナ社の書籍紹介ページでは,教科書採用者向け資料を提供しています。

一方で,本書は推薦システムの基礎に焦点をあてているため,先端的なトピックについてはカバーしていません。先端的なトピックについて興味のある方は,推薦システムの国際会議であるACM Recommender Systemやそれに併設されているワークショップで最新の研究動向を追うとよいでしょう。また,本書は実践向けではなく,一部の擬似コードを除いて,コードも出てきません。

推薦システムの実装や実践に関しては,文献40)や文献178),181)などが参考になります。もちろん,これら最新の研究動向の調査や,推薦システムの実装や実践を進めるうえで,本書で学ぶような推薦システムの基礎をしっかり押さえておくことは大事です。

推薦システムは,大きく,内容ベース推薦システム,協調ベース推薦システム,知識ベース推薦システム,そして,それらを組み合わせたハイブリッド型推薦システムに分類されます。この分類を踏まえ,本書はつぎのような構成になっています。1章では,なぜ推薦システムが必要かという話からはじめ,推薦問題の定義について学びます。内容ベース推薦システムについては2章と3章の2章構成で,協調ベース推薦システムについては4章から6章の3章構成で,それぞれ学びます。知識ベース推薦システムは7章で学び,ハイブリッド型推薦システムは8章で学びます。そして,最後に9章で推薦システムの評価について学びます。

本書は,1章から順を追って読むことを想定しています。前の章で学んだ知識を後の章にも活用するように,知識を積み重ねていく構成となっています。例えば,3章では,ルールベース分類器や単純ベイズ分類器,決定木などの各分類器について学びます。そして,ここで学んだ各分類器は,5章で学ぶモデルベース協調フィルタリングにおいても活用します。また,6章では潜在因子モデルについて学びますが,これは欠損値を含む評価値行列の行と列の次元を同時に縮約するものです。その前の段階で,2章で評価履歴の次元削減,4章で欠損値を含む評価値行列の次元削減について学びます。このように,次元削減について簡単な問題設定から段階的に学んでいけるように構成を工夫しています。

また,コロナ社の書籍紹介ページには本書のサポートサイトを掲載しています。サポートサイトには,GitHub上に,本書の内容に対応した演習課題や計算例に沿ったPythonコード,問題集,解説スライドや動画などのコンテンツを公開していきます。

本書の内容については,記述が著者の主観にならないように,主要な文献を引用するように心がけました。特に,各トピックにおける主要なサーヴェイ論文や初期に提案された論文などをなるべく引用するようにしました。本書で紹介しきれなかった詳細部分は,これらの論文などを参照し,適宜補っていただければ幸いです。本書は,これら先人たちの知の積み重ねがあってのものです。この場をお借りして謝意を表します。

それでは,一緒に推薦システムの中身についてみていきましょう!

2022年5月
奥健太

1. 推薦システム
1.1 推薦システムとは
1.2 なぜ推薦システムが必要か
1.3 ユーザ,アイテム,評価値
 1.3.1 ユーザ
 1.3.2 アイテム
 1.3.3 評価履歴
 1.3.4 評価値行列
1.4 推薦問題の定義
1.5 推薦サイクル

2. 内容ベース推薦システム~近傍ベース方式~
2.1 内容ベース推薦システム(近傍ベース方式)の基本
 2.1.1 アイテムの特徴ベクトル
 2.1.2 特徴空間
 2.1.3 ユーザプロファイル
2.2 類似度に基づく推薦
 2.2.1 類似度
 2.2.2 推薦
2.3 適合性フィードバック
2.4 k近傍法
 2.4.1 距離
 2.4.2 近傍アイテム
 2.4.3 推薦
2.5 次元削減
 2.5.1 分散共分散行列
 2.5.2 固有値・固有ベクトル
 2.5.3 主成分
 2.5.4 主成分得点
 2.5.5 寄与率
 2.5.6 推薦

3. 内容ベース推薦システム~モデルベース方式~
3.1 内容ベース推薦システム(モデルベース方式)の基本
 3.1.1 アイテムの特徴ベクトル
 3.1.2 訓練データ
 3.1.3 予測対象データ
 3.1.4 学習と予測
 3.1.5 クラス分類問題
3.2 ルールベース分類器
 3.2.1 ルール
 3.2.2 候補ルール
 3.2.3 頻出ルール
 3.2.4 相関ルール
 3.2.5 ユーザプロファイル
 3.2.6 嗜好予測
 3.2.7 推薦
3.3 単純ベイズ分類器
 3.3.1 条件付き確率
 3.3.2 問題設定
 3.3.3 ベイズの定理
 3.3.4 単純ベイズ仮定
 3.3.5 ユーザプロファイル
 3.3.6 嗜好予測
 3.3.7 ラプラススムージング
 3.3.8 推薦
3.4 決定木
 3.4.1 ジニ係数
 3.4.2 分割のよさ
 3.4.3 決定木の学習
 3.4.4 ユーザプロファイル
 3.4.5 嗜好予測
 3.4.6 推薦

4. 協調ベース推薦システム~近傍ベース協調フィルタリング~
4.1 協調フィルタリングの基本
4.2 ユーザベース協調フィルタリング
 4.2.1 ユーザ類似度
 4.2.2 類似ユーザの選定
 4.2.3 嗜好予測
 4.2.4 評価値行列の補完
4.3 アイテムベース協調フィルタリング
 4.3.1 アイテム類似度
 4.3.2 アイテム-アイテム類似度行列
 4.3.3 類似アイテムの選定
 4.3.4 嗜好予測
 4.3.5 評価値行列の補完
4.4 評価値行列の次元削減
 4.4.1 分散共分散行列
 4.4.2 固有値・固有ベクトル
 4.4.3 潜在因子
 4.4.4 嗜好予測
 4.5ユーザベース協調フィルタリングvs. アイテムベース協調フィルタリング
 4.5.1 正確性とセレンディピティ
 4.5.2 説明性
 4.5.3 計算効率性

5. 協調ベース推薦システム~モデルベース協調フィルタリング~
5.1 モデルベース協調フィルタリングの基本
5.2 ルールベース協調フィルタリング
 5.2.1 ルール
 5.2.2 候補ルール
 5.2.3 相関ルール
 5.2.4 学習モデル
 5.2.5 嗜好予測
 5.2.6 評価値行列の補完
5.3 単純ベイズ協調フィルタリング
 5.3.1 問題設定
 5.3.2 ベイズの定理
 5.3.3 単純ベイズ仮定
 5.3.4 事前確率
 5.3.5 各アイテムに関する条件付き確率
 5.3.6 ラプラススムージング
 5.3.7 学習モデル
 5.3.8 嗜好予測
 5.3.9 評価値行列の補完
5.4 決定木に基づく協調フィルタリング
 5.4.1 決定木の学習
 5.4.2 学習モデル
 5.4.3 嗜好予測
 5.4.4 評価値行列の補完

6. 協調ベース推薦システム~潜在因子モデル~
6.1 潜在因子モデルの基本
 6.1.1 問題設定
 6.1.2 定式化
6.2 勾配降下法
6.3 確率的勾配降下法
 6.4近傍ベース協調フィルタリングvs. モデルベース協調フィルタリング
 6.4.1 正確性
 6.4.2 シンプルさ
 6.4.3 説明性
 6.4.4 計算効率性
 6.4.5 モデル表現
 6.5内容ベース推薦システムvs. 協調ベース推薦システム
 6.5.1 コールドスタート問題
 6.5.2 アイテム特徴量の抽出
 6.5.3 正確性とセレンディピティ
 6.5.4 説明性

7. 知識ベース推薦システム
7.1 知識ベース推薦システムの基本
7.2 制約ベース推薦システム
 7.2.1 ユーザ要求
 7.2.2 アイテムデータベース
 7.2.3 適合性制約
 7.2.4 フィルタ制約
 7.2.5 推薦タスク
 7.2.6 推薦
 7.2.7 要求の緩和
 7.2.8 要求の追加
7.3 事例ベース推薦システム
 7.3.1 初期事例
 7.3.2 類似性尺度
 7.3.3 批評
 7.4知識ベース推薦システムvs. 内容・協調ベース推薦システム
 7.4.1 コールドスタート問題
 7.4.2 個人化
 7.4.3 制御性
 7.4.4 アイテム特徴量の抽出・知識獲得

8. ハイブリッド型推薦システム
8.1 ハイブリッド型推薦システムの基本
8.2 アンサンブル型ハイブリッド
 8.2.1 並列型ハイブリッド
 8.2.2 直列型ハイブリッド
8.3 モノリシック型ハイブリッド
8.4 混合型ハイブリッド

9. 推薦システムの評価
9.1 推薦システムの評価の基本
 9.1.1 評価目的
 9.1.2 評価指標
 9.1.3 ベースライン
 9.1.4 ハイパーパラメタ
9.2 評価方法
 9.2.1 オフライン評価
 9.2.2 ユーザ評価
 9.2.3 オンライン評価
9.3 正確性に関する評価指標
 9.3.1 嗜好予測の正確性
 9.3.2 上位K推薦の正確性
9.4 発見性に関する評価指標
 9.4.1 被覆率
 9.4.2 多様性
 9.4.3 新規性
 9.4.4 意外性
 9.4.5 セレンディピティ

引用・参考文献
あとがき
索引

読者モニターレビュー【 DHMO 様(ご専門:ビジネス:IT/学術研究:心 理 学)】

和語で読める類書が少ないなか、本書は理論や仕組みの理解に重点が置かれた貴重な教科書である。
推薦システム(レコメンドシステム)についての知識を付けようと考える学生には骨格を整える基礎として、
ある程度システム実装に明るい研究者や社会人にはメカニズムを改めて学ぶ補助として非常に有用でると思われる。

本書の構成では、方法論や方式に入る前に、評価データの尺度分類および意味、問題設定という作法に触れられている。
それ以降は比較的単純な方式から徐々に複雑な方式やシステムの良し悪しを分ける要因へと進む。
(具体的な項目は目次とイコールとなっているため、コロナ社Webサイトの目次を参照されたい。https://www.coronasha.co.jp/np/isbn/9784339029284/)
好みが分かれるところであるが、必要な数学や用語は、該当テーマ内で必要が発生したタイミングで言及されるため、
最初に一気に解説がある場合よりもテーマから逸れずに学習できると感じる。
視覚的に計算過程を追う工夫もされており、またなるべく省略を廃した説明を心掛けていることが伺える点に非常に好感が持てる。
既に言及した概念や数式についても適宜の振り返りが織り込まれており、さらなる深耕を求める読者への図書への案内も的確に配されている等、事前知識に自信がない読者も腰を据えて取り組めば理解が出来るようになっている。

各章の説明はシナリオを元にしたサンプルデータを利用して進められる。
筆者自身も述べている通り、題材には嗜好が別れやすい食品を採用している。
これが思いの外、様々に現実に存在する嗜好を表しており、たとえばクレープのトッピング・寿司ネタ・焼き肉の部位など、
生活者との距離感×現実に実感できる嗜好のバラツキを絶妙に表しており、理解の土台を支える。

全体を通して、コードは演習としてサポートサイトに譲る構成となっている。
むしろ、書籍としては理論や仕組みの理解のために紙幅を割いているということも出来、理解とコーディングを分離していることが本書の目的に対して奏功しているといえるのではなかろうか。

読者モニターレビュー【 N/M 様(ご専門:総合情報学(情報科学))】

本書は,ネットショッピングや動画配信サービスなどで,あるコンテンツを閲覧した人に対して「このコンテンツもオススメです」という,所謂レコメンド(推薦)技術を根底で支えている各種技術についての記述がなされている.

本書を読むにあたり,数式がふんだんに使われているが,私のような数式に苦手意識のある方は躊躇するのでは?と思われがちだが,本書で出てくる数式についても,これでも(分からない)か,という具合に一つひとつ噛み砕いて解説されており,著者の読者への最大限の配慮が随所に見られる.具体的には,数式で定式化した後に,各変数が何を意味しているのかや,その後すぐに,その章のシナリオをベースにした例題が配置してあるので,一つひとつ時間はかかるが,この変数はこれこれを意味している,というふうに指差し確認をしながら丁寧に読み進めていくことをオススメする.可能ならば,例題で1〜2つほど数値例を扱った後に,同じ方法で表のように計算結果が得られる,という記述の部分を,面倒くさくても行間を埋めるように全部のパターンについて,手計算やExcelなどを用いて実際に値を再度求めるという演習をしていくことにより,より理解が深まると感じた(私の場合,実際に読んでいく際にLaTeXの思い出し練習も兼ねて,自分なりに行間を埋めた資料(書籍の重要点や,行間を埋めてクドいくらい〔分かる人から見たら「これ,わざわざ必要?」と思われるかもしれないぐらい〕に噛み砕いたノートのようなもの)を追記する形で作成したり,PowerPointスライド(PPTX形式)を,編集部及び著者の方に無理をいって,ご提供していただいた〔この場をお借りして御礼申し上げます〕ので,そちらにメモ書きしたり,Excelでまとめの表の通りになるかを,実際に計算したりして理解を深めた).

内容としては,「推薦システムとは」から始まり,「内容ベース推薦システム」,「協調ベース推薦システム」,「知識ベース推薦システム」,「ハイブリッド型推薦システム」,そして,「推薦システムの評価」という構成で,各種推薦システムについて,分かりやすい例を用いて解説がなされている.具体的には,各章の最初に,シナリオ(ストーリ)があり,それをベースに各種推薦システムを構築する上で必要なアルゴリズム学んでいく形になっている.そのシナリオが,例えば,クレープのトッピングであったり,某カレー専門店を思い出させるようなカレーの甘さ・辛さ・スパイシー度であったり,寿司のネタであったりと,食をテーマにした嗜好予測を問題設定してあり,身近な題材なので興味が湧くのではないだろうか.

また,各章とも,単に推薦システムについての各種技術を学ぶだけではなく,他の分野にも必須の技術や知識が散りばめられているので,推薦システムの学習を通じて,その他の分野にも応用できることにも気づくだろう.

なお,『コロナ社の書籍紹介ページには本書のサポートサイトを掲載しています。サポートサイトには,GitHub上に,本書の内容に対応した演習課題や計算例に沿ったPythonコード,問題集,解説スライドや動画などのコンテンツを公開していきます。』と記載されているように,本書には推薦システムについて,より進んだ学習を進めたい方のために,さまざまなコンテンツが用意されている.本レビュ(2022年7月上旬)現在では,本書で学んだ各種アルゴリズムをPythonのコードで表現する問題集や,本書の内容のダイジェスト版のPowerPointの解説スライド(Webブラウザベースでの閲覧とPDFファイルとして保存可能)などが用意されており,学習環境としてはこれほどまで揃えられている書籍も珍しいのでは,と感じた次第である.

最後に一つ要望として,「動画などのコンテンツ」は,本レビュ(2022年7月中旬)現在では公開されていないが,おそらく実際の講義での動画になるかと思われるが,2.5節の次元削減の次元削減の考え方の部分,主成分分析,さらに固有値・固有値ベクトルの部分は,Pythonのライブラリに頼る記述でしたが,数学的な求め方も解説していただけると嬉しく思う.それらに加えて,実際に,本書にあるシナリオを実際の推薦システムとして,何かのソフトウエアのような形で動作している様子なども動画にあると,興味が湧くのではないか,とも感じた次第である.

レビュー,書籍紹介・書評掲載情報一覧

奥 健太

奥 健太(オク ケンタ)

世の中にはまだまだ自分が知らないコンテンツが膨大に眠っています。そのようなコンテンツの存在を知り尽くし、とにかくさまざまな感動するようなコンテンツに出会いたい、そんな思いで推薦システムの研究に取り組んでいます。

大学では推薦システムを軸とした教育・研究を展開しています。推薦システムはじつに多くの技術に関連します。また、良い推薦システムを実現するためには、技術だけでなくコンテンツと人の両者を深く理解する必要があります。推薦システムを通して学べることは多くあると思っています。

少しでも多くの方に推薦システムの面白さ、奥深さを知ってもらいたいと思い、特に推薦システムに関する教材開発に力を入れています。本書はその活動の一つとして執筆いたしました。本書をきっかけに、多くの方に推薦システムに興味を持ってもらえると幸いです。

掲載日:2022/10/17

情報処理学会誌「情報処理」2022年11月号広告

掲載日:2022/09/05

2022年度 統計関連学会連合大会広告

掲載日:2022/08/01

「電子情報通信学会誌」2022年8月号広告

掲載日:2022/07/04

「電子情報通信学会誌」2022年7月号広告

掲載日:2022/06/30

日刊工業新聞広告掲載(2022年6月30日)


【著者による本書ブログ】 

執筆にあたっての苦労話やこだわりなどをブログで公開中!


関連資料(一般)

関連資料一覧

教科書採用される教員・指導者向け 関連資料申込
本書を教科書としてご採用の教員様向けに,講義用スライド(PowerPointファイル)を提供しております。こちらよりお問い合わせください。