St_Hakky’s blog

Data Science / Human Resources / Web Applicationについて書きます

推薦システムについて調べたのでまとめる

こんにちは。

今日は、推薦システムについて調べたのでそのことについてまとめます。

推薦システムとは

推薦システムとは、特定のユーザーに対して、アイテムへの嗜好を予測し、提示すべきアイテムを決定するシステムのことを指します。AmazonなどのECサイトで表示される「この商品を買った人はこれも買っています」みたいなのを思い浮かべるとわかりやすいと思います。

また、Konstanの定義によれば以下のようなものが紹介されていました。

Recommenders: Tools to help identify worthwhile stuff
(推薦システム:どれに価値があるかを特定するのを助ける道具)

大規模なサービスになってくると、ユーザーが自分のほしい情報や商品がどこにあるかを特定することは、検索やカテゴリから情報を選ぶという手段だけでは非常に難しくなります。

そのため、ユーザーの趣味嗜好に合わせた推薦を行うことで、自分好みのコンテンツに到達しやすくなります。これについては、Netflixのブログが参考になりました。


要素技術

推薦システムには、大きく分けて次の3つの要素技術があります。

  • 人間から 必要な情報を収集し,人間との対話を扱うヒューマン・コンピュータ・インターフェー ス技術
  • 収集したデータから推薦情報を生成し,それを目的に応じて変換 する機械学習,統計的予測,そして情報検索の技術
  • 推薦に必要な情報を 蓄積し,処理し,流通させる基盤技術であるデータベース,並列計算,そしてネット ワーク関連の技術

このブログでは基本的に、推薦情報の生成とそのアルゴリズムについて説明します。

非個人化推薦と個人化推薦

推薦には大きくかけて二つの分類があり、これらの組み合わせもある。以下が説明では参考になる。

非個人化推薦とは,たとえばビュー数の多い記事や,編集者のピックアップ記事など,全ユーザを対象(=非個人)として行った推薦(情報の優先度の付け方)を指します。

もう一方の個人化推薦とは,先ほどあったイメージの通り,個人を対象とした推薦のことです。
引用:第2回 推薦システムの概念:情報推薦システムの基本|gihyo.jp … 技術評論社

何故推薦システムが必要か

なぜ推薦システムが必要になったかという背景は、大量の情報が発信され、探したい情報がどこにあるか、またそもそも探したい情報が何かを特定できなくなった(情報過多)ことに集約されると書かれている(参考)。

今であれば、AmazonやNetflix、Youtubeなどのサービスで、ユーザーにとってメリットの大きい動画などを見ることができるようなるのは、純粋にメリットである。

If I have 3 million customers on the Web, I should have 3 million stores on the Web

    • Jeff Bezos, Amazon

主な手法

一覧

手法名 手法の概要
デモグラフィックフィルタリング
協調フィルタリング
ユーザーベースフィルタリング
内容(コンテンツ)ベースフィルタリング
ハイブリッドフィルタリング

協調フィルタリング

st-hakky.hatenablog.com

推薦システムの代表的な問題点とその改善策

■一覧
問題点 概要
コールドスタート問題 新しいアイテムやユーザが追加された時に類似のアイテムを見つけるのが難しい問題
少カバー率問題 ユーザの評価が少ないアイテムは類似するアイテム等のレコメンデーションの提示が不可能になること
同類推移問題 スパースなデータベースの場合、類似のユーザであっても、全く同じアイテムを共に評価しないと類似であると判別されない問題