Slide 1

Slide 1 text

推薦システムとは 第1回 推薦システム概論 奥 健太

Slide 2

Slide 2 text

シナリオ Aliceは20歳の大学生です。美味しいものを好みます。今日もとあるクレープ店の Webサイトから美味しそうなクレープを探しています。いろいろあって悩みます ね。すると、「このクレープを好む人は、こんなクレープも好みます」と、美味 しそうなクレープを薦められました。

Slide 3

Slide 3 text

推薦システムとは Amazon [1] ● 「この商品を買った人はこんな商品も買っています」 ● 購入履歴や閲覧履歴に基づく「おすすめ商品」 Netflix [2] ● 人気の映画や自身の興味に合った映画が推薦される Spotify [3] ● 人気アーティストによるプレイリストや気分に合ったプレイリストなどが推 薦される [1] https://www.amazon.co.jp/(2022年6月現在) [2] https://www.netflix.com/(2022年6月現在) [3] https://www.spotify.com/(2022年6月現在)

Slide 4

Slide 4 text

推薦システムとは 推薦システム(recommender system) ユーザの嗜好に合ったアイテム(商品や映画、音楽、本、動画、画像、ニュース 記事など)を提示するシステム 「特定のユーザに最も興味をもたれそうなアイテムを提案するソフトウェ アツールおよび技術」[Ricci+2015] “Recommender Systems (RSs) are software tools and techniques that provide suggestions for items that are most likely of interest to a particular user.” [Ricci+2015] Recommender Systems: Introduction and Challenges. Recommender Systems Handbook, pp. 1–34. Springer, 2015.

Slide 5

Slide 5 text

なぜ推薦システムが必要か

Slide 6

Slide 6 text

膨大なコンテンツ 世界の本の数 [4]: ※2010年8月現在 Apple Musicでの配信楽曲数 [5]: ※2022年6月現在 9,000万曲以上 129,864,880冊 Spotifyでの配信楽曲数 [6]: ※2022年6月現在 7,000万曲以上 IMDbでの登録映画タイトル数 [7]: ※2022年3月現在 60万件以上 [4] http://booksearch.blogspot.com/2010/08/books-of-world-stand-up-and-be-counted.html(2022年6月現在) [5] https://www.apple.com/jp/apple-music/(2022年6月現在) [6] https://www.businessofapps.com/data/spotify-statistics/#4(2022年6月現在) [7] https://www.imdb.com/pressroom/stats/(2022年6月現在)

Slide 7

Slide 7 text

膨大なユーザ生成コンテンツ YouTube [8][9]: ※2022年6月現在 毎分 500 時間以上もの動画投稿 Twitter [10]: ※2018年5月現在 毎分 456,000 ツイート Instagram [10]: ※2018年5月現在 毎分 46,740 写真 Facebook [10]: ※2018年5月現在 毎秒 5 プロフィール [8] https://www.tubefilter.com/2019/05/07/number-hours-video-uploaded-to-youtube-per-minute/(2022年6月現在) [9] https://www.youtube.com/intl/ALL_jp/howyoutubeworks/product-features/search/(2022年6月現在) [10] https://www.forbes.com/sites/bernardmarr/2018/05/21/how-much-data-do-we-create-every-day-the-mind-blowing-stats-everyone-should-read/(2022年6月現在)

Slide 8

Slide 8 text

コンテンツ過多(content overload) 面白いコンテンツ、感動するコンテンツが埋もれている どのようにしてそのコンテンツに巡り合うか?

Slide 9

Slide 9 text

推薦システム ユーザの行動履歴(購買履歴や閲覧履歴、評価履歴など)を基にユーザの 興味に合うコンテンツの候補を推薦リストとして提示

Slide 10

Slide 10 text

ロングテール(long tail)[アンダーソン2014] ヒットコンテンツ ニッチコンテンツ 推薦システムは テールを押し上げる役割 [アンダーソン2014] クリス・アンダーソン, ロングテール‐「売れない商品」を宝の山に変える新戦略. 早川書房, 2014.

Slide 11

Slide 11 text

ユーザ、アイテム、評価値

Slide 12

Slide 12 text

ユーザ(user) 推薦システムの利用者 ➢ 推薦を受けようとしているユーザを対象ユーザ(active user)とよぶ ユーザ集合 ユーザ ユーザ数 ユーザに関するデータ ユーザID ユーザ名 年齢 性別 1 Alice 20 女 2 Bruno 22 男 3 Chiara 21 女 4 Dhruv 21 男 5 Emi 20 女 デモグラフィック属性(demographic attribute)

Slide 13

Slide 13 text

