個人の状況を考慮した “かんたん” なレシピの推薦
矢嶋 亜紗美(指導教員：小林 一郎)

はじめに

1AJINOMOTO レシピ大百科より，およそ 1 万件のレシピのソースファイルを自動で取得・分析すること
により，レシピデータ [レシピ名, 使用されている調味料, 使用されている食材, 調理方法に使用される動詞,カロリー, 調理時間, 調理のジャンル（和洋中等）, 主な調理法（煮炒焼等）, レシピの適した季節] を抽出する．
得られたデータを MySQL を用い，「AJINOMOTOレシピ集合」としてデータベースへ格納する．

共働きや一人暮らしをしている人などは， 忙しい時になるべく手間をかけずに料理を作れることを望むと考えられる．しかし， 自分が簡単に作れる料理を常に食べていては飽きてしまうため，簡単な調理で作れる料理を推薦してもらえることが望ましい．現在 Web 上に多数のレシピ検索サイトが存在し，その中には簡単と評価されているレシピも存在する．しかし，そのようなレシピも個人に特化して簡単であると評価されているわけではなく，“かんたん” という言葉の意味は，個人の状況によって解釈が異なる．本研究では，個人の状況を考慮して，“かんたん” と思われるレシピを推薦する手法の提案およびシステムの構築を行う．

2

個人に特化したレシピ推薦システム

2.1

システム概要本研究では，レシピごとに “かんたん” さを示すポイントを付与する．
まず，調味料の観点からのレシピの難易度の評価である調味料ポイント T P ，食材の観点からの評価である食材ポイント SP ，調理方法の観点からの評価である動詞ポイント V P を求める．得られた T P ，SP ，V P
からレシピごとのポイントであるレシピポイント RPを求める．以下にレシピ k の RP を求めるためのそれぞれの式を示す．

本システムではユーザのスケジュールや嗜好，食歴，検索日時等を考慮した複数の推薦知識により，ユーザが選択しないようなレシピをレシピデータから排除し，“かんたん” 順にユーザに提示する．

