DEIM Forum 2013 D3-5

手順情報としてのレシピデータに対する類似レシピの要約と微小で重要な差異の発見
杉山

祐一†

山肩

洋子††

田中 克己††† 京都大学工学部情報科 〒 606–8501 京都府京都市左京区吉田本町†† 京都大学大学院情報学研究科社会情報学専攻 〒 606–8501 京都府京都市左京区吉田本町
E-mail: †{ysugiyama,yamakata,tanaka}@dl.kuis.kyoto-u.ac.jp
あらまし Web 上のレシピ検索サイトで料理名によるキーワード検索を行うと，ときに数千件ものレシピが見つかる．
各レシピの調理手順は似通っているが，細かい部分にそのレシピの特徴とも呼べる違いがみられ，それぞれがどのよ
うに異なっているか理解をするのは手間のかかる作業である．我々は，ユーザの検索意図として，料理の典型的な調理手順を知りたい場合や，各レシピがどのような特徴を持つかを知りたい場合があると考えた．そこで検索結果として得られた各レシピの調理手順を既存手法により構造化し，それらのレシピの多くが共有する手順と，各レシピ間の差異を発見することで，その料理の典型的な調理手順と各レシピの特徴をユーザに提示できるシステムを提案する．
キーワード

レシピ，集合要約，手順特徴抽出，手順情報

1. は じ め に
近年，「Cookpad [1]」や「楽天レシピ [2]」など，一般ユーザ
が Web 上にレシピを掲載し，検索を行えるレシピ検索サイトの台頭が目覚ましい．これらのレシピ検索サイトで検索可能な
レシピは百万件以上にも上り，「肉じゃが」や「ゴーヤ」といった料理名や食材名でのキーワード検索を行うと，数千件ものレシピが提示される．提示されたレシピはそれぞれ大まかな作り方（典型的な調理手順）は同じであるが，細かい部分ではワン,AQ:)IU①
肉じゃが

	の検索結果.,M/IJ V6!
じゃがいも	牛肉	
サラダ油	AQ:-MJ EFJ?
TB6!

切る	
PAQ:-L;?JWC
炒める	
F UJBV6!
さらす	'K<M=@ UJBV6
玉ねぎ	
醤油・砂糖	
② #OV

