(57)【要約】音声認識技術を用いて、ユーザの音声による入力に基づいた応答を行う音声認識システム、音声認識装置及び音声生成プログラムを提供する。  ユーザが発した音声の入力に基づいて応答を行う音声認識システムであって、ユーザが発した音声を音声データに変換する音声入力部と、音声データを構成する単語の組み合わせを認識し、単語毎の認識の信頼度を算出する音声認識部と、応答音声を生成する応答生成部と、応答音声を用いてユーザに情報を伝達する音声出力部と、を備え、応答生成部は、算出された信頼度が所定条件を満たす単語は、当該単語の合成音声を生成し、算出された信頼度が所定の条件を満たさない単語は、音声データから当該単語に対応する部分を抽出し、合成音声、及び／又は、抽出された音声データの組み合わせによって応答音声を生成する。【特許請求の範囲】
【請求項１】
ユーザが発した音声の入力に基づいて応答を行う音声認識システムであって、
ユーザが発した音声を音声データに変換する音声入力部と、
前記音声データを構成する単語の組み合わせを認識し、単語毎の認識の信頼度を算出する音声認識部と、
応答音声を生成する応答生成部と、
前記応答音声を用いてユーザに情報を伝達する音声出力部と、を備え、
前記応答生成部は、
算出された信頼度が所定条件を満たす単語は、当該単語の合成音声を生成し、
算出された信頼度が所定の条件を満たさない単語は、前記音声データから当該単語に対応する部分を抽出し、
前記合成音声、及び／又は、前記抽出された音声データの組み合わせによって前記応答音声を生成することを特徴とする音声認識システム。
【請求項２】
前記応答生成部は、さらに、ユーザの発声した音声の確認を促す合成音声を生成し、前記生成された合成音声を前記音声データの組み合わせに付加した前記応答音声を生成することを特徴とする請求項１に記載の音声認識システム。
【請求項３】
前記応答生成部は、
算出された信頼度が所定の条件を満たさない単語は、前記音声データから当該単語に対応する部分を抽出し、
当該単語の確認を促す合成音声を生成し、
前記抽出された音声データに当該応答音声を付加して、前記応答音声を生成することを特徴とする請求項１に記載の音声認識システム。
【請求項４】
音声データを認識するための辞書データ及び認識文法データを保存する辞書認識文法保存部を備え、
前記音声認識部は、前記音声データを構成する単語のうち、少なくとも一つを優先的に認識し、
その後、前記辞書認識文法保存部から、当該単語に関する辞書データ及び認識文法データを取得して、
前記取得した辞書データ及び認識文法データを用いて、他の単語を認識することを特徴とする請求項１から３の何れか一つに記載の音声認識システム。
【請求項５】
音声の入力に基づいた応答音声を生成する音声認識装置であって、
ユーザが発した音声を音声データに変換する音声入力部と、
前記音声データを構成する単語の組み合わせを認識し、単語毎の認識の信頼度を算出する音声認識部と、
応答音声を生成する応答生成部と、を備え、
前記応答生成部は、
算出された信頼度が所定条件を満たす単語は、当該単語の合成音声を生成し、
算出された信頼度が所定の条件を満たさない単語は、前記音声データから当該単語に対応する部分を抽出し、
前記合成音声、及び／又は、前記抽出された音声データの組み合わせによって前記応答音声を生成することを特徴とする音声認識装置。
【請求項６】
ユーザが発した音声を音声データに変換する音声入力部と、前記音声データを構成する単語の組み合わせを認識し、単語毎の認識の信頼度を算出する音声認識部と、応答音声を生成する応答生成部と、前記応答音声を用いてユーザに情報を伝達する音声出力部と、を備え、ユーザが発した音声の入力に基づいて、応答音声を生成する音声生成プログラムであって、
算出された信頼度が所定条件を満たす単語は、当該単語の合成音声を生成する第１のステップと、
算出された信頼度が所定の条件を満たさない単語は、前記音声データから当該単語に対応する部分を抽出する第２のステップと、
前記合成音声、及び／又は、前記抽出された音声データの組み合わせによって前記応答音声を生成する第３のステップと、を含むことを特徴とする音声生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識技術を用いて、ユーザの音声による入力に基づいた応答を行う音声認識システム、音声認識装置及び音声生成プログラムに関するものである。
【背景技術】
【０００２】
現在の音声認識技術は大量の音声データから発話を構成する単位標準パターンについての音響モデルを学習し、認識対象となる語彙群である辞書に合わせて、単位標準パターンの音響モデルを接続することで、照合用のパターンを作り出す。
この単位標準パターンは、音節を使う方法や、母音の定常部と、子音の定常部、さらにそれらの遷移状態からなる音素片などが用いられている。また、その表現手段としては、ＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌｓ）技術が用いられている。
このような方式は、換言すると、大量のデータから作成された標準パターンと入力信号とのパターンマッチング技術である。
また、例えば、「ボリュームを上げる」「ボリュームを下げる」という二つの文章を認識対象とする場合、それぞれの文章全体を認識対象とする方法と、文章を構成する部分を辞書に語彙として登録し、語彙の組み合わせを認識対象とする方法が知られている。
また、音声認識の結果は、画面上に認識結果文字列を表示する方法、認識結果文字列を音声合成で合成音声に変換し再生する方法、又は、認識結果に応じてあらかじめ録音された音声を再生する方法などでユーザに通知される。
また、単純に音声認識の結果を通知するのではなく、認識結果の単語又は文書の後に「でよろしいですか？」という確認を促す文章を含めた文字表示や合成音声で、ユーザとの対話を行う方法も知られている。
また、現在の音声認識技術は、認識対象語彙として登録された語彙の中からユーザの発声に最も類似しているものを選択し認識結果とするとともに、その認識結果の信頼性尺度である信頼度を出力するものが一般的である。
認識結果の信頼度を計算する方法としては、例えば、特開平４−２５５９００号公報には、比較照合部２で、入力音声の特徴ベクトルＶと予め登録しておいた複数の標準パターンとの類似度を計算する技術が開示されている。このとき、類似度の最大値Ｓを与える標準パターンを認識結果として求める。並行して、参照類似度計算部４で、特徴ベクトルＶと単位標準パターン記憶部３の単位標準パターンを結合した標準パターンと比較照合する。ここで、類似度の最大値を参照類似度Ｒとして出力する。次に類似度補正部５において、参照類似度Ｒを用いて類似度Ｓを補正する音声認識装置がある。この類似度によって信頼度が算出できる。
信頼度の利用方法としては、認識結果の信頼度が低い場合、ユーザに認識が正常にできなかったことを通知する方法が知られている。
また、特開平６−１１０６５０号公報には、人名などキーワードの数が多く、全てのキーワードパターンを登録することが難しい場合に、キーワードとはなり得ないパターンを登録することによって、キーワード部分を抽出し、ユーザが発声した音声を録音したもののキーワード部分と、あらかじめシステムが用意しておいた音声を組み合わせて、応答音声を生成する手法が開示されている。
【発明の開示】
【０００３】
前述のように、辞書とパターンマッチング技術に基づいた現在の音声認識システムでは、ユーザの発声を、辞書の中の他の語彙と間違える誤認識の発生を完全に防ぐことはできない。また、語彙の組み合わせを認識対象とする方式では、ユーザ発声のどの部分がどの語彙と対応しているかも含めて正しく認識する必要があるため、１つの語彙に対して間違った部分と対応させて認識してしまったために、対応のずれが波及し他の単語も誤認識を生じることがある。また、辞書に登録されていない語彙が発声された場合は、原理的に正しく認識を行うことはできない。
このような不完全な認識技術を有効に利用するためには、ユーザ発声のどの部分が正しく認識できて、どの部分が正しく認識できなかったのかユーザに正確に伝える必要がある。しかし、従来の認識結果文字列をユーザに画面や音声で通知する方法や、信頼度が低い場合にユーザに認識が正常に行われなかったことを通知するのみでは、この要求に十分に応えることはできなかった。
本発明は、前述した問題を鑑みてなされたものであり、音声認識結果を構成する各語彙の信頼度に応じて、信頼度の高い語彙は合成音声を用い、信頼度の低い語彙は、その語彙に対応するユーザ発声の断片を用いて、ユーザに通知するフィードバック音声を生成することを特徴とする。
本発明は、ユーザが発した音声の入力に基づいて応答を行う音声認識システムであって、ユーザが発した音声を音声データに変換する音声入力部と、音声データを構成する単語の組み合わせを認識し、単語毎の認識の信頼度を算出する音声認識部と、応答音声を生成する応答生成部と、応答音声を用いてユーザに情報を伝達する音声出力部と、を備え、応答生成部は、算出された信頼度が所定の条件を満たす単語は、当該単語の合成音声を生成し、算出された信頼度が所定の条件を満たさない単語は、音声データから当該単語に対応する部分を抽出し、合成音声、及び／又は、抽出された音声データの組み合わせによって応答音声を生成することを特徴とする。
ユーザの発話のどの部分が認識でき、どの部分が認識できなかったのかが直感的に理解可能な音声認識システムを提供できる。また、音声認識システムが誤った確認を行った場合、ユーザに通知される断片的なユーザ自身の発声が、発話の途中で切れているなど、直感的に正常でないと分かる様態で再生されるため、音声認識が正常に行われなかったことが理解可能な音声認識システムを提供できる。
【図面の簡単な説明】
【０００４】
図１は、本発明の実施の形態の音声認識システムの構成のブロック図である。
図２は、本発明の実施の形態の応答生成部の動作を示すフローチャートである。
図３は、本発明の実施の形態の応答音声の一例である。
図４は、本発明の実施の形態の応答音声の多の例である。
【発明を実施するための最良の形態】
【０００５】
以下に本発明の実施の形態の音声認識システムを、図面を参照して説明する。
図１は、本発明の実施の形態の音声認識システムの構成のブロック図である。
本発明の音声認識システムは、音声入力部１０１、音声認識部１０２、応答生成部１０３、音声出力部１０４、音響モデル記憶部１０５、辞書・認識文法記憶部１０６によって構成される。
音声入力部１０１は、ユーザが発声した音声を取り込み、デジタル信号形式の音声データに変換する。音声入力部１０１は、例えばマイクロフォンとＡ／Ｄコンバータで構成されており、マイクロフォンによって入力された音声信号がＡ／Ｄコンバータによってデジタル信号に変換される。変換されたデジタル信号（音声データ）は、音声認識部１０２又は音声記憶部１０５に送られる。
音響モデル記憶部１０５は、音響モデルがデータベースとして記憶されている。音響モデル記憶部１０５は、例えばハードディスクやＲＯＭ等によって構成される。
音響モデルとは、ユーザの発声がどのような音声データとして得られるかを統計的なモデルで表現したデータである。この音響モデルは、音節（例えば、「あ」「い」などの単位ごと）にモデル化されている。モデル化の単位は音節単位の他にも、音素片単位を用いることができる。音素片単位とは、母音、子音、無音を定常部、母音から子音、子音から無音のように異なる定常部間を移る部分を遷移部としてモデル化したデータである。例えば「あき」という単語は、「無音」「無音ａ」「ａ」「ａｋ」「ｋ」「ｋｉ」「ｉ」「ｉ無音」「無音」のように分割される。また、統計的なモデル化の方法としては、ＨＭＭなどが利用される。
辞書・認識文法記憶部１０６は、辞書データ及び認識文法データが記憶されている。辞書・認識文書記憶部１０６は、例えばハードディスクやＲＯＭ等によって構成される。
この辞書データ及び認識文法データは、複数の単語及び文の組み合わせに関する情報である。具体的には、前述の音響モデル化された単位を、有効な単語又は文章とするにはどのように組み合わせとするかを指定するデータである。辞書データは、前述の例の「あき」のような音節の組み合わせを指定するデータである。認識文法データは、システムが受け付ける単語の組み合わせの集合を指定するデータである。例えば「東京駅へ行く」という発声をシステムが受け付けるためには、「東京駅」「へ」「行く」という３つの単語の組み合わせが認識文法データに含まれている必要がある。また認識文法データには、各単語の分類情報を付与しておく。例えば「東京駅」という単語は「場所」という分類をし、「行く」という単語には「コマンド」という分類をすることができる。また「へ」という単語には「非キーワード」という分類を付与しておく。「非キーワード」という分類の単語はその単語が認識されたとしても、システムの動作に影響がない単語に付与する。逆に「非キーワード」以外の分類の単語は認識されることによって、システムに何らかの影響を与えるキーワードであるということになる。例えば「コマンド」に分類された単語が認識された場合は、認識された単語に相当する機能の呼び出しを行い、「場所」として認識された単語は機能を呼び出す際のパラメータとして利用できる。
音声認識部１０２は、音声入力部によって変換された音声データに基づいて、認識結果を取得し、類似度を算出する。音声認識部１０２は、音声データに基づいて、辞書・認識文法記憶部１０６の辞書データ又は認識文法データと、音響モデル記憶部１０５の音響モデルとを用いて、音響モデルの組み合わせが指定された単語又は文章を取得する。この取得した単語又は文章と当該音声データとの類似度を算出する。そして、類似度の高い単語又は文章の認識結果を出力する。
なお、文章には当該文章を構成する複数の単語が含まれる。そして、認識結果を構成する単語それぞれに信頼度が付与され、認識結果と合わせて出力される。
この類似度は特開平４−２５５９００号公報に記載されている方法を用いることによって計算することができる。また、類似度を計算する際には、認識結果を構成するそれぞれの単語が音声データのどの部分と対応させると最も類似度が高くなるかを、Ｖｉｔｅｒｂｉアルゴリズムを用いて求めることができる。これを用いて、それぞれの単語が対応する音声データの部分を表す区間情報を認識結果とあわせて出力する。具体的には所定区間（例えば、１０ｍｓ）ごとに入ってくる音声データ（フレームと呼ぶ）と、単語を構成する音素片の対応付けに関して最も類似度を高くすることができる場合の情報が出力される。
応答生成部１０３は、音声認識部１０２から出力された信頼度の付与された認識結果から、応答音声データを生成する。この応答生成部１０３の処理は後述する。
音声出力部１０４は、応答生成部１０３が生成したデジタル信号形式の応答音声データを、人間が聴取可能な音声に変換する。音声出力部１０４は、例えばＤ／Ａコンバータとスピーカで構成されている。入力された音声データがＤ／Ａコンバータによってアナログ信号に変換され、変換されたアナログ信号（音声信号）がスピーカによってユーザに出力される。
次に、応答生成部１０３の動作を説明する。
図２は、応答生成部１０３の処理を示すフローチャートである。
音声認識部１０２から、信頼度が付与された認識結果が出力されと、この処理が実行される。
まず、入力された認識結果に含まれている最初のキーワードに関する情報を選択する（Ｓ１００１）。認識結果は、区間情報に基いて区分けされた元の音声データの時系列順の単語単位となっているので、まず時系列の先頭のキーワードを選択する。非キーワードに分類されている単語は、応答音声にも影響を与えない単語であるため、無視する。また、認識結果には、単語毎に信頼度及び区間情報が付与されているので、当該単語に付与された信頼度及び区間情報を選択する。
次に、選択されたキーワードの信頼度が所定の閾値以上であるか否かを判定する（Ｓ１００２）。信頼度が閾値以上であると判定した場合はステップＳ１００４に移行し、閾値に満たないと判定した場合はステップＳ１００３に移行する。
選択したキーワードの信頼度が所定の閾値以上であると判定した場合は、そのキーワードは、辞書データ又は認識文法データによって指定された音響モデルの組み合わせが入力された音声データの発声と遜色なく、十分に認識されている場合である。この場合は、認識結果のキーワードの合成音声を合成して、音声データに変換する（Ｓ１００３）。ここでは本ステップで実際の音声合成処理を行っているが、ステップＳ１００８の応答音声生成処理でシステムが用意した応答文章とまとめて音声合成処理をしてもよい。いずれにしても同一の音声合成エンジンを用いることで、高い信頼度で認識されたキーワードは、システムが用意した応答文章と同じ音質で違和感なく合成することができる。
一方、選択されたキーワードの信頼度が所定の閾値よりも低いと判定した場合は、そのキーワードは、辞書データ又は認識文法データによって指定された音響モデルの組み合わせが、入力された音声データの発声とは疑わしく、十分に認識されない場合である。この場合は、合成音声を生成せず、ユーザの発声をそのまま音声データとする。具体的には、認識結果の単語に付与されている区間情報を用いて、音声データの単語に対応する部分を抽出する。この抽出された音声データを、出力する音声データとする（Ｓ１００４）。これによって、信頼度が低い部分は、システムが用意した応答文章や、信頼度が高い部分とは異なった音質になるため、ユーザはどの部分が信頼度が低い部分なのか容易に理解できる。
このステップＳ１００３及びステップＳ１００４によって、認識結果のキーワードに対応した音声データが得られる。そして、この音声データを認識結果の単語に関連付けたデータとして保存する（Ｓ１００５）。
次に、入力された認識結果に次のキーワードがあるか否かを判定する（Ｓ１００６）。認識結果は元の音声データの時系列順となっているので、ステップＳ１００２からステップＳ１００５によって処理された次の順のキーワードがあるか否かを判定する。次のキーワードがあると判定した場合は、そのキーワードを選択する（Ｓ１００７）。そして、前述したステップＳ１００２からステップＳ１００６を実行する。
一方、もう次のキーワードがないと判定した場合は、認識結果に含まれているすべてのキーワードについて、対応する音声データの付与が完了している。そこで、この音声データの付与された認識結果を用いて、応答音声生成処理を実行する（Ｓ１００８）。
この応答音声生成処理は、認識結果に含まれる全てのキーワードに対応付けられた音声データを用いて、ユーザに通知するための応答音声データを生成する。
応答音声生成処理では、例えば、キーワードに対応付けられた音声データを組み合わせたり、別に用意した音声データと組み合わせたりして、ユーザに、音声認識の結果や、うまく音声認識ができなかった箇所（信頼度が所定の閾値に満たないキーワード）を示す応答音声を生成する。
音声データの組み合わせ方は、システムとユーザがどのような対話をし、どのような状況であるかによって変わるため、状況に応じて音声データの組み合わせ方を変更するためのプログラムや対話シナリオを用いる必要がある。
本実施例では、以下の例を用いて、音声応答生成処理を説明する。
（１）ユーザの発声は「埼玉の大宮公園」である。
（２）認識結果を構成する単語は「埼玉」「の」「大宮公園」の三つであり、キーワードは「埼玉」「大宮公園」の二つである。
（３）所定の閾値よりも信頼度が高い単語は「埼玉」だけである。
まず、第１の方法を説明する。第１の方法は、ユーザに対して、ユーザの発声した音声の認識結果を示す方法である。具体的には、認識結果のキーワードに対応した音声データと「の」や「でいいですか？」というシステムが用意した確認の言葉の音声データをつなげた応答音声データを生成する（図３参照）。
第１の方法では、音声合成で作成された音声データ「埼玉」（図３では下線で示す）、ユーザの発声した音声データから抽出された音声データ「おおみやこ」（図３では斜体で示す）、及び、音声合成で作成された音声データ「の」「でいいですか？」（図３では下線で示す）の組み合わせによって応答音声が作成され、ユーザに応答する。すなわち、信頼度が所定の閾値よりも小さく、誤認識の可能性がある「おおみやこ」の部分を、ユーザの発声した音声そのままで応答する。
このようにすることで、たとえ音声認識部１０２が、「大宮公園」を「大和田公園」と誤認識していた場合でも、ユーザは、自身の発声した「大宮公園」という音声を応答音声として聞く。そのため、認識結果のうち、音声合成によって生成された単語、すなわち、信頼度が所定の閾値以上の単語（「埼玉」）の認識結果が正しいか否かを確認し、かつ、信頼度が所定の閾値よりも小さい単語（大宮公園）がシステムに正しく録音されているかを確認することができる。例えば、ユーザの発声の後ろの部分が正しく録音されていない場合は、ユーザは「埼玉」「の」「おおみやこ」「でいいですか」のような問い合わせを聞くことになる。よってシステムが判断した各単語の区間情報が正確に判断されて録音されているかをユーザが理解し、再入力を試みることができる。
この方法は、例えば、好きな公園に関する口頭によるアンケート調査を県別にまとめる作業を音声認識システムで行う場合に好適である。この場合、音声認識システムは、県別の件数だけを音声認識結果によって自動的にまとめることができる。また、認識結果の信頼度が低い「大宮公園」の部分は、後からオペレータが聞いて入力する等の方法を用いることで対応する。
従って、第１の方法では、ユーザの音声が正しく認識された部分をユーザが確認することができ、かつ、正しく認識されなかった音声は、システムに正しく録音されたことをユーザが確認できる。
次に、第２の方法を説明する。第２の方法は、ユーザに対して、認識結果が疑わしい場合に、その部分のみを問い合わせる方法である。具体的には、認識結果の信頼度が低い「大宮公園」に、「の部分がうまく聞き取れませんでした」という確認の言葉の音声データを組み合わせる方法である（図４参照）。
この第２の方法では、ユーザの発声した音声データから抽出された音声データ「大宮公園」（図４では斜体で示す）、及び、音声合成で作成された音声データ「の部分がうまく聞き取れませんでした」（図４では下線で示す）の組み合わせによって応答音声が作成され、ユーザに応答する。すなわち、信頼度が所定の閾値よりも小さく、誤認識の可能性がある「大宮公園」の部分を、ユーザの発声した音声そのままで応答する。そして、その音声の認識がうまくいかなかったことをユーザに応答する。この後、ユーザに再度音声を入力する等の指示を応答する。
なお、「大宮公園」の部分の認識結果が「大宮」、「公園」の、二つの単語として認識され、さらに「公園」の部分の信頼度のみが所定の閾値以上である場合は、次のような応答方法がある。すなわち、前述のようにユーザ発声の音声データ「大宮公園」及び音声合成の音声データ「が分かりません」と応答した後に、「どちらの公園ですか？」「天沼公園のように発声して下さい」等の音声を生成して応答することで、ユーザに再発声を促す。なお、後者の場合、認識結果の信頼度が低い単語である「大宮公園」を例として応答に利用するとユーザに混乱を与える可能性があるので、避けることが望ましい。
従って、第２の方法では、ユーザ発声中のどの部分が認識され、どの部分が認識されなかったかを、ユーザに明確に伝えることができる。また、ユーザが「埼玉の大宮公園」と発声する際に、「大宮公園」の部分で周囲の雑音が大きくなったために信頼度が低くなった場合、応答音声の「大宮公園」の部分にも周囲の雑音が大きく入るため、周囲雑音が認識できなかった原因であることをユーザが理解しやすい。この場合、ユーザは周囲雑音が小さいタイミングで発声を試みたり、周囲雑音の低い場所に移動したり、車に乗っている場合は停車したりすることで、周囲雑音の影響を低減させる工夫を行うことができる。
また「大宮公園」の部分の発声が小さすぎて、音声データが取り込めていない場合には、ユーザが聞く応答音声の「大宮公園」に対応する部分が無音となり、システムが「大宮公園」の部分を取り込めなかったことが理解しやすい。この場合、ユーザは大きな声で発声を試みたり、マイクに口を近づけて発声したりすることで、確実に音声が取り込めるような工夫を行うことができる。
さらに、認識結果の単語が「埼玉」「の大」「宮公園」のように、単語を誤って分割してしまった場合には、ユーザが聞く応答音声は「宮公園」となるため、システムは対応付けが失敗したことをユーザが理解しやすい。ユーザは、音声認識の結果が誤っていた場合でも、非常に似た単語に間違った場合は、人間同士の会話においてもありうることなので、誤認識を許容してくれる可能性があるが、全く異なった発音の単語に誤認識した場合は、音声認識システムの性能に対して大きな不信感を頂いてしまう可能性がある。
前述したように、対応付けの失敗をユーザに知らせることで、誤認識の理由をユーザが推定できるようになり、ある程度納得を得ることが期待できる。
また、前述の例では、少なくとも「埼玉」の部分の単語は信頼度が所定値以上であり、認識正しく認識されている。そこで、音声認識部１０２が用いる辞書・認識文法記憶部１０６のデータを埼玉県の公園に関する内容に限定する。このようにすることで、次回の音声入力（例えば、次のユーザの発声）では、「大宮公園」の部分の認識率が高くなる。
ユーザの発声の音声データのうち、信頼度が高く認識されている部分を用いて、多の部分の認識率を上げる方法として以下に説明する方法がある。
具体的は、公園の名前だけではなく、あらゆる施設に関するアンケート調査において、ユーザの発声した「ｘｘ県のｙｙ」という発声に対応すると、その組み合わせの数は膨大となり、音声認識の認識率が低くなる。さらに、システムの処理量や、必要なメモリ量も実用的ではない。そこで、最初は「ｙｙ」の部分を正確に認識せずに、「ｘｘ」の部分を認識する。そして、認識された「ｘｘ県」を用いて、当該ｘｘ県限定の辞書データ及び認識文法データを用いて、「ｙｙ」の部分を認識する。
「ｘｘ県」限定の辞書データ及び認識文法データを用いると「ｙｙ」の部分の認識率が高くなる。この場合、ユーザの発声した音声データの全ての単語が正しく認識され、信頼度が所定の閾値以上である場合は、全て音声合成による応答音声となる。従って、ユーザは、システムがあらゆる県のあらゆる施設に関して「ｘｘ県のｙｙ」という発声を認識できると感じられる。
一方、「ｘｘ県」限定の辞書データ及び認識文法データを用いた「ｙｙ」の部分の認識結果の信頼度が閾値より低い場合は、前述のように、ユーザの発声した音声データを抽出して「ｙｙ」「の部分が上手く聞き取れませんでした」等の応答音声を生成することによって、ユーザに再発声を促すことができる。
この「ｘｘ」の部分だけを認識する方法としては、辞書・認識文法記憶部１０６の辞書データの１つに、あらゆる音節の組み合わせを表現する記述（ガベッジ）を持たせる方法がある。すなわち、認識文法データの組み合わせとしてとして＜都道府県名＞＜の＞＜ガベッジ＞という組み合わせを用いる。ガベッジの部分は、辞書には登録されていない各施設の名前の代わりとする。
また、日本に存在する施設名を構成する音節の組み合わせには何らかの特徴がある。例えば、「えき」という組み合わせは、「れひゅ」という組み合わせよりも出現頻度が高い。これを利用して、隣接する音節の出現頻度を、施設名の統計から求め、出現頻度の高い音節の組み合わせの類似度が高くなるようにすることで、施設名の代わりとしての精度を高めることができる。
以上説明したように、本発明の実施の形態の音声認識システムは、ユーザによって入力された音声のどの部分が認識でき、どの部分が認識できなかったのかを、ユーザが直感的に理解可能な応答音声を生成し、ユーザに応答することができる。また、正しく音声認識されなかった部分は、ユーザに通知される断片的なユーザ自身の発声を含むので発話の途中で切れているなど、直感的に正常でないと分かる様態で再生されるため、音声認識が正常に行われなかったことが理解可能となる。
【図１】
2006083020.tif 000002
【図２】
2006083020.tif 000003
【図３】
2006083020.tif 000004
【図４】
2006083020.tif 000005
【手続補正書】
【提出日】平成20年2月18日(2008.2.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
予め複数の単語とキーワードか否かの分類とを対応付けて記録する認識文法データを記録する記録部と、
ユーザが発した音声を音声データに変換する音声入力部と、
前記音声データを構成する単語の組み合わせを前記記録部に記録された認識文法データを用いて認識し、キーワードであると分類される単語について該認識の信頼度を算出する音声認識部と、
応答音声を生成する応答生成部と、
前記応答音声を用いてユーザに情報を伝達する音声出力部と、を備え、
前記応答生成部は、
算出された信頼度が所定条件を満たす単語は、当該単語の合成音声を生成し、
算出された信頼度が所定の条件を満たさない単語は、前記音声データから当該単語に対応する部分を抽出し、
前記生成された合成音声と前記抽出された音声データとの組み合わせ又は前記合成音声によって前記応答音声を生成することを特徴とする音声認識システム。
【請求項２】
前記応答生成部は、さらに、ユーザの発声した音声の確認を促す合成音声を生成し、前記生成された合成音声を前記音声データの組み合わせに付加した前記応答音声を生成することを特徴とする請求項１に記載の音声認識システム。
【請求項３】
前記応答生成部は、
当該単語の確認を促す合成音声を生成し、
前記抽出された音声データに当該応答音声を付加して、前記応答音声を生成することを特徴とする請求項１に記載の音声認識システム。
【請求項４】
音声データを認識するための辞書データ及び認識文法データを保存する辞書認識文法保存部を備え、
前記音声認識部は、前記音声データを構成する単語のうち、少なくとも一つを優先的に認識し、
その後、前記辞書認識文法保存部から、当該単語に関する辞書データ及び認識文法データを取得して、
前記取得した辞書データ及び認識文法データを用いて、他の単語を認識することを特徴とする請求項１から３の何れか一つに記載の音声認識システム。
【請求項５】
予め複数の単語とキーワードか否かの分類とを対応付けて記録する認識文法データを記録する記録部と、
ユーザが発した音声を音声データに変換する音声入力部と、
前記音声データを構成する単語の組み合わせを前記記録部に記録された認識文法データを用いて認識し、キーワードであると分類される単語について該認識の信頼度を算出する音声認識部と、
応答音声を生成する応答生成部と、を備え、
前記応答生成部は、
算出された信頼度が所定条件を満たす単語は、当該単語の合成音声を生成し、
算出された信頼度が所定の条件を満たさない単語は、前記音声データから当該単語に対応する部分を抽出し、
前記生成された合成音声と前記抽出された音声データとの組み合わせ又は前記合成音声によって前記応答音声を生成することを特徴とする音声認識装置。
【請求項６】
予め複数の単語とキーワードか否かの分類とを対応付けて記録する認識文法データを記録する記録部と、ユーザが発した音声を音声データに変換する音声入力部と、前記音声データを構成する単語の組み合わせを認識し、単語毎の認識の信頼度を算出する音声認識部と、応答音声を生成する応答生成部と、前記応答音声を用いてユーザに情報を伝達する音声出力部と、を備える音声認識装置に、ユーザが発した音声の入力に基づいて、応答音声を生成させるプログラムであって、
前記音声データを構成する単語の組み合わせを前記記録部に記録された認識文法データを用いて前記音声認識部に認識させる第１のステップと、
キーワードであると分類される単語について該認識の信頼度を前記音声認識部に算出させる第２のステップと、
前記音声認識部によって算出された信頼度が所定条件を満たす単語は、当該単語の合成音声を、前記応答生成部に生成させる第３のステップと、
前記音声認識部によって算出された信頼度が所定の条件を満たさない単語は、前記音声データから当該単語に対応する部分を、前記応答生成部に抽出させる第４のステップと、
前記生成された合成音声と前記抽出された音声データとの組み合わせ又は前記合成音声によって、前記応答音声を、前記応答生成部に生成させる第５のステップと、を含むことを特徴とするプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
図１は、本発明の実施の形態の音声認識システムの構成のブロック図である。
図２は、本発明の実施の形態の応答生成部の動作を示すフローチャートである。
図３は、本発明の実施の形態の応答音声の一例である。
図４は、本発明の実施の形態の応答音声の他の例である。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
以下に本発明の実施の形態の音声認識システムを、図面を参照して説明する。
図１は、本発明の実施の形態の音声認識システムの構成のブロック図である。
本発明の音声認識システムは、音声入力部１０１、音声認識部１０２、応答生成部１０３、音声出力部１０４、音響モデル記憶部１０５、辞書・認識文法記憶部１０６によって構成される。
音声入力部１０１は、ユーザが発声した音声を取り込み、デジタル信号形式の音声データに変換する。音声入力部１０１は、例えばマイクロフォンとＡ／Ｄコンバータで構成されており、マイクロフォンによって入力された音声信号がＡ／Ｄコンバータによってデジタル信号に変換される。変換されたデジタル信号（音声データ）は、音声認識部１０２又は音声応答生成部１０３に送られる。
音響モデル記憶部１０５は、音響モデルがデータベースとして記憶されている。音響モデル記憶部１０５は、例えばハードディスクやＲＯＭ等によって構成される。
音響モデルとは、ユーザの発声がどのような音声データとして得られるかを統計的なモデルで表現したデータである。この音響モデルは、音節（例えば、「あ」「い」などの単位ごと）にモデル化されている。モデル化の単位は音節単位の他にも、音素片単位を用いることができる。音素片単位とは、母音、子音、無音を定常部、母音から子音、子音から無音のように異なる定常部間を移る部分を遷移部としてモデル化したデータである。例えば「あき」という単語は、「無音」「無音ａ」「ａ」「ａｋ」「ｋ」「ｋｉ」「ｉ」「ｉ無音」「無音」のように分割される。また、統計的なモデル化の方法としては、ＨＭＭなどが利用される。
辞書・認識文法記憶部１０６は、辞書データ及び認識文法データが記憶されている。辞書・認識文書記憶部１０６は、例えばハードディスクやＲＯＭ等によって構成される。
この辞書データ及び認識文法データは、複数の単語及び文の組み合わせに関する情報である。具体的には、前述の音響モデル化された単位を、有効な単語又は文章とするにはどのように組み合わせとするかを指定するデータである。辞書データは、前述の例の「あき」のような音節の組み合わせを指定するデータである。認識文法データは、システムが受け付ける単語の組み合わせの集合を指定するデータである。例えば「東京駅へ行く」という発声をシステムが受け付けるためには、「東京駅」「へ」「行く」という３つの単語の組み合わせが認識文法データに含まれている必要がある。また認識文法データには、各単語の分類情報を付与しておく。例えば「東京駅」という単語は「場所」という分類をし、「行く」という単語には「コマンド」という分類をすることができる。また「へ」という単語には「非キーワード」という分類を付与しておく。「非キーワード」という分類の単語はその単語が認識されたとしても、システムの動作に影響がない単語に付与する。逆に「非キーワード」以外の分類の単語は認識されることによって、システムに何らかの影響を与えるキーワードであるということになる。例えば「コマンド」に分類された単語が認識された場合は、認識された単語に相当する機能の呼び出しを行い、「場所」として認識された単語は機能を呼び出す際のパラメータとして利用できる。
音声認識部１０２は、音声入力部によって変換された音声データに基づいて、認識結果を取得し、類似度を算出する。音声認識部１０２は、音声データに基づいて、辞書・認識文法記憶部１０６の辞書データ又は認識文法データと、音響モデル記憶部１０５の音響モデルとを用いて、音響モデルの組み合わせが指定された単語又は文章を取得する。この取得した単語又は文章と当該音声データとの類似度を算出する。そして、類似度の高い単語又は文章の認識結果を出力する。
なお、文章には当該文章を構成する複数の単語が含まれる。そして、認識結果を構成する単語それぞれに信頼度が付与され、認識結果と合わせて出力される。
この類似度は特開平４−２５５９００号公報に記載されている方法を用いることによって計算することができる。また、類似度を計算する際には、認識結果を構成するそれぞれの単語が音声データのどの部分と対応させると最も類似度が高くなるかを、Ｖｉｔｅｒｂｉアルゴリズムを用いて求めることができる。これを用いて、それぞれの単語が対応する音声データの部分を表す区間情報を認識結果とあわせて出力する。具体的には所定区間（例えば、10ms）ごとに入ってくる音声データ（フレームと呼ぶ）と、単語を構成する音素片の対応付けに関して最も類似度を高くすることができる場合の情報が出力される。
応答生成部１０３は、音声認識部１０２から出力された信頼度の付与された認識結果から、応答音声データを生成する。この応答生成部１０３の処理は後述する。
音声出力部１０４は、応答生成部１０３が生成したデジタル信号形式の応答音声データを、人間が聴取可能な音声に変換する。音声出力部１０４は、例えばＤ／Ａコンバータとスピーカで構成されている。入力された音声データがＤ／Ａコンバータによってアナログ信号に変換され、変換されたアナログ信号（音声信号）がスピーカによってユーザに出力される。
次に、応答生成部１０３の動作を説明する。
図２は、応答生成部１０３の処理を示すフローチャートである。
音声認識部１０２から、信頼度が付与された認識結果が出力されと、この処理が実行される。
まず、入力された認識結果に含まれている最初のキーワードに関する情報を選択する（Ｓ１００１）。認識結果は、区間情報に基いて区分けされた元の音声データの時系列順の単語単位となっているので、まず時系列の先頭のキーワードを選択する。非キーワードに分類されている単語は、応答音声にも影響を与えない単語であるため、無視する。また、認識結果には、単語毎に信頼度及び区間情報が付与されているので、当該単語に付与された信頼度及び区間情報を選択する。
次に、選択されたキーワードの信頼度が所定の閾値以上であるか否かを判定する（Ｓ１００２）。信頼度が閾値以上であると判定した場合はステップＳ１００３に移行し、閾値に満たないと判定した場合はステップＳ１００４に移行する。
選択したキーワードの信頼度が所定の閾値以上であると判定した場合は、そのキーワードは、辞書データ又は認識文法データによって指定された音響モデルの組み合わせが入力された音声データの発声と遜色なく、十分に認識されている場合である。この場合は、認識結果のキーワードの合成音声を合成して、音声データに変換する（Ｓ１００３）。ここでは本ステップで実際の音声合成処理を行っているが、ステップＳ１００８の応答音声生成処理でシステムが用意した応答文章とまとめて音声合成処理をしてもよい。いずれにしても同一の音声合成エンジンを用いることで、高い信頼度で認識されたキーワードは、システムが用意した応答文章と同じ音質で違和感なく合成することができる。
一方、選択されたキーワードの信頼度が所定の閾値よりも低いと判定した場合は、そのキーワードは、辞書データ又は認識文法データによって指定された音響モデルの組み合わせが、入力された音声データの発声とは疑わしく、十分に認識されない場合である。この場合は、合成音声を生成せず、ユーザの発声をそのまま音声データとする。具体的には、認識結果の単語に付与されている区間情報を用いて、音声データの単語に対応する部分を抽出する。この抽出された音声データを、出力する音声データとする（Ｓ１００４）。これによって、信頼度が低い部分は、システムが用意した応答文章や、信頼度が高い部分とは異なった音質になるため、ユーザはどの部分が信頼度が低い部分なのか容易に理解できる。
このステップＳ１００３及びステップＳ１００４によって、認識結果のキーワードに対応した音声データが得られる。そして、この音声データを認識結果の単語に関連付けたデータとして保存する（Ｓ１００５）。
次に、入力された認識結果に次のキーワードがあるか否かを判定する（Ｓ１００６）。認識結果は元の音声データの時系列順となっているので、ステップＳ１００２からステップＳ１００５によって処理された次の順のキーワードがあるか否かを判定する。次のキーワードがあると判定した場合は、そのキーワードを選択する（Ｓ１００７）。そして、前述したステップＳ１００２からステップＳ１００６を実行する。
一方、もう次のキーワードがないと判定した場合は、認識結果に含まれているすべてのキーワードについて、対応する音声データの付与が完了している。そこで、この音声データの付与された認識結果を用いて、応答音声生成処理を実行する（Ｓ１００８）。
この応答音声生成処理は、認識結果に含まれる全てのキーワードに対応付けられた音声データを用いて、ユーザに通知するための応答音声データを生成する。
応答音声生成処理では、例えば、キーワードに対応付けられた音声データを組み合わせたり、別に用意した音声データと組み合わせたりして、ユーザに、音声認識の結果や、うまく音声認識ができなかった箇所（信頼度が所定の閾値に満たないキーワード）を示す応答音声を生成する。
音声データの組み合わせ方は、システムとユーザがどのような対話をし、どのような状況であるかによって変わるため、状況に応じて音声データの組み合わせ方を変更するためのプログラムや対話シナリオを用いる必要がある。
本実施例では、以下の例を用いて、音声応答生成処理を説明する。
（１）ユーザの発声は「埼玉の大宮公園」である。
（２）認識結果を構成する単語は「埼玉」「の」「大宮公園」の三つであり、キーワードは「埼玉」「大宮公園」の二つである。
（３）所定の閾値よりも信頼度が高い単語は「埼玉」だけである。
まず、第１の方法を説明する。第１の方法は、ユーザに対して、ユーザの発声した音声の認識結果を示す方法である。具体的には、認識結果のキーワードに対応した音声データと「の」や「でいいですか？」というシステムが用意した確認の言葉の音声データをつなげた応答音声データを生成する（図３参照）。
第１の方法では、音声合成で作成された音声データ「埼玉」（図３では下線で示す）、ユーザの発声した音声データから抽出された音声データ「おおみやこ」（図３では斜体で示す）、及び、音声合成で作成された音声データ「の」「でいいですか？」（図３では下線で示す）の組み合わせによって応答音声が作成され、ユーザに応答する。すなわち、信頼度が所定の閾値よりも小さく、誤認識の可能性がある「おおみやこ」の部分を、ユーザの発声した音声そのままで応答する。
このようにすることで、たとえ音声認識部１０２が、「大宮公園」を「大和田公園」と誤認識していた場合でも、ユーザは、自身の発声した「大宮公園」という音声を応答音声として聞く。そのため、認識結果のうち、音声合成によって生成された単語、すなわち、信頼度が所定の閾値以上の単語（「埼玉」）の認識結果が正しいか否かを確認し、かつ、信頼度が所定の閾値よりも小さい単語（大宮公園）がシステムに正しく録音されているかを確認することができる。例えば、ユーザの発声の後ろの部分が正しく録音されていない場合は、ユーザは「埼玉」「の」「おおみやこ」「でいいですか」のような問い合わせを聞くことになる。よってシステムが判断した各単語の区間情報が正確に判断されて録音されているかをユーザが理解し、再入力を試みることができる。
この方法は、例えば、好きな公園に関する口頭によるアンケート調査を県別にまとめる作業を音声認識システムで行う場合に好適である。この場合、音声認識システムは、県別の件数だけを音声認識結果によって自動的にまとめることができる。また、認識結果の信頼度が低い「大宮公園」の部分は、後からオペレータが聞いて入力する等の方法を用いることで対応する。
従って、第１の方法では、ユーザの音声が正しく認識された部分をユーザが確認することができ、かつ、正しく認識されなかった音声は、システムに正しく録音されたことをユーザが確認できる。
次に、第２の方法を説明する。第２の方法は、ユーザに対して、認識結果が疑わしい場合に、その部分のみを問い合わせる方法である。具体的には、認識結果の信頼度が低い「大宮公園」に、「の部分がうまく聞き取れませんでした」という確認の言葉の音声データを組み合わせる方法である（図４参照）。
この第２の方法では、ユーザの発声した音声データから抽出された音声データ「大宮公園」（図４では斜体で示す）、及び、音声合成で作成された音声データ「の部分がうまく聞き取れませんでした」（図４では下線で示す）の組み合わせによって応答音声が作成され、ユーザに応答する。すなわち、信頼度が所定の閾値よりも小さく、誤認識の可能性がある「大宮公園」の部分を、ユーザの発声した音声そのままで応答する。そして、その音声の認識がうまくいかなかったことをユーザに応答する。この後、ユーザに再度音声を入力する等の指示を応答する。
なお、「大宮公園」の部分の認識結果が「大宮」、「公園」の、二つの単語として認識され、さらに「公園」の部分の信頼度のみが所定の閾値以上である場合は、次のような応答方法がある。すなわち、前述のようにユーザ発声の音声データ「大宮公園」及び音声合成の音声データ「が分かりません」と応答した後に、「どちらの公園ですか？」「天沼公園のように発声して下さい」等の音声を生成して応答することで、ユーザに再発声を促す。なお、後者の場合、認識結果の信頼度が低い単語である「大宮公園」を例として応答に利用するとユーザに混乱を与える可能性があるので、避けることが望ましい。
従って、第２の方法では、ユーザ発声中のどの部分が認識され、どの部分が認識されなかったかを、ユーザに明確に伝えることができる。また、ユーザが「埼玉の大宮公園」と発声する際に、「大宮公園」の部分で周囲の雑音が大きくなったために信頼度が低くなった場合、応答音声の「大宮公園」の部分にも周囲の雑音が大きく入るため、周囲雑音が認識できなかった原因であることをユーザが理解しやすい。この場合、ユーザは周囲雑音が小さいタイミングで発声を試みたり、周囲雑音の低い場所に移動したり、車に乗っている場合は停車したりすることで、周囲雑音の影響を低減させる工夫を行うことができる。
また「大宮公園」の部分の発声が小さすぎて、音声データが取り込めていない場合には、ユーザが聞く応答音声の「大宮公園」に対応する部分が無音となり、システムが「大宮公園」の部分を取り込めなかったことが理解しやすい。この場合、ユーザは大きな声で発声を試みたり、マイクに口を近づけて発声したりすることで、確実に音声が取り込めるような工夫を行うことができる。
さらに、認識結果の単語が「埼玉」「の大」「宮公園」のように、単語を誤って分割してしまった場合には、ユーザが聞く応答音声は「宮公園」となるため、システムは対応付けが失敗したことをユーザが理解しやすい。ユーザは、音声認識の結果が誤っていた場合でも、非常に似た単語に間違った場合は、人間同士の会話においてもありうることなので、誤認識を許容してくれる可能性があるが、全く異なった発音の単語に誤認識した場合は、音声認識システムの性能に対して大きな不信感を頂いてしまう可能性がある。
前述したように、対応付けの失敗をユーザに知らせることで、誤認識の理由をユーザが推定できるようになり、ある程度納得を得ることが期待できる。
また、前述の例では、少なくとも「埼玉」の部分の単語は信頼度が所定値以上であり、認識正しく認識されている。そこで、音声認識部１０２が用いる辞書・認識文法記憶部１０６のデータを埼玉県の公園に関する内容に限定する。このようにすることで、次回の音声入力（例えば、次のユーザの発声）では、「大宮公園」の部分の認識率が高くなる。
ユーザの発声の音声データのうち、信頼度が高く認識されている部分を用いて、他の部分の認識率を上げる方法として以下に説明する方法がある。
具体的は、公園の名前だけではなく、あらゆる施設に関するアンケート調査において、ユーザの発声した「ｘｘ県のｙｙ」という発声に対応すると、その組み合わせの数は膨大となり、音声認識の認識率が低くなる。さらに、システムの処理量や、必要なメモリ量も実用的ではない。そこで、最初は「ｙｙ」の部分を正確に認識せずに、「ｘｘ」の部分を認識する。そして、認識された「ｘｘ県」を用いて、当該ｘｘ県限定の辞書データ及び認識文法データを用いて、「ｙｙ」の部分を認識する。
「ｘｘ県」限定の辞書データ及び認識文法データを用いると「ｙｙ」の部分の認識率が高くなる。この場合、ユーザの発声した音声データの全ての単語が正しく認識され、信頼度が所定の閾値以上である場合は、全て音声合成による応答音声となる。従って、ユーザは、システムがあらゆる県のあらゆる施設に関して「ｘｘ県のｙｙ」という発声を認識できると感じられる。
一方、「ｘｘ県」限定の辞書データ及び認識文法データを用いた「ｙｙ」の部分の認識結果の信頼度が閾値より低い場合は、前述のように、ユーザの発声した音声データを抽出して「ｙｙ」「の部分が上手く聞き取れませんでした」等の応答音声を生成することによって、ユーザに再発声を促すことができる。
この「ｘｘ」の部分だけを認識する方法としては、辞書・認識文法記憶部１０６の辞書データの１つに、あらゆる音節の組み合わせを表現する記述（ガベッジ）を持たせる方法がある。すなわち、認識文法データの組み合わせとしてとして<都道府県名><の><ガベッジ>という組み合わせを用いる。ガベッジの部分は、辞書には登録されていない各施設の名前の代わりとする。
また、日本に存在する施設名を構成する音節の組み合わせには何らかの特徴がある。例えば、「えき」という組み合わせは、「れひゅ」という組み合わせよりも出現頻度が高い。これを利用して、隣接する音節の出現頻度を、施設名の統計から求め、出現頻度の高い音節の組み合わせの類似度が高くなるようにすることで、施設名の代わりとしての精度を高めることができる。
以上説明したように、本発明の実施の形態の音声認識システムは、ユーザによって入力された音声のどの部分が認識でき、どの部分が認識できなかったのかを、ユーザが直感的に理解可能な応答音声を生成し、ユーザに応答することができる。また、正しく音声認識されなかった部分は、ユーザに通知される断片的なユーザ自身の発声を含むので発話の途中で切れているなど、直感的に正常でないと分かる様態で再生されるため、音声認識が正常に行われなかったことが理解可能となる。
【国際調査報告】
2006083020.tif 000006
2006083020.tif 000007
2006083020.tif 000008
2006083020.tif 000009