推薦システム |
作成日:2008-01-15 最終更新日: |
推薦システムのアルゴリズムを述べる。 以下は、神嶌敏弘氏による、下記の人工知能学会誌の解説をもとにしている。
神嶌敏弘:推薦システムのアルゴリズム(2), 人工知能学会誌, Vol.23, No.1, pp.89-103
上記解説によれば、「嗜好の予測とは、活動利用者の嗜好データや、 アイテムの特徴を用いて、 活動利用者の各アイテムへの関心や好みの度合いを予測することである。」
嗜好を予測するための方法は、大きくわけて二つある。 一つは、検索対象の内容を考慮して推薦する方法であり、 もう一つは趣味が似ている人に面白かったものを教えてもらう方法である。 前者は内容ベースフィルタリング、後者は協調フィルタリングと呼ばれる。
協調フィルタリングの手法には、 メモリベース法と、モデルベース法、 およびこれらのハイブリッド手法がある。 ここで紹介するのは、ハイブリッド法である。 以下、ハイブリッド法について、上記論文の例で紹介する。
↓はどんぶり専門店の評価表である。 4人の利用者は各行に対応し、 4種類のどんぶりは列に対応する。 評価は3段階である。3が好き、2がふつう、1が嫌いである。 *は未評価である。 さて、2:田中の1:親子丼の推定値はどうなるだろうか?
| 利用者\丼 | 1:親子丼 | 2:牛丼 | 3:海鮮丼 | 4:カツ丼 |
|---|---|---|---|---|
| 1:山田 | 1 | 3 | * | 3 |
| 2:田中 | * | 1 | 3 | * |
| 3:佐藤 | 2 | 1 | 3 | 1 |
| 4:鈴木 | 1 | 3 | 2 | * |
以下、推定値を求めるアルゴリズムである。
以上から、2:田中の1:親子丼への推定評価値は2.75と計算できる。 この値は最大値3に近く、2:田中は1:親子丼が好きであると予測できる。
以上の考えかたに従い、JavaScript を組み、一度公開したが、 未完成だったため、公開を取り止めた。やはり、プログラミングは難しい。 完成したら公開する予定である。
まりんきょ学問所 > JavaScript 手習い > 推薦システム