DEIM Forum 2017 C4-2

拡張クエリを用いたレシピ検索のパーソナライゼーション
犬塚眞太郎†

酒井 哲也†† 早稲田大学基幹理工学部情報理工学科 〒 169–8555 東京都新宿区大久保 3–4–1
E-mail: †studio_graph@suou.waseda.jp, ††tetsuyasakai@acm.org
あらまし近年，インターネットを利用したレシピ検索の利用者が増加しており，そのほとんどにクエリ検索が用いられている．料理や食物の好き嫌いは個人の嗜好に大きく依存するため，パーソナライゼーションや推薦システムは非常に重要である．パーソナライズド検索を実現するためには，ユーザごとの嗜好情報を蓄積した協調フィルタリン
グなどが考えられる．しかし，各個人の食べたいものや作りたいレシピは日ごとや時間ごとに変化していってしまう．
そのため今回のシステムでは，クエリ検索ごとに，検索ランキングの上位レシピから取得した関連語をユーザが選択
し，検索結果をリランキングすることにより，クエリごとのパーソナライズド検索を実現した．またユーザ実験により，各クエリに対するユーザの嗜好データを取得し，システムの有効性について考察した．
キーワード レシピ検索，関連語，拡張クエリ，パーソナライゼーション
得られたシステムの正当性をユーザ実験により評価する．

1. は じ め に本稿の構成について示す．第 1 章は序論とし，第 2 章で関連

近年，インターネットや SNS が発展していくにつれて，クッ

研究，第 3 章で提案手法，第 4 章で評価手法，第 5 章で実験結

クパッド（注 1）や楽天レシピ（注 2）といったレシピ検索サイトの利果とそれに対する考察，第 6 章で結論，第 7 章で今後の課題を用が活発化している．クックパッドの月間ユーザ数は月間 6,000

それぞれ示す．

万人以上であり，投稿レシピ数は 250 万品を超えており

（注 3）

，

レシピ検索サービスの発展が伺える．2013 年の調査によれば，

2. 関 連 研 究

料理をする際の「最も参考にする情報源」はレシピ検索サイ

レシピ検索に関しては，Yasukawa ら [4] が NTCIR-11 におト [1] であり，レシピ検索においては，約 70%がクエリ検索をいてクエリに対して正しいレシピを返す Ad hoc search と，献用いた検索 [2] である．また同サービスを使用する理由として，立，すなわち適切なレシピの組み合わせを返す Recipe paring

ユーザの 58%が「メニューが思いつかないとき」を挙げておをタスクとして提案している．また渡辺ら [5] は料理レシピのり [3]，メニュー決定の補助となるシステムの必要性がわかる．

中でも「オノマトペ」に注目し，ユーザが料理名だけでなく，一般に，料理や食物の好き嫌いは個人の嗜好に大きく依存す

オノマトペも指定して検索を行えるシステムを構築した．実際るものである．またユーザは必ずしも目的のレシピがはっきりにレシピのテキストに登場するオノマトペだけでなく，材料，

している状態で検索を行わないため [3]，通常の検索システム以

調理法，レビューに含まれる語とオノマトペの共起度を算出し，上に推薦やパーソナライゼーションが必要であるといえる．

個々のレシピと適合度を求めることにより実現している．

パーソナライズド検索を実現するための手法として，ユーザ

レシピ推薦に関する研究としては，ユーザの過去の調理履歴

ごとの嗜好情報をデータベースに蓄積し，それを用いた協調を元にしたものがある．中岡ら [6] は過去のユーザの調理履歴

フィルタリングなどが考えられる．しかし，ユーザの食べたいをもとに，ユーザに料理レパートリーの拡大を促した．調理経

ものや作りたいレシピは日ごと時間ごとに変化していってしま

験のある食材と調理手順に含まれる調理法の出現傾向の分析をう性質を持つため，この方法は必ずしも適切であるとはいえもとに実現している．Ueda ら [7] は料理を食材ベースに分割ない．

し，ユーザの過去の調理履歴を元に，ユーザがより好むレシピ

そこで本稿では，上記の仮定に基づいた新たなパーソナライの取得，推薦をするシステムを構築した．ユーザが調理したレ

