(57)【要約】【課題】ユーザの発話に応じた自然な対話を実現することが可能な音声対話装置及び音声対話方法を提供する。【解決手段】構文解析部１０４は、取得されたユーザ発話の言語情報について構文解析を行う。非言語情報解析部１０６は、取得されたユーザ発話について、言語情報とは異なる非言語情報の解析を行う。フィラー長判定部１２０は、非言語情報解析結果に応じて、音声出力部１５０によって出力されるフィラーの長さを判定する。フィラー生成部１３０は、フィラー長判定部１２０の判定結果に応じた長さのフィラーを生成する。フィラー長判定部１２０は、応答の生成に構文解析結果を用いる必要がある場合に、長いフィラーを生成させると判定し、応答の生成に構文解析結果を用いる必要がない場合に、短いフィラーを生成させると判定する。音声出力部１５０は、フィラーを出力した後で、応答生成部１４０によって生成された応答を出力する。【選択図】図２
2018124425.tif 000002
【特許請求の範囲】
【請求項１】
ユーザと音声を用いた対話を行う音声対話装置であって、
前記ユーザの発話であるユーザ発話を取得する発話取得部と、
前記取得されたユーザ発話の言語情報について構文解析を行う構文解析部と、
前記ユーザ発話に応じて応答を生成する応答生成部と、
前記ユーザに対して音声を出力する音声出力部と、
前記取得されたユーザ発話について、前記言語情報とは異なる非言語情報であって、前記ユーザ発話の韻律情報及び前記応答生成部によって生成された応答に関する履歴情報の少なくとも一方を含む非言語情報の解析を行う非言語情報解析部と、
前記非言語情報解析部による解析結果である非言語情報解析結果に応じて、前記音声出力部によって出力されるフィラーの長さを判定するフィラー長判定部と、
前記フィラー長判定部の判定結果に応じた長さのフィラーを生成するフィラー生成部と
を有し、
前記フィラー長判定部は、前記応答の生成に前記構文解析部による解析結果である構文解析結果を用いる必要がある場合に、長いフィラーを生成させると判定し、前記応答の生成に前記構文解析結果を用いる必要がない場合に、短いフィラーを生成させると判定し、
前記音声出力部は、前記フィラーを出力した後で、前記応答生成部によって生成された応答を出力する
音声対話装置。
【請求項２】
前記フィラー長判定部は、前記取得されたユーザ発話が前記音声対話装置に対する質問であるか否かを判定し、
前記取得されたユーザ発話が前記音声対話装置に対する質問であると判定された場合に、前記フィラー長判定部は、長いフィラーを生成させると判定し、前記音声出力部は、前記フィラー生成部によって生成された長いフィラーを出力し、前記応答生成部は、前記構文解析結果を用いて、前記質問に対する回答を前記応答として生成し、前記音声出力部は、前記生成された回答を出力する
請求項１に記載の音声対話装置。
【請求項３】
前記フィラー長判定部は、前記取得されたユーザ発話が前記音声対話装置に対する質問であるか否かを判定し、
前記取得されたユーザ発話が前記音声対話装置に対する質問ではないと判定された場合に、前記フィラー長判定部は、短いフィラーを生成させると判定し、前記音声出力部は、前記フィラー生成部によって生成された短いフィラーを出力し、前記応答生成部は、前記構文解析結果を用いないで、別の話題に誘導させるための応答を生成し、前記音声出力部は、前記生成された応答を出力する
請求項１又は２に記載の音声対話装置。
【請求項４】
前記フィラー長判定部は、前記非言語情報解析結果に含まれる少なくとも１つの特徴量と、前記特徴量に対応する予め定められた閾値との比較に応じて、前記音声出力部によって出力されるフィラーの長さを判定する
請求項１から３のいずれか１項に記載の音声対話装置。
【請求項５】
前記フィラー長判定部は、予め機械学習によって生成された判定モデルを用いて、前記非言語情報解析結果によって示される特徴が、前記応答の生成に前記構文解析結果を用いる必要があることに対応するか否かを識別することによって、前記フィラーの長さを判定する
請求項１から３のいずれか１項に記載の音声対話装置。
【請求項６】
ユーザと音声を用いた対話を行う音声対話装置を用いて行われる音声対話方法であって、
前記ユーザの発話であるユーザ発話を取得し、
前記取得されたユーザ発話の言語情報について構文解析を行い、
前記取得されたユーザ発話について、前記言語情報とは異なる非言語情報であって、前記ユーザ発話の韻律情報及び前記音声対話装置によって生成された応答に関する履歴情報の少なくとも一方を含む非言語情報の解析を行い、
前記非言語情報の解析結果である非言語情報解析結果に応じて、前記応答の生成に前記構文解析の解析結果である構文解析結果を用いる必要があるか否かを判定し、
前記応答の生成に前記構文解析結果を用いる必要があると判定された場合に、長いフィラーを生成して出力し、
前記応答の生成に前記構文解析結果を用いる必要がないと判定された場合に、短いフィラーを生成して出力し、
前記フィラーを出力した後で、前記ユーザ発話に応じて生成された応答に対応する音声を出力する
音声対話方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声対話装置及び音声対話方法に関し、特に、ユーザと音声を用いた対話を行う音声対話装置及び音声対話方法に関する。
【背景技術】
【０００２】
ユーザが音声対話ロボット等の音声対話装置と日常会話を楽しむための技術が普及しつつある。この技術にかかる音声対話ロボットは、ユーザが発声した音声を認識し、認識した音声に対応する回答を発話（出力）する。
【０００３】
上記の技術に関連し、特許文献１は、会話制御システムを開示する。特許文献１にかかる会話制御システムは、利用者の発話内容を構成する各形態素を特定し、特定した各形態素から把握される意味内容を解析して、解析した意味内容に関連付けられている予め作成された回答内容を取得することで、利用者の発話内容に対応する最適な回答内容を出力する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１８８５１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１にかかる技術のように、音声を認識し、形態素解析等を含む構文解析を行うと、多大な時間を消費することが多い。なぜならば、構文解析等の処理は、パターン認識等の多くの時間を必要とする処理を伴うからである。したがって、ユーザの発話について構文解析を行って、発話に対応する応答を行うまでに、長い時間がかかることがある。このような場合、ユーザが発声してから音声対話装置が応答するまでの時間が長くなり、ユーザが違和感を覚えるおそれがある。
【０００６】
このような場合に、ユーザが発声してから音声対話装置が応答するまでの間に、音声対話装置が、意味を持たない言いよどみ表現の音声であるフィラー（「えー」、「あのー」、「そのー」、「えーと」、「そうですねー」等）を出力する方法が考えられる。ここで、応答の生成には、構文解析結果を用いる必要がある場合と、構文解析結果を用いる必要がない場合とがあり得る。そして、上述したように、構文解析には多大な時間を要する。したがって、応答の生成に要する時間は、構文解析結果を用いる必要がある場合と、構文解析結果を用いる必要がない場合とで異なり得る。したがって、ユーザの発話から音声対話装置が応答するまでの時間は、ユーザの発話に応じて異なることがある。
【０００７】
このような場合において、音声対話装置が応答可能な時間の長さに対してかなり短いフィラーを出力すると、フィラーの出力が終了してから音声対話装置が応答するまでの間の時間が長くなり、上述したようなユーザの違和感を解消できないおそれがある。また、音声対話装置が応答可能な時間の長さに対して長いフィラーを出力すると、無駄にユーザを待たせることになり得る。このように、ユーザの発話に応じて、ユーザが発声してから音声対話装置が応答するまでの間に出力されるフィラーの長さが調整されていないと、ユーザの発話に応じた自然な対話を実現することが困難であった。
【０００８】
本発明は、ユーザの発話に応じた自然な対話を実現することが可能な音声対話装置及び音声対話方法を提供するものである。
【課題を解決するための手段】
【０００９】
本発明にかかる音声対話装置は、ユーザと音声を用いた対話を行う音声対話装置であって、前記ユーザの発話であるユーザ発話を取得する発話取得部と、前記取得されたユーザ発話の言語情報について構文解析を行う構文解析部と、前記ユーザ発話に応じて応答を生成する応答生成部と、前記ユーザに対して音声を出力する音声出力部と、前記取得されたユーザ発話について、前記言語情報とは異なる非言語情報であって、前記ユーザ発話の韻律情報及び前記応答生成部によって生成された応答に関する履歴情報の少なくとも一方を含む非言語情報の解析を行う非言語情報解析部と、前記非言語情報解析部による解析結果である非言語情報解析結果に応じて、前記音声出力部によって出力されるフィラーの長さを判定するフィラー長判定部と、前記フィラー長判定部の判定結果に応じた長さのフィラーを生成するフィラー生成部とを有し、前記フィラー長判定部は、前記応答の生成に前記構文解析部による解析結果である構文解析結果を用いる必要がある場合に、長いフィラーを生成させると判定し、前記応答の生成に前記構文解析結果を用いる必要がない場合に、短いフィラーを生成させると判定し、前記音声出力部は、前記フィラーを出力した後で、前記応答生成部によって生成された応答を出力する。
【００１０】
また、本発明にかかる音声対話方法は、ユーザと音声を用いた対話を行う音声対話装置を用いて行われる音声対話方法であって、前記ユーザの発話であるユーザ発話を取得し、前記取得されたユーザ発話の言語情報について構文解析を行い、前記取得されたユーザ発話について、前記言語情報とは異なる非言語情報であって、前記ユーザ発話の韻律情報及び前記音声対話装置によって生成された応答に関する履歴情報の少なくとも一方を含む非言語情報の解析を行い、前記非言語情報の解析結果である非言語情報解析結果に応じて、前記応答の生成に前記構文解析の解析結果である構文解析結果を用いる必要があるか否かを判定し、前記応答の生成に前記構文解析結果を用いる必要があると判定された場合に、長いフィラーを生成して出力し、前記応答の生成に前記構文解析結果を用いる必要がないと判定された場合に、短いフィラーを生成して出力し、前記フィラーを出力した後で、前記ユーザ発話に応じて生成された応答を出力する。
【００１１】
本発明は、上記のように構成されていることによって、ユーザ発話について構文解析よりも時間のかからない非言語情報解析の結果を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定する。そして、応答の生成に構文解析結果を用いる必要がある場合には長いフィラーを出力させ、応答の生成に構文解析結果を用いる必要がない場合には短いフィラーを出力させることができる。したがって、本発明は、ユーザの発話に応じて、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。したがって、音声対話装置とユーザとの間で、より自然な対話を実現することが可能となる。
【００１２】
また、好ましくは、前記フィラー長判定部は、前記取得されたユーザ発話が前記音声対話装置に対する質問であるか否かを判定し、前記取得されたユーザ発話が前記音声対話装置に対する質問であると判定された場合に、前記フィラー長判定部は、長いフィラーを生成させると判定し、前記音声出力部は、前記フィラー生成部によって生成された長いフィラーを出力し、前記応答生成部は、前記構文解析結果を用いて、前記質問に対する回答を前記応答として生成し、前記音声出力部は、前記生成された回答を出力する。
ユーザ発話が音声対話装置に対する質問である場合に、その質問の回答を応答として生成するためには、構文解析結果を用いる必要がある。本発明は、上記のように構成されていることによって、質問の回答を応答として生成するときに、構文解析の完了までの間、長いフィラーを出力するので、対話の間が空くことを抑制することができる。
【００１３】
また、好ましくは、前記フィラー長判定部は、前記取得されたユーザ発話が前記音声対話装置に対する質問であるか否かを判定し、前記取得されたユーザ発話が前記音声対話装置に対する質問ではないと判定された場合に、前記フィラー長判定部は、短いフィラーを生成させると判定し、前記音声出力部は、前記フィラー生成部によって生成された短いフィラーを出力し、前記応答生成部は、前記構文解析結果を用いないで、別の話題に誘導させるための応答を生成し、前記音声出力部は、前記生成された応答を出力する。
ユーザ発話が音声対話装置に対する質問である場合に、別の話題に誘導させるための応答を生成するためには、構文解析結果を用いる必要がない。本発明は、上記のように構成されていることによって、構文解析結果を用いる必要がなくしたがって応答の生成に時間を要しない場合には、短いフィラーを出力するので、余計な長さのフィラーを出力することでユーザを待たせるといったことを防止して、すぐに応答することができる。
【００１４】
また、好ましくは、前記フィラー長判定部は、前記非言語情報解析結果に含まれる少なくとも１つの特徴量と、前記特徴量に対応する予め定められた閾値との比較に応じて、前記音声出力部によって出力されるフィラーの長さを判定する。
本発明は、上記のように構成されていることによって、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することを、容易に実現することが可能である。
【００１５】
また、好ましくは、前記フィラー長判定部は、予め機械学習によって生成された判定モデルを用いて、前記非言語情報解析結果によって示される特徴が、前記応答の生成に前記構文解析結果を用いる必要があることに対応するか否かを識別することによって、前記フィラーの長さを判定する。
本発明は、上記のように構成されていることによって、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することを、より正確に行うことが可能である。
【発明の効果】
【００１６】
本発明によれば、ユーザの発話に応じた自然な対話を実現することが可能な音声対話装置及び音声対話方法を提供できる。
【図面の簡単な説明】
【００１７】
【図１】実施の形態１にかかる音声対話装置のハードウェア構成を示す図である。
【図２】実施の形態１にかかる音声対話装置の構成を示すブロック図である。
【図３】実施の形態１にかかる非言語情報解析部によって生成される特徴ベクトルを例示する図である。
【図４】実施の形態１にかかる音声対話装置によってなされる音声対話方法を示すフローチャートである。
【図５】実施の形態１にかかる音声対話装置とユーザとの間でなされる対話の例を示す図である。
【図６】実施の形態２にかかるフィラー長判定部の処理を示すフローチャートである
【図７】ユーザ発話長と、ユーザ発話が質問である場合及び質問ではない場合それぞれの頻度との関係を例示するグラフである。
【図８】実施の形態３にかかるフィラー長判定部の処理を示すフローチャートである。
【図９】ユーザ発話の句末５００ｍｓｅｃの基本周波数の正規化された値の標準偏差と、ユーザ発話が質問である場合及び質問ではない場合それぞれの頻度との関係を例示するグラフである。
【図１０】実施の形態４にかかるフィラー長判定部の処理を示すフローチャートである。
【図１１】実施の形態４にかかる判定モデルの生成方法を示すフローチャートである。
【図１２】サンプル集合及びサブセットを例示する図である。
【図１３】各サンプルに付与される特徴ベクトルを例示する図である。
【図１４】図１１のＳ４４の処理によって生成される決定木（判定モデル）を例示する図である。
【図１５】決定木の生成方法を示すフローチャートである。
【図１６】２つの分岐関数候補それぞれについて分割された集合を例示する図である。
【図１７】図１４に例示した決定木（判定モデル）を用いて特徴ベクトルを分類する方法を説明するための図である。
【発明を実施するための形態】
【００１８】
（実施の形態１）
以下、図面を参照して本発明の実施の形態について説明する。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００１９】
図１は、実施の形態１にかかる音声対話装置１のハードウェア構成を示す図である。音声対話装置１は、ユーザと音声を用いて対話を行う。具体的には、音声対話装置１は、ユーザからの発話（ユーザ発話）に応じて、ユーザに対して音声を出力することで、ユーザと対話を行う。音声対話装置１は、例えば、生活支援ロボット及び小型ロボット等のロボット、クラウドシステム及びスマートフォン等に搭載可能である。
【００２０】
音声対話装置１は、周囲の音声を収集するマイク２と、音声を発するスピーカ４と、制御装置１０とを有する。なお、音声対話装置１は、カメラ等の撮像装置を有してもよい。制御装置１０は、例えばコンピュータとしての機能を有する。制御装置１０は、マイク２及びスピーカ４と、有線又は無線で接続されている。
【００２１】
制御装置１０は、主要なハードウェア構成として、ＣＰＵ（Central Processing Unit）１２と、ＲＯＭ（Read Only Memory）１４と、ＲＡＭ（Random Access Memory）１６とを有する。ＣＰＵ１２は、制御処理及び演算処理等を行う演算装置としての機能を有する。ＲＯＭ１４は、ＣＰＵ１２によって実行される制御プログラム及び演算プログラム等を記憶するための機能を有する。ＲＡＭ１６は、処理データ等を一時的に記憶するための機能を有する。
【００２２】
制御装置１０は、マイク２によって集音されたユーザ発話を解析して、そのユーザ発話に応じて、ユーザに対する応答を生成する。そして、制御装置１０は、スピーカ４を介して、生成された応答に対応する音声（応答音声）を出力する。さらに、制御装置１０は、対話の内容とは関係のないフィラーを生成して、スピーカ４を介して、生成されたフィラーを出力する。ここで、上述したように、フィラーとは、例えば、「えー」、「あのー」、「そのー」、「えーと」、「そうですねー」等の、意味を持たない言いよどみ表現の音声である。音声対話装置１は、ユーザが発声してから音声対話装置が応答するまでの間に、このフィラーを出力し得る。そして、本実施の形態においては、制御装置１０は、ユーザ発話の解析結果に応じて、フィラーの長さを調整するように構成されている。詳しくは後述する。
【００２３】
図２は、実施の形態１にかかる音声対話装置１の構成を示すブロック図である。音声対話装置１は、発話取得部１０２と、構文解析部１０４と、非言語情報解析部１０６と、出力生成部１１０と、音声出力部１５０と、応答履歴格納部１５２とを有する。また、出力生成部１１０は、フィラー長判定部１２０と、フィラー生成部１３０と、応答生成部１４０とを有する。また、応答生成部１４０は、ユーザ質問回答部１４２と、回答データベース１４４（回答ＤＢ；Database）と、話題誘導部１４６と、質問データベース１４８（質問ＤＢ）とを有する。
【００２４】
図２に示す各構成要素は、マイク２、スピーカ４及び制御装置１０の少なくとも１つによって実現可能である。また、各構成要素の少なくとも１つは、例えば、ＣＰＵ１２がＲＯＭ１４に記憶されたプログラムを実行することによって実現可能である。また、必要なプログラムを任意の不揮発性記録媒体に記録しておき、必要に応じてインストールするようにしてもよい。なお、各構成要素は、上記のようにソフトウェアによって実現されることに限定されず、何らかの回路素子等のハードウェアによって実現されてもよい。
【００２５】
発話取得部１０２は、マイク２を含み得る。発話取得部１０２は、ユーザ発話を取得する。具体的には、発話取得部１０２は、ユーザの発話を集音してデジタル信号に変換する。そして、発話取得部１０２は、ユーザ発話の音声データ（発話音声データ）を、構文解析部１０４及び非言語情報解析部１０６に対して出力する。
【００２６】
構文解析部１０４は、ユーザ発話の言語情報について構文解析を行う。また、構文解析部１０４は、構文解析の結果である構文解析結果を生成する。そして、構文解析部１０４は、構文解析結果を、出力生成部１１０に対して出力する。なお、言語情報とは、ユーザ発話を構成する文字列を示す情報である。
【００２７】
具体的には、構文解析部１０４は、ユーザ発話を示す発話音声データに対して、パターン認識等を用いて自然言語処理を行う。さらに具体的には、構文解析部１０４は、発話音声データに対して、音声認識処理、及び、形態素解析等を含む構文解析を行う。これにより、構文解析部１０４は、ユーザ発話の言語的な内容を認識することができる。例えば、ユーザ発話が「君は京都に行ったことある？」である場合、構文解析部１０４は、「君は京都に行ったことある？」という文字列を認識し、「君」（つまり音声対話装置１が実装されたロボット等）が、「京都」という場所に行ったことがあるか否かを、ユーザが質問しているといった、ユーザ発話の内容を認識し得る。
【００２８】
非言語情報解析部１０６は、ユーザ発話について、言語情報とは異なる非言語情報の解析を行う。また、非言語情報解析部１０６は、非言語情報の解析結果である非言語情報解析結果として、後述する特徴ベクトルを生成する。そして、非言語情報解析部１０６は、非言語情報解析結果（特徴ベクトル）を、出力生成部１１０のフィラー長判定部１２０に対して出力する。
【００２９】
ここで、非言語情報とは、処理対象のユーザ発話の言語情報（文字列）とは異なる情報であり、ユーザ発話の韻律情報、及び、応答履歴情報の少なくとも一方を含む。韻律情報とは、ユーザ発話の音声波形の特徴を示す情報であり、例えば、基本周波数、音圧、周波数等の変化量、変動帯域、振幅の最大値及び平均値等である。また、応答履歴情報とは、応答生成部１４０によって生成され、音声出力部１５０によって出力された応答（応答音声データ）に関する過去の履歴を示す情報である。応答履歴格納部１５２は、音声出力部１５０によって応答（応答音声データ）が出力されると、この応答履歴情報を格納（更新）する。
【００３０】
具体的には、非言語情報解析部１０６は、発話取得部１０２によって取得された発話音声データについて音声分析等を行って、音声波形から韻律情報を解析する。そして、非言語情報解析部１０６は、韻律情報を示す特徴量を示す値を算出する。なお、非言語情報解析部１０６は、発話音声データについて、例えば３２ｍｓｅｃごとに区切られたフレームごとに、基本周波数等を算出してもよい。また、非言語情報解析部１０６は、応答履歴格納部１５２から応答履歴情報を抽出して、応答履歴の特徴を示す特徴量を算出する。
【００３１】
なお、上述したように、構文解析は、パターン認識等を用いるため、多大な時間を要することが多い。一方、非言語情報の解析（韻律情報の解析及び応答履歴情報の解析）については、解析に用いられるデータ量が構文解析と比較して少なく、演算手法が、構文解析と比較して単純である。したがって、非言語情報の解析に要する時間は、構文解析と比較してかなり短くなり得る。
【００３２】
出力生成部１１０は、構文解析結果又は非言語情報解析結果を用いて、ユーザに対して出力する音声を示す音声データを生成する。具体的には、出力生成部１１０は、構文解析結果から、ユーザに対する応答を示す応答音声データを生成し得る。また、出力生成部１１０は、非言語情報解析結果から、フィラー（フィラーを示すフィラー音声データ）を生成し得る。そして、出力生成部１１０は、応答音声データ又はフィラー音声データを、音声出力部１５０に対して出力する。
【００３３】
ここで、応答は、ユーザの発話に応じて発せられる音声であり、例えば、「相槌」、「傾聴応答」、「質問」及び「回答」を含む。一方、「フィラー」は、言いよどみの音声であって、通常、「フィラー」が発せられた後に「応答」が発せられる。言い換えると、「フィラー」は、「応答」の前に、場つなぎとして発せられ得る。出力生成部１１０は、例えば予め定められた設定条件等に応じて、どの応答タイプとするかを決定し、その応答タイプに対応する具体的な音声データを決定する。
【００３４】
「相槌」は、ユーザの話を聞いているということを示す音声であって、例えば「うん」、「はい」、「うんうん」、「ええ」等の、ユーザ発話の内容とは関係のない音声を含む。「傾聴応答」は、ユーザの話を聞いているということを示す音声であって、ユーザ発話の内容に応じた音声であり得る。傾聴応答は、例えばユーザ発話に対するおうむ返しの応答を含む。また、例えば、ユーザ発話が「今度京都に連れて行ってあげるよ」である場合、傾聴応答は、「それは嬉しいね」であってもよい。また、「質問」は、ユーザに対して何かを聞くための音声である。質問は、「深堀質問」及び「話題誘導」を含む。「深堀質問」は、ユーザ発話に対してさらに詳しいことを聞き出すための音声である。例えば、「深堀質問」は、「もっと詳しく聞かせてもらえますか？」であってもよい。また、「話題誘導」は、現在の対話における話題を転換させるように、次の話題に誘導するための音声である。また、「回答」は、ユーザ発話が、音声対話装置１（音声対話装置１が実装されたロボット等）に対する質問である場合に、その質問に対する回答を示す音声である。
【００３５】
なお、本実施の形態においては、ユーザと音声対話装置１との対話において話題を提供するのは、音声対話装置１であるとする。このとき、音声対話装置１は、「話題誘導」の応答によって、話題を提供する。ここで、「話題誘導」は、直前のユーザ発話とは関係のない音声である。したがって、「話題誘導」は、ユーザ発話の内容を構文解析によって解析しなくても、生成され得る。一方、「回答」は、ユーザ発話における質問の回答であるので、構文解析によってユーザ発話の内容を解析しないと、生成され得ない。
【００３６】
音声出力部１５０は、スピーカ４を含み得る。音声出力部１５０は、出力生成部１１０から受け付けたフィラー音声データ又は応答音声データを、アナログ信号に変換する。そして、音声出力部１５０は、フィラー音声データ又は応答音声データに対応する音声（フィラー又は応答）を、スピーカ４から出力する。さらに、音声出力部１５０は、出力した応答音声データを応答履歴格納部１５２に対して出力する。
【００３７】
応答履歴格納部１５２は、その応答音声データを識別するデータを、応答履歴情報として格納する。さらに、応答履歴格納部１５２は、応答履歴情報として対話に関する時間を含む場合に、その時間を計測し、計測された時間を応答履歴情報として格納してもよい。
【００３８】
図３は、実施の形態１にかかる非言語情報解析部１０６によって生成される特徴ベクトルを例示する図である。なお、図３に例示する特徴ベクトルは、一例にすぎず、他の様々な特徴ベクトル（例えば後述する図１３に示す特徴ベクトル等）が可能である。ｉ番目のユーザ発話についての特徴ベクトルをｖｉとすると、特徴ベクトルのｎ個の成分は、ｖｉ＝（ｖｉ１，ｖｉ２，・・・，ｖｉ（ｍ−１），ｖｉｍ，ｖｉ（ｍ＋１），・・・，ｖｉｎ）と表される。ここで、ｉ、ｎ及びｍは整数（但しｎ＞ｍ）である。また、ｖｉ１〜ｖｉ（ｍ−１）が、ｉ番目のユーザ発話情報に関する韻律情報の解析結果に対応する。また、ｖｉｍ〜ｖｉｎが、応答履歴情報の解析結果に対応する。なお、ｖｉｍ〜ｖｉｎについては、応答履歴格納部１５２に格納された情報そのものであってもよい。つまり、非言語情報解析部１０６は、応答履歴情報については、応答履歴格納部１５２から応答履歴を抽出するのみでもよく、特別な解析を行わなくてもよい。
【００３９】
図３に示す例では、例えば、ｖｉ１は、ｉ番目のユーザ発話の句末のＴｍｓｅｃ（ユーザ発話の終了時点からＴｍｓｅｃ（Ｔミリ秒）遡った時間から終了時点までの期間）における基本周波数ｆ０（ｆ０Ｔ）についてのパラメータを示す。また、ｖｉ５は、ｉ番目のユーザ発話の長さ（ユーザ発話長）Ｌ１［ｓｅｃ］を示す。なお、基本周波数ｆ０は、フレームごとに、ＳＰＴＫ（Speech Signal Processing Toolkit）のＳＷＩＰＥ（Saw-tooth Waveform Inspired Pitch Estimation）のロジックを用いて算出され得る。
【００４０】
また、ｖｉｍは、同一話題の継続時間（話題継続時間）Ｄ１［ｓｅｃ］を示す。話題継続時間Ｄ１は、最後に「話題誘導」に対応する質問（応答）が音声出力部１５０から出力されてからの、経過時間である。また、ｖｉ（ｍ＋１）は、直前の応答タイプを示す。直前の応答タイプは、直前（ｉ番目のユーザ発話の直前）に、音声出力部１５０から出力された応答のタイプ（「相槌」、「傾聴応答」、「質問」及び「回答」のいずれか）である。また、ｖｉ（ｍ＋２）は、最新の質問タイプを示す。最新の質問タイプは、最後に音声出力部１５０から出力された「質問」（応答）のタイプ（「深堀質問」及び「話題誘導」のいずれか）である。
【００４１】
ここで、ｖｉ（ｍ＋１）及びｖｉ（ｍ＋２）のような、数値ではない成分の成分値（特徴量）については、各タイプに数値が割り当てられている。例えば、ｖｉ（ｍ＋１）において、成分値「０」は「相槌」を示し、成分値「１」は「傾聴応答」を示し、成分値「２」は「質問」を示し、成分値「３」は「回答」を示す。また、ｖｉ（ｍ＋２）において、成分値「０」は「深堀質問」を示し、成分値「１」は「話題誘導」を示す。
【００４２】
次に、出力生成部１１０（図２）の構成について説明する。なお、図２に示された出力生成部１１０の構成要素は、フィラーを生成する場合におけるものである。しかしながら、フィラーは、全てのユーザ発話に対して生成されなくてもよい。フィラーを生成しない場合、出力生成部１１０は、上述したように、構文解析結果から、応答音声データを生成する。
【００４３】
フィラー長判定部１２０は、非言語情報解析結果に応じて、音声出力部１５０によって出力されるフィラーの長さ（フィラー長）を判定する。つまり、フィラー長判定部１２０は、非言語情報解析結果に応じてフィラー長を調整する。ここで、フィラー長判定部１２０は、非言語情報解析結果から、応答を生成するのに構文解析結果を用いる必要があるか否かを判定する。そして、フィラー長判定部１２０は、応答を生成するのに構文解析結果を用いる必要がある場合に、長いフィラー（長フィラー）を生成させると判定する。一方、フィラー長判定部１２０は、応答を生成するのに構文解析結果を用いる必要がない場合に、短いフィラー（短フィラー）を生成させると判定する。フィラー長判定部１２０は、この判定結果（「長フィラー」生成指示又は「短フィラー」生成指示）を、フィラー生成部１３０に対して出力する。なお、フィラー長判定部１２０が非言語情報解析結果を用いて行う判定方法の具体例については、後述する他の実施の形態で示す。例えば、このフィラー長判定部１２０によってなされる判定方法は、予め設定された判別式を用いてなされてもよいし、予め機械学習によって生成された判定モデルを用いてなされてもよい。
【００４４】
なお、本実施の形態においては、構文解析結果を用いる必要がある応答とは、応答タイプが「回答」である場合の応答である。つまり、構文解析結果を用いる必要がある場合とは、ユーザ発話が、相手（音声対話装置１）に対する質問を示す場合である。また、構文解析結果を用いる必要がない応答とは、応答タイプが「質問」であり質問タイプが「話題誘導」である場合の応答である。つまり、構文解析結果を用いる必要がある場合とは、ユーザ発話が、相手（音声対話装置１）に対する質問を示さない場合である。しかしながら、上記はあくまでも一例であって、構文解析結果を用いる必要がある応答及び構文解析結果を用いる必要がない応答については、ユーザ発話の状況、又は出力生成部１１０の設定条件等に応じて、適宜、変更され得る。
【００４５】
フィラー生成部１３０は、フィラー長判定部１２０の判定結果に応じた長さのフィラーを生成する。つまり、フィラー生成部１３０は、フィラー長判定部１２０の判定結果に応じて、長フィラー又は短フィラーを示すフィラー音声データを生成する。具体的には、フィラー生成部１３０は、予め格納された長フィラー及び短フィラーのデータベースから、ランダムに、長フィラー又は短フィラーを選択してもよい。そして、フィラー生成部１３０は、生成されたフィラー（フィラー音声データ）を、音声出力部１５０に対して出力する。これにより、フィラー長判定部１２０の判定結果に応じた長さのフィラーが出力される。例えば、長フィラーの例は、「えっと、僕に質問してくれたんだね」といった音声である。また、短フィラーの例は、「えっと」といった音声である。
【００４６】
さらに、フィラー生成部１３０は、長フィラーを生成した場合に、長フィラーの出力が終了したことを示す長フィラー出力終了信号を、ユーザ質問回答部１４２に対して出力する。また、フィラー生成部１３０は、短フィラーを生成した場合に、短フィラーの出力が終了したことを示す短フィラー出力終了信号を、話題誘導部１４６に対して出力する。
【００４７】
ここで、フィラー生成部１３０は、構文解析部１０４による構文解析が終了する前に、フィラーを生成する。そして、音声出力部１５０は、構文解析部１０４による構文解析が終了する前に、フィラーを出力する。したがって、フィラー生成部１３０によって生成されるフィラーは、ユーザ発話の内容によらないものであり得る。
【００４８】
応答生成部１４０は、フィラー生成部１３０によって生成されたフィラー（フィラー音声データ）が出力された後で音声出力部１５０によって出力される応答（応答音声データ）を生成する。ユーザ質問回答部１４２は、フィラー生成部１３０から長フィラー出力終了信号を受け付けたときに、ユーザ発話の「質問」に対する「回答」を生成する。このとき、ユーザ質問回答部１４２は、構文解析部１０４による構文解析結果を用いて、「回答」を生成する。また、回答データベース１４４は、「回答」を示す応答音声データの例（テンプレートであってもよい）を予め格納している。
【００４９】
具体的には、ユーザ質問回答部１４２は、構文解析結果を用いて、ユーザ発話の質問の内容を判断する。ユーザ質問回答部１４２は、質問の回答となる回答情報を判定する。そして、ユーザ質問回答部１４２は、回答データベース１４４に格納されたデータから、その回答情報に対応する回答を示す応答音声データを選択（抽出）する。さらに、ユーザ質問回答部１４２は、選択された応答音声データを、音声出力部１５０に対して出力する。これにより、ユーザ発話の質問に対する回答を示す音声が、音声出力部１５０によって出力される。
【００５０】
例えば、ユーザ発話が「君は京都に行ったことある？」である場合、ユーザ質問回答部１４２は、そのユーザ発話の質問の回答となる情報（音声対話装置１が実装されたロボット等が京都に行ったことがあるのか否か）を判断する。そして、例えば、ユーザ質問回答部１４２は、回答データベース１４４から、「僕は行ったことがないと思う」という回答を示す応答音声データを抽出する。
【００５１】
なお、ユーザ質問回答部１４２は、回答データベース１４４を用いないで、「回答」を示す応答音声データを生成してもよい。また、ユーザ質問回答部１４２は、回答データベース１４４に格納された未完成のデータ（テンプレート等）を用いて、「回答」を示す応答音声データを生成してもよい。
【００５２】
話題誘導部１４６は、フィラー生成部１３０から短フィラー出力終了信号を受け付けたときに、次の話題を促す「話題誘導」の応答を生成する。具体的には、話題誘導部１４６は、質問データベース１４８を用いて、「話題誘導」を示す応答音声データを生成する。質問データベース１４８は、別の話題に誘導するための話題誘導質問を示す複数の応答音声データを予め記憶している。話題誘導部１４６は、質問データベース１４８に記憶された複数の話題誘導質問から、順番に、又はランダムに、応答のための質問（応答音声データ）を選択する。そして、話題誘導部１４６は、選択された応答音声データを、音声出力部１５０に対して出力する。これにより、話題誘導質問を示す音声が、音声出力部１５０によって出力される。なお、話題誘導部１４６は、構文解析結果を用いないで、「話題誘導」の応答を生成する。したがって、話題誘導の応答は、取得されたユーザ発話の内容とは関係がなくてもよい。
【００５３】
例えば、ユーザ発話が「うんうん」だったとする。このとき、フィラー長判定部１２０は、非言語情報解析結果から、短フィラーを生成すると判定する。したがって、フィラー生成部１３０によって生成された短フィラー（例えば「えっと」等）の出力が終わった後、話題誘導部１４６は、ユーザ発話に関係なく、例えば「リハビリの調子はどう？」といった、次の話題を促す「話題誘導」の応答を生成する。
【００５４】
ここで、話題誘導部１４６がフィラー生成部１３０から短フィラー出力終了信号を受け付けたとき、構文解析部１０４による構文解析は完了していない可能性があるが、話題誘導部１４６は、構文解析結果を用いないで「話題誘導」の応答を生成する。したがって、話題誘導部１４６が「話題誘導」の応答を生成する場合、構文解析部１０４による構文解析は、完了前に途中で終了してもよい。また、構文解析部１０４による構文解析結果は、破棄されてもよい。
【００５５】
図４は、実施の形態１にかかる音声対話装置１によってなされる音声対話方法を示すフローチャートである。また、図５は、実施の形態１にかかる音声対話装置１とユーザとの間でなされる対話の例を示す図である。なお、図５において、奇数の発話Ｎｏ（発話番号）の発話が、音声対話装置１が出力した発話（音声）であり、偶数の発話Ｎｏの発話が、ユーザが発した発話（ユーザ発話）である。また、図５に示す例では、音声対話装置１は、発話Ｎｏ．５及び発話Ｎｏ．９の発話において、フィラーを生成するとする。
【００５６】
まず、発話取得部１０２は、上述したようにユーザ発話を取得する（ステップＳ１０２）。そして、構文解析部１０４は、上述したように、取得されたユーザ発話について構文解析を行い（ステップＳ１０４）、非言語情報解析部１０６は、取得されたユーザ発話について、非言語情報（韻律情報及び応答履歴情報）の解析を行う（ステップＳ１０６）。ここで、Ｓ１０４の処理及びＳ１０６の処理は、並行して行われ得る。そして、Ｓ１０４の処理及びＳ１０６の処理の開始のタイミングは、同じであってもよいし、Ｓ１０６の処理の方が早くてもよい。そして、Ｓ１０６の処理は、次のＳ１０８の処理の前に完了する。一方、Ｓ１０４の処理は、後述するＳ１２２（又はＳ１３２）の処理が開始したときであっても、完了する必要はない。
【００５７】
Ｓ１０６の処理（非言語情報の解析処理）が完了すると、フィラー長判定部１２０は、上述したように、非言語情報解析結果を用いて、音声出力部１５０によって出力されるフィラーの長さを判定する。つまり、フィラー長判定部１２０は、非言語情報解析結果を用いて、ユーザ発話に対する応答を生成するのに構文解析結果を用いる必要があるか否かを判定する（ステップＳ１０８）。
【００５８】
ここで、上述したように、本実施の形態では、ユーザ発話に対する応答を生成するのに構文解析結果を用いる必要がある場合とは、ユーザ発話が、相手（音声対話装置１）に対する質問を示す場合である。したがって、フィラー長判定部１２０は、非言語情報解析結果を用いて、ユーザ発話が質問を示すか否か、つまり、ユーザが音声対話装置１に対して質問したか否かを判定する。よって、フィラー長判定部１２０は、非言語情報解析結果を用いて、ユーザ発話が、ユーザが質問した場合の特徴を有しているか否かを判定する。
【００５９】
そして、フィラー長判定部１２０は、応答を生成するのに構文解析結果を用いる必要がある場合、つまりユーザ発話がユーザの音声対話装置１に対する質問を示す場合に、長フィラーを生成させると判定する（ステップＳ１１０のＹＥＳ）。一方、フィラー長判定部１２０は、応答を生成するのに構文解析結果を用いる必要がない場合、つまりユーザ発話がユーザの音声対話装置１に対する質問を示さない場合に、短フィラーを生成させると判定する（ステップＳ１１０のＮＯ）。
【００６０】
例えば、図５に例示した対話において、発話Ｎｏ．２のユーザ発話「君は京都に行ったことある？」に対して、フィラー長判定部１２０は、非言語情報解析結果を用いて、このユーザ発話がユーザの音声対話装置１に対する質問を示すと判定する。したがって、フィラー長判定部１２０は、応答を生成するのに構文解析結果を用いる必要があると判定し、長フィラーを生成させると判定する（Ｓ１１０のＹＥＳ）。また、図５に例示した対話において、発話Ｎｏ．８のユーザ発話「うんうん」に対して、フィラー長判定部１２０は、非言語情報解析結果を用いて、このユーザ発話がユーザの音声対話装置１に対する質問を示さないと判定する。したがって、フィラー長判定部１２０は、応答を生成するのに構文解析結果を用いる必要がないと判定し、短フィラーを生成させると判定する（Ｓ１１０のＮＯ）。
【００６１】
長フィラーを生成させると判定された場合（Ｓ１１０のＹＥＳ）、フィラー生成部１３０は、長フィラー「えっと、僕に質問してくれたんだね」（図５の発話Ｎｏ．３）を示すフィラー音声データを生成し、音声出力部１５０は、この生成された長フィラーを出力する（ステップＳ１２２）。そして、長フィラーの出力が終了すると、ユーザ質問回答部１４２は、構文解析結果を用いて、ユーザ発話による質問の回答「僕は行ったことないと思う」（図５の発話Ｎｏ．５）を示す応答音声データを生成し、音声出力部１５０は、質問の回答を出力する（ステップＳ１２４）。なお、発話Ｎｏ．４のユーザ発話「うん」については、長フィラーが出力されている最中、つまり構文解析が行われている最中のユーザの発話であるので、音声対話装置１は、何らの処理も行わなくてもよい。
【００６２】
一方、短フィラーを生成させると判定された場合（Ｓ１１０のＮＯ）、フィラー生成部１３０は、短フィラー「えーと」（図５の発話Ｎｏ．９−１）を示すフィラー音声データを生成し、音声出力部１５０は、この生成された短フィラーを出力する（ステップＳ１３２）。そして、短フィラーの出力が終了すると、話題誘導部１４６は、構文解析結果を用いないで、次の話題に誘導する質問「リハビリの調子はどう？」（図５の発話Ｎｏ．９−２）を示す応答音声データを生成し、音声出力部１５０は、話題誘導質問を出力する（ステップＳ１３４）。
【００６３】
そして、Ｓ１２４の処理及びＳ１３４の処理の後、応答履歴格納部１５２は、応答履歴を更新する（ステップＳ１４０）。具体的には、長フィラーが生成された場合（Ｓ１１０のＹＥＳ、Ｓ１２２、Ｓ１２４）、音声対話装置１の応答タイプは「回答」であるので、応答履歴格納部１５２は、最新（図５の例では発話Ｎｏ．３）の応答タイプを「回答」と記憶する。なお、応答タイプが「質問」ではないので、質問タイプについては更新されない。そして、応答履歴格納部１５２は、話題継続時間については、時間のカウントを継続する。一方、短フィラーが生成された場合（Ｓ１１０のＮＯ、Ｓ１３２、Ｓ１３４）、音声対話装置１の応答タイプは「質問」であるので、応答履歴格納部１５２は、最新（図５の例では発話Ｎｏ．９）の応答タイプを「質問」と記憶する。そして、この質問タイプは「話題誘導」であるので、最新の質問タイプを「話題誘導」と記憶する。また、応答履歴格納部１５２は、話題継続時間については、時間のカウントを終了し、新たな時間のカウントを開始する。
【００６４】
図５に示された発話Ｎｏ．２のように、ユーザ発話が質問を示し、したがって音声対話装置１の応答がその質問の回答である場合、音声対話装置１が回答を生成するためには、ユーザ発話の質問内容を認識する必要がある。したがって、音声対話装置１の応答は、ユーザ発話についての構文解析結果を用いて生成される必要がある。したがって、ユーザが発話してから音声対話装置１が応答するまでの間に、長い時間Ｔ１を要する。
【００６５】
一方、図５に示された発話Ｎｏ．８のように、ユーザ発話が質問ではなく、したがって音声対話装置１の応答が話題誘導質問である場合、音声対話装置１が回答を生成するために、ユーザ発話の質問内容を認識する必要はない。したがって、音声対話装置１の応答は、ユーザ発話についての構文解析結果を用いて生成される必要はない。したがって、音声対話装置１の応答の生成のために、構文解析の完了を待つ必要はない。したがって、ユーザが発話してから音声対話装置１が応答するまでの間の時間Ｔ２は、時間Ｔ１よりも短くてよい。
【００６６】
本実施の形態にかかる音声対話装置１は、上述したように、ユーザ発話について構文解析よりも時間のかからない非言語情報解析の結果を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定する。そして、音声対話装置１は、応答の生成に構文解析結果を用いる必要がある場合には長いフィラーを出力することで、構文解析の完了までの間、対話の間が空くことを抑制することができる。一方、音声対話装置１は、応答の生成に構文解析結果を用いる必要がない場合には短いフィラーを出力することで、応答の生成に時間を要しない場合には、余計な長さのフィラーを出力することでユーザを待たせるといったことを防止して、すぐに応答することができる。このように、本実施の形態にかかる音声対話装置１は、ユーザの発話に応じて、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。これにより、音声対話装置１とユーザとの間で、より自然な対話を実現することが可能となる。
【００６７】
（実施の形態２）
次に、実施の形態２について説明する。実施の形態２においては、フィラー長判定部１２０の処理が、実施の形態１と比較して、より具体的に示されている。具体的には、実施の形態２にかかるフィラー長判定部１２０は、非言語情報解析結果のうちの、判定対象のユーザ発話のユーザ発話長Ｌ１（図３のｖｉ５）を用いて、フィラー長を判定する。なお、実施の形態２にかかる音声対話装置１の構成については、図１及び図２に示した実施の形態１にかかる音声対話装置１の構成と実質的に同様であるので、説明を省略する。
【００６８】
図６は、実施の形態２にかかるフィラー長判定部１２０の処理を示すフローチャートである。図６に示すフローチャートは、図４に示したフローチャートのＳ１０８及びＳ１１０の処理の具体例に対応する。フィラー長判定部１２０は、ユーザ発話長Ｌ１が予め定められた閾値Ｌｔｈ０よりも大きいか否かを判定する（ステップＳ２０２）。ユーザ発話長Ｌ１が閾値Ｌｔｈ０よりも大きい場合（Ｓ２０２のＹＥＳ）、フィラー長判定部１２０は、他の方法でフィラー長を判定する（ステップＳ２０４）。ここで、「他の方法」とは、後述する実施の形態３にかかる方法であってもよい。なお、閾値Ｌｔｈ０は、この閾値Ｌｔｈ０を超えた場合にはユーザ発話が質問であることが想定しにくいことを示している。しかしながら、このＳ２０２の処理は、なくても構わない。
【００６９】
一方、ユーザ発話長Ｌ１が閾値Ｌｔｈ０以下である場合（Ｓ２０２のＮＯ）、フィラー長判定部１２０は、ユーザ発話長Ｌ１が予め定められた閾値Ｌｔｈ１よりも大きいか否かを判定する（ステップＳ２０６）。ユーザ発話長Ｌ１が閾値Ｌｔｈ１よりも大きい場合（Ｓ２０６のＹＥＳ）、フィラー長判定部１２０は、ユーザ発話が質問を示す、つまりユーザが質問をしたと判定する。したがって、フィラー長判定部１２０は、応答の生成に構文解析結果が必要であるので、長フィラーを生成すると判定する（ステップＳ２０８）。そして、処理は、図４のＳ１２２に進む。
【００７０】
一方、ユーザ発話長Ｌ１が閾値Ｌｔｈ１以下である場合（Ｓ２０６のＮＯ）、フィラー長判定部１２０は、ユーザ発話が質問を示さない、つまりユーザが質問をしていないと判定する。したがって、フィラー長判定部１２０は、応答の生成に構文解析結果が必要でないので、短フィラーを生成すると判定する（ステップＳ２１０）。そして、処理は、図４のＳ１３２に進む。なお、閾値Ｌｔｈ０及び閾値Ｌｔｈ１の設定方法については、後述する図７を用いて説明する。
【００７１】
図７は、ユーザ発話長と、ユーザ発話が質問である場合及び質問ではない場合それぞれの頻度との関係を例示するグラフである。図７は、事前にサンプルとして抽出した複数のユーザ発話のそれぞれについてまとめた統計データである。例えば、ユーザ発話長が１ｓｅｃ未満である場合にそのユーザ発話が質問である（したがって長フィラーを生成すべきである）頻度は、０である。一方、ユーザ発話長が１ｓｅｃ未満である場合にそのユーザ発話が質問でない（したがって短フィラーを生成すべきである）頻度は、８である。したがって、この場合、ユーザ発話が質問でない頻度の方が、ユーザ発話が質問である頻度よりも大きいので、短フィラーが生成され得る。このように、ユーザ発話長があまりにも短い場合は、そのユーザ発話は、単なる相槌等であって、質問ではない可能性が高い傾向にある。
【００７２】
同様に、ユーザ発話長が１ｓｅｃ以上かつ２ｓｅｃ未満である場合にそのユーザ発話が質問である（したがって長フィラーを生成すべきである）頻度は、５である。一方、ユーザ発話長が１ｓｅｃ以上かつ２ｓｅｃ未満である場合にそのユーザ発話が質問でない（したがって短フィラーを生成すべきである）頻度は、１である。したがって、この場合、ユーザ発話が質問である頻度の方が、ユーザ発話が質問でない頻度よりも大きいので、長フィラーが生成され得る。このように、ユーザ発話長がある程度長い場合は、そのユーザ発話は、質問である可能性が高い傾向にある。
【００７３】
図７に例示するように、短フィラーの生成区間と長フィラーの生成区間とのユーザ発話長の境界値は、１．０５ｓｅｃである。したがって、Ｌｔｈ１＝１．０５と設定される。また、ユーザ発話長が４．０を超えた場合に、ユーザ発話が質問を示すことが想定しにくいので、Ｌｔｈ０＝４．０と設定される。なお、上記の閾値（境界値）は、音声対話装置１の話題誘導部１４６によって提供される話題（例えば旅行の雑談等）に応じて、適宜、変更され得る。したがって、音声対話装置１は、質問データベース１４８に格納された質問ごとに、閾値Ｌｔｈ０及び閾値Ｌｔｈ１を記憶していてもよい。また、上記の閾値は、発話の個別言語（日本語、英語、仏語等）によっても異なり得る。したがって、音声対話装置１は、質問データベース１４８に格納された質問及び個別言語ごとに、閾値Ｌｔｈ０及び閾値Ｌｔｈ１を記憶していてもよい。
【００７４】
実施の形態２にかかる音声対話装置１においても、ユーザ発話について構文解析よりも時間のかからない非言語情報解析の結果（ユーザ発話長Ｌ１）を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定する。そして、実施の形態２にかかる音声対話装置１は、ユーザの発話に応じて、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。これにより、実施の形態２においても、音声対話装置１とユーザとの間で、より自然な対話を実現することが可能となる。
【００７５】
さらに、実施の形態２においては、予め定められた単純な判別式（Ｓ２０６の処理に対応）を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定し、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。つまり、実施の形態２においては、フィラー長判定部１２０は、非言語情報解析結果に含まれる特徴量（ユーザ発話長Ｌ１）と、その特徴量に対応する予め定められた閾値（Ｌｔｈ１等）との比較に応じて、フィラーの長さを調整する。したがって、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することを、容易に実現することが可能である。
【００７６】
（実施の形態３）
次に、実施の形態３について説明する。実施の形態３においては、フィラー長判定部１２０の処理が、実施の形態１と比較して、より具体的に示されている。具体的には、実施の形態３にかかるフィラー長判定部１２０は、非言語情報解析結果のうちの、判定対象のユーザ発話の句末の５００ｍｓｅｃにおける基本周波数ｆ０５００（図３のｖｉ１）を用いて、フィラー長を判定する。なお、実施の形態３にかかる音声対話装置１の構成については、図１及び図２に示した実施の形態３にかかる音声対話装置１の構成と実質的に同様であるので、説明を省略する。
【００７７】
図８は、実施の形態３にかかるフィラー長判定部１２０の処理を示すフローチャートである。図８に示すフローチャートは、図４に示したフローチャートのＳ１０８及びＳ１１０の処理の具体例に対応する。フィラー長判定部１２０は、ユーザ発話の句末５００ｍｓｅｃの基本周波数ｆ０５００の正規化された値ｆ０ｚ５００の標準偏差σ（ｆ０ｚ５００）が予め定められた閾値Ｓｔｈ１よりも小さいか否かを判定する（ステップＳ３０２）。具体的には、フィラー長判定部１２０は、非言語情報解析結果（特徴ベクトル）から標準偏差σ（ｆ０ｚ５００）を算出し、算出された標準偏差σ（ｆ０ｚ５００）と閾値Ｓｔｈ１とを比較する。なお、標準偏差σ（ｆ０ｚ５００）の算出は、非言語情報解析部１０６によって行われてもよい。
【００７８】
ここで、基本周波数ｆ０５００の正規化値ｆ０ｚ５００は、以下の式１を用いて算出される。ここで、事前発話の基本周波数ｆ０５００をｆ０ｐｒｅ５００とする。「事前発話」とは、判定対象のユーザ発話よりも前にそのユーザが発声した発話のことである。事前とは、１分前であってもよいし、１０分前であってもよいし、前日であってもよい。
（式１）
【数１】
2018124425.tif 000003
【００７９】
標準偏差σ（ｆ０ｚ５００）が閾値Ｓｔｈ１よりも小さい場合（Ｓ３０２のＹＥＳ）、フィラー長判定部１２０は、フィラー長判定部１２０は、ユーザ発話が質問を示す、つまりユーザが質問をしたと判定する。したがって、フィラー長判定部１２０は、応答の生成に構文解析結果が必要であるので、長フィラーを生成すると判定する（ステップＳ３０４）。そして、処理は、図４のＳ１２２に進む。
【００８０】
一方、標準偏差σ（ｆ０ｚ５００）が閾値Ｓｔｈ１以上である場合（Ｓ３０２のＮＯ）、フィラー長判定部１２０は、ユーザ発話が質問を示さない、つまりユーザが質問をしていないと判定する。したがって、フィラー長判定部１２０は、応答の生成に構文解析結果が必要でないので、短フィラーを生成すると判定する（ステップＳ３０６）。そして、処理は、図４のＳ１３２に進む。なお、閾値Ｓｔｈ１の設定方法については、後述する図９を用いて説明する。
【００８１】
図９は、ユーザ発話の句末５００ｍｓｅｃの基本周波数ｆ０５００の正規化された値ｆ０ｚ５００の標準偏差σ（ｆ０ｚ５００）と、ユーザ発話が質問である場合及び質問ではない場合それぞれの頻度との関係を例示するグラフである。図９は、事前にサンプルとして抽出した複数のユーザ発話のそれぞれについてまとめた統計データである。例えば、標準偏差σ（ｆ０ｚ５００）が０．２未満である場合にそのユーザ発話が質問である（したがって長フィラーを生成すべきである）頻度は、４である。一方、標準偏差σ（ｆ０ｚ５００）が０．２未満である場合にそのユーザ発話が質問でない（したがって短フィラーを生成すべきである）頻度は、２である。したがって、この場合、ユーザ発話が質問である頻度の方が、ユーザ発話が質問でない頻度よりも大きいので、長フィラーが生成され得る。このように、標準偏差σ（ｆ０ｚ５００）が小さい場合は、そのユーザ発話は、質問である可能性が高い傾向にある。
【００８２】
同様に、標準偏差σ（ｆ０ｚ５００）が０．６以上かつ１未満である場合にそのユーザ発話が質問である（したがって長フィラーを生成すべきである）頻度は、１である。一方、標準偏差σ（ｆ０ｚ５００）が０．６以上かつ１未満である場合にそのユーザ発話が質問でない（したがって短フィラーを生成すべきである）頻度は、３である。したがって、この場合、ユーザ発話が質問でない頻度の方が、ユーザ発話が質問である頻度よりも大きいので、短フィラーが生成され得る。このように、標準偏差σ（ｆ０ｚ５００）が大きい場合は、そのユーザ発話は、単なる相槌等であって、質問ではない可能性が高い傾向にある。
【００８３】
図９に例示するように、短フィラーの生成区間と長フィラーの生成区間との標準偏差σ（ｆ０ｚ５００）の境界値は、０．５９である。したがって、Ｓｔｈ１＝０．５９とする。なお、上記の閾値（境界値）は、音声対話装置１の話題誘導部１４６によって提供される話題に応じて、適宜、変更され得る。したがって、音声対話装置１は、質問データベース１４８に格納された質問ごとに、閾値ＳＬｔｈ１を記憶していてもよい。また、上記の閾値は、発話の個別言語（日本語、英語、仏語等）によっても異なり得る。したがって、音声対話装置１は、質問データベース１４８に格納された質問及び個別言語ごとに、閾値Ｓｔｈ１を記憶していてもよい。
【００８４】
実施の形態３にかかる音声対話装置１においても、ユーザ発話について構文解析よりも時間のかからない非言語情報解析の結果（基本周波数ｆ０）を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定する。そして、実施の形態３にかかる音声対話装置１は、ユーザの発話に応じて、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。これにより、実施の形態３においても、音声対話装置１とユーザとの間で、より自然な対話を実現することが可能となる。
【００８５】
さらに、実施の形態２と同様に、実施の形態３においては、予め定められた単純な判別式（Ｓ３０２の処理に対応）を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定し、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。つまり、実施の形態３においては、フィラー長判定部１２０は、非言語情報解析結果に含まれる特徴量（基本周波数の標準偏差）と、その特徴量に対応する予め定められた閾値（Ｓｔｈ１等）との比較に応じて、フィラーの長さを調整する。したがって、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することを、容易に実現することが可能である。
【００８６】
（実施の形態４）
次に、実施の形態４について説明する。実施の形態４においては、フィラー長判定部１２０の処理が、実施の形態１と比較して、より具体的に示されている。具体的には、実施の形態４にかかるフィラー長判定部１２０は、予め機械学習（ランダムフォレスト等）によって生成された判定モデルを用いて、フィラー長を判定する。より具体的には、フィラー長判定部１２０は、判定モデルを用いて、非言語情報解析結果によって示される特徴（特徴ベクトルの成分）が、応答の生成に構文解析結果を用いる必要がある（つまりユーザ発話が質問である）ことに対応するか否かを識別（分類）する。これによって、フィラー長判定部１２０は、フィラー長を判定する。なお、実施の形態４にかかる音声対話装置１の構成については、図１及び図２に示した実施の形態１にかかる音声対話装置１の構成と実質的に同様であるので、説明を省略する。
【００８７】
図１０は、実施の形態４にかかるフィラー長判定部１２０の処理を示すフローチャートである。図１０に示すフローチャートは、図４に示したフローチャートのＳ１０８及びＳ１１０の処理の具体例に対応する。フィラー長判定部１２０は、判定対象のユーザ発話の特徴ベクトルｖを、判定モデルに入力する（ステップＳ４０２）。なお、上述したように、特徴ベクトルｖは、非言語情報解析結果に対応する。つまり、特徴ベクトルｖは、非言語情報解析部１０６によって生成され得る。また、判定モデルは、対応するユーザ発話が質問であることを特徴ベクトルが示すか否かを判定するための、決定木で構成されている。判定モデルについては後述する。
【００８８】
フィラー長判定部１２０は、特徴ベクトルｖが、「質問クラス」に分類されるか否かを判定する（ステップＳ４０４）。ここで、「質問クラス」とは、判定モデルによってクラス分けされたクラス（カテゴリ）の１つである。ここでは、判定モデルでクラス分けされるクラスには、「質問クラス」及び「非質問クラス」がある。「質問クラス」は、そのユーザ発話が質問である確率が高いクラスであり、「非質問クラス」は、そのユーザ発話が質問である確率が低いクラスである。つまり、「質問クラス」は、非言語情報解析結果によって示される特徴が、応答の生成に構文解析結果を用いる必要があることに対応する。詳しくは後述する。
【００８９】
特徴ベクトルｖが「質問クラス」に分類される場合（Ｓ４０４のＹＥＳ）、フィラー長判定部１２０は、ユーザ発話が質問を示す、つまりユーザが質問をしたと判定する。したがって、フィラー長判定部１２０は、応答の生成に構文解析結果が必要であるので、長フィラーを生成すると判定する（ステップＳ４０６）。そして、処理は、図４のＳ１２２に進む。
【００９０】
特徴ベクトルｖが「質問クラス」に分類されない場合（Ｓ４０４のＮＯ）、フィラー長判定部１２０は、ユーザ発話が質問を示さない、つまりユーザが質問をしていないと判定する。したがって、フィラー長判定部１２０は、応答の生成に構文解析結果が必要でないので、短フィラーを生成すると判定する（ステップＳ４０８）。そして、処理は、図４のＳ１３２に進む。
【００９１】
次に、判定モデルの生成方法について説明する。なお、判定モデルの生成については、本実施の形態にかかる音声対話装置１が行ってもよいし、音声対話装置１とは別の装置（コンピュータ）が行ってもよい。
【００９２】
図１１は、実施の形態４にかかる判定モデルの生成方法を示すフローチャートである。まず、多数の学習データを用いてサンプル集合Ｓが準備される（ステップＳ４２０）。ここで、サンプル集合Ｓの要素であるサンプルｉは、事前に準備したユーザ発話に対応するデータである。サンプルの数は、例えば１５０個程度であるが、これに限定されない。次に、サンプル集合Ｓを用いて、Ｔ個のサブセットＳ１〜ＳＴが生成される（ステップＳ４２２）。サブセットの数Ｔは、例えば１００個程度であるが、これに限定されない。そして、サブセットごとに決定木（判定モデル）が生成される。つまり、Ｔ本の決定木が生成されることとなる（ステップＳ４４）。以下、図を用いて詳述する。
【００９３】
図１２は、サンプル集合Ｓ及びサブセットＳ１〜ＳＴを例示する図である。サンプルｉ（図１２に円で示す）には、それぞれ、特徴ベクトルｖｉ及び正解ラベルｃｉが付与されている。正解ラベルｃｉは、そのサンプルｉに対応するユーザ発話が音声対話装置１に対する質問である場合に、「ｙｅｓ」を示し、そのサンプルｉに対応するユーザ発話が音声対話装置１に対する質問でない場合に、「ｎｏ」を示す。なお、図１２において、「ｙｅｓ」の正解ラベルが付与されているサンプルｉには、ハッチングが施されている。また、「質問クラス」は、「ｙｅｓ」を示す正解ラベルｃｉに対応し、「非質問クラス」は、「ｎｏ」を示す正解ラベルｃｉに対応する。なお、正解ラベルｃｉは、アノテーションを行う者（アノテータ）が各サンプルｉに対応するユーザ発話を聴くこと等によって、付与される。つまり、アノテータは、ユーザ発話を聴いて、そのユーザ発話がどちらのクラスに該当するかを、ユーザ発話の言語情報及び非言語情報等から判断して、正解ラベルｃｉをサンプルｉに付与する。なお、アノテータは、ユーザ発話を発しているユーザの画像を見て、正解ラベルｃｉをサンプルｉに付与してもよい。
【００９４】
サブセットは、サンプル集合Ｓから、サンプルｉをランダムに抽出して各サブセットに割り当てることで、作成される。ここで、各サブセットの要素となるサンプルｉの個数は、互いに同じとする。各サブセットの要素となるサンプルｉの個数は、例えば数十個（例えば３０個）である。なお、説明の明確化のため、図１２の例では、各サブセットのサンプルｉの個数を、４個としている。また、サブセット間でサンプルｉが重複してもよい。また、サンプル集合Ｓ内の全てのサンプルｉがサブセットに割り当てられなくてもよい。
【００９５】
図１３は、各サンプルに付与される特徴ベクトルｖｉを例示する図である。なお、図１３に例示する特徴ベクトルは、一例にすぎず、他の様々な特徴ベクトルが可能である。図１３に例示する特徴ベクトルは、１７次元のベクトルであり、ｘ１〜ｘ１７の成分を有する。なお、これらのｘ１〜ｘ１７の成分の値は、各成分の特徴量を正規化（無次元化）したものであり、最小値が０であり、最大値が１である。なお、次元４（ｘ４）の「句末２００ｍｓｅｃのｆ０の傾き」とは、句末２００ｍｓｅｃにおける基本周波数ｆ０の変化量に対応する。具体的には、「句末２００ｍｓｅｃのｆ０の傾き」は、句末２００ｍｓｅｃの後半１００ｍｓｅｃにおける基本周波数ｆ０の平均値から、句末２００ｍｓｅｃの前半１００ｍｓｅｃにおける基本周波数ｆ０の平均値を減算した値に対応し得る。
【００９６】
図１４は、図１１のＳ４４の処理によって生成される決定木（判定モデル）を例示する図である。図１４の例では、Ｔｒｅｅ＿１〜Ｔｒｅｅ＿ＴのＴ本の決定木が生成される。決定木の深さＤを過剰に深くすると過学習となるおそれがあるので、図１４に例示する決定木の深さＤは、最大で３となっている。例えば、Ｔｒｅｅ＿１では、深さ１にノード２，３があり、深さ２にノード４〜７があり、深さ３にノード８，９がある。
【００９７】
また、例えば、Ｔｒｅｅ＿１においては、ノード１が根ノードであり、ノード１から、ノード１の子ノードであるノード２とノード３とに分岐している。また、ノード２から、ノード２の子ノードであるノード４とノード５とに分岐し、ノード３から、ノード３の子ノードであるノード６とノード７に分岐している。さらに、ノード５から、ノード５の子ノードであるノード８とノード９とに分岐している。そして、ノード４，６，７，８，９が、末端ノード（太い線の円で示す）となっている。判定対象のユーザ発話の特徴ベクトルが根ノードであるノード１に入力されたときに、末端ノードであるノード４，６，７，８，９のいずれかに到達する。なお、末端ノード以外のノード１，２，３，５が、分岐ノード（細い線の円で示す）である。
【００９８】
ここで、分岐ノードには、特徴ベクトルがどちらの子ノードに分岐されるかを定義する分岐関数Ｆが割り当てられている。また、末端ノードには、その末端ノードに到達した特徴ベクトルが「質問クラス」（又は「非質問クラス」）に対応する確率Ｐが対応付けられている。以下、決定木の生成方法について説明する。
【００９９】
図１５は、決定木の生成方法を示すフローチャートである。まず、あるサブセット（例えばサブセットＳ１）のある分岐ノード（例えば根ノードであるノード１）について、Ｋ個の分岐関数候補Ｆｃ（Ｆｃｋ；ｋ＝１〜Ｋ）が、ランダムに生成される（ステップＳ４４０）。分岐関数候補Ｆｃは、図１３に例示した特徴ベクトルの成分（ｘ１〜ｘ１７）の少なくとも１つをパラメータとする関数である。このとき、分岐関数候補Ｆｃｋについて、特徴ベクトルがどちらの子ノードに分岐されるかの境界となる閾値ｔｋが対応付けられる。なお、閾値ｔｋも、ランダムに生成され得る。なお、Ｋの値は、特徴ベクトルの次元数の平方根の近似値であってもよい。したがって、図１３の例では、特徴ベクトルの次元数は１７であるので、Ｋ＝４である。
【０１００】
例えば、Ｆｃ１をｘ１の関数とし、対応する閾値ｔ１を０．４としてもよい。また、Ｆｃ２をｘ３の関数とし、対応する閾値ｔ２を０．３としてもよい。また、Ｆｃ３をｘ５の関数とし、対応する閾値ｔ３を０．６としてもよい。また、Ｆｃ４をｘ１７の関数とし、対応する閾値ｔ４を０．４としてもよい。
【０１０１】
次に、各分岐関数候補Ｆｃを用いて、サンプルｉが分割される（ステップＳ４４２）。具体的には、以下の式２を用いて、分岐前のノード（親ノード）のサンプル集合Ｓｊのサンプルｉが、左側の子ノードのサンプル集合ＳＬ又は右側の子ノードのサンプル集合ＳＲに分割される。
（式２）
【数２】
2018124425.tif 000004
【０１０２】
次に、情報利得Ｉの最も高い分岐関数候補Ｆｃが、そのノードにおける分岐関数Ｆとして採用される（ステップＳ４４４）。具体的には、まず、分岐関数候補Ｆｃごとに、以下の式３で示される情報利得Ｉを算出する。
（式３）
【数３】
2018124425.tif 000005
【０１０３】
ここで、Ｈ（Ｓ）は以下の式４で定義される集合Ｓのエントロピである。なお、Ｃは、クラスの数である。上記の例では、Ｃ＝２であり、ｃ＝１を「質問クラス」とし、ｃ＝２を「非質問クラス」とする。また、以下の式において、Ｐｃは、集合Ｓにおけるクラスｃの出現確率である。また、エントロピＨ（Ｓ）は、集合Ｓにおける各クラスの出現確率の偏りを示す。各クラスの出現確率の偏りが小さい場合に、エントロピは大きくなる。
（式４）
【数４】
2018124425.tif 000006
【０１０４】
図１６は、２つの分岐関数候補Ｆｃそれぞれについて分割された集合を例示する図である。以下に説明する例では、説明を明確化するため、分岐関数候補Ｆｃが２個であるとする。親ノードの集合Ｓｊのサンプルが、分岐関数候補Ｆｃ１（候補１）によって集合ＳＬ１及び集合ＳＲ１に分割される。また、親ノードの集合Ｓｊのサンプルが、分岐関数候補Ｆｃ２（候補２）によって集合ＳＬ２及び集合ＳＲ２に分割される。図１６の例では、親ノードの集合Ｓｊの８個のサンプルは、各分岐関数候補Ｆｃによって、それぞれ４個のサンプルに分割されている。
【０１０５】
この場合、親ノードの集合ＳｊのエントロピＨ（Ｓｊ）は、上記の式４を用いて、以下の式５のように算出される。
（式５）
【数５】
2018124425.tif 000007
【０１０６】
また、候補１についての分割後の集合ＳＬ１及び集合ＳＲ１のエントロピは、上記の式４を用いて、以下の式６のように算出される。
（式６）
【数６】
2018124425.tif 000008
【０１０７】
また、候補２についての分割後の集合ＳＬ２及び集合ＳＲ２のエントロピは、上記の式４を用いて、以下の式７のように算出される。
（式７）
【数７】
2018124425.tif 000009
【０１０８】
したがって、候補１の情報利得Ｉ１及び候補２の情報利得Ｉ２は、上記の式３より、以下の式８のように算出される。
（式８）
【数８】
2018124425.tif 000010
【０１０９】
式８より、Ｉ１＜Ｉ２であるので、分岐関数候補Ｆｃ２が、親ノードの分岐関数Ｆとして採用される。そして、集合ＳＬ２及び集合ＳＲ２に対応するノードが、上記親ノードに対する子ノードとされる。つまり、親ノードが根ノードであるノード１である場合、集合ＳＲ２に対応するノードがノード２となり。集合ＳＬ２に対応するノードがノード３となる。
【０１１０】
次に、処理は次のノードに移行する（ステップＳ４４６）。ここで、上記のように子ノードがある場合は、処理は子ノードに移行する。また、子ノードがない場合は、処理が終わっていない別のノードに移行する。そして、処理対象のノードのエントロピが０であるか、又はそのノードが指定された深さに到達したかが判定される（ステップＳ４４８）。処理対象のノードのエントロピが０であるか、又はそのノードが指定された深さに到達した場合（Ｓ４４８のＹＥＳ）、そのノードが末端ノードと決定される。そして、末端ノードに割り当てられる、「質問クラス」の出現確率Ｐが算出される（ステップＳ４５０）。一方、処理対象のノードのエントロピが０でなく、かつ、そのノードが指定された深さに到達していない場合（Ｓ４４８のＮＯ）、そのノードは分岐ノードと決定される。したがって、このノードについて、Ｓ４４０〜Ｓ４４４の処理が繰り返される。
【０１１１】
具体的には、図１６に示した例では、集合ＳＲ２のエントロピは０である。したがって、この集合ＳＲ２に対応するノードが末端ノードと決定される。そして、このノードに割り当てられる「質問クラス」の出現確率Ｐ（Ｐ＝１）が算出される。なお、エントロピが０である場合、その末端ノードに関する「質問クラス」の出現確率Ｐは１又は０である。
【０１１２】
また、図１６に示した例では、集合ＳＲ１のエントロピは０ではない。したがって、この集合ＳＲ１に対応するノードの深さが予め定められた深さ（図１４の例では深さ３）に到達していなければ、このノードは分岐ノードであるとして、Ｓ４４０〜Ｓ４４４の処理が繰り返される。一方、この集合ＳＲ１に対応するノードの深さが予め定められた深さに到達している場合、このノードは末端ノードと決定される。そして、このノードに割り当てられる「質問クラス」の出現確率Ｐ（Ｐ＝１／４）が算出される。
【０１１３】
次に、全てのサブセットについて決定木が生成されたか否かが判定される（ステップＳ４５２）。全てのサブセットについて決定木が生成されていない場合（Ｓ４５２のＮＯ）、処理は、決定木が生成されていない次のサブセットに移行して（ステップＳ４５４）、Ｓ４４０〜Ｓ４５０の処理が繰り返される。一方、全てのサブセットについて決定木が生成された場合（Ｓ４５２のＹＥＳ）、判定モデルが完成したので、処理が終了する。なお、複数の決定木の生成は、並行して行われ得る。つまり、Ｔｒｅｅ＿１〜Ｔｒｅｅ＿Ｔの生成を、同時に行うことが可能である。
【０１１４】
次に、判定モデルを用いて、特徴ベクトルを分類する方法について説明する。
図１７は、図１４に例示した決定木（判定モデル）を用いて特徴ベクトルを分類する方法（図１０のＳ４０４）を説明するための図である。まず、Ｔｒｅｅ＿１に特徴ベクトルｖが入力される。ノード１の分岐関数Ｆ１１（閾値ｔ１１）に特徴ベクトルｖが代入されると、Ｆ１１（ｖ）≧ｔ１１であるので、式２より、特徴ベクトルｖは、右側の子ノード２に移行する。ノード２の分岐関数Ｆ１２（閾値ｔ１２）に特徴ベクトルｖが代入されると、Ｆ１２（ｖ）＜ｔ１２であるので、式２より、特徴ベクトルｖは、左側の子ノード５に移行する。ノード５の分岐関数Ｆ１５（閾値ｔ１５）に特徴ベクトルｖが代入されると、Ｆ１５（ｖ）＜ｔ１５であるので、式２より、特徴ベクトルｖは、左側の子ノード９に移行する。そして、ノード９は末端ノードであるので、Ｔｒｅｅ＿１についての、特徴ベクトルｖが各クラスに分類される確率は、ノード９に対応付けられたＰ１（ｃ｜ｖ）である。図１７の例では、特徴ベクトルｖが質問クラスに分類される確率はＰ１（ｃ＝１｜ｖ）＝０．６であり、非質問クラスに分類される確率はＰ１（ｃ＝２｜ｖ）＝０．４である。
【０１１５】
また、Ｔｒｅｅ＿Ｔに特徴ベクトルｖが入力され、ノード１の分岐関数ＦＴ１（閾値ｔＴ１）に特徴ベクトルｖが代入されると、ＦＴ１（ｖ）＜ｔＴ１であるので、式２より、特徴ベクトルｖは、左側の子ノード３に移行する。ノード３の分岐関数ＦＴ３（閾値ｔＴ３）に特徴ベクトルｖが代入されると、ＦＴ３（ｖ）＜ｔＴ３であるので、式２より、特徴ベクトルｖは、左側の子ノード７に移行する。ノード７の分岐関数ＦＴ７（閾値ｔＴ７）に特徴ベクトルｖが代入されると、ＦＴ７（ｖ）≧ｔＴ７であるので、式２より、特徴ベクトルｖは、右側の子ノード１０に移行する。そして、ノード１０は末端ノードであるので、Ｔｒｅｅ＿Ｔについての、特徴ベクトルｖが各クラスに分類される確率は、ノード１０に対応付けられたＰＴ（ｃ｜ｖ）である。図１７の例では、特徴ベクトルｖが質問クラスに分類される確率はＰＴ（ｃ＝１｜ｖ）＝０．８であり、非質問クラスに分類される確率はＰＴ（ｃ＝２｜ｖ）＝０．２である。このようにして、フィラー長判定部１２０は、Ｔｒｅｅ＿１〜Ｔｒｅｅ＿Ｔについて、上記の処理を行う。
【０１１６】
フィラー長判定部１２０は、各決定木において算出された確率Ｐ１（ｃ｜ｖ）〜ＰＴ（ｃ｜ｖ）を用いて、以下の式９を用いて、統合された確率Ｐ（ｃ｜ｖ）を算出する。
（式９）
【数９】
2018124425.tif 000011
【０１１７】
そして、フィラー長判定部１２０は、特徴ベクトルｖが、確率Ｐ（ｃ｜ｖ）において最大値をとるｃに対応するクラスに分類されると判定する。例えば、確率Ｐ（ｃ＝１｜ｖ）＝０．７であり、確率Ｐ（ｃ＝２｜ｖ）＝０．３である場合、フィラー長判定部１２０は、特徴ベクトルｖが、ｃ＝１に対応するクラス、つまり質問クラスに分類されると判定する。
【０１１８】
実施の形態４にかかる音声対話装置１においても、ユーザ発話について構文解析よりも時間のかからない非言語情報解析の結果（特徴ベクトル）を用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定する。そして、実施の形態４にかかる音声対話装置１は、ユーザの発話に応じて、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。これにより、実施の形態４においても、音声対話装置１とユーザとの間で、より自然な対話を実現することが可能となる。
【０１１９】
さらに、実施の形態４においては、予め機械学習によって生成された判定モデルを用いて、応答の生成に構文解析結果を用いる必要があるか否かを判定し、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することが可能となる。ここで、機械学習によって生成された判定モデルを用いることで、より正確な識別を行うことが可能となる。したがって、ユーザの発話から応答までの間に出力されるフィラーの長さを調整することを、実施の形態２及び実施の形態３の場合と比較して、より正確に行うことが可能である。
【０１２０】
なお、実施の形態４においては、予め判定モデルを準備しておく必要がある。したがって、実施の形態２及び実施の形態３の場合の方が、実施の形態４の場合と比較して、より容易に、上記の処理を実現することが可能である。
【０１２１】
（変形例）
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述したフローチャートにおいて、複数の処理の順序は、適宜、変更可能である。また、上述したフローチャートにおいて、複数の処理のうちの１つは、省略されてもよい。また、フィラーは、常に生成しなくてもよい。例えば、ユーザ発話の２回に１回の割合でフィラーを生成するようにしてもよい。
【０１２２】
また、上述した実施の形態においては、ユーザ発話について非言語情報解析を行うことで、フィラーの長さを調整するとしたが、ユーザ発話についての非言語情報解析だけでなく、他の方法を併用することも可能である。例えば、音声対話装置１に搭載されたカメラによってユーザを撮影して得られたカメラ画像について画像認識処理を行い、その画像認識処理結果（例えばユーザの表情等）も用いてもよい。これにより、非言語情報解析結果のみを用いる場合と比較して、応答の生成に構文解析結果を用いる必要があるか否かを、より正確に判定することができる。
【０１２３】
また、上述した実施の形態２及び実施の形態３で説明した判別式以外の判別式を用いて、ユーザ発話が質問であるか否かを判定することも可能である。例えば、句末のピッチ（基本周波数ｆ０）の傾き（図１３のｘ４）が予め定められた閾値よりも大きい場合に、ユーザ発話が質問であると判定してもよい。
【０１２４】
また、非言語情報解析部１０６の処理の一部は、構文解析部１０４でも行われ得る。つまり、構文解析部１０４は、構文解析を行う上で必要である場合は、非言語情報解析部１０６で行われる処理も行い得る。したがって、構文解析部１０４は、非言語情報解析部１０６の解析結果を用いて構文解析を行ってもよい。
【符号の説明】
【０１２５】
１・・・音声対話装置、２・・・マイク、４・・・スピーカ、１０・・・制御装置、１０２・・・発話取得部、１０４・・・構文解析部、１０６・・・非言語情報解析部、１１０・・・出力生成部、１２０・・・フィラー長判定部、１３０・・・フィラー生成部、１４０・・・応答生成部、１４２・・・ユーザ質問回答部、１４４・・・回答データベース、１４６・・・話題誘導部、１４８・・・質問データベース、１５０・・・音声出力部、１５２・・・応答履歴格納部
【図１】
2018124425.tif 000012
【図２】
2018124425.tif 000013
【図３】
2018124425.tif 000014
【図４】
2018124425.tif 000015
【図５】
2018124425.tif 000016
【図６】
2018124425.tif 000017
【図７】
2018124425.tif 000018
【図８】
2018124425.tif 000019
【図９】
2018124425.tif 000020
【図１０】
2018124425.tif 000021
【図１１】
2018124425.tif 000022
【図１２】
2018124425.tif 000023
【図１３】
2018124425.tif 000024
【図１４】
2018124425.tif 000025
【図１５】
2018124425.tif 000026
【図１６】
2018124425.tif 000027
【図１７】
2018124425.tif 000028