(58)【調査した分野】(Int.Cl.,DB名)
前記提示制御部は、レシピの検索結果を提示する場合に、前記取得時期が直近の所定の期間内である所持器具が使用器具情報として設定されたレシピの提示優先度を上げてユーザに提示する
請求項4に記載の情報処理装置。
前記推定情報管理部は、前記適応力推定情報として、レシピの利用において行われる作業のうち当該ユーザにとって対応が可能と推定される作業の情報である対応可能作業推定情報を管理する
請求項1に記載の情報処理装置。
【発明を実施するための形態】
【0018】
以下、実施の形態を次の順序で説明する。
<1.全体構成>
<2.処理の流れ>
[2−1.レシピ検索の処理の流れ]
[2−2.利用推定処理]
[2−3.適応力推定処理]
[2−4.利用日時推定処理]
[2−5.取得時期推定処理]
[2−6.所持器具差分取得処理]
[2−7.提示制御処理]
〜2−7−1.第1例〜
〜2−7−2.第2例〜
〜2−7−3.第3例〜
〜2−7−4.第4例〜
〜2−7−5.第5例〜
<3.まとめ>
<4.プログラム及び記憶媒体>
【0019】
<1.全体構成>
先ず、本発明の実施の形態における全体構成を説明する。
尚、以下の説明においては、レシピの一例として料理のレシピを挙げて説明する。
本発明の情報処理装置を含む全体構成は、
図1に示すように、レシピサーバ1、EC(Electric Commerce)サーバ3、ユーザ端末4,4,4,・・・が通信ネットワーク2を介して相互に通信可能な状態でそれぞれ接続されている。レシピサーバ1は、本発明の情報処理装置の実施の形態に相当する。
通信ネットワーク2の構成は特に限定されるものではなく、例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、CATV(Community Antenna TeleVision)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網などが想定される。
また通信ネットワーク2の全部又は一部を構成する伝送媒体についても多様な例が想定される。例えばIEEE(Institute of Electrical and Electronics Engineers)1394、USB(Universal Serial Bus)、電力線搬送、電話線などの有線でも、IrDA(Infrared Data Association)のような赤外線、ブルートゥース(登録商標)、802.11無線、携帯電話網、衛星回線、地上波デジタル網などの無線でも利用可能である。
【0020】
レシピサーバ1は、料理のレシピ情報を提供するサービスを提供するための各処理を実行する情報処理装置である。具体的には、ユーザによって指定された検索キーワードに応じたレシピ検索処理の実行し、抽出したレシピや後述するレシピに関連した各種情報をユーザ端末4へ表示させる提示制御処理などを実行する。提示制御処理においては、ユーザ端末4へ情報を表示させるためのウェブページデータを生成して送信する。
また、レシピサーバ1は後述するユーザの挙動からユーザに関する推定情報を生成する推定情報生成処理(利用推定処理、所持器具推定処理、対応可能作業推定処理など)を行う。利用推定処理においては、レシピをユーザが利用したか否かを推定する情報を利用推定情報として生成する。また、所持器具推定処理においては、ユーザが所持していると推定される器具(調理器具)の情報を所持器具推定情報として生成する。更に、対応可能作業推定処理においては、ユーザが対応可能な作業(例えば調理方法)や調理器具の情報を対応可能作業推定情報として生成する。各情報の詳細については、後述する。
更に、レシピサーバ1は、ユーザの各種推定情報に応じた広告情報をECサーバ3へ要求する処理を行う。
【0021】
上記の処理を行うために、レシピサーバ1は、推定情報DB(Database)50、ユーザDB51、レシピDB52、挙動ログDB53と接続され、情報の記憶や読み出しが可能とされる。
【0022】
推定情報DB50には、推定情報生成処理で生成された推定情報などがユーザ識別情報に紐付けられて記憶される。尚、以降の説明においては、ユーザ識別情報としてユーザID(Identification)を例に挙げる。
ユーザDB51には、ユーザの識別情報としてのユーザID、レシピサーバが提供するサービスへログインするためのログインパスワードなどが記憶される。その他にも、ユーザの電子メールアドレスや電話番号、端末情報などが記憶されてもよい。
レシピDB52には、ユーザに提供するレシピ情報が記憶される。レシピ情報としては、例えば、料理ごとの食材情報や数量(分量)情報、調理方法(必要作業情報)などが記憶される。また、本実施の形態においては、調理の際に使用する調理器具の情報(使用器具情報)も併せて記憶される。
挙動ログDB53には、レシピサーバ1が提供する各種サービスをユーザが利用する際の各種挙動の情報がユーザIDに紐付けられて記憶される。具体的には、レシピを閲覧した時間やレシピを閲覧する際のスクロール態様、マウスカーソルの位置、印刷操作の有無、お気に入りへ登録する操作の有無などである。また、レシピの閲覧履歴などが記憶されてもよい。
【0023】
ECサーバ3は、商品の取引に関する各種サービスを提供する情報処理装置である。各種サービスとは、例えば、電子商取引で扱っている商品群の中からユーザが所望する商品を検索して提示する商品検索サービスや、商品提供者が販売したい商品を管理する商品管理サービスや、ユーザ情報を管理し必要に応じて提示するユーザ情報管理サービスや、商品提供者の情報を管理し必要に応じて提示する商品提供者情報管理サービスや、商品の売買が成立した際の代金のやりとりを仲介する決済処理サービスなどである。
ECサーバ3は、ユーザ端末4へ各種サービスを実現するためのウェブページデータを生成し、送信する処理を行う。
また、ECサーバ3は、商品検索サービスを提供するために、検索に用いられるキーワード(検索キーワード)と扱っている商品を紐付けて管理する。
更に、ECサーバ3は、レシピサーバ1からの要求に応じて広告情報をユーザ端末4へ送信する処理を行う。
【0024】
上記処理を行うために、ECサーバ3は、様々なDBと接続される。例えば、ユーザDB51、商品の情報が記憶される商品DB54、検索キーワードと商品の紐づけ情報が記憶される検索DB55、広告の情報が記憶される広告DB56などである。
【0025】
ユーザ端末4は、
図1に示すように、レシピサーバ1に対して、レシピの検索や投稿や閲覧を行うためにユーザが利用する端末である。ユーザ端末4には、ウェブページデータを読み込んで画面に表示するためのウェブブラウザがインストールされている。
ユーザ端末4は、例えば、通信機能を備えたPC(Personal Computer)やフィーチャーフォンやPDA(Personal Digital Assistants)、或いは、スマートフォンやタブレット端末などのスマートデバイスなどである。
ユーザ端末4では、必要に応じて各種の送受信処理などが実行される。
【0026】
レシピサーバ1は、
図2に示すように、挙動情報取得部 1a、推定情報管理部1b、提示制御部1cを備えている。
挙動情報取得部1aは、レシピサーバ1が提供する種々のサービスを利用するユーザの挙動情報を取得する挙動情報取得処理を実行する。挙動情報は、例えば、ウェブページ上でのユーザのマウス操作やクリック操作などである。
【0027】
推定情報管理部1bは、推定情報生成処理(先の利用推定処理、所持器具推定処理、対応可能作業推定処理など)を実行し、推定情報をユーザIDと紐付けて推定情報DB50へ記憶する処理を実行する。
提示制御部1cは、ユーザ端末4へレシピ情報や検索結果情報などを表示させるためのウェブページデータを生成して送信する提示制御処理を実行する。
【0028】
図3は、
図1に示したレシピサーバ1、ECサーバ3、ユーザ端末4のハードウエアを例示する図である。それぞれのサーバや端末におけるコンピュータ装置のCPU(Central Processing Unit)101は、ROM(Read Only Memory)102に記憶されているプログラム、または記憶部108からRAM(Random Access Memory)103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU101、ROM102、およびRAM103は、バス104を介して相互に接続されている。このバス104には、入出力インターフェース105も接続されている。
入出力インターフェース105には、キーボード、マウス、タッチパネルなどよりなる入力部106、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、有機EL(Electroluminescence)パネルなどよりなるディスプレイ、並びにスピーカなどよりなる出力部107、HDD(Hard Disk Drive)やフラッシュメモリ装置などより構成される記憶部108、通信ネットワーク2を介しての通信処理や機器間通信を行う通信部109が接続されている。
入出力インターフェース105にはまた、必要に応じてメディアドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア111が適宜装着され、リムーバブルメディア111に対する情報の書込や読出が行われる。
【0029】
このようなコンピュータ装置では、通信部109による通信によりデータやプログラムのアップロード、ダウンロードが行われたり、リムーバブルメディア111を介したデータやプログラムの受け渡しが可能である。
CPU101が各種のプログラムに基づいて処理動作を行うことで、レシピサーバ1、ECサーバ3、ユーザ端末4のそれぞれにおいて後述する情報処理や通信が実行される。
なお、レシピサーバ1、ECサーバ3、ユーザ端末4を構成するそれぞれの情報処理装置は、
図3のようなコンピュータ装置が単一で構成されることに限らず、複数のコンピュータ装置がシステム化されて構成されてもよい。複数のコンピュータ装置は、LANなどによりシステム化されていてもよいし、インターネットなどを利用したVPN(Virtual Private Network)などにより通信可能な状態で遠隔地に配置されたものでもよい。
【0030】
<2.処理の流れ>
[2−1.レシピ検索の処理の流れ]
先ず、レシピ検索の処理の流れについて、
図4を参照して説明する。具体的には、ユーザがユーザ端末4を用いてレシピサーバ1が提供するレシピを検索して閲覧する際の流れについて説明する。
【0031】
ユーザ端末4はステップS101において、ユーザによるログイン画面表示操作に応じたログイン画面情報要求処理を実行する。ログイン画面情報要求処理によりユーザ端末4からレシピサーバ1へログイン画面情報要求が送信されると、レシピサーバ1はステップS201において、ログイン画面情報送信処理を実行する。
これにより、例えば、レシピサーバ1から受信したレシピサイトのログイン画面情報(ウェブページデータ)に応じたウェブページがユーザ端末4上に表示される。
【0032】
次に、ユーザ端末4はステップS102において、ユーザによるログイン情報(ユーザIDとパスワード)の入力操作に応じたログイン情報をレシピサーバ1へ送信するログイン情報送信処理を実行する。ユーザ端末4からレシピサーバ1へログイン情報が送信されると、レシピサーバ1はステップS202において認証処理を実行し、続くステップS203において認証結果通知処理を実行する。
具体的には、レシピサーバ1は、ユーザ端末4上で入力されたユーザIDとパスワードをユーザDB51に記憶された情報と比較して当該ユーザのログイン可否を判定し、認証結果をユーザ端末4へ通知する。尚、認証結果をユーザ端末4へ返すと共に、レシピサイトのトップページのウェブページデータを送信してもよい。これにより、ユーザ認証がなされると共に、ユーザ端末4上にレシピサイトのトップページが表示される。
尚、
図4に示す一連の流れは、ステップS202の認証処理においてログイン可と判定された場合を示している。ステップS202においてログイン不可と判定した場合は、ユーザ端末4は再度ステップS102の処理を実行し、これに応じてレシピサーバ1はステップS202の処理を実行する。
【0033】
続いて、ユーザ端末4はステップS103において、ユーザが入力したレシピを検索するためのレシピ検索条件をレシピサーバ1へ送信する検索条件送信処理を実行する。
この処理では、例えば、ユーザによって指定されたレシピ名の一部や使用食材などの検索結果を抽出するための情報がレシピサーバ1へ伝達される。
【0034】
レシピ検索条件を受信したレシピサーバ1は、ステップS204でレシピ検索条件と検索DB55に記憶された情報に基づいてレシピ検索を行うレシピ検索処理を実行する。
続いて、レシピサーバ1はステップS205において、ステップS204で抽出した検索結果を提示優先度に基づいてユーザ端末4上に表示させるための検索結果提示処理を実行する。この処理では、提示優先度情報が含まれた検索結果がユーザ端末4へ送信される。
検索結果として抽出されたそれぞれのレシピにどのように提示優先度を付与するかについては、複数の方法が考えられる。いくつかの例を後述する。
尚、検索結果提示処理は、提示制御処理の一例とされる。
【0035】
検索結果提示処理が実行されると、ユーザ端末4では、レシピサーバ1から受信した検索結果が提示される。ユーザが検索結果として表示された複数のレシピから一つのレシピを選択する操作を行うと、ユーザ端末4はステップS104において、レシピ選択処理を実行する。
レシピ選択処理は、ユーザが選択したレシピが何れのレシピであるかを選択レシピ情報としてレシピサーバ1に通知する。尚、この処理は、選択したレシピの詳細ページのウェブページデータを要求する処理である。
【0036】
選択レシピ情報を受信したレシピサーバ1は、ステップS206において、選択されたレシピの詳細情報が記載されたウェブページのデータを送信する詳細情報送信処理を実行する。
この処理によって、ユーザ端末4上に、ユーザが選択したレシピに関する詳細情報が提示される。詳細情報とは、例えば、レシピに使用する食材情報や調理手順、調理器具情報などである。
尚、ステップS206でユーザ端末4に提示されるレシピの詳細情報に対するユーザの挙動に関する情報は、挙動情報として挙動ログDB53に記録される。
【0037】
[2−2.利用推定処理]
ユーザがレシピを実際に利用したか(即ち、レシピを用いて実際に料理を作成したか否か)を推定する利用推定処理について、
図5を参照して説明する。尚、ここでは、対象のレシピを対象レシピ、対象のユーザを対象ユーザとして説明する。
先ず、レシピサーバ1は、ステップS301において、判定対象となるユーザの作成ポイントpt(料理を作成したか否かを判定するためのポイント情報)を0に初期化する処理を行う。
続いて、レシピサーバ1はステップS302において、対象ユーザが対象レシピの作成レポートを投稿済みであるか否かを判定する処理を実行する。作成レポートとは、レシピを作成したユーザが、そのレシピを用いた調理の様子や作成した料理の味、レシピの作りやすさなどの情報を記載したレポートであり、ユーザ端末4からレシピサーバ1に投稿(送信)される。レシピサーバ1は、投稿された作成レポートをDBに記憶する。
【0038】
対象ユーザが対象レシピの作成レポートを投稿済みである場合、レシピサーバ1はステップS303で対象レシピの作成ポイントptに3を加算する処理を実行し、ステップS304の処理へ移行する。
対象ユーザが対象レシピの作成レポートを投稿済みでない場合、レシピサーバ1は、ステップS303を実行せずにステップS304の処理へ移行する。
【0039】
ステップS304では、レシピサーバ1は、挙動情報取得処理を実行する。挙動情報取得処理は、挙動情報を挙動ログDB53から取得し、対象ユーザが対象レシピを利用したか否かを判定し、判定情報を推定情報DB50へ記憶する処理である。挙動情報は、例えば前述のように、
図4のステップS206の後のユーザの行動に基づいて、挙動ログDB53に記憶されている。
ここで、対象ユーザが対象レシピを閲覧したときの態様に基づいて対象レシピを利用したか否かの判定を行う処理についての具体的な例を二つ挙げる。
一つ目の例としては、対象レシピに設定された調理時間と閲覧時間の関係から判定する。具体的には、対象レシピの調理時間が30分となっていた場合、例えば、調理時間の半分以上の時間(15分)閲覧した場合、対象レシピを利用したと判定する。尚、調理時間と閲覧時間の比率を2:1とするのは、あくまで一例である。
二つ目の例としては、対象レシピを閲覧しているユーザの挙動から判定する。具体的には、
図6に示すように、対象レシピが表示されるウェブページが、対象レシピに使用する食材情報が記載される食材記載部分5と対象レシピの調理手順が記載される調理手順記載部分6とを含んで構成されている場合に、食材記載部分5と調理手順記載部分6を交互に何度か閲覧している場合、対象レシピを利用したと判定する。
ステップS304の判定結果は、例えば、フラグなどの形式で推定情報DB50に記憶される。
【0040】
続いて、レシピサーバ1はステップS305において、推定情報DB50に記憶されたフラグを判定する処理を実行する。推定情報DB50に記憶されたフラグとは、ステップS304で記憶されたものである。
ステップS305において、対象ユーザが対象レシピを閲覧したときの態様からレシピを利用したと判定した場合、レシピサーバ1はステップS306において、対象レシピの作成ポイントptに3を加算する処理を実行してステップS307の処理へ移行する。
一方、対象ユーザが対象レシピを閲覧したときの態様からレシピを利用していないと判定した場合、ステップS306を実行せずにステップS307へ処理に移行する。
【0041】
ステップS307では、レシピサーバ1は、対象ユーザが対象レシピを印刷したことがあるかどうかを判定する。ユーザがごとのレシピ印刷情報は、例えばユーザDB51やレシピDB52に記憶されており、ステップS307では、これらのDBに記憶されたレシピ印刷情報(例えばフラグとして記憶された情報)を参照して判定する。
【0042】
ステップS307において、対象ユーザが対象レシピを印刷したことがあると判定した場合、レシピサーバ1はステップS308において、対象レシピの作成ポイントptに2を加算する処理を実行して続くステップS309の処理へ移行する。
一方、対象ユーザが対象レシピを印刷したことがないと判定した場合、レシピサーバ1はステップS308を実行せずにステップS309の処理へ移行する。
【0043】
ステップS309では、レシピサーバ1は、対象ユーザが対象レシピをお気に入りに登録しているか否かを判定する。ユーザごとのお気に入りレシピ情報は、例えば、ユーザDB51やレシピDB52に記憶されている。
ステップS309において、対象ユーザが対象レシピをお気に入りに登録していると判定した場合、レシピサーバ1はステップS310において、対象レシピの作成ポイントptに1を加算する処理を実行して続くステップS311の処理へ移行する。
一方、対象ユーザが対象レシピをお気に入りに登録していないと判定した場合、レシピサーバ1はステップS310を実行せずにステップS311の処理へ移行する。
【0044】
続くステップS311では、レシピサーバ1は、対象レシピの作成ポイントptが判定値以上であるか否かを判定し、判定結果を推定情報DB50へ記憶する処理を実行する。判定値は、例えば、3とされる。この場合、作成レポートが作成済みであるか、或いは閲覧時の挙動により作成したと判定された場合は、他の条件を満たすか否かによらずステップS311の判定処理において「Y」と判定される。
尚、ステップS311の判定処理において「Y」とされたレシピを、以降では「利用推定レシピ」と記載する。
作成ポイントptが判定値以上である場合には、レシピサーバ1はステップS312において、対象ユーザが対象レシピを実際に利用したと判定(即ち作成判定)し、判定結果を推定情報DB50へ記憶する。
一方、作成ポイントptが判定値未満である場合には、レシピサーバ1はステップS313において、対象ユーザは対象レシピを実際に利用していないと判定(即ち未作成判定)する。
【0045】
ステップS312またはステップS313のいずれかの処理を実行して、レシピサーバ1は
図5の一連の処理を終了する。
【0046】
[2−3.適応力推定処理]
ユーザがレシピを利用するにあたって(即ちレシピを参照して調理するにあたって)、ユーザがそのレシピに対応することができるか否かを推定する適応力推定処理について、
図7,8,9を参照して説明する。尚、適応力推定処理の具体的な例として、所持器具推定処理と対応可能作業推定処理を挙げて説明する。所持器具推定処理は、ユーザが所持している調理器具(以降では所持器具と記載)を推定する処理である。また、対応可能作業推定処理は、ユーザが得意な(或いは可能な)調理方法や作業(例えば、みじん切りなど)を推定する処理である。
【0047】
所持器具推定処理では、
図7に示すように、レシピサーバ1はステップS401において、ユーザの利用推定レシピの情報を推定情報DB50から取得する処理を実行する。尚、前述したように、ユーザの利用推定レシピは、先の利用推定処理においてユーザが利用したと推定したレシピである。
【0048】
続いてレシピサーバ1は、ステップS402において、利用推定レシピごとに設定された使用器具情報をレシピDB52から取得する処理を実行する。
次にレシピサーバ1は、ステップS403において、ステップS402で取得した使用器具情報に基づいてユーザの所持器具を判定して推定情報DB50へ記憶する所持器具判定処理を実行する。
【0049】
ここで、ステップS403の判定方法にはいくつかの例が考えられる。ここでは、一つの例を挙げる。
具体的には、ステップS402において、利用推定レシピに設定された使用器具情報を取得する際に、複数のレシピに同じ調理器具が設定されていた場合、重複して数える。例えば、利用推定レシピとしてレシピAとレシピBとレシピCが取得され、レシピAの使用器具情報には「鍋」、「フライパン」が設定され、レシピBの使用器具情報には「フライパン」、「オーブン」が設定され、レシピCの使用器具情報には「フライパン」、「ミキサー」、「オーブン」が設定されていた場合、「鍋」を「1」とカウントし、「フライパン」を「3」とカウントし、「オーブン」を「2」とカウントし、「ミキサー」を「1」とカウントする。
次のステップS403の判定処理においては、カウント数が所定数(例えば2)以上の使用器具は、ユーザが所持していると判定する。即ち、カウント数が3のフライパンと2のオーブンはユーザが所持していると判定される。所定数を2以上の数値とすることで、ユーザが実際に所持している調理器具を所持器具として適切に判定することが可能となる。
尚、同じレシピであっても、作成した回数に応じて重みを付けてもよい。即ち、作成回数が多い(或いは作成したと判定される回数が多い)レシピに設定された使用器具は重みを増してカウントしてもよい。
【0050】
所持器具推定処理の別の例を、
図8を参照して説明する。
所持器具推定処理の別の例では、お気に入りレシピの情報を利用する。ユーザのお気に入りレシピには使用器具情報が紐付けられており、
図8に示すように、一覧で表示することができる。
レシピサーバ1は、先ず、ユーザのお気に入りレシピを取得する処理を実行し、続いて、お気に入りレシピごとに設定された使用器具情報を取得する。そして、レシピサーバ1は、お気に入りレシピごとに設定された使用器具情報をユーザの所持器具として判定する処理を実行する。
【0051】
対応可能作業推定処理の例を
図9に示す。
対応可能作業推定処理では、レシピサーバ1は、先ずステップS501において、ユーザの利用推定レシピの情報を推定情報DB50から取得する処理を実行する。この処理は、先のステップS401と同様の処理となる。
続いて、レシピサーバ1はステップS502において、利用推定レシピごとに設定された必要作業情報をレシピDB52から取得する処理を実行する。
次にレシピサーバ1は、ステップS503において、ステップS502で取得した必要作業情報に基づいてユーザの対応可能作業を判定して推定情報DB50へ記憶する対応可能作業判定処理を実行する。
ここで、ステップS503の判定方法にはいくつかの例が考えられるが、ステップS403で挙げた例と同様の処理であるため、詳細は省略する。対応可能作業の例としては、「焼く」、「煮る」、「蒸す」や、「みじん切り」、「千切り」、「三枚おろし」などである。
【0052】
[2−4.利用日時推定処理]
ユーザがレシピを利用した日時を推定する利用日時推定処理の一例として、
図5に示したステップS312の作成判定処理の後に利用日時推定処理を行う例を、
図10を参照して説明する。
作成判定処理の後で利用日時推定処理を行うことで、利用推定レシピのみを対象とした利用日時推定処理を効率的に行うことができる。
レシピサーバ1が行うステップS314の利用日時推定処理では、例えば、作成レポートを投稿した日時を利用日時と推定する。また、他の例として、閲覧時の挙動に応じて取得した日時(例えばレシピの詳細ページを見た日時)を利用日時として推定する。また、別の例として、詳細ページを印刷した日時を利用日時として推定する。
推定した利用日時の情報は、推定情報DB50へ記憶される。
尚、推定した利用日時(利用日時推定情報)は、時間などの細かい情報ではなく、一日単位などの大まかな時間情報として推定情報DB50へ記憶してもよい。
また、ステップS311、S312、S313の各処理については、先の
図5と同様の処理であるため、説明は省略する。
【0053】
[2−5.取得時期推定処理]
ユーザの所持器具の取得時期を推定する取得時期推定処理を
図11を参照して説明する。
先ず、レシピサーバ1はステップS601において、ユーザの利用推定レシピの情報を推定情報DB50から取得する処理を実行する。この処理は、先のステップS401と同様の処理となる。
続いて、レシピサーバ1はステップS602において、利用推定レシピごとに判定された利用日時推定情報を推定情報DB50から取得する処理を実行する。
次に、レシピサーバ1はステップS603において、取得時期判定処理を実行する。
取得時期判定処理では、利用推定レシピに設定された使用器具情報と利用日時推定情報を参照して、ユーザの所持器具の取得時期を判定する。具体的に、
図12を参照して説明する。
【0054】
ユーザの利用推定レシピとして、レシピA,B,Cが抽出され、それぞれのレシピには、
図12のように、使用器具情報が紐付けられている。また、それぞれのレシピを利用した日時を推定した情報が利用日時推定情報として設定されている。例えば、レシピAの利用日時推定情報は2014年4月10日とされ、レシピBの利用日時推定情報は2015年2月5日とされ、レシピCの利用日時推定情報は2014年10月22日とされる。
このとき、「鍋」の取得時期推定情報は、レシピAの利用日時推定情報である2014年4月10日とされる。また、「フライパン」の取得時期推定情報は、レシピA,B,Cの利用日時推定情報のうち一番古い日時である2014年4月10日とされる。更に、「ミキサー」の取得時期推定情報は、レシピCの利用日時推定情報である2014年10月22日とされる。また、「オーブン」の取得時期推定情報は、レシピB,Cの利用日時推定情報のうち一番古い日時である2014年10月22日とされる。
これらの所持器具ごとの取得時期推定情報は、推定情報DB50に記憶される。
【0055】
図11に示した取得時期推定処理は、定期的に実行してもよいし、ユーザからのレシピサーバ1へのアクセスがあった際に実行してもよい。
【0056】
[2−6.所持器具差分取得処理]
ユーザの所持器具に変化が生じたか(即ち、新たな所持器具が増えたかどうか)を推定する所持器具差分取得処理を
図13を参照して説明する。
尚、この処理は、定期的にバッチ処理などで実行してもよいし、ユーザがレシピ検索をする際に実行してもよい。
【0057】
先ず、レシピサーバ1はステップS701において、先の
図7に示した所持器具推定処理を実行する。これにより、ユーザの最新の所持器具推定情報を取得する。
次に、レシピサーバ1はステップS702において、これまでのユーザの所持器具推定情報を取得し、今回の所持器具推定情報(即ち、ステップS701で取得した所持器具推定情報)との差分を抽出する処理を実行する。
続いて、レシピサーバ1はステップS703において、差分として抽出された所持器具を新取得器具として推定情報DB50に記憶する処理を実行する。
【0058】
この一連の処理により、ユーザが新たに取得した調理器具が新取得器具として、推定情報DB50へ記憶される。この情報の使用例は後述する。
【0059】
[2−7.提示制御処理]
利用推定情報と適応力推定情報を用いてユーザに情報の提示を行う提示制御のいくつかの例を図を参照して説明する。
【0060】
〜2−7−1.第1例〜
提示制御処理の第1例では、ユーザのレシピ検索操作に応じて、ユーザの適応力推定情報に基づいたレシピの提示制御処理を行う。即ち、本例の提示制御処理は、
図4のステップS205の検索結果提示処理において実行される。
具体的には、
図14に示すように、レシピサーバ1は先ずステップS801において、レシピ検索操作を行ったユーザ(以降、当該ユーザと記載)の所持器具推定情報を取得する。
【0061】
続いて、レシピサーバ1はステップS802において、当該ユーザの対応可能作業推定情報を取得する。
ステップS801、S802の各処理によって、当該ユーザの適応力推定情報が取得される。
【0062】
次に、レシピサーバ1はステップS803において、
図4のステップS204で抽出した検索結果としての各レシピに提示優先度を設定する優先度設定処理を実行する。
例えば、レシピに設定された使用器具情報に含まれる調理器具の全てを当該ユーザが所持していた場合、そのレシピの提示優先度を上げる。提示優先度は、例えば数値などで表現される。ユーザ端末4上で検索結果が表示される際には、提示優先度に大きな数値が設定されたレシピから順に表示される。
また優先度設定処理では、レシピに設定された必要作業情報に含まれる作業の全てが、当該ユーザの対応可能作業推定情報として設定されていた場合、そのレシピの提示優先度を上げる。
【0063】
提示優先度を上げる具体的な処理は、例えば、予め設定された提示優先度(レシピの全ユーザの閲覧数によって決められてもよいし、レシピの評価に応じてきめられてもよい)に、1.2などの所定の係数を掛ける処理などである。また、所定の数値を加算してもよい。
【0064】
最後に、レシピサーバ1はステップS804において、提示優先度情報を含んだ検索結果をユーザ端末4へ送信する検索結果送信処理を実行して、
図14に示す一連の処理を終了する。
【0065】
尚、レシピサイトのトップページを表示する際に、あなたへのお勧めレシピを提示してもよい。これにより、検索結果として表示する場合と比較すると、ユーザが指定した検索条件などによって検索対象となるレシピの範囲が制限されずに、全てのレシピを対象としてお勧めレシピが抽出されるため、ユーザにとって意外性のあるレシピ(即ち、検索しようとも思わないレシピなど)を推奨提示することができる。
【0066】
〜2−7−2.第2例〜
提示制御処理の第2例では、ユーザの検索操作に応じて、ユーザの適応力推定情報(特に取得時期推定情報)に基づいたレシピの提示制御処理を行う。
第2例におけるレシピサーバ1は、第1例と同様に
図14に示す一連の処理を実行する。
先ず、レシピサーバ1はステップS801において、当該ユーザの所持器具推定情報を取得する。ここでは、所定器具推定情報の一つとして、それぞれの調理器具の取得時期推定情報も取得する。
続くステップS802の処理は、先の第1例と同様であるため、説明を省略する。
【0067】
次に、レシピサーバ1はステップS803において、提示優先度設定処理を実行する。提示優先度設定処理では、第1例で説明した提示優先度を上げる処理を実行する。加えて、レシピの使用器具情報として紐付けられた調理器具の中に、当該ユーザが直近の所定期間内(例えば1ヶ月以内)に新たに取得したと推定される調理器具がある場合は、レシピの提示優先度を上げる処理を実行する。
具体的には、予め設定された提示優先度に、2.0などの所定の係数を掛ける処理などである。
続くステップS804の処理は、第1例と同様であるため、説明を省略する。
【0068】
第2例の提示制御処理を実行することにより、ユーザが所有していると推定される調理器具の取得時期に応じて、適切なレシピがユーザへ提示される。特に、ユーザが所有している調理器具が、比較的最近取得したものである場合、その調理器具を用いた料理を作りたいという意欲が高い状態にあると想定される。そのため、新たに取得した調理器具を用いるレシピを提示することは、ユーザの意欲に合致した適切なレシピを提供する可能性が高いため、レシピサイトの利用満足度を高くすることができる。
【0069】
〜2−7−3.第3例〜
提示制御処理の第3例では、第1例及び第2例と同様に、ユーザの検索操作に応じて、ユーザの適応力推定情報に基づいたレシピの提示制御処理を行う。
先ず、レシピサーバ1はステップS801において、当該ユーザの所持器具推定情報を取得する。第3例では、取得した所持器具推定情報を数回分保持しておき、前回の所持器具推定情報と比較して新たに取得した調理器具があるかどうかを確認する処理を実行する。
続くステップS802の処理は、先の第2例と同様であるため、説明を省略する。
ステップS803では、レシピサーバ1は、第1例で説明した提示優先度を上げる処理を実行すると共に、ステップS801で確認した新たに取得した調理器具が使用器具情報として紐付けられたレシピの提示優先度を上げる処理を実行する。
続くステップS804の処理は、第1例と同様であるため、説明を省略する。
【0070】
第3例の提示制御処理を実行することにより、ユーザが新たに取得した調理器具を用いるレシピがユーザへ提示される。ユーザが調理器具を新たに取得した場合、その調理器具を用いた料理を作りたいという意欲が高い状態にあると想定される。そのため、新たに取得した調理器具を用いるレシピを提示することは、ユーザの意欲に合致した適切なレシピを提供する可能性が高いため、レシピサイトの利用満足度を高くすることができる。
【0071】
〜2−7−4.第4例〜
提示制御処理の第4例では、ユーザの適応力推定情報に応じた広告をユーザ端末4上に表示させる広告提示処理を実行する。この処理は、例えば、ユーザ端末4にレシピサイトのトップページを表示させると共に、広告を表示させる場合に実行される。
具体的に、
図15を参照して説明する。
【0072】
先ず、レシピサーバ1はステップS901において、ユーザ端末4からウェブページデータ要求を受信する。このウェブページデータは広告枠が設けられたウェブページのHTML(Hyper Text Markup Language)データなどであり、例えば、レシピサイトのトップページのHTMLデータである。
次に、レシピサーバ1はステップS902において、ユーザの所持器具推定情報を取得する処理を実行する。
【0073】
続くステップS903では、レシピサーバ1はステップS902で取得したユーザの所持器具推定情報に応じた広告情報を広告サーバ(例えばECサーバ3)に要求する処理を実行する。広告情報要求では、広告を選択するためのキーワード(例えばユーザが直近で取得した調理器具である「鍋」)を広告サーバへ送信する。広告情報要求を受信した広告サーバは、受信したキーワードに基づいて広告(鍋敷き)を広告DB56から取得/選択し、ユーザ端末4へ広告情報としての画像データとURL(Uniform Resource Locator)情報を送信する。換言すれば、ユーザが取得した調理器具に関連した商品を対象とした広告を提示する。
これにより、ユーザ端末4上でユーザの所持器具推定情報に応じた広告が表示される。
【0074】
尚、取得時期が直近の所定期間内(例えば1ヶ月以内)である所持器具に応じた広告をユーザ端末4上に表示させることにより、ユーザの調理環境をより充実させるための情報(広告)を提供することが可能となる。
また、ステップS902において、レシピサーバ1は、ユーザの所持器具推定情報を取得する代わりにユーザの対応可能作業推定情報を取得してもよい。この場合、レシピサーバ1はステップS903において、取得した対応可能作業に応じた動画(例えば、みじん切りが苦手なユーザに対して、みじん切りの簡単なやり方動画)などを提示する。
また、ユーザの所持器具推定情報に応じて、ユーザの未取得器具の広告を提示してもよい。更にその場合には、広告の対象とした未取得器具を用いたレシピ情報などを併せて提示することにより、ユーザに有意義な情報を提供することができる。
【0075】
〜2−7−5.第5例〜
提示制御処理の第5例では、ユーザが作成したレシピをカレンダーと共に提示する作成カレンダー提示処理を実行する。
具体的に、
図16を参照して説明する。
【0076】
先ず、レシピサーバ1はステップS1001において、ユーザ端末からカレンダー表示要求を受信する。この処理は、ユーザ端末4上に表示されたレシピサイトのウェブページにおいて、ユーザがボタンやリンクなどを選択する操作を行うことにより、実行される。
【0077】
次に、レシピサーバ1はステップS1002において、レシピごとに先の
図10に示した利用日時推定処理を実行する。この処理により、ユーザが作成したと推定されるレシピと作成日時としての日時情報が紐付される。
尚、既にレシピと作成日時が紐付された情報が推定情報DB50に記憶されている場合、ステップS1002の処理を省略することもできる。
【0078】
続いて、レシピサーバ1はステップS1003において、作成カレンダーの提示処理を実行する。この処理によって、ユーザ端末4上には、ユーザが作成したと推定されるレシピの情報が、作成日時と紐付けられたカレンダー形式で表示される(
図17参照)。
図17に示すように、例えば、1日ごとに料理写真Imとレシピ名Rnが掲載される。尚、レシピを利用していない日は料理写真Imとレシピ名Rnは掲載されない(例えば
図17の2015年4月2日、3日など)。
また、カレンダーの上部には年月(
図17では「2015年4月」)を表す年月表示部YMが表示され、年月表示部YMの左右には前月及び翌月の表示に切り換える表示切替操作子Sが表示される。
レシピ名Rnは、リンク情報を有しており、マウスによるクリック操作などの選択操作がなされると、レシピの詳細ページへ遷移するように構成されている。
【0079】
<3.まとめ>
上記したレシピサーバ1は、ユーザに提示したレシピに対する当該ユーザの挙動情報を取得する挙動情報取得部1aと、取得した挙動情報から当該ユーザにとってのレシピの利用有無を推定した利用推定情報と、利用推定情報からレシピに対する当該ユーザの適応力推定情報とを生成し、利用推定情報と適応力推定情報とをユーザ識別情報に紐付けて管理する推定情報管理部1bと、利用推定情報と適応力推定情報を用いて選択した情報の提示制御を行う提示制御部1cと、を備えている。
これにより、ユーザのレシピの利用推定情報とレシピに対する適応力推定情報に基づいた情報提示が可能とされる。情報提示としては、例えば、ユーザに合わせたレシピやレシピに関連する情報とされる。
【0080】
また、適応力推定処理で説明したように、推定情報管理部は、適応力推定情報として、ユーザが所持していると推定される器具の情報である所持器具推定情報を管理する。
ユーザが所持している器具が推定されることにより、所持器具推定情報を加味した様々な情報をユーザに対して提供することができる。具体的には、ユーザが所持している調理器具を利用したレシピを提示することにより、ユーザが利用しやすいレシピの提示がなされる。
【0081】
更に、適応力推定処理で説明したように、推定情報管理部1bは、利用推定情報として当該ユーザの利用有りと推定されたレシピに紐付けられた使用器具情報を参照し、当該使用器具情報を当該ユーザの所持器具推定情報として管理する。
これにより、ユーザの所持器具の推定には、既にレシピに紐付けられた使用器具情報を用いるため、所持器具推定情報の生成を容易に行うことができる。
【0082】
更にまた、取得時期推定処理で説明したように、推定情報管理部1bは、所持器具推定情報の一つとして器具ごとの取得時期を推定した取得時期推定情報を管理する。
所持器具の取得時期を推定することにより、取得したばかりの所持器具を推定することが可能となる。これにより、取得したばかりの所持器具に関する情報をユーザに提供することが可能となる。
【0083】
加えて、提示制御処理の第2例で説明したように、提示制御部1cは、レシピの検索結果を提示する場合に、取得時期が直近の所定の期間内である所持器具が使用器具情報として設定されたレシピの提示優先度を上げてユーザに提示する。
検索結果を提示する際にユーザが取得したばかりの所持器具の情報を利用することにより、当該所持器具を使用したレシピが優先的に提示することが可能となり、ユーザのレシピ利用の意欲を高めることができる。
【0084】
また、適応力推定処理で説明したように、推定情報管理部1bは、適応力推定情報として、レシピの利用において行われる作業のうち当該ユーザにとって対応が可能と推定される作業の情報である対応可能作業推定情報を管理する。
従って、ユーザが対応可能な作業が推定されることにより、ユーザが対応可能な作業のみで実施が可能なレシピをユーザに提示するなどの処理を行うことが可能となる。
【0085】
更に、提示制御処理の第5例で説明したように、推定情報管理部1bは、利用推定情報の一つとしてレシピを利用したと推定される利用日時推定情報を管理し、提示制御部1cは、提示制御において利用推定情報と利用日時推定情報とレシピページへのリンク情報とを提示する。
従って、日時情報とレシピページへのリンク情報と共にレシピが提示されることにより、ユーザが利用したレシピの履歴から容易にレシピページを閲覧することが可能となる。
【0086】
更にまた、提示制御処理の第1例で説明したように、提示制御部1cは、レシピの検索結果を提示する場合に、適応力推定情報に応じた提示優先度に基づいて提示する。
これにより、検索結果としてユーザが対応しやすいレシピが優先的に提示されるため、ユーザにとって使い勝手のよい検索機能を提供することができる。
【0087】
加えて、提示制御処理の第1例で説明したように、提示制御部1cは、適応力推定情報を用いてレシピを選択して当該ユーザに推奨提示する。
これにより、例えば、ユーザがレシピサイトを閲覧した際に、ユーザが検索操作を行わなくても、当該ユーザが対応しやすいレシピが推奨提示されるなど、ユーザにとっての利便性を向上させることができる。
【0088】
また、提示制御処理の第4例で説明したように、提示制御部1cは、適応力推定情報を用いて選択した広告を当該ユーザに提示する広告提示処理を実行する。
これにより、ユーザごとの適応力推定情報に応じて広告が選択されるため、訴求力のある広告を提示することができる。
【0089】
本実施の形態においては、料理のレシピに関する種々のサービスを行うレシピサーバ1としての情報処理装置として説明をしたが、他の実施の形態においても適用可能である。例えば、電子工作の回路図と使用される電子部品などを使用するレシピを提供する電子工作レシピサーバとして実施する場合や、日曜大工で製作する家具などと使用されるネジや木材などを使用するレシピを提供する日曜大工レシピサーバとして実施する場合などが考えられる。
この場合には、例えば、所持している電子工具だけを用いて作成可能な電子工作レシピや、所持している日曜大工道具だけを用いて作成可能な家具レシピなどを提供することができる。
【0090】
<4.プログラム及び記憶媒体>
以上、本発明の情報処理装置の実施の形態としてのレシピサーバ1を説明してきたが、実施の形態のプログラムは、レシピサーバ1における各処理を情報処理装置(CPU等)に実行させるプログラムである。
【0091】
実施の形態のプログラムは、
情報処理装置に実行させるプログラムであって、ユーザに提示したレシピに対する当該ユーザの挙動情報を取得する挙動情報取得手順を情報処理装置に実行させる。
また、
当該ユーザがレシピを利用したか否か
の推定
結果を示す利用推定情報と、前記利用推定情報からレシピに対する当該ユーザの適応力推定情報とを生成する推定情報生成手順を情報処理装置に実行させる。
更に、前記利用推定情報と前記適応力推定情報とをユーザ識別情報に紐付けて管理する推定情報管理手順を情報処理装置に実行させる。
そして、前記利用推定情報と前記適応力推定情報を用いて選択した情報の提示制御を行う提示制御手順を情報処理装置に実行させる。
前記適応力推定情報には、ユーザが所持していると推定される器具の情報である所持器具推定情報
が含まれ、前記推定情報生成手順は、前記利用推定情報を、前記挙動情報に応じて算出した数値と所定値との比較結果に基づいて生成する手順と、前記利用推定情報で当該ユーザが利用したと推定され
ているレシピに紐付けられた使用器具情報を
、当該ユーザの前記所持器具推定情報と
する手順と、を含む。
即ちこのプログラムは、レシピサーバ1に対して
図4のステップS201乃至S206の各処理と、
図5,7,9,10,12乃至16の各処理を実行させるプログラムである。
【0092】
このようなプログラムにより、上述したレシピサーバ1としての情報処理装置を実現できる。
そしてこのようなプログラムはコンピュータ装置などの機器に内蔵されている記録媒体としてのHDDや、CPUを有するマイクロコンピュータ内のROMなどに予め記録しておくことができる。あるいはまた、半導体メモリ、メモリカード、光ディスク、光磁気ディスク、磁気ディスクなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。またこのようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
また、このようなプログラムは、リムーバブル記録媒体からパーソナルコンピュータなどにインストールする他、ダウンロードサイトから、LAN、インターネットなどのネットワークを介してダウンロードすることもできる。
ユーザに合わせてレシピやレシピに関連する情報を提供する。そのために情報処理装置は、ユーザに提示したレシピに対する当該ユーザの挙動情報を取得する挙動情報取得部と、取得した前記挙動情報から当該ユーザにとってのレシピの利用有無を推定した利用推定情報と、前記利用推定情報からレシピに対する当該ユーザの適応力推定情報とを生成し、前記利用推定情報と前記適応力推定情報とをユーザ識別情報に紐付けて管理する推定情報管理部と、前記利用推定情報と前記適応力推定情報を用いて選択した情報の提示制御を行う提示制御部とを備える。これにより、ユーザに合わせてレシピやレシピに関連する情報を提供することができる。