ズド検索手法を提案する．ユーザの過去の行動ログから取得しシピに繰り返し含まれる材料をユーザの好む材料として実現した嗜好情報を蓄積するのではなく，主となる検索クエリから抽ている．

出された関連語をクエリ検索のたびにユーザに提案する．ユー

拡張クエリを用いたパーソナライゼーションの研究に関して

ザが関連語を選択することで，ユーザの嗜好情報を取得する．

は，大塚ら [8] がユーザがコンテキストを理解できる拡張クエ

そこから得られた情報を元にレシピランキングをリランキング

リの作成を目的として，質問回答サイトからの拡張クエリ作成

し，よりユーザの嗜好を反映したランキングを構成する．また手法を提案している．ここでは QA サイトのカテゴリ分類を利用することにより，多彩なクエリへの拡張を行っている．また，（注 1）：レ シ ピ 検 索 No.1 ／ 料 理 レ シ ピ 載 せ る な ら

クック パッドhttps://cookpad.com（注 2）：楽天レシピ -料理レシピ検索サイト http://recipe.rakuten.co.jp/（注 3）：広告｜クックパッド株式会社 https://info.cookpad.com/ads

山本ら [9] の研究では，ユーザの能動的な削除操作や強調操作を通じて検索結果をリランキングし，ユーザの検索結果を最適化している．

表1

3. 提 案 手 法

クックパッド 人気検索ワード (2015 年 12 月 21 日 14:00)

今回の提案手法について説明する．今回の手法はでは，ユー

順位

クエリ

1

クリスマス

ザからのクエリに対して，ベースとなる検索結果ランキングか2

白菜ら得られた関連語群を構築し，ユーザに提示する．ユーザは関

3

大根

連語の中から，自身が作りたいと思うレシピに対応する関連語

4

鶏もも肉

を選択する．ユーザの選択した関連語から得られた嗜好情報を

5

キャベツ

元に，レシピ検索結果ランキングをリランキングする．システ

6

豚ひき肉

7

鍋

8

ほうれん草

9

ブロッコリー

10

ひき肉

ムの概要図を図 1 に示した．

3. 3 関連語群の構築
関連語群の算出にあたっては，Robertson らの Oﬀer Weight[10] を用いた．Oﬀer Weight とは，i 番目の関連語候補 ti に対し，(
OWi = ri × log(r + 0.5)(N − ni − R + ri + 0.5)
(ni − ri + 0.5)(R − ri + 0.5))(1)で示される．ここでは，それぞれ

図1

システムの概要図ni

全文書中の単語 ti の出現回数

N

全文書数

ri

適合文書のうちの単語 ti の出現回数

R 適合文書数
また，今回の提案システムは以下の手順で構築した．それぞを示す．

れについて説明する．

3. 3. 1 全 文 書（ 1 ） ベースとなる検索クエリの収集

ここでの全文書とは，クックパッドにおける全レシピを示す．

（ 2 ） ベースとなる検索ランキングの取得

本研究では，クックパッド株式会社と国立情報学研究所が提供（ 3 ） 関連語群の構築（注 6）
する「クックパッドデータ」を利用した．
実際のレシピテー（ 4 ） レシピ結果のリランキング

ブルのうち，表 2 に示すカラムを用いた．

3. 1 ベースとなる検索クエリの収集
今回のシステムでは，ユーザから自由なクエリを受け付けるのではなく，あらかじめクエリ集合をユーザに提示することでシステムを構築した．クエリの偏りを防ぐため，クエリ集合
としてはクックパッド株式会社の公開している人気のキーワー
ド（注 4） の 2015 年 12 月 21 日 14:00 時点のデータを 20 件用い

表2

レシピテーブルのカラム

カラム名

内容

title

レシピのタイトル

description レシピの概要
advice

レシピのコツ・ポイント

history

レシピの生い立ちた．表 1 に例として上位 10 件を示す．
ここから得られたクエリを元クエリとし，以降に示す関連語群を構築する．

3. 2 ベースとなる検索ランキングの取得
ベースとなる検索ランキングは，クックパッドの人気順検索（注 5）から取得した．3. 1 で得られたクエリに対して，検索結果の上位 30 レシピを取得した．

