(57)【要約】【課題】ユーザと機械との間で自然な会話を実現させるためには、ユーザの発話に対する機械の応答が出力されるまでの待ち時間を短縮する必要がある。【解決手段】本発明に係る対話装置は、機械発話に対するユーザ発話の発話長短属性を予測する予測部２５４と、発話長短属性を用いて、ユーザ発話の終了判定に用いる特徴モデルとして、音声特徴モデル及び字句特徴モデルの内の少なくとも一方を選択する選択部２５６と、選択したモデルを用いて、ユーザ発話における終了時点を推定する推定部２５８とを含む。この対話装置を用いることにより、ユーザの発話に対する機械の応答が出力されるまでの待ち時間を短縮し、ユーザと機械との間でより自然な会話を実現させることができる。【選択図】図２
2020187211.tif 000002
【特許請求の範囲】
【請求項１】
対話装置であって、
前記対話装置は、
ユーザ発話の長短属性を予測する予測部と、
前記発話長短属性を用いて、前記ユーザ発話の終了判定に用いる特徴モデルとして、音声特徴モデル及び字句特徴モデルの内の少なくとも一方を選択する選択部と、
前記選択部が選択した特徴モデルを用いて、前記ユーザ発話の終了時点を推定する推定部と、
を含む対話装置。
【請求項２】
前記選択部は、
前記発話長短属性と、前記終了時点の推定が正解である確率を示す信頼値とに基づいて、
前記音声特徴モデル及び前記字句特徴モデルに対する重み付けを設定し、
前記音声特徴モデル又は前記字句特徴モデルのいずれかから、所定の重み付け基準を達成するモデルを選択する、
ことを特徴とする、請求項１に記載の対話装置。
【請求項３】
前記字句特徴モデルは、
複数のサブモデルを備え、
前記複数のサブモデルは、前記ユーザ発話における終了時点を所定のワード数前に推定するように訓練された機械学習モデルであって、
前記選択部は、
前記字句特徴モデルを用いて前記ユーザ発話における終了時点を推定する場合には、
前記ユーザ発話における終了時点から、前記機械発話が出力される時点までの遅延時間を計算し、
以前のユーザ発話に基づいて、ユーザの発話速度を計算し、
前記遅延時間及び前記ユーザの発話速度に基づいて、前記複数のサブモデルの中から、前記遅延時間を、所定の時間以内に短縮できるサブモデルを選択する、
ことを特徴とする、請求項１に記載の対話装置。
【請求項４】
前記字句特徴モデルは、ワード、音素、形態素のうちのいずれか１つを字句特徴として入力し、前記ユーザ発話における終了時点を推定する、
ことを特徴とする、請求項１に記載の対話装置。
【請求項５】
前記音声特徴モデル及び前記字句特徴モデルはいずれも、
前記ユーザ発話における前記終了時点が相槌機会である相槌確率と、
前記ユーザ発話における前記終了時点が発話終了である確率と、
を計算することを特徴とする、請求項１に記載の対話装置。
【請求項６】
前記対話装置は応答生成部を更に備え、
前記応答生成部は、
前記ユーザ発話における終了時点が相槌機会である確率が所定の相槌確率基準を達成する場合には、相槌応答を生成し、出力し、
前記ユーザ発話における終了時点が発話終了である確率が所定の終了確率基準を達成する場合には、
自然言語理解の手段を用いて、前記ユーザ発話の内容に応じた前記対話装置によって生成される応答（以下、「機械発話」という。）を生成する、
ことを特徴とする、請求項５に記載の対話装置。
【請求項７】
前記予測部は、
前記機械発話の意図を示す機械発話行為を判定し、
前記機械発話行為に基づいて、前記ユーザ発話を予測し、
前記ユーザ発話の意図を示すユーザ発話行為を判定することで、
前記ユーザ発話の発話長短属性を予測する、
ことを特徴とする、請求項１に記載の対話装置。
【請求項８】
前記音声特徴モデル及び字句特徴モデルは、再帰型ニューラルネットワークによって訓練可能である、
ことを特徴とする、請求項１に記載の対話装置。
【請求項９】
対話方法であって、
前記対話方法は、
ユーザからの発話（以下、「第１のユーザ発話」という）を受信する工程と、
前記第１のユーザ発話に対する第１の機械発話を生成する工程と、
前記第１の機械発話に対する第２のユーザ発話の発話長短属性を予測する工程と、
前記発話長短属性と、前記第２のユーザ発話における終了時点の推定が正解である確率を示す信頼値とに基づいて、音声特徴モデル及び字句特徴モデルに対する重み付けを設定する工程と、
前記音声特徴モデルの重み付けが所定の重み付け基準を満たす場合には、
前記音声特徴モデルを用いて、前記第２のユーザ発話における終了時点を推定する工程と、
前記字句特徴モデルの重み付けが所定の重み付け基準について計算された確率が所定の確率基準を満たす場合には、
前記第２のユーザ発話における終了時点から、第２の機械発話が出力されるまでの遅延時間を計算する工程と、
以前のユーザ発話に基づいて、ユーザの発話速度を計算する工程と、
前記遅延時間及び前記ユーザの発話速度に基づいて、複数のサブモデルの中から、前記遅延時間を、所定の時間以上に短縮できるサブモデルを選択する工程と、
選択されたサブモデルを用いて、前記第２のユーザ発話における終了時点を推定する工程と、
を含む対話方法。
【請求項１０】
対話装置によって実行される対話コンピュータプログラムであって、
前記対話コンピュータプログラムは、
ユーザからの発話（以下、「第１のユーザ発話」という）を受信する工程と、
前記第１のユーザ発話に対する第１の機械発話を生成する工程と、
前記第１の機械発話に対する第２のユーザ発話の発話長短属性を予測する工程と、
前記発話長短属性と、前記第２のユーザ発話における終了時点の推定が正解である確率を示す信頼値とに基づいて、音声特徴モデル及び字句特徴モデルに対する重み付けを設定する工程と、
前記音声特徴モデルの重み付けが所定の重み付け基準を満たす場合には、
前記音声特徴モデルを用いて、前記第２のユーザ発話における終了時点を推定する工程と、
前記字句特徴モデルの重み付けが所定の重み付け基準について計算された確率が所定の確率基準を満たす場合には、
前記第２のユーザ発話における終了時点から、第２の機械発話が出力されるまでの遅延時間を計算する工程と、
以前のユーザ発話に基づいて、ユーザの発話速度を計算する工程と、
前記遅延時間及び前記ユーザの発話速度に基づいて、複数のサブモデルの中から、前記遅延時間を、所定の時間以上に短縮できるサブモデルを選択する工程と、
選択されたサブモデルを用いて、前記第２のユーザ発話における終了時点を推定する工程と、
をプロセッサに実行させることを特徴とする対話コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話装置、対話方法、及び対話コンピュータプログラムに関する。
【背景技術】
【０００２】
コンピュータを用いた対話装置において、ユーザと対話装置との間で自然な会話を実現させるためには、対話装置の応答が出力されるまでの待ち時間を短縮することが重要である。従来技術においては、この待ち時間を短縮し、ユーザと対話装置の対話を円滑に行うための手段が提案されている。
【０００３】
例えば、特開２００８−２４１８９０号公報（特許文献１）には、「まず、入力した音声から単語列を抽出する（Ｓ３０）。また、入力した音声の話速を算出する（Ｓ４０）。そして、現在の入力単語列に後続すると予測される単語列（以下、後続予測単語列という）とこの後続予測単語列に対応した出現確率とを記憶する出現確率リストと、抽出した単語列とを比較して、抽出した単語列に後続すると予測される後続予測単語列の中で最も出現確率の高い後続予測単語列を抽出する（Ｓ５０）。更に、算出した話速を用い、後続予測単語列が入力されるのにかかる時間（以下、後続入力時間という）を算出する（Ｓ６０）。その後、抽出した後続予測単語列の出現確率を確信度とし、抽出した後続予測単語列に付与する（Ｓ７０）。その後、付与された確信度が応答判定値以上である場合に、この後続入力時間で、出力タイミング予測を確定させる（Ｓ８０）。」技術が記載されている。
【０００４】
また、特開２０１５−１３５４２０号公報（特許文献２）には、「音声認識端末装置は、ユーザが発話した音声コマンドを取得し（Ｓ１０）、取得した音声コマンドを音声認識サーバに送信して音声認識処理を要求する（Ｓ１２）。このとき、音声認識端末装置は、音声認識サーバから応答メッセージを受信するまでの応答遅延時間を予測する。そして、予測した応答遅延時間を埋め合わせるための「つなぎ言葉」の内容を決定し、その決定したつなぎ言葉を応答メッセージを受信するまでの間に発話する（Ｓ１４）。そして、音声認識端末装置は、音声認識サーバから応答メッセージを受信した場合、取得した応答メッセージに基づく出力処理を実行する（Ｓ１６）。」技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２４１８９０号公報
【特許文献２】特開２０１５−１３５４２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記の特許文献１は、抽出した単語列に後続すると予測される後続予測単語列と、ユーザの話速を用いて、機械の応答を出力する適切なタイミングを計算することが記載されている。また、上記の特許文献２には、ユーザの発話に対する機械発話を生成するための待ち時間を埋め合わせるために、推定されている待ち時間に応じた「つなぎ言葉」を出力することが記載されている。
しかしながら、上記の特許文献のいずれにも、ユーザの次の発話について予測されている発話の長短属性（発話が長いか短いかを示す情報）に基づいて、適切な応答（機械発話）を生成するための機械学習モデルを選択することが考慮されていない。
【０００７】
そこで、本発明は、ユーザの発話の長短属性の予測に基づいて、ユーザ発話の終了時点を判定するためのモデルを音声特徴モデル又は字句特徴モデルのいずれかから選択することで、ユーザの待ち時間を短縮させる手段を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、代表的な本発明の対話装置の１つは、ユーザ発話の長短属性を予測する予測部と、発話長短属性を用いて、ユーザ発話の終了判定に用いる特徴モデルとして、音声特徴モデル及び字句特徴モデルの内の少なくとも一方を選択する選択部と、選択部が選択した特徴モデルを用いて、ユーザ発話の終了時点を推定する推定部とを含む。
【０００９】
本発明によれば、ユーザの次の発話について予測されている発話の長短属性に基づいて、ユーザの発話の終了時点を判定するためのモデルを音声特徴モデル又は字句特徴モデルのいずれかから選択することで、ユーザの待ち時間を短縮させる手段を提供することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】自動音声認識（Ａｕｔｏｍａｔｉｃ  Ｓｐｅｅｃｈ  Ｒｅｃｏｇｎｉｔｉｏｎ）の処理において、待ち時間による課題の一例を示す図である。
【図２】本発明の実施形態に係る対話装置の機能的構成を示す図である。
【図３】本発明の実施形態を実施するためのコンピュータシステムのブロック図である。
【図４】本発明の実施形態に係る対話方法のフローを示す図である。
【図５】本発明の実施形態に係る対話装置における対話の一例を示す図である。
【図６】本発明の実施形態に係る音声特徴モデル及び字句特徴モデルの重み付けを計算する処理の一例を示す図である。
【図７】本発明の実施形態に係る後続単語数予測の訓練用のデータの一例を示す図である。
【図８】本発明の実施形態に係る後続単語数予測の別の一例を示す図である。
【図９】発話における終了時点を推定するように適用された再帰型ニューラルネットワークにおけるセルの一例を示す図である。
【図１０】本発明の実施形態に係るモデル重み付けの計算の変形例を示す図である。
【図１１】本発明の実施形態に係る終了時点確率の計算の変形例を示す図である。
【００１１】
以下、図面を参照して、本発明の実施形態について説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
（ハードウェア構成）
【００１２】
まず、図１を参照して、本発明の概要について説明する。
【００１３】
従来の対話システムでは、ユーザが音声を発話してから当該発話に対する応答が対話システムから出力されるまで、多少の待ち時間が生じることがある。その要因の一つとしては、対話システムが、ユーザの発話が完全に終了したのか、ユーザが一時的に発話中にポーズしているのかを判定するために時間を要しているからである。
このような待ち時間が生じると、ユーザは自分が発した音声が対話システムに正常に受付けられたのか否か分からず、不安を感じたり、再度音声を発話したりすることがある。
そのため、ユーザと対話システムとの間で自然な会話を実現させるためには、対話システムにおけるユーザの待ち時間を短縮することが望ましい。
【００１４】
ユーザの待ち時間を短縮するためには、ユーザの発話における終了時点を検出するＥＯＴ（Ｅｎｄ  ｏｆ  Ｔｕｒｎ）検出モデル及びＢＯＰ（Ｂａｃｋｃｈａｎｎｅｌ  Ｏｐｐｏｒｔｕｎｉｔｙ  Ｐｒｅｄｉｃｔｉｏｎ）検出モデルが知られている。ＥＯＴ検出モデルとは、対話システムがユーザの発話の入力を継続すべきか、発話の入力を中止し応答を生成すべきかを判定するモデルである。
また、ＢＯＰモデルとは、対話システムが「話を聞いている」又は「話を続けて」などといった意思を人間に対して明確にする相槌を打つべきかどうかを判定するモデルである。以下では、ＥＯＴを「発話終了」と呼び、ＢＯＰを「相槌機会」と呼ぶこともある。
なお、ＢＯＴもＥＯＴも、いずれも対話装置から見れば、ユーザの発話の一次的な終了点であるため、これらを総称して、「終了時点」ということがある。
【００１５】
ＥＯＴ検出モデル及びＢＯＰ検出モデルでは、大きく分けて、ユーザの発話の音声特徴（例えば、メル周波数ケプストラム係数、音高等）を用いて終了時点を推定する音声特徴モデルと、ユーザの発話を入力した自動音声認識手段から出力される字句特徴（ワード、音素、形態素等、言葉を構成する要素）を用いて終了時点を推定する字句特徴モデルを用いている。
【００１６】
一般に、字句特徴を用いた終了判定は、音声特徴を用いた終了判定よりも、精度が高く、ユーザの発話における終了時点（ＢＯＰ及びＥＯＴ）を正しく計算できる確率が高い。しかし、字句特徴を用いた終了判定は、音声特徴を用いた終了判定よりも判定に多くの時間を要し、待ち時間（以下、「遅延」や「遅延時間」ということもある）が生じることが多い。
【００１７】
図１は、上述した待ち時間による課題の一例を示す図である。図１に示すように、ユーザ１１０の発話を構成する言葉１２０が時間と共に流れている。ＡＳＲ（Ａｕｔｏｍａｔｉｃ  Ｓｐｅｅｃｈ  Ｒｅｃｏｇｎｉｔｉｏｎ）部分的出力１１２は、ユーザの発話途中で自動音声認識の手段によって認識される言葉である。終了時点検出１１４は、ユーザの発話におけるＥＯＴやＢＯＰ等の終了時点を検出する手段である。応答生成１１６は、対話装置によって生成される応答（機械発話）である。
【００１８】
図１に示す例では、ユーザ１１０が「国分寺駅からえーと」との言葉を発した後、ユーザの発話は一時的に途切れている。そこで、対話システムは、ユーザの発話における終了時点を検出するが、この終了時点がＢＯＰであるか、ＥＯＴであるかを判定し、適切な応答を生成するためには処理時間を要するため、システム側の応答が出るまでの間、遅延１３０が生じ、対話の自然性が損なわれることがある。
【００１９】
上述した課題を解決するために、本発明では、ユーザの次の発話の時間的特徴について予測する発話の長短属性に基づいて、ユーザの発話の終了時点を判定することとし、そのためのモデルを音声特徴モデル及び字句特徴モデルの少なくとも一方を選択することで、ユーザの待ち時間を短縮することができ、ユーザと対話装置との間でより自然な対話を実現させることができる。
【００２０】
次に、図２を参照し、本発明の実施形態に係る対話装置の機能的構成について説明する。
【００２１】
図２は、本発明の実施形態に係る対話装置２５０の機能的構成を示す図である。対話装置２５０は、自然言語を用いて、人間のユーザ２１０と情報を傍受するように構成されているコンピューティングデバイスである。対話装置２５０は、例えば特定のタスクの達成を目的とするタスク指向型対話システムであってもよく、雑談等、任意の話題に関する会話を実現できる非タスク指向型対話システムであってもよい。
一例として、対話装置２５０は、例えば、銀行に設置される端末であって、口座の開設や送金等を行うように構成されているものであってもよく、空港で乗客のチェックインや案内を行うように構成されているものであってもよい。
【００２２】
図２に示すように、対話装置２５０は、入力部２５２と、予測部２５４と、選択部２５６と、推定部２５８と、応答生成部２６０とを含む。
【００２３】
入力部２５２は、人間のユーザ２１０が自然言語音声で発する発話を入力する機能部である。入力部２５２は、例えば、「最寄りの駅はどこなの？」や「中華料理食べたいんだけど、美味しいところは近くにある？」などの発話を受け付けるマイクロフォンであってもよい。
【００２４】
予測部２５４は、ユーザの次の発話（例えば、機械発話に対するユーザの次の発話）の長短属性を予測する機能部である。ここでは、「発話の長短属性」とは、ユーザの次の発話の長さ（時間での長さや単語数での長さ）を示す情報である。この発話の長短属性は、例えばユーザの次の発話が所定の長さ基準（例えば１０ワード以上、５秒以上）を満たすか否かを示すバイナリー情報であってもよく、ユーザの次の発話の推定される長さ（１４ワード、７秒）を示す情報であってもよい。予測部２５４がユーザの次の発話の長短属性を予測する処理の詳細については後述する。
【００２５】
選択部２５６は、発話長短属性を用いて、ユーザ発話の終了判定に用いる特徴モデルとして、音声特徴モデル及び字句特徴モデルの内の少なくとも一方を選択する機能部である。選択部は、例えば予測部２５４によって予測された発話の長短属性（及び・又は終了時点の推定が正解である確率を示す信頼値）に基づいて、音声特徴モデル及び字句特徴モデルのそれぞれに対して重み付けを設定して、所定の重み付け基準を達成するモデルを選択するように構成されてもよい。選択部２５６がユーザの発話の終了判定に用いるモデルを選択する処理の詳細については後述する。
【００２６】
推定部２５８は、選択部２５６によって選択されたモデルを用いて、ユーザ発話における終了時点を推定する機能部である。推定部２５８は、選択されたモデルを用いて、ユーザの発話における終了時点が相槌機会（ＢＯＰ）である確率と、当該終了時点が発話終了（ＥＯＴ）である確率を計算し、この計算の結果を示すメタデータであるタイミングラベルを生成してもよい。推定部２５８がユーザ発話における終了時点を推定する処理の詳細については後述する。
【００２７】
応答生成部２６０は、入力部２５２が受け付けるユーザ発話に対する機械発話を生成するための機能部である。この機械発話は、例えば、ユーザの発話が受け付けられたことを示すための、「はい」、「分かりました」、「かしこまりました」、「なるほどですね」、「そうですね」等の相槌であってもよく、「最寄りの駅はここから７００メートルです」や「中華料理屋さんは近くにありませんが、ベトナム料理はいかがですか？」等、ユーザの発話の内容に応じて自然言語生成手段によって生成された応答であってもよい。
あるいは、対話装置がロボットに接続されており、ロボットを制御するような構成である場合、この機械発話は、ロボットの顔が頷くような動作であってもよい。また、対話装置がディスプレイなどの表示装置と接続されており、ディスプレイ上にキャラクタを表示するような形態の場合、この機械発話は、ディスプレイ上のキャラクタのアニメーションを生成することを含んでもよい。応答生成部２６０が応答を生成する処理の詳細については後述する。
【００２８】
ストレージ部２６２は、上述した機能部が用いる各種データを格納するための記憶部である。ストレージ部２６２は、例えば、過去のユーザとの対話履歴、発話を生成する際に使用するデータベース等を格納してもよい。このストレージ部２６２は、例えばフラッシュメモリ、ハードディスクドライブ等、任意の記憶媒体であってもよい。また、図２に示すように、ストレージ部２６２は、上述した音声特徴モデル２６４及び字句特徴モデル２６６を格納してもよい。しかし、本発明はこれに限定されず、音声特徴モデル２６４及び字句特徴モデル２６６が遠隔のサーバに格納され、インターネットやＬＡＮ等の通信ネットワークを介してアクセスされる構成でもよい。
【００２９】
次に、図３を参照して、本発明の実施形態に係る対話装置を構成するコンピュータシステム３００のハードウェア構成について説明する。
【００３０】
図３は、本発明の実施形態を実施するためのコンピュータシステム３００のハードウェア構成を示す図である。本明細書で開示される対話装置の機能は、任意のコンピューティングシステムによって実現されてもよい。以下では、本発明に係る対話装置の機能を実施するように構成された汎用的なコンピュータシステム３００について説明する。
【００３１】
コンピュータシステム３００の主要コンポーネントは、１つ以上のプロセッサ３０２、メモリ３０４、端末インターフェース３１２、ストレージインタフェース３１４、Ｉ／Ｏ（入出力）デバイスインタフェース３１６、及びネットワークインターフェース３１８を含む。これらのコンポーネントは、メモリバス３０６、Ｉ／Ｏバス３０８、バスインターフェースユニット３０９、及びＩ／Ｏバスインターフェースユニット３１０を介して、相互的に接続されてもよい。
【００３２】
コンピュータシステム３００は、プロセッサ３０２と総称される１つ又は複数の汎用プログラマブル中央処理装置（ＣＰＵ）３０２Ａ及び３０２Ｂを含んでもよい。ある実施形態では、コンピュータシステム３００は複数のプロセッサを備えてもよく、また別の実施形態では、コンピュータシステム３００は単一のＣＰＵシステムであってもよい。各プロセッサ３０２は、メモリ３０４に格納された命令を実行し、オンボードキャッシュを含んでもよい。
【００３３】
ある実施形態では、メモリ３０４は、データ及びプログラムを記憶するためのランダムアクセス半導体メモリ、記憶装置、又は記憶媒体（揮発性又は不揮発性のいずれか）を含んでもよい。メモリ３０４は、本明細書で説明する機能を実施するプログラム、モジュール、及びデータ構造のすべて又は一部を格納してもよい。例えば、メモリ３０４は、対話管理アプリケーション３５０を格納していてもよい。ある実施形態では、対話管理アプリケーション３５０は、後述する機能をプロセッサ３０２上で実行する命令又は記述を含んでもよい。
【００３４】
ある実施形態では、対話管理アプリケーション３５０は、プロセッサベースのシステムの代わりに、またはプロセッサベースのシステムに加えて、半導体デバイス、チップ、論理ゲート、回路、回路カード、および/または他の物理ハードウェアデバイスを介してハードウェアで実施されてもよい。ある実施形態では、対話管理アプリケーション３５０は、命令又は記述以外のデータを含んでもよい。ある実施形態では、カメラ、センサ、または他のデータ入力デバイス（図示せず）が、バスインターフェースユニット３０９、プロセッサ３０２、またはコンピュータシステム３００の他のハードウェアと直接通信するように提供されてもよい。
【００３５】
コンピュータシステム３００は、プロセッサ３０２、メモリ３０４、表示システム３２４、及びＩ／Ｏバスインターフェースユニット３１０間の通信を行うバスインターフェースユニット３０９を含んでもよい。Ｉ／Ｏバスインターフェースユニット３１０は、様々なＩ／Ｏユニットとの間でデータを転送するためのＩ／Ｏバス３０８と連結していてもよい。Ｉ／Ｏバスインターフェースユニット３１０は、Ｉ／Ｏバス３０８を介して、Ｉ／Ｏプロセッサ（ＩＯＰ）又はＩ／Ｏアダプタ（ＩＯＡ）としても知られる複数のＩ／Ｏインタフェースユニット３１２，３１４，３１６、及び３１８と通信してもよい。
【００３６】
表示システム３２４は、表示コントローラ、表示メモリ、又はその両方を含んでもよい。表示コントローラは、ビデオ、オーディオ、又はその両方のデータを表示装置３２６に提供することができる。また、コンピュータシステム３００は、データを収集し、プロセッサ３０２に当該データを提供するように構成された1つまたは複数のセンサ等のデバイスを含んでもよい。
【００３７】
例えば、コンピュータシステム３００は、心拍数データやストレスレベルデータ等を収集するバイオメトリックセンサ、湿度データ、温度データ、圧力データ等を収集する環境センサ、及び加速度データ、運動データ等を収集するモーションセンサ等を含んでもよい。これ以外のタイプのセンサも使用可能である。表示システム３２４は、単独のディスプレイ画面、テレビ、タブレット、又は携帯型デバイスなどの表示装置３２６に接続されてもよい。
【００３８】
Ｉ／Ｏインタフェースユニットは、様々なストレージ又はＩ／Ｏデバイスと通信する機能を備える。例えば、端末インタフェースユニット３１２は、ビデオ表示装置、スピーカテレビ等のユーザ出力デバイスや、キーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライトペン、又は他のポインティングデバイス等のユーザ入力デバイスのようなユーザＩ／Ｏデバイス３２０の取り付けが可能である。ユーザは、ユーザインターフェースを使用して、ユーザ入力デバイスを操作することで、ユーザＩ／Ｏデバイス３２０及びコンピュータシステム３００に対して入力データや指示を入力し、コンピュータシステム３００からの出力データを受け取ってもよい。ユーザインターフェースは例えば、ユーザＩ／Ｏデバイス３２０を介して、表示装置に表示されたり、スピーカによって再生されたり、プリンタを介して印刷されたりしてもよい。
【００３９】
ストレージインタフェース３１４は、１つ又は複数のディスクドライブや直接アクセスストレージ装置３２２（通常は磁気ディスクドライブストレージ装置であるが、単一のディスクドライブとして見えるように構成されたディスクドライブのアレイ又は他のストレージ装置であってもよい）の取り付けが可能である。ある実施形態では、ストレージ装置３２２は、任意の二次記憶装置として実装されてもよい。メモリ３０４の内容は、ストレージ装置３２２に記憶され、必要に応じてストレージ装置３２２から読み出されてもよい。Ｉ／Ｏデバイスインタフェース３１６は、プリンタ、ファックスマシン等の他のＩ／Ｏデバイスに対するインターフェースを提供してもよい。ネットワークインターフェース３１８は、コンピュータシステム３００と他のデバイスが相互的に通信できるように、通信経路を提供してもよい。この通信経路は、例えば、ネットワーク３３０であってもよい。
【００４０】
ある実施形態では、コンピュータシステム３００は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、又はサーバコンピュータ等の、直接的ユーザインターフェースを有しない、他のコンピュータシステム（クライアント）からの要求を受信するデバイスであってもよい。他の実施形態では、コンピュータシステム３００は、デスクトップコンピュータ、携帯型コンピュータ、ノートパソコン、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、又は任意の他の適切な電子機器であってもよい。
【００４１】
次に、図４を参照して、本発明の実施形態に係る対話方法の全体のフローについて説明する。
【００４２】
図４は、本発明の実施形態に係る対話方法４００の全体のフローを示す図である。上述したように、対話方法４００は、ユーザと対話システムまたは対話装置との対話において、ユーザの次の発話について予測されている発話長短属性に基づいて、ユーザの発話の終了時点を判定するためのモデルを音声特徴モデル又は字句特徴モデルのいずれかから選択することで、対話装置の応答までのユーザの待ち時間を短縮させるためのものである。
以下、対話方法４００のステップの詳細について説明する。
【００４３】
まず、ステップＳ４１０では、入力部（例えば、図２に示す入力部２５２）は、第１のユーザ発話の入力を受け付ける。ここで、第１のユーザ発話は、ユーザと対話装置との対話における発言、せりふ、言説、挨拶、声明等、任意の言葉であってもよい。上述したように、この第１のユーザ対話は、例えば、「最寄りの駅はどこなの？」や「中華料理食べたいんだけど、美味しいところは近くにある？」などの発話であってもよい。
【００４４】
次に、ステップＳ４１５では、応答生成部（例えば、図２に示す応答生成部２６０）は、ステップＳ４１０で入力された第１のユーザ発話に対する第１の対話装置側からの発話（以下、「機械発話」ということがある。）を生成する。第１の機械発話は、対話装置によって生成される、第１のユーザ発話への応答である。上述したように、この第１の機械発話は、相槌であってもよく、第１のユーザ発話の内容に応じて自然言語生成部によって生成された発話であってもよい。ここでは、「生成」とは、機械発話を作成する行為を意味し、機械発話をユーザに向けて出力することを含むものではない。従って、Ｓ４１５の段階では、第１の機械発話が応答生成部において作成されるが、この時点ではまだ出力されない。
なお、この第１の機械発話は、複数の発話行為のうち、少なくとも一つに該当するものである。一般には、発話行為とは、（ユーザ又は対話装置の）発話の意図を示したものであり、当該発話の内容から発話の意図、目的の種類を定義するものである。以下の表１では、機械発話及び当該機械発話に対応する発話行為の例を示す。後述するように、第１の機械発話がどの発話行為に対応するかは、応答生成部が管理している情報であり、この発話行為は、後述するステップＳ４２０の際に用いられる。
【表１】
2020187211.tif 000003
【００４５】
次に、ステップＳ４２０では、予測部（例えば、図２に示す予測部２５４）は、ステップＳ４１５で生成された第１の機械発話に対するユーザの発話である、第２のユーザ発話について、発話長短属性を予測する。
上述したように、本発明において、発話長短属性とは、ユーザの発話（つまり、ユーザの次の発話である第２のユーザ発話）の長さ（時間での長さや単語数での長さ）を示す情報である。
以下では、説明の便宜上、所定の時間基準（例えば５秒）又は所定の単語数基準（例えば５ワード）を満たす発話のことを「長い」に属する発話とし、所定の時間基準又は所定の単語数基準を満たさない発話のことを「短い」に属する発話として説明する。しかし、これらの「長い」、「短い」の基準値は、あくまでも説明のための便宜的な基準値であり、何ら本発明を限定するものではない。
【００４６】
具体的には、予測部は、上述した第１の機械発話の発話行為を、蓄積されている対話データの履歴（いわゆるビッグデータ）を参照することで、ユーザが次に話すであろう第２のユーザ発話の長さ（「長い」か「短い」か）を予測する。例えば、第１の機械発話がイエス・ノー質問である場合、第２のユーザ発話は、第１の機械発話の質問を端的に肯定または否定する発話である可能性が高いため、第２のユーザ発話は「短い」に属する確率が高いと予測することができる。また、その一方で、第１の機械発話がオープン型質問の場合、第２のユーザ発話は、第１の機械発話の質問について、端的に肯定または否定するものではなく、説明的な情報を含む可能性が高いため、第２のユーザ発話が「長い」に属する確率が高いと予測することができる。
後述するように、ステップＳ４２０で予測した発話の長短属性を用いることで、ユーザの発話における終了時点を計算するための適切なモデルを選択することができる。
以下の表２では、第１機械発話の発話行為と、第２のユーザ発話の長短属性の対応関係を示す。
なお、表２に示す対応関係はあくまでも一例であり、どの発話行為がどの発話の長短属性に該当するかは、対話の場面に応じて適宜に変更されてもよい。
【表２】
2020187211.tif 000004
【００４７】
なお、以上では、第２のユーザ発話の発話長短属性を第１の機械発話の発話行為に基づいて予測する場合について説明したが、本発明はこれに限定されない。例えば、第１の機械発話が出力された後に、第２のユーザ発話の一部を自動音声認識手段で分析し、この自動音声認識手段の部分的な分析結果も参照して発話長短属性を判定することもできる。このように、発話長短属性をリアルタイムでユーザの進行中の発話に基づいて予測することにより、発話長短属性をより正確に予測することもできる。
【００４８】
次に、ステップＳ４２５では、選択部（例えば、図２に示す選択部２５６）は、音声特徴モデル及び字句特徴モデルに対する重み付けを設定する。この重み付けとは、例えば０〜１までの数字で表現され、あるモデルの重み付けが高い程、当該モデルが発話における終了時点の判定に適しているモデルであることを意味する。選択部は、例えばステップＳ４２０で予測した第２のユーザ発話の発話長短属性と、当該モデルの終了時点の推定が正解である確率を示す信頼値とに基づいて計算されて設定されてもよい。
上述したように、字句特徴モデルを用いた終了判定は、音声特徴モデルを用いた終了判定よりも、精度が高く、ユーザの発話における終了時点（ＢＯＰ及びＥＯＴ）を正しく計算できる確率が高いものの、処理時間が長い。一方、音声特徴モデルを用いた終了判定は、字句特徴モデル程精度が字句特徴モデル程高くないが、処理時間が短い。これらの特徴は以下の表３で記載されている。
【表３】
2020187211.tif 000005
第２のユーザ発話の発話長短属性は、第２のユーザ発話が「短い」と示す場合には、音声特徴モデルを用いた発話終了判定の精度が十分だが、発話の長短属性は、第２のユーザ発話が「長い」と示す場合には、音声特徴モデルを用いた発話終了判定の精度が不十分となることがある。そのため、原則として、第２のユーザ発話が短いと予測される場合には、音声特徴モデルの重み付けが字句特徴モデルよりも高く設定され、第２のユーザ発話が長いと予測される場合には、字句特徴モデルの重み付けが音声特徴モデルよりも高く設定されることとする。重み付けの計算及び設定の詳細については後述する。
【００４９】
次に、ステップＳ４３０では、選択部は、ユーザ発話の終了判定に用いる特徴モデルとして、音声特徴モデルを使用するか否かを判定する。ここでは、選択部は、音響特徴モデルの重み付けを参照し、この値が所定の基準以上（例えば０．５１以上）のときに、音響特徴モデルを使用することを決定してもよい。または、重みに依らず、つねに音響特徴モデルを使うようにしてもよい。音声特徴モデルを使用する場合には、本処理はステップＳ４３５に進む。
【００５０】
ステップＳ４３０で音声特徴モデルが選択された場合、次に、ステップＳ４３５では、推定部（例えば、図２に示す推定部２５８）は、音声特徴モデルを用いて、第２のユーザ発話における終了時点を計算する。
具体的には、音声特徴モデルは、第２のユーザ発話がユーザから発される際に、当該発話のメル周波数ケプストラム係数や音高等の音声特徴を分析し、第２のユーザ発話における終了時点が相槌機会（ＢＯＰ）である確率と、当該終了時点が発話終了（ＥＯＴ）である確率を計算し、この計算の結果を示すメタデータであるタイミングラベルを生成してもよい。
このように、第２のユーザ発話が短いと予測される場合には、音声特徴モデルが良好な精度で終了時点を推定することができるため、ＥＯＴ及びＢＯＰの確率を高精度で迅速に計算することができる。
【００５１】
つまり、字句特徴モデルを用いた終了判定は、音声特徴モデルを用いた終了判定よりも、精度が高く、ユーザの発話における終了時点（ＢＯＰ及びＥＯＴ）を正しく計算できる確率が高いものの、処理時間が長いという課題がある。
そこで、本発明では、字句特徴モデルの長い処理時間に対処するために、ユーザの発話の途中で、現時点から、何ワード後に現在の発話が終了するかを予測するための、「後続単語数予測モデル」を用いることとする。この後続単語数予測モデルを用いることにより、発話が何ワード後に終了するかを事前に予測し、対話装置の応答を生成する処理を早期に開始することで、対話装置の応答が生成されるまでの遅延を短縮することができる。
この後続単語数予測モデルは、ユーザの発話速度（平均として１秒に何ワード発しているか）及び対話装置の応答を生成するために要する時間（つまり、遅延時間）に基づいて、複数のサブモデルの中から選択される。それぞれのサブモデルは、ユーザ発話における終了時点を所定のワード数前に推定するように訓練された機械学習モデルである。例えば、この後続単語数予測モデルは、ユーザ発話における終了時点が５ワード後であることを推定するように訓練された５ワードサブモデルや、ユーザ発話における終了時点が３ワード後であることを推定するように訓練された５ワードサブモデル等、任意のワード数毎にサブモデルを有してもよい。
【００５２】
ステップＳ４４０でステップＳ４４５では、推定部は、ユーザの発話速度及び機械発話を生成するために要する時間（つまり、遅延時間）を計算する。例えば、推定部は、特定のユーザとの対話履歴を分析することで、当該ユーザが１秒に何ワードを発しているかを測定することでユーザの発話速度を計算してもよい。また、推定部は、第２のユーザ発話の発話行為に基づいて、第２の機械発話（つまり、第２のユーザ発話に対する対話装置の次の応答）を推定してもよい。
【００５３】
次に、ステップＳ４５０では、選択部は、ステップＳ４４５で計算されたユーザの発話速度及び遅延時間に基づいて、後続単語数予測モデルの複数のサブモデルの中から、適切なサブモデルを選択する。
具体的には、選択部は、発話速度と遅延時間をかけることで、乗算の結果であるワード数に一致するサブモデルを選択することができる。例えば、遅延時間が１秒であり、ユーザが平均として１秒に３ワードを発する場合みは、選択部は、３ワードのサブモデルを選択してもよい。これにより、ユーザの発話の終了時点を３ワード前に予測することとなるため、この時点（つまり、発話が終了する１秒前）に対話装置の応答を生成する処理を開始することで、ユーザの発話が終了した直後に対話装置の応答を出力することができる。
【００５４】
次に、ステップＳ４５５では、推定部は、選択されたサブモデルを用いて、第２のユーザ発話における終了時点を計算する。具体的には、このサブモデルは、第２のユーザ発話がユーザから発される際に、当該発話のワード、音素、形態素等の字句特徴を分析し、第２のユーザ発話における終了時点が相槌機会（ＢＯＰ）である確率と、当該終了時点が発話終了（ＥＯＴ）である確率を計算し、この計算の結果を示すメタデータであるタイミングラベルを生成してもよい。
【００５５】
次に、ステップＳ４６５では、推定部は、Ｓ４３５及びＳ４５５で計算されたＥＯＴ確率及びＢＯＰ確率を用いて、第２のユーザ発話に対する第２の機械発話を生成する。ここで使用する確率として、音響特徴モデル又は字句特徴モデルのいずれか一方が使用された場合には、得られた確率をそのまま使用することができる。
また、音響特徴モデル及び字句特徴モデルの両方が使用された場合には、両方の確率に対して、各特徴に対する重み付けを行った後、両値を加算した値を使用することができる。また、例えばＢＯＰの確率がＥＯＴの確率より高い場合には、推定部は、「はい」や「なるほど」等の相槌を打つ発話を生成してもよく、ＥＯＴの確率がＢＯＰの確率より高い場合には、推定部は、自然言語処理の手段を用いて、ユーザの発話の内容に応じた発話を生成してもよい。その後、推定部は、第２の機械発話を出力する。
【００５６】
上述した対話方法により、ユーザの次の発話について予測されている発話の長短属性に基づいて、ユーザの発話の終了時点を判定するためのモデルを音声特徴モデル又は字句特徴モデルのいずれかから選択することで、ユーザの待ち時間を短縮させることができる。
【００５７】
次に、図５を参照して、本発明の実施形態に係る対話装置における対話の一例について説明する。
【００５８】
図５は、本発明の実施形態に係る対話装置における対話の一例５００を示す図である。図５には、人間のユーザ２１０と対話装置５１０の対話が示されている。また、ここでは、「対話装置」とは、例えば図２に示す対話装置２５０と同様の機能を有するものである。
【００５９】
図５に示す対話の例は、例えば、ユーザ２１０が対話装置５１０を用いて、ホテルを予約するための手続きを行うための会話であってもよい。図５に示すように、対話装置５１０は、「どのようなお部屋が好みですか？」との発話５１２を発する。この発話は、「オープン型質問」との発話行為に対応する。上述したように、対話装置５１０は、この発話行為に基づいて、次のユーザ発話の長短属性を予測することができる。
例えば、ここでは、対話装置５１０が発した発話がオープン型質問の発話行為に該当するため、ユーザの次の発話５１４が「知らせる」との発話行為に対応する可能性が高く、発話の長短属性が長いと予測し、長い発話における終了時点の判定に適した字句特徴モデルを選択してもよい。その後、対話装置５１０は、選択した字句特徴モデルを用いて、図４を参照して説明した処理に従って、ユーザの発話５１４における終了時点を判定し、次の機械発話５１６を生成してもよい。
【００６０】
なお、以上では、ユーザの次の発話が１つの発話行為のみに対応することを前提として一例を説明したが、実際には、ユーザの次の発話が対応する候補の発話行為が複数存在し、ユーザの次の発話の発話行為を１００％の確率で予測できない場合がある。従って、１つのユーザ発話に対して複数の候補の発話行為が存在する場合には、対話装置５１０は、出現する可能性のある候補の発話行為の数を予測し、予測されている候補の発話行為のそれぞれが出現する確率と、それぞれの発話行為の想定されている発話長短属性との加重合計を計算することで、出現確率が最も高い発話行為を予測することができる。
【００６１】
また、対話装置５１０は、予測されている候補の発話行為のそれぞれが出現する確率を用いて、発話行為の平均情報量（エントロピー）を計算することができる。平均情報量は以下の数式１によって求められる。
【数１】
2020187211.tif 000006
数式１では、Ｈは平均情報量であり、Ｉは出現する可能性のある候補の発話行為の数であり、ｐiはｉ番目の発話行為が出現する確率である。一般に、この平均情報量は、情報の無秩序さ、曖昧さ、不確実さを表す尺度であり、平均情報量が高い程、特定の結果を予測する難易度が高い。
従って、ここでは、平均情報量が低いと、出現する可能性のある発話行為の数が少なく、どの発話行為が出現するかが特定しやすい。一方、平均情報量が高いと、出現する可能性のある発話行為の数が多く、どの発話行為が出現するかが特定しにくい。この場合には、字句特徴の重み付けをより高く設定したり、予測される候補の発話行為の発話長短属性の種類（長いか短いか）の出現率を考慮したり、平均情報量を用いて、字句特徴モデルをドメイン毎に訓練したりすることで、ユーザの次の発話の発話行為を予測してもよい。
【００６２】
これにより、１つのユーザ発話に対して複数の候補の発話行為が存在する場合にも、ユーザの発話の長短属性を予測し、ユーザ発話における終了判定に用いるモデルを適宜に選択することができる。
【００６３】
次に、図６を参照して、本発明の実施形態に係る音声特徴モデル及び字句特徴モデルの重み付けを計算する処理について説明する。
【００６４】
図６は、本発明の実施形態に係る音声特徴モデル及び字句特徴モデルの重み付けを計算する処理の一例を示す図である。図６に示すように、ユーザ発話６０５が時間と共に流れている。入力部（図示せず）はユーザ発話６０５の音声特徴６１０及び字句特徴６１５をそれぞれ取得する。上述したように、音声特徴６１０を用いて音声特徴モデル６２０によって発話における終了時点を判定するか、字句特徴６１５を用いて字句特徴モデル６２５によって発話における終了時点を判定するかは、音声特徴モデル６２０及び字句特徴モデル６２５に対して設定される重み付けで決定される。以下では、これらの重み付けを計算する処理について説明する。
【００６５】
上述したように、ここでの重み付けとは、例えば０〜１までの数字で表現され、あるモデルの重み付けが高い程、当該モデルが発話における終了時点の判定に適しているモデルであることを意味する。この重み付けは、予測されるユーザの次の発話の発話長短属性と、当該モデルの終了時点の推定が正解である確率を示す信頼値とに基づいて計算されてもよい。
【００６６】
上述したように、発話の長短属性とは、ユーザの次の発話の長さ（長いか短いか）を示す情報であり、図４を参照して説明した処理により予測される。図６に示す計算部６４０は、予測される発話長短属性に基づいて、ユーザの次の発話が短いと判定される場合には、音声特徴モデルの重み付けαを、字句特徴モデルの重み付け（１−α）より高く設定し、ユーザの次の発話が長いと判定される場合には、字句特徴モデルの重み付けを、音声特徴モデルよりも高く設定するように構成されている。
【００６７】
以上では、音声特徴モデル及び字句特徴モデルの重み付けをユーザ発話の長短属性のみに基づいて計算した場合について説明したが、音声特徴モデル及び字句特徴モデルの重み付けは、発話の長短属性と、モデルの終了時点の推定が正解である確率を示す信頼値との両方に基づいて計算されてもよい。この場合には、発話の長短属性のみに基づいて重み付けを計算した場合に比べて、発話における終了時点を判定するモデルをより正確に選択することができる。
以下では、音声特徴モデル及び字句特徴モデルの重み付けを発話の長短属性及び信頼値の両方に基づいて計算する場合について説明する。
【００６８】
まず、計算部６４０は、特定のモデルの終了時点の推定が正解である確率を示す信頼値を計算する。この信頼値の計算は、入力される発話の信号雑音比に基づいて計算されてもよい。例えば、字句特徴は残響等のノイズによって大きく影響されるため、入力される音声には残響が多く含まれる場合には、字句特徴の信頼値が低くなる。一方、音声特徴は残響の影響を大きく受けないため、例えば入力される音声に残響が含まれる場合でも、音声特徴の信頼値が高く設定されてもよい。
なお、以上では、音声特徴モデル及び字句特徴モデルの信頼値を信号雑音比に基づいて計算する場合について説明したが、本発明はそれに限定されず、自動音声認識の精度等のパラメータに基づいて計算されてもよい。
【００６９】
以下では、予測される発話行為とモデルの信頼値とに基づいて、上述した重み付けを計算する手段について説明する。音声特徴モデルの重み付けαＡがユーザの次の発話の長短属性のみに基づいて計算される場合には、全体の重み付けαを以下の数式２、３、及び４で求めることができる。
【数２】
2020187211.tif 000007
【数３】
2020187211.tif 000008
【数４】
2020187211.tif 000009
ここでは、αＬは字句特徴モデルの重み付けであり、ｄは発話の期待される長さを示す変数であり、ｄＡは発話が短い発話だとみなす発話長の閾値、ｄＬは発話が長い発話だとみなす発話長の閾値である。
【００７０】
一方、音声特徴モデルの重み付けαＡがユーザの発話の発話行為に基づいて計算される場合には、全体の重み付けαを以下の数式５で求められる。
【数５】
2020187211.tif 000010
ここでは、Ｕは、予測される発話行為ｕｉ及び対応する出現確率ｐiを表すものであり、ｆＤＡは、発話行為を重み付けに変換する所定の関数である。また、Ｕは以下の数式６で求められる。
【数６】
2020187211.tif 000011
【００７１】
上述した重み付けαは、重み付けの初期値であり、時間が経過するにつれて継続的に更新されてもよい。音声特徴モデルの信頼値ｃＡ及び字句特徴モデルの信頼値ｃＬが０〜１の範囲内で正規化され、これらの和が１であるとして、ある時間帯ｔにおける重み付けαｔは、以下の数式７及び数式８で求められる。
【数７】
2020187211.tif 000012
【数８】
2020187211.tif 000013
ここでは、αupdate+及びαupdate-は、重み付けに加算又は減算する値である。
【００７２】
また、ある時間帯ｔにおける重み付けαｔは、以下の数式９、１０、及び１１で求められる。
【数９】
2020187211.tif 000014
【数１０】
2020187211.tif 000015
【数１１】
2020187211.tif 000016
ここでは、α0は、重み付けの初期値であり、ｔ０は重み付けが更新される前の時間帯であり、ｔ１は重み付けが更新された後の時間帯であり、α１は更新された後の重み付けである。
【００７３】
上述した計算によって音声特徴モデル及び字句特徴モデルの重み付けを計算することで、特定のユーザ発話における終了時点を正確に推定できるモデルを選択することができるため、ユーザの待ち時間を短縮し、ユーザと対話装置との間でより自然な対話を実現させることができる。
【００７４】
次に、図７及び図８を参照して、本発明の実施形態に係る後続単語数予測の一例について説明する。
【００７５】
上述したように、字句特徴モデルを発話の終了判定に用いる場合には、音声特徴モデルを用いた終了判定よりも、ユーザの発話における終了時点（ＢＯＰ及びＥＯＴ）を高い精度で推定できるが、処理時間が長いという課題がある。そこで、字句特徴モデルの長い処理時間を対処するため、ユーザの発話の途中で、その時点から何ワード後に当該発話の終了時点が来るかを予測するための、「後続単語数予測モデル」を用いている。この後続単語数予測モデルを用いることにより、機械発話を生成する処理を早期に開始することで、機械発話が生成されるまでの遅延を短縮することができる。
なお、後続単語数予測の処理のフローを図７を参照して説明したため、ここではその説明を省略し、後続単語数予測モデルにおけるサブモデルを訓練する手段について説明する。
【００７６】
上述したように、後続単語数予測モデルにおけるサブモデルとは、ユーザ発話における終了時点を所定のワード数前に推定するように訓練された機械学習モデルである。
例えば、この後続単語数予測モデルは、ユーザ発話における終了時点が５ワード後であることを推定するように訓練された５ワードサブモデルや、ユーザ発話における終了時点が３ワード後であることを推定するように訓練された５ワードサブモデル等、任意のワード数ｎ毎に訓練されたサブモデルを有してもよい。
【００７７】
図７は、本発明の実施形態に係る後続単語数予測モデルを訓練するための単語列７００の一例を示す図である。単語列７００は、例えば過去に収集した対話履歴から抽出した発話であってもよく、訓練用に作成された発話であってもよい。図７に示すように、この単語列７００には、発話における終了時点であるＢＯＰ及びＥＯＴを示すタイミングラベルが付されている。これらの終了時点を示すラベルは、サブモデルの訓練プロセスにおいて、サブモデルが目指すべきグラウンドトゥルース（正しい終了時点として定められている情報）として機能する。
また、図７に示すように、単語列７００は、訓練プロセスを促進するために、７１０a及び７１０ｂの二つのシーケンスに分割されている。原則として、単語列は、各ＢＯＰで別のシーケンスに分割される。例えば、単語列がＢＯＰを３つ含む場合には、３つのシーケンスに分割されてもよい。
【００７８】
再帰型ニューラルネットワークを用いて、図７に示すような単語列７００を教師データとして上述したサブモデルを訓練することで、発話における終了時点を任意のワード数ｎ前に予測できるサブモデルを実現させることができる。この訓練プロセスにおいて、訓練途中のサブモデルの終了判定の、単語列７００のタイミングラベルで示されている正しい終了判定に対する損失（ｌｏｓｓ）を最小化させることで、サブモデルの判定精度を向上させることができる。この損失は、以下の数式１２で示される。
【数１２】
2020187211.tif 000017
また、数１２におけるλiは、以下の数式１３で示される。
【数１３】
2020187211.tif 000018
ここでは、ｉは特定のシーケンスが単語列において何番目のであるかを示す数字であり、Ｌはこのシーケンスに含まれる単語数である。ｎは、所望のワード数を示す数字である。ｐiは、シーケンスｉ番目のグラウンドトゥルースであり、ＢＯＰ又はＥＯＴであれば１、それ以外ならば０となる値である。ｑiはシーケンスｉ番目の単語において、学習中の再帰型ニューラルネットワークが出力するＢＯＰまたはＥＯＴの確率値であり、０から１の間の値である。ｗｐｏｓおよびｗｎｅｇは、学習データのバランスをとるための係数である。具体的な計算方法としては、ｗｐｏｓとしては、学習データに含まれるシーケンス列にある単語のうち、ＥＯＴ又はＢＯＰのラベルが付与されていない単語数を計算し、それをＥＯＴまたはＢＯＰのラベルが付与されている単語数で割った値を、ｗｐｏｓとして用いる。ｗｎｅｇには、１を用いる。
また、図７に示す単語列７００では、最後の単語にかならずＥＯＴ又はＢＯＰのラベルが付与されているデータを示したが、それ以外にも、シーケンス内の単語のどれもＥＯＴ、ＢＯＰラベルが存在しないものを学習データに含んでもよい。このようなシーケンスを学習に用いる場合の損失は、以下の数式１４で示される。
【数１４】
2020187211.tif 000019
最終的には、数式１２と数式１４で計算される損失を加算し、それが最小化されるように学習を行う。
【００７９】
図８は、訓練した後続単語数予測サブモデルの終了判定の結果を示すグラフである。以上の数式１２を用いて、異なるワード数ｎで後続単語数予測モデルを訓練し、損失を最小化させることで、図８に示すように、１ワード前、２ワード前、３ワード前、４ワード前のそれぞれのワード数ｎについて、発話における終了時点を正確に判定できるサブモデルを実現させることができる。
なお、図８では、ｎ＝１、ｎ＝２、ｎ＝３、及びｎ＝４の４つのサブモデルを訓練した場合を例示しているが、本発明はそれに限定されず、任意の数のサブモデルを訓練してもよい。
【００８０】
上述したように、ユーザの発話速度及び応答生成処理による遅延時間に基づいて、訓練したサブモデルの中から適切なサブモデルを選択することで、ユーザの発話における終了時点を事前に推定し、対話装置の応答を生成する処理を早めに開始することができる。これにより、字句特徴モデルによる遅延時間を短縮し、ユーザと対話装置の間で自然な会話を実現させることができる。
【００８１】
次に、図９を参照し、本発明の実施形態に係る機械発話の生成について説明する。
【００８２】
図９は、発話における終了時点を推定するように適用された再帰型ニューラルネットワークにおけるセル（ＲＮＮセル）９５０の一例を示す図である。図９に示すように、このセル９５０は、自動音声認識の結果から判定された第１のユーザ発話の発話行為、上述した予測部によって予測される第２のユーザ発話の発話行為、第１の機械発話の発話行為、及び対話の履歴を示す対話履歴を入力とする。それぞれの入力は、例えばベクトルとして表現されてもよい。
例えば、対話の履歴は、いわゆる「信念状態」（ｂｅｌｉｅｆ  ｓｔａｔｅ）のベクトルとして表現されてもよい。この信念状態のベクトルは、ある対話において、現在の時点に至るまでの情報（ユーザの要求、対話装置からの提案等）を縮約した状態で記録するベクトルである。
なお、図９に示すように、セル９５０は、ニューラルネットワークにおいて他のセルの隠れ状態（Ｈｉｄｄｅｎ  ｓｔａｔｅｓ）を受信し、自分の隠れ状態を他のセルに渡すように構成されてもよい。
【００８３】
図９に示す情報を入力したセル９５０は、第２のユーザ発話に対する第２の機械発話を生成する。ユーザの発話における終了時点がＢＯＰ（相槌機会）である場合には、この第２の機会発話は「はい」や「なるほどですね」等の相槌であってもよく、終了時点がＥＯＴ「発話終了」である場合には、この第２の機械発話は自然言語生成を用いて生成された応答であってもよい。
なお、セル（ＲＮＮセル）９５０の出力は第２の発話機械に限らず、ユーザの状態を示す情報を含んでもよい。例えば、セル（ＲＮＮセル）９５０は、入力された情報を解析し、「ユーザが検討中」や「ユーザが同行人と相談中」等のユーザ状態を示す情報をベクトルとして出力してもよい。その後、上述した応答生成部は、このユーザ状態を示すベクトルに基づいて、適切な機械発話又は別の行動を決定してもよい。
【００８４】
次に、図１０を参照し、本発明の実施形態に係るモデル重み付けの計算の変形例について説明する。
【００８５】
図１０は、本発明の実施形態に係るモデル重み付けの計算の変形例を示す図である。図６では、予測部によって予測された発話長短属性を用いて音声特徴モデル及び字句特徴モデルの重み付けを計算する計算部６４０について説明したが、本実施形態に係る計算部は予測部の機能を担ってもよい。この場合には、発話長短属性を予測するための専用の機能部を設ける必要がないため、メモリやＣＰＵの使用量を削減することができる。
【００８６】
図１０に示すように、予測部の機能を担うように構成された計算部１０５０は、自動音声認識の結果から判定された第１のユーザ発話の発話行為、第２のユーザ発話の発話行為、第１の機械発話の発話行為、対話の履歴を示す対話履歴、字句特徴モデルの処理による遅延時間、音声特徴モデルの信頼値、及び字句特徴モデルの信頼値を入力とする。
その後、計算部１０５０は、入力した発話行為の情報に基づいてユーザの発話長短属性を推定し、推定した発話長短属性、字句特徴モデルの遅延時間、音声特徴モデルの信頼値、及び字句特徴モデルの信頼値に基づいて、字句特徴モデル及び音声特徴モデルの重み付けを計算してもよい。この重み付けの計算は、図６を参照して説明した処理と実質的に同様であるため、その説明は省略する。
【００８７】
次に、図１１を参照して、本発明の実施形態に係る終了時点確率の計算の変形例について説明する。
【００８８】
図１１は、本発明の実施形態に係る終了時点確率の計算の変形例を示す図である。以上では、音声特徴と、字句特徴とのうちのいずれか１つを用いて発話の終了時点を推定する処理について説明したが、本発明はそれに限定されず、音声特徴及び字句特徴の両方を用いて発話の終了時点を推定することも可能である。
【００８９】
音声特徴及び字句特徴の両方を用いて発話の終了時点を推定する場合には、まず、ニューラルネットワーク１１１０は、音声特徴、字句特徴、自動音声認識の結果から判定された第１のユーザ発話の発話行為、第２のユーザ発話の発話行為、第１の機械発話の発話行為、対話の履歴を示す対話履歴、及び字句特徴モデルの処理による遅延時間を入力とする。
【００９０】
続いて、音声特徴モデル１１１５及び字句特徴モデル１１２０のそれぞれは、入力した音声特徴及び字句特徴を用いて、発話の終了時点の相槌機会（ＢＯＰ）の確率と、発話の終了時点の発話終了（ＥＯＴ）の確率とを平行に計算する。その後、計算部１１２５は、音声特徴モデル１１１５及び字句特徴モデル１１２０が計算したそれぞれの確率を入力し、これらの確率の加重平均値を、例えば音声特徴モデル１１１５及び字句特徴モデル１１２０について設定された重み付けに基づいて計算してもよい。この加重平均値は終了時点の最終確率値として、上述した応答生成部に出力されてもよい。そして、応答生成部は、この終了時点の最終確率値を用いて、第２の機械発話を生成してもよい。
【００９１】
以上説明した実施形態により、ユーザの次の発話について予測されている発話の長短属性に基づいて、ユーザの発話の終了時点を判定するためのモデルを音声特徴モデル又は字句特徴モデルのいずれかから選択することで、ユーザの待ち時間を短縮させ、ユーザと対話装置との間でより自然な会話を実現させることができる。
【００９２】
本発明に係る実施形態の機能は、ソフトウェアのプログラムコードによっても実現されてもよい。この場合、本発明の機能を実施するためのプログラムコードが記録された記憶媒体が装置やシステムに供給され、当該装置やシステムに搭載されるコンピューティングデバイス（ＣＰＵ、ＭＰＵ等）がプログラムコードを読み取って実施してもよい。記憶媒体から読出されたプログラムコードをコンピュータによって実行することで、前述した実施形態の機能が実現されることにとり、当該機能を実施するために用いられたプログラムコード、記憶媒体、及びコンピューティングデバイス自体が本発明の構成要素となる。
プログラムコードを記録するための記憶媒体としては、例えばフレキシブルディスク、ＣＤ-ＲＯＭ、ＤＶＤ-ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ-Ｒ、磁気テープ、不揮発性メモリカード、ＲＯＭ等がある。
また、対話装置の出力は、音声に限定されず、テキストを画面に表示するなどの方法で質問や応答をユーザに提示しても良いことはいうまでもない。
【００９３】
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【００９４】
２１０      ユーザ
２５０      対話装置
２５２      入力部
２５４      予測部
２５６      選択部
２５８      推定部
２６０      応答生成部
２６２      ストレージ部
２６４      音声特徴モデル
２６６      字句特徴モデル
【図１】
2020187211.tif 000020
【図２】
2020187211.tif 000021
【図３】
2020187211.tif 000022
【図４】
2020187211.tif 000023
【図５】
2020187211.tif 000024
【図６】
2020187211.tif 000025
【図７】
2020187211.tif 000026
【図８】
2020187211.tif 000027
【図９】
2020187211.tif 000028
【図１０】
2020187211.tif 000029
【図１１】
2020187211.tif 000030