WISS2005

Gards-変化し続ける興味に対応する情報推薦
Gards - Information recommendation system which assumes ever changing human preference

大坪五郎∗
Summary.
Researches about information recommendation system, which recommend appropriate
information to users based on the estimated human preference, have been conducted. However, manysystems do not consider the fact human preference can change so often, and sometimes contradictory.
Based upon the assumption that human preference is affected by what the user saw and changes , wedeveloped information recommendation system which shows as many candidates as possible to users
rather than make a deep inference about user preference. We conducted brief user test using the system
we developed, and observed that user changes preference changes often, and our system effectively support
their decision.

1

はじめに

1. 人間の興味というものは，システムに入力可能トランを推薦するためには「ユーザは現時点でのコンテクストにおいて何が食べたいか」を推論する必要が有る．それを決定する要因の中で大きなものは常識的には「直前の食事で何を食べたか」「その時点での胃の具合」といったものであると考えられる．
しかしながらこうした要素を自動的にシステムに入力することは困難であるし，その都度ユーザに入力させるのはシステムの操作性を著しく阻害し，受容性の低下につながると考えられる．２項目目について，興味の変化に対応してユーザプロファイルを更新していく既存の研究は，比較的長期間にわたる嗜好の変化を扱うものが多い [12]．しかし日常生活においては，「短期間に興味が移り変わる」といった現象は頻繁に観察されるものである．３項目目についてはポータブルプレーヤー向けの楽曲推薦など基本的に個人で使用するコンテンツであれば比較的問題は少ないが，レストラン推薦などのように個人で使用するよりも複数の人間で使用する頻度が高いと考えられる用途を考えた場合には大きな問題になると考えられる．現状の情報推薦技術に関するこのような限界を踏まえ，本研究では情報推薦に関して異なるアプローチを取ることとした．その前提とした想定を以下に示す．

な情報を利用して推論できるものであるのか．

1. 人間の興味は固定化されたものではなく，その2. 情報推薦を受けている最中に人間の興味が変化時点でユーザが目にするもの＝システムが提示した情報によって影響を受け変化し続ける．

本稿では常に変化し続けるユーザの興味に対応し，効果的な情報推薦を可能にするシステム Gards について報告する．

2

研究の動機

近年インターネットの普及及び記憶装置（ハードディスク）の大容量，低価格化及び家電製品への搭載によりユーザが扱うことのできるデータの量が増大しつつある．そうした膨大な量のデータから簡単に「好みのデータ」を見つけるため，ユーザの興味を推定し，情報を推薦（あるいはフィルタリング）するシステムの研究が盛んに行われている．情報を推薦するためには大別してコンテンツフィルタリン
グ，協調フィルタリングが用いられる．このいずれの方式をとるにしてもユーザの嗜好，興味に関連する情報を獲得し，ユーザプロファイルを構築することが必要となる [12]．一旦ユーザプロファイルが構築されれば，その内容を参照して推薦するデータを選択することができる．しかしながらこうした技術にはいくつかの限界を指摘することができる．

することがあるが，それにはどう対応するか．

3. 複数の人間が相談しながら選択を行うような場合にはどのようにユーザプロファイルを統合し情報推薦を行えばよいのか．
１項目目についてレストランを推薦するシステムを例にとって説明する．ユーザの好みにあったレス∗c 2005 日本ソフトウェア科学会 ISS 研究会．
°Goro Otsubo, (株) デンソーアイティーラボラトリ

2. 情報推薦システムの目的は「ユーザの要求を少ない操作負荷で収束させること」及び「収束時点での満足度が高いこと」であり，システムを使う前に想定した「正解」とシステムの出力がどの程度合致しているかではない．
上記想定について説明する．
「興味に合う情報」というのは必ずしもユーザの意識の中に最初から存在しているわけではない．またユーザは候補となりうWISS 2005