➢ 評価値の予測対象となるアイテムを対象アイテム(target item)とよぶ アイテム(item) 推薦システムにおいて扱う商品やコンテンツ 推薦システムが保有するアイテムデータベース アイテム アイテム集合 アイテム数 アイテムID アイテム名 トッピング いちご ラズベリー バナナ チョコ ホイップ カスタード 1 いちごクレープ 1 0 0 0 1 0 2 ラズベリークレープ 0 1 0 0 1 0 : : : : : : : : 13 ラズベリーチョコバナナクレープ 0 1 1 1 1 0

Slide 14

Slide 14 text

アイテムの属性と特徴量 属性(attribute) アイテム i の属性 k に 対する特徴量(feature) アイテムID アイテム名 トッピング いちご ラズベリー バナナ チョコ ホイップ カスタード 1 いちごクレープ 1 0 0 0 1 0 2 ラズベリークレープ 0 1 0 0 1 0 : : : : : : : : 13 ラズベリーチョコバナナクレープ 0 1 1 1 1 0

Slide 15

Slide 15 text

属性の型 (1) カテゴリカル属性(categorical attribute) ジャンルやメーカなどカテゴリで表される属性 (2) 二値属性(binary attribute) 要素の有無など、二つの値のうちいずれかしかもたないようなカテゴリカル属性 (3) 数値属性(numerical attribute) PCのディスク容量や重量など、数量として表される属性

Slide 16

Slide 16 text

特徴ベクトル(feature vector) アイテム i の特徴ベクトル(feature vector) アイテムID アイテム名 トッピング いちご ラズベリー バナナ チョコ ホイップ カスタード 1 いちごクレープ 1 0 0 0 1 0 2 ラズベリークレープ 0 1 0 0 1 0 : : : : : : : : 13 ラズベリーチョコバナナクレープ 0 1 1 1 1 0

Slide 17

Slide 17 text

ユーザ u のアイテム i に対する 評価値(rating) 評価履歴(rating history) ユーザ アイテム 評価値 1: Alice 2: マグロ 4 1: Alice 3: 中トロ 3 1: Alice 4: タイ 1 1: Alice 5: ヒラメ 2 2: Bruno 1: カツオ 5 : : : 5: Emi 6: スズキ 3 ユーザがこれまでに利用してきたアイテムに対する評価値の履歴 評価履歴

Slide 18

Slide 18 text

評価値の型 (1) 数値型評価値(numerical rating) 5段階や7段階などの数値で与えられる評価値 (2) 順序型評価値(ordinal rating) 「大嫌い」、「嫌い」、「どちらでもない」、「好き」、「大好き」などのよう に、与えられた選択肢の中から選ぶことで与えられる評価値 (3) 二値型評価値(binary rating) 「好き」、「嫌い」のいずれかで与えられる評価値 (4) 単値型評価値(unary rating) ポジティブな嗜好のみが与えられる評価値

Slide 19

Slide 19 text

アイテムに対するフィードバックの方法 (1) 明示的フィードバック(explicit feedback) アイテムを利用したり閲覧したりしたユーザが明示的に評価値を入力する方法 (2) 暗黙的フィードバック(implicit feedback) ユーザは評価値を明示的に入力せず、ユーザの行動からアイテムに対する好き嫌 いを推定し、暗黙的に評価値を獲得する方法

Slide 20

Slide 20 text

評価履歴から評価値行列へ ユーザ アイテム 評価値 1: Alice 2: マグロ 4 1: Alice 3: 中トロ 3 1: Alice 4: タイ 1 1: Alice 5: ヒラメ 2 2: Bruno 1: カツオ 5 : : : 5: Emi 6: スズキ 3 評価履歴 評価値行列 ユーザ u アイテム i

Slide 21

Slide 21 text

評価値行列(rating matrix) ユーザとアイテムの評価値の関係を表した行列 R ユーザ u アイテム i ユーザ u のアイテム i に対する評価値 欠損値(missing value) 観測値数

Slide 22

Slide 22 text

推薦問題の定義

Slide 23

Slide 23 text

対象ユーザ u の対象アイテム i への予測評価値(predicted rating) (1) 嗜好予測問題(preference prediction problem) 与えられたユーザ集合 U およびアイテム集合 I において、対象ユーザ u によって 未評価である対象アイテム i への評価値 ru,i を予測する問題 推薦問題(recommendation problem) (2) 上位 K 推薦問題(top-K recommendation problem) 上位 K 件の推薦リストを生成する問題

Slide 24

Slide 24 text

順序付け関数(ordering function) スコア関数(score function) 推薦(recommendation) アイテム集合 I が与えられたとき、ユーザ u 向けの推薦リストを返す関数 対象ユーザ u の対象アイテム i へのスコアを返す関数

Slide 25

Slide 25 text

推薦サイクル(recommendation cycle)