(57)【要約】【課題】ユーザの発話継続の判定精度を向上できる発話継続判定方法等を提供する。【解決手段】ユーザに対して発話された、第１時刻のシステム文章１８４と、システム文章１８４に続いてユーザにより発話された、第２時刻のユーザ文章１８５と、当該システム文章１８４の意図を示すシステム意図１８３を含む対話データ１０２を取得する対話取得ステップ（Ｓ２２）と、機械学習されたモデルに、対話データ１０２を適用することにより、当該ユーザ文章１８５に対する応答の待ち時間を示す予測応答遅延量１９２を推定させる推定ステップ（Ｓ２３）と、ユーザの状況を示すユーザ状況情報１２３２を取得する状況取得ステップ（Ｓ２４）と、予測応答遅延量１９２が示す待ち時間におけるユーザ状況情報１２３２に応じて、当該ユーザ文章１８５に続いてユーザの発話文が継続するか否かを判定する判定ステップ（Ｓ２５）と、を含む。【選択図】図１１
2019003380.tif 000002
【特許請求の範囲】
【請求項１】
機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定方法であって、
前記ユーザに対して発話された、第１時刻の第１発話文のテキストデータである第１文章と、前記第１文章に続いて前記ユーザにより発話された、第２時刻の第２発話文のテキストデータである第２文章と、前記第１文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する対話取得ステップと、
機械学習されることで得た学習結果情報を反映した前記モデルに、前記対話データを適用することにより、前記第２文章に対する応答の待ち時間を示す応答遅延量を推定させる推定ステップと、
前記ユーザの状況を示すユーザ状況情報を取得する状況取得ステップと、
前記応答遅延量が示す前記待ち時間における前記ユーザ状況情報に応じて、前記第２文章に続いて前記ユーザの発話文が継続するか否かを判定する判定ステップと、を含む、
発話継続判定方法。
【請求項２】
前記ユーザ状況情報は、
（１）前記ユーザの発話をテキストにより入力するためのテキスト入力部におけるテキスト入力欄が選択中か否か、（２）前記ユーザの発話を音により入力するための集音部における音声信号が入力中か否か、（３）前記ユーザの視線を検出するための視線検出部における前記ユーザの視線位置が前記第１文章を提示する提示部を含む装置にあるか否か、および、（４）前記ユーザの姿勢を検出するための姿勢検出部における前記ユーザの顔方向および体方向が前記第１文章を提示する提示部を含む装置であるか否かのうちの少なくとも一に対応する値を示す、
請求項１に記載の発話継続判定方法。
【請求項３】
前記判定ステップは、
前記応答遅延量が示す待ち時間が０である場合に、前記ユーザの発話文が継続しない旨を示す第１判定を行い、
前記応答遅延量が示す待ち時間が０より大きい場合において、前記待ち時間中における前記ユーザ状況情報が所定の値を示すとき、前記ユーザの発話文が継続する旨を示す第２判定を行い、前記待ち時間中における前記ユーザ状況情報が前記所定の値を示さないとき、前記第１判定を行う、
請求項１または２に記載の発話継続判定方法。
【請求項４】
前記発話継続判定方法は、さらに、
ユーザに対して発話された、第３発話文のテキストデータである第３文章と、前記第３文章に続いて当該ユーザにより発話された第４発話文のテキストデータである第４文章と、前記第３文章が示す意図を構造化したデータである構造化データと、前記第４文章に対する応答の待ち時間を示す応答遅延量とを含む学習用データを取得する学習取得ステップと、
前記学習用データを用いて、前記モデルに、学習させる学習ステップと、
前記学習ステップにおいて学習した結果を前記学習結果情報として記憶する記憶ステップとを含み、
前記学習ステップでは、前記学習用データに含まれる前記応答遅延量を教師データとして、前記第４文章と前記応答遅延量との対応付けを学習させる、
請求項１〜３のいずれか１項に記載の発話継続判定方法。
【請求項５】
前記モデルは、
前記第４文章を形態素解析することで得た単語列に含まれる単語、並びに、前記構造化データに含まれる対話行為およびキーワードを素性とする第１素性ベクトルを算出し、算出した前記第１素性ベクトルと第１重みパラメータとに基づき、前記第４文章の対話状態を表現する第１特徴ベクトルを出力する第１モデルと、
前記第１特徴ベクトルと第２重みパラメータとに基づき、前記第４文章に対する応答遅延量を出力する第２モデルとを含み、
前記学習ステップでは、前記第２モデルにより出力される前記応答遅延量と、前記学習用データに含まれる前記応答遅延量との間の誤差に基づいて、前記第１重みパラメータおよび前記第２重みパラメータを誤差逆伝搬法で更新することにより、前記学習用データを用いて前記モデルに学習させる、
請求項４に記載の発話継続判定方法。
【請求項６】
前記第１モデルは、
前記第１重みパラメータを持ち、算出された前記第１素性ベクトルから第１特徴ベクトルを算出するニューラルネットワークを有し、
前記第２モデルは、
シグモイド回帰を出力とするニューラルネットワークモデル、SVM（Support Vector Machine）モデルまたはナイーブベイズ分類器を用いる、
請求項５記載の発話継続判定方法。
【請求項７】
前記学習取得ステップでは、
前記学習用データを、ユーザに対して発話された発話文と、当該発話文が示す意図の構造化データと、当該発話文に続いて当該ユーザにより発話された発話文と、当該ユーザにより発話された発話文に対する応答遅延量とが集積されたコーパスから取得する、
請求項４〜６のいずれか１項に記載の発話継続判定方法。
【請求項８】
前記第１文章が示す意図は、
前記第１文章をカテゴリおよび行為により分類することで得られる前記第１文章の意図の種類を示す対話行為と、前記第１文章に含まれるキーワードとを含む、
請求項１〜７のいずれか１項に記載の発話継続判定方法。
【請求項９】
前記第３文章が示す意図は、
前記第３文章をカテゴリおよび行為により分類することで得られる前記第３文章の意図の種類を示す対話行為と、前記第３文章に含まれるキーワードとを含む、
請求項４〜７のいずれか１項に記載の発話継続判定方法。
【請求項１０】
機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定装置であって、
前記ユーザに対して発話された、第１時刻の第１発話文のテキストデータである第１文章と、前記第１文章に続いて前記ユーザにより発話された、第２時刻の第２発話文のテキストデータである第２文章と、前記第１文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する対話取得部と、
機械学習されることで得た学習結果情報を反映した前記モデルに、前記対話データを適用することにより、前記第２文章に対する応答の待ち時間を示す応答遅延量を推定させる推定部と、
前記ユーザの状況を示すユーザ状況情報を取得する状況取得部と、
前記応答遅延量が示す前記待ち時間における前記ユーザ状況情報に応じて、前記第２文章に続いて前記ユーザの発話文が継続するか否かを判定する判定部と、を備える、
発話継続判定装置。
【請求項１１】
請求項１に記載の発話継続判定方法をコンピュータに実行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、発話継続判定方法、発話継続判定装置およびプログラムに関し、特に、機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定方法、発話継続判定装置およびプログラムに関する。
【背景技術】
【０００２】
発話継続判定技術は、ユーザが発話を継続したいか否かを推定する技術すなわちユーザの発話継続を判定する技術である。そして、発話継続判定技術を用いて、対話システムの応答のタイミングおよび内容を動的に制御する技術が提案されている（例えば特許文献１）。
【０００３】
特許文献１に開示される技術では、対話システムが示す設問毎に想定されるユーザの発話に含まれるキーワードの最大文字数の算出に基づいて、ユーザの発話等による入力を受け付けるまでの待ち時間、または入力を継続して受け付ける音声受付時間を増減させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４６６７０８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１で提案される方法では、ユーザの発話継続の判定を十分な精度で行えないという課題がある。
【０００６】
本開示は、上述の事情を鑑みてなされたもので、ユーザの発話継続の判定精度を向上できる発話継続判定方法、発話継続判定装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の一態様に係る発話継続判定方法は、機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定方法であって、前記ユーザに対して発話された、第１時刻の第１発話文のテキストデータである第１文章と、前記第１文章に続いて前記ユーザにより発話された、第２時刻の第２発話文のテキストデータである第２文章と、前記第１文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する対話取得ステップと、機械学習されることで得た学習結果情報を反映した前記モデルに、前記対話データを適用することにより、前記第２文章に対する応答の待ち時間を示す応答遅延量を推定させる推定ステップと、前記ユーザの状況を示すユーザ状況情報を取得する状況取得ステップと、前記応答遅延量が示す前記待ち時間における前記ユーザ状況情報に応じて、前記第２文章に続いて前記ユーザの発話文が継続するか否かを判定する判定ステップと、を含む。
【０００８】
また、上記目的を達成するために、本開示の一態様に係る発話継続判定装置は、機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定装置であって、前記ユーザに対して発話された、第１時刻の第１発話文のテキストデータである第１文章と、前記第１文章に続いて前記ユーザにより発話された、第２時刻の第２発話文のテキストデータである第２文章と、前記第１文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する対話取得部と、機械学習されることで得た学習結果情報を反映した前記モデルに、前記対話データを適用することにより、前記第２文章に対する応答の待ち時間を示す応答遅延量を推定させる推定部と、前記ユーザの状況を示すユーザ状況情報を取得する状況取得部と、前記応答遅延量が示す前記待ち時間における前記ユーザ状況情報に応じて、前記第２文章に続いて前記ユーザの発話文が継続するか否かを判定する判定部と、を備える。
【０００９】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１０】
本開示の発話継続判定方法等によれば、ユーザの発話継続の判定精度を向上できる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る発話継続判定システムの構成例を示すブロック図である。
【図２】実施の形態１に係る発話継続判定システムの構成の別例を示すブロック図である。
【図３】実施の形態１に係る学習用データの一例を示す図である。
【図４】実施の形態１に係る学習部の詳細構成の一例を示すブロック図である。
【図５】実施の形態１に係る対話データの一例を示す図である。
【図６】実施の形態１に係る推定部の詳細構成の一例を示すブロック図である。
【図７】実施の形態１に係る応答遅延推定結果の一例を示す図である。
【図８】実施の形態１に係るユーザ状況情報の一例を示す図である。
【図９】実施の形態１に係る判定部の詳細構成の一例を示すブロック図である。
【図１０】実施の形態１に係る発話継続判定結果の一例を示す図である。
【図１１】実施の形態１に係る発話継続判定システムの動作の概要を示すフローチャートである。
【図１２】実施の形態１に係る学習処理の詳細のフローチャートである。
【図１３】図１１に示す推定処理の詳細を示すフローチャートである。
【図１４】図１１に示す判定処理の詳細を示すフローチャートである。
【図１５Ａ】実施の形態１に係る第１判定の一態様を説明するための図である。
【図１５Ｂ】実施の形態１に係る第１判定の一態様を説明するための図である。
【図１５Ｃ】実施の形態１に係る第２判定の一態様を説明するための図である。
【図１６】実施の形態２に係る対話システムの構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１２】
（本開示の基礎となった知見）
発話継続判定技術は、ユーザが発話を継続したいか否かを推定する技術すなわちユーザの発話継続を判定する技術である。そして、発話継続判定技術を用いて、対話システムの応答のタイミングおよび内容を動的に制御する。しかしながら、この判定精度が悪いと、ユーザが発話を継続しようとしている一方で、対話システムは、同じ内容もしくは次の質問内容などを誤って応答していまい、ユーザの発話を聞き逃してしまう。そして、誤った応答をすることは対話システムとユーザとの対話時間の増加をもたらす。そのため、ユーザの発話継続の精度の向上が望まれている。
【００１３】
例えば、特許文献１では、設問毎に想定されるキーワード最大文字数を用いるといったルールにより設問毎の音声認識用文法解析した解析結果に基づいて、音声を受け付けるまでの待ち時間および／または音声を継続して受付ける音声受付時間を増減する技術が開示されている。これにより、利用者にとって必要以上の待ち時間（音声認識）が生じさせず、円滑な対話を維持することができる。
【００１４】
しかしながら、特許文献１に開示される技術では、設問に依存して、システムが一度に受け付けるキーワードの最大値と最小値が自然と決まることを前提としている。つまり、ユーザの自由な発話表現を許容する場合、キーワードが０であることや、並列的にキーワードを述べるように最大値が決まらないことも想定され、待ち時間を適切に決めることが困難となる。
【００１５】
そこで、ユーザの発話継続の精度の向上のために、ユーザの発話内容の意味を考慮して、発話継続を判定することが必要と想到するに至った。
【００１６】
このような課題に対して、本開示の一態様に係る発話継続判定方法は、機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定方法であって、前記ユーザに対して発話された、第１時刻の第１発話文のテキストデータである第１文章と、前記第１文章に続いて前記ユーザにより発話された、第２時刻の第２発話文のテキストデータである第２文章と、前記第１文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する対話取得ステップと、機械学習されることで得た学習結果情報を反映した前記モデルに、前記対話データを適用することにより、前記第２文章に対する応答の待ち時間を示す応答遅延量を推定させる推定ステップと、前記ユーザの状況を示すユーザ状況情報を取得する状況取得ステップと、前記応答遅延量が示す前記待ち時間における前記ユーザ状況情報に応じて、前記第２文章に続いて前記ユーザの発話文が継続するか否かを判定する判定ステップと、を含む。
【００１７】
本態様によれば、学習処理結果を用いてユーザ発話文に対する応答遅延量の推定を行い、推定した応答遅延量に示される待ち時間中のユーザ状況を用いてユーザの発話継続の有無を判定する。このように、ユーザの発話継続の判定を２段階で行うことで、ユーザの発話継続の判定精度を向上できる。
【００１８】
また、例えば、前記ユーザ状況情報は、（１）前記ユーザの発話をテキストにより入力するためのテキスト入力部におけるテキスト入力欄が選択中か否か、（２）前記ユーザの発話を音により入力するための集音部における音声信号が入力中か否か、（３）前記ユーザの視線を検出するための視線検出部における前記ユーザの視線位置が前記第１文章を提示する提示部を含む装置にあるか否か、および、（４）前記ユーザの姿勢を検出するための姿勢検出部における前記ユーザの顔方向および体方向が前記第１文章を提示する提示部を含む装置であるか否かのうちの少なくとも一に対応する値を示すとしてもよい。
【００１９】
また、例えば、前記判定ステップは、前記応答遅延量が示す待ち時間が０である場合に、前記ユーザの発話文が継続しない旨を示す第１判定を行い、前記応答遅延量が示す待ち時間が０より大きい場合において、前記待ち時間中における前記ユーザ状況情報が所定の値を示すとき、前記ユーザの発話文が継続する旨を示す第２判定を行い、前記待ち時間中における前記ユーザ状況情報が前記所定の値を示さないとき、前記第１判定を行うとしてもよい。
【００２０】
また、例えば、前記発話継続判定方法は、さらに、ユーザに対して発話された、第３発話文のテキストデータである第３文章と、前記第３文章に続いて当該ユーザにより発話された第４発話文のテキストデータである第４文章と、前記第３文章が示す意図を構造化したデータである構造化データと、前記第４文章に対する応答の待ち時間を示す応答遅延量とを含む学習用データを取得する学習取得ステップと、前記学習用データを用いて、前記モデルに、学習させる学習ステップと、前記学習ステップにおいて学習した結果を前記学習結果情報として記憶する記憶ステップとを含み、前記学習ステップでは、前記学習用データに含まれる前記応答遅延量を教師データとして、前記第４文章と前記応答遅延量との対応付けを学習させるとしてもよい。
【００２１】
本態様によれば、過去のシステムの発話文におけるシステム意図と、過去のシステムの発話文に対するユーザ発話文を含む学習用データを用いて、学習用データに含まれる当該ユーザ発話文に対する応答遅延量を教師データとして、ユーザ発話文と応答遅延量との対応づけを行う学習処理を行う。これにより、システム発話文に続くユーザ発話文から、応答遅延量を精度よく推定できる。
【００２２】
また、例えば、前記モデルは、前記第４文章を形態素解析することで得た単語列に含まれる単語、並びに、前記構造化データに含まれる対話行為およびキーワードを素性とする第１素性ベクトルを算出し、算出した前記第１素性ベクトルと第１重みパラメータとに基づき、前記第４文章の対話状態を表現する第１特徴ベクトルを出力する第１モデルと、前記第１特徴ベクトルと第２重みパラメータとに基づき、前記第４文章に対する応答遅延量を出力する第２モデルとを含み、前記学習ステップでは、前記第２モデルにより出力される前記応答遅延量と、前記学習用データに含まれる前記応答遅延量との間の誤差に基づいて、前記第１重みパラメータおよび前記第２重みパラメータを誤差逆伝搬法で更新することにより、前記学習用データを用いて前記モデルに学習させるとしてもよい。
【００２３】
また、例えば、前記第１モデルは、前記第１重みパラメータを持ち、算出された前記第１素性ベクトルから第１特徴ベクトルを算出するニューラルネットワークを有し、前記第２モデルは、シグモイド回帰を出力とするニューラルネットワークモデル、SVM（Support Vector Machine）モデルまたはナイーブベイズ分類器を用いるとしてもよい。
【００２４】
また、例えば、前記学習取得ステップでは、前記学習用データを、ユーザに対して発話された発話文と、当該発話文が示す意図の構造化データと、当該発話文に続いて当該ユーザにより発話された発話文と、当該ユーザにより発話された発話文に対する応答遅延量とが集積されたコーパスから取得するとしてもよい。
【００２５】
また、例えば、前記第１文章が示す意図は、前記第１文章をカテゴリおよび行為により分類することで得られる前記第１文章の意図の種類を示す対話行為と、前記第１文章に含まれるキーワードとを含むとしてもよい。
【００２６】
また、例えば、前記第３文章が示す意図は、前記第３文章をカテゴリおよび行為により分類することで得られる前記第３文章の意図の種類を示す対話行為と、前記第３文章に含まれるキーワードとを含むとしてもよい。
【００２７】
本開示の一態様に係る発話継続判定装置は、機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定装置であって、前記ユーザに対して発話された、第１時刻の第１発話文のテキストデータである第１文章と、前記第１文章に続いて前記ユーザにより発話された、第２時刻の第２発話文のテキストデータである第２文章と、前記第１文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する対話取得部と、機械学習されることで得た学習結果情報を反映した前記モデルに、前記対話データを適用することにより、前記第２文章に対する応答の待ち時間を示す応答遅延量を推定させる推定部と、前記ユーザの状況を示すユーザ状況情報を取得する状況取得部と、前記応答遅延量が示す前記待ち時間における前記ユーザ状況情報に応じて、前記第２文章に続いて前記ユーザの発話文が継続するか否かを判定する判定部と、を備える。
【００２８】
本態様によれば、学習処理結果を用いてユーザ発話文に対する応答遅延量の推定を行い、推定した応答遅延量に示される待ち時間中のユーザ状況を用いてユーザの発話継続の有無を判定する。このように、ユーザの発話継続の判定を２段階で行うことで、ユーザの発話継続の判定精度を向上できる。
【００２９】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【００３０】
以下、本開示の実施の形態について、図面を参照しながら説明する。以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、全ての実施の形態において、各々の内容を組み合わせることもできる。
【００３１】
（実施の形態１）
以下では、図面を参照しながら、実施の形態１における発話継続判定方法等の説明を行う。
【００３２】
［発話継続判定システム］
図１は、実施の形態１に係る発話継続判定システム１の構成例を示すブロック図である。図２は、実施の形態１に係る発話継続判定システム１Ａの構成の別例を示すブロック図である。なお、図１と同様の要素には同一の符号を付している。
【００３３】
図１に示す発話継続判定システム１は、記憶装置１０と、学習処理装置１１と、発話継続判定装置１２とを備える。
【００３４】
＜記憶装置１０＞
記憶装置１０は、コーパス１０１および対話データ１０２を記憶する。コーパス１０１は、対話における発話を示すテキストデータが大規模に集められデータベース化されたものである。本実施の形態では、コーパス１０１は、複数の学習用データ１０１１を含む。学習用データ１０１１は、学習処理装置１１が学習処理を行う際に用いられる。
【００３５】
記憶装置１０は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリーで構成される。
【００３６】
＜学習処理装置１１＞
学習処理装置１１は、記憶装置１０に記憶されるコーパス１０１から１以上の学習用データ１０１１を取得し、ユーザの発話に対する応答の待ち時間を示す応答遅延量を推定するための所定のモデルの学習処理を行う。学習処理装置１１は、コンピュータ等で実現される。
【００３７】
＜発話継続判定装置１２＞
次に、本実施の形態に係る発話継続判定装置１２の構成について説明する。
【００３８】
発話継続判定装置１２は、記憶装置１０から対話データ１０２を取得し、学習処理装置１１により機械学習された所定のモデルを用いて、ユーザの発話継続すなわちユーザが発話を継続したがっているか否かを判定する。発話継続判定装置１２は、コンピュータ等で実現成される。
【００３９】
なお、実施の形態１に係る発話継続判定システム１は、図１に示す構成に限らない。図２の発話継続判定システム１Ａに示すように、発話継続判定装置１２が、図１に示す学習処理装置１１に相当する機能部である学習処理装置部１１Ａと、図１に示す発話継続判定装置１２に相当する機能部である発話継続判定装置部１２Ａとを含むとしてもよい。つまり、図２に示す発話継続判定装置１２のように、学習処理と発話継続判定処理との両方が行われてもよいし、図１に示すように学習処理装置１１と発話継続判定装置１２とが異なる装置でありそれぞれ学習処理と発話継続判定処理とを行うとしてもよい。また、図２に示す発話継続判定装置１２に、さらに記憶装置１０が含まれるとしてもよい。
【００４０】
以下、学習処理装置１１および発話継続判定装置１２の詳細構成について説明する。
【００４１】
［学習処理装置１１］
学習処理装置１１は、図１等に示すように、取得部１１１と、学習部１１２と、記憶部１１３とを備える。
【００４２】
＜記憶部１１３＞
記憶部１１３は、学習部１１２において学習された結果を学習結果情報１１３１として記憶する。記憶部１１３は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリーで構成される。
【００４３】
＜取得部１１１＞
取得部１１１は、ユーザに対して発話された第３発話文のテキストデータである第３文章と、第３文章に続いて当該ユーザにより発話された第４発話文のテキストデータである第４文章と、第３文章が示す意図を構造化したデータである構造化データと、第４文章に対する応答の待ち時間を示す応答遅延量とを含む学習用データを取得する。
【００４４】
なお、取得部１１１は、当該学習用データを、ユーザに対して発話された発話文と、当該発話文が示す意図の構造化データと、当該発話文に続いて当該ユーザにより発話された発話文と、当該ユーザにより発話された発話文に対する応答遅延量とが集積されたコーパス１０１から取得する。
【００４５】
本実施の形態では、取得部１１１は、記憶装置１０に記憶されるコーパス１０１から１以上の学習用データ１０１１を取得する。なお、取得部１１１は、例えば、ＣＰＵ、ＡＳＩＣ、またはＦＰＧＡ等のプロセッサで構成され、ＣＰＵ等のプロセッサが、コンピュータに保持されている、コンピュータで読み取り可能なプログラムを実行することで実現される。
【００４６】
図３は、実施の形態１に係る学習用データ１０１１の一例を示す図である。上述したが、図３に示す学習用データ１０１１はコーパス１０１に含まれる。換言すると、コーパス１０１は、学習用データ１０１１が集積されたものに該当する。
【００４７】
学習用データ１０１１には、システムの発話文に対するユーザの発話文を示す発話データが複数含まれている。ここでシステムとは、発話継続判定システム１であってもよいし、対話または応答を生成する対話システム、サーバまたは装置等であってもよい。図３には、日本語による献立相談について対話する発話データを複数含む学習用データ１０１１が示されている。
【００４８】
学習用データ１０１１は、図３に示すように、データＩＤ１４２が付与された、システム意図１４３とシステム文章１４４とユーザ文章１４５と応答遅延量１４６とを含んでいる。また、学習用データ１０１１は、データＩＤ１４２が付与されたシステム意図１４３〜応答遅延量１４６を１以上含む訓練データ１４１を有する。図３には、訓練データ１４１に、「１」を示すデータＩＤ１４２が付与されたシステム意図１４３〜応答遅延量１４６を含まれる例が示されているがこれに限らない。
【００４９】
データＩＤ１４２は、訓練データ１４１を一意に特定するための識別子である。また、データＩＤ１４２は、システム意図１４３〜応答遅延量１４６の内容を一意に特定するために用いられる。
【００５０】
システム文章１４４は、システムによる１発話の文章を示す１発話文のテキストデータである。より具体的には、システム文章１４４は、ユーザに対してシステムにより発話された発話文のテキストデータであり、第３文章の一例である。ユーザ文章１４５は、ユーザによる１発話の文章を示す１発話文のテキストデータである。より具体的には、ユーザ文章１４５は、システム文章１４４に続いてユーザにより発話された発話文のテキストデータであり、第４文章の一例である。システム文章１４４およびユーザ文章１４５は、日本語の単語の区切りがない文字列データである。なお、システム文章１４４およびユーザ文章１４５が、英語のテキストデータである場合、半角スペースにより英語の単語が区切られた文字列データであればよい。
【００５１】
システム意図１４３は、システム文章１４４が示す意図を構造化したデータ（構造化データ）である。当該構造化データには、システム文章１４４が示す文章をカテゴリおよび行為により分類することで得られる当該文章の意図の種類を示す対話行為と、システム文章１４４が示す文章に含まれるキーワードとが含まれる。したがって、システム意図１４３は、システム文章１４４の意味またはその概要を示すとも捉えることができる。図３に示す例では、システム意図１４３は、「ＹＥＳＮＯ質問」、「確認質問」、「オープン質問」といったシステム文章１４４の対話行為と、＜海鮮丼＞、＜鶏肉＞などのキーワードとから構成されている。
【００５２】
なお、システム意図１４３およびシステム文章１４４は、システムとユーザとの間の対話初期などにおいて空である場合は、システム意図１４３およびシステム文章１４４は初期状態を示す文字列である「ＩＮＩＴ」が示される。
【００５３】
応答遅延量１４６は、ユーザ文章１４５に対する応答の待ち時間の有無を示す。なお、応答遅延量１４６は、学習時に、システム文章１４４に続くユーザ文章１４５に対する教師データとして用いられる。応答遅延量１４６は、図３に示すように、例えば０または１で示しているが、実際の遅延制御においては各値（０または１）に対応させた固定値（例えば５秒）を用いることができる。なお、応答遅延量１４６は、ユーザ文章１４５に対するシステムの応答をどの程度遅延させるべきかを示す数値であってもよい。
【００５４】
ここで、図３に示す例において、取得部１１１は、データＩＤ１４２が１を示す訓練データ１４１を学習部１１２の学習処理の対象とした場合には、システム意図１４３「ＹＥＳＮＯ質問＜海鮮丼＞」と、システム文章１４４「海鮮丼でいいですか？」と、ユーザ文章１４５「昨日魚を食べたので、」とを取得する。そして、取得部１１１は、データＩＤ１４２に１が付された応答遅延量１４６に示される「１」を当該訓練データ１４１を用いた学習時の真値すなわち教師データとして取得する。
【００５５】
なお、取得部１１１は、データＩＤ１４２を変更した訓練データ１４１を、学習部１１２の行う学習が収束するまで都度取得する。取得部１１１は、データＩＤ１４２をインクリメントすることで異なるデータＩＤ１４２を含む訓練データ１４１を取得してもよいし、別のの訓練データ１４１を取得するとしてもよい。
【００５６】
＜学習部１１２＞
学習部１１２は、学習用データ１０１１を用いて、所定のモデルに学習させる。より具体的には、学習部１１２は、学習用データ１０１１に含まれる応答遅延量１４６を教師データとして、ユーザ文章１４５（第４文章）と応答遅延量１４６との対応付けを学習させる。より具体的に、図３を用いて説明すると、学習部１１２は、取得部１１１により取得された学習用データ１０１１を所定のモデルに適用することにより、システム意図１４３に含まれる対話行為およびキーワードで示される構造化データと、ユーザ文章１４５に含まれる単語とに基づいて、対話状態を示す第１特徴ベクトルを算出する。そして、算出した第１特徴ベクトルと重みパラメータを用いて、ユーザ文章１４５と応答遅延量１４６との対応付けを学習する。そして、学習部１１２は、学習した結果を学習結果情報１１３１として記憶部１１３に記憶する。
【００５７】
本実施の形態では、所定のモデルは、第１重みパラメータを有する第１モデル、第２重みパラメータを有する第２モデルを含む。第１モデルは、ユーザ文章１４５（第４文章）を形態素解析することで得た単語列に含まれる単語、並びに、システム文章１４４（第３文章）の構造化データに含まれる対話行為およびキーワードを素性とする第１素性ベクトルを算出し、算出した第１素性ベクトルと第１重みパラメータとに基づき、ユーザ文章１４５（第４文章）の対話状態を表現する第１特徴ベクトルを出力する。例えば、第１モデルは、第１重みパラメータを持ち、算出された第１素性ベクトルから第１特徴ベクトルを算出するニューラルネットワークを有する。
【００５８】
また、第２モデルは、第１特徴ベクトルと第２重みパラメータとに基づき、ユーザ文章１４５（第４文章）に対する応答遅延量を出力する。例えば、第２モデルは、シグモイド回帰を出力とするニューラルネットワークモデル、SVM(Support Vector Machine)モデルまたはナイーブベイズ分類器を用いる。
【００５９】
学習部１１２は、第２モデルにより出力される応答遅延量と、学習用データ１０１１に含まれる応答遅延量１４６との間の誤差に基づいて、第１重みパラメータおよび第２重みパラメータを誤差逆伝搬法で更新することにより、学習用データ１０１１を用いて所定モデルに学習させる。なお、学習部１１２は、例えば、ＣＰＵ、ＡＳＩＣ、またはＦＰＧＡ等のプロセッサで構成され、ＣＰＵ等のプロセッサが、コンピュータに保持されている、コンピュータで読み取り可能なプログラムを実行することで実現される。
【００６０】
図４は、実施の形態１に係る学習部１１２の詳細構成の一例を示すブロック図である。
【００６１】
学習部１１２は、図４に示すように、形態素解析部１１２１と、素性ベクトル算出部１１２２と、対話状態算出部１１２３と、応答遅延推定部１１２４と、重み更新部１１２５とを備える。
【００６２】
≪形態素解析部１１２１≫
形態素解析部１１２１は、取得部１１１で取得されたユーザ文章１４５において自然言語で意味を持つ最小単位である形態素を解析して、形態素を単語とする単語列に変換する。
【００６３】
本実施の形態では、形態素解析部１１２１は、取得部１１１で取得されたユーザ文章１４５の各々を、単語に分割することで単語列に変換する。形態素解析部１１２１は、日本語のユーザ文章１４５には、例えばＭｅＣａｂなどの形態素解析ソフトを用いて、この処理を実現することができる。形態素解析部１１２１は、例えば「昨日魚を食べたので、」というユーザ文章１４５を、「昨日」、「魚」、「を」、「食べ」、「た」、「ので」、「、」に分割する。なお、形態素解析部１１２１は、英語のユーザ文章１４５に対しては、半角スペースを単語区切りとすることで、この処理を実現することができる。
【００６４】
≪素性ベクトル算出部１１２２≫
素性ベクトル算出部１１２２は、形態素解析部１１２１で得られた単語列と、システム意図１４３に含まれる対話行為とキーワードとを、各素性として表現した文ベクトル表現である素性ベクトルに変換する。
【００６５】
素性ベクトルへの変換方法としては、文章に単語が含まれているかどうかのみを考え、単語の並び方などは考慮しないＢａｇ−ｏｆ−ｗｏｒｄｓモデルを利用する方法がある。Ｂａｇ−ｏｆ−ｗｏｒｄｓモデルを利用すると、例えば、入力として想定される全ての素性のリスト（以降、辞書とも呼ぶ）に基づき、各素性が存在する場合のみ要素値を１と表現することで素性ベクトルに変換することができる。つまり、素性ベクトルは、辞書に含まれる全ての単語、対話行為およびキーワードを要素として含み、１または０で表現される。
【００６６】
≪対話状態算出部１１２３≫
対話状態算出部１１２３は、所定のモデルに含まれる第１モデルを用いて、素性ベクトル算出部１１２２で算出された素性ベクトルから、対話状態を示す第１特徴ベクトルを算出する。
【００６７】
本実施の形態では、対話状態算出部１１２３は、第１モデルを用いて、素性ベクトル算出部１１２２で算出された素性ベクトルと第１重みパラメータとに基づき、対話状態を示す第１特徴ベクトルを算出する。第１モデルは、第１素性ベクトルから第１特徴ベクトルを算出可能な、シグモイド回帰を出力とする１つのニューラルネットワークモデルであってもよい。
【００６８】
≪応答遅延推定部１１２４≫
応答遅延推定部１１２４は、所定のモデルに含まれる第２モデルを用いて、対話状態算出部１１２３により算出された第１特徴ベクトルから、ユーザ文章１４５に対する応答遅延量を推定する。
【００６９】
本実施の形態では、応答遅延推定部１１２４は、第２モデルを用いて、対話状態算出部１１２３により算出された第１特徴ベクトルと第２重みパラメータとに基づき、ユーザ文章１４５に対する応答遅延量（０もしくは１）の確率分布を示す事後確率を算出する。
【００７０】
第２モデルは、シグモイド回帰、SVMモデルもしくは、ナイーブベイズ分類器といった確率モデルである。また、第２モデルは、第１特徴ベクトルから当該応答遅延量が推定可能な、シグモイド回帰を出力とする１つのニューラルネットワークモデルであってもよい。
【００７１】
≪重み更新部１１２５≫
重み更新部１１２５は、応答遅延推定部１１２４により推定される応答遅延量と、学習用データ１０１１に含まれる応答遅延量１４６との間の誤差に基づいて、所定のモデルの第１重みパラメータおよび第２重みパラメータを更新する。
【００７２】
図３を用いて説明すると、重み更新部１１２５は、学習対象の訓練データ１４１において、応答遅延推定部１１２４により算出された応答遅延量の事後確率と、当該訓練データ１４１に含まれるデータＩＤ１４２が付された応答遅延量１４６で示される真値とに基づいて、誤差逆伝搬法により所定のモデルの第１重みパラメータおよび第２重みパラメータを適した数値に更新する。つまり、重み更新部１１２５は、当該事後確率と、真値との予測誤差が最小となるように第１重みパラメータおよび第２重みパラメータを更新する。なお、重み更新部１１２５は、当該予測誤差が減らなくなった場合に、予測誤差が最小と判断して更新を終了すればよい。
【００７３】
このようにして、学習部１１２は、算出された応答遅延量の事後確率と、訓練データ１４１で示されるデータＩＤ１４２が付された真値である応答遅延量１４６が示す値との間で、誤差最小化学習を行うことにより学習処理を実行する。
【００７４】
また、学習部１１２は、学習処理終了時の第１重みパラメータおよび第２重みパラメータ（学習パラメータ）を学習結果情報１１３１として記憶部１１３に記憶する。
【００７５】
［発話継続判定装置１２］
次に、発話継続判定装置１２の詳細構成について説明する。
【００７６】
発話継続判定装置１２は、図１等に示すように、対話取得部１２１と、推定部１２２と、記憶部１２３と、状況取得部１２４と、判定部１２５とを備える。
【００７７】
＜記憶部１２３＞
記憶部１２３は、応答遅延推定結果１２３１、ユーザ状況情報１２３２および発話継続判定結果１２３３を記憶する。記憶部１２３は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリーで構成される。なお、ユーザ状況情報１２３２および発話継続判定結果１２３３の詳細については後述する。
【００７８】
＜対話取得部１２１＞
対話取得部１２１は、ユーザに対して発話された、第１時刻の第１発話文のテキストデータである第１文章と、第１文章に続いてユーザにより発話された、第２時刻の第２発話文のテキストデータである第２文章と、第１文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する。
【００７９】
本実施の形態では、対話取得部１２１は、記憶装置１０に記憶されている対話データ１０２を取得する。対話データ１０２には、システムの発話文と当該発話文の応答を示すユーザの発話文とが複数含まれている。なお、対話取得部１２１は、例えば、ＣＰＵ、ＡＳＩＣ、またはＦＰＧＡ等のプロセッサで構成され、ＣＰＵ等のプロセッサが、コンピュータに保持されている、コンピュータ読み取り可能なプログラムを実行することで実現される。
【００８０】
図５は、実施の形態１に係る対話データ１０２の一例を示す図である。図５に示す対話データ１０２は、日本語による献立相談についての対話を示す発話データを有している。
【００８１】
対話データ１０２は、図５に示すように、データＩＤ１８２が付与された、システム意図１８３とシステム文章１８４とユーザ文章１８５とを含んでいる。また、対話データ１０２は、データＩＤ１８２が付与されたシステム意図１８３〜ユーザ文章１８５を１以上含む発話データ１８１を有する。換言すると、発話データ１８１は、対話データ１０２に含まれ、発話継続判定の対象となるデータである。図５に示す例では、データＩＤ１８２が１であるシステム意図１８３とシステム文章１８４とユーザ文章１８５とを発話データ１８１としている。
【００８２】
データＩＤ１８２は、発話データ１８１を一意に特定するための識別子である。また、データＩＤ１８２は、システム意図１８３〜ユーザ文章１８５の内容を一意に特定するために用いられる。
【００８３】
システム文章１８４は、システム文章１４４と同様に、システムによる１発話の文章を示す１発話文のテキストデータである。より具体的には、システム文章１８４は、ユーザに対してシステムにより発話された発話文のテキストデータであり、第１文章の一例である。ユーザ文章１８５は、ユーザ文章１４５と同様に、ユーザによる１発話の文章を示す１発話文のテキストデータである。より具体的には、ユーザ文章１８５は、システム文章１８４に続いてユーザにより発話された発話文のテキストデータであり、第２文章の一例である。
【００８４】
システム意図１８３は、システム意図１４３と同様に、システム文章１８４が示す意図を構造化したデータ（構造化データ）である。
【００８５】
なお、対話データ１０２は、外部から入力された複数の発話文に基づき生成される。例えば、まず、システムが出力したシステム文章１８４と、システム文章１８４に対応づけられたシステム意図１８３と、当該システム文章１８４に対して入力されたユーザ文章１８５とを得る。次に、これらのシステム意図１８３とシステム文章１８４とユーザ文章１８５に対して、一意のデータＩＤ１８２を付与する。複数の発話文の１単位すなわち１発話は、例えば、テキストチャットシステムによる入力の場合、相手に一度に送信したテキストである。また、音声対話システムによる入力の場合、音声認識のトリガとなる連続する無音区間の発生までの認識結果である。
【００８６】
また、対話データ１０２は、発話継続判定装置１２の外部にある記憶装置１０に保存されている場合に限らず、発話継続判定装置１２が外部から入力されたユーザの発話文に基づき生成してもよい。つまり、対話データ１０２は、発話継続判定装置１２が生成してもよいし、他装置が生成してもよい。
【００８７】
図５に示す例において、対話取得部１２１は、データＩＤ１８２が例えば１を示す発話データ１８１を発話継続の判定対象とした場合には、システム意図１８３「ＹＥＳＮＯ質問＜中華＞」と、システム文章１８４「中華でいいですか？」と、ユーザ文章１８５「中華料理を食べたばかりなので、」とを取得する。換言すると、対話取得部１２１は、発話継続の判定対象となる発話データ１８１すなわち第１時刻におけるシステム文章１８４と、当該第１時刻に続く第２時刻であって、システム文章１８４に続いてユーザに発話されたユーザ文章１８５と、システム文章が示す意図を構造化したデータである構造化データとを対話データ１０２として取得する。
【００８８】
＜推定部１２２＞
推定部１２２は、学習処理装置１１により機械学習されることで得た学習結果情報１１３１を反映した所定のモデルに、対話データを適用することにより、第２文章に対する応答の待ち時間を示す応答遅延量を推定する。
【００８９】
より具体的には、推定部１２２は、記憶部１１３に記憶されている学習結果情報１１３１を反映させた所定のモデルを用いて、推定対象のユーザ文章１８５に対する待ち時間を示す応答遅延量を推定する。この所定のモデルは、学習部１１２で用いられたものと同一構造のものである。また、推定部１２２は、推定した応答遅延量を応答遅延推定結果１２３１として記憶部１２３に記憶する。
【００９０】
なお、推定部１２２は、例えば、ＣＰＵ、ＡＳＩＣ、またはＦＰＧＡ等のプロセッサで構成され、ＣＰＵ等のプロセッサが、コンピュータに保持されている、コンピュータ読み取り可能なプログラムを実行することで実現される。
【００９１】
図６は、実施の形態１に係る推定部１２２の詳細構成の一例を示すブロック図である。図１等と同様の要素には同一の符号を付している。
【００９２】
本実施の形態では、推定部１２２は、図６に示すように、形態素解析部１２２１と、素性ベクトル算出部１２２２と、対話状態算出部１２２３と、応答遅延推定部１２２４と、応答遅延決定部１２２５とを備える。
【００９３】
≪形態素解析部１２２１≫
形態素解析部１２２１は、対話取得部１２１で取得された対話データ１０２（発話データ１８１）に含まれるユーザ文章１８５の形態素を解析して、形態素を単語とする単語に分割することで単語列に変換する。
【００９４】
なお、形態素解析の方法は上述した通りである。
【００９５】
≪素性ベクトル算出部１２２２≫
素性ベクトル算出部１２２２は、形態素解析部１２２１で変換された単語列と、システム意図１４３に含まれる対話行為とキーワードとを、各素性として表現した文ベクトル表現である素性ベクトルに変換する。
【００９６】
なお、素性ベクトルへの変換方法は上述した通りである。
【００９７】
≪対話状態算出部１２２３≫
対話状態算出部１２２３は、学習済みの所定のモデルに含まれる第１モデルを用いて、素性ベクトル算出部１２２２で算出された素性ベクトルなどから、対話状態を示す第１特徴ベクトルを算出する。本実施の形態では、対話状態算出部１２２３は、記憶部１２３が記憶する学習結果情報１１３１を読み込み、第１モデルの第１重みパラメータに反映させ、素性ベクトル算出部１２２２で算出された素性ベクトルと、学習済みの第１重みパラメータとに基づき、対話状態を示す第１特徴ベクトルに変換する。
【００９８】
≪応答遅延推定部１２２４≫
応答遅延推定部１２２４は、学習済みの所定のモデルに含まれる第２モデルを用いて、対話状態算出部１２２３で算出された第１特徴ベクトルなどから、ユーザ文章１８５に対する応答遅延量を推定する。本実施の形態では、応答遅延推定部１２２４は、記憶部１２３が記憶する学習結果情報１１３１を読み込み、第１モデルの第１重みパラメータに反映させ、対話状態算出部１２２３で算出された第１特徴ベクトルと、学習済みの第２重みパラメータとに基づき、ユーザ文章１８５に対する応答遅延量（０もしくは１）の確率分布を示す事後確率を算出する。
【００９９】
≪応答遅延決定部１２２５≫
応答遅延決定部１２２５は、応答遅延推定部１２２４により推定された応答遅延量の事後確率に基づき、予測応答遅延量を決定する。応答遅延決定部１２２５は、決定した予測応答遅延量を応答遅延推定結果１２３１として記憶部１２３に記憶する。例えば、応答遅延決定部１２２５は、事後確率で示される応答遅延量の確率値のうち確率値が高い方を予測応答遅延量と決定し、応答遅延推定結果１２３１として記憶部１２３に記憶する。
【０１００】
図７は、実施の形態１に係る応答遅延推定結果１２３１の一例を示す図である。図５と同様の要素には同一の符号を付している。
【０１０１】
図７に示すように、応答遅延推定結果１２３１は、図５に示す対話データ１０２に含まれるユーザ文章１８５それぞれに対する予測応答遅延量１９２を示す推定結果１９１を含む。すなわち、各推定結果１９１は、データＩＤ１８２が付与された、システム意図１８３と、システム文章１８４と、ユーザ文章１８５と、予測応答遅延量１９２とを含む。ここで、予測応答遅延量１９２は、応答遅延決定部１２２５で決定されたものである。例えば、図７において、データＩＤ１８２が１を示す推定結果１９１では、システム意図１８３「ＹＥＳＮＯ質問＜中華＞」と、システム文章１８４「中華でいいですか？」と、ユーザ文章１８５「中華料理を食べたばかりなので、」とに対する予測応答遅延量１９２「１」が示されている。
【０１０２】
＜状況取得部１２４＞
状況取得部１２４は、ユーザの状況を示すユーザ状況情報１２３２を取得する。本実施の形態では、状況取得部１２４は、待ち時間が経過するまでの時間に含まれるユーザ状況情報１２３２を少なくとも取得し、記憶部１２３に記憶する。ユーザ状況情報１２３２は、後述する判定部１２５の発話継続の判定に用いられる。
【０１０３】
図８は、実施の形態１に係るユーザ状況情報１２３２の一例を示す図である。図８に示すように、ユーザ状況情報１２３２は、データＩＤ２２０と、時刻２２１と、ユーザ状況２２２とを含む。
【０１０４】
データＩＤ２２０は、図７に示すデータ１Ｄ１８２との対応関係を示している。番号が「１」の項目は、図７における「１」を示すデータＩＤ１８２の待ち時間中のユーザの状況であることを示す。時刻２２１は、同一番号を示すデータＩＤ２２０においてインクリメントされた時刻を示している。図８に示す例では、時刻２２１は、待ち時間が５秒である場合に、１秒ごとにインクリメントした時刻を示している。ユーザ状況２２２は、時刻２２１が示す時刻におけるユーザの状況を示している。そして、ユーザ状況２２２は、ユーザの発話をテキストにより入力するためのテキスト入力部におけるテキスト入力欄が選択中か否かを示している。
【０１０５】
なお、ユーザ状況２２２は、テキスト入力欄が選択中か否かを示す場合に限らない。ユーザ状況２２２は、ユーザの発話を音により入力するための集音部における音声信号が入力中か否かを示してもよいし、ユーザの視線を検出するための視線検出部におけるユーザの視線位置がシステム文章１８４（第１文章）を提示する提示部を含む装置にあるか否かを示してもよい。また、ユーザ状況２２２は、ユーザの姿勢を検出するための姿勢検出部におけるユーザの顔方向および体方向がシステム文章１８４（第１文章）を提示する提示部を含む装置であるか否かを示してもよい。そして、ユーザ状況情報１２３２は、図８に示すようなユーザ状況２２２を示す文章に対応する値を示す。この値は、ユーザが発話継続のためになんらかの動作、応答を行っているか否かを示し、例えば０または１であってもよい。もちろん、ユーザ状況情報１２３２は、ユーザ状況２２２を示す文章で表現されていてもよい。
【０１０６】
＜判定部１２５＞
判定部１２５は、予測応答遅延量１９２が示す待ち時間におけるユーザ状況情報１２３２に応じて、ユーザ文章１８５（第２文章）に続いてユーザの発話文が継続するか否かを判定する。より具体的には、判定部１２５は、予測応答遅延量１９２が示す待ち時間が０である場合に、ユーザの発話文が継続しない旨を示す第１判定を行えばよい。一方、判定部１２５は、予測応答遅延量１９２が示す待ち時間が０より大きい場合において、当該待ち時間中におけるユーザ状況情報が所定の値を示すとき、ユーザの発話文が継続する旨を示す第２判定を行い、当該待ち時間中におけるユーザ状況情報が当該所定の値でないとき、上記のような第１判定を行う。
【０１０７】
図９は、実施の形態１に係る判定部１２５の詳細構成の一例を示すブロック図である。図１等と同様の要素には同一の符号を付している。
【０１０８】
本実施の形態では、判定部１２５は、図９に示すように、待ち時間生成部１２５１と、統合判定部１２５２とを備える。なお、判定部１２５は、例えば、ＣＰＵ、ＡＳＩＣ、またはＦＰＧＡ等のプロセッサで構成され、ＣＰＵ等のプロセッサが、コンピュータに保持されている、コンピュータ読み取り可能なプログラムを実行することで実現される。
【０１０９】
≪待ち時間生成部１２５１≫
待ち時間生成部１２５１は、記憶部１２３に記憶されている応答遅延推定結果１２３１を取得し、応答遅延推定結果１２３１が示す待ち時間の有無に応じて、ユーザ文章１８５に続くシステム文章１８４の出力を遅延させる。例えば、待ち時間生成部１２５１は、応答遅延推定結果１２３１が示す予測応答遅延量が「１」のときには、「待ち状態」への遷移命令を生成して、システム文章を出力するシステムに対して出力する。これにより、待ち時間生成部１２５１は、例えば５秒など所定の待ち時間が経過するまでユーザ文章１８５に続くシステム文章１８４の出力を行わないように当該システムを制御することができる。
【０１１０】
≪統合判定部１２５２≫
統合判定部１２５２は、推定部１２２が推定した応答遅延推定結果１２３１に示される待ち時間の有無と、待ち時間中におけるユーザ状況情報１２３２に示されるユーザ状況２２２とに基づいて、ユーザの発話継続の有無を判定する。
【０１１１】
例えば、統合判定部１２５２は、応答遅延推定結果１２３１に示される待ち時間が０（待ち時間が無い）場合には、ユーザの発話継続はないと判定（第１判定）し、ユーザの発話継続は否である旨を示すフラグメント情報（発話非継続フラグとも称する）を発話継続判定結果１２３３として記憶部１２３に記憶する。
【０１１２】
また、例えば、統合判定部１２５２は、応答遅延推定結果１２３１に示される待ち時間が１または０より大きい場合（つまり待ち時間が有の場合）には、さらに、記憶部１２３に記憶されている、待ち時間中におけるユーザ状況情報１２３２を取得する。そして、待ち時間中におけるユーザ状況情報１２３２が所定の値を示すときには、ユーザの発話継続があると判定（第２判定）し、ユーザの発話継続中である旨を示すフラグメント情報（発話継続フラグとも称する）を発話継続判定結果１２３３として記憶部１２３に記憶する。なお、統合判定部１２５２は、待ち時間中におけるユーザ状況情報１２３２が所定の値を示さないときには、ユーザの発話継続はないと判定（第１判定）し、発話非継続フラグを発話継続判定結果１２３３として記憶部１２３に記憶する。
【０１１３】
なお、待ち時間中においてユーザ状況情報１２３２が示す値が変化する場合には、統合判定部１２５２は、待ち時間中におけるユーザ状況情報１２３２が示す値の多数が所定の値を満たすときに、待ち時間中におけるユーザ状況情報１２３２が所定の値を示すと判定すればよい。図８に示す例では、例えば「１」を示すデータＩＤ１８２において、５秒間の待ち時間中のうち４秒間（時刻２２１が示す「２」〜「５」の間）で、テキスト入力欄が選択中であることを示すユーザ状況であるので、統合判定部１２５２は、待ち時間中におけるユーザ状況情報１２３２が所定の値を示すと判定すればよい。
【０１１４】
図１０は、実施の形態１に係る発話継続判定結果１２３３の一例を示す図である。図７と同様の要素には同一の符号を付している。
【０１１５】
図１０に示すように、発話継続判定結果１２３３は、図７に示す推定結果１９１に含まれるユーザ文章１８５に対する発話継続判定２３２を示す判定結果２３１を含む。すなわち、各判定結果２３１は、データＩＤ１８２が付与された、システム意図１８３と、システム文章１８４と、ユーザ文章１８５と、予測応答遅延量１９２と、発話継続判定２３２とを含む。ここで、発話継続判定２３２は、統合判定部１２５２で判定された判定結果を示し、発話継続フラグを示す値「１」または発話継続フラグを示す値「０」を示している。
【０１１６】
［発話継続判定システム１の動作］
次に、以上のように構成された発話継続判定システム１の動作について説明する。
【０１１７】
図１１は、実施の形態１に係る発話継続判定システム１の動作の概要を示すフローチャートである。
【０１１８】
まず、発話継続判定システム１は、コーパス１０１に含まれる学習用データ１０１１を用いて、応答文を出力するまでの待ち時間すなわちユーザの発話に対する応答の待ち時間を示す応答遅延量を学習する学習処理を行う（Ｓ１）。より具体的には、Ｓ１において、学習処理装置１１は、まず、記憶装置１０に記憶されるコーパス１０１から学習用データ１０１１を取得する（Ｓ１１）。次いで、学習処理装置１１は、Ｓ１１で取得した学習用データ１０１１を用いて応答遅延量を推定するための所定のモデルの学習を行う（Ｓ１２）。そして、学習処理装置１１は、Ｓ１１で学習した結果であるモデルの重みなどの学習パラメータを学習結果情報１１３１として記憶する（Ｓ１３）。
【０１１９】
次に、発話継続判定システム１は、Ｓ１の学習処理の結果を用いて、ユーザの発話継続を判定する（Ｓ２）。
【０１２０】
より具体的には、Ｓ２において、まず、発話継続判定装置１２は、推定処理を行い、その後、判定処理を行う。すなわち、発話継続判定装置１２は、Ｓ１の学習処理の結果である学習結果情報１１３１を読み出し（Ｓ２１）、所定のモデルに反映させる。次いで、発話継続判定装置１２は、記憶装置１０が記憶する対話データ１０２を取得する（Ｓ２２）。次いで、発話継続判定装置１２は、学習結果情報１１３１を反映させた所定のモデルを用いて、対話データ１０２に含まれるユーザ文章１８５に対する予測応答遅延量１９２を推定する（Ｓ２３）。次いで、発話継続判定装置１２は、ユーザの状況を示すユーザ状況情報１２３２を取得し（Ｓ２４）、予測応答遅延量１９２が示す待ち時間におけるユーザ状況情報１２３２に応じて、ユーザの発話継続の有無を判定する（Ｓ２５）。
【０１２１】
＜学習処理装置１１の動作＞
次に、学習処理装置１１が行う学習処理（Ｓ１）の詳細について説明する。
【０１２２】
図１２は、実施の形態１に係る学習処理の詳細のフローチャートである。図１１と同様の要素には同一の符号を付している。以下では、図３等に示す例を用いて説明する。
【０１２３】
まず、学習処理装置１１は、学習対象である全ての重みパラメータを初期化する（Ｓ１０）。具体的には、学習処理装置１１は、所定モデルに含まれる第１モデルおよび第２モデルの第１重みパラメータおよび第２重みパラメータ（学習パラメータ）を擬似乱数テーブルに基づいて初期化する。
【０１２４】
次に、学習処理装置１１は、学習用データ１０１１を取得する（Ｓ１１）。具体的には、学習処理装置１１は、記憶装置１０に記憶されるコーパス１０１に含まれる複数の学習用データ１０１１のうち一つを取得する。
【０１２５】
次に、学習処理装置１１は、Ｓ１１で取得した学習用データ１０１１を用いて学習を行う（Ｓ１２）。具体的には、学習処理装置１１は、Ｓ１１で取得した学習用データ１０１１に含まれる応答遅延量１４６を教師データとして用いる。学習処理装置１１は、所定のモデルに、学習処理対象のユーザ文章１４５と応答遅延量１４６との対応付けを当該教師データを用いて学習させる。
【０１２６】
より詳細には、図１２に示すように、Ｓ１２において、学習処理装置１１は、まず、Ｓ１１で取得されたユーザ文章１４５の各々を形態素解析することで単語列に変換する（Ｓ１２１）。
【０１２７】
次いで、学習処理装置１１は、Ｓ１２１で得られた単語列と、システム意図１４３に含まれる対話行為とキーワードとを、各素性として表現した素性ベクトルに変換する（Ｓ１２２）。
【０１２８】
次いで、学習処理装置１１は、所定のモデルを用いて、Ｓ１２２で変換された素性ベクトルから、対話状態を示す第１特徴ベクトルを算出する（Ｓ１２３）。具体的には、学習処理装置１１は、所定のモデルに含まれる第１モデルを用いて、Ｓ１２２で変換された素性ベクトルと第１重みパラメータとに基づき、対話状態を示す第１特徴ベクトルを算出する。
【０１２９】
次いで、学習処理装置１１は、所定のモデルを用いて、Ｓ１２３で算出された第１特徴ベクトルから、ユーザ文章１４５に対する応答遅延量を推定する（Ｓ１２４）。具体的には、学習処理装置１１は、所定のモデルに含まれる第２モデルを用いて、Ｓ１２３で算出された第１特徴ベクトルと、第２重みパラメータとに基づき、ユーザ文章１４５に対する応答遅延量（０もしくは１）の確率分布を示す事後確率を算出する。
【０１３０】
次いで、学習処理装置１１は、Ｓ１２４で推定された応答遅延量と、教師データである学習用データ１０１１に含まれる応答遅延量１４６とを用いて学習パラメータの更新を行う（Ｓ１２５）。具体的には、学習処理装置１１は、Ｓ１２３で算出されたユーザ文章１４５に対する応答遅延量の事後確率と、学習用データ１０１１に含まれる応答遅延量１４６で示される真値（教師データ）となる応答遅延量とに基づいて、当該事後確率と、真値との予測誤差が最小となるように第１および第２重みパラメータを更新する。
【０１３１】
次いで、学習処理装置１１は、Ｓ１２の学習処理を終了するか否かを判定する（Ｓ１２６）。Ｓ１２の学習処理を終了しない場合（Ｓ１２６でＮｏ）、再度、Ｓ１１に戻り、次のデータＩＤ１４２または別の学習用データ１０１１を取得して、Ｓ１２の学習処理を行う。つまり、学習処理装置１１は、学習処理対象とする学習用データ１０１１を変更しながら、学習が収束するまで繰り返し実行する。
【０１３２】
一方、学習処理装置１１は、学習処理を終了する場合（Ｓ１２６でＹｅｓ）、学習処理の結果を示す学習結果情報１１３１を記憶部１１３に記憶する（Ｓ１３）。具体的には、学習処理装置１１は、学習処理終了時の第１および第２重みパラメータ（学習パラメータ）を学習結果情報１１３１として記憶部１１３に記憶する。なお、学習処理装置１１は、学習を繰り返しても、誤差が減らなくなった場合に真値との予測誤差が最小として学習処理を終了する。
【０１３３】
ここで、例えば、学習処理装置１１が図３に示す学習用データ１０１１に対して学習処理を行う場合について説明する。
【０１３４】
学習処理装置１１は、データＩＤ１４２が「１」を示し、システム意図１４３が「ＹＥＳＮＯ質問＜海鮮丼＞」と、ユーザ文章１４５が「昨日魚を食べたので、」とである訓練データ１４１に対して学習処理を行うとする。この場合、学習処理装置１１は、第１モデルを用いて、ユーザ文章１４５に含まれる単語“ので”および“、”を、重要な特徴として反映した第１特徴ベクトルを算出し、第２モデルを用いて、第１特徴ベクトルから、ユーザ文章１４５に対する応答遅延量を１と推測するように、重要な特徴と応答遅延量とを対応づける第１および第２重みパラメータを学習する。そして、学習処理装置１１は、このような学習処理を、データＩＤ１４２の値が増える毎に、順次行う。
【０１３５】
例えば、学習処理装置１１が、データＩＤ１４２が「４」を示し、システム意図１４３が「オープン質問」と、ユーザ文章１４５が「こんにちは」とである訓練データ１４１に対して学習処理を行うとする。この場合、学習処理装置１１は、第１モデルを用いて、「オープン質問」と“こんにちは”を、重要な特徴として反映した第１特徴ベクトルを算出し、第２モデルを用いて、第１特徴ベクトルから、ユーザ文章１４５に対する応答遅延量を１と推測するように、重要な特徴と応答遅延量とを対応づける第１および第２重みパラメータを学習する。
【０１３６】
なお、学習処理装置１１が図７に示すようなシステム意図１８３およびユーザ文章１８５を訓練データ１４１として有する学習用データ１０１１に対して学習処理を行う場合も同様である。すなわち、学習処理装置１１は、データＩＤ１８２が「１」を示し、システム意図１８３が「ＹＥＳＮＯ質問＜中華＞」と、ユーザ文章１８５が「中華料理を食べたばかりなので、」とである訓練データ１４１に対して学習処理を行うとする。この場合、学習処理装置１１は、第１モデルを用いて、ユーザ文章１４５に含まれる単語“なので”および“、”を、重要な特徴として反映した第１特徴ベクトルを算出し、第２モデルを用いて、第１特徴ベクトルから、ユーザ文章１４５に対する応答遅延量を１と推測するように、重要な特徴と応答遅延量とを対応づける第１および第２重みパラメータを学習すればよい。そして、学習処理装置１１は、このような学習処理を、データＩＤ１８２の値が増える毎に、順次行えばよい。
【０１３７】
＜発話継続判定装置１２の動作＞
次に、発話継続判定装置１２が行う発話継続判定の詳細について説明する。
【０１３８】
図１３は、図１１に示す推定処理の詳細を示すフローチャートである。なお、図１１と同様の要素には同一の符号を付している。
【０１３９】
まず、発話継続判定装置１２は、Ｓ２１において、Ｓ１の学習処理の結果である学習結果情報１１３１を読み出し、所定のモデルに反映させる。より具体的には、発話継続判定装置１２は、学習結果情報１１３１を読み込み、第１モデルの第１重みパラメータおよび第２モデルの第２重みパラメータに反映させる。
【０１４０】
次に、発話継続判定装置１２は、Ｓ２２において、記憶装置１０に記憶されている対話データ１０２を取得する。具体的には、図５に示す例で説明すると、発話継続判定装置１２は、第１時刻のシステム文章１８４と、システム文章１８４に続いてユーザにより発話された、第２時刻のユーザ文章１８５と、システム文章１８４が示す意図を構造化したデータである構造化データとを含む対話データ１０２を取得する。
【０１４１】
次に、発話継続判定装置１２は、Ｓ２１で取得された対話データ１０２の各々を形態素解析することで単語列に変換する（Ｓ２３１）。具体的には、発話継続判定装置１２は、Ｓ２１で取得された発話データ１８１に含まれるユーザ文章１８５の各々を、形態素解析して単語に分割することで単語列に変換する。
【０１４２】
次に、発話継続判定装置１２は、Ｓ２３１で得られた単語列に基づき、素性ベクトルを算出する（Ｓ２３２）。具体的には、発話継続判定装置１２は、Ｓ１２１で得られた単語列と、Ｓ２１で取得された発話データ１８１のシステム意図１８３に含まれる対話行為とキーワードとを、各素性として表現した素性ベクトルに変換する。
【０１４３】
次に、発話継続判定装置１２は、学習済みの所定のモデルを用いて、Ｓ２３２で算出された素性ベクトルから、対話状態を示す第１特徴ベクトルを算出する（Ｓ２３３）。具体的には、発話継続判定装置１２は、学習済みの第１モデルを用いて、Ｓ２３２で算出された素性ベクトルと、学習済みの第１重みパラメータとに基づき、対話状態を示す第１特徴ベクトルに算出する。
【０１４４】
次に、発話継続判定装置１２は、学習済みの所定のモデルを用いて、Ｓ２３３で算出された第１特徴ベクトルに基づいて予測応答遅延量を推定する（Ｓ２３４）。具体的には、発話継続判定装置１２は、学習済みの第２モデルを用いて、Ｓ２３３で算出された第１特徴ベクトルと、学習済みの第２重みパラメータとに基づき、ユーザ文章１８５に対する応答遅延量の確率分布を示す事後確率を算出する。そして、発話継続判定装置１２は、Ｓ２３４で得られた応答遅延量の事後確率に基づき、予測応答遅延量１９２を決定することで、ユーザ文章１８５に対する予測応答遅延量を推定する。発話継続判定装置１２は、予測応答遅延量１９２を応答遅延推定結果１２３１として記憶部１２３に記憶する。
【０１４５】
このようにして、発話継続判定装置１２は、学習結果情報１１３１に基づき、対話データ１０２を所定のモデルに適用することにより、ユーザ文章１８５に対する予測応答遅延量１９２を推定することができる。
【０１４６】
次に、発話継続判定装置１２が行う判定処理について説明する。
【０１４７】
図１４は、図１１に示す判定処理の詳細を示すフローチャートである。なお、図１４には、特に図１１に示すＳ２５の詳細が示されている。
【０１４８】
まず、発話継続判定装置１２は、記憶部１２３に記憶されている応答遅延推定結果１２３１を読み込み、応答遅延推定結果１２３１が示す待ち時間を取得する（Ｓ２５１）。
【０１４９】
次に、発話継続判定装置１２は、Ｓ２５１で取得した待ち時間の有無すなわち待ち時間が０より大きいか否かを判定する（Ｓ２５２）。
【０１５０】
発話継続判定装置１２は、Ｓ２５２において、待ち時間が０より大きい場合（Ｓ２５２でＹｅｓ）、記憶部１２３に記憶されている、待ち時間中におけるユーザ状況情報１２３２を取得する（Ｓ２５３）。具体的には、発話継続判定装置１２は、待ち時間が０より大きい場合、まず、待ち状態に遷移する遷移命令をシステム文章を出力するシステムに対して行う。ここで、当該遷移命令には、待ち時間に対応づけられた例えば５秒などの所定時間または待ち時間が経過するまでユーザ文章１８５に続くシステム文章１８４の出力を当該システムに行わない旨を示す命令も含んでいる。そして、発話継続判定装置１２は、記憶部１２３に記憶されている、待ち時間中におけるユーザ状況情報１２３２を取得する。なお、発話継続判定装置１２は、図１１に示されるＳ２４のようにユーザ状況情報１２３２を逐次取得し、記憶部１２３に記憶しているとしているが、Ｓ２５２の判定時または待ち時間開始時からユーザ状況情報１２３２を取得し、記憶部１２３に記憶するとしてもよい。
【０１５１】
次に、発話継続判定装置１２は、Ｓ２５３で取得した、待ち時間中におけるユーザ状況情報１２３２が所定の値を示しているかを判定する（Ｓ２５４）。
【０１５２】
発話継続判定装置１２は、Ｓ２５３において、待ち時間中におけるユーザ状況情報１２３２が所定の値を示している場合（Ｓ２５４でＹｅｓ）、ユーザの発話継続があると判定（第２判定）し、発話継続フラグを出力する（Ｓ２５５）。一方、発話継続判定装置１２は、Ｓ２５３において、待ち時間中におけるユーザ状況情報１２３２が所定の値を示さない場合（Ｓ２５４でＮｏ）、ユーザの発話継続がないと判定（第１判定）し、発話非継続フラグを出力する（Ｓ２５６）。
【０１５３】
また、Ｓ２５２において、発話継続判定装置１２は、待ち時間が０である場合（Ｓ２５２でＮｏ）、ユーザの発話継続がないと判定（第１判定）し、発話非継続フラグを出力する（Ｓ２５６）。
【０１５４】
なお、発話継続判定装置１２は、上述したように、発話継続フラグまたは発話非継続フラグを発話継続判定結果１２３３として記憶部１２３に記憶することで出力する。
【０１５５】
ここで、例えば、図１５Ａ〜図１５Ｃを用いて発話継続判定処理の一態様について説明する。
【０１５６】
図１５Ａおよび図１５Ｂは、実施の形態１に係る第１判定の一態様を説明するための図である。図１５Ｃは、実施の形態１に係る第２判定の一態様を説明するための図である。
【０１５７】
図１５Ａに示す例では、まず、システム（図中でＳ：）は、システム意図１４３が「ＹＥＳＮＯ質問＜中華＞」であるシステム文章１８４「中華でいいですか」をユーザに対して出力し、ユーザ（図中でＵ：）が、ユーザ文章１４５「いいえ」と応答している。図１５Ａに示す例では、ユーザがテキスト入力欄に「いいえ」を入力し＜ｅｎｔｅｒ＞を押すことで１発話文を応答している。この場合、発話継続判定装置１２は、ユーザ文章１４５に対して待ち時間なし（待ち時間＝０）とする予測応答遅延量１９２を推定することで第１判定を行い、システムに対して発話非継続フラグを出力している。そして、システムは、発話非継続フラグに従い、ユーザ文章１４５「いいえ」に続いて（つまり待ち時間なしで）、システム意図１４３が「確認質問」であるシステム文章１８４「どんな料理が好きですか」をユーザに対して出力する。
【０１５８】
図１５Ｂに示す例では、まず、システムは、図１５Ａと同様のシステム文章１８４「中華でいいですか」をユーザに対して出力し、ユーザが、ユーザ文章１４５「それはいらない」と応答している。図１５Ｂに示す例でも、ユーザがテキスト入力欄に「それはいらない」を入力し＜ｅｎｔｅｒ＞を押すことで１発話文を応答している。この場合、発話継続判定装置１２は、ユーザ文章１４５に対して待ち時間有り（待ち時間＞０）とする予測応答遅延量を推定するものの、待ち時間中に取得したユーザ状況情報１２３２が所定の値を示さないので第１判定を行い、システムに対して発話非継続フラグを出力している。図１５Ｂに示す例では、待ち時間中に取得したユーザ状況情報１２３２には、ユーザが新たな入力操作をしていないことに対応した所定の値以外の値が示されているからである。そして、システムは、発話非継続フラグに従い、ユーザ文章１４５「それはいらない」に対する待ち時間の経過後に、システム意図１４３が「確認質問」であるシステム文章１８４「どんな料理が好きですか」をユーザに対して出力する。ユーザは、システム文章１８４「どんな料理が好きですか」に対するユーザ文章１４５「肉の方がいい」を応答している。
【０１５９】
図１５Ｃに示す例では、まず、システムは、図１５Ａと同様のシステム文章１８４「中華でいいですか」をユーザに対して出力し、ユーザが、図１５Ｂと同様のユーザ文章１４５「それはいらない」と応答している。この場合、発話継続判定装置１２は、ユーザ文章１４５に対して待ち時間有り（待ち時間＞０）とする予測応答遅延量を推定し、さらに、待ち時間中に取得したユーザ状況情報１２３２が所定の値を示すので第２判定を行い、システムに対して発話継続フラグを出力している。図１５Ｃに示す例では、待ち時間中に取得したユーザ状況情報１２３２には、ユーザが入力操作中であることに対応した所定の値が示されているからである。そして、システムは、発話継続フラグに従い、ユーザ文章１４５「それはいらない」に対する待ち時間の経過後に、システム意図１４３が「ユーザ発話へのつなぎ」である、システム文章１８４「うん？」をユーザに対して出力している。システム文章１８４「うん？」などのつなぎの時間において、ユーザは、入力操作を完了させて、ユーザ文章１４５「肉料理が食べたい」を応答することができる。
【０１６０】
［効果等］
以上のように、本実施の形態によれば、過去のシステムの発話文におけるシステム意図と、過去のシステムの発話文に対するユーザ発話文を含む学習用データを用いて、学習用データに含まれる当該ユーザ発話文に対する応答遅延量を教師データとして、ユーザ発話文と応答遅延量との対応づけを行う学習処理を行う。これにより、システム発話文に続くユーザ発話文から、応答遅延量を精度よく推定できる。
【０１６１】
また、本実施の形態によれば、学習処理結果を用いてユーザ発話文に対する応答遅延量の推定を行い、推定した応答遅延量に示される待ち時間中のユーザ状況を用いてユーザの発話継続の有無を判定する。このように、本実施の形態の発話継続判定方法および発話継続判定装置等によれば、ユーザの発話継続の判定を２段階で行うことで、ユーザの発話継続の判定精度を向上できる。
【０１６２】
それにより、システム側はユーザ発話内容の聞き逃し等を防ぐことができるので、システムとユーザとの間においてより円滑なインタラクションを可能にすることができる。
【０１６３】
（実施の形態２）
次に、実施の形態２として、上述した発話継続判定装置１２の利用形態について説明する。
【０１６４】
図１６は、実施の形態２に係る対話システムの構成の一例を示すブロック図である。この対話システムは、音声認識の機能を有し、スマートフォン等の携帯端末４０と、クラウド上に存在するサーバ５０とを含む。ユーザは、携帯端末４０を介して、音声によりシステムと自然言語による対話を行うことができる。携帯端末４０およびサーバ５０は、例えば、インターネット等の公衆通信ネットワークを介して接続されている。
【０１６５】
＜携帯端末４０＞
携帯端末４０は、スマートフォンまたはタブレットなどである。携帯端末４０は、文字入力装置４０１、ユーザ状況取得装置４０２、信号処理部４０３、入出力制御部４０４、通信部４０５、および、応答実行部４０６を備える。
【０１６６】
文字入力装置４０１は、文字を入力するための装置である。文字入力装置４０１は、例えば、キーボード入力された結果を文字列に変換し、その文字列を入出力制御部４０４に出力する。なお、文字入力装置４０１は一例であり、マイクを備え、音により入力されたユーザの発話を文字に変換するとしてもよい。
【０１６７】
ユーザ状況取得装置４０２は、ユーザの状況を示すセンサ情報を取得するための装置である。ユーザ状況取得装置４０２は、例えば、キーボード・マウスなどの操作状態を測定し、その測定結果を含むセンサ情報を信号処理部４０３に出力する。なお、ユーザ状況取得装置４０２は、さらに、ユーザの発話を音により入力するためのマイク等の集音部を備え、当該集音部における音声信号が入力されるとしてもよい。また、ユーザ状況取得装置４０２はさらに、ユーザの視線を検出するためのカメラ等の視線検出部を備え、当該視線検出部におけるユーザの視線位置が携帯端末４０の表示部にあるか否かを検知するとしてもよい。また、ユーザ状況取得装置４０２はさらに、ユーザの姿勢を検出するためのカメラ等の姿勢検出部を備え、当該姿勢検出部におけるユーザの顔方向および体方向が携帯端末４０の表示部にあるか否かを検知するとしてもよい。これらの場合、当該表示部は、実施の形態１で説明した提示部に対応し、サーバ５０から出力されるシステム文章１８４（第１文章）を提示（表示）する。
【０１６８】
信号処理部４０３は、ユーザ状況取得装置４０２が取得したセンサ情報から、ユーザがキーボード・マウスなどを操作中か否かを示すフラグ情報に変換し、そのフラグ情報を入出力制御部４０４に出力する。
【０１６９】
入出力制御部４０４は、文字入力装置４０１により入力された文字列を示す信号および信号処理部４０３により入力されたフラグ情報を示す信号を通信部４０５に出力する。また、入出力制御部４０４は、通信部４０５より受け取った信号を応答実行部４０６に出力する。
【０１７０】
通信部４０５は、入出力制御部４０４により入力された信号を通信可能なフォーマットを持つ通信信号に変換し、得られた通信信号をサーバ５０（通信部４０５）に送信する。また、通信部４０５は、サーバ５０より受け取った通信信号を入出力制御部４０４に出力する。
【０１７１】
応答実行部４０６は、入出力制御部４０４がサーバ５０より受け取った通信信号に示される応答文をモニタに表示する。また、応答実行部４０６は、入出力制御部４０４がサーバ５０より受け取った信号に示される応答遅延量をもとに、応答遅延量で示される待ち時間中は応答実行部４０６が「待機中」であることをディプレイ等の表示部に表示する。
【０１７２】
＜サーバ５０＞
サーバ５０は、通信部５０１、対話履歴記憶部５０２、言語理解部５０３、発話継続判定装置５０４、対話戦略部５０５、応答生成部５０６、および、発話継続通知装置を備える。
【０１７３】
通信部５０１は、携帯端末４０からの通信信号を受信する。通信部５０１は、受信した通信信号から文字列およびフラグ情報を示す信号を取り出して、対話履歴記憶部５０２に出力する。また、通信部５０１は、発話継続通知装置５０７および応答生成部５０６より受け取った文字列およびフラグ情報を示す信号を通信可能なフォーマットを持つ通信信号に変換し、得られた通信信号を携帯端末４０（通信部４０５）に出力する。
【０１７４】
対話履歴記憶部５０２は、取り出された文字列を示す信号を解析することで、ユーザが発話したテキストデータを生成し、データＩＤおよび現在時刻と対応付けて記録する。また、対話履歴記憶部５０２は、取り出されたフラグ情報を示す信号を解析することで、ユーザのテキスト入力中か否かを示すユーザ状況情報を生成し、生成したユーザ状況情報とデータＩＤおよび現在時刻とを対応付けて記録する。また、対話履歴記憶部５０２は、通信部５０１が応答生成部５０６より受け取った応答文およびその意図を、データＩＤおよび現在時刻と対応付けて記録する。
【０１７５】
言語理解部５０３は、対話履歴記憶部５０２で生成されたテキストデータを用いて、ユーザ発話文の意図を示す対話行為およびキーワードを推定し、推定結果を出力する。
【０１７６】
発話継続判定装置５０４は、例えば、図１に示す発話継続判定装置１２であり、上述した学習処理が既に終了している状態である。発話継続判定装置５０４は、対話履歴記憶部５０２で生成されたテキストデータを用いて、上述した対話データ１０２を生成し、該対話データ１０２を用いて、予測応答遅延量の推定および発話継続判定を行い、発話継続判定結果１２３３を対話戦略部５０５に出力する。また、待ち時間および発話継続フラグの発生を発話継続通知装置５０７に出力する。
【０１７７】
対話戦略部５０５は、発話継続判定装置５０４により発話非継続フラグが出力された場合のみ、言語理解部５０３で推定された対話行為およびキーワードの結果を時系列に保持し、その系列に基づいて、応答すべきシステム側の対話行為およびキーワードを出力する。
【０１７８】
応答生成部５０６は、対話戦略部５０５から受け取った対話行為に対応する応答文を生成する。通信部５０１は、生成された応答文を通信可能なフォーマットを持つ通信信号に変換し、得られた通信信号を携帯端末４０に送信する。
【０１７９】
発話継続通知装置５０７は、待ち時間および発話継続フラグの発生を受け取ると、待ち時間中である時は、システムがユーザ入力を待っているという旨を通信部５０１に出力し、発話継続フラグが発生した際は、ユーザに発話を促す応答文を通信部５０１に出力する。
【０１８０】
このように、図１６に示されるような対話システムにおいて、サーバ５０は、実施の形態１で説明した学習処理が行われた後の発話継続判定装置１２等を用いて、ユーザの発話が継続するか否かを適切に判定する。これにより、対話システムは、ユーザの発話の聞き逃しなどを防ぐことができるので、円滑なインタラクションが可能である。
【０１８１】
以上、実施の形態に係る発話継続判定装置について説明したが、本開示は、この実施の形態に限定されるものではない。
【０１８２】
例えば、上記実施の形態に係る発話継続判定装置に含まれる各処理部は典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部または全てを含むように１チップ化されてもよい。
【０１８３】
また、集積回路化はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１８４】
また、本開示は、発話継続判定装置により実行される発話継続判定方法として実現されてもよい。
【０１８５】
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０１８６】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェアまたはソフトウェアが並列または時分割に処理してもよい。
【０１８７】
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時（並列）に実行されてもよい。
【０１８８】
以上、一つまたは複数の態様に係る発話継続判定装置について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０１８９】
本開示は、発話継続判定装置に適用でき、例えば、音声またはテキストによるユーザの発話が継続しているか否かを適切に判定できる。例えば、本開示は、ユーザのタスクを達成するコールセンター、問診対話、または雑談対話など、タスク指向或いは非タスク指向の対話システム装置または対話システム方式に利用可能である。
【符号の説明】
【０１９０】
１、１Ａ    発話継続判定システム
１０    記憶装置  
１１    学習処理装置
１１Ａ    学習処理装置部
１２、５０４    発話継続判定装置
１２Ａ    発話継続判定装置部
４０    携帯端末
５０    サーバ
１０１    コーパス
１０２    対話データ
１１１    取得部
１１２    学習部
１１３、１２３    記憶部
１２１    対話取得部
１２２    推定部
１４１    訓練データ
１４２、１８２、２２０    データＩＤ
１４３、１８３    システム意図
１４４、１８４    システム文章
１４５、１８５    ユーザ文章
１４６    応答遅延量
１８１    発話データ
１９２    予測応答遅延量
２２１    時刻
２３２    発話継続判定
４０１    文字入力装置
４０２    ユーザ状況取得装置
４０３    信号処理部
４０４    入出力制御部
４０５、５０１    通信部
４０６    応答実行部
５０２    対話履歴記憶部
５０３    言語理解部
５０５    対話戦略部
５０６    応答生成部
５０７    発話継続通知装置
１０１１    学習用データ
１１３１    学習結果情報
１１２１、１２２１    形態素解析部
１１２２、１２２２    素性ベクトル算出部
１１２３、１２２３    対話状態算出部
１１２４、１２２４    応答遅延推定部
１１２５    重み更新部
１２２５    応答遅延決定部
１２３１    応答遅延推定結果
１２３２    ユーザ状況情報
１２３３    発話継続判定結果
１２５１    待ち時間生成部
１２５２    統合判定部
【図１】
2019003380.tif 000003
【図２】
2019003380.tif 000004
【図３】
2019003380.tif 000005
【図４】
2019003380.tif 000006
【図５】
2019003380.tif 000007
【図６】
2019003380.tif 000008
【図７】
2019003380.tif 000009
【図８】
2019003380.tif 000010
【図９】
2019003380.tif 000011
【図１０】
2019003380.tif 000012
【図１１】
2019003380.tif 000013
【図１２】
2019003380.tif 000014
【図１３】
2019003380.tif 000015
【図１４】
2019003380.tif 000016
【図１５Ａ】
2019003380.tif 000017
【図１５Ｂ】
2019003380.tif 000018
【図１５Ｃ】
2019003380.tif 000019
【図１６】
2019003380.tif 000020