る情報を全て知っているわけでもないので，「自分が知らなかった情報」を目にすることにより，そちらに興味が移行していくことが起こりうると考えられる．また頭の中で漫然と願望を抱いていたとしても，それを実際に候補としてシステムが提示した場合，それを見ることにより「気が変わる」ということも起こりうるであろう．そうした現象が起こった
場合，仮に当初想定していた情報と異なる種類の情報であっても，ユーザが満足できれば，それで情報推薦システムはその役割を果たしたということができると考えられる．この場合には少ない操作負荷で，ユーザに高い満足度を感じさせることが重要になると考えられる．
また，もう一つ考慮すべき要素として，情報を得るのに必要なコストと情報を得ることによって得る利益のトレードオフが上げられる [10]．すなわち情報を得るためのコストが少ない場合には，その情報によって得られる利益が少ない=不正確である可能性が高い情報を提示されたとしても，有る程度許容されるのではないかと考えられる．

3

Gards の試作

前項までに記述した動機に基づき変化し続ける人間の興味に対応して情報を推薦するシステム-Gardsを開発した．以下にその概要を述べる．

3.1

対象とする問題領域とアプローチ方法

本研究で扱う問題としては，著者が勤務する会社の最寄り駅である渋谷駅周辺で，「好みに合った」昼食がとれる場所を探すこと，とした．インターネッ
ト上で調査したところ，渋谷駅から徒歩でいける範囲において，昼食が取れる場所は少なくとも百軒以上存在している．これらの店が提供する代表的なメニューの中から「これでよい」とユーザが考える項目に到達することがゴールとなる．この問題にアプローチするにあたり，以下に示す方針を設定した．

1. 興味の推定は全て限定された範囲での操作履歴を用いて行う．

2. ある程度不正確であっても，ユーザが認識できる範囲でできる限り多くの候補を提示する．

3. ユーザは簡単な操作で提示された情報に対して「好き」「嫌い」の判断を示せるようにする．
上記方針について以下に説明する．前述したように，ユーザの興味は移ろいやすく，かつ外部の環境目にしたものであるとか，一緒に情報探索を行っている人間の意見-によって変化するため，「多くの学習データを用いて精度の高い」情報を提示する，という戦略は必ずしも現実的ではないと考えた．そのため，Gards では限定された範囲での比較的少数の操作履歴を用い「その時点（付近）でユーザがどのような嗜好を示しているか」だけを推定することとした．
この際，比較的少数のデータを元に情報を推薦するため，提示された候補には不正確さが存在すると考えられる．しかしユーザの興味が本質的に曖昧で移ろいやすいものだとすれば，それらが必ずしも「不正確」とは言えない．返ってそうした「不正確」な情報が，ユーザに別の方向に情報を探索する手がかりを与える，といった効果も期待できるのではないかと考えた．こうした考察に基づき，Gards ではユーザが認知できる範囲でできる限り多くの候補を提示するようにした．また操作を簡単にすることで，ユーザにおいての情報取得コストを低減させ，結果的に提示候補の精度が高くなくてもユーザの不満を招くことがないようにする効果が期待できる．
前記方針の１は情報推薦アルゴリズムに関するものであるが，２，３はユーザインタフェースに関連が深い．従来の情報推薦システムに関する研究ではユーザインタフェースよりも情報推薦アルゴリズムに重点を置くものもあったが，本研究では，ユーザインタフェースも情報推薦システムにおいて本質的な意味を持つものと考えた．

3.2

