(57)【要約】      （修正有）【課題】発話の意図を正確に把握した上で対話を行う対話支援システム、対話支援方法、及び対話支援プログラムを提供する。【解決手段】プロセッサ及びメモリを備える対話支援システム１０００であって、対話の主題を示す情報であるトピック情報を複数記憶している意図理解モデル記憶部８５と、トピック情報を参照することにより、外部から発せられた言葉から複数の意図を抽出する意図理解部８０と、抽出した意図のそれぞれについて、それぞれの前記意図に対応した言葉を、対話を構成する言葉として生成する対話生成部６２と、生成した言葉を出力する対話出力部６４と、を備える。【選択図】図１
2018185561.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサ及びメモリを備える対話支援システムであって、
対話の主題を示す情報であるトピック情報を複数記憶している意図理解モデル記憶部と、
前記トピック情報を参照することにより、外部から発せられた言葉から複数の意図を抽出する意図理解部と、
前記抽出した意図のそれぞれについて、それぞれの前記意図に対応した言葉を、前記対話を構成する言葉として生成する対話生成部と、
前記生成した言葉を出力する対話出力部と、
を備える、対話支援システム。
【請求項２】
前記外部から発せられた言葉を複数の言葉の部分に分割する分割部を備え、
前記意図理解部は、前記分割した複数の言葉の部分のそれぞれについて、それぞれの前記言葉の部分に対応する前記意図を抽出する、請求項１に記載の対話支援システム。
【請求項３】
前記意図理解部は、前記トピック情報のそれぞれと、前記分割した言葉の部分との間の類似度を算出し、算出した前記類似度のうち最大の類似度を算出した前記トピック情報を参照することにより、前記分割した言葉の前記意図を抽出する、請求項２に記載の対話支援システム。
【請求項４】
前記対話生成部は、前記抽出した意図について、当該意図に関連づけられた、発話の手順を記憶した情報である対話シナリオを取得し、取得した前記対話シナリオが示す手順に基づき、前記抽出した意図に対応した言葉を生成する、請求項１に記載の対話支援システム。
【請求項５】
前記対話シナリオの入力を受け付けると共に受け付けた前記対話シナリオに関する情報を出力する対話シナリオ作成部を備える、請求項４に記載の対話支援システム。
【請求項６】
外部から入力された音声を文字列に変換することにより前記外部から発せられた言葉とする音声認識部と、
前記対話を構成する言葉を音声に変換する音声合成部と、
を備える、請求項１に記載の対話支援システム。
【請求項７】
前記意図理解モデル記憶部は、前記トピック情報と、当該トピック情報が示すトピックに関連するトピックを示す情報である関連トピック情報とを対応づけて記憶しており、
前記意図理解部は、前記トピック情報及び前記関連トピック情報を参照することにより、前記発せられた言葉から前記意図を抽出する、請求項１に記載の対話支援システム。
【請求項８】
前記意図を抽出するために参照された前記トピック情報である参照トピック情報を記憶する対話ログ記憶部を備え、
前記意図理解部は、前記発せられた言葉から前記意図を抽出する場合に、前記トピック情報及び前記関連トピック情報を参照することにより第１の意図の候補を取得すると共に、前記参照トピック情報を参照することにより第２の意図の候補を取得し、取得した前記第１の意図の候補及び前記第２の意図の候補を所定の基準により比較することにより、前記第１の意図の候補又は前記第２の意図の候補のいずれかを前記抽出する意図とする、
請求項７に記載の対話支援システム。
【請求項９】
外部から入力された音声を文字列に変換することにより前記外部から発せられた言葉とする音声認識部と、
前記外部から発せられた言葉を複数の言葉の部分に分割する分割部と、
前記意図を抽出するために参照された前記トピック情報である参照トピック情報を記憶する対話ログ記憶部と、
前記対話を構成する言葉を音声に変換する音声合成部と、
を備え、
前記意図理解モデル記憶部は、前記トピック情報と、当該トピック情報が示すトピックに関連するトピックを示す情報である関連トピック情報とを対応づけて記憶しており、
前記意図理解部は、
前記分割した複数の言葉の部分のそれぞれについて、それぞれの前記言葉の部分に対応する前記意図を抽出するものであり、具体的には、前記トピック情報のそれぞれと、前記分割した言葉の部分との間の類似度を算出し、算出した前記類似度のうち最大の類似度を算出した前記トピック情報を参照することにより、前記分割した言葉の前記意図を抽出し、
前記発せられた言葉から前記意図を抽出する場合に、前記トピック情報及び前記関連トピック情報を参照することにより第１の意図の候補を取得すると共に、前記参照トピック情報を参照することにより第２の意図の候補を取得し、取得した前記第１の意図の候補及び前記第２の意図の候補を所定の基準により比較することにより、前記第１の意図の候補又は前記第２の意図の候補のいずれかを前記抽出する意図とし、
前記対話生成部は、前記抽出した意図について、当該意図に関連づけられた、発話の手順を記憶した情報である対話シナリオを取得し、取得した前記対話シナリオが示す手順に基づき、前記抽出した意図に対応した言葉を生成する、
請求項１に記載の対話支援システム。
【請求項１０】
プロセッサ及びメモリを備える情報処理装置が、
対話の主題を示す情報であるトピック情報を複数記憶する意図理解モデル記憶処理と、
前記トピック情報を参照することにより、外部から発せられた言葉から複数の意図を抽出する意図理解処理と、
前記抽出した意図のそれぞれについて、それぞれの前記意図に対応した言葉を、前記対話を構成する言葉として生成する対話生成処理と、
前記生成した言葉を出力する対話出力処理と、
を実行する、対話支援方法。
【請求項１１】
前記情報処理装置は、前記外部から発せられた言葉を複数の言葉の部分に分割する分割処理を実行し、
前記意図理解処理は、前記分割した複数の言葉の部分のそれぞれについて、それぞれの前記言葉の部分に対応する前記意図を抽出する処理である、請求項１０に記載の対話支援方法。
【請求項１２】
前記意図理解処理は、前記トピック情報のそれぞれと、前記分割した言葉の部分との間の類似度を算出し、算出した前記類似度のうち最大の類似度を算出した前記トピック情報を参照することにより、前記分割した言葉の前記意図を抽出する処理である、請求項１０に記載の対話支援方法。
【請求項１３】
プロセッサ及びメモリを備える情報処理装置に、
対話の主題を示す情報であるトピック情報を複数記憶している意図理解モデル記憶処理と、
前記トピック情報を参照することにより、外部から発せられた言葉から複数の意図を抽出する意図理解処理と、
前記抽出した意図のそれぞれについて、それぞれの前記意図に対応した言葉を、前記対話を構成する言葉として生成する対話生成処理と、
前記生成した言葉を出力する対話出力処理と、
を実行させる、対話支援プログラム。
【請求項１４】
前記情報処理装置に、前記外部から発せられた言葉を複数の言葉の部分に分割する分割処理を実行させ、
前記意図理解処理は、前記分割した複数の言葉の部分のそれぞれについて、それぞれの前記言葉の部分に対応する前記意図を抽出する処理である、請求項１３に記載の対話支援プログラム。
【請求項１５】
前記意図理解処理は、前記トピック情報のそれぞれと、前記分割した言葉の部分との間の類似度を算出し、算出した前記類似度のうち最大の類似度を算出した前記トピック情報を参照することにより、前記分割した言葉の前記意図を抽出する処理である、請求項１３に記載の対話支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話支援システム、対話支援方法、及び対話支援プログラムに関する。
【背景技術】
【０００２】
従来のテキスト（言語）対話システム（以下、従来システムという。）には、意図理解部と意図理解モデルを利用したものがある。例えば、意図理解部は、入力されたテキストにより示される発話者の意図（以下、トピックともいう。）を、意図理解モデルを用いて推定する。意図理解モデルには、想定される入力テキストとトピックとの対応関係が定義されている。例えば意図理解モデルにおいて、入力テキストとして想定される「通帳を作りたい」と、トピックである「口座開設の手続き」とが紐付いて定義されている場合、意図理解部は、実際の入力テキスト（例えば、「通帳を作りたいです。」）と、想定されるテキスト（「通帳を作りたい」）とを比較し、両者の類似度を計算する。そして、その類似度が高い場合、意図理解部は、その入力テキストである「通帳を作りたい」に対応する「口座開設の手続き」をトピックとして推定する。
【０００３】
このような従来システムには、例えば、特許文献１の言語処理装置がある。すなわち、特許文献１には、遷移前状態と入力単語と出力と正の値である単語重み値情報と遷移先情報とを含む組である単語遷移データと、単数又は複数の単語に対応する言語理解結果であるコンセプトと、該コンセプトに対応する正の値であるコンセプト重み値情報とを含む組であるコンセプト重みデータと、遷移前状態、任意の単語にマッチするフィラー、負の値であるフィラー重み情報及び遷移先状態を含む組であるフィラー遷移データと、を言語理解モデルとして記憶する言語理解モデル記憶部と、入力される単語系列に含まれる単語と現状態とに基づき、前記言語理解モデル記憶部から読み出した前記単語遷移データに従って、定義された前記出力を理解結果候補として出力し、単語重み値を累積し、前記言語理解モデル記憶部から読み出した前記フィラー遷移データに従って、フィラー重み値を累積し、前記遷移先状態に遷移する状態遷移動作を順次行う有限状態変換器処理部と、前記言語理解モデル記憶部から読み出した前記コンセプト重みデータに従って、前記有限状態変換器処理部から出力された前記理解結果候補に含まれるコンセプトに対応するコンセプト重み値を累積するコンセプト重み付け処理部と、出力された複数の系列の前記理解結果候補の中から、前記累積された単語重み値と前記累積されたコンセプト重み値と前記累積されたフィラー重み値との重み付き和である累積重みが最大となる理解結果を決定する理解結果決定部とを具備することを特徴とする言語処理装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３０２２９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１では、入力テキストの内容によってはトピックを推定することが困難な場合がある。例えば、「通帳を作りたい。また、預金したい。」という入力テキストにおいて、「通帳を作りたい」というテキスト部分に「口座開設の手続き」というトピックが含まれ、「預金したい」というテキスト部分に「預金の手続き」というトピックが含まれていたと仮定する。また、意図理解モデルにおいて、「通帳を作りたい」という入力テキストと、「口座開設の手続き」というトピックとが紐付けて定義されていると仮定する。同様に、「預金したい」という入力テキストと、「預金の手続き」というトピックとが紐付けて定義されていると仮定する。この場合、特許文献１によれば、入力テキストと
最も類似度の高いテキスト（例えば、「通帳を作りたい」）のみが抽出され、その結果、意図理解モデルにおける「通帳を作りたい」に紐付けられたトピック（「口座開設の手続き」）のみが推定結果として出力される。すなわち、特許文献１では、入力テキストの内容に関わらず１個のトピックを推定結果として出力するので、発話（入力テキスト）の内容によってはその意図を正確に把握することができない場合がある。
【０００６】
本発明はこのような点に鑑みてなされたものであり、その目的は、発話の意図を正確に把握して対話を行うことが可能な対話支援システム、対話支援方法、及び対話支援プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
前記の課題を解決するための本発明の一つは、プロセッサ及びメモリを備える対話支援システムであって、対話の主題を示す情報であるトピック情報を複数記憶している意図理解モデル記憶部と、前記トピック情報を参照することにより、外部から発せられた言葉から複数の意図を抽出する意図理解部と、前記抽出した意図のそれぞれについて、それぞれの前記意図に対応した言葉を、前記対話を構成する言葉として生成する対話生成部と、前記生成した言葉を出力する対話出力部と、を備える。
【発明の効果】
【０００８】
本発明によれば、発話の意図を正確に把握して対話を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係る音声対話支援システム２０００の構成の一例を示す図である。
【図２】図２は、対話支援装置１及び対話シナリオ作成装置５が備えるハードウェアの一例を示す図である。
【図３】図３は、意図理解モデル９３が記憶している情報の一例を示す図である。
【図４】図４は、音声対話支援システム２０００において行われる典型的な処理の流れを説明するフローチャートである。
【図５】図５は、音声認識処理ｓ１の詳細の一例を説明するフローチャートである。
【図６】図６は、対話制御処理ｓ２の詳細の一例を説明するフローチャートである。
【図７】図７は、対話シナリオ９１の一例を示す図である。
【図８】図８は、サブ対話シナリオ９１５の一例を示す図である。
【図９】図９は、出力テキストリスト９２の一例を示す図である。
【図１０】図１０は、音声合成処理ｓ３の一例を説明するフローチャートである。
【図１１】図１１は、意図理解モデル９３の一例を示す図である。
【図１２】図１２は、実施例２に係る音声対話支援システム２０００の構成の一例を示す図である。
【図１３】図１３は、実施例２に係る意図理解モデルの一例を示す図である。
【図１４】図１４は、実施例２に係るサブ対話シナリオ９１６の一例を示す図である。
【図１５】図１５は、実施例２に係る出力テキストリスト９６の一例を示す図である。
【図１６】図１６は、実施例３に係る音声対話支援システム２０００の構成の一例を示す図である。
【図１７】図１７は、対話ログ９９の一例を示す図である。
【図１８】図１８は、対話ログ９９の更新後の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しつつ、本発明に係る各実施例を詳述する。
−−実施例１−−
図１は、実施例１に係る音声対話支援システム２０００の構成の一例を示す図である。本実施例の音声対話支援システム２０００は、例えば、人間との音声対話を行ういわゆる対話型ロボット（サービスロボット）であり、対話に係る音声の入出力処理を行う音声処理システム３０００と、対話に関する情報処理を行う対話支援システム１０００とを含んで構成されている。
【００１１】
音声処理システム３０００は、音声が入力される音声入力装置３０（マイク等）、所定の合成音声を出力する音声出力装置５０（スピーカー等）を備える。
【００１２】
対話支援システム１０００は、対話支援装置１、及び対話シナリオ作成装置５を備える。対話支援装置１は音声処理システム３０００と接続しており、音声入力装置３０から入力された音声１００に基づき所定の情報処理を行うことにより音声１００に対応する音声である合成音声５００を生成し、生成した合成音声５００を音声出力装置５０に送信する。
【００１３】
対話シナリオ作成装置５は、音声対話支援システム２０００の管理者又はユーザ等（以下、ユーザという。）が利用する情報処理装置であり、対話支援装置１が処理する様々な情報を作成する。例えば、対話シナリオ作成装置５は、次述する対話シナリオ９１、サブ対話シナリオ９１５、及び出力テキストリスト９２等の内容を編集する。なお、対話支援装置１と対話シナリオ作成装置５との間は所定の通信線により直接に、もしくは、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、インターネット、専用線等の
通信網を介して接続される。
【００１４】
なお、図２は、対話支援装置１及び対話シナリオ作成装置５が備えるハードウェアの一例を示す図である。同図に示すように、対話支援装置１及び対話シナリオ作成装置５は、ＣＰＵ（Central Processing Unit）等の、処理の制御を司るプロセッサ１１と、ＲＡＭ
（Random Access Memory）、ＲＯＭ（Read Only Memory）等の主記憶装置１２と、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）等の補助記憶装置１３と、キーボード、マウス、タッチパネル等の入力装置１４と、モニタ（ディスプレイ）等の出力装置１５と、有線LANカード、無線LANカード、モデム等の通信装置１６とを備える。
【００１５】
次に、図１に示すように、対話支援装置１は、音声認識部２０、対話制御部６０、前処理部７０、意図理解部８０、意図理解モデル記憶部８５、及び音声合成部４０を備える。
【００１６】
音声認識部２０は、外部から入力された音声を文字列に変換することにより前記外部から発せられた言葉とする。具体的には、音声認識部２０は、音声入力装置３０から取得した音声１００から音声以外の音（雑音）を除去し、雑音を除去した音声を文字列の情報（入力テキスト２００）に変換する。
【００１７】
対話制御部６０は、前処理部７０、及び意図理解部８０と情報の送受信を行うことにより、音声認識部２０から受信した入力テキスト２００に対応する出力テキスト４００を生成し、生成した出力テキスト４００を音声合成部４０に送信する。
【００１８】
次に、意図理解モデル記憶部８５は、意図理解モデル９３を記憶している。すなわち、意図理解モデル記憶部８５は、対話の主題（以下、トピックともいう。）を示す情報であるトピック情報を複数記憶している。
【００１９】
ここで、意図理解モデル９３について説明する。
（意図理解モデル）
図３は、意図理解モデル９３が記憶している情報の一例を示す図である。意図理解モデル９３はトピック情報を記憶しており、複数の主題（トピック）のそれぞれについて、それぞれのトピックの名称と、それぞれのトピックにおいて発せられることが想定される言葉とを対応づけて記憶している。具体的には、意図理解モデル９３は、トピックの識別子（以下、トピックＩＤという。）が格納されるトピックＩＤ９３１、トピックＩＤ９３１が示すトピックの名称が格納されるトピック名９３２、及び、トピックＩＤ９３１が示すトピックにおいて発せられることが想定される言葉を表す文字列（例えば、「通帳を作りたい」。以下、想定入力テキストという。）が格納される入力テキスト９３３の各項目を含む、少なくとも１つ以上のレコードを有するデータベースである。
【００２０】
次に、図１に示すように、意図理解部８０は、前記トピック情報を参照することにより、外部から発せられた言葉（入力テキスト２００）から複数の意図を抽出する。
【００２１】
前処理部７０（分割部）は、前記外部から発せられた言葉（入力テキスト２００）を複数の言葉の部分（分割テキスト２０１）に分割する。
【００２２】
この場合、前記意図理解部８０は、前記分割した複数の言葉の部分のそれぞれについて、それぞれの前記言葉の部分に対応する前記意図を抽出する。具体的には、前記意図理解部８０は、前記トピック情報のそれぞれと、前記分割した言葉の部分との間の類似度を算出し、算出した前記類似度のうち最大の類似度を算出した前記トピック情報を参照することにより、前記分割した言葉の前記意図を抽出する。
【００２３】
なお、本実施形態では、抽出された主題（トピック）は、トピックＩＤのリスト（トピックＩＤリスト３００）として抽出され、抽出されたトピックＩＤリスト３００は、対話制御部６０に入力される。
【００２４】
対話制御部６０は、対話生成部６２、及び対話出力部６４を備える。
【００２５】
対話生成部６２は、意図理解部８０が前記抽出した意図のそれぞれについて、それぞれの前記意図に対応した言葉を、前記対話を構成する言葉（出力テキスト４００）として生成する。
【００２６】
具体的には、前記対話生成部６２は、前記抽出した意図について、当該意図に関連づけられた、発話の手順を記憶した情報である対話シナリオ（対話シナリオ９１）を取得し、取得した前記対話シナリオが示す手順に基づき、前記抽出した意図に対応した言葉を生成する。
【００２７】
なお、対話制御部６０は、前記手順が示す処理のうち自身が現在行っている処理の位置（又は直前に行った処理の位置）を随時記憶している。
【００２８】
また、対話制御部６０は、対話の手順の詳細（以下、サブ対話シナリオという。）を記憶しているデータベースであるサブ対話シナリオ９１５と、サブ対話シナリオ９１５における具体的な各対話の内容（出力テキスト４００）が定義された出力テキストリスト９２とを記憶している。
【００２９】
対話出力部６４は、対話生成部６２が前記生成した言葉を出力する。
【００３０】
音声合成部４０は、対話出力部６４が前記対話を構成する言葉を音声に変換する。
【００３１】
次に、対話シナリオ作成装置５は、対話シナリオ作成部５１を備える。対話シナリオ作
成部５１は、前記対話シナリオ（例えば、対話シナリオ９１、サブ対話シナリオ９１５、及び出力テキストリスト９２に関する情報）の入力を受け付けると共に受け付けた前記対話シナリオに関する情報を出力する。
【００３２】
ユーザは、対話シナリオ作成装置５に出力される所定の編集画面を利用して、対話シナリオ９１、サブ対話シナリオ９１５、及び出力テキストリスト９２の作成及び編集を行うことができる。これにより、ユーザは、対話シナリオや出力テキストの情報を使用環境に応じて自由に変更することができる。
【００３３】
以上に説明した対話支援装置１及び対話シナリオ作成装置５の各機能は、例えば、これらの装置が備えるハードウェアによって、又は、これらの装置のプロセッサ１１が主記憶装置１２又は補助記憶装置１３に記憶されているプログラムを読み込んで実行することにより実現される。なお、このプログラムは、ＣＤ−ＲＯＭ、ＳＤカード、ＤＶＤ等の記録媒体に記録したものであってもよい。
【００３４】
次に、音声対話支援システム２０００が行う処理について説明する。
＜処理＞
（音声対話支援処理）
図４は、音声対話支援システム２０００において行われる典型的な処理の流れを説明するフローチャートである。
【００３５】
まず、対話支援装置１が起動すると、対話支援装置１は、外部（例えば、発問を行った人物。以下、対話相手ともいう。）から発せられた音声を言葉として認識する処理（以下、音声認識処理ｓ１という。）を実行する（ｓ１）。そして、対話支援装置１は、ｓ１で認識した言葉に対する応答の言葉を生成する処理（以下、対話制御処理ｓ２という。）を実行する（ｓ２）。そして、対話支援装置１は、ｓ２で生成した応答の言葉に対応する音声を出力して対話相手との対話を実現する処理（以下、音声出力処理ｓ３という。）を実行する（ｓ３）。
次に、音声認識処理ｓ１の詳細を説明する。
【００３６】
（音声認識処理ｓ１）
図５は、音声認識処理ｓ１の詳細の一例を説明するフローチャートである。同図に示すように、音声認識部２０は、音声入力装置３０が取得した対話相手の音声を取得する（ｓ１１）。そして、音声認識部２０は、ｓ１１で取得した音声から、対話相手の音声以外の音（雑音）を除去し、雑音を除去した音声１００の入力テキスト２００に変換する（ｓ１３）。音声認識部２０は、ｓ１３で変換した入力テキスト２００を、対話支援システム１０００に送信する。以上の処理が繰り返される。
【００３７】
次に、対話制御処理ｓ２の詳細を説明する。対話制御処理ｓ２は、前述のように、例えば、対話制御部６０が入力テキスト２００を受信したことを契機に開始される。
【００３８】
（対話制御処理ｓ２）
図６は、対話制御処理ｓ２の詳細の一例を説明するフローチャートである。同図に示すように、対話制御部６０は、自身が直前に行った対話シナリオ９１における処理の次の処理を一つ読み込み、読み込んだ処理の種類を判断する（ｓ２１）。なお、全ての処理が読み込まれているか、又はｓ２１で読み込んだ処理が対話制御処理ｓ２を終了するための処理である場合は、対話制御処理ｓ２は終了する（不図示）。また、対話制御部６０は、対話シナリオ９１を初めて読み込む場合には、対話シナリオ９１の最初の処理を読み込む。
【００３９】
処理の内容が、（Ａ）入力テキスト２００を解析してトピック（意図）を推定する処理
（トピック推定処理）である場合、対話制御部６０は、次述するｓ２３の処理を行い（ｓ２１：トピック推定）、（Ｂ）出力テキスト４００を出力する処理（出力処理）である場合（ｓ２１：テキスト出力）、対話制御部６０は、後述するｓ２６の処理を行い、（Ｃ）所定の条件判断を行う処理（条件判断処理）である場合（ｓ２１：条件判断）、対話制御部６０は後述するｓ２７の処理を行う。
【００４０】
（Ａ）トピック推定
ｓ２３において前処理部７０は、入力テキスト２００を複数のテキストに分割して分割テキスト２０１を作成する。
【００４１】
例えば、入力テキスト２００が、「通帳を作りたい。また、預金したい。」である場合、前処理部７０は、形態素解析により入力テキスト２００に含まれる品詞を推定する。形態素解析とは、テキストを意味の持つ最小単位（一般的に形態素と呼ぶ。）に分割し、形態素の品詞等を判別することである。
【００４２】
そして、前処理部７０は、入力テキスト２００に１つの接続詞（例、「また」など）が含まれる場合、入力テキスト２００の中に２つの意図（トピック）が含まれると判断する。そして、前処理部７０は、入力テキスト２００を、前記接続詞の前方にあるテキスト（例「通帳を作りたい。」）と、後方にあるテキスト（例「貯金したい」）とに分割し、それぞれのテキストを分割テキスト２０１とする。
【００４３】
なお、ここでは、分割テキスト２０１の作成方法として形態素解析を説明したが、分割テキスト２０１の作成方法としては、文字列を複数のトピックに分割できる方法であれば形態素解析に限らずその他の任意の方法でもよい。また、前処理部７０は、ある方法によって複数の分割テキスト２０１を作成できなかった場合には、他の方法によって複数の分割テキスト２０１を作成するように再試行してもよい。
【００４４】
次に、意図理解部８０は、ｓ２３で生成した分割テキスト２０１のそれぞれについて、その分割テキスト２０１と、意図理解モデル９３に定義されている各想定入力テキストとの間の類似度を算出する。
【００４５】
そして、意図理解部８０は、ｓ２３で生成した分割テキスト２０１のそれぞれのトピックを推定する。すなわち意図理解部８０は、分割テキスト２０１と、各想定入力テキストとの間の類似度のうち、最大の類似度を算出した想定入力テキストに対応づけられたトピックを、その分割テキスト２０１のトピックとする（ｓ２４）。これを全ての分割テキスト２０１について行う。
【００４６】
例えば、ある分割テキスト２０１が「通帳を作りたい」である場合、意図理解モデル９３に登録されている各想定入力テキスト（トピックＩＤが「Ｉ１」〜「Ｉ３」の想定入力テキスト）のうち、「通帳を作りたい」と最も類似度の高い想定入力テキストは、トピックＩＤが「Ｉ１」の「通帳を作りたい」である。そして、これに対応づけられたトピックは、「口座開設の手続き」である。
【００４７】
なお、前記の類似度の計算方法としては、例えば動的計画法（DP：Dynamic Programming）、マッチング法等がある。
【００４８】
意図理解部８０は、ｓ２４で推定した各トピックの情報を対話制御部６０に送信する。具体的には、意図理解部８０は、ｓ２４で推定した各トピックのトピックＩＤのリスト（トピックＩＤリスト３００）を対話制御部６０に送信する。その後はｓ２１の処理に戻る。
【００４９】
（Ｂ）テキスト出力
ｓ２６において対話制御部６０は、ｓ２１で読み込んだ対話シナリオ９１の処理により特定される出力テキスト４００を出力テキストリスト９２（出力テキスト９２２）から読み込み、読み込んだ出力テキスト４００を出力する。その後はｓ２１の処理に戻る。
【００５０】
（Ｃ）条件判断
ｓ２７において対話制御部６０は、ｓ２１で読み込んだ処理に対応する条件判断の処理を行う。その後はｓ２１の処理に戻る。
【００５１】
ここで、対話制御処理ｓ２が読み込む対話シナリオ９１の一例を説明する。
【００５２】
（対話シナリオ９１）
図７は、対話シナリオ９１の一例を示す図である。同図に示すように、対話シナリオ９１は、外部からの発話（入力テキスト２００）を促すための最初の言葉（最初の出力テキスト４００）を出力する出力処理である「処理ステップ０」、入力された入力テキスト２００に対する解析を行うことによりトピックを推定するトピック推定処理である「処理ステップ１」、推定したトピックのうち一つを選択し、選択したトピックに対応づけられた出力テキスト４００をサブ対話シナリオ９１５が示す手順で出力する出力処理である「処理ステップ２」、選択したトピックについて出力テキスト４００を全て出力したか否かの条件判断をする処理である条件判断処理である「処理ステップ３」、及び、最後の出力テキスト４００を出力する出力処理である「処理ステップ４」等の各処理を含む。
【００５３】
次に、上記の処理ステップ２で参照されるサブ対話シナリオ９１５の一例を説明する。
【００５４】
（サブ対話シナリオ９１５）
図８は、サブ対話シナリオ９１５の一例を示す図である。同図に示すように、サブ対話シナリオ９１５は、トピックＩＤが格納されるトピックＩＤ９１５１、トピックＩＤ９１５１のトピックにおいて出力される出力テキスト４００を特定する識別子（以下、出力テキストＩＤという。）が格納される出力テキストＩＤ９１５２、及び、出力テキストＩＤ９１５２の出力テキスト４００を出力した後に実行される、対話シナリオ９１における処理を特定する情報が格納される次処理９１５３の各項目を有する、少なくとも１つ以上のレコードで構成される。
【００５５】
次に、上記のサブ対話シナリオ９１５で参照される出力テキストリスト９２の一例を説明する。
【００５６】
（出力テキストリスト９２）
図９は、出力テキストリスト９２の一例を示す図である。同図に示すように、出力テキスト９２は、対話制御部６０が出力する言葉（テキスト）の一覧を格納したデータベースであり、出力テキストＩＤが格納される出力テキストＩＤ９２１と、出力テキストＩＤ９２１により特定される出力テキストの内容が格納される出力テキスト９２２の各項目を有する、少なくとも１つ以上のレコードで構成されている。
【００５７】
なお、本実施例において、出力テキストＩＤ９２１の「ＯＳ」は、最初に出力する出力テキスト４００であることを示し、出力テキストＩＤ９２１の「ＯＥ」は、最後に出力する出力テキスト４００であることを示す。
【００５８】
（対話制御処理ｓ２の一例）
ここで、図７の対話シナリオ９１、図８のサブ対話シナリオ９１５、及び図９の出力テ
キストリスト９２に基づいて行われる対話制御処理ｓ２の一例を説明する。
【００５９】
まず、対話制御部６０は、対話シナリオ９１の処理ステップ０を読み込み、テキストの出力処理を行う旨を判断する。そこで対話制御部６０は、対話制御部６０は出力テキストリスト９２を参照し、出力テキストＩＤ９２１が「ＯＳ」の出力テキスト４００（「ご用件は何でしょうか？」）を取得する。対話制御部６０は、取得した出力テキスト４００を音声合成部４０に送信する。
【００６０】
対話制御部６０は、音声認識部２０から新たな入力テキスト２００を受信すると、処理ステップ１を読み込むことでトピック推定処理を行う。
【００６１】
具体的には、例えば、対話制御部６０が「通帳を作りたい。また、預金したい。」という入力テキスト２００を受信した場合、前処理部７０及び意図理解部８０は、「口座開設の手続き」及び「貯金の手続き」という２つのトピックを推定する。そして意図理解部８０は、トピックＩＤリスト３００（「Ｉ１」及び「Ｉ２」）を対話制御部６０に送信する。
【００６２】
次に、対話制御部６０は、音声認識部２０から新たな入力テキスト２００を受信すると、処理ステップ２を読み込むことで、処理ステップ１で推定したトピックに対応する出力テキスト４００を出力する（対話を実行する）。
【００６３】
具体的には、まず対話制御部６０は、前記で受信したトピックＩＤリスト３００から１つのトピック（トピックＩＤ）を選択し、サブ対話シナリオ９１５から、選択したトピックに対応づけられた各出力テキスト４００とその出力テキスト４００を出力した後に実行する処理とを特定する。
【００６４】
例えば、選択したトピックＩＤが「Ｉ１」であった場合、対話制御部６０は、まず、トピックＩＤ９１５１に「Ｉ１」が格納されているサブ対話シナリオ９１５のレコード９１５４から、出力テキストＩＤ９１５２の内容である「Ｏ１」及び次処理９１５３の内容である「処理ステップ３」を取得する。また対話制御部６０は、出力テキストリスト９２から、前記で取得した「Ｏ１」に対応する出力テキスト４００（「口座開設の手続きのため、書類Ａをご記入ください。）を取得する。対話制御部６０は、取得した出力テキスト４００を音声合成部４０に送信する。
【００６５】
なお、選択したトピックＩＤに対応する出力テキストが複数ある場合は、例えば、対話制御部６０は、そのうち一つの出力テキスト４００を音声合成部４０に送信後、音声認識部２０からの新たな入力テキスト２００の受信を待機し、その新たな入力テキスト２００を受信後、他の出力テキスト４００を音声合成部４０に送信する。これらの処理を全ての出力テキスト４００について繰り返す。
【００６６】
対話制御部６０は、前記で特定した処理ステップ３を読み込むことで、条件判断の処理を実行する。具体的には、例えば、対話制御部６０は、トピックＩＤリスト３００に含まれている全てのトピックＩＤ（「Ｉ１」「Ｉ２」）に対応づけられた出力テキストリスト９２の出力テキスト９２２の内容（出力テキスト４００）を全て出力したか否かを判断する。
【００６７】
出力テキスト４００を全て出力していない場合は（処理ステップ３：Ｎｏ）、対話制御部６０は、処理ステップ２を再度読み込み、現在選択しているトピックと異なる他のトピックに関する対話を実行する。
【００６８】
例えば、トピックＩＤが「Ｉ１」のトピックに関する対話を終了したがトピックＩＤが「Ｉ２」のトピックに関する対話を行っていない場合には、対話制御部６０は、サブ対話シナリオ９１５から前記と同様に、トピックＩＤが「Ｉ２」に対応づけられた出力テキスト４００（例えば、「預金の手続きのため、書類Ｂをご記入ください。」）及びその出力テキスト４００を出力した後に実行する処理（「処理ステップ３」）を取得する。対話制御部６０は、取得した出力テキスト４００を音声合成部４０に送信する。
【００６９】
一方、出力テキスト４００を全て出力した場合は（処理ステップ３：Ｙｅｓ）、対話制御部６０は、処理ステップ３の次の処理である処理ステップ４を読み込むことで、出力テキスト４００を出力する。
【００７０】
具体的には、対話制御部６０は、出力テキストリスト９２を参照し、出力テキストＩＤ９２１が「ＯＥ」の出力テキスト４００（「ご案内は、以上となります。ありがとうございました。」）を音声合成部４０に送信する。以上で対話制御処理ｓ２は終了する。
【００７１】
次に、音声合成処理ｓ３の詳細を説明する。
（音声合成処理ｓ３）
図１０は、音声合成処理ｓ３の一例を説明するフローチャートである。同図に示すように、音声合成部４０は、対話支援システム１０００から出力テキスト４００を受信する（ｓ５１）。そして、音声合成部４０は、出力テキスト４００に基づき所定の合成音声５００を生成する（ｓ５３）。そして、音声合成部４０は、生成した合成音声を音声出力装置５０に送信し、音声出力装置５０は、受信した合成音声を再生する（ｓ５５）。以上で音声合成処理ｓ３は終了する（ｓ５７）。
【００７２】
以上に説明したように、本実施例に係る音声対話支援システム２０００は、トピック情報を複数記憶し（意図理解モデル９３）、トピック情報に基づき、外から発せられた言葉（入力テキスト２００）から複数の意図を抽出し、抽出した意図のそれぞれについて、それぞれの意図に対応した言葉を、対話を構成する言葉として生成し、生成した言葉を出力する（出力テキスト４００）ので、外部から発せられた言葉に複数の意図が含まれている場合でも、その意図のそれぞれについて、対応する適切な言葉を出力することができる。これにより、例えば、発話者から複数の意図を含む言葉が発せられた場合であっても、適切な対話を行うことができる。このように、本実施例に係る音声対話支援システム２０００によれば、複数ある発話の意図を正確に把握した上で対話を行うことができる。
【００７３】
また、本実施例に係る音声対話支援システム２０００は、外部から発せられた言葉（入力テキスト２００）を複数の言葉の部分に分割し（分割テキスト２０１）、分割した複数の言葉の部分のそれぞれについて、それぞれの言葉の部分に対応する意図を抽出するので、発せられた言葉（入力テキスト２００）から複数の意図を正確に抽出することができる。これにより、複数ある発話の意図を高精度に推定することができる。
【００７４】
また、本実施例に係る音声対話支援システム２０００は、トピック情報のそれぞれと、分割した言葉の部分（分割テキスト２０１）との間の類似度を算出し、算出した類似度のうち最大の類似度を算出したトピック情報を参照することにより、分割した言葉の意図を抽出するので、分割した言葉のそれぞれに対応した適切な意図を抽出することができる。
【００７５】
また、本実施例に係る音声対話支援システム２０００は、抽出した意図のそれぞれについて、その意図に関連づけられた、発話の手順を記憶した情報である対話シナリオ（対話シナリオ９１）を取得し、取得した対話シナリオに基づき、抽出した意図に対応した言葉を生成するので、抽出した複数の意図のそれぞれについて、適切な手順で対話を行うことができる。
【００７６】
また、本実施例に係る音声対話支援システム２０００は、外部から入力された音声（音声１００）を文字列（入力テキスト２００）に変換し（音声認識部２０）、また、対話を構成する言葉（出力テキスト４００）を音声（合成音声５００）に変換するので、複数ある発話の意図を正確に把握した音声対話を行うことができる。
【００７７】
なお、本実施例において、音声処理システム３０００は必ずしも必要ではない。例えば、音声認識部２０は、入力装置１４を介してユーザから入力された文字列（テキスト）を入力テキスト２００として生成し、生成した入力テキスト２００を対話支援システム１０００に送信してもよい。同様に、音声合成部４０は、対話支援システム１０００から受信した出力テキスト４００を出力装置１５に出力してユーザに提示してもよい。これにより、チャットボット（Chatbot）等、文字列（テキスト）ベースの対話を実現することがで
きる。
【００７８】
−−実施例２−−
実施例１では、意図理解モデル９３に様々な想定入力テキストが定義されているが、これらの想定入力テキストのいずれにも実際の入力テキスト２００が対応していない場合は、音声対話支援システム２０００は、入力テキスト２００に含まれる意図の推定を誤る可能性がある。
【００７９】
例えば、図１１は、意図理解モデル９３の一例を示す図であるが、入力テキスト２００が「持っていない」である場合、同図に示す意図理解モデルにおいて、「持っていない」に対応する想定入力テキストは、トピックＩＤが「Ｉ１−２」である「印鑑を持っていない」と、トピックＩＤが「Ｉ２−２」である「通帳を持っていない」とがある。なぜなら、これらのトピックＩＤのトピックはいずれも「持っていない」というテキスト（文字列）を含んでいるからである。したがって、本来の入力テキスト２００のトピックが「通帳を持っていない」であったとしても、実施例１では、「印鑑を持っていない」に対応する「印鑑不所持」が意図として推定されてしまい、その結果、意図の推定は誤りとなる。
【００８０】
そこで、本実施例における音声対話支援システム２０００は、複数の意図理解モデルを用いることによりこの問題を解決する。
【００８１】
図１２は、実施例２に係る音声対話支援システム２０００の構成の一例を示す図である。同図に示すように、本実施例の音声対話支援システム２０００では、実施例１の音声対話支援システム２０００と比べると、意図理解モデル記憶部８５が、それぞれ異なる主題（トピック）の言葉について記憶した複数の意図理解モデル９４（意図理解モデル９４（１）（２）（３））を記憶している点が異なる。
ここで、本実施例に係る意図理解モデルについて説明する。
【００８２】
（意図理解モデル）
図１３は、実施例２に係る意図理解モデルの一例を示す図である。同図に示すように、本実施例の意図理解モデル９４は、意図理解モデル９４（１）（以下、意図理解モデルＭ１ともいう。）、意図理解モデル９４（２）（以下、意図理解モデルＭ２ともいう。）、及び意図理解モデル９４（３）（以下、意図理解モデルＭ３ともいう。）を含んで構成されている。
【００８３】
意図理解モデルＭ１は、複数のトピック情報を記憶している。具体的には、意図理解モデルＭ１は、「口座開設の手続き」及び「預金の手続き」という２つのトピックと、これに対応する言葉（想定入力テキスト）とを記憶している。
【００８４】
意図理解モデルＭ２は、意図理解モデルＭ１のうち１つのトピックに関連するトピック（以下、関連トピックという。）を記憶している。具体的には、意図理解モデルＭ２は、「口座開設の手続き」というトピックに関連する２つのトピック（「印鑑不所持」及び「印鑑所持」）を記憶している。
【００８５】
意図理解モデルＭ３は、意図理解モデルＭ１のうち他の１つのトピックに関連するトピック（関連トピック）を記憶している。具体的には、意図理解モデルＭ３は、「預金の手続き」というトピックに関連する２つのトピック（通常不所持」及び「通帳所持」）を記憶している。
【００８６】
なお、各意図理解モデル９４の項目の構成は、実施例１の意図理解モデル９３と同様である。
【００８７】
このように、本実施例における意図理解モデル記憶部８５は、前記トピック情報（意図理解モデルＭ１）と、当該トピック情報が示すトピックに関連するトピックを示す情報である関連トピック情報（意図理解モデルＭ２、Ｍ３）とを対応づけて記憶している。そして、前記意図理解モデル記憶部８０は、前記トピック情報及び前記関連トピック情報を参照することにより、前記発せられた言葉から前記意図を抽出する。
【００８８】
なお、本実施例では、音声対話支援システム２０００は、複数の意図理解モデル９４に対応したサブ対話シナリオ９１６及び出力テキストリスト９６を記憶している。
【００８９】
ここで、本実施例におけるサブ対話シナリオ９１６について説明する。
（サブ対話シナリオ）
図１４は、実施例２に係るサブ対話シナリオ９１６の一例を示す図である。同図に示すように、本実施例に係るサブ対話シナリオ９１６は、実施例１のサブ対話シナリオ９１５と同様に、トピックＩＤが格納されるトピックＩＤ９１６１、出力テキストＩＤが格納される出力テキストＩＤ９１６２、及び、出力テキストＩＤ９１６２の出力テキスト４００を出力した後に実行される、対話シナリオ９１における処理を特定する情報が格納される次処理９１６３の各項目を有する、少なくとも１つ以上のレコードで構成される。
【００９０】
さらに、本実施例に係るサブ対話シナリオ９１６では、これらの項目に加えて、出力テキストＩＤ９１６２の出力テキスト４００を出力した後に実行される、意図理解モデルを特定する情報が格納される次モデル９１６４の項目を有する。すなわち、出力テキストＩＤ９１６２により特定されるテキストを出力する処理の次に行う処理が、次処理９１６３及び次モデル９１６４によって特定される。
【００９１】
なお、出力テキストＩＤ９１６２に対応する出力テキスト４００の内容は、出力テキストリスト９６に格納される。
【００９２】
そこで、本実施例に係る出力テキストリスト９６について説明する。
（出力テキストリスト）
図１５は、実施例２に係る出力テキストリスト９６の一例を示す図である。同図に示すように、出力テキストリスト９６は、実施例１の出力テキストリスト９２と同様に、出力テキストＩＤが格納される出力テキストＩＤ９６１と、出力テキストＩＤ９６１により特定される出力テキストの内容が格納される出力テキスト９６２の各項目を有する、少なくとも１つ以上のレコードで構成されている。
【００９３】
次に、本実施例において音声対話支援システム２０００が行う音声対話支援処理について説明する。
＜処理＞
本実施例において、音声認識処理ｓ１、及び音声出力処理ｓ３は実施例１と同様である。ここでは、本実施例に係る対話制御処理ｓ２を、対話制御処理ｓ２が実施例１で示した対話シナリオ９１（図７）に基づき行われることを前提に説明する。
【００９４】
まず対話制御部６０は、実施例１と同様に処理ステップ０を読み込み、出力テキストＩＤ９２１が「ＯＳ」の出力テキスト４００（「ご用件は何でしょうか？」）を取得し、取得した出力テキスト４００を音声合成部４０に送信する。
【００９５】
次に、対話制御部６０は、実施例１と同様に音声認識部２０から新たな入力テキスト２００を受信すると処理ステップ１を読み込み、トピック推定を行う。
【００９６】
ここで、対話制御部６０が「通帳を作りたい。また、預金したい。」という入力テキスト２００を受信した場合、前処理部７０及び意図理解部８０は、この入力テキスト２００に基づき分割テキスト２０１を生成し、生成した分割テキスト２０１に基づき、入力テキスト２００に含まれる各トピックを推定する。
【００９７】
具体的には、前処理部７０及び意図理解部８０は、意図理解モデル９４（１）に基づき、「口座開設の手続き」（トピックＩＤ「Ｉ１−１」）を一つのトピックとして推定し、「貯金の手続き」（トピックＩＤ「Ｉ１−２」）を他のトピックとして推定する。そして、意図理解部８０は、推定したトピックのリスト（「Ｉ−１」及び「Ｉ２−１」なるトピックＩＤリスト３００）を対話制御部６０に送信する。
【００９８】
続いて、対話制御部６０は、音声認識部２０から新たな入力テキスト２００を受信すると処理ステップ２を読み込み、処理ステップ１で推定したトピックに関する出力テキスト４００を出力する（対話を実行する）。
【００９９】
具体的には、まず対話制御部６０は、前記で受信したトピックＩＤリスト３００から１つのトピック（トピックＩＤ）を選択し、サブ対話シナリオ９１５から、選択したトピックに対応づけられた各出力テキスト４００とその出力テキスト４００を出力した後に実行する処理とを特定する。
【０１００】
例えば、対話制御部６０は、トピックＩＤが「Ｉ１−１」のトピックを選択し、トピックＩＤ９１６１に「Ｉ１−１」が格納されているサブ対話シナリオ９１６のレコードにおける、出力テキストＩＤ９１６２の内容である「Ｏ１−１」と、次処理９１６３及び次モデル９１６４の内容である「意図理解モデルＭ２」及び「処理ステップ１」とを特定する。そして対話制御部６０は、出力テキストＩＤ９６１が「Ｏ１−１」である出力テキストリスト９６のレコードの出力テキスト４００（「印鑑をお持ちですか？」）を取得する。対話制御部６０は、取得した出力テキスト４００を音声合成部４０に送信する。
【０１０１】
なお、選択したトピックＩＤに対応する出力テキスト４００が複数ある場合、対話制御部６０は実施例１と同様に全ての出力テキスト４００を出力する。
【０１０２】
対話制御部６０は、出力テキスト４００を音声合成部４０に送信後、音声認識部２０からの新たな入力テキスト２００の受信を待機し、その新たな入力テキスト２００を受信後、前記で特定した、「意図理解モデルＭ２」における「処理ステップ１」を読み込むことにより、トピック推定を行う。
【０１０３】
具体的には、例えば、対話制御部６０が、出力テキスト４００として「印鑑をお持ちですか？」を送信後、新たな入力テキスト２００として「持っていない」を受信した場合、
前処理部７０及び意図理解部８０は、意図理解モデルＭ２を参照し、前記新たな入力テキスト２００と最も類似度が高い想定入力テキストを特定する。例えば、意図理解部８０は、意図理解モデルＭ２の各レコードのうち、前記新たな入力テキスト２００と最も類似度の高い想定入力テキスト（「印鑑を持っていない」）が格納されているレコードを特定し、特定したレコードのトピック（「印鑑不所持」）を推定対象のトピックとする。
【０１０４】
このように、意図理解部８０は、入力テキスト２００である「持っていない」が、印鑑を持っていない意図を有していることを正確に推定することができる。
【０１０５】
以降は実施例１と同様である。最後に対話制御部６０は、出力テキストＩＤ「ＯＥ」が出力テキストＩＤ９６１に格納されている出力テキストリスト９６のレコードの出力テキスト４００（「ご案内は、以上となります。ありがとうございました。」）を取得し、取得した出力テキスト４００を音声合成部４０に送信する。
【０１０６】
以上のように、本実施例の音声対話支援システム２０００は、トピック情報（意図理解モデルＭ１）と、そのトピック情報が示すトピックに関連するトピックを示す情報（関連トピック情報）とを対応づけて記憶しており（意図理解モデルＭ２、Ｍ３）、トピック情報及び関連トピック情報を参照することにより、発せられた言葉（入力テキスト２００）から複数の意図を抽出するので、発話の意図を高精度に推定することができる。
【０１０７】
−−実施例３−−
実施例２においては複数の意図理解モデル９４が設けられているが、入力テキスト２００の内容によっては、意図理解モデル９４のいずれにも適切な想定入力テキストが存在しない場合がある。
【０１０８】
例えば、実施例２において、まず、「通帳を作りたい。」という１つのトピックが含まれる入力テキスト２００のみが対話制御部６０に入力され、そのトピックの対話が行われている最中に、「預金したい。」という異なるトピックを含む入力テキスト２００が対話制御部６０に入力された場合（例えば、発話者が急に次のトピックを思い出して言う場合）を想定する。すなわち、「通帳を作りたい。また、預金したい。」という２つのトピックを含む入力テキスト２００が同機会に対話制御部６０に入力されなかった場合を想定する。
【０１０９】
この場合、実施例２に係る音声対話支援システム２０００はまず、「通帳を作りたい。」という入力テキスト２００に対応するトピックとして、意図理解モデルＭ１を参照することにより「口座開設の手続き」というトピック（トピックＩＤ「Ｉ１−１」）を推定し、意図理解モデルＭ２を参照することにより推定したこのトピックに対応する対話（サブ対話シナリオ９１６）を実行する。しかし、この意図理解モデルＭ２による対話の実行中に、「預金したい。」という入力テキスト２００が対話制御部６０に入力された場合（例えば、サブ対話シナリオ９１６による対話の実行中において、「印鑑をお持ちですか？」という出力テキスト４００の送信後に「持っていない。それから、預金したい」という入力テキスト２００が対話制御部６０に入力された場合）、音声対話支援システム２０００は、（現在使用している）意図理解モデルＭ２に基づき、「持っていない。」に対応するトピック（「Ｉ１−２」）である「印鑑不所持」を推定することはできるが、意図理解モデルＭ２には「預金したい。」に対応するトピックが定義されていないため、音声対話支援システム２０００は、適切なトピック（例えば、意図理解モデルＭ１のトピックＩＤ「Ｉ２−１」に対応する「預金の手続き」）を推定できない。
【０１１０】
この原因は、各意図理解モデル９４に定義されているトピック情報の数が少ないためであるので、この対処法としては、ユーザが、各意図理解モデル９４に多数のトピック情報
及び想定入力テキストを記憶させておくことが考えられるが、そのような作業はユーザにとって煩雑である。
【０１１１】
そこで、本実施例に係る音声対話支援システム２０００は、意図理解モデルの使用履歴を用いることにより、適切なトピックの推定を行う。
【０１１２】
図１６は、実施例３に係る音声対話支援システム２０００の構成の一例を示す図である。同図に示すように、本実施例の音声対話支援システム２０００は、実施例２の音声対話支援システム２０００と比べると、対話ログ記憶部８２が設けられている点が異なる。対話ログ記憶部８２は、過去に参照した意図理解モデル９４が記録されている対話ログ９９を記憶している。
【０１１３】
すなわち、対話ログ記憶部８２は、前記意図を抽出するために参照された前記トピック情報である参照トピック情報（対話ログ９９）を記憶する。前記意図理解部８０は、前記発せられた言葉から前記意図を抽出する場合に、前記トピック情報及び前記関連トピック情報を参照することにより第１の意図の候補を取得すると共に、前記参照トピック情報を参照することにより第２の意図の候補を取得し、取得した前記第１の意図の候補及び前記第２の意図の候補を所定の基準により比較することにより、前記第１の意図の候補又は前記第２の意図の候補のいずれかを前記抽出する意図とする。
ここで、対話ログ９９について詳細に説明する。
【０１１４】
（対話ログ）
対話ログ９９には、入力テキスト２００及び出力テキスト４００（以下、両者をあわせて入出力テキストという。）の情報が記録される。
【０１１５】
図１７は、対話ログ９９の一例を示す図である。同図に示すように、対話ログ９９は、入出力テキストの内容が格納されるテキスト９９３、テキスト９９３の入出力テキストが出力テキスト４００であるか入力テキスト２００であるかを示す情報（属性の情報）が格納されるデータ属性９９２、テキスト９９３の入出力テキストに対応づけられているトピックのトピックＩＤが格納されるトピックＩＤ９９４、トピックＩＤ９９４のトピックの名称が格納されるトピック名９９５、テキスト９９３の入出力テキストが入力又は出力された処理において参照された意図理解モデルを特定する情報が格納される使用意図理解モデル９９６、及び、テキスト９９３の入出力テキストが使用された日時（例えば、トピックの推定日時）が格納される日時９９１の各項目を有する、少なくとも１つ以上のレコードで構成される。
【０１１６】
＜処理＞
次に、本実施例において音声対話支援システム２０００が行う音声対話支援処理について説明する。
【０１１７】
本実施例において、音声認識処理ｓ１、及び音声出力処理ｓ３は実施例１、２と同様である。ここでは、対話制御処理ｓ２が実施例１、２で示した対話シナリオ９１（図７）と、実施例２の意図理解モデル９４（図１３）、サブ対話シナリオ９１６（図１４）、及び出力テキストリスト９６（図１５）とに基づき行われることを前提に、本実施例に係る対話制御処理ｓ２を説明する。また、図１７に示した対話ログ９９が記憶されているものとする。
【０１１８】
まず、図７に示すように、対話制御部６０が実施例２と同様に、音声認識部２０から入力テキスト２００を受信すると、意図理解モデルＭ１を参照することにより複数のトピックを推定する（処理ステップ０及び処理ステップ１）。そして対話制御部６０は、選択し
た１つのトピックについて、意図理解モデルＭ２を参照することにより、前記選択したトピックに対応する出力テキスト４００を取得し、取得した出力テキストを音声合成部４０に送信する（処理ステップ２）。
【０１１９】
ここで、対話制御部６０は、音声認識部２０から新たな入力テキスト２００として、複数のトピックが含まれている入力テキスト２００（「持っていない。預金したい。」）を受信したとする。
【０１２０】
すると、意図理解部８０は、この入力テキスト２００を、第１の分割テキスト２０１（「持っていない。」）と、第２の分割テキスト２０１（「預金したい。」）に分割する。
【０１２１】
そして、意図理解部８０は、対話ログ９９を参照して、直前に行ったトピックの推定において参照された意図理解モデル９４を取得する。具体的には、意図理解部８０は、図１７に示すように、「2016年12月1日  14:00:01」に行ったトピックの推定に参照された「
意図理解モデルＭ１」を取得する。
【０１２２】
ここで、意図理解部８０は、第１の分割テキスト２０１（「持っていない。」）に対して、前記で取得した意図理解モデルＭ１を参照することにより、実施例１で説明した類似度を用いてトピックの推定を行う（第１の意図の候補）。また、意図理解部８０は、第１の分割テキスト２０１（「持っていない。」）に対して、現在参照されている意図理解モデルである意図理解モデルＭ２を参照することにより、実施例１で説明した類似度を用いてトピックの推定を行う（第２の意図の候補）。
【０１２３】
そして、意図理解部８０は、意図理解モデルＭ１及び意図理解モデルＭ２に基づくトピック推定において算出された類似度のうちその値が大きい方のトピック推定に係るトピック（本実施例では、意図理解モデルＭ２を参照して推定された、トピックＩＤが「Ｉ１−２」のトピック「印鑑不所持」であるとする。）を、第１の分割テキスト２０１（「持っていない」）に対応するトピックと推定する。
【０１２４】
意図理解部８０は、第２の分割テキスト２０１（「預金したい」）に対しても同様に、意図理解モデルＭ１を参照することにより、実施例１で説明した類似度を用いてトピックの推定を行う（第１の意図の候補）。また、意図理解部８０は、第２の分割テキスト２０１（「預金したい」）に対して、意図理解モデルＭ２を参照することにより、実施例１で説明した類似度を用いてトピックの推定を行う（第２の意図の候補）。
【０１２５】
そして、意図理解部８０は、意図理解モデルＭ１及び意図理解モデルＭ２に基づくトピック推定において算出された類似度のうちその値が大きい方のトピック推定に係るトピック（本実施例では、意図理解モデルＭ１を参照して推定された、トピックＩＤが「Ｉ２−１」のトピック「預金の手続き」であるとする。）を、第２の分割テキスト２０１（「持っていない」）に対応するトピックと推定する。
【０１２６】
そして、意図理解部８０は、このように推定したトピック（「Ｉ１−２」及び「Ｉ２−１」のトピックＩＤリスト３００）を、実施例２と同様に対話制御部６０に送信する。
【０１２７】
なお、意図理解部８０は、前記で推定した各トピックについて、そのトピックＩＤ、トピック名、参照した意図理解モデルの情報、トピックの推定に用いられた入力テキスト２００の情報、推定日時、入力テキスト２００の属性の情報、及び入力テキスト２００の内容を対話ログ９９に追記することにより、対話ログ９９を更新する。
【０１２８】
図１８は、対話ログ９９の更新後の一例を示す図である。同図に示すように、対話ログ
９９には、トピックＩＤが「Ｉ１−２」「Ｉ２−１」のトピックを推定するために参照された意図理解モデルである「意図理解モデルＭ１」及び「意図理解モデルＭ２」に係るレコード９９７が追加されている。
【０１２９】
以上に説明したように、本実施例に係る音声対話支援システム２０００は、発せられた言葉から意図を抽出する場合に、トピック情報及び関連トピック情報を参照することにより第１の意図の候補を取得すると共に、参照トピック情報を参照することにより第２の意図の候補を取得し、第１の候補及び第２の候補を所定の基準により比較することにより（例えば実施例１で説明した類似度により比較することにより）、第１の意図の候補又は第２の意図の候補のいずれかを、抽出する意図とするので、過去に行われたトピックの対話に基づいてトピックの推定を合理的に行うことができる。
【０１３０】
すなわち、本実施例に係る音声対話支援システム２０００は、対話シナリオ９１において、現在参照している意図理解モデル９４と直前に参照された意図理解モデルとを併用することにより、対話相手があるトピックについての対話中にその直前に話しておくべきであったトピックを思い出して対話する等、トピックが随時変化する場合であっても、それぞれのトピックについて適切な対話を行うことが可能となる。また、トピックに変化が生じる場合に備えて意図理解モデルにおけるトピック情報の記憶量を増やす必要もない。
【０１３１】
以上の各実施例の説明は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明はその趣旨を逸脱することなく、変更、改良され得ると共に本発明にはその等価物が含まれる。
【０１３２】
例えば、各実施例では、対話シナリオ９１は全てのトピックで共通しているものとしたが、トピックごとに異なる対話シナリオ９１を使用してもよい。
【０１３３】
また、各実施例において音声対話支援システム２０００は音声対話型ロボット（サービスロボット）であるものとしたが、音声対話支援システム２０００はこれらの他、タブレット端末やチャットボット（Chatbot）であってもよい。音声対話支援システム２０００
は、音声又はテキストを入力とした対話システムに広く適用することができる。
【符号の説明】
【０１３４】
２０００  音声対話支援システム、１０００  対話支援システム、６２  対話生成部、６４  対話出力部、８０  意図理解部、８５  意図理解モデル記憶部
【図１】
2018185561.tif 000003
【図２】
2018185561.tif 000004
【図３】
2018185561.tif 000005
【図４】
2018185561.tif 000006
【図５】
2018185561.tif 000007
【図６】
2018185561.tif 000008
【図７】
2018185561.tif 000009
【図８】
2018185561.tif 000010
【図９】
2018185561.tif 000011
【図１０】
2018185561.tif 000012
【図１１】
2018185561.tif 000013
【図１２】
2018185561.tif 000014
【図１３】
2018185561.tif 000015
【図１４】
2018185561.tif 000016
【図１５】
2018185561.tif 000017
【図１６】
2018185561.tif 000018
【図１７】
2018185561.tif 000019
【図１８】
2018185561.tif 000020