T Tx（a = 1，· · · ，l）
max(T Ta ）(1)SPy = 1 −STy（b = 1，· · · ，m）
max(STb ）(2)

T T PkST Pk
V T Pk++max(T T Pa ） max(ST Pb ） max(V T Pc ）(4)
（a = 1，· · · ，l ; b = 1，· · · ，m ; c = 1，· · · ，n)

RPk =

事前準備

“かんたん” と個人の状況の定義

本研究が対象とする料理レシピが “かんたん” であるとは，「調理手順が少ないこと」「使用する調味料や食材が少ないこと」「買い足す調味料が少ないこと」「調理時間が短いこと」である，と定義する．
また，個人の状況を表す要素としては，「個人の持つ調味料や食材」「食材や調理法等の嗜好」「スケジュール」「季節」とする．

2.2.2

T Px = 1 −
0 · · · 自動詞や調理に関係ない動詞

 1 · · · 手間がかからない調理法を表す動詞
V Pz = （例：「置く」，「とる」，「すくう」等）
2···手間がかかる調理法を表す動詞

（例：「焼く」，「煮る」，「切る」等）

図 1: システムの構成

2.2.1

レシピのポイント化

2.2.4

本システムの構成を図 1 に示す．

2.2

レシピの取得とデータベース化

2.2.3

T Tx ，STy：全レシピにおける調味料 x，食材 y それぞれの出現回数
T T Pk ：レシピ k に含まれる T Px の総和
ST Pk ：レシピ k に含まれる SPy の総和
V T Pk ：レシピ k に含まれる V Pz の総和
以上の式から求めた RPk により，“かんたん” なレシピ順にレシピの出力が可能となる．現在，調味料，食材，調理手順のポイントの比重は等価としている．

レシピサイト選択

本研究では，Web 上で公開されているレシピ検索サイトから推薦するレシピの資源を収集する．現在，レシピ検索サイトは多数あるが，レシピ数の多い「クックパッド」[1] と「AJINOMOTO レシピ大百科」[2] に着目した．これら 2 つのサイトを比較した結果，資源の利用しやすさという観点から表記の統一性に着目し，表記の統一を含むレシピの書式が管理されている「AJINOMOTO レシピ大百科」のレシピを，推薦のためのレシピ資源として使用する．

3

システムの処理3.1

ユーザによる知識の登録

ユーザによる推薦のための知識の登録が可能である(図 2 参照)．図 2 の表は「“A” が “B” ならば “C” が“D” のものは選択しない」という知識を意味する．

37

(3)

レシピの順番は RP の “かんたん” 順とし，U T P ＜1(買い足す調味料が少ないことを意味する) のレシピのみを出力する．さらに，デフォルトでは調理時間は60 分以下，主食材にユーザが頻繁に使用する食材上位 20 品目のどれかが含まれるレシピを出力する (図 4参照)．
以上により，ユーザの要求を満たしつつ，ユーザの状況を考慮した “かんたん” なレシピの推薦を行う．

図 2: 登録知識の例

3.2

システムによるユーザの嗜好や推薦知識の学習

本システムではユーザがシステムを使用する度に，食材や調理法などに関するユーザの嗜好や特定の状況に対し適切な推薦のを行うための知識を学習する．
ユーザがレシピを検索する際，検索時データ [検索時の年月日，時刻，○○用のレシピを探す (昼食や夕食等)，前日の食歴，その日のスケジュール] とユーザが閲覧または調理したレシピの特徴 [主食材，調理法，調理ジャンル，調理時間，季節等] を取得する．そして，それらの関係性を抽出し，推薦のための知識を生成する．
図 3 は，ユーザが閲覧または調理することにより取得された，レシピの調理法に関する統計データである．
検索時において【2 月】【夕食のレシピを探したい】【前日の食歴「煮る」】の場合，図 3 上部に示す統計情報の 4 つの表の桃色部分のような結果が得られる．その集計結果が図 3 下部に示される．
そこで，この検索時では [煮る・あえる・炒める] 以
外はユーザはあまり選択しないと判断し，「[煮る・あえる・炒める] 以外は選択しない」という知識を生成する．

図 4: レシピの出力例

4

おわりに

本研究では，個人の状況を考慮して “かんたん” と思われるレシピを推薦する手法の提案およびシステムの構築を行った．推薦手法として，ユーザのレシピの閲覧履歴，食歴等から獲得したユーザの嗜好やパターンを知識として獲得し，獲得した知識を基にレシピを推薦する．作成したレシピの評価ポイントから “かんたん” 順にレシピを出力する．これにより，個人の状況を考慮した “かんたん” なレシピを推薦する手法を提案した．
提案した推薦手法に基づき Ruby on Rails によって提供される Web アプリケーションフレームワークを使用し，システムの構築を行った．
今後の課題としては，獲得した知識を利用した推薦の精度を向上させ，よりユーザが欲すると考えられるレシピを上位に挙げることである．また，被験者実験により提案した手法および開発したシステムの有効性を確かめるつもりである．

参考文献[1] “クックパッド” http://cookpad.com/[2] “レシピ大百科” http://www.ajinomoto.co.jp/recipe/[3] 土方嘉徳, “嗜好抽出と情報推薦技術”，情報処理学会

図 3: 統計データの例

3.3

誌,vol.48,No.9,pp.957-965,2007.
[4] 奥健太, 中島伸介, 宮崎純, 植村俊亮, “状況依存型
ユーザ嗜好モデリングに基づく Context-Aware 情報推薦システム”, 情報処理学会論文誌：データベー
ス,vol.48,No.SIG11（TOD34）,pp.162-176,2007.
[5] 小野智弘, 黒川茂莉, 本村陽一, 麻生英樹, “ユーザ嗜好の個人差と状況差を考慮した映画推薦システムの実現と評価”, 情報処理学会論文誌,vol.49,No.1,pp.130140,2008.
[6] 上田真由美, 石原和幸, 平野靖, 梶田将司, 間瀬健二, “食材利用履歴に基づき個人の嗜好を反映するレシピ推薦手法”, 日本データベース学会 Letters,vol.6,No.4,pp.2932,2008.
[7] 鈴木一帆, “ユーザ適応型レシピ提案システムの研究”,
武蔵工業大学環境情報学部情報メディア学科大谷研究室, 卒業論文,2006.

実行例

まず，ユーザはクエリを入力する．その際，本シス
テムは，検索時データとユーザの嗜好等の知識を収集し，そこからレシピの特徴の項目ごとに適切なクエリを自動生成する (3.2 参照)．そしてユーザが入力しなかった項目について自動生成したクエリを，ユーザが入力したクエリに加えてレシピ検索を行う．例えば，ユーザが [調理法，調理時間] のみ入力した場合，シス
テムは他の [調理ジャンル，季節等] のクエリを加える．

38