• 検索結果がありません。

ユーザに合わせた推薦を行うための重み係数の調整 24

ドキュメント内 () (ページ 37-42)

に収束させるループ作業をシステムが裏で解析的に算出する方法で代替できるた め,ユーザ調整を短時間で行うことができる.

 具体的な方法は次節で説明する.

図 5 提案する重み調整手法

5.2 重み係数の調整方法について

重み係数の調整の第1段階として,重回帰分析の正解データを取得する.本研 究では,ユーザにサンプルレシピ30個前後のレシピ推薦満足度(晩御飯のメイ ンディッシュとして,自炊して作りたい度合い)を5段階で付けてもらい,それ を正解データとした.

 この方法において,同じ傾向のレシピばかりの偏ったレシピ群を調整データと して使ってもユーザのレシピ決定傾向(ユーザがレシピ決定に関する各要因をど れだけ重要視しているか)を反映していない調整がなされてしまうため,重回帰 分析の正解データの収集に使うサンプルレシピはなるべく偏らないようにすべき である.本研究では,4章で説明した6つの要因スコアに注目して各スコアの組 合せの傾向が分散するようにサンプルレシピを選択した.また,より正確なユー

ザ調整を行うためには各要因スコアの組合せが分散しているようなすべてのレシ ピを評価することが理想であるが,6つの各要因のスコアを高/低に分けた組合せ でさえ64通りあり,ユーザの調整作業にかかる労力が大きくなり過ぎるため,レ シピ推薦満足度を回答してもらうレシピの数を30個前後に減らすことにした.

 具体的には,以下の方法でサンプルレシピ集合を選定する.

1. 食事履歴や現在の在庫食材などのスコアの算出に必要な情報をユーザに入 力してもらい,レシピDBに存在するすべてのレシピ各々の6つの要因ス コアを(4章で説明した方法で)算出する.

2. 6つの要因スコアの各平均値を使って相対的に高いスコアと低いスコアに分 ける.

3. 6つのスコアの高/低の組合せ64(= 26 [2:高/低の2択,6:要因の数])通りの 傾向に合わせて,DBのレシピを分ける(その傾向を満たすレシピがない場 合もある).

4. 2.のように分割した64個のレシピ群から,各々1つ代表レシピをランダム

で選ぶ.

5. 3.で選ばれた代表レシピの集合の中から32個ランダムにレシピを選択(代

表レシピの集合が32個以内ならあるだけすべて選択)し,それらをサンプ ルレシピ集合とする.

 その後,選定したサンプルレシピ集合の各レシピについて5段階評価で推薦満 足度(晩御飯のメインディッシュとして,自炊して作りたい度合い)をユーザに つけてもらう.

 その後,重み係数の調整の第2段階として,上記のユーザにつけてもらった30 個前後のサンプルレシピの正解データ(推薦満足度)と,各レシピの要因スコア を使って重回帰分析を行う.

 ここからは,重回帰分析を使った重み係数の調整の方法について簡単に説明す る.

表 6 サンプルレシピの推薦満足度と各要因スコアの例

レシピ名 推薦満足度 食材嗜好スコア 栄養スコア カロリースコア 調理時間スコア 在庫食材スコア 連続推薦回避スコア

肉じゃが 4 0.531 0.5 0.95 0.208 0.833 0.0

エビチリ 3 0.278 0.123 0.525 0.167 0.441 1.0

スパニッシュオムレツ 2 0.506 0.684 0.525 0.125 0.625 1.0

カレーライス 4 0.493 0.387 0.9 0.333 0.625 1.0

アボカドの刺身 2 0.349 0.248 0.205 0.083 0.179 1.0

... ... ... ... ... ... ... ...

 まず,3章で表記した以下の式を用いて,重回帰分析に必要な入力を説明する.

SR =C1∗SFR+C2∗SNR+C3 ∗SCR +C4∗SER+C5∗SSR+C6∗SLR

(16)

 重み係数の調整方法は,SRに各(サンプル)レシピの正解データ,SFR, SNR, SCR

, SER

, SSR

, SLRに各(サンプル)レシピの要因スコアを代入して,Ci(i = 1,2, ...,6)の値を求める6変数の重回帰分析である.

 そのため,Ci(i= 1,2, ...,6)の値を求めるには,正解データであるSRの値に加 えて,SFR,SNR, SCR, SER, SSR, SLRの値が求まっている必要があるため,SR, SFR, SNR, SCR, SER, SSR,SLRが重回帰分析に必要な入力である.

 これらの入力は,統合スコアSRに関しては重回帰分析の正解データである各 サンプルレシピの推薦満足度がここに入る.また,SFR, SNR, SCR, SER, SSR, SLRは各(サンプル)レシピの要因スコアであり,食事履歴などの推薦システム の入力からすでに求まっているため,重回帰分析を行ってCi(i= 1,2, ...,6)の値 を求めることができる.上記で述べた重回帰分析の結果の計算に関しては,統計 解析ソフト「R」を利用して算出を行っている.

 例として,表6のように,サンプルレシピの推薦満足度がユーザから取得され,

かつ各サンプルレシピの6つの要因スコアが求まっているときの重回帰分析の結 果の例を書く.(実際は30個くらいのサンプルレシピがあるのだが,例では5つ だけの場合を表記)

 この場合の推薦度関数は,以下の式17になる.

SR= (1.02)∗SFR+ 2.37∗SNR+ 1.59∗SCR +0.66∗SER+ (0.52)∗SSR+ (0.39)∗SLR

(17)

 このように算出した重回帰分析の係数を推薦度関数の重み係数として用いて,

各ユーザに合わせたレシピ推薦を行う.

ドキュメント内 () (ページ 37-42)

関連したドキュメント