また，得られたレシピデータから工藤ら [11] による MeCabを用いて名詞 (自立語)，副詞，形容詞を抽出し，全文書集合とした．また辞書として Sato [12] による mecab-ipadic-NEologdを用いた．表 3 に実際のレシピ（注 7）を用いた例を示す．

3. 3. 2 適 合 文 書
ここでの適合文書は 3. 1 で示した通り，クックパッドの人
気順検索から得られたレシピのうち上位 30 件とした．ここで得られたレシピについても 3. 3. 1 で示したように title,（注 4）：人気の検索キーワード｜クックパッド 簡単おいしいみんなのレシピが（注 6）：クックパッドデータセット｜国立情報学研究所

257 万品 https://cookpad.com/trend_keyword

http://www.nii.ac.jp/dsc/idr/cookpad/cookpad.html（注 5）：https://cookpad.com/search/{query}?order=popularity（注 7）：鶏肉のトマト南蛮 https://cookpad.com/recipe/273907

表3で得られたレシピ検索結果 R(q) のうち 20 件をシャッフルしてレシピデータと抽出された単語の例

カラム名

内容

抽出された単語

ユーザに示す．ユーザは各レシピに対し作りたいまたは作りた

title

鶏肉のトマト南蛮‘鶏肉’, ‘トマト’, ‘南蛮’

くないのどちらか一方を入力する．作りたいが入力された文

description さっぱりして、夏にぴったり ‘さっぱり’, ‘夏’, ‘ぴった
メニュー☆

揚げるところからは、食べる ‘直前’, ‘カリッ’, ‘部分’,

advice直前の方がカリッとした部分 ‘美味しい’した．

4. 1 ユーザの属性があって美味しいです。

今回のユーザ実験では，10 代〜60 代の男女 37 名からデータ

さっぱりと頂きたかったので。 ‘さっぱり’

history

書を適合文書とし，クエリ集合に対し Average Precision(AP)を用いて評価した．実装にあたっては酒井 [13] の文献を参考にり’, ‘メニュー’が得られた．検索ランキングに関する調査に加えて，ユーザの属性についての質問を実施した．

description, advice, history の中から名詞 (自立語)，副（ 1 ） ユーザの年代 (図 2)

詞，形容詞を抽出した．

（ 2 ） ユーザの性別 (図 3)以上の処理を行うことにより，各クエリに対して Oﬀer Weightの大きい関連語の中から上位 30 件を取得した．その後，関連（ 3 ） ユーザのクエリ検索を用いたレシピ検索による料理の頻度 (図 4)語の中から各クエリ自身を除き，各クエリに対して適すると思われる関連語 10 件を第一著者が手作業で選出し，関連語群とした．クエリ「鍋」に対する関連語群の例を表 4 に示す．
表 4 「鍋」に対する関連語群
順位 関連語Oﬀer Weight6

簡単

25.5499

白菜

20.19211

豆乳

19.36612味噌18.95413

団子

18.47215

冬16.82317もつ

16.08627

豚13.30428

プルプルコラーゲン

13.16529

ウインナー

13.154

図2

ユーザの年代図3

ユーザの性別3. 4 レシピ結果のリランキング
ユーザから得られた嗜好情報である，選択された関連語群を用いてレシピのリランキングを行う．ユーザが選択した関連語を多く含むレシピがより上位となるようにリランキングを行った．

R(q) クエリ q に対するレシピ検索結果
T F (r, t) レシピ r における単語 t の出現回数
T

ユーザが選択した関連語群とし，R(q) 内のレシピ r に対し，Score(r) =∑T F (r, t)

(2)

t∈T

を計算する．Score(r) の高い順に r を並び替え，リランキ
ング結果とする．

4. 評 価 実 験
ユーザ実験用プログラムを作成し，評価実験を行う．被験者
は「週 1 回以上クエリ検索を用いてレシピ検索をする男女」とした．3. 1 で得られたクエリ集合のうち上位 10 件に対して 3. 2

図4

ユーザの調理頻度

また，以上に加えてユーザ実験全体に関する意見も得た．

