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

yamashita b