(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-12-19
(45)【発行日】2022-12-27
(54)【発明の名称】情報処理システム、情報処理システムの制御方法、サーバ及びサーバの制御プログラム
(51)【国際特許分類】
H04L 67/52 20220101AFI20221220BHJP
G06Q 50/10 20120101ALI20221220BHJP
H04M 3/487 20060101ALI20221220BHJP
H04M 11/00 20060101ALI20221220BHJP
【FI】
H04L67/52
G06Q50/10
H04M3/487
H04M11/00 302
(21)【出願番号】P 2021107799
(22)【出願日】2021-06-29
【審査請求日】2021-06-29
(73)【特許権者】
【識別番号】516123468
【氏名又は名称】株式会社スイッチスマイル
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100153729
【氏名又は名称】森本 有一
(74)【代理人】
【識別番号】100159259
【氏名又は名称】竹本 実
(72)【発明者】
【氏名】長橋 大蔵
【審査官】木村 雅也
(56)【参考文献】
【文献】特開2001-195372(JP,A)
【文献】田中 亮佑,領域グラフと利用者の位置に基づく音声対話シナリオ更新手法,マルチメディア,分散,協調とモバイル(DICOMO2016)シンポジウム論文集 情報処理学会シンポジウムシリーズ Vol.2016 No.1 [CD-ROM] IPSJ Symposium Series,日本,一般社団法人情報処理学会,2016年07月06日,第2016巻,第969頁-第976頁
(58)【調査した分野】(Int.Cl.,DB名)
H04L 67/52
G06Q 50/10
H04M 3/487
H04M 11/00
(57)【特許請求の範囲】
【請求項1】
利用者に携帯される端末装置と、サーバと、を有する情報処理システムであって、
前記端末装置は、
端末通信部と、
前記端末通信部を介して、前記端末装置の位置を示す位置情報を前記サーバに送信する情報送信部と、
前記端末通信部を介して、前記端末装置の利用者と前記サーバとの対話を実行する対話実行部と、
表示部と、を有し、
前記サーバは、
サーバ通信部と、
複数の位置毎に前記端末装置の利用者と前記サーバとの対話で使用されるシナリオを記憶する記憶部と、
前記記憶部に記憶されたシナリオの中から、前記位置情報に示される位置に対応するシナリオを選択するシナリオ選択部と、
前記端末装置の利用者との対話の最初のメッセージである第1メッセージを、前記選択されたシナリオから抽出して前記端末装置に送信し、前記選択されたシナリオに従って、前記サーバ通信部を介して前記端末装置の利用者との対話を処理する対話処理部と、を有
し、
前記対話実行部は、前記第1メッセージを受信して前記表示部に表示する、
ことを特徴とする情報処理システム。
【請求項2】
前記情報送信部は、さらに、前記端末装置又は前記端末装置の利用者を識別するための識別情報を前記サーバに送信し、
前記記憶部は、複数の識別情報毎に利用者属性を記憶するとともに、前記シナリオを前記利用者属性と対応付けて記憶し、
前記シナリオ選択部は、前記位置情報に示される位置に対応付けられたシナリオのうち、前記識別情報と対応付けられた利用者属性に対応するシナリオを選択する、請求項1に記載の情報処理システム。
【請求項3】
前記情報送信部及び前記対話実行部は、SDK(Software Development Kit)により前記端末装置に実装される、請求項1又は2に記載の情報処理システム。
【請求項4】
端末通信部
及び表示部を有し
、利用者に携帯される端末装置と、サーバ通信部及び複数の位置毎に前記端末装置の利用者とサーバとの対話で使用されるシナリオを記憶する記憶部とを有するサーバと、を有する情報処理システムの制御方法であって、
前記端末装置は、前記端末通信部を介して、前記端末装置の位置を示す位置情報を前記サーバに送信し、
前記サーバは、
前記記憶部に記憶されたシナリオの中から、前記位置情報に示される位置に対応するシナリオを選択し、
前記端末装置の利用者との対話の最初のメッセージである第1メッセージを、前記選択されたシナリオから抽出して前記端末装置に送信し、
前記選択されたシナリオに従って、前記サーバ通信部を介して前記端末装置の利用者との対話を処理
し、
前記端末装置は、前記第1メッセージを受信して前記表示部に表示する、
ことを特徴とする情報処理システムの制御方法。
【請求項5】
利用者に携帯される端末装置から、端末装置の位置を示す位置情報を受信するサーバ通信部と、
複数の位置毎に端末装置の利用者との対話で使用されるシナリオを記憶する記憶部と、
前記記憶部に記憶されたシナリオの中から、前記位置情報に示される位置に対応するシナリオを選択するシナリオ選択部と、
前記端末装置の利用者との対話の最初のメッセージである第1メッセージを、前記選択されたシナリオから抽出して前記端末装置に送信し、前記選択されたシナリオに従って、前記サーバ通信部を介して端末装置の利用者との対話を処理する対話処理部と、を有する、
ことを特徴とするサーバ。
【請求項6】
利用者に携帯される端末装置から、端末装置の位置を示す位置情報を受信するサーバ通信部と、複数の位置毎に端末装置の利用者とサーバとの対話で使用されるシナリオを記憶する記憶部と、を有するサーバの制御プログラムであって、
前記記憶部に記憶されたシナリオの中から、前記位置情報に示される位置に対応するシナリオを選択し、
前記端末装置の利用者との対話の最初のメッセージである第1メッセージを、前記選択されたシナリオから抽出して前記端末装置に送信し、
前記選択されたシナリオに従って、前記サーバ通信部を介して端末装置の利用者との対話を処理する、
ことを前記サーバに実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理システムの制御方法、サーバ及びサーバの制御プログラムに関する。
【背景技術】
【0002】
従来、電波を出力するビーコン端末を店舗等に配置し、ビーコン端末が出力する電波を端末装置が受信することにより、端末装置が特定のアプリケーションを実行する情報処理システムが知られている。
【0003】
例えば、特許文献1には、店舗等に配置される電子タグ発信装置が電波を発信する位置情報サービスが開示されている。この位置情報サービスにおいて、携帯情報端末は、電子タグ発信装置が発信する電波を受信すると、受信した電波の強度によって異なるアプリケーションを実行する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
情報処理システムでは、店舗等に訪れた利用者に、利用者が所望する情報を適切に提供することが望まれている。
【0006】
本発明の目的は、利用者が所望する情報を適切に提供することを可能にする情報処理システム、情報処理システムの制御方法、サーバ及びサーバの制御プログラムを提供することにある。
【課題を解決するための手段】
【0007】
かかる課題を解決するため本発明は、利用者に携帯される端末装置と、サーバと、を有する情報処理システムであって、端末装置は、端末通信部と、端末通信部を介して、端末装置の位置を示す位置情報をサーバに送信する情報送信部と、端末通信部を介して、端末装置の利用者とサーバとの対話を実行する対話実行部と、を有し、サーバは、サーバ通信部と、複数の位置毎に端末装置の利用者とサーバとの対話で使用されるシナリオを記憶する記憶部と、記憶部に記憶されたシナリオの中から、位置情報に示される位置に対応するシナリオを選択するシナリオ選択部と、選択されたシナリオに従って、サーバ通信部を介して端末装置の利用者との対話を処理する対話処理部と、を有する、情報処理システムを提供する。
【0008】
この情報処理システムにおいて、情報送信部は、さらに、端末装置又は端末装置の利用者を識別するための識別情報をサーバに送信し、記憶部は、複数の識別情報毎に利用者属性を記憶するとともに、シナリオを利用者属性と対応付けて記憶し、シナリオ選択部は、位置情報に示される位置に対応付けられたシナリオのうち、識別情報と対応付けられた利用者属性に対応するシナリオを選択することが好適である。
【0009】
情報送信部及び対話実行部は、SDK(Software Development Kit)により端末装置に実装されることが好適である。
【0010】
本発明の他の態様によれば、端末通信部を有し利用者に携帯される端末装置と、サーバ通信部及び複数の位置毎に端末装置の利用者とサーバとの対話で使用されるシナリオを記憶する記憶部とを有するサーバと、を有する情報処理システムの制御方法であって、端末装置は、端末通信部を介して、端末装置の位置を示す位置情報をサーバに送信し、サーバは、記憶部に記憶されたシナリオの中から、位置情報に示される位置に対応するシナリオを選択し、選択されたシナリオに従って、サーバ通信部を介して端末装置の利用者との対話を処理する情報処理システムの制御方法を提供する。
【0011】
本発明の他の態様によれば、利用者に携帯される端末装置から、端末装置の位置を示す位置情報を受信するサーバ通信部と、複数の位置毎に端末装置の利用者との対話で使用されるシナリオを記憶する記憶部と、記憶部に記憶されたシナリオの中から、前記位置情報に示される位置に対応するシナリオを選択するシナリオ選択部と、選択されたシナリオに従って、サーバ通信部を介して端末装置の利用者との対話を処理する対話処理部と、を有するサーバを提供する。
【0012】
本発明の他の態様によれば、利用者に携帯される端末装置から、端末装置の位置を示す位置情報を受信するサーバ通信部と、複数の位置毎に端末装置の利用者とサーバとの対話で使用されるシナリオを記憶する記憶部と、を有するサーバの制御プログラムであって、記憶部に記憶されたシナリオの中から、前記位置情報に示される位置に対応するシナリオを選択し、選択されたシナリオに従って、サーバ通信部を介して端末装置の利用者との対話を処理する、ことをサーバに実行させる制御プログラムを提供する。
【発明の効果】
【0013】
本発明に係る情報処理システム、情報処理システムの制御方法、サーバ及びサーバの制御プログラムは、利用者が所望する情報を適切に提供することを可能にする。
【図面の簡単な説明】
【0014】
【
図1】情報処理システム1の全体システム構成を示す図である。
【
図2】(A)は端末テーブルのデータ構造の一例を示す図であり、(B)は位置テーブルのデータ構造の一例を示す図であり、(C)はシナリオテーブルのデータ構造の一例を示す図である。
【
図3】情報処理システム1の動作シーケンスの一例を示す図である。
【発明を実施するための形態】
【0015】
以下、実施形態に係る情報処理システムについて図を参照しつつ説明する。
【0016】
図1は、実施形態に係る情報処理システム1の全体システム構成を示す図である。
【0017】
図1に示すように、情報処理システム1は、複数の位置に配置されるビーコン端末2a、2b、2cと、端末装置3と、第1サーバ4と、第2サーバ5とを有する。端末装置3と、第1サーバ4と、第2サーバ5とは、携帯電話ネットワーク、無線LAN(Local Area Network)、インターネット等を含む通信ネットワーク6を介して接続される。第1サーバ4及び第2サーバ5は、サーバの一例である。
【0018】
ビーコン端末2a、2b、2cは、BLE(Bluetooth Low Energy)等の通信規格に準拠した無線通信端末であり、ビーコン情報を含むビーコン信号を無線により出力する。以下では、ビーコン端末2a、2b、2cをまとめてビーコン端末2と称する場合がある。ビーコン情報は、ビーコンIDを含む。ビーコンIDは、各ビーコン端末の識別子であり、ビーコン端末2がBLEに準拠する場合、例えば、UUID(Universally Unique Identifier)値、Major値及びMinor値を組合せることにより生成される。ビーコン信号の到達距離は、そのビーコン信号を送信したビーコン端末2と受信した端末装置3とが同じ位置にあるとみなせる程度の距離であり、例えば1~10mである。
【0019】
ビーコン端末2は、駅の改札口、タクシーの車内、観光地、店舗の入口、店舗内の棚等に配置される。特に、各ビーコン端末2は、複数の改札口、複数のタクシーの車内、複数の観光地、複数の入り口、複数の棚等にそれぞれ配置される。
【0020】
端末装置3は、例えば利用者に携帯される多機能携帯電話又はタブレット型コンピュータ等であり、無線通信部31と、端末通信部32と、入力部33と、表示部34と、端末記憶部35と、端末処理部36とを有する。
【0021】
無線通信部31は、BLE等の通信規格に準拠した通信インタフェース回路を有する。無線通信部31は、ビーコン端末2が出力する信号を受信し、受信した信号に含まれるデータを端末処理部36に供給する。無線通信部31は、必要に応じて、端末処理部36から供給されたデータをビーコン端末2に送信してもよい。
【0022】
端末通信部32は、携帯電話ネットワーク又は無線LAN(Local Area Network)等の無線通信規格に準拠した無線通信インタフェース回路を有する。端末通信部32は、通信ネットワーク6を介して、第1サーバ4、第2サーバ5等とTCP/IP(Transmission Control Protocol /Internet Protocol)等の通信方式により通信を行う。端末通信部32は、第1サーバ4、第2サーバ5等から受信したデータを端末処理部36に供給する。端末通信部32は、端末処理部36から供給されたデータを第1サーバ4、第2サーバ5等に送信する。
【0023】
入力部33は、タッチパネル又はボタン等の入力デバイス及び入力デバイスから信号を取得するインタフェース回路を有する。入力部33は、利用者の入力を受け付け、利用者の入力に応じた信号を端末処理部36に出力する。
【0024】
表示部34は、液晶、有機EL(Electro-Luminescence)等から構成されるディスプレイ及びディスプレイに画像データ又は各種の情報を出力するインタフェース回路を有する。表示部34は、端末処理部36と接続されて、端末処理部36から出力された画像データ又は各種の情報をディスプレイに表示する。
【0025】
端末記憶部35は、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ装置、ハードディスク等の固定ディスク装置、又は光ディスク等の可搬用の記憶部等を有する装置である。また、端末記憶部35には、端末装置3の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、例えばCD-ROM(compact disk read only memory)、DVD-ROM(digital versatile disk read only memory)等のコンピュータ読み取り可能な可搬型記録媒体から又は無線通信部31を介してサーバ装置からインストールされてもよい。
【0026】
端末記憶部35には、データとして、識別情報等が記憶される。識別情報は、端末装置3を識別するための情報であり、例えば、端末装置3の識別子又は電話番号等である。
【0027】
端末処理部36は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサと、RAM、ROM等のメモリと、その周辺回路とを有し、端末装置3の各種信号処理を実行する。なお、端末処理部36は、DSP(digital signal processor)、LSI(large scale integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等でもよい。
【0028】
端末処理部36は、端末装置3の各種処理が端末記憶部35に記憶されているプログラム等に応じて適切な手順で実行されるように、端末通信部32等の動作を制御する。端末処理部36は、端末記憶部35に記憶されているプログラムに基づいて処理を実行する。また、端末処理部36は、複数のプログラムを並列に実行できる。
【0029】
端末処理部36は、プロセッサ上で動作するプログラムの機能モジュールとして実装されるアプリケーション実行部361及びライブラリ部362の複数のセットを有する。各ライブラリ部362は、位置検出部363、情報送信部364、対話実行部365等を含む。
【0030】
各アプリケーション実行部361は、それぞれ異なる機能を有し、各ライブラリ部362は、共通の機能を有する。ライブラリ部362は、アプリケーション実行部361を開発するためのSDKの一部として提供される。即ち、位置検出部363、情報送信部364及び対話実行部365は、SDKにより端末装置3に実装される。ライブラリ部362がSDKの一部として提供されることにより、アプリケーション実行部361の開発者は、ライブラリ部362内の各部により実行される処理の詳細を意識することなく、前述した処理を実行するプログラムを利用することができる。
【0031】
ライブラリ部362は、動的ライブラリ又は静的ライブラリとして提供されるプログラムの機能モジュールであり、アプリケーション実行部361は、ライブラリ部362内の各部を利用して動作することができる。なお、ライブラリ部362内の各部は、ライブラリとしてではなく、アプリケーション実行部361と一体に実装されてもよい。端末処理部36が有するこれらの各部は、独立した集積回路、マイクロプロセッサ、又はファームウェアとして端末装置3に実装されてもよい。
【0032】
第1サーバ4は、例えばクラウドサーバ等であり、第1通信部41と、第1記憶部42と、第1処理部43とを有する。
【0033】
第1通信部41は、有線LAN等の有線通信規格に準拠した有線通信インタフェース回路、又は、無線LAN等の無線通信規格に準拠した無線通信インタフェース回路を有する。第1通信部41は、通信ネットワーク6を介して、端末装置3、第2サーバ5等とTCP/IP等の通信方式により通信を行う。第1通信部41は、端末装置3、第2サーバ5等から受信したデータを第1処理部43に供給する。第1通信部41は、第1処理部43から供給されたデータを端末装置3、第2サーバ5等に送信する。第1通信部41は、サーバ通信部の一例である。
【0034】
第1記憶部42は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、又は光ディスク等の可搬用の記憶部等を有する装置である。また、第1記憶部42には、第1サーバ4の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、例えばCD-ROM、DVD-ROM等のコンピュータ読み取り可能な可搬型記録媒体から又は第1通信部41を介してサーバ装置からインストールされてもよい。
【0035】
第1記憶部42には、データとして、端末テーブル421及び位置テーブル422等が記憶される。端末テーブル421及び位置テーブル422の詳細については後述する。
【0036】
第1処理部43は、CPU、MPU等のプロセッサと、RAM、ROM等のメモリと、その周辺回路とを有し、端末装置3の各種信号処理を実行する。なお、第1処理部43は、DSP、LSI、ASIC、FPGA等でもよい。
【0037】
第1処理部43は、第1サーバ4の各種処理が第1記憶部42に記憶されているプログラム等に応じて適切な手順で実行されるように、第1通信部41等の動作を制御する。第1処理部43は、第1記憶部42に記憶されているプログラムに基づいて処理を実行する。また、第1処理部43は、複数のプログラムを並列に実行できる。
【0038】
第1処理部43は、プロセッサ上で動作するプログラムの機能モジュールとして実装される属性特定部431、シナリオ特定部432、シナリオID送信部433、端末指示部434等を有する。あるいは、第1処理部43が有するこれらの各部は、独立した集積回路、マイクロプロセッサ、又はファームウェアとして第1サーバ4に実装されてもよい。
【0039】
第2サーバ5は、例えばクラウドサーバ等であり、第2通信部51と、第2記憶部52と、第2処理部53とを有する。
【0040】
第2通信部51は、有線LAN等の有線通信規格に準拠した有線通信インタフェース回路、又は、無線LAN等の無線通信規格に準拠した無線通信インタフェース回路を有する。第2通信部51は、通信ネットワーク6を介して、端末装置3、第1サーバ4等とTCP/IP等の通信方式により通信を行う。第2通信部51は、端末装置3、第1サーバ4等から受信したデータを第2処理部53に供給する。第2通信部51は、第2処理部53から供給されたデータを端末装置3、第1サーバ4等に送信する。第2通信部51は、サーバ通信部の一例である。
【0041】
第2記憶部52は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、又は光ディスク等の可搬用の記憶部等を有する装置である。また、第2記憶部52には、第2サーバ5の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が格納される。コンピュータプログラムは、例えばCD-ROM、DVD-ROM等のコンピュータ読み取り可能な可搬型記録媒体から又は第1通信部41を介してサーバ装置からインストールされてもよい。
【0042】
第2記憶部52には、データとして、シナリオテーブル521等が記憶される。シナリオテーブル521の詳細については後述する。
【0043】
第2処理部53は、CPU、MPU等のプロセッサと、RAM、ROM等のメモリと、その周辺回路とを有し、第2サーバ5の各種信号処理を実行する。なお、第2処理部53は、DSP、LSI、ASIC、FPGA等でもよい。
【0044】
第2処理部53は、第2サーバ5の各種処理が第2記憶部52に記憶されているプログラム等に応じて適切な手順で実行されるように、第2通信部51等の動作を制御する。第2処理部53は、第2記憶部52に記憶されているプログラムに基づいて処理を実行する。また、第2処理部53は、複数のプログラムを並列に実行できる。
【0045】
第2処理部53は、プロセッサ上で動作するプログラムの機能モジュールとして実装されるシナリオ選択部531、対話処理部532等を有する。あるいは、第2処理部53が有するこれらの各部は、独立した集積回路、マイクロプロセッサ、又はファームウェアとして第2サーバ5に実装されてもよい。
【0046】
図2(A)は、端末テーブル421のデータ構造の一例を示す図である。
【0047】
端末テーブル421には、複数の識別情報毎に、利用者属性等が関連付けられて記憶される。識別情報は、端末装置3が記憶する識別情報に対応する。利用者属性は、端末装置3の利用者の属性を示す情報であり、例えば、子供の有無、好きな場所等を示す情報である。利用者属性は、端末装置3の利用者と第2サーバ5との過去の対話の内容等に基づいて設定される。
【0048】
図2(B)は、位置テーブル422のデータ構造の一例を示す図である。
【0049】
位置テーブル422には、複数の位置情報毎に、利用者属性、シナリオID等が関連付けられて記憶される。位置情報は、端末装置3が存在する位置を示す情報であり、例えばビーコンIDである。利用者属性は、端末テーブル421に記憶される利用者属性に対応し、1個の位置情報に1又は複数の利用者属性が関連付けられる。1個の位置情報に複数の利用者属性が関連付けられる場合、各利用者属性には、優先順位が設定される。シナリオIDは、端末装置3の利用者と第2サーバ5との対話で使用されるシナリオの識別子である。シナリオIDは、位置情報と利用者属性との組に対して設定される。なお、同一の位置情報に関連付けられた一部又は全ての利用者属性に対して、同一のシナリオIDが関連付けられて記憶されてもよい。
【0050】
図2(C)は、シナリオテーブル521のデータ構造の一例を示す図である。
【0051】
シナリオテーブル521には、シナリオID、第1メッセージ、第2メッセージ群、第3メッセージ群等が関連付けられて記憶される。シナリオIDは、位置テーブル422に記憶されるシナリオIDに対応する。第1メッセージは、第2サーバ5が端末装置3の利用者に最初に送信するメッセージを表す文字列であり、第1メッセージとしてシナリオID毎に同一又は異なる文字列が設定される。第2メッセージ群及び第3メッセージ群は、直前のメッセージに対する端末装置3の利用者の応答に応じて送信されるメッセージの集合である。第2メッセージ群及び第3メッセージ群には、直前のメッセージへの利用者の応答の種別を示す応答種別、応答種別に応じて送信されるメッセージ等が関連付けられて記憶される。例えば、第2メッセージ群には、第1メッセージへの利用者の応答に対応する応答種別、その応答種別に応じて送信されるメッセージ等が関連付けられて記憶される。以降、第2メッセージ群、第3メッセージ群と同様のメッセージ群が任意の数だけ設定される。
【0052】
このように、第1記憶部42及び第2記憶部52には、複数の位置情報毎、すなわち端末装置3の複数の位置毎に、シナリオが利用者属性と対応付けられて記憶される。
【0053】
図3は、情報処理システム1の動作シーケンスの一例を示す図である。この動作シーケンスは、予め各装置の各記憶部に記憶されているプログラムに基づいて、主に各装置の各処理部により、各装置の各要素と協働して実行される。
【0054】
最初に、各ビーコン端末2は、ビーコン信号を定期的に出力する(ステップS101)。ビーコン端末2は、所定の間隔(例えば1秒間隔)でビーコン信号をブロードキャストする。
【0055】
次に、端末装置3の端末処理部36は、無線通信部31を介してビーコン信号を受信した場合、ビーコン信号に含まれるビーコン情報を取得する(ステップS102)。
【0056】
次に、端末装置3の端末処理部36は、アプリケーション実行部361を起動する(ステップS103)。次に、位置検出部363は、受信したビーコン信号からビーコン情報を抽出し、ビーコン情報に含まれるビーコンIDを端末装置3の位置を示す位置情報として設定する。
【0057】
次に、情報送信部364は、端末通信部32を介して、生成した位置情報、端末記憶部35に記憶された識別情報及びメッセージ送信用情報を第1サーバ4に送信する(ステップS104)。メッセージ送信用情報は、第2サーバ5が後述するメッセージ情報を端末装置3に送信するために必要な情報であり、端末装置3のアドレス(IPアドレス等)を特定できる情報を含む。
【0058】
次に、第1サーバ4の属性特定部431は、第1通信部41を介して端末装置3から位置情報、識別情報及びメッセージ送信用情報を受信する。属性特定部431は、受信した位置情報に示される位置を特定するとともに、端末テーブル421を参照し、受信した識別情報と対応付けられた利用者属性を特定する(ステップS105)。
【0059】
次に、シナリオ特定部432は、位置テーブル422に記憶されたシナリオIDの中から、特定した位置及び利用者属性に対応するシナリオIDを特定する(ステップS106)。シナリオ特定部432は、位置テーブル422を参照し、特定した位置に対応付けられたシナリオIDのうち、特定した利用者属性に対応するシナリオIDを特定する。ステップS105で特定した利用者属性が複数存在する場合、シナリオ特定部432は、特定した位置に対応付けられたシナリオIDのうち、最も優先順位が高い利用者属性に対応するシナリオIDを特定する。
【0060】
次に、シナリオID送信部433は、第1通信部41を介して、特定したシナリオIDと、端末装置3から受信したメッセージ送信用情報とを第2サーバ5に送信する(ステップS107)。
【0061】
次に、端末指示部434は、第1通信部41を介して、シナリオフィールド作成指示を示す指示情報を端末装置3に送信する(ステップS108)。シナリオフィールドとは、端末装置3の表示部34がシナリオに含まれるメッセージを表示する際に、メッセージの背景となる領域である。
【0062】
次に、端末装置3のアプリケーション実行部361は、端末通信部32を介して第1サーバ4から指示情報を受信した場合、表示部34にシナリオフィールドを表示させる(ステップS109)。アプリケーション実行部361は、例えばポップアップするように、シナリオフィールドを表示部34に表示させる。
【0063】
次に、アプリケーション実行部361は、第2サーバ5との対話処理を開始することをライブラリ部362に指示する(ステップS110)。ライブラリ部362に含まれる対話実行部365は、メッセージ送信用情報に従って、第2サーバ5が送信するメッセージ情報(後述)を受信するために待機する。
【0064】
一方、第2サーバ5のシナリオ選択部531は、第2通信部51を介して、第1サーバ4からシナリオID及びメッセージ送信用情報を受信した場合、シナリオテーブルを参照して、シナリオIDに対応するシナリオを選択する(ステップS111)。
【0065】
次に、対話処理部532は、シナリオテーブルを参照して、選択されたシナリオの第1メッセージを抽出する。対話処理部532は、抽出した第1メッセージをメッセージ情報に設定する(ステップS112)。
【0066】
次に、対話処理部532は、メッセージ送信用情報を使用して、第2通信部51を介してメッセージ情報を端末装置3に送信する(ステップS113)。
【0067】
次に、端末装置3の対話実行部365は、端末通信部32を介して第2サーバ5からメッセージ情報を受信し、受信したメッセージ情報からメッセージを抽出する。次に、対話実行部365は、抽出したメッセージを表示部34に表示したシナリオフィールド内に表示させる(ステップS114)。
【0068】
次に、対話実行部365は、利用者により入力部33を用いて入力された、表示したメッセージに対する応答を受け付け(ステップS115)、受け付けた応答を示すテキスト情報を表示部34に表示したシナリオフィールド内に表示させる。また、対話実行部365は、テキスト情報を含む応答情報を生成する。
【0069】
次に、対話実行部365は、端末通信部32を介して応答情報を第2サーバ5に送信する(ステップS116)。
【0070】
次に、第2サーバ5の対話処理部532は、第2通信部51を介して端末装置3から応答情報を受信し、受信した応答情報に基づいて、利用者から受け付けた応答を分類し、応答に対応する応答種別を特定する(ステップS117)。例えば、対話処理部532は、受信した応答情報を所定の分類器に入力することにより、応答を分類し、応答種別を特定する。分類器は、例えば、テキスト情報が入力された場合に、シナリオテーブル521に記憶された応答種別のうち、そのテキスト情報が意味する内容に最も近い応答種別を出力するように事前学習されたニューラルネットワークである。
【0071】
次に、対話処理部532は、シナリオテーブル521を参照し、ステップS113で送信したメッセージ情報と特定した応答種別とに対応するメッセージを、次に端末装置3に送信するメッセージとして特定する(ステップS118)。
【0072】
以後、端末装置3の対話実行部365及び第2サーバ5の対話処理部532は、ステップS113~S118の処理を繰り返す。これにより、対話実行部365は、端末通信部32を介して端末装置3の利用者と第2サーバ5との対話を実行する。また、対話処理部532は、チャットボットとして機能し、シナリオ選択部531により選択されたシナリオに従って、第2通信部51を介して端末装置3の利用者と第2サーバ5との対話を処理する。対話処理部532は、ステップS113でメッセージ情報を送信してから所定時間内に応答情報を受信しない場合、及び、ステップS118で抽出されるメッセージが無い場合に、対話処理を終了する。対話処理部532は、このようにして、選択されたシナリオに従って、第2通信部51を介して端末装置3の利用者との対話を処理する。以上により、情報処理システム1の動作シーケンスは終了する。
【0073】
以上説明してきたように、第2サーバ5は、端末装置3の位置に対応するシナリオを選択し、選択されたシナリオに従って端末装置3の利用者との対話を処理する。これにより、情報処理システム1は、端末装置3の利用者とサーバとの間で端末装置3の位置に応じた対話を実行することが可能となり、利用者が所望する情報を適切に提供することが可能となる。
【0074】
情報処理システム1は、各ビーコン端末2が配置された設備に関するシナリオを各ビーコン端末2の位置情報と関連付けて記憶しておくことにより、利用者の周辺に存在する設備に関するシナリオを用いて、利用者との対話を実行することができる。これにより、情報処理システム1は、利用者との対話を通じて、利用者のニーズを探り、ニーズに合致した情報を提供できる。例えば、ビーコン端末2を店舗に配置した場合、情報処理システム1は、店舗の売り上げを促進できる。一般に、店舗の違い又は店舗内の売り場の違いに応じて、利用者に提供すべき情報が異なる。情報処理システム1は、利用者の位置に応じて、個々の店舗等に応じた適切な対話、店舗内の陳列棚等の位置に応じた適切な対話を実行することができる。
【0075】
また、情報処理システム1は、さらに利用者属性に対応するシナリオに従って端末装置3の利用者との対話を処理するため、利用者の嗜好に応じた対話を実行することができる。
【0076】
以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されない。例えば、サーバが有する各部は、1個のサーバにより実装されてもよいし、3個以上のサーバの組合せにより実装されてもよい。
【0077】
また、端末装置3は、複数のアプリケーション実行部361に対して、一つの共通の各ライブラリ部362を有し、各アプリケーション実行部361は、同一のライブラリ部362を利用して動作してもよい。
【0078】
また、端末装置3の位置情報を生成するために、情報処理システム1は、ビーコン端末2に代えて、GPS(Global Positioning System)システム、無線LANのアクセスポイント等を使用してもよい。
【0079】
この場合、ステップS104で、端末装置3の無線通信部31は、ビーコン信号に代えて、GPSが出力する信号、無線LANのアクセスポイントが出力するビーコンフレーム等を受信する。位置検出部363は、受信した信号又はビーコンフレームに基づいて位置情報を生成する。GPSを使用する場合、位置情報は、緯度及び経度を示す情報である。無線LANを使用する場合、位置情報は、ビーコンフレームの送信元MAC(Media Access Control)アドレスである。また、第1サーバ4は、端末テーブル421において、位置情報として、緯度及び経度を示す情報又はビーコンフレームの送信元MACアドレス等を記憶する。この場合も、情報処理システム1は、端末装置3の利用者とサーバとの間で端末装置3の位置に応じた対話を実行することが可能となり、利用者が所望する情報を適切に提供することが可能となる。
【0080】
また、識別情報は、端末装置3を識別するための情報でなく、端末装置3の利用者を識別するための情報であってもよい。例えば、端末装置3の端末記憶部35は、端末装置3の利用者の識別子を識別情報として記憶し、第1サーバ4は、端末テーブル421において、利用者の識別子を識別情報として記憶する。この場合、ステップS104で、端末装置3の情報送信部364は、利用者の識別子である識別情報等を第1サーバ4に送信する。ステップS105で、第1サーバ4のシナリオ特定部432は、識別情報等を受信し、端末テーブル421から、受信した識別情報に関連付けられた利用者属性を特定する。これにより、利用者は、複数の異なる端末装置を用いても所望する情報を得ることができるので、情報処理システム1は、利用者の利便性を向上させることができる。
【0081】
また、第1サーバ4は、利用者属性を用いずに、シナリオを選択してもよい。この場合、ステップS106で、シナリオ特定部432は、受信した位置情報に示される位置に関連付けられたシナリオIDを位置テーブル422で特定する。また、ステップS111で、シナリオ選択部531は、シナリオIDで示されるシナリオをシナリオテーブル521から選択する。この場合も、第2サーバ5は、選択されたシナリオに従って端末装置3の利用者との対話を処理するため、端末装置3の利用者との間で端末装置3の位置に応じた対話を実行することができる。
【0082】
また、第1サーバ4は、利用者の過去の行動履歴に応じて利用者属性を設定してもよい。例えば、第1サーバ4は、さらに、特徴タグテーブル(図示せず)を第1記憶部42に記憶する。特徴タグテーブルには、ビーコン端末2が出力するビーコン信号に含まれるビーコンID、ビーコン端末2が配置された位置の特徴を示す特徴タグ等が関連付けられて記憶される。例えば、ビーコン端末2が店舗のゴルフ売り場に配置されている場合、そのビーコンIDには、特徴タグ「ゴルフ」が関連付けられる。
【0083】
この場合、第1サーバ4は、ステップS105で属性特定部431が位置情報及び識別情報を受信する度に、位置情報に対応する特徴タグを特徴タグテーブルから抽出し、識別情報と特徴タグとの組を第1記憶部42に記憶する。第1サーバ4は、所定のタイミングで、記憶した識別情報と特徴タグとの組の出現頻度を算出する。第1サーバ4は、特定の組の出現頻度又は出現回数が閾値以上の場合、端末テーブル421において、その特定の組の識別情報に関連付けて、その特徴タグの内容を利用者属性として設定する。第1サーバ4は、利用者の過去の行動履歴に応じて適切な利用者属性を設定するので、第2サーバ5は、より適切なシナリオに従って対話を実行することができる。
【0084】
また、第1サーバ4は、端末装置3の移動履歴に応じてシナリオを特定してもよい。その場合、例えば、位置テーブル422には、位置情報として、移動前位置情報と移動後位置情報との組からなる移動情報が記憶される。第1記憶部42には、さらに、過去にステップS105で端末装置3から受信した位置情報と識別情報との組からなる移動履歴が記憶される。
【0085】
この場合、ステップS106で、シナリオ特定部432は、移動履歴を参照し、前回の位置情報が移動前位置情報に対応し、今回の位置情報が移動後位置情報に対応する移動情報を特定する。シナリオ特定部432は、位置テーブル422を参照し、特定した移動情報に対応付けられたシナリオIDのうち、ステップS105で特定した利用者属性に対応するシナリオIDを特定する。これにより、第1サーバ4は、端末装置3の移動履歴に応じてシナリオを特定することができる。
【0086】
また、第2サーバ5は、あるシナリオに従った対話の実行中に他のシナリオに従った対話の実行を禁止してもよい。例えば、対話処理部532は、ステップS113で端末装置3にメッセージ情報を送信してから所定時間が経過していない場合、端末装置3が移動して、ステップS112で新たなシナリオデータを受信しても、ステップS113で新たなメッセージ情報の送信を実行しない。これにより、第2サーバ5は、端末装置3との間で実行中の対話をシナリオの最後まで確実に実行することができる。
【0087】
逆に、第2サーバ5は、あるシナリオに従った対話の実行中に第1サーバ4から新たなシナリオデータを受信した場合、シナリオを変更してもよい。例えば、第2サーバ5の対話処理部532は、ステップS113~S118の処理を実行中に、新たなシナリオデータを受信した場合、実行中の対話を中止し、新たに受信したシナリオデータに従った対話を開始する。これにより、第2サーバ5は、端末装置3の利用者と、利用者の最新の状態に応じた対話を実行することができる。
【0088】
なお、第1サーバ4は、第2サーバ5がステップS113~S118の処理を実行中に、端末装置3から直近に受信した位置情報と同一の位置情報を受信した場合、シナリオを変更せずに、実行中の対話を継続させる。これにより、第2サーバ5は、実行中の対話が誤って第1メッセージに戻ることを防止できる。
【0089】
以上のように、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。
【符号の説明】
【0090】
1 情報処理システム
3 端末装置
4 第1サーバ(サーバ)
5 第2サーバ(サーバ)
32 端末通信部
51 第2通信部(サーバ通信部)
52 第2記憶部(記憶部)
361 アプリケーション実行部
364 情報送信部
365 対話実行部
531 シナリオ選択部
532 対話処理部
【要約】
【課題】端末装置の利用者との間で端末装置の位置に応じた対話を実行することができる情報処理システム、情報処理システムの制御方法、サーバ及びサーバの制御プログラムを提供する。
【解決手段】情報処理システム1は、利用者に携帯される端末装置3と、第1サーバ4及び第2サーバ5と、を有し、端末装置3は、端末装置3の位置を示す位置情報を第1サーバ4に送信する情報送信部364と、端末装置3の利用者と第2サーバ5との対話を実行する対話実行部365と、を有し、サーバは、複数の位置毎に端末装置3の利用者と第2サーバ5との対話で使用されるシナリオを記憶する第2記憶部52と、第2記憶部52に記憶されたシナリオの中から、位置情報に示される位置に対応するシナリオを選択するシナリオ選択部531と、選択されたシナリオに従って、端末装置3の利用者との対話を処理する対話処理部532と、を有する。
【選択図】
図3