4. 2 実験に使用したデータ
3. 章でベースとなる検索クエリ集合 (3. 1) とベースとなるレ
シピ検索ランキング結果 (3. 2) を取得したが，ユーザ実験までに期間が長くなってしまったため，新たに日時を固定してそれらを取得した．ユーザ実験のために 2017 年 1 月 16 日 19 時 30
分時点のデータを用いている．実際のデータとして表 5 に示得られた検索クエリ集合のうち上位 10 件と，そのクエリに対するレシピ検索ランキング結果のうち上位 20 件を用いてユーザ実験を行った．また，デフォルトでの表示順がユーザに与える影響を排除するために，レシピ検索結果と関連語はそれぞれシャッフルしてユーザに示した．
クックパッド 人気検索ワード (2017 年 1 月 16 日 19:30)

C(r)
1 ∑
I(r)
R
r

(3)

r

ここでは，それぞれ

r 文書の順位I(r) 第 r 位の文書が適合文書であるか否かを示すフラグ
C(r)

した．

表5

AP =

∑r

k=1

I(k)

R 適合文書数を示している．

4. 4. 2 Average Precision のユーザ平均式 3 で示した AP をクエリごとに平均したものを AP のユー
ザ平均として用いた．

5. 実験結果と考察
5. 1 クエリごとの AP のユーザ平均

順位 クエリ

各クエリごとに AP のユーザ平均を求め，ベースライン 3. 2

1

バレンタイン2

親子丼と提案手法 3. 4 とを比較した．その結果を表 6 と図 7 に示し

3

野菜炒め

た．また対応のある t 検定 [13] を行ったところ，2 件のクエリ

4

湯豆腐に対して p < 0.05 となり有意差がみられた．その結果を表 7

5

カツ丼

に示した．

6

もやし

7

しょうが焼き

8

水菜

9

レタス

10

ナムル

表6

システムごとの AP のユーザ平均値

順位 クエリ名

ベースライン

提案手法

1

バレンタイン 0.3108

0.30542

親子丼

0.43320.42953

野菜炒め

0.42850.41394. 3 ユーザ実験の画面

4

湯豆腐

0.45030.4222

図に示すとおり，ユーザはベースとなる検索クエリに対する

5

カツ丼

0.40790.4182

関連語を選択し，その後にレシピ集合に対し，作りたいまたは

6

もやし

0.3911

0.3925

7

しょうが焼き 0.3581

0.40548

水菜

0.38640.39209

レタス

0.29640.303210ナムル

0.45710.4715

作りたくないを選択する．ユーザ実験の画面の例を図 5 と図 6
に示した．

0.5

図5

関連語選択画面

図6

レシピ嗜好選択画面

User average of AP

0.4
0.3
0.2
0.1

proposedbaseline

4. 4 評 価 手 法
4. 4. 1 Average Precision0.0

1

ある検索要求に対する平均精度 AP の定義は以下の通りである．今回は 1 つの検索クエリを 1 つの検索要求，ユーザが作りたいという回答をしたレシピを適合文書とした．検索結果中に適合文書が見つかる度にその時点での精度を計算し，それを全適合文書に対して平均したものである．

図7

2

3

4
5
6
Recipe's ranking

7

8

9

10

システムごとの AP のユーザ平均値グラフ

表7

システムごとの AP のユーザ平均値を使ったしょうが焼き」に対する「鮭を使ったしょうが焼き」

順位

クエリ名

t値

p値

など，クエリと関連語からユーザが想像するイメージに対して

1

バレンタイン

0.77150.4455やや離れていると思われるレシピが複数あり，それをユーザが2

親子丼

0.34250.7340

選択するかどうかがスコアの値に大きく影響したことが考えら

3

野菜炒め

1.87370.0691

れる．

4

湯豆腐

3.46650.0014

5

カツ丼-0.9113 0.3682

6

もやし-0.2099 0.8350

7

しょうが焼き -5.3388 0.0000

8

水菜-0.6273 0.5344

9

レタス-0.8442 0.4042

どの見た目が重視されていたり，例外食材が入っているだけで

10

ナムル

-1.9092 0.0642

