(57)【要約】  対話ボット管理装置は、対話システムにおいて主記憶部に記憶させるボットを管理する装置であって、ボットの動作が記述された対話シナリオ情報を取得する取得部と、各ボットの対話シナリオ情報に基づいて、二次記憶部に記憶されているボットを主記憶部にキャッシュすることの要否を決定しうる情報であって当該ボットが実行される条件を含む情報であるメタデータを生成するメタデータ生成部と、メタデータに基づいて各ボットを主記憶部へキャッシュすべきか否かを示すキャッシュポリシーを生成するキャッシュポリシー生成部と、キャッシュポリシーに基づいて、各ボットの主記憶部へのキャッシュまたは各ボットの主記憶部からの削除を実行するキャッシュ実行部と、を備える。
2020208859.tif 000002
【特許請求の範囲】
【請求項１】
主記憶部に記憶された１以上のボットを実行することにより対話処理を実行する対話システムにおいて、前記主記憶部に記憶させる前記ボットを管理する対話ボット管理装置であって、
前記ボットは、前記対話処理のための対話シナリオが規定されたデータであり、
前記対話ボット管理装置は、
前記ボットの動作が記述された対話シナリオ情報を取得する取得部と、
各ボットの前記対話シナリオ情報に基づいて、前記主記憶部とは異なる記憶部である第２記憶部に記憶されているボットを主記憶部にキャッシュすることの要否を決定しうる情報であって当該ボットが実行される条件を含む情報であるメタデータを生成するメタデータ生成部と、
前記メタデータに基づいて、各ボットを前記主記憶部へキャッシュすべきか否かを示すキャッシュポリシーを生成するキャッシュポリシー生成部と、
前記キャッシュポリシーに基づいて、各ボットの主記憶部へのキャッシュまたは各ボットの主記憶部からの削除を実行するキャッシュ実行部と、
を備える対話ボット管理装置。
【請求項２】
前記対話システムにおける時間的または環境的な条件を示す外部条件情報を取得する外部条件取得部、をさらに備え、
前記メタデータは、当該ボットが実行される外部条件を示す実行条件情報を含み、
前記キャッシュポリシー生成部は、前記実行条件情報を含む前記メタデータ及び前記外部条件情報に基づいて、前記キャッシュポリシーを生成する、
請求項１に記載の対話ボット管理装置。
【請求項３】
前記外部条件情報は、日時、季節及び天気のうちの少なくとも一つの情報を含み、
前記実行条件情報は、当該ボットが実行される日時、季節及び天気のうちの少なくとも一つの情報を含む、
請求項２に記載の対話ボット管理装置。
【請求項４】
各対話シナリオ情報は、当該ボットの実行の後に実行される遷移先のボット、又は、当該ボットの実行の前に実行される遷移元のボットを示す情報を含み、
前記対話ボット管理装置は、
前記対話シナリオ情報における遷移元または遷移先のボットを示す情報に基づいて、互いに連鎖して実行されるボットを特定する連鎖ボット特定情報を生成する連鎖ボット特定部、をさらに備え、
前記キャッシュポリシー生成部は、前記連鎖ボット特定情報及び前記メタデータに基づいて、一のボットをキャッシュすべき又は削除すべきであることを示す情報に加えて、当該一のボットと連鎖して実行されるボットをキャッシュすべき又は削除すべきことを示す情報を含む前記キャッシュポリシーを生成する、
請求項１〜３のいずれか一項に記載の対話ボット管理装置。
【請求項５】
前記メタデータ生成部は、所定の入力情報に基づいて、当該ボットが前記主記憶部に強制的にキャッシュすべきホットスタンバイボットであることを示す情報、又は、キャッシュしないコールドスタンバイボットであることを示す情報を含む前記メタデータを生成し、
前記キャッシュポリシー生成部は、
対応するボットがホットスタンバイボットであることを示す情報を含む前記メタデータに基づいて、当該ボットをキャッシュすべきことを示す前記キャッシュポリシーを生成し、
対応するボットがコールドスタンバイボットであることを示す情報を含む前記メタデータに基づいて、当該ボットをキャッシュしないことを示す前記キャッシュポリシーを生成する、
請求項１〜４のいずれか一項に記載の対話ボット管理装置。
【請求項６】
前記メタデータ生成部は、所定の入力情報に基づいて、当該ボットが即時の実行を要求されない遅延許容ボットであることを示す情報を含む前記メタデータを生成し、
前記キャッシュポリシー生成部は、対応するボットが遅延許容ボットであることを示す情報を含む前記メタデータに基づいて、当該ボットをキャッシュしないことを示す前記キャッシュポリシーを生成する、
請求項１〜５のいずれか一項に記載の対話ボット管理装置。
【請求項７】
主記憶部に記憶された１以上のボットを実行することにより対話処理を実行する対話システムにおいて、前記主記憶部に記憶させる前記ボットを管理する対話ボット管理装置により実行される対話ボット管理方法であって、
前記ボットは、前記対話処理のための対話シナリオが規定されたデータであり、
前記対話ボット管理方法は、
前記ボットの動作が記述された対話シナリオ情報に基づいて生成されたメタデータであって、前記主記憶部とは異なる記憶部である第２記憶部に記憶されているボットを主記憶部にキャッシュすることの要否を決定しうる情報であり当該ボットが実行される条件を含む情報であるメタデータに基づいて、各ボットを前記主記憶部へキャッシュすべきか否かを示すキャッシュポリシーを生成するキャッシュポリシー生成ステップと、
前記キャッシュポリシーに基づいて、各ボットの主記憶部へのキャッシュまたは各ボットの主記憶部からの削除を実行するキャッシュ実行ステップと、
を有する対話ボット管理方法。
【請求項８】
コンピュータを、主記憶部に記憶された１以上のボットを実行することにより対話処理を実行する対話システムにおいて、前記主記憶部に記憶させる前記ボットを管理する対話ボット管理装置として機能させるための対話ボット管理プログラムであって、
前記ボットは、前記対話処理のための対話シナリオが規定されたデータであり、
前記対話ボット管理プログラムは、前記コンピュータに、
前記ボットの動作が記述された対話シナリオ情報に基づいて生成されたメタデータであって、前記主記憶部とは異なる記憶部である第２記憶部に記憶されているボットを主記憶部にキャッシュすることの要否を決定しうる情報であり当該ボットが実行される条件を含む情報であるメタデータに基づいて、各ボットを前記主記憶部へキャッシュすべきか否かを示すキャッシュポリシーを生成するキャッシュポリシー生成機能と、
前記キャッシュポリシーに基づいて、各ボットの主記憶部へのキャッシュまたは各ボットの主記憶部からの削除を実行するキャッシュ実行機能と、
を実現させる対話ボット管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話ボット管理装置、対話ボット管理方法及び対話ボット管理プログラムに関する。
【背景技術】
【０００２】
ユーザとの対話を実現させる対話システムでは、対話内容に応じた対話シナリオに基づいて、システム側の発話であるシステム発話が生成される。対話シナリオは、いわゆるボットにより構成される。ボットは、対話シナリオが規定されたデータであり、対話内容及び機能ごとに設けられる。プロセッサがユーザの発話に応じたシステム発話を生成するためには、ボットを主記憶に保存（ロード）する必要がある。例えば、ウェブベースの対話システムにおいて、ユーザの嗜好及び視聴パターンに基づいて、ブラウザのキャッシュに、対話イベントや関係するスクリプトを定義する対話型文書が格納される技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１１−５２１５０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ボットは、ユーザとの対話を実現させるために参照及び実行されるデータであるので、あるボットの実行が必要となった後に主記憶にロードさせることとなると、応答に大きな遅延が発生することとなるので、従来においては、全てのボットを主記憶にロードしていた。しかしながら、様々な対話を実現させるために、対話シナリオの肥大化及びボット数が増加しており、主記憶の容量が圧迫されることとなっていた。その一方で、主記憶にロードされたボットのうち、実行されるボットは一部であって、多くのボットが実行されないことがあった。【０００５】
そこで、本発明は、上記問題点に鑑みてなされたものであり、動的に適切なボットを保存させることにより主記憶の効率的な利用を図ることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の一形態に係る対話ボット管理装置は、主記憶部に記憶された１以上のボットを実行することにより対話処理を実行する対話システムにおいて、主記憶部に記憶させるボットを管理する対話ボット管理装置であって、ボットは、対話処理のための対話シナリオが規定されたデータであり、対話ボット管理装置は、ボットの動作が記述された対話シナリオ情報を取得する取得部と、各ボットの対話シナリオ情報に基づいて、主記憶部とは異なる記憶部である第２記憶部に記憶されているボットを主記憶部にキャッシュすることの要否を決定しうる情報であって当該ボットが実行される条件を含む情報であるメタデータを生成するメタデータ生成部と、メタデータに基づいて、各ボットを主記憶部へキャッシュすべきか否かを示すキャッシュポリシーを生成するキャッシュポリシー生成部と、キャッシュポリシーに基づいて、各ボットの主記憶部へのキャッシュまたは各ボットの主記憶部からの削除を実行するキャッシュ実行部と、を備える。【０００７】
上記の形態によれば、各ボットの対話処理の内容が記述された対話シナリオ情報に基づいて、当該ボットが実行される条件を含むメタデータが生成される。対話システムにおいて参照されるボットは、有限の量であるので、その対話システムにおいて実行され得る全てのボットのメタデータを予め生成することができる。そして、このように生成されたメタデータに基づいて、キャッシュポリシーを適時に生成できるので、生成されたキャッシュポリシーに基づいて、ボットの主記憶部へのキャッシュまたは削除を実行することにより、主記憶部の効率的な利用が可能となる。
【発明の効果】
【０００８】
動的に適切なボットを保存させることにより主記憶の効率的な利用を図ることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態の対話ボット管理装置を含む対話システムの機能的構成を示すブロック図である。
【図２】対話ボット管理装置のハードブロック図である。
【図３】二次記憶から主記憶部へのボットのキャッシュを模式的に示す図である。
【図４】図４（ａ）は、ボットの動作が記述された対話シナリオ情報の例を示す図である。図４（ｂ）は、ボットの動作が記述された対話シナリオ情報の例を示す図である。図４（ｃ）は、ボットの動作が記述された対話シナリオ情報の例を示す図である。
【図５】図５（ａ）は、メタデータの例を模式的に示す図である。図５（ｂ）は、メタデータの例を模式的に示す図である。
【図６】図６（ａ）は、対話シナリオに基づいて連鎖して実行される連鎖ボットを模式的に示す図である。図６（ｂ）は、対話シナリオに基づいて連鎖して実行される連鎖ボットを模式的に示す図である。図６（ｃ）は、対話シナリオに基づいて連鎖して実行される連鎖ボットを模式的に示す図である。
【図７】連鎖ボット特定情報を模式的に示す図である。
【図８】キャッシュポリシーを模式的に示す図である。
【図９】対話ボット管理装置における対話ボット管理処理の内容を示すフローチャートである。
【図１０】対話ボット管理装置におけるキャッシュ処理の内容を示すフローチャートである。
【図１１】対話ボット管理プログラムの構成を示す図である。
【発明を実施するための形態】
【００１０】
本発明に係る対話ボット管理装置の実施形態について図面を参照して説明する。なお、可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【００１１】
図１は、本実施形態に係る対話ボット管理装置１０を含む対話システム１の機能的構成を示す図である。対話システム１は、音声からなるシステム発話を出力することによりユーザとの対話を行うシステムである。図１に示すように、対話システム１は、対話ボット管理装置１０を構成する各機能部１１〜１６、対話実行部１７、二次記憶部２０、主記憶部３０、対話シナリオ情報記憶部４０、メタデータ記憶部５０及びキャッシュポリシー記憶部６０を含む。対話システム１は、１つの装置として構成されてもよいし、各機能部及び各記憶部が複数の装置に分散されて構成されてもよい。
【００１２】
対話システム１は、主記憶部３０に記憶された１以上のボットを実行することにより対話処理を実行する。対話ボット管理装置１０は、主記憶部３０に記憶させるボットを管理する装置である。ボットは、対話処理のための対話シナリオが規定されたデータであって、コンピュータにより実行されうるプログラムとしての側面を有する。
【００１３】
対話ボット管理装置１０は、取得部１１、メタデータ生成部１２、連鎖ボット特定部１３、外部条件取得部１４、キャッシュポリシー生成部１５及びキャッシュ実行部１６を備える。また、対話ボット管理装置１０の各機能部１１〜１６及び対話実行部１７は、各記憶部２０，３０，４０，５０，６０にアクセス可能に構成されている。
【００１４】
なお、図１に示したブロック図は、機能単位のブロックを示している。これらの機能ブロック（構成部）は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した１つの装置を用いて実現されてもよいし、物理的又は論理的に分離した２つ以上の装置を直接的又は間接的に（例えば、有線、無線などを用いて）接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記１つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
【００１５】
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知（broadcasting）、通知（notifying）、通信（communicating）、転送（forwarding）、構成（configuring）、再構成（reconfiguring）、割り当て（allocating、mapping）、割り振り（assigning）などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック（構成部）は、送信部（transmitting  unit）や送信機（transmitter）と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
【００１６】
例えば、本発明の一実施の形態における対話システム１及び対話ボット管理装置１０は、コンピュータとして機能してもよい。図２は、本実施形態に係る対話システム１及び対話ボット管理装置１０のハードウェア構成の一例を示す図である。対話システム１及び対話ボット管理装置１０は、物理的には、プロセッサ１００１、メモリ１００２、ストレージ１００３、通信装置１００４、入力装置１００５、出力装置１００６、バス１００７などを含むコンピュータ装置として構成されてもよい。
【００１７】
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。対話システム１及び対話ボット管理装置１０のハードウェア構成は、図に示した各装置を１つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
【００１８】
対話システム１及び対話ボット管理装置１０における各機能は、プロセッサ１００１、メモリ１００２などのハードウェア上に所定のソフトウェア（プログラム）を読み込ませることで、プロセッサ１００１が演算を行い、通信装置１００４による通信や、メモリ１００２及びストレージ１００３におけるデータの読み出し及び／又は書き込みを制御することで実現される。
【００１９】
プロセッサ１００１は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ１００１は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置（ＣＰＵ：Central  Processing  Unit）で構成されてもよい。例えば、図１に示した各機能部１１〜１７などは、プロセッサ１００１で実現されてもよい。
【００２０】
また、プロセッサ１００１は、プログラム（プログラムコード）、ソフトウェアモジュールやデータを、ストレージ１００３及び／又は通信装置１００４からメモリ１００２に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、対話システム１及び対話ボット管理装置１０の各機能部１１〜１７は、メモリ１００２に格納され、プロセッサ１００１で動作する制御プログラムによって実現されてもよい。上述の各種処理は、１つのプロセッサ１００１で実行される旨を説明してきたが、２以上のプロセッサ１００１により同時又は逐次に実行されてもよい。プロセッサ１００１は、１以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
【００２１】
メモリ１００２は、コンピュータ読み取り可能な記録媒体であり、例えば、ＲＯＭ（Read  Only  Memory）、ＥＰＲＯＭ（Erasable  Programmable  ＲＯＭ）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ＲＯＭ）、ＲＡＭ（Random  Access  Memory）などの少なくとも１つで構成されてもよい。メモリ１００２は、レジスタ、キャッシュ、メインメモリ（主記憶装置）などと呼ばれてもよい。メモリ１００２は、本発明の一実施の形態に係る対話ボット管理方法を実施するために実行可能なプログラム（プログラムコード）、ソフトウェアモジュールなどを保存することができる。
【００２２】
ストレージ１００３は、コンピュータ読み取り可能な記録媒体であり、例えば、ＣＤ−ＲＯＭ（Compact  Disc  ＲＯＭ）などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Ｂｌｕ−ｒａｙ（登録商標）ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー（登録商標）ディスク、磁気ストリップなどの少なくとも１つで構成されてもよい。ストレージ１００３は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ１００２及び／又はストレージ１００３を含むデータベース、サーバその他の適切な媒体であってもよい。
【００２３】
通信装置１００４は、有線及び／又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア（送受信デバイス）であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
【００２４】
入力装置１００５は、外部からの入力を受け付ける入力デバイス（例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど）である。出力装置１００６は、外部への出力を実施する出力デバイス（例えば、ディスプレイ、スピーカー、LEDランプなど）である。なお、入力装置１００５及び出力装置１００６は、一体となった構成（例えば、タッチパネル）であってもよい。
【００２５】
また、プロセッサ１００１やメモリ１００２などの各装置は、情報を通信するためのバス１００７で接続される。バス１００７は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
【００２６】
また、対話システム１及び対話ボット管理装置１０は、マイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ：Digital  Signal  Processor）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＰＬＤ（Programmable  Logic  Device）、ＦＰＧＡ（Field  Programmable  Gate  Array）などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ１００１は、これらのハードウェアの少なくとも１つで実装されてもよい。
【００２７】
まず、対話システム１の各機能部の説明に先立って、本実施形態の対話ボット管理装置１０が管理するボットについて図３を参照しながら説明する。図３は、二次記憶部２０から主記憶部３０へのボットのキャッシュを模式的に示す図である。ボットは、前述のとおり、対話処理のための対話シナリオが規定されたデータである。
【００２８】
ボットの動作が記述された対話シナリオ情報は、例えばＡＩＭＬ（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）といったソフトウェア構築のためのマークアップ言語により記述される。各ボットの対話シナリオ情報は、例えば、マネジメントサーバ１００により記憶及び管理されている。対話シナリオ情報をコンパイルすることにより、ボットｂｔを構成するＤＡＴファイルが生成されるＤＡＴファイルにより構成されるボットｂｔは、マネジメントサーバ１００から対話システム１に転送され、二次記憶部２０に保存される。なお、複数のボットｂｔによりプロジェクトｐｊが構成されることとしてもよい。プロジェクトｐｊは、例えば、ある一つのアプリケーションを構成するための複数のボットｂｔのまとまりである。
【００２９】
対話ボット管理装置１０は、ボットｂｔをプロセッサにより実行させるために、二次記憶部２０に記憶されているボットｂｔを、主記憶部３０にロード（保存）する。具体的には、主記憶部３０は、対話シナリオのための領域ａｒ１及びプログラムのための領域ａｒ２を含み得るので、対話ボット管理装置１０は、二次記憶部２０に記憶されているボットｂｔを領域ａｒ１に保存する。
【００３０】
次に、対話ボット管理装置１０を含む対話システム１の各機能部について説明する。取得部１１は、ボットの動作が記述された対話シナリオ情報を取得する。具体的には、取得部１１は、対話シナリオ情報記憶部４０から対話シナリオ情報を取得する。対話シナリオ情報記憶部４０は、対話シナリオ情報を記憶している記憶手段である。図３を参照して説明した例に当てはめるならば、対話シナリオ情報記憶部４０は、マネジメントサーバ１００に構成されることとしてもよい。
【００３１】
図４は、対話シナリオ情報の例を示す図である。具体的には、図４（ａ）〜図４（ｃ）はそれぞれ、ボットを構成する対話シナリオ情報の一部を示す。図４（ａ）に示す対話シナリオ情報ｓｎ１には、ボットＩＤ（２）のボットに遷移することが記述されている。即ち、対話シナリオ情報ｓｎ１に基づいて生成されたボットが実行されると、対話システム１は、当該ボットに記述された対話処理を実行すると共に、実行対象をボットＩＤ（２）のボットに遷移させる。
【００３２】
図４（ｂ）に示す対話シナリオ情報ｓｎ２には、当該ボットを「１月１日」に実行させることが記述されている。即ち、対話システム１は、対話シナリオ情報ｓｎ２に基づいて生成されたボットを「１月１日」に実行し、「１月１日」以外には実行しない。
【００３３】
図４（ｃ）に示す対話シナリオ情報ｓｎ３には、当該ボットを「９時〜１０時」の間に実行させることが記述されている。即ち、対話システム１は、対話シナリオ情報ｓｎ３に基づいて生成されたボットを、１日のうちの「９時〜１０時」の間に実行し、「９時〜１０時」の間以外の時間帯には実行しない。
【００３４】
メタデータ生成部１２は、各ボットの対話シナリオ情報に基づいて、各ボットが実行される条件を含む情報であるメタデータをボットごとに生成する。メタデータは、後述するように、各ボットを主記憶部３０にキャッシュすべきか否かを示すキャッシュポリシーを生成するために参照されるので、二次記憶部２０に記憶されているボットを主記憶部３０にキャッシュすることの要否を決定しうる情報である。
【００３５】
メタデータは、二次記憶部２０（第２記憶部）に記憶されているボットのそれぞれに対応する対話シナリオ情報に基づいて、ボットごとに生成される。メタデータは、例えばＡＩＭＬ等により記述される対話シナリオ情報の解析の結果により得ることができる。即ち、メタデータ生成部１２は、各ボットに対応する対話シナリオ情報を参照及び解析し、当該ボットが実行される条件等を抽出して、各ボットを主記憶部３０にキャッシュすることの要否を決定しうる情報として、メタデータをボットごとに生成する。
【００３６】
メタデータ生成部１２は、例えば、対話シナリオ情報ｓｎ１を参照して、当該ボットが、ボットＩＤ（２）のボットに実行対象を遷移させるボットであることを示す情報を含むメタデータを生成する。また、メタデータ生成部１２は、対話シナリオ情報ｓｎ２を参照して、当該ボットが、１月１日に実行させるボットであることを示す情報を含むメタデータを生成する。また、メタデータ生成部１２は、対話シナリオ情報ｓｎ３を参照して、当該ボットが、９時〜１０時の間に実行させるボットであることを示す情報を含むメタデータを生成する。
【００３７】
また、メタデータは、当該メタデータに対応するボットが実行される外部条件を示す実行条件情報を含むことができる。外部条件は、例えば、日時、季節及び天気のうちの少なくとも一つであってもよい。実行条件情報は、当該ボットが実行される日時、季節及び天気のうちの少なくとも一つの情報を含むことができる。
【００３８】
図５は、メタデータの例を示す図である。図５に示す例では、メタデータは、「年」、「月」、「日」、「時刻」及び「季節」の情報を実行条件情報として含む。図５（ａ）に示すメタデータｍｔ１は、項目「年」、「月」、「日」及び「季節」に関連付けて「いつでも（ａｎｙ）」という情報を含むので、メタデータｍｔ１に対応するボットが実行される「年」、「月」、「日」及び「季節」は限定されない。一方、メタデータｍｔ１は、項目「時刻」に関連付けて「８：００−９：００」の情報を含むので、メタデータｍｔ１に対応するボットは、日時及び季節に関わらず、時刻「８：００−９：００」に実行されるボットである。
【００３９】
また、メタデータは、「キャッシュ削除」及び「遅延」といった項目を含んでもよい。項目「キャッシュ削除」は、当該ボットが主記憶部３０から削除可能であるか否かを示す情報である。メタデータｍｔ１は、項目「キャッシュ削除」に関連付けて「可能」という情報を含むので、メタデータｍｔ１に対応するボットが、キャッシュ要否の判断の結果に応じて主記憶部３０から削除させることが可能なボットであることを示す。即ち、メタデータｍｔ１に対応するボットは、主記憶部３０に強制的にキャッシュさせないボットであるコールドスタンバイボットであることを示す。
【００４０】
これに対して、メタデータが、項目「キャッシュ削除」に関連付けて「不可能」という情報を含む場合には、当該メタデータに対応するボットが、主記憶部３０に常駐させるべきボットであることを示す。即ち、当該ボットが、主記憶部３０に強制的にキャッシュさせるべきホットスタンバイボットであることを示す。
【００４１】
項目「遅延」は、当該ボットが即時の実行を要求されない遅延許容ボットであるか否かを示す情報である。メタデータｍｔ１は、項目「遅延」に関連付けて「非許容」という情報を含むので、メタデータｍｔ１に対応するボットが、即時の実行を要求されるボットであって、遅延許容ボットではないことを示す。
【００４２】
遅延許容ボットは、例えば、利用交通機関及び地図等の検索処理を経て回答が発話されるようなボットである。このようなボットでは、ユーザが対話システムに対して考えるための時間を許容できるものと考えられるので、即時性が要求されない。一方、例えば、ユーザに挨拶をしたり、雑談をしたりするようなボットでは、応答の即時性が要求されるので、そのようなボットは、遅延許容ボットに該当しない。
【００４３】
メタデータ生成部１２は、所定の入力情報に基づいて、メタデータの項目「キャッシュ削除」及び項目「遅延」の情報を設定してもよい。メタデータ生成部１２は、例えば、対話システム１の管理者等による入力に基づいて、これらの項目の設定をしてもよい。
【００４４】
図５（ｂ）に示すメタデータｍｔ２は、項目「年」及び「時刻」に関連付けて「いつでも（ａｎｙ）」という情報を含むので、メタデータｍｔ２に対応するボットが実行される「年」及び「時刻」は限定されない。一方、メタデータｍｔ１は、項目、「月」、「日」に関連付けてそれぞれ「１」、「１」の情報を含むので、メタデータｍｔ２に対応するボットは、年及び時刻に関わらず、月及び日が１月１日であるときに実行されるボットである。
【００４５】
また、メタデータｍｔ２は、項目「キャッシュ削除」に関連付けて「可能」という情報を含むので、メタデータｍｔ２に対応するボットがコールドスタンバイボットであることを示す。また、メタデータｍｔ２は、項目「遅延」に関連付けて「非許容」という情報を含むので、メタデータｍｔ２に対応するボットが、即時の実行を要求されるボットであって、遅延許容ボットではないことを示す。
【００４６】
メタデータ生成部１２は、生成したメタデータをメタデータ記憶部５０に記憶させる。メタデータ記憶部５０は、メタデータを記憶する記憶手段である。
【００４７】
連鎖ボット特定部１３は、対話シナリオ情報における遷移元または遷移先のボットを示す情報に基づいて、互いに連鎖して実行されるボットである連鎖ボットを特定する連鎖ボット特定情報を生成する。対話シナリオ情報は、当該ボットの実行の後に実行される遷移先のボット、又は、当該ボットの実行の前に実行される遷移元のボットを示す情報を含む場合がある。例えば、図４（ａ）に示す対話シナリオ情報ｓｎ１は、遷移先のボットの情報としてボットＩＤ（２）を含む。連鎖ボット特定部１３は、対話シナリオ情報ｓｎ１に対応するボットの連鎖ボットとして、ボットＩＤ（２）のボットを特定する。
【００４８】
図６は、連鎖ボットの例を模式的に示す図である。図６（ａ）に示す例では、ボット１は、フロントボットである。フロントボットは、対話開始時にユーザからの発話入力に応じて最初に実行されるボットである。ボット１の連鎖ボットは、ボット２である。ボット２の連鎖ボットは、ボット３またはボット４である。従って、ボット３及びボット４も、ボット１の連鎖ボットとして特定される。以下、同様に、ボット１の連鎖ボットとして、ボット２〜８が特定される。即ち、ボット２〜８は、ボット１が実行された後に必ず実行されるボット、または、実行される可能性が高いボットである。従って、ボット１が主記憶部３０に保存（キャッシュ）された場合には、ボット２〜８も主記憶部３０にキャッシュされるべきである。
【００４９】
図６（ｂ）に示す例では、ボット９は、「１月１日」という日時に関する外部条件が成立したときに実行されるボットである。従って、後に詳述するように、ボット９は、日時が「１月１日」になったときに主記憶部３０にキャッシュされるべきである。さらに、ボット１０は、ボット９の連鎖ボットであるので、日時が「１月１日」になったときに、ボット９と同様に主記憶部３０にキャッシュされるべきである。
【００５０】
図６（ｃ）に示す例では、ボット１５は、「８時〜９時」という時刻に関する外部条件が成立したときに実行さえるボットである。従って、時刻が８時〜９時である場合には、ボット１５に加えて、ボット１５の連鎖ボットであるボット１６〜１９も主記憶部３０にキャッシュされるべきである。そして、時刻が９時を過ぎた場合には、ボット１５及びボット１６〜１９は、実行されないので、主記憶部３０から削除されるべきである。
【００５１】
図７は、連鎖ボット特定情報の例を示す図である。図７に示す例では、ボットＩＤ（１）の連鎖ボットとして、ボット２，３，４が関連付けられている。また、ボットＩＤ（１０）の連鎖ボットとして、ボット１１，１２が関連付けられている。また、ボットＩＤ（２０）の連鎖ボットとして、ボット２１，２２，２３が関連付けられている。連鎖ボット特定部１３は、図７に例示するような連鎖ボット特定情報を生成し、生成した連鎖ボット特定情報をメタデータ記憶部５０に記憶させる。連鎖ボット特定情報は、対話シナリオ情報に基づいて生成され、且つ、キャッシュポリシーの生成において参照される情報であるので、メタデータの一種として捉えることができる。
【００５２】
再び図１を参照して、外部条件取得部１４は、対話システムにおける時間的または環境的な条件を示す外部条件情報を取得する。具体的には、キャッシュポリシー生成部１５におけるキャッシュポリシーの生成に供するために、外部条件取得部１４は、例えば、日時、季節及び天気のうちの少なくとも一つの情報を外部条件情報として取得する。外部条件情報は、例えば、日時、季節及び天気等の情報を管理しているサーバ等から取得可能である。
【００５３】
キャッシュポリシー生成部１５は、メタデータに基づいて、各ボットを前記主記憶へキャッシュすべきか否かを示すキャッシュポリシーを生成する。具体的には、キャッシュポリシー生成部１５は、実行条件情報を含むメタデータ及び外部条件情報に基づいて、キャッシュポリシーを生成する。
【００５４】
なお、キャッシュポリシー生成部１５は、所定のタイミングで随時にキャッシュポリシーを生成してもよい。例えば、キャッシュポリシー生成部１５は、１時間または１０分といった所定の時間間隔でキャッシュポリシーを生成することとしてもよいし、対話システム１の起動時等の所定のイベント発生時にキャッシュポリシーを生成することとしてもよい。
【００５５】
キャッシュポリシー生成部１５は、生成したキャッシュポリシーをキャッシュポリシー記憶部６０に記憶させる。キャッシュポリシー記憶部６０は、キャッシュポリシーを記憶する記憶手段である。
【００５６】
図５に示したメタデータを例にキャッシュポリシーの生成を説明する。例えば、現在の時刻が「８：００」である場合には、キャッシュポリシー生成部１５は、メタデータｍｔ１に対応するボットを主記憶部３０にキャッシュすべきことを示すキャッシュポリシーを生成する。また、現在の時刻が「９：００」を過ぎた場合には、キャッシュポリシー生成部１５は、メタデータｍｔ１に対応するボットを主記憶部３０にキャッシュしないこと、即ち主記憶部３０から削除すべきことを示すキャッシュポリシーを生成する。
【００５７】
また、現在の日付が「１月１日」である場合には、キャッシュポリシー生成部１５は、メタデータｍｔ２に対応するボットを主記憶部３０にキャッシュすべきことを示すキャッシュポリシーを生成する。また、現在の日付が「１月２日」である場合には、キャッシュポリシー生成部１５は、メタデータｍｔ２に対応するボットを主記憶部３０にキャッシュしないこと、即ち主記憶部３０から削除すべきことを示すキャッシュポリシーを生成する。
【００５８】
また、キャッシュポリシー生成部１５は、連鎖ボット特定情報及びメタデータに基づいて、当該メタデータに対応する一のボットを主記憶部３０にキャッシュすべき又は削除すべきであることを示す情報に加えて、当該一のボットと連鎖して実行されるボットをキャッシュすべき又は削除すべきことを示す情報を含むキャッシュポリシーを生成してもよい。
【００５９】
図８は、生成されたキャッシュポリシーの例を模式的に示す図である。図８に示すように、キャッシュポリシーは、ボットを識別するボットＩＤに関連付けて、当該ボットをキャッシュすべきか否かを示すキャッシュ動作及び連鎖ボットの情報を含む。例えば、ボットＩＤ（１）のボットのキャッシュポリシーは、当該ボットをキャッシュすべきことを示す情報を含む。また、ボットＩＤ（１）のボットのキャッシュポリシーは、ボットＩＤ（１）のボットの連鎖ボットとして、ボットＩＤ（２，３，４）を含む。即ち、ボットＩＤ（１）のボットのキャッシュポリシーは、ボットＩＤ（１）のボットをキャッシュすべきことを示すと共に、ボットＩＤ（２，３，４）のボットをキャッシュすべきことを示す。
【００６０】
また、ボットＩＤ（１０）のボットのキャッシュポリシーは、当該ボットを削除すべきことを示す情報「キャッシュ削除」をキャッシュ動作の情報として含む。また、ボットＩＤ（１０）のボットのキャッシュポリシーは、ボットＩＤ（１０）のボットの連鎖ボットとして、ボットＩＤ（１１，１２）を含む。即ち、ボットＩＤ（１０）のボットのキャッシュポリシーは、ボットＩＤ（１０）のボットを主記憶部３０から削除すべきことを示すと共に、ボットＩＤ（１１，１２）のボットを主記憶部３０から削除すべきことを示す。
【００６１】
また、ボットＩＤ（２０）のボットのキャッシュポリシーは、当該ボットを削除すべきことを示す情報「キャッシュ削除」をキャッシュ動作の情報として含む。また、ボットＩＤ（２０）のボットのキャッシュポリシーは、ボットＩＤ（２０）のボットの連鎖ボットとして、ボットＩＤ（２１，２２，２３）を含む。即ち、ボットＩＤ（２０）のボットのキャッシュポリシーは、ボットＩＤ（２０）のボットを主記憶部３０から削除すべきことを示すと共に、ボットＩＤ（２１，２２，２３）のボットを主記憶部３０から削除すべきことを示す。このように、連鎖ボットの情報をキャッシュポリシーに含ませることにより、実行の可能性に応じて、動的に適切なボットの主記憶部３０へのキャッシュが可能となる。
【００６２】
また、前述のとおり、メタデータは、対応するボットがホットスタンバイボットであること、コールドスタンバイボットであること、または、遅延許容ボットであることを示す情報を含むことができるので、キャッシュポリシー生成部１５は、これらの情報に基づいてキャッシュポリシーを生成してもよい。
【００６３】
即ち、キャッシュポリシー生成部１５は、対応するボットがホットスタンバイボットであることを示す情報を含むメタデータに基づいて、当該ボットをキャッシュすべきことを示すキャッシュポリシーを生成する。また、キャッシュポリシー生成部１５は、対応するボットがコールドスタンバイボットであることを示す情報を含むメタデータに基づいて、当該ボットをキャッシュしないことを示すキャッシュポリシーを生成する。また、キャッシュポリシー生成部１５は、対応するボットが遅延許容ボットであることを示す情報を含むメタデータに基づいて、当該ボットをキャッシュしないことを示すキャッシュポリシーを生成する。このように、ボットの属性を示す情報を含むメタデータにより、各ボットの実行可能性及び実行遅延の許容の程度に応じた適切なキャッシュポリシーを生成できる。
【００６４】
キャッシュ実行部１６は、キャッシュポリシー生成部１５により生成されたキャッシュポリシーに基づいて、各ボットの主記憶部３０へのキャッシュまたは各ボットの主記憶部３０からの削除を実行する。
【００６５】
対話実行部１７は、主記憶部３０に記憶されたボットを実行することにより、ユーザ発話に応じた発話を出力する対話処理を実行する。
【００６６】
次に、図９及び図１０を参照して、対話ボット管理装置１０における対話ボット管理方法の処理内容を説明する。図９は、ボットの主記憶部３０へのキャッシュ及び削除の処理とは非同期にいわゆるオフラインで行われる、キャッシュポリシーの生成の局面の処理内容を示すフローチャートである。図１０は、キャッシュポリシーに基づく、いわゆるオンラインでのキャッシュ処理の内容を示すフローチャートである。
【００６７】
ステップＳ１において、取得部１１は、対話シナリオ情報記憶部４０から対話シナリオ情報を取得する。ステップＳ２において、メタデータ生成部１２は、各ボットの対話シナリオ情報に基づいて、各ボットが実行される条件を含む情報であるメタデータをボットごとに生成する。メタデータは、有限数のボットに対応する対話シナリオ情報に基づき生成されるので、ステップＳ１〜Ｓ２のメタデータの生成は、キャッシュポリシーの生成のタイミングに依存することなく、予め実行されることができる。
【００６８】
ステップＳ３において、キャッシュポリシー生成部１５は、対話システム１における全てのボットのそれぞれに対応するメタデータを取得する。ステップＳ４において、外部条件取得部１４は、参照すべき外部条件情報が存在するか否かを判定する。外部条件情報が存在すると判定された場合には、処理はステップＳ５に進む。一方、外部条件情報が存在すると判定されなかった場合には、処理はステップＳ６に進む。ステップＳ５において、外部条件取得部１４は、外部条件情報を取得する。
【００６９】
ステップＳ６において、キャッシュポリシー生成部１５は、連鎖ボット特定部１３により生成された連鎖ボット特定情報が存在するか否かを判定する。連鎖ボット特定情報が存在すると判定された場合には、処理はステップＳ７に進む。一方、連鎖ボット特定情報が存在すると判定されなかった場合には、処理はステップＳ８に進む。ステップＳ７において、キャッシュポリシー生成部１５は、連鎖ボット特定情報を取得する。
【００７０】
ステップＳ８において、キャッシュポリシー生成部１５は、メタデータに基づいてキャッシュポリシーを生成する。ステップＳ５及びステップＳ７において、外部条件情報及び連鎖ボット特定情報が取得された場合には、取得された情報及びメタデータがキャッシュポリシーの生成に用いられる。ステップＳ９において、キャッシュポリシー生成部１５は、生成したキャッシュポリシーをキャッシュポリシー記憶部６０に記憶させる。なお、ステップＳ３以降の処理は、例えば、所定の時間間隔で随時実施される。
【００７１】
ステップＳ１１において、キャッシュ実行部１６は、キャッシュポリシー記憶部６０に記憶されたキャッシュポリシーを取得する。ステップＳ１２において、キャッシュ実行部１６は、キャッシュポリシーに応じて、各ボットを主記憶部３０に保存または主記憶部から削除する。
【００７２】
次に、コンピュータを、本実施形態の対話ボット管理装置１０として機能させるための対話ボット管理プログラムについて説明する。図１１は、対話ボット管理プログラムＰ１の構成を示す図である。
【００７３】
対話ボット管理プログラムＰ１は、対話ボット管理装置１０における対話ボット管理処理を統括的に制御するメインモジュールｍ１０、取得モジュールｍ１１、メタデータ生成モジュールｍ１２、連鎖ボット特定モジュールｍ１３、外部条件取得モジュールｍ１４、キャッシュポリシー生成モジュールｍ１５及びキャッシュ実行モジュールｍ１６を備えて構成される。そして、各モジュールｍ１１〜ｍ１６により、対話ボット管理装置１０における取得部１１、メタデータ生成部１２、連鎖ボット特定部１３、外部条件取得部１４、キャッシュポリシー生成部１５及びキャッシュ実行部１６のための各機能が実現される。なお、対話ボット管理プログラムＰ１は、通信回線等の伝送媒体を介して伝送される態様であってもよいし、図１１に示されるように、記録媒体Ｍ１に記憶される態様であってもよい。
【００７４】
以上説明した本実施形態の対話ボット管理装置１０、対話ボット管理方法及び対話ボット管理プログラムＰ１では、各ボットの対話処理の内容が記述された対話シナリオ情報に基づいて、当該ボットが実行される条件を含むメタデータが生成される。対話システムにおいて参照されるボットは、有限の量であるので、その対話システムにおいて実行され得る全てのボットのメタデータを予め生成することができる。そして、このように生成されたメタデータに基づいて、キャッシュポリシーを適時に生成できるので、生成されたキャッシュポリシーに基づいて、ボットの主記憶部へのキャッシュまたは削除を実行することにより、主記憶部の効率的な利用が可能となる。
【００７５】
また、別の形態に係る対話ボット管理装置は、対話システムにおける時間的または環境的な条件を示す外部条件情報を取得する外部条件取得部、をさらに備え、メタデータは、当該ボットが実行される外部条件を示す実行条件情報を含み、キャッシュポリシー生成部は、実行条件情報を含むメタデータ及び外部条件情報に基づいて、キャッシュポリシーを生成することとしてもよい。
【００７６】
上記形態によれば、当該ボットが実行される外部条件を示す実行条件情報が参照されることにより、取得された外部条件において実行される可能性があるボットをキャッシュさせることを示すキャッシュポリシーを生成できる。従って、外部条件に適したボットを主記憶部に保存できる。
【００７７】
また、別の形態に係る対話ボット管理装置では、外部条件情報は、日時、季節及び天気のうちの少なくとも一つの情報を含み、実行条件情報は、当該ボットが実行される日時、季節及び天気のうちの少なくとも一つの情報を含むこととしてもよい。
【００７８】
上記形態によれば、当該対話システムがおかれた環境としての日時、季節、天気のうちの少なくとも一つにおいて、実行される可能性があるボットをキャッシュさせることを示すキャッシュポリシーを生成できる。
【００７９】
また、別の形態に係る対話ボット管理装置では、各対話シナリオ情報は、当該ボットの実行の後に実行される遷移先のボット、又は、当該ボットの実行の前に実行される遷移元のボットを示す情報を含み、対話ボット管理装置は、対話シナリオ情報における遷移元または遷移先のボットを示す情報に基づいて、互いに連鎖して実行されるボットを特定する連鎖ボット特定情報を生成する連鎖ボット特定部、をさらに備え、キャッシュポリシー生成部は、連鎖ボット特定情報及びメタデータに基づいて、一のボットをキャッシュすべき又は削除すべきであることを示す情報に加えて、当該一のボットと連鎖して実行されるボットをキャッシュすべき又は削除すべきことを示す情報を含むキャッシュポリシーを生成することとしてもよい。
【００８０】
上記形態によれば、互いに連鎖して実行されるボットを特定する連鎖ボット特定情報に基づくキャッシュポリシーが生成される。このように生成されたキャッシュポリシーに基づいてキャッシュ処理が実行されることにより、一のボットが実行されたときにそれに連鎖して実行されうるボットを、当該一のボットの主記憶部へのキャッシュと共に主記憶部にキャッシュしたり、当該一のボットの主記憶部からの削除と共に主記憶部から削除したりできる。従って、実行の可能性に応じて、動的に適切なボットの主記憶部への保存が可能となる。
【００８１】
また、別の形態に係る対話ボット管理装置では、メタデータ生成部は、所定の入力情報に基づいて、当該ボットが主記憶部に強制的にキャッシュすべきホットスタンバイボットであることを示す情報、又は、キャッシュしないコールドスタンバイボットであることを示す情報を含むメタデータを生成し、キャッシュポリシー生成部は、対応するボットがホットスタンバイボットであることを示す情報を含むメタデータに基づいて、当該ボットをキャッシュすべきことを示すキャッシュポリシーを生成し、対応するボットがコールドスタンバイボットであることを示す情報を含むメタデータに基づいて、当該ボットをキャッシュしないことを示すキャッシュポリシーを生成することとしてもよい。
【００８２】
対話システムで実行されるボットには、常に実行される可能性があるホットスタンバイボットがある。一方、主記憶部に常駐させる必要かないコールドスタンバイボットも存在する。上記形態によれば、ボットがホットスタンバイボットであること、またはコールドスタンバイボットであることを示す情報をメタデータに含ませることができるので、各ボットの実行可能性に応じた適切なキャッシュポリシーを生成できる。
【００８３】
また、別の形態に係る対話ボット管理装置では、メタデータ生成部は、所定の入力情報に基づいて、当該ボットが即時の実行を要求されない遅延許容ボットであることを示す情報を含むメタデータを生成し、キャッシュポリシー生成部は、対応するボットが遅延許容ボットであることを示す情報を含むメタデータに基づいて、当該ボットをキャッシュしないことを示すキャッシュポリシーを生成することとしてもよい。
【００８４】
対話システムで実行されるボットには、対話内容の性質上、実行に際して遅延が許容されるボットがある。上記形態によれば、ボットが、遅延許容ボットであることを示す情報をメタデータに含ませることができるので、各ボットの遅延の許容の程度に応じた適切なキャッシュポリシーを生成できる。
【００８５】
また、対話ボット管理方法は、主記憶部に記憶された１以上のボットを実行することにより対話処理を実行する対話システムにおいて、主記憶部に記憶させるボットを管理する対話ボット管理装置により実行される対話ボット管理方法であって、ボットは、対話処理のための対話シナリオが規定されたデータであり、対話ボット管理方法は、ボットの動作が記述された対話シナリオ情報に基づいて生成されたメタデータであって、主記憶部とは異なる記憶部である第２記憶部に記憶されているボットを主記憶部にキャッシュすることの要否を決定しうる情報であり当該ボットが実行される条件を含む情報であるメタデータに基づいて、各ボットを主記憶部へキャッシュすべきか否かを示すキャッシュポリシーを生成するキャッシュポリシー生成ステップと、キャッシュポリシーに基づいて、各ボットの主記憶部へのキャッシュまたは各ボットの主記憶部からの削除を実行するキャッシュ実行ステップと、を有する。
【００８６】
また、対話ボット管理プログラムは、コンピュータを、主記憶部に記憶された１以上のボットを実行することにより対話処理を実行する対話システムにおいて、主記憶部に記憶させるボットを管理する対話ボット管理装置として機能させるための対話ボット管理プログラムであって、ボットは、対話処理のための対話シナリオが規定されたデータであり、対話ボット管理プログラムは、コンピュータに、ボットの動作が記述された対話シナリオ情報に基づいて生成されたメタデータであって、主記憶部とは異なる記憶部である第２記憶部に記憶されているボットを主記憶部にキャッシュすることの要否を決定しうる情報であり当該ボットが実行される条件を含む情報であるメタデータに基づいて、各ボットを主記憶部へキャッシュすべきか否かを示すキャッシュポリシーを生成するキャッシュポリシー生成機能と、キャッシュポリシーに基づいて、各ボットの主記憶部へのキャッシュまたは各ボットの主記憶部からの削除を実行するキャッシュ実行機能と、を実現させる。
【００８７】
上記の方法及びプログラムによれば、各ボットの対話処理の内容が記述された対話シナリオ情報に基づいて、当該ボットが実行される条件を含むメタデータが生成される。対話システムにおいて参照されるボットは、有限の量であるので、その対話システムにおいて実行され得る全てのボットのメタデータを予め生成することができる。そして、このように生成されたメタデータに基づいて、キャッシュポリシーを適時に生成できるので、生成されたキャッシュポリシーに基づいて、ボットの主記憶部へのキャッシュまたは削除を実行することにより、主記憶部の効率的な利用が可能となる。
【００８８】
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
【００８９】
本明細書で説明した各態様／実施形態は、ＬＴＥ（Long  Term  Evolution）、ＬＴＥ−Ａ（LTE-Advanced）、ＳＵＰＥＲ  ３Ｇ、ＩＭＴ−Ａｄｖａｎｃｅｄ、４Ｇ、５Ｇ、ＦＲＡ（Future  Radio  Access）、Ｗ−ＣＤＭＡ（登録商標）、ＧＳＭ（登録商標）、ＣＤＭＡ２０００、ＵＭＢ（Ultra  Mobile  Broadband）、ＩＥＥＥ  ８０２．１１（Ｗｉ−Ｆｉ）、ＩＥＥＥ  ８０２．１６（ＷｉＭＡＸ）、ＩＥＥＥ  ８０２．２０、ＵＷＢ（Ultra-WideBand）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、その他の適切なシステムを利用するシステム及び／又はこれらに基づいて拡張された次世代システムに適用されてもよい。
【００９０】
本明細書で説明した各態様／実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
【００９１】
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
【００９２】
判定は、１ビットで表される値（０か１か）によって行われてもよいし、真偽値（Boolean：trueまたはfalse）によって行われてもよいし、数値の比較（例えば、所定の値との比較）によって行われてもよい。
【００９３】
本明細書で説明した各態様／実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知（例えば、「Ｘであること」の通知）は、明示的に行うものに限られず、暗黙的（例えば、当該所定の情報の通知を行わない）ことによって行われてもよい。
【００９４】
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
【００９５】
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
【００９６】
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線（ＤＳＬ）などの有線技術及び／又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び／又は無線技術は、伝送媒体の定義内に含まれる。
【００９７】
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
【００９８】
なお、本開示において説明した用語及び／又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
【００９９】
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
【０１００】
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
【０１０１】
本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking  up、search、inquiry)（例えば、テーブル、データベース又は別のデータ構造での探索）、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)（例えば、情報を受信すること）、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)（例えば、メモリ中のデータにアクセスすること）した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断（決定）」は、「想定する（assuming）」、「期待する（expecting）」、「みなす（considering）」などで読み替えられてもよい。
【０１０２】
本開示で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
【０１０３】
本明細書で「第１の」、「第２の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、２つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第１および第２の要素への参照は、２つの要素のみがそこで採用され得ること、または何らかの形で第１の要素が第２の要素に先行しなければならないことを意味しない。
【０１０４】
「含む（include）」、「含んでいる（including）」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または（or）」は、排他的論理和ではないことが意図される。
【０１０５】
本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
【０１０６】
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。
【符号の説明】
【０１０７】
１…対話システム、１０…対話ボット管理装置、１１…取得部、１２…メタデータ生成部、１３…連鎖ボット特定部、１４…外部条件取得部、１５…キャッシュポリシー生成部、１５…キャッシュポリシー生成部、１６…キャッシュ実行部、１７…対話実行部、２０…二次記憶部、３０…主記憶部、４０…対話シナリオ情報記憶部、５０…メタデータ記憶部、６０…キャッシュポリシー記憶部、Ｍ１…記録媒体、ｍ１０…メインモジュール、ｍ１１…取得モジュール、ｍ１２…メタデータ生成モジュール、ｍ１３…連鎖ボット特定モジュール、ｍ１４…外部条件取得モジュール、ｍ１５…キャッシュポリシー生成モジュール、ｍ１６…キャッシュ実行モジュール、Ｐ１…対話ボット管理プログラム。
【図１】
2020208859.tif 000003
【図２】
2020208859.tif 000004
【図３】
2020208859.tif 000005
【図４】
2020208859.tif 000006
【図５】
2020208859.tif 000007
【図６】
2020208859.tif 000008
【図７】
2020208859.tif 000009
【図８】
2020208859.tif 000010
【図９】
2020208859.tif 000011
【図１０】
2020208859.tif 000012
【図１１】
2020208859.tif 000013
【国際調査報告】
2020208859.tif 000014
2020208859.tif 000015