1.はじめに
近年，料理レシビの検索において，クックパッド(#1)や楽天レシピ(#2)をはじめとする様々なレシピ投稿サイトが利用されている．それに伴い，投稿サイトには数多くの料理レシピが存在している．投稿されるレシビは同一の料理に対するものも多く，それらのレシビは基本に忠実なものからアレンジを多分に含むものまでさまざまである．また，投稿者によって材料の表記や手順の順序関係が異なっている場合もある.我々はそれらのレシビから料理のアレンジを抽出することを目指す.ここで,料理のアレンジは,その料理の基本的なレシビを１つ決定すれば，そのレシビと他のレシビとの差異を求めることで自動的に抽出できると考えられる．これを実現するには基本レシピを自動的に抽出できるシステムが必要である．そのため，本研究では基本レシピ検楽システムを構築する.本稿で扱う基本レシビとはどのようなレシビかを述べる。ある料理の作り方は，共通した一定の手順に沿っていると考えられる.例えばオムライスにおいて，チキンライスを作る材料が違う場合，レシピ手順に書かれる材料の切り方等に違いが生じる。また，卵を混ぜる工程で焼き上がりの卵をふんわりさせる工夫としてマヨネーズを加える場合，レシビの材料，手順工程が増えるといった差異が生じる．しかし，そのような差異が生じた場合でも，チキンライスを作る，卵を溶いて焼く，チキンライスを卵でくるむというような手順に変わりはない．このように，ある料理に関するレシビ集合には，共通した一定の手順が存在する．本稿ではこの一定の手順のみで構成されたレシピを基本レシビとする.基本レシピを検索するシステムを構築できればアレンジを求める際に役立つだけでなく，料理レシビ選びに悩むユーザの負担削減に貢献することもできると考えられる.本稿で構築するシステムでは，テキスト要約アルゴリズムのひとつであるLexRankを用いて基本レシビの検索を行う．本来LexRankは文章をグラフ表現の形で用いるため，レシビをそのまま使用することはできない．そこで，レシビ手順を１つの文とみなし，Doc2Vecを用いて300次元のベクトルに変換し，レシビ間類似皮の計算を行いレシビ数×レシビ数の類似皮行列を作成することで対処する．また，レシビ投稿サイトの性質上投稿者によってレシピに記述されている材料や手順に表記ゆれが存在する．この点については，Doc2Vecによる分散表現がある程度吸収してくれることを期待している.本務の構成を述べる．２章で関連研究の紹介を行う．３章でシステムの概要を説明，4章で実験についての説明を行った後， 5章で結果，考察を述べる．最後に6章で本稿をまとめる．
2.  関連研究
2.1レシピの基本手順生成に関する研究
難波ら[1]は，テキスト要約の技術を用いることで，レシピ投稱サイトのある料理に関する複数のレシビを要約し，典型的な材料と手順を出力する手法を提案している．また，その過程で複数レシビ要約の生成に必要な料理オントロジーの構築を行っている．さらに，要約を行う際に考慮すべき点として，材料や手順の表記揺れ，手順の省略，多対多の同定の問題といった点を挙げている．それぞれに関して，概念辞書および同義語辞書の構築，述語項構造解析，格フレーム表現を用いて対処する手法を提案している．難波らはレシビ以外にも，先行研究[2]で特許からのオントロジー自動構築など，テキスト要約を用いる研究を行っている.重田ら[3]は，難波らの研究結果を利用しさらなる検証を行っている．その結果,「調味料をすべて入れる」という文のように材料をまとめて書いているものと，コショウ，塩などと書いているものを同義語と判断できないことや，本来は「酒，みりん，醤油を加える」といったような手順が，材料リストの機に「☆」や「＊」といった記号や印をつけて，その材料を加えると表記した手順である省略の一種に対応できないという問題を示している.本研究では，難波ら，重田らと同じくLexRankを用いることで基本レシピを出力することを目指している．そのため上記のような問題が生じることが考えられるため対処を行う必要がある.瀧本ら[4]は，レシビ間の手順から2つの操作に対して，出現位置を考慮したペアアライメントを行うことで操作を対応付け，施設配置問題の考えに基づいて基本操作の選択を行い，アライメントの結果を利用して操作の順序付けを行う，という手順で基本手順の抽出を行っている.本研究とは，２つのレシビを比較するという点において類似しているが，テキスト要約アルゴリズムを用いるという点で異なる.
2.2レシピ間類似度に関する研究
福本ら[5]は，食材の典型度と食品群を考慮したレシビ間類似度の算出手法を提案している．食品群の分類とグラム変換表を事前に準備し，食材の典型度を料理における食材単体での出現割合と，その食材が属する食品群についての出現割合を求めて合算することで算出している．レシビの各食材を要素とするベクトルと各食材の属する食品群を食材の典型度で重み付けたものを要素とするベクトルに変換し，2種類のベクトル間のコサイン類似皮を合算することでレシビ問類似皮としている.本研究では，単純にDoc2Vecを用いることで類似度の算出を行っているが，今後研究を進めていくにあたり，より詳しい値を求める必要があるため福本らの研究は類似度算出に有用であると考えられる.
2.3レシピ情報処理に関する研究
レシピ検索やクラスタリング等に関する研究は盛んにおこなわれている.花井ら[6]は，食材と調味料，食材の希少度をもとに類似レシビのクラスタリングをする研究を行っている．レシビごとに主食材と主調味料の抽出を行うことで類似レシピを抽出する. 1段階目のクラスタリングで，料理名，調味料名ごとにレシピを分類し，2段階目のクラスタリングにて，食材名，調味料名，主食材，主調味料，材料の希少度，単語の出現場所の重みを考虚し再びクラスタリングを行いレシビのクラスタの作成を行っている．花井らは他にも，料理名，調理法，食材名，調味料を用いたクラスタリング手法[7]なども提案している.雀ら[8]は，特定の料理の共通の食材の組合せを見つけ定番レシピを定義し，そのレシピとの差分を考慮した料理レシピ検茶手法を提案している．料理レシビの分類，食材名の表記ゆれの統一を料理オントロジーを用いて行い，アソシエーション分析を利用して，各メニューの食材の相関ルールを検出している．相関ルールをもとに抽出された食材のみを含むレシピを定番レシビとしている.久保ら[9]は，複数のレシピ投稿サイトのある特定の料理のレシピと，そのレシピとほとんど変わらない重複したレシピの発見を行う研究を行っている．重複レシビを調理内容の一部が変更されているもの，料理の目的が異なるにも関わらず目的に応じた調理内容に変化していないものとし，文字n-gramとJaccard係数を用いて類似度を計算後，高い順にランキングして上位200件のペアが重複レシピかどうかを人手で判定することで検証を行っていた．また，同時に調理内容の一部の代替を考慮する手法も同時に行い検証している.
2.4 LexRank
LexRankとは，Erkanら[10]が提案したPageRankを応用したテキスト要約手法である. PageRankとはWebベージ間のハイバーリンク関係を利用し，ベージ毎の典型度を測るアルゴリズムである．Webのハイバーリンク構造は，Webページをノード，ハイバーリンクをエッジとした有向グラフとして表現される．この有向グラフに基づきPageRankを計算し，そのスコアによって各Webベージの順位付けを行う．ここで，PageRankの概念では，「他の多くのWebページからリンクを張られているWebページは重要であり，そのような重要なWebページからリンクを張られているWebページも重要である」と考えられている．そのため，あるWebベージのPageRankは，そのWebベージを指す他の全てのページがもつPageRankの総和と考えられ，PageRank値を未知数とする連立一次方程式と捉えられる．各Webページへの嗜好性を一様に捉えるとき，初期値として全てのWebページに対してPageRankを与え，上記の考えのもと反復的に計算していくことで，最終的に収束し，全てのWebページのPageRankを計算できる.このようなPageRankに対し，LexRankは対象テキスト内の文をノードとし，文問の類似度を重みとしたエッジでつなぎ，グラフ表現で表す.このグラフ表現における固有ベクトル中心性の概念に基づいて文の典型度を計算する. LexRankは，コサイン類似皮に基づく連結性行列を隣接行列で表す．この行列の各値を定めた閾値と比較し1または0に置き換え，行列にべき乗法を行うことで典型度を計算するアルゴリズムとなっている.
3.基本レシピ検索システム
本研究では，テキスト要約技術を用いてある料理のレシビ集合からその料理の基本レシピを検索するシステムを構築する.システムでは，料理名を入力とし，その料理のレシビ群から1つのレシビを基本レシビとして出力する．ここで，料理の基本的なレシピは，テキスト要約アルゴリズムLexRankを用いることで決定できると考えた. LexRankを用いるために，本研究では，レシビ手順をベクトルで表現するためDoc2Vecを用いる．具体的にはあるレシピに書かれているすべてのレシピ手順をまとめることで1つの文とみなし，Doc2Vecを用いて300次元のベクトルに変換する．次にレシビ間類似度の計算を行い類似皮行列を作成することで，レシビ集合をグラフ表現で表す。その後，閾値との比較で行列の各値を１または０に置き換え，行列にべき乗法を用いることでLexRankとし基本レシビの検索を行う．この閾伯は本論文では0.5としている．また，レシビ投稿サイトの性質上レシピの投稿者によって材料や手順の表記ゆれが存在する．Doc2Vecによる分散表現において類似する語はある程度吸収されることが期待できる．しかし，あらかじめ修正できるものを直しておくことで分散表現の精度が上がると考えられる．そのため，事前に各レシピをMeCabにより分かち書きにし，各単語を原型に入れ替えている．原型に入れ替える処理とは，例えば「豚肉を焼いた時に」というような文章を,「豚肉を焼くた時に」という形にすることや,「筋を切っておく」といった文章を,「筋を切るておく」という形にする処理である．この処理を行うことにより，手順が過去形で書かれていた場合なども，Doc2Vec内で同じトークンとして扱える.さらに，投稿されたレシピは，投稿者によって手順の長さ，つまり文書長に差異がある．LexRankは他の文との類似度が高いものほど典型度が高くなり，文は短ければ短いほど他の文との類似度が高くなる傾向にあるため，文の短さに比例して典型度が高くなりやすい．投稿されるレシビには参考として利用できないほど短い文で記述されているものもあり，そういったレシピが基本レシピとされてしまうのは好ましくない．そこで，レシビの手順の長さを文書長として，重みをもたせることで対処する．本論文では，レシビの手順の長さを文字数とし，その対数をとることで重みとしている. score(r) = log(len(r)) ×  LexRank(r) (1)ここで，LexRank(r)は，レシピrのLexRank値を返す関数であり，len(r)は，レシビの文書長を返す関数である．以上をまとめて図１に示す。まず，オフラインの前処理として以下を行う. ( 1 )各レシビの手順部分を結合して「一つの文」とみなし, MeCabを用いて分かち書き，各単語を原型に入れ替えるといった形態素解析. （２）形態素解析を行った各レシピをDoc2Vecを用いて300次元のベクトルに変換.オンラインでの処理は以下の通りである. ( 1 ) ユーザから料理名を取得. ( 2 )料理名でレシビを検索し，レシビ集合を取得. （3）取得したレシピ問類似度の計算を行いレシピ数×レシビ数の類似度行列を作成. ( 4 )  行列に対してLexRankを適用しscoreを算出する．その後，scoreの降順でレシピをランキングし，最上位を基本レシビとして抽出. （５）ユーザに基本レシビを提示.

験
4.来
4.1前処理本研究では，クックバッド株式会社と国立情報学研究所が提供する「クックバッドデータ」の2014年9月30日以前に公開されたデータを使用している．本実験においては，このデータから事前に100万件のレシピを取り出した．また，取り出したレシピでPythonのgensimを用いDoc2Vecのモデルを作成した．本実験では，バラメータはデフォルトの値を使用しており，モデルはDistributed Memory,ベクトルの次元数は300,コンテキストの文脈幅は８とした.
4.2 実験データ
8種類の料理を実験データとして選出した．この8種類の料理は和食から「親子丼」,「豚肉の生姜焼き」,洋食から「カルボナーラ」,「スパニッシュオムレツ」,中華から「酢豚」,「麻婆豆腐」の2種類ずつと，その他の料理「カレービラフ」,「カレーライス」の2種類を加えたものとした.これらの料理について，4.1章の100万件のレシピを料理名で検索し，表１の件数のデータを得た．これらの各料理のレシビから，ランダムに15件ずつのレシビを抽出し，実験に用いるデータとした．取り出した「親子丼」のレシビの一例を表2に示す.
4.3実験方法
本実験では被験者を用いて正解データの作成を行った．被験者はクラウドソーシングサービスであるCrowdWorksを用いて柴めた．まず，各料理について，実験データのレシピが掲載されているクックバッドのURLを2つ1組として105組の組み合わせを作成した．組み合わせの中には，１つのレシピにつき14組の組み合わせが存在する．次に，各組につき3名の被験者がどちらがより多くのアレンジを含んでいるかを回答した.
の結果から，基本レシピの検索においてLexRankを用いることが有効であることを示せたといえる．また，同様に提案手法とLexRankのみでの結果から，典型度の算出時に手順の文書長を考慮することが有効であることも示せたといえる.提案手法により得られた各レシピの1位の結果を表5に示す.また，同様にLexRankのみで基本レシビを求める手法での結果を表6に，平均ベクトルで基本レシピを求める手法での結果を表7に示す.表3,表5から,人手で出力した基本レシピと提案手法で最上位となった基本レシビが一致したのは「豚肉の生娄焼き」,「スバニッシュオムレツ」,「カレービラフ」,「カレーライス」だと分かる．逆に一致しなかったのは「親子丼」,「カルポナーラ」「酢豚」,「麻婆豆腐」だと分かる.正解データの基本レシビと提案手法で出力した基本レシビが一致しなかった料理について考える．まず，「親子丼」についてだが，提案手法でどんなレシビが出力されたのかを表８に示す.親子丼の正解データで使われるのは「鶏もも肉」だが，表8から分かる通り，このレシビでは「鶏むね肉」が使用されている.だが,「鶏もも肉」の調理方法が「切る」,「焼く」であるのに符票数の多いレシピはアレンジを多分に含んだレシピであり,少ないレシビは基本的なレシビであるとした．そのため，回答を集計しレシピごとに将票数の少ない順でランキングし，上位3位までを基本レシピの正解データとして決定した.実験データを提案手法及び比較手法で評価し，各料理において出力されたレシピが，正解データのレシピと一致するかを確認することで評価を行った．提案手法はLexRankと文書長の重みを利用したものであり，比較手法としてLexRankだけを用いたもの，対象料理の全レシピの平均ベクトルを計算し，そのベクトルとの類似度が最も高いレシピを出力するものを用意した．評価指標として平均適合率を用いることで提案手法と他手法を比較した.
5.結果と考察
被験者の解答をもとに作成した正解データを表3に示す．なお，同率の場合も３位までのものを含んだため，正解データが4件以上の料理も存在する. 3つの手法の正解データとの一致度を平均適合率で計算した結果を表4に示す．表の値は小数第3位で四捨五入を行っている.それぞれの手法の平均適合率を見ると,提案手法の値が0.45と最も高いことが確認できる．提案手法と平均ベクトルで対し,「鶏むね肉」の調理方法も「切る」,「焼く」といったように，材料の調理方法が，正解データの材料の調理方法とほとんど変わらないことも分かる．また，他のレシピとこのレシピを見比べた結果，例えば「玉ねぎは薄くくし型に」といったように，一般的に親子丼を作るときに用いられる切り方での説明を
していた．他の点についてもこのレシピが詳細に調理手順を説明していると分かった．調理手順が詳細に説明されていると他のレシピとの一致する箇所が増加するため他レシピとの類似度も高くなる．これらの理由から，このレシビが基本レシビとして出力されたと考えられる. 「カルポナーラ」と「酢豚」,「麻婆豆腐」についても，例えば「酢豚」は正解データのレシピでは使われていない梅が使われているが，材料としては，調理済みの梅を使っているため，レシビ内では梅の調理法についてはほとんど説明がなく，他のレシピとの類似度が下がらなかったため，基本レシピとして出力されたと考えられる．このような問題に対して，例えばその料理の全レシピでの各材料の使用頻度を算出することで材料ごとに重みづけるといった対処を行う必要があると考えられる.また，今回の実験は「☆」などの記号による材料の省略をそのままに類似度の計算などを行っている．しかし，本論文の定義ではそのような省略がなされたレシビであっても基本レシビとして考えることができる．さらに，そのような省略を本来の材料に置き換えることで類似度の計算結果も変わると考えられる．よって，材料リストを参照し省略部分を本来の材料に置き換えるなどの処理を行う必要があると考えられる.
6.まとめ
本研究では，テキスト要約アルゴリズムLexRankを用いて料理のレシビ群からその料理の基本レシビを検索するシステムを構築した．料理の基本的なレシピは，その料理の複数のレシビの手順を各レシビ手順を一つの文として捉え，比較して得られた類似皮を利用し，典型皮の計算を行うことで求めることができると考え，LexRankと文書長を用いることで基本レシピを求めるシステムを構築した.クラウドソーシングを用いて，被験者により正解データを作成し，システムでの評価と比較することで提案手法の有効性を調べた．提案手法と他2つの比較手法について平均適合率を指標として評価した結果，提案手法が最も高い値を示し，有効であることを示せた.今後の課題として，料理の全レシピでの各材料の使用頻度を算出することで材料ごとに重みづけを行う必要や，材料リストを参照し省略部分を本来の材料に置き換えるなどの処理を行うことで全レシピに対してシステムを適用できる状態にする必要がある。
謝
辞
本研究では，クックバッド株式会社と国立情報学研究所が提供する「クックバッドデータ」を利用した。また，本研究の一部は，平成30年度科研費基盤研究(C)(課題番号：18K11551)によるものである．ここに記して誰んで感謝の意を表する．文敵[1] 難波英嗣,土居洋子,辻田美穂,竹澤寿幸,角谷和俊, "複数料理レシピの自動要約”，電子情報通信学会，言語理解とコミュニケーション研究会, Vol.113, No.338, NLC2013-41, pp.39-44, 2013. [2] 難波英嗣,竹澤寿幸, “複数手順テキストからの手順オントロジーの自動構築”，電子情報通信学会データ工学研究会，2015. [3]  車田識博,難波英嗣,竹澤寿幸, "複数料理レシビからの典型手順の自動生成”，第9回データ工学と情報マネジメントに関するフォーラム, C2-1, 2017. [4]  瀧本洋喜,笹野遼平,高村大也,奥村学, “施設配置問題に基づく同一料理のレシピ集合からの基本手順の抽出”，言語処理学会第21回年次大会, pp.1092-1095, 2015. [5]  福本亜紀,井上悦子,中川優, “食材の典型度と食品群を考慮したレシビ問類似度の算出手法”，第４回データ工学と情報マネジメントに関するフォーラム, D9-2, 2012. [6]花井俊介，難波英嗣，叢本明代，“主食材と主調味料を考慮した類似レシピクラスタリング”，第８回データ工学と情報マネジメントに関するフォーラム, E2-7, 2016. [7] 花井俊介,灘本明代,難波英嗣, “スバムレシピ抽出のための酷似レシピクラスタリング手法”，情報処理学会研究報告, 2014-DBS-160(26), pp.1-7, 2014. [8] 雀赫仁,塩井陸円,楠和馬,波多野賢治,  “メニューごとの共通食材に脊目した料理レシビ検楽手法の授案”，第9回データ工学と情報マネジメントに関するフォーラム, C1-1, 2017. [9]久保遠, 関洋平, “投稿型レシピサイトを横断した重複レシピの判別”，第８回データ工学と情報マネジメントに関するフォーラム, C8-3, 2016. [10] G. Erkan, and D. R. Radev., "LexRank: Graph-based Lex- ical Centrality as Salience in Text Summarization" ,  Jour- nal of Artificial Intelligence Research,   pp.457-479,  2004.