(57)【特許請求の範囲】
【請求項１】
課題と該課題を解決するための１以上の解決策とを対応付けて格納する格納部と、
利用者の第１発話から、品詞の組合せを示す品詞パターンと一致する表現を対象課題として抽出する第１抽出部と、
前記対象課題に対応する解決策である対象解決策を前記格納部から検索する検索部と、
前記格納部に前記対象解決策が存在しない場合または該対象解決策が前記利用者により拒否される場合、前記利用者から前記対象解決策を含む発話を促すための第１発話促進文を生成する生成部と、
前記第１発話促進文に対する前記利用者の応答である第２発話から前記対象解決策を抽出する第２抽出部と、
前記対象課題と前記対象解決策とを対応付けて前記格納部に登録する登録部と、を具備する対話装置。
【請求項２】
前記生成部は、前記対象課題の表現に用いられる単語を示す複数の単語パターンと複数の発話促進文とを対応付けたテーブルを参照し、当該対象課題の表現と一致する単語パターンに対応する発話促進文を前記第１発話促進文として選択する請求項１に記載の対話装置。
【請求項３】
前記検索部は、前記対象課題と比較して、文字列の一致度又はカテゴリの類似度が閾値以上である関連課題が前記格納部に存在する場合、該関連課題に対応する解決策を前記対象解決策として得る請求項１または請求項２に記載の対話装置。
【請求項４】
前記第２抽出部は、前記第２発話から主語または目的語となる名詞句と述語となる動詞とを抽出し、該名詞句と該動詞とを組み合わせた表現を前記対象解決策として得る請求項１から請求項３のいずれか１項に記載の対話装置。
【請求項５】
前記生成部は、前記第２発話に、前記第１発話に含まれる名詞とは異なりかつ形式名詞ではない名詞が含まれない場合、該第２発話とは異なる表現を用いた解決策を含む発話を促すための第２発話促進文を生成し、
前記第２抽出部は、前記第２発話促進文に対する前記利用者の応答である第３発話から前記対象解決策を抽出する請求項１から請求項４のいずれか１項に記載の対話装置。
【請求項６】
前記生成部は、前記第２発話の主語または目的語となる名詞句がキーワードのリストに含まれない場合、該第２発話とは異なる表現を用いた解決策を含む発話を促すための第２発話促進文を生成し、
前記第２抽出部は、前記第２発話促進文に対する前記利用者の応答である第３発話から前記対象解決策を抽出する請求項１から請求項４のいずれか１項に記載の対話装置。
【請求項７】
前記第２抽出部は、前記第２発話から主語または目的語となる第１名詞句と述語となる動詞とを抽出し、前記第３発話から前記第１名詞句とは異なる第２名詞句を抽出し、該第２名詞句と該動詞とを組み合わせた表現を前記対象解決策として得る請求項５または請求項６に記載の対話装置。
【請求項８】
格納手段が、課題と該課題を解決するための１以上の解決策とを対応付けて格納し、
抽出手段が、利用者の第１発話から、品詞の組合せを示す品詞パターンと一致する表現を対象課題として抽出し、
検索手段が、前記対象課題に対応する解決策である対象解決策を前記格納手段から検索し、
生成手段が、前記格納手段に前記対象解決策が存在しない場合または該対象解決策が前記利用者により拒否される場合、前記利用者から前記対象解決策を含む発話を促すための第１発話促進文を生成し、
抽出手段が、前記第１発話促進文に対する前記利用者の応答である第２発話から前記対象解決策を抽出し、
登録手段が、前記対象課題と前記対象解決策とを対応付けて前記格納手段に登録する対話方法。
【請求項９】
コンピュータを、
課題と該課題を解決するための１以上の解決策とを対応付けて格納する格納手段と、
利用者の第１発話から、品詞の組合せを示す品詞パターンと一致する表現を対象課題として抽出する第１抽出手段と、
前記対象課題に対応する解決策である対象解決策を前記格納部から検索する検索手段と、
前記格納部に前記対象解決策が存在しない場合または該対象解決策が前記利用者により拒否される場合、前記利用者から前記対象解決策を含む発話を促すための第１発話促進文を生成する生成手段と、
前記第１発話促進文に対する前記利用者の応答である第２発話から前記対象解決策を抽出する第２抽出手段と、
前記対象課題と前記対象解決策とを対応付けて前記格納部に登録する登録手段として機能させるための対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、対話装置、方法およびプログラムに関する。
【背景技術】
【０００２】
予め決められたコマンドしか受け付けられないコマンド型対話システムと比較して、スマートフォンなどで利用されるパーソナルアシスタントと呼ばれる音声対話アプリケーションでは、ある程度自由な言葉を受け付けることができる。例えば、利用者がしてほしいこととして「天気を教えて」という内容を明示的に伝えると、アプリケーションが起動して天気予報を表示することができ、利用者の要望に応えることができる。
【０００３】
しかし、例えば、「明日はゴルフなんだ」のような不明確な指示に対して「天気を教えて欲しい」という非明示的な要求を汲み取り、アプリケーションを起動して天気予報を表示するといった課題解決型の対話を行うには、予め課題と課題を解決するための解決策とを対応付けた課題解決知識を用意しておく必要がある。予め課題解決知識を用意するには、コーパスや発話履歴を利用するなどして収集した課題の表現に対して解決策を作成する、またはシステムが用意できる解決策に対して利用者にアンケートを実施するなどして課題の表現を収集する、といった手法が考えられる。  
また別の手法として、利用者の音声指示とリモコン操作とを対応づけて記憶する手法もある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４１８１５９０号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、予め課題解決知識を用意する手法は、課題解決知識を作成および更新するために多くのコストおよび時間がかかる。さらに、利用者の音声指示とリモコン操作とを対応づけて記憶する手法は、利用者が機器操作を行った後に操作理由を問う手法であるため、解決策が実行される前に、発話の中から操作理由（すなわち課題）と操作内容（すなわち解決策）との対応を得ることができない。
【０００６】
本開示は、上述の課題を解決するためになされたものであり、コストを低減しつつ課題と解決策との対応を学習することができる対話装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本実施形態に係る対話装置は、格納部、第１抽出部、検索部、生成部、第２抽出部および登録部を含む。格納部は、課題と該課題を解決するための１以上の解決策とを対応付けて格納する。第１抽出部は、利用者の第１発話から、課題と捉えうる表現を対象課題として抽出する。検索部は、前記対象課題に対応する解決策である対象解決策を前記格納部から検索する。生成部は、前記格納部に前記対象解決策が存在しない場合または該対象解決策が前記利用者により拒否される場合、前記利用者から前記対象解決策を含む発話を促すための第１発話促進文を生成する。第２抽出部は、前記第１発話促進文に対する前記利用者の応答である第２発話から前記対象解決策を抽出する。登録部は、前記対象課題と前記対象解決策とを対応付けて前記格納部に登録する。
【図面の簡単な説明】
【０００８】
【図１】対話装置を含む対話システムを示すブロック図。
【図２】対話装置の動作を示すフローチャート。
【図３】課題表現テーブルの一例を示す図。
【図４】課題抽出部の課題抽出処理を示すフローチャート。
【図５】知識格納部の一例を示す図。
【図６】解決策検索部の検索処理を示すフローチャート。
【図７】発話促進文テーブルの一例を示す図。
【図８】発話促進文生成部の生成処理を示すフローチャート。
【図９】解決策抽出部の解決策抽出処理を示すフローチャート。
【図１０】解決策抽出処理の別例を示すフローチャート。
【図１１】キーワードリストの一例を示す図。
【図１２】知識登録部の登録処理を示すフローチャート。
【図１３】発話バッファの一例を示す図。
【図１４】課題バッファの一例を示す図。
【図１５】解決策バッファの一例を示す図。
【図１６】発話促進文バッファの一例を示す図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら本実施形態に係る対話装置、方法およびプログラムについて詳細に説明する。なお、以下の実施形態では、同一の参照符号を付した部分は同様の動作を行うものとして、重複する説明を適宜省略する。  
本実施形態に係る対話システムは、明確な指示に対して解決策を提示することに加え、不明確な指示に対して解決策を提示することを想定する。例えば、「大変だ、急病人がいます」と発話された場合、「急病人のために何をすればいいか知りたい」という課題と認識し、この課題に対して緊急連絡先の提示およびＡＥＤ（自動体外式除細動器）の設置場所の回答などを解決策として提示するようなシステムを想定する。
【００１０】
本実施形態に係る対話装置を含む対話システムについて、図１のブロック図を参照して説明する。  
本実施形態に係る対話システム１００は、対話装置１１０、端末装置１３０、音声認識サーバ１４０、音声合成サーバ１５０を含む。
【００１１】
端末装置１３０は、例えばパーソナルコンピュータ１３１、スマートフォン１３２であり、インターネットおよび携帯電話網などのネットワーク１６０を経由して、音声認識サーバ１４０に利用者から受け取った発話を音声データとして送る。  
音声認識サーバ１４０は、ネットワーク１６０を経由して端末装置１３０から音声データを受け取り、音声データを音声認識処理し、音声データをテキストに変換した発話テキストを生成する。  
対話装置１１０は、ネットワーク１６０を経由して音声認識サーバ１４０から発話テキストを受け取り、発話テキストに基づいて発話の意図および課題を理解する処理を行い、発話に対する応答を示すテキストである応答テキストを生成する。  
音声合成サーバ１５０は、ネットワーク１６０を経由して対話装置１１０から応答テキストを受け取り、応答テキストを音声合成して音声データを生成し、ネットワーク１６０を経由して端末装置１３０に送る。利用者は、端末装置１３０を介して自分の発話に対する対話装置からの応答を音声として聞くことができる。
【００１２】
次に、対話装置１１０の詳細について説明する。  
本実施形態に係る対話装置１１０は、取得部１１１、課題抽出部１１２、知識格納部１１３、解決策検索部１１４、発話促進文生成部１１５、解決策抽出部１１６、知識登録部１１７、応答生成部１１８、処理結果バッファ１１９および出力部１２０を含む。  
処理結果バッファ１１９は、発話バッファ１１９−１、課題バッファ１１９−２、解決策バッファ１１９−３および発話促進文バッファ１１９−４を含む。
【００１３】
取得部１１１は、音声認識サーバ１４０から利用者の発話に関する発話テキストを受け取り、発話テキストに対して形態素解析を行う。取得部１１１は、発話テキストと形態素解析結果とを発話バッファ１１９−１に書き込む。なお、以下では説明の便宜上、発話テキストに対して処理を行うことを、単に発話に対して処理を行うという。  
課題抽出部１１２は、発話バッファ１１９−１から発話と形態素解析結果とを受け取り、発話から課題として捉えうる表現を対象課題として抽出する。課題抽出部１１２は、対象課題を課題バッファ１１９−２に書き込む。課題抽出部１１２の処理については、図３および図４を参照して後述する。なお、取得部１１１から直接発話と形態素解析結果とを受け取ってもよい。
【００１４】
知識格納部１１３は、課題と課題を解決するための１つ以上の解決策とを対応付けて格納する。なお、課題と対応する解決策との組を課題解決知識とも呼ぶ。知識格納部１１３については、図５を参照して後述する。  
解決策検索部１１４は、課題バッファ１１９−２から対象課題を受け取り、対象課題に対応する解決策である対象解決策を知識格納部１１３から検索する。なお、課題抽出部１１２から直接対象課題を受け取ってもよい。解決策検索部１１４の処理については、図６を参照して後述する。対象解決策が存在した場合は、対象解決策を取得して解決策バッファ１１９−３に対象解決策を書き込む。対象解決策が存在しない場合は、対象解決策が存在しないことを示す未検出情報を生成する。
【００１５】
発話促進文生成部１１５は、知識格納部１１３に対象解決策が存在しない場合、または提示した対象解決策が利用者により拒否された場合、発話バッファ１１９−１から発話を受け取り、利用者の発話に基づいて発話促進文を生成する。発話促進文は、利用者から対象解決策を含む発話を促すための文である。発話促進文生成部１１５は、発話促進文を発話促進文バッファ１１９−４に書き込む。なお、発話促進文生成部１１５は、取得部１１１から直接発話を受け取ってもよい。知識格納部１１３に対象解決策が存在しないと判定するには、解決策検索部１１４から未検出情報を受け取ること、または、解決策バッファ１１９−３が空の場合に対象解決策が存在しないことを検出することより判定すればよい。「利用者により拒否された場合」とは、利用者が提示された解決策の修正を指示したり、解決策に不満の意思を表したりするなど、利用者が解決策に同意しない場合を示す。発話促進文生成部１１５の処理については、図７および図８を参照して後述する。
【００１６】
解決策抽出部１１６は、発話バッファ１１９−１から発話促進文に対する利用者の応答である発話を受け取り、発話に含まれる対象解決策を抽出する。解決策抽出部１１６は、対象解決策を解決策バッファ１１９−３に書き込む。なお、解決策抽出部１１６は、取得部１１１から直接発話を受け取ってもよい。解決策抽出部１１６の処理については、図９および図１０を参照して後述する。  
知識登録部１１７は、課題バッファ１１９−２から対象課題を、解決策バッファ１１９−３から対象解決策をそれぞれ受け取り、対象課題と対象解決策とを対応付けて、新たな課題解決知識として知識格納部１１３に格納する。なお、課題抽出部１１２から対象課題を、解決策抽出部１１６から対象解決策をそれぞれ直接受け取ってもよい。知識登録部１１７の処理については、図１２を参照して後述する。
【００１７】
応答生成部１１８は、解決策バッファ１１９−３から解決策または対象解決策を、発話促進文バッファ１１９−４から発話促進文をそれぞれ受け取り、言い回しを調整した応答テキストを生成する。なお、応答生成部１１８は、解決策検索部１１４から解決策を、解決策抽出部１１６から対象解決策を、発話促進文生成部１１５から発話促進文をそれぞれ直接受け取ってもよい。  
処理結果バッファ１１９は、処理結果を一時的に格納する。具体的には、発話バッファ１１９−１は、取得部１１１から発話を受け取って格納する。課題バッファ１１９−２は、課題抽出部１１２から課題を受け取って格納する。解決策バッファ１１９−３は、解決策検索部１１４または解決策抽出部１１６から解決策を受け取って格納する。発話促進文バッファは、発話促進文生成部１１５から発話促進文を受け取って格納する。  
出力部１２０は、応答生成部１１８から応答テキストを受け取り、応答テキストを音声合成サーバ１５０に出力する。
【００１８】
次に、本実施形態に係る対話装置１１０の動作について、図２のフローチャートを参照して説明する。  
ステップＳ２０１では、処理結果バッファ１１９の各バッファ内の情報をクリアする。  
ステップＳ２０２では、時系列における発話の順序を示す発話フラグを１に設定する。  
ステップＳ２０３では、取得部１１１が、発話を形態素解析して、発話と形態素解析結果と発話フラグとを対応付けて発話バッファ１１９−１に書き込む。
【００１９】
ステップＳ２０４では、課題抽出部１１２が、発話に課題が含まれるかどうか、すなわち対象課題を抽出したかどうかを判定する。対象課題を抽出した場合はステップＳ２０５に進み、対象課題が抽出されない場合はステップＳ２０１に戻り、同様の処理を繰り返す。  
ステップＳ２０５では、解決策検索部１１４が、対象課題に対応する対象解決策を知識格納部１１３から検索し、対象解決策が存在するかどうかを判定する。対象解決策が存在する場合はステップＳ２０６に進み、対象解決策が存在しない場合はステップＳ２０８に進む。  
ステップＳ２０６では、応答生成部１１８が、対象解決策に関する内容の言い回しを調整して応答を生成し、利用者に出力する。
【００２０】
ステップＳ２０７では、解決策が拒否されたかどうかを判定する。解決策が拒否されたかどうかの判定は、例えば、取得部１１１が、利用者から「いいえ」または「違う」といった解決策を拒否することを示す内容の発話を受け取る場合に、解決策が拒否されたと判定すればよい。解決策が拒否された場合は、ステップＳ２０８に進み、解決策が拒否されない場合はここでの処理を終了する。  
ステップＳ２０８では、発話促進文生成部１１５が、発話促進文を生成し、応答生成部１１８が言い回しを調整して応答テキストを生成し、出力部１２０が応答テキストを出力することで、利用者が応答テキストの内容を示す音声を取得する。  
ステップＳ２０９では、発話フラグに１を加算する。
【００２１】
ステップＳ２１０では、取得部１１１が、発話促進文に対する利用者の応答である、新たに受け取った発話を形態素解析して、発話と形態素解析結果と発話フラグとを対応付けて発話バッファ１１９−１に書き込む。
【００２２】
ステップ２１１では、解決策抽出部１１６が、解決策を抽出できたかどうかを判定する。解決策を抽出できた場合はステップＳ２１２に進み、解決策を抽出できない場合はステップＳ２０８に戻り同様の処理を行う。  
ステップＳ２１２では、知識登録部１１７が、対象課題と対象解決策とを対応付けて新たな課題解決知識を知識格納部１１３に登録する。その後ステップＳ２０６に進み同様の処理を行う。以上で対話装置１１０の動作を終了する。
【００２３】
次に、課題抽出部１１２で参照される課題表現テーブルについて、図３を参照して説明する。  
課題表現テーブル３００は、ＩＤ３０１および品詞パターン３０２を対応付けて格納する。品詞パターン３０２は、文を構成する品詞の組み合わせを示す。図３では、例えば、ＩＤ３０１が「Ｐ００１」である品詞パターン３０２は、「名詞句＋格助詞＋動詞＋希望助動詞」である。この品詞パターン３０２に対応する文例としては、「イルカが見たい」、「さっぱりしたものが食べたい」などといった発話が挙げられる。
【００２４】
次に、課題抽出部１１２の課題抽出処理について、図４のフローチャートを参照して説明する。  
ステップＳ４０１では、発話バッファ１１９−１に保持される発話を受け取る。  
ステップＳ４０２では、最新の発話に付される発話フラグが、「１」であるかどうかを判定する。発話フラグが「１」である場合はステップＳ４０３に進み、発話フラグが「１」でない場合はここでの処理を終了する。
【００２５】
ステップＳ４０３では、発話フラグが「１」である発話と課題表現テーブルとを照合して、発話のなかに、課題表現テーブルに存在する品詞パターンと一致するフレーズ（表現）があるかどうかを判定する。品詞パターンと一致するフレーズがある場合はステップＳ４０４に進み、品詞パターンと一致するフレーズがなければここでの処理を終了する。
【００２６】
ステップＳ４０４では、品詞パターンと一致するフレーズのうちの１つのフレーズを、対象課題として、課題バッファ１１９−２に書き込む。品詞パターンと一致するフレーズを１つ選択する方法としては、例えば、課題表現テーブルを有用性の高い品詞パターン順にソートしておき、有用性の高い品詞パターンから順に照合して一致するものがあれば、処理を終了するようにすればよい。以上で課題抽出部１１２の課題抽出処理を終了する。
【００２７】
次に、知識格納部１１３の一例について、図５を参照して説明する。  
知識格納部１１３に格納されるテーブル５００は、ＩＤ５０１、課題５０２、解決策５０３および確信度５０４を対応付けて格納する。課題５０２は、課題となる表現である。解決策５０３は、課題５０２に対する解決策を示す表現である。確信度５０４は、課題５０２に対する解決策５０３の有用性および課題との関連性を示す指標であり、有用性および関連性が高いほど大きい値とする。例えば、ＩＤ５０１が「Ｋ００００１」である課題解決知識は、課題５０２「ラーメンが食べたい」、解決策５０３「中華料理屋を探す」および確信度「１．０」がそれぞれ対応付けられる。
【００２８】
なお、ここでは、同じ課題５０２に対する確信度５０４の和が「１．０」となるように設定する。図５の例では、課題５０２「時間が余った」に対して、２つの解決策５０３「カフェを探す」と「書店を探す」とが存在し、確信度５０４の和が１となるように、それぞれの確信度５０４は「０．７」と「０．３」とに設定される。
【００２９】
次に、解決策検索部１１４の検索処理について、図６のフローチャートを参照して説明する。  
ステップＳ６０１では、課題バッファ１１９−２から対象課題を受け取る。  
ステップＳ６０２では、対象課題と知識格納部１１３に格納される課題とを照合して、対象課題と一致する課題が存在するかどうかを判定する。対象課題と一致する課題が存在する場合はステップＳ６０３に進み、対象課題と一致する課題が存在しない場合はステップＳ６０５に進む。  
ステップＳ６０３では、一致フラグを「１」に設定する。一致フラグは、照合の一致度を示す情報であり、応答生成部１１８が一致フラグを参照することで、解決策バッファ１１９−３に保持される情報を出力部１２０へ送る際の言い回しを変化させる。  
ステップＳ６０４では、ステップＳ６０３で一致した課題に対応する全ての解決策を対象解決策として、対象解決策と一致フラグとを解決策バッファ１１９−３に書き込む。
【００３０】
ステップＳ６０５では、対象課題と知識格納部１１３に格納される課題とを照合して、対象課題と関連する課題である関連課題が存在するかどうかを判定する。関連課題が存在するかどうかの判定は、例えば、対象課題と課題との文字列の一致度が閾値以上であるか、対象課題のカテゴリと課題のカテゴリとの類似度が閾値以上である課題を関連課題であると判定すればよい。関連課題が存在する場合はステップＳ６０６に進み、関連課題が存在しない場合はステップＳ６０７に進む。  
ステップＳ６０６では、一致フラグを「０（ゼロ）」に設定する。  
ステップＳ６０７では、ステップＳ６０５で関連課題に対応する全ての解決策を対象解決策として、対象解決策と一致フラグとを解決策バッファ１１９−３に書き込む。  
ステップＳ６０８では、解決策バッファ１１９−３に書き込まれた解決策を確信度の降順にソートする。以上で検索処理を終了する。
【００３１】
次に、発話促進文生成部１１５で参照される発話促進文テーブルの一例について、図７を参照して説明する。  
図７に示す発話促進文テーブル７００は、ＩＤ７０１、単語パターン７０２および発話促進文７０３をそれぞれ対応付けて格納する。単語パターン７０２は、対象課題の表現として用いられる単語である。例えば、ＩＤ７０１が「Ｈ００１」である発話促進文パターンは、単語パターン７０２が「忘れた」、発話促進文７０３が「何かお手伝いできることはありますか」である。ＩＤ７０１「Ｈ００１」に一致する発話の例としては、「コピーを忘れた」という発話が挙げられる。このように、単語パターン７０２に応じて発話促進文７０３を用意して、発話の表現に応じて発話促進文の内容を変更することで、利用者により解決策を含む発話を促しやすくなる。
【００３２】
次に、発話促進文生成部１１５の生成処理について、図８のフローチャートを参照して説明する。  
ステップＳ８０１では、発話バッファ１１９−１から発話を受け取る。  
ステップＳ８０２では、最新の発話の発話フラグが「１」であるかどうかを判定する。発話フラグが「１」である場合はステップＳ８０３に進み、発話フラグが「１」でない場合はステップＳ８０６に進む。  
ステップＳ８０３では、発話フラグが「１」である発話（第１発話）と発話促進文テーブルとを照合し、発話の中に単語パターンと一致するフレーズがあるかどうかを判定する。単語パターンと一致するフレーズがある場合はステップＳ８０４に進み、単語パターンと一致するフレーズがない場合はステップＳ８０５に進む。
【００３３】
ステップＳ８０４では、発話促進文テーブルを参照し、発話の中のフレーズに一致した単語パターンに対応する発話促進文を発話促進文バッファ１１９−４に書き込み、ここでの処理を終了する。  
ステップＳ８０５では、デフォルトの発話促進文を発話促進文バッファ１１９−４に書き込み、ここでの処理を終了する。デフォルトの発話促進文は、例えば「どうしましょうか」のように汎用的に使える文であればよい。  
ステップＳ８０６では、最新の発話の発話フラグが「２」であるかどうかを判定する。発話フラグが「２」である場合はステップＳ８０７に進み、発話フラグが「２」でない場合はここでの処理を終了する。
【００３４】
ステップＳ８０７では、発話フラグが「２」である発話から、動詞の目的語となっている名詞句を抽出する。  
ステップＳ８０８では、抽出した名詞句に文字列「とは」を付与した表現を、発話促進文バッファ１１９−４に書き込み、ここでの処理を終了する。なお、抽出した名詞句に疑問符「？」を付与する表現としてもよく、利用者から名詞句の具体的内容を回答として得られるような表現であればよい。ステップＳ８０７およびステップＳ８０８の処理は、発話フラグが「２」である発話（第２発話）から解決策を抽出できていない場合であるので、第２発話とは異なる表現を用いた解決策を含む発話を促すための発話促進文（第２発話促進文）を生成する処理である。以上で発話促進文生成部１１５の生成処理を終了する。
【００３５】
次に、解決策抽出部１１６の解決策抽出処理について、図９のフローチャートを参照して説明する。  
ステップＳ９０１では、発話バッファ１１９−１から発話を受け取る。  
ステップＳ９０２では、課題バッファ１１９−２から対象課題を受け取る。  
ステップＳ９０３では、発話フラグが「２」である発話から、主語または目的語となる名詞句と、述語となる動詞とを抽出する。ここでは、「名詞句＋動詞」の品詞パターンに一致する表現を抽出し、抽出した名詞句および動詞について、変数Ｎ２に名詞句、変数Ｖ２に動詞を設定する。
【００３６】
ステップＳ９０４では、最新の発話の発話フラグが「２」であるかどうかを判定する。最新の発話の発話フラグが「２」である場合はステップＳ９０５に進み、最新の発話の発話フラグが「２」でない場合はステップＳ９０８に進む。  
ステップＳ９０５では、対象課題から名詞句を抽出して、変数Ｎ１に抽出した名詞句を設定する。  
ステップＳ９０６では、Ｎ２がＮ１に含まれる名詞と異なる名詞を含むかどうかを判定する。ステップＳ９０６の処理における名詞には、「こと」、「とき」、「ところ」および「場合」のように、それ自身では実質的な意味を表さず、連体修飾語を受けて使用される形式名詞を含まないものとする。例えば、「コピーができるところ」というフレーズに含まれる名詞は「コピー」であるとする。Ｎ２がＮ１に含まれる名詞と異なる名詞を含む場合はステップＳ９０７に進み、異なる名詞を含まない場合はここでの処理を終了する。  
ステップＳ９０７では、「Ｎ２＋格助詞＋Ｖ２」となる表現を対象解決策とし、確信度を「１．０」に設定して、解決策バッファ１１９−３に書き込み、処理を終了する。
【００３７】
ステップＳ９０８では、最新の発話の発話フラグが「３」であるかどうかを判定する。発話フラグが「３」である場合はステップＳ９０９に進み、発話フラグが「３」でない場合はここでの処理を終了する。  
ステップＳ９０９では、発話フラグが「３」の発話から、Ｎ２に含まれる名詞句とは異なる名詞句を抽出し、変数Ｎ３に抽出した名詞句を設定する。  
ステップＳ９１０では、「Ｎ３＋格助詞＋Ｖ２」となる表現を対象解決策とし、確信度を「１．０」に設定して、解決策バッファ１１９−３に書き込み、処理を終了する。以上で解決策抽出処理を終了する。なお、発話する利用者は、１人でもよいし、複数でもよい。すなわち、発話フラグが「１」である発話（第１発話）をした利用者と、発話フラグが「２」である発話（第２発話）と、発話フラグが「３」である発話（第３発話）をした利用者が異なってもよい。
【００３８】
次に、解決策抽出部１１６の解決策抽出処理の別例について、図１０のフローチャートを参照して説明する。ここでは、解決策となる名詞句を抽出する場合にキーワードリストを参照する点が図９と異なる。  
ステップＳ１００１およびステップＳ１００２以外は、図９に示すフローチャートと同様の処理を行うので、ここでの説明を省略する。
【００３９】
ステップＳ１００１では、Ｎ２に設定された名詞句が、キーワードリストに登録されているかどうかを判定する。名詞句がキーワードリストに登録されている場合はステップＳ９０７に進み、登録されていない場合はここでの処理を終了する。  
ステップＳ１００２では、Ｎ３に設定された名詞句が、キーワードリストに登録されているかどうかを判定する。名詞句がキーワードリストに登録されている場合はステップＳ９１０に進み、登録されていない場合はここでの処理を終了する。
【００４０】
次に、キーワードリストの一例について、図１１を参照して説明する。  
キーワードリスト１１００は、ＩＤ１１０１およびキーワード１１０２を対応付けて格納する。例えば、ＩＤ１１０１が「Ｌ０００１」であるキーワード１１０２は、「コンビニ」である。キーワードリスト１１００には、よく検索される場所やよく利用されるアプリケーションの一覧を登録しておくことが望ましい。
【００４１】
次に、知識登録部１１７の登録処理について、図１２のフローチャートを参照して説明する。  
ステップＳ１２０１では、課題バッファ１１９−２から課題を受け取る。  
ステップＳ１２０２では、解決策バッファ１１９−３から解決策を受け取る。  
ステップＳ１２０３では、課題、解決策および確信度を対応付けて知識格納部１１３に格納する。以上で登録処理を終了する。
【００４２】
以下、対話装置１１０の具体的な動作例について説明する。  
（第１の動作例）  
利用者が「コピーを忘れた」と発話する場合を想定する。この場合、取得部１１１が発話を形態素解析して、発話と形態素解析結果とがリスト番号「１」として、発話バッファ１１９−１に格納される。  
発話バッファ１１９−１の一例を図１３に示す。図１３に示すテーブル１３００は、リスト番号１３０１、発話１３０２、形態素解析結果１３０３および発話フラグ１３０４がそれぞれ対応付けられて格納される。
【００４３】
発話１３０２「コピーを忘れた」の形態素解析結果１３０３は、図４に示すＩＤ３０１「Ｐ００３」の品詞パターン３０２と一致するため、「コピーを忘れた」という発話が対象課題として抽出され、図１４に示す課題バッファ１１９−２に格納される。  
続いて、解決策抽出処理が行われるが、図５に示す知識格納部１１３のテーブル５００には、対象課題「コピーを忘れた」に一致する課題もしくは関連課題が存在しない。よって、利用者に解決策を含む発話を促すため、発話促進文生成処理が行われる。対象課題「コピーを忘れた」は、図７に示す発話促進文テーブル７００のＩＤ７０１「Ｈ００１」に対応する単語パターン７０２「忘れた」に一致するので、発話促進文生成部１１５が、発話促進文７０３「何かお手伝いできることはありますか」を生成する。発話促進文は、後段の処理により音声として利用者に出力される。
【００４４】
利用者は、「何かお手伝いできることはありますか」という対話装置１１０からの問いかけに対し、「コンビニを探して」と発話したと想定する。取得部１１１は、発話「コンビニを探して」を形態素解析し、図１３に示すように、リスト番号１３０１「２」として、発話と形態素解析結果とを発話バッファ１１９−１に書き込む。
【００４５】
解決策抽出部１１６は、発話「コンビニを探して」に対して、解決策抽出処理を行う。図９のフローチャートに従って、Ｎ２には「コンビニ」が設定され、Ｖ２には「探す」が設定され、Ｎ１には「コピー」が設定される。よって、ステップＳ９０６により、Ｎ２（コンビニ）はＮ１（コピー）に含まれない名詞と異なる。よって、解決策抽出部１１６は、ステップＳ９０７の処理により、「Ｎ２＋格助詞＋Ｖ２」、すなわち「コンビニを探す」というフレーズを対象解決策として抽出する。解決策抽出部１１６は、対象解決策を解決策バッファ１１９−３に書き込む。  
解決策バッファ１１９−３の一例を図１５に示す。図１５に示すように、解決策バッファ１１９−３のテーブル１５００は、リスト番号１５０１、解決策１５０２、確信度１５０３および一致フラグ１５０４がそれぞれ対応付けられる。
【００４６】
応答生成部１１８は、解決策バッファ１１９−３から対象解決策を受け取り、言い回しを調整し、応答テキスト「コンビニを探しましょうか」を生成する。応答テキストは、後段の処理により音声として利用者に出力される。  
一方、知識登録部１１７では、「コピーを忘れた」という対象課題と、「コンビニを探す」という対象解決策と、確信度「１．０」とを対応付けて、新たな課題解決知識として知識格納部１１３に登録する。  
以降、利用者が再度「コピーを忘れた」と発話すると、解決策検索部１１４は、新たに追加された課題解決知識により、課題「コピーを忘れた」に対する解決策「コンビニを探す」が検索される。よって、応答生成部１１８により、「コンビニを探しましょうか」という応答テキストを生成することができ、利用者の発話に対し解決策を提示することができる。
【００４７】
（第２の動作例）  
ここでは、利用者が「コピーを忘れた」と発話し、対話装置１１０が「何かお手伝いできることはありますか」と応答するまでは第１の動作例と同様であるが、次の発話として、利用者が「コピーができるところを探して」と発話した場合を想定する。
【００４８】
解決策抽出部１１６は、発話「コピーができるところを探して」に対して、解決策抽出処理を行う。図９のフローチャートに従って、Ｎ２には「コピー」が設定され、Ｖ２には「探す」が設定され、Ｎ１には「コピー」が設定される。よって、ステップＳ９０６により、Ｎ２（コピー）とＮ１（コピー）とが同じであるので解決策を抽出できない。そのため、発話促進文生成部１１５は、新たな対象解決策を含む発話を促すため、図７のフローチャートのステップＳ７０９により、抽出した名詞句「コピーができるところ」に「とは」を末尾に付与し、発話促進文「コピーができるところとは」を生成し、発話促進文バッファ１１９−４に書き込む。
【００４９】
発話促進文バッファ１１９−４の一例を図１６に示す。発話促進文バッファ１１９−４のテーブル１６００は、リスト番号１６０１と発話促進文１６０２とを対応付けて格納する。発話促進文「コピーができるところとは」は、音声として利用者に出力される。
【００５０】
利用者が「コピーができるところとは」に対して「コンビニかな」と発話する場合を想定すると、解決策抽出部１１６が発話「コンビニかな」に対して、解決策抽出処理を行う。発話「コンビニかな」は、フラグが「３」の発話となるので、図９のフローチャートのステップＳ９０９により、発話「コンビニかな」からＮ２（コピー）と異なる名詞句を抽出し、Ｎ３に「コンビニ」を設定する。解決策抽出部１１６は、ステップＳ９１０により、「Ｎ３＋格助詞＋Ｖ２」、すなわち「コンビニを探す」というフレーズを対象解決策として、確信度「１．０」とともに解決策バッファ１１９−３に書き込む。
【００５１】
応答生成部１１８は、第１の動作例と同様に、解決策バッファ１１９−３から対象解決策を受け取り、言い回しを調整して、応答テキスト「コンビニを探しましょうか」を生成する。応答テキストは音声として利用者に出力される。
【００５２】
一方、知識登録部１１７では、第１の動作例と同様に、「コピーを忘れた」という対象課題と、「コンビニを探す」という対象解決策と、確信度「１．０」とを対応付けて、新たな課題解決知識として知識格納部１１３に登録する。
【００５３】
このように、利用者の応答から対象解決策が得られない場合でも、再度、利用者に対象解決策を含む発話を促し、対象課題に対する対象解決策を得ることで、課題解決知識として学習できる。
【００５４】
（第３の動作例）  
第２の動作例と同様の発話および応答を行う場合を想定する。第３の動作例は、解決策抽出部１１６において、Ｎ２にＮ１と異なる名詞を含むかどうかを判定せず、Ｎ２として抽出された名詞句が、キーワードリストに登録されているかどうかにより判定する。  
すなわち、解決策抽出部１１６は、発話「コピーができるところを探して」に対して、図１０のフローチャートのステップＳ１００１により、Ｎ２として抽出される名詞句「コピーができるところ」が図１１に示すキーワードリスト１１００に存在しない。よって、発話促進文生成部１１５が、発話促進文「コピーができるところとは」を生成し、発話促進文バッファ１１９−４に書き込む。  
解決策抽出部１１６は、次の発話「コンビニかな」に対して、解決策抽出処理を行い、ステップＳ１００１により、Ｎ３として抽出される「コンビニ」が図１１のＩＤ１１０１「Ｌ０００１」のキーワード１１０２「コンビニ」と一致するので、「コンビニを探す」というフレーズを対象解決策として得ることができる。
【００５５】
（第４の動作例）  
第４の動作例では、課題「コピーを忘れた」と解決策「コンビニを探す」とが課題解決知識として知識格納部１１３に予め格納されており、利用者が「傘を忘れた」と発話した場合を想定する。発話「傘を忘れた」は、図４に示すＩＤ３０１「Ｐ００３」の品詞パターン３０２と一致するため、「傘を忘れた」という発話が対象課題として抽出され、図１４に示す課題バッファ１１９−２に格納される。
【００５６】
解決策検索部１１４は、対象課題「傘を忘れた」と一致する課題を知識格納部１１３から検索するが、一致する課題は存在しない。しかし、対象課題「傘を忘れた」の動詞部分（忘れた）が、課題「コピーを忘れた」の動詞部分（忘れた）と一致する。よって、ここでは課題「コピーを忘れた」は一致度が閾値以上であるとして、課題「コピーを忘れた」は、対象課題「傘を忘れた」と関連する関連課題であると判定し、関連課題「コピーを忘れた」に対応する解決策「コンビニを探す」を抽出する。
【００５７】
応答生成部１１８は、第１の動作例と同様に、解決策バッファ１１９−３から対象解決策を受け取り、一致フラグに応じて言い回しを調整する。ここでは、関連課題であるので一致フラグが「０」である。よって、応答生成部１１８は、より丁寧な言い回しとなるよう対象解決策の文体を調整し、応答テキスト「よろしければ、コンビニを探しましょうか」を生成する。応答テキストは後段の処理により音声として利用者に出力される。もし、利用者が応答テキスト「よろしければ、コンビニを探しましょうか」に同意すれば、知識登録部１１７では、「傘を忘れた」という対象課題と、「コンビニを探す」という対象解決策と、確信度「１．０」とを対応付けて、新たな課題解決知識として知識格納部１１３に登録する。
【００５８】
このように、対象課題と一致する課題が知識格納部１１３に存在しない場合でも、関連課題に対応する解決策を提示することで対象課題の解決を図ることができる。
【００５９】
上述の実施形態では、ネットワーク１６０を介して、対話装置１１０、端末装置１３０、音声認識サーバ１４０および音声合成サーバ１５０を利用する形態を説明したが、音声認識サーバ１４０および音声合成サーバ１５０を利用せずに、テキストによる入力および出力を行う対話システムとして実現してもよい。また、音声認識サーバ１４０および音声合成サーバ１５０の代わりに、対話装置１１０が音声認識部および音声合成部を含むことで同様の処理を行うようにしてもよい。
【００６０】
以上に示した実施形態によれば、利用者の発話に対して、解決策を提示できない場合に、適切な解決策の発話を促す発話促進文を利用者に提示することで、利用者の発話から解決策を抽出することができ、適切な解決策を提示することができる。さらに、利用者の発話の中から課題と解決策の対応を得ることで、課題と解決策との対応である課題解決知識を学習することができ、課題解決知識の作成および更新のコストを軽減することができる。
【００６１】
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した対話装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷ、Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃなど）、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の対話装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合または読み込む場合はネットワークを通じて取得または読み込んでもよい。  
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。  
また、記録媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【００６２】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【００６３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６４】
１００・・・対話システム、１１０・・・対話装置、１１１・・・取得部、１１２・・・課題抽出部、１１３・・・知識格納部、１１４・・・解決策検索部、１１５・・・発話促進文生成部、１１６・・・解決策抽出部、１１７・・・知識登録部、１１８・・・応答生成部、１１９・・・処理結果バッファ、１１９−１・・・発話バッファ、１１９−２・・・課題バッファ、１１９−３・・・解決策バッファ、１１９−４・・・発話促進文バッファ、１２０・・・出力部、１３０・・・端末装置、１３１・・・パーソナルコンピュータ、１３２・・・スマートフォン、１４０・・・音声認識サーバ、１５０・・・音声合成サーバ、１６０・・・ネットワーク、３００・・・課題表現テーブル、３０２・・・品詞パターン、５００，１３００，１５００，１６００・・・テーブル、５０２・・・課題、５０３，１５０２・・・解決策、５０４・・・確信度、７００・・・発話促進文テーブル、７０２・・・単語パターン、７０３，１６０２・・・発話促進文、１１００・・・キーワードリスト、１１０２・・・キーワード、１３０１，１６０１・・・リスト番号、１３０２・・・発話、１３０３・・・形態素解析結果、１３０４・・・発話フラグ、１５０１・・・リスト番号、１５０３・・・確信度、１５０４・・・一致フラグ。
【図１】
0006275569.tif 000002
【図２】
0006275569.tif 000003
【図３】
0006275569.tif 000004
【図４】
0006275569.tif 000005
【図５】
0006275569.tif 000006
【図６】
0006275569.tif 000007
【図７】
0006275569.tif 000008
【図８】
0006275569.tif 000009
【図９】
0006275569.tif 000010
【図１０】
0006275569.tif 000011
【図１１】
0006275569.tif 000012
【図１２】
0006275569.tif 000013
【図１３】
0006275569.tif 000014
【図１４】
0006275569.tif 000015
【図１５】
0006275569.tif 000016
【図１６】
0006275569.tif 000017