JPWO2006083020A1 - 抽出された音声データを用いて応答音声を生成する音声認識システム - Google Patents
抽出された音声データを用いて応答音声を生成する音声認識システム Download PDFInfo
- Publication number
- JPWO2006083020A1 JPWO2006083020A1 JP2007501690A JP2007501690A JPWO2006083020A1 JP WO2006083020 A1 JPWO2006083020 A1 JP WO2006083020A1 JP 2007501690 A JP2007501690 A JP 2007501690A JP 2007501690 A JP2007501690 A JP 2007501690A JP WO2006083020 A1 JPWO2006083020 A1 JP WO2006083020A1
- Authority
- JP
- Japan
- Prior art keywords
- voice
- speech
- data
- word
- response
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
Abstract
音声認識技術を用いて、ユーザの音声による入力に基づいた応答を行う音声認識システム、音声認識装置及び音声生成プログラムを提供する。ユーザが発した音声の入力に基づいて応答を行う音声認識システムであって、ユーザが発した音声を音声データに変換する音声入力部と、音声データを構成する単語の組み合わせを認識し、単語毎の認識の信頼度を算出する音声認識部と、応答音声を生成する応答生成部と、応答音声を用いてユーザに情報を伝達する音声出力部と、を備え、応答生成部は、算出された信頼度が所定条件を満たす単語は、当該単語の合成音声を生成し、算出された信頼度が所定の条件を満たさない単語は、音声データから当該単語に対応する部分を抽出し、合成音声、及び/又は、抽出された音声データの組み合わせによって応答音声を生成する。
Description
本発明は、音声認識技術を用いて、ユーザの音声による入力に基づいた応答を行う音声認識システム、音声認識装置及び音声生成プログラムに関するものである。
現在の音声認識技術は大量の音声データから発話を構成する単位標準パターンについての音響モデルを学習し、認識対象となる語彙群である辞書に合わせて、単位標準パターンの音響モデルを接続することで、照合用のパターンを作り出す。
この単位標準パターンは、音節を使う方法や、母音の定常部と、子音の定常部、さらにそれらの遷移状態からなる音素片などが用いられている。また、その表現手段としては、HMM(Hidden Markov Models)技術が用いられている。
このような方式は、換言すると、大量のデータから作成された標準パターンと入力信号とのパターンマッチング技術である。
また、例えば、「ボリュームを上げる」「ボリュームを下げる」という二つの文章を認識対象とする場合、それぞれの文章全体を認識対象とする方法と、文章を構成する部分を辞書に語彙として登録し、語彙の組み合わせを認識対象とする方法が知られている。
また、音声認識の結果は、画面上に認識結果文字列を表示する方法、認識結果文字列を音声合成で合成音声に変換し再生する方法、又は、認識結果に応じてあらかじめ録音された音声を再生する方法などでユーザに通知される。
また、単純に音声認識の結果を通知するのではなく、認識結果の単語又は文書の後に「でよろしいですか?」という確認を促す文章を含めた文字表示や合成音声で、ユーザとの対話を行う方法も知られている。
また、現在の音声認識技術は、認識対象語彙として登録された語彙の中からユーザの発声に最も類似しているものを選択し認識結果とするとともに、その認識結果の信頼性尺度である信頼度を出力するものが一般的である。
認識結果の信頼度を計算する方法としては、例えば、特開平4−255900号公報には、比較照合部2で、入力音声の特徴ベクトルVと予め登録しておいた複数の標準パターンとの類似度を計算する技術が開示されている。このとき、類似度の最大値Sを与える標準パターンを認識結果として求める。並行して、参照類似度計算部4で、特徴ベクトルVと単位標準パターン記憶部3の単位標準パターンを結合した標準パターンと比較照合する。ここで、類似度の最大値を参照類似度Rとして出力する。次に類似度補正部5において、参照類似度Rを用いて類似度Sを補正する音声認識装置がある。この類似度によって信頼度が算出できる。
信頼度の利用方法としては、認識結果の信頼度が低い場合、ユーザに認識が正常にできなかったことを通知する方法が知られている。
また、特開平6−110650号公報には、人名などキーワードの数が多く、全てのキーワードパターンを登録することが難しい場合に、キーワードとはなり得ないパターンを登録することによって、キーワード部分を抽出し、ユーザが発声した音声を録音したもののキーワード部分と、あらかじめシステムが用意しておいた音声を組み合わせて、応答音声を生成する手法が開示されている。
この単位標準パターンは、音節を使う方法や、母音の定常部と、子音の定常部、さらにそれらの遷移状態からなる音素片などが用いられている。また、その表現手段としては、HMM(Hidden Markov Models)技術が用いられている。
このような方式は、換言すると、大量のデータから作成された標準パターンと入力信号とのパターンマッチング技術である。
また、例えば、「ボリュームを上げる」「ボリュームを下げる」という二つの文章を認識対象とする場合、それぞれの文章全体を認識対象とする方法と、文章を構成する部分を辞書に語彙として登録し、語彙の組み合わせを認識対象とする方法が知られている。
また、音声認識の結果は、画面上に認識結果文字列を表示する方法、認識結果文字列を音声合成で合成音声に変換し再生する方法、又は、認識結果に応じてあらかじめ録音された音声を再生する方法などでユーザに通知される。
また、単純に音声認識の結果を通知するのではなく、認識結果の単語又は文書の後に「でよろしいですか?」という確認を促す文章を含めた文字表示や合成音声で、ユーザとの対話を行う方法も知られている。
また、現在の音声認識技術は、認識対象語彙として登録された語彙の中からユーザの発声に最も類似しているものを選択し認識結果とするとともに、その認識結果の信頼性尺度である信頼度を出力するものが一般的である。
認識結果の信頼度を計算する方法としては、例えば、特開平4−255900号公報には、比較照合部2で、入力音声の特徴ベクトルVと予め登録しておいた複数の標準パターンとの類似度を計算する技術が開示されている。このとき、類似度の最大値Sを与える標準パターンを認識結果として求める。並行して、参照類似度計算部4で、特徴ベクトルVと単位標準パターン記憶部3の単位標準パターンを結合した標準パターンと比較照合する。ここで、類似度の最大値を参照類似度Rとして出力する。次に類似度補正部5において、参照類似度Rを用いて類似度Sを補正する音声認識装置がある。この類似度によって信頼度が算出できる。
信頼度の利用方法としては、認識結果の信頼度が低い場合、ユーザに認識が正常にできなかったことを通知する方法が知られている。
また、特開平6−110650号公報には、人名などキーワードの数が多く、全てのキーワードパターンを登録することが難しい場合に、キーワードとはなり得ないパターンを登録することによって、キーワード部分を抽出し、ユーザが発声した音声を録音したもののキーワード部分と、あらかじめシステムが用意しておいた音声を組み合わせて、応答音声を生成する手法が開示されている。
前述のように、辞書とパターンマッチング技術に基づいた現在の音声認識システムでは、ユーザの発声を、辞書の中の他の語彙と間違える誤認識の発生を完全に防ぐことはできない。また、語彙の組み合わせを認識対象とする方式では、ユーザ発声のどの部分がどの語彙と対応しているかも含めて正しく認識する必要があるため、1つの語彙に対して間違った部分と対応させて認識してしまったために、対応のずれが波及し他の単語も誤認識を生じることがある。また、辞書に登録されていない語彙が発声された場合は、原理的に正しく認識を行うことはできない。
このような不完全な認識技術を有効に利用するためには、ユーザ発声のどの部分が正しく認識できて、どの部分が正しく認識できなかったのかユーザに正確に伝える必要がある。しかし、従来の認識結果文字列をユーザに画面や音声で通知する方法や、信頼度が低い場合にユーザに認識が正常に行われなかったことを通知するのみでは、この要求に十分に応えることはできなかった。
本発明は、前述した問題を鑑みてなされたものであり、音声認識結果を構成する各語彙の信頼度に応じて、信頼度の高い語彙は合成音声を用い、信頼度の低い語彙は、その語彙に対応するユーザ発声の断片を用いて、ユーザに通知するフィードバック音声を生成することを特徴とする。
本発明は、ユーザが発した音声の入力に基づいて応答を行う音声認識システムであって、ユーザが発した音声を音声データに変換する音声入力部と、音声データを構成する単語の組み合わせを認識し、単語毎の認識の信頼度を算出する音声認識部と、応答音声を生成する応答生成部と、応答音声を用いてユーザに情報を伝達する音声出力部と、を備え、応答生成部は、算出された信頼度が所定の条件を満たす単語は、当該単語の合成音声を生成し、算出された信頼度が所定の条件を満たさない単語は、音声データから当該単語に対応する部分を抽出し、合成音声、及び/又は、抽出された音声データの組み合わせによって応答音声を生成することを特徴とする。
ユーザの発話のどの部分が認識でき、どの部分が認識できなかったのかが直感的に理解可能な音声認識システムを提供できる。また、音声認識システムが誤った確認を行った場合、ユーザに通知される断片的なユーザ自身の発声が、発話の途中で切れているなど、直感的に正常でないと分かる様態で再生されるため、音声認識が正常に行われなかったことが理解可能な音声認識システムを提供できる。
このような不完全な認識技術を有効に利用するためには、ユーザ発声のどの部分が正しく認識できて、どの部分が正しく認識できなかったのかユーザに正確に伝える必要がある。しかし、従来の認識結果文字列をユーザに画面や音声で通知する方法や、信頼度が低い場合にユーザに認識が正常に行われなかったことを通知するのみでは、この要求に十分に応えることはできなかった。
本発明は、前述した問題を鑑みてなされたものであり、音声認識結果を構成する各語彙の信頼度に応じて、信頼度の高い語彙は合成音声を用い、信頼度の低い語彙は、その語彙に対応するユーザ発声の断片を用いて、ユーザに通知するフィードバック音声を生成することを特徴とする。
本発明は、ユーザが発した音声の入力に基づいて応答を行う音声認識システムであって、ユーザが発した音声を音声データに変換する音声入力部と、音声データを構成する単語の組み合わせを認識し、単語毎の認識の信頼度を算出する音声認識部と、応答音声を生成する応答生成部と、応答音声を用いてユーザに情報を伝達する音声出力部と、を備え、応答生成部は、算出された信頼度が所定の条件を満たす単語は、当該単語の合成音声を生成し、算出された信頼度が所定の条件を満たさない単語は、音声データから当該単語に対応する部分を抽出し、合成音声、及び/又は、抽出された音声データの組み合わせによって応答音声を生成することを特徴とする。
ユーザの発話のどの部分が認識でき、どの部分が認識できなかったのかが直感的に理解可能な音声認識システムを提供できる。また、音声認識システムが誤った確認を行った場合、ユーザに通知される断片的なユーザ自身の発声が、発話の途中で切れているなど、直感的に正常でないと分かる様態で再生されるため、音声認識が正常に行われなかったことが理解可能な音声認識システムを提供できる。
図1は、本発明の実施の形態の音声認識システムの構成のブロック図である。
図2は、本発明の実施の形態の応答生成部の動作を示すフローチャートである。
図3は、本発明の実施の形態の応答音声の一例である。
図4は、本発明の実施の形態の応答音声の多の例である。
図2は、本発明の実施の形態の応答生成部の動作を示すフローチャートである。
図3は、本発明の実施の形態の応答音声の一例である。
図4は、本発明の実施の形態の応答音声の多の例である。
以下に本発明の実施の形態の音声認識システムを、図面を参照して説明する。
図1は、本発明の実施の形態の音声認識システムの構成のブロック図である。
本発明の音声認識システムは、音声入力部101、音声認識部102、応答生成部103、音声出力部104、音響モデル記憶部105、辞書・認識文法記憶部106によって構成される。
音声入力部101は、ユーザが発声した音声を取り込み、デジタル信号形式の音声データに変換する。音声入力部101は、例えばマイクロフォンとA/Dコンバータで構成されており、マイクロフォンによって入力された音声信号がA/Dコンバータによってデジタル信号に変換される。変換されたデジタル信号(音声データ)は、音声認識部102又は音声記憶部105に送られる。
音響モデル記憶部105は、音響モデルがデータベースとして記憶されている。音響モデル記憶部105は、例えばハードディスクやROM等によって構成される。
音響モデルとは、ユーザの発声がどのような音声データとして得られるかを統計的なモデルで表現したデータである。この音響モデルは、音節(例えば、「あ」「い」などの単位ごと)にモデル化されている。モデル化の単位は音節単位の他にも、音素片単位を用いることができる。音素片単位とは、母音、子音、無音を定常部、母音から子音、子音から無音のように異なる定常部間を移る部分を遷移部としてモデル化したデータである。例えば「あき」という単語は、「無音」「無音a」「a」「ak」「k」「ki」「i」「i無音」「無音」のように分割される。また、統計的なモデル化の方法としては、HMMなどが利用される。
辞書・認識文法記憶部106は、辞書データ及び認識文法データが記憶されている。辞書・認識文書記憶部106は、例えばハードディスクやROM等によって構成される。
この辞書データ及び認識文法データは、複数の単語及び文の組み合わせに関する情報である。具体的には、前述の音響モデル化された単位を、有効な単語又は文章とするにはどのように組み合わせとするかを指定するデータである。辞書データは、前述の例の「あき」のような音節の組み合わせを指定するデータである。認識文法データは、システムが受け付ける単語の組み合わせの集合を指定するデータである。例えば「東京駅へ行く」という発声をシステムが受け付けるためには、「東京駅」「へ」「行く」という3つの単語の組み合わせが認識文法データに含まれている必要がある。また認識文法データには、各単語の分類情報を付与しておく。例えば「東京駅」という単語は「場所」という分類をし、「行く」という単語には「コマンド」という分類をすることができる。また「へ」という単語には「非キーワード」という分類を付与しておく。「非キーワード」という分類の単語はその単語が認識されたとしても、システムの動作に影響がない単語に付与する。逆に「非キーワード」以外の分類の単語は認識されることによって、システムに何らかの影響を与えるキーワードであるということになる。例えば「コマンド」に分類された単語が認識された場合は、認識された単語に相当する機能の呼び出しを行い、「場所」として認識された単語は機能を呼び出す際のパラメータとして利用できる。
音声認識部102は、音声入力部によって変換された音声データに基づいて、認識結果を取得し、類似度を算出する。音声認識部102は、音声データに基づいて、辞書・認識文法記憶部106の辞書データ又は認識文法データと、音響モデル記憶部105の音響モデルとを用いて、音響モデルの組み合わせが指定された単語又は文章を取得する。この取得した単語又は文章と当該音声データとの類似度を算出する。そして、類似度の高い単語又は文章の認識結果を出力する。
なお、文章には当該文章を構成する複数の単語が含まれる。そして、認識結果を構成する単語それぞれに信頼度が付与され、認識結果と合わせて出力される。
この類似度は特開平4−255900号公報に記載されている方法を用いることによって計算することができる。また、類似度を計算する際には、認識結果を構成するそれぞれの単語が音声データのどの部分と対応させると最も類似度が高くなるかを、Viterbiアルゴリズムを用いて求めることができる。これを用いて、それぞれの単語が対応する音声データの部分を表す区間情報を認識結果とあわせて出力する。具体的には所定区間(例えば、10ms)ごとに入ってくる音声データ(フレームと呼ぶ)と、単語を構成する音素片の対応付けに関して最も類似度を高くすることができる場合の情報が出力される。
応答生成部103は、音声認識部102から出力された信頼度の付与された認識結果から、応答音声データを生成する。この応答生成部103の処理は後述する。
音声出力部104は、応答生成部103が生成したデジタル信号形式の応答音声データを、人間が聴取可能な音声に変換する。音声出力部104は、例えばD/Aコンバータとスピーカで構成されている。入力された音声データがD/Aコンバータによってアナログ信号に変換され、変換されたアナログ信号(音声信号)がスピーカによってユーザに出力される。
次に、応答生成部103の動作を説明する。
図2は、応答生成部103の処理を示すフローチャートである。
音声認識部102から、信頼度が付与された認識結果が出力されと、この処理が実行される。
まず、入力された認識結果に含まれている最初のキーワードに関する情報を選択する(S1001)。認識結果は、区間情報に基いて区分けされた元の音声データの時系列順の単語単位となっているので、まず時系列の先頭のキーワードを選択する。非キーワードに分類されている単語は、応答音声にも影響を与えない単語であるため、無視する。また、認識結果には、単語毎に信頼度及び区間情報が付与されているので、当該単語に付与された信頼度及び区間情報を選択する。
次に、選択されたキーワードの信頼度が所定の閾値以上であるか否かを判定する(S1002)。信頼度が閾値以上であると判定した場合はステップS1004に移行し、閾値に満たないと判定した場合はステップS1003に移行する。
選択したキーワードの信頼度が所定の閾値以上であると判定した場合は、そのキーワードは、辞書データ又は認識文法データによって指定された音響モデルの組み合わせが入力された音声データの発声と遜色なく、十分に認識されている場合である。この場合は、認識結果のキーワードの合成音声を合成して、音声データに変換する(S1003)。ここでは本ステップで実際の音声合成処理を行っているが、ステップS1008の応答音声生成処理でシステムが用意した応答文章とまとめて音声合成処理をしてもよい。いずれにしても同一の音声合成エンジンを用いることで、高い信頼度で認識されたキーワードは、システムが用意した応答文章と同じ音質で違和感なく合成することができる。
一方、選択されたキーワードの信頼度が所定の閾値よりも低いと判定した場合は、そのキーワードは、辞書データ又は認識文法データによって指定された音響モデルの組み合わせが、入力された音声データの発声とは疑わしく、十分に認識されない場合である。この場合は、合成音声を生成せず、ユーザの発声をそのまま音声データとする。具体的には、認識結果の単語に付与されている区間情報を用いて、音声データの単語に対応する部分を抽出する。この抽出された音声データを、出力する音声データとする(S1004)。これによって、信頼度が低い部分は、システムが用意した応答文章や、信頼度が高い部分とは異なった音質になるため、ユーザはどの部分が信頼度が低い部分なのか容易に理解できる。
このステップS1003及びステップS1004によって、認識結果のキーワードに対応した音声データが得られる。そして、この音声データを認識結果の単語に関連付けたデータとして保存する(S1005)。
次に、入力された認識結果に次のキーワードがあるか否かを判定する(S1006)。認識結果は元の音声データの時系列順となっているので、ステップS1002からステップS1005によって処理された次の順のキーワードがあるか否かを判定する。次のキーワードがあると判定した場合は、そのキーワードを選択する(S1007)。そして、前述したステップS1002からステップS1006を実行する。
一方、もう次のキーワードがないと判定した場合は、認識結果に含まれているすべてのキーワードについて、対応する音声データの付与が完了している。そこで、この音声データの付与された認識結果を用いて、応答音声生成処理を実行する(S1008)。
この応答音声生成処理は、認識結果に含まれる全てのキーワードに対応付けられた音声データを用いて、ユーザに通知するための応答音声データを生成する。
応答音声生成処理では、例えば、キーワードに対応付けられた音声データを組み合わせたり、別に用意した音声データと組み合わせたりして、ユーザに、音声認識の結果や、うまく音声認識ができなかった箇所(信頼度が所定の閾値に満たないキーワード)を示す応答音声を生成する。
音声データの組み合わせ方は、システムとユーザがどのような対話をし、どのような状況であるかによって変わるため、状況に応じて音声データの組み合わせ方を変更するためのプログラムや対話シナリオを用いる必要がある。
本実施例では、以下の例を用いて、音声応答生成処理を説明する。
(1)ユーザの発声は「埼玉の大宮公園」である。
(2)認識結果を構成する単語は「埼玉」「の」「大宮公園」の三つであり、キーワードは「埼玉」「大宮公園」の二つである。
(3)所定の閾値よりも信頼度が高い単語は「埼玉」だけである。
まず、第1の方法を説明する。第1の方法は、ユーザに対して、ユーザの発声した音声の認識結果を示す方法である。具体的には、認識結果のキーワードに対応した音声データと「の」や「でいいですか?」というシステムが用意した確認の言葉の音声データをつなげた応答音声データを生成する(図3参照)。
第1の方法では、音声合成で作成された音声データ「埼玉」(図3では下線で示す)、ユーザの発声した音声データから抽出された音声データ「おおみやこ」(図3では斜体で示す)、及び、音声合成で作成された音声データ「の」「でいいですか?」(図3では下線で示す)の組み合わせによって応答音声が作成され、ユーザに応答する。すなわち、信頼度が所定の閾値よりも小さく、誤認識の可能性がある「おおみやこ」の部分を、ユーザの発声した音声そのままで応答する。
このようにすることで、たとえ音声認識部102が、「大宮公園」を「大和田公園」と誤認識していた場合でも、ユーザは、自身の発声した「大宮公園」という音声を応答音声として聞く。そのため、認識結果のうち、音声合成によって生成された単語、すなわち、信頼度が所定の閾値以上の単語(「埼玉」)の認識結果が正しいか否かを確認し、かつ、信頼度が所定の閾値よりも小さい単語(大宮公園)がシステムに正しく録音されているかを確認することができる。例えば、ユーザの発声の後ろの部分が正しく録音されていない場合は、ユーザは「埼玉」「の」「おおみやこ」「でいいですか」のような問い合わせを聞くことになる。よってシステムが判断した各単語の区間情報が正確に判断されて録音されているかをユーザが理解し、再入力を試みることができる。
この方法は、例えば、好きな公園に関する口頭によるアンケート調査を県別にまとめる作業を音声認識システムで行う場合に好適である。この場合、音声認識システムは、県別の件数だけを音声認識結果によって自動的にまとめることができる。また、認識結果の信頼度が低い「大宮公園」の部分は、後からオペレータが聞いて入力する等の方法を用いることで対応する。
従って、第1の方法では、ユーザの音声が正しく認識された部分をユーザが確認することができ、かつ、正しく認識されなかった音声は、システムに正しく録音されたことをユーザが確認できる。
次に、第2の方法を説明する。第2の方法は、ユーザに対して、認識結果が疑わしい場合に、その部分のみを問い合わせる方法である。具体的には、認識結果の信頼度が低い「大宮公園」に、「の部分がうまく聞き取れませんでした」という確認の言葉の音声データを組み合わせる方法である(図4参照)。
この第2の方法では、ユーザの発声した音声データから抽出された音声データ「大宮公園」(図4では斜体で示す)、及び、音声合成で作成された音声データ「の部分がうまく聞き取れませんでした」(図4では下線で示す)の組み合わせによって応答音声が作成され、ユーザに応答する。すなわち、信頼度が所定の閾値よりも小さく、誤認識の可能性がある「大宮公園」の部分を、ユーザの発声した音声そのままで応答する。そして、その音声の認識がうまくいかなかったことをユーザに応答する。この後、ユーザに再度音声を入力する等の指示を応答する。
なお、「大宮公園」の部分の認識結果が「大宮」、「公園」の、二つの単語として認識され、さらに「公園」の部分の信頼度のみが所定の閾値以上である場合は、次のような応答方法がある。すなわち、前述のようにユーザ発声の音声データ「大宮公園」及び音声合成の音声データ「が分かりません」と応答した後に、「どちらの公園ですか?」「天沼公園のように発声して下さい」等の音声を生成して応答することで、ユーザに再発声を促す。なお、後者の場合、認識結果の信頼度が低い単語である「大宮公園」を例として応答に利用するとユーザに混乱を与える可能性があるので、避けることが望ましい。
従って、第2の方法では、ユーザ発声中のどの部分が認識され、どの部分が認識されなかったかを、ユーザに明確に伝えることができる。また、ユーザが「埼玉の大宮公園」と発声する際に、「大宮公園」の部分で周囲の雑音が大きくなったために信頼度が低くなった場合、応答音声の「大宮公園」の部分にも周囲の雑音が大きく入るため、周囲雑音が認識できなかった原因であることをユーザが理解しやすい。この場合、ユーザは周囲雑音が小さいタイミングで発声を試みたり、周囲雑音の低い場所に移動したり、車に乗っている場合は停車したりすることで、周囲雑音の影響を低減させる工夫を行うことができる。
また「大宮公園」の部分の発声が小さすぎて、音声データが取り込めていない場合には、ユーザが聞く応答音声の「大宮公園」に対応する部分が無音となり、システムが「大宮公園」の部分を取り込めなかったことが理解しやすい。この場合、ユーザは大きな声で発声を試みたり、マイクに口を近づけて発声したりすることで、確実に音声が取り込めるような工夫を行うことができる。
さらに、認識結果の単語が「埼玉」「の大」「宮公園」のように、単語を誤って分割してしまった場合には、ユーザが聞く応答音声は「宮公園」となるため、システムは対応付けが失敗したことをユーザが理解しやすい。ユーザは、音声認識の結果が誤っていた場合でも、非常に似た単語に間違った場合は、人間同士の会話においてもありうることなので、誤認識を許容してくれる可能性があるが、全く異なった発音の単語に誤認識した場合は、音声認識システムの性能に対して大きな不信感を頂いてしまう可能性がある。
前述したように、対応付けの失敗をユーザに知らせることで、誤認識の理由をユーザが推定できるようになり、ある程度納得を得ることが期待できる。
また、前述の例では、少なくとも「埼玉」の部分の単語は信頼度が所定値以上であり、認識正しく認識されている。そこで、音声認識部102が用いる辞書・認識文法記憶部106のデータを埼玉県の公園に関する内容に限定する。このようにすることで、次回の音声入力(例えば、次のユーザの発声)では、「大宮公園」の部分の認識率が高くなる。
ユーザの発声の音声データのうち、信頼度が高く認識されている部分を用いて、多の部分の認識率を上げる方法として以下に説明する方法がある。
具体的は、公園の名前だけではなく、あらゆる施設に関するアンケート調査において、ユーザの発声した「xx県のyy」という発声に対応すると、その組み合わせの数は膨大となり、音声認識の認識率が低くなる。さらに、システムの処理量や、必要なメモリ量も実用的ではない。そこで、最初は「yy」の部分を正確に認識せずに、「xx」の部分を認識する。そして、認識された「xx県」を用いて、当該xx県限定の辞書データ及び認識文法データを用いて、「yy」の部分を認識する。
「xx県」限定の辞書データ及び認識文法データを用いると「yy」の部分の認識率が高くなる。この場合、ユーザの発声した音声データの全ての単語が正しく認識され、信頼度が所定の閾値以上である場合は、全て音声合成による応答音声となる。従って、ユーザは、システムがあらゆる県のあらゆる施設に関して「xx県のyy」という発声を認識できると感じられる。
一方、「xx県」限定の辞書データ及び認識文法データを用いた「yy」の部分の認識結果の信頼度が閾値より低い場合は、前述のように、ユーザの発声した音声データを抽出して「yy」「の部分が上手く聞き取れませんでした」等の応答音声を生成することによって、ユーザに再発声を促すことができる。
この「xx」の部分だけを認識する方法としては、辞書・認識文法記憶部106の辞書データの1つに、あらゆる音節の組み合わせを表現する記述(ガベッジ)を持たせる方法がある。すなわち、認識文法データの組み合わせとしてとして<都道府県名><の><ガベッジ>という組み合わせを用いる。ガベッジの部分は、辞書には登録されていない各施設の名前の代わりとする。
また、日本に存在する施設名を構成する音節の組み合わせには何らかの特徴がある。例えば、「えき」という組み合わせは、「れひゅ」という組み合わせよりも出現頻度が高い。これを利用して、隣接する音節の出現頻度を、施設名の統計から求め、出現頻度の高い音節の組み合わせの類似度が高くなるようにすることで、施設名の代わりとしての精度を高めることができる。
以上説明したように、本発明の実施の形態の音声認識システムは、ユーザによって入力された音声のどの部分が認識でき、どの部分が認識できなかったのかを、ユーザが直感的に理解可能な応答音声を生成し、ユーザに応答することができる。また、正しく音声認識されなかった部分は、ユーザに通知される断片的なユーザ自身の発声を含むので発話の途中で切れているなど、直感的に正常でないと分かる様態で再生されるため、音声認識が正常に行われなかったことが理解可能となる。
図1は、本発明の実施の形態の音声認識システムの構成のブロック図である。
本発明の音声認識システムは、音声入力部101、音声認識部102、応答生成部103、音声出力部104、音響モデル記憶部105、辞書・認識文法記憶部106によって構成される。
音声入力部101は、ユーザが発声した音声を取り込み、デジタル信号形式の音声データに変換する。音声入力部101は、例えばマイクロフォンとA/Dコンバータで構成されており、マイクロフォンによって入力された音声信号がA/Dコンバータによってデジタル信号に変換される。変換されたデジタル信号(音声データ)は、音声認識部102又は音声記憶部105に送られる。
音響モデル記憶部105は、音響モデルがデータベースとして記憶されている。音響モデル記憶部105は、例えばハードディスクやROM等によって構成される。
音響モデルとは、ユーザの発声がどのような音声データとして得られるかを統計的なモデルで表現したデータである。この音響モデルは、音節(例えば、「あ」「い」などの単位ごと)にモデル化されている。モデル化の単位は音節単位の他にも、音素片単位を用いることができる。音素片単位とは、母音、子音、無音を定常部、母音から子音、子音から無音のように異なる定常部間を移る部分を遷移部としてモデル化したデータである。例えば「あき」という単語は、「無音」「無音a」「a」「ak」「k」「ki」「i」「i無音」「無音」のように分割される。また、統計的なモデル化の方法としては、HMMなどが利用される。
辞書・認識文法記憶部106は、辞書データ及び認識文法データが記憶されている。辞書・認識文書記憶部106は、例えばハードディスクやROM等によって構成される。
この辞書データ及び認識文法データは、複数の単語及び文の組み合わせに関する情報である。具体的には、前述の音響モデル化された単位を、有効な単語又は文章とするにはどのように組み合わせとするかを指定するデータである。辞書データは、前述の例の「あき」のような音節の組み合わせを指定するデータである。認識文法データは、システムが受け付ける単語の組み合わせの集合を指定するデータである。例えば「東京駅へ行く」という発声をシステムが受け付けるためには、「東京駅」「へ」「行く」という3つの単語の組み合わせが認識文法データに含まれている必要がある。また認識文法データには、各単語の分類情報を付与しておく。例えば「東京駅」という単語は「場所」という分類をし、「行く」という単語には「コマンド」という分類をすることができる。また「へ」という単語には「非キーワード」という分類を付与しておく。「非キーワード」という分類の単語はその単語が認識されたとしても、システムの動作に影響がない単語に付与する。逆に「非キーワード」以外の分類の単語は認識されることによって、システムに何らかの影響を与えるキーワードであるということになる。例えば「コマンド」に分類された単語が認識された場合は、認識された単語に相当する機能の呼び出しを行い、「場所」として認識された単語は機能を呼び出す際のパラメータとして利用できる。
音声認識部102は、音声入力部によって変換された音声データに基づいて、認識結果を取得し、類似度を算出する。音声認識部102は、音声データに基づいて、辞書・認識文法記憶部106の辞書データ又は認識文法データと、音響モデル記憶部105の音響モデルとを用いて、音響モデルの組み合わせが指定された単語又は文章を取得する。この取得した単語又は文章と当該音声データとの類似度を算出する。そして、類似度の高い単語又は文章の認識結果を出力する。
なお、文章には当該文章を構成する複数の単語が含まれる。そして、認識結果を構成する単語それぞれに信頼度が付与され、認識結果と合わせて出力される。
この類似度は特開平4−255900号公報に記載されている方法を用いることによって計算することができる。また、類似度を計算する際には、認識結果を構成するそれぞれの単語が音声データのどの部分と対応させると最も類似度が高くなるかを、Viterbiアルゴリズムを用いて求めることができる。これを用いて、それぞれの単語が対応する音声データの部分を表す区間情報を認識結果とあわせて出力する。具体的には所定区間(例えば、10ms)ごとに入ってくる音声データ(フレームと呼ぶ)と、単語を構成する音素片の対応付けに関して最も類似度を高くすることができる場合の情報が出力される。
応答生成部103は、音声認識部102から出力された信頼度の付与された認識結果から、応答音声データを生成する。この応答生成部103の処理は後述する。
音声出力部104は、応答生成部103が生成したデジタル信号形式の応答音声データを、人間が聴取可能な音声に変換する。音声出力部104は、例えばD/Aコンバータとスピーカで構成されている。入力された音声データがD/Aコンバータによってアナログ信号に変換され、変換されたアナログ信号(音声信号)がスピーカによってユーザに出力される。
次に、応答生成部103の動作を説明する。
図2は、応答生成部103の処理を示すフローチャートである。
音声認識部102から、信頼度が付与された認識結果が出力されと、この処理が実行される。
まず、入力された認識結果に含まれている最初のキーワードに関する情報を選択する(S1001)。認識結果は、区間情報に基いて区分けされた元の音声データの時系列順の単語単位となっているので、まず時系列の先頭のキーワードを選択する。非キーワードに分類されている単語は、応答音声にも影響を与えない単語であるため、無視する。また、認識結果には、単語毎に信頼度及び区間情報が付与されているので、当該単語に付与された信頼度及び区間情報を選択する。
次に、選択されたキーワードの信頼度が所定の閾値以上であるか否かを判定する(S1002)。信頼度が閾値以上であると判定した場合はステップS1004に移行し、閾値に満たないと判定した場合はステップS1003に移行する。
選択したキーワードの信頼度が所定の閾値以上であると判定した場合は、そのキーワードは、辞書データ又は認識文法データによって指定された音響モデルの組み合わせが入力された音声データの発声と遜色なく、十分に認識されている場合である。この場合は、認識結果のキーワードの合成音声を合成して、音声データに変換する(S1003)。ここでは本ステップで実際の音声合成処理を行っているが、ステップS1008の応答音声生成処理でシステムが用意した応答文章とまとめて音声合成処理をしてもよい。いずれにしても同一の音声合成エンジンを用いることで、高い信頼度で認識されたキーワードは、システムが用意した応答文章と同じ音質で違和感なく合成することができる。
一方、選択されたキーワードの信頼度が所定の閾値よりも低いと判定した場合は、そのキーワードは、辞書データ又は認識文法データによって指定された音響モデルの組み合わせが、入力された音声データの発声とは疑わしく、十分に認識されない場合である。この場合は、合成音声を生成せず、ユーザの発声をそのまま音声データとする。具体的には、認識結果の単語に付与されている区間情報を用いて、音声データの単語に対応する部分を抽出する。この抽出された音声データを、出力する音声データとする(S1004)。これによって、信頼度が低い部分は、システムが用意した応答文章や、信頼度が高い部分とは異なった音質になるため、ユーザはどの部分が信頼度が低い部分なのか容易に理解できる。
このステップS1003及びステップS1004によって、認識結果のキーワードに対応した音声データが得られる。そして、この音声データを認識結果の単語に関連付けたデータとして保存する(S1005)。
次に、入力された認識結果に次のキーワードがあるか否かを判定する(S1006)。認識結果は元の音声データの時系列順となっているので、ステップS1002からステップS1005によって処理された次の順のキーワードがあるか否かを判定する。次のキーワードがあると判定した場合は、そのキーワードを選択する(S1007)。そして、前述したステップS1002からステップS1006を実行する。
一方、もう次のキーワードがないと判定した場合は、認識結果に含まれているすべてのキーワードについて、対応する音声データの付与が完了している。そこで、この音声データの付与された認識結果を用いて、応答音声生成処理を実行する(S1008)。
この応答音声生成処理は、認識結果に含まれる全てのキーワードに対応付けられた音声データを用いて、ユーザに通知するための応答音声データを生成する。
応答音声生成処理では、例えば、キーワードに対応付けられた音声データを組み合わせたり、別に用意した音声データと組み合わせたりして、ユーザに、音声認識の結果や、うまく音声認識ができなかった箇所(信頼度が所定の閾値に満たないキーワード)を示す応答音声を生成する。
音声データの組み合わせ方は、システムとユーザがどのような対話をし、どのような状況であるかによって変わるため、状況に応じて音声データの組み合わせ方を変更するためのプログラムや対話シナリオを用いる必要がある。
本実施例では、以下の例を用いて、音声応答生成処理を説明する。
(1)ユーザの発声は「埼玉の大宮公園」である。
(2)認識結果を構成する単語は「埼玉」「の」「大宮公園」の三つであり、キーワードは「埼玉」「大宮公園」の二つである。
(3)所定の閾値よりも信頼度が高い単語は「埼玉」だけである。
まず、第1の方法を説明する。第1の方法は、ユーザに対して、ユーザの発声した音声の認識結果を示す方法である。具体的には、認識結果のキーワードに対応した音声データと「の」や「でいいですか?」というシステムが用意した確認の言葉の音声データをつなげた応答音声データを生成する(図3参照)。
第1の方法では、音声合成で作成された音声データ「埼玉」(図3では下線で示す)、ユーザの発声した音声データから抽出された音声データ「おおみやこ」(図3では斜体で示す)、及び、音声合成で作成された音声データ「の」「でいいですか?」(図3では下線で示す)の組み合わせによって応答音声が作成され、ユーザに応答する。すなわち、信頼度が所定の閾値よりも小さく、誤認識の可能性がある「おおみやこ」の部分を、ユーザの発声した音声そのままで応答する。
このようにすることで、たとえ音声認識部102が、「大宮公園」を「大和田公園」と誤認識していた場合でも、ユーザは、自身の発声した「大宮公園」という音声を応答音声として聞く。そのため、認識結果のうち、音声合成によって生成された単語、すなわち、信頼度が所定の閾値以上の単語(「埼玉」)の認識結果が正しいか否かを確認し、かつ、信頼度が所定の閾値よりも小さい単語(大宮公園)がシステムに正しく録音されているかを確認することができる。例えば、ユーザの発声の後ろの部分が正しく録音されていない場合は、ユーザは「埼玉」「の」「おおみやこ」「でいいですか」のような問い合わせを聞くことになる。よってシステムが判断した各単語の区間情報が正確に判断されて録音されているかをユーザが理解し、再入力を試みることができる。
この方法は、例えば、好きな公園に関する口頭によるアンケート調査を県別にまとめる作業を音声認識システムで行う場合に好適である。この場合、音声認識システムは、県別の件数だけを音声認識結果によって自動的にまとめることができる。また、認識結果の信頼度が低い「大宮公園」の部分は、後からオペレータが聞いて入力する等の方法を用いることで対応する。
従って、第1の方法では、ユーザの音声が正しく認識された部分をユーザが確認することができ、かつ、正しく認識されなかった音声は、システムに正しく録音されたことをユーザが確認できる。
次に、第2の方法を説明する。第2の方法は、ユーザに対して、認識結果が疑わしい場合に、その部分のみを問い合わせる方法である。具体的には、認識結果の信頼度が低い「大宮公園」に、「の部分がうまく聞き取れませんでした」という確認の言葉の音声データを組み合わせる方法である(図4参照)。
この第2の方法では、ユーザの発声した音声データから抽出された音声データ「大宮公園」(図4では斜体で示す)、及び、音声合成で作成された音声データ「の部分がうまく聞き取れませんでした」(図4では下線で示す)の組み合わせによって応答音声が作成され、ユーザに応答する。すなわち、信頼度が所定の閾値よりも小さく、誤認識の可能性がある「大宮公園」の部分を、ユーザの発声した音声そのままで応答する。そして、その音声の認識がうまくいかなかったことをユーザに応答する。この後、ユーザに再度音声を入力する等の指示を応答する。
なお、「大宮公園」の部分の認識結果が「大宮」、「公園」の、二つの単語として認識され、さらに「公園」の部分の信頼度のみが所定の閾値以上である場合は、次のような応答方法がある。すなわち、前述のようにユーザ発声の音声データ「大宮公園」及び音声合成の音声データ「が分かりません」と応答した後に、「どちらの公園ですか?」「天沼公園のように発声して下さい」等の音声を生成して応答することで、ユーザに再発声を促す。なお、後者の場合、認識結果の信頼度が低い単語である「大宮公園」を例として応答に利用するとユーザに混乱を与える可能性があるので、避けることが望ましい。
従って、第2の方法では、ユーザ発声中のどの部分が認識され、どの部分が認識されなかったかを、ユーザに明確に伝えることができる。また、ユーザが「埼玉の大宮公園」と発声する際に、「大宮公園」の部分で周囲の雑音が大きくなったために信頼度が低くなった場合、応答音声の「大宮公園」の部分にも周囲の雑音が大きく入るため、周囲雑音が認識できなかった原因であることをユーザが理解しやすい。この場合、ユーザは周囲雑音が小さいタイミングで発声を試みたり、周囲雑音の低い場所に移動したり、車に乗っている場合は停車したりすることで、周囲雑音の影響を低減させる工夫を行うことができる。
また「大宮公園」の部分の発声が小さすぎて、音声データが取り込めていない場合には、ユーザが聞く応答音声の「大宮公園」に対応する部分が無音となり、システムが「大宮公園」の部分を取り込めなかったことが理解しやすい。この場合、ユーザは大きな声で発声を試みたり、マイクに口を近づけて発声したりすることで、確実に音声が取り込めるような工夫を行うことができる。
さらに、認識結果の単語が「埼玉」「の大」「宮公園」のように、単語を誤って分割してしまった場合には、ユーザが聞く応答音声は「宮公園」となるため、システムは対応付けが失敗したことをユーザが理解しやすい。ユーザは、音声認識の結果が誤っていた場合でも、非常に似た単語に間違った場合は、人間同士の会話においてもありうることなので、誤認識を許容してくれる可能性があるが、全く異なった発音の単語に誤認識した場合は、音声認識システムの性能に対して大きな不信感を頂いてしまう可能性がある。
前述したように、対応付けの失敗をユーザに知らせることで、誤認識の理由をユーザが推定できるようになり、ある程度納得を得ることが期待できる。
また、前述の例では、少なくとも「埼玉」の部分の単語は信頼度が所定値以上であり、認識正しく認識されている。そこで、音声認識部102が用いる辞書・認識文法記憶部106のデータを埼玉県の公園に関する内容に限定する。このようにすることで、次回の音声入力(例えば、次のユーザの発声)では、「大宮公園」の部分の認識率が高くなる。
ユーザの発声の音声データのうち、信頼度が高く認識されている部分を用いて、多の部分の認識率を上げる方法として以下に説明する方法がある。
具体的は、公園の名前だけではなく、あらゆる施設に関するアンケート調査において、ユーザの発声した「xx県のyy」という発声に対応すると、その組み合わせの数は膨大となり、音声認識の認識率が低くなる。さらに、システムの処理量や、必要なメモリ量も実用的ではない。そこで、最初は「yy」の部分を正確に認識せずに、「xx」の部分を認識する。そして、認識された「xx県」を用いて、当該xx県限定の辞書データ及び認識文法データを用いて、「yy」の部分を認識する。
「xx県」限定の辞書データ及び認識文法データを用いると「yy」の部分の認識率が高くなる。この場合、ユーザの発声した音声データの全ての単語が正しく認識され、信頼度が所定の閾値以上である場合は、全て音声合成による応答音声となる。従って、ユーザは、システムがあらゆる県のあらゆる施設に関して「xx県のyy」という発声を認識できると感じられる。
一方、「xx県」限定の辞書データ及び認識文法データを用いた「yy」の部分の認識結果の信頼度が閾値より低い場合は、前述のように、ユーザの発声した音声データを抽出して「yy」「の部分が上手く聞き取れませんでした」等の応答音声を生成することによって、ユーザに再発声を促すことができる。
この「xx」の部分だけを認識する方法としては、辞書・認識文法記憶部106の辞書データの1つに、あらゆる音節の組み合わせを表現する記述(ガベッジ)を持たせる方法がある。すなわち、認識文法データの組み合わせとしてとして<都道府県名><の><ガベッジ>という組み合わせを用いる。ガベッジの部分は、辞書には登録されていない各施設の名前の代わりとする。
また、日本に存在する施設名を構成する音節の組み合わせには何らかの特徴がある。例えば、「えき」という組み合わせは、「れひゅ」という組み合わせよりも出現頻度が高い。これを利用して、隣接する音節の出現頻度を、施設名の統計から求め、出現頻度の高い音節の組み合わせの類似度が高くなるようにすることで、施設名の代わりとしての精度を高めることができる。
以上説明したように、本発明の実施の形態の音声認識システムは、ユーザによって入力された音声のどの部分が認識でき、どの部分が認識できなかったのかを、ユーザが直感的に理解可能な応答音声を生成し、ユーザに応答することができる。また、正しく音声認識されなかった部分は、ユーザに通知される断片的なユーザ自身の発声を含むので発話の途中で切れているなど、直感的に正常でないと分かる様態で再生されるため、音声認識が正常に行われなかったことが理解可能となる。
図1は、本発明の実施の形態の音声認識システムの構成のブロック図である。
図2は、本発明の実施の形態の応答生成部の動作を示すフローチャートである。
図3は、本発明の実施の形態の応答音声の一例である。
図4は、本発明の実施の形態の応答音声の他の例である。
図2は、本発明の実施の形態の応答生成部の動作を示すフローチャートである。
図3は、本発明の実施の形態の応答音声の一例である。
図4は、本発明の実施の形態の応答音声の他の例である。
以下に本発明の実施の形態の音声認識システムを、図面を参照して説明する。
図1は、本発明の実施の形態の音声認識システムの構成のブロック図である。
本発明の音声認識システムは、音声入力部101、音声認識部102、応答生成部103、音声出力部104、音響モデル記憶部105、辞書・認識文法記憶部106によって構成される。
音声入力部101は、ユーザが発声した音声を取り込み、デジタル信号形式の音声データに変換する。音声入力部101は、例えばマイクロフォンとA/Dコンバータで構成されており、マイクロフォンによって入力された音声信号がA/Dコンバータによってデジタル信号に変換される。変換されたデジタル信号(音声データ)は、音声認識部102又は音声応答生成部103に送られる。
音響モデル記憶部105は、音響モデルがデータベースとして記憶されている。音響モデル記憶部105は、例えばハードディスクやROM等によって構成される。
音響モデルとは、ユーザの発声がどのような音声データとして得られるかを統計的なモデルで表現したデータである。この音響モデルは、音節(例えば、「あ」「い」などの単位ごと)にモデル化されている。モデル化の単位は音節単位の他にも、音素片単位を用いることができる。音素片単位とは、母音、子音、無音を定常部、母音から子音、子音から無音のように異なる定常部間を移る部分を遷移部としてモデル化したデータである。例えば「あき」という単語は、「無音」「無音a」「a」「ak」「k」「ki」「i」「i無音」「無音」のように分割される。また、統計的なモデル化の方法としては、HMMなどが利用される。
辞書・認識文法記憶部106は、辞書データ及び認識文法データが記憶されている。辞書・認識文書記憶部106は、例えばハードディスクやROM等によって構成される。
この辞書データ及び認識文法データは、複数の単語及び文の組み合わせに関する情報である。具体的には、前述の音響モデル化された単位を、有効な単語又は文章とするにはどのように組み合わせとするかを指定するデータである。辞書データは、前述の例の「あき」のような音節の組み合わせを指定するデータである。認識文法データは、システムが受け付ける単語の組み合わせの集合を指定するデータである。例えば「東京駅へ行く」という発声をシステムが受け付けるためには、「東京駅」「へ」「行く」という3つの単語の組み合わせが認識文法データに含まれている必要がある。また認識文法データには、各単語の分類情報を付与しておく。例えば「東京駅」という単語は「場所」という分類をし、「行く」という単語には「コマンド」という分類をすることができる。また「へ」という単語には「非キーワード」という分類を付与しておく。「非キーワード」という分類の単語はその単語が認識されたとしても、システムの動作に影響がない単語に付与する。逆に「非キーワード」以外の分類の単語は認識されることによって、システムに何らかの影響を与えるキーワードであるということになる。例えば「コマンド」に分類された単語が認識された場合は、認識された単語に相当する機能の呼び出しを行い、「場所」として認識された単語は機能を呼び出す際のパラメータとして利用できる。
音声認識部102は、音声入力部によって変換された音声データに基づいて、認識結果を取得し、類似度を算出する。音声認識部102は、音声データに基づいて、辞書・認識文法記憶部106の辞書データ又は認識文法データと、音響モデル記憶部105の音響モデルとを用いて、音響モデルの組み合わせが指定された単語又は文章を取得する。この取得した単語又は文章と当該音声データとの類似度を算出する。そして、類似度の高い単語又は文章の認識結果を出力する。
なお、文章には当該文章を構成する複数の単語が含まれる。そして、認識結果を構成する単語それぞれに信頼度が付与され、認識結果と合わせて出力される。
この類似度は特開平4−255900号公報に記載されている方法を用いることによって計算することができる。また、類似度を計算する際には、認識結果を構成するそれぞれの単語が音声データのどの部分と対応させると最も類似度が高くなるかを、Viterbiアルゴリズムを用いて求めることができる。これを用いて、それぞれの単語が対応する音声データの部分を表す区間情報を認識結果とあわせて出力する。具体的には所定区間(例えば、10ms)ごとに入ってくる音声データ(フレームと呼ぶ)と、単語を構成する音素片の対応付けに関して最も類似度を高くすることができる場合の情報が出力される。
応答生成部103は、音声認識部102から出力された信頼度の付与された認識結果から、応答音声データを生成する。この応答生成部103の処理は後述する。
音声出力部104は、応答生成部103が生成したデジタル信号形式の応答音声データを、人間が聴取可能な音声に変換する。音声出力部104は、例えばD/Aコンバータとスピーカで構成されている。入力された音声データがD/Aコンバータによってアナログ信号に変換され、変換されたアナログ信号(音声信号)がスピーカによってユーザに出力される。
次に、応答生成部103の動作を説明する。
図2は、応答生成部103の処理を示すフローチャートである。
音声認識部102から、信頼度が付与された認識結果が出力されと、この処理が実行される。
まず、入力された認識結果に含まれている最初のキーワードに関する情報を選択する(S1001)。認識結果は、区間情報に基いて区分けされた元の音声データの時系列順の単語単位となっているので、まず時系列の先頭のキーワードを選択する。非キーワードに分類されている単語は、応答音声にも影響を与えない単語であるため、無視する。また、認識結果には、単語毎に信頼度及び区間情報が付与されているので、当該単語に付与された信頼度及び区間情報を選択する。
次に、選択されたキーワードの信頼度が所定の閾値以上であるか否かを判定する(S1002)。信頼度が閾値以上であると判定した場合はステップS1003に移行し、閾値に満たないと判定した場合はステップS1004に移行する。
選択したキーワードの信頼度が所定の閾値以上であると判定した場合は、そのキーワードは、辞書データ又は認識文法データによって指定された音響モデルの組み合わせが入力された音声データの発声と遜色なく、十分に認識されている場合である。この場合は、認識結果のキーワードの合成音声を合成して、音声データに変換する(S1003)。ここでは本ステップで実際の音声合成処理を行っているが、ステップS1008の応答音声生成処理でシステムが用意した応答文章とまとめて音声合成処理をしてもよい。いずれにしても同一の音声合成エンジンを用いることで、高い信頼度で認識されたキーワードは、システムが用意した応答文章と同じ音質で違和感なく合成することができる。
一方、選択されたキーワードの信頼度が所定の閾値よりも低いと判定した場合は、そのキーワードは、辞書データ又は認識文法データによって指定された音響モデルの組み合わせが、入力された音声データの発声とは疑わしく、十分に認識されない場合である。この場合は、合成音声を生成せず、ユーザの発声をそのまま音声データとする。具体的には、認識結果の単語に付与されている区間情報を用いて、音声データの単語に対応する部分を抽出する。この抽出された音声データを、出力する音声データとする(S1004)。これによって、信頼度が低い部分は、システムが用意した応答文章や、信頼度が高い部分とは異なった音質になるため、ユーザはどの部分が信頼度が低い部分なのか容易に理解できる。
このステップS1003及びステップS1004によって、認識結果のキーワードに対応した音声データが得られる。そして、この音声データを認識結果の単語に関連付けたデータとして保存する(S1005)。
次に、入力された認識結果に次のキーワードがあるか否かを判定する(S1006)。認識結果は元の音声データの時系列順となっているので、ステップS1002からステップS1005によって処理された次の順のキーワードがあるか否かを判定する。次のキーワードがあると判定した場合は、そのキーワードを選択する(S1007)。そして、前述したステップS1002からステップS1006を実行する。
一方、もう次のキーワードがないと判定した場合は、認識結果に含まれているすべてのキーワードについて、対応する音声データの付与が完了している。そこで、この音声データの付与された認識結果を用いて、応答音声生成処理を実行する(S1008)。
この応答音声生成処理は、認識結果に含まれる全てのキーワードに対応付けられた音声データを用いて、ユーザに通知するための応答音声データを生成する。
応答音声生成処理では、例えば、キーワードに対応付けられた音声データを組み合わせたり、別に用意した音声データと組み合わせたりして、ユーザに、音声認識の結果や、うまく音声認識ができなかった箇所(信頼度が所定の閾値に満たないキーワード)を示す応答音声を生成する。
音声データの組み合わせ方は、システムとユーザがどのような対話をし、どのような状況であるかによって変わるため、状況に応じて音声データの組み合わせ方を変更するためのプログラムや対話シナリオを用いる必要がある。
本実施例では、以下の例を用いて、音声応答生成処理を説明する。
(1)ユーザの発声は「埼玉の大宮公園」である。
(2)認識結果を構成する単語は「埼玉」「の」「大宮公園」の三つであり、キーワードは「埼玉」「大宮公園」の二つである。
(3)所定の閾値よりも信頼度が高い単語は「埼玉」だけである。
まず、第1の方法を説明する。第1の方法は、ユーザに対して、ユーザの発声した音声の認識結果を示す方法である。具体的には、認識結果のキーワードに対応した音声データと「の」や「でいいですか?」というシステムが用意した確認の言葉の音声データをつなげた応答音声データを生成する(図3参照)。
第1の方法では、音声合成で作成された音声データ「埼玉」(図3では下線で示す)、ユーザの発声した音声データから抽出された音声データ「おおみやこ」(図3では斜体で示す)、及び、音声合成で作成された音声データ「の」「でいいですか?」(図3では下線で示す)の組み合わせによって応答音声が作成され、ユーザに応答する。すなわち、信頼度が所定の閾値よりも小さく、誤認識の可能性がある「おおみやこ」の部分を、ユーザの発声した音声そのままで応答する。
このようにすることで、たとえ音声認識部102が、「大宮公園」を「大和田公園」と誤認識していた場合でも、ユーザは、自身の発声した「大宮公園」という音声を応答音声として聞く。そのため、認識結果のうち、音声合成によって生成された単語、すなわち、信頼度が所定の閾値以上の単語(「埼玉」)の認識結果が正しいか否かを確認し、かつ、信頼度が所定の閾値よりも小さい単語(大宮公園)がシステムに正しく録音されているかを確認することができる。例えば、ユーザの発声の後ろの部分が正しく録音されていない場合は、ユーザは「埼玉」「の」「おおみやこ」「でいいですか」のような問い合わせを聞くことになる。よってシステムが判断した各単語の区間情報が正確に判断されて録音されているかをユーザが理解し、再入力を試みることができる。
この方法は、例えば、好きな公園に関する口頭によるアンケート調査を県別にまとめる作業を音声認識システムで行う場合に好適である。この場合、音声認識システムは、県別の件数だけを音声認識結果によって自動的にまとめることができる。また、認識結果の信頼度が低い「大宮公園」の部分は、後からオペレータが聞いて入力する等の方法を用いることで対応する。
従って、第1の方法では、ユーザの音声が正しく認識された部分をユーザが確認することができ、かつ、正しく認識されなかった音声は、システムに正しく録音されたことをユーザが確認できる。
次に、第2の方法を説明する。第2の方法は、ユーザに対して、認識結果が疑わしい場合に、その部分のみを問い合わせる方法である。具体的には、認識結果の信頼度が低い「大宮公園」に、「の部分がうまく聞き取れませんでした」という確認の言葉の音声データを組み合わせる方法である(図4参照)。
この第2の方法では、ユーザの発声した音声データから抽出された音声データ「大宮公園」(図4では斜体で示す)、及び、音声合成で作成された音声データ「の部分がうまく聞き取れませんでした」(図4では下線で示す)の組み合わせによって応答音声が作成され、ユーザに応答する。すなわち、信頼度が所定の閾値よりも小さく、誤認識の可能性がある「大宮公園」の部分を、ユーザの発声した音声そのままで応答する。そして、その音声の認識がうまくいかなかったことをユーザに応答する。この後、ユーザに再度音声を入力する等の指示を応答する。
なお、「大宮公園」の部分の認識結果が「大宮」、「公園」の、二つの単語として認識され、さらに「公園」の部分の信頼度のみが所定の閾値以上である場合は、次のような応答方法がある。すなわち、前述のようにユーザ発声の音声データ「大宮公園」及び音声合成の音声データ「が分かりません」と応答した後に、「どちらの公園ですか?」「天沼公園のように発声して下さい」等の音声を生成して応答することで、ユーザに再発声を促す。なお、後者の場合、認識結果の信頼度が低い単語である「大宮公園」を例として応答に利用するとユーザに混乱を与える可能性があるので、避けることが望ましい。
従って、第2の方法では、ユーザ発声中のどの部分が認識され、どの部分が認識されなかったかを、ユーザに明確に伝えることができる。また、ユーザが「埼玉の大宮公園」と発声する際に、「大宮公園」の部分で周囲の雑音が大きくなったために信頼度が低くなった場合、応答音声の「大宮公園」の部分にも周囲の雑音が大きく入るため、周囲雑音が認識できなかった原因であることをユーザが理解しやすい。この場合、ユーザは周囲雑音が小さいタイミングで発声を試みたり、周囲雑音の低い場所に移動したり、車に乗っている場合は停車したりすることで、周囲雑音の影響を低減させる工夫を行うことができる。
また「大宮公園」の部分の発声が小さすぎて、音声データが取り込めていない場合には、ユーザが聞く応答音声の「大宮公園」に対応する部分が無音となり、システムが「大宮公園」の部分を取り込めなかったことが理解しやすい。この場合、ユーザは大きな声で発声を試みたり、マイクに口を近づけて発声したりすることで、確実に音声が取り込めるような工夫を行うことができる。
さらに、認識結果の単語が「埼玉」「の大」「宮公園」のように、単語を誤って分割してしまった場合には、ユーザが聞く応答音声は「宮公園」となるため、システムは対応付けが失敗したことをユーザが理解しやすい。ユーザは、音声認識の結果が誤っていた場合でも、非常に似た単語に間違った場合は、人間同士の会話においてもありうることなので、誤認識を許容してくれる可能性があるが、全く異なった発音の単語に誤認識した場合は、音声認識システムの性能に対して大きな不信感を頂いてしまう可能性がある。
前述したように、対応付けの失敗をユーザに知らせることで、誤認識の理由をユーザが推定できるようになり、ある程度納得を得ることが期待できる。
また、前述の例では、少なくとも「埼玉」の部分の単語は信頼度が所定値以上であり、認識正しく認識されている。そこで、音声認識部102が用いる辞書・認識文法記憶部106のデータを埼玉県の公園に関する内容に限定する。このようにすることで、次回の音声入力(例えば、次のユーザの発声)では、「大宮公園」の部分の認識率が高くなる。
ユーザの発声の音声データのうち、信頼度が高く認識されている部分を用いて、他の部分の認識率を上げる方法として以下に説明する方法がある。
具体的は、公園の名前だけではなく、あらゆる施設に関するアンケート調査において、ユーザの発声した「xx県のyy」という発声に対応すると、その組み合わせの数は膨大となり、音声認識の認識率が低くなる。さらに、システムの処理量や、必要なメモリ量も実用的ではない。そこで、最初は「yy」の部分を正確に認識せずに、「xx」の部分を認識する。そして、認識された「xx県」を用いて、当該xx県限定の辞書データ及び認識文法データを用いて、「yy」の部分を認識する。
「xx県」限定の辞書データ及び認識文法データを用いると「yy」の部分の認識率が高くなる。この場合、ユーザの発声した音声データの全ての単語が正しく認識され、信頼度が所定の閾値以上である場合は、全て音声合成による応答音声となる。従って、ユーザは、システムがあらゆる県のあらゆる施設に関して「xx県のyy」という発声を認識できると感じられる。
一方、「xx県」限定の辞書データ及び認識文法データを用いた「yy」の部分の認識結果の信頼度が閾値より低い場合は、前述のように、ユーザの発声した音声データを抽出して「yy」「の部分が上手く聞き取れませんでした」等の応答音声を生成することによって、ユーザに再発声を促すことができる。
この「xx」の部分だけを認識する方法としては、辞書・認識文法記憶部106の辞書データの1つに、あらゆる音節の組み合わせを表現する記述(ガベッジ)を持たせる方法がある。すなわち、認識文法データの組み合わせとしてとして<都道府県名><の><ガベッジ>という組み合わせを用いる。ガベッジの部分は、辞書には登録されていない各施設の名前の代わりとする。
また、日本に存在する施設名を構成する音節の組み合わせには何らかの特徴がある。例えば、「えき」という組み合わせは、「れひゅ」という組み合わせよりも出現頻度が高い。これを利用して、隣接する音節の出現頻度を、施設名の統計から求め、出現頻度の高い音節の組み合わせの類似度が高くなるようにすることで、施設名の代わりとしての精度を高めることができる。
以上説明したように、本発明の実施の形態の音声認識システムは、ユーザによって入力された音声のどの部分が認識でき、どの部分が認識できなかったのかを、ユーザが直感的に理解可能な応答音声を生成し、ユーザに応答することができる。また、正しく音声認識されなかった部分は、ユーザに通知される断片的なユーザ自身の発声を含むので発話の途中で切れているなど、直感的に正常でないと分かる様態で再生されるため、音声認識が正常に行われなかったことが理解可能となる。
図1は、本発明の実施の形態の音声認識システムの構成のブロック図である。
本発明の音声認識システムは、音声入力部101、音声認識部102、応答生成部103、音声出力部104、音響モデル記憶部105、辞書・認識文法記憶部106によって構成される。
音声入力部101は、ユーザが発声した音声を取り込み、デジタル信号形式の音声データに変換する。音声入力部101は、例えばマイクロフォンとA/Dコンバータで構成されており、マイクロフォンによって入力された音声信号がA/Dコンバータによってデジタル信号に変換される。変換されたデジタル信号(音声データ)は、音声認識部102又は音声応答生成部103に送られる。
音響モデル記憶部105は、音響モデルがデータベースとして記憶されている。音響モデル記憶部105は、例えばハードディスクやROM等によって構成される。
音響モデルとは、ユーザの発声がどのような音声データとして得られるかを統計的なモデルで表現したデータである。この音響モデルは、音節(例えば、「あ」「い」などの単位ごと)にモデル化されている。モデル化の単位は音節単位の他にも、音素片単位を用いることができる。音素片単位とは、母音、子音、無音を定常部、母音から子音、子音から無音のように異なる定常部間を移る部分を遷移部としてモデル化したデータである。例えば「あき」という単語は、「無音」「無音a」「a」「ak」「k」「ki」「i」「i無音」「無音」のように分割される。また、統計的なモデル化の方法としては、HMMなどが利用される。
辞書・認識文法記憶部106は、辞書データ及び認識文法データが記憶されている。辞書・認識文書記憶部106は、例えばハードディスクやROM等によって構成される。
この辞書データ及び認識文法データは、複数の単語及び文の組み合わせに関する情報である。具体的には、前述の音響モデル化された単位を、有効な単語又は文章とするにはどのように組み合わせとするかを指定するデータである。辞書データは、前述の例の「あき」のような音節の組み合わせを指定するデータである。認識文法データは、システムが受け付ける単語の組み合わせの集合を指定するデータである。例えば「東京駅へ行く」という発声をシステムが受け付けるためには、「東京駅」「へ」「行く」という3つの単語の組み合わせが認識文法データに含まれている必要がある。また認識文法データには、各単語の分類情報を付与しておく。例えば「東京駅」という単語は「場所」という分類をし、「行く」という単語には「コマンド」という分類をすることができる。また「へ」という単語には「非キーワード」という分類を付与しておく。「非キーワード」という分類の単語はその単語が認識されたとしても、システムの動作に影響がない単語に付与する。逆に「非キーワード」以外の分類の単語は認識されることによって、システムに何らかの影響を与えるキーワードであるということになる。例えば「コマンド」に分類された単語が認識された場合は、認識された単語に相当する機能の呼び出しを行い、「場所」として認識された単語は機能を呼び出す際のパラメータとして利用できる。
音声認識部102は、音声入力部によって変換された音声データに基づいて、認識結果を取得し、類似度を算出する。音声認識部102は、音声データに基づいて、辞書・認識文法記憶部106の辞書データ又は認識文法データと、音響モデル記憶部105の音響モデルとを用いて、音響モデルの組み合わせが指定された単語又は文章を取得する。この取得した単語又は文章と当該音声データとの類似度を算出する。そして、類似度の高い単語又は文章の認識結果を出力する。
なお、文章には当該文章を構成する複数の単語が含まれる。そして、認識結果を構成する単語それぞれに信頼度が付与され、認識結果と合わせて出力される。
この類似度は特開平4−255900号公報に記載されている方法を用いることによって計算することができる。また、類似度を計算する際には、認識結果を構成するそれぞれの単語が音声データのどの部分と対応させると最も類似度が高くなるかを、Viterbiアルゴリズムを用いて求めることができる。これを用いて、それぞれの単語が対応する音声データの部分を表す区間情報を認識結果とあわせて出力する。具体的には所定区間(例えば、10ms)ごとに入ってくる音声データ(フレームと呼ぶ)と、単語を構成する音素片の対応付けに関して最も類似度を高くすることができる場合の情報が出力される。
応答生成部103は、音声認識部102から出力された信頼度の付与された認識結果から、応答音声データを生成する。この応答生成部103の処理は後述する。
音声出力部104は、応答生成部103が生成したデジタル信号形式の応答音声データを、人間が聴取可能な音声に変換する。音声出力部104は、例えばD/Aコンバータとスピーカで構成されている。入力された音声データがD/Aコンバータによってアナログ信号に変換され、変換されたアナログ信号(音声信号)がスピーカによってユーザに出力される。
次に、応答生成部103の動作を説明する。
図2は、応答生成部103の処理を示すフローチャートである。
音声認識部102から、信頼度が付与された認識結果が出力されと、この処理が実行される。
まず、入力された認識結果に含まれている最初のキーワードに関する情報を選択する(S1001)。認識結果は、区間情報に基いて区分けされた元の音声データの時系列順の単語単位となっているので、まず時系列の先頭のキーワードを選択する。非キーワードに分類されている単語は、応答音声にも影響を与えない単語であるため、無視する。また、認識結果には、単語毎に信頼度及び区間情報が付与されているので、当該単語に付与された信頼度及び区間情報を選択する。
次に、選択されたキーワードの信頼度が所定の閾値以上であるか否かを判定する(S1002)。信頼度が閾値以上であると判定した場合はステップS1003に移行し、閾値に満たないと判定した場合はステップS1004に移行する。
選択したキーワードの信頼度が所定の閾値以上であると判定した場合は、そのキーワードは、辞書データ又は認識文法データによって指定された音響モデルの組み合わせが入力された音声データの発声と遜色なく、十分に認識されている場合である。この場合は、認識結果のキーワードの合成音声を合成して、音声データに変換する(S1003)。ここでは本ステップで実際の音声合成処理を行っているが、ステップS1008の応答音声生成処理でシステムが用意した応答文章とまとめて音声合成処理をしてもよい。いずれにしても同一の音声合成エンジンを用いることで、高い信頼度で認識されたキーワードは、システムが用意した応答文章と同じ音質で違和感なく合成することができる。
一方、選択されたキーワードの信頼度が所定の閾値よりも低いと判定した場合は、そのキーワードは、辞書データ又は認識文法データによって指定された音響モデルの組み合わせが、入力された音声データの発声とは疑わしく、十分に認識されない場合である。この場合は、合成音声を生成せず、ユーザの発声をそのまま音声データとする。具体的には、認識結果の単語に付与されている区間情報を用いて、音声データの単語に対応する部分を抽出する。この抽出された音声データを、出力する音声データとする(S1004)。これによって、信頼度が低い部分は、システムが用意した応答文章や、信頼度が高い部分とは異なった音質になるため、ユーザはどの部分が信頼度が低い部分なのか容易に理解できる。
このステップS1003及びステップS1004によって、認識結果のキーワードに対応した音声データが得られる。そして、この音声データを認識結果の単語に関連付けたデータとして保存する(S1005)。
次に、入力された認識結果に次のキーワードがあるか否かを判定する(S1006)。認識結果は元の音声データの時系列順となっているので、ステップS1002からステップS1005によって処理された次の順のキーワードがあるか否かを判定する。次のキーワードがあると判定した場合は、そのキーワードを選択する(S1007)。そして、前述したステップS1002からステップS1006を実行する。
一方、もう次のキーワードがないと判定した場合は、認識結果に含まれているすべてのキーワードについて、対応する音声データの付与が完了している。そこで、この音声データの付与された認識結果を用いて、応答音声生成処理を実行する(S1008)。
この応答音声生成処理は、認識結果に含まれる全てのキーワードに対応付けられた音声データを用いて、ユーザに通知するための応答音声データを生成する。
応答音声生成処理では、例えば、キーワードに対応付けられた音声データを組み合わせたり、別に用意した音声データと組み合わせたりして、ユーザに、音声認識の結果や、うまく音声認識ができなかった箇所(信頼度が所定の閾値に満たないキーワード)を示す応答音声を生成する。
音声データの組み合わせ方は、システムとユーザがどのような対話をし、どのような状況であるかによって変わるため、状況に応じて音声データの組み合わせ方を変更するためのプログラムや対話シナリオを用いる必要がある。
本実施例では、以下の例を用いて、音声応答生成処理を説明する。
(1)ユーザの発声は「埼玉の大宮公園」である。
(2)認識結果を構成する単語は「埼玉」「の」「大宮公園」の三つであり、キーワードは「埼玉」「大宮公園」の二つである。
(3)所定の閾値よりも信頼度が高い単語は「埼玉」だけである。
まず、第1の方法を説明する。第1の方法は、ユーザに対して、ユーザの発声した音声の認識結果を示す方法である。具体的には、認識結果のキーワードに対応した音声データと「の」や「でいいですか?」というシステムが用意した確認の言葉の音声データをつなげた応答音声データを生成する(図3参照)。
第1の方法では、音声合成で作成された音声データ「埼玉」(図3では下線で示す)、ユーザの発声した音声データから抽出された音声データ「おおみやこ」(図3では斜体で示す)、及び、音声合成で作成された音声データ「の」「でいいですか?」(図3では下線で示す)の組み合わせによって応答音声が作成され、ユーザに応答する。すなわち、信頼度が所定の閾値よりも小さく、誤認識の可能性がある「おおみやこ」の部分を、ユーザの発声した音声そのままで応答する。
このようにすることで、たとえ音声認識部102が、「大宮公園」を「大和田公園」と誤認識していた場合でも、ユーザは、自身の発声した「大宮公園」という音声を応答音声として聞く。そのため、認識結果のうち、音声合成によって生成された単語、すなわち、信頼度が所定の閾値以上の単語(「埼玉」)の認識結果が正しいか否かを確認し、かつ、信頼度が所定の閾値よりも小さい単語(大宮公園)がシステムに正しく録音されているかを確認することができる。例えば、ユーザの発声の後ろの部分が正しく録音されていない場合は、ユーザは「埼玉」「の」「おおみやこ」「でいいですか」のような問い合わせを聞くことになる。よってシステムが判断した各単語の区間情報が正確に判断されて録音されているかをユーザが理解し、再入力を試みることができる。
この方法は、例えば、好きな公園に関する口頭によるアンケート調査を県別にまとめる作業を音声認識システムで行う場合に好適である。この場合、音声認識システムは、県別の件数だけを音声認識結果によって自動的にまとめることができる。また、認識結果の信頼度が低い「大宮公園」の部分は、後からオペレータが聞いて入力する等の方法を用いることで対応する。
従って、第1の方法では、ユーザの音声が正しく認識された部分をユーザが確認することができ、かつ、正しく認識されなかった音声は、システムに正しく録音されたことをユーザが確認できる。
次に、第2の方法を説明する。第2の方法は、ユーザに対して、認識結果が疑わしい場合に、その部分のみを問い合わせる方法である。具体的には、認識結果の信頼度が低い「大宮公園」に、「の部分がうまく聞き取れませんでした」という確認の言葉の音声データを組み合わせる方法である(図4参照)。
この第2の方法では、ユーザの発声した音声データから抽出された音声データ「大宮公園」(図4では斜体で示す)、及び、音声合成で作成された音声データ「の部分がうまく聞き取れませんでした」(図4では下線で示す)の組み合わせによって応答音声が作成され、ユーザに応答する。すなわち、信頼度が所定の閾値よりも小さく、誤認識の可能性がある「大宮公園」の部分を、ユーザの発声した音声そのままで応答する。そして、その音声の認識がうまくいかなかったことをユーザに応答する。この後、ユーザに再度音声を入力する等の指示を応答する。
なお、「大宮公園」の部分の認識結果が「大宮」、「公園」の、二つの単語として認識され、さらに「公園」の部分の信頼度のみが所定の閾値以上である場合は、次のような応答方法がある。すなわち、前述のようにユーザ発声の音声データ「大宮公園」及び音声合成の音声データ「が分かりません」と応答した後に、「どちらの公園ですか?」「天沼公園のように発声して下さい」等の音声を生成して応答することで、ユーザに再発声を促す。なお、後者の場合、認識結果の信頼度が低い単語である「大宮公園」を例として応答に利用するとユーザに混乱を与える可能性があるので、避けることが望ましい。
従って、第2の方法では、ユーザ発声中のどの部分が認識され、どの部分が認識されなかったかを、ユーザに明確に伝えることができる。また、ユーザが「埼玉の大宮公園」と発声する際に、「大宮公園」の部分で周囲の雑音が大きくなったために信頼度が低くなった場合、応答音声の「大宮公園」の部分にも周囲の雑音が大きく入るため、周囲雑音が認識できなかった原因であることをユーザが理解しやすい。この場合、ユーザは周囲雑音が小さいタイミングで発声を試みたり、周囲雑音の低い場所に移動したり、車に乗っている場合は停車したりすることで、周囲雑音の影響を低減させる工夫を行うことができる。
また「大宮公園」の部分の発声が小さすぎて、音声データが取り込めていない場合には、ユーザが聞く応答音声の「大宮公園」に対応する部分が無音となり、システムが「大宮公園」の部分を取り込めなかったことが理解しやすい。この場合、ユーザは大きな声で発声を試みたり、マイクに口を近づけて発声したりすることで、確実に音声が取り込めるような工夫を行うことができる。
さらに、認識結果の単語が「埼玉」「の大」「宮公園」のように、単語を誤って分割してしまった場合には、ユーザが聞く応答音声は「宮公園」となるため、システムは対応付けが失敗したことをユーザが理解しやすい。ユーザは、音声認識の結果が誤っていた場合でも、非常に似た単語に間違った場合は、人間同士の会話においてもありうることなので、誤認識を許容してくれる可能性があるが、全く異なった発音の単語に誤認識した場合は、音声認識システムの性能に対して大きな不信感を頂いてしまう可能性がある。
前述したように、対応付けの失敗をユーザに知らせることで、誤認識の理由をユーザが推定できるようになり、ある程度納得を得ることが期待できる。
また、前述の例では、少なくとも「埼玉」の部分の単語は信頼度が所定値以上であり、認識正しく認識されている。そこで、音声認識部102が用いる辞書・認識文法記憶部106のデータを埼玉県の公園に関する内容に限定する。このようにすることで、次回の音声入力(例えば、次のユーザの発声)では、「大宮公園」の部分の認識率が高くなる。
ユーザの発声の音声データのうち、信頼度が高く認識されている部分を用いて、他の部分の認識率を上げる方法として以下に説明する方法がある。
具体的は、公園の名前だけではなく、あらゆる施設に関するアンケート調査において、ユーザの発声した「xx県のyy」という発声に対応すると、その組み合わせの数は膨大となり、音声認識の認識率が低くなる。さらに、システムの処理量や、必要なメモリ量も実用的ではない。そこで、最初は「yy」の部分を正確に認識せずに、「xx」の部分を認識する。そして、認識された「xx県」を用いて、当該xx県限定の辞書データ及び認識文法データを用いて、「yy」の部分を認識する。
「xx県」限定の辞書データ及び認識文法データを用いると「yy」の部分の認識率が高くなる。この場合、ユーザの発声した音声データの全ての単語が正しく認識され、信頼度が所定の閾値以上である場合は、全て音声合成による応答音声となる。従って、ユーザは、システムがあらゆる県のあらゆる施設に関して「xx県のyy」という発声を認識できると感じられる。
一方、「xx県」限定の辞書データ及び認識文法データを用いた「yy」の部分の認識結果の信頼度が閾値より低い場合は、前述のように、ユーザの発声した音声データを抽出して「yy」「の部分が上手く聞き取れませんでした」等の応答音声を生成することによって、ユーザに再発声を促すことができる。
この「xx」の部分だけを認識する方法としては、辞書・認識文法記憶部106の辞書データの1つに、あらゆる音節の組み合わせを表現する記述(ガベッジ)を持たせる方法がある。すなわち、認識文法データの組み合わせとしてとして<都道府県名><の><ガベッジ>という組み合わせを用いる。ガベッジの部分は、辞書には登録されていない各施設の名前の代わりとする。
また、日本に存在する施設名を構成する音節の組み合わせには何らかの特徴がある。例えば、「えき」という組み合わせは、「れひゅ」という組み合わせよりも出現頻度が高い。これを利用して、隣接する音節の出現頻度を、施設名の統計から求め、出現頻度の高い音節の組み合わせの類似度が高くなるようにすることで、施設名の代わりとしての精度を高めることができる。
以上説明したように、本発明の実施の形態の音声認識システムは、ユーザによって入力された音声のどの部分が認識でき、どの部分が認識できなかったのかを、ユーザが直感的に理解可能な応答音声を生成し、ユーザに応答することができる。また、正しく音声認識されなかった部分は、ユーザに通知される断片的なユーザ自身の発声を含むので発話の途中で切れているなど、直感的に正常でないと分かる様態で再生されるため、音声認識が正常に行われなかったことが理解可能となる。
Claims (6)
- ユーザが発した音声の入力に基づいて応答を行う音声認識システムであって、
ユーザが発した音声を音声データに変換する音声入力部と、
前記音声データを構成する単語の組み合わせを認識し、単語毎の認識の信頼度を算出する音声認識部と、
応答音声を生成する応答生成部と、
前記応答音声を用いてユーザに情報を伝達する音声出力部と、を備え、
前記応答生成部は、
算出された信頼度が所定条件を満たす単語は、当該単語の合成音声を生成し、
算出された信頼度が所定の条件を満たさない単語は、前記音声データから当該単語に対応する部分を抽出し、
前記合成音声、及び/又は、前記抽出された音声データの組み合わせによって前記応答音声を生成することを特徴とする音声認識システム。 - 前記応答生成部は、さらに、ユーザの発声した音声の確認を促す合成音声を生成し、前記生成された合成音声を前記音声データの組み合わせに付加した前記応答音声を生成することを特徴とする請求項1に記載の音声認識システム。
- 前記応答生成部は、
算出された信頼度が所定の条件を満たさない単語は、前記音声データから当該単語に対応する部分を抽出し、
当該単語の確認を促す合成音声を生成し、
前記抽出された音声データに当該応答音声を付加して、前記応答音声を生成することを特徴とする請求項1に記載の音声認識システム。 - 音声データを認識するための辞書データ及び認識文法データを保存する辞書認識文法保存部を備え、
前記音声認識部は、前記音声データを構成する単語のうち、少なくとも一つを優先的に認識し、
その後、前記辞書認識文法保存部から、当該単語に関する辞書データ及び認識文法データを取得して、
前記取得した辞書データ及び認識文法データを用いて、他の単語を認識することを特徴とする請求項1から3の何れか一つに記載の音声認識システム。 - 音声の入力に基づいた応答音声を生成する音声認識装置であって、
ユーザが発した音声を音声データに変換する音声入力部と、
前記音声データを構成する単語の組み合わせを認識し、単語毎の認識の信頼度を算出する音声認識部と、
応答音声を生成する応答生成部と、を備え、
前記応答生成部は、
算出された信頼度が所定条件を満たす単語は、当該単語の合成音声を生成し、
算出された信頼度が所定の条件を満たさない単語は、前記音声データから当該単語に対応する部分を抽出し、
前記合成音声、及び/又は、前記抽出された音声データの組み合わせによって前記応答音声を生成することを特徴とする音声認識装置。 - ユーザが発した音声を音声データに変換する音声入力部と、前記音声データを構成する単語の組み合わせを認識し、単語毎の認識の信頼度を算出する音声認識部と、応答音声を生成する応答生成部と、前記応答音声を用いてユーザに情報を伝達する音声出力部と、を備え、ユーザが発した音声の入力に基づいて、応答音声を生成する音声生成プログラムであって、
算出された信頼度が所定条件を満たす単語は、当該単語の合成音声を生成する第1のステップと、
算出された信頼度が所定の条件を満たさない単語は、前記音声データから当該単語に対応する部分を抽出する第2のステップと、
前記合成音声、及び/又は、前記抽出された音声データの組み合わせによって前記応答音声を生成する第3のステップと、を含むことを特徴とする音声生成プログラム。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005028723 | 2005-02-04 | ||
| JP2005028723 | 2005-02-04 | ||
| PCT/JP2006/302283 WO2006083020A1 (ja) | 2005-02-04 | 2006-02-03 | 抽出された音声データを用いて応答音声を生成する音声認識システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPWO2006083020A1 true JPWO2006083020A1 (ja) | 2008-06-26 |
Family
ID=36777384
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007501690A Abandoned JPWO2006083020A1 (ja) | 2005-02-04 | 2006-02-03 | 抽出された音声データを用いて応答音声を生成する音声認識システム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20080154591A1 (ja) |
| JP (1) | JPWO2006083020A1 (ja) |
| CN (1) | CN101111885A (ja) |
| DE (1) | DE112006000322T5 (ja) |
| WO (1) | WO2006083020A1 (ja) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE112008001763T5 (de) * | 2007-07-09 | 2010-04-29 | Mitsubishi Electric Corporation | Spracherkennungsvorrichtung und Navigationssystem |
| JP5301037B2 (ja) * | 2010-06-28 | 2013-09-25 | 三菱電機株式会社 | 音声認識装置 |
| US8484025B1 (en) * | 2012-10-04 | 2013-07-09 | Google Inc. | Mapping an audio utterance to an action using a classifier |
| US20140278403A1 (en) * | 2013-03-14 | 2014-09-18 | Toytalk, Inc. | Systems and methods for interactive synthetic character dialogue |
| US9805718B2 (en) * | 2013-04-19 | 2017-10-31 | Sri Internaitonal | Clarifying natural language input using targeted questions |
| US20160210961A1 (en) * | 2014-03-07 | 2016-07-21 | Panasonic Intellectual Property Management Co., Ltd. | Speech interaction device, speech interaction system, and speech interaction method |
| CN106537494B (zh) * | 2014-07-23 | 2018-01-23 | 三菱电机株式会社 | 语音识别装置和语音识别方法 |
| JP6787269B2 (ja) * | 2017-07-21 | 2020-11-18 | トヨタ自動車株式会社 | 音声認識システム及び音声認識方法 |
| JP2019046267A (ja) * | 2017-09-04 | 2019-03-22 | トヨタ自動車株式会社 | 情報提供方法、情報提供システム、および情報提供装置 |
| JP2019057123A (ja) * | 2017-09-21 | 2019-04-11 | 株式会社東芝 | 対話システム、方法、及びプログラム |
| JP7471921B2 (ja) * | 2020-06-02 | 2024-04-22 | 株式会社日立製作所 | 音声対話装置、音声対話方法、および音声対話プログラム |
| US11984113B2 (en) | 2020-10-06 | 2024-05-14 | Direct Cursus Technology L.L.C | Method and server for training a neural network to generate a textual output sequence |
| EP4184350A1 (de) * | 2021-11-19 | 2023-05-24 | Siemens Aktiengesellschaft | Computer-implementiertes verfahren zum erkennen eines eingabemusters in mindestens einer zeitreihe einer mehrzahl von zeitreihen |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS56138799A (en) * | 1980-03-31 | 1981-10-29 | Nippon Electric Co | Voice recognition device |
| JPH02109100A (ja) * | 1988-10-19 | 1990-04-20 | Fujitsu Ltd | 音声入力装置 |
| JP2000029492A (ja) * | 1998-07-09 | 2000-01-28 | Hitachi Ltd | 音声翻訳装置、音声翻訳方法、音声認識装置 |
| JP2003228392A (ja) * | 2002-02-04 | 2003-08-15 | Hitachi Ltd | 音声認識装置及びナビゲーションシステム |
| JP3454897B2 (ja) * | 1994-01-31 | 2003-10-06 | 株式会社日立製作所 | 音声対話システム |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01293490A (ja) * | 1988-05-20 | 1989-11-27 | Fujitsu Ltd | 認識装置 |
| JP2808906B2 (ja) * | 1991-02-07 | 1998-10-08 | 日本電気株式会社 | 音声認識装置 |
| JPH05108871A (ja) * | 1991-10-21 | 1993-04-30 | Nkk Corp | 文字認識装置 |
| JP3129893B2 (ja) * | 1993-10-20 | 2001-01-31 | シャープ株式会社 | 音声入力ワープロ |
| JP3267047B2 (ja) * | 1994-04-25 | 2002-03-18 | 株式会社日立製作所 | 音声による情報処理装置 |
| US5893902A (en) * | 1996-02-15 | 1999-04-13 | Intelidata Technologies Corp. | Voice recognition bill payment system with speaker verification and confirmation |
| JP3782867B2 (ja) * | 1997-06-25 | 2006-06-07 | 株式会社日立製作所 | 情報受信処理方法およびコンピュータ・テレフォニイインテグレーションシステム |
| AU2789499A (en) * | 1998-02-25 | 1999-09-15 | Scansoft, Inc. | Generic run-time engine for interfacing between applications and speech engines |
| US6421672B1 (en) * | 1999-07-27 | 2002-07-16 | Verizon Services Corp. | Apparatus for and method of disambiguation of directory listing searches utilizing multiple selectable secondary search keys |
| JP2001092492A (ja) * | 1999-09-21 | 2001-04-06 | Toshiba Tec Corp | 音声認識装置 |
| JP3700533B2 (ja) * | 2000-04-19 | 2005-09-28 | 株式会社デンソー | 音声認識装置及び処理システム |
| US7143040B2 (en) * | 2000-07-20 | 2006-11-28 | British Telecommunications Public Limited Company | Interactive dialogues |
| GB2372864B (en) * | 2001-02-28 | 2005-09-07 | Vox Generation Ltd | Spoken language interface |
| US6801604B2 (en) * | 2001-06-25 | 2004-10-05 | International Business Machines Corporation | Universal IP-based and scalable architectures across conversational applications using web services for speech and audio processing resources |
| JP2003015688A (ja) * | 2001-07-03 | 2003-01-17 | Matsushita Electric Ind Co Ltd | 音声認識方法および装置 |
| JP4128342B2 (ja) * | 2001-07-19 | 2008-07-30 | 三菱電機株式会社 | 対話処理装置及び対話処理方法並びにプログラム |
| DE10138408A1 (de) * | 2001-08-04 | 2003-02-20 | Philips Corp Intellectual Pty | Verfahren zur Unterstützung des Korrekturlesens eines spracherkannten Textes mit an die Erkennungszuverlässigkeit angepasstem Wiedergabegeschwindigkeitsverlauf |
| US8301436B2 (en) * | 2003-05-29 | 2012-10-30 | Microsoft Corporation | Semantic object synchronous understanding for highly interactive interface |
| JP4867622B2 (ja) * | 2006-11-29 | 2012-02-01 | 日産自動車株式会社 | 音声認識装置、および音声認識方法 |
| JP4867654B2 (ja) * | 2006-12-28 | 2012-02-01 | 日産自動車株式会社 | 音声認識装置、および音声認識方法 |
-
2006
- 2006-02-03 US US11/883,558 patent/US20080154591A1/en not_active Abandoned
- 2006-02-03 JP JP2007501690A patent/JPWO2006083020A1/ja not_active Abandoned
- 2006-02-03 CN CNA2006800036948A patent/CN101111885A/zh active Pending
- 2006-02-03 WO PCT/JP2006/302283 patent/WO2006083020A1/ja not_active Ceased
- 2006-02-03 DE DE112006000322T patent/DE112006000322T5/de not_active Withdrawn
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS56138799A (en) * | 1980-03-31 | 1981-10-29 | Nippon Electric Co | Voice recognition device |
| JPH02109100A (ja) * | 1988-10-19 | 1990-04-20 | Fujitsu Ltd | 音声入力装置 |
| JP3454897B2 (ja) * | 1994-01-31 | 2003-10-06 | 株式会社日立製作所 | 音声対話システム |
| JP2000029492A (ja) * | 1998-07-09 | 2000-01-28 | Hitachi Ltd | 音声翻訳装置、音声翻訳方法、音声認識装置 |
| JP2003228392A (ja) * | 2002-02-04 | 2003-08-15 | Hitachi Ltd | 音声認識装置及びナビゲーションシステム |
Also Published As
| Publication number | Publication date |
|---|---|
| US20080154591A1 (en) | 2008-06-26 |
| WO2006083020A1 (ja) | 2006-08-10 |
| CN101111885A (zh) | 2008-01-23 |
| DE112006000322T5 (de) | 2008-04-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101818980B1 (ko) | 다중 화자 음성 인식 수정 시스템 | |
| US10140973B1 (en) | Text-to-speech processing using previously speech processed data | |
| US9916826B1 (en) | Targeted detection of regions in speech processing data streams | |
| JP4786384B2 (ja) | 音声処理装置、音声処理方法および音声処理プログラム | |
| US20070239455A1 (en) | Method and system for managing pronunciation dictionaries in a speech application | |
| JPH09500223A (ja) | 多言語音声認識システム | |
| WO2016209924A1 (en) | Input speech quality matching | |
| JPH10507536A (ja) | 言語認識 | |
| JP2002520664A (ja) | 言語に依存しない音声認識 | |
| US9911408B2 (en) | Dynamic speech system tuning | |
| JPH11506845A (ja) | 実時間作動での音声対話又は音声命令による1つ又は複数の機器の自動制御方法及びこの方法を実施する装置 | |
| JP2002304190A (ja) | 発音変化形生成方法及び音声認識方法 | |
| WO2007103520A2 (en) | Codebook-less speech conversion method and system | |
| JPWO2006083020A1 (ja) | 抽出された音声データを用いて応答音声を生成する音声認識システム | |
| AU2020103587A4 (en) | A system and a method for cross-linguistic automatic speech recognition | |
| US6546369B1 (en) | Text-based speech synthesis method containing synthetic speech comparisons and updates | |
| JP2016186515A (ja) | 音響特徴量変換装置、音響モデル適応装置、音響特徴量変換方法、およびプログラム | |
| JP2012163692A (ja) | 音声信号処理システム、音声信号処理方法および音声信号処理方法プログラム | |
| JP2004325635A (ja) | 音声処理装置、音声処理方法、音声処理プログラム、および、プログラム記録媒体 | |
| JP2016186516A (ja) | 疑似音声信号生成装置、音響モデル適応装置、疑似音声信号生成方法、およびプログラム | |
| KR101598950B1 (ko) | 발음 평가 장치 및 이를 이용한 발음 평가 방법에 대한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체 | |
| Mishra et al. | An Overview of Hindi Speech Recognition | |
| JP5184467B2 (ja) | 適応化音響モデル生成装置及びプログラム | |
| JP2004251998A (ja) | 対話理解装置 | |
| JP2745562B2 (ja) | ノイズ適応形音声認識装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100215 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101221 |
|
| A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20110215 |