(57)【要約】【課題】各家族の過去の食事の履歴や近隣店舗の特売情報等を考慮しつつ、好適なメニューおよびレシピを提案する。【解決手段】ユーザに対して食事のレシピを提案する情報処理システム１であって、履歴情報を記録する食事履歴ＤＢ１０２と、食事履歴ＤＢ１０２に記録された履歴情報と所定の関係にある第１のメニューを特定するメニュー特定部１３と、前記第１のメニューの調理方法に係る第１のレシピを特定するレシピ特定部１４と、前記第１のレシピの内容に係る情報を取得して出力するレシピ出力部１５と、を有する。【選択図】図１
2019045902.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに対して食事のレシピを提案する情報処理システムであって、
履歴情報を記録する履歴記録部と、
前記履歴記録部に記録された履歴情報と所定の関係にある第１のメニューを特定するメニュー特定部と、
前記第１のメニューの調理方法に係る第１のレシピを特定するレシピ特定部と、
前記第１のレシピの内容に係る情報を取得して出力するレシピ出力部と、を有する、情報処理システム。
【請求項２】
請求項１に記載の情報処理システムにおいて、
前記履歴記録部に記録された履歴情報は、食事に履歴に係るものであり、
前記所定の関係は、前記履歴記録部に記録された所定の範囲の履歴情報におけるメニューと重複しない関係である、情報処理システム。
【請求項３】
請求項２に記載の情報処理システムにおいて、
既知のレシピを学習し、メニューの類似の程度に応じて各メニューをマッピングした学習モデルを作成する事前学習部をさらに有し、
前記メニュー特定部は、前記学習モデル上において、過去の食事のメニューとの類似度が高くないメニューから前記第１のメニューを特定する、情報処理システム。
【請求項４】
請求項３に記載の情報処理システムにおいて、
前記事前学習部は、前記学習モデルを季節のメニュー毎に作成する、情報処理システム。
【請求項５】
請求項２に記載の情報処理システムにおいて、
ユーザが属する集団においてとられる食事のメニューの遷移のパターンを学習して学習モデルを作成する事前学習部をさらに有し、
前記メニュー特定部は、前記学習モデルに基づいて、過去の食事のメニューをそれぞれ汎化したメニューの遷移のパターンから、次の食事に係る前記第１のメニューを特定する、情報処理システム。
【請求項６】
請求項５に記載の情報処理システムにおいて、
前記事前学習部は、前記学習モデルをユーザが属する地域毎に作成する、情報処理システム。
【請求項７】
請求項２に記載の情報処理システムにおいて、
前記メニュー特定部は、過去の食事のメニューの遷移のパターンを、前記履歴記録部に記録された過去の食事の履歴情報とマッチングして、類似度が高い過去の食事の履歴の遷移のパターンから、次の食事に係る前記第１のメニューを特定する、情報処理システム。
【請求項８】
請求項２に記載の情報処理システムにおいて、
既知のレシピを学習し、レシピの類似の程度に応じて各レシピをマッピングした学習モデルを作成する事前学習部をさらに有し、
前記レシピ特定部は、前記学習モデル上において、前記第１のメニューに係るレシピと類似する所定の数のレシピを有効レシピとして抽出し、前記有効レシピに対して、進化的計算を繰り返しながら世代毎に適合度が最も高いレシピを抽出し、抽出したレシピの中から適合度が所定の条件を満たすレシピを前記第１のレシピとして特定する、情報処理システム。
【請求項９】
請求項８に記載の情報処理システムにおいて、
前記レシピ特定部は、各レシピに係る前記適合度を、材料毎の近隣店舗における特売情報と、各レシピで用いられる材料との合致の程度に基づいて計算する、情報処理システム。
【請求項１０】
請求項８に記載の情報処理システムにおいて、
前記レシピ特定部は、各レシピに係る前記適合度を、ネットワークに接続可能な冷蔵庫から取得した前記冷蔵庫内の材料の在庫に係る情報と、各レシピで用いられる材料との合致の程度に基づいて計算する、情報処理システム。
【請求項１１】
請求項８に記載の情報処理システムにおいて、
前記レシピ特定部は、各レシピに係る前記適合度を、レシピにおける調理方法が電気調理機器において利用可能である場合に高くなるよう計算する、情報処理システム。
【請求項１２】
請求項８に記載の情報処理システムにおいて、
前記レシピ特定部は、前記進化的計算において、対象のレシピで用いられる材料に対して、他の材料を挿入し、または、対象のレシピで用いられる材料を他の材料に置換し、または、対象のレシピで用いられる材料を他の材料と掛け合わせる、情報処理システム。
【請求項１３】
情報処理システムによりユーザに対して食事のレシピを提案する方法であって、
前記情報処理システムが、
履歴情報が記録された履歴記録部から履歴情報を取得するステップと、
前記履歴記録部に記録された履歴情報と所定の関係にある第１のメニューを特定するステップと、
前記第１のメニューの調理方法に係る第１のレシピを特定するステップと、
前記第１のレシピの内容に係る情報を取得して出力するステップと、を実行する、方法。
【請求項１４】
ユーザに対して食事のレシピを提案する情報処理システムとしてコンピュータを機能させるプログラムであって、
履歴情報が記録された履歴記録部から履歴情報を取得する処理と、
前記履歴記録部に記録された履歴情報と所定の関係にある第１のメニューを特定する処理と、
前記第１のメニューの調理方法に係る第１のレシピを特定する処理と、
前記第１のレシピの内容に係る情報を取得して出力する処理と、を前記コンピュータに実行させる、プログラム。
【請求項１５】
ユーザに対して食事のレシピを提案する情報処理システムであって、
既知のレシピを学習し、レシピの類似の程度に応じて各レシピをマッピングした第１の学習モデルを生成する事前学習部と、
前記第１の学習モデルの空間上でユーザにより指定された場所の近くに位置する複数のレシピに基づいて、これらの内容を合成することで第１のレシピを特定するレシピ特定部と、を有する、情報処理システム。
【請求項１６】
請求項１５に記載の情報処理システムにおいて、
前記第１の学習モデルを二次元のマップに圧縮および／または投射して、ユーザが使用する情報処理端末の画面上に表示させる、情報処理システム。
【請求項１７】
請求項１６に記載の情報処理システムにおいて、
前記第１の学習モデルは、多層構造のニューラルネットワークにより構成され、
前記事前学習部は、前記第１の学習モデルを用いて入力と出力に同等のレシピを設定して恒等写像学習を行った結果の隠れ層から、学習した既知のレシピの類似の程度に係る情報を二次元に圧縮された情報として取得し、取得した二次元の情報を座標情報として前記二次元のマップを生成する、情報処理システム。
【請求項１８】
請求項１７に記載の情報処理システムにおいて、
前記レシピ特定部は、前記二次元のマップ上でユーザから指定された場所の座標情報を、前記第１の学習モデルの隠れ層への入力とし、これに対する出力として前記第１のレシピを得る、情報処理システム。
【請求項１９】
請求項１５に記載の情報処理システムにおいて、
前記第１のレシピの合成元の各レシピの文章に基づいて、前記第１のレシピの文章を合成するレシピ出力部をさらに有し、
前記事前学習部は、既知のレシピの各調理手順を分類し、分類毎に調理手順間の類似の程度を学習して第２の学習モデルを生成し、
前記レシピ出力部は、前記第１のレシピ内の各調理手順を同一の分類に属するものに集約して文章を合成するとともに、前記第２の学習モデルに基づいて調理手順毎に文章の妥当性を評価し、妥当ではない場合には所定のルールに基づいて調理手順の文章を修正する、情報処理システム。
【請求項２０】
請求項１５に記載の情報処理システムにおいて、
前記第１のレシピの合成元の各レシピの文章に基づいて、前記第１のレシピの文章を合成するレシピ出力部をさらに有し、
前記事前学習部は、既知のレシピの各調理手順の時系列的な特徴を学習して第３の学習モデルを生成し、
前記レシピ出力部は、前記第３の学習モデルに基づいて、前記第１のレシピ内の各調理手順の流れが時系列的に有効ではないと判断される場合に、調理手順の順序を修正する、情報処理システム。
【請求項２１】
情報処理システムによりユーザに対して食事のレシピを提案する方法であって、
前記情報処理システムが、
既知のレシピを学習し、レシピの類似の程度に応じて各レシピをマッピングした第１の学習モデルを生成するステップと、
前記第１の学習モデルの空間上でユーザにより指定された場所の近くに位置する複数のレシピに基づいて、これらの内容を合成することで第１のレシピを特定するステップと、を実行する、方法。
【請求項２２】
ユーザに対して食事のレシピを提案する情報処理システムとしてコンピュータを機能させるプログラムであって、
既知のレシピを学習し、レシピの類似の程度に応じて各レシピをマッピングした第１の学習モデルを生成する処理と、
前記第１の学習モデルの空間上でユーザにより指定された場所の近くに位置する複数のレシピに基づいて、これらの内容を合成することで第１のレシピを特定する処理と、を前記コンピュータに実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＡＩ（Artificial Intelligence）によりユーザに情報を提案する技術に関し、特に、食事のメニューやレシピを提案する情報処理システム、方法、およびプログラムに適用して有効な技術に関するものである。
【背景技術】
【０００２】
例えば、家庭において日常的に家族の食事を作る人は、日々の食事、特に夕食のメニュー・献立で悩むことが多い。したがって、食事、特に夕食のメニューやそのレシピを決定する上で参考になる情報に対するニーズは高く、従来からの料理番組や書籍等に加えて、近年では「クックパッド（登録商標）」等のＷｅｂ上のレシピサイトにより、膨大に蓄積されたレシピの中から所望のレシピを検索して参照可能とするようなサービスも提供されている。
【０００３】
また、ユーザが自ら検索するのではなく、ユーザに対して各種の条件等に基づいてメニューやレシピを提案する技術も検討されている。例えば、特開２０１０−２５７２７１号公報（特許文献１）には、日々発信される特売情報やレシピ情報を加工して格納し、これらの情報と個人情報、店舗情報を段階的に突き合わせることで、ユーザに対して献立とレシピを提供する旨が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２５７２７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術によれば、ユーザ個人の好き嫌い等の嗜好や、近隣のスーパーマーケット等の店舗の特売情報を考慮して、メニューとレシピを提案することが可能である。しかし、希望する料理のある程度の方向性についてはユーザが指定する必要があり、そもそもこの段階での方向性の決定から悩んでいるユーザにとっては利用価値が高いとはいえない。
【０００６】
また、日常の夕食の中で、例えば、過去数日の夕食のメニューや、各家族のその日の昼食のメニュー等との重複を回避したいというニーズや、数種類のメニューの繰り返しというワンパターン化を避けたいというニーズがある一方、メニューのサイクルやパターンを重視したいというニーズもある。このように、過去の夕食の履歴を考慮したメニューやレシピの提案に対するニーズがあるが、従来技術ではそのような点も考慮されていない。
【０００７】
そこで本発明の目的は、各家族の過去の食事の履歴や近隣店舗の特売情報等を考慮しつつ、好適なメニューおよびレシピを提案する情報処理システム、方法、およびプログラムを提供することにある。
【０００８】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【００１０】
本発明の代表的な実施の形態による情報処理システムは、ユーザに対して食事のレシピを提案する情報処理システムであって、履歴情報を記録する履歴記録部と、前記履歴記録部に記録された履歴情報と所定の関係にある第１のメニューを特定するメニュー特定部と、前記第１のメニューの調理方法に係る第１のレシピを特定するレシピ特定部と、前記第１のレシピの内容に係る情報を取得して出力するレシピ出力部と、を有するものである。
【００１１】
また、本発明は、上記のような情報処理システムにおいて実行される方法や、コンピュータを上記のような情報処理システムとして動作させるプログラムにも適用することができる。
【発明の効果】
【００１２】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
【００１３】
すなわち、本発明の代表的な実施の形態によれば、各家族の過去の食事の履歴や近隣店舗の特売情報等を考慮しつつ、好適なメニューおよびレシピを提案することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態１である情報処理システムの構成例について概要を示した図である。
【図２】（ａ）、（ｂ）は、本発明の実施の形態１におけるユーザ端末等に表示される画面例について概要を示した図である。
【図３】本発明の実施の形態１におけるレシピ提案処理の全体の流れの例について概要を示したフローチャートである。
【図４】（ａ）、（ｂ）は、本発明の実施の形態１におけるメニュー特定処理の処理内容の例について概要を示した図である。
【図５】（ａ）、（ｂ）は、本発明の実施の形態１におけるメニュー特定処理の処理内容の他の例について概要を示した図である。
【図６】本発明の実施の形態１におけるメニュー特定処理の処理内容の他の例について概要を示した図である。
【図７】本発明の実施の形態１における複数パターンのメニュー特定処理を組み合わせて用いる場合の例を示したフローチャートである。
【図８】本発明の実施の形態１におけるレシピ特定処理の処理内容の例について概要を示した図である。
【図９】（ａ）、（ｂ）は、本発明の実施の形態１におけるレシピ類似度ＮＮの概念の例について概要を示した図である。
【図１０】（ａ）〜（ｄ）は、本発明の実施の形態１における進化的計算での「遺伝子組み換え」処理の例について概要を示した図である。
【図１１】本発明の実施の形態２におけるオリジナルレシピの作成処理の流れの例について概要を示したフローチャートである。
【図１２】本発明の実施の形態２におけるレシピ類似度マップの作成および表示の例について概要を示した図である。
【図１３】本発明の実施の形態２におけるレシピ文章に対する形態素解析の例について概要を示した図である。
【図１４】本発明の実施の形態２における過去レシピ類似度ＮＮの構成例とオリジナルレシピの作成方法の例について概要を示した図である。
【図１５】（ａ）、（ｂ）は、本発明の実施の形態２におけるレシピ類似度ＮＮの例について概要を示した図である。
【図１６】本発明の実施の形態２におけるレシピ類似度ＮＮの例について概要を示した図である。
【図１７】（ａ）、（ｂ）は、本発明の実施の形態２における調理手順別類似度ＮＮの例について概要を示した図である。
【図１８】（ａ）、（ｂ）は、リカレントニューラルネットワークの例について概要を示した図である。
【図１９】本発明の実施の形態２における時系列予測の例について概要を示した図である。
【図２０】本発明の実施の形態２におけるレシピ類似度マップの表示とオリジナルレシピの作成の例について概要を示した図である。
【図２１】（ａ）、（ｂ）は、本発明の実施の形態２におけるオリジナルレシピの文章に対するチューニングの例について概要を示した図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。一方で、ある図において符号を付して説明した部位について、他の図の説明の際に再度の図示はしないが同一の符号を付して言及する場合がある。
【００１６】
（実施の形態１）
＜システム構成＞
図１は、本発明の実施の形態１である情報処理システムの構成例について概要を示した図である。本実施の形態の情報処理システム１は、家庭において日常的に家族の食事を作るユーザ（本実施の形態では母親を例とする）に対して、各家族の過去数日の夕食や当日の昼食のメニューを考慮して、これらのメニューとの重複を回避しつつ、近隣店舗のチラシから得られる特売情報を考慮して、好適な夕食のメニュー（料理の種類）およびレシピ（料理方法）を提案するものである。また、提案するレシピがワンパターン化しないよう、過去に採用したことがないような目新しいレシピを提案することも可能なものである。
【００１７】
図１に示した情報処理システム１は、例えば、サーバ機器やクラウドコンピューティングサービス上に構築された仮想サーバ等によりサーバシステムとして構成される。そして、図示しないＣＰＵ（Central Processing Unit）により、ＨＤＤ（Hard Disk Drive）等の記録装置からメモリ上に展開したＯＳ（Operating System）やＤＢＭＳ（DataBase Management System）、Ｗｅｂサーバプログラム等のミドルウェアや、その上で稼働するソフトウェアを実行することで、レシピの提案に係る後述する各種機能を実現する。
【００１８】
情報処理システム１は、例えば、ソフトウェアとして実装されたユーザ管理部１１、履歴管理部１２、メニュー特定部１３、レシピ特定部１４、レシピ出力部１５、ＵＩ処理部１６、調理機器連携部１７、事前学習部１８、および特売情報取得部１９等の各部を有する。また、データベースやファイル等により実装されたユーザデータベース（ＤＢ）１０１、食事履歴ＤＢ１０２、特売情報１０３、および学習モデル１１０等の各データを有する。
【００１９】
ユーザ管理部１１は、例えば、情報処理システム１によるレシピ提案サービスを利用する母親等のユーザに係る情報をユーザＤＢ１０１に記録して管理する機能を有する。ユーザＤＢ１０１は、各ユーザのアカウント情報や各種属性情報、情報処理システム１における各種設定情報等を保持するマスタテーブルである。ユーザにより作られた食事を提供される者（すなわち家族）についてグループユーザとして登録できるようにしてもよい。この場合、これらのグループユーザに対しては、例えば、当日の昼食のメニューの情報を入力する等のみに機能を限定してもよい。
【００２０】
履歴管理部１２は、各ユーザ（の家族）における日々の夕食のレシピの情報を取得して、食事履歴ＤＢ１０２に履歴として記録する機能を有する。家族の日々の昼食のメニューの情報を取得して、これも併せて記録するようにしてもよい。夕食のレシピの情報の取得に際しては、例えば、情報処理システム１が最終的に提案したレシピに対して、これをユーザが採用することを決定した場合に、その旨を後述するユーザインタフェースを介して入力することで取得するようにしてもよい。
【００２１】
また、情報処理システム１が提案したレシピをユーザが採用せず、代替のレシピも採用しなかった場合は、ユーザが実際に提供した夕食（外食も含む）のメニューやレシピの内容を手動で入力するようにしてもよい。このとき、レシピの内容を直接テキスト入力するのに代えて、例えば、図示しないインターネット等のネットワークを介して利用可能なレシピサイト２の該当ページのＵＲＬ（Uniform Resource Locator）等を入力するようにしてもよい。もしくは、実際に提供した夕食の写真や画像のデータを入力するようにしてもよい。これらの場合、履歴管理部１２は、例えば、入力されたＵＲＬや写真、画像の内容を解析してメニューやレシピの内容を把握するようにしてもよい。
【００２２】
メニュー特定部１３は、例えば、ユーザやその家族の過去数日の夕食や当日の昼食のメニューを考慮して、ＡＩによりこれらのメニューとの重複を回避したメニューを提案する機能を有する。同様に、レシピ特定部１４は、メニュー特定部１３により設定されたメニューについて、近隣店舗のチラシから得られる特売情報を考慮して、ＡＩにより好適なレシピを提案する機能を有する。ＡＩによるメニューおよびレシピの提案に係る具体的な処理内容については後述する。
【００２３】
なお、ＡＩ機能を実現するために用いるエンジン等は特に限定されず、商用で利用可能なものも含め、公知の技術を適宜利用することができる。ＡＩによりメニューやレシピを提案するために用いるニューラルネットワーク等の学習モデル１１０は、例えば、事前学習部１８により、レシピサイト２から取得した多数のレシピのデータや、食事履歴ＤＢ１０２に蓄積されたデータ等に基づく機械学習により予め作成されている。
【００２４】
また、レシピを提案する際に考慮する特売情報は、例えば、特売情報取得部１９により、「Ｓｈｕｆｏｏ！」等のインターネット上のチラシサイト３から取得したＰＤＦデータ等から抽出して特売情報１０３として予め記録されている。ユーザが通常買物を行うスーパーマーケット等の店舗のＷｅｂサイト等から抽出したり、ユーザが手動で入力するものであってもよい。
【００２５】
レシピ出力部１５は、レシピ特定部１４により特定されたレシピについて、ユーザが利用可能な形式に整形・可視化して出力する機能を有する。例えば、レシピ特定部１４により特定されたレシピの内容を文章や画像により表すため、レシピサイト２から対応するレシピの情報（例えば、Ｗｅｂページに表示されるテキストデータや画像データ）を取得する。取得したレシピの情報は、ＵＩ（User Interface）処理部１６によって、ユーザが使用する情報処理端末であるユーザ端末４の画面上に表示される。ユーザは、表示されたレシピの内容に従って夕食を作ることができる。
【００２６】
ＵＩ処理部１６を介してユーザ端末４にレシピの情報を表示することでユーザに対して提示するのに代えて、例えば、指定されたレシピに従って自動的に調理を行う電気調理機器５に対する入力データとなるように加工・整形して出力するようにしてもよい。出力されたデータは、調理機器連携部１７により、図示しないインターネット等のネットワークを介して対象の電気調理機器５に対する入力データとして設定される。もしくは、電気調理機器５ではなくユーザ端末４に対して出力され、ユーザ端末４から近距離無線通信機能や記録媒体等を介して電気調理機器５に入力される構成であってもよい。
【００２７】
なお、電気調理機器５は、レシピデータの入力、もしくは内部にプリセットされているレシピに対する指定の入力が可能な外部インタフェースを備えるものであれば特に限定されず、例えば、「Ｔ−ＦＡＬ（登録商標）」社の「Ｃｏｏｋ４ｍｅ（登録商標）」等の機器を適宜用いることができる。
【００２８】
＜画面例＞
図２は、本実施の形態におけるユーザ端末４等に表示される画面例について概要を示した図である。本実施の形態では、ＵＩ処理部１６が、例えば、タブレット端末やスマートフォンにおいて一般的に利用されるチャットアプリケーションやメッセージングアプリケーション、もしくはこれと同様のユーザインタフェースの上で稼働するいわゆるチャットボットを使用することで、ユーザは対話的に情報の入出力を行うことができる。
【００２９】
図２（ａ）は、画面左側に表示された情報処理システム１のアバター（もしくは架空のユーザ）がチャットボットにより昼食のメニューを問い合わせ、これに対して画面右側に表示されたユーザの家族のメンバーが昼食のメニューを回答している状態を示している。回答の内容は、例えば、チャットボットが食事履歴ＤＢ１０２に自動的に記録してもよい。
【００３０】
図２（ｂ）は、画面右側に表示されたユーザが夕食のメニュー／レシピの提案を要求したのに対して、画面左側に表示された情報処理システム１のアバターがチャットボットによりメニュー／レシピを提案している状態を示している。ここでは、近隣のスーパーマーケット等の店舗における特売情報を考慮して特売品をうまく使用したメニュー／レシピを提案していることも示している。図２（ｂ）の例では、１種類のメニュー／レシピを提案しているが、複数種類のメニュー／レシピを候補として提案して、その中からユーザが選択できるようにしてもよい。
【００３１】
提案したメニュー／レシピに対して、図２（ｂ）の例に示すように、ユーザが肯定的な回答をした場合には、ユーザが夕食に当該メニュー／レシピを採用した旨を、チャットボットにより食事履歴ＤＢ１０２に自動的に記録するようにしてもよい。また、ユーザが否定的な回答をした場合には、情報処理システム１により再度他のメニュー／レシピを提案するようにしてもよい。
【００３２】
＜レシピ提案の処理の流れ＞
図３は、本実施の形態におけるレシピ提案処理の全体の流れの例について概要を示したフローチャートである。ユーザが、ユーザ端末４上で図２（ｂ）に示したようなユーザインタフェースを介して夕食のメニュー／レシピの提案を要求すると、情報処理システム１は、まず、食事履歴ＤＢ１０２から過去数日（例えば３日）の夕食や当日の昼食のメニュー／レシピを取得した上で（Ｓ０１）、メニュー特定部１３により、レシピ提案の基礎となるメニューを特定するメニュー特定処理を行う（Ｓ０２）。そして、特定されたメニューに基づいて、レシピ特定部１４により、提案するレシピを特定するレシピ特定処理を行う（Ｓ０３）。メニュー特定処理（Ｓ０２）およびレシピ特定処理（Ｓ０３）の内容については後述する。
【００３３】
以上の処理により提案するレシピが特定されると、レシピ出力部１５により、レシピサイト２から対象のレシピの内容に係るテキストデータや画像データ等を取得し（Ｓ０４）、取得したデータを出力先に応じて加工・整形して出力する（Ｓ０５）。上述したように、加工・整形したレシピの情報は、ＵＩ処理部１６を介してユーザ端末４に表示するようにしてもよいし、調理機器連携部１７を介して電気調理機器５に入力するようにしてもよい。
【００３４】
その後、提案したレシピがユーザにより採用されたか否かを判定する（Ｓ０６）。対象のレシピを採用しない（しなかった）旨の入力がユーザからされた場合等、提案したレシピが採用されなかった場合は（Ｓ０６：Ｎｏ）、ステップＳ０２に戻って再度メニュー／レシピの特定の処理から繰り返す。対象のレシピを採用する（した）旨の入力がユーザからされた場合や、電気調理機器５により調理が行われた場合等、提案したレシピが採用された場合は（Ｓ０６：Ｙｅｓ）、対象のレシピの内容を食事履歴ＤＢ１０２に記録して（Ｓ０７）処理を終了する。
【００３５】
＜メニュー特定処理１（バリエーション考慮）＞
図４は、本実施の形態におけるメニュー特定処理（図３のステップＳ０２）の処理内容の例について概要を示した図である。図４では、日々のメニューのバリエーションを考慮して、過去数日（および当日の昼食を含んでいてもよい）のメニューと重複せず、かつできるだけ類似しないメニューを特定する場合の手法の例について示している。この手法によりメニューを特定することで、ユーザや家族が最近食べた食事とは異なる目新しいメニュー／レシピとすることができ、飽きがこないようにすることができる。
【００３６】
図４（ａ）に示すように、メニュー特定処理では、まず、食事履歴ＤＢ１０２から抽出された直近の過去数日（図４の例では「８／２」〜「８／４」の３日間）の夕食のメニューについて、それぞれ汎化（一般化、抽象化）する処理を行う。図４の例では、具体的なメニューである「合挽き肉カレー」、「釜揚げうどん」、「明太子スパゲティ」について、それぞれ、「カレー」、「うどん」、「スパゲティ」のレベルに汎化してベクトル化する。この汎化処理は、例えば、汎化した後のレベルでのメニューのリストを予め定義しておき、これと現状のメニュー名とをマッチングすることで行うことができる。
【００３７】
そして、汎化したメニューのそれぞれ（ＩＮn）を入力として、ＩＮnに最も類似しない特徴量を有する非類似メニュー、すなわち、過去数日のメニューと異なる目新しいメニューを抽出する。例えば、主要なものを含む様々なメニューが類似度に応じてマッピングされたニューラルネットワーク（以下では「ＮＮ」と記載する）であるメニュー類似度ＮＮ１１１上で、ＩＮnのいずれにも類似しないメニューを特定する。
【００３８】
図４（ｂ）では、メニュー類似度ＮＮ１１１上で「カレー」、「うどん」、「スパゲティ」のそれぞれについて距離が遠い（非類似である）メニューを★印により模式的に表している。この★印のメニューの中から非類似メニューを特定する場合、例えば、「スパゲティ」から距離が遠い★印であっても「うどん」からは近い、という場合があり、「カレー」、「うどん」、「スパゲティ」のいずれからも距離が遠い★印を特定する。すなわち、ＩＮnに類似するメニューをＩＮn’とした場合、
【数１】
2019045902.tif 000003
で表されるｙを探索して特定する。
【００３９】
なお、図４（ａ）の下段の図に示したようなメニュー類似度ＮＮ１１１は、例えば、レシピサイト２に登録されているメニュー等の主要なメニューについて、予め事前学習部１８による機械学習により生成され、学習モデル１１０の１つとして記録されているものとする。例えば、各メニューについて、所定の種類の特徴量を要素として単位ベクトル化して学習し、各ベクトルを多次元空間にマッピングすることで生成する。また、メニュー類似度ＮＮ１１１は、例えば、図示するように、春夏秋冬の季節毎等、類似の内容が異なるような単位で複数種類生成しておき、状況に応じて該当するものを使い分けるようにしてもよい。
【００４０】
＜メニュー特定処理２（偏食傾向考慮）＞
図５は、本実施の形態におけるメニュー特定処理（図３のステップＳ０２）の処理内容の他の例について概要を示した図である。図５では、日々のメニューの遷移に現れるサイクルやパターンの傾向を考慮して、直近の過去数日（および当日の昼食を含んでいてもよい）におけるメニューの遷移が、よくとられる傾向があるパターン（偏食傾向）に近いものとなるようなメニューを特定する場合の手法の例について示している。この手法によりメニューを特定することで、ユーザや家族が好まない（もしくは好まない可能性がある）メニュー／レシピとなることを回避し、ユーザや家族の偏食傾向にマッチしたメニュー／レシピとすることができる。
【００４１】
図５（ａ）に示すように、メニュー特定処理において、食事履歴ＤＢ１０２から抽出された直近の過去数日の夕食のメニューについてそれぞれ汎化処理を行ってベクトル化するところまでは、上述した図４（ａ）と同様である。このデータに対して、次に提供するメニューをｘとして追加し、このデータに基づいてｘを特定する。例えば、ユーザやその家族が属する集団における偏食傾向を学習した偏食傾向ＮＮ１１２に基づいて、メニューの遷移のパターンの類似度からｘを特定する。具体的には、例えば、ユーザおよびその家族におけるｘより以前のメニューの遷移（実際に提供された食事のメニューの遷移）と、偏食傾向ＮＮ１１２におけるメニューの遷移のパターンとの間の類似度を計算し、類似度が高いパターンにおいて次に現れるメニューをｘとすることができる。
【００４２】
図５（ａ）に示した偏食傾向ＮＮ１１２は、例えば、レシピサイト２に登録されているメニュー等の主要なメニューについて、予め事前学習部１８による機械学習により生成され、学習モデル１１０の１つとして記録されているものとする。例えば、ユーザやその家族が属する集団において実際にとられたメニューの遷移に係る多数のサンプルについて、遷移中の各メニューを要素として単位ベクトル化して学習し、各ベクトルを多次元空間にマッピングすることで生成する。
【００４３】
図５（ｂ）は、偏食傾向ＮＮ１１２を形成する集団の単位の例について示している。図示するように、例えば、偏食傾向ＮＮ１１２を、「関西」、「東海」、「関東」等の地域別に複数形成しておき、ユーザや家族が属する地域に応じて該当するものを使い分けるようにしてもよい。また、このような地域別に限らず、他の属性情報等を基準とした集団に基づいて偏食傾向ＮＮ１１２をそれぞれ形成するようにしてもよい。
【００４４】
＜メニュー特定処理３（食事履歴重視）＞
図６は、本実施の形態におけるメニュー特定処理（図３のステップＳ０２）の処理内容の他の例について概要を示した図である。図６では、上述の図５の例と同様に、日々のメニューの遷移に現れるサイクルやパターンの傾向を考慮するが、ユーザやその家族が実際にとったことがある食事のメニューの中からのみ特定することで、ユーザや家族の偏食傾向により限定的にマッチしたメニュー／レシピとすることができる。
【００４５】
図６に示したメニュー特定処理では、上述の図４、図５に示した例と異なり、食事履歴ＤＢ１０２から抽出された直近の過去数日の夕食のメニューについて、汎化処理を行わずにそのままベクトル化する。このデータに対して、次に提供するメニューをｘとして追加し、このデータに基づいてｘを特定する。
【００４６】
例えば、このデータに対して、食事履歴ＤＢ１０２に記録されたユーザやその家族に係る過去の食事のメニューの遷移のデータを１日ずつずらして総当たりでマッチングを行ってそれぞれの類似度を算出する。そして、類似度が最も高い遷移のパターンに含まれるメニューからｘを特定する。類似度の算出方法は特に限定されないが、例えば、ベクトル間のコサイン距離（コサイン類似度）により求めることができる。なお、この手法では、食事履歴ＤＢ１０２に記録されたデータとマッチングを行い、最もマッチしたデータの中からメニューを特定するため、ＡＩ機能を用いずに行うことも可能である。
【００４７】
上述の図４、図５、図６に示したメニュー特定処理の３つのパターンは、これらに限定されるものではなく、他のパターンを用いることも可能である。また、いずれかのパターンを排他的に用いなければならないものではなく、いずれか２つ以上のパターンを適宜組み合わせて用い、その結果として複数種類のメニューが特定された場合にはこれらを候補として用いるようにしてもよい。また、いずれのパターンをどのように用いるかをユーザが設定できるようにしてもよい。
【００４８】
図７は、本実施の形態における複数パターンのメニュー特定処理を組み合わせて用いる場合の例を示したフローチャートである。図示するように、メニュー特定処理では、まず、食事履歴ＤＢ１０２から抽出されたデータのフォーマット変換等の必要な前処理（Ｓ１１）を行った後、図４に示したバリエーションを考慮したメニュー特定処理（Ｓ１２）、図５に示した偏食傾向を考慮したメニュー特定処理（Ｓ１３）、および図６に示した食事履歴を重視したメニュー特定処理（Ｓ１４）をそれぞれ行う。図７の例では各処理を並列的に行うよう記載しているが、各処理を逐次的に行うようにしてもよい。
【００４９】
＜レシピ特定処理＞
図８は、本実施の形態におけるレシピ特定処理（図３のステップＳ０３）の処理内容の例について概要を示した図である。ここでは、前段のメニュー特定処理（図３のステップＳ０２）において特定されたメニューを基礎として、ユーザに提案するレシピの内容を特定する処理を行う。
【００５０】
まず、特定されたメニュー（図８の例では「カレー」）に対して、当該メニューを作るためのレシピ、および異なるメニューであっても材料や作り方が類似するレシピを、所定の数（図８の例では１０種類）だけ有効レシピとして抽出する。例えば、既知の各種のレシピが類似度に応じてマッピングされたレシピ類似度ＮＮ１１３上で、類似するレシピを所定の数だけ抽出する。
【００５１】
図９は、本実施の形態におけるレシピ類似度ＮＮ１１３の概念の例について概要を示した図である。図９（ａ）は、各レシピがｎ×１０m次元の空間にマッピングされている状況を、３次元の空間上で模式的に表している。マッピングされた位置が近いほど（例えば、「カレー」と「シチュー」や、「焼きそば」と「中華そば」）、レシピが類似していることを示している。類似の程度により多次元空間にマッピングされる点は、上述の図４に示したメニュー類似度ＮＮ１１１等と同様である。
【００５２】
図９（ｂ）は、各レシピをｎ×１０m次元の空間にマッピングする手法の例について示している。本実施の形態では、各レシピについて、例えば、公知のＷｏｒｄ２Ｖｅｃの手法を用いて、各レシピについて材料（のベクトル）を要素とする多次元のベクトル化を行う。Ｗｏｒｄ２Ｖｅｃは、テキスト処理を行うための二層式ニューラルネットワークである。 テキストを入力すると、出力結果として、単語の特徴量（のベクトル）を出力する。十分な学習を行えば、語句の意味を高い精度で推測することができ、語句と語句との関連性を確立することが可能となる。また、トピック別に語句を分類することができる。Ｗｏｒｄ２Ｖｅｃで出力されるベクトルは、より複雑なニューラルネットワークの入力として使用することができる他、単語間の関係を検知するために使用することができる。
【００５３】
本実施の形態では、図９（ｂ）に示すように、例えば、材料を構成する「肉」や「野菜」、「調味料」等のカテゴリ毎に、「牛」ベクトルと「肉」ベクトルの和が「牛肉」ベクトル、「豚」ベクトルと「肉」ベクトルの和が「豚肉」ベクトル、…のように、各種材料の単語に基づいてベクトルが事前に学習されている。
【００５４】
そして、例えば、「カレー」のレシピにおける材料が「牛肉」、「じゃがいも」、「にんじん」、…、「塩」、「こしょう」、「油」のＮ種類であった場合、これら各材料のベクトルの和として「カレー」のベクトルが表される。なお、各レシピのベクトルはそれぞれ単位ベクトルによって表すものとする。また、これらのベクトルがマッピングされたレシピ類似度ＮＮ１１３は、例えば、レシピサイト２に登録されている全てのレシピについて、予め事前学習部１８による機械学習により生成され、学習モデル１１０の１つとして記録されているものとする。
【００５５】
図８に戻り、所定の数の有効レシピを抽出すると、各レシピについて適合度（フィットネス）を計算する。具体的には、例えば、レシピ中の各材料について、その日の特売情報に含まれているもの（図８の例では、特売情報１０３において「特売フラグ」が立っているもの）の数を計算してフィットネスの値とする。そして、フィットネスの値の降順でソートして各レシピを順位付けする。フィットネスの値が大きい上位のレシピほど材料を安く買うことができて経済面で適合的であることを意味する。
【００５６】
なお、特売情報１０３の情報は、例えば、特売情報取得部１９が、予めチラシサイト３から取得した日々のチラシのＰＤＦ（Portable Document Format）等のデータから公知の画像認識技術を利用して掲載されている画像やテキストのデータを取得し、機械学習により特売対象の商品と価格の情報を抽出して図示しない特売情報ＮＮを生成しておくものとする。
【００５７】
図８の例では、各有効レシピについて、レシピ中の各材料と特売情報１０３とをマッチングすることでフィットネスを計算しているが、材料との関係で他の要素を考慮してフィットネスを計算するようにしてもよい。例えば、ユーザ宅の冷蔵庫がＩｏＴ（Internet of Things）やＡＩにより在庫の食材の情報を把握することができる場合には、その情報を取得して、特売情報１０３において「特売フラグ」が立っている材料より、冷蔵庫に在庫がある材料を多く用いるレシピの方がフィットネスが高くなるようにしてもよい。また、材料以外でも、例えば、電気調理機器５での調理に適した調理手順が含まれるレシピのフィットネスが高くなるようにしてもよい。もしくは、フィットネスの値を計算する際の優先的な考慮事項をユーザが設定できるようにしてもよい。
【００５８】
有効レシピについてフィットネスの値の降順でソートした後、順位が１位のレシピ、すなわちフィットネスが最も高いレシピの情報（図８の例では「ビーフシチュー」）を、第１世代の候補レシピとして保持しておく。
【００５９】
その後、いわゆる進化的計算により有効レシピの内容を進化させていく。例えば、本実施の形態では、有効レシピから１位のレシピ（図８の例では「ビーフシチュー」）を除いた２位〜１０位の９種類のレシピに対して、他の新たなレシピ（図８の例では「ビーフシチュー（里いも）」）を１種類追加して新たな第２世代の１０種類の有効レシピを得る。
【００６０】
新たなレシピを得る手法として、本実施の形態では、例えば、レシピ中の材料を「遺伝子」に対応させ、既存のレシピに対して後述するような「遺伝子組換え」処理を行って変異させることで新たなレシピを得る。「遺伝子組み換え」の対象とするレシピは、例えば、前世代の１位のレシピとしてもよいし、１位〜１０位の１０種類（もしくは２位〜１０位の９種類）のレシピからランダムに選択したものとしてもよい。また、本実施の形態では、１種類のレシピに対してのみ「遺伝子組換え」を行っているが、２種類以上のレシピに対して「遺伝子組換え」を行うようにしてもよい。
【００６１】
その後、「遺伝子組み換え」により変異させた新たなレシピも含む１０種類の有効レシピに対して、上述したのと同様にフィットネスを計算した上でフィットネスの値の降順でソートし、順位が１位のレシピの情報（図８の例では「ビーフシチュー（里いも）」）を、第２世代の候補レシピとして保持しておく。そして、以上のような、進化的計算とフィットネスの計算、およびフィットネスが最も高いレシピの保持、という一連の処理を、各世代の候補として保持したレシピのフィットネスの値が収束するまで、もしくは規定の回数（Ｎ回）繰り返す。そして、各世代の候補として保持したレシピの中で、フィットネスの値が最も高いレシピ（もしくは所定の順位までの複数のレシピ）を、ユーザに提案するレシピとして特定する。
【００６２】
なお、このとき、所定の条件に合致するレシピについては、提案候補から除外するようにしてもよい。例えば、文化的・宗教的制約により食材とすることができないものを含むレシピや、「遺伝子組み換え」の結果、調理方法が危険なものや不可能なものとなったレシピ、食事履歴ＤＢ１０２における直近の食事の履歴と重複するもの等を除外することができる。これらの条件は、例えば、ＮＧリストとして予め設定しておく。
【００６３】
＜「遺伝子組み換え」処理＞
図１０は、本実施の形態における進化的計算での「遺伝子組み換え」処理の例について概要を示した図である。「遺伝子組み換え」処理において、本実施の形態では、レシピ中の材料をｍ分木（Multiple-valued Decision Diagram）のデータ構造によって表す。図１０（ａ）では、「ビーフカレー」のレシピをｍ分木によって表した例を示している。「ビーフカレー」のノードは、例えば、「食材」と「調味料」という、材料のカテゴリを示すノードに分かれている。「食材」のノードは、さらに、「米」や「パセリ」、「牛バラ肉」、…、「じゃがいも」等の各食材のノードに分かれている。同様に、「調味料」のノードは、さらに、「ガーリック」や「ケチャップ」、「オイスターソース」、…、「カレー粉」等の各調味料のノードに分かれている。
【００６４】
本実施の形態では、「遺伝子組み換え」処理として以下の３種類の操作を行うことができる。図１０（ｂ）は、「挿入（insertion）」操作の例を示した図である。ここでは、対象のレシピのｍ分木の構造に、ランダムに選択された、もしくは所定のルールに基づいて選択された材料に係る新たなノードを１つ以上追加する。図１０（ｂ）の例では、「ビーフカレー」のレシピにおける「食材」ノードの下に新たに「トマト」ノードが追加された状態を示している。これにより、「ビーフカレー」を「トマトビーフカレー」という新たなレシピに変異させることができる。
【００６５】
一方、図１０（ｃ）は、「置換（replacement）」操作の例を示した図である。ここでは、対象のレシピのｍ分木の構造におけるノードからランダムに選択された、もしくは所定のルールに基づいて選択された１つ以上のノードを、類似するもしくは一定範囲の他の材料に係る新たなノードに置換する。図１０（ｃ）の例では、「ビーフカレー」のレシピにおける「食材」ノードの下の「牛バラ肉」ノードを「牛スジ肉」ノードに置換した状態を示している。これにより、「ビーフカレー」を「牛スジカレー」という新たなレシピに変異させることができる。
【００６６】
また、図１０（ｄ）は、「突然変異（mutation）」操作の例を示した図である。ここでは、対象のレシピのｍ分木の構造におけるノードからランダムに選択された、もしくは所定のルールに基づいて選択された１つ以上のノードを、異なる親ノード（材料の種別）につなぎ替える。図１０（ｄ）の例では、「ビーフカレー」のレシピにおける「調味料」ノードの下の「バター」ノードを、「食材」ノードの下につなぎ替えた状態を示している。これにより、「じゃがいも」と「バター」が掛け合わされて「じゃがバター」になるという特別な進化を遂げる場合があり、「ビーフカレー」に「じゃがバター」が載った「北海道カレー」という新たなレシピに突然変異させることができる。
【００６７】
このように、ユーザに提案するレシピを特定する際の進化的計算において、材料について上記のような「遺伝子組み換え」処理を施すことで、候補のレシピを他の新たなレシピに変異させることができる場合がある。これにより、提案するレシピがワンパターン化するのを回避し、目新しいレシピを提案することが可能である。
【００６８】
以上に説明したように、本発明の実施の形態１である情報処理システム１によれば、ユーザに対して、直近の過去数日の夕食や当日の昼食のメニューを考慮して、これらのメニューとの重複を回避しつつ、近隣店舗のチラシから得られる特売情報を考慮して、好適な夕食のメニュー／レシピを提案することができる。また、提案するレシピがワンパターン化しないよう、過去に採用したことがないような目新しいレシピも提案することが可能である。
【００６９】
（実施の形態２）
上述した実施の形態１では、ユーザに対して好適なメニュー／レシピを提案することができるが、提案するメニュー／レシピは、進化的計算により変異させた新たなメニュー／レシピとなる可能性があるものの、基本的にはレシピサイト２等に公開されている既知のメニュー／レシピの範囲内で好適なものを選択するものである。これに対し、本発明の実施の形態２である情報処理システムでは、既知のメニュー／レシピとは類似しない、ユーザのオリジナルである新規メニュー／レシピを作成可能とするものである。なお、基本的なシステム構成や、レシピサイト２等に公開されているメニュー／レシピ等の事前の学習処理等については、上述した実施の形態１と同様とすることができるため、再度の説明は省略する。
【００７０】
＜オリジナルレシピの作成処理の流れ＞
図１１は、本実施の形態におけるオリジナルレシピの作成処理の流れの例について概要を示したフローチャートである。まず、ユーザが、ユーザ端末４上でオリジナルレシピの作成を要求すると、情報処理システム１は、まず、ユーザ端末４上に、過去のレシピが類似度に応じてマッピングされたレシピ類似度マップを表示する（Ｓ２１）。レシピ類似度マップの内容と作成手法については後述する。
【００７１】
ユーザが、レシピ類似度マップ上で、過去のレシピが存在しない背景領域の中のいずれかの場所を選択すると（Ｓ２２）、情報処理システム１は、選択された領域に対応する未知のレシピを作成し（Ｓ２３）、当該レシピの内容に係る文章を復元（生成）して（Ｓ２４）、これをユーザ端末４上に出力する（Ｓ２５）。未知のレシピの作成および当該レシピの内容に係る文章の復元の手法についても後述する。
【００７２】
その後、出力したレシピがユーザにより採用されたか否かを判定する（Ｓ２６）。対象のレシピを採用しない（しなかった）旨の入力がユーザからされた場合等、出力したレシピが採用されなかった場合は（Ｓ２６：Ｎｏ）、ステップＳ２２に戻って再度レシピ類似度マップ上での領域の選択の処理から繰り返す。対象のレシピを採用する（した）旨の入力がユーザからされた場合等、提案したレシピが採用された場合は（Ｓ２６：Ｙｅｓ）、対象のレシピの内容を食事履歴ＤＢ１０２に記録して（Ｓ２７）処理を終了する。
【００７３】
＜オリジナルレシピ作成処理（概要）＞
まず、本実施の形態におけるオリジナルレシピを作成する処理について全体の流れを説明する。図１２は、本実施の形態におけるレシピ類似度マップの作成および表示の例について概要を示した図である。本実施の形態では、ユーザからオリジナルレシピの作成に係る指示を受け付けるため、予め、事前学習部１８により、ユーザにおける過去の夕食の全レシピが類似度に応じてマッピングされた過去レシピ類似度ＮＮ１１４を生成し、学習モデル１１０の１つとして記録しておく。
【００７４】
過去レシピ類似度ＮＮ１１４には、ユーザにおける過去の夕食のレシピを文章化した情報が学習されており、その学習結果から、レシピ（の文章）の類似性をユーザ端末４上で可視化することができる。図中の例では、「鶏肉と野菜を一口大に切る。…」という文章で始まる「カレー」のレシピについて、全文を「鶏肉／と／野菜／を／一口／大／に／切る／…」のように区切って、区切られた語句をベクトル化して学習することを示している。
【００７５】
本実施の形態では、過去レシピ類似度ＮＮ１１４に対するこのような学習を、さらに「チャーハン」や「ラーメン」といった他のレシピも含めた状態で行い、その結果をレシピ類似度マップとして表現して、ユーザ端末４上に表示する。レシピ類似度マップでは、類似するレシピは近い場所に、異なるレシピは遠い場所に配置される。図中の例では、「カレー」と「ビーフシチュー」はいずれもルーを使うレシピであり、また、「ラーメン」と「うどん」はいずれも麺を茹でるレシピであるため、それぞれ相互に近い場所に配置される。一方、「カレー」と「チャーハン」、「ラーメン」は、それぞれ明らかに異なるレシピであるため、相互に離れた場所に配置される。
【００７６】
ユーザ端末４上に表示されたレシピ類似度マップでは、過去のレシピがマッピングされていない背景領域（空白領域）が存在するが、内部的には、過去レシピ類似度ＮＮ１１４においてこれらの領域にもレシピに係る情報を有しており、ユーザがこれらの背景領域を選択した場合であっても、何らかの対応する未知のレシピを合成して提示することができる。ここで合成されるレシピの文章は、過去レシピ類似度ＮＮ１１４の学習モデルに基づいて、ユーザが選択した領域の近傍にある過去レシピの特徴を加味したものとなる。したがって、ユーザとしては、過去の経験（過去レシピ）を踏まえつつ、全く新しい未知のレシピの提案を受けるという体験ができる上、背景領域を選択するのがユーザ自身であることから、自らがオリジナルレシピを作り出したかのような感覚を得ることができる。
【００７７】
図中の例では、背景領域の中で、「チャーハン」からは遠く、「カレー」と「ラーメン」の間にある場所をユーザが選択した場合、「カレー」と「ラーメン」を掛け合わせて「とんこつカレー」という新しいオリジナルレシピを生成して提案した場合を示している。オリジナルレシピのパターンは、背景領域の面積に比例して無数に存在し得るため、一見すると非常識なメニュー／レシピや突飛なメニュー／レシピが生成される可能性もあるが、全く新しいオリジナルのメニュー／レシピを作成することができる可能性を有するという点で有用である。また、ユーザに対して未知のレシピを生み出すことに対する期待感を抱かせ、本実施の形態に係る仕組みを利用する動機付けとすることができる。
【００７８】
＜オリジナルレシピ作成処理（詳細）＞
以下では、本実施の形態におけるオリジナルレシピ作成に係る各処理の詳細について説明する。まず、レシピ類似度マップを作成するため、図１２の上段の図に示したように、食事履歴ＤＢ１０２に記録された過去の夕食等に係るレシピの情報を抽出し、各レシピ（の文章）について全文をベクトル化する。なお、ここでは、例えば食事履歴ＤＢ１０２に記録された過去の夕食等に係る各履歴について、そのレシピの内容を予めレシピサイト２等から取得し、その情報も合わせて食事履歴ＤＢ１０２に格納しているものとする。
【００７９】
レシピ全文のベクトル化に際しては、食事履歴ＤＢ１０２に格納されているレシピ情報について、その全文に対して形態素解析を行って品詞毎の語句に区切る。図１３は、本実施の形態におけるレシピ文章に対する形態素解析の例について概要を示した図である。図１３の上段には、「パクチー香る…豆乳鍋」のレシピ文章の例が示されており、これを形態素解析により品詞毎の語句に区切った状態の例を中段の図に示している（図中では便宜上「／」の記号により語句の区切りを示している）。なお、形態素解析の処理自体は、公知のエンジンやライブラリ、サービス等を適宜使用して行うことができる。
【００８０】
本実施の形態では、レシピ文章に対して形態素解析を行って得られた各単語（語句）を、上述したＷｏｒｄ２Ｖｅｃによって意味のある多次元ベクトルの情報に変換する。多次元ベクトル化する語句は、基本的には、図１３の中段に示したような、形態素解析によって区切られた全ての語句が対象となる。しかし、学習対象となるレシピ文章は膨大な数となり、また、造語やオノマトペ等が含まれる煩雑な文章である場合も多い。そこで、本実施の形態では、学習に際してノイズ（すなわち、レシピの特徴との関係で意味をなさない情報）であると判定された語句は、ベクトル化の対象から除外する。これにより、レシピの特徴との関係で意味を有する語句（あるいはそのような性質が期待される特定の品詞の語句）のみがベクトル化の対象となり、ベクトルの内容から把握されるレシピの特徴の精度を向上させることができる。
【００８１】
図１３の下段の図では、レシピ文章に対する形態素解析の結果からノイズの語句を除外した場合（図中では取り消し線で示している）の例を示している。例えば、１番目の文章の「…ましょ♪」のような無意味な語尾の表現や、「やさしく」等の形容詞はノイズとして除外する。また、３番目の文章の「シャッと」や「タタタっと」のようなオノマトペについてもノイズとして除外する。
【００８２】
レシピ全文に対して形態素解析を行って得られた語句をベクトル化すると、次に、各ベクトル間の類似度を学習し、過去レシピ類似度ＮＮ１１４を生成する。図１４は、本実施の形態における過去レシピ類似度ＮＮ１１４の構成例とオリジナルレシピの作成方法の例について概要を示した図である。本実施の形態では、過去レシピ類似度ＮＮ１１４を以下に示す３種類の学習モデルによって構成する。
【００８３】
１つは、ベクトル化された各レシピの全文を対象として、レシピ間の類似度を学習するモデルであるレシピ類似度ＮＮ１１４ａである。他の１つは、各レシピにおける調理手順をその内容によってクラスタリングし、各クラスタをトピックによって分類した上で、トピック内での調理手順間の類似度を学習するモデルである調理手順別類似度ＮＮ１１４ｂである。他の１つは、各レシピにおける調理手順の流れについて時系列での解析を行い、時系列的に有効で矛盾しない、もしくはより効果的である調理手順を学習する（換言すれば、時系列的に取り得ない、もしくは意味をなさない調理手順を学習する）モデルである時系列予測ＮＮ１１４ｃである。
【００８４】
レシピ類似度ＮＮ１１４ａは、上述したように、ユーザ端末４上にレシピ類似度マップを提示するために必要となる二次元の座標情報（鍵情報）を得るために用いられる。また、当該鍵情報からオリジナルレシピの基礎を生成するためにも用いられる。レシピ類似度ＮＮ１１４ａから二次元のレシピ類似度マップを形成する手法については後述する。レシピ類似度マップ上での背景領域（空白領域）からユーザにより領域が選択されると、選択された場所に対応する鍵情報に基づいて、レシピ類似度ＮＮ１１４ａから対応するレシピ（オリジナルレシピ）を生成することができる。オリジナルレシピの生成手法についても後述する。
【００８５】
レシピ類似度ＮＮ１１４ａから生成されたオリジナルレシピは基礎・原型となるものであり、そのままでは内容や表現が適切ではない場合も含まれる。オリジナルレシピにおける手順が時系列的に有効で矛盾しないものとなるよう、時系列予測ＮＮ１１４ｃを用いて手順を調整する。図中の例では、調理手順が「切る」→「焼く」→「煮る」の順になるように調整することを示している。これにより、材料を「焼」いてから「切る」というような不自然な手順や、「焼く」→「煮る」→「焼く」のように同様の手順が繰り返されるような手順とならないようにすることができる。
【００８６】
また、オリジナルレシピを生成するにあたり、「切る」、「焼く」、「煮る」等の調理手順のレベルで妥当な表現となるようにし、もしくは変化を生成したい場合に、調理手順別類似度ＮＮ１１４ｂを用いて調理手順の内容や表現を調整する。以上のような調整・チューニングを行うことにより、調理手順として有効で矛盾しない形でオリジナルレシピを得ることができる。これらのチューニングの手法についても後述する。
【００８７】
＜レシピ類似度ＮＮ＞
上述したように、レシピ類似度ＮＮ１１４ａを生成するための入力となる各レシピの全文をベクトル化したデータは、ｎ×１０m次元（例えば、数千次元）の多次元ベクトルとなるため、そのままでは、このレシピ類似度ＮＮ１１４ａの情報にユーザが介入してオリジナルレシピを生成することは困難である。そこで、本実施の形態では、レシピ類似度ＮＮ１１４ａの学習において、砂時計型ニューラルネットワークを用いた恒等写像学習を用いることにより、各レシピの類似度を示す特徴量を低次元に圧縮し、ユーザが介入できる情報に変換する。膨大な情報から特徴量を抽出する技術はオートエンコーダと呼ばれ、ニューラルネットワークを用いた恒等写像学習もこれに包含される。
【００８８】
図１５、図１６は、本実施の形態におけるレシピ類似度ＮＮ１１４ａの例について概要を示した図である。本実施の形態では、まず、レシピ類似度ＮＮ１１４ａを、図１５（ａ）に示すような多層構造の砂時計型ニューラルネットワークとして構成する。図１５（ａ）の例では、入力層と出力層を、各レシピの多次元ベクトルと同等のｎ×１０m次元とし、中央の「隠れ層」を二次元となるように構成している。
【００８９】
次に、恒等写像学習として、図１５（ｂ）に示すように、各レシピの多次元ベクトルを入力層と出力層の両方にそれぞれ配置し、レシピ類似度ＮＮ１１４ａの入力と出力が同一となるように学習を行う。すなわち、各レシピの多次元ベクトルについて、入力と出力との間でデータが同一となるようレシピ類似度ＮＮ１１４ａ内を伝送させると、内部のネットワークが書き変わっていく。学習初期では、入力と出力が同一視できない結果となる割合（エラー率）が高い状態となるが、学習が進むに従ってエラー率が下がっていき、一定の率に収束するようになる。この状態まで学習が進んだものをレシピ類似度ＮＮ１１４ａとして用いる。
【００９０】
このような学習により、ｎ×１０m次元の多次元ベクトルからなる各レシピの類似性を、二次元に圧縮された情報として「隠れ層」に集約することができる。これをエンコードという。「隠れ層」に集約した情報は二次元の情報であるため、これに基づいて（ｘ，ｙ）座標の表現型を有するレシピ類似度マップを生成することが可能となる。
【００９１】
一方で、レシピ類似度ＮＮ１１４ａは、学習済のニューラルネットワークであることから、図１６に示すように、「隠れ層」にあたる二次元の情報、すなわち、レシピ類似度マップ上の座標（ｘ，ｙ）を鍵情報として、これに対応するレシピ情報の出力を、ｎ×１０m次元の多次元ベクトルの形式で取得することが可能となる。これをデコードという。座標（ｘ，ｙ）は任意の値を取ることが可能であるため、そのような鍵情報を入力することによって、既存の学習セット（既存のレシピ）には存在しない未知のレシピを生成することが可能となる。
【００９２】
なお、一般的に、解析モデルにおいて、圧縮された鍵情報から自動的に出力をデコードする機能はニューラルネットワークに特有のものであり、他の解析モデル（例えば、主成分分析等）では、特徴量の抽出（エンコード）のみが可能である。したがって、ニューラルネットワークを用いた本実施の形態の手法は、他の解析モデルを用いた既存手法と比べて有効なものであるといえる。
【００９３】
＜調理手順別類似度ＮＮ＞
上述したように、オリジナルレシピを生成するにあたって、「切る」、「焼く」、「煮る」といった調理手順のレベルで妥当な表現となるようにしたり、個別に変化をつけたりするために、調理手順別類似度ＮＮ１１４ｂを用いる。調理手順別類似度ＮＮ１１４ｂの生成に際して、まず、各レシピの文章を学習して、調理手順毎にクラスタリングする。学習前に、各レシピ文章に含まれる各語句を意味のある多次元ベクトルの情報に変換する点は、上述したレシピ類似度ＮＮ１１４ａの場合と同様である。
【００９４】
上述したＷｏｒｄ２Ｖｅｃでは、類似する文脈を集めてクラスタリングできる他、得られたクラスタ群について、あるトピック（クラスタリング結果を所定の観点（本実施の形態ではオリジナルレシピの作成という観点）でカテゴライズしたもの）の中で類似度を学習することができる。本実施の形態では、連続的な文章であるレシピの情報を、「切る」、「焼く」、「煮る」等の調理手順に係るクラスタに分類し、これらの調理手順をトピックとして類似度の学習を行う。
【００９５】
図１７は、本実施の形態における調理手順別類似度ＮＮ１１４ｂの例について概要を示した図である。図１７（ａ）では、レシピ文章を調理手順のレベルで分割してクラスタリングする例を示している。ここでは、レシピ文章中において調理手順の観点で境界を見つけて分割し、クラスタリングする。例えば、第１文の「鶏肉と…切る。」と、第２文の「厚手の…炒める。」では、「切る」と「炒める」という、ベクトル的に遠い（類似しない）調理手順であるため、これらの文の間でレシピ文章は分割され、それぞれ異なるクラスタに分類される。一方、第２文の「厚手の…炒める。」と、第３文の「肉に…炒める。」では、「炒める」というベクトル的に近い（類似もしくは同一の）調理手順であるため、これらの文は分割されずに同一のクラスタに分類される。
【００９６】
また、第５文の「煮立ったら…煮込む。」は、「煮込む」が「炒める」とは類似しない調理手順であるため、第５文の前でレシピ文章は分割される。そして、最後の第９文の「再び…煮込む。」は、第５文の「煮込む」と同一の調理手順であり、同じクラスタに分類されることになるが、その際、これらの文の間に挟まれた第６文〜第８文（「いったん…加える。」）についても、一体として同じクラスタに分類される。
【００９７】
図１７（ａ）の例では、レシピ文章が３つのクラスタに分類されているが、これら各クラスタは、それぞれ、「切る」、「炒める」、「煮込む」というキーワードによりトピック化される。そして、本実施の形態では、図１７（ｂ）に示すように、このようなクラスタリングとトピック化を、入力となる学習セットに含まれる全てのレシピ文章に対して行い、「切る」、「炒める」、「煮込む」等のトピック毎に、対応するレシピ文章（調理手順）を集約する。
【００９８】
そして、例えば、「切る」のトピックでは、「切る」に類する無数の調理手順を学習し、その類似性を調理手順別類似度ＮＮ１１４ｂ＿１として記録する。同様に、「炒める」トピックについては調理手順別類似度ＮＮ１１４ｂ＿２、「煮込む」トピックについては調理手順別類似度ＮＮ１１４ｂ＿３、…というように、トピック（調理手順）毎に類似性を学習した調理手順別類似度ＮＮ１１４ｂを生成する。
【００９９】
＜時系列予測ＮＮ＞
上述したように、オリジナルレシピを生成するにあたって、時系列的に有効で矛盾がない、もしくはより効果的である調理手順（調理の流れ）とするために、時系列予測ＮＮ１１４ｃを用いる。時系列予測ＮＮ１１４ｃは、学習セットである各レシピにおける調理手順の時系列的特徴を学習したものである。ニューラルネットワークでは、時系列情報を扱う場合、リカレントニューラルネットワークを使用する。
【０１００】
図１８は、リカレントニューラルネットワークの例について概要を示した図である。図１８（ａ）に示すように、リカレントニューラルネットワークは、前の時刻（図中の例では時刻ｔ−１）における中間層の情報を、次の時刻（図中の例では時刻ｔ）の入力と合わせて学習に用いることで、時系列情報を考慮したネットワーク構造することができる。これにより、例えば、図１８（ｂ）に示すように、時刻ｔ0（９：００）に「出社して」、時刻ｔ1（１３：００）に「東京出張して」、時刻ｔ2（１５：００）に「打ち合わせして」、という時系列での事実の流れがあった場合に、時刻ｔ3（１７：００）の内容として「品川で飲んでいる」という事実を予測することができる。
【０１０１】
図１９は、本実施の形態における時系列予測ＮＮ１１４ｃの例について概要を示した図である。時系列予測ＮＮ１１４ｃを用いることで、図示するように、「…を一口大に切って（時刻ｔ1）、…鶏肉を炒めて（時刻ｔ2）、…（トマト以外の）野菜を炒めて（時刻ｔ3）、…５分煮込んで（時刻ｔ4）、…」という調理手順の流れの文脈から関連付けて、時刻ｔnにおける「…残りの野菜を入れて煮込む」という手順を予測することができる。なお、時刻ｔ3での調理手順において「トマト」を入れないという情報は、学習の際に汎化されてなくなっている可能性があるが、後の調理手順において「何らかの野菜を入れる」という手順が学習されていることから、「残りの野菜」（当該レシピでは「トマト」）を入れて煮込むという調理手順として予測することができる。
【０１０２】
一方で、リカレントニューラルネットワークの特徴として、長期の依存関係にある語句の予測が難しくなるという傾向を有する。そこで、本実施の形態では、学習セットとなる各レシピ文章について、上述した調理手順別類似度ＮＮ１１４ｂの例において説明したように、レシピ中の調理手順を動詞のトピックに汎化することで予測を簡易にする。また、メニューと調理手順の関係性を保持するために、リカレントニューラルネットワークである時系列予測ＮＮ１１４ｃにおける最初のニューラルネットワーク、すなわち、時刻ｔ0のニューラルネットワークは、メニュー（図１９の例では、「ルーを使ったレシピ（例えば、カレー等）」）を学習するニューラルネットワークとする。
【０１０３】
なお、上記の例では、過去レシピ類似度ＮＮ１１４を生成する際の学習セットとして、ユーザにおける過去の夕食の全レシピを用いているが、これに加えてもしくはこれに代えて、例えば、レシピサイト２に開示されている既知の全レシピを学習セットとして用いてもよい。これにより、ユーザの過去の夕食の履歴との観点でオリジナルであるだけでなく、既知の全てのレシピとの観点でオリジナルなレシピを作成することも可能である。
【０１０４】
＜レシピ類似度マップの表示とオリジナルレシピの作成＞
図２０は、本実施の形態におけるレシピ類似度マップの表示とオリジナルレシピの作成の例について概要を示した図である。上述したように、レシピ類似度マップは、学習セットとなる全てのレシピ文章（図２０の例では「ユニークメニュー１００種」）を入力として事前学習部１８により生成された砂時計型のニューラルネットワークであるレシピ類似度ＮＮ１１４ａの「隠れ層」から二次元の鍵情報を取得し、これを（ｘ，ｙ）座標系にマッピングして、ユーザ端末４上に表示することで可視化したものである。ユーザは、ユーザ端末４上に表示された二次元のレシピ類似度マップにおける任意の（ｘ，ｙ）座標を選択することができるため、選択された（ｘ，ｙ）座標（図２０の例では（０．５４，０．６２））を、レシピ類似度ＮＮ１１４ａの「隠れ層」に入力する鍵情報として用いる。
【０１０５】
レシピ特定部１４では、レシピ類似度ＮＮ１１４ａの「隠れ層」に二次元の鍵情報を入力することで、出力としてオリジナルレシピ（図中の例では「とんこつカレー」）の基礎の情報を得ることができる。このとき、レシピ類似度ＮＮ１１４ａの入力層への情報の入力は行わない。上述したように、本実施の形態では、出力層から得られるオリジナルレシピの情報はｎ×１０m次元の多次元ベクトルの形式となる。この多次元ベクトルは、例えば、レシピ出力部１５において、上述したＷｏｒｄ２Ｖｅｃを通じて言語に復元することができ、これによってオリジナルレシピ全体の文章を得ることができる。
【０１０６】
ただし、復元されたオリジナルレシピの全文は、そのままでは非常識なレシピ（の文章）や突飛なレシピ（の文章）を含んでいる可能性がある。そこで、本実施の形態では、例えば、レシピ出力部１５において、オリジナルレシピの全文に対して再度形態素解析を行った上で、調理手順間の時系列的な観点でのチューニング、および調理手順毎の文章のチューニングを行う。
【０１０７】
図２１は、本実施の形態におけるオリジナルレシピの文章に対するチューニングの例について概要を示した図である。図２１（ａ）の上段の表は、図２０で示した処理により生成されたオリジナルレシピについて、その調理手順の流れを上から順に時系列で示しており、元となる「ゴーヤ炒め」と「カレー」のレシピの調理手順が合成されてオリジナルレシピである「ゴーヤ炒めカレー」の調理手順となっていることを示している。この時点では、「ゴーヤ炒めカレー」というメニューが成り立ち得るか否かに関わらず、レシピが合成される。なお、一番右の「手順」の列では、各調理手順の文章を、動詞からなるトピックとその目的語に汎化した内容を示している。
【０１０８】
このレシピでは、例えば、調理手順１と２について、同じ「茹でる」に類する手順が「下茹でする」と「チンする」という別の表現になっており、表記のゆれを有していることを示している。また、調理手順３、４で「切る」手順を行った後、調理手順５、６で「炒める」手順を行い、その後に調理手順７で再度「切る」手順を行う流れとなっており、調理手順の流れが時系列的に整合していないことを示している。また、調理手順９では、「（カレー粉を）入れる」という汎用的な手順が、例えば、「焼く」や「煮る」等のいずれのトピックに分類されるのか判断できない状態であることを示している。
【０１０９】
本実施の形態では、このように調理手順毎に区切られたオリジナルレシピの文章を、時系列予測ＮＮ１１４ｃに入力し、調理手順の流れについてフィット＆ギャップ分析を行う。ここで入力する調理手順の文章は、トピックに汎化したもの（図２１（ａ）の上段の表の「手順」の列の内容）である。時系列予測ＮＮ１１４ｃにおける時系列での調理手順の予測モデルとの間に一定以上のギャップがある場合は、所定のルールに従ってオリジナルレシピの調理手順の流れを自動的に調整・修正する。
【０１１０】
例えば、時系列予測ＮＮ１１４ｃにおいて、調理手順の流れは「切る」→「炒める」の順になるというルールが学習されている場合、図２１（ａ）の上段の表において、調理手順７（「切る」手順）の位置は適切ではないと判断され、これを同じ「切る」手順である調理手順３、４の次で、「炒める」手順である調理手順５、６の前に来るよう順序を入れ替える。これにより、図２１（ａ）の下段の図に示すように、「茹でる」→「切る」→「炒める」のトピックの順に調理手順が並ぶようにチューニングされる。ここでは、同じトピック内の複数の調理手順の文章が合成されて１つの文章となっているが、その手法については後述する。
【０１１１】
なお、「炒める」の次の調理手順は「ルー」を目的とした手順（図２１（ａ）の上段の表の調理手順９、１０）に対応するものであるが、「（ルーを）××する」というようトピックの内容が不定となっている。これは、調理手順９の「（カレー粉を）入れる」とう手順がいずれのトピックに分類されるのか不明であることに対応している。この場合、例えば、図２１（ａ）の下段の図に示すように、「ルー」を目的とした当該調理手順の文章を、「カレー粉を入れる『または』ルーを割り入れて煮込む」というように選択的な文章とし、実際の作業内容の選択をユーザに委ねるようにしてもよい。
【０１１２】
次に、調理手順毎に区切られたオリジナルレシピの文章を、トピック毎に対応する調理手順別類似度ＮＮ１１４ｂに入力し、トピック毎の調理手順内におけるレシピの文章のもっともらしさ・妥当性を評価する。ここでは、学習済みのレシピ文章との類似性を評価軸としてもっともらしさ・妥当性を評価し、所定のルールに従って文章を自動的に調整・修正する。
【０１１３】
例えば、図２１（ａ）の上段の表における調理手順１、２は、いずれも「茹でる」トピックに分類される調理手順であり、これらの文章を、図２１（ｂ）に示すように、調理手順別類似度ＮＮ１１４ｂ（ここでは「茹でる」のトピックに対応したもの）に入力する。調理手順別類似度ＮＮ１１４ｂは、入力と最も近い意味で、かつ言語的に成立する（意味をなす）文章にチューニングして出力する。
【０１１４】
図２１（ｂ）の例では、入力となる「ゴーヤを塩で下茹でする」という文章について、「ゴーヤと塩を茹でる」という文章が出力されたことを示している。このチューニングの例では、「塩」が「ゴーヤ」と同列の材料として並列的に扱われ、これらをともに「茹でる」という文章となっているが、オリジナルレシピの作成という観点では問題がないものとする。また、「じゃがいもをチンする」という入力の文章については、「じゃがいもを茹でる」という表現に修正されていることを示している。
【０１１５】
これらの調理手順は、いずれも「茹でる」のトピックに分類されるため、その後、これらの調理手順に係る文章を合成して、「茹でる」のトピックに係る１つの調理手順の文章を生成する。例えば、図示するように、各材料をまとめて「茹でる」ものとして並列的に扱い、「ゴーヤ、じゃがいも、塩を茹でる」という文章を生成する。なお、このような文章の合成には、上述したＷｏｒｄ２Ｖｅｃを用いることができる。
【０１１６】
調理手順別類似度ＮＮ１１４ｂでのチューニングを可能とするため、例えば、学習セットとして十分な数の調理手順の文章データを用意するとともに、別途、調理手順毎の文章中における語句の双起確率を学習し、これを用いて文章の修正を行うようにしてもよい。双起確率の学習では、例えば、「ねこ（Ａ）」と「かわいい（Ｂ）」という語句があった場合に、Ａ∩Ｂ、すなわち「『ねこ』は『かわいい』」というように両方の語句が文章に現れる（双起する）確率は６０％であるのに対し、「ねこ（Ａ）」と「おいしい（Ｃ）」という語句があった場合に、Ａ∩Ｃ、すなわち「『ねこ』は『おいしい』」というように両方の語句が双起する確率は０．００１％である、というような確率モデルを得ることができる。これを用いることで、ありえない語順となることを回避し、もっともらしい文章を合成することができる。
【０１１７】
また、単一の調理手順についてのみレシピ文章に改変を加えたい場合は、調理手順別類似度ＮＮ１１４ｂが持つ類似性のネットワークを用いてレシピの文章を改変してもよい。もしくは、オリジナルレシピとして掛け合わせる元となる各レシピにおける材料や手順をそれぞれ一部ずつ抽出して単順に混ぜ合わせて合成する等の手法をとることも可能である。
【０１１８】
レシピ出力部１５は、上記のようなチューニングが完了した状態のオリジナルレシピを、一連の文章として再度合成し、得られたオリジナルレシピ全文をユーザ端末４上に表示して提案する。このとき、例えば、当該オリジナルレシピの内容と近い既存のレシピに係る画像をレシピサイト２等から取得して、参考情報的に併せて表示するようにしてもよい。
【０１１９】
以上に説明したように、本発明の実施の形態２である情報処理システム１によれば、ユーザに対して、既知のメニュー／レシピとは類似しない、ユーザのオリジナルである新規メニュー／レシピを作成して提案することが可能である。
【０１２０】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施の形態では、家庭で日常の夕食を提供する母親等のユーザに対してメニュー／レシピを提案する場合を例に説明したが、これに限定されるものではない。例えば、宿泊施設等での食事の提供等、食事の提供側が主導的にメニューやレシピを決定するスキームに対して広く適用することができる。また、夕食のメニュー／レシピの提案に限定されず、朝食や昼食等の他の食事のメニュー／レシピの提案を行ってもよいことは言うまでもない。
【０１２１】
また、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１２２】
例えば、上記の実施の形態では、ユーザやその家族等の夕食の履歴に基づいてメニュー／レシピを提案する場合を例に説明したが、考慮する履歴情報は、これらに限定されない。例えば、ユーザが居住する地域住民の食事履歴を用いることも可能である。また、夕食の履歴情報に限定されず、朝食や昼食を含む食事の履歴情報を用いてもよいし、過去の食事の履歴情報に限定されず、世の中で現在提供されている何らかの食事情報を考慮するものであってもよい。さらには、「食事」の情報に限定されず、メニュー／レシピに反映させ得る情報であれば、例えば、その日の運動の内容等の情報を考慮してメニュー／レシピを提案するものであってもよい。
【０１２３】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、またはＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１２４】
また、上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【産業上の利用可能性】
【０１２５】
本発明は、食事のレシピを提案する情報処理システム、方法、およびプログラムに利用可能である。
【符号の説明】
【０１２６】
１…情報処理システム、２…レシピサイト、３…チラシサイト、４…ユーザ端末、５…電気調理機器、
１１…ユーザ管理部、１２…履歴管理部、１３…メニュー特定部、１４…レシピ特定部、１５…レシピ出力部、１６…ＵＩ処理部、１７…調理機器連携部、１８…事前学習部、１９…特売情報取得部、
１０１…ユーザＤＢ、１０２…食事履歴ＤＢ、１０３…特売情報、１１０…学習モデル、１１１…メニュー類似度ＮＮ、１１２…偏食傾向ＮＮ、１１３…レシピ類似度ＮＮ、１１４…過去レシピ類似度ＮＮ、１１４ａ…レシピ類似度ＮＮ、１１４ｂ、１１４ｂ＿１〜３…調理手順別類似度ＮＮ、１１４ｃ…時系列予測ＮＮ
【図１】
2019045902.tif 000004
【図２】
2019045902.tif 000005
【図３】
2019045902.tif 000006
【図４】
2019045902.tif 000007
【図５】
2019045902.tif 000008
【図６】
2019045902.tif 000009
【図７】
2019045902.tif 000010
【図８】
2019045902.tif 000011
【図９】
2019045902.tif 000012
【図１０】
2019045902.tif 000013
【図１１】
2019045902.tif 000014
【図１２】
2019045902.tif 000015
【図１３】
2019045902.tif 000016
【図１４】
2019045902.tif 000017
【図１５】
2019045902.tif 000018
【図１６】
2019045902.tif 000019
【図１７】
2019045902.tif 000020
【図１８】
2019045902.tif 000021
【図１９】
2019045902.tif 000022
【図２０】
2019045902.tif 000023
【図２１】
2019045902.tif 000024