対象外になっていたりと，関連語以外の要素もレシピの作りた5. 6 システムの問題点
5. 6. 1 レシピ選択と関連語の相関関係
今回の実験では，ユーザから実験全体に関する意見を得た．
ここで述べられているように，工程や材料よりもレシピ画像な

い/作りたくないの選択に影響を及ぼすのだということがわかっ

5. 2 実験結果に対する考察
人気検索クエリの上位 10 件のうち，6 件で提案手法の APのユーザ平均がベースラインに比べてやや大きくなったが，

p < 0.05 の統計的有意性があるものはクエリ「しょうが焼き」の 1 件のみであり，提案手法の有効性は示されなかった．クエ
リ「湯豆腐」に対しては，ベースラインが提案手法を上回った．
その他 8 件については統計的有意性はみられなかった．以下にその結果に対する考察を示す．

5. 3 ベースラインと提案手法がほぼ同じスコアのもの
まず，提案手法がベースラインとほぼ同じ AP のユーザ平均を得ていた 3 件 (1:バレンタイン，2:親子丼，6: もやし) について考察する．この 2 件に対して，式 2 における Score(r) を見ると，ほとんどのレシピ r が 0 または 1 となっており，ほとんどのレシピが似通っていたため，ユーザの嗜好をうまく反映することができなかったことが要因として考えられる．実際に2 システム間の統計的有意性は 10 件中 8 件で見られなかった．
また関連語としては「チョコ」を選択しているものの，単語レ
ベルでの出現頻度のみ考慮しているため，「ガトーショコラ」な
どの，単語としては含まないが，実際にはチョコを含むレシピのスコアを上げることができなかったことも要因として考えられる．

5. 4 ベースラインが提案手法を上回ったもの
続いて，提案手法の AP のユーザ平均がベースラインの APのユーザ平均を下回った 2 件 (3: 野菜炒め，4: 湯豆腐) について考察する．これについても上記とほぼ同様の「レシピが似通っていた」性質とともに，関連語をうまく抽出できなかった問題が挙げられる．たとえばユーザの約半数である 48.6%が選択した「簡単」という関連語は，各レシピ集合のほとんどに登場する．その場合，うまくユーザの嗜好を抽出することができず，実際のサービス内での順位であるベースラインの方が高スコアになったと考えられる．

5. 5 提案手法がベースラインを上回ったもの
提案手法がベースラインを上回った 4 件 (5: カツ丼，7: しょうが焼き, 9: レタス, 10: ナムル) について考察する．これらの検索クエリが高スコアであった理由は，レシピ集合がそれほど似通っていなかったことが考えられる．また，一般的に想像される「卵でとじたカツ丼」に対する「タレカツ丼」や，「豚肉た．それ以外にも，必ずしも関連語に合致していないレシピが作りたいものとして選ばれるなど，ユーザの作りたいレシピの決定に対する関連語の影響については再考の余地がある．
また，今回ユーザに提示した画面は図 6 に示したようにレシ
ピタイトル，レシピページへのリンクの 2 つのみを示したため，ユーザによっては「いちいちレシピページまでいって作りたい
レシピかどうか判断するのが面倒」といった意見が得られた．
そのため，ユーザへのレシピの見せ方やユーザ実験の分量については再考の余地がある．

5. 6. 2 関連語の取得と選択
関連語の取得についても再考の余地がある．今回は式 1 を用
いて関連語を取得したが，実際にレシピ選択の助けとなる関連語を取得できていたかどうかについても再考の余地がある．今回は title, description, advice, history から関連語を取得したが，材料も併せて関連語を取得したり，レシピが所属するカテゴリを関連語としたりすることにより，より有用な関連語を選ぶことができた可能性がある．
また関連語の選択画面が「作りたいものに合致する関連語を選択する」という形式であったため，ユーザがどの検索語をより重視しているのかというデータが得られなかった．たとえば「チョコ」と「クッキー」という関連語が両方とも選ばれていた
場合，どちらのスコアをより高めたらよいかなどの問題が発生する．そのため，関連語の選択とそれに伴うスコアリングについても再考の余地がある．

6. 結

論

