音声認識装置、および音声認識方法
【課題】発話音声を音声認識すること。
【解決手段】CPU1034aは、使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される語彙を、音声認識実行時の認識対象語彙として記憶し、使用者による発話音声を入力し、記憶した認識対象語彙と、入力した発話音声との一致度を演算し、一致度の演算結果に基づいて、認識対象語彙から認識結果候補を抽出し、抽出したそれぞれの認識結果候補の一致度、およびその認識結果候補を含む言語モデルの拘束性のレベルの少なくともいずれか一方に基づいて、認識結果候補の中から認識結果を特定する。
【解決手段】CPU1034aは、使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される語彙を、音声認識実行時の認識対象語彙として記憶し、使用者による発話音声を入力し、記憶した認識対象語彙と、入力した発話音声との一致度を演算し、一致度の演算結果に基づいて、認識対象語彙から認識結果候補を抽出し、抽出したそれぞれの認識結果候補の一致度、およびその認識結果候補を含む言語モデルの拘束性のレベルの少なくともいずれか一方に基づいて、認識結果候補の中から認識結果を特定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声を認識するための音声認識装置、および音声認識方法に関する。
【背景技術】
【0002】
次のような音声認識装置が知られている。この音声認識装置は、音声認識エンジンと規定コマンド用辞書とを備え、音声認識エンジンは、使用者の発話音声を規定コマンド辞書と照合することによって、認識結果を出力する(例えば、特許文献1)。
【0003】
【特許文献1】特開平06−095687号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の音声認識装置では、使用者が規定コマンドの表現を変更して発話した場合には、誤認識が生じる恐れがあった。
【課題を解決するための手段】
【0005】
本発明は、使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される語彙を、音声認識実行時の認識対象語彙として記憶し、使用者による発話音声を入力し、記憶した認識対象語彙と、入力した発話音声との一致度を演算し、一致度の演算結果に基づいて、認識対象語彙から認識結果候補を抽出し、抽出した認識結果候補に含まれる各認識対象語彙の一致度、および各認識対象語彙の言語モデルの拘束性のレベルの少なくともいずれか一方に基づいて、認識結果候補の中から認識結果を特定することを特徴とする。
【発明の効果】
【0006】
本発明によれば、使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される語彙を待ち受け語彙とすることで、使用者が規定コマンドの表現を変更して、拘束性の低い語彙を発話した場合でも、誤認識が生じる可能性を低減することができる。
【発明を実施するための最良の形態】
【0007】
図1は、本実施の形態における音声認識装置の一実施の形態の構成を示すブロック図である。音声認識装置100は、マイク101と、スピーカ102と、信号処理ユニット103と、入力装置104と、ディスプレイ105とを備えている。
【0008】
信号処理ユニット103は、A/Dコンバータ1031、D/Aコンバータ1032、出力アンプ1033、信号処理装置1034、および外部記憶装置1035を備えている。信号処理装置1034は、CPU1034a、メモリ1034b、およびその他周辺回路により構成されている。また、入力装置104は、発話スイッチ104aおよび訂正スイッチ104bを備えている。
【0009】
音声認識装置100においては、使用者は、発話スイッチ104aを押下することによって、音声認識の開始を指示することができる。使用者によって音声認識の開始が指示された場合、使用者による発話音声はマイク101を通して信号処理ユニット103へ入力される。信号処理ユニット103へ入力された音声信号(入力音声信号)は、A/Dコンバータ1031でデジタル信号に変換された後、信号処理装置1034へ入力される。
【0010】
信号処理装置1034では、CPU1034aは、図2により後述する処理を実行して、使用者による発話音声を音声認識する。また、音声認識の結果に基づいて、使用者への応答文を生成する。生成した応答文は、D/Aコンバータ1032でアナログ信号に変換され、出力アンプ1033で増幅された後、スピーカ102を介して出力される。使用者は、応答文の内容から音声認識結果が誤認識であると判断した場合には、訂正ボタン104bを押下して訂正指示をすることができる。また、使用者は、訂正ボタン104bを一定時間押下(長押し)することにより、音声認識を途中で中断することもできる。
【0011】
図2は、本実施の形態における音声認識装置100の処理を示すフローチャートである。図2に示す処理は、使用者によって発話スイッチ104aが押下されると起動するプログラムとして、CPU1034aによって実行される。
【0012】
ステップS10において、CPU1034aは、音声認識に使用する認識対象語彙を外部記憶装置1035からメモリ1034bに読み込んで、音声認識処理のための待ち受け設定を行う。ここで読み込む認識対象語彙は、使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される。以下、言語モデルの具体例について、図3〜図8を用いて説明する。
【0013】
CPU1034aは、まず、外部記憶装置1035から拘束性の高レベルの言語モデルで表される認識対象語彙を読み込む。拘束性の高レベルの言語モデルとは、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容しない規定コマンド用の言語モデルであって、例えば、図3に示すように、第一階層A、第二階層B、および第三階層Cとで構成される階層構造になっている。なお、図3は、車両に搭載されるナビゲーション装置を音声操作するためのコマンドを待ち受けるための言語モデルを表しており、以下の説明では、使用者がナビゲーション装置を音声操作する場合の音声認識処理について説明する。
【0014】
図3において、第一階層Aは、「行き先設定」、「ルート設定」などのナビゲーション装置を操作するためのコマンドを保持している。第二階層Bは、第一階層Aのコマンドの下位コマンドを保持しており、例えば、第一階層Aに含まれる「行き先設定」の下位コマンドとして、「自宅設定」や「登録地表示」などのコマンドを保持している。第三階層Cは、第二階層Bの下位コマンドを保持しており、例えば、第二階層Bに含まれる「登録地表示」の下位コマンドとして、「○○さん」や「○○社」などの具体的な登録地の名称を保持している。
【0015】
ここでは、CPU1034aは、この図3に示す拘束性の高レベルの言語モデルの中から、第一階層Aに含まれる全てのコマンド、第二階層Bに含まれる一部のコマンド、および第三階層Cに含まれる一部のコマンドを抽出して読み込む。例えば、図3に示す枠3a内に含まれるコマンドを抽出して読み込む。この拘束性の高レベルの言語モデルとして、例えば、図4に示すような語彙を認識対象語彙として待ち受けることが可能になる。すなわち、使用者が行き先を設定しようとして「行き先設定」と発話した場合に、認識対象語彙4aによってこれを音声認識することができる。
【0016】
次に、CPU1034aは、外部記憶装置1035から拘束性の中レベルの言語モデルで表される認識対象語彙を読み込む。拘束性の中レベルの言語モデルとは、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容し、かつ認識可能な単語列が確定している言語モデルである。例えば図5に示すように、「行き先」、「目的地」など、ナビゲーション装置を操作する上での目的語5aと、「設定」、「決定」などナビゲーション装置を操作するための操作語5bとをガベージ5cを挟んで接続し、さらに目的語5aの前にもガベージ5dを挟んで操作語5eを接続することによって、目的語と操作語の倒置も許した言語モデルである。
【0017】
なお、ガベージは、操作語や目的語などのキーワード以外の部分を吸収する。この拘束性の中レベルの言語モデルで表される認識対象語彙を読み込むことによって、例えば、図6に示すような語彙を認識対象語彙として待ち受けることが可能になる。すなわち、使用者が行き先を設定しようとして「行き先を設定」と発話した場合でも、認識対象語彙6aにより、これを音声認識することができる。
【0018】
最後に、CPU1034aは、外部記憶装置1035から拘束性の低レベルの言語モデルで表される認識対象語彙を読み込む。拘束性の低レベルの言語モデルとは、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容し、かつ認識可能な単語列が確定していない言語モデルである。例えば、図7に示すように、「行き先」、「目的地」などのナビゲーション装置を操作する上での目的語および「設定」、「決定」などナビゲーション装置を操作するための操作語からなる語彙7aをガベージ7bおよび7cを挟んで任意に接続することを許した言語モデルである。
【0019】
この拘束性の低レベルの言語モデルで表される認識対象語彙を読み込むことによって、例えば、図8に示すような語彙を認識対象語彙として待ち受けることが可能になる。すなわち、使用者が行き先を設定しようとして「行き先、行き先設定」のように誤った発話した場合でも、認識対象語彙8aにより、これを音声認識することができる。
【0020】
次に、ステップS20へ進み、CPU1034aは、例えば図9に示すような音声入力用のメニュー画面をディスプレイ105へ出力して表示する。図9(a)は、ステップS10で読み込んだ拘束性の高レベルの言語モデルの第一階層Aに含まれるコマンドを表示して、使用者に発話を促すためのメニュー画面例である。また、図9(b)は、第二階層Bに含まれるコマンドを表示して、使用者に発話を促すためのメニュー画面例であり、図9(c)は、第三階層Cに含まれるコマンドを表示して、使用者に発話を促すためのメニュー画面例である。CPU1034aは、まず、図9(a)に示すメニュー画面を表示して、使用者に対して、第一階層Aに含まれるコマンドを発話するように促す。
【0021】
このようなメニュー画面例を表示して、使用者に発話可能なコマンドを提示することによって、使用者は、どのようなコマンドを発話すればよいかを把握することができる。なお、ここでメニュー画面上に表示されるのは、第一階層Aに含まれるコマンドのうちの一部であるが、このメニュー画面に表示されているコマンドは、全て目的語と操作語の組み合わせとなっている。このため、使用者は、他のコマンドを発話しようとした場合であっても、このメニュー画面を見ることによって、目的語と操作語とからなるコマンドを発話すればよいことを把握することができる。
【0022】
次に、CPU1034aは、処理を開始した旨を使用者に通知するために、外部記憶装置1035に記憶されている音声メッセージ、例えば「処理を開始しました」や「発話を開始してください」などを出力する。すなわちCPU1034aは、音声メッセージの音声データを外部記憶装置1035から読み込み、D/Aコンバータ1032へ出力する。音声メッセージの音声データは、D/Aコンバータ1032でアナログデータに変換され、出力アンプ1033で増幅された後、スピーカ102を介して出力される。使用者は、音声メッセージを受けて発話を行う。
【0023】
CPU1034aは、マイク101を介した音声入力を監視して、使用者による発話音声の入力開始を検出する。具体的には、CPU1034aは、次のようにして発話音声の入力開始を検出する。CPU1034aは、使用者によって、発話スイッチ104aが押下されるまでの間は、マイク101およびA/Dコンバータ1031を介して入力されるデジタル信号の平均パワーを演算している。
【0024】
そして、使用者によって発話スイッチ104aが押下された後は、マイク101およびA/Dコンバータ1031を介して入力されるデジタル信号の瞬間パワーが、上記平均パワーを所定値以上大きくなったときに、使用者による発話音声の入力が開始されたと検出する。そして、発話音声の入力が開始されたことを検出した場合には、CPU1034aは、音声の取り込みを開始する。
【0025】
その後、ステップS30へ進み、CPU1034aは、上述したステップS10でメモリ1034bに読み込んだ認識対象語彙(待ち受け単語)と、取り込んだ音声との一致度を演算する。一致度とは、認識対象語彙と取り込んだ音声とがどの程度似ているかを表す指標であって、本実施の形態では、一致度はスコアとして算出される。このスコアは、数値で表され、値が大きいほど認識対象語彙と取り込んだ音声とが似ていることを意味する。なお、CPU1034aがこの一致度を演算している間も、発話音声の取り込みは継続されている。
【0026】
ステップS40では、CPU1034aは、入力されるデジタル信号の瞬間パワーが、所定時間以上継続して所定値以下である場合には、発話音声の入力は終了したと判断して、音声の取り込みを終了する。
【0027】
その後、ステップS50へ進み、CPU1034aは、ステップS30で開始した一致度の演算が終了したら、一致度の最も大きな認識対象語彙から順番にN個の認識対象語彙を認識結果N−bestとして出力する。図10は、使用者が、ナビゲーション装置を操作するための規定コマンドである「行き先設定」を発話した場合の認識結果N−bestを示す図である。なお、図10では、Nが5の場合、すなわち認識結果N−bestとして、一致度が上位の5個の認識対象語彙が出力された場合の具体例を示している。
【0028】
この図10に示す例では、使用者による実際の発話内容と一致する認識対象語彙「行き先設定」は、その一致度が第四位と低く算出されている。この場合、従来の一般的な音声認識方法と同様に一致度の最上位の認識対象語彙を最終的な認識結果として採用した場合には、誤認識が生じることになる。よって、本実施の形態では、次のようにして誤認識を防止する。
【0029】
CPU1034aは、認識結果N−bestの中で、最も拘束性のレベルが高い言語モデルから出力された認識対象語彙を選択する。例えば、図10に示す例では、第一位の認識結果である「(ガベージ)・(ガベージ)」は拘束性の低レベルの言語モデルから出力された認識対象語彙である。第二位の認識結果である「駅・(ガベージ)・探す」は、拘束性の中レベルの言語モデルから出力された認識対象語彙である。第三位の認識結果である「地図・見せて」は、拘束性の中レベルの言語モデルから出力された認識対象語彙である。第四位の認識結果である「行き先設定」は、拘束性の高レベルの言語モデルから出力された認識対象語彙である。第五位の認識結果である「(ガベージ)・設定」は、拘束性の低レベルの言語モデルから出力された認識対象語彙である。
【0030】
よって、この図10に示す例では、CPU1034aは、最も拘束性のレベルが高い第四位の認識結果である「行き先設定」を選択する。そして、CPU1034aは、この第四位の認識結果である「行き先設定」を最終的な認識結果として優先採用するか否かの判定を行う。本実施の形態では、CPU1034aは、(A)判定対象の認識結果の順位が所定の順位Nthより高く、かつ(B)第一位の認識機結果と判定対象の認識結果とのスコア差が所定値Lthより小さい場合には、判定対象の認識結果を上位の他の認識結果よりも優先して採用する。なお、判定時の閾値として用いるNthとLthは、それぞれ実験的に求められる値であって、ここでは、Nth=5、Lth=0.10とする。
【0031】
ここで、判定対象の認識結果である第四位の認識結果についてみると、順位は第四位であるので閾値Nthより大きく条件(A)を満たす。また、第一位の認識結果のスコア(0.25)と第四位の認識結果のスコア(0.18)の差は0,07であって閾値Lthより小さく条件(B)も満たす。よって、CPU1034aは、図10に示す例では、第四位の認識結果を他の上位の認識結果よりも優先して採用すると判定し、第四位の認識結果である「行き先設定」を最終的な認識結果とする。そして、CPU1034aは、音声合成処理を行い、認識結果「行き先設定」を音声信号に変換した後、D/Aコンバータ1032、出力アンプ1033を介して、スピーカ102から音声出力する。
【0032】
また、別の例として、使用者が、ナビゲーション装置を操作するための規定コマンドとは異なる「行き先をえーと探す」を発話した場合に、認識結果N−bestが図11に示すように出力された場合について説明する。この場合もCPU1034aは、認識結果N−bestの中で、最も拘束性のレベルが高い言語モデルから出力された認識対象語彙、すなわち第四位の「ルート設定」を選択する。そして、この第四位の認識結果である「行き先設定」が上述した(A)および(B)の条件を満たすか否かを判定して、最終的な認識結果として優先して採用するか否かを判定する。
【0033】
この場合には、順位は第四位であるので閾値Nthより大きく条件(A)を満たすが、第一位の認識結果のスコア(0.25)と第四位の認識結果のスコア(0.02)の差は0,12であって閾値Lthより大きいため条件(B)は満たさない。よって、CPU1034aは、この第四位の認識結果は優先して採用しない。
【0034】
CPU1034aは、次に、認識結果N−bestの中から2番目に拘束性のレベルが高い言語モデルから出力された認識対象語彙を選択する。図11に示す例では、拘束性の中レベルの言語モデルから出力された第二位の認識結果である「行き先・(ガベージ)・探す」を選択する。そして、この第二位の認識結果が上述した(A)および(B)の条件を満たすか否かを判定して、最終的な認識結果として優先して採用するか否かを判定する。
【0035】
この場合には、順位は第2位であるので閾値Nthより大きく条件(A)を満たす。また、第一位の認識結果のスコア(0.25)と第二位の認識結果のスコア(0.22)の差は0,03であって閾値Lthより小さいため条件(B)も満たす。よって、CPU1034aは、この第二位の認識結果を優先して採用する。
【0036】
以上より、CPU1034aは、図11に示す例では、第二位の認識結果を他の上位の認識結果よりも優先して採用すると判定し、第二位の認識結果である「行き先・(ガベージ)・探す」を最終的な認識結果とする。この場合、最終的な認識結果である「行き先・(ガベージ)・探す」をナビゲーション装置用の規定コマンドに変換する必要があるため、「行き先・(ガベージ)・探す」を対応する規定コマンド「行き先設定」に変換する。そして、CPU1034aは、音声合成処理を行い、認識結果「行き先設定」を音声信号に変換した後、D/Aコンバータ1032、出力アンプ1033を介して、スピーカ102から音声出力する。
【0037】
なお、この場合、認識結果である「行き先・(ガベージ)・探す」に基づいて、使用者の発話内容に近い「行き先を探す」を音声出力する方法も考えられる。しかしながら、本実施の形態では、使用者に規定コマンドの習得を促すために、規定コマンドに変換した後の「行き先設定」を音声出力するようにしている。
【0038】
ステップS60では、CPU1034aは、入力装置104からの出力に基づいて、使用者によって訂正スイッチ104bが操作されたか否かを判断する。例えば、使用者は、「行き先設定」と発話したのに対して、認識結果として異なる認識対象語彙、例えば「電話」が音声出力された場合には、誤認識が発生したと判断して訂正スイッチ104bを押下する。CPU1034aは、認識結果を音声出力した後、所定時間、使用者による訂正スイッチ104bの操作を受け付ける。
【0039】
CPU1034aは、所定時間以内に使用者によって訂正スイッチ104bが操作されたと判断した場合には、認識結果を取り消して、ステップS10へ戻り、使用者からの再発話を受け付ける。一方、CPU1034aは、所定時間以内に訂正スイッチ104bが操作されないと判断した場合には、使用者は認識結果を容認したものとして認識結果を確定し、ステップS70へ進む。
【0040】
ステップS70では、CPU1034aは、認識結果として確定した認識対象語彙に下位の階層があるか否かを判断する。下位の階層が存在すると判断した場合には、ステップS10へ戻って、下位階層を対象とした待ち受け設定を行う。例えば、確定した認識結果が「行き先設定」である場合には、当該認識結果は、図3に示したように、第一階層Aに含まれる認識対象語彙であることから、下位階層として第二階層と第三階層が存在すると判断する。そして、この場合には、CPU1034aは、図9(b)および図9(c)に示した音声入力用のメニュー画面をディスプレイ105へ出力して、使用者に下位階層に含まれるコマンドの発話を促す。
【0041】
これに対して、下位階層がないと判断した場合、すなわち最も下の階層まで音声認識が完了したと判断した場合には、ステップS80へ進む。ステップS80では、CPU1034aは、下位階層まで音声認識したことによって特定される使用者からの操作指示に基づいて、処理を実行する。例えば、ナビゲーション装置上で目的地設定や経路探索を行う。
【0042】
図12は、本実施の形態における音声認識装置100を使用してナビゲーション装置を操作する場合の使用者による発話と音声認識装置100による応答の具体例を示した図である。この図12は、使用者が規定のコマンドを発話して、ナビゲーション装置を操作する場合を示している。
【0043】
CPU1034aは、使用者に対してコマンドの発話を促すためのシステムメッセージAとして「コマンドをどうぞ」をスピーカ102から出力し、使用者からの発話を待ち受ける。同時に、CPU1034aは、ディスプレイ105に、図9(a)に示した拘束性の高レベルの言語モデルの第一階層Aに含まれるコマンドを表示したメニュー画面を表示する。使用者は、これに対応して、ナビゲーション装置で行き先を設定するためのユーザ発話Bとして規定コマンドである「行き先設定」を発話する。
【0044】
CPU1034aは、使用者による発話を受け付けて、上述した音声認識処理を実行し、図10で上述したように、認識結果N−bestの中から「行き先設定」を認識結果として特定する。そして、CPU1034aは、使用者に対して下位の階層のコマンドの発話を促すためのシステムメッセージCとして「行き先設定のコマンドをどうぞ」をスピーカ102から出力し、使用者からの発話を待ち受ける。同時に、CPU1034aは、ディスプレイ105に、図9(b)に示した拘束性の高レベルの言語モデルの第二階層Bに含まれるコマンドを表示したメニュー画面を表示する。使用者は、これに対応して、登録地の中から行き先を選択するためのユーザ発話Dとして規定コマンドである「登録地表示」を発話する。
【0045】
CPU1034aは、使用者による発話を受け付けて、上述した音声認識処理を実行し、
認識結果N−bestの中から「登録地表示」を認識結果として特定する。そして、CPU1034aは、使用者に対してさらに下位の階層のコマンドの発話を促すためのシステムメッセージEとして「登録地表示の番号をどうぞ」をスピーカ102から出力し、使用者からの発話を待ち受ける。同時に、CPU1034aは、ディスプレイ105に、図9(c)に示した拘束性の高レベルの言語モデルの第三階層Cに含まれるコマンドを表示したメニュー画面を表示する。使用者は、これに対応して、登録地の中から登録地の番号を選択するためのユーザ発話Fとして「3番」を発話する。
【0046】
CPU1034aは、以上の処理によって、「△△社」を行き先として設定するようにナビゲーション装置を制御する。これによって、使用者は音声操作によりナビゲーション装置を操作できる。
【0047】
次に、図13により、使用者が規定のコマンドとは異なる内容を発話した場合の具体例について説明する。使用者に対してコマンドの発話を促すためのシステムメッセージAとして「コマンドをどうぞ」をスピーカ102から出力し、使用者からの発話を待ち受ける。同時に、CPU1034aは、ディスプレイ105に、図9(a)に示した拘束性の高レベルの言語モデルの第一階層Aに含まれるコマンドを表示したメニュー画面を表示する。使用者は、これに対応して、ナビゲーション装置で行き先を設定するためのユーザ発話Bとして規定コマンドとは異なる内容の「行き先をえーと探す」を発話する。
【0048】
CPU1034aは、使用者による発話を受け付けて、上述した音声認識処理を実行し、図11で上述したように、認識結果N−bestの中から「行き先・(ガベージ)・探す」を認識結果として特定し、これを対応する規定コマンド「行き先設定」に変換する。そして、CPU1034aは、使用者に対して下位の階層のコマンドの発話を促すためのシステムメッセージCとして「行き先設定のコマンドをどうぞ」をスピーカ102から出力し、使用者からの発話を待ち受ける。同時に、CPU1034aは、ディスプレイ105に、図9(b)に示した拘束性の高レベルの言語モデルの第二階層Bに含まれるコマンドを表示したメニュー画面を表示する。使用者は、これに対応して、登録地の中から行き先を選択するためのユーザ発話Dとして規定コマンドである「登録地表示」を発話する。
【0049】
CPU1034aは、使用者による発話を受け付けて、上述した音声認識処理を実行し、
認識結果N−bestの中から「登録地表示」を認識結果として特定する。そして、CPU1034aは、使用者に対してさらに下位の階層のコマンドの発話を促すためのシステムメッセージEとして「登録地表示の番号をどうぞ」をスピーカ102から出力し、使用者からの発話を待ち受ける。同時に、CPU1034aは、ディスプレイ105に、図9(c)に示した拘束性の高レベルの言語モデルの第三階層Cに含まれるコマンドを表示したメニュー画面を表示する。使用者は、これに対応して、登録地の中から登録地の番号を選択するためのユーザ発話Fとして「3番」を発話する。
【0050】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
(1)使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される語彙を音声認識実行時の認識対象語彙として待ち受け、使用者による発話音声と認識対象語彙との一致度を演算して、認識結果候補として認識結果N−bestを抽出する。そして、認識結果N−bestに含まれる認識対象語彙の一致度、およびその認識結果候補を含む言語モデルの拘束性のレベルに基づいて、認識結果N−bestの中から認識結果を特定するようにした。これによって、使用者が規定コマンドを表現を変更して、拘束性の低い語彙を発話した場合でも、誤認識が生じる可能性を低減することができる。
【0051】
(2)拘束性のレベルが異なる複数の言語モデルは、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容しない拘束性の高レベルの言語モデル、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容し、かつ認識可能な単語列が確定している拘束性の中レベルの言語モデル、および認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容し、かつ認識可能な単語列が確定していない拘束性の低レベルの言語モデルを含むようにした。これによって、使用者による様々な態様の発話を待ち受けて、精度高く音声認識することができる。
【0052】
(3)認識結果候補である認識結果N−bestの中から、より拘束性のレベルが高い言語モデルの認識対象語彙を優先して認識結果として特定するようにした。これによって、使用者が規定コマンドのような拘束性のレベルが高い言語モデルの発話を行った場合に、拘束性のレベルが低い言語モデルの認識対象語彙が誤って認識されることを防止することができる。
【0053】
(4)認識結果候補である認識結果N−bestの中から、より拘束性のレベルが高い言語モデルの認識対象語彙であって、かつその認識対象語彙の一致度と、最も一致度が高い認識対象語彙の一致度との差(スコア差)が所定の閾値より小さい場合に、その認識対象語彙を優先して認識結果として特定するようにした。これによって、認識結果N−bestの中に、より拘束性のレベルが高い言語モデルの認識対象語彙が含まれている場合であっても、その一致度が低い場合には、それが優先的に採用されることを防いで、誤認識を防止することができる。
【0054】
(5)使用者が発話可能な認識対象語彙をディスプレイ105に表示して提示するようにした。これによって、使用者は、発話すべき語彙をあらかじめ把握することができる。
【0055】
(6)認識結果に基づいて、使用者に対する応答文を生成して出力するようにした。これによって、使用者は、直前の発話内容が正しく認識されたかを把握することができる。
【0056】
(7)一致度の演算によって得られる一致度が所定値以上となる所定数の認識対象語彙を認識結果N−bestとして抽出するようにした。これによって、使用者による発話内容と一致する可能性が高い語彙を認識結果の候補とすることができる。
【0057】
―変形例―
なお、上述した実施の形態の音声認識装置は、以下のように変形することもできる。
(1)上述した実施の形態では、CPU1034aは、認識結果N−bestの中から、より拘束性のレベルが高い言語モデルの認識対象語彙であって、かつその認識対象語彙の一致度と、最も一致度が高い認識対象語彙とスコア差が所定の閾値より小さい場合に、その認識対象語彙を優先して認識結果として特定するようにした。しかしながら、CPU1034aは、認識結果N−bestに含まれる認識対象語彙の一致度、およびその認識対象語彙を含む言語モデルの拘束性のレベルの少なくともいずれか一方に基づいて、認識結果を特定するようにしてもよい。例えば、認識結果N−bestの中から、より拘束性のレベルが高い言語モデルの認識対象語彙を優先して認識結果として特定するようにしてもよい。
【0058】
(2)上述した実施の形態では、CPU1034aは、認識結果N−bestの中から、より拘束性のレベルが高い言語モデルの認識対象語彙であって、かつその認識対象語彙の一致度と、最も一致度が高い認識対象語彙とスコア差が所定の閾値より小さい場合に、その認識対象語彙を優先して認識結果として特定するようにした。しかしながら、CPU1034aは、一致度演算に際して、拘束性のレベルが高い言語モデルの認識対象語彙のスコアに所定のスコアを加算する、あるいは所定の重み付け係数を乗算することにより、前記語彙を優先して認識結果として特定するようにしてもよい。
【0059】
(3)上述した実施の形態では、音声認識装置100を用いて音声操作が可能なナビゲーション装置を操作する例について説明した。しかしながら、音声認識装置100は、音声操作可能な他の機器に適用することも可能である。
【0060】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。
【図面の簡単な説明】
【0061】
【図1】音声認識装置の一実施の形態の構成を示すブロック図である。
【図2】音声認識装置100の処理を示すフローチャート図である。
【図3】拘束性の高レベルの言語モデルの具体例を示す図である。
【図4】拘束性の高レベルの言語モデルを読み込むことにより待ち受け可能な認識対象語彙の具体例を示す図である。
【図5】拘束性の中レベルの言語モデルの具体例を示す図である。
【図6】拘束性の中レベルの言語モデルを読み込むことにより待ち受け可能な認識対象語彙の具体例を示す図である。
【図7】拘束性の低レベルの言語モデルの具体例を示す図である。
【図8】拘束性の低レベルの言語モデルを読み込むことにより待ち受け可能な認識対象語彙の具体例を示す図である。
【図9】音声入力用のメニュー画面の具体例を示す図である。
【図10】認識結果N−bestの具体例を示す第1の図である。
【図11】認識結果N−bestの具体例を示す第2の図である。
【図12】使用者による発話と音声認識装置100による応答の具体例を示した第1の図である。
【図13】使用者による発話と音声認識装置100による応答の具体例を示した第2の図である。
【符号の説明】
【0062】
100 音声認識装置、101 マイク、102 スピーカ、103 信号処理ユニット、1031 A/Dコンバータ、1032 D/Aコンバータ、1033 出力アンプ、1034 信号処理装置、1034a CPU、1034b メモリ、1035 外部記憶装置、104 入力装置、104a 発話スイッチ、104b 訂正スイッチ、105 ディスプレイ
【技術分野】
【0001】
本発明は、音声を認識するための音声認識装置、および音声認識方法に関する。
【背景技術】
【0002】
次のような音声認識装置が知られている。この音声認識装置は、音声認識エンジンと規定コマンド用辞書とを備え、音声認識エンジンは、使用者の発話音声を規定コマンド辞書と照合することによって、認識結果を出力する(例えば、特許文献1)。
【0003】
【特許文献1】特開平06−095687号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の音声認識装置では、使用者が規定コマンドの表現を変更して発話した場合には、誤認識が生じる恐れがあった。
【課題を解決するための手段】
【0005】
本発明は、使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される語彙を、音声認識実行時の認識対象語彙として記憶し、使用者による発話音声を入力し、記憶した認識対象語彙と、入力した発話音声との一致度を演算し、一致度の演算結果に基づいて、認識対象語彙から認識結果候補を抽出し、抽出した認識結果候補に含まれる各認識対象語彙の一致度、および各認識対象語彙の言語モデルの拘束性のレベルの少なくともいずれか一方に基づいて、認識結果候補の中から認識結果を特定することを特徴とする。
【発明の効果】
【0006】
本発明によれば、使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される語彙を待ち受け語彙とすることで、使用者が規定コマンドの表現を変更して、拘束性の低い語彙を発話した場合でも、誤認識が生じる可能性を低減することができる。
【発明を実施するための最良の形態】
【0007】
図1は、本実施の形態における音声認識装置の一実施の形態の構成を示すブロック図である。音声認識装置100は、マイク101と、スピーカ102と、信号処理ユニット103と、入力装置104と、ディスプレイ105とを備えている。
【0008】
信号処理ユニット103は、A/Dコンバータ1031、D/Aコンバータ1032、出力アンプ1033、信号処理装置1034、および外部記憶装置1035を備えている。信号処理装置1034は、CPU1034a、メモリ1034b、およびその他周辺回路により構成されている。また、入力装置104は、発話スイッチ104aおよび訂正スイッチ104bを備えている。
【0009】
音声認識装置100においては、使用者は、発話スイッチ104aを押下することによって、音声認識の開始を指示することができる。使用者によって音声認識の開始が指示された場合、使用者による発話音声はマイク101を通して信号処理ユニット103へ入力される。信号処理ユニット103へ入力された音声信号(入力音声信号)は、A/Dコンバータ1031でデジタル信号に変換された後、信号処理装置1034へ入力される。
【0010】
信号処理装置1034では、CPU1034aは、図2により後述する処理を実行して、使用者による発話音声を音声認識する。また、音声認識の結果に基づいて、使用者への応答文を生成する。生成した応答文は、D/Aコンバータ1032でアナログ信号に変換され、出力アンプ1033で増幅された後、スピーカ102を介して出力される。使用者は、応答文の内容から音声認識結果が誤認識であると判断した場合には、訂正ボタン104bを押下して訂正指示をすることができる。また、使用者は、訂正ボタン104bを一定時間押下(長押し)することにより、音声認識を途中で中断することもできる。
【0011】
図2は、本実施の形態における音声認識装置100の処理を示すフローチャートである。図2に示す処理は、使用者によって発話スイッチ104aが押下されると起動するプログラムとして、CPU1034aによって実行される。
【0012】
ステップS10において、CPU1034aは、音声認識に使用する認識対象語彙を外部記憶装置1035からメモリ1034bに読み込んで、音声認識処理のための待ち受け設定を行う。ここで読み込む認識対象語彙は、使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される。以下、言語モデルの具体例について、図3〜図8を用いて説明する。
【0013】
CPU1034aは、まず、外部記憶装置1035から拘束性の高レベルの言語モデルで表される認識対象語彙を読み込む。拘束性の高レベルの言語モデルとは、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容しない規定コマンド用の言語モデルであって、例えば、図3に示すように、第一階層A、第二階層B、および第三階層Cとで構成される階層構造になっている。なお、図3は、車両に搭載されるナビゲーション装置を音声操作するためのコマンドを待ち受けるための言語モデルを表しており、以下の説明では、使用者がナビゲーション装置を音声操作する場合の音声認識処理について説明する。
【0014】
図3において、第一階層Aは、「行き先設定」、「ルート設定」などのナビゲーション装置を操作するためのコマンドを保持している。第二階層Bは、第一階層Aのコマンドの下位コマンドを保持しており、例えば、第一階層Aに含まれる「行き先設定」の下位コマンドとして、「自宅設定」や「登録地表示」などのコマンドを保持している。第三階層Cは、第二階層Bの下位コマンドを保持しており、例えば、第二階層Bに含まれる「登録地表示」の下位コマンドとして、「○○さん」や「○○社」などの具体的な登録地の名称を保持している。
【0015】
ここでは、CPU1034aは、この図3に示す拘束性の高レベルの言語モデルの中から、第一階層Aに含まれる全てのコマンド、第二階層Bに含まれる一部のコマンド、および第三階層Cに含まれる一部のコマンドを抽出して読み込む。例えば、図3に示す枠3a内に含まれるコマンドを抽出して読み込む。この拘束性の高レベルの言語モデルとして、例えば、図4に示すような語彙を認識対象語彙として待ち受けることが可能になる。すなわち、使用者が行き先を設定しようとして「行き先設定」と発話した場合に、認識対象語彙4aによってこれを音声認識することができる。
【0016】
次に、CPU1034aは、外部記憶装置1035から拘束性の中レベルの言語モデルで表される認識対象語彙を読み込む。拘束性の中レベルの言語モデルとは、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容し、かつ認識可能な単語列が確定している言語モデルである。例えば図5に示すように、「行き先」、「目的地」など、ナビゲーション装置を操作する上での目的語5aと、「設定」、「決定」などナビゲーション装置を操作するための操作語5bとをガベージ5cを挟んで接続し、さらに目的語5aの前にもガベージ5dを挟んで操作語5eを接続することによって、目的語と操作語の倒置も許した言語モデルである。
【0017】
なお、ガベージは、操作語や目的語などのキーワード以外の部分を吸収する。この拘束性の中レベルの言語モデルで表される認識対象語彙を読み込むことによって、例えば、図6に示すような語彙を認識対象語彙として待ち受けることが可能になる。すなわち、使用者が行き先を設定しようとして「行き先を設定」と発話した場合でも、認識対象語彙6aにより、これを音声認識することができる。
【0018】
最後に、CPU1034aは、外部記憶装置1035から拘束性の低レベルの言語モデルで表される認識対象語彙を読み込む。拘束性の低レベルの言語モデルとは、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容し、かつ認識可能な単語列が確定していない言語モデルである。例えば、図7に示すように、「行き先」、「目的地」などのナビゲーション装置を操作する上での目的語および「設定」、「決定」などナビゲーション装置を操作するための操作語からなる語彙7aをガベージ7bおよび7cを挟んで任意に接続することを許した言語モデルである。
【0019】
この拘束性の低レベルの言語モデルで表される認識対象語彙を読み込むことによって、例えば、図8に示すような語彙を認識対象語彙として待ち受けることが可能になる。すなわち、使用者が行き先を設定しようとして「行き先、行き先設定」のように誤った発話した場合でも、認識対象語彙8aにより、これを音声認識することができる。
【0020】
次に、ステップS20へ進み、CPU1034aは、例えば図9に示すような音声入力用のメニュー画面をディスプレイ105へ出力して表示する。図9(a)は、ステップS10で読み込んだ拘束性の高レベルの言語モデルの第一階層Aに含まれるコマンドを表示して、使用者に発話を促すためのメニュー画面例である。また、図9(b)は、第二階層Bに含まれるコマンドを表示して、使用者に発話を促すためのメニュー画面例であり、図9(c)は、第三階層Cに含まれるコマンドを表示して、使用者に発話を促すためのメニュー画面例である。CPU1034aは、まず、図9(a)に示すメニュー画面を表示して、使用者に対して、第一階層Aに含まれるコマンドを発話するように促す。
【0021】
このようなメニュー画面例を表示して、使用者に発話可能なコマンドを提示することによって、使用者は、どのようなコマンドを発話すればよいかを把握することができる。なお、ここでメニュー画面上に表示されるのは、第一階層Aに含まれるコマンドのうちの一部であるが、このメニュー画面に表示されているコマンドは、全て目的語と操作語の組み合わせとなっている。このため、使用者は、他のコマンドを発話しようとした場合であっても、このメニュー画面を見ることによって、目的語と操作語とからなるコマンドを発話すればよいことを把握することができる。
【0022】
次に、CPU1034aは、処理を開始した旨を使用者に通知するために、外部記憶装置1035に記憶されている音声メッセージ、例えば「処理を開始しました」や「発話を開始してください」などを出力する。すなわちCPU1034aは、音声メッセージの音声データを外部記憶装置1035から読み込み、D/Aコンバータ1032へ出力する。音声メッセージの音声データは、D/Aコンバータ1032でアナログデータに変換され、出力アンプ1033で増幅された後、スピーカ102を介して出力される。使用者は、音声メッセージを受けて発話を行う。
【0023】
CPU1034aは、マイク101を介した音声入力を監視して、使用者による発話音声の入力開始を検出する。具体的には、CPU1034aは、次のようにして発話音声の入力開始を検出する。CPU1034aは、使用者によって、発話スイッチ104aが押下されるまでの間は、マイク101およびA/Dコンバータ1031を介して入力されるデジタル信号の平均パワーを演算している。
【0024】
そして、使用者によって発話スイッチ104aが押下された後は、マイク101およびA/Dコンバータ1031を介して入力されるデジタル信号の瞬間パワーが、上記平均パワーを所定値以上大きくなったときに、使用者による発話音声の入力が開始されたと検出する。そして、発話音声の入力が開始されたことを検出した場合には、CPU1034aは、音声の取り込みを開始する。
【0025】
その後、ステップS30へ進み、CPU1034aは、上述したステップS10でメモリ1034bに読み込んだ認識対象語彙(待ち受け単語)と、取り込んだ音声との一致度を演算する。一致度とは、認識対象語彙と取り込んだ音声とがどの程度似ているかを表す指標であって、本実施の形態では、一致度はスコアとして算出される。このスコアは、数値で表され、値が大きいほど認識対象語彙と取り込んだ音声とが似ていることを意味する。なお、CPU1034aがこの一致度を演算している間も、発話音声の取り込みは継続されている。
【0026】
ステップS40では、CPU1034aは、入力されるデジタル信号の瞬間パワーが、所定時間以上継続して所定値以下である場合には、発話音声の入力は終了したと判断して、音声の取り込みを終了する。
【0027】
その後、ステップS50へ進み、CPU1034aは、ステップS30で開始した一致度の演算が終了したら、一致度の最も大きな認識対象語彙から順番にN個の認識対象語彙を認識結果N−bestとして出力する。図10は、使用者が、ナビゲーション装置を操作するための規定コマンドである「行き先設定」を発話した場合の認識結果N−bestを示す図である。なお、図10では、Nが5の場合、すなわち認識結果N−bestとして、一致度が上位の5個の認識対象語彙が出力された場合の具体例を示している。
【0028】
この図10に示す例では、使用者による実際の発話内容と一致する認識対象語彙「行き先設定」は、その一致度が第四位と低く算出されている。この場合、従来の一般的な音声認識方法と同様に一致度の最上位の認識対象語彙を最終的な認識結果として採用した場合には、誤認識が生じることになる。よって、本実施の形態では、次のようにして誤認識を防止する。
【0029】
CPU1034aは、認識結果N−bestの中で、最も拘束性のレベルが高い言語モデルから出力された認識対象語彙を選択する。例えば、図10に示す例では、第一位の認識結果である「(ガベージ)・(ガベージ)」は拘束性の低レベルの言語モデルから出力された認識対象語彙である。第二位の認識結果である「駅・(ガベージ)・探す」は、拘束性の中レベルの言語モデルから出力された認識対象語彙である。第三位の認識結果である「地図・見せて」は、拘束性の中レベルの言語モデルから出力された認識対象語彙である。第四位の認識結果である「行き先設定」は、拘束性の高レベルの言語モデルから出力された認識対象語彙である。第五位の認識結果である「(ガベージ)・設定」は、拘束性の低レベルの言語モデルから出力された認識対象語彙である。
【0030】
よって、この図10に示す例では、CPU1034aは、最も拘束性のレベルが高い第四位の認識結果である「行き先設定」を選択する。そして、CPU1034aは、この第四位の認識結果である「行き先設定」を最終的な認識結果として優先採用するか否かの判定を行う。本実施の形態では、CPU1034aは、(A)判定対象の認識結果の順位が所定の順位Nthより高く、かつ(B)第一位の認識機結果と判定対象の認識結果とのスコア差が所定値Lthより小さい場合には、判定対象の認識結果を上位の他の認識結果よりも優先して採用する。なお、判定時の閾値として用いるNthとLthは、それぞれ実験的に求められる値であって、ここでは、Nth=5、Lth=0.10とする。
【0031】
ここで、判定対象の認識結果である第四位の認識結果についてみると、順位は第四位であるので閾値Nthより大きく条件(A)を満たす。また、第一位の認識結果のスコア(0.25)と第四位の認識結果のスコア(0.18)の差は0,07であって閾値Lthより小さく条件(B)も満たす。よって、CPU1034aは、図10に示す例では、第四位の認識結果を他の上位の認識結果よりも優先して採用すると判定し、第四位の認識結果である「行き先設定」を最終的な認識結果とする。そして、CPU1034aは、音声合成処理を行い、認識結果「行き先設定」を音声信号に変換した後、D/Aコンバータ1032、出力アンプ1033を介して、スピーカ102から音声出力する。
【0032】
また、別の例として、使用者が、ナビゲーション装置を操作するための規定コマンドとは異なる「行き先をえーと探す」を発話した場合に、認識結果N−bestが図11に示すように出力された場合について説明する。この場合もCPU1034aは、認識結果N−bestの中で、最も拘束性のレベルが高い言語モデルから出力された認識対象語彙、すなわち第四位の「ルート設定」を選択する。そして、この第四位の認識結果である「行き先設定」が上述した(A)および(B)の条件を満たすか否かを判定して、最終的な認識結果として優先して採用するか否かを判定する。
【0033】
この場合には、順位は第四位であるので閾値Nthより大きく条件(A)を満たすが、第一位の認識結果のスコア(0.25)と第四位の認識結果のスコア(0.02)の差は0,12であって閾値Lthより大きいため条件(B)は満たさない。よって、CPU1034aは、この第四位の認識結果は優先して採用しない。
【0034】
CPU1034aは、次に、認識結果N−bestの中から2番目に拘束性のレベルが高い言語モデルから出力された認識対象語彙を選択する。図11に示す例では、拘束性の中レベルの言語モデルから出力された第二位の認識結果である「行き先・(ガベージ)・探す」を選択する。そして、この第二位の認識結果が上述した(A)および(B)の条件を満たすか否かを判定して、最終的な認識結果として優先して採用するか否かを判定する。
【0035】
この場合には、順位は第2位であるので閾値Nthより大きく条件(A)を満たす。また、第一位の認識結果のスコア(0.25)と第二位の認識結果のスコア(0.22)の差は0,03であって閾値Lthより小さいため条件(B)も満たす。よって、CPU1034aは、この第二位の認識結果を優先して採用する。
【0036】
以上より、CPU1034aは、図11に示す例では、第二位の認識結果を他の上位の認識結果よりも優先して採用すると判定し、第二位の認識結果である「行き先・(ガベージ)・探す」を最終的な認識結果とする。この場合、最終的な認識結果である「行き先・(ガベージ)・探す」をナビゲーション装置用の規定コマンドに変換する必要があるため、「行き先・(ガベージ)・探す」を対応する規定コマンド「行き先設定」に変換する。そして、CPU1034aは、音声合成処理を行い、認識結果「行き先設定」を音声信号に変換した後、D/Aコンバータ1032、出力アンプ1033を介して、スピーカ102から音声出力する。
【0037】
なお、この場合、認識結果である「行き先・(ガベージ)・探す」に基づいて、使用者の発話内容に近い「行き先を探す」を音声出力する方法も考えられる。しかしながら、本実施の形態では、使用者に規定コマンドの習得を促すために、規定コマンドに変換した後の「行き先設定」を音声出力するようにしている。
【0038】
ステップS60では、CPU1034aは、入力装置104からの出力に基づいて、使用者によって訂正スイッチ104bが操作されたか否かを判断する。例えば、使用者は、「行き先設定」と発話したのに対して、認識結果として異なる認識対象語彙、例えば「電話」が音声出力された場合には、誤認識が発生したと判断して訂正スイッチ104bを押下する。CPU1034aは、認識結果を音声出力した後、所定時間、使用者による訂正スイッチ104bの操作を受け付ける。
【0039】
CPU1034aは、所定時間以内に使用者によって訂正スイッチ104bが操作されたと判断した場合には、認識結果を取り消して、ステップS10へ戻り、使用者からの再発話を受け付ける。一方、CPU1034aは、所定時間以内に訂正スイッチ104bが操作されないと判断した場合には、使用者は認識結果を容認したものとして認識結果を確定し、ステップS70へ進む。
【0040】
ステップS70では、CPU1034aは、認識結果として確定した認識対象語彙に下位の階層があるか否かを判断する。下位の階層が存在すると判断した場合には、ステップS10へ戻って、下位階層を対象とした待ち受け設定を行う。例えば、確定した認識結果が「行き先設定」である場合には、当該認識結果は、図3に示したように、第一階層Aに含まれる認識対象語彙であることから、下位階層として第二階層と第三階層が存在すると判断する。そして、この場合には、CPU1034aは、図9(b)および図9(c)に示した音声入力用のメニュー画面をディスプレイ105へ出力して、使用者に下位階層に含まれるコマンドの発話を促す。
【0041】
これに対して、下位階層がないと判断した場合、すなわち最も下の階層まで音声認識が完了したと判断した場合には、ステップS80へ進む。ステップS80では、CPU1034aは、下位階層まで音声認識したことによって特定される使用者からの操作指示に基づいて、処理を実行する。例えば、ナビゲーション装置上で目的地設定や経路探索を行う。
【0042】
図12は、本実施の形態における音声認識装置100を使用してナビゲーション装置を操作する場合の使用者による発話と音声認識装置100による応答の具体例を示した図である。この図12は、使用者が規定のコマンドを発話して、ナビゲーション装置を操作する場合を示している。
【0043】
CPU1034aは、使用者に対してコマンドの発話を促すためのシステムメッセージAとして「コマンドをどうぞ」をスピーカ102から出力し、使用者からの発話を待ち受ける。同時に、CPU1034aは、ディスプレイ105に、図9(a)に示した拘束性の高レベルの言語モデルの第一階層Aに含まれるコマンドを表示したメニュー画面を表示する。使用者は、これに対応して、ナビゲーション装置で行き先を設定するためのユーザ発話Bとして規定コマンドである「行き先設定」を発話する。
【0044】
CPU1034aは、使用者による発話を受け付けて、上述した音声認識処理を実行し、図10で上述したように、認識結果N−bestの中から「行き先設定」を認識結果として特定する。そして、CPU1034aは、使用者に対して下位の階層のコマンドの発話を促すためのシステムメッセージCとして「行き先設定のコマンドをどうぞ」をスピーカ102から出力し、使用者からの発話を待ち受ける。同時に、CPU1034aは、ディスプレイ105に、図9(b)に示した拘束性の高レベルの言語モデルの第二階層Bに含まれるコマンドを表示したメニュー画面を表示する。使用者は、これに対応して、登録地の中から行き先を選択するためのユーザ発話Dとして規定コマンドである「登録地表示」を発話する。
【0045】
CPU1034aは、使用者による発話を受け付けて、上述した音声認識処理を実行し、
認識結果N−bestの中から「登録地表示」を認識結果として特定する。そして、CPU1034aは、使用者に対してさらに下位の階層のコマンドの発話を促すためのシステムメッセージEとして「登録地表示の番号をどうぞ」をスピーカ102から出力し、使用者からの発話を待ち受ける。同時に、CPU1034aは、ディスプレイ105に、図9(c)に示した拘束性の高レベルの言語モデルの第三階層Cに含まれるコマンドを表示したメニュー画面を表示する。使用者は、これに対応して、登録地の中から登録地の番号を選択するためのユーザ発話Fとして「3番」を発話する。
【0046】
CPU1034aは、以上の処理によって、「△△社」を行き先として設定するようにナビゲーション装置を制御する。これによって、使用者は音声操作によりナビゲーション装置を操作できる。
【0047】
次に、図13により、使用者が規定のコマンドとは異なる内容を発話した場合の具体例について説明する。使用者に対してコマンドの発話を促すためのシステムメッセージAとして「コマンドをどうぞ」をスピーカ102から出力し、使用者からの発話を待ち受ける。同時に、CPU1034aは、ディスプレイ105に、図9(a)に示した拘束性の高レベルの言語モデルの第一階層Aに含まれるコマンドを表示したメニュー画面を表示する。使用者は、これに対応して、ナビゲーション装置で行き先を設定するためのユーザ発話Bとして規定コマンドとは異なる内容の「行き先をえーと探す」を発話する。
【0048】
CPU1034aは、使用者による発話を受け付けて、上述した音声認識処理を実行し、図11で上述したように、認識結果N−bestの中から「行き先・(ガベージ)・探す」を認識結果として特定し、これを対応する規定コマンド「行き先設定」に変換する。そして、CPU1034aは、使用者に対して下位の階層のコマンドの発話を促すためのシステムメッセージCとして「行き先設定のコマンドをどうぞ」をスピーカ102から出力し、使用者からの発話を待ち受ける。同時に、CPU1034aは、ディスプレイ105に、図9(b)に示した拘束性の高レベルの言語モデルの第二階層Bに含まれるコマンドを表示したメニュー画面を表示する。使用者は、これに対応して、登録地の中から行き先を選択するためのユーザ発話Dとして規定コマンドである「登録地表示」を発話する。
【0049】
CPU1034aは、使用者による発話を受け付けて、上述した音声認識処理を実行し、
認識結果N−bestの中から「登録地表示」を認識結果として特定する。そして、CPU1034aは、使用者に対してさらに下位の階層のコマンドの発話を促すためのシステムメッセージEとして「登録地表示の番号をどうぞ」をスピーカ102から出力し、使用者からの発話を待ち受ける。同時に、CPU1034aは、ディスプレイ105に、図9(c)に示した拘束性の高レベルの言語モデルの第三階層Cに含まれるコマンドを表示したメニュー画面を表示する。使用者は、これに対応して、登録地の中から登録地の番号を選択するためのユーザ発話Fとして「3番」を発話する。
【0050】
以上説明した本実施の形態によれば、以下のような作用効果を得ることができる。
(1)使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される語彙を音声認識実行時の認識対象語彙として待ち受け、使用者による発話音声と認識対象語彙との一致度を演算して、認識結果候補として認識結果N−bestを抽出する。そして、認識結果N−bestに含まれる認識対象語彙の一致度、およびその認識結果候補を含む言語モデルの拘束性のレベルに基づいて、認識結果N−bestの中から認識結果を特定するようにした。これによって、使用者が規定コマンドを表現を変更して、拘束性の低い語彙を発話した場合でも、誤認識が生じる可能性を低減することができる。
【0051】
(2)拘束性のレベルが異なる複数の言語モデルは、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容しない拘束性の高レベルの言語モデル、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容し、かつ認識可能な単語列が確定している拘束性の中レベルの言語モデル、および認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容し、かつ認識可能な単語列が確定していない拘束性の低レベルの言語モデルを含むようにした。これによって、使用者による様々な態様の発話を待ち受けて、精度高く音声認識することができる。
【0052】
(3)認識結果候補である認識結果N−bestの中から、より拘束性のレベルが高い言語モデルの認識対象語彙を優先して認識結果として特定するようにした。これによって、使用者が規定コマンドのような拘束性のレベルが高い言語モデルの発話を行った場合に、拘束性のレベルが低い言語モデルの認識対象語彙が誤って認識されることを防止することができる。
【0053】
(4)認識結果候補である認識結果N−bestの中から、より拘束性のレベルが高い言語モデルの認識対象語彙であって、かつその認識対象語彙の一致度と、最も一致度が高い認識対象語彙の一致度との差(スコア差)が所定の閾値より小さい場合に、その認識対象語彙を優先して認識結果として特定するようにした。これによって、認識結果N−bestの中に、より拘束性のレベルが高い言語モデルの認識対象語彙が含まれている場合であっても、その一致度が低い場合には、それが優先的に採用されることを防いで、誤認識を防止することができる。
【0054】
(5)使用者が発話可能な認識対象語彙をディスプレイ105に表示して提示するようにした。これによって、使用者は、発話すべき語彙をあらかじめ把握することができる。
【0055】
(6)認識結果に基づいて、使用者に対する応答文を生成して出力するようにした。これによって、使用者は、直前の発話内容が正しく認識されたかを把握することができる。
【0056】
(7)一致度の演算によって得られる一致度が所定値以上となる所定数の認識対象語彙を認識結果N−bestとして抽出するようにした。これによって、使用者による発話内容と一致する可能性が高い語彙を認識結果の候補とすることができる。
【0057】
―変形例―
なお、上述した実施の形態の音声認識装置は、以下のように変形することもできる。
(1)上述した実施の形態では、CPU1034aは、認識結果N−bestの中から、より拘束性のレベルが高い言語モデルの認識対象語彙であって、かつその認識対象語彙の一致度と、最も一致度が高い認識対象語彙とスコア差が所定の閾値より小さい場合に、その認識対象語彙を優先して認識結果として特定するようにした。しかしながら、CPU1034aは、認識結果N−bestに含まれる認識対象語彙の一致度、およびその認識対象語彙を含む言語モデルの拘束性のレベルの少なくともいずれか一方に基づいて、認識結果を特定するようにしてもよい。例えば、認識結果N−bestの中から、より拘束性のレベルが高い言語モデルの認識対象語彙を優先して認識結果として特定するようにしてもよい。
【0058】
(2)上述した実施の形態では、CPU1034aは、認識結果N−bestの中から、より拘束性のレベルが高い言語モデルの認識対象語彙であって、かつその認識対象語彙の一致度と、最も一致度が高い認識対象語彙とスコア差が所定の閾値より小さい場合に、その認識対象語彙を優先して認識結果として特定するようにした。しかしながら、CPU1034aは、一致度演算に際して、拘束性のレベルが高い言語モデルの認識対象語彙のスコアに所定のスコアを加算する、あるいは所定の重み付け係数を乗算することにより、前記語彙を優先して認識結果として特定するようにしてもよい。
【0059】
(3)上述した実施の形態では、音声認識装置100を用いて音声操作が可能なナビゲーション装置を操作する例について説明した。しかしながら、音声認識装置100は、音声操作可能な他の機器に適用することも可能である。
【0060】
なお、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における構成に何ら限定されない。
【図面の簡単な説明】
【0061】
【図1】音声認識装置の一実施の形態の構成を示すブロック図である。
【図2】音声認識装置100の処理を示すフローチャート図である。
【図3】拘束性の高レベルの言語モデルの具体例を示す図である。
【図4】拘束性の高レベルの言語モデルを読み込むことにより待ち受け可能な認識対象語彙の具体例を示す図である。
【図5】拘束性の中レベルの言語モデルの具体例を示す図である。
【図6】拘束性の中レベルの言語モデルを読み込むことにより待ち受け可能な認識対象語彙の具体例を示す図である。
【図7】拘束性の低レベルの言語モデルの具体例を示す図である。
【図8】拘束性の低レベルの言語モデルを読み込むことにより待ち受け可能な認識対象語彙の具体例を示す図である。
【図9】音声入力用のメニュー画面の具体例を示す図である。
【図10】認識結果N−bestの具体例を示す第1の図である。
【図11】認識結果N−bestの具体例を示す第2の図である。
【図12】使用者による発話と音声認識装置100による応答の具体例を示した第1の図である。
【図13】使用者による発話と音声認識装置100による応答の具体例を示した第2の図である。
【符号の説明】
【0062】
100 音声認識装置、101 マイク、102 スピーカ、103 信号処理ユニット、1031 A/Dコンバータ、1032 D/Aコンバータ、1033 出力アンプ、1034 信号処理装置、1034a CPU、1034b メモリ、1035 外部記憶装置、104 入力装置、104a 発話スイッチ、104b 訂正スイッチ、105 ディスプレイ
【特許請求の範囲】
【請求項1】
使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される語彙を、音声認識実行時の認識対象語彙として記憶する記憶手段と、
使用者による発話音声を入力する音声入力手段と、
前記記憶手段に記憶した前記認識対象語彙と、前記音声入力手段で入力した前記発話音声との一致度を演算する一致度演算手段と、
前記一致度演算手段による演算結果に基づいて、前記認識対象語彙から認識結果候補を抽出する候補抽出手段と、
前記候補抽出手段で抽出した前記認識結果候補に含まれる各認識対象語彙の一致度、および各認識対象語彙の言語モデルの拘束性のレベルの少なくともいずれか一方に基づいて、前記認識結果候補の中から認識結果を特定する認識結果特定手段とを備えることを特徴とする音声認識装置。
【請求項2】
請求項1に記載の音声認識装置において、
前記拘束性のレベルが異なる複数の言語モデルは、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容しない拘束性の高レベルの言語モデル、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容し、かつ認識可能な単語列が確定している拘束性の中レベルの言語モデル、および認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容し、かつ認識可能な単語列が確定していない拘束性の低レベルの言語モデルを含むことを特徴とする音声認識装置。
【請求項3】
請求項2に記載の音声認識装置において、
前記認識結果特定手段は、前記認識結果候補の中から、より拘束性のレベルが高い前記言語モデルの前記認識対象語彙を優先して前記認識結果として特定することを特徴とする音声認識装置。
【請求項4】
請求項2に記載の音声認識装置において、
前記認識結果特定手段は、前記認識結果候補の中から、より拘束性のレベルが高い前記言語モデルの前記認識対象語彙であって、かつその認識対象語彙の一致度と、最も一致度が高い認識対象語彙との差が所定値より小さい前記認識対象語彙を優先して前記認識結果として特定することを特徴とする音声認識装置。
【請求項5】
請求項1〜4のいずれか一項に記載の音声認識装置において、
使用者が発話可能な前記認識対象語彙を表示装置に表示する表示制御手段をさらに備えることを特徴とする音声認識装置。
【請求項6】
請求項1〜5のいずれか一項に記載の音声認識装置において、
前記認識結果特定手段で特定した前記認識結果に基づいて、使用者に対する応答文を生成して出力する応答文出力手段をさらに備えることを特徴とする音声認識装置。
【請求項7】
請求項1〜6のいずれか一項に記載の音声認識装置において、
前記候補抽出手段は、前記一致度演算手段による演算の結果、前記一致度が所定値以上となる所定数の前記認識対象語彙を前記認識結果候補として抽出することを特徴とする音声認識装置。
【請求項8】
使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される語彙を、音声認識実行時の認識対象語彙として記憶し、
使用者による発話音声を入力し、
記憶した前記認識対象語彙と、入力した前記発話音声との一致度を演算し、
前記一致度の演算結果に基づいて、前記認識対象語彙から認識結果候補を抽出し、
抽出した前記認識結果候補に含まれる各認識対象語彙の一致度、および各認識対象語彙の言語モデルの拘束性のレベルの少なくともいずれか一方に基づいて、前記認識結果候補の中から認識結果を特定することを特徴とする音声認識方法。
【請求項1】
使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される語彙を、音声認識実行時の認識対象語彙として記憶する記憶手段と、
使用者による発話音声を入力する音声入力手段と、
前記記憶手段に記憶した前記認識対象語彙と、前記音声入力手段で入力した前記発話音声との一致度を演算する一致度演算手段と、
前記一致度演算手段による演算結果に基づいて、前記認識対象語彙から認識結果候補を抽出する候補抽出手段と、
前記候補抽出手段で抽出した前記認識結果候補に含まれる各認識対象語彙の一致度、および各認識対象語彙の言語モデルの拘束性のレベルの少なくともいずれか一方に基づいて、前記認識結果候補の中から認識結果を特定する認識結果特定手段とを備えることを特徴とする音声認識装置。
【請求項2】
請求項1に記載の音声認識装置において、
前記拘束性のレベルが異なる複数の言語モデルは、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容しない拘束性の高レベルの言語モデル、認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容し、かつ認識可能な単語列が確定している拘束性の中レベルの言語モデル、および認識対象語彙を構成する単語列の中に任意の音素列の挿入を許容し、かつ認識可能な単語列が確定していない拘束性の低レベルの言語モデルを含むことを特徴とする音声認識装置。
【請求項3】
請求項2に記載の音声認識装置において、
前記認識結果特定手段は、前記認識結果候補の中から、より拘束性のレベルが高い前記言語モデルの前記認識対象語彙を優先して前記認識結果として特定することを特徴とする音声認識装置。
【請求項4】
請求項2に記載の音声認識装置において、
前記認識結果特定手段は、前記認識結果候補の中から、より拘束性のレベルが高い前記言語モデルの前記認識対象語彙であって、かつその認識対象語彙の一致度と、最も一致度が高い認識対象語彙との差が所定値より小さい前記認識対象語彙を優先して前記認識結果として特定することを特徴とする音声認識装置。
【請求項5】
請求項1〜4のいずれか一項に記載の音声認識装置において、
使用者が発話可能な前記認識対象語彙を表示装置に表示する表示制御手段をさらに備えることを特徴とする音声認識装置。
【請求項6】
請求項1〜5のいずれか一項に記載の音声認識装置において、
前記認識結果特定手段で特定した前記認識結果に基づいて、使用者に対する応答文を生成して出力する応答文出力手段をさらに備えることを特徴とする音声認識装置。
【請求項7】
請求項1〜6のいずれか一項に記載の音声認識装置において、
前記候補抽出手段は、前記一致度演算手段による演算の結果、前記一致度が所定値以上となる所定数の前記認識対象語彙を前記認識結果候補として抽出することを特徴とする音声認識装置。
【請求項8】
使用者の発話内容を拘束する拘束性のレベルが異なる複数の言語モデルで表される語彙を、音声認識実行時の認識対象語彙として記憶し、
使用者による発話音声を入力し、
記憶した前記認識対象語彙と、入力した前記発話音声との一致度を演算し、
前記一致度の演算結果に基づいて、前記認識対象語彙から認識結果候補を抽出し、
抽出した前記認識結果候補に含まれる各認識対象語彙の一致度、および各認識対象語彙の言語モデルの拘束性のレベルの少なくともいずれか一方に基づいて、前記認識結果候補の中から認識結果を特定することを特徴とする音声認識方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2009−3205(P2009−3205A)
【公開日】平成21年1月8日(2009.1.8)
【国際特許分類】
【出願番号】特願2007−164538(P2007−164538)
【出願日】平成19年6月22日(2007.6.22)
【出願人】(000003997)日産自動車株式会社 (16,386)
【出願人】(591132335)株式会社ザナヴィ・インフォマティクス (745)
【Fターム(参考)】
【公開日】平成21年1月8日(2009.1.8)
【国際特許分類】
【出願日】平成19年6月22日(2007.6.22)
【出願人】(000003997)日産自動車株式会社 (16,386)
【出願人】(591132335)株式会社ザナヴィ・インフォマティクス (745)
【Fターム(参考)】
[ Back to top ]