JP7123248B2 - 対話ボット管理装置、対話ボット管理方法及び対話ボット管理プログラム - Google Patents
対話ボット管理装置、対話ボット管理方法及び対話ボット管理プログラム Download PDFInfo
- Publication number
- JP7123248B2 JP7123248B2 JP2021513160A JP2021513160A JP7123248B2 JP 7123248 B2 JP7123248 B2 JP 7123248B2 JP 2021513160 A JP2021513160 A JP 2021513160A JP 2021513160 A JP2021513160 A JP 2021513160A JP 7123248 B2 JP7123248 B2 JP 7123248B2
- Authority
- JP
- Japan
- Prior art keywords
- bot
- dialogue
- information
- metadata
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims description 68
- 238000012545 processing Methods 0.000 claims description 31
- 230000006870 function Effects 0.000 claims description 14
- 230000007704 transition Effects 0.000 claims description 14
- 238000012217 deletion Methods 0.000 claims description 12
- 230000037430 deletion Effects 0.000 claims description 12
- 230000006399 behavior Effects 0.000 claims description 11
- 230000002452 interceptive effect Effects 0.000 claims description 7
- 230000007613 environmental effect Effects 0.000 claims description 3
- 230000002123 temporal effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 24
- 238000000034 method Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000006249 magnetic particle Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/908—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Description
本発明は、対話ボット管理装置、対話ボット管理方法及び対話ボット管理プログラムに関する。
ユーザとの対話を実現させる対話システムでは、対話内容に応じた対話シナリオに基づいて、システム側の発話であるシステム発話が生成される。対話シナリオは、いわゆるボットにより構成される。ボットは、対話シナリオが規定されたデータであり、対話内容及び機能ごとに設けられる。プロセッサがユーザの発話に応じたシステム発話を生成するためには、ボットを主記憶に保存(ロード)する必要がある。例えば、ウェブベースの対話システムにおいて、ユーザの嗜好及び視聴パターンに基づいて、ブラウザのキャッシュに、対話イベントや関係するスクリプトを定義する対話型文書が格納される技術が知られている(例えば、特許文献1参照)。
ボットは、ユーザとの対話を実現させるために参照及び実行されるデータであるので、あるボットの実行が必要となった後に主記憶にロードさせることとなると、応答に大きな遅延が発生することとなるので、従来においては、全てのボットを主記憶にロードしていた。しかしながら、様々な対話を実現させるために、対話シナリオの肥大化及びボット数が増加しており、主記憶の容量が圧迫されることとなっていた。その一方で、主記憶にロードされたボットのうち、実行されるボットは一部であって、多くのボットが実行されないことがあった。
そこで、本発明は、上記問題点に鑑みてなされたものであり、動的に適切なボットを保存させることにより主記憶の効率的な利用を図ることを目的とする。
上記課題を解決するために、本発明の一形態に係る対話ボット管理装置は、主記憶部に記憶された1以上のボットを実行することにより対話処理を実行する対話システムにおいて、主記憶部に記憶させるボットを管理する対話ボット管理装置であって、ボットは、対話処理のための対話シナリオが規定されたデータであり、対話ボット管理装置は、ボットの動作が記述された対話シナリオ情報を取得する取得部と、各ボットの対話シナリオ情報に基づいて、主記憶部とは異なる記憶部である第2記憶部に記憶されているボットを主記憶部にキャッシュすることの要否を決定しうる情報であって当該ボットが実行される条件を含む情報であるメタデータを生成するメタデータ生成部と、メタデータに基づいて、各ボットを主記憶部へキャッシュすべきか否かを示すキャッシュポリシーを生成するキャッシュポリシー生成部と、キャッシュポリシーに基づいて、各ボットの主記憶部へのキャッシュまたは各ボットの主記憶部からの削除を実行するキャッシュ実行部と、を備える。
上記の形態によれば、各ボットの対話処理の内容が記述された対話シナリオ情報に基づいて、当該ボットが実行される条件を含むメタデータが生成される。対話システムにおいて参照されるボットは、有限の量であるので、その対話システムにおいて実行され得る全てのボットのメタデータを予め生成することができる。そして、このように生成されたメタデータに基づいて、キャッシュポリシーを適時に生成できるので、生成されたキャッシュポリシーに基づいて、ボットの主記憶部へのキャッシュまたは削除を実行することにより、主記憶部の効率的な利用が可能となる。
動的に適切なボットを保存させることにより主記憶の効率的な利用を図ることが可能となる。
本発明に係る対話ボット管理装置の実施形態について図面を参照して説明する。なお、可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
図1は、本実施形態に係る対話ボット管理装置10を含む対話システム1の機能的構成を示す図である。対話システム1は、音声からなるシステム発話を出力することによりユーザとの対話を行うシステムである。図1に示すように、対話システム1は、対話ボット管理装置10を構成する各機能部11~16、対話実行部17、二次記憶部20、主記憶部30、対話シナリオ情報記憶部40、メタデータ記憶部50及びキャッシュポリシー記憶部60を含む。対話システム1は、1つの装置として構成されてもよいし、各機能部及び各記憶部が複数の装置に分散されて構成されてもよい。
対話システム1は、主記憶部30に記憶された1以上のボットを実行することにより対話処理を実行する。対話ボット管理装置10は、主記憶部30に記憶させるボットを管理する装置である。ボットは、対話処理のための対話シナリオが規定されたデータであって、コンピュータにより実行されうるプログラムとしての側面を有する。
対話ボット管理装置10は、取得部11、メタデータ生成部12、連鎖ボット特定部13、外部条件取得部14、キャッシュポリシー生成部15及びキャッシュ実行部16を備える。また、対話ボット管理装置10の各機能部11~16及び対話実行部17は、各記憶部20,30,40,50,60にアクセス可能に構成されている。
なお、図1に示したブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
例えば、本発明の一実施の形態における対話システム1及び対話ボット管理装置10は、コンピュータとして機能してもよい。図2は、本実施形態に係る対話システム1及び対話ボット管理装置10のハードウェア構成の一例を示す図である。対話システム1及び対話ボット管理装置10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。対話システム1及び対話ボット管理装置10のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
対話システム1及び対話ボット管理装置10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、図1に示した各機能部11~17などは、プロセッサ1001で実現されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、対話システム1及び対話ボット管理装置10の各機能部11~17は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本発明の一実施の形態に係る対話ボット管理方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバその他の適切な媒体であってもよい。
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001やメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
また、対話システム1及び対話ボット管理装置10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
まず、対話システム1の各機能部の説明に先立って、本実施形態の対話ボット管理装置10が管理するボットについて図3を参照しながら説明する。図3は、二次記憶部20から主記憶部30へのボットのキャッシュを模式的に示す図である。ボットは、前述のとおり、対話処理のための対話シナリオが規定されたデータである。
ボットの動作が記述された対話シナリオ情報は、例えばAIML(Artificial Intelligence Markup Language)といったソフトウェア構築のためのマークアップ言語により記述される。各ボットの対話シナリオ情報は、例えば、マネジメントサーバ100により記憶及び管理されている。対話シナリオ情報をコンパイルすることにより、ボットbtを構成するDATファイルが生成されるDATファイルにより構成されるボットbtは、マネジメントサーバ100から対話システム1に転送され、二次記憶部20に保存される。なお、複数のボットbtによりプロジェクトpjが構成されることとしてもよい。プロジェクトpjは、例えば、ある一つのアプリケーションを構成するための複数のボットbtのまとまりである。
対話ボット管理装置10は、ボットbtをプロセッサにより実行させるために、二次記憶部20に記憶されているボットbtを、主記憶部30にロード(保存)する。具体的には、主記憶部30は、対話シナリオのための領域ar1及びプログラムのための領域ar2を含み得るので、対話ボット管理装置10は、二次記憶部20に記憶されているボットbtを領域ar1に保存する。
次に、対話ボット管理装置10を含む対話システム1の各機能部について説明する。取得部11は、ボットの動作が記述された対話シナリオ情報を取得する。具体的には、取得部11は、対話シナリオ情報記憶部40から対話シナリオ情報を取得する。対話シナリオ情報記憶部40は、対話シナリオ情報を記憶している記憶手段である。図3を参照して説明した例に当てはめるならば、対話シナリオ情報記憶部40は、マネジメントサーバ100に構成されることとしてもよい。
図4は、対話シナリオ情報の例を示す図である。具体的には、図4(a)~図4(c)はそれぞれ、ボットを構成する対話シナリオ情報の一部を示す。図4(a)に示す対話シナリオ情報sn1には、ボットID(2)のボットに遷移することが記述されている。即ち、対話シナリオ情報sn1に基づいて生成されたボットが実行されると、対話システム1は、当該ボットに記述された対話処理を実行すると共に、実行対象をボットID(2)のボットに遷移させる。
図4(b)に示す対話シナリオ情報sn2には、当該ボットを「1月1日」に実行させることが記述されている。即ち、対話システム1は、対話シナリオ情報sn2に基づいて生成されたボットを「1月1日」に実行し、「1月1日」以外には実行しない。
図4(c)に示す対話シナリオ情報sn3には、当該ボットを「9時~10時」の間に実行させることが記述されている。即ち、対話システム1は、対話シナリオ情報sn3に基づいて生成されたボットを、1日のうちの「9時~10時」の間に実行し、「9時~10時」の間以外の時間帯には実行しない。
メタデータ生成部12は、各ボットの対話シナリオ情報に基づいて、各ボットが実行される条件を含む情報であるメタデータをボットごとに生成する。メタデータは、後述するように、各ボットを主記憶部30にキャッシュすべきか否かを示すキャッシュポリシーを生成するために参照されるので、二次記憶部20に記憶されているボットを主記憶部30にキャッシュすることの要否を決定しうる情報である。
メタデータは、二次記憶部20(第2記憶部)に記憶されているボットのそれぞれに対応する対話シナリオ情報に基づいて、ボットごとに生成される。メタデータは、例えばAIML等により記述される対話シナリオ情報の解析の結果により得ることができる。即ち、メタデータ生成部12は、各ボットに対応する対話シナリオ情報を参照及び解析し、当該ボットが実行される条件等を抽出して、各ボットを主記憶部30にキャッシュすることの要否を決定しうる情報として、メタデータをボットごとに生成する。
メタデータ生成部12は、例えば、対話シナリオ情報sn1を参照して、当該ボットが、ボットID(2)のボットに実行対象を遷移させるボットであることを示す情報を含むメタデータを生成する。また、メタデータ生成部12は、対話シナリオ情報sn2を参照して、当該ボットが、1月1日に実行させるボットであることを示す情報を含むメタデータを生成する。また、メタデータ生成部12は、対話シナリオ情報sn3を参照して、当該ボットが、9時~10時の間に実行させるボットであることを示す情報を含むメタデータを生成する。
また、メタデータは、当該メタデータに対応するボットが実行される外部条件を示す実行条件情報を含むことができる。外部条件は、例えば、日時、季節及び天気のうちの少なくとも一つであってもよい。実行条件情報は、当該ボットが実行される日時、季節及び天気のうちの少なくとも一つの情報を含むことができる。
図5は、メタデータの例を示す図である。図5に示す例では、メタデータは、「年」、「月」、「日」、「時刻」及び「季節」の情報を実行条件情報として含む。図5(a)に示すメタデータmt1は、項目「年」、「月」、「日」及び「季節」に関連付けて「いつでも(any)」という情報を含むので、メタデータmt1に対応するボットが実行される「年」、「月」、「日」及び「季節」は限定されない。一方、メタデータmt1は、項目「時刻」に関連付けて「8:00-9:00」の情報を含むので、メタデータmt1に対応するボットは、日時及び季節に関わらず、時刻「8:00-9:00」に実行されるボットである。
また、メタデータは、「キャッシュ削除」及び「遅延」といった項目を含んでもよい。項目「キャッシュ削除」は、当該ボットが主記憶部30から削除可能であるか否かを示す情報である。メタデータmt1は、項目「キャッシュ削除」に関連付けて「可能」という情報を含むので、メタデータmt1に対応するボットが、キャッシュ要否の判断の結果に応じて主記憶部30から削除させることが可能なボットであることを示す。即ち、メタデータmt1に対応するボットは、主記憶部30に強制的にキャッシュさせないボットであるコールドスタンバイボットであることを示す。
これに対して、メタデータが、項目「キャッシュ削除」に関連付けて「不可能」という情報を含む場合には、当該メタデータに対応するボットが、主記憶部30に常駐させるべきボットであることを示す。即ち、当該ボットが、主記憶部30に強制的にキャッシュさせるべきホットスタンバイボットであることを示す。
項目「遅延」は、当該ボットが即時の実行を要求されない遅延許容ボットであるか否かを示す情報である。メタデータmt1は、項目「遅延」に関連付けて「非許容」という情報を含むので、メタデータmt1に対応するボットが、即時の実行を要求されるボットであって、遅延許容ボットではないことを示す。
遅延許容ボットは、例えば、利用交通機関及び地図等の検索処理を経て回答が発話されるようなボットである。このようなボットでは、ユーザが対話システムに対して考えるための時間を許容できるものと考えられるので、即時性が要求されない。一方、例えば、ユーザに挨拶をしたり、雑談をしたりするようなボットでは、応答の即時性が要求されるので、そのようなボットは、遅延許容ボットに該当しない。
メタデータ生成部12は、所定の入力情報に基づいて、メタデータの項目「キャッシュ削除」及び項目「遅延」の情報を設定してもよい。メタデータ生成部12は、例えば、対話システム1の管理者等による入力に基づいて、これらの項目の設定をしてもよい。
図5(b)に示すメタデータmt2は、項目「年」及び「時刻」に関連付けて「いつでも(any)」という情報を含むので、メタデータmt2に対応するボットが実行される「年」及び「時刻」は限定されない。一方、メタデータmt1は、項目、「月」、「日」に関連付けてそれぞれ「1」、「1」の情報を含むので、メタデータmt2に対応するボットは、年及び時刻に関わらず、月及び日が1月1日であるときに実行されるボットである。
また、メタデータmt2は、項目「キャッシュ削除」に関連付けて「可能」という情報を含むので、メタデータmt2に対応するボットがコールドスタンバイボットであることを示す。また、メタデータmt2は、項目「遅延」に関連付けて「非許容」という情報を含むので、メタデータmt2に対応するボットが、即時の実行を要求されるボットであって、遅延許容ボットではないことを示す。
メタデータ生成部12は、生成したメタデータをメタデータ記憶部50に記憶させる。メタデータ記憶部50は、メタデータを記憶する記憶手段である。
連鎖ボット特定部13は、対話シナリオ情報における遷移元または遷移先のボットを示す情報に基づいて、互いに連鎖して実行されるボットである連鎖ボットを特定する連鎖ボット特定情報を生成する。対話シナリオ情報は、当該ボットの実行の後に実行される遷移先のボット、又は、当該ボットの実行の前に実行される遷移元のボットを示す情報を含む場合がある。例えば、図4(a)に示す対話シナリオ情報sn1は、遷移先のボットの情報としてボットID(2)を含む。連鎖ボット特定部13は、対話シナリオ情報sn1に対応するボットの連鎖ボットとして、ボットID(2)のボットを特定する。
図6は、連鎖ボットの例を模式的に示す図である。図6(a)に示す例では、ボット1は、フロントボットである。フロントボットは、対話開始時にユーザからの発話入力に応じて最初に実行されるボットである。ボット1の連鎖ボットは、ボット2である。ボット2の連鎖ボットは、ボット3またはボット4である。従って、ボット3及びボット4も、ボット1の連鎖ボットとして特定される。以下、同様に、ボット1の連鎖ボットとして、ボット2~8が特定される。即ち、ボット2~8は、ボット1が実行された後に必ず実行されるボット、または、実行される可能性が高いボットである。従って、ボット1が主記憶部30に保存(キャッシュ)された場合には、ボット2~8も主記憶部30にキャッシュされるべきである。
図6(b)に示す例では、ボット9は、「1月1日」という日時に関する外部条件が成立したときに実行されるボットである。従って、後に詳述するように、ボット9は、日時が「1月1日」になったときに主記憶部30にキャッシュされるべきである。さらに、ボット10は、ボット9の連鎖ボットであるので、日時が「1月1日」になったときに、ボット9と同様に主記憶部30にキャッシュされるべきである。
図6(c)に示す例では、ボット15は、「8時~9時」という時刻に関する外部条件が成立したときに実行さえるボットである。従って、時刻が8時~9時である場合には、ボット15に加えて、ボット15の連鎖ボットであるボット16~19も主記憶部30にキャッシュされるべきである。そして、時刻が9時を過ぎた場合には、ボット15及びボット16~19は、実行されないので、主記憶部30から削除されるべきである。
図7は、連鎖ボット特定情報の例を示す図である。図7に示す例では、ボットID(1)の連鎖ボットとして、ボット2,3,4が関連付けられている。また、ボットID(10)の連鎖ボットとして、ボット11,12が関連付けられている。また、ボットID(20)の連鎖ボットとして、ボット21,22,23が関連付けられている。連鎖ボット特定部13は、図7に例示するような連鎖ボット特定情報を生成し、生成した連鎖ボット特定情報をメタデータ記憶部50に記憶させる。連鎖ボット特定情報は、対話シナリオ情報に基づいて生成され、且つ、キャッシュポリシーの生成において参照される情報であるので、メタデータの一種として捉えることができる。
再び図1を参照して、外部条件取得部14は、対話システムにおける時間的または環境的な条件を示す外部条件情報を取得する。具体的には、キャッシュポリシー生成部15におけるキャッシュポリシーの生成に供するために、外部条件取得部14は、例えば、日時、季節及び天気のうちの少なくとも一つの情報を外部条件情報として取得する。外部条件情報は、例えば、日時、季節及び天気等の情報を管理しているサーバ等から取得可能である。
キャッシュポリシー生成部15は、メタデータに基づいて、各ボットを前記主記憶へキャッシュすべきか否かを示すキャッシュポリシーを生成する。具体的には、キャッシュポリシー生成部15は、実行条件情報を含むメタデータ及び外部条件情報に基づいて、キャッシュポリシーを生成する。
なお、キャッシュポリシー生成部15は、所定のタイミングで随時にキャッシュポリシーを生成してもよい。例えば、キャッシュポリシー生成部15は、1時間または10分といった所定の時間間隔でキャッシュポリシーを生成することとしてもよいし、対話システム1の起動時等の所定のイベント発生時にキャッシュポリシーを生成することとしてもよい。
キャッシュポリシー生成部15は、生成したキャッシュポリシーをキャッシュポリシー記憶部60に記憶させる。キャッシュポリシー記憶部60は、キャッシュポリシーを記憶する記憶手段である。
図5に示したメタデータを例にキャッシュポリシーの生成を説明する。例えば、現在の時刻が「8:00」である場合には、キャッシュポリシー生成部15は、メタデータmt1に対応するボットを主記憶部30にキャッシュすべきことを示すキャッシュポリシーを生成する。また、現在の時刻が「9:00」を過ぎた場合には、キャッシュポリシー生成部15は、メタデータmt1に対応するボットを主記憶部30にキャッシュしないこと、即ち主記憶部30から削除すべきことを示すキャッシュポリシーを生成する。
また、現在の日付が「1月1日」である場合には、キャッシュポリシー生成部15は、メタデータmt2に対応するボットを主記憶部30にキャッシュすべきことを示すキャッシュポリシーを生成する。また、現在の日付が「1月2日」である場合には、キャッシュポリシー生成部15は、メタデータmt2に対応するボットを主記憶部30にキャッシュしないこと、即ち主記憶部30から削除すべきことを示すキャッシュポリシーを生成する。
また、キャッシュポリシー生成部15は、連鎖ボット特定情報及びメタデータに基づいて、当該メタデータに対応する一のボットを主記憶部30にキャッシュすべき又は削除すべきであることを示す情報に加えて、当該一のボットと連鎖して実行されるボットをキャッシュすべき又は削除すべきことを示す情報を含むキャッシュポリシーを生成してもよい。
図8は、生成されたキャッシュポリシーの例を模式的に示す図である。図8に示すように、キャッシュポリシーは、ボットを識別するボットIDに関連付けて、当該ボットをキャッシュすべきか否かを示すキャッシュ動作及び連鎖ボットの情報を含む。例えば、ボットID(1)のボットのキャッシュポリシーは、当該ボットをキャッシュすべきことを示す情報を含む。また、ボットID(1)のボットのキャッシュポリシーは、ボットID(1)のボットの連鎖ボットとして、ボットID(2,3,4)を含む。即ち、ボットID(1)のボットのキャッシュポリシーは、ボットID(1)のボットをキャッシュすべきことを示すと共に、ボットID(2,3,4)のボットをキャッシュすべきことを示す。
また、ボットID(10)のボットのキャッシュポリシーは、当該ボットを削除すべきことを示す情報「キャッシュ削除」をキャッシュ動作の情報として含む。また、ボットID(10)のボットのキャッシュポリシーは、ボットID(10)のボットの連鎖ボットとして、ボットID(11,12)を含む。即ち、ボットID(10)のボットのキャッシュポリシーは、ボットID(10)のボットを主記憶部30から削除すべきことを示すと共に、ボットID(11,12)のボットを主記憶部30から削除すべきことを示す。
また、ボットID(20)のボットのキャッシュポリシーは、当該ボットを削除すべきことを示す情報「キャッシュ削除」をキャッシュ動作の情報として含む。また、ボットID(20)のボットのキャッシュポリシーは、ボットID(20)のボットの連鎖ボットとして、ボットID(21,22,23)を含む。即ち、ボットID(20)のボットのキャッシュポリシーは、ボットID(20)のボットを主記憶部30から削除すべきことを示すと共に、ボットID(21,22,23)のボットを主記憶部30から削除すべきことを示す。このように、連鎖ボットの情報をキャッシュポリシーに含ませることにより、実行の可能性に応じて、動的に適切なボットの主記憶部30へのキャッシュが可能となる。
また、前述のとおり、メタデータは、対応するボットがホットスタンバイボットであること、コールドスタンバイボットであること、または、遅延許容ボットであることを示す情報を含むことができるので、キャッシュポリシー生成部15は、これらの情報に基づいてキャッシュポリシーを生成してもよい。
即ち、キャッシュポリシー生成部15は、対応するボットがホットスタンバイボットであることを示す情報を含むメタデータに基づいて、当該ボットをキャッシュすべきことを示すキャッシュポリシーを生成する。また、キャッシュポリシー生成部15は、対応するボットがコールドスタンバイボットであることを示す情報を含むメタデータに基づいて、当該ボットをキャッシュしないことを示すキャッシュポリシーを生成する。また、キャッシュポリシー生成部15は、対応するボットが遅延許容ボットであることを示す情報を含むメタデータに基づいて、当該ボットをキャッシュしないことを示すキャッシュポリシーを生成する。このように、ボットの属性を示す情報を含むメタデータにより、各ボットの実行可能性及び実行遅延の許容の程度に応じた適切なキャッシュポリシーを生成できる。
キャッシュ実行部16は、キャッシュポリシー生成部15により生成されたキャッシュポリシーに基づいて、各ボットの主記憶部30へのキャッシュまたは各ボットの主記憶部30からの削除を実行する。
対話実行部17は、主記憶部30に記憶されたボットを実行することにより、ユーザ発話に応じた発話を出力する対話処理を実行する。
次に、図9及び図10を参照して、対話ボット管理装置10における対話ボット管理方法の処理内容を説明する。図9は、ボットの主記憶部30へのキャッシュ及び削除の処理とは非同期にいわゆるオフラインで行われる、キャッシュポリシーの生成の局面の処理内容を示すフローチャートである。図10は、キャッシュポリシーに基づく、いわゆるオンラインでのキャッシュ処理の内容を示すフローチャートである。
ステップS1において、取得部11は、対話シナリオ情報記憶部40から対話シナリオ情報を取得する。ステップS2において、メタデータ生成部12は、各ボットの対話シナリオ情報に基づいて、各ボットが実行される条件を含む情報であるメタデータをボットごとに生成する。メタデータは、有限数のボットに対応する対話シナリオ情報に基づき生成されるので、ステップS1~S2のメタデータの生成は、キャッシュポリシーの生成のタイミングに依存することなく、予め実行されることができる。
ステップS3において、キャッシュポリシー生成部15は、対話システム1における全てのボットのそれぞれに対応するメタデータを取得する。ステップS4において、外部条件取得部14は、参照すべき外部条件情報が存在するか否かを判定する。外部条件情報が存在すると判定された場合には、処理はステップS5に進む。一方、外部条件情報が存在すると判定されなかった場合には、処理はステップS6に進む。ステップS5において、外部条件取得部14は、外部条件情報を取得する。
ステップS6において、キャッシュポリシー生成部15は、連鎖ボット特定部13により生成された連鎖ボット特定情報が存在するか否かを判定する。連鎖ボット特定情報が存在すると判定された場合には、処理はステップS7に進む。一方、連鎖ボット特定情報が存在すると判定されなかった場合には、処理はステップS8に進む。ステップS7において、キャッシュポリシー生成部15は、連鎖ボット特定情報を取得する。
ステップS8において、キャッシュポリシー生成部15は、メタデータに基づいてキャッシュポリシーを生成する。ステップS5及びステップS7において、外部条件情報及び連鎖ボット特定情報が取得された場合には、取得された情報及びメタデータがキャッシュポリシーの生成に用いられる。ステップS9において、キャッシュポリシー生成部15は、生成したキャッシュポリシーをキャッシュポリシー記憶部60に記憶させる。なお、ステップS3以降の処理は、例えば、所定の時間間隔で随時実施される。
ステップS11において、キャッシュ実行部16は、キャッシュポリシー記憶部60に記憶されたキャッシュポリシーを取得する。ステップS12において、キャッシュ実行部16は、キャッシュポリシーに応じて、各ボットを主記憶部30に保存または主記憶部から削除する。
次に、コンピュータを、本実施形態の対話ボット管理装置10として機能させるための対話ボット管理プログラムについて説明する。図11は、対話ボット管理プログラムP1の構成を示す図である。
対話ボット管理プログラムP1は、対話ボット管理装置10における対話ボット管理処理を統括的に制御するメインモジュールm10、取得モジュールm11、メタデータ生成モジュールm12、連鎖ボット特定モジュールm13、外部条件取得モジュールm14、キャッシュポリシー生成モジュールm15及びキャッシュ実行モジュールm16を備えて構成される。そして、各モジュールm11~m16により、対話ボット管理装置10における取得部11、メタデータ生成部12、連鎖ボット特定部13、外部条件取得部14、キャッシュポリシー生成部15及びキャッシュ実行部16のための各機能が実現される。なお、対話ボット管理プログラムP1は、通信回線等の伝送媒体を介して伝送される態様であってもよいし、図11に示されるように、記録媒体M1に記憶される態様であってもよい。
以上説明した本実施形態の対話ボット管理装置10、対話ボット管理方法及び対話ボット管理プログラムP1では、各ボットの対話処理の内容が記述された対話シナリオ情報に基づいて、当該ボットが実行される条件を含むメタデータが生成される。対話システムにおいて参照されるボットは、有限の量であるので、その対話システムにおいて実行され得る全てのボットのメタデータを予め生成することができる。そして、このように生成されたメタデータに基づいて、キャッシュポリシーを適時に生成できるので、生成されたキャッシュポリシーに基づいて、ボットの主記憶部へのキャッシュまたは削除を実行することにより、主記憶部の効率的な利用が可能となる。
また、別の形態に係る対話ボット管理装置は、対話システムにおける時間的または環境的な条件を示す外部条件情報を取得する外部条件取得部、をさらに備え、メタデータは、当該ボットが実行される外部条件を示す実行条件情報を含み、キャッシュポリシー生成部は、実行条件情報を含むメタデータ及び外部条件情報に基づいて、キャッシュポリシーを生成することとしてもよい。
上記形態によれば、当該ボットが実行される外部条件を示す実行条件情報が参照されることにより、取得された外部条件において実行される可能性があるボットをキャッシュさせることを示すキャッシュポリシーを生成できる。従って、外部条件に適したボットを主記憶部に保存できる。
また、別の形態に係る対話ボット管理装置では、外部条件情報は、日時、季節及び天気のうちの少なくとも一つの情報を含み、実行条件情報は、当該ボットが実行される日時、季節及び天気のうちの少なくとも一つの情報を含むこととしてもよい。
上記形態によれば、当該対話システムがおかれた環境としての日時、季節、天気のうちの少なくとも一つにおいて、実行される可能性があるボットをキャッシュさせることを示すキャッシュポリシーを生成できる。
また、別の形態に係る対話ボット管理装置では、各対話シナリオ情報は、当該ボットの実行の後に実行される遷移先のボット、又は、当該ボットの実行の前に実行される遷移元のボットを示す情報を含み、対話ボット管理装置は、対話シナリオ情報における遷移元または遷移先のボットを示す情報に基づいて、互いに連鎖して実行されるボットを特定する連鎖ボット特定情報を生成する連鎖ボット特定部、をさらに備え、キャッシュポリシー生成部は、連鎖ボット特定情報及びメタデータに基づいて、一のボットをキャッシュすべき又は削除すべきであることを示す情報に加えて、当該一のボットと連鎖して実行されるボットをキャッシュすべき又は削除すべきことを示す情報を含むキャッシュポリシーを生成することとしてもよい。
上記形態によれば、互いに連鎖して実行されるボットを特定する連鎖ボット特定情報に基づくキャッシュポリシーが生成される。このように生成されたキャッシュポリシーに基づいてキャッシュ処理が実行されることにより、一のボットが実行されたときにそれに連鎖して実行されうるボットを、当該一のボットの主記憶部へのキャッシュと共に主記憶部にキャッシュしたり、当該一のボットの主記憶部からの削除と共に主記憶部から削除したりできる。従って、実行の可能性に応じて、動的に適切なボットの主記憶部への保存が可能となる。
また、別の形態に係る対話ボット管理装置では、メタデータ生成部は、所定の入力情報に基づいて、当該ボットが主記憶部に強制的にキャッシュすべきホットスタンバイボットであることを示す情報、又は、キャッシュしないコールドスタンバイボットであることを示す情報を含むメタデータを生成し、キャッシュポリシー生成部は、対応するボットがホットスタンバイボットであることを示す情報を含むメタデータに基づいて、当該ボットをキャッシュすべきことを示すキャッシュポリシーを生成し、対応するボットがコールドスタンバイボットであることを示す情報を含むメタデータに基づいて、当該ボットをキャッシュしないことを示すキャッシュポリシーを生成することとしてもよい。
対話システムで実行されるボットには、常に実行される可能性があるホットスタンバイボットがある。一方、主記憶部に常駐させる必要かないコールドスタンバイボットも存在する。上記形態によれば、ボットがホットスタンバイボットであること、またはコールドスタンバイボットであることを示す情報をメタデータに含ませることができるので、各ボットの実行可能性に応じた適切なキャッシュポリシーを生成できる。
また、別の形態に係る対話ボット管理装置では、メタデータ生成部は、所定の入力情報に基づいて、当該ボットが即時の実行を要求されない遅延許容ボットであることを示す情報を含むメタデータを生成し、キャッシュポリシー生成部は、対応するボットが遅延許容ボットであることを示す情報を含むメタデータに基づいて、当該ボットをキャッシュしないことを示すキャッシュポリシーを生成することとしてもよい。
対話システムで実行されるボットには、対話内容の性質上、実行に際して遅延が許容されるボットがある。上記形態によれば、ボットが、遅延許容ボットであることを示す情報をメタデータに含ませることができるので、各ボットの遅延の許容の程度に応じた適切なキャッシュポリシーを生成できる。
また、対話ボット管理方法は、主記憶部に記憶された1以上のボットを実行することにより対話処理を実行する対話システムにおいて、主記憶部に記憶させるボットを管理する対話ボット管理装置により実行される対話ボット管理方法であって、ボットは、対話処理のための対話シナリオが規定されたデータであり、対話ボット管理方法は、ボットの動作が記述された対話シナリオ情報に基づいて生成されたメタデータであって、主記憶部とは異なる記憶部である第2記憶部に記憶されているボットを主記憶部にキャッシュすることの要否を決定しうる情報であり当該ボットが実行される条件を含む情報であるメタデータに基づいて、各ボットを主記憶部へキャッシュすべきか否かを示すキャッシュポリシーを生成するキャッシュポリシー生成ステップと、キャッシュポリシーに基づいて、各ボットの主記憶部へのキャッシュまたは各ボットの主記憶部からの削除を実行するキャッシュ実行ステップと、を有する。
また、対話ボット管理プログラムは、コンピュータを、主記憶部に記憶された1以上のボットを実行することにより対話処理を実行する対話システムにおいて、主記憶部に記憶させるボットを管理する対話ボット管理装置として機能させるための対話ボット管理プログラムであって、ボットは、対話処理のための対話シナリオが規定されたデータであり、対話ボット管理プログラムは、コンピュータに、ボットの動作が記述された対話シナリオ情報に基づいて生成されたメタデータであって、主記憶部とは異なる記憶部である第2記憶部に記憶されているボットを主記憶部にキャッシュすることの要否を決定しうる情報であり当該ボットが実行される条件を含む情報であるメタデータに基づいて、各ボットを主記憶部へキャッシュすべきか否かを示すキャッシュポリシーを生成するキャッシュポリシー生成機能と、キャッシュポリシーに基づいて、各ボットの主記憶部へのキャッシュまたは各ボットの主記憶部からの削除を実行するキャッシュ実行機能と、を実現させる。
上記の方法及びプログラムによれば、各ボットの対話処理の内容が記述された対話シナリオ情報に基づいて、当該ボットが実行される条件を含むメタデータが生成される。対話システムにおいて参照されるボットは、有限の量であるので、その対話システムにおいて実行され得る全てのボットのメタデータを予め生成することができる。そして、このように生成されたメタデータに基づいて、キャッシュポリシーを適時に生成できるので、生成されたキャッシュポリシーに基づいて、ボットの主記憶部へのキャッシュまたは削除を実行することにより、主記憶部の効率的な利用が可能となる。
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
本明細書で説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE-A(LTE-Advanced)、SUPER 3G、IMT-Advanced、4G、5G、FRA(Future Radio Access)、W-CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi-Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及び/又はこれらに基づいて拡張された次世代システムに適用されてもよい。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本開示において説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
本開示で使用する「判断(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)」などで読み替えられてもよい。
本開示で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本明細書で「第1の」、「第2の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみがそこで採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
「含む(include)」、「含んでいる(including)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。
1…対話システム、10…対話ボット管理装置、11…取得部、12…メタデータ生成部、13…連鎖ボット特定部、14…外部条件取得部、15…キャッシュポリシー生成部、15…キャッシュポリシー生成部、16…キャッシュ実行部、17…対話実行部、20…二次記憶部、30…主記憶部、40…対話シナリオ情報記憶部、50…メタデータ記憶部、60…キャッシュポリシー記憶部、M1…記録媒体、m10…メインモジュール、m11…取得モジュール、m12…メタデータ生成モジュール、m13…連鎖ボット特定モジュール、m14…外部条件取得モジュール、m15…キャッシュポリシー生成モジュール、m16…キャッシュ実行モジュール、P1…対話ボット管理プログラム。
Claims (8)
- 主記憶部に記憶された1以上のボットを実行することにより対話処理を実行する対話システムにおいて、前記主記憶部に記憶させる前記ボットを管理する対話ボット管理装置であって、
前記ボットは、前記対話処理のための対話シナリオが規定されたデータであり、
前記対話ボット管理装置は、
前記ボットの動作が記述された対話シナリオ情報を取得する取得部と、
各ボットの前記対話シナリオ情報に基づいて、前記主記憶部とは異なる記憶部である第2記憶部に記憶されているボットを主記憶部にキャッシュすることの要否を決定しうる情報であって当該ボットが実行される条件を含む情報であるメタデータを生成するメタデータ生成部と、
前記メタデータに基づいて、各ボットを前記主記憶部へキャッシュすべきか否かを示すキャッシュポリシーを生成するキャッシュポリシー生成部と、
前記キャッシュポリシーに基づいて、各ボットの主記憶部へのキャッシュまたは各ボットの主記憶部からの削除を実行するキャッシュ実行部と、
を備える対話ボット管理装置。 - 前記対話システムにおける時間的または環境的な条件を示す外部条件情報を取得する外部条件取得部、をさらに備え、
前記メタデータは、当該ボットが実行される外部条件を示す実行条件情報を含み、
前記キャッシュポリシー生成部は、前記実行条件情報を含む前記メタデータ及び前記外部条件情報に基づいて、前記キャッシュポリシーを生成する、
請求項1に記載の対話ボット管理装置。 - 前記外部条件情報は、日時、季節及び天気のうちの少なくとも一つの情報を含み、
前記実行条件情報は、当該ボットが実行される日時、季節及び天気のうちの少なくとも一つの情報を含む、
請求項2に記載の対話ボット管理装置。 - 各対話シナリオ情報は、当該ボットの実行の後に実行される遷移先のボット、又は、当該ボットの実行の前に実行される遷移元のボットを示す情報を含み、
前記対話ボット管理装置は、
前記対話シナリオ情報における遷移元または遷移先のボットを示す情報に基づいて、互いに連鎖して実行されるボットを特定する連鎖ボット特定情報を生成する連鎖ボット特定部、をさらに備え、
前記キャッシュポリシー生成部は、前記連鎖ボット特定情報及び前記メタデータに基づいて、一のボットをキャッシュすべき又は削除すべきであることを示す情報に加えて、当該一のボットと連鎖して実行されるボットをキャッシュすべき又は削除すべきことを示す情報を含む前記キャッシュポリシーを生成する、
請求項1~3のいずれか一項に記載の対話ボット管理装置。 - 前記メタデータ生成部は、所定の入力情報に基づいて、当該ボットが前記主記憶部に強制的にキャッシュすべきホットスタンバイボットであることを示す情報、又は、キャッシュしないコールドスタンバイボットであることを示す情報を含む前記メタデータを生成し、
前記キャッシュポリシー生成部は、
対応するボットがホットスタンバイボットであることを示す情報を含む前記メタデータに基づいて、当該ボットをキャッシュすべきことを示す前記キャッシュポリシーを生成し、
対応するボットがコールドスタンバイボットであることを示す情報を含む前記メタデータに基づいて、当該ボットをキャッシュしないことを示す前記キャッシュポリシーを生成する、
請求項1~4のいずれか一項に記載の対話ボット管理装置。 - 前記メタデータ生成部は、所定の入力情報に基づいて、当該ボットが即時の実行を要求されない遅延許容ボットであることを示す情報を含む前記メタデータを生成し、
前記キャッシュポリシー生成部は、対応するボットが遅延許容ボットであることを示す情報を含む前記メタデータに基づいて、当該ボットをキャッシュしないことを示す前記キャッシュポリシーを生成する、
請求項1~5のいずれか一項に記載の対話ボット管理装置。 - 主記憶部に記憶された1以上のボットを実行することにより対話処理を実行する対話システムにおいて、前記主記憶部に記憶させる前記ボットを管理する対話ボット管理装置により実行される対話ボット管理方法であって、
前記ボットは、前記対話処理のための対話シナリオが規定されたデータであり、
前記対話ボット管理方法は、
前記ボットの動作が記述された対話シナリオ情報に基づいて生成されたメタデータであって、前記主記憶部とは異なる記憶部である第2記憶部に記憶されているボットを主記憶部にキャッシュすることの要否を決定しうる情報であり当該ボットが実行される条件を含む情報であるメタデータに基づいて、各ボットを前記主記憶部へキャッシュすべきか否かを示すキャッシュポリシーを生成するキャッシュポリシー生成ステップと、
前記キャッシュポリシーに基づいて、各ボットの主記憶部へのキャッシュまたは各ボットの主記憶部からの削除を実行するキャッシュ実行ステップと、
を有する対話ボット管理方法。 - コンピュータを、主記憶部に記憶された1以上のボットを実行することにより対話処理を実行する対話システムにおいて、前記主記憶部に記憶させる前記ボットを管理する対話ボット管理装置として機能させるための対話ボット管理プログラムであって、
前記ボットは、前記対話処理のための対話シナリオが規定されたデータであり、
前記対話ボット管理プログラムは、前記コンピュータに、
前記ボットの動作が記述された対話シナリオ情報に基づいて生成されたメタデータであって、前記主記憶部とは異なる記憶部である第2記憶部に記憶されているボットを主記憶部にキャッシュすることの要否を決定しうる情報であり当該ボットが実行される条件を含む情報であるメタデータに基づいて、各ボットを前記主記憶部へキャッシュすべきか否かを示すキャッシュポリシーを生成するキャッシュポリシー生成機能と、
前記キャッシュポリシーに基づいて、各ボットの主記憶部へのキャッシュまたは各ボットの主記憶部からの削除を実行するキャッシュ実行機能と、
を実現させる対話ボット管理プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019075723 | 2019-04-11 | ||
JP2019075723 | 2019-04-11 | ||
PCT/JP2019/045504 WO2020208859A1 (ja) | 2019-04-11 | 2019-11-20 | 対話ボット管理装置、対話ボット管理方法及び対話ボット管理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020208859A1 JPWO2020208859A1 (ja) | 2021-12-16 |
JP7123248B2 true JP7123248B2 (ja) | 2022-08-22 |
Family
ID=72750523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021513160A Active JP7123248B2 (ja) | 2019-04-11 | 2019-11-20 | 対話ボット管理装置、対話ボット管理方法及び対話ボット管理プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7123248B2 (ja) |
WO (1) | WO2020208859A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004219714A (ja) | 2003-01-15 | 2004-08-05 | Will Being:Kk | 人間からの指示に基づいてそれぞれ予め定めた特定のシーンに属する対話のシーンを識別し、シーンに即した自然対話を構成する応答文を作成して、それを音声合成することにより、音声対話を行うコンピュータによる音声対話方法及び音声対話システム |
JP2009193532A (ja) | 2008-02-18 | 2009-08-27 | Oki Electric Ind Co Ltd | 対話管理装置、方法及びプログラム、並びに意識抽出システム |
-
2019
- 2019-11-20 JP JP2021513160A patent/JP7123248B2/ja active Active
- 2019-11-20 WO PCT/JP2019/045504 patent/WO2020208859A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004219714A (ja) | 2003-01-15 | 2004-08-05 | Will Being:Kk | 人間からの指示に基づいてそれぞれ予め定めた特定のシーンに属する対話のシーンを識別し、シーンに即した自然対話を構成する応答文を作成して、それを音声合成することにより、音声対話を行うコンピュータによる音声対話方法及び音声対話システム |
JP2009193532A (ja) | 2008-02-18 | 2009-08-27 | Oki Electric Ind Co Ltd | 対話管理装置、方法及びプログラム、並びに意識抽出システム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2020208859A1 (ja) | 2021-12-16 |
WO2020208859A1 (ja) | 2020-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100386731C (zh) | 延迟锁定服务器文档编辑的方法 | |
US8381181B2 (en) | Updating a workflow when a user reaches an impasse in the workflow | |
US10659552B2 (en) | Device and method for monitoring server health | |
US8380680B2 (en) | Piecemeal list prefetch | |
US9274782B2 (en) | Automated computer application update analysis | |
CN111666497A (zh) | 应用程序的加载方法、装置、电子设备及可读存储介质 | |
US20220321680A1 (en) | Methods and systems for communicating relevant content | |
US20120137045A1 (en) | Efficiently determining identical pieces of memory used by virtual machines | |
CN108287708B (zh) | 一种数据处理方法、装置、服务器及计算机可读存储介质 | |
US9292341B2 (en) | RPC acceleration based on previously memorized flows | |
CN110362968B (zh) | 信息检测方法、装置及服务器 | |
US20170192767A1 (en) | Controlled deployment of application feature | |
US20170357987A1 (en) | Online platform for predicting consumer interest level | |
US10761935B2 (en) | Accelerating system dump capturing | |
US10719408B2 (en) | Retain locally deleted content at storage service | |
US20120054724A1 (en) | Incremental static analysis | |
US9946712B2 (en) | Techniques for user identification of and translation of media | |
CN108733468A (zh) | 定时任务动态配置方法及装置、存储介质及服务器集群 | |
US20220156295A1 (en) | Profile generation device | |
JP7123248B2 (ja) | 対話ボット管理装置、対話ボット管理方法及び対話ボット管理プログラム | |
CN108400929B (zh) | 数据处理方法、装置、计算设备和介质 | |
KR102430989B1 (ko) | 인공지능 기반 콘텐츠 카테고리 예측 방법, 장치 및 시스템 | |
JP7016405B2 (ja) | 対話サーバ | |
CN112181407B (zh) | 业务实现处理方法及装置、系统、电子设备和存储介质 | |
US20220309396A1 (en) | Inference device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210806 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220802 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220809 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7123248 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |