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

料理レシピとクラウドソーシングに基づく基本料理知識ベースの構築
清丸 寛一 11京都大学

黒橋 禎夫 1
2

遠藤 充 3

産業技術総合研究所

3

山上 勝義 2, 3
パナソニック株式会社{kiyomaru, kuro}@nlp.ist.i.kyoto-u.ac.jp,yamagami.katsuyoshi@aist.go.jp, endo.mitsuru@jp.panasonic.com

1

はじめに携帯端末の急速な普及，音声認識の精度向上などを背景に，対話によって人間の情報探索を支援するアプリケーションが生まれつつある．対話を実現する基盤として，人間が持つ常識的知識を整備する試みが長年行われてきたが，常識的知識は非常に広大であり，それら全てを網羅する知識ベースは未だ構築されていない．
本研究では，知識のドメインを料理関連に限定することで質量ともに十分な知識ベースを構築する．大規
模な知識ベースを構築する方法として，大規模テキス

図 1: 料理を中心にして整理した知識．数字は確信度，太トから自動的に知識を抽出する手法 [1] や，連想ゲー

字は代表知識，カッコ内は意味に基づくラベルを表す．

ムの枠組みでプレイヤの発話から暗黙的に知識を獲得する手法 [2] が提案されているが，いずれにしても，はじめに一定量の基本的な知識を整備することが不可欠である．
本研究の要点は次の通りである．

• 大規模な料理関連知識を構築する土台として，基本的な料理に関する知識を整備した．
• ドメインテキストの統計処理に基づく解析，クラウドソーシングによる知識収集，そして一部の知識を専門家が手作業で選別することにより，高品質な基本知識を低コストで構築した．
• 知識に確信度を付与し，アプリケーションに応じて知識を柔軟に活用できるよう配慮した．
今回構築した知識（図 1）は約 400 種の基本的な料理に関するものであるが，実験の結果，それでも当該ドメインの対話システムの振る舞いを大きく改善できる可能性があることが分かった．

2

関連研究

Li ら [3] と Liu ら [4] は知識ベースを活用したタス
ク指向対話システムの構築方法を提案している．しかしながら，タスクは異なるものの，いずれの手法も実際の人間を相手にした対話では約 20%の発話に対して適切な応答ができていない．この原因の一つは，人間が相手も当然知っていると期待する知識，すなわち常識をコンピュータが持ち合わせていないことにあると考えられる．したがって，実用に足る対話システムを構築するためには，当該ドメインを中心とした幅広い知識の整備が必要である．
ConceptNet [5] は常識的知識を整理した世界最大級の知識ベースである．ConceptNet は料理関連の知識も含むが，料理知識を表現する上で二つの問題点がある．
一つ目は関係の種類が料理知識を表す上で不適切なことである．例えば，RelatedTo，MadeOf，AtLocation
はいずれも料理と材料の関係を表す用途で用いられることがある．料理知識を自然に表現するためには，適切な関係を新たに定義しなければならない．二つ目は，料理知識としてのカバレッジが不十分なことである．

― 662 ―

Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

および調理法クラスの語彙と同義語である．
表 1: 基本料理知識が扱う語彙クラス．
語彙クラス
料理
材料
調理法
属性

二つ目は，料理レシピサービス「クックパッド」に例
いなり寿司 / 唐揚げ
人参 / あさり
炒める / 揚げる
朝食 / 子どもが大好き

投稿された 172 万品の料理レシピデータである．レシ
ピデータには，タイトル，材料，調理手順，ユーザからのコメントなどの情報が含まれる．一つひとつの料
理レシピにはしばしばレシピ固有の工夫が含まれるが，類似料理を扱うレシピを併合し，材料や調理法の統計

