# レシピ解析の現状と課題: Cookpad Parsed Corpus を例として

平松淳 原島 純
クックパッド株式会社
\{himkt, jun-harashima\}@cookpad.com

## 1 はじめに

インターネット上にレシピを投稿する行為が一般的になり，計算機で処理できる電子化されたレシピ が増加している。これにより, レシピデータの解析 への注目が高まり，様々なデータセットが整備され ている $[1,2,3]$. レシピデータが公開されたことで， データを利用した応用的な研究トピックにも関心が 集まり, レシピ検索 $[3,4]$, レシピ生成 $[5,6]$, レシ ピ質問応答 [7], そしてカロリー推定 [8] のような応用的なタスクも提案されている。

レシピ研究が活発になった一方，レシピテキスト を解析するための基礎的な言語資源は未だ充分に整備されていない. 利用可能な既存の言語資源の多く は新聞記事データなどを基に構築されている $[9,10]$ が，レシピテキストにはこのようなデータには出現しない用語が数多く存在する。例えば「炒める」「募込む」のような調理動作に関する表現は新聞記事にあまり出現しない. また，「おにぎらず」のよ うな新語も日々レシピテキストの中で誕生してい る.このような用語を含むレシピドメインのコーパ スを構築し, 言語解析器を開発することで, レシピ 解析の精度を改善できると考えられる。

この課題に対し, 著者ら [11] は Cookpad Parsed Corpus (CPC) を提案した. CPC にはレシピサービス のクックパッド ${ }^{11}$ に投稿されたレシピから無作為に 抽出した 500 品のデータが含まれており, 各レシピ のタイトルおよび調理手順に形態素, 固有表現, そ して係り受けの情報が付与されている.

本稿では， CPC のアノテーション情報について 簡単に解説し，CPCを用いたベンチマーク実験の 設定・結果を報告する．その後，各実験において明 らかになったレシピ解析の現状と課題について考察 する. また, 本研究で使用したソースコードおよび Dockerfileを GitHub ${ }^{2)}$ で公開する.


## 2 関連研究

日本語のレシピドメインの言語資源に関する研究 として, Mori ら [12]によるフローグラフコーパス が存在する. Mori らはクックパッドに投稿された レシピから 266 品のレシピを抽出し, 調理手順のテ キストに対してグラフ形式の情報を付与した $\mathrm{r}$ - $\mathrm{FG}$ コーパスを提案した. Yamakata ら [13] も英語のレ シピで同様のコーパスを提案している。 また, 笹田 ら [14] はクックパッドから無作為に抽出した 436 件 のレシピに対し, Mori らの研究で定義された固有表現タグに基づく固有表現情報を付与した。

言語以外のデータセットとして，西村ら [15] は r-FGコーパスを基に，各レシピの画像に対してバウ ンディングボックスを付与し, r-FGコーパス中の料理用語に対応させた r-FG-BB データセットを提案し た. 西村らはレシピ画像中のバウンディングボック スが示すエンティティをレシピテキスト中から発見 するタスクに取り組み，レシピにおける言語と画像 を組み合わせた研究の可能性を示した。

これに対し, CPC は 500 品のレシピに対して形態素，固有表現，係り受けの情報を付与した. CPC は Cookpad Recipe Dataset (CRD) [2] から無作為に抽出した 500 レシピに対してアノテーションを実施 している.さらに， CPC は Cookpad Image Dataset (CID) [16] と互換性がある. CID は CRD に含まれ るレシピについて, 完成写真, および調理手順写真 474 万枚の画像を収録したデータセットである. CPC と CIDを組み合わせることで，言語と画像を組 み合わせた研究が可能である.

## 3 Cookpad Parsed Corpus

CPC では図 1 のようなフォーマットでアノテー ションが実施されている.1つの調理手順 (Step) は複数の文を含む可能性があるため，Step の中に Sentence が存在する. 本章では CPC の形態素, 固有表現，そして係り受け情報について簡単に述べる。

