(57)【要約】【課題】対話者と装置との対話中に話題が変化した場合であっても正確な認識を行うことを可能とする音声対話装置、音声対話方法、および音声対話プログラムを提供する。【解決手段】マイクから入力されたユーザの音声データが、実行中のタスクに対応する実行モデルを用いて音声認識される（Ｓ１０３）。正面顔が認識できなくなった場合（Ｓ１１３：ＮＯ）、ユーザが音声対話装置との対話を中断し、第三者と対話し始めたと判断され、実行中のタスクは中断される（Ｓ１４１）。第三者との対話がすべての言語モデルで音声認識され、認識結果に基づいて、音声対話装置との対話再開後のタスクに対応する予測モデルが決定される。音声対話装置との対話が再開されると、実行モデルと予測モデルとを用いた音声認識が行われる（Ｓ１０３、Ｓ１２１）。【選択図】図７
2010066519.tif 000002
【特許請求の範囲】
【請求項１】
対話者との間で音声を用いて情報のやり取りを行う音声対話装置であって、
音声入力手段から入力された音声の音声情報を取得する音声情報取得手段と、
複数の話題に応じて予め言語モデル記憶手段に記憶されている複数の言語モデルのうち、現在の話題に応じた言語モデルである現在モデルを用いて、前記音声情報取得手段によって取得された前記音声情報を認識する第１の音声認識手段と、
前記対話者と第三者との対話が発生したことを検出する対話発生検出手段と、
前記対話発生検出手段によって前記対話が発生したことが検出された場合に、前記複数の言語モデルのうち少なくとも一部を用いて、前記音声情報取得手段によって取得された前記音声情報をそれぞれ認識する第２の音声認識手段と、
前記第２の音声認識手段による認識結果に基づいて、前記複数の言語モデルのうち１つを、次に予測される話題に応じた言語モデルである予測モデルとして選択する予測モデル選択手段と、
前記対話者と前記第三者との前記対話が終了したことを検出する対話終了検出手段と、
前記対話終了検出手段によって前記対話が終了したことが検出された場合に、前記現在モデルと前記予測モデル選択手段によって選択された前記予測モデルとを用いて、前記音声情報取得手段によって取得された前記音声情報を認識する第３の音声認識手段とを備えたことを特徴とする音声対話装置。
【請求項２】
前記予測モデルを用いた前記第３の音声認識手段による前記認識結果の方が、前記現在モデルを用いた前記第３の音声認識手段による前記認識結果より認識確率が高い場合に、前記現在モデルを、一時的に使用を中断する言語モデルである待機モデルとして決定する待機モデル決定手段と、
前記待機モデル決定手段によって前記現在モデルが前記待機モデルとして決定された場合に、前記予測モデルで現在モデルを置き換える予測モデル置換え手段と、
前記予測モデル置換え手段によって置き換えられた前記現在モデルに対応する前記現在の話題が終了したか否かを判断する話題終了判断手段と、
前記話題終了判断手段によって前記現在の話題が終了したと判断された場合に、前記待機モデル決定手段によって決定された前記待機モデルで前記現在モデルを置き換える待機モデル復帰手段とをさらに備えたことを特徴とする請求項１に記載の音声対話装置。
【請求項３】
前記第２の音声認識手段による前記認識結果を重み付けする重み付け手段をさらに備え、
前記第２の音声認識手段は、前記音声情報取得手段によって前記音声情報が取得される度に前記音声情報を認識し、
前記重み付け手段は、前記音声取得手段によって新たに取得された前記音声情報の前記認識結果に対して、前記音声取得手段によって前回取得された前記音声情報の前記認識結果よりも大きな重み付けをし、
前記予測モデル選択手段は、前記重み付け手段によって重み付けされた前記認識結果に基づいて、前記予測モデルを選択することを特徴とする請求項１または２に記載の音声対話装置。
【請求項４】
前記第２の音声認識手段は、前記音声情報取得手段によって前記音声情報が取得される度に前記音声情報を認識し、
前記予測モデル選択手段は、前記対話終了検出手段によって前記第三者との前記対話が終了したことが検出される直前の前記第２の音声認識手段による前記認識結果に基づいて、前記予測モデルを選択することを特徴とする請求項１または２に記載の音声対話装置。
【請求項５】
前記予測モデル選択手段は、複数の単語と意味属性とを対応付けて記憶する単語意味記憶手段を用いて、前記複数の言語モデルのうち少なくとも一部の各々について、前記第２の音声認識手段による前記認識結果に含まれる単語の意味属性を特定する意味特定手段と、
前記複数の言語モデルと関連する意味属性とを対応付けて記憶するモデル意味記憶手段を用いて、前記複数の言語モデルのうち少なくとも一部の各々に関連する意味属性として、前記意味特定手段によって特定された前記意味属性の数をカウントするカウント手段と、
前記複数の言語モデルのうち、前記カウント手段によってカウントされた前記関連する意味属性の数が最も多い言語モデルを前記予測モデルとして選択する対応モデル選択手段とを備えたことを特徴とする請求項１〜４のいずれかに記載の音声対話装置。
【請求項６】
前記第２の音声認識手段は、前記複数の言語モデルのうち、少なくとも前記現在モデル以外の言語モデルをすべて用いて、前記音声情報を認識することを特徴とする請求項１〜５のいずれかに記載の音声対話装置。
【請求項７】
前記対話者の顔を少なくとも含む画像を撮影する撮影手段を備え、
前記対話発生検出手段および前記対話終了手段は、それぞれ、前記撮影手段によって撮影された前記画像に含まれる前記対話者の前記顔の向きによって、前記対話者と第三者との前記対話の発生および終了を検出することを特徴とする請求項１〜６のいずれかに記載の音声対話装置。
【請求項８】
音声を出力する音声出力手段に対して前記複数の話題に応じて予め定められた前記対話者に対する応答の音声情報を出力する音声情報出力手段をさらに備え、
前記音声情報出力手段は、前記対話発生検出手段によって前記対話が発生したことが検出された後、前記対話終了検出手段によって前記対話が終了したことが検出されるまでの間、前記応答の前記音声情報を出力しないことを特徴とする請求項１〜７のいずれかに記載の音声対話装置。
【請求項９】
音声対話装置によって処理される、対話者との間で音声を用いて情報のやり取りを行う音声対話方法であって、
音声入力手段から入力された音声の音声情報を取得する音声情報取得ステップと、
複数の話題に応じて予め言語モデル記憶手段に記憶されている複数の言語モデルのうち、現在の話題に応じた言語モデルである現在モデルを用いて、前記音声情報取得ステップで取得された前記音声情報を認識する第１の音声認識ステップと、
前記対話者と第三者との対話が発生したことを検出する対話発生検出ステップと、
前記対話発生検出ステップで前記対話が発生したことが検出された場合に、前記複数の言語モデルのうち少なくとも一部を用いて、前記音声情報取得ステップで取得された前記音声情報をそれぞれ認識する第２の音声認識ステップと、
前記第２の音声認識ステップにおける認識結果に基づいて、前記複数の言語モデルのうち１つを、次に予測される話題に応じた言語モデルである予測モデルとして選択する予測モデル選択ステップと、
前記対話者と前記第三者との前記対話が終了したことを検出する対話終了検出ステップと、
前記対話終了検出ステップで前記対話が終了したことが検出された場合に、前記現在モデルと前記予測モデル選択ステップで選択された前記予測モデルとを用いて、前記音声情報取得ステップで取得された前記音声情報を認識する第３の音声認識ステップとを備えたことを特徴とする音声対話方法。
【請求項１０】
請求項１〜８のいずれかに記載の音声対話装置の各種処理手段としてコンピュータを機能させるための音声対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声対話装置、音声対話方法、および音声対話プログラムに関する。より具体的には、ユーザとの情報のやり取りを音声によって行う音声対話装置、音声対話方法、および音声対話プログラムに関する。
【背景技術】
【０００２】
従来から、単語のつながりに関する制約を定義する言語モデルを用いた音声認識技術を利用して、ユーザとの対話形式で情報をやりとりする装置が知られている。このような装置では、音声認識の効率の向上が望まれている。例えば、特許文献１に記載の音声対話システムは、対話が行われる場面を複数設定し、各場面に応じた言語モデルを用いることにより、その場面での音声認識率を向上させている。
【特許文献１】特許第２８７１４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１に記載の音声対話システムでは、ある話題（例えば、旅行手続）で対話が行われている間、発話内容の場面（例えば、システムからの各種質問場面）に応じて言語モデルが切り替えられる。しかしながら、例えば、ユーザがシステムから一度注意をそらして第三者と対話を行い、再度システムとの対話に戻る場合のように、突然話題が変化しても、話題に応じて言語モデルが切り替えられるわけではない。したがって、認識の正確性が低下する虞がある。
【０００４】
本発明は、上記問題点を解決するためになされたものであり、対話者と装置との対話中に話題が変化した場合であっても正確な認識を行うことを可能とする音声対話装置、音声対話方法、および音声対話プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
請求項１に係る発明の音声対話装置は、対話者との間で音声を用いて情報のやり取りを行う音声対話装置であって、音声入力手段から入力された音声の音声情報を取得する音声情報取得手段と、複数の話題に応じて予め言語モデル記憶手段に記憶されている複数の言語モデルのうち、現在の話題に応じた言語モデルである現在モデルを用いて、前記音声情報取得手段によって取得された前記音声情報を認識する第１の音声認識手段と、前記対話者と第三者との対話が発生したことを検出する対話発生検出手段と、前記対話発生検出手段によって前記対話が発生したことが検出された場合に、前記複数の言語モデルのうち少なくとも一部を用いて、前記音声情報取得手段によって取得された前記音声情報をそれぞれ認識する第２の音声認識手段と、前記第２の音声認識手段による認識結果に基づいて、前記複数の言語モデルのうち１つを、次に予測される話題に応じた言語モデルである予測モデルとして選択する予測モデル選択手段と、前記対話者と前記第三者との前記対話が終了したことを検出する対話終了検出手段と、前記対話終了検出手段によって前記対話が終了したことが検出された場合に、前記現在モデルと前記予測モデル選択手段によって選択された前記予測モデルとを用いて、前記音声情報取得手段によって取得された前記音声情報を認識する第３の音声認識手段とを備えている。
【０００６】
請求項２に係る発明の音声対話装置は、請求項１に記載の発明の構成に加え、前記予測モデルを用いた前記第３の音声認識手段による前記認識結果の方が、前記現在モデルを用いた前記第３の音声認識手段による前記認識結果より認識確率が高い場合に、前記現在モデルを、一時的に使用を中断する言語モデルである待機モデルとして決定する待機モデル決定手段と、前記待機モデル決定手段によって前記現在モデルが前記待機モデルとして決定された場合に、前記予測モデルで現在モデルを置き換える予測モデル置換え手段と、前記予測モデル置換え手段によって置き換えられた前記現在モデルに対応する前記現在の話題が終了したか否かを判断する話題終了判断手段と、前記話題終了判断手段によって前記現在の話題が終了したと判断された場合に、前記待機モデル決定手段によって決定された前記待機モデルで前記現在モデルを置き換える待機モデル復帰手段とをさらに備えている。
【０００７】
請求項３に係る発明の音声対話装置は、請求項１または２に記載の発明の構成に加え、前記第２の音声認識手段による前記認識結果を重み付けする重み付け手段をさらに備え、前記第２の音声認識手段は、前記音声情報取得手段によって前記音声情報が取得される度に前記音声情報を認識し、前記重み付け手段は、前記音声取得手段によって新たに取得された前記音声情報の前記認識結果に対して、前記音声取得手段によって前回取得された前記音声情報の前記認識結果よりも大きな重み付けをし、前記予測モデル選択手段は、前記重み付け手段によって重み付けされた前記認識結果に基づいて、前記予測モデルを選択することを特徴とする。
【０００８】
請求項４に係る発明の音声対話装置では、請求項１または２に記載の発明の構成に加え、前記第２の音声認識手段は、前記音声情報取得手段によって前記音声情報が取得される度に前記音声情報を認識し、前記予測モデル選択手段は、前記対話終了検出手段によって前記第三者との前記対話が終了したことが検出される直前の前記第２の音声認識手段による前記認識結果に基づいて、前記予測モデルを選択することを特徴とする。
【０００９】
請求項５に係る発明の音声対話装置は、請求項１〜４のいずれかに記載の発明の構成に加え、前記予測モデル選択手段は、複数の単語と意味属性とを対応付けて記憶する単語意味記憶手段を用いて、前記複数の言語モデルのうち少なくとも一部の各々について、前記第２の音声認識手段による前記認識結果に含まれる単語の意味属性を特定する意味特定手段と、前記複数の言語モデルと関連する意味属性とを対応付けて記憶するモデル意味記憶手段を用いて、前記複数の言語モデルのうち少なくとも一部の各々に関連する意味属性として、前記意味特定手段によって特定された前記意味属性の数をカウントするカウント手段と、前記複数の言語モデルのうち、前記カウント手段によってカウントされた前記関連する意味属性の数が最も多い言語モデルを前記予測モデルとして選択する対応モデル選択手段とを備えている。
【００１０】
請求項６に係る発明の音声対話装置では、請求項１〜５のいずれかに記載の発明の構成に加え、前記第２の音声認識手段は、前記複数の言語モデルのうち、少なくとも前記現在モデル以外の言語モデルをすべて用いて、前記音声情報を認識することを特徴とする。
【００１１】
請求項７に係る発明の音声対話装置は、請求項１〜６のいずれかに記載の発明の構成に加え、前記対話者の顔を少なくとも含む画像を撮影する撮影手段を備え、前記対話発生検出手段および前記対話終了手段は、それぞれ、前記撮影手段によって撮影された前記画像に含まれる前記対話者の前記顔の向きによって、前記対話者と第三者との前記対話の発生および終了を検出することを特徴とする。
【００１２】
請求項８に係る発明の音声対話装置は、請求項１〜７のいずれかに記載の発明の構成に加え、音声を出力する音声出力手段に対して前記複数の話題に応じて予め定められた前記対話者に対する応答の音声情報を出力する音声情報出力手段をさらに備え、前記音声情報出力手段は、前記対話発生検出手段によって前記対話が発生したことが検出された後、前記対話終了検出手段によって前記対話が終了したことが検出されるまでの間、前記応答の前記音声情報を出力しないことを特徴とする。
【００１３】
請求項９に係る発明の音声対話方法は、音声対話装置によって処理される、対話者との間で音声を用いて情報のやり取りを行う音声対話方法であって、音声入力手段から入力された音声の音声情報を取得する音声情報取得ステップと、複数の話題に応じて予め言語モデル記憶手段に記憶されている複数の言語モデルのうち、現在の話題に応じた言語モデルである現在モデルを用いて、前記音声情報取得ステップで取得された前記音声情報を認識する第１の音声認識ステップと、前記対話者と第三者との対話が発生したことを検出する対話発生検出ステップと、前記対話発生検出ステップで前記対話が発生したことが検出された場合に、前記複数の言語モデルのうち少なくとも一部を用いて、前記音声情報取得ステップで取得された前記音声情報をそれぞれ認識する第２の音声認識ステップと、前記第２の音声認識ステップにおける認識結果に基づいて、前記複数の言語モデルのうち１つを、次に予測される話題に応じた言語モデルである予測モデルとして選択する予測モデル選択ステップと、前記対話者と前記第三者との前記対話が終了したことを検出する対話終了検出ステップと、前記対話終了検出ステップで前記対話が終了したことが検出された場合に、前記現在モデルと前記予測モデル選択ステップで選択された前記予測モデルとを用いて、前記音声情報取得ステップで取得された前記音声情報を認識する第３の音声認識ステップとを備えている。
【００１４】
請求項１０に係る発明の音声対話プログラムは、請求項１〜８のいずれかに記載の音声対話装置の各種処理手段としてコンピュータを機能させることを特徴とする。
【発明の効果】
【００１５】
請求項１に係る発明の音声対話装置によれば、対話者が、音声対話装置との対話の途中で第三者と対話し出した場合、第三者との対話が複数の言語モデルのうち少なくとも一部を用いて認識され、その認識結果に基づいて、次に予測される話題に応じた予測モデルが選択される。そして、第三者との対話が終了すると、元の話題に対応する現在モデルと予測モデルの両方を用いて音声認識が行われる。したがって、間に第三者との対話が挟まれることによって、音声対話装置との対話の話題が突然切り替わる場合に柔軟に対応でき、認識の正確性を向上させることができる。
【００１６】
請求項２に係る発明の音声対話装置によれば、第三者との対話終了後に再開された音声対話装置との対話の認識結果が、現在モデルよりも予測モデルを用いた場合の方が高ければ、現在モデルは待機モデルとされ、代わりに予測モデルが現在モデルとして置き換えられ、音声認識が行われる。そして、現在モデルに対応する現在の話題が終了すると、待機モデルを現在モデルに戻して、音声認識が行われる。第三者との対話によって一旦話題が切り替わっても、その後、音声対話装置との対話は元の話題に復帰する可能性が高い。したがって、請求項１に記載の発明の効果に加え、切り替え後の話題が終了したら、元の話題に対応する待機モデルを現在モデルとして戻すことにより、元の話題への復帰に速やかに対応でき、認識の正確性をさらに向上することができる。
【００１７】
請求項３に係る発明の音声対話装置によれば、第三者との対話の発生が検出された後、音声情報が取得される度に認識が行われ、新たに取得された音声情報の認識結果ほど前に取得された音声情報の認識結果よりも大きな重み付けがされ、重み付けされた認識結果に基づいて予測モデルが選択される。すなわち、第三者とのより新しい対話を重視して予測モデルが選択される。したがって、請求項１または２に記載の発明の効果に加え、第三者との対話が長くなり、対話中に話題が変化した場合であっても、最新の話題によりよく対応でき、認識の正確性をさらに向上することができる。
【００１８】
請求項４に係る発明の音声対話装置によれば、第三者との対話の発生が検出された後、音声情報が取得される度に認識が行われ、第三者との対話の終了が検出される直前の認識結果に基づいて予測モデルが選択される。したがって、請求項１または２に記載の発明の効果に加え、第三者との対話が長くなり、対話中に話題が変化した場合であっても、最新の話題によりよく対応でき、認識の正確性をさらに向上することができる。
【００１９】
請求項５に係る発明の音声対話装置は、単語意味記憶手段を用いて、複数の言語モデルのうち少なくとも一部の各々を使用した認識結果に含まれる単語の意味属性を特定し、その数が最多の言語モデルを予測モデルとして選択する。したがって、請求項１〜４のいずれかに記載の発明の効果に加え、適切な予測モデルを簡便に選択することができる。
【００２０】
請求項６に係る発明の音声対話装置は、少なくとも、現在の話題に対応する現在モデル以外の言語モデルをすべて用いて、第三者との対話が認識される。第三者との対話が発生した場合、その話題は、音声対話装置との元の話題とは異なる可能性が高いと考えられる。したがって、請求項１〜５のいずれかに記載の発明の効果に加え、予測される最大範囲の話題をカバーしつつ、認識の正確性をより向上することができる。また、処理効率を向上することができる。
【００２１】
請求項７に係る発明の音声対話装置によれば、第三者との対話の発生および終了の検出に、撮影手段によって撮影される対話者の顔画像が使用される。したがって、請求項１〜６のいずれかに記載の発明の効果に加え、第三者との対話の発生や終了を簡便に検出することができる。
【００２２】
請求項８に係る発明の音声対話装置によれば、第三者との対話が行われている間は、音声出力手段から、対話者に対する応答の音声情報は出力されない。すなわち、第三者との対話中に不要な応答が差し挟まれることがない。したがって、請求項１〜７のいずれかに記載の発明の効果に加え、対話者は、第三者との対話および音声対話装置との対話を、不要な音声に妨げられることなく行うことができる。
【００２３】
請求項９に係る発明の音声対話方法によれば、対話者が、音声対話装置との対話の途中で第三者と対話し出した場合、第三者との対話が複数の言語モデルのうち少なくとも一部を用いて認識され、その認識結果に基づいて、次に予測される話題に応じた予測モデルが選択される。そして、第三者との対話が終了すると、元の話題に対応する現在モデルと予測モデルの両方を用いて音声認識が行われる。したがって、間に第三者との対話が挟まれることによって、音声対話装置との対話の話題が突然切り替わる場合に柔軟に対応でき、認識の正確性を向上させることができる。
【００２４】
請求項１０に係る発明の音声対話プログラムは、請求項１〜８のいずれかに記載の音声対話装置の各種処理手段としてコンピュータを機能させることができる。したがって、請求項１〜８のいずれかに記載の発明の効果を奏することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明を具現化した実施の形態について、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
【００２６】
<第１の実施形態>
以下に、図１〜図１３を参照して、本発明の第１の実施形態について、説明する。まず、図１〜図５を参照して、本実施形態に係る音声対話装置１の構成について説明する。図１は、音声対話装置１の概略正面図である。図２は、音声対話装置１の電気的構成を示すブロック図である。図３は、ハードディスク装置１５に設けられた記憶エリアの説明図である。図４は、意味属性テーブル１５４０の説明図である。図５は、タスクテーブル１５５０の説明図である。
【００２７】
まず、図１を参照して、音声対話装置１の物理的構成について説明する。音声対話装置１は、例えば、略直方体形状を有する筐体２を備えた小型の端末装置として構成することができる。本実施形態の音声対話装置１は、図１に示すように、正面に、ディスプレイ１６、マイク１７、スピーカ１８、およびカメラ１９を備えている。ディスプレイ１６には、例えば、音声案内業務を行っている想定の人物やキャラクタの画像や、スピーカ１８から発話される音声に対応する文章、ユーザの指示に応じて実行されたタスクの処理結果等が表示される。マイク１７は、音声が入力される機器であり、入力された音声を音声データに変換して出力する。スピーカ１８は、入力された音声データを音声に変換して出力する機器である。カメラ１９は、画像を撮影する機器であり、本実施形態では、ユーザの顔向きを判断するための画像を撮影するのに使用される。
【００２８】
次に、図２〜図５を参照して、音声対話装置１の電気的構成について説明する。図２に示すように、音声対話装置１は、ＣＰＵ１１と、ＣＰＵ１１に各々接続されたＲＯＭ１２およびＲＡＭ１３を含む制御回路部１０を備えている。ＣＰＵ１１には、入出力（Ｉ／Ｏ）インタフェイス１４が接続されている。Ｉ／Ｏインタフェイス１４には、ハードディスク装置（ＨＤＤ）１５、ディスプレイ１６、マイク１７、スピーカ１８、カメラ１９、および通信装置２０が接続されている。なお、マイクは、本発明の「音声入力手段」に相当し、カメラ１９は、「撮影手段」に相当する。
【００２９】
ＣＰＵ１１は、音声対話装置１全体の制御を司る。ＲＯＭ１２は、音声対話装置１の基本的な動作に必要なプログラムやそのための設定値を記憶している。ＣＰＵ１１は、ＲＯＭ１２や、ＨＤＤ１５に記憶されたプログラムに従って、音声対話装置１の動作を制御する。ＲＡＭ１３は、各種データを一時的に記憶するための記憶装置である。
【００３０】
記憶装置であるＨＤＤ１５には、図３に示すように、複数の記憶エリアが設けられている。複数の記憶エリアは、例えば、音響モデル記憶エリア１５１、言語モデル記憶エリア１５２、単語辞書記憶エリア１５３、意味属性テーブル記憶エリア１５４、タスクテーブル記憶エリア１５５、およびプログラム記憶エリア１５６を含む。なお、言語モデル記憶エリア１５２は、本発明の「言語モデル記憶手段」に相当し、意味属性テーブル記憶エリア１５４は、本発明の「単語意味記憶手段」に相当し、タスクテーブル記憶エリア１５５は、本発明の「モデル意味記憶手段」に相当する。
【００３１】
音響モデル記憶エリア１５１には、音声認識処理で使用される周知の音響モデルが記憶されている。なお、詳細な説明は省略するが、音響モデルは、音声の音響的特徴（例えば、メルケプストラム）を統計的にモデル化したもので、例えば、母音、子音のそれぞれについて、特徴量と対応する音素とで表現されている。
【００３２】
言語モデル記憶エリア１５２には、音声認識処理で使用される言語モデルが記憶されている。言語モデルは、単語のつながり、すなわち単語間の結びつきに関する制約を定義するものである。代表的な言語モデルとして、例えば、単語間の結びつきを文法（グラマー）で記述する記述文法モデルと、単語間の結びつきを確率で定義する統計モデルがある。
【００３３】
統計モデルの代表的な例として、単語Ｎ−ｇｒａｍモデルがある。単語Ｎ−ｇｒａｍモデルとは、単語列Ｐ（ｗ１ｗ２・・・ｗｎ）のｉ番目の単語ｗｉの生起は、直前の（Ｎ−１）単語に依存するという仮説に基づくモデルである。単語Ｎ−ｇｒａｍモデルを例とする統計モデルを用いた音声認識処理では、認識結果である単語列と、その生起確率とが出力される。なお、本実施形態では、言語モデルとして統計モデルを採用するものとするが、必ずしも統計モデルを使用する必要はなく、記述文法モデルを使用してもよい。
【００３４】
言語モデル記憶エリア１５２には、ユーザと音声対話装置１との対話で想定される様々な話題に応じて互いに異なる複数の言語モデルが記憶されている。音声対話装置１は、ユーザが音声対話装置１に対して何らかのタスクを実行するように指示することにより動作する。よって、ユーザと音声対話装置１との間では、そのタスクに関連する対話が行われると想定されている。つまり、想定される話題は、音声対話装置１が実行可能なタスクに対応することになるため、本実施形態では、タスクを話題とみなしている。
【００３５】
音声対話装置１が実行可能なタスクとして、例えば、待受け（他のタスク実行の指示待ち）タスク、乗換え案内タスク、スケジュール確認タスク、地図案内タスクを含む複数のタスクが予め用意されている。そこで、これらのタスクの各々に対応した言語モデルである、待受け用モデル、乗換え案内用モデル、スケジュール確認用モデル、地図案内用モデルを含む複数の言語モデルが、それぞれの識別情報とともに言語モデル記憶エリア１５２に記憶されている。実行されるタスクに応じて、音声認識に使用する適切な言語モデルを切り替えることにより、音声認識の正確性を向上させることができる。
【００３６】
単語辞書記憶エリア１５３には、音声認識処理に使用される単語辞書（図示外）が記憶されている。単語辞書は、複数の単語と、各単語の発音に関する情報（例えば、音素列）との対応を記述するものである。単語辞書は、例えば、音声認識用に作成された汎用の単語辞書を採用することができる。
【００３７】
意味属性テーブル記憶エリア１５４には、意味属性テーブル１５４０（図４参照）が記憶されている。意味属性テーブル１５４０は、複数の単語と、各単語が有する意味属性との対応を示すテーブルである。例えば、図４に示す意味属性テーブル１５４０には、単語「打合せ」に対応する意味属性として「会議」および「階段」が、単語「いつ」に対応する意味属性として「日付」等が記憶されている。
【００３８】
タスクテーブル記憶エリア１５５（図３参照）には、タスクテーブル１５５０（図５参照）が記憶されている。タスクテーブル１５５０は、音声対話装置１が実行可能な複数のタスクと、各タスクに対応する言語モデルと、各タスクに関連づけられた意味属性との対応を示すテーブルである。例えば、図５に示すタスクテーブル１５５０には、待受けタスクに対応する言語モデルを識別する情報として、待受け用モデルの識別情報（図中は名称表記）、また、関連づけられた意味属性として「乗換え」および「日付」が記憶されている。同様に、他の様々なタスクについても、それぞれ、タスクの識別情報、タスクに対応する言語モデルの識別情報、および、関連づけられた意味属性が記憶されている。
【００３９】
プログラム記憶エリア１５６（図３参照）には、例えば、後述する各種処理に使用されるプログラムを含む、音声対話装置１の各種動作を制御するためのプログラムが複数記憶されている。なお、これらのプログラムは、例えばＣＤ−ＲＯＭに記憶されたものがＣＤ−ＲＯＭドライブ（図示外）を介してインストールされ、プログラム記憶エリア１５６に記憶される。または、通信装置２０を介してネットワーク（図示外）に接続し、ネットワーク上からダウンロードされたプログラムが記憶されてもよい。図示はされていないが、ＨＤＤ１５には、その他、各種処理で使用される設定値等も記憶されている。
【００４０】
ディスプレイ１６、マイク１７、スピーカ１８およびカメラ２０については、前述した通りである。通信装置２０は、ネットワーク（例えば、ＬＡＮ）に接続し、外部機器との間でデータの送受信を可能とするためのものである。
【００４１】
以下に、前述のように構成された音声対話装置１において行われる各種処理について、図６〜図１３を参照して説明する。図６は、音声対話装置１のメイン処理のフローチャートである。図７は、メイン処理中に実行されるタスク処理のフローチャートである。図８は、メイン処理中に実行される言語モデル予測処理のフローチャートである。図９は、言語モデル予測処理中に実行される意味解析処理のフローチャートである。図１０は、言語モデル予測処理中に実行される予測モデル決定処理のフローチャートである。
【００４２】
図１１は、音声対話装置１と対話しているユーザＰ１の説明図である。図１２は、第三者Ｐ２と対話しているユーザＰ１の説明図である。図１３は、ユーザ、音声対話装置１、および第三者の間で行われる対話の流れの一例と、対話中のユーザの顔向きとの関係を示す説明図である。なお、図６〜図１０の処理は、ＨＤＤ１５のプログラム記憶エリア１５６に記憶されたプログラムに従って、ＣＰＵ１０１が実行する。
【００４３】
まず、図６を参照して、メイン処理の流れについて説明する。音声対話装置１の電源がＯＮとされている間、カメラ１９は常時作動しており、所定間隔で（例えば、１秒毎に）、音声対話装置１の正面の所定の撮影領域を撮影する。撮影領域は、ユーザが音声対話装置１と対話する際、通常、顔が存在する位置を含むように予め定められている。カメラ１９から入力された撮影画像は、例えば、ＲＡＭ１３に構築されたリングバッファ（図示外）に、所定時間分記憶される。撮影画像はＣＰＵ１１によって監視されており、カメラ１９の撮影領域内に人間が進入すると、その動きが検知され、ユーザが現れたと判断される。このようにして、ユーザが検知されると、図６に示すメイン処理が開始される。
【００４４】
処理が開始されるとまず、実行されるタスクである実行タスクとして、処理開始時のタスクとして予め設定された待受けタスクが選択され、その識別情報がＲＡＭ１３の所定の記憶エリアに記憶される（Ｓ１）。また、実行タスクの実行中の音声認識に使用される言語モデルである実行モデルとして、待受けタスクに対応する言語モデルである待受け用モデルが選択され、その識別情報がＲＡＭ１３の所定の記憶エリアに記憶される（Ｓ１）。なお、以下では、説明の簡略化のため、タスクや言語モデルの識別情報とは記載せず、単にタスク名や言語モデル名を記載するものとする。
【００４５】
さらに、モードとして、デフォルト設定の「通常」、退避タスクおよび予測モデルとして、いずれもデフォルト設定の「なし」を示す情報が、それぞれＲＡＭ１３の所定の記憶エリアに記憶される（Ｓ２）。
【００４６】
モードとは、実行される処理の様式である。本実施形態では、モードとして、「通常モード」と「予測モード」の２種類がある。通常モードは、実行タスクを実行する処理（タスク処理）に対応する。一方、予測モードは、ユーザと音声対話装置１との対話において、次に予測される話題、すなわち次の実行タスクとして予測されるタスクに対応する言語モデルを選択する処理（言語モデル予測処理）に対応する。詳細は後述するが、通常モードで実行タスクが実行されている途中で、第三者の介入によってユーザと音声対話装置１との対話が中断され、実行タスクの実行が中断される場合がある。このような場合、ユーザと音声対話装置１との間で再開される対話の話題、すなわち次に実行すべきタスクは、対話中断前とは変化する可能性がある。そこで、モードが予測モードに切り替えられ、次のタスクの予測が行われる。
【００４７】
退避タスクとは、一時的に実行が中断された実行タスクである。より具体的には、ユーザと音声対話装置１との対話再開後の話題、すなわち、次に実行すべきタスクが、中断前とは変化していると判断された場合に、元々の実行タスクが退避タスクとして記憶されることになる。予測モデルとは、ユーザと音声対話装置１との対話において、次に予測される話題、すなわち予測されるタスクに対応する言語モデルである。
【００４８】
続いて、ＲＡＭ１３に記憶されたモードが「通常」を示しているか否かが判断される（Ｓ３）。処理開始後のステップＳ２で、モードは通常に設定され、その情報がＲＡＭ１３に記憶されている（Ｓ３：ＹＥＳ）。この場合、ＲＡＭ１３のフラグ記憶エリア（図示外）に記憶された中断フラグがゼロ（０）にセットされる（Ｓ４）。中断フラグは、後述するタスク処理（図７参照）が、ユーザと第三者との対話が発生したことにより、途中で中断されたか否かを特定するためのフラグである。中断フラグが０の場合、タスク処理は中断されていないことを示し、１の場合、タスク処理が中断されたことを示す。
【００４９】
中断フラグがゼロ（０）にされた後、タスク処理が行われる（Ｓ５、図７参照）。詳細は後述するが、タスク処理では、実行モデルを使用して音声認識を行いながら、実行タスクが実行される。タスク処理の後、タスク処理で中断フラグが１にされたか否かが判断される（Ｓ６）。前述したように、中断フラグが１である場合（Ｓ６：ＹＥＳ）、実行タスクの実行が中断されたことを示している。したがって、ＲＡＭ１３に「通常」と記憶されているモードが、言語モデル予測処理が行われることを示す「予測」に変更される（Ｓ７）。
【００５０】
実行タスクおよび退避タスクがいずれも「なし」としてＲＡＭ１３に記憶されているか否かが判断される（Ｓ１３）。実行タスクおよび退避タスクの少なくとも一方が、「なし」ではない場合（Ｓ１３：ＮＯ）、まだユーザと音声対話装置１との対話が継続される可能性があるため、処理はステップＳ３に戻る。ステップＳ７でモードが「予測」に変更されている場合は（Ｓ３：ＮＯ）、言語モデル予測処理が行われる（Ｓ１１、図８参照）。詳細は後述するが、言語モデル予測処理では、ユーザと第三者との対話の音声認識結果に基づいて、予測モデルを選択する処理が行われる。言語モデル予測処理の後、ＲＡＭ１３に「予測」で記憶されているモードが、再び、タスク処理が行われることを示す「通常」に変更される（Ｓ１２）。
【００５１】
続くステップＳ１３で、実行タスクおよび退避タスクの少なくとも一方が、「なし」ではないと判断された場合（Ｓ１３：ＮＯ）、まだユーザと音声対話装置１との対話が継続される可能性があるため、処理は再びステップＳ３に戻る。モードは「通常」であるから（Ｓ３：ＹＥＳ）、中断フラグが０とされ（Ｓ４）、タスク処理が行われる（Ｓ５、図７参照）。タスク処理で中断フラグが１にされなかった場合には（Ｓ６：ＮＯ）、実行タスクに応じたタスク処理が中断されずに終了したことを示している。この場合は、ＲＡＭ１３に退避タスクとしていずれかのタスクが記憶されているか否かが判断される（Ｓ８）。
【００５２】
退避タスクとして、処理開始直後のステップＳ２で、デフォルト設定の「なし」が記憶される。しかし、詳細は後述するが、ユーザと音声対話装置１との対話が、第三者の介入によって中断された後に再開された場合、実行すべきタスクが変化したと判断され、元々のタスクが退避タスクとして設定される場合がある。そこで、退避タスクがある場合には（Ｓ８：ＹＥＳ）、元々のタスクに復帰して適切な処理を継続できるように、退避タスクを実行タスクとし（Ｓ９）、退避タスクを「なし」としてＲＡＭ１３にそれぞれ記憶させた後（Ｓ１０）、処理はステップＳ１３に進む。退避タスクがなければ（Ｓ８：ＮＯ）、そのままステップＳ１３に進む。
【００５３】
実行タスクおよび退避タスクの少なくとも一方が、「なし」ではない場合（Ｓ１３：ＮＯ）、ステップＳ３に戻り、前述の処理が繰り返される。一方、ユーザと音声対話装置１との対話が完全に終了し、ＲＡＭ１３に実行タスクおよび退避タスクのいずれも「なし」と記憶されている状態になった場合（Ｓ１３：ＹＥＳ）、図６に示すメイン処理は終了する。
【００５４】
以下に、図７、図１１および図１２を参照して、図６のメイン処理中に実行されるタスク処理の詳細について説明する。図７に示すタスク処理が開始されると、まず、ＲＡＭ１３に記憶されている実行タスクに従って、音声対話装置１による発話が行われる（Ｓ１０１）。より具体的には、例えば、タスク毎に定められた対話シナリオに沿って予め作成され、ＨＤＤ１５の所定の記憶エリア（図示外）に記憶されている発話内容のテキストデータが読み出され、音声データに変換された後、スピーカ１８に対して出力される。そして、スピーカ１８で音声データが音声に変換されて、音声が出力される（Ｓ１０１）。例えば、処理開始後の最初のタスク処理の場合、図６のステップＳ１で設定された実行タスクである待受けタスクに応じて、音声対話装置１のスピーカ１８から「どんな御用でしょうか」という最初の発話が出力される。
【００５５】
続いて、マイク１７から入力された音声が音声データに変換され、ＲＡＭ１３の所定の記憶エリアに取得される（Ｓ１０２）。処理開始後の最初のタスク処理の場合、例えば、ユーザが音声対話装置１に実行させたいタスクを指定する「乗換え案内について教えて」という音声が入力される。
【００５６】
実行モデルを使用して、取得された音声データの音声認識処理が行われる（Ｓ１０３）。具体的には、まず、音声認識に使用される音響モデル、言語モデルおよび単語辞書が、ＨＤＤ１５（図３参照）の音響モデル記憶エリア１５１、言語モデル記憶エリア１５２、および単語辞書記憶エリア１５３からそれぞれ読み出される。なお、言語モデルとしては、ＲＡＭ１３に実行モデルとして記憶されている識別情報に対応する言語モデルが読み出される。例えば、処理開始後の最初のタスク処理の場合、メイン処理のステップＳ１（図６参照）で設定された実行モデルは、待受け用モデルである。よって、待受け用モデルが言語モデル記憶エリア１５２から読み出されることになる。
【００５７】
音響モデル、実行モデル、および単語辞書を用いて、音声認識が行われる（Ｓ１０３）。音声認識の方法には周知のいかなる方法を採用してもよい。例えば、次のような方法を採用することができる。まず、単語辞書を参照して音響モデルが接続されることにより、単語の音響モデルが生成される。そして、実行モデルを参照して、複数の単語の音響モデルが接続される。接続された単語の音響モデルの特徴量に基づき、連続分布ＨＭＭ法によって、ステップＳ１０２で取得された音声データの認識処理が行われる。その結果、接続された単語の音響モデルのうち、生起確率が最も高いものに対応する単語列が、認識結果として生起確率とともに出力される。得られた認識結果は、ＲＡＭ１３の所定の記憶エリアに記憶される。また、得られた生起確率は、生起確率１として、ＲＡＭ１３の所定の記憶エリアに記憶される（Ｓ１０４）。
【００５８】
続いて、ＲＡＭ１３に予測モデルとしていずれかの言語モデルが記憶されているか否かが判断される（Ｓ１０５）。前述したように、予測モデルのデフォルト設定は「なし」である（図６、Ｓ２参照）。このような場合、予測モデルがないと判断され（Ｓ１０５：ＮＯ）、前述したように、所定間隔でカメラ１９によって撮影され、リングバッファに記憶されている撮影画像のうち、最新の撮影画像が取得される（Ｓ１１１）。
【００５９】
取得された撮影画像に基づいて、ユーザの正面顔の認識処理が行われる（Ｓ１１２）。なお、正面顔とは、カメラ１９に対向する向きの顔をいう。つまり、図１１に示すように、ユーザＰ１が、音声対話装置１の正面に向かい合って対話をしている場合の顔の向きである。なお、図１１中の矢印は、ユーザＰ１の顔の向きを示している。正面顔の認識処理には、いかなる周知の方法を採用してもよい。例えば、Ｈａａｒ−ｌｉｋｅ特徴と、Ａｄａｂｏｏｓｔと呼ばれる学習アルゴリズムによって正面顔を学習させたカスケード型識別器とを用いた方法を採用することができる。この方法によれば、撮影画像内に存在する正面顔の領域を特定することができる。または、例えば、肌色領域に基づいて顔領域を検出し、顔領域内の特徴量に基づいて顔向きを検出してもよい。
【００６０】
正面顔が認識できなかった場合（Ｓ１１３：ＮＯ）、例えば、図１２に示すように、ユーザＰ１は、第三者Ｐ２が出現したことによって、音声対話装置１との対話を中断し、第三者Ｐ２に顔を向けて対話し出したと判断できる。したがって、ＲＡＭ１３のフラグ記憶エリアに０として記憶されていた中断フラグが、ユーザと第三者との対話の発生によりタスク処理が中断されたことを示す１に変更され（Ｓ１４１）、図７に示すタスク処理は終了して、図６のメイン処理に戻る。
【００６１】
一方、正面顔が認識できた場合には（Ｓ１１３：ＹＥＳ）、ユーザは音声対話装置１と向かい合って対話を続けていると判断できるため、ステップＳ１０３で得られた認識結果に応じて、実行タスクに対応するタスク固有制御処理が行われる（Ｓ１１４）。タスク固有制御処理とは、タスク毎に予め定められた、ユーザの発話に応じた具体的な処理をいう。タスク固有制御処理として、例えば、次のような処理が行われる。
【００６２】
待受けタスクの実行中に、マイク１７から、ユーザが実行を希望するタスク名の発話が入力された場合には、認識結果から特定されるタスクを、次に実行するタスク（以下、次タスクという）として決定し、ＲＡＭ１３に記憶させる処理が行われる。また、乗換え案内タスクの実行中に、ユーザが出発駅の駅名を発話した場合には、出発駅をＲＡＭ１３に記憶させる処理が行われる。乗換え案内タスクの実行中に、ユーザの発話が繰り返し認識された結果、出発駅等、乗換えに関する必要な情報がすべて取得できた場合には、通信装置２０を介してネットワーク上のデータベース（図示外）にアクセスし、そこに記憶された乗換えに関する情報を取得して、スピーカ１８から音声出力する処理が行われる。結果を表示することを通知する音声出力とともに、乗換えに関する情報をディスプレイ１６に表示する処理を行ってもよい。
【００６３】
タスク固有制御処理の後（Ｓ１１４）、実行タスクが終了したか否かが判断される（Ｓ１１５）。より具体的には、例えば、タスク毎に定められた対話シナリオで、タスクの終了を指示するユーザの発話とされている単語列（例えば、「ありがとう」）が、認識結果としてＲＡＭ１３に記憶されている場合に、実行タスクは終了したと判断すればよい。または、例えば、一定期間、マイク１７から音声入力がない場合に、終了したと判断してもよい。
【００６４】
実行タスクが終了したと判断された場合には（Ｓ１１５：ＹＥＳ）、ＲＡＭ１３に次タスクが記憶されているか否かが判断される（Ｓ１３１）。前述したように、タスク固有制御処理で次タスクが決定され、記憶されている場合には（Ｓ１３１：ＹＥＳ）、次に行われるタスク処理で、次タスクを実行する必要がある。したがって、ＲＡＭ１３に記憶されている実行タスクが次タスクに置換えられ（Ｓ１３２）、タスクテーブル１５５０（図５参照）を参照して、実行モデルが、次タスクに対応する言語モデルに置き換えられる（Ｓ１３３）。例えば、次タスクが乗換え案内タスクであれば、実行モデルとして乗換え案内用モデルが記憶されることになる。その後、図７に示すタスク処理は終了して、図６のメイン処理に戻る。
【００６５】
次タスクがない場合には（Ｓ１３１：ＮＯ）、ＲＡＭ１３の所定の記憶エリアに記憶されている実行タスクが「なし」とされた後（Ｓ１３５）、図７に示すタスク処理は終了して、図６のメイン処理に戻る。
【００６６】
まだ実行タスクが終了していないと判断された場合には（Ｓ１１５：ＮＯ）、処理はステップＳ１０１に戻る。この場合、実行タスクに対応する対話シナリオに従って、音声対話装置１から次の発話が行われる（Ｓ１０１）。前述したのと同様にして、マイク１７から入力される音声の認識処理が行われる（Ｓ１０２〜Ｓ１０４）。
【００６７】
後述する言語モデル予測処理（図６、Ｓ１１および図８参照）で、音声対話装置１との対話復帰後に予測される話題に応じて予測モデルが設定された場合、予測モデルがＲＡＭ１３に記憶されている（Ｓ１０５：ＹＥＳ）。このような場合、ユーザと音声対話装置１との対話は、第三者の介入によって中断された後に再開された状態にあるため、予測モデルを用いた音声認識も行われる（Ｓ１２１）。このときの処理方法は、前述したステップＳ１０３の場合と同様である。予測モデルを用いた認識結果は、ＲＡＭ１３の所定の記憶エリアに記憶される。また、得られた生起確率は、生起確率２として、ＲＡＭ１３の所定の記憶エリアに記憶される（Ｓ１２２）。
【００６８】
ステップＳ１２２で記憶された予測モデルによる認識結果の生起確率２の方が、ステップＳ１０４でＲＡＭ１３に記憶された、実行モデルによる認識結果の生起確率１よりも大きいか否かが判断される（Ｓ１２３）。すなわち、第三者の介入による中断後に再開された、ユーザと音声対話装置１との対話において、中断前の話題に対応する実行モデルによる認識精度と、予測された話題に対応する予測モデルによる認識精度のどちらが高いかが判断される。
【００６９】
生起確率２の方が、生起確率１よりも大きい場合（Ｓ１２３：ＹＥＳ）、実行モデルよりも、予測モデルによる認識精度の方が高いことになる。つまり、ユーザと音声対話装置１との対話の話題が、中断前の話題から、予測された話題に変化したと考えられる。したがって、中断前の話題に対応する実行タスクおよび実行モデルは、退避タスクおよび退避モデルとしてそれぞれ設定され、ＲＡＭ１３の所定の記憶エリアに記憶される（Ｓ１２４）。また、ＲＡＭ１３に記憶されている実行モデルは、予測モデルで置き換えられる（Ｓ１２５）。実行タスクは、タスクテーブル１５５０（図５参照）を参照して、予測モデルに対応するタスクに置き換えられる（Ｓ１２６）。その後、予測モデルは「なし」に変更され（Ｓ１２７）、処理はステップＳ１０１に戻る。
【００７０】
置き換えられた実行タスクに従って、音声対話装置１による発話が行われ（Ｓ１０１）、前述のステップＳ１０２〜Ｓ１１５の処理が繰り返される。正面顔が認識されず、ユーザが第三者と対話し出したと判断された場合（Ｓ１１３：ＮＯ）、または、置き換えられた実行タスクが終了して（Ｓ１１５：ＹＥＳ）、適宜、実行タスクや実行モデルが置き換えられた場合は（Ｓ１３１〜Ｓ１３３）、図７に示すタスク処理は終了して、図６のメイン処理に戻る。
【００７１】
生起確率１が、生起確率２以上の場合（Ｓ１２３：ＮＯ）、実行モデルの認識精度は、予測モデルによる認識精度以上である。つまり、ユーザと音声対話装置１との対話の話題は、中断前の話題から変化していないと考えられる。したがって、実行モデル等は変更されず、処理はステップＳ１１１に戻り、前述の処理が繰り返される。正面顔が認識されず、ユーザが第三者と対話し出したと判断された場合（Ｓ１１３：ＮＯ）、または、置き換えられた実行タスクが終了して（Ｓ１１５：ＹＥＳ）、適宜、実行タスクや実行モデルが置き換えられた場合は（Ｓ１３１〜Ｓ１３３）、図７に示すタスク処理は終了して、図６のメイン処理に戻る。
【００７２】
以下に、図８〜図１０を参照して、図６のメイン処理中に実行される言語モデル予測処理の詳細について説明する。図８の言語モデル予測処理が開始されると、まず、ＲＡＭ１３のフラグ記憶エリアに記憶されている再開フラグがゼロ（０）にセットされる（Ｓ２０１）。再開フラグは、言語モデル予測処理を終了し、メイン処理（図７参照）に戻るか否かを特定するためのフラグである。再開フラグが０の場合、言語モデル予測処理を継続することを示し、１の場合、言語モデル予測処理を終了してメイン処理に戻ることを示している。
【００７３】
続いて、マイク１７から入力された音声が音声データに変換され、ＲＡＭ１３の所定の記憶エリアに取得される（Ｓ２０２）。なお、言語モデル予測処理は、例えば図１２に示すように、音声対話装置１のユーザＰ１が、出現した第三者Ｐ２の方向を向いたことにより、正面顔が認識できなくなった場合に開始される。よって、ここで入力される音声は、ユーザと音声対話装置１との元々の対話とは関係なく開始された、ユーザと第三者との対話の音声である。そこで、言語モデル記憶エリア１５２に記憶されているすべての言語モデルが読み出され、それぞれの言語モデルを用いて、ユーザまたは第三者による発話の音声認識処理が行われる（Ｓ２０３）。言語モデル毎に、認識結果（発話に対応する単語列）とその生起確率とが出力され、ＲＡＭ１３の所定の記憶エリアに記憶される。
【００７４】
すべての言語モデルによる音声認識処理が終了すると、得られた認識結果が示す意味属性を特定する意味解析処理が行われる（Ｓ２０４、図９）。図９に示すように、意味解析処理が開始されると、図８のステップＳ２０３でＲＡＭ１３に記憶されている認識結果のうち、未解析の認識結果が１つ選択される（Ｓ３０１）。選択された認識結果、すなわち単語列が、例えば、形態素解析によって単語に分解された後、未解析の単語が１つ選択される（Ｓ３０２）。意味属性テーブル記憶エリア１５４に記憶されている意味属性テーブル１５４０（図４参照）が参照され、選択された単語に対応する意味属性が存在するか否かが判断される（Ｓ３０４）。
【００７５】
対応する意味属性が存在する場合には（Ｓ３０４：ＹＥＳ）、その意味属性が、ＲＡＭ１３の所定の記憶エリアに記憶された意味リスト（図示外）に追加される（Ｓ３０５）。選択された単語に対応する意味属性が意味リストに追加された後、または、選択された単語に対応する意味属性が意味属性テーブル１５４０にはなかった場合（Ｓ３０４：ＮＯ）、選択された単語列を構成するすべての単語の解析が終了したか否かが判断される（Ｓ３０６）。
【００７６】
未解析の単語が残っている間は（Ｓ３０６：ＮＯ）、次の未解析の単語が１つ選択され、前述のように、意味属性を解析する処理が繰り返される（Ｓ３０２〜Ｓ３０５）。つまり、ある言語モデルによる認識結果中に、意味属性テーブル１５４０に記憶された単語が複数含まれていれば、それらに対応する意味属性がすべて、意味リストに追加されていく。
【００７７】
例えば、ステップＳ３０１で選択された認識結果が、「打合せはいつにしようか」であったとする。この場合、この単語列は、「打合せ」、「は」、「いつ」、「に」、「しよう」、「か」という６つの単語に分解される。意味属性テーブル１５４０を参照すると、単語「打合せ」に対応する意味属性として「会議」および「会談」が記憶されており、単語「いつ」に対応する意味属性として「日付」が記憶されている。よって、意味リストには、この認識結果の処理が終了した時点で、「会議」、「会談」および「日付」が記憶された状態となる（Ｓ３０５）。
【００７８】
このようにして、ステップＳ３０１で選択された言語モデルに対応する単語列を構成するすべての単語について、解析が終了すると（Ｓ３０６：ＹＥＳ）、すべての認識結果について解析処理が終了したか否かが判断される（Ｓ３０７）。未解析の認識結果が残っている場合には（Ｓ３０７：ＮＯ）、次の未解析の認識結果が選択され（Ｓ３０１）、前述のようにＳ３０２〜Ｓ３０７の処理が繰り返される。すべての認識結果について解析が完了すると（Ｓ３０７：ＹＥＳ）、図９に示す意味解析処理は終了し、図８の言語モデル予測処理に戻る。
【００７９】
図８に示す言語モデル予測処理では、意味解析処理（Ｓ２０４）に続き、予測モデル決定処理が行われる（Ｓ２０５、図１０）。予測モデル決定処理は、意味解析処理で得られた解析結果に基づき、この時点でユーザと音声対話装置１との対話が再開された場合に予測される話題に応じた言語モデルを決定する処理である。
【００８０】
図１０に示す予測モデル決定処理が開始されると、タスクテーブル記憶エリア１５５（図３参照）に記憶されているタスクテーブル１５５０（図５参照）が参照され、スコアが未算出の言語モデルと、関連づけられた意味属性とが選択される（Ｓ４０１）。例えば、図５に示すタスクテーブル１５５０の場合、１巡目の処理では、待受け用モデルと、関連づけられた意味属性「乗換え」および「日付」が選択される。そして、選択された言語モデルのスコアが算出され、ＲＡＭ１３に記憶される（Ｓ４０２）。具体的には、意味リストに記憶されている意味属性のうち、選択された意味属性と一致する意味属性の数がカウントされ、得られた数がスコア（点数）とされる。待受け用モデルの例では、意味リストに含まれる「乗換え」および「日付」の数が、スコアとなる。
【００８１】
タスクテーブル１５５０に記憶されている言語モデルのうち、スコアが未算出の言語モデルが残っていれば（Ｓ４０３：ＮＯ）、スコアが未算出の次の言語モデルが選択され（Ｓ４０１）、同様にしてスコアの算出が繰り返される（Ｓ４０２）。そして、すべての言語モデルについてスコアの算出が完了すると（Ｓ４０３：ＹＥＳ）、ＲＡＭ１３に記憶されているすべての言語モデルのスコアのうち、最大スコアに対応する言語モデルが予測モデルとして決定され、ＲＡＭ１３の所定の記憶エリアに記憶される（Ｓ４０４）。その後、図１０に示す予測モデル決定処理は終了し、図８の言語モデル予測処理に戻る。
【００８２】
なお、図８に示す言語モデル予測処理では、ユーザの正面顔が認識できない間は、予測モデル決定処理が繰り返し行われることになる。この場合、２回目以降の処理のステップＳ４０４では、すでにＲＡＭ１３に記憶されていた予測モデルが、新たに決定された予測モデルで上書きされる。
【００８３】
図８に示す言語モデル予測処理では、予測モデル決定処理に続いて、リングバッファから、最新の撮影画像が取得され（Ｓ２０６）、タスク処理のステップＳ１１２（図７参照）と同様にして、正面顔の認識処理が行われる（Ｓ２０７）。言語モデル予測処理は、例えば図１２に示すように、音声対話装置１のユーザＰ１が、出現した第三者Ｐ２の方向を向き、正面顔が認識できなくなった場合に開始されている。よって、正面顔が認識できない場合（Ｓ２０８：ＮＯ）、ユーザと第三者との対話が継続していると考えられる。そこで、処理はそのままステップＳ２１０に進み、再開フラグが１であるか否かが判断されるが、この場合、再開フラグはステップＳ２０１で０とされたままであるため（Ｓ２１０：ＮＯ）、処理はステップＳ２０２に戻る。そして、前述と同様にして、ステップＳ２０２〜Ｓ２０８の処理が繰り返される。
【００８４】
正面顔が認識された場合には（Ｓ２０８：ＹＥＳ）、ユーザＰ１が、再び音声対話装置１と対話するために、図１１のように音声対話装置１に向かい合ったことを示している。したがって、フラグ記憶エリアに０として記憶されていた再開フラグが、言語モデル予測処理を終了してメイン処理に戻ることを示す１とされる（Ｓ２０９）。そして、再開フラグが１であると判断された後（Ｓ２１０：ＹＥＳ）、図８に示す言語モデル予測処理は終了し、図６に示すメイン処理に戻る。なお、前述したタスク処理（図７参照）とは異なり、ユーザＰ１と音声対話装置１との対話が中断されたと判断された場合に行われる言語モデル予測処理では、マイク１７からユーザＰ１や第三者Ｐ２の音声が入力されても、それに対する応答音声がスピーカ１８から出力されることはない。これは、ユーザＰ１と第三者Ｐ２との対話を妨げないようにするためである。
【００８５】
以下に、音声対話装置１のユーザが、図１３に示すように、音声対話装置１および第三者との間で対話を行う場合を具体例として、以上に説明した処理の内容について説明する。まず、図１１に示すように、ユーザＰ１が音声対話装置１の正面に向かい合うと、カメラ１９によって撮影される画像に基づき、ユーザＰ１が検知され、図６のメイン処理が開始される。音声対話装置１からの「どんな御用でしょうか」との発話に応じて、ユーザＰ１が音声対話装置１に向かい合ったまま「乗換え案内をお願い」と発話すると、図７に示すタスク処理のタスク固有制御処理（Ｓ１１４）において、乗換え案内タスクが次タスクとして決定される。その結果、実行タスクとして、乗換え案内タスクが設定され（Ｓ１３２）、実行モデルとして、乗換え案内用モデルが設定される（Ｓ１３３）。
【００８６】
図７のタスク処理は終了して図６のメイン処理に戻ると、中断フラグは０のままであり（Ｓ６：ＮＯ）、また、退避タスクもないため（Ｓ７：ＮＯ）、実行タスクである乗換え案内タスクに従って、タスク処理（Ｓ５、図７）が行われる。音声対話装置１の「出発駅を教えてください」からユーザＰ１の「名古屋です」の発話までは、正面顔が認識されたまま処理が繰り返される（図７、Ｓ１０１〜Ｓ１１５）。その後、第三者Ｐ２からの「Ａさん」との呼びかけで、ユーザＰ１は、図１２に示すように、第三者Ｐ２の方に顔向きを変える。すると、正面顔が認識できないため（Ｓ１１３：ＮＯ）、中断フラグが１とされ（Ｓ１４１）、実行タスクである乗換え案内タスクに従ったタスク処理は終了する。
【００８７】
図６のメイン処理に戻ると、中断フラグが１にされているため（Ｓ６：ＹＥＳ）、モードが「予測」とされ（Ｓ７）、言語モデル予測処理が行われる（Ｓ１１、図８）。図８に示す言語モデル予測処理では、第三者Ｐ２の「今いい？」、ユーザＰ１の「いいですよ」、および第三者Ｐ２の「打合せはいつにしようか」の発話中、ユーザＰ１は、図１２に示すように第三者Ｐ２の方を向いているため、正面顔は認識されない。よって、ユーザＰ１および第三者Ｐ２の発話の音声認識結果に基づいて予測モデルを決定する処理が繰り返される（Ｓ２０２〜Ｓ２１０）。その後、ユーザＰ１が、音声対話装置１に向き直ると、正面顔が認識できるようになるため（Ｓ２０８：ＹＥＳ）、言語モデル予測処理は終了する。
【００８８】
このときＲＡＭ１３に記憶されている予測モデルは、正面顔が認識された直前に決定された予測モデルである。例えば、スケジュール確認用モデルが予測モデルに決定されていれば、ユーザと音声対話装置１との対話再開後に実行すべきタスクは、スケジュール確認用タスクであると予測されたということである。
【００８９】
言語モデル予測処理の終了時点で、実行モデルは乗換え案内用モデル、予測モデルはスケジュール確認用モデルということになる。よって、続いて行われるタスク処理では、ユーザＰ１の発話「スケジュールを教えて」が、まず、実行モデルである乗換え案内用モデルを用いて認識され（図７、Ｓ１０３）、次に、予測モデルであるスケジュール確認用モデルを用いて認識される（Ｓ１２１）。乗換え案内用モデルを用いた場合の認識結果の生起確率１よりも、スケジュール確認用モデルを用いた場合の認識結果の生起確率２の方が高い場合（Ｓ１２３：ＹＥＳ）、ユーザＰ１と音声対話装置１との対話の話題は、予測された話題に変化しており、タスクおよび言語モデルの切替えが必要と判断される。
【００９０】
そこで、実行タスクである乗換え案内タスクと、実行モデルである乗換え案内用モデルは、それぞれ退避タスク、退避モデルとされ（Ｓ１２４）、代わりに、予測モデルであるスケジュール確認用モデルと、対応するタスクであるスケジュール確認タスクが、実行モデル、実行タスクとされる（Ｓ１２５、Ｓ１２６）。そして、予測モデルは「なし」とされて（Ｓ１２７）、新たな実行タスクであるスケジュール確認タスクに従った処理が継続される。
【００９１】
音声対話装置１からは、スケジュール確認タスクの対話シナリオに沿って、「いつの予定でしょうか」という発話がなされ（Ｓ１０１）、ユーザＰ１からの「今週空いている時間を教えて」という要求が、新たな実行モデルであるスケジュール確認用モデルを用いて音声認識される（Ｓ１０３）。この時点では予測モデルはなく（Ｓ１０５：ＮＯ）、正面顔が認識されることになる（Ｓ１１３：ＹＥＳ）。
【００９２】
そこで、タスク固有制御処理として、例えば、ネットワークを介して接続されたスケジュールデータベース（図示外）において、空いている時間を検索する処理が行われる（Ｓ１１４）。音声対話装置１によって、検索結果として、「６日の午後２時から空き時間があります」という発話がなされた後、ユーザＰ１の「ありがとう」という発話により、実行タスクであるスケジュール確認タスクは終了し（Ｓ１１５：ＹＥＳ）、ＲＡＭ１３に、実行タスクは「なし」と記憶される（Ｓ１３５）。
【００９３】
図６のメイン処理に戻ると、中断フラグは０であり（Ｓ６：ＮＯ）、退避タスクとして、乗換え案内タスクが記憶されている（Ｓ８：ＹＥＳ）。よって、乗換え案内タスクが実行タスクとして復帰し（Ｓ９）、退避タスクは「なし」とされる（Ｓ１０）。
【００９４】
その後、復帰した実行タスクである乗換え案内タスクに従ったタスク処理が行われるが、ユーザＰ１が再び第三者Ｐ２に顔を向け、「６日の午後２時からはどうですか」と発話すると、正面顔が認識できなくなるため（図７、Ｓ１１３：ＮＯ）、中断フラグが１とされる（Ｓ１４１）。続く言語モデル予測処理では、第三者Ｐ２の「ではその時間で」という発話に基づいて、予測モデルとしてスケジュール確認用モデルが決定される（図８、Ｓ２０５）。そのまま対話が終了して第三者Ｐ２が去ると、ユーザＰ１は、再び、音声対話装置１の正面に向き合う状態となる。すると、正面顔が認識されて（Ｓ２０８：ＹＥＳ）、言語モデル予測処理は終了する。
【００９５】
音声対話装置１に向き直った後のタスク処理では、音声対話装置１から、実行タスクである乗換え案内タスクに対応する対話シナリオに沿って、中断時に合わせた「出発駅は名古屋でよろしいですか」という音声が出力される。その後のユーザＰ１の発話は、実行モデルである乗換え案内用モデルと、予測モデルであるスケジュール確認用モデルとを用いて行われることになる（Ｓ１０３およびＳ１２１）。しかし、ユーザＰ１の発話は、乗換え案内に関する内容に戻るため、生起確率１が生起確率２よりも低くなることはない。
【００９６】
したがって、実行タスクである乗換え案内タスクに対応する対話シナリオに沿って対話が進行し、音声対話装置１からの「名古屋から東京へは、７時１７分に出発し、８時５０分に到着します」という発話に対して、ユーザＰ１が「ありがとう」と応じると、乗換え案内タスクは終了して（Ｓ１１５：ＹＥＳ）、実行タスクはなしとされ（Ｓ１３５）、退避タスクもないことから（図６、Ｓ１３：ＹＥＳ）、メイン処理も終了する。
【００９７】
以上に説明したように、ユーザと音声対話装置１との最初の対話では、ユーザによって指定された話題（タスク）に応じて予め定められた言語モデルを実行モデルとして使用して、ユーザの発話が音声認識される。よって、ユーザの発話を高精度に認識することができる。その後、ユーザの顔向きの変化によって、ユーザが音声対話装置１と対話している最中に、ユーザと第三者との対話が発生したことが検出されると、ユーザと第三者の対話が継続している間は、両者の発話の意味が解析され、解析結果に応じた言語モデルが予測モデルとして選択される。そして、ユーザと音声対話装置１との対話が再開された後は、元々の話題（タスク）に対応する実行モデルと、予測された話題（タスク）に対応する予測モデルの両方を用いて、ユーザの発話の音声認識が行われる。したがって、間に第三者との対話が挟まれることによって、音声対話装置１との対話の話題が突然切り替わる場合に柔軟に対応でき、認識の正確性を向上させることができる。
【００９８】
また、第三者との対話終了後に再開された音声対話装置１との対話の認識結果の認識精度が、実行モデルよりも予測モデルを用いた場合の方が高ければ、現在モデルは退避モデルとされ、代わりに予測モデルが現在モデルとして置き換えられ、音声認識が行われる。そして、置き換えられた実行モデルに対応する話題（タスク）が終了すると、退避モデルが実行モデルに戻されて、音声認識が行われる。第三者との対話によって一旦話題が切り替わっても、その後、音声対話装置１との対話は、元の話題に復帰する可能性が高いため、このような処理により、元の話題への復帰に応じた言語モデルに速やかに切替えることができ、認識の正確性をさらに向上することができる。
【００９９】
さらに、ユーザと第三者との対話中に行われる予測モデルの選択処理では、両者の対話が終了する直前の、ユーザまたは第三者による発話に含まれる単語の意味属性に基づいて、予測モデルが決定されている。したがって、ユーザと第三者との対話が長くなり、両者の対話中に話題が変化した場合であっても、最新の発話内容によく対応した予測モデルを簡便に選択することができる。その結果、ユーザと音声対話装置１との対話再開後に、予測モデルによる認識の正確性を向上することができる。また、予測モデルの選択処理が行われている間は、音声対話装置１からの発話は行われないため、ユーザと第三者との対話中に不要な音声が差し挟まれて、対話の邪魔になることがない。
【０１００】
本実施形態では、図７のステップＳ１０２または図８のステップＳ２０２で、マイク１７から入力された音声の音声データを取得するＣＰＵ１１が、本発明の「音声情報取得手段」に相当する。図７のステップＳ１０３で実行モデルを用いて音声認識を行うＣＰＵ１１が、「第１の音声認識手段」に相当する。図７のステップＳ１１３で正面顔が認識できたか否かを判断するＣＰＵ１１が、「対話発生検出手段」に相当する。図８のステップＳ２０３ですべての言語モデルを用いて音声認識を行うＣＰＵ１１が、「第２の音声認識手段」に相当する。図１０のステップＳ４０４で予測モデルを決定するＣＰＵ１１が、「予測モデル選択手段」に相当する。図８のステップＳ２０８で正面顔が認識できたか否かを判断するＣＰＵ１１が、「対話終了検出手段」に相当する。図７のステップＳ１０３およびＳ１２１で、実行モデルおよび予測モデルを用いて音声認識を行うＣＰＵ１１が、「第３の音声認識手段」に相当する。
【０１０１】
図７のステップＳ１２４で実行モデルを退避モデルとするＣＰＵ１１が、「待機モデル決定手段」に相当し、ステップＳ１２５で予測モデルを実行モデルとするＣＰＵ１１が、「予測モデル置換え手段」に相当する。ステップＳ１１５で、置き換えられた実行タスクが終了したか否かを判断するＣＰＵ１１が、「話題終了判断手段」に相当し、図６のステップＳ９で退避タスクを実行タスクとするＣＰＵ１１が、「待機モデル復帰手段」に相当する。
【０１０２】
図９のステップＳ３０３〜Ｓ３０５で単語の意味属性を特定するＣＰＵ１１が、「意味特定手段」に相当し、図１０のＳ４０２で、意味属性の数をカウントし、スコアを算出するＣＰＵ１１が、「カウント手段」に相当し、Ｓ４０４で最大スコアの言語モデルを予測モデルとして決定するＣＰＵ１１が、「対応モデル選択手段」に相当する。図７のステップＳ１０１で、スピーカ１８に音声データを出力するＣＰＵ１１が、「音声情報出力手段」に相当し、スピーカ１８が、「音声出力手段」に相当する。
【０１０３】
また、図７のステップＳ１０２または図８のステップＳ２０２が、本発明の「音声情報取得ステップ」に相当する。図７のステップＳ１０３が、「第１の音声認識ステップ」に相当する。図７のステップＳ１１３が、「対話発生検出ステップ」に相当する。図８のステップＳ２０３が、「第２の音声認識ステップ」に相当する。図１０のステップＳ４０４が、「予測モデル選択ステップ」に相当する。図８のステップＳ２０８が、「対話終了検出ステップ」に相当する。図７のステップＳ１０３およびＳ１２１が、「第３の音声認識ステップ」に相当する。
【０１０４】
<第２の実施形態>
次に、本発明の第２の実施形態について説明する。第２の実施形態に係る音声対話装置の構成は、前述の第１の実施形態に係る音声対話装置１と同一でよい。よって、ここでの説明は省略する。第２の実施形態に係る処理は、第１の実施形態とほぼ同様であるが、図６に示すメイン処理のステップＳ１１で実行される言語モデル予測処理の内容のみが異なっている。よって、以下に、図１４を参照して、第２の実施形態に係る言語モデル予測処理について説明する。図１４は、第２の実施形態に係る言語モデル予測処理のフローチャートである。
【０１０５】
図１４に示すように、本実施形態の言語モデル予測処理では、まず、ＲＡＭ１３のフラグ記憶エリアに記憶されている再開フラグがゼロ（０）にセットされる（Ｓ２３１）。続いて、マイク１７から入力されたユーザまたは第三者の音声が音声データに変換され、ＲＡＭ１３の所定の記憶エリアに取得される（Ｓ２３２）。言語モデル記憶エリア１５２に記憶されているすべての言語モデルが読み出され、それぞれの言語モデルを用いて、ユーザまたは第三者による発話の音声認識処理が行われる（Ｓ２３３）。つまり、言語モデル毎に、認識結果（発話に対応する単語列）とその生起確率とが出力され、ＲＡＭ１３の所定の記憶エリアに記憶される。そして、得られた生起確率のうち、最大の生起確率に対応する言語モデルが、予測モデルとして決定され、ＲＡＭ１３の所定の記憶エリアに記憶される（Ｓ２３４）。
【０１０６】
続いて行われるステップＳ２３５〜Ｓ２３９の処理は、第１の実施形態で説明した、図８に示す言語モデル処理のステップＳ２０６〜Ｓ２１０と同様であるため、ここでの説明は省略する。
【０１０７】
このように、本実施形態に係る言語モデル予測処理では、ユーザまたは第三者による最新の発話の認識結果の生起確率に基づいて、ユーザと音声対話装置１との対話が再開された後の話題が予測されている。したがって、前述の実施形態の言語モデル予測処理（図８参照）と同様、ユーザと第三者との対話が長くなり、両者の対話中に話題が変化した場合であっても、最新の発話内容によく対応した予測モデルを簡便に選択することができる。その結果、ユーザと音声対話装置１との対話再開後に、予測モデルによる認識の正確性を向上することができる。また、生起確率に基づいて、簡便に予測モデルを決定することができる。
【０１０８】
本実施形態では、図１４のステップＳ２３３ですべての言語モデルを用いて音声認識を行うＣＰＵ１１が、本発明の「第２の音声認識手段」に相当し、ステップＳ２３４で予測モデルを決定するＣＰＵ１１が、「予測モデル選択手段」に相当する。また、ステップＳ２３７で正面顔が認識できたか否かを判断するＣＰＵ１１が、「対話終了検出手段」に相当する。
【０１０９】
<第３の実施形態>
次に、本発明の第３の実施形態について説明する。第３の実施形態に係る音声対話装置の構成も、前述の第１の実施形態に係る音声対話装置１と同一でよいため、ここでの説明は省略する。第３の実施形態に係る処理も、第１の実施形態とほぼ同様であるが、図６に示すメイン処理のステップＳ１１で実行される言語モデル予測処理、および、言語モデル予測処理で行われる予測モデル決定処理の内容のみが異なっている。よって、以下に、図１５および図１６を参照して、第３の実施形態に係る言語モデル予測処理および予測モデル決定処理について説明する。図１５は、第３の実施形態に係る言語モデル予測処理のフローチャートである。図１６は、第３の実施形態に係る予測モデル決定処理のフローチャートである。
【０１１０】
図１５に示すように、本実施形態の言語モデル予測処理では、まず、ＲＡＭ１３のフラグ記憶エリアに記憶されている再開フラグがゼロ（０）にセットされる（Ｓ２５１）。音声対話装置１の内蔵時計（図示外）で管理されている現在の時刻が取得され、予測開始時刻として、ＲＡＭ１３の所定の記憶エリアに記憶される（Ｓ２５２）。続いて、再び現在の時刻が取得され、ＲＡＭ１３に記憶された予測開始時刻との差から、経過時間が算出され、ＲＡＭ１３の所定の記憶エリアに記憶される（Ｓ２５３）。経過時間は、ユーザおよび第三者の発話の音声認識結果を、経過時間に応じて重み付けするために使用される。
【０１１１】
続いて、マイク１７から入力されたユーザまたは第三者の音声が音声データに変換され、ＲＡＭ１３の所定の記憶エリアに取得される（Ｓ２５４）。言語モデル記憶エリア１５２に記憶されているすべての言語モデルが読み出され、それぞれの言語モデルを用いて、ユーザまたは第三者による発話の音声認識処理が行われる（Ｓ２５５）。つまり、言語モデル毎に、認識結果（発話に対応する単語列）とその生起確率とが出力され、ＲＡＭ１３の所定の記憶エリアに記憶される。そして、第１の実施形態と同様、得られた認識結果が示す意味属性を特定する意味解析処理が行われる（Ｓ２５６、図９）。
【０１１２】
さらに、意味解析処理で意味リストに新たに追加された意味属性に付加して、ステップＳ２５３で算出された経過時間が記憶される（Ｓ２５７）。なお、図１５に示す言語モデル予測処理では、ユーザの正面顔が認識できない間は、意味解析処理が繰り返し行われることになる。この場合、意味リストには、意味解析処理が行われる度に、意味属性とその時点の経過時間が新たに追加されていくことになる。
【０１１３】
リングバッファから、最新の撮影画像が取得され（Ｓ２５８）、正面顔の認識処理が行われる（Ｓ２５９）。正面顔が認識できない場合には（Ｓ２６０：ＮＯ）、再開フラグは０とされたままであるため（Ｓ２６２：ＮＯ）、処理はステップＳ２５３に戻る。そして、前述と同様にして、ステップＳ２５３〜Ｓ２６０の処理が繰り返される。正面顔が認識された場合には（Ｓ２６０：ＹＥＳ）、フラグ記憶エリアに０として記憶されていた再開フラグが１とされる（Ｓ２６１）。そして、再開フラグが１であると判断された後（Ｓ２６２：ＹＥＳ）、予測モデル決定処理が行われる（Ｓ２６３、図１６）。
【０１１４】
図１６に示すように、本実施形態の予測モデル決定処理では、まず、タスクテーブル記憶エリア１５５（図３参照）に記憶されているタスクテーブル１５５０（図５参照）が参照され、スコアが未算出の言語モデルと、関連づけられた意味属性とが選択される（Ｓ４５１）。例えば、図５に示すタスクテーブル１５５０の場合、１巡目の処理では、待受け用モデルと、関連づけられた意味属性「乗換え」および「日付」が選択される。そして、選択された言語モデルの重み付けスコアが算出され、ＲＡＭ１３に記憶される（Ｓ４５２）。
【０１１５】
重み付けスコアの算出方法は、新たに取得された音声の認識結果ほど大きな重み付けがなされる限り、特に限定されない。例えば、意味リストに記憶されている意味属性のうち、処理中の言語モデルに関連付けられた意味属性と一致する意味属性の数に重み付け関数により得られる値を加算した結果を、重み付けスコアとすればよい。重み付けは、線形処理で行っても非線形処理で行ってもよい。線形処理の場合、例えば、経過時間Ｔ（分）を用いて、重み付け関数（Ｔ）＝Ｔを利用することができる。
【０１１６】
この処理において、意味リストに、処理中の言語モデルに関連付けられた意味属性「乗換え」が１つ含まれており、意味属性「日付」が２つ含まれていたとする。そして、意味リスト中の「乗換え」に付加された経過時間が「０．５分」、１つ目の「日付」に付加された経過時間が「１分」、２つ目の「日付」に付加された経過時間が「３分」だったとする。この場合、この言語モデルの重み付けスコアは、一致した意味属性の数３に、重み付け関数により得られる４．５（０．５＋１＋３）が加算され、７．５となる。
【０１１７】
タスクテーブル１５５０に記憶されている言語モデルのうち、重み付けスコアが未算出の言語モデルが残っていれば（Ｓ４５３：ＮＯ）、スコアが未算出の次の言語モデルが選択され（Ｓ４５１）、同様にして重み付けスコアの算出が繰り返される（Ｓ４５２）。そして、すべての言語モデルについてスコアの算出が完了すると（Ｓ４５３：ＹＥＳ）、ＲＡＭ１３に記憶されているすべての言語モデルの重み付けスコアのうち、最大の重み付けスコアに対応する言語モデルが予測モデルとして決定され、ＲＡＭ１３の所定の記憶エリアに記憶される（Ｓ４５４）。その後、図１６に示す予測モデル決定処理は終了し、図１５の言語モデル予測処理に戻り、言語モデル予測処理も終了する。
【０１１８】
以上に説明したように、本実施形態の言語モデル予測処理では、ユーザまたは第三者の音声データが入力される度に音声認識が行われ、新たに取得された音声の認識結果は、前回取得された音声の認識結果よりも大きく重み付けされる。そして、重み付けされた認識結果に基づいて予測モデルが選択されるため、第三者とのより新しい対話を重視して予測モデルが選択されることになる。したがって、第１の実施形態と同様、ユーザと第三者との対話が長くなり、両者の対話中に話題が変化した場合であっても、最新の発話内容によく対応した予測モデルを簡便に選択することができる。その結果、ユーザと音声対話装置１との対話再開後に、予測モデルによる認識の正確性を向上することができる。
【０１１９】
本実施形態では、図１５のステップＳ２５５ですべての言語モデルを用いて音声認識を行うＣＰＵ１１が、本発明の「第２の音声認識手段」に相当する。ステップＳ２５３で経過時間を算出するＣＰＵ１１が、「時間情報取得手段」に相当し、図１６のステップＳ４５２で重み付けスコアを算出するＣＰＵ１１が、「重み付け手段」に相当する。図１６のステップＳ４５４で予測モデルを決定するＣＰＵ１１が、「予測モデル選択手段」に相当する。また、図１５のステップＳ２６０で正面顔が認識できたか否かを判断するＣＰＵ１１が、「対話終了検出手段」に相当する。
【０１２０】
なお、前述の実施形態に示される構成や処理は例示であり、各種の変形が可能なことはいうまでもない。例えば、前述の実施形態では、音声対話装置１を１つの装置として記憶しているが、ディスプレイ１６、マイク１７、スピーカ１８、カメラ１９およびこれらの制御を行う制御回路を備えた端末装置と、前述の各種処理を実行するためのプログラムとＣＰＵとを備えたサーバとで構成してもよい。端末装置とサーバとは、ＬＡＮ等のネットワークで接続される。また、１つのサーバに対して、複数の端末装置が接続されていてもよい。このような構成の場合は、サーバが、本発明の「音声対話装置」に相当する。
【０１２１】
また、前述の実施形態では、カメラ１９で撮影されたユーザの顔画像に基づいて、音声対話装置１のユーザと、第三者との対話の発生および終了が検出されている。しかしながら、ユーザと第三者との対話の発生および検出には、必ずしもカメラ１９を使用する必要はない。例えば、音声対話装置１の正面の異なる位置に複数のマイクを配置し、各マイクから入力される音声の音声データに基づいて音源の方向を特定することにより、ユーザの音声と第三者の音声を識別することができる。また、例えば、ユーザの声紋をテンプレートとして記憶しておき、入力された音声データより算出した声紋とのマッチングにより、ユーザの音声であるか否かを判別することができる。
【０１２２】
前述の方法で、第三者の音声が検出された場合、ユーザと第三者の対話が発生したと判断することができる。また、例えば、第三者の音声に続いて、ユーザの「ちょっと待ってください」や「それでは失礼します」等のように、第三者との対話の中断や終了を示す発話がなされた場合に、ユーザと第三者の対話が終了したと判断することができる。
【０１２３】
また、前述の実施形態では、言語モデル予測処理の際、ユーザおよび第三者の発話を、言語モデル記憶エリア１５２（図３参照）に記憶されているすべての言語モデルを用いて音声認識している（図８、Ｓ２０３等）。しかしながら、必ずしもこの音声認識処理を、すべての言語モデルを用いて行う必要はない。例えば、実行モデル以外のすべての言語モデルを用いて行ってもよい。第三者との対話が発生した場合、その話題は、音声対話装置１との元の対話の話題とは異なる可能性が高いと考えられるためである。この場合、予測される最大範囲の話題をカバーしつつ、認識の正確性をより向上することができる。また、処理効率を向上することができる。
【０１２４】
第３の実施形態の言語モデル予測処理（図１５参照）では、重み付けに用いる時間の情報として、予測開始時刻からの経過時間を使用している。しかし、必ずしも経過時間を算出して使用する必要はなく、都度、現在時刻を意味属性に付加して記憶しておき、図１６のステップＳ４５２において、現在時刻が遅い意味属性ほど重み付けを大きくするスコアリングを行ってもよい。
【図面の簡単な説明】
【０１２５】
【図１】音声対話装置１の概略正面図である。
【図２】音声対話装置１の電気的構成を示すブロック図である。
【図３】ハードディスク装置１５に設けられた記憶エリアの説明図である。
【図４】意味属性テーブル１５４０の説明図である。
【図５】タスクテーブル１５５０の説明図である。
【図６】音声対話装置１のメイン処理のフローチャートである。
【図７】メイン処理中に実行されるタスク処理のフローチャートである。
【図８】メイン処理中に実行される言語モデル予測処理のフローチャートである。
【図９】言語モデル予測処理中に実行される意味解析処理のフローチャートである。
【図１０】言語モデル予測処理中に実行される予測モデル決定処理のフローチャートである。
【図１１】音声対話装置１と対話しているユーザＰ１の説明図である。
【図１２】第三者Ｐ２と対話しているユーザＰ１の説明図である。
【図１３】ユーザ、音声対話装置１、および第三者の間で行われる対話の流れの一例と、対話中のユーザの顔向きとの関係を示す説明図である。
【図１４】第２の実施形態に係る言語モデル予測処理のフローチャートである。
【図１５】第３の実施形態に係る言語モデル予測処理のフローチャートである。
【図１６】第３の実施形態に係る予測モデル決定処理のフローチャートである。
【符号の説明】
【０１２６】
１      音声対話装置
１１    ＣＰＵ
１５    ハードディスク装置
１５２  言語モデル記憶エリア
１５４  意味属性テーブル記憶エリア
１５５  タスクテーブル記憶エリア
【図１】
2010066519.tif 000003
【図２】
2010066519.tif 000004
【図３】
2010066519.tif 000005
【図４】
2010066519.tif 000006
【図５】
2010066519.tif 000007
【図６】
2010066519.tif 000008
【図７】
2010066519.tif 000009
【図８】
2010066519.tif 000010
【図９】
2010066519.tif 000011
【図１０】
2010066519.tif 000012
【図１１】
2010066519.tif 000013
【図１２】
2010066519.tif 000014
【図１３】
2010066519.tif 000015
【図１４】
2010066519.tif 000016
【図１５】
2010066519.tif 000017
【図１６】
2010066519.tif 000018