Webサービスによるユーザ嗜好に適応したお薦めシステムに関する基礎研究
北海道大学工学部情報工学科4年複雑系工学講座調和系工学研究室
山下晃弘
A Study on User-Adaptive Recommender SystemBased on Web Service
2006/2/16 卒業論文発表会 1
・飲食店の評価・好みのジャンル
etc...
背景
近年、Web上の情報資源は増加し、利用形態も多様化している
利用者の趣味・嗜好を考慮した、お薦めシステムが注目されている
キーワード検索
適切なキーワードを考える必要がある
お薦めシステム趣味嗜好という感覚的側面を判断
例: 喫茶店○○の住所が知りたい
例: どこか美味しいお店を知りたい
飲食店情報ユーザ情報
・コンテンツベースフィルタリング
・協調フィルタリング
・相関係数法 [Resnick 1994]
・逐次的二項関係学習法 [Nakamura, Abe 1998]
・なんとなく協調フィルタリング [Kamishima 2003]
関連技術
嗜好の近いユーザの評価を基に飲食店を提示
2006/2/16 卒業論文発表会 2
問題点
・ ベンダーの提供するシステムは、導入時の経済的コストが大きい
お薦め機能を導入しているのは、大部分が大手商用サイトである
※出典:Webパーソナライゼーション 日経BP社 2002
個人や中小企業のサイトではお薦め機能の導入が難しい
Awareness Net システム(NTT東日本)アイジェント (Silver Egg Technology)
・ フリーのお薦めエンジンを利用するためにはプログラミング技術が必要
日本のベンダーによる一般的なサービス価格 500万円~3000万円※
代表例
2006/2/16 卒業論文発表会 3
目的
誰でも無償で利用できるシステムをオープンな技術で構築し公開する
実際にお薦めシステムを運用し、その実用性を検証する
Webサービス技術を利用することにより、プラットフォームに依存せず多様なニーズに対応可能
2006/2/16 卒業論文発表会 4
Webサービス型汎用お薦めシステム
• ユーザ管理
• コンテンツ管理
• 推薦アルゴリズム
• アルゴリズムのデータ管理
• ユーザインタフェース
必要な機能お薦めシステムのWebサービス化
システム構築時の方針
• 出来る限りフリーで利用可能な技術を利用する• 計算速度や通信速度より言語や環境に依存しない一般性を重視する• 開発のしやすい方法で、拡張性の高さやメンテナンスの容易さを考慮する
2006/2/16 卒業論文発表会 5
Webサービスによるシステム構築
• XOOPSのモジュールとして実装– お薦めモジュールのインストールが容易– PHPにより、Webコンテンツを簡単に構成可能– 外部モジュールの利用により簡単に機能が追加できる– ユーザ管理コンテンツ管理など、お薦めシステムとして利用可能な機能が充実
プロバイダとリクエスタ間の通信にはSOAPを使用
・W3Cの勧告であり、Webサービスの標準技術である・ XMLにより通信を行うため、言語やプラットフォームに依存しない
お薦めプロバイダ
お薦めリクエスタ
• Javaによる実装– アプリケーションサーバやSOAPライブラリが充実– WebアプリケーションやWebサービスのサーバとして構築例が豊富
2006/2/16 卒業論文発表会 6
システム構成
今回新たに構築した部分
2006/2/16 卒業論文発表会 7
協調フィルタリング - 相関係数法ー
ααの評価推定値が未知のコンテンツユーザ
の類似度とユーザユーザ
集合が評価したコンテンツユーザ
を評価したユーザ集合コンテンツ
に対する評価のコンテンツユーザ
コンテンツ集合ユーザ集合
ii
jiji
ii
ii
ijji
mn
ecu
uusimuuCu
Uc
ecuccCuuU
ˆ:
),(:::
:},,{:},,{: 11
jiji
ji
CCajja
CCaiia
CCajjaiia
jieeee
eeeeuusim
22 )()(
))((),(
ji CCaiai ee
α
α
α
α
Ujji
Ujjjji
ii uusim
eeuusimee
),(
))(,(~ˆ
i
Caia
i C
ee i
~
評価済みコンテンツ集合
ユーザが既知のコンテンツ集合
全コンテンツ集合
iC jCji CC
を計算),( ji uusim
)ˆ(maxarg: αα
推薦するコンテンツ ie
類似度小
類似度大 高評価コンテンツ
2006/2/16 卒業論文発表会 8
システムの運用
5段階評価・ レビュア評価
評価が高いと推測された上位3つのコンテンツを表示お薦め表示
5段階評価+レビューコメント投稿・ レビュー
協調フィルタリング(相関係数法)+レビュア評価お薦めアルゴリズム
100タイトルコンテンツ数
25名程度ユーザ数
映画対象コンテンツ
レビュー: ユーザがコンテンツに対して行う評価やコメントレビュア: 1回以上レビューを行ったユーザ
※
・ 趣味や嗜好が強く反映されるコンテンツで実際にシステムを運用する
・ 推薦されるコンテンツがそのユーザに適応しているかを観察する
・ ユーザの嗜好を反映するためには多くのレビューが必要
2006/2/16 卒業論文発表会 9
2006/2/16 卒業論文発表会 10
運用した結果得られたデータ例
・・
・
・
・
・
・
・
・
・・
・・
・・
・・
・・
・・
・・
・・
ノード:レビュア
エッジ:ユーザ間の類似度
赤:正の相関
青:負の相関
太:強い相関
細:弱い相関
ユーザ間の嗜好の類似度グラフ
得られた総レビュー数:210レビュア:17名
2006/2/16 卒業論文発表会 11
お薦めシステム構築方法の比較
Apache、PHP、MySQL、XOOPSのインストールベンダーに依頼
構築するシステムについてベンダーと相談
Apache等HTTPサーバ、DBMSのインストール
開発環境の構築
お薦めモジュールのインストール
フリーのモジュールをWebサイトに組み込む(プログラミング)
お薦めシステムの運用
モジュールの仕様に沿ってシステムを設計する
ベンダーに依頼する場合 フリーモジュールを利用する場合 提案する方法の場合
2006/2/16 卒業論文発表会 12
まとめと今後の課題
• 一般ユーザでも簡単に低コストで導入可能なお薦めシステムの基盤を構築した• 実際にシステムをテスト運用し、システムの実用性を検証することができた
• あるレビューが他の人の推薦にどの程度影響を与えてるかを可視化する方法はあるか
• レビュアの人気ランキングを表示することで評価するインセンティブに繋がる
• 興味の無い映画が推薦された場合にシステムに知らせる方法があると良い
• コンテンツの新規登録では、映画のタイトルから他の属性は自動入力できないか
• 監督、俳優、ジャンルの繋がりを考慮した推薦は可能であるか
まとめ
ユーザからの意見や要望