図 1: CPC のアノテーション例

表 1: 固有表現タグの一覧

## 3.1 形態素

CPC のテキストには IPA 品詞体型をベースにし た形態素情報が付与されている. 形態素のアノテー ション作業は文の分割，自動解析，そして解析結果 の修正の 3 ステップで実施した. まず人手で文境界 の判定を実施した. その後，各文を MeCab [17] およ び mecab-ipadic を用いて解析した. 最後に解析結果 を人手で確認し，誤った形態素情報を修正した.

## 3.2 固有表現

レシピテキストには様々な料理ドメインの用語が 出現する. 食材, 調理器具, 調理動作 (例. 切る, 煮表 2: 実験データの統計量

る, 炒める)，分量・時間 (例. $200 \mathrm{~g}, 1$ カップ, 1 時間,冷めるまで) など，多様な用語が存在する。

CPC では笹田ら [14] の用語タグを参考に表 1 に 示すような用語タグを定義した. CPC の用語タグは 笹田らが定義したものより細分化されている. 例え ば，笹田らのコーパスでは食材を表すタグは “F”で あるが， CPC では “Fi”，“Fe”などのタグの細分化さ れたタグを定義している。これは，レシピ中に出現 する食材の中には調理中に除去される部分（例. 魚 の「わた」）が存在し，それらは調理中に使われる材料とは区別すべきであると考えたためである.

固有表現のアノテーションはIOB2 形式で実施さ れている. 図 1 のように，各形態素に対して “B-Fi” "I-Fi" “O"のようなタグが付与されている.

## 3.3 係り受け

CPC のテキストには文節同士の係り受け情報も 付与されている。図 1 の例において，各文節の先頭 には“*”から始まる行が存在し，文節の ID (0 オリ ジン), 係り先文節 ID + 係り受けラベル, 主辞/機能語 フィールド, 文節ラベルの情報が記述されている.係り受けのアノテーションは自動解析と結果の修正 からなる 2 ステップで実施した. はじめにテキスト を CaboCha [18] で解析し，その後誤った文節の区切 りおよび係り受けを人手で修正した。

## 4 実験

本章では CPC のベンチマークタスクの実験設定, およびそれぞれの結果について報告する．実験の際 は CPC を訓練・検証・評価のために 3 つに分割して おり，各データに含まれる文，形態素，固有表現， そして文節の数は表 2 に示す通りである。

## 4.1 形態素解析

形態素解析の実験には MeCab [17]を利用した. 辞書として mecab-ipadic および mecab-ipadic をべース に CPC でパラメータを再学習した mecab-ipadic-cpc
表 3: 形態素解析の実験結果

の2つを用意し，性能を比較した。

実験結果を表 3 に示す。評価指標は単語分割の 精度・再現率・ $\mathrm{F}$ 値，および単語の素性の完全一致の精度・再現率・ $\mathrm{F}$ 值とした. ここで，単語の素性とは単語の読み, 品詞, 活用形などの情報を指 す. 単語分割・素性完全一致両者の指標において, mecab-ipadic-cpc が mecab-ipadic を上回っている.こ の結果から， CPC の有用性が確認できた。

一方で, Kudo ら [17] は新聞記事を基にして構築 されたコーパスにおいて同様の実験を実施し，素性完全一致の評価で 96 ポイント以上の精度を報告し ている.このことから，レシピテキストの形態素解析にはまだ改善の余地があることが示唆される。

mecab-ipadic-cpc の解析結果について調査したと ころ，カタカナの単語のひらがな表記や略語を含 む誤りが存在することがわかった.「チーズクリー ムサラミあすぱら パスタ」というレシピタイトル を例に挙げる. mecab-ipadic-cpc はこれを「チーズ/ クリーム/サラミ/あす/ぱら/パスタ」と分割し た.「あすぱら」は本来 1 単語になるべきだが，「あ す(明日)」が辞書に含まれていたため，このように 2つの形態素に分離してしまったと考えられる.