表 2: 基本料理知識が扱う関係．
関係
上位・下位
同義語
料理-材料
料理-調理法料理-属性
料理-代表材料
料理-代表調理法
料理-代表属性例(ぜんざい, 上位・下位, 料理)(ぜんざい，同義語，善哉)(ぜんざい，材料，餅)(ぜんざい，調理法，煮る)(ぜんざい，属性，ホッとする)(ぜんざい，代表材料，小豆)(ぜんざい，代表調理法，煮る)(ぜんざい，代表属性，インスタント)

情報（出現頻度など）を得ることで，料理を特徴づける知識を抽出できる．
三つ目は，クラウドソーシングで収集した料理の印象データである．このデータは，統計処理に基づいて得た基本的な料理を対象に，一つの料理につき 10 人の作業者が 3 つ以上の印象を付与したものである．料
理レシピデータには，材料や調理法など料理の成り立ちに関する記述は多い一方で，味や発祥国など食の周

例えば，「ハンバーガー」には，調理法や発祥国に関す辺知識についての記述は少ない．こうした知識は，クる知識はなく，また，材料に関する知識としてカバー

ラウドソーシングにより安価かつ短時間で収集できる．

しているのはパテやバンズといった主要な食材のみであり，質量ともに十分でない．
食関連知識ベースを構築した先行研究に，料理オントロジー構築プロジェクト [6] がある．この研究では，

3.2

知識の構築

3.2.1

語彙の構築

材料，調理器具，調理法の上位・下位関係，同義語，属性，および部分・全体の知識を整理している．知識は，料理レシピと特許データベースを情報源として，主にテンプレートに基づくパターン抽出と統計処理によって収集されている．とりわけ，同義語の知識は手作業で選定されているため品質が良い．しかしながら，人手の介入がない属性および部分・全体の知識には誤った知識や解釈の難しい知識も含まれる．また，料理クラスの語彙や料理と材料の関係に関する知識は含まれず，料理レシピ提案システムをはじめとするいくつかの応用にはこの知識ベース単体では不十分である．

料理クラスの語彙を構築するために，料理レシピのタイトルを解析し，末尾を含む頻出部分文字列を抽出する．料理レシピのタイトルにはしばしば「誰でも簡単」といった修飾が含まれ，多くの場合，料理名は修飾の後ろに記述される．したがって，末尾を含む頻出部分文字列を取り出すことで，修飾を含まない料理名が得られる．このとき，形態素解析器 Juman++を用いて，各語の代表表記が互いに一致する文字列は同じ概念を表すものとして併合し，助詞から始まる文字列など不適当な候補は除く．抽出した部分文字列は専門家が人手で選別し，レシピタイトル中で高頻度であり，料理名として信頼できる部分文字列を基本的な料理クラスの語彙として得る．

基本料理知識の構築

3

調理法クラスの語彙は，料理の語彙と同時に構築す本研究では，基本的な料理に関する知識として表 1

る．
「揚げ」や「炒め」など，料理を特徴付ける調理法はタイトルの頻出部分文字列として得られると考えらの語彙クラスと表 2 の関係を整理する．
さらに，知識には正しさの度合いを表す確信度を付与し，アプリケーションに応じた知識の柔軟な活用をれるからである．調理法クラスの語彙もまた，専門家の選別に基づいて得る．
材料クラスの語彙は，料理オントロジー構築プロ可能にする．確信度は，知識の収集方法および統計情ジェクトの材料クラスおよび調味料クラスの語彙を利報に基づき設定する．

用する．属性クラスの語彙は，クラウドソーシングで3.1

収集した料理の印象データを専門家が人手で整備して知識の情報源構築する．専門家はまずそれぞれの解答を「料理に関基本料理知識は三つの情報源から構築する．一つ目する辞書的な知識や慣習」，「食べる人に関する知識」，は，料理オントロジー構築プロジェクトの材料クラス「作る人に関する知識」の三クラスに分類する．その― 663 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

