言語処理学会 第26回年次大会 発表論文集 (2020年3月)

レシピテキストからの調理時間推定岡崎 真治

1笹野 遼平

武田 浩一

名古屋大学 工学部

名古屋大学 大学院情報学研究科

okazaki.shinji@b.mbox.nagoya-u.ac.jp{sasano,takedasu}@i.nagoya-u.ac.jp

はじめに
楽天レシピ1 やクックパッド2 に代表されるユーザー

投稿型のレシピサイトの普及に伴い，Web 上のレシピは，新たな料理へのアレンジやダイエットへ利用されるなど，食メディアとしての重要性が高まっている．
初めて作る料理の場合，レシピ全体で必要となる調理時間や各手順の所要時間に関する情報は準備や調理を効率よく行うために有用な情報となる．しかし，Webに存在するレシピの多くには個別の手順の所要時間は記載されておらず，また，全体の調理時間が記載されていないケースも存在する．
たとえば図 1 に示すレシピでは，全体の調理時間は30 分と記載されているものの，手順ごとの所要時間は記載されていない．しかし，各手順のテキストを読むと，「煮汁が半分以下になるまで，時々ゆすってやりながら煮る」という記述がある手順 3 は所要時間が長く，「器に盛り付け，小ねぎを散らす」との記述しかない
手順 4 は所要時間は短いことが予想され，全体の調理時間を考慮に入れると各手順の所要時間もある程度推定することが可能である．そこで，本研究では全体の調理時間が記載されているレシピを学習データとし，レシピのテキストからレシピ全体，および，個別手順の所要時間の推定に取り組む．

図 1: 楽天レシピにおけるレシピの例3部ら [4] は素材と調理動作の組の Bag-of-Features に基づく調理時間予測システムを提案している．
また，テキスト情報から数量情報を予測する研究も数多く存在している．たとえば，エッセイの自動採点を行う研究 [5] や，金融ニュースのテキスト情報を手掛かりの 1 つとして株価予測を行う研究 [6]，twitterに投稿されたテキスト情報を手掛かりにインフルエン

2

ザの患者数を予測をする研究 [7] などが行われている．

関連研究
ユーザー投稿型のレシピサイトの普及に伴い，レシピを用いた研究は近年盛んに行われている．たとえば，

3使用するレシピデータ

森ら [1] は調理工程の流れをグラフで表すフローグラ

本研究では，レシピデータとして楽天レシピデータ

フコーパスを作成し，レシピ検索における有用性を示[8] を用いた．楽天レシピデータには約 80 万レシピが含まれ，その多くには，5 分以内，約 10 分，約 15 分，約 30 分，約 1 時間，1 時間以上の 6 分類から選択する形式で調理時間が付与されている．このうち１時間以上に分類されたレシピは上限時間が与えられていないことから使用せず，残りの 5 つの調理時間4 が付与されしており，Majumder ら [2] は，名前，材料，カロリーを入力とし，ユーザの食歴を考慮した，ユーザ好みのレシピを生成するモデルを提案している．また，渡辺ら [3] はオノマトペを用いたレシピ検索システムを，阿1 http://recipe.rakuten.co.jp/

3 https://recipe.rakuten.co.jp/recipe/1040012183/

2 http://cookpad.com/

4 5 分以内は約 5 分とみなして使用した．

― 1427 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

'&B


W!$*

 #"!"

#$#%

!$!%

21 .

21 .

2

11 .1 .

2

11 .1 .

2

11 .1 .

2   2…

ℎLSTM

…

LSTM

LSTM

LSTM

…

LSTM