6. 1 ま と め
今回の実験はレシピ検索のパーソナライゼーションを目指してシステムを構築し，それをベースラインと比較するという方針で研究を進めた．システムの設計については一般的な検索エ
ンジンの研究でよく使われるものを用いた．レシピ検索からなる作るレシピの選定は第一著者の想定以上にそのときの気分や見た目など，実際のレシピ内容以外の要素に左右されることがわかった．
関連語によるレシピ検索にも向き不向きがあり，汎用的なクエリに対して関連語によりレシピを検索するのはむずかしかった．しかし，10 件中 4 件に対しては提案手法が有効であり，似ていないレシピ集合からユーザ好みのレシピを提示できる可能性があることがわかった．

に. コロナ社, 2015.

7. 今後の課題
5. 2 節で述べた通り，今回の実験では主に「関連語の取得」に問題があったと考えられる．関連語を自動で抽出するのではなく，活動ログを用いることによりクエリを変えながらユーザが作りたいレシピに到達した時点でのクエリを関連語としたり，いくつか関連語候補をユーザに提示し，そこから関連語を選択してもらうなどの改善が考えられる．
実際にユーザからレシピに対する嗜好情報を得る部分についても課題が残る．5. 6. 2 にも示したように，今回の手法ではユーザ内の関連語の重みを取得することができなかった．そのためユーザに関連語の順位をつけてもらったり，並び替えたりするなどの改善が考えられる．
また画像情報の有用性についても課題が残る．ユーザはキー
ワードのみでレシピを判断するのではなく，予想以上に見た目を重視してレシピを判断していた．そのためユーザに対し，タイトルだけではなくレシピ画像も見せたり，レシピ画像で探せるようにしたりするなど，画像に対しての研究も今後は行って
いきたい．

文

献

[1] クック パッド 株 式 会 社.
料 理 に 関 す る 意 識・実 態 調 査.
https://info.cookpad.com/pr/news/press_2013_0723.
[2] マルハニチロホールディングス. 料理レシピに関する調査.
https://www.maruha-nichiro.co.jp/news_center/research/pdf/20130227_recipe_cyousa.pdf.
[3] クックパッド株式会社. クックパッドの利用動向に関するアンケー
ト. https://info.cookpad.com/pr/news/press_2013_0724.
[4] Michiko Yasukawa, Fernando Diaz, Gregory Druck, andNobu Tsukada. Overview of the NTCIR-11 cooking recipe
search task. In NTCIR, 2014.
[5] 渡辺知恵美, 中村聡史. オノマトペロリ：味覚や食感を表すオノマトペによる料理レシピのランキング. 人工知能学会論文誌,
Vol. 30, No. 1, pp. 340–352, 2015.
[6] 中岡義貴, 佐藤哲司ほか. 食材の偏りと調理法に基づくレパート
リー拡大のためのレシピ推薦システムの提案. マルチメディア,
分散協調とモバイルシンポジウム 2014 論文集, Vol. 2014, pp.
1653–1660, 2014.
[7] Mayumi Ueda and Shinsuke Nakajima. Cooking recipe recommendation method focusing on the relationship between
user preference and ingredient quantity. In Transactions on
Engineering Technologies, pp. 385–395. Springer, 2015.
[8] 大塚淳史, 関洋平, 神門典子, 佐藤哲司. 情報要求の言語化を支援するクエリ拡張型 web 検索システム. 第 3 回データ工学と情報
マネジメントに関するフォーラム, 2011.
[9] 山本岳洋, 中村聡史, 田中克己. Rerank-by-example: 編集操作の意図伝播によるウェブ検索結果のリランキング. 情報処理学会
論文誌, Vol. 49, No. 7, pp. 16–28, 2008.
[10] Stephen E Robertson and Karen Sparck Jones. Simple,
proven approaches to text retrieval. Technical Report
UCSM-CL-TR-356, University of Cambridge, Computer
Laboratory Cambridge, UK, 1994.
[11] 工藤拓, 山本薫, 松本裕治. Conditional random fields を用いた
日本語形態素解析. 情報処理学会研究報告自然言語処理（NL）,
Vol. 2004, No. 47, pp. 89–96, may 2004.
[12] Sato Toshinori. Neologism dictionary based on the language
resources on the web for mecab, 2015.
[13] 酒井哲也. 情報アクセス評価方法論: 検索エンジンの進歩のため