略語を含む誤りの例として「新じゃがは $2 \sim 3$ 等分に切る」というレシピテキストの解析結果を示 す. mecab-ipadic-cpc はこのテキストを「新/じゃが /は/ 2 /〜/3 /等分/に/切る」と正しく分割し た.しかしながら，素性をみると「じゃが」の品詞 として「接続詞」が予測されていた. これは解析器 が「じゃが(じゃがいも)」を「〜じゃが」のような 逆接の接続詞として認識した結果である. CPCを用 いた再学習の有用性は示された一方, ユーザ投稿型 レシピサービス特有の難しさも明らかになった.

## 4.2 固有表現抽出

CPC の固有表現タグに基づいて訓練された既存の 固有表現抽出モデルは存在しない. このため, 既存 の 2 種類の手法を用いてモデルを訓練し，参考値と してそれぞれのモデルの性能を報告する。表 4: 固有表現抽出の実験結果

表 5: 係り受け解析の実験結果

1つ目の手法は PWNER [19]である. PWNER は点推定と動的計画法に基づく手法であり。笹田ら [14] によるレシピ用語の抽出の研究で利用されている。本研究における実験では，パラメータはすべてデ フォルトのものを利用した。

もう1つの手法は BiLSTM-CRF [20] である. BiLSTM-CRF の実装は pyner [21]を利用した. BiLSTM-CRF には文字レベルの特徴量と単語レ ベルの特徴量が存在する. 文字レベルの特徴量につ いては 25 次元の文字分散表現を 50 次元の Bi-LSTM に入力して抽出し, 単語レベルの特徵量について は文字レベルの特徴量と 100 次元の単語分散表現 を結合した 150 次元の特徴ベクトルを 200 次元の Bi-LSTM に入力して抽出している. モデルの訓練に は SGD を利用し，学習率は 0.01 ，バッチサイズは 10 に設定した. また，勾配のクリッピングを実施し ており，しきい値は 5.0 とした.

実験結果を表 4 に示す。評価指標は単語レベルの 正解率，フレーズレベルの精度・再現率・ $\mathrm{F}$ 値であ る. フレーズレベルの指標については各固有表現タ グの指標の平均をとる. BiLSTM-CRF が PWNER よ りよい性能を発揮していることが確認できる.

BiLSTM-CRFがどのような入力に対して誤った予測をしているのか調査したところ，特に未知語を含 む固有表現の抽出に失敗していることがわかった.例えば，「トマト/の/水蔒/缶/を/加える/と/、 /気分/が/変わり/ます」という文の「気分」に対 して，BiLSTM-CRF は「Fa (食材の状態)」のカテゴ リを予測していた。「気分」はレシピ作者の感情で
表 6: アノテーション誤りの例 (“/l” は文節の区切りを表す)

 &  &  &  \\

あり，該当する固有表現タグは存在しないため，本来は「O」と予測するべきであった.「気分」は CPC にほとんど出現しない単語だったため未知語であ り，BiLSTM-CRF には「(食材の) 色が変わる」のよ うな表現と区別できなかったためにこのような予測誤りをしたと考えられる。BiLSTM-CRFが予測誤り をしたフレーズは 301 件あり，このうち 109 件は 1 つ以上の未知語を含むフレーズであった.

## 4.3 係り受け解析

係り受け解析の実験には CaboCha [18] を利用し た. CaboCha 付属のモデル，および付属モデルのパ ラメータを CPC で再学習したモデルを比較した. ${ }^{3)}$再学習にはデフォルトのパラメータを利用した。