%$!" ⟵ ∑ &$ ×!
( %(2図 3: 手順分割推定モデルの概要  

続いて隠れ層のベクトル集合に対し，下記の式で表現される Attention 機構を適用し，各単語の重要度を…
2B

L

LSTM

(!$+,1 .

*⨁A!$-

考慮したレシピ全体の表現ベクトル v を算出し，最後
に v を Prediction Layer に入力し，調理時間 y の対数値を出力する．

図 2: レシピ一括推定モデルの概要

ui = tanh (Wu hi + bu )()exp u⊤ua(i ⊤ )ai = ∑j exp uj ua∑
v=ai hi

たレシピから無作為に 25,000 レシピを抽出し，調理時間の分布が等しくなるよう 10,000，5,000，10,000 レ
シピに分割し，それぞれ学習データ，開発データ，テストデータとして使用した．図 1 のレシピにおいて使i

われている “●” のように，材料の一部を記号により表現するケースが多く存在したことから，レシピ内の材料追加に用いられる記号は参照されている材料に置

4.2

き換え使用した．

手順分割推定モデル

図 3 にモデルの概要を示す．手順分割推定モデルでは，手順ごとの調理時間を推定し，それらを合計することによりレシピ全体の調理時間を推定する．しかし，提案手法

4本研究で使用する楽天レシピをはじめとした多くのレレシピ全体を 1 つのテキストとして入力しその調理シピには，全体の調理時間の記載はあるものの，個別時間を予測する『レシピ一括推定モデル』と，手順ごの手順の所要時間は記載されていない．このため，個とに所要時間を予測しそれらを合計することで全体の別手順の所要時間の正解データは使用せず，以下で説調理時間を予測する『手順分割推定モデル』の 2 つの明するように個別の手順の推定所要時間の合計が，レモデルを提案する．いずれのモデルにおいても，レシシピに記載されている調理時間が近づくように繰り返ピテキストを入力，その所要時間の自然対数の値を出し学習を行う．具体的には，t 回目の学習されたモデ力とする，Attention 機構を用いたニューラルネット

ルで推定された手順ごとの所要時間を基に，レシピ全ワークによりモデル化を行う．ここで，所要時間の対体の調理時間を比例配分し，t + 1 回目の学習におけ数値を用いるのは，推定時間の差よりも，推定時間のる各手順の所要時間の正解データとみなしてモデルの比が重要であると考えたためである．

学習を行うというプロセスを繰り返すことで，手順ごとの所要時間の推定を行う．

4.1

レシピ一括推定モデル

レシピ i 全体の調理時間を yi ，手順数を Ni ，手順

図 2 にモデルの概要を示す．このモデルでは，全手順を繋ぎ合わせ 1 つのテキストとしたものを入力とし，その合計所要時間を推定する．まず，各単語の単語ベクトル xi を Bi-LSTM に入力し，前後の文脈情報を捉えた隠れ層のベクトル hi を得る

集合を {pi 1 , pi 2 , . . . , pi Ni }，t 回目の繰り返しにおける手順 pi k の所要時間の正解値を yi,k,t と表すとすると，学習のプロセスは以下のように説明できる．ただし，繰り返し回数は開発データを用いて決定する．
yiに初期化
0. 各手順の所要時間を yi,k,0 = N
i― 1428 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

表 2: 調理時間推定における手順数・人数の効果

表 1: 調理時間推定実験
モデル
平均時間
レシピ一括
推定モデル
手順分割
推定モデル

Attention

✓
✓

モデル

MSE
0.738
0.469
0.305
0.333
0.331

レシピ一括
推定モデル

手順数✓✓

手順分割推定モデル✓

1. 与えられた各手順の所要時間 yi,k,t を正解値とし，手順を入力単位とするレシピ一括推定モデルと同様のモデルにより各手順の所要時間推定モデルを学習し，各手順の所要時間の推定値 ŷi,k,t を算出

2. 以下の式により，レシピ i の調理時間 yi を ŷi,k,tに比例するように再配分し 1 に戻る

✓

人数✓✓
✓
✓

MSE
0.305
0.294
0.284
0.297
0.331
0.322
0.308
0.298

推定モデルの場合は，手順ごとに所要時間を予測できることから，Attention 機構を用いずとも調理時間に影響の大きい表現を考慮できるのに対し，レシピ一括推定モデルでは入力は非常に長いテキストとなっており，Attention 機構を用いないとそのような調理時間に影響の大きい表現に着目することができないためで

ŷi,k,t× yi
yi,k,t+1 = ∑l ŷi,l,tあると考えられる．

Attention 機構を用いた場合に，レシピ一括推定モ

5実験

デルの方が高い精度となった要因について考えると，

5.1

実験設定した所要時間を正解データとした学習を行っているこ

手順分割モデルでは全体の調理時間から間接的に推定

レシピのテキストは，MeCab5 を用いて形態素解析を行った．また，単語ベクトルは楽天レシピデータ全体に対し，CBOW モデル [9] を適用することで獲得した6 ．損失関数には所要時間の対数値の Mean SquaredError (MSE) を用いた．とから，学習の際の正解データが必ずしも正しくない
こと，各手順の所要時間を推定する際に前後の手順の情報や総手順数を考慮していないこと等が考えられる．
特に手順数については，全体の手順数が多い場合は，個別の手順の所要時間は短くなる傾向があると考えられるなど，影響が大きいと考えたため，総手順数の逆数を入力ベクトルに加えた実験も行った．また，その5.2

レシピ全体の調理時間推定

レシピが何人前のレシピなのかという情報も調理時間

レシピ全体の調理時間の推定実験の結果を表 1 に示
す．提案する 2 つのモデルに加えて，Attention 機構を用いず，すべての隠れ層ベクトル h の平均ベクトルに影響を与えると考え，レシピに記載された人数の対数値も入力ベクトルに加えた実験も行った．結果を表2 に示す．手順数，人数を考慮することで全体的な傾を入力テキスト全体の表現ベクトルとしたモデルを用向として精度が向上していることが確認できる．これいた実験も行った．また，ベースラインとして，すべらの効果は手順分割推定モデルにおいてより顕著であてのレシピの調理時間の予測値を全レシピの調理時間り，手順数，人数両方を使用したモデルではレシピ一の平均時間とした場合の MSE も記載している．

括推定モデルとほぼ同等の精度となった．

レシピ一括推定モデル，手順分割推定モデル，いずれについてもベースラインである平均時間モデルより5.3

手順ごとの所要時間推定は大幅に高い精度となっていることが確認できる．2

手順分割推定モデルの特長は，レシピ全体の調理時つのモデルを比べるとレシピ一括推定モデルの方がや間だけでなく，各手順の所要時間を算出できることでや高い精度となった．しかし，Attention 機構を用いある．しかし，本研究で使用する楽天レシピデータになかった場合，手順分割推定モデルでは精度にほとんは手順ごとの所要時間は含まれておらず，また，レシど変化が見られないのに対し，レシピ一括推定モデル

ピだけから正確な所要時間をアノテートするのは困難

では大幅な精度低下が確認された．これは，手順分割であると考えられる．そこで本研究では，各レシピに5 https://taku910.github.io/mecab/, 辞書:mecab-ipadic
6 窓幅は 20，単語ベクトルの次元数は 200 次元とした．

おいてもっとも時間がかかると考えられる手順を人手でタグ付けし，その手順をどのくらい正しく推定でき― 1429 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

表 3: 最長所要手順の予測実験
モデル
ランダム
レシピ一括推定モデル
手順分割推定モデル

表 4: 手順ごとの調理時間推定結果の例

正解率0.314
0.678
0.691

#
1ているかによって，各手順の所要時間推定の精度の評2価を行った．タグ付けは，200 レシピを対象に 2 名のアノテータで行った．その結果，149 レシピについて，2 名のタグ付け結果が一致したことから，この 149 レ

3

シピを評価に使用した．
比較対象として，2 つのモデルを用いた．1 つは各4

レシピについて無作為に 1 手順を選ぶモデル（ランダ手順
絹豆腐はキッチンペーパーにくるんで水気を切る．玉ねぎは細くスライス，しめじ・キムチは食べやすい大きさにカットする．青ねぎは小口切りにする．
鍋にの調味料と，玉ねぎ・しめじを入れて火にかけ，沸騰したらキムチを入れて，具材に火が通るまで煮る．水溶き片栗粉でとろみをつける．
絹豆腐に片栗粉をまぶし，大目のサラダ
油 (大 2) で揚げ焼きにする．全面に焼き色がつくようにひっくり返しながら焼く．
お皿に 3 を盛り，上から２をかけて，青ねぎをたっぷりのせたらできあがり！
レシピ記載の調理時間: 15 分ム），もう 1 つはレシピ一括推定モデルで学習された推定値

2.48

8.26

5.04
1.85
17.63

モデルを各手順に対し適用したモデルである．レシピ
一括推定モデルと手順分割推定モデルは，それぞれ表2 においてもっとも高い精度となった設定で実験を行った．実験結果を表 3 に示す．
手順分割推定モデルは，ランダムモデルより大幅に高い精度を実現しており，手順ごとの所要時間を適切も所要時間が長いと考えられる手順の推定精度を調査した結果，約 70%の精度で推定できていることを確認した．今後の課題としては，手順ごとの所要時間の直接評価や，並列処理の可能性を考慮したモデル化等が考えられる．に推定できていることが確認できる．しかし，レシピ一括推定モデルで手順ごとの所要時間を推定した場合の正解率との差は限定的であった．この結果は，レシピ一括推定モデルも Attention 機構により，調理時間に影響の大きい表現を適切に考慮できているためであ

謝辞
本研究では，国立情報学研究所の IDR データセット提供サービスにより楽天株式会社から提供を受けた「楽天データセット」を利用した．ここに記して謝意を表する．

ると考えられる．
表 4 に，手順分割推定モデルによる調理時間の推定結果の例を示す．調理時間の合計値は 17.6 分と推定されており，これはレシピ記載の調理時間とほぼ等しい推定結果となっている．また，個別の手順の所要時間の推定結果を見ると，「火が通るまで煮る」などの表現がある手順 2 をもっとも長く，盛り付けだけを行っている手順 4 の所要時間をもっとも短く予測しており，適切に各手順の所要時間を予測できていると言える．

6

まとめと今後の展望
本研究では，レシピテキストからの調理時間の推定に取り組んだ．レシピ全体を 1 つの入力とし Attention機構を用いて調理時間の推定を行うレシピ一括推定モデルと，手順ごとの所要時間を推定することでレシピ全体の調理時間を予測する手順分割推定モデルの 2 つのモデルを提案し，レシピ全体の調理時間が付与されている 25,000 のレシピデータを用いた実験を通してその有効性を示した．さらに各レシピについてもっと参考文献[1] Shinsuke Mori, Hirokuni Maeta, Yoko Yamakata, and Tetsuro Sasada. Flow graph corpus from recipe texts. In Proc.
of LREC’14.
[2] Bodhisattwa Prasad Majumder, Shuyang Li, Jianmo Ni,and Julian McAuley. Generating personalized recipes
from historical user preferences. In Proc. of EMNLPIJCNLP’19.
[3] 渡辺知恵美, 中村聡史. オノマトペロリ: 味覚や食感を表すオノマトペによる料理レシピのランキング. 人工知能学会論文誌,
Vol. 30, No. 1, pp. 340–352, 2015.
[4] 阿部卓也, 立間淳司, 青野雅樹ほか. D-018 料理レシピサイトから抽出される特徴に基づいた調理時間予測 (d 分野: データベース, 一般論文). 情報科学技術フォーラム講演論文集, Vol. 14,No. 2, pp. 103–104, 2015.
[5] Zixuan Ke and Vincent Ng. Automated essay scoring: Asurvey of the state of the art. In Proc. of IJCAI’19.
[6] Deli Chen, Yanyan Zou, Keiko Harimoto, Ruihan Bao,Xuancheng Ren, and Xu Sun. Incorporating fine-grained
events in stock movement prediction.
In Proc. ofECONLP’19.
[7] 荒牧英治, 増川佐知子, 森田瑞樹ほか. Twitter catches the flu:
事実性判定を用いたインフルエンザ流行予測. 研究報告自然言語処理 (NL), Vol. 2011, No. 1, pp. 1–8, 2011.
[8] 楽天株式会社 (2019): 楽天レシピデータ. 国立情報学研究所情報学研究データリポジトリ (https://doi.org/10.32130/idr.2.4).
[9] Tomas Mikolov, Kai Chen, Greg Corrado, and Jeﬀrey
Dean. Eﬃcient estimation of word representations in vector space. In Proc. of ICLR Workshop, 2013.

― 1430 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.