以下、音声認識装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態における音声認識装置は、受け付けた音声に対して音声認識処理を行うだけでなく、発音の良し悪しを判断する発音評定処理をも行い、音声認識結果と発音評定処理の結果である発音評定結果を出力する音声認識装置である。
なお、本音声認識装置が行う各フレームの発音評定処理について、入力音声のフレームに対する最適状態の事後確率を、動的計画法を用いて算出することから、当該事後確率をDAP(Dynamic A Posteriori Probability)と呼び、DAPに基づく類似度計算法および発音評定処理を行う装置をDAPSと呼ぶ。そして、本音声認識装置は、発音区間ごとに評定値を算出するので、本音声認識装置が算出する事後確率を、DAPに対してt−DAPと呼ぶ。
図1は、本実施の形態における音声認識装置のブロック図である。
音声認識装置は、受付部101、音声受付部102、音響データ格納部103、認識候補データ格納部104、音声認識部105、発音評定部106、出力部107を具備する。
発音評定部106は、フレーム区分手段1061、フレーム音声データ取得手段1062、最適状態決定手段1063、発音区間確率値取得手段1064、評定値算出手段1065を具備する。
受付部101は、音声認識装置の処理を開始する指示である開始指示などを受け付ける。開始指示などの入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部101は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
音声受付部102は、音声の入力を受け付ける。音声は、マイク等から入力される。入力される音声は、音声認識の対象の情報である。音声受付部102は、マイクとドライバーソフト等で実現され得る。
音響データ格納部103は、比較される対象の音声に関するデータである音響データを格納している。音響データは、例えば、音韻毎の隠れマルコフモデルを連結した連結HMMに基づくデータであることが好適である。また、音響データは、入力される音声を構成する音素に対応するHMMを、入力順序に従って連結されている連結HMMに基づくデータであることが好適である。ただし、音響データは、必ずしも、音韻毎のHMMを連結した連結HMMに基づくデータである必要はない。音響データは、全音素のHMMの、単なる集合であっても良い。また、音響データは、必ずしもHMMに基づくデータである必要はない。音響データは、単一ガウス分布モデルや、確率モデル(GMM:ガウシャンミクスチャモデル)や、統計モデルなど、他のモデルに基づくデータでも良い。HMMに基づくデータは、例えば、フレーム毎に、状態識別子と遷移確率の情報を有する。また、HMMに基づくデータは、例えば、複数の音声認識対象言語を母国語として話す人が発声した2以上のデータから学習した(推定した)モデルでも良い。音響データ格納部103は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
認識候補データ格納部104は、音声認識の候補を示すデータである認識候補データを1以上格納している。認識候補データは、例えば、単語の音素トランスクリプションである。なお、ここで音素トランスクリプションとは、音素を文字列で表現した情報である。音素トランスクリプションとは、例えば、「inu」「neko」「ume」「hitsuji」などである。認識候補データ格納部104は、単語ではなく、一の音素(例えば、「u」)を文字列で表現した情報を格納していても良い。また、認識候補データは、例えば、音声認識の候補を識別する識別子でも良い。認識候補データが音声認識の候補を識別する識別子である場合、音声認識の候補を示すデータ自身は、例えば、外部の装置や、本音声認識装置の図示しない手段が有する。認識候補データ格納部104は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
音声認識部105は、音響データ、または音響データと認識候補データを用いて、音声受付部102が受け付けた音声に対して音声認識処理を行い、当該音声認識処理の結果である音声認識処理結果情報を取得する。音声認識処理結果情報は、例えば、音声認識処理結果の認識候補データ(例えば、音素トランスクリプション)や、音声認識処理結果の最適状態系列である。音声認識処理結果情報のデータ構造は問わない。音声認識部105は、通常、受付部101が開始指示を受け付けた後、音声認識処理を行う。音声認識部105は、音響データと認識候補データを用いて、特定の単語等を認識処理しても良いし、認識候補データを用いずに、音響データを利用して不特定の単語等を認識処理しても良い。また、音声認識処理のアルゴリズムは問わない。音声認識処理自体は種々の公知技術が存在するので、説明を省略する。音声認識部105は、通常、MPUやメモリ等から実現され得る。音声認識部105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
発音評定部106は、音声受付部102が受け付けた音声に対して、音響データ格納部103の音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する。また、通常、発音評定部106は、音声受付部102が受け付けた音声に対して、音声認識部105が取得した音声認識処理結果情報と音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する。つまり、通常、発音評定部106は、音声認識部105における音声認識の結果得られた音声認識処理結果情報をも用いて、発音評定処理を行う。発音評定処理の詳細については後述するが、種々の発音評定処理アルゴリズムが考えられる。発音評定部106は、通常、MPUやメモリ等から実現され得る。発音評定部106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
発音評定部106を構成するフレーム区分手段1061は、音声受付部102が受け付けた音声をフレームに区分する。フレーム区分手段1061の処理は公知技術による処理である。
フレーム音声データ取得手段1062は、フレーム区分手段1061により区分されたフレーム毎の音声データであるフレーム音声データを1以上得る。
最適状態決定手段1063は、1以上のフレーム音声データのうちの少なくとも一のフレーム音声データに対する最適状態を決定する。最適状態決定手段1063は、例えば、音響データ格納部103中の全音韻HMMから、認識対象の単語などの音声を構成する1以上の音素に対応するHMMを取得し、当該取得した1以上のHMMを、音素の順序で連結したデータ(認識対象の音声に関するデータであり、音韻毎の隠れマルコフモデルを連結した連結HMMに基づくデータ)を構成する。そして、構成した当該データ、および取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。なお、最適状態を決定するアルゴリズムは、例えば、Viterbiアルゴリズムである。
発音区間確率値取得手段1064は、最適状態決定手段1063が決定した最適状態の確率値を、発音区間毎に取得する。ここで、発音区間とは、音韻、音節、単語など、発音の一まとまりを構成する区間である。
評定値算出手段1065は、発音区間確率値取得手段1064が取得した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する。評定値算出手段1065は、例えば、発音区間確率値取得手段1064が取得した各発音区間の1以上の確率値の時間平均値を、発音区間毎に算出し、1以上の時間平均値を得て、当該1以上の時間平均値をパラメータとして音声の評定値を算出する。
フレーム区分手段1061、フレーム音声データ取得手段1062、最適状態決定手段1063、発音区間確率値取得手段1064、および評定値算出手段1065は、通常、MPUやメモリ等から実現され得る。フレーム区分手段1061等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部107は、音声認識結果と発音評定結果を出力する。音声認識結果は、音声認識部105が取得した音声認識処理結果情報についての情報である。音声認識結果は、音声認識処理結果情報と同じ情報でも良いし、音声認識処理結果情報から生成される情報等でも良い。音声認識処理結果情報が音素トランスクリプション(例えば、「neko」)の場合に、音声認識結果は、例えば、文字列(例えば、「ねこ」)である。また、発音評定結果は、発音評定部106が取得した発音の良し悪しを示す情報である発音評定処理結果情報についての情報である。発音評定結果は、発音評定処理結果情報と同じでも良いし、発音評定処理結果情報に対して加工や変換等がされた情報でも良い。発音評定結果は、例えば、発音の良し悪しを示すスコアや、発音の良し悪しを示すレベルの値などである。出力部107は、発音評定結果を出力する場合に、フレーム単位で発音評定結果を出力しても良いし、音素・単語単位で発音評定結果を出力しても良いし、発声全体の発音評定結果を出力しても良い。ここで、出力とは、ディスプレイへの表示、プリンタへの印字、外部の装置への送信、記録媒体への蓄積等を含む概念である。出力部107は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部107は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、音声認識装置の動作について、図2、図3のフローチャートを用いて説明する。
(ステップS201)受付部101は、開始指示を受け付けたか否かを判断する。開始指示を受け付ければステップS202に行き、開始指示を受け付けなければステップS201に戻る。
(ステップS202)音声受付部102は、認識の対象となる音声を受け付けたか否かを判断する。音声を受け付ければステップS203に行き、音声を受け付けなければステップS202に戻る。
(ステップS203)音声認識部105は、ステップS202で受け付けた音声に対して音声認識処理を行う。具体的には、例えば、音声認識部105は、音響データと認識候補データを用いて、ステップS202で受け付けた音声に対して音声認識処理を行い、当該音声認識処理の結果である音声認識処理結果情報を取得する。
(ステップS204)発音評定部106は、音声受付部102が受け付けた音声に対して、音響データ格納部103の音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する。発音評定部106は、通常、ステップS203で得た音声認識処理結果情報から、音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する。発音評定処理の詳細について、図3のフローチャートを用いて説明する。
(ステップS205)出力部107は、ステップS203で取得した、音声認識処理結果情報についての音声認識結果(例えば、音声認識結果の文字列)を出力する。
(ステップS206)出力部107は、ステップS204で取得した発音評定処理結果情報についての発音評定結果を出力する。そして、ステップS202に戻る。
なお、図2のフローチャートにおいて、発音評定処理を最初に行って、その後、音声認識を行っても良い。
また、図2のフローチャートにおいて、ステップS202において音声を受け付ける単位は、単語、文節、文、2以上の文等、問わない。また、音声認識を行う単位、発音評定を行う単位も問わない。図2のフローチャートにおいて、例えば、一単語の音声を受け付け、一単語の音声を認識し、一単語の音声の発音評定を行っている例である。音声を受け付ける単位が文である場合、例えば、ステップS203の音声認識処理、およびステップS204の発音評定処理は、発音区間の数だけ、繰り返し実行される。
さらに、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、図2のステップS204の発音評定処理について図3のフローチャートを用いて説明する。
(ステップS301)フレーム区分手段1061は、音声受付部102が受け付けた音声をフレームに区分する。かかる段階で、区分されたフレーム毎の音声データであるフレーム音声データが構成されている。フレーム区分手段1061が行うフレーム分割の処理は、例えば、フレーム音声データ取得手段1062がフレーム音声データを取り出す際の前処理であり、入力された音声のデータを、すべてのフレームに一度に分割するとは限らない。
(ステップS302)フレーム音声データ取得手段1062は、カウンタiに1を代入する。
(ステップS303)フレーム音声データ取得手段1062は、ステップS301で区分した音声フレーム中、i番目のフレームが存在するか否かを判断する。i番目のフレームが存在すればステップS304に行き、i番目のフレームが存在しなければステップS306に行く。
(ステップS304)フレーム音声データ取得手段1062は、i番目のフレームに対応するフレーム音声データを取得する。フレーム音声データの取得とは、例えば、当該分割された音声データを音声分析し、特徴ベクトルデータを抽出し、メモリ上に配置することである。なお、フレーム音声データは、例えば、入力された音声データをフレーム分割されたデータである。また、フレーム音声データは、例えば、当該分割された音声データから音声分析され、抽出された特徴ベクトルデータを有する。本特徴ベクトルデータは、例えば、三角型フィルタを用いたチャネル数24のフィルタバンク出力を離散コサイン変換したMFCC(Mel Frequency Cepstrum Coefficient)であり、その静的パラメータ、デルタパラメータおよびデルタデルタパラメータをそれぞれ12次元、さらに正規化されたパワーとデルタパワーおよびデルタデルタパワー(39次元)を有する。
(ステップS305)フレーム音声データ取得手段1062は、カウンタiを1、インクリメントする。そして、ステップS303に戻る。
(ステップS306)発音区間確率値取得手段1064は、全フレームの全状態の前向き尤度と後向き尤度を算出する。そして、全フレーム、全状態の確率値を得る。具体的には、発音区間確率値取得手段1064は、例えば、各特徴ベクトルが対象の状態から生成された事後確率を算出する。この事後確率は、HMMの最尤推定におけるBaum−Welchアルゴリズムの中で現れる占有度数に対応する。Baum−Welchアルゴリズムは、公知のアルゴリズムであるので、説明は省略する。
(ステップS307)発音区間確率値取得手段1064は、全フレームの最適状態確率値を算出する。
(ステップS308)発音区間確率値取得手段1064は、音声認識処理結果情報(例えば、音素トランスクリプション)を用いて、発音区間(例えば、単語の区間)に対応する1以上の最適状態の確率値をすべて読み出す。
(ステップS309)評定値算出手段1065は、ステップS308で読み出した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する。評定値算出手段1065は、例えば、ステップS308で取得した1以上の確率値の平均値(時間平均値)を算出する。そして、上位関数にリターンする。評定値の算出処理の詳細については、後述する。
以下、本実施の形態における音声認識装置の具体的な動作について説明する。
まず、本音声認識装置において、図示しない手段により、認識対象の単語(文でも良い)の言語のネイティブ発音の音声データベースからネイティブ発音の音韻HMMを学習しておく。ここで、音韻の種類数をLとし、l番目の音韻に対するHMMをλlとする。なお、かかる学習の処理については、公知技術であるので、詳細な説明は省略する。なお、HMMの仕様について、図4に示す。なお、HMMの仕様は、他の実施の形態における具体例の説明においても同様である。ただし、HMMの仕様が、他の仕様でも良いことは言うまでもない。
そして、学習したL種類の音韻HMMから、音声認識対象の単語や文章などの音声を構成する1以上の音素に対応するHMMを取得し、当該取得した1以上のHMMを、音素の順序で連結した音響データを構成する。そして、当該音響データを音響データ格納部103に保持しておく。
次に、第一のユーザ(ここでは、例えば、アメリカ人)が、音声認識の開始指示を入力する。かかる指示は、例えば、マウスで所定のボタンを押下することによりなされる。
次に、ユーザは、例えば、音声「right」を発音する。そして、音声受付部102は、ユーザが発音した音声の入力を受け付ける。
次に、音声認識部105は、音声認識処理を行い、認識結果の音素トランスクリプション「right」を得る、とする。なお、ここでは、音声認識処理結果情報は、音素トランスクリプションである。
次に、発音評定部106は、以下のように発音評定を行う。
つまり、フレーム区分手段1061は、音声受付部102が受け付けた音声を、短時間フレームに区分する。なお、フレームの間隔は、予め決められている、とする。
そして、フレーム音声データ取得手段1062は、フレーム区分手段1061が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。なお、Tは、系列長である。ここで、特徴ベクトル系列は、各フレームの特徴ベクトルの集合である。また、特徴ベクトルは、例えば、三角型フィルタを用いたチャネル数24のフィルタバンク出力を離散コサイン変換したMFCCであり、その静的パラメータ、デルタパラメータおよびデルタデルタパラメータをそれぞれ12次元、さらに正規化されたパワーとデルタパワーおよびデルタデルタパワー(39次元)を有する。また、スペクトル分析において、ケプストラム平均除去を施すことは好適である。なお、音声分析条件を図5の表に示す。なお、音声分析条件は、他の実施の形態における具体例の説明においても同様である。ただし、音声分析条件が、他の条件でも良いことは言うまでもない。
次に、最適状態決定手段1063は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。最適状態決定手段1063が最適状態を決定するアルゴリズムは、例えば、Viterbiアルゴリズムによる。かかる場合、最適状態決定手段1063は、上記で連結したHMMを用いて最適状態を決定する。最適状態決定手段1063は、2以上のフレームの最適状態である最適状態系列を求めることとなる。
次に、発音区間確率値取得手段1064は、まず、以下の数式1により、最適状態(qt *)における最適状態確率値(γt(qt *))を算出する。なお、γt(qt *)は、状態jの事後確率関数γt(j)のjにqt *を代入した値である。そして、状態jの事後確率関数γt(j)は、数式2を用いて算出される。この確率値(γt(j))は、t番目の特徴ベクトルotが状態jから生成された事後確率であり、動的計画法を用いて算出される。なお、jは、状態を識別する状態識別子である。
数式1において、qtは、otに対する状態識別子を表す。この確率値(γt(j))は、HMMの最尤推定におけるBaum−Welchアルゴリズムの中で表れる占有度数に対応する。
数式2において、「αt(j)」「βt(j)」は、全部のHMMを用いて、forward−backwardアルゴリズムにより算出される。「αt(j)」は前向き尤度、「βt(j)」は後向き尤度である。Baum−Welchアルゴリズム、forward−backwardアルゴリズムは、公知のアルゴリズムであるので、詳細な説明は省略する。
また、数式2において、Nは、全HMMに渡る状態の総数を示す。
そして、発音区間確率値取得手段1064は、発音区間に対応する1以上の最適状態の確率値をすべて取得する。そして、評定値算出手段1065は、取得した1以上の確率値の平均値(時間平均値)を算出する。具体的には、評定値算出手段1065は、数式3により評定値を算出する。
なお、発音評定部106は、まず最適状態を求め、次に、最適状態の確率値(なお、確率値は、0以上、1以下である。)を求めても良いし、発音評定部106は、まず、全状態の確率値を求め、その後、特徴ベクトル系列の各特徴ベクトルに対する最適状態を求め、当該最適状態に対応する確率値を求めても良い。
また、もしユーザのtフレーム目に対応する発声が、音響データが示す発音(例えば、正しいネイティブの発音)に近ければ、数式2の(2)式の分子の値が、他の全ての可能な音韻の全ての状態と比較して大きくなり、結果的に最適状態の確率値(評定値)が大きくなる。逆にその区間が、音響データが示す発音に近くなければ、評定値は小さくなる。なお、どのネイティブ発音にも近くないような場合は、DAP評定値(DAPスコアとも言う)はほぼ1/Nに等しくなる。Nは全ての音韻HMMにおける全ての状態の数であるから、通常、大きな値となり、DAPスコアは十分小さくなる。また、ここでは、DAPスコアは最適状態における確率値と全ての可能な状態における確率値との比率で定義されている。したがって、話者性や収音環境の違いにより多少のスペクトルの変動があったとしても、ユーザが正しい発音をしていれば、その変動が相殺され評定値が高いスコアを維持する。
かかる評定値算出手段1065が、中間に算出するDAPスコア(フレームごとのスコア)を、図6に示す。図6において、横軸は分析フレーム番号、縦軸はスコアを%で表わしたものである。太い破線は音素境界,細い点線は状態境界(いずれもViterbiアルゴリズムで求まったもの)を表わしており、図の上部に音素名を表記している。図6は、アメリカ人男性による英語「right」の発音のDAPスコアを示す図である。なお、評定値を示すグラフの横軸、縦軸は、後述するグラフにおいても同様である。
そして、評定値算出手段1065は、例えば、発音区間における発音評定処理結果情報(t−DAPスコアとも言う)を「68」と、算出した、とする(図7のアメリカ人男性の右側の得点を参照)。
次に、出力部107は、音声認識部105が取得した音声認識処理結果情報「right」を出力する。かかる出力は、例えば、ディスプレイへの表示である。また、出力部107は、発音評定結果を出力する。音声認識結果と発音評定結果の出力例を図8に示す。ユーザは、かかる出力例において、発音評定結果を見て、音声認識結果の確からしさを判断し得る。
また、出力部107の出力例は、図8のような出力例に限らず、図9や図10に示すような出力例でも良い。図9において、出力部107は、各フレームにおける発音の良さを表すスコア(スコアグラフ)として、各フレームの発音評定値を出力している。また、図10において、音素ごとのスコア、単語のスコア、総合スコアが、数字で表示されている。また、図9、図10において、音声認識結果と発音評定結果を対応付けて出力されている。ここで、発音区間確率値取得手段1064は、最適状態決定手段1063が決定した最適状態の確率値を、発音区間毎に取得したが、フレームごとの最適状態の確率値(評定値の一例)をも記録しておき、出力部107はかかるフレームごとの最適状態の確率値を各フレームのスコアとして出力しても良い。その他、出力部107は、図9や図10に示すように、音素要素の表示(音素表示)、教師データの波形の表示(教師波形)、ユーザの入力した発音の波形の表示(ユーザ波形)を表示しても良い。なお、かかる場合、本音声認識装置は、音素(図9の「p1」など)や、教師波形を出力するためのデータを予め格納している、とする。
次に、第二のユーザ(例えば、日本人男性)が音声認識の開始指示を入力する。そして、ユーザは、音声「right」を発音する。そして、音声受付部102は、ユーザが発音した音声の入力を受け付ける。
そして、本音声認識装置は、上記と同様に音声認識処理を行い、認識結果の音素トランスクリプション「light」を得る、とする。
次に、発音評定部106は、上記と同様に発音評定処理を行う。そして、図11に示すようなDAPスコアを得る。
次に、評定値算出手段1065は、例えば、発音区間における発音評定処理結果情報(t−DAPスコアとも言う)を「29」と、算出した、とする(図7の日本人男性の右側の得点を参照)。
次に、出力部107は、例えば、図12に示すような音声認識結果と発音評定結果を出力する。また、出力部107の出力として、上述した図9、図10に示すようなものでも良いことは言うまでもない。
以上、本実施の形態によれば、音声認識処理だけではなく、発音評定処理をも行って、音声認識結果と発音評定結果の両方を出力できる。したがって、ユーザは、音声認識結果に対する確からしさを予測し、音声認識結果を適切に利用できる。さらに、ユーザが本音声認識装置を使用する過程で、良い評定結果が得られるように努めることにより、正しい音声認識結果が得られるようにユーザを訓練できる。
また、本実施の形態によれば、音声認識処理の結果を利用して発音評定を行うことにより、発音評定処理が高速化できる。
さらに、本実施の形態によれば、連結されたHMMである連結HMMを用いて最適状態を求め、評定値を算出するので、高速に評定値を求めることができる。したがって、リアルタイムに、発音区間ごとの評定値を出力できる。また、本実施の形態によれば、動的計画法に基づいた事後確率を確率値として算出するので、さらに高速に評定値を求めることができる。また、発音評定値を、発音区間の単位で算出でき、本来、測定したい類似度(発音区間の類似度)を精度良く、安定して求めることができる。
なお、本実施の形態によれば、音声認識部105が行う音声認識のアルゴリズムは問わない。音声認識において、認識候補データ格納部104における音素トランスクリプションを用いても用いなくても良い。かかることも、他の実施の形態においても同様である。
また、本実施の形態によれば、発音評定を行う評定値算出手段は、1以上の最適状態における最適状態確率値の時間平均値を算出した。しかし、評定値算出手段は、1以上の最適状態における最適状態確率値をパラメータとする関数であり、発音の良し悪しを示す解答が得られる関数であれば、どのような関数でスコアを算出しても良い。例えば、評定値算出手段は、1以上の最適状態における最適状態確率値のうち、中央値と中央値の前後10の値を取得し、当該11の値の平均値を、スコアとしても良い。
また、本実施の形態において、音声認識部105と発音評定部106の処理において、共通する処理は、一の構成要素により行っても良い。例えば、音声認識部105が、音声受付部102の受け付けた音声に対して、フレームに区分し、フレーム音声データ(特徴ベクトルなど)を取得する処理を行う場合、かかる処理は、発音評定部106のフレーム区分手段1061およびフレーム音声データ取得手段1062の処理である。かかる場合、音声認識部105は、フレーム区分手段1061およびフレーム音声データ取得手段1062が行った処理結果を利用しても良い。つまり、かかる場合、発音評定装置は、図20に示す構成となる。かかることも、他の実施の形態においても同様である。
また、本実施の形態において、音声認識処理結果情報が音声認識結果の最適状態系列である場合、発音評定部106は、以下のような処理で、発音評定を行う。つまり、発音評定部106は、音声受付部102が受け付けた音声に対して、音声認識部105から渡された最適状態系列と音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する。さらに具体的には、発音評定部106のフレーム区分手段1061は、音声受付部102が受け付けた音声をフレームに区分し、フレーム音声データ取得手段1062は、フレーム区分手段1061により区分されたフレーム毎の音声データであるフレーム音声データを1以上得る。次に、発音区間確率値取得手段1064は、全フレームの全状態の前向き尤度と後向き尤度を算出する。そして、全フレーム、全状態の確率値を得る。次に、発音区間確率値取得手段1064は、全フレームの最適状態確率値を算出する。そして、発音区間確率値取得手段1064は、最適状態系列が有する発音区間分の1以上の最適状態の確率値をすべて読み出す。次に、評定値算出手段1065は、読み出した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する。なお、発音区間確率値取得手段1064は、最適状態系列が有する発音区間分の1以上の最適状態の確率値のみを算出しても良い。
また、本実施の形態において、音声認識部105と発音評定部106は、一の音響データを利用したが、音声認識部105と発音評定部106が利用する音響データは、異なる音響データでも良い。かかることも、他の実施の形態においても同様である。
また、本実施の形態において、発音評定結果を出力する単位(音素、単語、文、2以上の文)、音声認識結果を出力する単位は問わない。かかることは、他の実施の形態においても同様である。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における音声認識装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声の入力を受け付ける音声受付ステップと、格納されている音響データを用いて、前記音声受付ステップで受け付けた音声に対して音声認識処理を行い、当該音声認識処理の結果である音声認識処理結果情報を取得する音声認識ステップと、前記音声受付ステップで受け付けた音声に対して、前記音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する発音評定ステップと、前記音声認識ステップで取得した音声認識処理結果情報についての音声認識結果と、前記発音評定ステップで取得した発音評定処理結果情報についての発音評定結果を出力する出力ステップを実行させるためのプログラム、である。
また、発音評定ステップにおいて、前記音声受付ステップで受け付けた音声に対して、前記音声認識ステップで取得した音声認識処理結果情報と前記音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得することは好適である。
また、発音評定ステップは、前記音声受付ステップで受け付けた音声を、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、前記1以上のフレーム音声データの最適状態を決定する最適状態決定ステップと、前記最適状態決定ステップで決定した最適状態の確率値を、発音区間毎に取得する発音区間確率値取得ステップと、前記発音区間確率値取得ステップで取得した1以上の発音区間毎の1以上の確率値をパラメータとして、音声の評定値を算出する評定値算出ステップを具備することは好適である。
さらに、出力ステップにおいて、前記音声認識ステップで取得した音声認識処理結果情報についての音声認識結果と、前記発音評定ステップで取得した発音評定処理結果情報についての発音評定結果であり、フレーム単位、または/および音素・単語単位、または/および発声全体の発音評定結果を視覚的に表示することは好適である。
(実施の形態2)
本実施の形態における音声認識装置は、実施の形態1の音声認識装置と比較して、発音評定部における発音評定アルゴリズムが異なる。本実施の形態において、評定値は、最適状態を含む音韻の中の全状態の確率値を発音区間で評価して、算出される。本実施の形態における発音評定装置が算出する事後確率を、実施の形態1で述べたt−DAPに対してt-p−DAPと呼ぶ。
図13は、本実施の形態における音声認識装置のブロック図である。
図13の音声認識装置は、図1の音声認識装置と比較して、発音評定部1306のみが異なる。
発音評定部1306は、フレーム区分手段1061、フレーム音声データ取得手段1062、最適状態決定手段1063、発音区間フレーム音韻確率値取得手段13061、評定値算出手段13062を具備する。
発音評定部1306を構成する発音区間フレーム音韻確率値取得手段13061は、最適状態決定手段1063が決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値を、発音区間毎に取得する。
評定値算出手段13062は、発音区間フレーム音韻確率値取得手段13061が取得した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する。評定値算出手段13062は、例えば、最適状態決定手段1063が決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値の総和を、フレーム毎に得て、当該フレーム毎の確率値の総和に基づいて、発音区間毎の確率値の総和の時間平均値を1以上得て、当該1以上の時間平均値をパラメータとして音声の評定値を算出する。つまり、例えば、まず、評定値算出手段13062は、最適状態決定手段1063が決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値の総和を、フレーム毎に算出する。次に、評定値算出手段13062は、発音区間毎の確率値の総和の時間平均値を算出し、当該時間平均値をスコアとする。
発音区間フレーム音韻確率値取得手段13061、および評定値算出手段13062は、通常、MPUやメモリ等から実現され得る。発音区間フレーム音韻確率値取得手段13061等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本音声認識装置の動作について説明する。本音声認識装置は、実施の形態1の音声認識装置と比較して、ステップS204の発音評定処理のみが異なる。本音声認識装置の発音評定処理について、図14のフローチャートを用いて説明する。図14のフローチャートにおいて、図3と異なるステップについてのみ説明する。
(ステップS1401)発音区間フレーム音韻確率値取得手段13061は、jに1を代入する。
(ステップS1402)発音区間フレーム音韻確率値取得手段13061は、j番目のフレームが、本発音区間(例えば、単語)に存在するか否かを判断する。j番目のフレームが存在すればステップS1403に行き、j番目のフレームが存在しなければステップS1406に飛ぶ。
(ステップS1403)発音区間フレーム音韻確率値取得手段13061は、j番目のフレームの最適状態を含む音韻の全ての確率値を取得する。
(ステップS1404)評定値算出手段13062は、ステップS1403で取得した1以上の確率値をパラメータとして、1フレームの音声の評定値を算出し、メモリに一時格納する。
(ステップS1405)発音区間フレーム音韻確率値取得手段13061は、jを1、インクメントする。そして、ステップS1402に戻る。
(ステップS1406)評定値算出手段13062は、本発音区間の評定値を算出する。評定値算出手段13062は、例えば、最適状態決定手段1063が決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値の総和を、フレーム毎に得て、当該フレーム毎の確率値の総和に基づいて、発音区間の確率値の総和の時間平均値を、当該発音区間の音声の評定値として算出する。そして、上位関数にリターンする。
以下、本実施の形態における音声認識装置の具体的な動作について説明する。本実施の形態において、評定値の算出アルゴリズムが実施の形態1とは異なるので、その動作を中心に説明する。
まず、ユーザが、開始指示を入力した後、音声認識対象の音声(ここでは、「right」)を発音する。そして、音声受付部102は、ユーザが発音した音声の入力を受け付ける。
次に、音声受付部102が受け付けた音声に対して、音声認識部105が音声認識処理を行い、音声認識処理結果情報「right」を得る。
次に、フレーム区分手段1061は、音声受付部102が受け付けた音声を、短時間フレームに区分する。
そして、フレーム音声データ取得手段1062は、フレーム区分手段1061が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。
次に、発音区間フレーム音韻確率値取得手段13061は、各フレームの各状態の事後確率(確率値)を算出する。確率値の算出は、上述した数式1、数式2により算出できる。
次に、最適状態決定手段1063は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、各フレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。つまり、最適状態決定手段1063は、最適状態系列を得る。なお、各フレームの各状態の事後確率(確率値)の算出と、最適状態の決定の順序は問わない。
次に、発音区間フレーム音韻確率値取得手段13061は、発音区間ごとに、当該発音区間に含まれる各フレームの最適状態を含む音韻の全ての確率値を取得する。
そして、評定値算出手段13062は、各フレームの最適状態を含む音韻の全ての確率値の総和を、フレーム毎に算出する。まず、評定値算出手段13062は、フレームの最適状態を含む音韻の全ての確率値の総和(これを「p−DAP」と言う。)を、以下の数式4により算出する。
そして、評定値算出手段13062は、フレーム毎に算出された確率値の総和「p−DAP」を、発音区間毎に時間平均し、発音区間毎の評定値を算出する。具体的には、評定値算出手段13062は、数式5により評定値を算出する。
かかる評定値算出手段13062が算出した評定値(「t−p−DAPスコア」とも言う。)を、図15の表に示す。図15において、アメリカ人男性と日本人男性の評定結果を示す。PhonemeおよびWordは,t−p−DAPにおける時間平均の範囲を示す。ここでは、実施の形態1におけるDAPの代わりに、p−DAPの時間平均(t−p−DAP)を採用したものである。図15において、アメリカ人男性の発音の評定値が日本人男性の発音の評定値より高く、良好な発音評定処理結果情報が得られている。
次に、出力部107は、音声認識部105が取得した音声認識処理結果情報「right」を出力する。
そして、出力部107は、発音評定結果も出力する。かかる出力例は、図8である。なお、ここでの発音評定結果のスコアと、図8における発音評定結果のスコアは異なる。
以上、本実施の形態によれば、音声認識処理だけではなく、発音評定処理をも行って、音声認識結果と発音評定結果の両方を出力できる。したがって、ユーザは、音声認識結果に対する確からしさを予測し、音声認識結果を適切に利用できる。さらに、ユーザが本音声認識装置を使用する過程で、良い評定結果が得られるように努めることにより、正しい音声認識結果が得られるようにユーザを訓練できる。
また、本実施の形態によれば、音声認識処理の結果を利用して発音評定を行うことにより、発音評定処理が高速化できる。
さらに、本実施の形態によれば、連結されたHMMである連結HMMを用いて最適状態を求め、評定値を算出するので、高速に評定値を求めることができる。したがって、リアルタイムに、発音区間ごとの評定値を出力できる。また、本実施の形態によれば、動的計画法に基づいた事後確率を確率値として算出するので、さらに高速に評定値を求めることができる。また、発音評定値を、発音区間の単位で算出でき、本来、測定したい類似度(発音区間の類似度)を精度良く、安定して求めることができる。
なお、本実施の形態によれば、発音評定を行う評定値算出手段は、各フレームの最適状態を有する音韻全体の状態における1以上の確率値の総和の時間平均値を算出した。しかし、評定値算出手段は、各フレームの最適状態を有する音韻全体の状態における1以上の確率値の総和をパラメータとする関数であり、発音の良し悪しを示す解答が得られる関数であれば、どのような関数でスコアを算出しても良い。例えば、評定値算出手段は、音韻全体の状態における1以上の確率値の総和のうち、中央値と中央値の前後30の値を取得し、当該31の値の平均値を、スコアとしても良い。
また、本実施の形態において、音声認識処理結果情報が音声認識結果の最適状態系列である場合、発音評定部1406は、以下のような処理で、発音評定を行う。つまり、発音評定部1406は、音声受付部102が受け付けた音声に対して、音声認識部105から渡された最適状態系列と音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する。さらに具体的には、発音評定部1406のフレーム区分手段1061は、音声受付部102が受け付けた音声をフレームに区分し、フレーム音声データ取得手段1062は、フレーム区分手段1061により区分されたフレーム毎の音声データであるフレーム音声データを1以上得る。次に、発音区間フレーム音韻確率値取得手段14061は、全フレームの全状態の前向き尤度と後向き尤度を算出する。そして、全フレーム、全状態の確率値を得る。次に、発音区間フレーム音韻確率値取得手段14061は、全フレームの最適状態確率値を算出する。そして、発音区間フレーム音韻確率値取得手段14061は、最適状態系列が有する発音区間分の1以上の最適状態を含む音韻の全ての確率値を読み出す。次に、評定値算出手段14062は、読み出した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する。なお、例えば、評定値算出手段14062は、最適状態を有する音韻全体の状態における1以上の確率値の総和を、フレーム毎に得て、当該フレーム毎の確率値の総和に基づいて、発音区間の確率値の総和の時間平均値を、当該発音区間の音声の評定値として算出する。なお、発音区間フレーム音韻確率値取得手段14061は、最適状態系列が有する発音区間分の1以上の最適状態を含む音韻の全ての確率値のみを算出するようにしても良い。
さらに、本実施の形態における音声認識装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声の入力を受け付ける音声受付ステップと、格納されている音響データを用いて、前記音声受付ステップで受け付けた音声に対して音声認識処理を行い、当該音声認識処理の結果である音声認識処理結果情報を取得する音声認識ステップと、前記音声受付ステップで受け付けた音声に対して、前記音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する発音評定ステップと、前記音声認識ステップで取得した音声認識処理結果情報についての音声認識結果と、前記発音評定ステップで取得した発音評定処理結果情報についての発音評定結果を出力する出力ステップを実行させるためのプログラム、である。
また、発音評定ステップにおいて、前記音声受付ステップで受け付けた音声に対して、前記音声認識ステップで取得した音声認識処理結果情報と前記音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得することは好適である。
また、発音評定ステップは、前記音声受付ステップで受け付けた音声を、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、前記1以上のフレーム音声データの最適状態を決定する最適状態決定ステップと、前記最適状態決定ステップで決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値を、発音区間毎に取得する発音区間フレーム音韻確率値取得ステップと、前記発音区間フレーム音韻確率値取得ステップで取得した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する評定値算出ステップを具備することは好適である。
さらに、出力ステップにおいて、前記音声認識ステップで取得した音声認識処理結果情報についての音声認識結果と、前記発音評定ステップで取得した発音評定処理結果情報についての発音評定結果であり、フレーム単位、または/および音素・単語単位、または/および発声全体の発音評定結果を視覚的に表示することは好適である。
(実施の形態3)
本実施の形態における音声認識装置は、実施の形態1、2の音声認識装置と比較して、発音評定部における発音評定アルゴリズムが異なる。本実施の形態において、本音声認識装置は、無音区間を検知し、無音区間を考慮した発音評定が可能な装置である。さらに具体的には、通常、本音声認識装置は、無音区間のフレームは考慮せずに、発音評定を行う。
図16は、本実施の形態における音声認識装置のブロック図である。
図16の音声認識装置は、図1の音声認識装置と比較して、発音評定部1606のみが異なる。
発音評定部1606は、フレーム区分手段1061、フレーム音声データ取得手段1062、最適状態決定手段1063、発音区間確率値取得手段1064、無音データ格納手段16061、無音区間検出手段16062、評定値算出手段16063を具備する。
発音評定部1606は、音声受付部102が受け付けた音声に対して、音響データ格納部103の音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する。また、通常、発音評定部1606は、音声受付部102が受け付けた音声に対して、音声認識部105が取得した音声認識処理結果情報と音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する。
発音評定部1606は、通常、MPUやメモリ等から実現され得る。発音評定部1606の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
発音評定部1606を構成する無音データ格納手段16061は、無音を示すである無音データを格納している。無音データは、例えば、音韻毎の隠れマルコフモデルを連結した連結HMMに基づくデータであることが好適である。また、無音データは、必ずしもHMMに基づくデータである必要はない。無音データは、単一ガウス分布モデルや、確率モデル(GMM:ガウシャンミクスチャモデル)や、統計モデルなど、他のモデルに基づくデータでも良い。無音データ格納手段16061は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
無音区間検出手段16062は、音声受付部102が受け付けた音声、および無音データ格納手段16061の無音データに基づいて、無音の区間を検出する。さらに具体的には、無音区間検出手段16062は、フレーム音声データ取得手段1062が取得したフレーム音声データ、および無音データ格納手段16061の無音データに基づいて、無音の区間を検出する。無音区間検出手段16062は、フレーム音声データ取得手段1062が取得したフレーム音声データと無音データの類似度が所定の値以上である場合に、当該フレーム音声データは無音区間のデータであると判断しても良い。また、無音区間検出手段16062は、下記で述べる発音区間確率値取得手段1064が取得する各フレームの確率値が所定の値以下であり、かつ、フレーム音声データ取得手段1062が取得したフレーム音声データと無音データの類似度が所定の値以上である場合に、当該フレーム音声データは無音区間のデータであると判断しても良い。
評定値算出手段16063は、無音区間検出手段16062が検出した無音区間を除いて、かつ発音区間確率値取得手段1064が取得した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する。なお、評定値算出手段16063は、上記確率値を如何に利用して、評定値を算出するかは問わない。ここでは、例えば、評定値算出手段16063は、t−DAPにより評定値を算出する、とする。また、評定値算出手段16063は、かならずしも無音区間を除いて、評定値を算出する必要はない。評定値算出手段16063は、無音区間の影響を少なくするように評定値を算出しても良い。
無音区間検出手段16062、および評定値算出手段16063は、通常、MPUやメモリ等から実現され得る。無音区間検出手段16062等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、本音声認識装置の動作について説明する。本音声認識装置は、実施の形態1の音声認識装置と比較して、ステップS204の発音評定処理のみが異なる。本音声認識装置の発音評定処理について、図17のフローチャートを用いて説明する。図17のフローチャートにおいて、図3と異なるステップについてのみ説明する。
(ステップS1701)発音区間確率値取得手段1064は、カウンタiに1を代入する。
(ステップS1702)発音区間確率値取得手段1064は、i番目のフレーム音声データが存在するか否かを判断する。i番目のフレーム音声データが存在すればステップS1703に行き、i番目のフレーム音声データが存在しなければステップS1709に行く。なお、i番目のフレーム音声データは、ステップS304で取得されたフレーム音声データの中のi番目のデータである。
(ステップS1703)無音区間検出手段16062は、i番目のフレーム音声データの最適状態の確率値を取得する。
(ステップS1704)無音区間検出手段16062は、ステップS1703で取得された確率値が、閾値より低い(または閾値以下)であるか否かを判断する。閾値より低い(または閾値以下)であればステップS1705に行き、閾値より低い(または閾値以下)でなければステップS1707に行く。なお、閾値は、予め格納されている、とする。
(ステップS1705)無音区間検出手段16062は、評定値算出手段16061の無音データ、音響データ格納部103の全音響データを取得する。
(ステップS1706)無音区間検出手段16062は、i番目のフレーム音声データが無音データの確率値が最も高いか否かを判断する。無音データの確率値が最も高ければステップS1708に行き、無音データの確率値が最も高くなければステップS1707に行く。
(ステップS1707)発音区間確率値取得手段1064は、ステップS1703で取得した確率値を一時格納する。
(ステップS1708)発音区間確率値取得手段1064は、カウンタiを1、インクリメントし、ステップS1702に行く。
(ステップS1709)評定値算出手段16063は、ステップS1707で一時格納された1以上の確率値をパラメータとして音声の評定値を算出し、上位関数にリターンする。
なお、図17のフローチャートにおいて、評定値算出手段16063は、上記のように、無音区間の評定値を無視して、スコアを算出することが好適であるが、無音区間の評定値の影響を、例えば、1/10にして、スコアを算出しても良い。
以下、本実施の形態における音声認識装置の具体的な動作について説明する。本実施の形態において、無音区間を考慮して評定値を算出するので、評定値の算出アルゴリズムが実施の形態1等とは異なる。そこで、その異なる処理を中心に説明する。
まず、ユーザが、開始指示を入力する。次に、ユーザは、例えば、認識対象の音声(ここでは、「・・・right・・・」)を発音する。そして、音声受付部102は、ユーザが発音した音声の入力を受け付ける。
次に、音声受付部102が受け付けた音声に対して、音声認識部105が音声認識処理を行い、音声認識処理結果情報「・・・right・・・」を得る。その際、音声は、無音の区間を有する、とする。
次に、フレーム区分手段1061は、音声受付部102が受け付けた音声を、短時間フレームに区分する。
そして、フレーム音声データ取得手段1062は、フレーム区分手段1061が区分した音声データを、スペクトル分析し、特徴ベクトル系列「O=o1,o2,・・・,oT」を算出する。
次に、最適状態決定手段1063は、取得した特徴ベクトル系列を構成する各特徴ベクトルotに基づいて、所定のフレームの最適状態(特徴ベクトルotに対する最適状態)を決定する。
次に、発音区間確率値取得手段1064は、全フレームの全状態の前向き尤度と後向き尤度を算出する。そして、次に、発音区間確率値取得手段1064は、数式1により、最適状態における最適状態確率値(γt(qt *))を、全フレームについて、フレーム毎に算出する。
さらに、無音区間検出手段16062は、フレーム音声データごとに、最適状態の確率値を取得し、取得した確率値が所定の値より低いか否かを判断する。
そして、無音区間検出手段16062は、取得した確率値が所定の値より低いと判断した場合、当該フレーム音声データと無音データとの類似度を示す事後確率の値(DAPスコア)が、当該フレーム音声データと他のデータとの類似度を示す事後確率の値のいずれよりも高いか否かを判断する。そして、フレーム音声データと無音データとの類似度を示す事後確率の値が最も高い場合、当該フレームは無音区間のフレームであるとして、発音評定部1606は無視する。そして、評定値算出手段16063は、無音データの区間を除いて、t−DAPスコアを算出する。ここで、評定値算出手段16063は、「75」とt−DAPスコアを算出した、とする。
次に、出力部107は、音声認識部105が取得した音声認識処理結果情報(「・・・right・・・」)と、t−DAPスコア「75」を出力する。
かかる出力処理は、実施の形態1における処理と同様であり、種々の出力態様が考えられる。
以上、本実施の形態によれば、音声認識処理だけではなく、発音評定処理をも行って、音声認識結果と発音評定結果の両方を出力できる。したがって、ユーザは、音声認識結果の確からしさを知ることができる。また、本実施の形態によれば、無音区間を除いて発音評定を行うので、精度の高い発音評定結果を得ることができる。
なお、本実施の形態によれば、評定値算出手段における発音評定のアルゴリズムは問わない。発音評定のアルゴリズムは、t−DAP、t−p−DAP、その他のアルゴリズムでも良い。
さらに、本実施の形態における音声認識装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声の入力を受け付ける音声受付ステップと、格納されている音響データを用いて、前記音声受付ステップで受け付けた音声に対して音声認識処理を行い、当該音声認識処理の結果である音声認識処理結果情報を取得する音声認識ステップと、前記音声受付ステップで受け付けた音声に対して、前記音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する発音評定ステップと、前記音声認識ステップで取得した音声認識処理結果情報についての音声認識結果と、前記発音評定ステップで取得した発音評定処理結果情報についての発音評定結果を出力する出力ステップを実行させるためのプログラム、である。
また、発音評定ステップにおいて、前記音声受付ステップで受け付けた音声に対して、前記音声認識ステップで取得した音声認識処理結果情報と前記音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得することは好適である。
また、発音評定ステップは、前記音声受付ステップで受け付けた音声を、フレームに区分するフレーム区分ステップと、前記区分されたフレーム毎の音声データであるフレーム音声データを1以上得るフレーム音声データ取得ステップと、前記音声受付ステップで受け付けた音声および格納している無音データに基づいて、無音の区間を検出する無音区間検出ステップと、前記無音の区間についてのフレーム音声データを除いた前記1以上のフレーム音声データの最適状態を決定する最適状態決定ステップと、前記最適状態決定ステップで決定した各フレームの最適状態を有する音韻全体の状態における1以上の確率値を、発音区間毎に取得する発音区間フレーム音韻確率値取得ステップと、前記発音区間フレーム音韻確率値取得ステップで取得した1以上の発音区間毎の1以上の確率値をパラメータとして音声の評定値を算出する評定値算出ステップを具備することは好適である。
さらに、出力ステップにおいて、前記音声認識ステップで取得した音声認識処理結果情報についての音声認識結果と、前記発音評定ステップで取得した発音評定処理結果情報についての発音評定結果であり、フレーム単位、または/および音素・単語単位、または/および発声全体の発音評定結果を視覚的に表示することは好適である。
(実施の形態4)
本実施の形態における音声認識装置は、実施の形態1の音声認識装置と比較して、発音評定部と音声認識部の処理順序が異なる。本音声認識装置において、発音評定部の処理を行ってから、音声認識部の処理を行う。なお、本音声認識装置において、音声認識部の処理を行ってから、発音評定部の処理を行っても良い。
図21は、本実施の形態における音声認識装置のブロック図である。
音声認識装置は、受付部101、音声受付部102、音響データ格納部103、認識候補データ格納部104、音声認識部105、発音評定部2106、選択部2101、出力部107を具備する。
発音評定部2106は、フレーム区分手段1061、フレーム音声データ取得手段1062、最適状態決定手段1063、制御手段21061、発音区間確率値取得手段1064、評定値算出手段1065を具備する。
発音評定部2106は、認識候補データ格納部104の2以上の認識候補データのそれぞれ、または/および認識候補データの任意の組み合わせに対して、発音評定を行い、発音評定処理結果情報を取得する。また、通常、発音評定部2106は、音声受付部102が受け付けた音声に対して、音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する。つまり、発音評定部2106は、音声認識部105における音声認識の結果得られた音声認識処理結果情報を用いずに、発音評定処理を行う。発音評定処理アルゴリズムは、上述したt−DAP、t−p−DAP等の他、種々のアルゴリズムが考えられる。発音評定部2106は、通常、MPUやメモリ等から実現され得る。発音評定部2106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
制御手段21061は、認識候補データ格納部104に格納されている2以上の認識候補データを読み出し、発音区間確率値取得手段1064、および評定値算出手段1065に2以上の認識候補データを与え、各認識候補データに対する発音評定処理を行うように指示をする。その結果、発音区間確率値取得手段1064、評定値算出手段1065は、与えられた認識候補データの数分だけ、処理を繰り返す。制御手段21061は、通常、MPUやメモリ等から実現され得る。制御手段21061の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
選択部2101は、発音評定部2106が評定した2以上の認識候補データまたは/および認識候補データの任意の組み合わせのうち、音声認識部105が取得した音声認識処理結果情報に合致する認識候補データまたは組み合わせから発音評定処理結果情報を選択する。選択部2101は、通常、MPUやメモリ等から実現され得る。選択部2101の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
なお、出力部107は、選択部2101が選択した発音評定処理結果情報についての発音評定結果を出力する。また、出力部107は、音声認識結果を出力しても良い。
次に、本音声認識装置の動作について、図22のフローチャートを用いて説明する。図22のフローチャートにおいて、図2と異なるステップについてのみ説明する。
(ステップS2201)発音評定部2106は、認識候補データ格納部104からすべての認識候補データを読み出す。
(ステップS2202)発音評定部2106は、カウンタiに1を代入する。
(ステップS2203)発音評定部2106は、i番目の認識候補データが存在するか否かを判断する。i番目の認識候補データが存在すればステップS2204に行き、i番目の認識候補データが存在しなければステップS2207に行く。
(ステップS2204)発音評定部2106は、音声受付部102が受け付けた音声に対して、i番目の認識候補データと音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する。発音評定処理について上記の実施の形態(図3等)で述べたので、ここでの説明は省略する。なお、発音評定処理は、音声受付部102が受け付けた音声とi番目の認識候補データとの類似度の評定であるとも言える。また、発音評定処理について、フレーム区分、およびフレーム音声データ取得の処理は、繰り返し行わないことが好適である。
(ステップS2205)発音評定部2106は、ステップS2204で得たi番目の認識候補データに対する発音評定処理結果情報を一時格納する。発音評定部2106は、通常、発音評定処理結果情報とi番目の認識候補データを対にして、一時格納する。
(ステップS2206)発音評定部2106は、カウンタiを1、インクリメントし、ステップS2203に戻る。
(ステップS2207)音声認識部105は、ステップS202で受け付けた音声に対して音声認識処理を行う。具体的には、例えば、音声認識部105は、音響データと認識候補データを用いて、ステップS202で受け付けた音声に対して音声認識処理を行い、当該音声認識処理の結果である音声認識処理結果情報を取得する。
(ステップS2208)選択部2101は、音声認識処理結果情報に対応する認識候補データと対になった発音評定処理結果情報を選択し、取得する。
(ステップS2209)出力部107は、ステップS2208で取得した発音評定処理結果情報についての発音評定結果、および音声認識処理結果情報についての音声認識結果を出力する。そして、ステップS202に戻る。
なお、図22のフローチャートにおいて、音声認識を最初に行って、その後、発音評定処理を行っても良い。
また、図22のフローチャートにおいて、ステップS202において音声を受け付ける単位は、単語、文節、文、2以上の文等、問わない。また、音声認識を行う単位、発音評定を行う単位も問わない。
さらに、図22のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における音声認識装置の具体的な動作について説明する。
今、認識候補データ格納部104には、認識候補となる「inu」「neko」「usagi」などの単語を示す音素トランスクリプションが多数格納されている、とする。
そして、ユーザ(例えば、アメリカ人)は、かかる多数の候補から自由に単語を選択し、例えば、「neko」を発声した、とする。
そして、発音評定部2106は、認識候補データ格納部104からすべての認識候補データを読み出す。
次に、発音評定部2106は、1つ目の認識候補データから順に、認識候補データに対応する音響データとユーザが発声した発声との類似度である評定結果を算出する。
そして、すべての認識候補データに対する発音評定処理結果情報(図23では発音評定結果の属性値)を、図23の発音評定結果管理表に示すように得た、とする。
次に、音声認識部105は、受け付けた音声に対して音声認識処理を行い、音声認識処理結果情報「neko」を得た、とする。
次に、選択部2101は、音声認識処理結果情報「neko」に対応する認識候補データと対になった発音評定処理結果情報「72」を、図23の発音評定結果管理表から選択する。そして、出力部107は、取得した発音評定処理結果情報についての発音評定結果「72」(ここでは、発音評定処理結果情報と発音評定結果は同じ)と、音声認識結果「neko」を出力する。
以上、本実施の形態によれば、音声認識処理だけではなく、発音評定処理をも行って、音声認識結果と発音評定結果の両方を出力できる。したがって、ユーザは、音声認識結果に対する確からしさを予測し、音声認識結果を適切に利用できる。さらに、ユーザが本音声認識装置を使用する過程で、良い評定結果が得られるように努めることにより、正しい音声認識結果が得られるようにユーザを訓練できる。
なお、本実施の形態における音声認識装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、音声の入力を受け付ける音声受付ステップと、格納されている音響データを用いて、前記音声受付ステップで受け付けた音声に対して音声認識処理を行い、当該音声認識処理の結果である音声認識処理結果情報を取得する音声認識ステップと、前記音声受付ステップで受け付けた音声に対して、前記音響データを用いて発音評定処理を行い、発音評定処理結果情報を取得する発音評定ステップと、前記音声認識ステップで取得した音声認識処理結果情報についての音声認識結果と、前記発音評定ステップで取得した発音評定処理結果情報についての発音評定結果を出力する出力ステップを実行させるためのプログラム、である。
また、上記プログラムにおける発音評定ステップは、格納されている2以上の認識候補データを読み出し、当該2以上の各認識候補データに対する、前記音声受付ステップで受け付けた音声の類似度である発音評定処理結果情報を繰り返し取得し、コンピュータに、前記音声認識ステップにおける音声認識結果である音声認識処理結果情報に対応する認識候補データに対する発音評定処理結果情報を選択する選択ステップをさらに実行させ、前記出力ステップは、前記音声認識ステップで取得した音声認識処理結果情報についての音声認識結果と、前記選択ステップで選択された発音評定処理結果情報についての発音評定結果を出力するプログラム、であることは好適である。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、図18は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の音声認識装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図18は、このコンピュータシステム340の概観図であり、図19は、コンピュータシステム340のブロック図である。
図18において、コンピュータシステム340は、FD(Flexible Disk)ドライブ、CD−ROM(Compact Disk Read Only Memory)ドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344と、マイク345とを含む。
図19において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、CPU(Central Processing Unit)3413と、CPU3413、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM(Read−Only Memory)3415と、CPU3413に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM(Random Access Memory)3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム340に、上述した実施の形態の音声認識装置の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ341に、上述した実施の形態の音声認識装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。