実験結果を表 5 に示す。評価指標は全文節の係 り受け正解率 (level0)，最後の文節以外の正解率 (level1), 最後および最後から 2 番目以外の文節の正解率 (level2), 文全体での正解率 (sentence) である.末尾の文節，およびその前の文節は係り先の推定 が容易であるため，それらを除外した level1 および level2 の正解率は level0 と比較すると低いことが確認できる．すべての評価方法において，CPC で再学習したモデルの正解率が学習済みモデルの正解率 を上回っており， CPC の有用性が確認できた。な お，解析誤りを調査したが形態素解析や固有表現抽出のようなレシピ特有の誤りは見つからなかった.

## 5 分野固有のアノテーションミス

CPC のアノテーション結果を見直したところ，少 ないながら表 6 のようなアノテーション誤りを発見 した。誤りは大きく分けると文節境界に関わるもの


と文境界に関わるものの 2 種類が存在した.

1 つ目の例は「長ネギを並べてワインコンソメを 入れて」という文を「長ネギを/並べて/ワインコ ンソメを/入れて」のような文節に分割している. しかしながら，レシピの材料闌を確認したところ 「ワイン」「コンソメ」は独立した材料であり，実際 には「長ネギを/並べて/ワイン/コンソメを/入れ て」のような文節に分割しなければならなかった。

2 つ目の例は文境界に関する誤りである。「電子 レンジ (600w 設定) で焼く [EOS] 4～5 分ほど加熱処理をしておく」と2つの文に分割されているが，「焼 く」は「約」の誤りであり，正しくは「電子レンジ (600w 設定) で焼く (約) 4 5 分ほど加熱処理をして おく」となるべきであった．調理手順で実際に食材 を加熱しており「焼く」と誤字があっても意味が成立してしまっていた。また，後続の文も単体で成立 しており，発見しにくい誤りであった.

現在公開されている CPC (version 1.0)ではこれら のアノテーション誤りはそのまま残されているが，今後のバージョンアップ時に修正する予定である.

## 6 結論

本研究では $\mathrm{CPC}$ を用いて実施したレシピ解析に ついて，実験の詳細を述べ，現状と課題を報告し た. CPCを用いた解析器の再学習によって各タスク の性能が改善し，CPC の有用性が確認された。

また，各タスクの実験結果のエラー分析を実施 し，形態素解析，固有表現抽出でレシピ固有の解析誤りを発見した. さらに，料理の知識，およびレシ ピ特有のひらがな表記や略語に関する知識が必要と なるアノテーションが難しい事例を発見した. 今後 もこれらの事例を活用し，CPC の拡充およびレシ ピ解析の改善に取り組む予定である。

## 参考文献

[1]Dan Tasse and Noah A. Smith. SOUR CREAM: Toward Semantic Processing of Recipes. Technical report, Carnegie Mellon University, 2008.

[2]Jun Harashima, Michiaki Ariga, Kenta Murata, and Masayuki Ioki. A Large-scale Recipe and Meal Data Collection as Infrastructure for Food Research. In Proceedings of the 10th International Conference on Language Resources and Evaluation (LREC 2016), pp. 2455-2459, 2016.

[3]Amaia Salvador, Nicholas Hynes, Yusuf Aytar, Javier Marin, Ferda Ofli, Ingmar Weber, and Antonio Torralba. Learning Cross-modal Embeddings for Cooking Recipes and Food Images. In Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2017), pp. 3020-3028, 2017.

[4]Micael Carvalho, Rémi Cadène, David Picard, Laure Soulier, Nicolas Thome, and Matthieu Cord. Cross-Modal Retrieval in the Cooking Context: Learning Semantic Text-Image Embeddings. In Proceedings of the 41th International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR 2018), pp. 35-44, 2018.

[5]Chloé Kiddon, Luke Zettlemoyer, and Yejin Choi. Globally Coherent Text Generation with Neural Checklist Models. In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing (EMNLP 2016), pp. 329-339, 2016.

[6]Amaia Salvador, Michal Drozdzal, Xavier Giro i Nieto, and Adriana Romero. Inverse Cooking: Recipe Generation from Food Images. In Proceedings of the 2019 IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2019), 2019.