システム概要前述した方針に基づいて開発した Gards のスクリーンショット及び操作の流れを図 1 に示す．
Gards の動作概要を以下に述べる．起動されると初期のメニューがランダムに選択され表示される．
ここでいう「メニュー」とは GUI で通常使われるコンピュータで，ディスプレイ上に表示される操作項目の一覧 という意味ではなく，品目の写真，名称及び価格である．このうちユーザ操作負荷を少なくする，という観点から一目で情報の概要を理解できる写真を主たる媒体として用い，名称及び価格は補助的に表示するようにした．メニューには推奨順序があり，１番目から９番目が画面上に表示されている．また推奨順序１番目〜３番目のメニューに関しては，そのメニューを提供する店舗の情報が左側に提示されている．この９という候補表示個数は，予備実験を行い，ユーザが画面上に表示された情報に圧倒されることなく認識でき，かつできる限り多いという条件で選択した．
ここからユーザが行う操作は基本的には２種類のみである．気に入ったあるいは好みの方向に少しでも近いメニューをクリックすること（以下「ピックする」と称する）及び気に入らないメニューをドラッグすること（以下「ドロップする」と称する）である．
後者に関してここでは一般的な用語としてドラッグを使ったが，操作感上では つかんで投げる というものに近い．こうした単純かつ直感的な操作により，ユーザが情報を得るためのコストは低く抑えられるものと考えられる．

Gards - Information recommendation system which assumes ever changing human preference

ユーザがピックまたはドロップの操作をするたびに，システムは情報推薦アルゴリズム（後述）によりメニューの順序付けを更新する．更新された順序付けに従い，メニューの入れ替えが行われる．この
際ユーザが選択したメニューは常に上位に表示されるとともにユーザにより選択された旨を示すマークがつけられる．
（図 1 の中，及び下参照）
ユーザは自分が「これでいい」と思える選択肢が表示されるまで前述の二つの操作を繰り返す．しかしながらユーザはこうした個々のメニューの選択ではなく，大まかな方向だけを示したくなることも考えられる．そのため，下部に３種類のボタンを配置してあり，それぞれをクリックすることで異なる動作を行うことができる．

• Reset:今までピックしていた項目全てをドロップする．この操作を行うことにより，「気が変わった」場合に今までとは全く異なる分野のメニューを探索できる．

• Other:ユーザがピックしていない項目全てをドロップする．この項目を選ぶことにより，既にピックされた項目を生かしつつ，別の分野のメニューを閲覧することができる．

• More:ユーザがピックしていない項目全てをより下位の候補に取り替える．この操作は「今表示されているメニューも悪くないがもう少し別なメニューも見てみたい」という場合に有効である．
こうした一連の操作はスムーズに行われ，ユーザはいわゆる「待たされる」といったことがない．ここで Gards がメニュー選択に用いているのはユーザの選択履歴のみであるため，仮に複数のユーザが相談しながらメニュー探索を行っている場合でも，問題なく対応できるものと考える．次にこれらの機能を実現するために開発した情報推薦アルゴリズムについて記述する．

3.3

図 1. Gards のスクリーンショット

情報推薦アルゴリズム

Gards では，ユーザが示した比較的少数（数個〜十個程度）の選択結果より，その時点で示されたユーザの興味を抽出し，適合した候補を提示する必要が有る．
ユーザプロファイルに適合した候補を選択するためのアルゴリズムとしては選択対象となるデータを特徴ベクトルで表し，ユーザが選択したものと類似のベクトルを持つ候補を選択する方式が広く用いられている [4]．しかしながらこうした方式は，ユーザが「良い」としたものだけを学習の対象とする際にはうまく働くが，ユーザが「悪い」としたものを含めるとその挙動が不安定になることが知られている [7][2]．Gards ではユーザの「良い＝正」「悪い＝WISS 2005負」両方に渡る選択を対象としているので，この方式をそのまま用いるのには問題が有る．
このため，Gards ではユーザの正負両方の選択肢を考慮できるアルゴリズムとして Support VectorMachine(SVM)[6] を使用することにした．SVM は，正負両方の学習データより，超空間上に両者の間のマージンが最大化するように分離平面を定義する．
ラベル付けを行っていないデータが，この分離平面のどちら側にあり，どの程度離れているかをユーザの興味との適合度と考えることより，選択肢の順位付けを行うことが可能であると考えた．この関係を
図 2 に示す．

