(本開示に至る経緯)
特許文献1及び特許文献2では、レストランにおいて、アレルギーを有する客に対してアレルゲンである食材を抑制した料理が提供される際において、当該客のアレルギー反応量をも考慮して、当該客のために個別メニューが提供されるための技術については十分検討されていなかった。さらには、アレルギー反応量などの個人情報の保護を図りながら、当該個人情報を利用したサービスを実現するための情報管理システムについて十分に検討されていなかった。
本発明者らは、上述した課題の少なくともいずれか一つを解決するために、鋭意検討した結果、以下の制御方法を見出した。
本開示の一態様に係る情報提供方法は、ユーザを特定する識別情報に対応させて前記ユーザのアレルギー情報を管理する第1サーバと通信する情報管理システムであって、一のレストランに対応する1以上の料理を示すメニュー情報を格納する第2サーバを含む情報管理システムにおける情報提供方法であって、前記ユーザの情報端末からネットワークを介して前記ユーザの個別メニューの依頼を取得し、前記情報端末に格納された前記識別情報を前記情報端末からネットワークを介して取得し、前記第1サーバからネットワークを介して、前記識別情報を用いてユーザのアレルギー情報を取得し、前記アレルギー情報は、各食材に対する前記ユーザのアレルギー反応量を含み、前記メニュー情報及び前記アレルギー情報に基づいて、前記アレルギー情報に対応した前記ユーザの個別メニューを生成し、前記メニュー情報は、各料理に含まれる1以上の食材を示す情報と各食材の量とを含み、前記個別メニューの生成では、前記メニュー情報から前記アレルギー反応量が基準値以上の食材をアレルギーの原因となる食材として特定し、前記個別メニューは、前記メニュー情報に含まれる各料理において前記アレルギーの原因となる食材を減少させた料理を含み、前記個別メニューを前記情報端末に送信し、前記情報端末において前記個別メニューに基づき料理を選択される。
上記態様によると、各食材に対するユーザのアレルギー反応量が基準値以上の食材がアレルギーの原因となる食材として特定され、特定された食材を減少させた料理を含む個別メニューが生成される。そのため、アレルギーの原因となる食材を正確に特定した上で、アレルギーに対応した料理をユーザに提示することができる。これにより、ユーザの健康に甚大な悪影響を及ぼすことを防止できる。
上記情報提供方法において、前記ユーザの個別メニューの依頼を取得する際、前記ユーザの情報端末から前記ユーザの座席を示す席IDを取得し、前記席IDは前記情報端末のディスプレイに表示される操作画面を介して取得されたものであってもよい。
上記の態様によると、個別メニューの依頼を取得するに際して、ユーザの情報端末のディスプレイには操作画面が表示され、この操作画面を介してユーザの座席を示す席IDが取得される。
これにより、ユーザが料理を注文する一連の過程の中で、個別メニューからユーザにより選択された料理とユーザの座席との対応付けを行うことが可能になる。なお、席IDは、操作画面を介して、前記ユーザが着席したテーブルの対応位置に用意された識別コードを読み取ることにより、取得されてもよいし、操作画面に表示される指示に従い、ユーザが席IDに相当する情報を手入力することにより、取得されてもよい。
上記情報提供方法において、前記食材を減少させることには、前記食材の量をゼロにすることを含んでもよい。
本態様によれば、個別メニューには、アレルギーの原因となる食材がゼロにされた料理が含まれる。これにより、ユーザの健康に甚大な悪影響を及ぼすことが防止される。
本開示の別の一態様における情報提供方法は、ユーザを特定する識別情報に対応させて前記ユーザのアレルギー情報を管理する第1サーバと通信する情報管理システムであって、一のレストランに対応する1以上の料理を示すメニュー情報を格納する第2サーバを含む情報管理システムにおける情報提供方法であって、前記ユーザの情報端末からネットワークを介して前記ユーザの個別メニューの依頼を取得し、前記情報端末に格納された前記識別情報を前記情報端末からネットワークを介して取得し、前記第1サーバから、ネットワークを介して前記ユーザのアレルギー情報を取得し、前記アレルギー情報は、各食材に対する前記ユーザのアレルギー反応量を含み、前記メニュー情報及び前記アレルギー情報に基づいて、前記アレルギー情報に対応した前記ユーザの個別メニューを生成し、前記メニュー情報は、各料理に含まれる1以上の食材を示す情報と各食材の量とを含み、前記個別メニューの生成では、前記メニュー情報から前記アレルギー反応量が基準値以上の食材をアレルギーの原因となる食材として特定し、前記個別メニューは、前記メニュー情報に含まれる各料理において前記アレルギーの原因となる食材を含む料理を除外させて生成され、前記個別メニューを前記情報端末に送信し、前記情報端末において前記個別メニューに基づき料理を選択される。
本態様によると、各食材に対するユーザのアレルギー反応量が基準値以上の食材がアレルギーの原因となる食材として特定され、特定された食材を除外させた料理を含む個別メニューが生成される。そのため、アレルギーの原因となる食材を正確に特定した上で、アレルギーに対応した料理をユーザに提示することができる。
上記情報提供方法において、前記ユーザの個別メニューの依頼を取得する際、前記ユーザの情報端末から前記ユーザの座席を示す席IDを取得し、前記席IDは前記情報端末のディスプレイに表示される操作画面を介して取得されたものであってもよい。
本態様によると、個別メニューの依頼を取得するに際して、ユーザの情報端末のディスプレイには操作画面が表示され、この操作画面を介してユーザの座席を示す席IDが取得される。
これにより、ユーザが料理を注文する一連の過程の中で、個別メニューからユーザにより選択された料理とユーザの座席との対応付けを行うことが可能になる。なお、席IDは、操作画面を介して、前記ユーザが着席したテーブルの対応位置に用意された識別コードを読み取ることにより、取得されてもよいし、操作画面に表示される指示に従い、ユーザが席IDに相当する情報を手入力することにより、取得されてもよい。
上記情報提供方法において、前記識別情報は、ユーザIDを含んでもよい。
本態様によれば、識別情報にはユーザIDが含まれるため、ユーザに対応するアレルギー情報を取得できる。
上記情報提供方法において、前記第1サーバは、前記第2サーバと異なっていてもよい。
本態様では、第1サーバは第2サーバとは異なるサーバで構成されている。そのため、第2サーバが、ユーザのセンシティブな情報であるアレルギー情報を管理する手間を省くことができる。
上記情報提供方法において、前記席IDは、前記操作画面を介して、前記ユーザが着席したテーブルの対応位置に用意された識別コードを読み取ることで、取得されてもよい。
本態様によれば、席IDは、ユーザが着席したテーブルの対応位置に用意された識別コードを読み取ることで取得される。これにより、席IDをユーザに手入力させずに自動的に取得できる。これにより、ユーザが料理を注文する一連の過程の中で、個別メニューからユーザにより選択された料理とユーザの座席との対応付けが人手を介することなく自動的に行うことが可能になる。したがって、例えば、同一のテーブルに複数のユーザが座って、各ユーザが料理を注文した場合であっても、同一のテーブルに座っている他のユーザが注文したアレルギーに対応していない料理が、食材に関するアレルギーを持つユーザの座席に運ばれることを防止できる。その結果、食材に関するアレルギーを持つユーザは、自身の健康への甚大な悪影響を心配することなく、注文した料理を食べることができる上、料理の注文を簡単に実施できる。
上記情報提供方法において、前記識別コードは、QRコードを含んでもよい。
本態様によれば、識別コードがQRコードであるため、これらの情報をユーザに手入力させることなく取得できる。
上記情報提供方法において、前記第1サーバは、前記アレルギー情報を含む生体情報、前記ユーザの物品の購買履歴情報又は料理の注文履歴情報を含む嗜好情報、及び、前記ユーザの位置情報を含む行動履歴情報を分散管理してもよい。
本態様によれば、第1サーバは、アレルギー情報を含む生態情報、購買履歴情報または料理の注文履歴情報を含む嗜好情報、及び行動履歴情報を分散管理するサーバで構成されているため、アレルギー情報を含むユーザの個人情報が随時取得可能である。その結果、本態様は、第1サーバに記憶されるアレルギー情報の鮮度を保つことが可能となり、これにより、過去のアレルギー情報に基づいて個別メニューが作成されることを防止できる。
本開示のさらに別の一態様における情報提供方法は、ユーザを特定する識別情報に対応させて前記ユーザのアレルギー情報を管理する第1サーバを含む情報提供システムであって、一のレストランに対応する1以上の料理を示すメニュー情報を格納する第2サーバと通信する情報管理システムにおける情報提供方法であって、前記ユーザの情報端末からネットワークを介して取得した前記ユーザの個別メニューの依頼に基づき前記第2サーバに前記メニュー情報の取得要求を出力し、前記情報端末に格納された前記識別情報を前記情報端末からネットワークを介して取得し、前記第2サーバから前記メニュー情報を取得し、前記メニュー情報及び前記識別情報に対応する前記ユーザのアレルギー情報に基づいて、前記アレルギー情報に対応した前記ユーザの個別メニューを生成し、前記メニュー情報は、各料理に含まれる1以上の食材を示す情報と各食材の量とを含み、前記アレルギー情報は、各食材に対する前記ユーザのアレルギー反応量を含み、前記個別メニューの生成では、前記メニュー情報から前記アレルギー反応量が基準値以上の食材をアレルギーの原因となる食材として特定し、前記個別メニューは、前記メニュー情報に含まれる各料理において前記アレルギーの原因となる食材を減少させた料理を含み、前記個別メニューを前記情報端末に送信し、前記情報端末において前記個別メニューに基づき料理を選択される。
本態様によると、各食材に対するユーザのアレルギー反応量が基準値以上の食材がアレルギーの原因となる食材として特定され、特定された食材を減少させた料理を含む個別メニューが生成される。そのため、アレルギーの原因となる食材を正確に特定した上で、アレルギーに対応した料理をユーザに提示することができる。これにより、ユーザの健康に甚大な悪影響を及ぼすことを防止できる。さらに、本態様では、アレルギー情報が第2サーバに送信されていないため、アレルギー情報がレストラン側に漏洩することを防止できる。
上記情報提供方法において、前記ユーザの個別メニューの依頼を取得する際、前記ユーザの情報端末から前記ユーザの座席を示す席IDを取得し、前記席IDは前記情報端末のディスプレイに表示される操作画面を介して取得されたものであってもよい。
本態様によると、個別メニューの依頼を取得するに際して、ユーザの情報端末のディスプレイには操作画面が表示され、この操作画面を介してユーザの座席を示す席IDが取得される。
これにより、ユーザが料理を注文する一連の過程の中で、個別メニューからユーザにより選択された料理とユーザの座席との対応付けを行うことが可能になる。なお、席IDは、操作画面を介して、前記ユーザが着席したテーブルの対応位置に用意された識別コードを読み取ることにより、取得されてもよいし、操作画面に表示される指示に従い、ユーザが席IDに相当する情報を手入力することにより、取得されてもよい。
上記情報提供方法において、前記食材を減少させることには、前記食材の量をゼロにすることを含んでもよい。
本態様によれば、個別メニューには、アレルギーの原因となる食材がゼロにされた料理が含まれる。これにより、ユーザの健康に甚大な悪影響を及ぼすことを防止できる。
本開示のさらに別の一態様における情報提供方法は、ユーザを特定する識別情報に対応させて前記ユーザのアレルギー情報を管理する第1サーバを含む情報管理システムであって、一のレストランに対応する1以上の料理を示すメニュー情報を格納する第2サーバと通信する情報管理システムにおける情報提供方法であって、前記ユーザの情報端末からネットワークを介して取得した前記ユーザの個別メニューの依頼に基づき前記第2サーバに前記メニュー情報の取得要求を出力し、前記情報端末に格納された前記識別情報を前記情報端末からネットワークを介して取得し、前記第2サーバから前記メニュー情報を取得し、前記メニュー情報及び前記識別情報に対応する前記ユーザのアレルギー情報に基づいて、前記アレルギー情報に対応した前記ユーザの個別メニューを生成し、前記メニュー情報は、各料理に含まれる1以上の食材を示す情報と各食材の量とを含み、前記アレルギー情報は、各食材に対する前記ユーザのアレルギー反応量を含み、前記個別メニューの生成では、前記メニュー情報から前記アレルギー反応量が基準値以上の食材をアレルギーの原因となる食材として特定し、前記個別メニューは、前記メニュー情報に含まれる各料理において前記アレルギーの原因となる食材を含む料理を除外させて生成され、前記個別メニューを前記情報端末に送信し、前記情報端末において前記個別メニューに基づき料理を選択される。
上記態様によると、各食材に対するユーザのアレルギー反応量が基準値以上の食材がアレルギーの原因となる食材として特定され、特定されたアレルギーの原因となる食材を含む料理を除外した個別メニューが生成される。そのため、アレルギーの原因となる食材を正確に特定した上で、アレルギーに対応した料理をユーザに提示することができる。これにより、ユーザの健康に甚大な悪影響を及ぼすことを防止できる。さらに、本態様では、アレルギー情報が第2サーバに送信されていないため、アレルギー情報がレストラン側に漏洩することが防止される。
上記情報提供方法において、前記ユーザの個別メニューの依頼を取得する際、前記ユーザの情報端末から前記ユーザの座席を示す席IDを取得し、前記席IDは前記情報端末のディスプレイに表示される操作画面を介して取得されたものであってもよい。
上記の態様によると、個別メニューの依頼を取得するに際して、ユーザの情報端末のディスプレイには操作画面が表示され、この操作画面を介してユーザの座席を示す席IDが取得される。
これにより、ユーザが料理を注文する一連の過程の中で、個別メニューからユーザにより選択された料理とユーザの座席との対応付けを行うことが可能になる。なお、席IDは、操作画面を介して、前記ユーザが着席したテーブルの対応位置に用意された識別コードを読み取ることにより、取得されてもよいし、操作画面に表示される指示に従い、ユーザが席IDに相当する情報を手入力することにより、取得されてもよい。
上記情報提供方法において、前記識別情報は、ユーザIDを含んでもよい。
本態様によれば、識別情報にはユーザIDが含まれるため、ユーザに対応するアレルギー情報を取得できる。
上記情報提供方法において、前記第1サーバは、前記第2サーバと異なっていてもよい。
第1サーバにはユーザのアレルギー情報というようなユーザのセンシティブな情報が記憶されている。このようなセンシティブな情報はユーザの許諾なしに第1サーバの外部に提供されることは好ましくない。本態様では、第1サーバは第2サーバとは異なるサーバで構成されている。そのため、レストラン側にユーザのセンシティブな情報が第1サーバの外部に漏洩することが防止される。
上記情報提供方法において、前記席IDは、前記操作画面を介して、前記ユーザが着席したテーブルの対応位置に用意された識別コードを読み取ることで、取得されてもよい。
本態様によれば、席IDは、ユーザが着席したテーブルの対応位置に用意された識別コードを読み取ることで取得される。これにより、席IDをユーザに手入力させずに自動的に取得できる。これにより、ユーザが料理を注文する一連の過程の中で、個別メニューからユーザにより選択された料理とユーザの座席との対応付けが人手を介することなく自動的に行うことが可能になる。したがって、例えば、同一のテーブルに複数のユーザが座って、各ユーザが料理を注文した場合であっても、同一のテーブルに座っている他のユーザが注文したアレルギーに対応していない料理が、食材に関するアレルギーを持つユーザの座席に運ばれることを防止できる。その結果、食材に関するアレルギーを持つユーザは、自身の健康への甚大な悪影響を心配することなく、注文した料理を食べることができる上、料理の注文を簡単に実施できる。
前記識別コードは、QRコードを含んでもよい。
本態様によれば、識別コードがQRコードであるため、これらの情報をユーザに手入力させることなく取得できる。
前記第1サーバは、前記アレルギー情報を含む生体情報、前記ユーザの物品の購買履歴情報又は料理の注文履歴情報を含む嗜好情報、及び前記ユーザの位置情報を含む行動履歴情報を分散管理してもよい。
本態様によれば、第1サーバは、アレルギー情報を含む生態情報、購買履歴情報または料理の注文履歴情報を含む嗜好情報、及び行動履歴情報を分散管理するサーバで構成されているため、アレルギー情報を含むユーザの個人情報が随時取得可能である。その結果、本態様は、第1サーバに記憶されるアレルギー情報の鮮度を保つことが可能となり、これにより、過去のアレルギー情報に基づいて個別メニューが作成されることを防止できる。
本開示は、このような情報提供方法に含まれる特徴的な各構成をコンピュータに実行させるプログラム、或いはこのプログラムによって動作するサーバとして実現することもできる。また、このようなコンピュータプログラムを、CD-ROM等のコンピュータ読取可能な非一時的な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
(実施の形態1)
我々の社会は、今後もさらにインターネットが普及し、各種センサーが身近になることが予想される。これにより、我々の社会は、個人の状態及び活動等に関する情報から建造物及び交通網等を含む街全体の情報までもが、デジタル化されてコンピューターシステムで利用できる状態になっていくと予想される。デジタル化された個人に関するデータ(個人情報)は、通信ネットワークを介してクラウドに蓄積され、ビッグデータとして情報銀行に管理され、個人のために様々な用途に利用されていく。
このような高度情報化社会は、日本ではSociety5.0と呼ばれる。高度情報化社会は、現実空間(フィジカル空間)と仮想空間(サイバー空間)とを高度に融合させた情報基盤(サイバーフィジカルシステム)により、経済発展と社会的課題の解決とが期待される社会である。
そうした高度情報化社会では、個人が日常の様々なシーンで意思決定を行う際に、蓄積された個人情報を含むビッグデータを分析して、その時の状況に応じた、その個人にとって最適と思われる選択肢を、その個人が知ることが可能になる。
以降では、そのようなサイバーフィジカルシステムが稼働する高度情報化社会において、個人の食事をテーマとして、経済効率化と個人最適化(パーソナライゼーション)とを実施する様態について説明していく。
個人最適化された料理の注文システムの一例としては、レストランの店舗端末から個人の情報端末にメニュー情報を送信し、ユーザのアレルゲンとなる食材を含んでいない料理からなるメニューを推奨メニューとして携帯端末上に提示するものが考えられる。まず、上述の高度情報化社会が提案される以前の社会において構築されることが予想される一般的な料理の注文システムを説明する。
図1は、一般的な料理の注文システムの構成を示す図である。注文システムは、店舗端末1100及び携帯端末1200を含む。店舗端末1100及び携帯端末1200は、レストランの店舗1000内に設置されている。店舗端末1100は、メニュー情報を発信するコンピュータである。店舗端末1100は、外部機器との通信を行うための通信部、演算処理を行うための演算部、データを記憶するためのメモリ、情報を表示及び操作するためのUI部を含む。メモリはメニュー情報1101を記憶する。メニュー情報1101にはレストランが提供する料理に関する情報が含まれている。具体的には、メニュー情報1101には、料理の名前、料理に使用される材料、及び料理の価格が含まれている。図1の例では、メニュー情報1101には、ビーフハンバーグ、シーフードパスタ、ビーフカレー、及びほうれん草のグラタンの4つの料理が含まれている。
携帯端末1200は、店舗1000を訪れたユーザが保有するスマートフォン等の携帯端末である。携帯端末1200は、外部機器との通信を行うための通信部、演算処理を行うための演算部、データを記億するためのメモリ、情報を表示及び操作するためのUI部を含む。メモリは、携帯端末1200を保有するユーザのアレルギー情報及び食事履歴情報等を記憶する。
ユーザが店舗1000に入店すると、店舗端末1100と携帯端末1200とは自動又は手動で通信を開始する。通信を開始した携帯端末1200は店舗端末1100からメニュー情報1101を取得する。メニュー情報1101を取得した携帯端末1200はメニュー情報とメモリに記憶されたアレルギー情報とを照合し、ユーザのアレルゲンを含まない料理を抽出する。携帯端末1200は、抽出した料理に基づいて推奨メニュー1211を生成し、UI部に表示する。図1の例では、ユーザのアレルギー物質が牛肉であるため、牛肉を含まない料理であるシーフードパスタとほうれん草のグラタンとが推奨メニュー1211として表示されている。
上記の構成によると、ユーザは表示された推奨メニューから、自分のアレルゲンの入っていない料理を選択することができる。
Society5.0では、アレルギー情報のような個人情報は、情報銀行と称される個人情報を管理する事業者のサーバによって第三者に個人が特定されないように秘匿化された上で一元管理される。この個人情報は末端のユーザの手入力に依存することなく、情報銀行の管理の下、随時更新される。
しかしながら、図1に示す注文システムでは、アレルギー情報は携帯端末1200で管理されており、サーバで管理されていない。そのため、図1に示す注文システムは、アレルギー情報を更新することが容易ではない。例えば、アレルギー情報を更新するには、ユーザはアレルギー情報を携帯端末1200に手入力させることが要求され、ユーザにとって手間である。さらに、アレルギー情報は秘匿化されていないため、店舗端末1100にアレルギー情報が漏洩する可能性もある。そのため、図1に示す注文システムをSociety5.0が標榜する高度情報化社会に適合させるためには、更なる改善が必要である。そこで、本実施の形態では、Society5.0を踏まえた情報処理システムを提案する。以下、本開示の実施の形態に係る情報処理システムを、図面を参照しながら説明する。
図2は、本開示の情報処理システムの情報基盤の全体像の一例を示す図である。図2の情報処理システムは、Society5.0を踏まえて構成されたシステムであり、個人情報を利用して一消費者であるユーザに適した商品又はサービスをユーザに提案し、商品又はサービスのユーザによる選択を支援する選択支援サービスを提供するシステムである。本実施の形態では選択支援サービスとして料理の注文を支援するサービスを主眼としているが、このサービスを説明する前に、図2を用いて本実施の形態を実現するための情報基盤の全体像を説明する。この情報処理システムは大きく3つの機器群から構成される。
1つ目の機器群はユーザが保有するスマートフォン等の情報端末100を含む機器群である。情報端末100にはマッチングアプリケーションがインストールされている。マッチングアプリケーション(以下、マッチングアプリと称する。)は、ユーザに適した商品又はサービスを、そのユーザの個人情報を用いて選別又は推薦するためのアプリケーションである。ここで言う個人情報とは、個人に関する公開又は非公開の情報が広く包含される。例えば、個人情報は、氏名、生年月日、住所、年収、所有する動産/不動産情報、身長/体重等の身体情報、遺伝子情報、アレルギー情報、病歴/診断カルテ等の医療情報、歩数/消費カロリーなどの活動量情報、食事履歴情報、心拍/血圧等のバイタルサイン情報、店舗/ECサイトなどを介した購買情報、Web検索エンジン/AIスピーカーで検索した単語情報、メール/SNSで送受信された文章/映像音声情報、並びに移動履歴情報等のうちの少なくとも一つを含む。情報端末100は、例えば、4G、5Gと称される移動体通信網により携帯基地局400を介して、インターネットに接続可能である。
2つ目の機器群は第1サーバ200を含む機器群である。第1サーバ200は、ユーザの個人情報を複数箇所に分散し、分散した個人情報をさらに暗号化して記憶する個人情報サーバである。例えば、第1サーバ200は、クラウド上にある複数のストレージ装置にユーザの個人情報を断片化及び暗号化して記憶することで個人情報を管理する。これにより、高いセキュリティが確保され、個人情報の漏洩等が防止される。さらに、第1サーバ200は、第三者からの問い合わせに応じて必要なデータをユーザ本人の許諾に応じて返信する機能を持つ。さらに、第1サーバ200は、ユーザが許諾した事業者に対してユーザが許諾した個人情報をセキュアに共有する機能を持つ。すなわち、第1サーバ200は情報銀行としての機能を持つ。この場合、第1サーバ200は、例えば1つのデータを複数のストレージ装置に分散して記録する。1つのデータの一例は個人情報を記録した1つのファイルである。
本実施の形態では、第1サーバ200は、ユーザの許諾に基づき、特定の事業者に対して特定の個人情報を共有させる。さらに、第1サーバ200は、以下で説明する選択支援サービスを提供するための機能を持つ。
上述のマッチングアプリは、例えば第1サーバ200の運営会社によって開発及び/または配布される。この運営会社はユーザが利用する可能性のある商品又はサービスに対するユーザの適合度合いを、ユーザの個人情報を用いて評価する。第1サーバ200の運営会社、マッチングアプリの開発会社、及びマッチングアプリの配布会社は、それぞれ同一であってもよいし、異なっていてもよい。図2に示す情報処理システムは、上述したマッチングアプリを用いて選択支援サービスを実現するが、これは一例である。例えば、マッチングアプリ以外のアプリ又は一般的なブラウザ等を用いて選択支援サービスを実現してもよい。ユーザの個人情報をセキュアに扱うためには、マッチングアプリ等の専用のアプリによって選択支援サービスを提供することが好ましい。但し、これは一例であり、例えば公開されている個人情報などのセキュリティの重要度が低い個人情報を扱う場合、又はセキュリティを確保するための機能が提供される場合は、マッチングアプリ以外の手段で選択支援サービスが提供されてもよい。
マッチングアプリは、情報端末100の内部でのみ個人情報を取り扱う。例えば、マッチングアプリは、時間、場所、及び状況等の任意の条件下において、ユーザに最も適すると思われる商品又はサービスをユーザに提示する。例えば、マッチングアプリは、ユーザの購買等の経済活動における仲介斡旋機能を提供する。
マッチングアプリは、これまでサービス事業者ごとにサイロ化されていたリコメンド機能をオープンに開放したアプリである。例えば、ECサイト等の電子商取引市場で有名なある1つのサービス事業者の例で説明する。当該サービス事業者のサイトには数多くの商品が掲載されている。特定の商品が検索又は購入されると、その商品と関連性が高い他の商品(例えば、よく一緒に購入される商品)がユーザに推薦される。このような購買に対するリコメンド機能は、当該サービス事業者のECサイトの中でしか有効にならない。したがって、当該リコメンド機能は、他のサービス事業者が運営するECサイトにおいて商品を購入する時、レストランで食事を注文する時、又は休暇の家族旅行を計画する時において、何ら効果を発揮しない。
今後、情報銀行に個人情報が集約され、膨大かつ多種多様で長期間に渡る正確な個人情報が所定の条件下で誰でもアクセスできる仕組みが整うことが予想されている。この場合、ある1つのサービス事業者のECサイトにおける検索又は購入履歴、及び様々なユーザの個人情報を用いて、当該サービス事業者の商品だけなく、あらゆる商品又はサービスを対象として適合度合いを推定することが可能となる。これにより、様々な選択肢の中からユーザにとってより価値の高い商品又はサービスを推薦することが可能となる。
本実施の形態が想定する第1サーバ200は、上記のような思想又は機能を実現するために、個人情報を分散化及び暗号化して管理するクラウド上に設けられた汎用のストレージ装置である。
3つ目の機器群は、各事業者が各事業者固有のデータを管理する第2サーバ300を含む機器群である。図2では事業者X、事業者Y、事業者Zの3社がそれぞれ第2サーバ300を所有又はレンタルし、自社の商品及び/又は自社のサービスに関する情報を管理及び/又は提供している。事業者は、本開示で詳細に述べる外食事業者だけに限定されない。例えば、事業者は、お弁当屋又はファストフード店のように調理済み料理のテイクアウトが可能な中食事業者であってもよい。さらに、事業者は、スーパーマーケットのように自宅で調理することを主眼においた内食向けの事業者であってもよい。さらに、事業者は、自動車メーカ、不動産会社、病院、学校、勉強又はスポーツなどの塾、弁護士事務所、並びに一般消費者に対して商品及び/又はサービスを提供する事業者であってもよい。
本実施の形態の情報処理システムの効果の1つとしては、個人情報が事業者に渡らないことが挙げられる。情報銀行では本人許諾に基づき、特定の事業者に対して個人情報の共有を許可することが想定されている。
しかしながら、この運用を個々にユーザに判断させるのはとても面倒である。データ運用ポリシーを定める信託業者がいても、具体的にどのデータが誰に渡ったのかをユーザは把握できず、ユーザは不安に感じる可能性がある。
そこで、本実施の形態は、第1サーバ200を運営している事業者が、保管している個人情報を利用すること、例えば、暗号を解き解釈することを、ユーザの許諾が無い限り、禁止又は制限する。
さらに、プライバシーに厳密な運営ポリシーの下で、個人情報の管理及びマッチングアプリを提供する情報銀行又は情報仲介業者が市場に参入している場合、ユーザは当該情報銀行又は情報仲介業者との間でそのサービスの提供を受ける契約を結んでもよい。これにより、個人情報が他の事業者に渡らないようにすることが可能となる。
本実施の形態の情報処理システムは、本人以外の第三者にセンシティブな情報を含む個人情報が知られる可能性を低減し、時々刻々と変化する膨大な個人情報を様々なサービスとのマッチングのために利用することができる次世代情報社会の運用システムの一形態である。以降、この想定の下で情報処理システムが説明される。
図3は、本実施の形態の情報処理システムの全体像をより詳しく示す図である。図3に示す情報処理システムは、外食時にユーザが料理を注文するために閲覧するメニュー情報を、そのユーザの個人情報とマッチングさせ、そのユーザにとって最適なメニューを提示するシステムである。図3に示す情報処理システムは、図2に示す情報処理システムに対してさらに生体センサー600及びパブリック情報サーバ500を含んでいる。
サービス提供側の事業者としては、外食産業の会社であるレストランA社、レストランB社、レストランC社が想定されている。レストランA社,B社,C社は、それぞれ別会社である。図3に示す情報処理システムは、レストランA社が運用する第2サーバ300、レストランB社が運用する第2サーバ300、レストランC社が運用する第2サーバ300を含む。各レストランのメニュー情報及び各店舗に関する情報はこれらの第2サーバ300によって管理されている。第2サーバ300は例えばクラウドサーバで構成される。
パブリック情報サーバ500は、レストランに関する情報及び個人情報とは異なる公共情報を管理する。パブリック情報サーバ500はインターネットに接続されている。例えば、公共情報には、天気情報、及び交通情報などが含まれる。これらの情報はマッチングにおいて必要があれば、適宜利用される。
生体センサー600は、スマートウォッチなどの生体センサーである。生体センサー600は、情報端末100を所有するユーザにより装着されている。生体センサー600は、継続的にユーザのバイタルサイン情報を計測する。生体センサー600が計測した各種のバイタルサイン情報は、Bluetooth(登録商標)のような近距離通信によって、生体センサー600から情報端末100に送信される。バイタルサイン情報は、情報端末100にインストールされたセンサーアプリによって、保管及び/又は管理される。センサーアプリは、収集したバイタルサイン情報とバイタルサイン情報の測定時刻を示す時刻情報とを、ユーザアカウント情報にしたがって第1サーバ200へアップロードする。これによりバイタルサイン情報が蓄積される。
センサーアプリは、保管及び/又は管理するデータに対するアクセス権をマッチングアプリ又は情報端末100のOS(Operating system)に付与してもよい。この場合、バイタルサイン情報はマッチングアプリ又はOSを介して、第1サーバ200へアップロードされる。センサーアプリは、バイタルサイン情報を、情報端末100のメモリに保管してもよいし、第1サーバ200にアップロードすることによって保管してもよい。
図4は、本実施の形態に係る情報処理システムの具体的な構成の一例を示す図である。図4に示す情報処理システムは、図2及び図3で説明した情報端末100、第1サーバ200、及び第2サーバ300を含む。なお、図4においては、携帯基地局400、生体センサー600の図示は説明の便宜上省かれている。情報端末100、第1サーバ200、及び第2サーバ300はネットワークNTを介して相互に通信可能に接続されている。ネットワークNTは携帯電話通信網及びインターネットを含む広域通信網である。
情報端末100は、スマートフォン又はタブレット端末等の携帯型の情報処理装置で構成されている。本実施の形態において、情報端末100は、レストランの店舗で料理を注文するユーザによって携帯される。情報端末100は、通信部101、メモリ102、カメラ103、演算部104、ディスプレイ105、及び操作部106を含む。
通信部101は、情報端末100をネットワークNTに接続する通信回路で構成されている。通信部101は、第2サーバ300から送信された後述するメニュー情報を受信して、メモリ102に記憶させる。演算部104はメモリ102に記憶されたメニュー情報を読み出し処理を行う。また、通信部101は、第1サーバ200から送信された後述するアレルギー情報を受信して、メモリ102に記憶させる。演算部104はメモリ102に記憶されたアレルギー情報を読み出し処理を行う。これにより、演算部104は、アレルギー情報及びメニュー情報を取得する。さらに、通信部101は、演算部104の制御の下、後述する注文料理情報及び後述する席IDを対応付けて第2サーバ300に送信する。
メモリ102は、フラッシュメモリ等の不揮発性のストレージ装置で構成されている。メモリ102は、図21に例示されるアレルギー情報を含む情報2700と、図22及び図23に例示される食材情報2800を記憶する。1つの食材情報2800は1つの料理に対応しており、料理に使用される食材に関する情報である。メニュー情報は1以上の食材情報2800によって構成される。情報2700及び食材情報2800の詳細は後述する。さらに、メモリ102はユーザを特定する識別情報を記憶する。識別情報はユーザID(Identifier)が含まれる。ユーザIDはユーザの識別子である。
カメラ103は、CMOSセンサー等で構成される撮像装置である。カメラ103は、レストランの店舗の座席に取り付けられたQRコードを撮影するために用いられる。
演算部104は、CPU等のプロセッサで構成されている。演算部104は、情報端末100のOS、上述のマッチングアプリ、QRコードリーダー、及びブラウザ等を実行する。
演算部104は、ディスプレイ105に表示される第1操作画面を介して、レストランID及び座席を示す席IDを取得する。第1操作画面は図15に示すようにマッチングアプリが提供するQRコードを読み取るための操作画面である。レストランIDは、レストランの識別子である。レストランが複数の店舗を持つ場合、レストランIDにはレストランの識別子と店舗の識別子とが含まれてもよい。席IDは店舗に配置された座席の識別子である。演算部104は、ユーザが操作部106に対して撮影指示を入力した時にカメラ103が撮影したQRコードを解析することでレストランID及び席IDを取得する。
演算部104は、レストランIDに対応するレストランの第2サーバ300からネットワークNTを介してレストランが提供する1以上の料理を示すメニュー情報を取得し、メモリ102に記憶する。例えば、レストランIDがレストランA社の識別子を含む場合、レストランA社の第2サーバ300からメニュー情報が取得される。
演算部104は、メモリ102に記憶された識別情報を第1サーバ200に送信し、識別情報に基づき、第1サーバ200からユーザのアレルギー情報を取得し、メモリ102に記憶する。
演算部104は、取得したメニュー情報及び取得したアレルギー情報に基づき、アレルギー情報に対応したユーザの個別メニューを生成する。個別メニューには、演算部104が取得したメニュー情報に含まれる各料理においてアレルギー情報が示すアレルギーの原因となる食材を減少させて生成された料理が含まれている。ここで言う「食材を減少させる」ことには、アレルギーの原因となる食材をゼロにすることが含まれる。これにより、個別メニューにはアレルギーに対応した料理のみが含まれることになる。或いは、個別メニューは、メニュー情報に含まれる料理のうち、アレルギー情報が示すアレルギーの原因となる食材を含む料理が省かれて生成されたものであってもよい。
演算部104は、ディスプレイ105に表示された第2操作画面を介して、個別メニューを表示する。第2操作画面は、図18に示すようにレストランがユーザから料理の注文を受け付けるための操作画面であり、レストランのデザイン指定に基づき、マッチングアプリを介して提供される。ユーザはこの第2操作画面に表示された個別メニューの中から希望の料理を選択する操作を入力し、料理を注文する。
演算部104は、個別メニューにて選択された料理を示す注文料理情報及び席IDを対応付けて通信部101を介して第2サーバ300に送信する。第2サーバ300に送信された注文料理情報及び席IDは、送信先の第2サーバ300に対応するレストランの店舗に設置されたディスプレイに表示される。この店舗の従業員は表示された内容にしたがってユーザが注文した料理を調理し、ユーザの座席に運ぶ。これにより、ユーザは注文した料理を食することができる。
ディスプレイ105は、例えば液晶表示パネルまたは有機ELパネル等で構成され、種々の画像を表示する。例えば、ディスプレイ105は、上述の第1操作画面及び第2操作画面を表示する。
操作部106は、例えばタッチパネル等の入力装置で構成される。操作部106は、個別メニューの中からユーザが希望する料理を選択する指示を受け付ける。
以上が情報端末100の構成である。
次に、第1サーバ200の構成について説明する。第1サーバ200は、通信部201、演算部202、及びメモリ203を含む。通信部201は、第1サーバ200をネットワークNTに接続するための通信回路で構成されている。通信部201は、情報端末100からの要求に応じて情報端末100に対してアレルギー情報を送信する。演算部202はCPU等のプロセッサで構成されている。演算部202は、メモリ203が記憶するユーザの個人情報を処理する。
演算部202は、例えば、通信部201が、許諾ユーザについての個人情報の取得を要求する信号を受信したとする。許諾ユーザとは、情報端末100又は第2サーバ300から要求された第1サーバ200に記憶された個人情報の読み出しが、直接的に許可されたユーザ又は信託された第三者を経由して間接的に許諾されたユーザである。この場合、演算部202は、情報端末100又は第2サーバ300からの要求に応じて、メモリ203に記憶されている許諾ユーザの個人情報を読み出して通信部201に返信させる。なお、読み出される個人情報は、管理されている個人情報の全体であってもよいし、又は、管理されている個人情報のうち、要求された特定項目に関連する情報だけ(個人情報の一部のみ)であってもよい。
メモリ203は、ハードディスクドライブ等の不揮発性の複数のストレージ装置で構成されている。メモリ203は、1以上のユーザの個人情報を記憶する。個人情報には各ユーザのアレルギー情報が含まれる。個人情報は、複数のストレージ装置において分散化及び暗号化された上で記憶される。メモリ203が記憶する個人情報には、生体情報と、購買履歴情報と、嗜好情報、及び行動履歴情報が含まれていてもよい。生体情報は心拍数等の各ユーザの生体に関する情報である。生体情報には、上述のアレルギー情報が含まれる。購買履歴情報は、各ユーザの商品(物品)又はサービスの購買履歴を示す情報である。嗜好情報は、各ユーザの嗜好を示す情報である。嗜好情報には、各ユーザの料理の注文履歴を示す注文履歴情報が含まれる。行動履歴情報は、各ユーザの行動履歴を示す情報である。行動履歴情報は、例えば、ユーザの位置情報と時刻情報とが対応付けられた時系列データで構成される。
次に、第2サーバ300の構成について説明する。第2サーバ300は、各レストラン会社に対応して1又は複数存在する。第2サーバ300は、通信部301、演算部302、及びメモリ303を含む。通信部301は第2サーバ300をネットワークNTに接続するための通信回路で構成される。通信部301は、情報端末100からの要求に応じてメニュー情報を情報端末100に送信する。演算部302は、CPU等のプロセッサで構成される。演算部302は、メモリ303が記憶するメニュー情報を処理する。メモリ303はハードディスクドライブ等の不揮発性のストレージ装置で構成されている。メモリ303は、メニュー情報を記憶する。
図5は、レストランのある店舗のレイアウトを示した図である。図5の例ではレストランA社の店舗40のレイアウトが示されている。店舗40には4つのテーブル410が設置されている。各テーブル410には4つの椅子411,412,413,414が設置されている。
1つのテーブル410に2名以上のユーザが着席した場合において、これらのユーザの中に食物系アレルギーを抱えるユーザが含まれていることがある。この場合、各ユーザが注文した料理が間違って別のユーザに配膳されることは避けなければならい。食物系アレルギーは、アナフィラキシーショックのように生命活動上も重篤な症状も引き起こすリスクがあるためである。
このような間違いを避けるためには、ユーザとそのユーザが注文した料理とを対応づける適切な仕組みが必要である。しかしながら、現在そのような間違いを避けるためのソリューションは限定的であった。特に、図3に示すような一般的なレストランの店舗に適用可能なソリューションは存在していない。現在、1席1席ごとに番号が付けられたカウンターが設置された小規模店舗において、このような対応付けが試みられているが、この対応付けは、注文伝票又は注文入力端末を用いて人為的に行われているため、配膳の間違いを解消するには不十分である。
本実施の形態は、ユーザとそのユーザが注文した料理とをより確実に対応付けて管理するための仕組みを提供する。以下、この仕組みを実現するための具体例について説明する。本実施の形態では、店舗40の各座席にQRコードを設置する。図6A,図6B,図6C,図6Dは、座席に対するQRコード601の設置例を示す図である。図6Aの例では、QRコード601は店舗の各椅子の背もたれ部の上面に配置されている。QRコード601には、上述したようにレストランID及び各座席の席IDが含まれている。ここでは、QRコードが用いられているが、これは一例でありバーコード等、レストランID及び席IDが識別可能な情報であればどのような情報が採用されてもよい。
図6Bの例では、QRコード601は、各椅子の座部の側面に配置されている。QRコード601を座部の側面に配置することで、QRコード601を読み取らせる際のユーザの操作が容易となる。
図6Cの例では、QRコード601は、椅子ではなくテーブルの側面(例えば、椅子に向いた面)に配置されている。この例ではテーブルは4人用であるため、テーブルの側面には各座席に対応する4つのQRコード601が配置されている。
図6Dの例では、QRコード601は、テーブルの天板の上面に配置されている。この例ではテーブルは4人用であるため、天板の上面には各座席に対応する4つのQRコード601が配置されている。天板の上面にQRコード601を配置することで、QRコード601の存在をユーザに容易に気づかせることができる。
座席毎に準備されたQRコードは、料理を注文したユーザの情報端末100が、店舗のメニュー情報を取得するために利用される。以下、順を追ってQRコードと情報端末100とを使った料理の注文方法について詳細に説明する。本実施の形態において、料理の注文は、標準メニューから行うケースと、個別メニューから行うケースとがある。
(標準メニューからの注文)
標準メニューは、食物系アレルギーを有さない又は配慮しないユーザが料理を注文する場合に用いられる。標準メニューは、ユーザが店舗で提供される一般的な料理を含むメニューである。以下、標準メニューにより料理が注文される処理を、情報端末100に表示される各種画面を用いて説明する。
この標準メニューからの注文処理は、図25のフローチャートに相当しているため、以下の説明では、適宜図25のフローチャートが参照される。まず、QRコードリーダーが起動され、QRコードリーダーが、ユーザが着席した座席に対応するQRコードを読み取る。この処理は図25のステップS11に相当する。
図7は、ユーザがQRコードを情報端末100に読み取らせる場合に情報端末100に表示される操作画面G1の一例を示す図である。操作画面G1は、レストランの店舗に入店して着席したユーザが、着席した座席(自席)に対応するQRコードを情報端末100に読み取らせるシーンにて表示される。自席に対応するQRコードは、図6A~図6Dに示す何れかの様態で配置されている。着席したユーザは、情報端末100を取り出し、レストランの店舗の標準メニューを取得するために、自席に対応するQRコードを情報端末100に読み取らせる。QRコードの読み取りは情報端末100に予めインストールされた「QRコードリーダー」という汎用のQRコード読み取りアプリを用いて実現される。図7では、自席に対応するQRコードに情報端末100のピントを合わせる操作をユーザが行っている最中の操作画面G1が表されている。ユーザはQRコードリーダーのガイド線701(図中の破線四角)内にQRコード601が収まるように、情報端末100の向き及び位置を調整する。座席ごとに配置されたQRコード601の近くには、ユーザ又は店舗のスタッフが座席を特定するための情報である「席番号18」と、このQRコード601の用途の説明(図中では「パーソナルマッチング用QRコード」)も配置されている。そのため、操作画面G1には、「席番号18」を示す画像と、「パーソナルマッチング用QRコード」を示す画像も表示されている。
次に、QRコードリーダーが読み取ったQRコードからレストランA社の標準メニュー情報が取得され、標準メニュー情報に基づいて標準メニューが生成され、情報端末100に表示される。
この処理は図25のステップS12に相当する。図8は、QRコードリーダーがQRコードを読み取った直後の情報端末100に表示される操作画面G2の一例を示す図である。この操作画面G2には、QRコードリーダーによる読み取りが成功されたQRコードの読み取り結果である文字列が表示されている。この例では、「http://restaurantA.com/QRorder-18」という文字列がQRコードの読取結果として得られている。操作画面G2には、「ブラウザで開く」と記載されたボタン801と、「メールを送る」と記載されたボタン802とが含まれている。ボタン801は、QRコードの読み取り結果である文字列がURLであるとユーザが解釈した場合に選択されるボタンである。ボタン801がタッチされると、インターネットのブラウザが起動し、このURLで示されるウェブページが情報端末100に表示される。
ボタン802は、QRコードの読み取り結果である文字列がメールアドレスであるとユーザが解釈した場合に選択されるボタンである。ボタン802がタッチされると、メールアプリが起動される。ここでは、標準メニューを閲覧するためにボタン801がタッチされている。
この標準メニューからの料理を注文するに際して、特定のアプリを情報端末100にインストールする必要はなく、QRコードリーダー及びブラウザがあれば足りる。そのため、標準メニューを用いた料理の注文は多数のユーザによって容易に行われる。
ブラウザは、QRコードリーダーが読み取った文字列(例えば、URL)に含まれる接続先情報(例えば、ドメイン名、restaurantA.comの部分)から接続先がレストランA社であることを特定できる。第2サーバ300は、リクエストされたURLの末尾の数字が18であるため、このリクエストが席番号「18」の座席のQRコードを読み込んだ情報端末100のブラウザからのリクエストであることを特定できる。図8に示す文字列には、店舗40の店舗IDは含まれていないが、明示的に店舗40(Store-A)が含まれてもよい。この場合は、QRコードが意味する文字列は、例えば、「http://restaurantA.com/Store-A/QRorder-18」のように表現される。情報端末100のブラウザは、このようにしてリクエストする接続先情報を取得する。
図9は、レストランA社の標準メニューを含む操作画面G3の一例を示す図である。この操作画面G3は、標準メニュー情報が情報端末100によって受信された場合に表示される。標準メニューには、標準メニュー情報に含まれる料理がそのまま含まれており、ユーザのアレルギー情報には対応していない。標準メニュー情報は個別メニューを生成する際に使用されるメニュー情報と同じ情報であってもよいし、異なる情報であってもよい。
この操作画面G3には、複数のタイルオブジェクト901がマトリックス状に配置されている。標準メニューはこれら複数のタイルオブジェクト901によって構成される。1つのタイルオブジェクト901は標準メニューに含まれる1つの料理に対応している。各タイルオブジェクト901には、料理の料理名、料理の価格、及び料理の画像が含まれている。操作画面G3において標準メニューはユーザのスクロール操作に応じてスクロールする。これにより、操作画面G3内で一度に表示仕切れなかった他の料理が表示される。このように、ユーザは、スクロール操作をすることで、標準メニューに含まれる全ての料理を閲覧できる。
操作画面G3は、QRコードの読み取り結果である文字列が示すURL(例えば、http://restaurantA.com/QRorder-18)にブラウザが接続し、ブラウザがレストランA社の第2サーバ300からメニュー情報を受信することで表示される。
例えば、情報端末100のブラウザは上記URLに接続し、レストランA社の標準メニューを描画するためのHTMLファイルをHTTPリクエストし、レストランA社の第2サーバ300からHTTPレスポンスを受信し、受信したHTTPレスポンスに従って標準メニューを含む操作画面G3を描画する。但し、この実装形態は一例であり、操作画面G3の描画は、他の技術手段で実現されてもよい。
次に、表示された標準メニューからユーザにより料理が選択される。この処理は図25のステップS13に相当する。
図10は、ユーザが操作画面G3を操作して標準メニューから料理を注文するシーンの一例を示した図である。この図のように、ユーザは指等の指示体1001を用いたタッチ操作で注文する料理を決定できる。例えば、情報端末100は、「たまご」の料理に対応するタイルオブジェクト901Aが1回タッチされたことを検知すると、タイルオブジェクト901Aの色をデフォルトの第1色から選択されたことを示す第2色に変更する。このとき、情報端末100は、「たまご」の注文数を示す「1」をタイルオブジェクト901Aの例えば右上に表示する。この例では、さらに、「大トロ」の料理に対応するタイルオブジェクト901Bがユーザにより2回タッチされている。そのため、タイルオブジェクト901Bの色は、第1色から第2色に変更され、且つタイルオブジェクト901Bの右上には注文数を示す「2」が表示されている。以上より、この例では標準メニューの中から、「たまご」の料理が1皿、「大トロ」の料理が2皿、選択されていることが分かる。ユーザは、各料理に対応するタイルオブジェクト901をタッチすることで料理を注文できるため、慣れた操作感覚で料理の注文を直感的且つ簡単に行うことができる。
尚、ここではユーザが注文する料理を選択した際にタイルオブジェクト901の色を変更するとしたが、これに限らない。例えば、ユーザにより選択された際に、タイルオブジェクト901の模様を第1模様から、第2模様に変更してもよい。または、ユーザにより選択された際に、タイルオブジェクト901の色及び模様を第1の色及び模様から、第2の色及び模様に変更してもよい。
図11は、標準メニューから注文する料理を最終的に決定する際に表示される操作画面G4の一例を示す図である。操作画面G4は、操作画面G3において、注文する料理を決定したユーザにより注文ボタン(図9に図示せず)がタッチされた場合に表示される。操作画面G4には、操作画面G3で選択された料理に対応するタイルオブジェクト901A,901Bと、注文した料理の合計金額(例えば、1,100円)を示す合計金額欄1011と、注文を最終的に決定する注文ボタン1012とが含まれている。このように、操作画面G4には、注文する料理の一覧と、各料理の数量と、注文する料理の合計金額とが表示されているため、ユーザは1画面で効率的に注文内容を確認できる。注文内容に問題がないことを確認したユーザは操作画面G4の下部にある注文ボタン1012をタッチする。これにより、料理の注文が確定する。さらに、注文ボタンには席番号「18」が記載されているため、ユーザは自身の座席に配膳されることを確認した上で料理を注文できる。注文ボタン1012がタッチされると、情報端末100は、QRコードから読み取った席ID(図11の例では席番号「18」)と、選択された料理を示す注文料理情報とを対応付けた注文リクエストを、レストランA社の第2サーバ300に送信する。以上により、標準メニューにおける注文処理が完了する。この処理は、図25のステップS14に相当する。
一般向けである標準メニューからの注文処理は、上記の説明のように実施される。この注文処理では、料理を注文するユーザは、情報端末100にQRコードを読み取らせ、ブラウザによりレストランA社の標準メニューを表示させ、この標準メニューを通じて料理を注文できる。そのため、レストランA社が配布するような特定のアプリを情報端末100に事前にインストールする手間が省かれる。よって、ユーザは情報端末100を用いてすぐにこのサービスを利用でき、このサービスはより多くのユーザにより利用される。また、ユーザは、標準メニューを通じて好きな料理を直感的な操作で簡単に選択して注文することができる。さらに、操作画面G3は、ピンチ操作によってズーム倍率が調節可能である。そのため、老眼のユーザでも操作メニューに含まれる料理を容易に確認できる。さらに、ユーザは、操作画面G3を縮小表示することによって、より多くの情報を同時に閲覧できる。さらに、注文リクエストは、注文料理情報と席ID(例えば席番号「18」)とが対応付けられたHTTPリクエストであるため、レストランA社の第2サーバ300は、このHTTPリクエストを通じて席番号「18」のユーザが注文した料理を認識し、認識した席番号「18」と注文した料理とを店舗内のディスプレイに表示することができる。
これにより、レストランの従業員は席番号「18」に注文された料理を間違わずに配膳することができる。さらに、標準メニューは紙媒体ではないため、レストランA社は、紙媒体からなる標準メニューを採用した場合に必要となる標準メニューの更新又は管理に要する手間を省くことができる。その結果、注文を取るための人的リソース及び注文を間違って受け付けるクレームリスクが低減され、コストダウン及び経営の効率化が図られる。
(個別メニューからの注文)
次に、個別メニューからの料理の注文について説明する。レストランが提供する一般向けのメニューであるが、個別メニューはユーザが健康上有害となるような強いアレルギー反応を引き起こす可能性のある食材が除外又は低減された料理を含むメニューである。或いは、個別メニューはユーザが健康上有害となるような強いアレルギー反応を引き起こす可能性のある食材を含む料理が除外されたメニューである。ここで言う、健康上有害となるような強いアレルギー反応とは、アレルギー検査により陽性として診断されるような、ユーザが認知し、生活上配慮すべきアレルギー反応のことを指す。そのため、アレルギー検査で陰性及び/又は擬陽性のような比較的弱いアレルギー反応を引き起こす可能性のある食材については、個別メニューの料理から除外されてもよいし、または、その影響を十分考慮したうえで、適量に低減されることがあってもよい。
この個別メニューから料理を注文する処理は、後述する図26のフローチャートによって示される。以下、図26のフローチャートを適宜参照しながら、個別メニューから料理を注文する処理について説明する。
個別メニューによる料理の注文は、マッチングアプリの起動をトリガーに開始される。図12は、料理を注文するユーザがマッチングアプリを起動した直後に情報端末100に表示される認証画面G101の一例を示す図である。認証画面G101は、指紋認証によりユーザ認証を行うための画面である。認証画面G101には、中央に指紋を模式的に示す指紋画像1201が表示され、指紋画像1201の下部には「指紋認証してください」とのメッセージが表示されている。これらにより、認証画面G101は、ユーザに対して指紋認証を行うよう促している。認証画面G101の上部には「パーソナルマッチング」と記載されている。これにより、認証画面G101はマッチングアプリの画面であることをユーザに確認させることができる。このことは、後述する図13~図16においても同じである。
図13は、認証画面G102の他の一例を示す図である。認証画面G102は、顔認証によりユーザ認証を行うための画面の一例である。認証画面G102には、情報端末100がユーザの正面からの顔の画像を適当なサイズで捉えられるよう、中央に顔の輪郭を模式的に示す点線1301が表示されている。ユーザは点線1301に収まるように自身の正面からの顔が表示されるように情報端末100の向き及び位置を調整する。
上記のユーザ認証の方法に比べて必要な認証精度をより少ないユーザの負担で実現できるユーザ認証の方法があれば、その方法が採用されてもよい。ユーザ認証の方法としては、一般的にセキュリティ強度が高いと言われる2段階認証が採用されてもよいし、ユーザIDとパスワードとを入力する方法が採用されてもよい。
図14は、マッチングアプリによるユーザ認証が終わった直後に表示されるホーム画面G103の一例を示す図である。ホーム画面G103には、上段にアプリ名称「パーソナルマッチング」が表示され、中段に複数のタイルオブジェクト1401がマトリックス状に表示されている。各タイルオブジェクト1401には、マッチングアプリが取り込んだ連携機能又は別アプリが対応付けられている。別アプリは、例えば、マッチングアプリ内で起動するアプリである。この例では、a、b、c、d、eと記載された5つのタイルオブジェクト1401が表示されている。これらのタイルオブジェクト1401には、マッチングアプリに連携して自社商品又は自社サービスのマッチングを行う専用機能(例えば、マッチングアプリ内のアプリ)が対応付けられている。これにより、ユーザは、a、b、c、d、eで示される5種類の連携機能が利用可能である。グレイアウトされたタイルオブジェクト1401は、連携機能がインストールされていない空きのタイルオブジェクトである。ホーム画面の下段には、左よりスキャンボタン1402、マップボタン1403、アカウントボタン1404、及びホームボタン1405が表示されている。こら4つのボタンは固定ボタンである。スキャンボタン1402は、上述したレストラン等の事業者が提供するサービスに連携したQRコード等を読み取る場合に使用されるボタンである。マップボタン1403は、情報端末100の現在地の周辺にあるマッチングアプリ対応店舗を地図画面を用いて表示させるボタンである。アカウントボタン1404は、ユーザのアカウント情報を登録及び編集するためのボタンである。アカウント情報の登録及び編集には、例えば、個人認証の設定及び第1サーバ200との連携機能の設定等が含まれる。ホームボタン1405は、画面表示をこの図に示されるホーム画面G103に戻すためのボタンである。
ホーム画面G103では、連携機能、別アプリ、又は他の事業者のサービスと連携するためのタイルオブジェクト1401が中段に集約して配置されている。これらのタイルオブジェクト1401はユーザの好みに応じて、表示の有無及び配置する場所が設定可能である。よって、ユーザは、1つのマッチングアプリを用いて、数多くの事業者(例えば、家電量販店、DVD/Blu-ray(登録商標)レンタル店、本屋、コーヒーショップ、タクシー等)が提供する商品又はサービスのうち、個人情報をもとにそのユーザに適合する商品及び/又はサービスを取得できる。
図15は、マッチングアプリを起動したユーザが自席に対応するQRコードを情報端末100に読み取らせる場合に情報端末100に表示される操作画面G104の一例を示す図である。操作画面G104(第1操作画面の一例)は、図7の操作画面G1とほぼ同様である。操作画面G104では上段にアプリの名称表示が「パーソナルマッチング」である点が操作画面G1と相違する。
マッチングアプリは、QRコードから読み取った文字列(例えば、URL)の接続先情報(例えば、ドメイン名、restaurantA.com)から接続先がレストランA社であることを特定できる。このリクエストを受信した第2サーバ300は、マッチングアプリからリクエストされたURLの末尾の番号が「18」であることから、このリクエストが席番号「18」の座席のQRコードを読み取った情報端末100から送信されたリクエストであることを識別できる。本実施の形態は、レストランA社の店舗40に対して、店舗40の席番号「18」に着席したユーザが料理を注文することを例示する。このリクエストにおいてマッチングアプリは明示的に店舗40(Store-A)を指定してもよい。この場合、QRコードが意味する文字列は、例えば、http://restaurantA.com/Store-A/QRorder-18と設定される。マッチングアプリは、このようにして接続先を特定する情報(例えば、レストランID)を取得できる。
以上、説明したマッチングアプリを起動し、ユーザ認証を行い、QRコードを読み取る処理は、図26のステップS1に対応する。
次に、マッチングアプリがレストランA社の第2サーバ300へアクセスし、メニュー情報を取得する処理を説明する。この処理は、図26のステップS2に対応する。
図16は、マッチングアプリが個別メニューを生成している際に情報端末100に表示される表示画面G105の一例を示す図である。表示画面G105では、操作画面G104で撮影されたQRコードの画像が透明度を下げて表示され、その画像の上に円形状の矢印オブジェクト1501が回転表示される。さらに、矢印オブジェクト1501の下側には、「レストランAのメニューとマッチングしています」と表示されている。これにより、マッチングアプリが処理中であることをユーザは認識できる。
表示画面G105の表示中において、情報端末100のマッチングアプリはレストランA社の第2サーバ300と第1サーバ200と連携して個別メニューを生成する。具体的には、マッチングアプリは、読み取ったQRコードが示すURLに基づいてレストランA社の第2サーバ300にアクセスして、メニュー情報を取得する。メニュー情報を取得したマッチングアプリは、メニュー情報のデータ属性を検出する。メニュー情報は食に関する情報であるため、ここで検出されるデータ属性は食属性となる。
メニュー情報は、例えばHTMLファイルである。メニュー情報には、例えば、データ属性が食属性であることが、所定のフォーマットで記述されている。マッチングアプリはこのフォーマットに基づいて、メニュー情報のデータ属性が食属性であることを検出すればよい。或いは、マッチングアプリは、例えば、QRコードが示すURLのドメイン名からメニュー情報のデータ属性が食属性であることを検出してもよい。ここでは、ドメイン名「restaurantA.com」がレストランA社を示すため、メニュー情報のデータ属性が食属性であると判断される。或いは、マッチングアプリは、取得したメニュー情報を解析し、食に関するデータであるとの解析結果が得られた場合、メニュー情報のデータ属性が食属性であると判定してもよい。或いは、マッチングアプリは、第2サーバ300からメニュー情報のデータ属性を示す補足情報を取得することで、メニュー情報のデータ属性が食属性であることを検出してもよい。メニュー情報のデータ属性を検出する実装形態は、データ属性が識別できる手法であれば他の手法が採用されてもよい。
次に、マッチングアプリが第2サーバ300から、アレルギー情報を取得する処理を説明する。この処理は、図26のステップS3に対応する。
メニュー情報のデータ属性が食属性であると判断したマッチングアプリは、食属性に分類されるユーザの食事制約条件である最新のアレルギー情報の取得を第1サーバ200に要求する。この要求には、ユーザIDが含まれる。この要求を受信した第1サーバ200は、分散暗号化された個人情報の中から最新のアレルギー情報をユーザIDに基づいて抽出する。抽出されたアレルギー情報は、第1サーバ200から情報端末100へ送信される。これにより、マッチングアプリは、アレルギー情報を取得する。アレルギー情報の詳細については、図21を用いて後述する。
アレルギー情報を取得した情報端末100は、レストランA社のメニュー情報とアレルギー情報とを照合し、個別メニューを生成する処理を実行する。この処理は図26のステップS4に対応する。このとき、情報端末100には依然、図16に示す表示画面G105が表示されているが、マッチングアプリは、メニュー情報とアレルギー情報とを照合し、アレルギー情報に対応する個別メニューを生成する処理を実行している。この生成方法は複数ある。
一つ目の方法は、ユーザがアレルギー反応を引き起こす可能性のある食材が少しでも含まれている料理を個別メニューからは除外するという方法である。食材に対するアレルギー反応は後述するように低い方から順にクラス0~クラス6の7つのクラスに分類される。このうち、クラス0は、陰性、つまりアレルギー反応を引き起こす可能性がほぼゼロであり、クラス1は、偽陽性、つまりアレルギー反応を引き起こす可能性はあるもののその可能性は比較的低い。クラス2~6はそれぞれ陽性であり、クラスが増すにつれてアレルギー反応を引き起こす可能性が高くなる。一つ目の方法では、例えば、クラス1以上の食材を少しでも含む料理が個別メニューから除外され、クラス0以下の食材のみからなる料理が個別メニューに含まれる。
二つ目の方法は、各料理において、ユーザがアレルギー反応を引き起こす可能性のある食材が含まれていても、その食材に対するユーザのアレルギー反応が比較的軽度である場合はその料理を個別メニューに残すという方法である。二つ目の方法では、例えば、クラス2以上の食材を含む料理は個別メニューから除外され、クラス1以下(陰性及び偽陽性)の食材を含む料理は個別メニューに残される。
三つ目の方法は、料理毎に、食材の量(単位はg)と、その食材に対するユーザのアレルギー反応量(単位はIU/mL)とを掛け合わせた数値の合計値を計算し、この合計値に応じて個別メニューに含まれる料理を変更するという方法である。例えば、料理毎に計算された合計値が低/中/高の3段階に分類され、分類結果に応じて個別メニューに含まれる料理が変更される。
例えば、合計値が低段階の料理は、アレルギー反応が軽微であるため、調理方法は変更されずに個別メニューへ登録される。
合計値が中段階の料理は、アレルギー反応が多少あるため、合計値が低段階に収まるよう調理方が変更されたうえで個別メニューに登録される。この調理方法の変更では、例えば合計値が低段階に収まるようにアレルギーを引き起こす食材の量が少しずつ減らされる。或いは、合計値が中段階の料理は、アレルギー反応量(IU/mL)が基準値を超える食材の量がゼロになるように調理方法が変更されたうえで個別メニューに登録されてもよい。
例えば、合計値が高段階の料理は、アレルギー反応が強いため、個別メニューから省かれる。
アレルギー反応がある食材を一切食べないことは、特に成長段階にある子供の栄養摂取バランスにおいて大きな問題となる。そのため、アレルギー反応が全く無い又は極めて低い食材だけで料理を作るのではなく、ユーザごとのアレルギー反応の度合いに応じて調理方法を動的に変更する情報処理システムが重要となるのである。
個別メニューを生成したマッチングアプリは、個別メニューを標準メニューからの注文時と同じように、ブラウザを用いて、情報端末100に表示する。個別メニューに掲載された料理は、全て最新のアレルギー情報が考慮された安全性の高い料理である。そのため、ユーザは安心して食事をすることができる。
図17は、個別メニューを含む操作画面の一例を示す図である。操作画面G106(第2操作画面の一例)は、操作画面G3と同様、複数のタイルオブジェクト901がマトリックス状に配置されている。操作画面G106において、個別メニューはユーザのスクロール操作に応じてスクロール可能に構成されている。これら複数のタイルオブジェクト901により個別メニューが構成される。操作画面G106においては、図8の標準メニューから「ぼたん海老」及び「たまご」のタイルオブジェクト901が除外され、代わりに「いくら」及び「醤油ラーメン」のタイルオブジェクト901が掲載されている。これは、図21に示すように、このユーザは、エビに対するアレルギー反応量が「632.38」であり、卵に対するアレルギー反応量が「25.40」であり、これらの食材のアレルギー反応量が高かったからである。ここでは、「ぼたん海老」及び「たまご」の2つの料理が省かれたため、これら2つの料理を代替するために「いくら」及び「醤油ラーメン」の2つの料理が個別メニューに掲載されている。但し、これは一例であり、個別メニューは、代替料理を含んでいなくてもよい。この場合、メニュー情報からアレルギー反応量が高い食材を含む料理を削除することで個別メニューは生成される。
操作画面G106の上部には「レストランAのカスタムメニュー」と表記されており、操作画面G106に掲載された個別メニューがユーザに対してカスタマイズされたメニューであることが明示されている。これにより、操作画面G106に含まれる個別メニューが安心して食べて貰える料理からなるメニューであることがユーザに訴求されている。
個別メニューを表示したマッチングアプリは、ユーザから注文する料理の選択を受け付ける処理を実行する。この処理は、図26のステップS5に対応する。図18は、ユーザが操作画面G106を操作して個別メニューから料理を注文するシーンを示した図である。
この操作画面G106の例では、個別メニューから、「いくら」の料理のタイルオブジェクト901Cが1回タッチされ、「大トロ」の料理のタイルオブジェクト901Dが2回タッチされている。そのため、タイルオブジェクト901Cの色が第1色から第2色に変更され且つ右上に注文数「1」が表示されている。また、タイルオブジェクト901Dの色が第1色から第2色に変更され且つ右上に注文数「2」が表示されている。このようにユーザは指等の指示体1001を用いたタッチ操作で簡単且つ直感的に料理を注文できる。
尚、ここではユーザが注文する料理を選択した際にタイルオブジェクト901の色を変更するとしたが、これに限らない。例えば、ユーザにより選択された際に、タイルオブジェクト901の模様を第1模様から、第2模様に変更してもよい。または、ユーザにより選択された際に、タイルオブジェクト901の色及び模様を第1の色及び模様から、第2の色及び模様に変更してもよい。
操作画面G106を通じて料理の注文を受け付けたマッチングアプリは、注文料理情報と席IDと対応付けた注文リクエストを第2サーバ300に送信する。図19は、個別メニューから注文する料理を最終的に決定する際に表示される操作画面の一例を示す図である。操作画面G107は、操作画面G106において、注文する料理を決定したユーザにより注文ボタン(図18では表示せず)がタッチされた場合に表示される。
操作画面G107には、操作画面G106で選択された料理に対応するタイルオブジェクト901C,901Dと、注文した料理(いくら1皿及び大トロ2皿)の合計金額(1,400円)を示す合計金額欄1702とが含まれている。さらに、操作画面G107には、注文ボタン1701が含まれている。この操作画面G107の内容は、標準メニューにおける操作画面G4と同じである。注文ボタン1701がタッチされると、注文料理情報と席IDとを対応付けた注文リクエストがレストランA社の第2サーバ300に送信される。注文リクエストはレストランA社の店舗に設置されたディスプレイに表示される。これにより、レストランスタッフは、表示された席番号「18」及び注文料理情報から注文内容を把握し、調理を開始し、注文された料理を席番号「18」に配膳することができる。
図20は、これまでの注文履歴をユーザが確認する時に表示される注文履歴画面の一例を示す図である。注文履歴画面G108には、画面左側に設けられた調理中枠1801と画面右側に設けられた配膳済枠1802とを含む。調理中枠1801内には注文を受けて現在調理中である料理を示すタイルオブジェクト901が配列される。配膳済枠1802内には配膳済みの料理を示すタイルオブジェクト901が配列されている。図20の例では未だ配膳された料理はないため、配膳済枠1802内にタイルオブジェクト901は配列されていない。現在、大トロ2皿といくら1皿とが調理中であるため、調理中枠1801には大トロ及びいくらとのタイルオブジェクト901が配列されている。注文履歴画面G108において画面下段には、マッチングアプリを介して行われたこれまでの注文料理の合計金額(1,400円)が分かり易く表示されている。ユーザは注文履歴画面G108を確認することで、現在までの注文した料理及び数量と支払金額とを一目で確認できる。なお、「注文履歴」ボタン(図略)を操作画面G106に設け、この「注文履歴」ボタンがタッチされたときに注文履歴画面G108が表示されてもよい。
このレストランA社における個別メニューからの注文処理は、上記のように実施される。料理を注文するユーザは、第1サーバ200が配信するマッチングアプリを使って、レストランの自席のQRコードを情報端末100に読み取らせるだけで、自身のアレルギー情報が配慮された個別メニューを取得し、その個別メニューから料理を注文できる。これはこれまでに前例のない手軽で間違いのない個別の料理の注文方法である。
これを実行するために、ユーザは予めマッチングアプリを情報端末100にインストールしておけばよい。
さらに、ユーザは、病院で診断されたアレルギーテスト結果の診断表を撮影し、その診断表の画像をマッチングアプリと共有する設定、又は診断表の画像のアクセスを許可する設定をしてもよい。第1サーバ200は、共有された診断表の画像から機械的に記載情報を読み取り、アレルギー情報として登録すればよい。
或いは、アレルギー診断を行った病院が発行したアレルギーテスト結果及び付属情報を、マッチングアプリ又はそのマッチングアプリの開発会社若しくは運営会社と共有することを、ユーザがあらかじめ許諾しておいてもよい。この場合、病院により新たな診断結果がマッチングアプリと共有されると、マッチングアプリは第1サーバ200に対して新たな診断結果を追加させる。そして、マッチングアプリは、新たな商品又はサービスとのマッチングに追加された診断結果を利用できる。
或いは、アレルギー診断を行った病院が発行したアレルギーテスト結果及び付属情報を、ユーザIDと対応付けて第1サーバ200に保管することを、ユーザが許諾してもよい。この場合、病院は、新たな診断結果を第1サーバ200に対して保管するリクエストを行うことができる。そして、マッチングアプリは、新たな商品又はサービスとのマッチングに保管された診断結果を利用できる。
ユーザのアレルギー情報は、ユーザ自らが情報端末100に登録及び記録することも考えられる。時間的に変化がなく少量のデータであれば、ユーザ自らがアレルギー情報を情報端末100に入力することが可能である。しかしながら、アレルギー情報が頻繁に更新され且つそのデータ量が膨大であるような場合、そのデータ入力の煩雑さから、アレルギー情報は、正確且つ時間的に継続して第1サーバ200に登録されない可能性がある。これに対し、上述した方法によれば、アレルギー情報が適宜更新され且つそのデータ量が膨大であるような場合であっても正確且つ継続的に第1サーバ200にアレルギー情報を保管できる。
(データ構成)
次に、アレルギー情報及び食材情報2800のデータ構成について説明する。図21は、第1サーバ200からマッチングアプリへ返信されるユーザのアレルギー情報を含む情報2700のデータ構成の一例を示す図である。この情報2700は、演算処理が容易にできるようにフィールドとバリューとが対応付けて記載されている。情報2700は、例えば、JSON(JavaScript(登録商標) Object Notation)フォーマットにて1ファイルが構成されている。
「情報カテゴリ」フィールドは、情報2700がどういう種類の個人情報であるかを示すフィールドである。情報2700はヘルスケアに関するデータであるため、「情報カテゴリ」フィールドに対するバリューには「ヘルスケア」が記載されている。「情報カテゴリ」フィールドは情報2700の先頭に記載されている。
「発行元」フィールドは、この情報2700を発行した機関、法人、又は個人を識別するためのフィールドである。ここでは、ABCクリニックにより情報2700は発行されたため、「発行元」フィールドに対応するバリューには、ABCクリニックが記載されている。
「発行日」フィールドは、この情報2700の発行元による発行日時を示すフィールドである。ここでは、「発行日」フィールドに対応するバリューには、2019年12月1日が記載されている。このバリューには発行日に加えて時刻が含まれていてもよい。また、このバリューにはタイムゾーン情報が含まれていてもよい。
「データ種別」フィールドは、この情報2700の内容を具体的に特定するフィールドである。ここでは、「データ種別」フィールドに対応するバリューには、例えば、アレルギー検査結果[IU/mL]が記載されている。これにより、以下のフィールドに記載されたデータがユーザのアレルギー反応の検査結果であることが示される。この例では、アレルギー反応量が非特異的IgEの単位であるIU/mLで記載されている。
なお、情報端末100は、「情報カテゴリ」フィールド及び「データ種別」フィールドのそれぞれに対応するバリューの記載内容に基づいて、情報2700にアレルギー情報が含まれていると解釈すればよい。或いは、情報端末100は、情報2700に関連する情報(例えば、情報2700のファイル名)に基づいて情報2700にアレルギー情報が含まれていると解釈してもよい。
「データ測定日」フィールドは、先行する「データ種別」フィールドに対応するバリュー「アレルギー検査結果」が測定された日時情報を示すフィールドである。ここでは、「データ測定日」フィールドに対応するバリューは2019年11月14日と記載されている。このバリューには測定日に加えて時刻が含まれていてもよい。また、このバリューにはタイムゾーン情報が含まれていてもよい。
「卵」フィールドは、卵に対するアレルギー反応量を示すフィールドである。ここでは、「卵」フィールドに対応するバリューには、ユーザの卵に対するアレルギー反応量をIU/mL単位で示す25.40が記載されている。以降、「牛乳」、「小麦」、「ピーナッツ」、「エビ」、「カニ」、「マグロ」等の各種アレルゲンに対するアレルギー反応量の検査結果が卵の場合と同様に記載されている。
イムノキャップによる非特異的IgEの設定によれば、アレルギー反応は下から順に、0.34IU/mLまでがクラス0(陰性)、0.70IU/mLまでがクラス1(疑陽性)、3.5IU/mLまでがクラス2の陽性、17.5IU/mLまでがクラス3の陽性、50IU/mLまでがクラス4の陽性、100IU/mLまでがクラス5の陽性、それ以上がクラス6の陽性と分類されている。
図21の例では、卵がクラス4の陽性、エビ及びカニがそれぞれクラス6の陽性に属していることが分かる。図17の個別メニューにおいて、標準メニューに含まれていた「ぼたん海老」及び「たまご」が除外されたのは、このアレルギー反応量が健康上有害となるほど強いレベルであると判断されたからである。
一方で、レストランA社の第2サーバ300から取得されるメニュー情報には、料理毎の食材情報が記述されなければ、アレルギー反応のある料理を特定することが不可能になる。図22は、第2サーバから返信されるメニュー情報を構成する食材情報2800のデータ構成の一例を示す図である。
食材情報2800は、演算処理が容易にできるようにフィールドとバリューとが対応付けて記載されている。食材情報2800は、レストラン各社の第2サーバ300から取得される、例えばHTMLファイル形式のメニュー情報の中に食材情報を示すタグと共に埋め込まれている。但し、これは一例であり、食材情報2800はJSONフォーマットで構成され、料理毎に準備された別ファイルで構成されていてもよい。
「料理名」フィールドは、この情報がどの料理に関する食材情報であるかを示すフィールドである。この例では、食材情報2800は2貫のぼたん海老に関する食材情報であるため、「料理名」フィールドに対応するバリューにはぼたん海老(2貫)が記載されている。
続くフィールド及びバリューには、使用される食材の一覧が記載されている。例えば、「ぼたん海老」フィールドは、この料理の食材としてぼたん海老が使用されることを示すフィールドである。「ぼたん海老」フィールドに対応するバリューには、この料理で使用されるぼたん海老の量である20gが記載されている。図21の情報2700の例では、エビのアレルギー反応量はクラス6の強い陽性である。そのため、図17に示す個別メニューから「ぼたん海老(2貫)」は除外されている。
マッチングアプリは、食材情報2800に記載された「ぼたん海老」が情報2700の「アレルギー検査結果」フィールドに記載された「エビ」に該当することを、例えばマッチングアプリと関連して登録された辞書を参照することで判断すればよい。或いは、マッチングアプリは、Wikipediaのような公開情報ソースを例えば、パブリック情報サーバ500から取得し、取得した公開情報ソースに基づいて、ぼたん海老がエビの一種であることを判断してもよい。
図23は、第2サーバ300から返信されるメニュー情報を構成する食材情報2800のデータ構成の他の一例を示す図である。この食材情報2800では、醤油ラーメンの食材情報が示されている。そのため、「料理名」フィールドに対応するバリューには醤油ラーメンが記載されている。さらに、この食材情報2800では、小麦粉が50g、食塩が5gというように、醤油ラーメンを構成する各食材と各食材の量とが対応付けて記載されている。醤油ラーメンの食材情報2800には、情報2700に記載されたアレルギー反応量が陽性となる食材は含まれていない。そのため、醤油ラーメンは図17に示す個別メニューにおいて代替料理として表示されている。
(処理の全体像)
次に、本実施の形態における情報処理システムの処理の全体像について説明する。図24は、本実施の形態における情報処理システムの処理の全体像の一例を示すシーケンス図である。
レストランA社に入店及び着席したユーザの操作にしたがって情報端末100により起動されたマッチングアプリは、ユーザ認証を行う(ステップS501)。ユーザ認証に成功したマッチングアプリは、ホーム画面G103(図14参照)を表示する。
ホーム画面G103においてユーザによりスキャンボタン1402がタッチされると、マッチングアプリは、スキャン機能を起動し、ユーザの座席に対応するQRコードを取得する(ステップS502)。これにより、マッチングアプリは、接続先であるレストランA社の第2サーバ300(HTTPサーバ)のURLを取得する。
URLを取得したマッチングアプリは、URLに基づいてレストランA社の第2サーバ300に対してメニュー情報を取得するための要求(例えばHTTPリクエスト)を送信する(ステップS503)。この際、マッチングアプリは、上述したようにQRコードに含まれる席IDを第2サーバ300に送信してもよい。
その要求を受信した第2サーバ300は、HTTPサーバ機能を用いて、メニュー情報を返信するHTTPレスポンスを送信する。これにより、マッチングアプリは、レストランA社のメニュー情報を受信する(ステップS504)。
メニュー情報を受信したマッチングアプリは、受信したメニュー情報を解析し、受信したメニュー情報のデータ属性が食属性であることを検出する。この場合、マッチングアプリは、メニュー情報を内部解析することで食属性であることを検出すればよい。或いは、マッチングアプリは、メニュー情報とは別に送信された補足情報から食属性であることを検出してもよい。そして、マッチングアプリは、受信したメニュー情報のデータ属性が食属性であるため、アレルギー情報をマッチングを行うためのデータとして決定する(ステップS505)。
次に、マッチングアプリは、ユーザ認証が行われたユーザのユーザIDに基づいて、当該ユーザのアレルギー情報の取得を要求するためのHTTPリクエストを第1サーバ200に送信する(ステップS506)。このHTTPリクエストをHTTPサーバの機能を用いて受信した第1サーバ200は、ユーザIDに基づいて当該ユーザのアレルギー情報をメモリ203から抽出し、抽出したアレルギー情報を返信するHTTPレスポンスをマッチングアプリに送信する。これにより、マッチングアプリは、当該ユーザのアレルギー情報を受信する(ステップS507)。
アレルギー情報を受信したマッチングアプリは、受信したメニュー情報と受信したアレルギー情報とから、上述した3つの方法のいずれかを用いて、当該ユーザのアレルギー情報に対応した個別メニューを生成する(ステップS508)。
マッチングアプリは、ステップS501からステップS508までの処理において表示される各種画面のスタイルUI(User Interface)デザインをマッチングアプリのスタイルに則って生成するが、個別メニューから注文完了までの各種画面のスタイル(例えばUIデザイン)については、レストランA社が提供するスタイルに則って生成する。言い換えると、サービス提供会社である各事業者(例えば、各レストラン)は、他社(例えば、情報銀行又は情報仲介業者)が開発したマッチングアプリ上でありながら、自らの好むスタイル(例えばUIデザイン)でユーザ(例えば、顧客)とコミュニケーションをとることができる。これは、上述した標準メニューと個別メニューとのそれぞれを、レストランA社が指定するスタイル(例えばUIデザイン)で表現し、さらには一貫性を持たせることが可能であることを意味する。
個別メニューを生成したマッチングアプリは、生成した個別メニューを含む操作画面G106をレストランA社が指定するスタイルで表示し、個別メニューの中から料理を注文するユーザによる選択指示を受け付ける(ステップS509)。
選択指示を受け付けたマッチングアプリは、ユーザの席IDと注文する料理を示す注文料理情報とを対応付けた注文リクエストをレストランA社の第2サーバ300へ送信する(ステップS510)。注文リクエストを受信した第2サーバ300は、マッチングアプリへ注文を受信したことを示す応答確認(ACK)と、必要に応じて現在の注文状況(例えば、注文履歴画面G108に関する情報)とを返信する。これにより、マッチングアプリは、現在の注文状況を受信する(ステップS511)。マッチングアプリは受信した現在の注文状況をディスプレイ105に表示する。
マッチングアプリは、第1サーバ200に対して、注文料理情報をユーザIDと対応付けて送付し(ステップS512)、当該ユーザの食事履歴情報に追加又は更新するように要請する。注文料理情報を受信した第1サーバ200は、当該ユーザの食事履歴情報を受信した注文料理情報に従って更新する(ステップS513)。この場合、食事履歴情報には注文料理情報が示す料理の注文時刻を示すタイムスタンプも付与される。
注文リクエストを受信したレストランA社の第2サーバ300は店舗内のディスプレイに注文リクエストを表示する(ステップS514)。これにより店舗の従業員は料理を注文した座席のユーザに対して間違いなく注文された料理を配膳できる。
このようにユーザの個人情報の一部でもある食事履歴情報が、きめ細かく、正確、且つ時系列的に第1サーバ200に蓄積されていく。これにより、次の料理の注文の際に、そのビッグデータが活用され、適合度の高い料理の選択肢がより高精度にユーザに提示される。
図24に示される制御方法によれば、料理を注文したユーザに対して、注文と異なるアレルギーに対応していない料理が間違って配膳されるリスクを低減できる。さらに、図24に示される制御方法によれば、アレルギーに関して食材及び調理方法等の細かな確認が必要なユーザであっても、そのような確認をレストラン側に行わせることなく、そのユーザは簡易に料理を注文することができ、さらに、レストラン側もそのようなユーザからの料理の注文を簡易に対応することができる。また、図24に示される制御方法によれば、アレルギー情報というユーザのプライバシーに関わる個人情報がレストランのスタッフに伝わるユーザの不安、及びプライバシーに関わる個人情報が店舗端末に蓄積されることに関するユーザの不安が低減される。
さらに、図24に示される制御方法によれば、正確且つ時間的に連続したアレルギー情報、食事履歴情報(例えば、注文履歴情報)、活動量、及びバイタルサイン情報等を含む個人情報が効率的且つ安全に管理される。さらに、図24に示される制御方法によれば、個人情報がユーザにより許諾された事業者以外に漏洩することが防止される。
(注文処理のフローチャート)
次に、本実施の形態における情報端末100の処理について説明する。図25は、標準メニューから料理が注文される場合の情報端末100の処理の一例を示すフローチャートである。このフローチャートは、情報端末100においてユーザによりQRコードリーダーが起動されたことをトリガーに開始される。
ステップS11において、QRコードリーダーは、QRコードで読み取り、読み取った文字列(例えば、URL)をブラウザに渡す。この処理では、図7に示す操作画面G1を用いてQRコードが読み取られ、図8に示すQRコードの読み取り結果が操作画面G2に表示される。
ステップS12において、ブラウザは、URLに従ってレストランA社の第2サーバ300にアクセスし、標準メニュー情報を取得し、標準メニューを情報端末100のディスプレイ105に表示する。この処理では、図9に示す標準メニューを含む操作画面G3が表示される。
ステップS13において、ブラウザは標準メニューの中から注文する料理を選択する指示をユーザから受け付ける。この処理では、図10に示す操作画面G3に含まれる標準メニューがユーザによって操作され、注文する料理が選択される。
ステップS14において、ブラウザは、レストランA社の第2サーバ300に対して、ユーザの席IDとユーザが注文した料理を示す注文料理情報とを対応付けた注文リクエストを送信する。以上により標準メニューからの注文処理が終了される。
このように、レストランにて、自身のアレルギー情報が考慮された適切なメニューを注文したいユーザは、マッチングアプリを使って個別メニューを表示して料理を注文する。一方で、自身のアレルギー情報が考慮されることなくレストランの標準メニューから料理を選択したいユーザは、汎用的なQRコードリーダーを使って標準メニューを表示し、料理を注文する。
いずれのケースにおいても、ユーザが着席した座席に対応したQRコードから読み取られた席IDが料理注文情報と対応付けて第2サーバ300に送信されているため、注文した料理は間違いなく配膳される。
図26は、個別メニューから料理が注文される場合の情報端末の処理の一例を示すフローチャートである。このフローチャートは、レストランに入店して料理を注文するユーザがマッチングアプリを起動させたことをトリガーに開始される。
ステップS1において、マッチングアプリは、ユーザの自席に対応するQRコードを取得する処理を実行する。この処理の詳細は図27を用いて後述する。この処理においては、図15に示す操作画面G104を通じてQRコードが読み取られ、席ID及びレストランIDが取得される。この処理は、図24のステップS501,S502に対応している。
ステップS2において、マッチングアプリは、取得したQRコードが示すURLにブラウザ機能を使ってアクセスし、レストランA社の第2サーバ300からレストランA社のメニュー情報を取得する処理を実行する。この処理の詳細は図28を用いて後述する。この処理において、メニュー情報のデータ属性が食属性であることも検出される。この処理においては、図16に示す表示画面G105が情報端末100に表示される。この処理は、図24のステップS503,S504に対応している。
ステップS3において、マッチングアプリは、第1サーバ200から、ユーザの個人情報の中から、食属性に関する個人情報であるアレルギー情報を取得する処理を実行する。この処理の詳細は図29を用いて後述する。この処理により、ステップS1で取得された席IDが示す座席に着席したユーザのアレルギー情報が取得される。この処理は、図24のステップS505,S506,S507に対応している。
ステップS4において、マッチングアプリは、レストランA社のメニュー情報と、ユーザのアレルギー情報とを照合し、アレルギーに対応した料理のみを含む個別メニューを生成する処理を実行する。この処理により、個別メニューを含む操作画面G106が表示される。この処理は、図24のステップS508に対応している。
ステップS5において、マッチングアプリは、個別メニューを閲覧したユーザにより注文する料理の選択指示を受け付ける。この場合、図18の操作画面G106に示されるように料理が選択される。この処理は、図24のステップS509に対応している。
ステップS6において、マッチングアプリは、ステップS5で選択された料理を示す注文料理情報をステップS1で取得した席IDと対応付けた注文リクエストをレストランA社の第2サーバ300に送信する。この処理は、図24のステップS510に対応している。
以下、個別メニューから料理が注文されるケースの詳細を説明する。図27は、図26のステップS1の処理の詳細を示すフローチャートである。ステップS101において、ユーザにより起動されたマッチングアプリは、ユーザに対してユーザ認証を要求する。この場合、図12に示す認証画面G101又は図13に示す認証画面G102を用いたユーザ認証が行われる。
ステップS102において、マッチングアプリは、ユーザの認証に成功したか否かを判定する。ここで、ユーザ認証に失敗した場合(ステップS102でNO)、処理はステップS101に戻る。ユーザ認証に成功した場合(ステップS102でYES)、処理はステップS103に進む。ステップS103において、マッチングアプリは、図14に示すマッチングアプリのホーム画面G103を表示する。
ステップS104において、マッチングアプリは、ホーム画面G103のスキャンボタン1402をタッチするユーザの操作を受け付け、QRコードの読取機能を起動する。これにより、図15に示す操作画面G104が表示される。
ステップS105において、ユーザにより情報端末100の向きと位置とが調整され、マッチングアプリは、ユーザが着席した座席に対応するQRコードを読み取る。
図28は、図26のステップS2の処理の詳細を示すフローチャートである。ステップS201において、マッチングアプリは、QRコードに記述された文字列(例えば、URL)に基づき、レストランA社の第2サーバ300にアクセスする。このアクセスは、例えば、HTTPリクエストにより行われる。
ステップS202において、レストランA社の第2サーバ300は、HTTPサーバ機能を用いて、最新のメニュー情報を、マッチングアプリへ返信する。この返信は例えばHTTPレスポンスにより行われる。
ステップS203において、マッチングアプリは、レストランA社の最新のメニュー情報を取得する。
ステップS204において、マッチングアプリは、取得したメニュー情報から、メニュー情報のデータ属性が食属性であることを検出する。この検出は、例えば、メニュー情報を構成するHTMLファイル内に記載されたデータ属性に基づいて行われる。
図29は、図26のステップS3の処理の詳細を示すフローチャートである。ステップS301において、マッチングアプリは、取得したメニュー情報のデータ属性が食属性であるため、ユーザのアレルギー情報をマッチングを行うためのデータとして決定する。
ステップS302において、マッチングアプリは、第1サーバ200に対して、マッチングの対象となるユーザの最新のアレルギー情報の取得を要求する。この場合、マッチングアプリは、ユーザIDを指定して、アレルギー情報を所定の暗号化状態で返信するよう要求する。
ステップS303において、第1サーバ200は、分散暗号化されて管理されている膨大な個人情報の中から、ユーザIDに基づいて最新のアレルギー情報を抽出し、このアレルギー情報を所定のフォーマットに成形した後、所定の暗号化を行い、マッチングアプリへ返信する。
ステップS304において、マッチングアプリは、取得した最新のアレルギー情報を復号する。これにより、ユーザの最新のアレルギー情報が取得される。
図30は、図26のステップS4の処理の詳細を示すフローチャートである。ステップS401において、マッチングアプリは、レストランA社のメニュー情報と、ユーザの最新アレルギー情報とを照合し、ユーザのアレルギーに対応した料理のみが含まれる個別メニューを生成する。メニュー情報には後述するように各料理に含まれる1以上の食材と食材の量とが含まれる。メニュー情報には、各料理の調理方法を示す調理方法情報が含まれていてもよい。ここでは、上述した3つの方法を用いて個別メニューが生成される。
ステップS402において、マッチングアプリは、ブラウザ機能を用いて、生成した個別メニューを含む操作画面G106を生成し、情報端末100のディスプレイ105に表示する。この場合、個別メニューは、例えばレストランA社のメニュー情報に含まれる表示スタイル情報が適用されて表示される。
(個別メニューから注文をする際の情報処理の実装例)
次に、個別メニューから料理を注文する場合の情報処理の実装例について説明する。情報通信のインターフェース及び取り扱うデータ構造がレストラン店舗に固有である場合、情報処理システムで取り扱われる各種データが、例えば、レストランA社の店舗40では利用可能だが、レストランB社では使用できないといった事態、又はレストランA社の別店舗及びレストランB社の両方で使用できないという事態が生じ得る。このような事態を回避するために、多くのユーザが多くのレストランで個別メニューを用いた料理の注文を実施するめの汎用的なソリューションについて、以下説明する。
図31は、本実施の形態における情報処理システムの具体的な実装形態の一例を示す図である。情報端末100のメモリ102には、マッチングアプリの実行に必要となるファイルの格納場所である「matching_app」ディレクトリがある。「matching_app」ディレクトリの下には、「account」ディレクトリ、「main」ディレクトリ、及び「matching_temp」ディレクトリがある。「account」ディレクトリにはユーザのアカウント及び/又はユーザ認証に必要な情報が格納される。「main」ディレクトリには、マッチングアプリがホーム画面の描画及びQRコードスキャンなどの基本機能を実現するために必要な情報が格納される。「matching_temp」ディレクトリには、マッチングに必要な情報が一時的に格納される。
「account」ディレクトリには、アカウント及び/又はユーザ認証に必要な情報を記述した「user_account.xml」ファイルが格納される。「user_account.xml」ファイルには、例えばユーザを特定するための情報として、ユニークなアカウント名(例えば、ユーザが指定するユーザID)とその認証情報(例えば、パスワード、指紋の特徴量、及び/又は顔の特徴量)とが暗号化されて記録されている。
アカウント名としてはユーザが指定するユーザIDに限定されず、マッチングアプリを利用するユーザを個別に識別可能な情報が採用されればよい。例えば、マッチングアプリのプログラムに埋め込まれた、又はマッチングアプリに付随して配布された、マッチングアプリの個体別にユニークなシリアルコードが採用されてもよい。個体別にユニークなシリアルコードとは、マッチングアプリをインストールする情報端末100毎にユニークに付与されたシリアルコードである。或いは、アカウント名としては、マッチングアプリの初回起動時又は初回登録時に、マッチングアプリが乱数に基づいて生成したユニークなアカウント名が採用されてもよい。この場合、マッチングアプリは、例えば、既に登録済みアカウント名と重複していないことを第1サーバ200に確認することで、アカウント名を自動生成すればよい。
このようにアカウント名として人が見て無意味な文字列情報が設定されることにより、秘匿性がより高められた個人情報の通信が可能となる。図31に示す個人情報のアレルギー情報は、後述するように複数のファイルに断片化されて管理される。上述したアカウント名は、断片化された各ファイルにおいてファイル名のuserID部分に採用されてもよい。或いは、上述したアカウント名と1対1にペアリングされた別の情報が、断片化された各ファイルのファイル名の一部(例えば、ユーザIDの部分)に採用されてもよい。
「main」ディレクトリには、マッチングアプリの基本機能を実現するために必要なコンテンツ情報を記述した「main.html」ファイルと、その画面表示のスタイル(例えば、UIデザイン)を記述した「main.css」ファイルとが格納されている。
レストランA社の第2サーバ300には、QRコードの読み取りで得られた文字列が表すURL(例えば、http://restaurantA.com/QRorder-18)にアクセスされた際に返信するファイル群が予め格納されている。このファイル群には、返信するコンテンツ情報を記述した「ResA.html」ファイルと、そのコンテンツ情報の画面表示のスタイル(例えば、UIデザイン)を記述した「ResA.css」ファイルとがある。例えば図22及び図23に示す食材情報2800は「ResA.html」ファイルに含まれてもよい。または「ResA.html」ファイルにて参照される外部ファイルに格納してもよい。
第1サーバ200には、このユーザの多種多様で膨大な個人情報が分散暗号化されて蓄積されている。例えば、本開示で利用したユーザのアレルギー情報は、「userID_healthcare_allergia_1.json」ファイル、「userID_healthcare_allergia_2.json」ファイル、...、「userID_healthcare_allergia_N.json」ファイルというN個のJSONフォーマットのファイルとして、第1サーバ200内の物理的に異なるストレージ装置に保管されている。N個のファイルにおいて、ファイル名の先頭部分の「userID」は対象ユーザを特定するための識別情報であり、続く「healthcare」は図21で説明した情報カテゴリ(例えば、ヘルスケア)を特定するための識別情報であり、続く「allergia」は図21で説明したデータ種別(例えば、アレルギー検査結果[IU/mL])を特定するための識別情報であり、最後の数字は分断したファイルの識別番号である。
第1サーバ200は、ユーザのアレルギー情報のリクエストを適切なパーミッション(例えば、アクセス許可情報)と共に受信できれば、これらN個のファイルから正しくデータを復元し、所定の記述フォーマット(.json)に変換して「allergia.json」ファイルを取得し、この「allergia.json」ファイルを暗号化した「allergia.json.enc」ファイルを、マッチングアプリへ返信できる。
以下、図32のフローチャートに従いながら、マッチングアプリがHTMLを用いて画面制御を行う場合のファイルの取り扱いについて説明する。図32は、マッチングアプリが起動してから個別メニューを表示するまでのファイルに対するマッチングアプリの処理の一例を示すフローチャートである。
ステップS601において、マッチングアプリが起動し、ホーム画面を描画する。マッチングアプリは、起動直後に「main」ディレクトリにある「main.html」ファイルと「main.css」ファイルとを用いてホーム画面を描画する。これにより、図14に示すホーム画面G103が描画される。
ステップS602において、マッチングアプリは、レストランA社の第2サーバ300からメニュー情報を受信する。受信されたメニュー情報は、「matching_temp」ディレクトリの下に、「ResA.html」ファイルと「ResA.css」ファイルとして記録される。
ステップS603において、マッチングアプリは、第1サーバ200からユーザの暗号化されたアレルギー情報(allergia.json.enc)を受信する。受信されたアレルギー情報は、マッチングアプリにより復号され、「matching_temp」ディレクトリの下に、「allergia.json」ファイルとして記録される。
ステップS604において、マッチングアプリは、このユーザのアレルギー情報に対応する個別メニューを、ResA.htmlファイルを編集することで生成する。生成された個別メニューは、「Custom_ResA.html」ファイルとして、新規に「matching_temp」ディレクトリの下に記録される。以上により、図31に示されるように、「matching_temp」ディレクトリの下に「allergia.json」ファイル、「ResA.html」ファイル、「Custom_ResA.html」ファイル、及び「ResA.css」ファイルが記録される。
ステップS605において、マッチングアプリは、生成した個別メニューを、レストランA社が指定するスタイルで描画するために、「Custom_ResA.html」ファイルと「ResA.css」ファイルとを用いて描画する。
このようにHTML/CSSファイルを用いて各種画面が描画されている。そのため、単一のマッチングアプリから、不特定多数の事業者が提供する商品又はサービスのうち、ユーザの膨大且つ多様な個人情報と適合する商品又はサービスを提示する場合において、当該事業者が期待する情報を、当該事業者が期待するスタイル(例えば、UIデザイン)で表示させることができる。
個別メニューからの料理の注文が終了したユーザによって、表示画面がマッチングアプリのホーム画面に戻された時、又は個別メニューからの料理の注文が終了してから所定時間が経過した時、「matching_temp」ディレクトリに一時保管されていたファイルは安全のため全て消去されてもよい。
(実施の形態2)
実施の形態1では、個別メニューの生成は情報端末100が行っていたが、実施の形態2では、個別メニューの生成は第2サーバ300が行う。なお、実施の形態2において実施の形態1と同一の構成要素には同一の符号を付し、説明を省略する。第2サーバ300は情報管理システムを構成する。情報管理システムは情報処理システムを構成する。
まず、図4を参照して、実施の形態2の構成について説明する。実施の形態2では、個別メニューが第2サーバ300で生成されるため、以下、第2サーバ300の構成を中心に説明する。
第2サーバ300の演算部302は、情報端末100に格納されたユーザIDを情報端末100からネットワークを介して取得する。
演算部302は、第1サーバ200からネットワークを介して、ユーザIDを用いてユーザのアレルギー情報を取得する。アレルギー情報は、各食材に対するユーザのアレルギー反応量を含む。ここで、アレルギー情報は、入店したレストランA社又は第2サーバ300に対してユーザがアレルギー情報のアクセスを許可している場合に第1サーバ200から送信される。これにより、ユーザの個人情報がユーザの許可なく第1サーバ200の外部に漏洩することを防止できる。一方、入店したレストランA社又は第2サーバ300に対してユーザがアレルギー情報のアクセスを不許可にしている場合、アレルギー情報は第1サーバ200から送信されない。このようにユーザのアレルギー情報が取得できなかった場合、第2サーバ300は、第2レストランの標準メニューを情報端末100に送信してもよい。
演算部302は、メニュー情報及びアレルギー情報に基づいて、アレルギー情報に対応したユーザの個別メニューを生成する。ここで、メニュー情報は、各料理に含まれる1以上の食材を示す情報と各食材の量とを含む。
演算部302は、メニュー情報からアレルギー反応量が基準値以上の食材をアレルギーの原因となる食材として特定する。ここで、個別メニューは、メニュー情報に含まれる各料理において前記アレルギーの原因となる食材を減少又は除外させた料理を含む。
演算部302は、個別メニューを示す個別メニュー情報を通信部301を用いて情報端末100に送信する。これにより、演算部302は、情報端末100において個別メニューに基づいた料理の選択をユーザに行わせる。
図33は、実施の形態2における情報処理システムの処理の一例を示すシーケンス図である。なお、図33において図24と同一の処理は同一の符号を付し説明を省略する。なお、図33では、ユーザは自身のアレルギー情報に対するレストランA社又は第2サーバ300のアクセス情報を未設定にしているものとする。
ステップS501、ステップS502は、図24と同じである。
ステップS502に続くステップS1001において、情報端末100(マッチングアプリ)は、個別メニュー情報の取得要求を第2サーバ300に送信する。この取得要求にはユーザが入店したレストランA社の店舗の店舗ID、ユーザが着席した座席の席ID、及び情報端末100のユーザIDが含まれる。
ステップS1002において、レストランA社の第2サーバ300はメモリ303からレストランA社のメニュー情報を取得する。
ステップS1003において、第2サーバ300は、該当するユーザのアレルギー情報の取得要求を第1サーバ200に送信する。
ステップS1004において、第1サーバ200は、メモリ203から該当するユーザのアクセス情報を読み出し、該当するユーザに関してレストランA社又は第2サーバ300に対するアクセス情報が未設定であることを確認する。
ステップS1005において、第1サーバ200は、レストランA社又は第2サーバ300に対してアレルギー情報のアクセスを許可するか否かの問い合わせメッセージを情報端末100に送信する。問い合わせメッセージは情報端末100のディスプレイ105に表示される。
ステップS1006において、情報端末100は、問い合わせメッセージを確認したユーザからアクセス情報をアクセス許可に選択する操作を受け付ける。
ステップS1007において、情報端末100は、アクセス情報がアクセス許可に選択されたことを示す通知情報を第1サーバ200に送信する。
ステップS1008において、アクセス許可が選択されたことを示す通知情報を受信した第1サーバ200は、メモリ203に記憶された該当するユーザのアクセス情報をアクセス許可に設定する。これにより、第1サーバ200は、該当するユーザのアレルギー情報をメモリ203から読み出し、レストランA社が利用する第2サーバ300に送信することに関してユーザからの許諾を得た状態となる。
ステップS1009において、第2サーバ300は、該当するユーザのアレルギー情報を第1サーバ200から受信する。
ステップS1010において、第2サーバ300は、該当するユーザのアレルギー情報に基づいて該当するユーザの個別メニューを生成する。ここでは、上述した三つ目の方法(アレルギー反応量を用いた方法)を用いて個別メニューが生成されてもよい。第2サーバ300は、生成した個別メニューを示す個別メニュー情報を情報端末100に送信する。
ステップS1011において、情報端末100は、個別メニュー情報を受信する。
ステップS501、S502、S1001~S1011の処理において表示される各種画面はマッチングアプリのスタイルに則って生成されるが、個別メニューから注文完了までの各種画面は、レストランA社が提供するスタイルに則って生成される。
個別メニューを生成した情報端末100は、個別メニューを含む操作画面G106をレストランA社が指定するスタイルで表示する(ステップS1012)。ステップS509以降の処理は、図24と同じである。
尚、ステップS1012からの処理において、情報端末100に表示される各種画面は、レストランA社が用意する素材(料理を説明する文字、料理の写真など)が第1サーバ200の管理者(情報銀行)のスタイルでレイアウトされた画面であっても良い。このようにすることで、マッチングアプリを利用するユーザに対して統一的なユーザエクスペリエンスを提供することができる。
図34は、実施の形態2における情報処理システムの処理の一例を示すシーケンス図である。なお、図34において図33と同一の処理は同一の符号を付し説明を省略する。なお、図34では、ユーザは自身のアレルギー情報に対するレストランA社のアクセス情報をアクセス許可に設定しているものとする。
ステップS501~S502、ステップS1001~S1003までの処理は、図33と同じである。
ステップS1003に続くステップS2001において、該当するユーザのアレルギー情報の取得要求を受信した第1サーバ200は、メモリ203から該当するユーザのアクセス情報を読み出し、該当するユーザに関してレストランA社又は第2サーバ300に対するアクセス情報がアクセス許可に設定されていることを確認する。これにより、第1サーバ200は、該当するユーザのアレルギー情報をメモリ203から読み出し、レストランA社が利用する第2サーバ300に送信する。
ステップS1009以降の処理は図33と同じである。
図35は、実施の形態2における情報処理システムの処理の一例を示すシーケンス図である。なお、図35において図33と同一の処理は同一の符号を付し説明を省略する。また、図35では、ユーザは自身のアレルギー情報に対するレストランA社又は第2サーバ300のアクセス情報を未設定に設定しているものとする。
ステップS501~S502、ステップS1001~S1005までの処理は、図33と同じである。ステップS1005に続くステップS3001において、情報端末100は、問い合わせメッセージを確認したユーザからアクセス情報をアクセス不許可に選択する操作を受け付ける。
ステップS3002において、情報端末100は、アクセス情報がアクセス不許可に選択されたことを示す通知情報を第1サーバ200に送信する。
ステップS3003において、アクセス不許可が選択されたことを示す通知情報を受信した第1サーバ200は、メモリ203に記憶された該当するユーザのアクセス情報をレストランA社又は第2サーバ300に対してアクセス不許可に設定する。これにより、第1サーバ200は、第2サーバ300に対して要求エラーを送信する。要求エラーは第2サーバ300に対して、ユーザのアレルギー情報の取得要求に応答することができないことを通知するための情報である。
ステップS3004において、第2サーバ300は、要求エラーを受信する。要求エラーを受信した第2サーバ300は、メモリ303からレストランA社又はユーザが入店した店舗のメニュー情報を読み出し、読み出したメニュー情報と要求エラーとを情報端末100に送信する。
ステップS3005において、情報端末100は、メニュー情報と要求エラーとを受信する。
ステップS3006において、情報端末100は、個別メニューが生成できなかったことを示す情報と、メニュー情報が示す標準メニューを含む操作画面G106をディスプレイ105に表示する。
ステップS509以降の処理は図33と同じである。
以上説明したように、実施の形態2によれば、第2サーバ300が個別メニューを生成する場合において、ユーザのアレルギー反応量が考慮された適切な料理をユーザに提示できる。さらに、実施の形態2では、ユーザが許可した場合にのみアレルギー情報が第2サーバ300に送信されるため、ユーザの意図に反してユーザの個人情報が第1サーバ200の外部に漏洩することを防止できる。
(実施の形態3)
実施の形態2では、個別メニューの生成は第2サーバ300が行っていたが、実施の形態3では、個別メニューの生成は第1サーバ200が行う。なお、実施の形態3において実施の形態1、2と同一の構成要素には同一の符号を付し、説明を省略する。第1サーバ200は情報管理システムを構成する。情報管理システムは情報処理システムを構成する。
まず、図4を参照して、実施の形態3の構成について説明する。実施の形態3では、個別メニューが第1サーバ200で生成されるため、以下、第1サーバ200の構成を中心に説明する。
第1サーバ200の演算部202は、ユーザの情報端末100からネットワークを介して取得したユーザの個別メニューの依頼に基づき第2サーバ200にメニュー情報の取得要求を通信部201を用いて出力する。
演算部202は、情報端末100に格納されたユーザIDを情報端末100からネットワーク及び通信部201を介して取得する。
演算部202は、第2サーバ300からレストランA社又はユーザが入店した店舗のメニュー情報を通信部201を用いて取得する。
演算部202は、メニュー情報及びユーザIDに対応するユーザのアレルギー情報に基づいて、アレルギー情報に対応したユーザの個別メニューを生成する。メニュー情報は、各料理に含まれる1以上の食材を示す情報と各食材の量とを含む。アレルギー情報は、各食材に対するユーザのアレルギー反応量を含む。
演算部202は、メニュー情報からアレルギー反応量が基準値以上の食材をアレルギーの原因となる食材として特定する。ここで、個別メニューは、メニュー情報に含まれる各料理においてアレルギーの原因となる食材を減少又は除外させた料理を含む。
演算部202は、個別メニューを示す個別メニュー情報を通信部201を用いて情報端末100に送信する。これにより、演算部202は、情報端末100において個別メニューに基づいた料理の選択をユーザに行わせる。
図36は、実施の形態3における情報処理システムの処理の一例を示すシーケンス図である。なお、図36において図24と同一の処理は同一の符号を付し説明を省略する。また、ステップS502に続くステップS4001において、情報端末100(マッチングアプリ)は、個別メニュー情報の取得要求を第1サーバ200に送信する。この取得要求にはユーザが入店したレストランA社の店舗の店舗ID、ユーザが着席した座席の席ID、及び情報端末100のユーザIDが含まれる。
ステップS4002において、第1サーバ200は、ユーザが入店したレストランA社の店舗の店舗IDに基づきレストランA社の第2サーバ300にメニュー情報の取得要求を送信する。この取得要求を受信した第2サーバ300はメモリ303からレストランA社又はユーザが入店した店舗のメニュー情報を取得し、取得したメニュー情報を第1サーバ200に送信する。
ステップS4003において、第1サーバ200は、レストランA社又はユーザが入店した店舗のメニュー情報を受信する。
メニュー情報を受信した第1サーバ200は、受信したメニュー情報を解析し、受信したメニュー情報のデータ属性が食属性であることを検出する。この場合、第1サーバ200は、メニュー情報を内部解析することで食属性であることを検出すればよい。或いは、第1サーバ200は、メニュー情報とは別に送信された補足情報から食属性であることを検出してもよい。そして、第1サーバ200は、受信したメニュー情報のデータ属性が食属性であるため、ユーザの食品に対するアレルギー情報をマッチングを行うためのデータとして決定し、ユーザIDに対応するアレルギー情報をメモリ203から取得する(ステップS4004)。
ステップS4005において、第1サーバ200は、該当するユーザのアレルギー情報に基づいて該当するユーザの個別メニューを生成する。ここでは、上述した三つ目の方法(アレルギー反応量を用いた方法)を用いて個別メニューが生成される。第1サーバ200は、生成した個別メニューを示す個別メニュー情報を情報端末100に送信する。
ステップS4006において、情報端末100は、第1サーバ200から個別メニュー情報を受信する。
ステップS501、S502、S4001~S4006の処理において表示される各種画面はマッチングアプリのスタイルに則って生成されるが、個別メニューから注文完了までの各種画面は、レストランA社が提供するスタイルに則って生成される。
尚、ステップS1012からの処理において、情報端末100に表示される各種画面は、レストランA社が用意する素材(料理を説明する文字、料理の写真など)が第1サーバ200の管理者(情報銀行)のスタイルでレイアウトされた画面であっても良い。このようにすることで、マッチングアプリを利用するユーザに対して統一的なユーザエクスペリエンスを提供することができる。
ステップS1012、S509は図33と同じである。
ステップS509に続くステップS4007において、選択指示を受け付けた情報端末100は、ユーザの席IDと注文する料理を示す注文料理情報とを対応付けた注文リクエストを第1サーバ200へ送信する。
ステップS4008において、第1サーバ200は、注文リクエストを第2サーバ300に送信する。
注文リクエストを受信した第2サーバ300は、第1サーバ200へ注文を受信したことを示す応答確認(ACK)と、必要に応じて現在の注文状況(例えば、注文履歴画面G108に関する情報)とを返信する。これにより、第1サーバ200は、応答確認と現在の注文状況とを受信する(ステップ4009)。
応答確認と現在の注文状況とを受信した第1サーバ200は、現在の注文状況を情報端末100に送信する。これにより、情報端末100は、現在の注文状況を受信して表示する(ステップS4010)。S513、S514の処理は図33と同じである。
以上説明したように、実施の形態3によれば、第1サーバ200が個別メニューを生成する場合において、ユーザのアレルギー反応量が考慮された適切な料理をユーザに提示できる。さらに、実施の形態3では、アレルギー情報は第2サーバ200に送信されないため、ユーザの意図に反してユーザの個人情報が第1サーバ200の外部に漏洩することを防止できる。
(特許文献1及び特許文献2に係る別の観点からの課題)
レストランにおいて、アレルギーを有する客に対してアレルゲンである食材を抑制した料理が提供される場合、前記客のアレルゲンである食材を抑制した料理は、当該料理を注文した前記客に提供される必要がある。ここで、アレルゲンである食材を抑制した料理とは、例えば、アレルゲンである食材が含まれていないか、アレルゲンである食材を減少させた料理である。以降、注文を行った前記客に対するアレルゲンである食材を抑制した料理を、アレルギーに対応した料理と呼ぶ。同じテーブルに座っている他の客が注文したアレルギーに対応していない料理が、前記客に提供されることは、前記客の健康に甚大な悪影響を及ぼすため、確実に回避することが求められる。
前述した特許文献1においては、食事ルールにアレルギー食材が含まれている場合、推奨する料理のメニュー情報からそのアレルギー食材を含む料理が除外される。
しかしながら、特許文献1では、アレルギー食材を含む料理が除外されたメニュー情報を提示することが開示されているに過ぎず、メニュー情報を介して客が選択した料理をその客の座席に提供することは何ら開示されていない。そのため、特許文献1は、アレルギー食材が除外されていない料理が間違って客の座席に提供される可能性がある。その結果、特許文献1は、アレルギー食材が除外されていない料理を客が摂取してしまい、前記客の健康に甚大な悪影響を及ぼす可能性がある。
また、アレルギー食材に関する情報はセンシティブな情報であるため、その情報がユーザの許諾なしに第三者に提供されることも防止する必要もある。
前述した特許文献2においては、個々のテーブルに設定されている個々の座席毎に料理のオーダー情報が入力デバイスによって入力及び登録指示可能にするオーダー入力画面が開示されている。このオーダー入力画面には、複数の座席を示す座席オブジェクトを含む座席位置画像と、各料理品目に対応する複数の料理特定画像とが含まれている。例えば、店員は座席位置画像から所望の座席の座席オブジェクトをタッチした後、所望の料理品目に対応する料理特定画像をタッチする。これにより、タッチされた座席に着席する客が個別にオーダーする料理品目が選択される。
このように、特許文献2では、座席と料理品目との対応付けはオーダー入力画面を介した店員の手入力により行われている。そのため、座席と料理品目との対応付けに際して誤入力が生じる可能性がある。特に、店の混雑時においてはこのような誤入力が生じ易い。さらに、特許文献2のオーダー入力画面には、特許文献2の第38図に示されるように座席位置画像及び料理特定画像以外にも様々な情報及びオブジェクトが含まれている。このことからも、特許文献2のオーダー入力画面においてはこのような誤入力が生じる可能性が高いことが分かる。そのため、特許文献2も特許文献1と同様の課題がある。
以下の開示は、上記の別の観点からの課題を解決するためになされたものであり、アレルギーに対応していない料理が間違って注文されることを防止し、それによって、アレルギーに対応していない料理をユーザが摂取してしまい、ユーザの健康に甚大な悪影響を及ぼすことを防止することを第1の目的とする。
さらに、以下の開示は、第1サーバが記憶するセンシティブな情報がユーザの許諾なしに第1サーバの外部に漏洩することを防止することを第2の目的とする。
本開示の別の態様に係る制御方法は、ユーザを特定する識別情報に対応するユーザのアレルギー情報を管理する第1サーバとネットワークを介して通信する情報端末の制御方法であって、前記ユーザの前記情報端末のディスプレイに表示される第1操作画面を介して、レストランID及び前記ユーザの座席を示す席IDを取得し、前記レストランIDに基づき、前記レストランIDに対応するレストランに関連する第2サーバからネットワークを介して前記レストランが提供する1以上の料理を示すメニュー情報を取得し、前記情報端末に格納された前記識別情報を前記第1サーバに送信し、前記識別情報に基づき、前記第1サーバから前記ユーザのアレルギー情報を取得し、前記メニュー情報及び前記アレルギー情報に基づき、前記アレルギー情報に対応した前記ユーザの個別メニューを生成し、前記ユーザの情報端末のディスプレイに表示された前記レストランにおける料理の注文を受け付けるための第2操作画面を介して、前記個別メニューを表示し、前記個別メニューにて選択された注文メニュー及び前記席IDを前記第2サーバに送信することを含む、ものである。
上記の別の態様によると、例えば、料理を注文するに際して、ユーザの情報端末のディスプレイには第1操作画面が表示され、この第1操作画面を介してレストランID及びユーザIDが取得される。取得されたレストランIDからそのレストランIDに対応するレストランが提供する1以上の料理を示すメニュー情報が第2サーバから取得される。
情報端末にはユーザを特定する識別情報が記憶されている。この識別情報に基づいて、ユーザのアレルギー情報が第1サーバから取得される。このアレルギー情報及びメニュー情報に基づいてアレルギー情報に対応するユーザの個別メニューが生成される。この個別メニューは、第2操作画面を介して情報端末のディスプレイに表示される。表示された個別メニューの中から料理が選択され、その料理を示す注文料理情報が席IDと対応付けられて第2サーバに送信される。
このように、上記の別の態様では、ユーザが料理を注文する一連の過程の中で、個別メニューからユーザにより選択された料理を示す注文料理情報とユーザの座席との対応付けが人手を介することなく自動的に行われている。これにより、例えば、同一のテーブルに複数のユーザが座って、各ユーザが料理を注文した場合であっても、同一のテーブルに座っている他のユーザが注文したアレルギーに対応していない料理が、食材に関するアレルギーを持つユーザの座席に運ばれることを防止できる。その結果、食材に関するアレルギーを持つユーザは、自身の健康への甚大な悪影響を心配することなく、注文した料理を食べることができる上、料理の注文を簡単に実施できる。
さらに、上記の別の態様では、アレルギー情報が第2サーバに送信されていないため、アレルギー情報がレストラン側に漏洩することが防止される。さらに、上記の別の態様では、注文料理情報はユーザを特定する識別情報ではなく席IDと対応付けられて送信されているため、識別情報がレストラン側に漏洩することが防止される。
上記の説明は一例に過ぎず、本開示は当該技術者による様々な応用が適用されてもよい。
上記実施の形態において、ユーザの座席とは椅子が想定されているが、本開示はこれに限定されず、立食形式のレストランにおいては、例えばユーザが料理を食べるテーブルの1区画が該当する。
上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されても良い。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されても良い。
本開示の範囲は、上述の実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の範囲に含まれても良い。