〔第一の実施形態〕
図1は、商品位置案内システム1の全体的な構成の例を示す図である。図2は、サーバ2のハードウェア構成の例を示す図である。図3は、第一の実施形態におけるサーバ2の機能的構成の例を示す図である。
図1に示す商品位置案内システム1は、ホームセンター、スーパーマーケット、または百貨店などの商業施設の来店者へ商品の陳列されている位置を案内するシステムであって、サーバ2、管理者端末装置3A、1台または複数の来店者端末装置3B、および通信回線4などによって構成される。
サーバ2、管理者端末装置3A、および来店者端末装置3Bは、通信回線4を介してデータをやり取りする。通信回線4として、インターネット、無線LAN(Local Area Network)、または携帯電話回線などが用いられる。
管理者端末装置3Aは、ディスプレイ、入力装置、およびウェブブラウザなどを有し、商品の陳列されている位置の案内のための設定の処理を行う。また、後述する種々のページなどをディスプレイによって表示する。管理者端末装置3Aとして、パーソナルコンピュータまたはタブレットコンピュータなどが用いられる。
来店者端末装置3Bは、ウェブブラウザ、ディスプレイ、入力装置、デジタルカメラ、およびマイクなどを有し、来店者による操作に応じて商品の位置を問い合わせ、回答などをディスプレイによって表示する。来店者端末装置3Bとして、スマートフォンまたはタブレットコンピュータなどが用いられる。
サーバ2は、来店者端末装置3Bからの問合せに応じて商品の位置を検索し回答するサーバであって、図2に示すように演算装置21、メインメモリ22、補助記憶装置23、通信装置24、操作装置25、および表示装置26などによって構成される。
演算装置21は、CPU(Central Processing Unit)またはGPU(Graphics Processing Unit)などのプロセッサであって、メインメモリ22にロードされたコンピュータプログラムに従って演算処理を実行する。
メインメモリ22は、RAM(Random Access Memory)などの作業用メモリであって、オペレーティングシステムをはじめ種々のコンピュータプログラムがロードされる。
補助記憶装置23は、ハードディスクまたはSSD(Solid State Drive)などの不揮発性の補助記憶媒体であって、上記のコンピュータプログラムがインストールされている。これらのコンピュータプログラムは、必要に応じてメインメモリ22にロードされる。特に本実施形態では、商品位置回答プログラム20が補助記憶装置23にインストールされており、商品の位置を回答するためにメインメモリ22にロードされる。商品位置回答プログラム20によると、図3に示す店舗データ管理部201、商品位置案内部202、商品カテゴリデータ記憶部203、紐付データ記憶部204、棚データ記憶部205、背景画像データ記憶部206、およびグループデータ記憶部207などの機能が実現される。各機能については、後に順次説明する。
通信装置24は、来店者端末装置3Bなどの外部の装置との間で通信回線4を介してデータのやり取りを行う。通信装置24として、NIC(Network Interface Card)などが用いられる。
操作装置25は、キーボードまたはポインティングデバイスなどの操作用装置であって、管理者がサーバ2を操作するために用いられる。なお、管理者は、サーバ2を管理者端末装置3Aなどによってリモート操作することもできる。
表示装置26は、液晶ディスプレイまたはOLED(Organic Light Emitting Diode)ディスプレイなどの画像表示デバイスであって、入力用の画面および演算装置21による演算結果などを表示する。
サーバ2として、ウェブサーバが用いられる。または、アマゾン社のAWS(Amazon Web Services)などのSaaS(Software as a Service)のクラウドコンピューティングサービスおよびアーキテクチャを用いてもよい。
以下、商品位置案内システム1によって来店者へ商品の位置が案内される仕組みを、DIY(Do It Yourself)商品のほか文具およびペット用品などを販売する商業施設である店舗Xにおいて商品位置案内システム1が使用される場合を例に説明する。店舗Xには、工具売場、文具売場、およびペット用品売場などの複数の売場がある。さらに、各売場には1つまたは複数の棚(ゴンドラ)が設置されており、各棚に様々な商品が陳列されている。
〔準備〕
〔主なデータ〕
図4は、カテゴリデータ6Aの例を示す図である。図5は、紐付データ6Bの例を示す図である。図6は、棚データ6Cの例を示す図である。図7は、グループデータ6Fの例を示す図である。
図3の商品カテゴリデータ記憶部203には、図4のように、店舗Xで販売される商品のカテゴリ(品目)ごとに、そのカテゴリを識別するための主キーであるカテゴリコードおよびそのカテゴリの名称(以下、「カテゴリ名」と記載する。)を示すカテゴリデータ6Aが記憶される。これらのカテゴリには、「ボールペン」および「測定器」のような具体的なもの並びに「筆記用具」および「工具」のような抽象的なものが混在していても構わない。
紐付データ記憶部204には、図5(A)のように、包含関係を有する2つのカテゴリのペア(組合せ)ごとに、そのペアに係る2つのカテゴリそれぞれのカテゴリコードを示す紐付データ6Bが記憶されている。親コードが包含する側のカテゴリのカテゴリコードであり、子コードが包含される側のカテゴリのカテゴリコードである。または、紐付データ6Bは、図5(B)のように、カテゴリコードの代わりにカテゴリ名を示すものであっても構わない。以下、紐付データ6Bとして、図5(A)のようにカテゴリコードが示される場合を例に説明する。
棚データ記憶部205には、図6のように、店舗Xに設置される棚ごとに、その棚を識別するための主キーである棚コード、その棚が設置される位置の座標、およびその棚に陳列されている商品の属するカテゴリのカテゴリコードを示す棚データ6Cが記憶される。棚の位置の座標として、後述するフロアマップにおける座標が用いられる。
背景画像データ記憶部206には、商品の位置の案内の画面の背景として用いられるフロアマップの画像データ6Dおよび透過率を示す透過率データ6Eが記憶される。
グループデータ記憶部207には、図7のように、グループごとに、そのグループのグループコードおよび所属する棚それぞれの棚コードを示すグループデータ6Fが記憶される。
商品カテゴリデータ記憶部203、紐付データ記憶部204、棚データ記憶部205、背景画像データ記憶部206、およびグループデータ記憶部207へ上述のデータを登録したり登録済のデータを更新したりする処理は、店舗データ管理部201によって行われる。
〔データの登録〕
図8は、店舗データ管理部201の構成の例を示す図である。図9は、初期におけるマッピングページ51の状態の例を示す図である。図10は、フロアマップ55の追加後におけるマッピングページ51の状態の例を示す図である。図11は、フロアマップ55の変化の例を示す図である。図12は、カテゴリ名追加後におけるマッピングページ51の状態の例を示す図である。図13は、紐付ウィンドウ53の例を示す図である。図14は、フロアマップ55への棚の配置方法の例を示す図である。図15は、棚へのカテゴリ名の配置方法の例を示す図である。図16は、カテゴリ名の表示の形態の変形例を示す図である。
店舗データ管理部201は、図8に示すように、マッピングページ送信部211、背景設定部212、商品カテゴリ登録部213、カテゴリ紐付部214、商品カテゴリ編集部215、紐付解除部216、棚登録部217、棚更新部218、グループ登録部219、グループ解除部220などによって構成される。
管理者が管理者端末装置3Aのウェブブラウザで店舗Xの所定のURL(Uniform Resource Locator)を入力すると、管理者端末装置3Aは、サーバ2へアクセスし、マッピングページを要求する。
すると、マッピングページ送信部211は、図9に示すようなマッピングページ51を表示するためのデータ(例えば、HTML(Hypertext Markup Language)データおよび画像データなど)を管理者端末装置3Aへ送信する。マッピングページ51は、棚の設置場所および商品の陳列場所がフロアマップのどの位置に対応しているかを指定するためのウェブページである。
管理者端末装置3Aは、これらのデータを受信すると、これらのデータに基づいてマッピングページ51を表示する。
マッピングページ51の表示中に管理者が管理者端末装置3Aに対して操作を行うごとに、管理者端末装置3Aは、その操作の内容をサーバ2へ送信する。サーバ2は、内容に応じた処理を行う。その際に、適宜、ダイアログボックスなどの画面を管理者端末装置3Aに表示させたりマッピングページ51を更新したりする。
管理者は管理者端末装置3Aでマッピングページ51またはダイアログボックスなどの画面に対して操作を行うことによって、後述する種々の設定をサーバ2に対して行うことができる。なお、サーバ2は、画面の表示および操作の手段として、管理者端末装置3Aの代わりに表示装置26および操作装置25を用いてもよいが、以下、管理者端末装置3Aが用いられる場合を例に説明する。
マッピングページ51は、背景領域511、背景登録ボタン512、透過率バー513、商品カテゴリ領域514、追加ボタン515、紐付ボタン516、削除ボタン517、棚アイコン518、グループ化ボタン519、およびグループ解除ボタン520などによって構成される。
背景領域511には、フロアマップが背景として配置される。管理者は、店舗Xのフロアマップを背景として配置することができる。背景設定部212は、フロアマップに関する設定の処理を行う。
管理者は、店舗Xのフロアマップの画像データを管理者端末装置3Aに用意する。この画像データは、GIF(Graphics Interchange Format)、JPEG(Joint Photographic Experts Group)、またはPNG(Portable Network Graphics)などのフォーマットの画像データである。この画像データは、店舗Xの既存のウェブサイトからダウンロードしたものであってもよいし、店舗Xの既存のパンフレットをスキャナで読み取って電子化したものであってもよい。そして、背景登録ボタン512をクリックする。
すると、背景設定部212は、画像データを指定するためのダイアログボックスを管理者端末装置3Aに表示させる。ここで、用意した画像データを管理者が指定すると、この画像データが管理者端末装置3Aからサーバ2へアップロードされる。
そして、背景設定部212は、この画像データを背景画像データ記憶部206に画像データ6Dとして記憶させるとともに、透過率データ6Eを生成し背景画像データ記憶部206に記憶させる。透過率データ6Eは、店舗Xのフロアマップの透過率Rtを示すデータであって、初期値は「0%」である。
さらに、マッピングページ送信部211は、画像データ6Dに基づいて、店舗Xのフロアマップを透過率Rtで透過させて背景領域511に配置した状態にマッピングページ51を更新し、更新後のマッピングページ51のデータを管理者端末装置3Aへ送信する。管理者端末装置3Aは、これらのデータを受信すると、図10のように更新後のマッピングページ51を表示する。以下、店舗Xのフロアマップを「フロアマップ55」と記載する。
透過率バー513は、透過率Rtを指定するためのスライドバーである。管理者は、透過率バー513を右にスライドさせることによって透過率Rtを下げ、左にスライドさせることによって上げることができる。
背景設定部212は、透過率バー513の位置に応じた値になるように透過率データ6Eの透過率Rtを更新し、マッピングページ送信部211は、フロアマップ55を新たな透過率Rtで透過させて背景領域511に配置した状態にマッピングページ51を更新し、更新後のマッピングページ51のデータを管理者端末装置3Aへ送信する。これにより、透過率バー513の位置に応じて図11(A)〜(D)のように背景領域511が変化しながらマッピングページ51が管理者端末装置3Aに表示される。
商品カテゴリ領域514には、商品のカテゴリのカテゴリ名が配置される。管理者は、店舗Xで販売される商品のカテゴリそれぞれのカテゴリ名を配置することができる。商品カテゴリ登録部213は、商品のカテゴリそれぞれのカテゴリ名などを登録するための処理を行う。
管理者が追加ボタン515をクリックすると、商品カテゴリ登録部213は、カテゴリコードおよびカテゴリ名を入力するためのダイアログボックスを管理者端末装置3Aに表示させる。ここで、管理者がカテゴリコードおよびカテゴリ名を入力すると、管理者端末装置3Aは、入力されたカテゴリコードおよびカテゴリ名を示すデータを生成しサーバ2へアップロードする。
そして、商品カテゴリ登録部213は、このデータをカテゴリデータ6Aとして商品カテゴリデータ記憶部203(図4参照)に記憶させる。管理者がカテゴリコードおよびカテゴリ名を繰り返し入力することによって、商品カテゴリデータ記憶部203にはカテゴリデータ6Aが蓄積される。
なお、カテゴリコードを管理者に入力させる代わりに商品カテゴリ登録部213が発行してもよい。
また、複数のカテゴリそれぞれのカテゴリコードおよびカテゴリ名を一括して入力できるようにダイアログボックスを構成してもよい。または、複数のカテゴリそれぞれのカテゴリコードおよびカテゴリ名を示すCSV(Comma Separated Value)データを管理者が管理者端末装置3Aに用意し、このデータをサーバ2へアップロードすることによって、カテゴリデータ6Aを商品カテゴリデータ記憶部203に登録してもよい。または、予め用意されたリストをダイアログボックスの代わりに管理者端末装置3Aに表示し、店舗Xで販売される商品のカテゴリを管理者に選択させ、選択されたカテゴリのカテゴリコードおよびカテゴリ名を示すデータをカテゴリデータ6Aとして商品カテゴリ登録部213に記憶させてもよい。
マッピングページ送信部211は、それぞれのカテゴリデータ6Aに示されるカテゴリ名を縦一列に商品カテゴリ領域514に配置した状態にマッピングページ51を更新し、更新後のマッピングページ51のデータを管理者端末装置3Aへ送信する。管理者端末装置3Aは、これらのデータを受信すると、図12のように更新後のマッピングページ51を表示する。なお、カテゴリ名がツリー形式で配置された状態でマッピングページ51を表示させることもできる。これについては、後述する。
管理者は、包含関係を有する2つのカテゴリを紐付けることができる。カテゴリ紐付部214は、これらのカテゴリの紐付データ6Bを次のように生成する。
管理者は、包含関係を有する2つのカテゴリを、それぞれのカテゴリ名を商品カテゴリ領域514の中からクリックすることによって選択し、紐付ボタン516をクリックする。ただし、包含する側のカテゴリを、包含される側のカテゴリよりも先に選択する。
すると、カテゴリ紐付部214は、先に選択されたカテゴリのカテゴリコードが親コードとして示され後に選択されたカテゴリのカテゴリコードが子コードとして示されるデータを生成し、紐付データ6Bとして紐付データ記憶部204(図5参照)に記憶させる。
または、カテゴリ紐付部214は、図13のような紐付ウィンドウ53を管理者端末装置3Aに表示させ、紐付ウィンドウ53において管理者に紐付けの作業を行わせてもよい。紐付ウィンドウ53は、カテゴリが選択されていない状態で紐付ボタン516がクリックされると表示され、カテゴリ一覧領域531、ツリー領域532、登録ボタン533、クローズボタン534、および解除ボタン535などによって構成される。
カテゴリ一覧領域531には、商品カテゴリデータ記憶部203(図4参照)に記憶されているカテゴリデータ6Aそれぞれに示されるカテゴリ名が配置されている。紐付けたい2つのカテゴリそれぞれのカテゴリ名がツリー領域532に未だ配置されていなければ、管理者は、そのカテゴリ名をカテゴリ一覧領域531の中からドラッグアンドドロップすることによってツリー領域532へコピーする。そして、包含関係を有する2つのカテゴリそれぞれのカテゴリ名をツリー領域532の中からクリックして選択し、登録ボタン533をクリックする。ただし、登録ボタン533をクリックする前に、ツリー領域532において、包含する側のカテゴリのカテゴリ名を、包含される側のカテゴリのカテゴリ名よりも左に配置しておかなければならない。
すると、カテゴリ紐付部214は、左側のカテゴリのカテゴリコードが親コードとして示され右側のカテゴリのカテゴリコードが子コードとして示されるデータを生成し、紐付データ6Bとして紐付データ記憶部204に記憶させる。さらに、両カテゴリのカテゴリ名を結ぶリンク536をツリー領域532に追記した状態に紐付ウィンドウ53を更新し、管理者端末装置3Aに表示させる。
なお、上述の通り、管理者は新たなカテゴリのカテゴリデータ6Aを商品カテゴリデータ記憶部203へ追加する作業をマッピングページ51で行ったが、カテゴリ一覧領域531またはツリー領域532でも行えるようにしてもよい。
例えば、管理者がツリー領域532の中の余白をクリックすると、商品カテゴリ登録部213は、カテゴリコードおよびカテゴリ名を入力するためのダイアログボックスを管理者端末装置3Aに表示させる。ここで、管理者がカテゴリコードおよびカテゴリ名を入力すると、商品カテゴリ登録部213は、入力されたカテゴリコードおよびカテゴリ名を示すデータをカテゴリデータ6Aとして商品カテゴリデータ記憶部203に記憶させる。カテゴリコードを、管理者に入力させる代わりに商品カテゴリ登録部213が発行してもよい。さらに、カテゴリ紐付部214は、ツリー領域532の中のクリックされた位置に、そのカテゴリのカテゴリ名を配置する。
クローズボタン534がクリックされると、紐付ウィンドウ53が閉じられマッピングページ51が再び管理者端末装置3Aが現われる。
商品カテゴリ編集部215は、カテゴリデータ6Aの更新または削除の処理を例えば次のように行う。
管理者は、更新したいカテゴリデータ6Aを、マッピングページ51の商品カテゴリ領域514または紐付ウィンドウ53のカテゴリ一覧領域531の中からそのカテゴリデータ6Aのカテゴリ名をダブルクリックすることによって選択する。すると、商品カテゴリ編集部215は、更新用のダイアログボックスを管理者端末装置3Aに表示させる。このダイアログボックスには2つのテキストボックスが備わっており、選択されたカテゴリのカテゴリコードおよびカテゴリ名が初期値として入力されている。ここで、管理者がカテゴリコードまたはカテゴリ名を入力し直すと、入力し直されたカテゴリコードまたはカテゴリ名が管理者端末装置3Aからサーバ2へ通知される。
そして、商品カテゴリ編集部215は、通知されたカテゴリコードまたはカテゴリ名が新たに示されるように、選択されたカテゴリデータ6Aを更新する。
または、管理者は、削除したいカテゴリデータ6Aを、商品カテゴリ領域514の中からそのカテゴリデータ6Aのカテゴリ名をクリックすることによって選択し、削除ボタン517をクリックする。すると、商品カテゴリ編集部215は、選択されたカテゴリデータ6Aを商品カテゴリデータ記憶部203から削除する。
紐付解除部216は、2つのカテゴリの紐付けを解除する処理を例えば次のように行う。管理者は、紐付ウィンドウ53のツリー領域532の中から、紐付けを解除したいペアのリンク536をクリックすることによって選択し、解除ボタン535をクリックする。すると、紐付解除部216は、クリックされたリンク536に対応する紐付データ6Bを紐付データ記憶部204(図5参照)から削除する。
また、あるカテゴリデータ6Aが商品カテゴリ編集部215によって削除された際に、紐付解除部216は、このカテゴリデータ6Aに示されるカテゴリコードを親コードまたは子コードとして示す紐付データ6Bを紐付データ記憶部204から削除する。
棚登録部217は、店舗Xに設置される棚ごとの棚データ6Cを棚データ記憶部205(図6参照)へ登録する処理を例えば次のように行う。
マッピングページ51の右端には、水平面の形状に応じた棚アイコン518が複数、並べられている。
管理者は、登録したい棚の水平面の形状に応じた棚アイコン518を、フロアマップ55の中の、その棚の設置位置に対応する位置にドラッグアンドドロップする。例えば、登録したい棚の水平面の形状が正方形であり、その棚が工具売場(工具コーナー)の特定の位置に設置され、その特定の位置がフロアマップ55の中の位置55aに対応している場合は、図14(A)のように棚アイコン518aを位置55aにドラッグアンドドロップする。なお、同一の形状に対応する棚アイコン518がない場合は、最も近い形状に対応する棚アイコン518をドラッグアンドドロップすればよい。
すると、棚登録部217は、図14(B)に示すように、その棚を表わすフレーム56を位置55aに配置するとともに、その棚の名称(棚名)などを入力するためのダイアログボックスを管理者端末装置3Aに表示させる。管理者は、ダイアログボックスにその棚の棚名を入力するとともに、そのフレーム56の頂点をドラッグアンドドロップすることによって、その棚のサイズ、位置、および水平面の形状に合わせてそのフレーム56のサイズ、位置、および形状を調整する。
棚名が入力され、そのフレーム56のサイズ、位置、および形状が調整されると、棚登録部217は、ユニークな棚コードを発行する。そして、発行した棚コード、入力された棚名、およびそのフレーム56の各頂点の座標を示すデータを生成し、棚データ6Cとして棚データ記憶部205へ記憶させる。なお、これらの頂点によって、棚のサイズ、位置、および水平面の形状を特定することができる。
さらに、その棚に陳列される商品のカテゴリのカテゴリコードをダイアログボックスに任意に入力してもよい。この場合は、棚登録部217は、入力された棚名およびカテゴリコードが示されるデータを生成し、棚データ6Cとして棚データ記憶部205へ記憶させる。または、カテゴリコードの代わりにカテゴリ名を入力できるようにしてもよい。この場合は、棚登録部217は、入力されたカテゴリ名に対応するカテゴリコードをカテゴリデータ6Aに基づいて特定し、入力された棚名および特定したカテゴリコードを示すデータを生成し、棚データ6Cとして棚データ記憶部205へ記憶させる。
また、棚アイコン518それぞれには初期の形状が記されており、フレーム56それぞれの初期の形状は、そのフレーム56を配置するためにドラッグアンドドロップされる棚アイコン518の形状と同じである。
各棚についてこのような作業および処理が行われることによって、図15(A)に示すように各棚のフレーム56(56a、56b、…)がフロアマップ55に追加され、各棚がフロアマップ55の中のそれぞれが設置される位置に対応付けられる。つまり、各棚がフロアマップ55にマッピングされる。
また、管理者は、ある棚とその棚に陳列される商品のカテゴリとの対応付けを、その棚のマッピングの後に、そのカテゴリのカテゴリ名をフロアマップ55の中のその棚のフレーム56の中へドラッグアンドドロップすることによって行うこともできる。例えば、フレーム56cの棚に測定器が陳列されている場合は、管理者は、図15(B)のように、商品カテゴリ領域514の中の「ドリル」というカテゴリ名をフレーム56cの中へドラッグアンドドロップする。
すると、棚更新部218は、ドロップ先のフレーム56に対応する棚の棚データ6Cにそのカテゴリ名に対応するカテゴリコードを追記する。なお、管理者は、複数のカテゴリ名を纏めてドラッグアンドドロップしてもよい。この場合に、棚更新部218は、各カテゴリ名に対応するカテゴリコードをその棚データ6Cに追記する。
また、あるフレーム56を管理者がダブルクリックすると、棚更新部218は、更新用のダイアログボックスを管理者端末装置3Aに表示させる。このダイアログボックスには3つのテキストボックスが備わっており、そのフレーム56に対応する棚の棚データ6Cに示される棚コード、棚名、およびカテゴリコードが初期値として入力されている。ここで、管理者が棚コード、棚名、またはカテゴリコードを入力し直すと、入力し直された棚コード、棚名、またはカテゴリコードが管理者端末装置3Aからサーバ2へ通知される。
そして、棚更新部218は、通知された棚コード、棚名、またはカテゴリコードが新たに示されるように、その棚データ6Cを更新する。
また、管理者がそのフレーム56をフロアマップ55の中でドラッグアンドドロップすることによって移動させると、棚更新部218は、そのフレーム56の各頂点の座標が移動先の位置を指すようにその棚データ6Cを更新する。さらに、マッピングページ送信部211は、そのフレーム56がその位置へ移動した状態にマッピングページ51を更新し、管理者端末装置3Aに表示させる。
また、管理者は、フロアマップ55における複数の棚の位置を纏めて変更したい場合がある。このような場合は、これらの棚を予めグループ化しておく必要がある。グループ登録部219は、グループ化の処理を例えば次のように行う。
管理者は、グループ化したい複数の棚を、それぞれのフレーム56をクリックすることによって選択し、グループ化ボタン519をクリックする。
すると、グループ登録部219は、ユニークなグループコードを発行し、発行したグループコードおよび選択された複数の棚それぞれの棚コードを示すデータを生成する。そして、このデータをグループデータ6Fとしてグループデータ記憶部207に記憶させる。
管理者がこれらのフレーム56のうちのいずれかをドラッグアンドドロップすることによって移動させると、棚更新部218は、これらのフレーム56それぞれの各頂点の座標が移動先の位置を指すように、これらの棚それぞれの棚データ6Cを更新する。さらに、マッピングページ送信部211は、これらのフレーム56がその位置へ移動した状態にマッピングページ51を更新し、管理者端末装置3Aに表示させる。
また、グループ解除部220は、グループが選択されグループ解除ボタン520がクリックされると、そのグループのグループデータ6Fをグループデータ記憶部207から削除する。これにより、グループ化が解除される。なお、グループの選択は、そのグループに属するいずれかの棚のフレーム56をクリックすることによって行われる。
以上の作業および処理によって、案内のための準備が完了する。管理者は、案内の開始後においても適宜、新たな棚の追加、既存の棚の移動もしくは撤去、既存の棚に陳列される商品のカテゴリの変更、新たなカテゴリの追加、既存のカテゴリの変更もしくは廃止、2つのカテゴリ同士の関係の変更、グループに属する棚の変更、フロアのレイアウトの変更、または透過率の変更などに対処するために、上記の作業を行うことによって商品カテゴリデータ記憶部203、紐付データ記憶部204、棚データ記憶部205、背景画像データ記憶部206、およびグループデータ記憶部207をメンテナンスする。
なお、マッピングページ送信部211は、紐付データ記憶部204(図5参照)に記憶される紐付データ6Bに基づいて、図16のように各カテゴリ名をカテゴリ同士の包含関係を表わす木構造に配置した状態でマッピングページ51を管理者端末装置3Aに表示させてもよい。または、カテゴリ名を文字順(50音順またはアルファベット順)に配置した状態で表示させてもよい。または、木構造または文字順のどちらで表示させるのかを管理者が任意に選択し、管理者の選択に応じた状態で表示させてもよい。木構造に配置した場合において、管理者は、階層の深さを問わず、いずれの階層のカテゴリのカテゴリ名をフレーム56の中へドラッグアンドドロップしてもよい。
〔案内〕
図17は、商品位置案内部202の構成の例を示す図である。図18は、初期における検索ページ54の状態の例を示す図である。図19は、商品位置検索処理の流れの例を説明するフローチャートである。図20は、検索後の検索ページ54の状態の例を示す図である。
準備の完了後、商品の陳列されている位置の案内がサーバ2および来店者端末装置3Bによって次のように行われる。
サーバ2の商品位置案内部202(図3参照)は、図17に示すように検索ページ送信部231、音声認識部232、画像認識部233、および陳列棚検索部234などによって構成され、来店者の来店者端末装置3Bからの問合せに応じて、商品の陳列されている位置を回答する。
以下、店舗Xの来店者が自分のスマートフォンを来店者端末装置3Bとして使用して商品の位置を問い合わせる場合を例に説明する。
来店者が来店者端末装置3Bのウェブブラウザで店舗Xの所定のURLを入力すると、来店者端末装置3Bは、サーバ2へアクセスし、検索ページを要求する。なお、このURLを表わすQR(Quick Response)コードを店舗Xの様々な場所に掲示しておき、このQRコードを撮影することによってこのURLを入力できるようにしてもよい。なお、QRコードは、登録商標である。
検索ページ送信部231は、来店者端末装置3Bからの要求を受けると、図18に示すような検索ページ54を表示するためのデータを来店者端末装置3Bへ送信する。検索ページ54は、来店者がサーバ2に商品の位置を検索させるためのページである。以下、位置の検索の対象である商品を「対象商品」と記載する。
検索ページ54は、テキストボックス541、音声ボタン542、カメラボタン543、写真ボタン544、およびマップ領域545などによって構成される。
テキストボックス541、音声ボタン542、カメラボタン543、および写真ボタン544は、位置をサーバ2に検索させる商品のカテゴリを入力するためのオブジェクトである。使い方は、後に順次、説明する。
マップ領域545には、フロアマップ55が配置される。検索ページ送信部231は、フロアマップ55を、背景画像データ記憶部206に記憶されている画像データ6Dに基づいて生成する。この際に、フロアマップ55を、背景画像データ記憶部206に記憶されている透過率データ6Eに示される透過率Rtだけ透過させる。
来店者は、対象商品のカテゴリのカテゴリ名を知っている場合は、テキストボックス541にそのカテゴリ名を入力する。すると、来店者端末装置3Bは、入力されたカテゴリ名を示すテキストデータ6Gをサーバ2へ通知する。または、来店者は、音声ボタン542をタップした後、来店者端末装置3Bに向かってカテゴリ名を発声する。すると、来店者端末装置3Bは、来店者の音声を音声データ6Hに変換しサーバ2へ送信する。
一方、カテゴリ名を知らない場合は、対象商品が近くにあれば、カメラボタン543をタップした後、来店者端末装置3Bで対象商品を撮影する。または、対象商品の写真が来店者端末装置3Bのアルバムフォルダに保存されていれば、写真ボタン544をタップしてアルバムフォルダを表示させ、アルバムフォルダからこの写真を選択する。すると、来店者端末装置3Bは、撮影した対象商品の画像データまたはアルバムフォルダから選択された写真の画像データを画像データ6Jとしてサーバ2へ送信する。なお、来店者は、対象商品とカテゴリが同じである別の商品を撮影し、または、この商品の写真を選択してもよい。来店者は、カテゴリ名を知っている場合であっても、このように作業を行い、画像データ6Jをサーバ2へ送信させてもよい。
サーバ2において、来店者端末装置3Bからデータが送信されてくると、そのデータの種類に応じて次のように処理が実行される。
音声認識部232は、来店者端末装置3Bから音声データ6Hが送信されてきた場合に、音声データ6Hに対して音声認識処理を施すことによって、来店者の発した言葉を認識し、テキスト化する。これにより、来店者が発したカテゴリ名が特定される。音声認識処理は、公知の音声認識技術によって行えばよい。
画像認識部233は、来店者端末装置3Bから画像データ6Jが送信されてきた場合に、画像データ6Jに対して画像認識処理を施すことによって、画像データ6Jに示される物体を認識する。これにより、来店者が撮影しまたは選択した写真に写っている商品のカテゴリのカテゴリ名が特定される。画像認識処理は、公知の画像認識技術によって行えばよい。
陳列棚検索部234は、テキストデータ6Gに示され、音声認識部232によって特定され、または画像認識部233によって特定されたカテゴリ名のカテゴリ(以下、「被検索カテゴリ」と記載する。)の商品が陳列されている棚の棚コードを、図19に示す手順で特定する。
陳列棚検索部234は、被検索カテゴリのカテゴリ名に対応するカテゴリコードを、商品カテゴリデータ記憶部203(図4参照)に記憶されているカテゴリデータ6Aに基づいて特定し(図19の#701)、特定したカテゴリコードを注目コードに設定する(#702)。
さらに、陳列棚検索部234は、注目コードをカテゴリコードとして示す棚データ6Cを棚データ記憶部205(図6参照)から検索する(#703)。
そのような棚データ6Cが見つかった場合は(#704でYes)、陳列棚検索部234は、見つかった棚データ6Cに示される棚コードを、被検索カテゴリの商品が陳列されている棚の棚コードとして選出する(#708)。なお、そのような棚データ6Cが複数見つかった場合は、見つかった棚データ6Cごとにステップ#708以降の処理を実行する。
そのような棚データ6Cが見つからなかった場合は(#704でNo)、陳列棚検索部234は、注目コードを子コードとして示す紐付データ6Bを紐付データ記憶部204(図5参照)から検索する(#705)。そのような紐付データ6Bが見つかった場合は(#706でYes)、見つかった紐付データ6Bに示される親コードを注目コードに設定し直す(#707)。そして、ステップ#703に戻って、注目コードをカテゴリコードとして示す棚データ6Cを検索する。
つまり、陳列棚検索部234は、被検索カテゴリよりも1つ上のカテゴリのカテゴリコードを示す棚データ6Cを検索する。見つからなかった場合は、さらに1つ上位のカテゴリのカテゴリコードを示す棚データ6Cを検索する。
このように、ステップ#702〜#708の処理によると、被検索カテゴリがそのまま対応付けられている棚または被検索カテゴリを包含するカテゴリが対応付けられている棚が検索される。
一方、注目コードを子コードとして示す紐付データ6Bがステップ#705において見つからなかった場合は(#706でNo)、陳列棚検索部234は、被検索カテゴリに包含されるカテゴリすなわち被検索カテゴリよりも下位のカテゴリが対応付けられている棚を次のように検索する。
陳列棚検索部234は、ステップ#701で特定したカテゴリコードを注目コードに設定し直し(#709)、注目コードを親コードとして示す紐付データ6Bを検索する(#710)。
そのような紐付データ6Bが見つかった場合は(#711でYes)、陳列棚検索部234は、見つかった紐付データ6Bに示される子コードを注目コードに設定し直す(#712)。そして、注目コードをカテゴリコードとして示す棚データ6Cを検索する(#713)。
そのような棚データ6Cが見つかった場合は(#714でYes)、陳列棚検索部234は、棚データ6Cに示される棚コードを、被検索カテゴリの商品が陳列されている棚の棚コードとして選出する(#715)。
見つからなかった場合は(#714でNo)、ステップ#710に戻って、注目コードを親コードとして示す紐付データ6Bを検索し、見つかったら(#711でYes)、その紐付データ6Bに示される子コードを注目コードに設定し直し(#712)、その注目コードをカテゴリコードとして示す棚データ6Cを検索する(#713)。つまり、1つ下位のカテゴリのカテゴリコードを示す棚データ6Cを検索する。
注目コードを親コードとして示す紐付データ6Bが見つからなかった場合は(#711でNo)、陳列棚検索部234は、処理を終了する。
ステップ#708または#715で選出された棚コードが、被検索カテゴリの商品が陳列されている棚の棚コードである。このように、陳列棚検索部234は、被検索カテゴリのカテゴリコード、被検索カテゴリよりも上位のカテゴリのカテゴリコード、または被検索カテゴリよりも下位のカテゴリのカテゴリコードを示す棚データ6Cを検索することによって、被検索カテゴリの商品が陳列されている棚の棚コードを特定する。
なお、ステップ#710において紐付データ6Bが複数見つかる場合がある。この場合は、陳列棚検索部234は、ステップ#712以降の処理を、見つかった紐付データ6Bごとに実行する。
検索ページ送信部231は、被検索カテゴリの商品が陳列されている棚の棚コードが陳列棚検索部234によって特定されると、被検索カテゴリの商品が陳列されている棚が示されるように検索ページ54を更新して来店者端末装置3Bに表示させる。
具体的には、検索ページ送信部231は、特定された棚コード(図19のステップ#708または#715で選出された棚コード)を示す棚データ6Cを棚データ記憶部205から読み出す。そして、図20(A)のように、検索ページ54のフロアマップ55の中の、読み出した棚データ6Cに示される座標の位置にマーク57を追記する。特定された棚コードが複数ある場合は、それぞれの棚データ6Cを読み出し、図20(B)のように、それぞれの棚データ6Cに示される座標の位置にマーク57を追記する。
図21は、商品位置回答プログラム20による全体的な処理の流れの例を説明するフローチャートである。図22〜図23は、準備処理の流れの例を説明するフローチャートである。図24は、案内処理の流れの例を説明するフローチャートである。
次に、サーバ2の全体的な処理の流れを、フローチャートを参照しながら説明する。サーバ2は、商品位置回答プログラム20に従って図21に示す手順で処理を実行する。
サーバ2は、管理者が管理者端末装置3Aに対して操作を行った場合に(図21の#11でYes)、図22〜図23に示すように案内の準備またはメンテナンスの処理を実行する(#12)。
管理者がマッピングページのURLを管理者端末装置3Aに入力することによってマッピングページを要求した場合は(図22の#721でYes)、サーバ2は、マッピングページ51(図9、図10、図12参照)を管理者端末装置3Aに表示させる(#722)。
管理者がマッピングページ51の背景登録ボタン512をクリックした場合は(#723でYes)、サーバ2は、画像データを指定するためのダイアログボックスを管理者端末装置3Aに表示させる(#724)。管理者によって指定された画像データを管理者端末装置3Aから受信し画像データ6Dとして記憶するとともに、透過率データ6Eを生成し記憶する(#725)。そして、背景領域511に、透過率データ6Eに示される透過率Rtで、画像データ6Dを用いてフロアマップ55を表示させる(#726)。
または、管理者が透過率バー513をスライドさせて移動させた場合は(#727でYes)、サーバ2は、透過率Rtが透過率バー513の移動後の位置に応じた値になるように透過率データ6Eを更新する(#728)。
または、管理者が追加ボタン515をクリックした場合は(#729でYes)、サーバ2は、商品のカテゴリの登録用のダイアログボックスを管理者端末装置3Aに表示させる(#730)。そして、管理者がカテゴリコードまたはカテゴリ名を入力すると、入力されたカテゴリコードまたはカテゴリ名を示すカテゴリデータ6Aを生成し記憶するとともに(#731)、入力されたカテゴリ名を商品カテゴリ領域514に追記する(#732)。
または、管理者が、包含関係を有する2つのカテゴリを選択し紐付ボタン516をクリックした場合は(#733でYes)、サーバ2は、両カテゴリのカテゴリコードを示す紐付データ6Bを生成し記憶する(#734)。なお、カテゴリが選択されていない状態で紐付ボタン516がクリックされた場合は、サーバ2は、紐付ウィンドウ53(図13参照)を管理者端末装置3Aに表示させる。管理者は、紐付ウィンドウ53においても、カテゴリデータ6Aまたは紐付データ6Bをサーバ2に生成させ記憶させることができる。
または、管理者が紐付ウィンドウ53においてリンク536を選択し解除ボタン535をクリックした場合は(#735でYes)、サーバ2は、そのリンク536に係る紐付データ6Bを削除する(#736)。
または、管理者がカテゴリ名をダブルクリックした場合は(#737でYes)、サーバ2は、更新用のダイアログボックスを管理者端末装置3Aに表示させる(#738)。そして、ユーザが入力した内容が反映されるように、そのカテゴリ名に係るカテゴリデータ6Aを更新する(#739)。
または、管理者がカテゴリ名をクリックし削除ボタン517をクリックした場合は(#740でYes)サーバ2は、そのカテゴリ名を示すカテゴリデータ6Aを削除する(#741)。この際に、そのカテゴリ名に対応するカテゴリコードを示す紐付データ6Bも削除する。
または、管理者が棚アイコン518をフロアマップ55へドラッグアンドドロップした場合は(図23の#742でYes)、サーバ2は、棚の登録用のダイアログボックスおよびその棚アイコン518に対応するフレーム56を管理者端末装置3Aに表示させる(#743)。そして、管理者が棚名などを入力し、そのフレーム56のサイズ、位置、および形状を適宜調整すると、サーバ2は、入力されまたは調整された内容に応じて棚データ6Cを生成し記憶する(#744)。
または、管理者が複数の棚を選択しグループ化ボタン519をクリックした場合は(#745でYes)、サーバ2は、これらの棚をメンバとするグループのグループデータ6Fを生成し記憶する(#746)。
または、管理者が、グループを構成する複数の棚のいずれかを選択しグループ解除ボタン520をクリックした場合は(#747でYes)、サーバ2は、これらの棚のグループのグループデータ6Fを削除する(#748)。
または、管理者がカテゴリ名をフレーム56の中へドラッグアンドドロップした場合は(#749でYes)、サーバ2は、そのカテゴリ名に対応するカテゴリコードを、そのフレーム56に対応する棚の棚データ6Cへ追記する(#750)。
または、管理者がフレーム56をダブルクリックした場合は(#751でYes)、サーバ2は、棚の更新用のダイアログボックスを管理者端末装置3Aに表示させる(#752)。そして、管理者が入力した内容が反映されるように、そのフレーム56に対応する棚の棚データ6Cを更新する(#753)。
または、管理者がフレーム56をフロアマップ55の上でドラッグアンドドロップして移動させた場合は(#754でYes)、サーバ2は、そのフレーム56の頂点が、移動先の位置を示すように、そのフレーム56に対応する棚の棚データ6Cを更新する(#755)。なお、そのフレーム56に係る棚が他の棚とともにグループ化されていれば、当該他の棚のフレーム56も一緒に移動させられる。つまり、サーバ2は、当該他の棚の棚データ6Cを、それぞれの頂点が移動先の位置を示すように更新する。
図21に戻って、来店者が来店者端末装置3Bに対して操作を行った場合に(#13でYes)、図24に示すように案内の処理を実行する。
来店者が検索ページのURLを来店者端末装置3Bに入力することによって検索ページを要求し場合は(図24の#761でYes)、サーバ2は、検索ページ54(図18参照)を来店者端末装置3Bに表示させる(#762)。
来店者が入力を行うと(#763でYes)、サーバ2は、入力方法に応じて次のように処理を行う。来店者が音声ボタン542をタップして商品のカテゴリ名を発声すると(#764でYes)、音声データ6Hを来店者端末装置3Bから受信し、音声データ6Hに対して音声認識処理を行う(#765)。これにより、カテゴリ名のテキストデータが得られる。または、来店者がカメラボタン543または写真ボタン544をタップして商品の画像データを来店者端末装置3Bに生成させまたは来店者端末装置3Bに指定すると(#766でYes)、この画像データを画像データ6Jとして来店者端末装置3Bから受信し、画像データ6Jに対して画像認識処理を行う(#767)。これにより、カテゴリ名のテキストデータが得られる。なお、テキストボックス541にカテゴリ名が入力された場合は、音声認識処理も画像認識処理も実行されない。
サーバ2は、テキストボックス541に入力されたカテゴリ名、ステップ#765または#767で得られたテキストデータ(カテゴリ名)に基づいて、そのカテゴリ名のカテゴリの商品の位置を検索する(#768)。検索の方法は、前に図19で説明した通りである。
そして、サーバ2は、図20のように、フロアマップ55上の、検索された位置にフレーム56を表示させる(#769)。
図21に戻って、サーバ2は、商品位置回答プログラム20の実行中(#15でNo)、管理者または来店者が管理者端末装置3Aまたは来店者端末装置3Bを操作するごとに、適宜、ステップ#11の処理またはステップ#13の処理を実行する。
第一の実施形態によると、商業施設の中を案内するシステムを従来よりも簡単に構築することができる。具体的には、管理者は、既存のウェブサイトまたはパンフレットからフロアマップを取得し、このフロアマップ(フロアマップ55)の上に商品のカテゴリをマッピングすればよいので、従来よりも負担が軽減される。
さらに、第一の実施形態によると、来店者は、カテゴリ(品目)の概念の大小を気にすることなく、所望する商品のカテゴリのカテゴリ名を入力すればよい。よって、従来よりも簡単に所望する商品の位置を検索することができる。また、音声または写真を入力することによって、従来よりも簡便に検索することができる。
さらに、第一の実施形態によると、2つのカテゴリ同士の包含関係を管理者が自由に決めることができるので、各商品の位置の設定を従来よりも柔軟に行うことができる。
第一の実施形態では、店舗Xがフロアを1つだけ有する場合を例に説明したが、複数有する場合にも、商品位置案内システム1を使用することができる。この場合は、フロアごとに棚データ記憶部205(図6参照)、背景画像データ記憶部206、およびグループデータ記憶部207(図7参照)をサーバ2に用意し、サーバ2は、フロアごとに棚を管理すればよい。または、フロアごとに識別子を定義しておき、各棚の位置の座標を3次元座標で表わすことによって、各棚を管理してもよい。
そして、サーバ2は、来店者がテキスト、音声、または画像によってカテゴリ名を来店者端末装置3Bに入力すると、そのカテゴリ名のカテゴリの商品の位置を検索する。そして、見つかった位置のあるフロアのフロアマップ55を検索ページ54(図20参照)のマップ領域545に配置した状態で検索結果を来店者端末装置3Bに表示させればよい。
第一の実施形態では、例えば「文房具」、「筆記用具」、「鉛筆」などのようなカテゴリ名を示すデータをカテゴリデータ6Aとして用意したが、さらに、メーカまたは販売会社が付けた商品名を示すデータをカテゴリデータ6Aとして用意してもよい。例えば、「頭脳明晰ペンシル」という商品名の商品の鉛筆を店舗Xが販売している場合は、この商品名をカテゴリコードとともに示すカテゴリデータ6Aを用意しておく。そして、この商品のカテゴリコードを子コードとして示し鉛筆のカテゴリコードを親コードとして示す紐付データ6B(図5参照)を用意しておく。棚の棚データ6Cとして、その棚に陳列される商品のカテゴリコードがさらに示されるデータを生成してもよい。
また、あるカテゴリが上位の複数のカテゴリに属するように取り扱うほうが店舗Xにとって好ましいことがある。例えば、「洗剤」は、「ペット用品」にも「車用品」にも属するように取り扱うほうが好ましいことがある。そこで、あるカテゴリが上位の複数のカテゴリに属するように、紐付データ6Bを用意してもよい。
すると、あるカテゴリコードが複数の紐付データ6Bにおいて子コードとして示されるので、図19のステップ#705における検索の結果、複数の紐付データ6Bが見つかることがある。この場合は、サーバ2は、見つかった紐付データ6Bそれぞれについて、ステップ#707以降の処理を実行する。後述する第二の実施形態においても同様である。
第一の実施形態では、管理者は、カテゴリデータ6A、紐付データ6B、グループデータ6Fを削除することができたが、さらに棚データ6Cをも削除することができるようにサーバ2を構成してもよい。例えば、フレーム56(図15参照)が選択されデリートキーが押されたら、サーバ2は、選択されたフレーム56に対応する棚データ6Cを削除する。または、削除のコマンドを与えるためのボタンをマッピングページ51(図12参照)に設けておき、このボタンがクリックされたら削除してもよい。
第一の実施形態では、管理者は、棚アイコン518をフロアマップ55へドラッグアンドドロップすることによって、新たな棚のフレーム56をフロアマップ55へ配置したが、既存の他の棚のフレーム56をコピーすることによって配置できるようにサーバ2を構成してもよい。この場合は、コピーのコマンドを与えるためのボタンをマッピングページ51に設けておき、このボタンがクリックされたらコピーすればよい。
マッピングページ51のあるオブジェクトに管理者がカーソルを合わせて右クリックすると、サーバ2は、そのオブジェクトについて実行可能な処理のコマンドを並べて来店者端末装置3Bにメニューとして表示させ、選択されたコマンドに対応する処理を実行してもよい。例えば、フレーム56の上で管理者が右クリックすると、棚のグループ化、グループの解除、コピー、および削除などのコマンドを並べて表示させてもよい。
〔第二の実施形態〕
第一の実施形態では、管理者は、棚データ6C(図6参照)を生成する際に、GIF、JPEG、またはPNGなどのフォーマットの画像データをフロアマップ55のデータとして管理者端末装置3Aに用意した。そして、棚(ゴンドラ)ごとに、その棚を表わすフレーム56をフロアマップ55上のその棚に対応する位置に配置してサイズおよび形状などを調整し、陳列される商品に関する情報を指定した(図14〜図15参照)。
第二の実施形態では、管理者は、このような画像データの代わりにスプレッドシートのデータなどを管理者端末装置3Aに用意する。第二の実施形態によると、フレーム56の配置および調整などを行うことなく、棚データ6Cを商品位置案内システム1に生成させることができる。以下、この仕組みについて説明する。なお、第一の実施形態と重複する点は、説明を省略する。
〔準備〕
図25は、第二の実施形態におけるサーバ2の機能的構成の例を示す図である。図26は、店舗データ管理部271の例を示す図である。図27は、スプレッドシート58の全体の例を示す図である。図28は、スプレッドシート58の一部分の拡大図である。図29は、フロアマップ59の例を示す図である。図30は、一覧データ6Pの例を示す図である。図31は、カテゴリデータ6Aの例を示す図である。図32は、紐付データ6Bの例を示す図である。図33は、棚データ6Cの例を示す図である。
サーバ2には、商品位置回答プログラム20(図3参照)の代わりに商品位置回答プログラム27がインストールされている。商品位置回答プログラム27によると、図25に示す店舗データ管理部271、商品位置案内部272、商品カテゴリデータ記憶部273、紐付データ記憶部274、棚データ記憶部275、およびフロアマップデータ記憶部276などの機能が実現される。
商品カテゴリデータ記憶部273には、商品カテゴリデータ記憶部203(図4参照)と同様、カテゴリデータ6Aが記憶される。紐付データ記憶部274には、紐付データ記憶部204(図5参照)と同様、紐付データ6Bが記憶される。棚データ記憶部275には、棚データ記憶部205(図6参照)と同様、棚データ6Cが記憶される。フロアマップデータ記憶部276には、フロアマップなどのデータが記憶される。
店舗データ管理部271は、図26に示すように、棚検出部281、フロアマップ生成部282、商品カテゴリ登録部283、カテゴリ紐付部284、および棚登録部285などによって構成される。
管理者は、図27または図28に示すようなスプレッドシート58のデータを管理者端末装置3Aに用意する。スプレッドシート58は、例えば、マイクロソフト社のEXCELまたはアップル社のNumbersなどの表計算アプリケーションによって次のように作成されたものである。
作成者は、スプレッドシート58を構成する各セルを、同じサイズの正方形になるように調整する。縮尺率、すなわち、各セルがフロアのどれだけの面積に対応するのかを定める。
さらに、作成者は、棚ごとに、その棚の水平面のサイズおよび店舗Xにおける位置に応じて、スプレッドシート58における位置に対応するセルを太枠で囲みかつ所定の色(例えば、灰色)で着色する。そして、フロア全体において棚を識別する識別情報を、その棚のセルに入力する。以下、エリア(売場または区画)ごとに互いを識別する4桁のエリアコードが予め付されており、エリア内の棚ごとに互いを識別する2桁のゴンドラコードが予め付されており、棚の属するエリアのエリアコードと棚のゴンドラコードとを組み合わせたコードが棚の識別情報として用いられる場合を例に説明する。
なお、1つの棚が複数のセルに跨がる場合は、作成者は、これらのセルの集合の全体を太枠で囲み、所定の色で着色する。そして、棚の識別情報を、集合に入力する。
また、サービスカウンタ、化粧室、および出入口など棚以外の設備を適宜、それぞれに対応するセルに指定する。ただし、棚と区別するために、セルには着色しないのが望ましい。または、棚のセルとは異なる色で着色する。管理者がスプレッドシート58を作成してもよい。
そして、管理者は、スプレッドシート58のデータを用意できたら、管理者端末装置3Aからサーバ2へスプレッドシート58のデータを送信させる。
サーバ2において、棚検出部281は、スプレッドシート58のデータを管理者端末装置3Aから受信すると、各棚の位置および識別情報を例えば次のように検出する。
棚検出部281は、そのデータに示される、各セルの高さ、幅、罫線、および色(背景色)などに基づいて棚の位置を検出する。
具体的には、棚検出部281は、所定の色で着色されかつ太枠で囲まれた1つのセル、または、所定の色で着色されかつ太枠で一緒に囲まれた複数のセルを、棚領域として検出する。棚領域の左端からスプレッドシート58の左端までの距離Dx、棚領域の上端からスプレッドシート58の上端までの距離Dy、棚領域の幅Lx、および棚領域の高さLyを算出する。そして、点(Dx,Dy)、点(Dx+Lx,Dy)、点(Dx,Dy+Ly)、点(Dx+Lx,Dy+Ly)を頂点として有する矩形の領域を棚の位置として検出する。なお、本例では、スプレッドシート58の左上の頂点が原点であり、右方向がX軸方向であり、下方向がY軸方向である。
さらに、棚検出部281は、検出した1つまたは複数のセルに配置されている文字列(本実施形態では、6桁のコード)をスプレッドシート58から棚の識別情報として検出する。
さらに、棚検出部281は、棚以外の設備の位置および名称をスプレッドシート58から検出する。
なお、表計算アプリケーションのフォーマットにサーバ2が対応していないことがある。そこで、管理者端末装置3Aは、スプレッドシート58のデータをXPS(XML Paper Specification)またはPDF(Portable Document Format)などの汎用的なフォーマットのデータに変換してサーバ2へ送信してもよい。この場合も、棚検出部281は、表計算アプリケーションのフォーマットである場合と同様の原理によって棚の位置および識別情報を検出する。
フロアマップ生成部282は、図29に示すようなフロアマップ59を生成し、フロアマップ59の画像データをフロアマップデータ記憶部276に記憶させる。フロアマップ59には、棚それぞれの棚画像が、棚検出部281によって検出された位置に配置される。棚画像は、棚を表わす画像であってフレーム状の画像である。エリアごとに異なる色の棚画像が用いられてもよい。さらに、フロアマップ59には、棚以外の設備を表わす画像(例えば、フレーム状の画像)および名称が、棚検出部281によって検出された位置に配置される。
第一の実施形態では、管理者は、カテゴリデータ6Aおよび紐付データ6Bをマッピングページ51(図12参照)または紐付ウィンドウ53(図13参照)を操作して1つずつ用意したが、図30のような一覧データ6Pがある場合は、次のようにサーバ2に行わせてもよい。
管理者は、一覧データ6Pを管理者端末装置3Aに用意し、管理者端末装置3Aからサーバ2へ送信させる。
ところで、第一の実施形態では、店舗Xで販売される商品のカテゴリ(品目)として、抽象的なものおよび具体的なものが階層的に定義されていたが、第二の実施形態においても同様である。第二の実施形態では、抽象的なもの(上位)から順に「部門」、「ライン」、および「クラス」の3つのレベルのカテゴリが定義されている。つまり、部門が大カテゴリであり、ラインが中カテゴリであり、クラスが小カテゴリである。そして、各商品がいずれかの部門、いずれかのライン、およびいずれかのクラスに分類されている。
一覧データ6Pには、図30のように、クラスが同じ商品のグループごとに、そのクラスのクラスコードおよびクラス名と、そのクラスが属するラインのラインコードおよびライン名と、そのラインが属する部門の部門コードおよび部門名と、そのグループの商品の陳列先の棚が配置されるエリアのエリアコードおよびその棚のゴンドラコードとが示される。
サーバ2において、商品カテゴリ登録部283は、一覧データ6Pを管理者端末装置3Aから受信すると、カテゴリごとにカテゴリデータ6Aを次のように生成し商品カテゴリデータ記憶部273に記憶させる。
商品カテゴリ登録部283は、一覧データ6Pに示される部門ごとにカテゴリコードを新たに発行する。ただし、同一の部門が複数回示されていても、同一の部門について1つだけカテゴリコードを発行する。そして、その部門の部門名をカテゴリ名として示しかつ発行したカテゴリコードを示すデータを生成し、図31のようにカテゴリデータ6Aとして商品カテゴリデータ記憶部273に記憶させる。
同様に、商品カテゴリ登録部283は、一覧データ6Pに示されるラインごとにカテゴリコードを新たに発行する。ただし、同一のラインが複数回示されていても、同一のラインについて1つだけカテゴリコードを発行する。そして、そのラインのライン名をカテゴリ名として示しかつ発行したカテゴリコードを示すデータを生成し、図31のようにカテゴリデータ6Aとして商品カテゴリデータ記憶部273に記憶させる。
同様に、商品カテゴリ登録部283は、一覧データ6Pに示されるクラスごとにカテゴリコードを新たに発行する。ただし、同一のクラスが複数回示されていても、同一のクラスについて1つだけカテゴリコードを発行する。そして、そのクラスのクラス名をカテゴリ名として示しかつ発行したカテゴリコードを示すデータを生成し、図31のようにカテゴリデータ6Aとして商品カテゴリデータ記憶部273に記憶させる。
カテゴリ紐付部284は、一覧データ6Pに示される部門、ライン、およびクラスの中から、包含関係(上下関係)にある部門およびラインすなわち一覧データ6Pにおいて同じレコードに示される部門およびラインを次のように紐付ける。その部門およびラインそれぞれの部門コードおよびラインコードを親コードおよび子コードとして示すデータを生成する。そして、図32(A)のように、紐付データ6Bとして紐付データ記憶部274に記憶させる。
同様に、カテゴリ紐付部284は、包含関係にあるラインおよびクラスを紐付けるために、そのラインおよびクラスそれぞれのラインコードおよびクラスコードを親コードおよび子コードとして示すデータを生成し、紐付データ6Bとして紐付データ記憶部274に記憶させる。
なお、図32(B)のように、部門名およびライン名をそれぞれ親カテゴリおよび子カテゴリとして示すデータを紐付データ6Bとして記憶させ、ライン名およびクラス名をそれぞれ親カテゴリおよび子カテゴリとして示すデータを紐付データ6Bとして記憶させてもよい。
棚登録部285は、棚ごとの棚データ6Cを生成し、図33のように棚データ記憶部275に記憶させる。棚データ6Cの「棚コード」および「座標」は、それぞれ、棚検出部281によって検出された、その棚の識別情報および位置である。「カテゴリコード」は、その棚に陳列される商品のクラスのカテゴリコードであって、商品カテゴリ登録部283によって発行されたものである。カテゴリコードの代わりにカテゴリ名(クラス名)が示されてもよい。
〔案内〕
図34は、商品位置案内部272の例を示す図である。図35は、検索ページ5Aの例を示す図である。図36は、検索後の検索ページ5Aの状態の例を示す図である。
準備の完了後、商品の陳列されている位置の案内がサーバ2および来店者端末装置3Bによって次のように行われる。
サーバ2の商品位置案内部272は、図34に示すように検索ページ送信部291、音声認識部292、画像認識部293、および陳列棚検索部294などによって構成され、来店者の来店者端末装置3Bからの問合せに応じて、商品の陳列されている位置を回答する。
検索ページ送信部291は、第一の実施形態の検索ページ送信部231(図17参照)と同様に、来店者端末装置3Bからの要求を受けると、図35のような検索ページ5Aを表示するためのデータを来店者端末装置3Bへ送信する。
検索ページ5Aは、第一の実施形態の検索ページ54(図18参照)と同様、来店者がサーバ2に商品の位置を検索させるためのページであって、テキストボックス5A1、音声ボタン5A2、カメラボタン5A3、写真ボタン5A4、およびマップ領域5A5などによって構成される。それぞれの役割は、検索ページ54のテキストボックス541、音声ボタン542、カメラボタン543、写真ボタン544、およびマップ領域545と同様である。ただし、マップ領域5A5には、フロアマップデータ記憶部276に記憶されているデータに基づいてフロアマップ59が配置される。一覧データ6Pに基づいて、フロアマップ59の各エリアの位置に、各エリアのエリアコードに対応する部門の部門名を追記してもよい。
来店者端末装置3Bは、第一の実施形態と同様に、来店者の操作に応じてテキストデータ6G、音声データ6H、または画像データ6Jをサーバ2へ送信する。
サーバ2において、音声認識部292は、第一の実施形態の音声認識部232と同様、音声データ6Hに対して音声認識処理を施すことによって、来店者の発した言葉をテキスト化する。これにより、来店者が発したカテゴリ名が特定される。
画像認識部293は、第一の実施形態の画像認識部233と同様、画像データ6Jに示される物体を認識する。これにより、来店者が撮影しまたは選択した写真に写っている商品のカテゴリのカテゴリ名が特定される。
陳列棚検索部294は、第一の実施形態の陳列棚検索部234と同様、テキストデータ6Gに示され、音声認識部232によって特定され、または画像認識部233によって特定されたカテゴリ名のカテゴリ(被検索カテゴリ)の商品が陳列されている棚の棚コードを特定する。特定する手順は、図19の通りである。
検索ページ送信部291は、被検索カテゴリの商品が陳列されている棚の棚コードが陳列棚検索部294によって特定されると、被検索カテゴリの商品が陳列されている棚が示されるように検索ページ5Aを更新して来店者端末装置3Bに表示させる。
具体的には、検索ページ送信部291は、特定された棚コードを示す棚データ6Cを棚データ記憶部275から読み出す。そして、図36(A)のように、検索ページ5Aのフロアマップ59の中の、読み出した棚データ6Cに示される座標の位置にマーク591を追記する。特定された棚コードが複数ある場合は、それぞれの棚データ6Cを読み出し、図36(B)のように、それぞれの棚データ6Cに示される座標の位置にマーク591を追記する。さらに、第一の実施形態と同様、タッチされたマーク591に対応する棚に陳列されている商品のカテゴリのカテゴリ名を、その棚の棚データ6Cに基づいてポップアップ表示させてもよい。
図37は、準備処理の流れの例を説明するフローチャートである。第二の実施形態においても、サーバ2の全体的な処理の流れは、第一の実施形態のものと基本的に同様であって、図21の通りである。ただし、ステップ#12の準備の処理の流れが第一の実施形態と相違し、図37に示す手順で実行される。
サーバ2は、スプレッドシート58(図27、図28参照)のデータを管理者端末装置3Aから受信すると(図37の#781)、各棚の位置および識別情報をスプレッドシート58から検出する(#782)。
サーバ2は、一覧データ6P(図30参照)を受信すると(#783)、一覧データ6Pに基づいてカテゴリデータ6A(図31参照)および紐付データ6B(図32参照)を生成し記憶する(#784、#785)。さらに、一覧データ6Pおよびステップ#782の検出結果に基づいて棚データ6C(図33参照)を生成し記憶する(#786)。
なお、第二の実施形態おいても、第一の実施形態と同様に、透過率データを用意し、透過率データに示される透過率でフロアマップ59を表示するようにサーバ2および管理者端末装置3Aを構成してもよい。または、新たな棚の追加、既存の棚の移動もしくは撤去、既存の棚に陳列される商品のカテゴリの変更、新たなカテゴリの追加、既存のカテゴリの変更もしくは廃止、2つのカテゴリ同士の関係の変更、またはフロアのレイアウトの変更に対処するためにカテゴリデータ6A、紐付データ6B、または棚データ6Cが更新され、削除され、または追加されるようにサーバ2を構成してもよい。または、複数の棚をグループ化し、グループ単位で移動または撤去の処理ができるようにサーバ2を構成してもよい。
第二の実施形態によると、スプレッドシート58および一覧データ6Pがある場合に、商業施設の中を案内するシステムを第一の実施形態よりも簡単に構築することができる。
第二の実施形態において、店舗Xがフロアを複数有する場合は、スプレッドシート58をフロアごとに用意し、サーバ2は、上述の処理を行うことによってフロアごとに棚を管理すればよい。または、フロアごとに識別子を定義しておき、各棚の位置の座標を3次元座標で表わすことによって、各棚を管理してもよい。そして、サーバ2は、来店者が入力したカテゴリ名のカテゴリの商品の位置を検索し、見つかった位置のあるフロアのフロアマップ59を検索ページ5A(図35参照)のマップ領域545に配置した状態で検索結果を来店者端末装置3Bに表示させればよい。
一覧データ6P(図30参照)として、商品ごとの商品名および商品コード(例えば、JAN(Japanese Article Number)コード)と、その商品の属するクラスのクラスコードおよびクラス名と、そのクラスが属するラインのラインコードおよびライン名と、そのラインが属する部門の部門コードおよび部門名と、その商品の陳列先の棚のエリアのエリアコードおよびその棚のゴンドラコードとが示されるデータを用いてもよい。
この場合は、サーバ2は、その商品コードおよびその商品名をそれぞれカテゴリコードおよびカテゴリ名として示すカテゴリデータ6Aを生成し、その商品コードを子コードとして示しそのクラスコードを親コードとして示す紐付データ6Bを生成する。棚の棚データ6Cとして、その棚に陳列される商品のカテゴリコード(商品コード)が示されるデータを生成してもよい。
図38は、方言データ6Rの例を示す図である。ところで、同じ品物であっても方言によって呼び名が異なることがある。例えば、デッキブラシは「ぼうずり」と呼ばれることがある。そこで、図38のような、品物ごとの標準的なカテゴリ名(標準名)および方言でのカテゴリ名(異名)を示す方言データ6Rを用意しておいてもよい。なお、標準名は、いずれかのカテゴリデータ6A(図4、図31参照)に示される。
サーバ2は、図19のステップ#701において被検索カテゴリのカテゴリコードを特定できない場合は、被検索カテゴリのカテゴリ名と一致する異名を方言データ6Rから検索する。そして、その異名が見つかった場合は、その異名に対応する標準名のカテゴリコードを被検索カテゴリのカテゴリコードとして特定し、ステップ#702以降の処理を実行する。ただし、方言データ6Rには、異名ごとに適用フラグが設けられている。サーバ2は、方言データ6Rに示される異名のうち適用フラグが「1」である異名のみを検索対象にしてもよい。これにより、方言データ6Rが全国の方言を網羅したものであっても、店舗Xの所在地に応じた異名に絞って検索を行うことができる。第一の実施形態においても、同様である。
または、サーバ2は、ステップ#701において被検索カテゴリのカテゴリコードを特定できない場合は、被検索カテゴリのカテゴリ名を人工知能によって推論してもよい。例えば、来店者が「トンカチ」と入力した場合に、サーバ2は、トンカチに相当する品物の標準的な名称を人工知能によって推論する。その結果、標準的な名称として「金槌」が得られた場合は、金槌のカテゴリコードを特定する。このような人工知能として、インターネット上で公開されている既存の人工知能を用いればよい。第一の実施形態においても、同様である。
このような人工知能によると、来店者が商品のカテゴリのカテゴリ名の代わりに商品の説明(例えば、「ネジを回すための棒状の道具」のような説明)をテキストまたは音声で入力した場合であっても、サーバ2は、その説明に基づいてカテゴリ名を推論することができる。
店舗Xにおいて、売場ごとに責任者が割り当てられている場合は、各責任者が準備またはメンテナンスのための上述の作業を行ってもよい。また、複数のテナントが集まった商業施設(例えば、ショッピングモール)において商品位置案内システム1を使用する場合は、各テナントのオーナまたは従業員が準備またはメンテナンスのための上述の作業を行ってもよい。
来店者は、商品位置案内システム1を、商品の位置を探すためだけでなく他の目的のために使用することができる。例えば、現在地を知るために、自分の傍にある商品のカテゴリのカテゴリ名を来店者端末装置3Bに入力し、またはその商品を来店者端末装置3Bで撮影してもよい。
サーバ2は、GPS(Global Positioning System)などの既存の位置探索技術によって来店者端末装置3Bの現在地を特定し、検索ページ54のフロアマップ55の上に来店者端末装置3Bの現在地を表示させてもよい。
第一の実施形態では、管理者は、フロアマップ55の画像データを管理者端末装置3Aに予め用意したが、この画像データが店舗Xのウェブサイトに存在する場合は、この画像データのURLを指定してもよい。この場合に、サーバ2は、指定されたURLに基づいてこの画像データをダウンロードし、画像データ6Dとして記憶する。
第一の実施形態および第二の実施形態では、商品が棚に載せられて陳列される場合を例に説明したが、冷蔵庫および自転車などの大型の商品は、棚に載せられずに陳列されることがある。そこで、管理者は、棚以外の陳列用のスペースについても棚と同様に、フレーム56などをフロアマップ55またはスプレッドシート58に配置するなどして棚データ6Cを登録させればよい。
第一の実施形態および第二の実施形態において、店舗Xの従業員が、来店者からの問合せに答えるために、自分のスマートフォンまたはタブレットコンピュータを来店者端末装置3Bとして使用することによって、商品の位置を検索してもよい。または、店舗Xの顧客が、来店前に自宅のパーソナルコンピュータを来店者端末装置3Bとして使用することによって、商品の位置を検索してもよい。
第一の実施形態および第二の実施形態において、または、来店者端末装置3Bと同等の機能を備えるコンピュータを店舗Xのインフォメーションセンタなどに設置し、来店者または従業員が検索のために使用できるようにしてもよい。さらに、このコンピュータにプリンタを接続しておき、検索ページ54を用紙に印刷してもよい。
マーク57、592がタッチされると、サーバ2は、タッチされたマーク57、592に対応する棚に陳列されている商品のカテゴリのカテゴリ名を、その棚の棚データ6Cに基づいて来店者端末装置3Bまたはインフォメーションセンタのコンピュータにポップアップ表示させてもよい。
第一の実施形態では、図3に示した各機能がサーバ2に集約されている場合を例に説明したが、複数のコンピュータに分散されていてもよい。第一のコンピュータに店舗データ管理部201を設け、第二のコンピュータに商品位置案内部202を設け、第三のコンピュータに商品カテゴリデータ記憶部203、紐付データ記憶部204、棚データ記憶部205、背景画像データ記憶部206、およびグループデータ記憶部207を設けてもよい。第二の実施形態においても、同様である。
各データの構成も、種々に変更することができる。例えば、第一の実施形態または第二の実施形態において、棚データ6Cを、棚コードと座標とを示すデータと、棚コードとカテゴリコードとを示すデータとに分けて、物理的に別々の記憶手段によって管理してもよい。ただし、棚データ6Cは、これらの記憶手段の集合によって論理的に一体的に記憶されていると、言える。
または、棚データ6Cにカテゴリコードとして下位のカテゴリ(例えば、第二の実施形態においては、クラス)のカテゴリコードだけでなく、それよりも上位のカテゴリのコード(部門、ライン)のコードも示すようにしてもよい。
その他、商品位置案内システム1、サーバ2、管理者端末装置3A、来店者端末装置3Bの全体または各部の構成、処理の内容、処理の順序、画面の構成、データの構成などは、本発明の趣旨に沿って適宜変更することができる。