存在する区間，及びその前後の区間の値を 1 とし，残りを 0 としている．
実際の計算方法について以下に記述する．初期状
態では，各メニュー項目の適合度を乱数を用いて決定し，上位９メニューが画面に表示される．
ユーザが前述した操作によって各メニューの好き，嫌いを入力すると，それらをそれぞれ正例，負例とし，SVM を学習させ，他の選択肢の評価を行う．これらの学習データには寿命があり，ある一定回数以上判断に使用されると学習データとして使用されなくなる．これはユーザが選択を行っていくうちに気が変わり，一度は負例として選択した候補を見直す，あるいは正例として選択したメニューから興味が移っていくこともあると想定しての処理である．
ここでユーザの入力が正例，もしくは負例のどちらかに偏っていると，SVM は正しく分離平面を計算することができない．このような場合には OneClass SVM[3] に計算方法を切り替え，候補の評価値を求める．この場合，正例，もしくは負例で数の多い方を学習データとし，One-Class SVM によってそれらのほとんどが含まれる領域を計算し，その領域からの距離を各候補の興味との適合度として評価を行う．

3.4

図 2. SVM の例

SVM を適用するため，本研究では各メニューを30 次元のベクトルで特徴量化している．その内容を
表 1 に示す．
表 1. 特徴量一覧

区分
地域
形態
カテゴリー
素材
値段

項目
和/洋/中/韓/無丼/定食/セット
麺/スパゲッティ/寿司/飯/シチュー/カレー
鳥/豚/牛/魚/ハンバーグ/パン
最高値と最安値間を１０段階に区分

要素数536610

値段を除く各項目に関しては，項目に該当する場合の値を 1，該当しない場合の値を 0 とした．値段に関しては，対象とするデータのうちの最大値と最小値の間を 10 段階に区分し，各メニューの値段が実装システム

Gards は Java を用いて記述されている．SVMの計算モジュールとしては，LIBSVM[5] を用いた．
また使用したメニュー，レストランの情報は渋谷ランチマップ [1] から許可を得て取得したものをベースに，Web 上で調査した情報を追加してある．メ
ニューの数は 547, 店舗数は 292 である．

4使用例

Gards の初期段階の評価を行うため，２０代から４０代までの男性５名，女性１名に使用してもらいその操作ログを記録，また評価終了後に感想を聴取した．一例として表 2 に２０代男性の操作ログを示す．
このユーザは No.1 の操作で一度はピックしたメニューを No.6 でドロップしている．また No.15 の操作で最終選択が決まる直前まではご飯のついた定食類を探索しているにもかかわらず，最終的には同じ和食ではあるが，天せいろ（そば）を選択している．
こうした選択について評価終了後インタビューした
ところ「それほど考えがあって選択しているわけではない．このプログラムは他のジャンルに移るのが簡単なのが良いと思う」という回答があった．この場合はシステム開発時に想定した「不正確であっても多くの候補を提示する」方針がうまく機能したと考えられる．被験者のうち男性２名，女性１名はおおむねこのような操作を経て最終選択を行った．

Gards - Information recommendation system which assumes ever changing human preference

表 2. 20 代男性の操作ログ

No123456789101112131415操作ピック [さばみそ煮定食]
ピック [味噌かつ煮定食]
ピック [かつ煮定食]
ドロップ [豚焼肉定食]
ピック [本日の定食 アジ]
ドロップ [さばみそ煮定食]
ピック [麦とろ定食]

No1 と同じメニュー

More
ドロップ [チキン南蛮定食]
ドロップ [さばの味噌煮定食]ピック [かつとじ定食]

No1,6 とは違うメニュー

More
More
More
ピック [あしたば天せいろ]