[7]Semih Yagcioglu, Aykut Erdem, Erkut Erdem, and Nazli Ikizler-Cinbis. RecipeQA: A Challenge Dataset for Multimodal Comprehension of Cooking Recipes. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing (EMNLP 2018), pp. 1358-1368, 2018.

[8]Jun Harashima, Makoto Hiramatsu, and Satoshi Sanjo. Calorie Estimation in a Real-World Recipe Service. In Proceedings of the 32nd Annual Conference on Innovative Applications of Artificial Intelligence (IAAI-20), pp. 13306-13313, 2020.

[9]Daisuke Kawahara, Sadao Kurohashi, and Kôiti Hashida. Construction of a Japanese Relevance-tagged Corpus. In Proceedings of the 3rd International Conference on Language Resources and Evaluation (LREC 2002), pp. 20082013, 2002.

[10]Ryu Iida, Mamoru Komachi, Kentaro Inui, and Yuji Matsumoto. Annotating a Japanese text corpus with predicateargument and coreference relations. In Proceedings of the Linguistic Annotation Workshop (LAW 2007), pp. 132-139, 2007.

[11]Jun Harashima and Makoto Hiramatsu. Cookpad Parsed Corpus: Linguistic Annotations of Japanese Recipes. In Proceedings of the 14th Linguistic Annotation Workshop (LAW 2020), pp. 87-92, 2020.

[12]Shinsuke Mori, Hirokuni Maeta, Yoko Yamakata, and Tetsuro Sasada. Flow Graph Corpus from Recipe Texts. In
Proceedings of the 9th International Conference on Language Resources and Evaluation (LREC 2014), pp. 23702377, 2014.

[13]Yoko Yamakata, Shinsuke Mori, and John Carroll. English recipe flow graph corpus. In Proceedings of The 12th Language Resources and Evaluation Conference (LREC 2020), pp. 5187-5194, 2020.

[14]Tetsuro Sasada, Shinsuke Mori, Tatsuya Kawahara, and Yoko Yamakata. Named Entity Recognizer Trainable from Partially Annotated Data. In Proceedings of the 14th International Conference of the Pacific Association for Computational Linguistics (PACLING 2015), pp. 148-160, 2015.

[15]Taichi Nishimura, Suzushi Tomori, Hayato Hashimoto, Atsushi Hashimoto, Yoko Yamakata, Jun Harashima, Yoshitaka Ushiku, and Shinsuke Mori. Visual grounding annotation of recipe flow graph. In Proceedings of the 12th Language Resources and Evaluation Conference (LREC 2020), pp. 42754284, 2020.

[16]Jun Harashima, Yuichiro Someya, and Yohei Kikuta. Cookpad Image Dataset: An Image Collection as Infrastructure for Food Research. In Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR 2017), pp. 1229-1232, 2017.

[17]Taku Kudo, Kaoru Yamamoto, and Yuji Matsumoto. Applying conditional random fields to japanese morphological analysis. In Proceedings of the 2004 Conference on Empirical Methods in Natural Language Processing (EMNLP 2004), pp. 230-237, 2004.

[18]Taku Kudo and Yuji Matsumoto. Japanese dependency analysis using cascaded chunking. In Proceedings of the 6th Conference on Natural Language Learning 2002 (CoNLL2002), 2002.

[19]PWNER. http://www. lsta.media.kyoto-u.ac.jp/ resource/tool/PWNER/. Accessed: 2021-01-09.

[20]Guillaume Lample, Miguel Ballesteros, Sandeep Subramanian, Kazuya Kawakami, and Chris Dyer. Neural Architectures for Named Entity Recognition. In Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL-HLT 2016), pp. 260-270, 2016.

[21]pyner. https::/github.com/himkt/pyner. Accessed: 2021-01-09.
 平松淳 原島 純 クックパッド株式会社 \{himkt, jun-harashima\}@cookpad.com  