JP6279823B1 - 情報処理装置、情報処理方法、プログラム - Google Patents
情報処理装置、情報処理方法、プログラム Download PDFInfo
- Publication number
- JP6279823B1 JP6279823B1 JP2017551733A JP2017551733A JP6279823B1 JP 6279823 B1 JP6279823 B1 JP 6279823B1 JP 2017551733 A JP2017551733 A JP 2017551733A JP 2017551733 A JP2017551733 A JP 2017551733A JP 6279823 B1 JP6279823 B1 JP 6279823B1
- Authority
- JP
- Japan
- Prior art keywords
- recipe
- user
- ingredient
- information
- ingredients
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
特許文献1には、ユーザが入力した手元にある食材に基づいてレシピで使用する一部の食材を代替食材に置換して作成可能なレシピを提供する技術について記載されている。
特許文献2には、ユーザに対して先に提案したメイン料理のレシピにおけるメイン食材と被らない食材を利用したサブ料理のレシピを提供する技術について記載されている。
また、該ユーザが入力していない食材をあまり多く使うレシピはユーザにとって参考とならない蓋然性が高い。
特許文献2に記載の技術は「レシピを再検索する際に先に入力した食材から選択されたメイン料理と同種の料理が提案されないために、メイン料理におけるメイン食材を特定して当該メイン食材とかぶらない食材を利用したサブ料理のレシピを提供する」ものであり、提示されるメイン料理のレシピとサブ料理のレシピの組み合わせが同系統の料理のレシピとなることは避けられる。しかし特許文献1と同様に提示されるレシピは入力した食材の範囲に比例するため、提供されるレシピの種類は限定的となる。
この場合、例えばレシピ閲覧を求めるレシピ利用者によるユーザ操作などにより選択された食材により作成可能な料理のレシピ(第1レシピ)が提示されるが、さらに追加する食材を想定した場合に作成可能なレシピのうちで選定されたレシピ(第3レシピ)も、ユーザ端末等において提示される。つまり第1レシピよりもバリエーションが豊かな状態で各種レシピを提示する。
なお「選択された食材」は、例えばユーザ操作により検索のために入力された食材、自動処理で選択された食材、ランダム選択されたものなどが想定される。
また食材情報が示す「食材」とは食材の種類や食材の量が想定される。
つまり一旦はレシピ利用者に対して第1レシピとして抽出されたレシピを提示するが、第1レシピの提示のみでそのレシピ利用者が満足しているか否か(例えば好ましいレシピがなくて作る料理を決められないでいるか否か)を所定の条件、例えば経過時間の条件や、提示したうちの個別のレシピの詳細情報のリクエスト数などの条件により推定する。そして提示に満足していない(例えば料理を決められていない)と推定したときに第3レシピを提示する。
つまり第1レシピとして抽出されたレシピについて、例えば料理ジャンルや料理名の種類が少ない場合に、所定の条件に応じて、第3レシピも提示するようにする。
異なる属性であることを第3レシピの選定条件とすることで、第1レシピに対して料理のバリエーションを増やす方向で第3レシピを選定する。
ここでいう属性とは、例えば料理種別の属性、又は調理工程の属性、又は味覚属性であることが考えられる。
料理種別の属性とは、例えば日本料理、中華料理、フランス料理等のジャンルや、ハンバーグステーキ、カレー、ラーメン等の料理名種別の属性などである。
調理工程の属性とは、例えば「焼く」「煮る」「蒸す」「揚げる」など調理作業にかかる属性である。
味覚属性とは、例えば「辛い」「甘い」「すっぱい」「甘辛」「味噌味」「醤油味」「塩味」などの味に関する情報の属性である。
追加食材として、例えばレシピ利用者が選択した食材との組み合わせを考慮して選択し、第2レシピ抽出処理として第2レシピを抽出する。
追加食材は、第2レシピ抽出のために選択するのであるが、レシピ利用者が選択できるレシピ(料理)の幅を広げるためには、多様な料理種別のレシピが抽出できるとよい。そこで、第1レシピにおいて存在しない料理種別で利用されやすい食材を用いることで、第1レシピには含まれていないジャンルのレシピが抽出できる可能性を高めるようにする。
追加食材を用いた第2レシピ(第3レシピ)は、ユーザ(レシピ利用者)が食材を用意しやすいなどの点で作りやすいものが望ましい。但し追加食材は、そのレシピ利用者がストックしているか否かは不明である。ただし該レシピ利用者がストックしていなくても、該レシピ利用者がそろそろ購入すると推定される食材であれば、そのレシピ利用者にとっても都合がよいことが想定される。そこで、ユーザの意思に基づかない追加食材として、ユーザが時期的に買いやすい食材を選択する。
追加食材を用いた第2レシピ(第3レシピ)は、ユーザ(レシピ利用者)がその追加食材を買いに行かなければ作れないレシピである可能性がある。一方で食材は時期によって価格が変動するが、一般にユーザは常に食材の価格を許容することはなく、各種食材について購入価格範囲(上限)を持っている。例えば「キャベツは250円以上となったら買わない」などである。そこで現在の価格が、ユーザ(レシピ利用者)の購入履歴における購入価格上限以下にある食材を追加食材として選択する。
この情報処理方法により、情報処理装置によって充実したレシピ提供が可能となる。
本発明に係るプログラムは、上記各ステップに相当する手順を情報処理装置に実行させるプログラムである。これにより上述の情報処理装置の処理を実現する。
<1.全体構成>
<2.ハードウエア構成>
<3.DB>
<4.端末とサーバ間の処理の流れ>
<5.第1の実施の形態>
[5−1:レシピ管理サーバの処理]
[5−2:レシピ選択処理]
[5−3:追加食材設定処理]
[5−4:第3レシピ選定処理]
<6.第2の実施の形態>
<7.第3の実施の形態>
<8.第4の実施の形態>
<9.まとめ>
<10.プログラム及び記憶媒体>
実施の形態におけるシステム全体構成を図1により説明する。実施の形態のシステムはレシピ利用者たるユーザに対して料理レシピ(以降では単にレシピという)を提供するサービスを実現するシステムとしている。
本例のシステムは図1に示すように、レシピ管理サーバ1、ユーザ端末3、EC(electronic commerce:電子商取引)サーバ4が、通信ネットワーク2を介して相互に通信可能な状態で接続されている。
レシピ管理サーバ1は、レシピデータベース50、ユーザデータベース51、検索データベース52、食材データベース53にアクセス可能とされている。
ECサーバ4はユーザデータベース51、商品データベース54にアクセス可能とされている。
なお、以下「データベース」については「DB」と表記する。
このレシピ管理サーバ1が、本発明請求項の情報処理装置の実施の形態に相当する。
また通信ネットワーク2の全部又は一部を構成する伝送媒体についても多様な例が想定される。例えばIEEE(Institute of Electrical and Electronics Engineers)1394、USB(Universal Serial Bus)、電力線搬送、電話線などの有線でも、IrDA(Infrared Data Association)のような赤外線、ブルートゥース(登録商標)、802.11無線、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。
以下では、ユーザ端末3を用いてレシピ利用者としてレシピの検索や閲覧を行っているユーザを表す場合は「レシピ利用者」と表記する。またレシピを投稿するユーザを表す場合は「レシピ提供者」と表記する。「ユーザ」はこれらの両者を含む場合に用いる。なお、「レシピ利用者」と「レシピ提供者」は必ずしも異なる個々の人物を示すものではない。レシピ利用者が、あるときはレシピ投稿者となることは当然に想定される。
ECサーバ4は、ユーザ端末3へ各種サービスを実現するためのウェブページデータを生成し、送信する処理を行う。
更に、ECサーバ4は、レシピ管理サーバ1からの要求に応じて各種情報をレシピ管理サーバ1へ送信する処理を行う。
レシピ管理サーバ1は、食材情報取得部1a、提示レシピ選択部1b、提示制御部1c、レシピ管理部1dを備えている。
なお食材情報取得部1a、提示レシピ選択部1b、提示制御部1c、レシピ管理部1dとしての各機能は、情報処理装置においてCPU(例えば後述する図3のCPU101)でプログラムに応じて実行される処理により実現される機能である。但し以下説明する全部又は一部の各構成の処理をハードウエアにより実現してもよい。
また各機能をソフトウエアで実現する場合に、各機能がそれぞれ独立したプログラムで実現される必要はない。1つのプログラムにより複数の機能の処理が実行されてもよいし、1つの機能が複数のプログラムモジュールの連携で実現されてもよい。
例えばレシピ管理部1dは、レシピ提供者が投稿したレシピに対して、レシピが属するカテゴリ情報とレシピに使用する食材情報とを紐付けて管理する。具体的には、あるレシピ提供者が投稿した「野菜カレー」のレシピは、料理種別「カレー」に属するレシピであり、使用食材情報として、「じゃがいも」、「人参」、「タマネギ」、「ブロッコリー」、「トマト」、「ほうれん草」が紐付けられる。
以下では説明上、あくまで一例ではあるが、次のように料理種別のレベル(分類の階層)が設定されているとする。
大分類レベル:「日本料理」「中華料理」などの地域別のレベル
中分類レベル:「カレー」「ハンバーグ」等の料理名単位のレベル
細分類レベル:「ビーフカレー」「チキンカレー」等の料理名内の詳細なレベル
レシピ管理部1dは、各レシピについて、このような各レベルでの種別管理も行う。
(A)大分類:和食(その他:洋食など)
中分類:肉料理
細分類:肉じゃが/牛肉のしぐれ煮など
中分類:魚料理
細分類:鯖の味噌煮/鮭のちゃんちゃん焼きなど
中分類:野菜料理
細分類:焼き野菜のロースト/きんぴらごぼうなど
(B)大分類:主食(その他:おかず/副菜など)
中分類:肉料理
細分類:ハンバーグ/コロッケなど
中分類:魚料理
細分類:タコのフリット/タラのムニエルなど
中分類:野菜料理
細分類:ポトフ/野菜のトマト煮など
また、レシピ管理部1dは、食材毎に、組み合わされて使用されやすい食材を管理する。例えば各種のレシピにおいて「じゃがいも」と「にんじん」が同時に用いられている例が多い場合、「じゃがいも」と「にんじん」を組み合わせられやすい食材として管理する。
レシピ管理部1dは、これらの管理を、食材DB53を用いて行う。
レシピ利用者は、レシピを探したいときにはユーザ端末3を用いてレシピ管理サーバ1が提供するウェブページを閲覧し、レシピ検索を行う。そのときに料理の種別(カテゴリ)や食材を入力して検索要求を行う。食材情報取得部1aは、そのようなレシピ利用者の操作により検索要求とともに送信されてきた食材情報を取得する。
なお、実施の形態の処理では、主に食材を検索キーとしてレシピを抽出し、レシピ利用者に提示する処理に特徴を有するものであるため、カテゴリを指定しての検索要求については言及しない。以下では、食材が指定された場合の検索要求に関して述べていく。
また、必ずしも食材情報はレシピ利用者の指定入力によるものとは限らない。例えばユーザ端末3におけるアプリケーションプログラム等により、ランダムに食材を選択したり、あるいは自動的に現在レシピ利用者がストックしている食材を指定したりして、レシピ検索要求を送信してくるようなことも考えられる。そのような場合も送信されてきた食材情報に基づいてレシピ管理サーバ1が後述する処理を行うことができる。
即ち提示レシピ選択部1bは、レシピ利用者が指定した検索条件(食材情報)に応じて、レシピDB50に記憶されたレシピからレシピ利用者に提示するレシピを検索する検索処理を実行する。そしてユーザ端末3において提示するレシピを決定する。
詳しくは後述するが、この提示レシピ選択の処理において提示レシピ選択部1bは、食材情報取得部が取得した食材情報で示される食材により作成可能なレシピを第1レシピとして抽出する第1レシピ抽出処理を行う。
また提示レシピ選択部1bは食材情報取得部1aが取得した食材情報で示される食材と追加食材により作成可能なレシピを第2レシピとして抽出する第2レシピ抽出処理を行う。
また提示レシピ選択部1bは第2レシピのうちで、少なくとも第1レシピに含まれないという条件を含む選定条件に合致するレシピを第3レシピとして選定する第3レシピ選定処理を行う。そして提示レシピ選択部1bは第1レシピ抽出処理で抽出した第1レシピと、第3レシピ選定処理で選定した第3レシピを提示レシピとする選択処理を行う。
また、提示制御部1cは、レシピ利用者の操作に応じた種々のウェブページデータを送信する処理を実行する。種々のウェブページデータとしては、例えばログイン画面のウェブページデータやレシピ詳細ページのウェブページデータや作成レポート投稿ページのウェブページデータなどである。
これらのウェブページのデータは、例えば、HTML(Hyper Text Markup Language)やXHTML(Extensible Hyper Text Markup Language)などの構造化文書ファイルである。構造化文書ファイルには、レシピ名や使用食材、或いは調理手順としてのテキストデータや料理画像等の画像データと、それらの配置や表示態様(文字色やフォントや大きさや装飾など)が記述されている。
図3は、図1に示したレシピ管理サーバ1、ユーザ端末3、ECサーバ4のハードウエア、及び、レシピDB50、ユーザDB51、検索DB52、食材DB53、商品DB54のハードウエアを例示する図である。それぞれのサーバや端末、DBにおけるコンピュータ装置のCPU(Central Processing Unit)101は、ROM(Read Only Memory)102に記憶されているプログラム、または記憶部108からRAM(Random Access Memory)103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
入出力インターフェース105には、入力部106、出力部107、記憶部108、通信部109が接続されている。
入力部106はキーボード、マウス、タッチパネルなどにより構成される。
出力部107はLCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、有機EL(Electroluminescence)パネルなどよりなるディスプレイ、並びにスピーカなどにより構成される。
記憶部108はHDD(Hard Disk Drive)やフラッシュメモリ装置などにより構成される。
通信部109はネットワーク1を介しての通信処理や機器間通信を行う。
入出力インターフェース105にはまた、必要に応じてメディアドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111が適宜装着され、リムーバブルメディア111に対する情報の書込や読出が行われる。
CPU101が各種のプログラムに基づいて処理動作を行うことで、レシピ管理サーバ1、ユーザ端末3、ECサーバ4等としての必要な情報処理や通信が実行される。
なお、レシピ管理サーバ1等を構成する情報処理装置は、図3のようなコンピュータ装置が単一で構成されることに限らず、複数のコンピュータ装置がシステム化されて構成されてもよい。複数のコンピュータ装置は、LAN等によりシステム化されていてもよいし、インターネット等を利用したVPN等により遠隔地に配置されたものでもよい。
各DBについて説明する。
レシピDB50は、レシピ提供者から投稿されたレシピの情報が記憶されるDBである。具体的には、図4に示すように、それぞれのレシピを識別可能なレシピIDに対して、レシピを投稿したレシピ提供者を特定するユーザIDと、投稿日時情報と、レシピが属するカテゴリ(料理種別)情報と、レシピの使用食材情報と、レシピの調理手順と、料理画像(完成した料理の画像や調理途中の料理の画像)などの画像情報と、レシピを実際に利用した(料理を作成した)他のユーザ(レシピ利用者)によって投稿された作成レポートを特定する作成レポートIDと、が紐付けられて記憶される。
また、レシピの詳細ページのURL(Uniform Resource Locator)情報がレシピIDに紐付けられて記憶されてもよい。
また、ユーザDB51には、ユーザごとの購入履歴情報が記憶される。例えば各種食材を電子商取引により購入した際の履歴情報が蓄積されている。
またユーザDB51には、ユーザ毎のレシピ閲覧履歴、レシピ投稿履歴なども記憶される。
例えばレシピ利用者の検索要求に応じて検索処理が実行され、その結果抽出された検索結果が検索キーワードに紐付けられて検索DB52に記憶される。このように紐付けが行われることで、検索要求があった際に新たな検索処理を実行せずに済む機会が増える。
なお、予め定期的に検索キーワードを用いた検索処理を実行しておき、その結果抽出された検索結果が検索キーワードに紐付けられて検索DB52に記憶されるようにしてもよい。
図5に例を示すが、食材DB53は、組み合わせられやすい食材の情報や、各種の料理種別毎に使用されやすい食材の情報が取得できる構成とされている。
例えば図示のように、「じゃがいも」「にんじん」「キャベツ」等の対象食材毎に、組み合わせられやすい食材の情報が登録されている。例えば「じゃがいも」に対しての「タマネギ」「にんじん」等である。
「組み合わせられやすい」とは、1つの料理に使用されることが多いという意味であり、この「組み合わせられやすい」食材の情報は、レシピDB50に登録されているレシピに基づいて生成すればよい。例えば「じゃがいも」を対象とした場合に、登録されているレシピの中で、じゃがいもとともに使われている食材のうちで、該当レシピ数が上位となる食材を「組み合わせられやすい食材」と判定して登録すればよい。
もちろん登録されているレシピに限らず、一般的な認識に基づいてこのような情報を生成し、登録しておくものでも良い。
また、検索時に同時に指定される頻度が高い食材を、組み合わせられやすい食材とすることも考えられる。
使用されやすい食材の情報は、例えばレシピDB50に登録されているレシピに基づいて生成すればよい。例えば「カレー」については、料理種別(中分類レベル)が「カレー」とされているレシピを収集し、それらの中で各食材の使用頻度(使用しているレシピ数)を確認し、上位となる食材を「使用されやすい食材」と判定して登録すればよい。
もちろん登録されているレシピに限らず、一般的な認識に基づいてこのような情報を生成し、登録しておくものでも良い。
本実施の形態に関しては、レシピ管理サーバ1はECサーバ4を介して商品DB54の情報を参照することで、例えば現在の食材の価格を把握することができる。
レシピ管理サーバ1とユーザ端末3が実行する処理の流れの一例について、図6を参照して説明する。
ここでは、レシピ管理サーバ1が提供する各種サービスを受けるために、レシピ利用者がユーザ端末3を用いてログイン操作を行い、レシピを検索する例を説明する。
ログイン画面情報要求処理によりユーザ端末3からレシピ管理サーバ1へログイン画面情報要求が送信されると、レシピ管理サーバ1はステップS201において、ログイン画面情報送信処理を実行する。
これにより、例えば、レシピ管理サーバ1から受信したレシピサイトのログイン画面情報(ウェブページデータ)に応じたウェブページがユーザ端末3上に表示される。
具体的には、レシピ管理サーバ1は、ユーザ端末3上で入力されたユーザIDとパスワードをユーザDB51に記憶された情報と比較して当該レシピ利用者のログイン可否を判定し、当該ログイン可否情報を認証結果としてユーザ端末3へ通知する。尚、認証結果をユーザ端末3へ返すと共に、レシピサイトのトップページのウェブページデータを送信してもよい。これにより、ユーザ認証がなされると共に、ユーザ端末3上にレシピサイトのトップページが表示される。
尚、図6に示す一連の流れは、ステップS202の認証処理においてログイン可と判定された場合を示している。ステップS202においてログイン不可と判定した場合は、ユーザ端末3は再度ステップS102の処理を実行し、これに応じてレシピ管理サーバ1はステップS202の処理を実行する。
この処理では、例えば、レシピ利用者によって指定された使用食材などが、検索結果を抽出するための情報(食材情報)として、レシピ管理サーバ1へ伝達される。
そしてレシピ管理サーバ1はステップS205で提示レシピ選択処理を行う。詳しくは後述するが、この提示レシピ選択処理では、取得した食材情報を検索キーとし、検索DB52に記憶された情報に基づいてレシピの検索を行い、結果を抽出する検索処理を含む。そして検索により抽出されたレシピの全部又は一部を提示すべきレシピとして選択する。
レシピ利用者が検索結果として表示された複数のレシピから一つのレシピを選択する操作を行うと、ユーザ端末3はステップS104において、レシピ選択処理を実行する。
レシピ選択処理は、レシピ利用者が選択したレシピが何れのレシピであるかを選択レシピ情報としてレシピ管理サーバ1に通知する。尚、この処理は、選択したレシピの詳細情報ページのウェブページデータを要求する処理である。
この処理によって、ユーザ端末3上に、レシピ利用者が選択したレシピに関する詳細情報が提示される。詳細情報とは、例えば、レシピに使用する食材情報や調理手順、調理器具情報などである。
<5.第1の実施の形態>
[5−1:レシピ管理サーバの処理]
図6で説明した処理の流れを実現するためにレシピ管理サーバ1が実行する処理例について、図7を参照して説明する。特にこの図7は、第1の実施の形態として、レシピ管理サーバ1が、食材情報に基づくレシピ一覧として、より数量の充実したレシピ一覧をレシピ利用者に提示できるようにする例である。レシピ管理サーバ1は図2で説明した機能により図7の処理を実行する。
具体的には、ステップS301においてログイン情報を受信したか否かを判定する処理を実行し、ステップS311において検索条件を受信したか否かを判定する処理を実行し、ステップS331においてウェブページデータの要求を受信したか否かを判定する処理を実行する。
なお、これら以外にもレシピ管理サーバ1では、作成レポートの投稿やレシピの投稿を受信した場合の処理等も行われるが、本実施の形態に直接関係しないため、それらの処理についての記載は省略している。
ステップS301において、ログイン情報を受信したと判定した場合、レシピ管理サーバ1はステップS302において認証処理を実行し、ステップS303において認証結果をユーザ端末3に通知する処理を実行する。
認証処理においては、ユーザ端末3から送られたログイン情報とユーザDB51に記憶されたユーザ情報(例えば、ユーザIDとログインパスワード)を照合し、ログインの可否を決定する。
検索条件は、レシピ利用者がユーザ端末3を用いて所望のレシピを検索する場合に指定した検索キーワードや除外キーワードなどであり、ユーザ端末3からレシピ管理サーバ1へ送信される。上述のように本実施の形態では食材を検索キーとするため、検索条件に少なくとも食材情報が含まれる場合を想定して説明する。
ウェブページデータ要求を受信したと判定した場合、レシピ管理サーバ1はステップS332において、要求のあったウェブページデータをDBから取得する処理を実行する。具体的には、ユーザページのウェブページデータや、レシピ詳細ページのウェブページデータや、特集ページのウェブページデータなどを取得する。
続いて、レシピ管理サーバ1はステップS333において、当該ウェブページデータをユーザ端末3へ送信する処理を実行する。これにより、ユーザ端末3上にレシピ利用者が所望したウェブページが表示される。
本実施の形態では、ステップS312、S313、S314の処理によりユーザ端末3において提示される検索結果レシピの一覧が、レシピ数として充実するようにしている。このためレシピ管理サーバ1は、ステップS313のレシピ選択処理を図8のように行う。
この場合、取得した食材情報で示される1又は複数の食材をキーとしてレシピ検索を行う。例えばレシピ利用者が「タマネギ」「じゃがいも」を選択して検索要求した場合であれば、このステップS401では食材としてタマネギとじゃがいものみを使って料理ができるレシピの検索が行われることになる。
なお、この場合の「のみ」とは、主たる食材が「タマネギ」「じゃがいも」のみという意味で、他に調味料、ソース、水等を使用するレシピであってもよいことは当然である。また主たる食材の全てを使用するレシピに限らない。つまり例えば「タマネギ」と「じゃがいも」のストックがある場合に可能なレシピという考え方で良い。従って例えばオニオンスライスのようにタマネギのみを使用する(ジャガイモを使用しない)レシピも抽出されるようにしてもよい。
このような検索によって抽出された1又は複数のレシピを、説明上「第1レシピ」とする。
例えば上記のように食材情報で「タマネギ」「じゃがいも」が指定されている状況で、「豚肉」など、プラスする食材を自動的に選んで、追加食材として設定する。
所定の条件とは各種考えられるが、少なくとも第2レシピの内で第1レシピに含まれないという条件がある。従って第1レシピと第3レシピに重複して該当するレシピは無い。 第3レシピ選定処理例については後述する。
このように選択された提示レシピが、図7のステップS314で検索結果一覧に載せられ、ユーザ端末3に送信される。つまり第1レシピと第3レシピとされたレシピが、レシピ利用者にとっては検索結果として認識するレシピとなる。
この検索結果としては、レシピ利用者が指定した食材のみで料理可能なレシピだけでなく、レシピ利用者が指定していない追加食材を加えて抽出したレシピも含まれていることになる。従って、レシピ利用者が指定した食材のみでは少数のレシピしか抽出されないような場合でも、より多数のレシピが検索結果として提示される。
ステップS402の追加食材設定処理の各種の例を説明する。
図9Aはレシピ管理サーバ1が追加食材をランダムに選択する例である。
レシピ管理サーバ1はステップS500で、多数の食材の中から1つの食材をランダムに選択する。
そしてレシピ管理サーバ1はステップS501で、その選択した食材が、取得した食材情報に含まれているか否かを確認する。つまり第1レシピ抽出の際の検索キーとなった食材であるか否かである。選択した食材が、取得した食材情報に含まれていなければ、ステップS502に進んで、その選択した食材を追加食材に設定する。
一方、選択した食材が、取得した食材情報に含まれていれば、それを追加食材とはせずステップS500に戻ってランダム選択をやり直す。
なお追加食材を複数とする場合、当該処理を複数回行えば良い。
レシピ管理サーバ1はステップS510で、ユーザ端末3から受信した食材情報、つまりレシピ利用者が指定した食材情報で示される食材のうちの1つを対象食材として取得する。
そしてステップS511でレシピ管理サーバ1は、当該対象食材に対して組み合わせられやすい食材を判定する。例えば対象食材をキーとして図5で説明した食材DBを検索し、その対象食材と組み合わせられやすい食材の情報を取得する。そして取得した食材のうちで、食材情報(レシピ利用者が指定した食材)に含まれない食材を判定する。
例えばレシピ利用者が指定した食材(食材情報で示される食材)が「じゃがいも」「タマネギ」の場合において、「じゃがいも」を対象食材とした場合、図5の食材DB53から組み合わせられやすい食材として「タマネギ」「にんじん」が取得される。「タマネギ」は食材情報に含まれているため「にんじん」を組み合わせられやすい食材と判定することになる。
このような処理により、レシピ利用者が指定していない食材であるが、指定した食材と組み合わせられやすい食材が選ばれて追加食材とされる。このため第2レシピとして、より多様なレシピが抽出される可能性が高まる。組み合わせられやすい食材の組で検索することで、該当するレシピ数が多くなると想定されるためである。
レシピ管理サーバ1はステップS520において、第1レシピの料理種別に存在しない料理種別を判定する。即ち図8のステップS401で抽出された第1レシピのそれぞれの料理種別を確認する。そしてそれらに該当しない料理種別を探す。
例えば第1レシピとなった複数のレシピが「中華料理」か「スペイン料理」のいずれかに該当するものであったときに、「日本料理」「ベトナム料理」などを、第1レシピに存在しない料理種別とする。
次にステップS521でレシピ管理サーバ1は、第1レシピに存在しない料理種別において使われやすい食材を判定する。複数の料理種別が、第1レシピに存在しない料理種別に該当した場合、その中で1つの料理種別を選択すれば良い。
そして例えば「日本料理」を第1レシピに存在しない料理種別と判別した場合、レシピ管理サーバ1は図5の食材DB53を検索して、日本料理で使われやすい食材の情報を得る。例えば「豆腐」「ネギ」等の情報を取得する。そしてこれら取得した食材のうちで食材情報(レシピ利用者が指定した食材)に含まれていない食材を選択する。
このような処理により、レシピ利用者が指定していない食材であり、かつ第1レシピとは傾向の違った料理でよく使用される食材が追加食材とされ、第2レシピの抽出が行われる。このため第2レシピとして、第1レシピとは異なる料理種別のレシピが抽出される可能性が高まる。
またこの場合の料理種別のレベルは、固定的でもよいし、レシピ利用者に応じたレベル設定、或いは第1レシピに応じたレベル設定などが考えられる。
固定的なレベル設定とは、料理種別とは「日本料理」「中華料理」というような大分類レベルに固定して、ステップS520の処理を行うとか、「カレー」「ハンバーグ」という中分類レベルに固定してステップS520の処理を行うとする例である。
レシピ利用者に応じたレベル設定とは、レシピ利用者のレシピ閲覧履歴、レシピ投稿履歴などに基づいて、そのレシピ利用者に合わせたレベルを用いるとする例である。例えば多様な料理のレシピを使用したり、検索したり、投稿しているレシピ利用者には、大分類レベル或いは中分類レベルの料理種別でステップS520の処理を行う。一方、常にカレーレシピの閲覧や投稿を行っているようなレシピ利用者に対しては「ビーフカレー」「チキンカレー」といったような、「カレー」の下の階層の細分類レベルの料理種別でステップS520の処理を行う。これによりレシピ利用者のレシピ検索の傾向に応じて、適応的に第2レシピ抽出を行うことができ、そのレシピ利用者にとって満足度の高い第3レシピ選定が可能となる。
第1レシピに応じたレベル設定とは、第1レシピに含まれる各レシピの料理種別の存在傾向に応じて種別レベルを設定する例である。例えば第1レシピにおいて大分類レベルで複数の料理種別が含まれていたら大分類レベルとしたり、第1レシピにおいて中分類レベルが1種類しかなければ細分類レベルに設定するなどの例である。
なお、この例はレシピ管理サーバ1が、レシピ利用者についての食材の在庫を精緻に管理できていない場合に適用することが考えられる処理である。
そしてステップS531でレシピ管理サーバ1は、そのレシピ利用者が購入したことのある食材毎の平均的な購入スパンを算出する。例えば「じゃがいも」「タマネギ」・・・などの各食材について、どの程度の時間間隔で購入しているかを算出する。そして例えば「じゃがいも」については1ヶ月間隔、「タマネギ」については2週間間隔などとして購入スパンを求める。
なおこのような算出は、予めバッチ処理で各ユーザに対して行って、ユーザDB51に登録しておくとよい。
例えば検索時点から過去の所定期間に購入された食材は、現在ストックしている可能性が高いと推定できる。
また、現在が購入タイミングに近い食材を判定するためには、各食材について、現在より上記の購入スパンだけ過去の時点付近で、その食材を購入しているか否かを判別する。求めた購入スパンだけ溯った過去の時点付近でその食材を購入していれば、その食材が当該レシピ利用者にとってそろそろ購入時期であり、検索時点から所定期間内に購入されると食材であると推定できる。
なお、このような「そろそろ購入タイミング」であるか否かの判定を行う食材としては、レシピ利用者が検索条件で指定した食材情報に含まれていない食材を対象とすれば良い。
またECサーバ4からより詳細な購入情報を取得し、例えば現在そのレシピ利用者に対して配送中の食材を選択するようにしてもよい。
レシピ管理サーバ1はステップS540において、各食材の現在の価格情報を取得する。例えばECサーバ4を介して商品DB54における現在の電子商取引市場での価格情報を取得する。
またステップS541でレシピ管理サーバ1は、レシピ利用者の購入履歴情報を例えばユーザDB51から取得する。
なおこのような算出は、予めバッチ処理で各ユーザに対して行って、ユーザDB51に登録しておいてもよい。
なお、現在価格でレシピ利用者の上限金額以下となっている食材が複数ある場合、それらの全部又は一部を選択して追加食材としてもよいし、例えば上限金額からの現在価格の低下率が高い順など、所定の条件で優先順位をつけて、1又は所定数の食材を選択してもよい。もちろん追加食材とするものとしては、レシピ利用者が指定した食材情報に含まれている食材を除く。
また上限金額は、例えば食材の過去の購入金額の平均価格として求めてもよい。
また上限金額として、検索時と同時期(時期とは、季節単位や月単位が想定される)の購入履歴に基づく最も高い価格や、或いは平均価格を用いてもよい。
また上限金額として、食材の流通量が略同一の期間の購入履歴に基づく最も高い価格や平均価格を用いてもよい。
例えば当該レシピ利用者がよく購入する食材(購入頻度が高い食材)を購入履歴情報から判別し、それを追加食材としてもよい。そのような食材は、レシピ利用者が指定しなかったとしてもストックしている可能性が高く、或いは購入に支障がない食材のため、レシピ利用者にとって有効な選択肢として考えやすいレシピが抽出できることになる。
また投稿されているレシピ全体の中で、使用食材のランキング等を行っておき、ランキング上位の食材を追加食材とすることも考えられる。この場合、第2レシピとして抽出されるレシピ数を多くできることになり、レシピ利用者に多様なレシピ提示の可能性を高めることができる。
例えば図9B、図9C、図10A、図10Bの各処理では、追加すべき食材が該当無しということになる可能性もある。そこで、該当無しの場合には図9Aの処理を行って追加食材を設定するなどである。
続いて図8のステップS404の第3レシピ選定処理の例を説明する。
上述したように抽出された第2レシピのうちから、レシピ利用者に提示するレシピとなる第3レシピを選定するわけであるが、第3レシピは少なくとも第1レシピに含まれないレシピとする。これは、第1レシピもレシピ利用者に提示するレシピとなるため、同じレシピを重複して提示してしまうことを避けるためである。
単に、このように第2レシピのうちで第1レシピに含まれないレシピを第3レシピとする例も考えられるが、以下ではレシピ利用者に対してより多様なレシピ提示を実現する第3レシピ選定手法を説明する。
レシピ管理サーバ1はステップS600で、第1レシピとされた各レシピの属性を取得する。ここでは各レシピの料理種別の情報を例えばレシピDB50から取得する。
ステップS601でレシピ管理サーバ1は、第2レシピとされた各レシピの属性として料理種別の情報を例えばレシピDB50から取得する。
ステップS602でレシピ管理サーバ1は、第2レシピの中で、第1レシピに存在しない料理種別のレシピを第3レシピに選定する。
レシピ利用者に応じた設定とは、上述したように、レシピ利用者のレシピ閲覧履歴、レシピ投稿履歴などに基づいて、そのレシピ利用者に合わせた料理種別のレベルを用いるとする例である
第1レシピに応じたレベル設定とは、上述したように、第1レシピにおける料理種別の存在傾向に応じた料理種別のレベルを用いる例である。
レシピ管理サーバ1はステップS610で、第1レシピとされた各レシピの属性として調理工程の情報を例えばレシピDB50から取得する。
ステップS611でレシピ管理サーバ1は、第2レシピとされた各レシピの属性として調理工程の情報を例えばレシピDB50から取得する。
ステップS612でレシピ管理サーバ1は、第2レシピの中で、第1レシピに存在しない調理工程を有するレシピを第3レシピに選定する。
例えば第1レシピには、「焼く」工程を主とする料理ばかりが存在し、第2レシピには、「焼く」レシピ、「煮る」レシピ、「揚げる」レシピが存在したとする。この場合、第2レシピにおける「煮る」レシピ、「揚げる」レシピを第3レシピとする。
これにより多様な調理工程を有するレシピをレシピ利用者に提示できる可能性を高めることができる。
レシピ管理サーバ1はステップS610で、第1レシピとされた各レシピの味覚属性の情報を例えばレシピDB50から取得する。
ステップS611でレシピ管理サーバ1は、第2レシピとされた各レシピの味覚属性の情報を例えばレシピDB50から取得する。
ステップS612でレシピ管理サーバ1は、第2レシピの中で、第1レシピに存在しない味覚属性を有するレシピを第3レシピに選定する。
例えば第1レシピには、「甘い」料理ばかりが存在し、第2レシピには、「甘い」料理のレシピと「辛い」料理のレシピが存在したとする。この場合、第2レシピにおける「辛い」料理のレシピを第3レシピとする。
これにより多様な味覚属性のレシピをレシピ利用者に提示できる可能性を高めることができる。
各処理では、第3レシピが該当無しとなる可能性もあるため、図11A、図11B、図11Cの処理のうちで、1つでも該当したレシピを第3レシピとすることも考えられる。
また図11A、図11B、図11Cのいずれの処理でも該当するレシピがない場合には、第2レシピのうちで第1レシピに含まれないレシピを第3レシピとするようにしてもよい。
逆に管理しているレシピ数が多くなると、いずれの処理でも該当するレシピが多数になりすぎる場合も考えられる。その場合は、図11A、図11B、図11Cの処理の全てに該当するレシピを第3レシピとするようにしてもよい。
またこれらの各処理の適用や組み合わせ、オア条件、アンド条件を、第1レシピ数や第2レシピ数に応じて適応的に変更してもよい。
第2の実施の形態について説明する。
なお、以降第2、第3、第4の実施の形態において、追加食材設定処理や第3レシピ選定処理については詳述を避けるが、上述のような多様な処理が適用できるものである。
上述の第1の実施の形態では、無条件に第3レシピ選定を行って第1レシピと共にユーザ端末3において提示させる例としたが、第2の実施の形態は、条件に応じて第3レシピ選定及び提示を行うようにする例である。
そして第1レシピ抽出が行われた時点でレシピ管理サーバ1はステップS410で、レシピ追加判定を行う。
このレシピ追加判定によってレシピ追加が必要と判定した場合に、レシピ管理サーバ1はステップS411からS402、S403、S404の処理に進み、第3レシピを選定する。そしてステップS405でレシピ管理サーバ1は提示レシピを選択する。この場合は第1レシピとして抽出された1又は複数のレシピと、第3レシピとされた1又は複数のレシピを、提示レシピとする。以上は、結果として第1の実施の形態と同様となる。
一方、レシピ追加判定によってレシピ追加が不要と判定した場合には、レシピ管理サーバ1はステップS411からS405に進み、提示レシピを選択する。この場合は第1レシピとして抽出された1又は複数のレシピを提示レシピとする。つまり第3レシピの選定及び提示は行われない。
図13Aはレシピ数に基づいて追加するか否かを判定する例である。
ステップS700でレシピ管理サーバ1は、変数RNにステップS401で抽出された第1レシピの数を代入する。
ステップS701でレシピ管理サーバ1は、変数RNと予め設定された判定閾値thRNを比較する。そしてレシピ管理サーバ1は、RN≦thRNであればステップS702でレシピ追加要と判定し、RN≦thRNでなければ、ステップS703でレシピ追加不要と判定する。
この判定の結果に応じて図12のステップS411での処理の分岐が行われる。
ステップS710でレシピ管理サーバ1は、判定のための料理種別レベルを設定する。例えば上述の大分類レベル〜細分類レベルのいずれかを選択する。この場合、固定的に或るレベルを選択しても良いし、レシピ利用者に応じて、或いは第1レシピに応じて、上述した考え方で大分類レベル〜細分類レベルのいずれかを選択するようにしてもよい。
偏り傾向の判定手法は多様に考えられる。例えば偏り傾向であると判定する基準として、
・1つの料理種別が全体の2/3以上の数を占めるか否か
・カウント値が1位の料理種別と2位の料理種別のカウント値の差が所定値以上か否か
・(第1レシピ数)/(料理種別数)の値が所定値未満か否か
などが考えられる。もちろんこれらに限られるものではない。例えば料理種別を数値化し、標準偏差或いは分散の値を基準値と比較することなどで判定しても良い。
この判定の結果に応じて図12のステップS411での処理の分岐が行われる。
なお、この図13Bの処理でレシピ追加を行うと判定した場合、ステップS402の追加食材設定として図9Cの処理を適用したり、ステップS404の第3レシピ選定では図11Aの処理を適用すると、提示するレシピの料理種別を増やすという意味で好適である。
またレシピ追加判定として、図13A、図13Bの両方を用い、そのOR条件、又はAND条件でレシピ追加を行うか否かを判定しても良い。
第3の実施の形態のレシピ管理サーバ1の処理を図14で説明する。なお図14において図7と同一の処理は同一のステップ番号を付し説明を省略する。
この第3の実施の形態は、一旦、第1レシピをレシピ利用者に提示するが、その後の状況に応じて第3レシピを追加的に提示するか否かを決める例である。
ユーザ端末3からの検索条件を受信してステップS311からS312に進んで食材情報を取得したら、ステップS313aで第1レシピ抽出のためのレシピ検索処理を行う。この場合レシピ管理サーバ1は、取得した食材情報に基づいてレシピDB50の検索を行って1又は複数のレシピを抽出し、第1レシピとする。
続いてレシピ管理サーバ1はステップS313bで提示レシピの選択を行うが、ここでは、抽出した1又は複数の第1レシピを全て提示レシピとする。そしてステップS314において提示制御処理を実行する。即ち第1レシピとして抽出された1又は複数のレシピの一覧として、レシピ検索結果一覧のウェブページデータを生成してユーザ端末3へ送信する。
またステップS316でレシピ管理サーバ1は、タイムカウント値TMを比較することで所定時間経過したか否かを判定するための閾値時間thTMを設定する。閾値時間thTMの設定処理については後述する。
なお、タイムカウント値TMの初期値(リセット値)は“0”であり、タイムカウント中以外は、ステップS321からS331に進む。
またタイムカウント開始後でも、タイムカウント値TMが閾値時間thTM以上となるまでは、ステップS321からS331に進む。
この場合レシピ管理サーバ1はステップS322で追加食材設定処理を行う(例えば図9A、図9B、図9C、図10A、図10B参照)。そしてレシピ管理サーバ1はステップS323で追加食材を加えた検索を行って第2レシピを抽出し、ステップS324で第2レシピのうちで第3レシピを選定する(例えば図11A、図11B参照)。
その後レシピ管理サーバ1はステップS325で追加提示レシピを選択する。つまり第3レシピを提示レシピと追加的に設定する。そしてステップS326で提示制御処理を行う。例えばそれまで提示していた第1レシピに第3レシピを追加したレシピ検索結果一覧のウェブページデータを生成してユーザ端末3へ送信する。これによりユーザ端末3では第3レシピも含めたレシピ一覧が提示される。
なおこの場合、第1レシピを含まない第3レシピのみの一覧とする例も考えられる。
そしてレシピ管理サーバ1はステップS327でタイムカウントを終了しタイムカウント値TMをリセットする。
但しこの図14の例では、レシピ管理サーバ1はステップS334で、今回要求されたウェブページが、検索結果として一覧表示させたレシピのうちの、特定のレシピの詳細ページであったか否かを確認する。
そしてレシピの詳細ページであった場合は、レシピ管理サーバ1はステップS335に進んでタイムカウントを終了し、タイムカウント値TMをリセットする。
もし第1レシピのみの一覧提示の際に、所定時間以内にレシピ利用者が或るレシピを選択して詳細ページ要求操作を行った場合は、ステップS335でタイムカウントが終了されるので、ステップS322〜S326は行われず、第3レシピの追加提示は行われない。これはレシピ利用者が第1レシピのみの提示で、作る料理を決めたと推定される場合である。
一方、第1レシピのみの一覧では、レシピ利用者にとって作りたいと思うレシピが挙げられておらず、レシピ利用者がどうしようか決めかねている状況を、詳細ページのリクエストが一定時間以上検知されないという観点で推定して、第3レシピを提示する。従ってレシピ利用者に対して第3レシピを新たな選択肢として有効に提示できる。
図15Aは閾値時間thTMとして固定値を用いる場合である。レシピ管理サーバ1はステップS800として閾値時間thTMとして予め記憶されている固定値を取得する。
ステップS810でレシピ管理サーバ1は、閾値時間判定のための料理種別レベルを設定する。例えば上述の大分類レベル〜細分類レベルのいずれかを選択する。この場合、固定的に或るレベルを選択しても良いし、上述の考え方で、レシピ利用者に応じて、或いは第1レシピに応じて大分類レベル〜細分類レベルのいずれかを選択するようにしてもよい。
そしてステップS813で、偏り傾向の段階に応じて閾値時間thTMの値を設定する。この場合、偏り傾向が大きいほど閾値時間thTMの値を短い値にする。
例えば第1レシピが同じような料理のレシピばかり(偏り傾向が高い)の場合、あまり時間をかけずとも、レシピ利用者は目的のレシピがないと判断しやすい。その場合、閾値時間thTMを短くすることで、早めにレシピ利用者に追加レシピを提示できる。
一方、第1レシピとしてバリエーション豊かなレシピが含まれている場合は、レシピ利用者はどのレシピを詳しく見ようか迷っていることも考えられるため、長めの時間を待機することが好適となる。
例えば第1レシピ一覧のうちの個別のレシピの詳細情報の取得要求時点や詳細情報の送信時点からタイムカウントを開始し、その後、所定時間経過によりステップS322〜S327が行われるような例も考えられる。
また第1レシピ一覧を表示させ、ステップS315や、検索条件受信時などをタイムカウントの開始タイミングとし、その後、特に条件付けを行わず、所定時間(例えば閾値時間thTM)経過したら、必ずステップS322〜S326を行うようにする例も考えられる。例えばレシピ利用者が詳細情報のリクエストを行うか行わないかに関わらず、一覧提示されるレシピ数が時間経過により増加するような処理例である。
さらに時間経過により段階的にレシピ数が追加していくような処理例もあり得る。例えば10秒経過時点でステップS322〜S326を行って提示レシピ数を追加し、さらに20秒経過時点で再びステップS322〜S326を行って提示レシピ数を追加するような処理である。2回目以降のステップS322では、前回と異なる追加食材を設定することで、提示レシピを段階的に増やしていくことができる。
第4の実施の形態のレシピ管理サーバ1の処理を図16で説明する。なお図16において図7、図14と同一の処理は同一のステップ番号を付し説明を省略する。
この第4の実施の形態も、一旦、第1レシピをレシピ利用者に提示するが、その後の状況に応じて第3レシピを追加的に提示するか否かを決める例である。
但しこの図16の例では、レシピ管理サーバ1はステップS334で、今回要求されたウェブページが一覧提示したレシピのうちの特定のレシピの詳細ページであったか否かを確認する。
そしてレシピの詳細ページであった場合は、ステップS336に進んで、カウント値Crqをインクリメントする。
従って、第1レシピの一覧がユーザ端末3において提示された後、レシピ利用者が特定のレシピを選択して詳細ページ要求の操作を行う毎にカウント値Crqが加算されていく。カウント値Crqは、詳細ページのリクエスト回数を示したものとなる。
ステップS321AからS322に進むのは、第1レシピをユーザ端末3に提示させてから、詳細ページのリクエスト回数が閾値thCとして設定した回数を超えた場合である。
この場合レシピ管理サーバ1はステップS322で追加食材設定処理を行う(例えば図9A、図9B、図9C、図10A、図10B参照)。そしてレシピ管理サーバ1はステップS323で追加食材を加えた検索を行って第2レシピを抽出し、ステップS324で第2レシピのうちで第3レシピを選定する(例えば図11A、図11B参照)。
その後レシピ管理サーバ1はステップS325で追加提示レシピを選択する。つまり第3レシピを提示レシピと追加的に設定する。そしてステップS326で提示制御処理を行う。例えばそれまで提示していた第1レシピに第3レシピを追加したレシピ検索結果一覧のウェブページデータを生成してユーザ端末3へ送信する。これによりユーザ端末3では第3レシピも含めたレシピ一覧が提示される。
なおこの場合、第1レシピを含まない第3レシピのみの一覧とする例も考えられる。
そしてレシピ管理サーバ1はステップS328でカウント値Crqをリセットする。
即ち図15Aの閾値時間thTMのように、閾値thCとして固定値を用いることが考えられる。
このように閾値thCの値を設定すると、第1レシピの料理種別のバリエーションに応じて、レシピ利用者の状況を適切に推定しやすくなる。
例えば第1レシピが同じような料理のレシピばかり(偏り傾向が高い)の場合、早めにレシピ利用者が迷っていると判定して、早めに追加レシピを提示できる。
一方、第1レシピとしてバリエーション豊かなレシピが含まれている場合は、レシピ利用者は多数のレシピについて詳しく見ようとすることが考えられるため、回数の閾値thCを高くすることが好適となる。
以上、実施の形態について説明してきたが、実施の形態では以下の効果が得られる。
第1〜第4の実施の形態のレシピ管理サーバ1(情報処理装置)は、選択された食材を示す食材情報を取得する食材情報取得部1aと、食材情報取得部1aが取得した食材情報に基づいて提示レシピを選択する提示レシピ選択部1bと、提示レシピ選択部1bが選択した提示レシピについて提示制御を行う提示制御部1cとを備えている。
そして提示レシピ選択部1bは、食材情報取得部1aが取得した食材情報で示される食材により作成可能なレシピを第1レシピとして抽出する第1レシピ抽出処理(S401、S313a)を行う。また提示レシピ選択部1bは、食材情報取得部1aが取得した食材情報で示される食材と追加食材により作成可能なレシピを第2レシピとして抽出する第2レシピ抽出処理(S403、S323)を行う。また提示レシピ選択部1bは、第2レシピのうちで、少なくとも第1レシピに含まれないという条件を含む選定条件に合致するレシピを第3レシピとして選定する第3レシピ選定処理(S404、S324)と、第1レシピと第3レシピを提示レシピとする選択処理(S405、S325)を行う。
例えばレシピ利用者が選択した食材の条件のみで抽出した第1レシピの提示を行うのみであると、食材情報によっては、非常に少数のレシピしか提示できない場合も生ずる。するとレシピ利用者にとっては満足のいくレシピ探しが行えない場合もある。そこで例えばレシピ利用者が選択した食材の情報にある程度対応した第3レシピを選定して、これも提示できるようにすることで、検索時にレシピ利用者に提示できるレシピ数を多くすることができる。
これにより例えばレシピ利用者による検索時などに多様なレシピを紹介できる。即ち、追加となる食材の数や種類を抑制しつつ、十分な数量のレシピの選択肢を提示でき、レシピ提供サービスの使用性を向上させることができる。
しかも提示されるレシピ(第1レシピ、第3レシピ)はレシピ利用者の選択等による食材情報に基づくため、レシピ利用者にとって現状で作りやすい料理のレシピとなる。
また第3レシピはレシピ利用者が指定した食材と追加食材で調理可能なレシピであるが、このようなレシピを提示させるためにレシピ利用者が追加で食材を指定する操作を行う必要はない。これによりレシピ利用者の操作負担を減少できていることになる。
従ってレシピ利用者によるレシピ選択時の充実感を向上させるとともに、短時間で容易に望みのレシピを発見できるような使用性の良いレシピ提供システムを実現できる。
またこれによって、検索のし直しなども減少することが見込まれるため、通信量の削減や、それによる通信トラフィックの有効利用を促進できる。
更に、レシピ利用者の利用するユーザ端末における限られた(例えば、モニタなどの)提示領域において、価値のある情報(レシピ)を提示することにより、ユーザ端末の資源を有効活用することができる。
例えば第3の実施の形態では、レシピ管理サーバ1は、第1レシピ抽出処理で抽出された第1レシピを提示レシピとしてユーザ端末3で提示させた場合において、経過時間(タイムカウント値TM)が所定の閾値時間thTMを越えることを条件の1つとして、第2レシピ抽出処理及び第3レシピ選定処理を行って、第3レシピを提示レシピとし、ユーザ端末3で提示させる(図14のS321〜S326)。つまり一旦はレシピ利用者に対して第1レシピとして抽出されたレシピを提示するが、第1レシピの提示のみでレシピ利用者が満足しているか否か(レシピ利用者にとって作りたいと思える料理が提示されているか否か)を経過時間により推定する。そしてレシピ利用者にとって十分なレシピ提示が行われていないと推定したときに第3レシピを追加提示する。
これによりレシピ利用者にとってのレシピ選択の幅を広げ、レシピ利用者の満足度を高めることが期待できる。またサーバとしての処理負担やトラフィック負担をむやみに増大させないことにもなる。
また例えば第4の実施の形態では、レシピ管理サーバ1は、第1レシピ抽出処理で抽出された第1レシピを提示レシピとしてユーザ端末3で提示させた場合において、提示したレシピについての個別詳細情報のリクエスト数(カウント値Crq)が所定の閾値thCを越えることを条件の1つとして、第2レシピ抽出処理及び第3レシピ選定処理を行って、第3レシピを提示レシピとし、ユーザ端末3で提示させる(図16のS321A〜S326)。
つまり一旦はレシピ利用者に対して第1レシピとして抽出されたレシピを提示するが、第1レシピの提示のみでレシピ利用者が満足しているか否か(作る料理を決められないでいるか否か)を、提示したうちの個別のレシピの詳細情報のリクエスト数により推定する。そして料理を決められていないと推定したときに第3レシピを提示する。
例えば第1レシピを提示した場合に、提示した第1レシピのうちの多数について個別詳細情報がリクエストされる場合は、レシピ利用者が、料理を決めかねて、各レシピを詳しく確認していることが推定される。このようにレシピ利用者が迷っていると推定されるときに、追加的に第3レシピを提示できる。これによりレシピ利用者にとってのレシピ選択の幅を広げ、レシピ利用者の満足度を高めることが期待できる。またサーバとしての処理負担やトラフィック負担をむやみに増大させない利点もある。
つまり第1レシピとして抽出されたレシピについて、例えば料理ジャンルや料理名の種類が少ない場合に、第3レシピも提示する。
例えば第1レシピのみで、多様な料理種別のレシピが抽出された場合は、第1レシピのみの提示でもレシピ利用者は多様な料理のレシピを選ぶことができ、十分にレシピ利用者に満足を与えることが期待できる。そこで第3レシピを提示するのは、第1レシピとして抽出された1又は複数のレシピの料理種別に偏りがある場合、つまり第1レシピのみの提示では、多様な料理種別をレシピ利用者に提案できない場合とする。
これにより常に満足度の高いレシピ提示を実現しつつ、第1レシピのみで十分な選択肢が提供できている場合には追加の処理や情報転送を行う必要は無いため、処理負担をむやみに増大させないようにすることができ、ネットワークを介して多数のレシピ利用者にレシピ提供サービスを行うサーバとして好適である。もちろんデータ通信のためのトラフィックをむやみに増大させないという点でも望ましい。
例えば第3の実施の形態において図15Bの処理を適用する場合、第1レシピについて料理種別の偏り傾向の判定を行い、判定結果に応じて閾値時間thTMを設定する。つまり第1レシピとして抽出されたレシピについて、料理の種類が多いか少ないかにより閾値時間thTMを可変設定する。
第1レシピとして料理種別が少ない場合、レシピ利用者がどのレシピも用いないと判断するまでの時間は短くなることが通常考えられる。一方、第1レシピとして料理種別が多い場合は、レシピ利用者が選択に迷う時間が長くなることが通常考えられる。つまり第1レシピのみを提示した状態において、レシピ利用者にとって望ましいレシピが提示されていないと推定するための時間は提示された料理種別の多寡に応じたものとなりやすい。これを考慮すると、閾値時間を料理種別の偏り傾向に応じて可変設定することで、第3レシピを提示するか否かの判定を、より的確に行うようことができる。これによってレシピ利用者の満足度の高いレシピ提示を促進できる。
また第4の実施の形態においても、図15Bのような処理、即ち第1レシピについて、料理種別の偏り傾向の判定を行い、判定結果に応じて閾値thCを設定することができる。つまり第1レシピとして抽出されたレシピについて、料理の種類が多いか少ないかにより閾値時間thTMを可変設定する。
例えば第1レシピとして料理種別が少ない場合、レシピ利用者が個別詳細情報をリクエストする回数は、料理種別が多い場合に比べて少なくなると想定される。例えば料理種別が多ければ、各料理種別について詳細情報を確認することでリクエスト回数が増える傾向となる。このため、レシピ利用者が迷っているか否かを推定する基準は、提示したレシピの料理種別に応じて可変設定する。これにより、レシピ利用者が迷っている状況をより正確に推定し、より適切に第3レシピの提示を行うことができ、満足度の高いレシピ提示を促進できる。
異なる属性であることを第3レシピの選定条件とすることで、第1レシピに対して料理のバリエーションを増やす方向で第3レシピを選定することができ、これにより第1及び第3レシピとして多様な料理のレシピをレシピ利用者に提示できる。
特に、図11A、図11B、図11Cで例示した属性とは、料理種別の属性、調理工程の属性、味覚属性である。このような各種属性の異なるものを第3レシピとすることで、多様な料理のレシピをレシピ利用者に提示できる。
即ち追加食材として、例えばレシピ利用者が選択した食材との組み合わせを考慮して設定する。これによりレシピ利用者にとって作りやすい料理のレシピが第3レシピとして選定される可能性を高めることができる。
追加食材は、第2レシピ抽出のために選択するのであるが、レシピ利用者が選択できるレシピ(料理)の幅を広げるためには、多様な料理種別のレシピが抽出できるとよい。そこで、第1レシピにおいて存在しない料理種別で利用されやすい食材を用いることで、第1レシピには含まれていないジャンルのレシピが抽出できる可能性を高めるようにする。
これにより第3レシピ提示によりレシピ利用者の料理の選択の幅を広げることができる。例えば第1レシピとされたレシピが日本料理に偏っていた場合、中華料理やイタリア料理などで用いられやすい食材を追加食材として第2レシピ抽出を行う。すると第3レシピを提示した際に多様な料理ジャンルのレシピをレシピ利用者に紹介できる。従って満足度の高いレシピ提示を促進できる。
追加食材を用いた第2レシピ(第3レシピ)は、レシピ利用者が食材を用意しやすいなどの点で作りやすいものが望ましい。但し追加食材は、レシピ利用者がストックしているか否かは不明である。そこでレシピ利用者の意思に基づかない追加食材として、ストックしていると推定される食材を選択することが好適となる。
またレシピ利用者がストックしていなくても、レシピ利用者がそろそろ購入すると推定される食材であれば、レシピ利用者にとって都合がよい。追加食材はレシピ利用者にとっては購入しやすく、もしくは既に購入しているかもしれない食材である可能性も高いためである。そこで、レシピ利用者の意思に基づかない追加食材として、レシピ利用者が時期的に買いやすい食材を選択する。
これにより第3レシピ提示によりレシピ利用者が作りやすい料理のレシピを加えて提示する可能性を高めることができる。
追加食材を用いた第2レシピ(第3レシピ)は、レシピ利用者がその追加食材を買いに行かなければ作れないレシピである可能性がある。一方で食材は時期によって価格が変動するが、レシピ利用者は常に食材の価格を許容することはなく、各種食材について購入価格範囲(上限)を持っている。例えば「キャベツは250円以上となったら買わない」などである。そこで現在の価格が、レシピ利用者の購入履歴における購入価格上限以下にある食材を追加食材として選択する。
これにより第3レシピは、レシピ利用者が購入してもよいと考える食材を用いたレシピ、つまりレシピ利用者が作りやすい料理のレシピとなる可能性を高めることができる。
本発明の実施の形態のプログラムは、レシピ管理サーバ1における食材情報取得部1a、提示レシピ選択部1b、提示制御部1cの機能による処理を情報処理装置(CPU等)に実行させるプログラムである。
即ちこのプログラムは、情報処理装置に対して図7〜図16で説明した各実施の形態の処理を実行させるプログラムである。
そしてこのようなプログラムはコンピュータ装置等の機器に内蔵されている記憶媒体としてのHDDや、CPUを有するマイクロコンピュータ内のROM等に予め記憶しておくことができる。あるいはまた、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスクなどのリムーバブル記憶媒体に、一時的あるいは永続的に格納(記憶)しておくことができる。またこのようなリムーバブル記憶媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記憶媒体からパーソナルコンピュータ等にインストールする他、ダウンロードサイトから、LAN、インターネットなどのネットワークを介してダウンロードすることもできる。
Claims (10)
- 選択された食材を示す食材情報を取得する食材情報取得部と、
前記食材情報取得部が取得した食材情報に基づいて提示レシピを選択する提示レシピ選択部と、
前記提示レシピ選択部が選択した提示レシピについて提示制御を行う提示制御部と、
を備え、
前記提示レシピ選択部は、
前記食材情報取得部が取得した食材情報で示される食材により作成可能なレシピを第1レシピとして抽出する第1レシピ抽出処理と、
前記食材情報取得部が取得した食材情報で示される食材と追加食材により作成可能なレシピを第2レシピとして抽出する第2レシピ抽出処理と、
前記第2レシピのうちで、少なくとも前記第1レシピに含まれないという条件を含む選定条件に合致するレシピを第3レシピとして選定する第3レシピ選定処理と、
前記第1レシピと前記第3レシピを前記提示レシピとする選択処理を行う
情報処理装置。 - 前記提示レシピ選択部は、
前記第1レシピ抽出処理で抽出された第1レシピを提示レシピとして、前記提示制御部によって端末装置で提示させた場合において、所定の条件に基づいて前記第2レシピ抽出処理及び前記第3レシピ選定処理を行って、前記第3レシピを提示レシピとし、前記提示制御部によって端末装置で提示させる
請求項1に記載の情報処理装置。 - 前記提示レシピ選択部は、
前記第1レシピ抽出処理で抽出された第1レシピについて、料理種別の偏り傾向の判定を行い、偏り傾向に応じて設定された条件に基づいて前記第2レシピ抽出処理及び前記第3レシピ選定処理を行う
請求項1又は請求項2に記載の情報処理装置。 - 前記提示レシピ選択部は、
前記第3レシピ選定処理において、前記第1レシピに含まれず、かつ前記第1レシピと異なる属性を有するという選定条件に合致するレシピを第3レシピとして選定する
請求項1乃至請求項3のいずれかに記載の情報処理装置。 - 前記提示レシピ選択部は、
前記追加食材として、前記食材情報取得部が取得した食材情報で示される食材と組み合わされやすい食材を選択して前記第2レシピ抽出処理を行う
請求項1乃至請求項4のいずれかに記載の情報処理装置。 - 前記提示レシピ選択部は、
前記追加食材として、前記第1レシピが該当しない料理種別において利用されやすい食材を選択して前記第2レシピ抽出処理を行う
請求項1乃至請求項4のいずれかに記載の情報処理装置。 - 前記提示レシピ選択部は、
端末装置を用いて食材を選択してレシピ提示要求を行ったユーザの購入履歴情報から、現在が購入時期にあたる食材を推定する処理を行い、推定された食材を前記追加食材として前記第2レシピ抽出処理を行う
請求項1乃至請求項4のいずれかに記載の情報処理装置。 - 前記提示レシピ選択部は、
端末装置を用いて食材を選択してレシピ提示要求を行ったユーザの購入履歴情報に基づいて、各食材についての当該ユーザの購入価格上限を設定し、現在の価格が当該ユーザの購入価格上限以下である食材を前記追加食材として前記第2レシピ抽出処理を行う
請求項1乃至請求項4のいずれかに記載の情報処理装置。 - 情報処理装置が実行する情報処理方法として、
選択された食材を示す食材情報を取得する食材情報取得ステップと、
前記食材情報取得ステップで取得した食材情報で示される食材により作成可能なレシピを第1レシピとして抽出する第1レシピ抽出ステップと、
前記食材情報取得ステップで取得した食材情報で示される食材と追加食材により作成可能なレシピを第2レシピとして抽出する第2レシピ抽出ステップと、
前記第2レシピのうちで、少なくとも前記第1レシピに含まれないという条件を含む選定条件に合致するレシピを第3レシピとして選定する第3レシピ選定ステップと、
前記第1レシピ抽出ステップで抽出した第1レシピと、前記第3レシピ選定ステップで選定した第3レシピとについて提示制御を行う提示制御ステップと、
を行う
情報処理方法。 - 選択された食材を示す食材情報を取得する食材情報取得手順と、
前記食材情報取得手順で取得した食材情報で示される食材により作成可能なレシピを第1レシピとして抽出する第1レシピ抽出手順と、
前記食材情報取得手順で取得した食材情報で示される食材と追加食材により作成可能なレシピを第2レシピとして抽出する第2レシピ抽出手順と、
前記第2レシピのうちで、少なくとも前記第1レシピに含まれないという条件を含む選定条件に合致するレシピを第3レシピとして選定する第3レシピ選定手順と、
前記第1レシピ抽出手順で抽出した第1レシピと、前記第3レシピ選定手順で選定した第3レシピとについて提示制御を行う提示制御手順と、
を情報処理装置に実行させるプログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/061393 WO2017175353A1 (ja) | 2016-04-07 | 2016-04-07 | 情報処理装置、情報処理方法、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6279823B1 true JP6279823B1 (ja) | 2018-02-14 |
JPWO2017175353A1 JPWO2017175353A1 (ja) | 2018-04-12 |
Family
ID=60000943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017551733A Active JP6279823B1 (ja) | 2016-04-07 | 2016-04-07 | 情報処理装置、情報処理方法、プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6279823B1 (ja) |
WO (1) | WO2017175353A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020197945A (ja) * | 2019-06-03 | 2020-12-10 | 東芝テック株式会社 | 検索装置及びプログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7182979B2 (ja) * | 2018-10-02 | 2022-12-05 | 東芝テック株式会社 | 提示装置及び提示方法 |
JP2021182283A (ja) * | 2020-05-19 | 2021-11-25 | トヨタホーム株式会社 | 献立提案システム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08339397A (ja) * | 1995-06-13 | 1996-12-24 | Brother Ind Ltd | 電子献立作成装置 |
JP2001256346A (ja) * | 2000-03-09 | 2001-09-21 | Susumu Kawakami | 献立管理システム及び献立管理方法並びに記録媒体 |
JP2006277410A (ja) * | 2005-03-29 | 2006-10-12 | Toshiba Corp | 料理レシピ提案装置、料理レシピ提案方法、およびその方法をコンピュータで実行させるプログラム。 |
JP2008108053A (ja) * | 2006-10-25 | 2008-05-08 | Nec Corp | 食材購入支援方法及びそのシステム |
-
2016
- 2016-04-07 WO PCT/JP2016/061393 patent/WO2017175353A1/ja active Application Filing
- 2016-04-07 JP JP2017551733A patent/JP6279823B1/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08339397A (ja) * | 1995-06-13 | 1996-12-24 | Brother Ind Ltd | 電子献立作成装置 |
JP2001256346A (ja) * | 2000-03-09 | 2001-09-21 | Susumu Kawakami | 献立管理システム及び献立管理方法並びに記録媒体 |
JP2006277410A (ja) * | 2005-03-29 | 2006-10-12 | Toshiba Corp | 料理レシピ提案装置、料理レシピ提案方法、およびその方法をコンピュータで実行させるプログラム。 |
JP2008108053A (ja) * | 2006-10-25 | 2008-05-08 | Nec Corp | 食材購入支援方法及びそのシステム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020197945A (ja) * | 2019-06-03 | 2020-12-10 | 東芝テック株式会社 | 検索装置及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2017175353A1 (ja) | 2017-10-12 |
JPWO2017175353A1 (ja) | 2018-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10474705B2 (en) | Iterative image search algorithm informed by continuous human-machine input feedback | |
JP6291145B2 (ja) | 情報処理装置、情報処理方法、プログラム、記憶媒体 | |
JP5956706B1 (ja) | 情報処理システム、情報処理装置、情報処理方法、プログラム | |
JP6046834B1 (ja) | 情報処理装置、情報処理方法、プログラム、記憶媒体 | |
US10664902B2 (en) | Setting and displaying allocation quantities for allocating amounts of a food product to multiple users while meeting user restriction and demand conditions | |
JP6641460B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
JP6279823B1 (ja) | 情報処理装置、情報処理方法、プログラム | |
US20150120705A1 (en) | Cuisine search device, cuisine search method, program, and computer-readable storage medium | |
JP6262923B1 (ja) | 情報処理装置、情報処理方法、プログラム | |
JP6599530B1 (ja) | 情報処理装置、情報処理方法、プログラム、記憶媒体 | |
US11036788B2 (en) | Information processing device, information processing method, program, and storage medium | |
JP6542963B1 (ja) | 情報処理装置、情報処理方法、プログラム、記憶媒体 | |
JP7095267B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6890747B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
JP2019169097A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6885253B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6800983B2 (ja) | 情報処理装置、情報処理方法、プログラム、記憶媒体 | |
JP6275932B1 (ja) | 情報処理装置、情報処理方法、プログラム | |
JP2020194286A (ja) | 情報処理装置、情報処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20171205 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180117 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6279823 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |