以下、図面を参照してサーバの制御方法、サーバおよびサーバの制御プログラムについて詳細に説明する。ただし、本発明は図面または以下に記載される実施形態には限定されないことを理解されたい。
図1は、メニュー生成システム1の動作概要を示す模式図である。
メニュー生成システム1は、サーバ2と、ストレージ装置3と、ユーザ端末4と、ネットワーク5とを有する。メニュー生成システム1において、サーバ2は、ストレージ装置3と接続され、ユーザ端末4とネットワーク5を介して接続される。
サーバ2に接続されるストレージ装置3には、ジャンルごとに、各ジャンルに属する対象の名称に含まれる複数の属性が関連づけられたジャンルテーブルと、属性ごとに、各属性に対応する複数の要素が関連づけられた属性テーブルとが記憶されている。
本明細書において、ジャンルは、共通の特徴を有する対象の集合である。例えば、料理が対象である場合、ジャンルは、「ラーメン」「握り寿司」等である。ジャンル「ラーメン」には、中華麺とスープとを組み合わせた麺料理という共通の特徴を有する対象である「醤油ラーメン」「味噌ラーメン」等が含まれる。
本明細書において、要素は、対象を修飾するために対象の名称に付加される単語である。例えば、ジャンル「ラーメン」に含まれる「豚骨醤油チャーシューラーメン」の名称には、要素「豚骨」「醤油」「チャーシュー」が付加されている。
本明細書において、属性は、対象との共通の関係を有する要素の集合である。例えば、ジャンル「ラーメン」において、スープの元となる素材という関係を有する「豚骨」「鶏ガラ」といった要素は、属性「だし」に関連づけられる。同様に、ジャンル「ラーメン」において、麺とスープとを合わせた後に載せられる素材という関係を有する「チャーシュー」等の要素は、属性「トッピング」に関連づけられる。
あるジャンルに含まれる対象では、付加され得る要素に関連づけられる属性は共通している。すなわち、ジャンルごとに、そのジャンルに属する対象の名称に含まれる複数の属性が関連づけられ、各属性には複数の要素が関連づけられる。
サーバ2は、まず、ジャンルの指定をユーザ端末4から受信する。図1の例では、サーバ2は、ユーザ端末4に表示されるジャンル指定画面100に対するユーザの操作に基づいて、名称作成の対象が属するジャンルとして、ジャンル「ラーメン」の指定を受け付ける。
次に、サーバ2は、指定されたジャンルに関連づけられた複数の属性を、ジャンルテーブルから抽出する。図1の例では、指定されたジャンル「ラーメン」に関連づけられた属性「だし」「トッピング」等が、ジャンルテーブルから抽出される。
次に、サーバ2は、抽出した複数の属性ごとに、属性テーブルにおいて関連づけられた複数の要素を選択可能に表示するための要素選択情報を作成し、ユーザ端末4に送信する。図1の例では、属性「だし」について属性テーブルにおいて関連づけられた複数の要素は「豚骨」「鶏ガラ」等であり、属性「トッピング」において属性テーブルにおいて関連づけられた複数の要素は「チャーシュー」等である。
サーバ2から要素選択情報を受信したユーザ端末4は、要素選択情報に基づいて、指定したジャンルに関連づけられた各属性につき複数の要素を選択可能に表示した要素選択画面を表示する。図1の例では、要素選択画面には、属性「だし」について要素「豚骨」「鶏ガラ」等が選択可能に表示され、属性「トッピング」について要素「チャーシュー」等が選択可能に表示される。
要素選択画面を参照したユーザが、属性ごとに要素を選択し、所定の選択完了操作を行うと、ユーザ端末4は、属性ごとに選択された要素をサーバ2に送信し、サーバ2がこれを受信する。図1の例では、サーバ2は、属性「だし」について選択された要素「豚骨」および属性「トッピング」について選択された要素「チャーシュー」をユーザ端末4から受信する。
サーバ2は、属性ごとに選択された要素を受信した場合、これらの要素を含む名称を、対象の名称として登録する。
このように、本実施形態にかかるサーバ2を含むメニュー生成システム1は、ユーザに指定されたジャンルに関連づけられた属性ごとに要素を選択可能な情報をユーザ端末に送信することにより、対象の名称として適切な名称を登録することが可能となる。
図2は、メニュー生成システム1の概略構成を示す模式図である。
メニュー生成システム1は、サーバ2と、ストレージ装置3と、ユーザ端末4と、ネットワーク5とを有する。メニュー生成システム1において、サーバ2は、ストレージ装置3と接続され、ユーザ端末4とネットワーク5を介して接続される。
ネットワーク5は、サーバ2とユーザ端末4とを通信可能に接続する。ネットワーク5は、例えばTCP/IP(Transport Control Protocol / Internet Protocol)による通信が行われるインターネットであり、ネットワーク5により通信する機器は、有線または無線によって接続される。無線による接続は、例えばIEEE(The Institute of Electrical and Electronics Engineers)802.11acなどの無線LAN(Local Area Network)接続であってよく、また、4G(4th Generation)回線などの無線WAN(Wide Area Network)接続であってよい。
図3は、サーバ2の概略構成を示す模式図である。
サーバ2は、ストレージ装置3およびユーザ端末4と接続し、ユーザ端末4から受信するジャンルの指定および属性の選択に応じて生成された名称を登録する。そのために、サーバ2は、サーバ通信部21と、サーバ記憶部22と、サーバ処理部23とを備える。
サーバ通信部21は、サーバ2をネットワーク5に接続するための通信インタフェース回路を有する。サーバ通信部21は、ユーザ端末4から受信したデータをサーバ処理部23に供給する。また、サーバ通信部21は、サーバ処理部23から供給されたデータをユーザ端末4等に送信する。
サーバ記憶部22は、例えば、半導体メモリ、磁気ディスク装置および光ディスク装置のうちの少なくとも1つを有する。サーバ記憶部22は、サーバ処理部23による処理に用いられるドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム、データ等を記憶する。例えば、サーバ記憶部22は、ドライバプログラムとして、サーバ通信部21を制御する通信デバイスドライバプログラム等を記憶する。各種プログラムは、例えばCD−ROM(Compact Disc Read-Only Memory)、DVD−ROM(DVD Read-Only Memory)等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いてサーバ記憶部22にインストールされてよい。
サーバ処理部23は、1以上のプロセッサおよびその周辺回路を備える。サーバ処理部23は、サーバ2の全体的な動作を統括的に制御するものであり、例えば、CPU(Central Processing Unit)である。サーバ処理部23は、サーバ2の各種処理がサーバ記憶部22に記憶されているプログラム等に基づいて適切な手段で実行されるように、サーバ通信部21等の動作を制御する。サーバ処理部23は、サーバ記憶部22に記憶されているプログラム(オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、サーバ処理部23は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
サーバ処理部23は、指定ジャンル受信部231と、属性抽出部232と、要素選択情報送信部233と、選択要素受信部234と、名称登録部235とを有する。サーバ処理部23が有するこれらの各部は、サーバ処理部23が有するプロセッサ上で実行されるプログラムによって実装される機能モジュールである。あるいは、サーバ処理部23が有するこれらの各部は、独立した集積回路、マイクロプロセッサ、またはファームウェアとしてサーバ2に実装されてもよい。
図4は、ストレージ装置3の概略構成を示す模式図である。
ストレージ装置3は、記憶部の一例である。ストレージ装置3は、入力されたデータを記憶し、記憶したデータを要求に応じて出力する。そのために、ストレージ装置3は、ストレージ通信部31と、ストレージ記憶部32と、ストレージ処理部33とを備える。
ストレージ通信部31は、ストレージ装置3をサーバ2に接続するための通信インタフェース回路を有する。ストレージ通信部31は、サーバ2から受信したデータをストレージ処理部33に供給する。また、ストレージ通信部31は、ストレージ処理部33から供給されたデータをサーバ2に送信する。
ストレージ記憶部32は、例えば、半導体メモリ、磁気ディスク装置および光ディスク装置のうちの少なくとも1つを有する。ストレージ記憶部32は、サーバ2から受信したデータ等を記憶する。
ストレージ処理部33は、1以上のプロセッサおよびその周辺回路を備える。ストレージ処理部33は、ストレージ装置3の全体的な動作を統括的に制御するものであり、例えば、CPU(Central Processing Unit)である。ストレージ処理部33は、ストレージ通信部31およびストレージ記憶部32の動作を制御する。
なお、ストレージ装置3は、ストレージ通信部31およびストレージ処理部33を有していなくてもよい。この場合、ストレージ装置3のストレージ記憶部32がサーバ2に直接接続され、ストレージ記憶部32はサーバ2のサーバ処理部23により制御される。
ストレージ装置3は、ストレージ記憶部32に、ジャンルテーブルと、属性テーブルとを記憶する。
図5は、ジャンルテーブルの例を示す図である。
ジャンルテーブルは、ジャンルごとに、各ジャンルに属する対象の名称に含まれる複数の属性が関連づけられたテーブルである。
本実施形態のメニュー生成システム1において、名称作成の対象は料理である。料理を「ラーメン」「握り寿司」といったジャンルに分類したとき、その料理の名称に含まれる要素の属性は、ジャンルにより異なる。例えば、ジャンル「ラーメン」に属する料理の名称には、属性「だし」の要素(例えば「豚骨」「鶏ガラ」「牡蠣」等)が含まれる。しかし、属性「だし」の要素は、ジャンル「握り寿司」に属する料理の名称には通常含まれない。一方、ジャンル「握り寿司」に属する料理の名称には、属性「ネタ」の要素(例えば「マグロ」「サーモン」等)が含まれる。しかし、属性「ネタ」の要素は、ジャンル「ラーメン」に属する料理の名称には通常含まれない。ジャンルテーブルでは、このようなジャンルと属性との関係が、システム運営者の設定により関連づけられている。
また、本実施形態のジャンルテーブルにおいては、ジャンルごとに、当該ジャンルに含まれる属性の並び順を規定する、日本語用および英語用のテンプレートが関連づけられている。
図5の例では、ジャンル「ラーメン」に対応する日本語用テンプレートとして、「[だし][ベース調味料][トッピング]ラーメン」が関連づけられている。このテンプレートは、属性「だし」に関連づけられた要素「豚骨」と、属性「ベース調味料」に関連づけられた要素「醤油」と、属性「トッピング」に関連づけられた要素「チャーシュー」とを含むラーメンの名称が、「豚骨醤油チャーシューラーメン」のように生成されるべきことを示している。日本語用および英語用テンプレートは、システム運営者の設定により関連づけられている。
なお、図5の例において、ジャンル「ラーメン」に対応する英語用テンプレート「Ramen with [ベース調味料] seasoned [だし] soup (topped with [トッピング])」に含まれるかっこ書き部分「(topped with [トッピング])」は、かっこ書き部分に含まれる属性に関連づけられた要素の選択を省略可能であることを示している。かっこ書き部分に含まれる属性に関連づけられた要素の選択が省略された場合、テンプレートのうちかっこ書き部分を除いた部分が名称の生成に使用される。また、かっこ書き部分に含まれる属性に関連づけられた要素が選択された場合、テンプレートからかっこ書き部分に含まれるかっこ(”(“および”)”)のみが削除され、名称の生成に使用される。
図6は、属性テーブルの例を示す図である。
属性テーブルは、属性ごとに、各属性に対応する複数の要素が関連づけられたテーブルである。
本実施形態のメニュー生成システム1において、要素はメニュー生成の対象となる料理の名称に含まれる単語であり、料理の名称における属性に対応する要素の1つとして選択され得る要素が、その属性に関連づけられる。例えば、要素「豚骨」「鶏ガラ」「牡蠣」は、いずれも属性「だし」に対応する要素の1つとして、料理の名称に含まれ得る。なお、特定の属性に関連づけられる要素には、他の属性に関連づけられた要素が含まれてよい。図6に示す例では、属性「だし」に関連づけられる要素には、属性「トッピング」に関連づけられた要素「牡蠣」が含まれている。属性テーブルでは、このような属性と要素との関係が、システム運営者の設定により関連づけられている。
図7は、名称テーブルの例を示す図である。
名称テーブルは、要素ごとに、複数の言語のそれぞれにおける要素名称が関連づけられたテーブルである。名称テーブルには、例えば、要素「豚骨」と、対応する各国語における要素名称とが、システム運営者の設定により関連づけられている。
図8は、ユーザ端末4の概略構成を示す模式図である。
ユーザ端末4は、ネットワーク5を介してサーバ2に接続し、サーバ2と通信を行う。ユーザ端末4は、ユーザの入力操作に応じて、ジャンルおよび属性ごとに関連づけられた要素の入力を受け付ける。そのために、ユーザ端末4は、端末通信部41と、端末記憶部42と、端末操作部43と、端末表示部44と、端末処理部45とを備える。
なお、本実施形態ではユーザ端末4として、多機能携帯電話(いわゆる「スマートフォン」)を想定するが、実施形態はこれに限定されない。ユーザ端末4は、例えば、パーソナルコンピュータ(Personal Computer, PC)、携帯電話(いわゆる「フィーチャーフォン」)、携帯情報端末(Personal Digital Assistant, PDA)、携帯ゲーム機、携帯音楽プレーヤ、タブレット端末、タブレットPC、ノートPCなどの情報処理装置であってよい。また、ユーザ端末4は、飲食店に設置され飲食店の関係者等に操作される店舗端末であってもよい。
端末通信部41は、通信インタフェース回路を備え、ユーザ端末4をネットワーク5に接続する。端末通信部41は、端末処理部45から供給されたデータを、ネットワークを介してサーバ2等に送信する。また、端末通信部41は、ネットワークを介してサーバ2等から受信したデータを端末処理部45に供給する。
端末記憶部42は、例えば、半導体メモリ装置を備える。端末記憶部42は、端末処理部45での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、端末記憶部42は、ドライバプログラムとして、端末操作部43を制御する入力デバイスドライバプログラムや、端末表示部44を制御する出力デバイスドライバプログラム等を記憶する。また、端末記憶部42は、アプリケーションプログラムとして、ユーザが端末操作部43に対して名称に含まれる用語の選択を行うための用語入力画面を表示するための画面表示プログラム等を記憶する。また、端末記憶部42は、所定の処理にかかる一時的なデータを一時的に記憶してもよい。
端末操作部43は、ユーザ端末4の操作が可能であればどのようなデバイスでもよく、例えば、タッチパネルやキーボタン等である。ユーザは、端末操作部43を用いて、文字や数字、記号等を入力することができる。端末操作部43は、ユーザにより操作されると、その操作に対応する信号を発生する。そして、発生した信号は、ユーザの指示として端末処理部45に供給される。
端末表示部44は、映像や画像等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイ等である。端末表示部44は、端末処理部45から供給された映像データに応じた映像や、画像データに応じた画像等を表示する。
端末処理部45は、1以上のプロセッサおよびその周辺回路を備える。端末処理部45は、ユーザ端末4の全体的な動作を統括的に制御するものであり、例えば、CPUである。端末処理部45は、ユーザ端末4の各種処理が端末記憶部42に記憶されているプログラムや端末操作部43への操作等に基づいて適切な手段で実行されるように、端末通信部41や端末表示部44等の動作を制御する。端末処理部45は、端末記憶部42に記憶されているプログラム(オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、端末処理部45は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
端末処理部45は、少なくとも閲覧実行部451、端末送信部452等を備える。これらの各部は、端末処理部45が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとしてユーザ端末4に実装されてもよい。
本開示のメニュー生成システム1は、上述のハードウェア構成を採用することで、ユーザに指定されたジャンルに関連づけられた属性ごとに要素を選択可能な情報をユーザ端末に送信するようサーバを制御する。本開示のメニュー生成システム1によると、所望の名称を得るためにユーザが要求する検索の回数を減少させてサーバの処理時間を短縮することができ、効率的な情報処理が可能となる。
次に、図9〜図11を参照して、サーバ2に接続されたユーザ端末4の表示機能によって端末表示部44に表示される各表示画面の一例を説明する。
図9は、ジャンル指定画面の例を示す図である。
ユーザ端末4は、サーバ2が送信するジャンル指定画面表示データに基づいて、図9に示すジャンル指定画面900を端末表示部44に表示する。ユーザ端末4のユーザは、ジャンル指定画面900を参照して、名称作成の対象となる料理に対応するジャンルを指定する。
ジャンル指定画面900には、候補ジャンル表示欄910〜916と、指定表示欄920〜926と、指定ジャンル決定ボタン930とが含まれる。
候補ジャンル表示欄910〜916は、それぞれ指定の候補となる候補ジャンルを示す欄である。候補ジャンル表示欄910〜916には、ジャンルテーブルに記憶されたすべてのジャンルが表示される。
指定表示欄920〜926は、対応する候補ジャンル表示欄910〜916に表示されたジャンルが指定されているか否かを示す欄である。図9では、指定表示欄920に対応するジャンル「ラーメン」が指定されていることを示している。
ユーザ端末4は、端末操作部43がユーザの候補ジャンル表示欄910〜916または指定表示欄920〜926への所定の操作(例えばタッチパネルへのタップ)を検出することにより、候補ジャンルへの指定を受け付ける。
指定ジャンル決定ボタン930は、候補ジャンルの指定を決定するボタンである。端末操作部43が指定ジャンル決定ボタン930に対するユーザの所定の操作(例えばタッチパネルへのタップ)を検出すると、ユーザ端末4は、端末通信部41を介して、指定された候補ジャンルを指定ジャンルとしてサーバ2に送信する。
図10は、要素選択画面の例を示す図である。
ユーザ端末4は、サーバ2が送信する要素選択情報に基づいて、図10に示す要素選択画面1000を端末表示部44に表示する。ユーザ端末4のユーザは、要素選択画面1000を参照して、名称作成の対象となる料理のジャンルに関連づけられた属性ごとに要素を選択する。
要素選択画面1000には、候補要素表示欄1010〜1019と、選択表示欄1020〜1029と、選択要素決定ボタン1030とが含まれる。
候補要素表示欄1010〜1019は、それぞれ選択の候補となる候補要素を示す欄である。候補要素表示欄1010〜1019には、ジャンル指定画面900で指定されたジャンルにジャンルテーブルで関連づけられた属性に、属性テーブルで関連づけられた要素が表示される。
具体的には、図9のジャンル指定画面900で指定されたジャンル「ラーメン」は、ジャンルテーブルにおいて属性「だし」「ベース調味料」「トッピング」等に関連づけられている。候補要素表示欄1010〜1013には、属性テーブルにおいて属性「だし」に関連づけられた要素「豚骨」「鶏ガラ」「牡蠣」等が表示される。同様に、候補要素表示欄1014〜1016には、属性テーブルにおいて属性「ベース調味料」に関連づけられた要素「醤油」「味噌」等が表示され、候補要素表示欄1017〜1019には、属性テーブルにおいて属性「トッピング」に関連づけられた要素「チャーシュー」「煮卵」「牡蠣」等が表示される。
候補要素表示欄1010〜1019は、要素が関連づけられる属性ごとにグループ化して表示され、ユーザはどの属性に対応する要素を選択しているかを容易に把握することができる。
選択表示欄1020〜1029は、対応する候補要素表示欄1010〜1019に表示された要素が選択されているか否かを示す欄である。図10では、属性「だし」について、選択表示欄1020に対応する要素「豚骨」が選択されていることを示している。候補要素は、属性ごとに択一的に選択される。候補要素は、属性ごとに、複数選択されてもよい。
ユーザ端末4は、端末操作部43がユーザの候補要素表示欄1010〜1019または選択表示欄1020〜1029への所定の操作(例えばタッチパネルへのタップ)を検出することにより、候補要素の選択を受け付ける。
選択要素決定ボタン1030は、候補要素の選択を決定するボタンである。端末操作部43が選択要素決定ボタン1030に対するユーザの所定の操作(例えばタッチパネルへのタップ)を検出すると、ユーザ端末4は、端末通信部41を介して、選択された候補要素を選択要素としてサーバ2に送信する。
図11は、名称登録画面の例を示す図である。
ユーザ端末4は、サーバ2が送信する名称登録画面表示データに基づいて、図11に示す名称登録画面1100を端末表示部44に表示する。ユーザ端末4のユーザは、名称登録画面1100を参照して、名称作成の対象となる料理の所定言語における表記の登録を要求する。
名称登録画面1100には、指定ジャンル表示欄1101と、選択要素表示欄1102と、言語表示欄1103と、表記表示欄1104と、表記登録ボタン1105と、表記修正ボタン1106とが含まれる。
指定ジャンル表示欄1101は、ジャンル指定画面900でユーザに指定されたジャンルを表示する欄である。
選択要素表示欄1102は、要素選択画面1000でユーザに選択された要素を表示する欄である。
言語表示欄1103は、対象となる料理の名称の言語が表示される欄である。言語表示欄1103には、初期値として指定された所定の一の言語が表示されている。言語表示欄1103の右端に表示された「▼」にユーザが所定の操作を行うことにより、ストレージ記憶部32に記憶された名称テーブルにおいて各要素の名称が記憶された各言語(例えば中国語、韓国語等)がリスト表示される。ユーザは、リストに表示された言語から特定の一の言語を選択することができる。
表記表示欄1104は、指定ジャンル表示欄1101に表示されたジャンルについて選択要素表示欄1102に表示された要素を含む料理の言語表示欄1103に表示された言語における表記を表示する欄である。
表記登録ボタン1105は、表記の登録を要求するボタンである。端末操作部43が表記登録ボタン1105に対するユーザの所定の操作(例えばタッチパネルへのタップ)を検出すると、ユーザ端末4は、端末通信部41を介して、表記表示欄1104に表示された表記の登録をサーバ2に要求する。
表記修正ボタン1106は、表記の修正を要求するボタンである。端末操作部43が表記修正ボタン1106に対するユーザの所定の操作(例えばタッチパネルへのタップ)を検出すると、ユーザ端末4は、表記表示欄1104に表示された表記の編集を可能にする。表記の編集を終了した後、表記登録ボタン1105へのユーザの所定の操作を検出すると、ユーザ端末4は、編集後の表記の登録をサーバ2に要求する。
図12は、メニュー生成システム1の動作シーケンス図である。
まず、サーバ処理部23は、ユーザ端末4からネットワーク5を介して受信した要求に応じて、ジャンル指定画面表示データを、サーバ通信部21を介してユーザ端末4に送信する(ステップS101)。サーバ処理部23は、ジャンルテーブルに記憶されたすべてのジャンルを読み出し、読み出した各ジャンルを指定可能なジャンル指定画面を表示するためのデータであるジャンル指定画面表示データを生成する。サーバ処理部23は、ジャンルテーブルが更新されるたびにジャンル指定画面表示データを生成し、ストレージ記憶部32に記憶する。サーバ処理部23は、ユーザ端末4からネットワーク5を介して要求を受信するたびにジャンル指定画面表示データを生成し、ユーザ端末4に送信してもよい。
ユーザ端末4の閲覧実行部451は、端末通信部41を介してジャンル指定画面表示データを受信すると、端末表示部44にジャンル指定画面900を表示する(ステップS102)。
次に、ユーザ端末4の端末送信部452は、端末操作部43を介してユーザ操作を受け付けると、受け付けたユーザ操作に基づいて、端末通信部41を介して指定ジャンルの情報をサーバ2に送信する。一方、サーバ2の指定ジャンル受信部231は、サーバ通信部21を介して指定ジャンルの情報を受信する(ステップS103)。
指定ジャンル受信部231がサーバ通信部21を介して指定ジャンルの情報を受信すると、属性抽出部232は、受信した指定ジャンルの情報に基づいて要素選択情報を生成する(ステップS104)。要素選択情報生成処理の詳細は後述する。
次に、要素選択情報送信部233は、生成された要素選択情報をサーバ通信部21を介してユーザ端末4に送信する(ステップS105)。
ユーザ端末4の閲覧実行部451は、端末通信部41を介して要素選択情報を受信すると、端末表示部44に要素選択画面1000を表示する(ステップS106)。
次に、端末送信部452は、端末操作部43を介してユーザ操作を受け付けると、受け付けたユーザ操作に基づいて、端末通信部41を介して選択要素の情報をサーバ2に送信する。一方、サーバ2の選択要素受信部234は、サーバ通信部21を介して選択要素の情報を受信する(ステップS107)。
選択要素受信部234は、サーバ通信部21を介して選択要素の情報を受信すると、受信した選択要素の情報に基づいて名称を生成する(ステップS108)。このとき、選択要素受信部234は、初期値として指定された所定の一の言語における名称を生成する。選択要素受信部234は、ユーザ端末4により選択された他の一の言語における名称を生成してもよい。名称生成処理の詳細は後述する。
次に、サーバ処理部23は、生成された名称を含む名称登録画面表示データを、サーバ通信部21を介してユーザ端末4に送信する(ステップS109)。
ユーザ端末4の閲覧実行部451は、端末通信部41を介して名称登録画面表示データを受信すると、端末表示部44に名称登録画面1100を表示する(ステップS110)。
次に、端末送信部452は、端末操作部43を介してユーザ操作を受け付けると、受け付けたユーザ操作に基づいて、端末通信部41を介して名称登録要求をサーバ2に送信する(ステップS111)。名称登録要求は、登録が要求される名称を含む。なお、名称登録要求は、登録が要求される名称を含まなくてもよい。
サーバ2の名称登録部235は、名称登録要求を受信すると、受信した名称をストレージ記憶部32に記憶することにより登録する(ステップS112)。名称登録部235は、受信した名称を、所定の一の言語における名称として登録する。例えば、名称登録部235は、所定の一の言語と、指定されたジャンルと、選択された要素とに関連づけて、名称をストレージ記憶部32に記憶させることにより、所定の一の言語における名称として登録する。名称登録部235は、名称を含まない名称登録要求を受信した場合、ステップS109でユーザ端末4に送信した名称を登録する。また、名称登録部235は、登録した名称をユーザ端末4に送信してもよい。
図13は、要素選択情報生成処理のフローチャートである。
まず、属性抽出部232は、ジャンルテーブルを検索し、ジャンルテーブルから指定ジャンル受信部231が受信した指定ジャンルの情報に示されるジャンルに関連づけられた複数の属性を抽出する(ステップS201)。
次に、属性抽出部232は、抽出した属性ごとに属性テーブルを検索し、抽出した属性に関連づけられた要素を特定する(ステップS202)。
次に、属性抽出部232は、属性および属性に関連づけられた要素に基づき、要素選択情報を生成し(ステップS203)、要素選択情報生成処理を終了する。要素選択情報は、抽出した複数の属性ごとに、属性テーブルにおいて関連づけられた複数の要素を選択可能に表示する要素選択画面1000を表示させるための情報である。属性抽出部232は、抽出した属性ごとに、特定した複数の要素が表示されるとともに、各要素が選択されているか否かが表示されるよう、要素選択情報を生成する。
図14は、名称生成処理のフローチャートである。
まず、選択要素受信部234は、ジャンルテーブルから、指定ジャンル受信部231が受信した指定ジャンルの情報に示されるジャンルに関連づけられた所定の一の言語用のテンプレートを抽出する(ステップS301)。
次に、選択要素受信部234は、名称テーブルから、受信した選択要素の情報に示される要素に対応する所定の一の言語の要素名称を特定し、特定した要素名称をジャンルテーブルから抽出したテンプレートの並び順で並べて名称を生成し(ステップS302)、名称生成処理を終了する。このように、選択要素受信部234は、名称テーブルにおいて複数の属性ごとに選択された要素の複数の言語のうちの一の言語に関連づけられた名称を、指定されたジャンルに関連づけられた一の言語に対応するテンプレートで規定された並び順で並べ、名称を生成する。
例えば、所定の一の言語が英語であって、ジャンル「ラーメン」に関連づけられた属性「だし」「ベース調味料」「トッピング」に要素「豚骨」「醤油」「チャーシュー」がそれぞれ選択された場合の選択要素受信部234による名称生成処理を説明する。選択要素受信部234は、抽出した英語用テンプレート「Ramen with [ベース調味料] seasoned [だし] soup topped with [トッピング]」の[ベース調味料]に、属性「ベース調味料」の要素として選択された「醤油」の英語名称「soy sauce」を配置する。選択要素受信部234は、同様に[だし]および[トッピング]に「pork bone」「roasted pork」をそれぞれ配置する。このようにして、選択要素受信部234は、英語名称「Ramen with soy sauce seasoned pork bone soup topped with roasted pork」を生成する。
また、メニュー生成システム1は、複数の属性に関連づけられる要素を含むメニューの外国語名称を適切に生成することができる。例えば、図6に示す属性テーブルにおいて、要素「牡蠣」は、属性「だし」と「トッピング」とに関連づけられている。このような要素「牡蠣」が属性「だし」として選択された場合および属性「トッピング」として選択された場合における英語名称の生成について説明する。
まず、ジャンル「ラーメン」における属性「ベース調味料」の要素として「醤油」が選択され、属性「だし」の要素として「牡蠣」が選択された場合の選択要素受信部234による名称生成処理を説明する。選択要素受信部234は、抽出した英語用テンプレート「Ramen with [ベース調味料] seasoned [だし] soup (topped with [トッピング])」における[ベース調味料]の位置に「soy sauce」を、[だし]の位置に「oyster」を配置する。また、選択要素受信部234は、要素が選択されていない属性「トッピング」を含むテンプレート内の部分「(topped with [トッピング])」を削除する。こうして、選択要素受信部234は、英語名称「Ramen with soy sauce seasoned oyster soup」を生成する。
一方、ジャンル「ラーメン」における属性「ベース調味料」の要素として「醤油」が選択され、属性「トッピング」の要素として「牡蠣」が選択された場合の選択要素受信部234による名称生成処理を説明する。選択要素受信部234は、抽出した英語用テンプレート「Ramen with [ベース調味料] seasoned [だし] soup (topped with [トッピング])」における[ベース調味料]の位置に「soy sauce」を、[トッピング]の位置に「oyster」を配置する。また、選択要素受信部234は、要素が選択されていない属性「トッピング」を含むテンプレート内の部分「(topped with [トッピング])」におけるかっこ(”(“および”)”)を削除する。こうして、選択要素受信部234は、英語名称「Ramen with soy sauce seasoned soup topped with oyster」を生成する。
以上詳述したとおり、メニュー生成システム1は、ユーザに指定されたジャンルに関連づけられた属性ごとに要素を選択可能な情報をユーザ端末に送信することにより、ユーザに要素を容易に選択させる。
当業者は、本発明の精神および範囲から外れることなく、種々の変更、置換および修正をこれに加えることが可能であることを理解されたい。