表 3: 料理知識の構築結果．
語彙・関係
知識の総数
料理クラスの語彙388
材料クラスの語彙295
調理法クラスの語彙29
属性クラスの語彙
4,396
上位・下位
5,955
同義語
3,932
料理-材料
7,174
料理-調理法
1,525
料理-属性
6,135
料理-代表材料
388
料理-代表調理法
388
料理-代表属性388
合計
25,885
それらの中に材料クラスの語彙および調理法クラスの語彙がそれぞれ何度現れるか数え，共起頻度を伴う知識を得る．料理-属性の知識は，料理の印象データを用いて問題（料理）と解答のペアから構築する．

3.2.3

知識の確信度と代表知識それぞれの知識には確信度を付与する．確信度は知識の一般性を表す指標であり，0.0 以上，1.0 以下の実数で表す．人手で選別された上位・下位および同義語の知識には確信度として 1.0 を付与する．料理-材料，料理-調理法，料理-属性の知識は，共起頻度に基づいて確信度を計算する．はじめに，ある関係において最大の共起回数を持つ概念を料理ごとに求める．例えば，
図 2: 属性の分類で使用するラベル．カッコ内はラベルに料理-材料において，「ぶり大根」と最も共起回数が多該当する属性の例を示す．

い概念は「大根」である．そして，その料理のその関係の概念それぞれについて共起回数を最大共起回数で後，図 2 の細分化された 28 項目のラベルを付与する．

割り，知識の確信度とする．

ラベルの意味の階層性に基づいて作業を分割することで，同時に検討する必要のあるラベルの数が減り，作業時間の短縮と品質の向上が望める．

付与した確信度をもとに代表知識を構築する．代表
知識とは，相対的に料理を最もよく特徴づける知識である．例えば，「ぜんざい」の料理-材料関係で最も確信度の高い概念は「水」であるが，「水」を材料に含む3.2.2

料理は数多く存在するため「ぜんざい」を特徴づけて関係の構築いるとは言えない．そこで，概念の普遍性を考慮し，次に，関係の構築について説明する．上位・下位関係の知識は，語彙に基づいて構築する．同義語の知識は，料理オントロジー構築プロジェクトの同義語知識，関係ごとにそれぞれの概念が知識ベース中で何度現れるか求め，その頻度で確信度を割ったスコアが最も高いものを代表知識として得る．

代表表記を用いて併合できる文字列，「A の B」など簡

表 3 に構築した知識の総数を示す．

易なテンプレートで併合できる文字列から構築する．
料理-材料および料理-調理法の知識は，それぞれ料
理レシピデータの材料および調理手順における語彙の4

実験共起から構築する．すなわち，料理クラスの語彙を用いてある料理のレシピ集合を用意し，それらのレシピ構築した知識の有効性を検証するために，当該ドメに紐づく材料および調理手順のリストを取り出した後，インの対話システムが応答できなかったユーザ発話の― 664 ―Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.

表 4: 知識の部分一致があった発話と部分一致がなかった発話の例．太字は部分一致した知識．
知識の部分一致があった発話
エスニックなレシピを教えてください
高血圧なので、減塩離乳食のレシピを教えて日持ちするのがいい
キャンプで作る料理

知識の部分一致がなかった発話
ロティサリーチキンを使いたい
アフリカ料理アクアバッツア
作ったことがない料理がいいです。
お勧め料理ありますかね

うち，構築した知識の部分一致がある発話の件数を調知識を低コストで構築した．本研究で構築した知識はべる．

基本的な料理のみに関するものであったが，実験の結データセットは，パナソニックが開発した料理レシ

果，既存の料理レシピ提案対話システムに導入するこピ提案対話システムである「Cookchat[7]」に対するとにより，対話システムの振る舞いを大幅に改善でき

ユーザ発話 6,000 件である．6,000 件の発話からシスる可能性があることが分かった．