他の男性３名はこれとは異なる方法で本システムを使用した．一例として２０代男性が最終選択までにピックした項目を順に列挙すると以下のようになる．
「ハンバーグロコモコ」「恋文ロールキャベツ 」「ネギマグロ丼」
「うな重」
「鯛めし」
「ラタトゥーユ丼」「オードブルセット」（最終選択は「鯛めし」）これらの項目には共通する特徴を見出し難い．評価終了後インタビューしたところ「自分の興味にピンポイントにマッチしたものの 寄せ集め 集合を作り，最後にその中から選択した」という回答があった．こうした使用方法は当初の想定外であったが，提示された内容を確認しつつ柔軟にジャンルを変更していくことができる機能（Other 及び More) がうまく使われた例と考えられる．
他に得られたコメントとしては「画面一面に天丼が表示されたのを見て，天丼を食べたくなくなった」
等があった．使い勝手に対する要望としては「一度ドロップしたものが再び表示されるのは良くない」というものがあった．

5

備考

関連研究

坂本らによる「競争型レストラン推薦システム」[14] は価格と近さという観点から複数のエージェン
トがユーザに情報を推薦し，その反応を見て推薦戦略を変更するシステムである．動的にユーザの興味を学習するという点では共通点があるが，ユーザ興味の大きな変化について考慮に入れていない点でGards と異なる．
遺伝的アルゴリズムを用いた画像検索手法 [11][16]はインタラクティブ性を重視すること，またユーザの興味が変化することを重視している点で Gards に最終選択近い．しかしながら遺伝的アルゴリズムを用いているため，ユーザの選択結果がどのように候補の評価に反映するかは必ずしも明確ではない．
柘植らは情報検索にサポートベクターマシンを用いることを試みている [13]．しかしながら柘植らの研究は比較的多数の学習データ（30 以上で効果が出ると称している）を用いており，情報に対する要求が有る程度明確になっている＝興味の変化が少ない状況において精度を上げることを目指している点が本研究と異なる．
Faltings らはユーザは自分の興味を正確に表現することができない，という前提の下に Examplecritiquing Interaction-システム側が提示した例をユーザが取捨することにより，真の興味を引き出す方法-について考察している [8]．しかしながら彼らの研究においては本研究で検討したように「システム側が提示した例をユーザが見ることによって興味が全く変わってしまう」といった興味の変化は想定されていない．
Hugo Liu は膨大なレシピの中からユーザの曖昧なニーズに合致する候補案を次々に提示するインタフェースを開発している [9]．しかしながら入力はあくまでも要求するものの性質をタイプする形で入力する方式であり，Gards で採用しているような直接的なインタラクション本式ではない．
水口らは漠然とした要求しか持っていないユーザが大量のデータの中から自分の興味にあったものを探すためのインタフェースとして InfoGlobe[15] を提案している．視覚的な手がかりを一覧することにより気軽に大量のデータを探索する点は Gards と共通しているが，自分の興味を反映させるための操作が煩雑である，という問題点がある．

WISS 2005

6

現状システムの課題と考えられる対策

ユーザ試験で得られた「一度ドロップした項目が再び表示されるのはよくない」という指摘は，負例が持つ意味合いについてさらに検討する必要があることを示していると考えられる．すなわち負例としてドロップする場合「なんとなく好みじゃない」という場合もあれば（これが今回想定した負例）「絶対いや」という場合もあると考えられる．現状の Gards
ではこうした負例の性質の違いについて考慮していないため，前述の不満がでてきたものと考えられる．
これは今後の検討課題としたい．
また今回はユーザの操作履歴のみを用いて情報推薦を行っているが，実用化にあたっては，ユーザの嗜好について有る程度事前に入力することも必要になるであろう．
これは「絶対に選択できない」候補を推薦対象から外すためで，具体例を挙げれば，食物アレルギーなどが有る場合には，アレルギーを起こす材料を含むメニューは絶対に選択することはできない．こうした情報は例えば非接触型のＩＣカードに記録させておき，自動的に入力することにより，システムが提示する候補から外すことが考えられる．
また実際に昼食を食べる場所を選択する際には，そこで提供されるメニュー以外の属性が支配的な要素となる場合も考えられる．例えば大人数で食事する時にとにかく入れる場所を探したい場合，あるいはメニューもさることながらその店の雰囲気を重視する場合などである．このような場合には「メニュー」よりも「場所」の性質が重視される．
こうした探索に対応するためには，場所に関する属性を数値化し，今回メニューに関して適用した情報推薦アルゴリズムを場所に対して適用することが考えられる．

