(57)【要約】【課題】対話システムにおいて、ユーザの発言内容から適切なドメインを効率良く決定する。【解決手段】対話システムは、対話におけるユーザの発言内容を取得する入力手段と、前記入力手段が取得した発言内容に基づいて、前記対話のモードがタスク指向型であるか非タスク指向型であるかを決定するモード決定手段と、それぞれが特定のドメインに対応する複数の意図理解手段と、前記対話のモードがタスク指向型である場合に、前記発言内容を前記複数の意図理解手段のそれぞれを用いて行った意図理解の結果に基づいて、前記対話のドメインを決定するドメイン決定手段と、を備える。【選択図】図２
2019070957.tif 000002
【特許請求の範囲】
【請求項１】
対話におけるユーザの発言内容を取得する入力手段と、
前記入力手段が取得した発言内容に基づいて、前記対話のモードがタスク指向型であるか非タスク指向型であるかを決定するモード決定手段と、
それぞれが特定のドメインに対応する複数の意図理解手段と、
前記対話のモードがタスク指向型である場合に、前記発言内容を前記複数の意図理解手段のそれぞれを用いて行った意図理解の結果に基づいて、前記対話のドメインを決定するドメイン決定手段と、
を備える対話システム。
【請求項２】
前記複数の意図理解手段のそれぞれは、前記発言内容が、予め定められた複数の意図のそれぞれに合致する確信度を出力する、
請求項１に記載の対話システム。
【請求項３】
前記複数の意図理解手段のそれぞれは、前記発言内容をベクトル化し、ベクトル空間内での当該発言内容の位置と予め定められた意図の重心位置との距離に基づいて、当該意図に該当する確信度を決定する、
請求項２に記載の対話システム。
【請求項４】
前記複数の意図理解手段のそれぞれは、確信度が高いものから所定数個の意図について確信度を出力し、
前記所定数は、前記複数の意図理解手段において共通である、
請求項２または３に記載の対話システム。
【請求項５】
前記複数の意図理解手段のそれぞれは、同一の算出基準に基づいて前記確信度を算出する、
請求項２から４のいずれか１項に記載の対話システム。
【請求項６】
前記ドメイン決定手段は、最も高い確信度を出力した意図理解手段に対応するドメインを、前記対話のドメインとして決定する、
請求項２から５のいずれか１項に記載の対話システム。
【請求項７】
前記ドメイン決定手段は、前記対話のモードが非タスク指向型である場合に、前記発言内容に含まれる単語列からドメインを推定する、
請求項１から６のいずれか１項に記載の対話システム。
【請求項８】
前記ドメイン決定手段は、前記対話のモードがタスク指向型と非タスク指向型で切り替わった場合に、切り替わり前のドメインを考慮して、切り替わり後のドメインを決定する、
請求項１から７のいずれか１項に記載の対話システム。
【請求項９】
前記入力手段は、ユーザの発話音声を取得する音声入力手段と、前記発話音声を音声認識して前記発言内容を取得する音声認識手段と、を備える、
請求項１から８のいずれか１項に記載の対話システム。
【請求項１０】
前記入力手段は、ユーザから発言内容のテキストを取得する、
請求項１から８のいずれか１項に記載の対話システム。
【請求項１１】
対話システムが行うドメイン決定方法であって、
対話におけるユーザの発言内容を取得する入力ステップと、
前記入力ステップにおいて取得した発言内容に基づいて、前記対話のモードがタスク指向型であるか非タスク指向型であるかを決定するモード決定ステップと、
それぞれが特定のドメインに対応する複数の意図理解ステップと、
前記対話がタスク指向型である場合に、それぞれが特定のドメインに対応する意図理解手段を用いて行った意図理解の結果に基づいて、前記対話のドメインを決定するドメイン決定ステップと、
を含むドメイン決定方法。
【請求項１２】
請求項１１に記載の方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話システムに関し、特に、対話におけるドメイン決定手法に関する。
【背景技術】
【０００２】
自然言語処理技術、特に意図理解技術の進展により、テキストチャットのユーザインタフェースを活用したチャットボット型の対話システムの進展が著しい。このような技術進展の帰結として、既存のチャットボット型の対話システムを活用した音声対話システムが実現されると期待される。
【０００３】
このようなチャットボット型の音声対話システムは、タスク指向型の対話を行うのみならず、非タスク指向型の対話とシームレスにつながることが望まれる。なお、タスク指向型の対話とは、目標を持って行う対話であり、たとえば、天気問い合わせ・レストラン予約・ホテル予約などの対話が例として挙げられる。非タスク指向型の対話とは、タスク指向型以外の対話であり、特段の目標を持たない雑談が該当する。
【０００４】
タスク指向型の対話と非タスク指向型の対話が混在した対話として、次のような対話が例としてあげられる。
Ｕ１：今日の夜暇？
Ｕ２：暇だよ
Ｕ３：僕も暇だよ。
Ｕ４：食事でも行かない？
Ｕ５：いいね
Ｕ６：何がいい？
Ｕ７：フレンチとかどう？
Ｕ８：いいね。じゃあ空き状況確認するね？
Ｕ９：今晩、空いているお勧めのフレンチは？
Ｓ１：ＸＸＸなど如何でしょうか？ＡＡＡが美味しいです。
Ｕ１０：他には？
Ｓ２：ＹＹＹは如何でしょうか？ＢＢＢが美味しいです。
Ｕ１１：じゃあ、そこを予約して。
【０００５】
上記の例では、Ｕはユーザの発話、Ｓはシステムの発話を表す。また、Ｕ１からＵ８までが非タスク指向型の対話であり、Ｕ９からがタスク指向型の対話である。なお、この例では、非タスク指向型の対話にシステムは参加していないが、参加しても構わない。
【０００６】
対話システムが、適切な応答を出力するためには、ユーザの発言意図を適確に理解する必要がある。様々なドメイン（話題）に対応するために、それぞれが独自のドメインに対応した複数の意図理解エンジンを使うことが想定される。また、新たなドメインを容易に追加できるように、個々のドメインを統合してシステムを構築することが提案されている（非特許文献１）。このようなアーキテクチャにおけるドメイン選択手法として、非特許文献１では、ユーザの発言内容を各ドメインの意図理解エンジンに渡して、どのドメインに該当するかを判断している。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】池田智志 他、「マルチドメイン音声対話システムにおけるトピック推定と対話履歴の統合によるドメイン選択手法.」 情報処理学会論文誌 50.2 (2009): 488-500.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
非特許文献１の手法では、ユーザの発言内容の全てがそれぞれの意図理解エンジンに渡されることになる。それぞれの意図理解エンジンは、予め定められた意図に当てはまるか当てはまらないかを判定し、その結果を返す。ここで、ユーザの発言内容がいずれの意図理解エンジンの予め定められた意図に該当しない場合には、処理が無駄になり非効率である。
【０００９】
上記の課題を考慮して、本発明は、ユーザの発言内容から適切なドメインを効率良く決定可能な対話システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明に係る対話システムは、対話がタスク指向型であるか非タスク指向型であるかを判断して、対話がタスク指向型である場合に複数の意図理解手段を用いた意図理解を行い、その結果に基づいてドメインを決定する。対話が非タスク指向型である場合には、意図理解手段を用いたドメイン決定は有効ではない場合が多い。本発明に係る対話システムは、対話がタスク指向型であるときに意図理解手段を用いたドメイン決定を行うことで処理を効率化できる。
【００１１】
より具体的には、本発明に係る対話システムは、入力手段と、モード決定手段と、意図理解手段と、ドメイン決定手段を備える。
【００１２】
入力手段は、対話におけるユーザの発言内容を取得する。入力手段は、ユーザからテキスト形式で発言内容を取得してもよいし、音声形式で発言内容を取得してもよい。音声形式での取得を行う場合には、入力手段は、ユーザの発話音声を取得する音声入力手段と、発話音声を音声認識して発言内容のテキストを取得する音声認識手段を含んで構成することが好ましい。
【００１３】
モード決定手段は、入力手段が取得した発言内容に基づいて、現在の対話のモードがタスク指向型であるか非タスク指向型であるかを決定する。ここで、タスク指向型の対話は特定の目標を持って行われる対話であり、非タスク指向型の対話はこれ以外の対話である。対話がタスク指向型か非タスク指向型かの決定は、たとえば、機械学習（たとえば強化学習）を用いて生成した識別器によって行えばよい。
【００１４】
複数の意図理解手段は、それぞれ特定のドメインの発言意図を理解するように構成される。なお、対話におけるドメインとは、意図理解手段が扱う（扱える）話題の範囲を意味する。たとえば、一つの意図理解手段は、ドメイン内の予め定められた複数の意図のそれぞれについて、ユーザの発言が各意図に当てはまるかどうかを表す確信度を算出するように構成される。ユーザ発言が特定の意図であることを示す確信度は、発言内容をベクトル化し、ベクトル空間内でのユーザ発言の位置と上記特定の意図の重心位置との間の距離に基づいて決定すればよい。
【００１５】
ドメイン決定手段は、対話のモードがタスク指向型である時に、意図理解手段を用いたドメイン決定を行うように構成される。たとえば、ドメイン決定手段は、ユーザの発言内容を複数の意図理解手段に渡して、予め定められた複数の意図に当てはまる確信度を取得し、この確信度に基づいてドメインが決定するようにしてもよい。
【００１６】
なお、ドメイン決定手段は、対話モードが非タスク指向型である時には、上記とは異な
る手法によってドメインを決定する。たとえば、対話モードが非タスク指向型である時には、ドメイン決定手段は、ユーザの発言内容に含まれる単語列からドメインを決定するように構成してもよい。
【００１７】
このような構成の対話システムによれば、意図理解手段を追加することによって新規のドメインに対応が可能であり、システムの拡張性が高い。複数の意図理解手段を備える対話システムにおいて、全ての意図理解手段にユーザの発言内容を渡して意図理解処理を実行すると、処理負荷が高くなる。意図理解手段によって意図を理解できるのは対話がタスク指向型である時が多く、対話が非タスク指向型である時には意図理解手段による意図理解は困難な場合が多い。そこで、本発明に係る対話システムでは、対話がタスク指向型である時に意図理解手段を用いたドメイン決定を行い、そうでない場合には意図理解手段を利用しないドメイン決定を行うことで、ドメイン決定の精度を損なうことなく処理を効率化できる。
【００１８】
本発明において、複数の意図理解手段が算出する確信度の分布が異なっている場合には、異なる意図理解手段が算出する確信度の比較が困難である。そこで、複数の意図理解手段は、確信度の高い所定数個の意図についての確信度を出力するように構成されることが望ましい。この際、当該所定数は、全ての意図理解手段において共通とする。また、それぞれの意図理解手段は複数（たとえば、上記所定数）の意図についての確信度を出力するが、確信度の算出基準は複数の意図理解手段において同一とすることが望ましい。たとえば、複数の確信度の総和（合計）を正規化する（すなわち、全ての意図理解手段において同じ値、典型的には１、となるようにする）ことが好ましい。また、それぞれの意図理解手段が出力する複数の意図についての確信度の分布の尖度（３次のモーメント）や歪度（４次のモーメント）を正規化することも好ましい。このようにすることで、複数の意図理解手段が出力する確信度を、容易に比較できるようになる。
【００１９】
本発明において、ドメイン決定手段は、対話モードがタスク指向型と非タスク指向型の間で切り替わった場合に、切り替わり前のドメインを考慮して、切替後のドメインを決定することが好ましい。たとえば、対話モードが非タスク指向型からタスク指向型に切り替わったときに、単純に意図理解手段が算出する確信度に基づいてドメインを決定するのではなく、直近のドメインについての確信度を大きくする補正を行うなどして直近のドメインが選択されやすくなるようにするとよい。対話モードがタスク指向型から非タスク指向型に切り替わったときも同様である。このようにすることで、過去のドメインを考慮して現在のドメインが決定できるので、ドメイン決定精度が向上する。
【００２０】
なお、本発明は、上記手段の少なくとも一部を備える対話システムとして捉えることができる。また、本発明は、上記対話システムが行うドメイン決定方法として捉えることもできる。また、本発明は、これらの方法をコンピュータに実行させるためのコンピュータプログラム、あるいはこのコンピュータプログラムを非一時的に記憶したコンピュータ可読記憶媒体として捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
【発明の効果】
【００２１】
本発明によれば、対話システムにおいて、ユーザの発言内容から適切なドメインを効率良く決定できる。
【図面の簡単な説明】
【００２２】
【図１】図１は、実施形態に係る対話システムの構成を示す図である。
【図２】図２は、実施形態に係る対話システムにおける音声対話処理の流れを示すフローチャートである。
【図３】図３は、チャットボットにおける確信度算出処理の流れを示すフローチャートである。
【図４】図４は、ベクトル空間内での発言内容の意図理解を説明するための模式図である。
【図５】図５は、チャットボットが算出する意図毎の確信度を説明する模式図である。
【発明を実施するための形態】
【００２３】
本実施形態に係る対話システム１は、ユーザ（人間）と音声対話を行う音声対話システムである。対話に参加するユーザ数は、一人であってもよいし複数であってもよい。また、本対話システム１は、雑談のように特段の目標を持たない対話（非タスク指向型の対話）と、目標を持って行う対話（タスク指向型の対話）の両方に対応する。また、本対話システム１は、複数の話題（ドメイン）に対話できるように、それぞれが独自のドメインに対応した複数の対話エンジン（チャットボット）を用いる。
【００２４】
＜構成＞
図１は、本実施形態に係る対話システム１の構成を示す図である。図示するように、対話システム１は、対話アプリ１０、対話サーバ２０、複数のチャットボット３０を含んで構成される。対話アプリ１０はユーザが所持するスマートフォンやＰＣ（Personal Computer）などにより実現される。対話サーバ２０は、対話アプリ１０と通信可能に構成され
たコンピュータにより実現される。チャットボット３０は、対話サーバ２０の管理事業者とは異なる事業者（サードパーティ）が管理するコンピュータにより実現される。
【００２５】
対話アプリ１０は、音声入力部１１、音声合成部１２，音声出力部１３をその機能部として含む。これらの機能部は、コンピュータのマイクロプロセッサ（演算処理部）がプログラムを実行することにより実現される。音声入力部１１は、マイクからユーザの発話音声を取得する。音声入力部１１によって取得された音声は、対話サーバ２０に送られる。音声合成部１２は、対話サーバ２０から発話テキストを取得し、当該発話テキストに対応する音声を音声合成により生成する。音声出力部１３は、音声合成部１２により生成された音声を、スピーカーから出力する。
【００２６】
対話サーバ２０は、音声認識部２１、対話モード推定部２２、ドメイン選択部２３をその機能部として含む。これらの機能部は、コンピュータのマイクロプロセッサ（演算処理部）がプログラムを実行することにより実現される。対話サーバ２０は、ユーザの発話内容をテキスト化し、話題に沿ったチャットボット３０を用いてユーザに対する応答文を生成する。
【００２７】
音声認識部２１は、対話アプリ１０から得られた発話音声に対して音声認識処理を施して、発話内容をテキスト化する。音声認識処理には既存の技術、例えば、音響モデル・言語モデル・発音辞書を用いたモデルベースの手法を適用すればよい。なお、音声認識部２１は、音声認識の前処理として、雑音除去、話者分離、発話区間検出などの前処理を行ってもよい。
【００２８】
対話モード推定部２２は、現在行われている対話が、タスク指向型の対話であるか、非タスク指向型の対話であるかを推定する。対話モード推定部２２は、Ｑ学習のような強化学習によってあらかじめ学習された識別器を用いて、現在の対話のモードを推定する。識別器の学習は、たとえば、次のようにして行えばよい。まず、内部状態として、完全なタスク指向型な状態と完全な非タスク指向型な状態とを含む複数の状態を定義し、それぞれの状態に応じた適切な応答文生成ルールを決定する。また、会話における報酬を、よりスムーズな会話が長く行えるほど高い報酬が得られるように定義する。そして、実際に状態
遷移を行いながらユーザとの会話を行い、会話において得られる報酬が最大化されるように、識別器における状態遷移の基準（状態遷移に伴う期待報酬）を更新する。このような学習を繰り返し行うことで、対話モードを適切に推定可能な識別器が得られる。
【００２９】
ドメイン選択部２３は、現在の対話におけるドメインを選択する。ドメイン選択部２３は、現在の対話がタスク指向型である時に有効なタスク指向時ドメイン選択部２３ａと、現在の対話が非タスク指向型である時に有効な非タスク指向時ドメイン選択部２３ｂと含む。それぞれのドメイン選択部の詳細な動作については、後述する。
【００３０】
なお、図示はしていないが、対話サーバ２０は、ユーザ同士の対話に対応できるように、あるユーザの対話アプリ１０から取得した発話音声（あるいはその認識結果）を、別のユーザの対話アプリ１０に送信する。
【００３１】
チャットボット３０は、意図理解部（意図理解エンジン）３１と、応答文生成部３２をその機能部として含む。これらの機能部は、コンピュータのマイクロプロセッサ（演算処理部）がプログラムを実行することにより実現される。なお、図では、チャットボット３０は２つ示してあるが、その数は１つであっても３つ以上であってもよく特に限定されない。
【００３２】
意図理解部３１は、対話サーバ２０から取得した発話テキスト（発言内容）の意図を理解する。本実施形態においては、意図理解部３１は、あらかじめ定められた複数の意図のそれぞれについて、発話テキストが当該意図に一致する確からしさ（確信度）を算出する。応答文生成部３２は、対話サーバ２０から取得した発話テキストに応答するための、応答文テキストを生成する。応答文の生成手法は特に限定されず、既存の任意の手法を用いることができる。
【００３３】
なお、本実施形態に係る対話システム１においては、複数のドメインの対話に対応できるように、サードパーティが提供するチャットボット３０を利用可能とする。そのため、対話サーバ２０とチャットボット３０の間のインタフェース（テキストチャットボットインタフェース）４０が定められており、このインタフェースにしたがって対話サーバ２０とチャットボット３０の間で通信が行われる。
【００３４】
＜処理内容＞
図２および図３は、本実施形態に係る対話システム１での処理の流れを示すフローチャートである。以下、これらのフローチャートにしたがって、本実施形態での処理を説明する。
【００３５】
ステップＳ１０２において、対話アプリ１０の音声入力部１０１がユーザからの発話音声を取得し、対話サーバ２０へ送信する。ステップＳ１０４において、対話サーバ２０の音声認識部２１が音声認識処理を行って、発話音声をテキストに変換する。
【００３６】
ステップＳ１０６において、対話モード推定部２２が、現在の対話のモードがタスク指向型であるか非タスク指向型であるかを推定する。上述したように、対話モード推定部２２は、入力される発話テキストに応じて内部状態を遷移させる。内部状態が３段階以上の場合には、適宜の規則に従って、３段階以上の内部状態からタスク指向型モードと非タスク指向型モードのいずれかを決定する。この際、ヒステリシスを持たせて過去の状態を考慮して対話モードを決定してもよい。
【００３７】
ステップＳ１０８において、ドメイン選択部２３は、現在の対話モードがタスク達成型であるか非タスク達成型であるかを判断し、対話モードに応じて異なる手法によって現在
のドメインを決定する。現在の対話モードがタスク指向型であればステップＳ１１０に進み、非タスク指向型であればステップＳ１１４に進む。
【００３８】
ステップＳ１１０の処理は、対話モードがタスク指向型の時に実行される。ここでは、タスク指向時ドメイン選択部２３ａが、ユーザの発話テキストを、全てのチャットボット３０に送信して、チャットボット３０が理解可能な意図に当てはまる確からしさを示す確信度を取得する。
【００３９】
ここで、図３から図５を参照して、チャットボット３０における確信度の算出処理について説明する。図３はチャットボット３０（意図理解部３１）が行う確信度算出処理の流れを示すフローチャートであり、図４は文章のベクトル化による意図理解処理を説明する図であり、図５はチャットボット３０が算出する確信度の例である。
【００４０】
ステップＳ２０２において、意図理解部３１は、発話テキストの特徴を表す特徴ベクトルを公知のベクトル解析手法（たとえばWord2Vec）により求める。ステップＳ２０４において、意図理解部３１は、ベクトル空間内での、発話テキストの位置と、予め定められ複数の意図の距離を算出する。
【００４１】
上述したように、各チャットボット３０は、予め定められた複数の意図を理解可能なように構成される。たとえば、チャットボット３０が「ニュース」に関する対話が可能であるとして、「経済ニュースの取得」や「国際ニュースの取得」などの発話意図を理解可能であるとする。図４に示すように、このような予め定められた意図を表す文章は、ベクトル空間内で所定の領域（４１０，４２０）を示す。発話テキストのベクトル化によりベクトル空間内での位置が定まるので、意図理解部３１は、当該位置と各意図の領域（４１０，４２０）の重心位置（４１１，４１２）との間の距離を求める。なお、図４では、ベクトル空間が３次元であるように描いているが、実際にはより大きな次元（２００次元以上）である。また、意図理解部３１が理解する意図の数も２つではなく実際にはより多い。
【００４２】
ステップＳ２０６において、意図理解部３１は、発話テキストとの距離が近い上記所定数個（Ｎ個）の位置を選択する。なお、この所定数Ｎは、対話システム１全体で共通の数とする。所定数Ｎは、事前に定められていてもよいし、対話サーバ２０がチャットボット３０にドメイン選択の要求を出すたびに当該要求において指定されてもよい。なお、この所定数Ｎは、複数のチャットボット３０が対応する意図のうちの最小値とすることが好ましい。
【００４３】
ステップＳ２０８において、意図理解部３１は、上位Ｎ個の意図について、ベクトル空間内の距離に基づいて、発言テキストが意図に合致する確からしさを表す確信度を算出する。図５に、１つのチャットボット３０が算出する意図毎の確信度を模式的に示す。この際、全てのチャットボット３０が同一の基準に従って確信度を算出する。具体的には、意図理解部３１は、Ｎ個の確信度の総和が１となるように確信度を正規化して算出する。さらに、確信度の分布形状において、尖度（３次のモーメント）や歪度（４次のモーメント）が所定値となるように正規化することも好ましい。
【００４４】
ステップＳ２１０において、チャットボット３０は、算出した確信度を対話サーバ２０に送信する。この際、チャットボット３０は、最も大きな確信度の値のみを送信してもよいし、Ｎ個全ての意図についての確信度の値を送信してもよい。
【００４５】
図３のフローチャートの説明に戻る。ステップＳ１１１において、各チャットボットから得られた確信度の最大値が所定の閾値以上であるか否かを判断する。確信度の最大値が閾値以上である場合（Ｓ１１１−ＹＥＳ）にはステップＳ１１２に遷移して、タスク指向
時ドメイン選択部２３ａは、各チャットボット３０から得られた確信度に基づいて、ドメインを決定する。典型的には、ドメイン選択部２３ａは、最も大きな確信度を算出したチャットボット３０に対応するドメインを、現在の対話におけるドメインであると決定する。一方、各チャットボット３０から得られた確信度の最大値が所定の閾値未満である場合（Ｓ１１１−ＮＯ）には、ステップＳ１１４に遷移して非タスク指向時ドメイン選択部２３ｂを用いてドメインを選択する。
【００４６】
ステップＳ１１４の処理は、対話モードが非タスク指向型の時、または、対話モードがタスク指向型であるがチャットボットから得られる確信度の最大値が閾値未満の時に実行される。ここでは、非タスク指向時ドメイン選択部２３ｂが、ユーザの発話テキストに含まれる単語列からドメインを決定する。ドメイン選択部２３ｂは、ドメイン毎に関連する単語を定義したドメイン辞書を有し、当該ドメイン辞書を参照して現在の対話のドメインを決定する。
【００４７】
ステップＳ１１６において、対話サーバ２０は、ステップＳ１１２またはＳ１１４において決定されたドメインのチャットボット３０に対して、発話テキストを送信する。なお、対話モードがタスク指向型か非タスク指向型かに応じて、発話テキストを送信するチャットボットを決定してもよい。チャットボット３０の応答文生成部３２は、取得した発話テキストに応答するための応答テキストを生成して、対話サーバ２０へ送信する。なお、本実施形態において、応答テキストの決定方法は特に限定されず、既存の任意の手法によって応答テキストを生成すればよい。対話サーバ２０は、応答テキストをチャットボット３０から送信して、対話アプリ１０に送信する。
【００４８】
ステップＳ１１８において、対話アプリの音声合成部１２は音声合成処理により、応答テキストの音声データを生成し、ステップＳ１２０において音声出力部１３から出力する。
【００４９】
＜有利な効果＞
本実施形態に係る対話システム１は、チャットボット３０の追加により新規のドメインに対応可能であり、システムの拡張性が高い。また、チャットボット３０が解釈可能な意図に合致するか否かに基づくドメイン判断は精度が高い。しかしながら、対話がタスク指向型の時には上述のように解釈可能な意図に合致することが多いが、対話が非タスク指向型の時には合致しないことが多い。したがって、非タスク指向型の時にも各チャットボットに発話テキストを送信して意図理解処理を実行させると、この処理が無駄になることが多い。そこで、本実施形態では、対話がタスク指向型のときのみチャットボットの意図理解処理を用いたドメイン選択を行い、対話が非タスク指向型のときには単語列にもとづいてドメイン選択を行うことで、ドメイン選択の正確性と処理の効率性を両立させている。
【００５０】
また、本実施形態では、複数のチャットボットが同一の基準に従って確信度を算出しているので、複数のチャットボットから得られる確信度を互いに比較可能である。たとえば、確信度の算出基準が統一されていない場合、２つの意図についてのベクトル空間内での距離の差が同じであっても、あるチャットボットは確信度に大きな差をつけて算出し、別のチャットボットは確信度の値を同じような値として算出するという事態が生じる。これは、異なるチャットボットが算出する確信度の比較を無意味にする。本実施形態のように確信度の算出基準を統一することで確信度の比較が適切に行え、したがってドメイン選択を精度良く行える。
【００５１】
＜変形例＞
上記の実施形態はあくまでも一例であって、本発明はその要旨を逸脱しない範囲内で適宜変更して実施しうる。
【００５２】
上記の説明において、ドメイン決定処理は最新の発話テキストに基づいて行っているが、直近の所定個あるいは所定時間内の発話テキストに基づいてドメインを決定してもよい。
【００５３】
また、対話モードが、タスク指向型と非タスク指向型の間で切り替わるときに、切り替わる前のドメインを考慮してドメイン選択を行うことも好適である。たとえば、非タスク指向モードからタスク指向モードに切り替わったときには、ドメイン選択部２３ａは、切り替わり前のドメインに対応するチャットボット３０から得られる確信度に対して所定の補正値を加えて、当該ドメインが選択されやすくするようにすることが考えられる。対話モードがタスク指向モードから非タスク指向に切り替わるときも同様である。このような対策が有効な理由は、対話モードが切り替わってもドメインは切り替わらないことが多いという事実に基づく。また、直前のドメインだけでなくさらに前のドメインを考慮して現在のドメインを決定することも有効であり、その場合には時間に応じた重みを付けて（時間が離れているほど重みを小さくする）現在のドメインを決定してもよい。
【００５４】
上記の実施形態の説明では、チャットボット３０は、主にタスク指向時にユーザに対して応答を返すことを想定している。しかしながら、非タスク指向（雑談）モードの際にも、チャットボットからユーザに対して発話を行ってもよい。この場合、１つのチャットボットがタスク指向モードと非タスク指向モードの両方に対応してもよいし、タスク指向モード専用のチャットボットと非タスク指向モード専用のチャットボットを利用してもよい。
【００５５】
上記の実施形態では、ユーザとシステムの間の入出力は音声によって行っているが、入出力はテキストによって行ってもよいし、音声とテキストの両方に対応可能としてもよい。
【００５６】
また対話システムのシステム構成は、図１に示したものに限られず、システム全体として叙述した機能が提供できれば、各機能をどのように配置してもよい。たとえば、音声認識部や対話モード推定部をユーザ装置に設けてもよい。また、対話サーバや対話アプリを１つのコンピュータで実行する代わりに、複数のコンピュータが連携することでこれらの機能を提供してもよい。
【符号の説明】
【００５７】
１：対話システム
１０：対話アプリ    １１：音声入力部    １２：音声合成部    １３：音声出力部
２０：対話サーバ    ２１：音声認識部    ２２：対話モード推定部
２３：ドメイン選択部
３０：チャットボット    ３１：意図理解部    ３２：応答文生成部
【図１】
2019070957.tif 000003
【図２】
2019070957.tif 000004
【図３】
2019070957.tif 000005
【図４】
2019070957.tif 000006
【図５】
2019070957.tif 000007