テムが応答に失敗した発話を取り出し，挨拶など料理今後，栄養や有名店舗をはじめとする，より幅広いと無関係な発話と変換誤りを含む発話を除いた後，重食知識をカバーするよう知識を拡張する予定である．

複表現を一つにまとめ，766 件の発話データを得た．

また，実際に知識を対話システムに導入し，有効性の抽出した 766 件のユーザ発話を対象に，構築した知更なる検証を行う．

識の語彙が含まれる発話の件数を調べた結果，604 件の発話，すなわち全体の 78.85%の発話に構築した知識の部分一致があることが分かった．これは，本研究謝辞で構築した知識を導入することにより，対話システム

本研究では，クックパッド株式会社と国立情報学研の振る舞いを大きく改善できる可能性があることを示究所が提供する「クックパッドデータ」を利用した．

唆している．

また，ヤフー株式会社の颯々野学氏，楽天株式会社の表 4 に知識の部分一致があった発話および部分一致

新里圭司氏ならびに平手勇宇氏，株式会社デジタルがなかった発話の例を示す．知識の部分一致があった

ガレージの宮島壮洋氏，新堂安孝氏，ならびに Mike

発話の多くは「エスニック」や「高血圧」などの属性

Tian-Jian Jiang 氏，クックパッド株式会社の原島純知識を含んでいた．

氏，そしてパナソニック株式会社の堀井則彰氏には，知識の部分一致がなかった発話は次の二種類に大別される．一つ目は，「アフリカ料理」や「ロティサリー

料理知識の構築に関して貴重な助言を頂いた．ここに謝意を表する．

チキン」など，現状の料理知識が不十分であるがために部分一致を持たなかった発話である．今回の知識構築の主たる目的は高品質な基本料理知識の整備である
ため，料理レシピコーパスに現れにくい料理に関する知識は十分に得られていない．今後，構築した知識を土台とし，基本知識の範疇を超える知識を自動獲得の枠組みで収集する予定である．二つ目は，「作ったことがない料理」のようなタスクに関するメタな発話であり，これは対話システムの言語理解が不十分であることに起因するものである．

5

まとめと今後の課題
本稿では，大規模な食関連知識ベースを構築するための土台として，基本料理知識を整備してきた．知識構築では，ドメインテキストの統計処理に基づく解析，クラウドソーシングによる知識収集，そして一部の知識を専門家が手作業で選別することにより，高品質な参考文献[1] Yankai Lin, Shiqi Shen, Zhiyuan Liu, Huanbo Luan, andMaosong Sun. Neural relation extraction with selectiveattention over instances. In Proceedings of the ACL, 2016.
[2] Naoki Otani, Daisuke Kawahara, Sadao Kurohashi,
Nobuhiro Kaji, and Manabu Sassano. Large-scale acquisition of commonsense knowledge via a quiz game on adialogue system. In Proceedings of the OKBQA, 2016.
[3] Xiujun Li, Yun-Nung Chen, Lihong Li, Jianfeng Gao, andAsli Celikyilmaz. End-to-end task-completion neural dialogue systems. In Proceedings of the IJCNLP, 2017.
[4] Bing Liu and Ian Lane. Iterative policy learning in endto-end trainable task-oriented neural dialog models. In
Proceedings of ASRU, 2017.
[5] Robert Speer and Catherine Havasi. Representing generalrelational knowledge in conceptnet 5. In Proceedings ofthe LREC, 2012.
[6] 土居洋子, 辻田美穂, 難波英嗣, 竹澤寿幸, 角谷和俊. 料理レシ
ピと特許データベースからの料理オントロジーの構築. 電子情報通信学会技術研究報告, 2014.
[7] 山上勝義, 遠藤充, 牛尾貴志, 堀井則彰. 対話サービスプラッ
トフォームの開発. 人工知能学会全国大会 (第 31 回) 論文集,Nagoya, 2017.

― 665 ―

Copyright(C) 2018 The Association for Natural Language Processing.
All Rights Reserved.