7

まとめ

人間の興味の変わりやすさに着目し，大量の学習データを用いて「精度」を上げるよりも，比較的少数の操作履歴データのみを用いて次々と候補を表示し，ユーザが満足できる解に到達することを目指したシステム Gards について報告した．今後は同様の手法を他の種類のデータに応用する可能性について探って行きたい．

謝辞
快くデータを使用させていただけた渋谷ランチ
マップに深く感謝いたします．

参考文献[1] 渋谷ランチマップ. http://lunchmap.jp/, 2005.

[2] T. Ashwin, R. Gupta, and S. Ghosal. Adaptable similarity search using non-relevant information. In Proceedings of the 28th VLDB Conference. Hong Kong, China, pp. 137–153, 2002.
[3] B.Scholkopf, et al. Estimation support of highdimensional distribution. In Technical Report
MSR-TR-99-87, Microsoft Research, 1999.
[4] C.Buckley and G.Salton. Optimization of relevance feedback weights. In Proc. Of SIGIR, pp.
351–357, 1995.
[5] C.Chih-Chung and L.Chih-Jen.
LIBSVM: a library for support vector machines.
http://www.csie.ntu.edu.tw/
cjlin/libsvm,2001.
[6] C.Cortes and V.Vapnik. Support-Vector Networks. In Machine Learning, Vol.20, pp. 273–297, 1995.
[7] M. Dunlop.
The effect of accessing nonmatching documents on relevance feedback. In
ACM Transaction On Information Systems Volume 15, Number 2, pp. 137–153, 1997.
[8] B. Faltings, et al. Designing example-critiquinginteraction. In Proceedings of the 9th international conference on Intelligent user interface,2004.
[9] H. Liu and M.Hockenberry.
Synaesthetic Recipes:Articulating Cravings.
http://web.media.mit.edu/hugo/research/,2005.
[10] T.Malone, et al. Intelligent Information Sharing
System. In Communications of the ACM. 30(5),pp. 390–402, 1987.
[11] 加藤宗子. ユーザの主観的な心で制御する遺伝的アルゴリズムを用いた画像検索手法. 通信総合研
究所季報 Vol.47 No.2, pp. 65–78, 2001.
[12] 土方 嘉徳. 情報推薦・情報フィルタリングのためのユーザプロファイリング技術. 人工知能学会
誌，Vol.19, No.3, pp. 365–372, 2004.
[13] 柘植 覚, 獅子堀正幹, 黒岩眞吾, 北研二. サポート
ベクターマシンによる適合性フィードバックを用いた情報検索. 情報処理学会論文誌 Vol.44 No.1,pp. 59–67, 2003.
[14] 阪本俊樹, 北村泰彦他. 競争型情報推薦システムとその合理的推薦手法. 電子情報通信学会論文誌
D-I, J86-D-I(8), pp. 608–617, 2003.
[15] 水口 充, 浦野 直樹. 提示型インタフェースによる情報検索システム. 第 6 回インタラクティブ
システムとソフトウェアに関するワークショップ(WISS 98), pp. 159–164, 1998.
[16] 北本 朝展, 高木 幹雄. 進化的計算論に基づく対話的な画像散策法. 第 4 回知能情報メディアシンポジウム, pp. 173–180, 1998.