(57)【要約】【課題】迅速なユーザへの発話を実現し、自然かつ充実した対話を行う。【解決手段】ユーザとの対話を行い、所定のサービスを提供する計算機システムであって、計算機システムは、撮像装置、計算機、及び発話内容を生成するためのアルゴリズムに基づいて発話内容を生成する生成装置を備え、計算機は、画像を用いた認証処理に使用する認証用画像を格納するデータベースと接続し、ユーザと撮像装置との間の距離を算出し、距離が閾値より大きい場合、撮像装置が取得した画像を用いてユーザを特徴付ける属性を推定する属性推定処理を実行し、属性推定処理の結果に基づいてアルゴリズムを選択し、生成装置に前記アルゴリズムを通知する。【選択図】図１
2018206228.tif 000002
【特許請求の範囲】
【請求項１】
ユーザとの対話を行い、所定のサービスを提供する計算機システムであって、
前記計算機システムは、画像を取得する撮像装置、ユーザに出力する発話内容を生成するためのアルゴリズムを選択する計算機、及び前記アルゴリズムに基づいて発話内容を生成する生成装置を備え、
前記計算機は、
演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有し、
前記インタフェースを介して、前記撮像装置が取得した画像を用いた認証処理に使用する認証用画像を格納するデータベースと接続し、
前記演算装置は、
前記ユーザと前記撮像装置との間の距離を算出し、
前記距離が第１閾値より大きい場合、前記撮像装置が取得した画像を用いて前記ユーザを特徴付ける属性を推定する属性推定処理を実行し、
前記属性推定処理の結果に基づいて前記アルゴリズムを選択し、
前記距離が第１閾値以下である場合、前記撮像装置が取得した画像及び前記データベースに基づいて前記ユーザを特定する認証処理を実行し、
前記認証処理の結果に基づいて前記アルゴリズムを選択し、
前記生成装置に前記アルゴリズムを通知することを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記演算装置は、
前記属性推定処理の結果に基づいて前記アルゴリズムが選択された後に、前記距離が第１閾値以下となった場合、前記認証処理を実行し、
前記認証処理の結果に基づいて前記アルゴリズムを選択し、
前記生成装置に前記アルゴリズムを通知することを特徴とする計算機システム。
【請求項３】
請求項２に記載の計算機システムであって、
前記認証処理は、第１の認証処理と、前記第１の認証処理より認証精度が高い第２の認証処理とを含み、
前記演算装置は、
前記距離が前記第１閾値以下かつ第２閾値より大きい場合、前記第１の認証処理を実行し、
前記第１の認証処理の結果に基づいて前記アルゴリズムを選択し、
前記距離が第２閾値以下である場合、前記第２の認証処理を実行し、
前記第２の認証処理の結果に基づいて前記アルゴリズムを選択することを特徴とする計算機システム。
【請求項４】
請求項３に記載の計算機システムであって、
前記演算装置は、
前記属性推定処理の結果に基づいて、前記第１の認証処理で参照する前記データベースの参照範囲を特定し、
前記第１の認証処理の結果に基づいて、前記第２の認証処理で参照する前記データベースの参照範囲を特定することを特徴とする計算機システム。
【請求項５】
ユーザとの対話を行い、所定のサービスを提供する計算機システムにおける対話制御方法であって、
前記計算機システムは、画像を取得する撮像装置、ユーザに出力する発話内容を生成するためのアルゴリズムを選択する計算機、及び前記アルゴリズムに基づいて発話内容を生成する生成装置を備え、
前記計算機は、
演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有し、
前記インタフェースを介して、前記撮像装置が取得した画像を用いた認証処理に使用する認証用画像を格納するデータベースと接続し、
前記対話制御方法は、
前記演算装置が、前記ユーザと前記撮像装置との間の距離を算出する第１のステップと、
前記演算装置が、前記距離が第１閾値より大きい場合、前記撮像装置が取得した画像を用いて前記ユーザを特徴付ける属性を推定する属性推定処理を実行する第２のステップと、
前記演算装置が、前記属性推定処理の結果に基づいて前記アルゴリズムを選択する第３のステップと、
前記演算装置が、前記距離が第１閾値以下である場合、前記撮像装置が取得した画像及び前記データベースに基づいて前記ユーザを特定する認証処理を実行する第４のステップと、
前記演算装置が、前記認証処理の結果に基づいて前記アルゴリズムを選択する第５のステップと、
前記演算装置が、前記生成装置に前記アルゴリズムを通知する第６のステップと、を含むことを特徴とする対話制御方法。
【請求項６】
請求項５に記載の対話制御方法であって、
前記属性推定処理の結果に基づいて前記アルゴリズムが選択された後に、前記距離が第１閾値以下となった場合、前記演算装置が、前記認証処理を実行するステップと、
前記演算装置が、前記認証処理の結果に基づいて前記アルゴリズムを選択するステップと、
前記演算装置が、前記生成装置に前記アルゴリズムを通知するステップと、を含むことを特徴とする対話制御方法。
【請求項７】
請求項６に記載の対話制御方法であって、
前記認証処理は、第１の認証処理と、前記第１の認証処理より認証精度が高い第２の認証処理とを含み、
前記第４のステップは、
前記演算装置が、前記距離が第２閾値より大きい場合、前記第１の認証処理を実行する第７のステップと、
前記演算装置が、前記距離が第２閾値以下である場合、前記第２の認証処理を実行する第８のステップと、を含み、
前記第５のステップは、
前記演算装置が、前記第１の認証処理の結果に基づいて前記アルゴリズムを選択するステップと、
前記演算装置が、前記第２の認証処理の結果に基づいて前記アルゴリズムを選択するステップと、を含むことを特徴とする対話制御方法。
【請求項８】
請求項７に記載の対話制御方法であって、
前記第７のステップは、前記演算装置が、前記属性推定処理の結果に基づいて、前記第１の認証処理で参照する前記データベースの参照範囲を特定するステップを含み、
前記第８のステップは、前記演算装置が、前記第１の認証処理の結果に基づいて、前記第２の認証処理で参照する前記データベースの参照範囲を特定するステップを含むことを特徴とする対話制御方法。
【請求項９】
ユーザとの対話を行い、所定のサービスを提供する計算機システムに含まれる計算機であって、
前記計算機は、
演算装置、前記演算装置に接続される記憶装置、前記演算装置に接続されるインタフェース、及び前記演算装置に接続され、画像を取得する撮像装置を有し、
前記インタフェースを介して、ユーザと対話を行う対話装置、及び前記撮像装置が取得した画像を用いた認証処理に使用する認証用画像を格納するデータベースと接続し、
前記演算装置は、
前記ユーザと前記撮像装置との間の距離を算出し、
前記距離が第１閾値より大きい場合、前記撮像装置が取得した画像を用いて前記ユーザを特徴付ける属性を推定する属性推定処理を実行し、
前記属性推定処理の結果に基づいて、ユーザに出力する発話内容を生成するためのアルゴリズムを選択し、
前記距離が第１閾値以下である場合、前記撮像装置が取得した画像及び前記データベースに基づいて前記ユーザを特定する認証処理を実行し、
前記認証処理の結果に基づいて前記アルゴリズムを選択し、
前記アルゴリズムに基づいて発話内容を生成することを特徴とする計算機。
【請求項１０】
請求項９に記載の計算機であって、
前記演算装置は、
前記属性推定処理の結果に基づいて前記アルゴリズムが選択された後に、前記距離が第１閾値以下となった場合、前記認証処理を実行し、
前記認証処理の結果に基づいて前記アルゴリズムを選択することを特徴とする計算機。
【請求項１１】
請求項１０に記載の計算機であって、
前記認証処理は、第１の認証処理と、前記第１の認証処理より認証精度が高い第２の認証処理とを含み、
前記演算装置は、
前記距離が前記第１閾値以下かつ第２閾値より大きい場合、前記第１の認証処理を実行し、
前記第１の認証処理の結果に基づいて前記アルゴリズムを選択し、
前記距離が第２閾値以下である場合、前記第２の認証処理を実行し、
前記第２の認証処理の結果に基づいて前記アルゴリズムを選択することを特徴とする計算機。
【請求項１２】
請求項１１に記載の計算機であって、
前記演算装置は、
前記属性推定処理の結果に基づいて、前記第１の認証処理で参照する前記データベースの参照範囲を特定し、
前記第１の認証処理の結果に基づいて、前記第２の認証処理で参照する前記データベースの参照範囲を特定することを特徴とする計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザとの対話を通してサービスを提供する計算機システムに関する。
【背景技術】
【０００２】
ユーザの認証を行い、認証結果に基づいてユーザにサービスを提供する技術が知られている。提供するサービスとしては、例えば、商品の購入を促すサービス、行き先を検索するサービス、及び決済サービス等がある。
【０００３】
ユーザの認証方法としては、例えば特許文献１に記載の技術が知られている。特許文献１には、「登録顔データベース１５０には、同一人について、粗照合用顔特徴データと本照合用顔特徴データとが紐付けて登録されている。検出部１２０は、遠距離カメラ１１から遠距離顔画像、近距離カメラ２１から近距離顔画像をリアルタイムで入力する。抽出部１３０は、遠距離顔画像から粗照合用顔特徴データを抽出し、近距離顔画像から本照合用顔特徴データを抽出する。照合部１４０は、登録顔データベース１５０から、抽出された粗照合用顔特徴データに一致する粗照合用顔特徴データを検索し、１以上の粗照合用顔特徴データがヒットするとその粗照合用顔特徴データに紐づけられた本照合用顔特徴データを特定し、特定した本照合用顔特徴データのなかに抽出された本照合用対象データと一致するものがあるか判定する。」ことが記載されている。特許文献１に記載の認証方法は、高速かつ高精度な認証処理を実現できる。
【０００４】
ユーザとの対話を実現するシステムの一例としては、特許文献２に記載の技術が知られている。特許文献２には、「発話解析部２がユーザの発話内容に基づいてユーザの感情を特定し、応答種別決定部４が、当該感情に基づいてユーザの発話内容の応答種別を決定する。また、発話生成部７は、パーソナルＤＢ１０からユーザの嗜好情報（例えば、トピック情報、エンティティ情報）を取得し、応答種別に即したテンプレートを発話ＤＢ８から取得し、当該テンプレートにユーザの嗜好情報を当てはめた内容を発話内容として出力する。」ことが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−１０８２００号公報
【特許文献２】特開２０１６−７６１１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ユーザと対話を行い、サービスを提供する計算機システムにおいて、サービスの利用を促すような自然かつ充実した対話を実現するためには、ユーザに出力する発話内容の正確性及び応答速度の高速化が求められる。特許文献１及び特許文献２の技術を組み合わせることによって、ユーザの発話内容を把握し、また、ユーザを高速に特定できる。これによって、計算機システムは、ユーザのニーズ及び特性等を正確かつ迅速に把握して、適切な発話内容を出力できる。
【０００７】
しかし、特許文献１の技術では、精度が異なる二つの認証処理を行う必要があるため、認証処理の完了するまでユーザとの対話が行われない。したがって、応答速度の高速化が十分ではない。また、認証用のデータベースに登録されていないユーザに対して発話を行うことができない。
【０００８】
これによって、ユーザの興味の消失及びサービスの満足度の低下等の発生によって、サービスの利用機会を逃す可能性があり、また、サービスの正常な提供ができない可能性がある。
【０００９】
計算機リソース量を増加することによって認証処理の高速化は可能であるが、システムに含まれる装置の小型化が難しく、また、システム全体のコストが高くなるという問題がある。
【００１０】
本発明は、サービスの利用を促すような自然かつ充実した対話を実現するシステム、方法、及び計算機を提供する。
【課題を解決するための手段】
【００１１】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、ユーザとの対話を行い、所定のサービスを提供する計算機システムであって、前記計算機システムは、画像を取得する撮像装置、ユーザに出力する発話内容を生成するためのアルゴリズムを選択する計算機、及び前記アルゴリズムに基づいて発話内容を生成する生成装置を備え、前記計算機は、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有し、前記インタフェースを介して、前記撮像装置が取得した画像を用いた認証処理に使用する認証用画像を格納するデータベースと接続し、前記演算装置は、前記ユーザと前記撮像装置との間の距離を算出し、前記距離が第１閾値より大きい場合、前記撮像装置が取得した画像を用いて前記ユーザを特徴付ける属性を推定する属性推定処理を実行し、前記属性推定処理の結果に基づいて前記アルゴリズムを選択し、前記距離が第１閾値以下である場合、前記撮像装置が取得した画像及び前記データベースに基づいて前記ユーザを特定する認証処理を実行し、前記認証処理の結果に基づいて前記アルゴリズムを選択し、前記生成装置に前記アルゴリズムを通知することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、属性推定処理の結果に基づいてアルゴリズムを選択することによって、迅速かつ適切な対話内容の出力が可能となるため、サービスの利用を促すような自然かつ充実した対話を実現できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１３】
【図１】実施例１の計算機システムの構成の一例を示す図である。
【図２】実施例１の対話装置のハードウェア構成及びソフトウェア構成を示す図である。
【図３】実施例１のリモートブレイン計算機のハードウェア構成及びソフトウェア構成を示す図である。
【図４】実施例１のマザーブレイン計算機のハードウェア構成及びソフトウェア構成を示す図である。
【図５】実施例１の対話ＤＢに含まれる言語辞書のデータ構造の一例を示す図である。
【図６Ａ】実施例１の対話ＤＢに含まれる推定ユーザ用テンプレートのデータ構造の一例を示す図である。
【図６Ｂ】実施例１の対話ＤＢに含まれる登録ユーザ用テンプレートのデータ構造の一例を示す図である。
【図７】実施例１の顔画像ＤＢのデータ構造の一例を示す図である。
【図８】実施例１の静脈画像ＤＢのデータ構造の一例を示す図である。
【図９】実施例１のリモートブレイン計算機が実行する処理の概要を示す図である。
【図１０Ａ】実施例１の推定モジュールが実行する属性推定処理の一例を説明するフローチャートである。
【図１０Ｂ】実施例１の推定モジュールが実行する属性推定処理の一例を説明するフローチャートである。
【図１１】実施例１の認証モジュールが実行する顔認証処理の一例を説明するフローチャートである。
【図１２】実施例１の制御モジュールが実行する顔画像ＤＢの検索処理の一例を説明するフローチャートである。
【図１３】実施例１の認証モジュールが実行する静脈認証処理の一例を説明するフローチャートである。
【図１４】実施例１の制御モジュールが実行する静脈画像ＤＢの検索処理の一例を説明するフローチャートである。
【図１５】実施例１の制御モジュールが実行するデータベースの更新処理の一例を説明するフローチャートである。
【図１６】実施例１の計算機システムが提供する決済サービスの一例を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１５】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【００１６】
本明細書における「第１」、「第２」、「第３」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
【００１７】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例１】
【００１８】
図１は、実施例１の計算機システムの構成の一例を示す図である。
【００１９】
計算機システムは、対話装置１００、リモートブレイン計算機１０１、及びマザーブレイン計算機１０２から構成される。リモートブレイン計算機１０１は、無線ネットワーク等の図示しないネットワークを介して対話装置１００に接続する。また、リモートブレイン計算機１０１は、ネットワーク１０３を介してマザーブレイン計算機１０２に接続する。
【００２０】
対話装置１００は、ユーザ１１０と対話を行う装置である。対話装置１００は、例えば、ロボット等が考えられる。なお、ディスプレイ、集音マイク、及びスピーカから構成される対話装置１００でもよい。
【００２１】
対話装置１００は、対話装置１００とユーザ１１０との間の距離を計測し、ユーザ１１０との間で対話を行う。図１に示す計算機システムでは、対話装置１００は一つであるが、複数あってもよい。
【００２２】
リモートブレイン計算機１０１は、対話装置１００を制御する。より具体的には、リモートブレイン計算機１０１は、対話装置１００によって計測された距離に基づいてユーザに出力する発話内容を生成するためのアルゴリズムを選択する。図１に示す計算機システムでは、リモートブレイン計算機１０１は一つであるが、複数あってもよい。
【００２３】
マザーブレイン計算機１０２は、情報を管理する。
【００２４】
図２は、実施例１の対話装置１００のハードウェア構成及びソフトウェア構成を示す図である。
【００２５】
対話装置１００は、演算装置２０１、記憶装置２０２、通信装置２０３、撮像装置２０４、音声再生装置２０５、集音装置２０６、駆動制御装置２０７、及び駆動装置２０８を有する。各ハードウェアは、内部バス等を介して互いに接続される。
【００２６】
演算装置２０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の装置である。演算装置２０１は、記憶装置２０２に格納されるプログラムを実行する。演算装置２０１がプログラムにしたがって処理を実行することによって、特定の機能を実現するモジュールとして動作する。以下の説明では、モジュールを主語に処理を説明する場合、演算装置２０１が当該モジュールを実現するプログラムを実行していることを表す。
【００２７】
記憶装置２０２は、メモリ等の装置であり、演算装置２０１が実行するプログラム及びプログラムの実行に必要な情報を格納する。また、記憶装置２０２は、プログラムが使用するワークエリアを含む。なお、対話装置１００は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置を有してもよい。
【００２８】
本実施例では、記憶装置２０２は、制御モジュール２１１を実現するプログラムを格納し、また、対話ＤＢ２１２を格納する。
【００２９】
制御モジュール２１１は、対話装置１００を制御して、発話内容を生成し、ユーザ１１０に対して発話内容を出力する対話処理を実行する。
【００３０】
対話処理では、制御モジュール２１１は、ユーザ１１０の発話内容の意味を把握するために、後述する言語辞書５００を用いてユーザ１１０の発話内容を解析する。また、制御モジュール２１１は、ユーザ１１０の発話内容の解析結果と、後述する推定ユーザ用テンプレート６００又は登録ユーザ用テンプレート６１０とに基づいて、出力する発話内容を生成し、ユーザ１１０に対して発話内容を出力する。
【００３１】
対話ＤＢ２１２は、ユーザ１１０との対話に使用する各種情報を格納する。なお、対話ＤＢ２１２は、リモートブレイン計算機１０１が保持する対話ＤＢ３１４（図３参照）と同一のデータを格納してもよいし、また、対話ＤＢ３１４の一部のデータのみを格納してもよい。
【００３２】
通信装置２０３は、ネットワークインタフェース等の装置であり、ネットワークを介して他の装置と接続する。撮像装置２０４は、カメラ等の装置であり、所定の範囲の画像を取得する。音声再生装置２０５は、スピーカ等の装置であり、発話内容を音声として再生する。集音装置２０６は、集音マイク等の装置であり、ユーザ１１０の音声を取得する。
【００３３】
駆動制御装置２０７は、マイコンチップ等の装置であり、駆動装置２０８を制御する。駆動装置２０８は、モータ等の装置であり、対話装置１００の動きを実現する装置である。
【００３４】
本実施例では、撮像装置２０４が取得した画像を用いて対話装置１００とユーザ１１０との間の距離が計測される。なお、本発明は、前述の距離の計測方法に限定されない。例えば、音波又はレーザ光を用いた距離の計測方法でもよい。音波又はレーザ光を用いた距離の計測方法を適用する場合、対話装置１００は、音波又はレーザ光を発生する装置を有する。また、ユーザ１１０が発する声の強度を用いた距離の計測方法でもよい。
【００３５】
図３は、実施例１のリモートブレイン計算機１０１のハードウェア構成及びソフトウェア構成を示す図である。
【００３６】
リモートブレイン計算機１０１は、演算装置３０１、記憶装置３０２、及び通信装置３０３を有する。各ハードウェアは、内部バス等を介して互いに接続される。
【００３７】
演算装置３０１、記憶装置３０２、及び通信装置３０３は、演算装置２０１、記憶装置２０２、及び通信装置２０３と同一のものである。
【００３８】
記憶装置３０２は、制御モジュール３１１、認証モジュール３１２、及び推定モジュール３１３を実現するプログラムを格納し、また、対話ＤＢ３１４を格納する。
【００３９】
制御モジュール３１１は、リモートブレイン計算機１０１を制御する。認証モジュール３１２は、画像を用いた認証処理を実行する。推定モジュール３１３は、画像を用いた推定処理を実行する。ここで、推定処理は、ユーザの特徴を表す属性を推定するための処理である。属性としては、年齢及び性別等が考えられる。対話ＤＢ３１４は、ユーザ１１０との対話に使用する各種情報を格納する。対話ＤＢ３１４は、予め設定されているものとする。対話ＤＢ３１４の詳細は、図５、図６Ａ、及び図６Ｂを用いて説明する。
【００４０】
図４は、実施例１のマザーブレイン計算機１０２のハードウェア構成及びソフトウェア構成を示す図である。
【００４１】
マザーブレイン計算機１０２は、演算装置４０１、記憶装置４０２、及び通信装置４０３を有する。各ハードウェアは、内部バス等を介して互いに接続される。
【００４２】
演算装置４０１、記憶装置４０２、及び通信装置４０３は、演算装置２０１、記憶装置２０２、及び通信装置２０３と同一のものである。
【００４３】
記憶装置４０２は、制御モジュール４１１を実現するプログラムを格納し、また、顔画像ＤＢ４１２及び静脈画像ＤＢ４１３を格納する。
【００４４】
制御モジュール４１１は、マザーブレイン計算機１０２を制御する。顔画像ＤＢ４１２は、ユーザ１１０の顔画像を管理するデータベースである。静脈画像ＤＢ４１３は、ユーザ１１０の静脈画像を管理するデータベースである。
【００４５】
次に、図５、図６Ａ、及び図６Ｂを用いて対話ＤＢ３１４に格納される情報について説明する。対話ＤＢ３１４には、言語辞書５００、推定ユーザ用テンプレート６００、登録ユーザ用テンプレート６１０が含まれる。
【００４６】
図５は、実施例１の対話ＤＢ３１４に含まれる言語辞書５００のデータ構造の一例を示す図である。
【００４７】
言語辞書５００は、ユーザ１１０の発話内容を解釈するために使用する情報である。言語辞書５００は、言語クラス５０１、言語種別５０２、及び言語５０３から構成されるエントリを含む。一つのエントリが一つの言語のグループ（部分グループ）に対応する。
【００４８】
言語クラス５０１は、言語のグループの識別情報を格納するフィールドである。言語種別５０２は、言語のグループの一部である部分グループの識別情報を格納するフィールドである。言語５０３は、部分グループを構成する言語を格納するフィールドである。
【００４９】
言語クラス５０１が「家電」、「生活雑貨」であるエントリの言語５０３には、社名及び製品番号の組が部分グループを構成する一つの要素として格納される。
【００５０】
図６Ａは、実施例１の対話ＤＢ３１４に含まれる推定ユーザ用テンプレート６００のデータ構造の一例を示す図である。
【００５１】
推定ユーザ用テンプレート６００は、認証が行われていないユーザ１１０又はデータベースに登録されていないユーザ１１０に出力する発話内容を定義するテンプレートである。推定ユーザ用テンプレート６００は、属性の組み合わせ毎に複数存在する。本実施例では、年齢及び性別の組合せの数だけ推定ユーザ用テンプレート６００が存在する。
【００５２】
推定ユーザ用テンプレート６００は、クラス６０１、トピック６０２、及び発話内容６０３から構成されるエントリを含む。一つのエントリが一つの発話内容に対応する。
【００５３】
クラス６０１は、出力する発話内容の種別を表すグループの識別情報を格納するフィールドである。トピック６０２は、クラス６０１に対応する発話内容に含めるトピックの種別を格納するフィールドである。なお、トピックを含める必要がない発話内容の場合、トピック６０２は空欄でもよい。発話内容６０３は、ユーザ１１０に対して出力する発話内容を格納するフィールドである。
【００５４】
なお、「天気」、「商品名」、「場所名」、及び「道順」等の括弧で囲われた単語は、画像の解析結果、ユーザの発話内容の解析結果、及び発話内容の履歴に基づいて置き換えられる単語である。例えば、二番目のエントリの「天気」は、発話内容の出力時の天気に置き換えられる。
【００５５】
図６Ｂは、実施例１の対話ＤＢ３１４に含まれる登録ユーザ用テンプレート６１０のデータ構造の一例を示す図である。
【００５６】
登録ユーザ用テンプレート６１０は、データベースに登録されたユーザ１１０に出力する発話内容を定義するテンプレートである。登録ユーザ用テンプレート６１０は、クラス６１１、トピック６１２、及び発話内容６１３から構成されるエントリを含む。一つのエントリが一つの発話内容に対応する。
【００５７】
クラス６１１、トピック６１２、及び発話内容６１３は、クラス６０１、トピック６０２、及び発話内容６０３と同一のものである。
【００５８】
推定ユーザ用テンプレート６００及び登録ユーザ用テンプレート６１０は、ユーザ１１０に出力する発話内容を生成するためのアルゴリズムに対応する。したがって、テンプレートの選択は、発話内容を生成するためのアルゴリズムの選択と同義である。なお、本発明はアルゴリズムに限定されない。
【００５９】
次に、図７及び図８を用いてマザーブレイン計算機１０２が管理するデータベースについて説明する。
【００６０】
図７は、実施例１の顔画像ＤＢ４１２のデータ構造の一例を示す図である。
【００６１】
顔画像ＤＢ４１２は、ＩＤ７０１、顔画像７０２、特徴量７０３、及び属性７０４から構成されるエントリを含む。一つのエントリが一人のユーザ１１０に対応する。
【００６２】
ＩＤ７０１は、顔画像ＤＢ４１２に格納されるエントリを識別するための識別情報を格納するフィールドである。顔画像７０２は、認証に使用する顔画像を格納するフィールドである。なお、顔画像が別の記憶領域に格納されている場合、顔画像７０２には、記憶領域の場所を示すポインタが格納されてもよい。特徴量７０３は、顔画像から算出された特徴量を格納するフィールドである。特徴量７０３には、例えば、特徴ベクトルが格納される。属性７０４は、ユーザ１１０の属性を格納するフィールドである。
【００６３】
本実施例の属性７０４には、Ｎｏ７１１、氏名７１２、性別７１３、及び年齢７１４が含まれる。なお、前述した属性は一例であってこれに限定されない。
【００６４】
Ｎｏ７１１は、ユーザ１１０に付与された識別情報を格納するフィールドである。氏名７１２は、ユーザ１１０の氏名を格納するフィールドである。性別７１３は、ユーザ１１０の性別を格納するフィールドである。年齢７１４は、ユーザ１１０の年齢を格納するフィールドである。
【００６５】
顔画像ＤＢ４１２にエントリを登録する方法としては、リモートブレイン計算機１０１が画像の解析結果に基づいて自動的に設定する方法でもよいし、専用のＵＩを用いて手動で設定する方法でもよい。本実施例では、後述するように、顔画像ＤＢ４１２には、未登録のユーザのエントリが一時的に登録される。
【００６６】
図８は、実施例１の静脈画像ＤＢ４１３のデータ構造の一例を示す図である。
【００６７】
静脈画像ＤＢ４１３は、ＩＤ８０１、静脈画像８０２、特徴量８０３、及び属性８０４から構成されるエントリを含む。一つのエントリが一人のユーザ１１０に対応する。
【００６８】
ＩＤ８０１及び属性８０４は、ＩＤ７０１及び属性７０４と同一のものである。なお、属性８０４に含まれる属性は、属性７０４に含まれる属性と同一でなくてもよい。
【００６９】
静脈画像８０２は、認証に使用する静脈画像を格納するフィールドである。なお、静脈画像が別の記憶領域に格納されている場合、静脈画像８０２には、記憶領域の場所を示すポインタが格納されてもよい。特徴量８０３は、静脈画像から算出された特徴量を格納するフィールドである。特徴量８０３には、例えば、特徴ベクトルが格納される。
【００７０】
静脈画像ＤＢ４１３にエントリを登録する方法としては、リモートブレイン計算機１０１が画像の解析結果に基づいて自動的に設定する方法でもよいし、専用のＵＩを用いて手動で設定する方法でもよい。
【００７１】
図９は、実施例１のリモートブレイン計算機１０１が実行する処理の概要を示す図である。
【００７２】
対話装置１００は、周期的又はイベントの発生を検知した場合、撮像装置２０４を用いて画像を取得し、リモートブレイン計算機１０１に画像を送信する。リモートブレイン計算機１０１は、取得された画像に人が含まれるか否かを判定する。画像から人を特定する方法は、公知の技術を用いればよいため詳細な説明は省略する。
【００７３】
リモートブレイン計算機１０１は、取得された画像に人が含まれる場合、以下で説明する処理を開始する。
【００７４】
まず、リモートブレイン計算機１０１の制御モジュール３１１は、受信した画像を用いて、対話装置１００とユーザ１１０との間の距離を算出する（ステップＳ９０１）。このとき、制御モジュール３１１は、受信した画像から顔画像を抽出する。なお、対話装置１００が、画像中の人物の有無を判定し、また、顔画像の抽出を行ってもよい。
【００７５】
制御モジュール３１１は、算出された距離が第１閾値より大きいか否かを判定する（ステップＳ９０２）。
【００７６】
距離が第１閾値より大きいと判定された場合、制御モジュール３１１は、推定モジュール３１３を呼び出し、属性推定処理の実行を指示する（ステップＳ９０３）。制御モジュール３１１は、属性推定処理の結果を対話装置１００に送信する（ステップＳ９０７）。
【００７７】
距離が第１閾値以下であると判定された場合、制御モジュール３１１は、距離が第２閾値より大きいか否かを判定する（ステップＳ９０４）。
【００７８】
距離が第２閾値より大きいと判定された場合、制御モジュール３１１は、認証モジュール３１２を呼び出し、顔認証処理の実行を指示する（ステップＳ９０５）。制御モジュール３１１は、顔認証処理の結果を対話装置１００に送信する（ステップＳ９０７）。
【００７９】
距離が第２閾値以下であると判定された場合、制御モジュール３１１は、認証モジュール３１２を呼び出し、静脈認証処理の実行を指示する（ステップＳ９０６）。制御モジュール３１１は、静脈認証処理の結果を対話装置１００に送信する（ステップＳ９０７）。
【００８０】
顔画像とは別に静脈画像を取得する必要がある場合、リモートブレイン計算機１０１の制御モジュール３１１は、対話装置１００に対して静脈画像の取得を指示する。この場合、対話装置１００の制御モジュール２１１は、ユーザ１１０を所定の位置に誘導し、撮像装置２０４を用いてユーザ１１０から静脈画像を取得し、リモートブレイン計算機１０１に静脈画像を送信する。
【００８１】
対話装置１００は、リモートブレイン計算機１０１から受信した属性推定処理の結果、顔認証処理の結果、又は静脈認証処理の結果に基づいて対話処理を実行する。
【００８２】
対話処理の実行中にもステップＳ９０１からステップＳ９０６の処理が実行される。この場合、対話装置１００は処理結果に応じて対話処理を変更する。なお、すでにユーザ１１０が特定されている場合には、ステップＳ９０１からステップＳ９０６の処理は実行されなくてもよい。ただし、認証処理の認証精度が低い場合、リモートブレイン計算機１０１は、認証処理の結果によらずに、ステップＳ９０１からステップＳ９０６の処理を実行してもよい。
【００８３】
なお、画像の中に複数のユーザ１１０が含まれている場合、リモートブレイン計算機１０１は、対話装置１００との間の距離が最も近いユーザ１１０に対して処理を実行する方法が考えられる。
【００８４】
図１０Ａ及び図１０Ｂは、実施例１の推定モジュール３１３が実行する属性推定処理の一例を説明するフローチャートである。
【００８５】
推定モジュール３１３は、顔画像を用いて年齢推定処理及び性別推定処理を実行する（ステップＳ１００１、ステップＳ１００２）。顔画像を用いた年齢推定処理及び性別推定処理は公知の技術を用いればよいため詳細な説明は省略する。
【００８６】
次に、推定モジュール３１３は、ユーザ１１０の年齢が第３閾値より大きいか否かを判定する（ステップＳ１００３）。
【００８７】
年齢が第３閾値より大きいと判定された場合、推定モジュール３１３は、ユーザ１１０の性別が男性であるか否かを判定する（ステップＳ１００４）。
【００８８】
ユーザ１１０の性別が男性であると判定された場合、推定モジュール３１３は、男性かつ高齢者向けの推定ユーザ用テンプレート６００を選択する（ステップＳ１００５）。その後、推定モジュール３１３は、ステップＳ１０１４に進む。
【００８９】
ユーザ１１０の性別が女性であると判定された場合、推定モジュール３１３は、女性かつ高齢者向けの推定ユーザ用テンプレート６００を選択する（ステップＳ１００６）。その後、推定モジュール３１３は、ステップＳ１０１４に進む。
【００９０】
ステップＳ１００３において、年齢が第３閾値以下であると判定された場合、推定モジュール３１３は、ユーザ１１０の年齢が第４閾値より大きいか否かを判定する（ステップＳ１００７）。
【００９１】
ユーザ１１０の年齢が第４閾値より大きいと判定された場合、推定モジュール３１３は、ユーザ１１０の性別が男性であるか否かを判定する（ステップＳ１００８）。
【００９２】
ユーザ１１０の性別が男性であると判定された場合、推定モジュール３１３は、男性かつ大人向けの推定ユーザ用テンプレート６００を選択する（ステップＳ１００９）。その後、推定モジュール３１３は、ステップＳ１０１４に進む。
【００９３】
ユーザ１１０の性別が女性であると判定された場合、推定モジュール３１３は、女性かつ大人向けの推定ユーザ用テンプレート６００を選択する（ステップＳ１０１０）。その後、推定モジュール３１３は、ステップＳ１０１４に進む。
【００９４】
ステップＳ１００７において、ユーザ１１０の年齢が第４閾値以下であると判定された場合、推定モジュール３１３は、ユーザ１１０の性別が男性であるか否かを判定する（ステップＳ１０１１）。
【００９５】
ユーザ１１０の性別が男性であると判定された場合、推定モジュール３１３は、男性かつ子供向けの推定ユーザ用テンプレート６００を選択する（ステップＳ１０１２）。その後、推定モジュール３１３は、ステップＳ１０１４に進む。
【００９６】
ユーザ１１０の性別が女性であると判定された場合、推定モジュール３１３は、女性かつ子供向けの推定ユーザ用テンプレート６００を選択する（ステップＳ１０１３）。その後、推定モジュール３１３は、ステップＳ１０１４に進む。
【００９７】
ステップＳ１０１４では、推定モジュール３１３は、推定ユーザ用テンプレート６００の選択結果を対話装置１００に送信する（ステップＳ１０１４）。このとき、推定モジュール３１３は、必要に応じて、選択された推定ユーザ用テンプレート６００を対話装置１００に送信してもよい。
【００９８】
次に、推定モジュール３１３は、制御モジュール３１１を介して、マザーブレイン計算機１０２に顔画像ＤＢ４１２の更新要求を送信する（ステップＳ１０１５）。その後、推定モジュール３１３は、処理の完了を制御モジュール３１１に通知する。当該更新要求には、顔画像及び特徴量と、推定結果である性別及び年齢とが含まれる。
【００９９】
マザーブレイン計算機１０２の制御モジュール４１１は、更新要求を受信した場合、顔画像ＤＢ４１２にエントリを追加し、追加されたエントリのＩＤ７０１に識別情報を設定する。制御モジュール４１１は、追加されたエントリの顔画像７０２に更新要求に含まれる顔画像を設定し、また、特徴量７０３に顔画像の特徴量を設定する。また、推定モジュール３１３は、追加されたエントリの属性７０４に含まれる性別７１３及び年齢７１４に推定結果を設定する。この時点では、Ｎｏ８１１及び氏名８１２は空欄である。
【０１００】
なお、画像の中に複数のユーザ１１０が含まれている場合、リモートブレイン計算機１０１は、各ユーザ１１０に対して属性推定処理を実行し、処理結果を用いた統計処理を実行。年齢については例えば、平均値が算出される。性別の場合、性別については、人数が多い性別が処理に使用する性別として算出される。リモートブレイン計算機１０１は、算出された年齢及び性別に基づいて、複数のユーザ１１０に対して共通で使用する推定ユーザ用テンプレート６００を選択する。
【０１０１】
図１１は、実施例１の認証モジュール３１２が実行する顔認証処理の一例を説明するフローチャートである。
【０１０２】
認証モジュール３１２は、顔画像の特徴量を算出する（ステップＳ１１０１）。なお、対話装置１００から顔画像の特徴量を受信している場合には、ステップＳ１１０１の処理を省略できる。
【０１０３】
認証モジュール３１２は、マザーブレイン計算機１０２に、顔画像の特徴量を含む顔画像ＤＢ４１２の問合せを行う（ステップＳ１１０２）。
【０１０４】
認証モジュール３１２は、問合せの結果に基づいて、顔画像ＤＢ４１２に対話装置１００が取得した顔画像に一致する画像が存在するか否かを判定する（ステップＳ１１０３）。
【０１０５】
顔画像ＤＢ４１２に対話装置１００が取得した顔画像に一致する画像が存在すると判定された場合、認証モジュール３１２は、制御モジュール３１１を介して、特定されたエントリの情報を含む認証成功通知を対話装置１００に送信する（ステップＳ１１０４）。その後、認証モジュール３１２は、顔認証処理を終了する。このとき、認証モジュール３１２は、制御モジュール３１１を介して、登録ユーザ用テンプレート６１０を対話装置１００に送信してもよい。
【０１０６】
顔画像ＤＢ４１２に対話装置１００が取得した顔画像に一致する画像が存在しないと判定された場合、認証モジュール３１２は、制御モジュール３１１を介して、推定モジュール３１３を呼び出し、属性推定処理の実行を指示する（ステップＳ１１０５）。その後、認証モジュール３１２は、顔認証処理を終了する。
【０１０７】
なお、すでに属性推定処理が実行されている場合には、リモートブレイン計算機１０１は、再度、属性推定処理を実行しなくてもよい。
【０１０８】
図１２は、実施例１の制御モジュール４１１が実行する顔画像ＤＢ４１２の検索処理の一例を説明するフローチャートである。
【０１０９】
制御モジュール４１１は、リモートブレイン計算機１０１から顔画像ＤＢ４１２の問合せを受け付ける（ステップＳ１２０１）。
【０１１０】
次に、制御モジュール４１１は、問合せに含まれる顔画像の特徴量を用いて検索処理を実行する（ステップＳ１２０２）。
【０１１１】
具体的には、制御モジュール４１１は、顔画像の特徴量と、顔画像ＤＢ４１２の各エントリの特徴量７０３とを用いて、画像の類似度を算出する。制御モジュール４１１は、画像の類似度が第５閾値より大きいエントリを特定する。画像の類似度が第５閾値より大きいエントリが複数存在する場合、制御モジュール４１１は、類似度が最も大きいエントリを選択する。
【０１１２】
次に、制御モジュール４１１は、検索結果を含む応答をリモートブレイン計算機１０１に送信する（ステップＳ１２０３）。
【０１１３】
ステップＳ１２０２の処理において、画像の類似度が第５閾値より大きいエントリが存在する場合、制御モジュール４１１は、検索されたエントリの値を含む応答を送信する。画像の類似度が第５閾値より大きいエントリが存在しない場合、制御モジュール４１１は、エラーを示す値を含む応答を送信する。
【０１１４】
図１３は、実施例１の認証モジュール３１２が実行する静脈認証処理の一例を説明するフローチャートである。
【０１１５】
認証モジュール３１２は、静脈画像の特徴量を算出する（ステップＳ１３０１）。なお、対話装置１００から静脈画像の特徴量を受信している場合には、ステップＳ１３０１の処理を省略できる。
【０１１６】
認証モジュール３１２は、マザーブレイン計算機１０２に、静脈画像の特徴量を含む静脈画像ＤＢ４１３の問合せを行う（ステップＳ１３０２）。
【０１１７】
認証モジュール３１２は、問合せの結果に基づいて、静脈画像ＤＢ４１３に対話装置１００が取得した静脈画像に一致する画像が存在するか否かを判定する（ステップＳ１３０３）。
【０１１８】
静脈画像ＤＢ４１３に対話装置１００が取得した静脈画像に一致する画像が存在すると判定された場合、認証モジュール３１２は、制御モジュール３１１を介して、特定されたエントリの情報を含む認証成功通知を対話装置１００に送信する（ステップＳ１３０４）。その後、認証モジュール３１２は、静脈画像の認証処理を終了する。このとき、認証モジュール３１２は、制御モジュール３１１を介して、登録ユーザ用テンプレート６１０を対話装置１００に送信してもよい。
【０１１９】
静脈画像ＤＢ４１３に対話装置１００が取得した静脈画像に一致する画像が存在しないと判定された場合、認証モジュール３１２は、制御モジュール３１１を介して、推定モジュール３１３を呼び出し、属性推定処理の実行を指示する（ステップＳ１３０５）。その後、認証モジュール３１２は、静脈認証処理を終了する。
【０１２０】
なお、すでに属性推定処理が実行されている場合には、属性推定処理は実行されなくてもよい。
【０１２１】
図１４は、実施例１の制御モジュール４１１が実行する静脈画像ＤＢ４１３の検索処理の一例を説明するフローチャートである。
【０１２２】
制御モジュール４１１は、リモートブレイン計算機１０１から静脈画像ＤＢ４１３の問合せを受け付ける（ステップＳ１４０１）。
【０１２３】
次に、制御モジュール４１１は、問合せに含まれる静脈画像の特徴量を用いて検索処理を実行する（ステップＳ１４０２）。
【０１２４】
具体的には、制御モジュール４１１は、静脈画像の特徴量と、静脈画像ＤＢ４１３の各エントリの特徴量８０３を用いて、画像の類似度を算出する。制御モジュール４１１は、画像の類似度が第６閾値より大きいエントリを特定する。画像の類似度が第６閾値より大きいエントリが複数存在する場合、制御モジュール４１１は、類似度が最も大きいエントリを特定する。
【０１２５】
次に、制御モジュール４１１は、検索結果を含む応答をリモートブレイン計算機１０１に送信する（ステップＳ１４０３）。
【０１２６】
ステップＳ１４０２の処理において、画像の類似度が第６閾値より大きいエントリが存在する場合、制御モジュール４１１は、検索されたエントリの値を含む応答を送信する。画像の類似度が第６閾値より大きいエントリが存在しない場合、制御モジュール４１１は、エラーを示す値を含む応答を送信する。
【０１２７】
図１５は、実施例１の制御モジュール４１１が実行するデータベースの更新処理の一例を説明するフローチャートである。
【０１２８】
制御モジュール４１１は、周期的に又はイベントの発生時に、以下で説明する処理を実行する。イベントとしては、記憶装置４０２の空き領域が閾値より小さくなった場合が考えられる。
【０１２９】
制御モジュール４１１は、顔画像ＤＢ４１２を参照し、属性７０４の全てのフィールドに値が設定されていないエントリを検索する（ステップＳ１５０１）。
【０１３０】
制御モジュール４１１は、顔画像ＤＢ４１２から、検索されたエントリを削除する（ステップＳ１５０２）。なお、エントリに登録日時を格納するフィールドが含まれる場合、制御モジュール４１１は、登録日時と現在の日時との比較し、所定の時間を経過している場合にエントリを削除するようにしてもよい。
【０１３１】
図１５では顔画像ＤＢ４１２についてのみ処理が実行されているが、静脈画像ＤＢ４１３についても同様の処理が実行されてもよい。
【０１３２】
本実施例では、制御モジュール４１１は、属性７０４及び属性８０４に基づいて、削除するエントリを特定していたがこれに限定されない。例えば、削除対象のエントリを示すフラグをエントリに含めてもよい。この場合、制御モジュール４１１は、エントリの追加時にフラグを設定し、一定期間経過後にフラグを削除する。フラグが削除される前に、前述の処理が開始された場合、フラグが設定されたエントリが削除される。
【０１３３】
前述のようなデータベースの制御によって、認証用のデータベースに正式に登録されていないユーザ１１０の情報に基づいて、スムーズな対話が可能となる。例えば、お店に設置された対話装置１００は、認証用のデータベースに正式に登録されていないユーザであって、以前来店したユーザに対して自然かつ充実した対話が可能となる。
【０１３４】
また、顔画像ＤＢ４１２は、推定結果に基づく対話の内容を用いて更新されてもよい。例えば、以下のような処理が考えられる。
【０１３５】
対話装置１００は、推定処理の結果に基づく対話において、当該結果の修正が必要な対話の内容を検出した場合、リモートブレイン計算機１０１に属性の更新要求を送信する。更新要求には、変更する属性の種別及び値が含まれる。リモートブレイン計算機１０１の制御モジュール３１１は、属性の更新要求をマザーブレイン計算機１０２に転送する。マザーブレイン計算機１０２の制御モジュール４１１は、顔画像ＤＢ４１２を参照して正式に登録されていないユーザ１１０のエントリを特定し、属性の更新要求に含まれる情報に基づいて当該エントリの属性７０４を更新する。
【０１３６】
次に、ユーザ１１０にサービスを提供する場合の計算機システムの処理の一例について説明する。
【０１３７】
図１６は、実施例１の計算機システムが提供する決済サービスの一例を説明するフローチャートである。ここでは、静脈画像を用いた決済サービスを例に説明する。なお、顔画像を用いた決済サービスでもよい。
【０１３８】
リモートブレイン計算機１０１は、対話装置１００から静脈画像を受信した場合、以下で説明する処理を開始する。
【０１３９】
リモートブレイン計算機１０１の認証モジュール３１２は、対話装置１００から静脈画像を受信する（ステップＳ１６０１）。
【０１４０】
認証モジュール３１２は、静脈画像の特徴量を算出する（ステップＳ１６０２）。なお、対話装置１００から静脈画像の特徴量を受信している場合には、ステップＳ１４０２の処理を省略できる。
【０１４１】
認証モジュール３１２は、マザーブレイン計算機１０２に、静脈画像の特徴量を含む静脈画像ＤＢ４１３の問合せを行う（ステップＳ１６０３）。当該問合せを受け付けたマザーブレイン計算機１０２は図１４に示す処理を実行する。
【０１４２】
認証モジュール３１２は、問合せの結果に基づいて、静脈画像ＤＢ４１３に対話装置１００が取得した静脈画像に一致する画像が存在するか否かを判定する（ステップＳ１６０４）。
【０１４３】
静脈画像ＤＢ４１３に対話装置１００が取得した静脈画像に一致する画像が存在すると判定された場合、認証モジュール３１２は、決済処理を実行する（ステップＳ１６０５）。その後、認証モジュール３１２は処理を終了する。
【０１４４】
静脈画像ＤＢ４１３に対話装置１００が取得した画像と一致する画像が存在しないと判定された場合、認証モジュール３１２は、対話装置１００を介して、ユーザ１１０にエラーを通知する（ステップＳ１６０６）。その後、認証モジュール３１２は処理を終了する。
【０１４５】
実施例１では、リモートブレイン計算機１０１が、認証モジュール３１２及び推定モジュール３１３を実現するプログラムを保持していたが、対話装置１００又はマザーブレイン計算機１０２が保持してもよい。また、対話装置１００又はマザーブレイン計算機１０２が、リモートブレイン計算機１０１の機能を有する構成であってもよい。また、対話装置１００、リモートブレイン計算機１０１、及びマザーブレイン計算機１０２を一つの計算機を用いて実現してもよい。
【０１４６】
なお、リモートブレイン計算機１０１及びマザーブレイン計算機１０２は、物理的な計算機として実現してもよいし、仮想的な計算機として実現してもよい。
【０１４７】
ここで、実施例１の計算機システムのユースケースの一例について説明する。実施例１の計算機システムは、例えば、食料品、衣料品、及び電化製品等を販売する会社、又は交通会社が運用する基幹業務システムに適用できる。この場合、対話装置１００としては支店に設置されたロボットが対話装置１００に対応し、支店に設置された管理計算機がリモートブレイン計算機１０１に対応し、また、本社に設置された計算機がマザーブレイン計算機１０２に対応する。また、基幹業務システムが提供するサービスとしては、決済サービス、商品の案内サービス、及び経路の案内サービス等が考えられる。
【０１４８】
リモートブレイン計算機１０１は、店に来店したユーザ１１０の属性を推定し、また、対話装置１００は、推定結果に基づいて選択された推定ユーザ用テンプレート６００を用いて発話を開始する。これによって、対話装置１００とユーザ１１０との間で自然かつ充実した対話が可能となるため、計算機システムが提供するサービスに対するユーザ１１０の興味を引くことができる。対話装置１００は、推定ユーザ用テンプレート６００に基づいて、商品をレコメンドする発話、及びユーザのニーズを聞き出す発話を行う。
【０１４９】
リモートブレイン計算機１０１は、ユーザ１１０と対話装置１００との間の距離が第１閾値より小さい場合、顔認証処理を実行し、ユーザ１１０が会員登録されたユーザであるか否かを判定する。
【０１５０】
リモートブレイン計算機１０１は、ユーザ１１０が会員登録されたユーザである場合、対話装置１００に推定ユーザ用テンプレート６００から登録ユーザ用テンプレート６１０への切替を指示する。対話装置１００は、登録ユーザ用テンプレート６１０を用いて会員登録されたユーザ向けの発話を行う。これによって、より自然かつ充実したユーザ１１０との対話が可能となる。
【０１５１】
リモートブレイン計算機１０１は、ユーザ１１０と対話装置１００との間の距離が第２閾値より小さい場合、静脈認証処理を実行し、ユーザ１１０が会員登録されたユーザであるか否かを判定する。
【０１５２】
リモートブレイン計算機１０１は、ユーザ１１０が会員登録されたユーザ１１０である場合、対話装置１００に推定ユーザ用テンプレート６００から登録ユーザ用テンプレート６１０への切替を指示する。対話装置１００は、登録ユーザ用テンプレート６１０を用いて会員登録されたユーザ向けの発話を行う。これによって、より自然かつ充実したユーザ１１０との対話が可能となる。
【０１５３】
基幹業務システムに実施例１の計算機システムを適用した場合、推定処理の結果に基づく発話によって、認証を行っていないユーザ１１０のサービス利用機会を迅速に得ることができる。また、対話装置１００は、認証処理の結果に基づく発話によって、ユーザ１１０のニーズ及び好みに合った発話ができる。これによって、ユーザ１１０に適切なサービスを提供することができる。
【０１５４】
実施例１の計算機システムは、基幹業務システムだけではなく、警備システム等の様々なシステムに適用できる。警備サービスを提供する警備システムに実施例１の計算機システムを適用した場合、リモートブレイン計算機１０１は、ステップＳ１３０５の処理の代わりに以下のような処理を実行すればよい。すなわち、顔認証処理及び静脈認証処理のいずれでも認証が成功しなかった場合、リモートブレイン計算機１０１は、対話装置１００にユーザ１１０に対する警告を指示してもよいし、また、警備会社に連絡してもよい。
【０１５５】
実施例１では、リモートブレイン計算機１０１が画像を用いてユーザ１１０の属性を推定し、対話装置１００が推定結果に基づいて発話を行う。属性推定処理では、画像を格納した顔画像ＤＢ４１２及び静脈画像ＤＢ４１３を参照する必要がないため、認証処理より高速に実行できる。したがって、発話に使用する推定ユーザ用テンプレート６００（アルゴリズム）を高速に選択でき、ユーザ１１０に対する発話の開始が迅速に行える。また、顔画像ＤＢ４１２及び静脈画像ＤＢ４１３のいずれにも登録されていないユーザに対しても、推定結果に基づく発話が可能となる。
【実施例２】
【０１５６】
実施例２では、顔認証処理において属性推定処理の結果を用いてデータの参照範囲を絞り込み、また、静脈画像処理において属性推定処理の結果又は顔認証処理の結果を用いてデータの参照範囲を絞り込む点が実施例１と異なる。以下、実施例１との差異を中心に実施例２について説明する。
【０１５７】
実施例２の計算機システムの構成は、実施例１の計算機システムの構成と同一である。実施例２の対話装置１００、リモートブレイン計算機１０１、及びマザーブレイン計算機１０２の構成は、実施例１の各装置の構成と同一である。また、各装置が保持するデータベースのデータ構造は、実施例１のデータベースのデータ構造と同一である。
【０１５８】
実施例２では、属性推定処理、顔認証処理、及び静脈認証処理が一部異なる。
【０１５９】
まず、実施例２の属性推定処理について説明する。推定モジュール３１３は、ステップＳ１０１４において、属性推定処理の結果を記憶装置３０２に格納する。他の処理は実施例１と同一である。
【０１６０】
次に、実施例２の顔認証処理及び顔画像ＤＢ４１２の検索処理について説明する。
【０１６１】
認証モジュール３１２は、ステップＳ１１０２において、記憶装置３０２に格納された属性推定処理の結果を含む問合せを行う。
【０１６２】
問合せを受け付けたマザーブレイン計算機１０２の制御モジュール４１１は、ステップＳ１２０２において以下のような処理を実行する。
【０１６３】
制御モジュール４１１は、顔画像ＤＢ４１２を参照し、属性推定処理の結果に合致するエントリを特定する。制御モジュール４１１は、顔画像の特徴量と、特定されたエントリの特徴量７０３を用いて、画像の類似度を算出する。制御モジュール４１１は、画像の類似度が第５閾値より大きいエントリを特定する。
【０１６４】
画像の類似度が第５閾値より大きいエントリが存在しない場合、制御モジュール４１１は、画像の類似度が第７閾値より大きいエントリを特定する。以上が実施例２のステップＳ１２０２の処理である。
【０１６５】
ステップＳ１２０３では、制御モジュール４１１は、検索処理の成功を示す値及び画像の類似度が第５閾値より大きいエントリの値、又は、検索処理の失敗を示す値及び画像の類似度が第７閾値より大きいエントリの値を含む応答を送信する。
【０１６６】
認証モジュール３１２は、ステップＳ１１０３において、検索処理の結果を示す値に基づいて判定を行う。また、認証モジュール３１２は、ステップＳ１１０５において、画像の類似度が第７閾値より大きいエントリの値を記憶装置３０２に格納する。
【０１６７】
次に、実施例２の静脈認証処理及び静脈画像ＤＢ４１３の検索処理について説明する。
【０１６８】
認証モジュール３１２は、ステップＳ１３０２において、属性推定処理の結果及び顔画像の認証処理の結果の少なくともいずれかを含む問合せを行う。具体的には、記憶装置３０２に属性推定処理の結果のみが格納される場合、認証モジュール３１２は、属性推定処理の結果を含む問合せを行い、記憶装置３０２に顔画像の認証処理の結果が格納される場合、認証モジュール３１２は、顔画像の認証処理の結果を含む問合せを行う。
【０１６９】
問合せを受け付けたマザーブレイン計算機１０２の制御モジュール４１１は、ステップＳ１４０２において以下のような処理を実行する。
【０１７０】
制御モジュール４１１は、属性推定処理の結果を含む問合せを受け付けた場合、静脈画像ＤＢ４１３を参照し、属性推定処理の結果に合致するエントリを特定する。制御モジュール４１１は、顔認証処理の結果を含む問合せを受け付けた場合、静脈画像ＤＢ４１３を参照し、顔認証処理の結果に合致するエントリを特定する。
【０１７１】
制御モジュール４１１は、顔画像の特徴量と、特定されたエントリの特徴量８０３を用いて、画像の類似度を算出する。制御モジュール４１１は、画像の類似度が第６閾値より大きいエントリを特定する。以上がステップＳ１４０２の処理の説明である。
【０１７２】
ステップＳ１４０１及びステップＳ１４０３の処理は実施例１の処理と同一である。
【０１７３】
実施例２によれば、属性推定処理の結果を用いることによって顔認証処理を高速化でき、また、属性推定処理の結果及び顔認証処理の結果の少なくともいずれかを用いることによって静脈認証処理を高速化できる。
【実施例３】
【０１７４】
実施例３では、属性推定処理の結果及び顔認証処理の結果に基づいて、顔画像ＤＢ４１２及び静脈画像ＤＢ４１３の一部をリモートブレイン計算機１０１にコピーする点が実施例１と異なる。以下、実施例１との差異を中心に実施例３について説明する。
【０１７５】
実施例３の計算機システムの構成は、実施例１の計算機システムの構成と同一である。実施例３の対話装置１００、リモートブレイン計算機１０１、及びマザーブレイン計算機１０２の構成は、実施例１の各装置の構成と同一である。また、各装置が保持するデータベースのデータ構造は、実施例１のデータベースのデータ構造と同一である。
【０１７６】
実施例３では、属性推定処理、顔認証処理、及び静脈認証処理が一部異なる。
【０１７７】
まず、実施例３の属性推定処理について説明する。
【０１７８】
ステップＳ１０１４において、推定モジュール３１３は、制御モジュール３１１を介して、マザーブレイン計算機１０２に属性推定処理の結果を含むデータの取得要求を送信する。
【０１７９】
マザーブレイン計算機１０２の制御モジュール４１１は、当該要求を受信した場合、顔画像ＤＢ４１２から属性７０４がデータの取得要求に含まれる値に一致するエントリを検索する。制御モジュール４１１は、検索されたエントリを含む応答を推定モジュール３１３に送信する。
【０１８０】
推定モジュール３１３は、受信した応答に含まれるエントリを記憶装置３０２に格納する。
【０１８１】
次に、実施例３の顔認証処理について説明する。
【０１８２】
ステップＳ１１０２において、認証モジュール３１２は、マザーブレイン計算機１０２への問合せの代わりに、記憶装置３０２に格納された顔画像ＤＢ４１２のエントリを用いて以下の処理を実行する。したがって、実施例３では、図１２に示す顔画像ＤＢ４１２の検索処理が実行されない。
【０１８３】
認証モジュール３１２は、推定モジュール３１３によって記憶装置３０２に格納されたエントリを用いて顔画像の類似度を算出し、顔画像の類似度が第５閾値より大きいエントリを検索する。顔画像の類似度が第５閾値より大きいエントリが存在しない場合、認証モジュール３１２は、記憶装置３０２に格納されるエントリの中から顔画像の類似度が第８閾値より大きいエントリを検索し、検索されたエントリのみを記憶装置３０２に保存する。その他の処理は実施例１と同一である。
【０１８４】
次に、実施例３の静脈認証処理について説明する。
【０１８５】
ステップＳ１３０２において、認証モジュール３１２は、マザーブレイン計算機１０２への問合せの代わりに、記憶装置３０２に格納された顔画像ＤＢ４１２のエントリを用いて以下の処理を実行する。したがって、実施例３では、図１４に示す静脈画像ＤＢ４１３の検索処理が実行されない。
【０１８６】
認証モジュール３１２は、類似度が第８閾値より大きいエントリの中から、静脈画像の類似度が第６閾値より大きいエントリを検索する。その他の処理は実施例１と同一である。
【０１８７】
実施例３によれば、属性推定処理の結果及び顔認証処理の結果に基づいて絞り込まれたデータベースの一部をリモートブレイン計算機１０１に保存することによって、マザーブレイン計算機１０２へのアクセス回数を削減している。これによって、認証処理を高速化でき、また、マザーブレイン計算機１０２にアクセスできない場合でも、認証処理を実行できる。
【０１８８】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０１８９】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０１９０】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０１９１】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０１９２】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０１９３】
１００  対話装置
１０１  リモートブレイン計算機
１０２  マザーブレイン計算機
１０３  ネットワーク
１１０  ユーザ
２０１、３０１、４０１  演算装置
２０２、３０２、４０２  記憶装置
２０３、３０３、４０３  通信装置
２０４  撮像装置
２０５  音声再生装置
２０６  集音装置
２０７  駆動制御装置
２０８  駆動装置
２１１、３１１、４１１  制御モジュール
２１２、３１４  対話ＤＢ
３１２  認証モジュール
３１３  推定モジュール
４１２  顔画像ＤＢ
４１３  静脈画像ＤＢ
５００  言語辞書
６００  推定ユーザ用テンプレート
６１０  登録ユーザ用テンプレート
【図１】
2018206228.tif 000003
【図２】
2018206228.tif 000004
【図３】
2018206228.tif 000005
【図４】
2018206228.tif 000006
【図５】
2018206228.tif 000007
【図６Ａ】
2018206228.tif 000008
【図６Ｂ】
2018206228.tif 000009
【図７】
2018206228.tif 000010
【図８】
2018206228.tif 000011
【図９】
2018206228.tif 000012
【図１０Ａ】
2018206228.tif 000013
【図１０Ｂ】
2018206228.tif 000014
【図１１】
2018206228.tif 000015
【図１２】
2018206228.tif 000016
【図１３】
2018206228.tif 000017
【図１４】
2018206228.tif 000018
【図１５】
2018206228.tif 000019
【図１６】
2018206228.tif 000020