&_(! U!
春雨を使用	
4444?R7Y>YU&_Z^]\[^X8

じゃがいもを下茹で	
  醤油を最後に加える	

2JX%@F5AQ:-55!
'K<X:VNG#OV

③

混合	
  

&_

2X8

ニンジンを面取りする	

$V

落とし蓋をする	  D@H0X9F5 =T7$NB6!
*+H15.,XTBS8J
95"G$V6!


煮る	
  

&_

U

ひき肉を使用	3

ポイントと呼べるような特徴があり，互いに異なる特徴を持っている．しかし，レシピを検索したユーザが， レシピ一つ一つ

図 1 検索イメージ

を見比べて，その料理の大まかな作り方はどのようなもので，どの部分がそのレシピの特徴なのかを判別するのは手間のかかる作業である．
そのため我々はレシピ検索サイトにて次のような問題が生じていると考えた．

ユーザが料理名「肉じゃが」でレシピを検索した場合，提案するシステムが提示する検索結果のイメージを図 1 に示す．ユー
ザは図 1 の左側に示されるような，典型的な調理手順を見ることで，その料理の大まかな調理手手順を，レシピをみ比べるこ（ i ） 典型的な調理手順を知りたいユーザがレシピを検索した場となく把握でき，さらに各レシピに付加されている特徴を閲覧

合，1 つのレシピを見ただけではどの部分が典型的な調理することで，どのようなバリエーションのレシピがあるか知る

手順でどの部分がそのレシピの特徴であるかがわからず，ことができると考えられる．

多数のレシピを見比べなければならない．

以降，2 章では関連研究を述べる．3 章では，レシピ検索サ（ ii ） 典型的な調理手順はすでに理解しているユーザが，さらにイトをユーザがどのように利用するか調査した結果を述べ，4

調理に工夫をしたいと考え，特徴的なレシピを探す場合，

章では，ユーザがレシピを見比べる際に注目する特徴がどのよ各レシピがどのような特徴を持つかを理解するためには，

うなものかを調査した結果を述べる．5 章では提案手法とそのレシピすべてを読まなくてはならない．しかしレシピの大評価について述べ，最後に 6 章でまとめを述べる．

半は典型的な調理手順が占めているため非効率的である．
我々はこの 2 つの問題を，レシピの検索結果の提示方法を改2. 関 連 研 究善することにより解決できると考えた．そこでレシピ検索に既存の料理レシピ検索システムの代表的なものとして前章でよって得られたレシピ集合から典型的な調理手順を推定し，各あげた Cookpad [1] や楽天レシピ [2] の他には，独自に制作しレシピの特徴を抽出する手法を提案する．

たレシピコンテンツを掲載している「レシピ大百科 [3]」 や「ネ

表 1 入力された最終的なクエリと選択されたレシピの順位

スレバランスレシピ [4]」，既存のレシピ検索システムを用いた被験者

メタ検索を行う「Google レシピ検索 [5]」など様々なサイトが

A

クエリ

順位

白菜 豚肉 炒め 生姜 ▲八宝菜
鯖 味噌煮 フライパンあげられる．いずれのサイトでも通常のキーワード検索と同様，▲圧力鍋 ▲缶 ▲梅干 ▲バター

検索クエリに対し適切と判定された順に上位数件のレシピを列

白菜 豚肉 巻き挙するだけであり，検索結果のレシピ集合における共通点や相▲味噌 ▲ひき肉 ▲牛乳 ▲サラダ ▲焼く

違点を提示する機能はない．

セロリ にんじん 豚肉

レシピ集合の共通点や相違点を解析するためには，レシピに▲巻き ▲ポトフ ▲カレー ▲ブロック ▲かたまり
豆腐 ハンバーグ 水切り ▲ひじき ▲不要

おける調理手順の構造化が必要であると考えられる．レシピの調理手順の構造化を行う研究としては，調理手順の説明テキス

B

トを，自然言語解析の技術により，作業フローに変換する手法が多く提案されている．代表的なものでは，既存の自然言語処
理ツールに加え，レシピに特化して手動で導かれたルールを

43
3
5
56
33

カレーうどん カレール

7

鯛めし

12

ビビンバ丼

20

豆腐

50

カルボナーラ9用いる手法 [6] や，レシピコーパスによる機械学習を使った手

トマト缶

煮る

6

法 [7]，レシピ検索サイトでの多種多様な記述に対応した構造

ロールキャベツ2

解析を行う手法 [8] などが提案されている．本研究では，検索

パスタ

7

C

対象のレシピは，これらのような研究成果によりあらかじめフ
ローグラフに構造化されているものと想定する．

10 件の検索結果から選ばれたものも高々13 回中 7 回と，およレシピ検索・推薦の研究も多様な観点から行われている．レ

そ半分であった．[13] によると，一般的な Web 検索では，検索

シピの食材の典型度から追加食材の推薦を行う [9]，レシピの難結果のうち上位 1 件をユーザの約 58 パーセント選んでおり，易度を考慮した検索手法 [10] や，個人の嗜好を考慮したレシピ

上位 3 件から選ぶユーザは約 86 パーセント，上位 10 件から選の推薦手法 [11]，ユーザの気分と料理セットである献立を考慮

ぶユーザは約 98 パーセントである．つまりユーザは検索結果したもの [12] などがある．いずれの研究もレシピ検索アルゴリの上位を選ぶ傾向がある．しかし，レシピ検索では表 1 を鑑み

ズムやランキングに関する研究であるのに対して，本研究ではるに，この傾向が弱い可能性があると考えられる．

レシピ検索で得られたレシピ集合を扱う点で異なる．

3. レシピ検索サイトの利用調査

さらに，被験者のコメントでは，「いくつかのレシピを比較してこれがおいしそうだったので決めた．
」「複数のレシピを見く
らべてレシピを選択した」など，レシピの比較を行ったとの記

検索結果のレシピ集合は，どのように提示するのがユーザに述が 13 回のキーワード検索のうち 11 回に見られた．Cookpad

とって有用であるかを議論するため，レシピ投稿サイトにおけではレシピの検索時に，レシピのタイトル・写真・キャッチコるユーザの検索行動を調査した．

ピー・主な食材を見ることができるが，被験者はその情報のみ

3. 1 調理時におけるレシピ検索動向の記録と分析

でレシピを選択せず，タイトルをクリックして中のレシピ本文

被験者に，調理を行う前に Cookpad [1] で自由に一つの実際を見て最終的なレシピを選択したと考えられる．以上のことよに調理するレシピを選択してもらい，そのレシピを選択した理り，我々は次の 2 つの仮説をたてた．

由と，キーワード検索を行った場合は，そのクエリの変遷を記述してもらった．被験者は日常的に Cookpad を利用している3 名で，それぞれ 5 回，計 15 回分の記録を得た．その分析結果を次に示す．

15 回分の記録のうち，キーワード検索により検索を行うもの
が 13 回で最も多かった．残りの 2 回は「今日のピックアップ

仮説 1: レシピ検索は一般的な Web 検索に比べ，上位の検索結果が選ばれない．
仮説 2: ユーザは複数のレシピのタイトルや写真，キャッチコ
ピーのみだけでなくレシピ本文を見比べて選択する

3. 2 アンケートによるレシピ選択動向の分析

料理」などトップページからリンクをたどることでたどり着い

前節の仮説を，より多数の被験者のもとで検証するために，たレシピであった．13 回のキーワード検索における，実際に調Web を通じてレシピ検索行動に関するアンケート調査を行った．

理するレシピを検索するのに用いられたクエリと最終的に選択

ここで，被験者のレシピ検索に対する動機づけを行うこと，まされ たレシピが検索結果中何位であったかを表 1 に示す．ただた条件を統制することを目的として，レシピを検索するシチュ

しクエリ中に含まれる “▲”はそれに続くキーワードを含まない

エーションを設定した．前節の実験からレシピ検索のクエリにものを検索するマイナス検索である．

「料理名」および「食材名」がよく用いられること， Cookpad

検索に用いられた各クエリのうち，料理名を含むものは 8 つ，

では検索結果の順位付けとして「新着順」と「人気順」が選べ

食材名を含むものは 8 つ，調理法は 4 つ，道具が 1 つであっ

ること，また，トップページから料理カテゴリをたどってレシた．このことより，被験者たちは，主に料理名と食材名で検索

ピを検索する場合があることから，シチュエーションは以下のしたことがわかる．また，選択されたレシピが検索結果中何位

4 パターンとした．

であったかをみると，1 位が選ばれたことは一度もなく，上位

シピが登場すると考えられるため，上位のレシピが選ばれやす

そのレシピが選択された割合	  （累計）（％）	
  100.0	
  	
  
90.0	
  	
  

ビーフシチュー新着順	

いと考えられる．しかし，同じく図 2 によると，ランキング方

カルボナーラ人気順	

法を「新着順」と「人気順」で比較しても，上位の検索結果が

80.0	
  	
  
70.0	
  	
  
60.0	
  	
  
50.0	
  	
  

選択される割合は「人気順」に明らかな優位性はみられなかっゴーヤ新着順	

40.0	
  	
  

た．一般的に，ユーザがどのようなレシピを好むかはユーザの

30.0	
  	
  

おもてなし料理	

20.0	
  	
  
10.0	
  	
  

一般的なWeb検索[13]	
  

0.0	
  	
  
1	
  

2	
  

3	
  

4	
  

5	
  

6	
  

7	
  

8	
  

9	
  

10	
  

リズムを改善しても，上位２，３件のレシピを見れば十分とはならない可能性が高いと考えられる．よって本研究が提案する，

そのレシピの検索結果における順位	

レシピ検索結果を見比べるやすいシステムは有用性が高いと考図 2 N 位検索率

えられる．
次に，前節の仮説 2 を検証するため，検索シチュエーション

35.0	
  	
  

ユーザの割合（％）	

嗜好に大きく依存していると言われており，いかに検索アルゴ

30.0	
  	
  
25.0	
  	
  

ビーフシチュー:新着順	

ごとに，各被験者がレシピを決定するまでに閲覧したページ数

カルボナーラ:人気順	

の平均ページ数を算出し，閲覧したページ数別に被験者の比率

ゴーヤ:新着順	

20.0	
  	
  

を調べた．その結果を図 3 に示す．上で述べたように，10 件のおもてなし料理	

15.0	
  	
  

検索結果の提示画面では，レシピのタイトル，写真，レシピの

10.0	
  	
  

概要などの情報が列挙されているため，これらの情報でレシピ

5.0	
  	
  

を決定することができるのであれば，詳細説明ページを閲覧す

0.0	
  	
  
1	
  

図3

2	
  

3	
  

4	
  

5	
  
6	
  
レシピ閲覧数	

7	
  

8	
  

9	
  

10	
  

レシピを決めるまでに閲覧したページ数とその割合

る必要はない．しかし図 3 によると，いずれの検索シチュエー
ションにおいても，被験者の７割以上が 2 つ以上のレシピを閲覧していることがわかる．これは，その料理の大まかな特徴だ
けでなく，調理手順などの詳細な情報を見てレシピを選択して•料理名「ビーフシチュー」で検索し，新着順で結果を得る

いることを示唆している．このことより仮説 2「複数のレシピ•

料理名「カルボナーラ」で検索し，人気順で結果を得るのタイトルや写真，キャッチコピーのみだけでなく本文を見比•

食材名「ゴーヤ」で検索し，新着順で結果を得る

べて選択する」が確認できた．そのため，レシピ本文からその•カテゴリ「おもてなし料理」で検索し結果を得る

特徴を抽出することで，レシピ本文を効率よく見比べられる本

Cookpad 上で上記の 4 つのシチュエーションでレシピを検
（注 1）

索し

，それぞれの検索結果上位 10 件を，各シチュエーショ

手法は有用性が高いと言える．

4. レシピ検索時におけるレシピの特徴

ンのレシピ検索結果とした．被験者に検索結果を提示する画面
は，Cookpad のをそのまま使用した．すなわち，検索結果の画

本章では，ユーザが効率よくレシピを見比べやすいレシピ表

面で上位 10 件のレシピについて，タイトル・写真・主な食材，

示システムを実現する準備として，異なるレシピ間にどのようおよび概要のスニペットが列挙され，調理手順は表示されない．

な種類の差異があるかを整理し，そのそれぞれの特徴を分析す

また，各レシピタイトルをクリックすると，調理手順を含むそる．以降，レシピで用いられる材料を「食材」と呼び，食材にのレシピに関する詳細説明の画面が開かれる．各被験者には，対して行う調理手順ひとつひとつを「調理工程」と呼ぶ．

シチュエーションごとに以下の項目について回答させた．

4. 1 調理手順をテキストで記述する際に生じる差異

最終的に 1 つレシピを選択するとしたらどのレシピか

実際の調理手順が完全に同じ，あるいは酷似しているレシピ•

レシピを選ぶ際に閲覧したレシピはどれか [複数回答可]であっても，そのレシピをテキストによって記述すると，一見，•そのレシピを選んだ理由 [複数回答，自由記述可]

全く別のレシピに見える場合がある．テキストを一覧するだけ•

被験者数は 37 名であった．まず，前節で挙げた仮説 1 を検では違うレシピに見えても，実際の調理手順がほぼ同一である証するため，検索結果の N 位以内に最終的に選択されたレシ

ならば，そのような差異はユーザがレシピを選択するのに有用

ピをが含まれる確率 (N 位検索率) を調べた．本アンケートの 4な特徴ではないと考えられる．このような調理手順をテキスト

つのシチュエーションにおける N 位選択率を図 2 に示す．ここで記述する際により生じる差異には以下のようなものがあげら

で，一般的な Web 検索と比較を行うため， [13] の N 位検索率

れる．

を参照し，併せて図 2 に掲載している．
図 2 より，いずれの検索シチュエーションにおいても，一般（ 1 ）「炒める」と「いためる」や「じゃがいも」「ジャガイモ」「ジャガ芋」といった表記の揺れ的な Web 検索に比べて，上位の検索結果が選択される割合は （ 2 ）「炒める」と「炒め合わせる」や「煮る」と「煮込む」といった作業の微細な違い
低いことがわかる．このことより仮説 1「レシピ検索は一般的「ニな Web 検索に比べ，上位の検索結果が選ばれない」が確認でき （ 3 ） ニンジンを角切りにするという 1 つの手順について，
ンジンは角切りにします」と 1 つの文で表現するか，「ニた．また，新着順よりは，人気順のほうが，上位によりよいレ
ンジン・ジャガイモは角切りにします」のようにほかの作（注 1）：2012/10/21 の時点のデータを用いた．

業とまとめて表現するかといった作業単位の分け方の違い

（ 4 ）「ジャガイモを洗い，皮を剥き，切ります」という表現に程」には「落としぶたをする」や「余熱で火を通す」などの 1

対し，
「洗う」，
「皮をむく」といった作業はじゃが芋の下ご

つの調理工程に関する記述と，「じゃがいもと人参を先に入れしらえとして極めて一般的であるから省略して，
「ジャガ

る」
・
「じゃがいも最後にもりつける」などの１つの調理工程とイモを切ります」と記述するといった記述の省略

しては特徴的ではないが，その調理工程の順序に関して特徴が以上のような，レシピのテキスト表現による差異は，実際の認められる記述があったため，「調理工程単体」と「調理工程の作業手順では微細な差異であるか，または作業手順としての差順序」の 2 つに分類した．なお「下ごしらえ」に分類されたも異はないため，ユーザがレシピを見比べる上で重視しないことのはすべて「ジャガイモを下茹でする」
・「ニンジンの面取り」も考えられる．そこで，次節では実際に被験者がレシピを見比など 1 つの調理工程に関する記述のみであった．結果として得べる際にどのような差異に注目するかを分析した．

られた 7 種類の分類とその主な例を次に示す．

4. 2 レシピの特徴分類•

レシピを見比べる際にユーザが着目するレシピの特徴はどの

他のレシピではあまり使われていない食材が用いられている．または他のレシピではだいたい用いられている食材が用ようなものかを調べるために，以下のような実験を行った．

いられていない

被験者に対し，「肉じゃが」「ビーフシチュー」「カルボナー（例ラ」「ゴーヤ」をそれぞれキーワードとして Cookpad [1] で人た．なお，今回は調理手順の差異に着目するため，写真や•コメントに関連する特徴は考慮に入れないようにしたい．その

食材:食材の量
他のレシピに比べ，ある食材の量が多い・少ない

ため，レシピとしては，食材と使用量の対である食材リストと調理説明文のみを抽出したものを被験者に渡した．次に，その「肉じゃが」に「トマト缶」が用いられている．
「肉じゃが」に「料理酒」が用いられていない）

気順検索をした，上位 10 件のレシピ集合，計 4 セットを与え（注 2）

食材:食材の種類（例•「みりん」の量が多い）

調理工程:下ごしらえ

各レシピ集合における，各レシピの特徴を手動で書きださせた．

他のレシピでは行われていないような下ごしらえを行ってい

ここで，レシピをざっと見るか，じっくり見比べるかで特徴のる

選ばれ方が異なることが予想された．本研究の目的は，レシピ（例の大きな特徴ではなく，ある程度時間をかけてよく読まないと•「じゃがいも」を下茹でしている）

調理工程:調理工程単体発見できないようなレシピの特徴をシステムが提示することで下ごしらえ以外で．他のレシピではあまり行われていない調あるから，被験者にはレシピをよく見比べてもらう必要がある．

理工程がある（例

そこで，レシピの特徴を判断する際の作業として，以下のように指示した．

•（例

トとレシピ本文をすべて読む．

•（例

トや調理説明文中に現れない特徴が存在する場合は余白部（ 3 ） 各レシピに複数特徴があると判断された場合は，その特徴の重要性を被験者が主観で判断して順位を付ける．

「醤油」を最後に加えている）

調理器具
他のレシピでは使っていない調理器具を用いているであると思われる箇所をマークする．このとき，食材リス分に記入する

調理工程:調理工程の順序
調理工程の順序が他のレシピと異なる（ 1 ） レシピ集合ごとに，はじめにそのレシピ 10 件の食材リス（ 2 ） 各レシピの食材リストや調理説明文に，そのレシピの特徴

落とし蓋をして煮る．
）•「圧力鍋」を用いている）

テキスト表現による差異
レシピの書き方に特徴がある（例

食材がすべて cc で表記されている）

上記の手順で 2 名の被験者に特徴の書き出しを行ってもらい，

上記のように分類された各特徴は，出現場所が食材リストで各レシピにおいて，2 名の被験者のいずれかが特徴であると判あったり調理説明文であったりと異なり，また，出現頻度や記断した特徴を，そのレシピの特徴とした．その結果，計 194 個

述のされ方などの性質も異なる．そのため，それぞれの分類にの特徴を得た．

特化した抽出手法を構築する必要があると考えられる．そこで得られた特徴を，その性質によって分類したところ， 大きく

本研究では，重要性が高いと考えられる分類の特徴に着目する．

「食材」，「調理工程」，「調理器具」そして 4.1 節であげた「テ各分類の重要性は次の 2 つの視点から判断した．1 つ目は出キスト表現による差異」に分類できた．また，これらをさらに現頻度で，出現頻度の高い分類は重要である．２つ目は，被験詳しくみて，分類「食材」は食材リストのうち，現れる場所の者が各特徴に与えた順位の値である．この値が小さいものはそ

違いから，「食材の種類」，「食材の使用量」の 2 つに分類できのレシピにおいて重要であるため，順位の平均値が小さい分類

た．また「調理工程」に関しては，「肉はワインで下こしらえ」は重要である．そこで，各分類の出現頻度と，順位の平均を算や「じゃがいもを下茹でしておく」などの下ごしらえに関する出した結果を表 2 に示す．

キーワードを用いた記述があったため，「下ごしらえ」と「その表 2 より，最も出現頻度の高い「食材の種類」と，順位の平他の調理工程」の 2 種類に分類した．さらに「その他の調理工

均が 2.0 以下である「下ごしらえ」・「調理工程の順序」の 3 つが重要性の高い特徴の分類であるとし，本研究ではこれら分類（注 2）：2013/1/15 日のデータを用いた．

の特徴である 164 個 (84.5%) の特徴に関して抽出を図る．

表2

特徴の種類ごとの頻度と順位平均・分散

特徴の種類

出現回数 頻度 (%)

検索クエリ	

順位の平均

レシピ検索結果集合R	  レシピ{r1,	
  r2,	  …,	  rN}	
  典型的な調理手順の抽出	
典型的な調理手順を示す	
  フローグラフP	
  

食材の種類

125

64.4

2.46

下ごしらえ

22

11.3

1.7

調理工程の順序

17

8.8

1.8

食材の量

10

5.2

2.1

テキストで記述する際に生じる差異の除去 	
縮退されたレシピのフローグラフ集合G’	
  フローグラフ{g’1,	
  g’2,	
  …,	
  g’N}	
  調理工程単体

10

5.2

4.1

調理器具

7

4

4

テキスト表現による差異

3

2

4

全て

194

100

2.44

調理手順の構造化	
レシピのフローグラフ集合G	  フローグラフ{g1,	
  g2,	  …,	  gN}	
  図4

各レシピの特徴抽出	
各レシピの特徴	  	  レシピr1の特徴「落し蓋をする」	
	  	
   レシピr の特徴「10分蒸らす」
N
	
	
  

処理の流れ

また，節 4. 1 で述べた，レシピのテキスト表現による差異に得たフローグラフ gi の集合を G = {g1 , · · · , gN } とする．今回当てはまるものは全体の 2% で，順位の平均も 4,0 であった．

は次の得られたフローグラフ gi は次の性質を持つものとする．

そのため，複数のレシピを見比べる目的においては，テキスト•

ルートノードは，そのレシピの完成品に対応する．

表現による差異を無視しても影響はすくないと予想される．逆•

食材は，それぞれ一つの葉ノードに対応するに，このような差異は，レシピの典型的な調理手順の抽出や特•調理工程は，それぞれ一つの節ノードに対応する

徴発見においてノイズとして影響を与える恐れがあることから，•ある節ノードの調理の対象ノードから，その調理に対応

本手法では除去することを考える．

する節ノードへ有向枝が張られている．

以上の分析結果を踏まえ，本研究でシステムがレシピ間の特次に，このフローグラフ gi に対し，5.2 節で述べる手続きに徴として抽出する差異と無視する差異を以下のようにした．

よって，4.1 節で述べた，テキストで記述する際に生じる差異•

食材の種類: 抽出する (5.4.1 節で述べる)•

下ごしらえ: 抽出する (5.4.2 節で述べる)

異を除去する．また，5.3 節で述べる手続きによって，フロー•

調理工程の順序: 抽出する (5.4.3 節で述べる)

グラフ gi に対し，4.1 節で述べた，テキストで記述する際に生•テキスト表現による差異: 前処理で除去する (5.2 節，5.3

じる差異のうち，「(4) 記述の省略」による差異を除去する．このうち，「(1) 表記の揺れ」と「(2) 作業の微細な違い」による差節で述べる)の処理を縮退とよび，縮退により得られた新たなフローグラフ•

食材の量: 本研究では扱わない•

0
を gi0 とし，その集合を G0 = {g10 , · · · , gN
} とする．この G0 か

調理工程単体: 本研究では扱わない

ら典型的な調理手順 p を抽出する．最後に 5.4 節で述べる手続•

調理器具: 本研究では扱わない

きによって各レシピの特徴を抽出する．

5. 2 レシピのテキスト表現による差異，表記の揺れと作業

5. レシピ集合からの典型的な調理手順抽出と特徴発見の微細な違いの除去
本節では 4.1 節で述べた，テキストで記述する際に生じる差

本章では，レシピ検索サイトにおいて，料理名によるレシピ

異のうち，「(1) 表記の揺れ」と「(2) 作業の微細な違い」による検索で得られたレシピ集合に対して，典型的な調理手順を推定

差異の除去を行う手法について説明する．日本語の表記ゆれ判する手法と，各レシピに対して，前節で重要と判定された種類

別用の辞書「たんし」[14] を用い，レシピテキスト中の 4. 1 節の特徴を抽出する手法について説明する．

の表記の揺れによる差異を除去した．
「たんし」では，「豚肉」と

5. 1 処理の流れ「ぶたにく」のように，発音は同じだが，表記が異なる単語同システムに対するユーザの入力行動と，システムの処理の流士を関連付けた辞書である．この辞書を用いて，すべての単語

れ，システムがユーザに提示する情報を図 4 を用いて説明する．

をひらがなに変換することにより，発音が同じであれば，同じユーザは「肉じゃが」や「ゴーヤ」のような料理名や食材の表現で表記されるよう統一される．

検索クエリをシステムに入力する．システムは，この検索クエ

さらに，各調理動作を，下記のようなカテゴリにラベリング

リにより Cookpad [1] などのレシピ検索サイトを介してレシピ

し，4. 1 の作業の微細な違いによる差異の除去を行った．カテを検索し，上位 N 件のレシピを獲得する．このとき，得られた

ゴリは NICT [15] の上位語・下位語辞典を用い，「調理法」を上N 個のレシピ ri の集合を集合 R とし，R = {r1 , · · · , rN } とす

位語として持つ動詞を抽出し，4.2 節で行った実験の結果を参る．レシピ ri は食材リストと，調理手順説明文からなる．レシ

考に，レシピ間の特徴とはみなされない程度微細にしか調理動

ピ集合 R に一度でも出現した食材の集合を F = {f1 , · · · , fM }作が異ならないと考えられるものを手動で分類することで得た．

とする．
（ただし M は出現する食材の種類の数）得られた 10 種類のカテゴリとその実例を次に示す．

4.1 節で述べた，テキストで記述する際に生じる差異のうち， •3．の「作業単位の分け方の違い」を除去するため，各レシピ •混合：「加える」「入れる」「投入する」など

ri の調理手順説明文を，手作業により調理手順を示すフローグ•

炒める：「炒める」「炒め合わせる」など

ラフ gi に変換する．なお，このフローグラフ化の処理は，[6]〜•煮る：「煮る」「煮詰める」「煮込む」など[8] などの手法を使えばほぼ自動化が可能である．集合 R から切る・剥く：「切る」「一口大にする」「みじん切り」など

玉ねぎ	
 にんじん	 玉ねぎ	
 にんじん	 玉ねぎ	
 にんじん	
牛肉	
牛肉	
混合	
 牛肉	
炒める	
混合	
炒める	
  

玉ねぎ	
 にんじん	
牛肉	

炒める	
  

炒める	
  

炒める	
  

フローA	

フローB	
  

フローC	

にんじん	

玉ねぎ	
 にんじん	

玉ねぎ	
 にんじん	

醤油	

煮る	
  

フローD	

縮退前	

図 5 フローグラフの縮退の例

図6

炒める	
  
炒める	

炒める	

縮退後	
  

縮退前	

縮退後	
  

縮退ルール 1 の縮退例

焼く：「焼く」「焼き付ける」など•

焼く (オーブン)：「オーブンで焼く」など

•

煮る	
その他：	
  

揚げる：
「揚げる」「素揚げにする」など

弱火にする	
  •茹でる：「茹でる」「湯がく」など•

蒸す：「蒸す」「蒸し焼く」など•

その他：上記に含まれないもの
レシピ集合 R の典型的な調理手順は，その典型的な調理手順

玉ねぎ	
 にんじん	

図 7 縮退ルール 2 の縮退例
玉ねぎ	

にんじん	

煮る	
その他：	
  
弱火にする	
  

豚肉	

その他：	
  

その他：	
  

落としぶたをする	
  落としぶたをする	
  

煮る	

煮る	

縮退前	

縮退後	
  

図 8 縮退ルール 3 の縮退例
表 3 典型的な調理作業を示すフローグラフの評価
特徴の種類

平均

あることが望ましい．そこでシステムは，典型的な調理手順は

食材の種類

3.5

レシピの調理手順そのものではなく，調理手順をいくつかの段

下ごしらえ

3.2

調理工程の順序

3.1

全て

3.2

したものを提示する．縮退されたフローグラフ g i の素となっ

豚肉	

煮る	

混合	

を見るだけでレシピの全体の大まかな流れが理解できるもので階に区分し（この処理を縮退と呼ぶ），フローグラフの形で示

塩	

煮る	

•

5. 3 フローグラフの縮退と典型的な調理手順の抽出

塩	

醤油	

混合	

炒める	
  

玉ねぎ	
 にんじん	
 豚肉	

炒める	
 豚肉	

炒める	

混合	
炒める	
  

混合	

混合	

玉ねぎ	

たレシピは，同じ検索クエリで得たレシピ集合であるから，多くの g i は同じ形となり，結果，G0 には同じフローグラフが多く含まれる．そこで，G0 のうち，最も数の多いものを典型的なじであり，nA から nB へとエッジがあるとき，nA , nB を
一つのノードとする．
（図 7）

調理手順 p であると判定する．以下で処理の詳細を説明する． （ 3 ） ２つの調理動作 nA と nB のラベルが同じで，nA と nBが複数のノードを経て連結されているとき，間のノード集
食材から一つの料理を作りあげるまでの調理手順は，下ごしらえや，似た調理工程をひとまとめにすれば，いくつかの段階

合を NAB = (nAB1 , · · · , nABM ) とする．このとき，nAに分けることができると考えられる．例えば，文 A「玉ねぎとのラベルが「混合」「切る・剥く」「その他」以外で，NAB

ニンジンをいれ，炒め合わせる．さらに牛肉も加え炒める」と中のノードのラベルが全て「混合」か「その他」であるという手順は，「炒める」という作業が継続していることから，「炒き，NAB 中のノードのラベルが「混合」であるものを全める」という調理段階であると考えられる．また，文 B「玉ねて nA のラベルとする．
（図 8）

ぎとニンジンと牛肉を炒める」文 C「玉ねぎとニンジンを炒め，

図 6，図 7 では左側のフローグラフの点線に囲まれた部分が牛肉も炒める」という記述も文 A と同じ調理手順を表している

縮退され，右側のフローグラフに変換されている．また，図 8と考えられる．しかしこのそれぞれをフローグラフに変換する

では左側のフローグラフの真ん中の「混合」ノードが右側のフと文 A，文 B，文 C はそれぞれ図 5 のフローＡ，フロー B に，

ローグラフでは「煮る」に変換された．

フロー C になる．よってこれらのレシピのフローグラフは実際には同じ調理動作を表していると考えられる．そこで，これら縮退されたフローグラフ集合 G0 から，最も数の多いフローグラフを典型的な調理作業を示すフローグラフ p とする．

のフローに縮退処理を加えて，1 つのフロー D にする．また，抽出された典型的な調理作業を示すフローグラフ p の妥当

4. 1 のテキストで表記する際に生じる差異のうち，「(4) 記述の性を次のようにして評価した．典型的な調理作業の情報は，そ

省略」は，この一つの調理段階の表現方法の詳細さによるものの料理の大まかな流れが理解でき，かつ個々のレシピの特徴をであると考えられる．よって，レシピのフローグラフを縮退さ把握するの役に立つことが重要であると考えられる．そこで，せることで，この記述の省略による差異を除去する．

4.2 節の実験に参加した 2 名の被験者に対して，本手法で得ら

具体的には以下のルールを適用することでて縮退を行った．

れた典型的な調理作業を示すフローグラフを提示し，各被験者（ 1 ） ２つの調理動作 nA と nB の間に nA から nB へとエッジが書き出した各特徴に対して，そのフローグラフを見ることでがあり，nB に向かうエッジがそれ以外にないとき，nA の発見時しやすくなるかを「1. 役に立たない」「2. どちらかと言ラベルが「混合」で，nB のラベルが「切る・剥く」「そのえば役に立たない」「3. どちらともいえない」「4. どちらかと他」以外のときは nA , nB を一つのノードとし，nB のラ

言えば役に立つ」「5. 役に立つ」の５段階で回答してもらった．

ベルとする．
（図 6）

その結果を表 3 に示す．

（ 2 ） ２つの調理動作 nA と nB のラベルが「その他」以外で同

表 3 から，いずれの分類においても 3 以上の点数を得ることができ，抽出された典型的な調理作業を示すフローグラフを利用することによって，ユーザが各レシピの特徴を把握しやすくなっていると言える．

じゃがいも	

玉ねぎ	

牛肉	

油	

さやいんげん	

切る	
水に放す	
  

切る	

切る	

引く	
  

茹でる	
  

：その他	

切る	
  

：その他	

5. 4 各レシピの特徴抽出

炒める	

5. 4. 1 「食材の種類」の特徴抽出「食材の種類」の特徴は，レシピ集合 R に出現する頻度の低混合	  い食材が選ばれる場合と，頻度の高い食材が選ばれていない場

蓋をする	
  

砂糖	

醤油	

：その他	

合の２パターンがあると考えられる．そこで，食材集合 F 中の各食材 fi の出現頻度 pf (fi ) を計算し，その値がしきい値 θfL

煮る	
  以下であるものがレシピに含まれている場合，またはしきい値
図9θfH 以上であるものがレシピに含まれていない場合，その食材下ごしらえの例

をそのレシピの「食材の種類」の特徴として抽出する．ここで，じゃがいも	
 じゃがいも	
じゃがいも	
じゃがいも	
下ごしらえ	
 下ごしらえ	
下ごしらえ	
下ごしらえ	
炒める	
 炒める	
 炒める	

「食材の種類」の特徴として選ばれた食材に対する下ごしらえ
や調理工程は，その食材に依存して現れたものであると考えられるため，特徴とみなすべきでない．よって，出現頻度がしき

煮る	
  

煮る	
  

多くのレシピ	

F 0 = {fi0 |fi0 ∈ F, pf (fi0 ) > θfL }

炒める	

煮る	
  

蒸す	

レシピD	

レシピE	

煮る	
  

レシピA	
レシピB	
レシピC	

い値 θfL と θfH の間に含まれる食材の集合 F 0 を

じゃがいも	
下ごしらえ	

特徴を持つレシピ	

図 10 処理の流れとし，次節以降での特徴抽出は，この F 0 に含まれる食材に関してのみ特徴抽出を行う．

しては抽出を行わないこととした．

5. 4. 2 下ごしらえ部分の定義と「下ごしらえ」の特徴抽出

5. 4. 3 「調理工程の順序」の特徴抽出

4.2 節で述べたように，「下ごしらえ」に分類された多くの特「調理工程の順序」の特徴は，各食材が料理が完成するまで

徴が「下茹でする」「面取りする」のように，調理工程を表すに加えられる調理工程をレシピ間で比較することで抽出できる用語１つによって特徴が表された．そこで，各食材の下ごしらと考えた．R は 1 つのクエリで検索されたレシピ集合であるかえを行っている調理工程がどの部分であるかを推定し，各食材

ら，各レシピにおいて同じ名前の食材の料理が完成するまでにとその食材の下ごしらえ部分の調理工程の共起関係を調べるこ加えられる調理工程の系列は，図 10 の左側ように，多くのレとで，下ごしらえに関する特徴を抽出できると考えた．

シピで一致することが予想される．一方，「調理工程の順序」に一般的に下ごしらえは，一つの材料に対して行われる調理

特徴があるレシピでは，同じ食材であっても，図 10 の右側よ手順である．よって，下ごしらえ部分は，ある食材が他の食材

うに，それが受ける調理工程の系列がほかの多くと異なると考と混ぜ合わさる直前までの調理動作に含まれると考えられる．

えた．そのため，まず，F 0 中の食材 fj0 に対して，各レシピに

レシピ ri における食材 fj0 ∈ F 0 の下ごしらえ部分の候補は，縮退されたフローグラフ gi0 において，エッジを葉から根に向かってたどり，子を二つ以上持つ節ノードに到達する直前の節ノードまでの部分グラフ a(gi0 , fj0 ) とした．あるフローグラフ
から，抽出された下ごしらえの例を図 9 に示す．図の点線で囲まれている部分が，それぞれの食材の下ごしらえ候補と判定さ0

れた部分である．縮退されたフローグラフの集合 G のうち，

fj0 ∈ F 0 である食材 fj0 を材料として持つ全てのフローグラフ gi0
から，下ごしらえの部分グラフ a(gi0 , fj0 ) を抽出し，その集合をAj = {a(gi0 , fj0 )|gi0 ∈ G0 , fj0 ∈ F 0 } とする．

加えられる調理工程の系列を抽出する．ここで，その食材の下ごしらえ部分を示す a(gi0 , fj0 ) に関しては，前節で述べた処理により既にその特徴が検討されていることから無視する．各食材 fj0 が料理完成までに受ける調理工程の系列を，縮退された
フローグラフの集合 G0 のうち f j を含む全てのフローグラフ

gi0 から抽出する．フローグラフ gi0 上で食材 fj0 から根ノードに至るまでのパスに相当する部分グラフのうち，下ごしらえの部
分グラフ a(gi0 , fj0 ) を除いたものを h(gi0 , fj ) とし，その集合を

Hj = {h(gi0 , f j )|gi0 ∈ G0 f j ∈ F } とする．集合を Hj の中で比較したときに，その中で最も多く出現した部分グラフを，レレシピ ri で，レシピ集合 R の中で食材 fj の下ごしらえとシピ集合 R における食材 f j の典型的な調理工程の系列としして出現する頻度の低い調理工程が行われている場合，そのレた．次に，食材の種類ごとに，その食材の典型的な調理工程のシピ ri に食材 fj の「下ごしらえ」の特徴が含まれていると考系列と，各レシピにおけるその食材の調理工程の系列部分グラえられる．そこで，Aj に含まれる各調理工程 ni の頻度 pp (ni )フとで，編集距離により相違度を計算する．さらに，食材ごとを計算し，その値がしきい値 θp 以下であるものがレシピに含に各レシピの調理工程の系列の相違度 c を正規化し，しきい値

まれている場合，その調理工程をその調理工程を持つレシピのθo 以上であるものを，そのレシピの「調理工程の順序」と判断「下ごしらえ」の特徴であるとして抽出する．また，レシピ ri

する．

で，レシピ集合 R の中で食材 fj の下ごしらえとして出現する

ここで，編集コストは以下のように設定した．
頻度の調理工程が行われていない場合でも，単にその下ごしら （ 1 ） ノードの挿入
えの調理工程の記述を省略した場合が考えられるため，特徴と表 4 各分類別の特徴抽出数とその再現率と適合率
提案手法 R

正解 A 正答 A ∩ R

6. ま と め

再現率 適合率

本研究ではまず，レシピ検索では一般的な Web 検索に比べ，

食材の種類

103

125

84

0.67

0.82

下ごしらえ

15

22

12

0.55

0.80

調理工程の順序

16

17

11

0.65

0.69

提示方法に需要があることを調査により示した．そしてレシピ

総数

134

164

107

0.65

0.80

の比較には，検索結果で得たレシピ集合における典型的な調理

上位の検索結果が選ばれにくく，複数のレシピを比較しやすい

工程と，各レシピの特徴を提示することで解決できると考え，部分グラフ h(gi0 , fj ) に「その他」以外のラベルを持ったノードを挿入する編集コストを ci ，「その他」のラベルを持ったノードを挿入する編集コストを cO
i とする．
（ 2 ） ノードの削除
部分グラフ h(gi0 , fj ) から「その他」以外のラベルを持ったノードを削除する編集コストを cd ，「その他」のラベルを持ったノードを削除する編集コストを cO
d とする．
次に「調理工程の順序」の特徴が含まれていると判断された
レシピのうち，どの調理工程にその特徴が含まれているのかを判断する．典型的な調理工程の系列に含まれていない調理工程
がそのレシピに含まれている場合は，そのレシピが他の多くのレシピとは異なる特徴であると考えられる．これは，編集距離を計算する際に，削除されたノードの調理工程に相当する．また，典型的な調理工程に含まれている調理工程がそのレシピに含まれていない場合は，その調理工程を実行せずに次の調理工
程に移っていることがそのレシピの特徴であると考えられる．
これは，編集距離を計算する際に，挿入されたノードに接続されているノードの調理工程に相当する．

5. 5 抽出された特徴の評価
5.4.1 節から 5.4.3 節において抽出される特徴を評価する．評
価には，4.2 節で特徴分類を行ったレシピ集合 4 セットを用い，正解データは 4.2 節において各レシピの特徴と判断された特徴のうち，本研究で抽出を図った「食材の種類」「下ごしらえ」「調理工程の順序」に分類された計 164 個とした．レシピ集合

4 セットに対する予備実験により，各パラメータは，θfL = 0.2,O
θfH = 0.8, θp = 0.2, ci = 3, cO
i = 1, cd = 3, cd = 1, θo = 0.4,と設定し，本手法を適用することで特徴を抽出したところ，計134 個の特徴が抽出された．各分類別の抽出特徴数とその再現率と適合率を表 4 に示す．
表 4 より，本研究で抽出を図った「食材の種類」「下ごしらえ」「調理工程の順序」の 3 分類の特徴いずれでも再現率・適合率ともに 0.5 を超えることができた．この再現率・適合率の値は，レシピを見比べるという目的の上では，ユーザは各レシ
ピの特徴の取捨選択を行うと思われるので，十分にレシピ見比べの支援ができるものと考えられる．
「下ごしらえ」の特徴の再現率が低いのは，本手法が，下ごしらえ部分を適切に判定できていないことが原因と考えられる．
「牛肉を塩を用いて下ごしらえする」という特徴は「下ごしらえ」の特徴であると考えられるが，本手法ではこれらの食材を別々の特徴として抽出したために相違が生じた．また 4.2 節であげた 7 種類の特徴のうち，本研究で対象としなかった残り 4 種類の特徴を抽出する手法を提案することは今後の課題である．

その 2 つの抽出を図った．特徴抽出に関しては，被験者が手動で抽出した特徴を 7 種類に分類し，そのうち，出現頻度が高い，あるいは重要性が高いと判定された「食材の種類」「下ごしらえ」「調理行程の順序」の 3 つの特徴を抽出する手法を提案した．これらの特徴を，再現率は 0.65，適合率は 0.80 で抽出することができた．レシピの比較に関しては十分に支援を行える
結果が得られたと考える．

謝

辞本研究の一部は，文科省科研費基盤 (A)「ウエブ検索の意図検
出と多元的検索意図指標にもとづく検索方式の研究」（24240013，
研究代表者：田中克己），および文科省科研費若手 (B)「調理をしながら調理法を説明した音声からのレシピテキストの自動生成」(23700144，研究代表者：山肩洋子）によるものです．ここに記して謝意を表します．
文献[1] レシピ検索 No.1 ／料理レシピ載せるなら クックパッド
http://cookpad.com/[2] 楽天レシピ: レシピを見つける，料理する，投稿する，みんなで作る http://recipe.rakuten.co.jp/[3] レシピ｜レシピ大百科【AJINOMOTO PARK】
http://park.ajinomoto.co.jp/[4] ネスレ バランスレシピ｜簡単レシピがいっぱい！
http://www.recipe.nestle.co.jp/[5] Google レシピ検索 http://www.google.co.jp/landing/recipes/[6] 浜田玲子, 井手一郎, 坂井修一, 田中英彦,“料理テキスト教 材における調理手順の構造化 , 電子情報通信学会論文誌. D-II, 情報・システム, II-パターン処理,Vol.85,No.1,pp.79-89,2002-01-01.
[7] Shinsuke Mori,Tetsuro Sasada,Yoko Yamakata,Koichiro
Yoshino,“A Machine Learning Approach to Recipe Text
Processing”,ECAI 2012,2012[8] 苅米 志帆乃 , 藤井 敦,“料理レシピテキストを対象とした構造解
析の高精度化”, 電子情報通信学会技術研究報告 : 信学技報, 電子情報通信学会,Vol.112,No.75,pp.43-48,2012-06-05[9] 佃 洸摂, 中村 聡克, 山本 岳洋, 田中 史己,“オブジェクトの典型度
分析とその検索への応用”,Web とデータベースに関するフォー
ラム WebDB Forum 2011,2011.
[10] 岩本 純也, 宮森 恒,“調理の難易度を考慮したレシピ検索システ
ムの提案”,DEIM Forum 2012 E1-3,2012.
[11] 上田 真由美, 高畑 麻理, 中島 伸介,“レシピ閲覧・摂食履歴を用いた嗜好の抽出”,Web とデータベースに関するフォーラム
WebDB Forum 2011,2011.
[12] 森下 幸俊, 中村 富予,“気分による献立検索システムの検索軸の評価とレシピを活用した食品販売機能の市場ニーズの評価 (データ工学)”, 電子情報通信学会技術研究報告 : 信学技報, 電子情報通信学会,Vol.112,No.75,pp.79-84,2012.
[13] Bernard J. Jansena,Amanda Spinkb,Tefko Saracevic,“Information
Processing and Management” Vol.36, 207-227,2000.
[14] たんし Ver. 1.1.0 表記揺れ辞書,http://tansi.sourceforge.jp[15] NICT-独立行政法人 情報通信研究機構 http://www.nict.go.jp