音声認識方法とその装置とプログラム
【課題】音声認識結果の認識信頼度の精度を向上させる。
【解決手段】この発明の音声認識方法は、音声認識過程と、音声文書認識信頼度計算過程と、を含む。音声認識過程は、入力される音声文書を音声認識処理した単語毎に単語認識信頼度を付与した音声認識結果を出力する。音声文書認識信頼度計算過程は、単語認識信頼度から求めた音響信頼度と、音声認識結果を構成する単語間の関連度を示す関連度テーブルを参照して単語毎に当該単語とその他の単語との関連性を表す関連度から求めた文脈信頼度を求め、音響信頼度と文脈信頼度を統合した音声文書認識信頼度を音声文書毎に求める。
【解決手段】この発明の音声認識方法は、音声認識過程と、音声文書認識信頼度計算過程と、を含む。音声認識過程は、入力される音声文書を音声認識処理した単語毎に単語認識信頼度を付与した音声認識結果を出力する。音声文書認識信頼度計算過程は、単語認識信頼度から求めた音響信頼度と、音声認識結果を構成する単語間の関連度を示す関連度テーブルを参照して単語毎に当該単語とその他の単語との関連性を表す関連度から求めた文脈信頼度を求め、音響信頼度と文脈信頼度を統合した音声文書認識信頼度を音声文書毎に求める。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、音声認識結果の確からしさ表す認識信頼度の計算方法を改善した音声認識方法と、その装置とプログラムに関する。
【背景技術】
【0002】
音声認識結果の確からしさを表す認識信頼度を算出するための従来技術として、例えば特許文献1に、音声認識処理の探索結果の上位N位までのNベスト候補のスコア1位の単語w1の認識信頼度を、単語w1のスコアとスコア2位以下でw1と異なる単語w2とのスコア差を単語w1の継続時間長で正規化した値とする考えが示されている。
【0003】
また、認識信頼度を算出するための別の方法として、音声認識結果中の各単語間の関連の強さを計測して周囲の単語と関連の強い単語に、高い認識信頼度を付与し、関連の弱い単語に低い認識信頼度を付与する方法がある(非特許文献1)。この方法は、単語w及び単語wの直前k個の単語と直後の1単語とのn個の単語集合N(w)を音声認識結果から取得する。そして、その単語集合N(w)に含まれる全ての2単語の組み合わせ(wi,wj)に対して、事前に学習コーパス上で算出した相互情報量MI(wi,wj)を用いて単語間の関連の強さS(wi,wj)を計算する。また、単語集合N(w)中の全ての単語tについての関連の強さS(t,wi)の平均値を文脈一貫性尺度SC(t)として計算する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−148342号公報
【非特許文献】
【0005】
【非特許文献1】D. Inkpen, A. Desilets, “Semantic Similarity for Detecting Recognition Errors in Automatic Speech Transcripts,” Proceedings of HLT/EMNLP, pp.49-56, October 2005.
【発明の概要】
【発明が解決しようとする課題】
【0006】
例えば、周囲の雑音が大きな環境で収録された音声文書を音声認識した各単語に付与される従来の認識信頼度は、認識の確からしさを正しく表さない傾向がある。特にスコア差に基づく認識信頼度はその傾向が強い。周囲雑音環境が大きく変動する音声文書や、話者の話し方の差異が大きな音声文書を音声認識する場合、音声文書全体の認識信頼度が低くなり各単語に適切な認識信頼度を付与できない課題がある。
【0007】
この発明は、このような課題に鑑みてなされたものであり、音声認識結果全体の認識精度の低い音声文書であっても、誤り単語を正確に識別することが可能な認識信頼度を付与できる音声認識方法とその装置と、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
この発明の音声認識方法は、音声認識過程と、音声文書認識信頼度計算過程と、を含む。音声認識過程は、入力される音声文書を音声認識処理した単語毎に単語認識信頼度を付与した音声認識結果を出力する。音声文書認識信頼度計算過程は、単語を所定数まとめて単語集合とし、単語集合の音響信頼度と、単語間の関連度を示す関連度テーブルを参照して単語集合毎に単語間の関連性に基づく文脈信頼度とを求め、音響信頼度と記文脈信頼度とを統合した音声文書認識信頼度を音声文書毎に計算する。
【発明の効果】
【0009】
この発明の音声認識方法は、従来から認識信頼度として使われている音響信頼度に、文脈信頼度を加えた新しい音声文書認識信頼度を提供する。更に、単語集合毎に求めた音響信頼度と文脈信頼度を音声文書単位で音声文書認識信頼度に統合するので、音声文書単位で音声認識の品質を把握することができる。その音声文書認識信頼度と単語毎の単語認識信頼度によって、誤り単語を正確に識別することを可能にする。
【図面の簡単な説明】
【0010】
【図1】この発明の音声認識装置100の機能構成例を示す図。
【図2】音声認識装置100の動作フローを示す図。
【図3】Nベスト候補と単語認識信頼度について説明する図。
【図4】音声文書認識信頼度計算部20の機能構成例を示す図。
【図5】音声文書認識信頼度計算部20の動作フローを示す図。
【図6】単語集合音響信頼度計算部22の機能構成例を示す図。
【図7】単語集合音響信頼度計算部22の動作フローを示す図。
【図8】音声認識部10が出力する単語wk、単語認識信頼度D(wk)の例を示す図。
【図9】単語関連度テーブル作成装置150の機能構成例を示す図。
【図10】単語集合を概念的に示す図。
【図11】単語関連度テーブルの一例を示す図。
【図12】この発明の音声認識装置200の機能構成例を示す図。
【図13】この発明の音声認識装置300の機能構成例を示す図。
【図14】音声文書認識信頼度高速計算部90の機能構成例を示す図。
【図15】音声文書認識信頼度高速計算部90の動作フローを示す図。
【図16】単語集合と直前重複フラグと直後重複フラグの例を示す図。
【図17】単語集合取得ステップの動作フローの例を示す図。
【図18】単語集合音響信頼度高速計算ステップの動作フローの例を示す図。
【発明を実施するための形態】
【0011】
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。
【実施例1】
【0012】
図1にこの発明の音声認識装置100の機能構成例を示す。その動作フローを図2に示す。音声認識装置100は、音声認識部10と、音声文書認識信頼度計算部20と、制御部50と、を具備する。音声認識装置100の各部の機能は、例えばROM、RAM、CPU等で構成されるコンピュータに所定のプログラムが読み込まれて、CPUがそのプログラムを実行することで実現されるものである。
【0013】
音声認識部10は、入力される音声文書を音声認識処理した単語毎に単語認識信頼度を付与した音声認識結果を出力する(ステップS10)。音声認識部10は、図示しない内部の音響分析部によって、音声文書を、数十msecのフレームと呼ばれる単位でLPCケプストラム、MFCC、その他の音響特徴パラメータ系列に分析する。そして、辞書と言語モデルを用いて入力音声に対する認識結果候補の探索を、音響特徴パラメータ系列について行う。探索の結果、上位N位までのNベスト候補が、単語認識信頼度と共に音声認識結果として出力される。なお、音声文書とは、例えば、コールセンターにおける顧客とオペレータとの間で交わされる会話の集合のことであり、一要件についてまとめられた音声データである。また、例えば一つの講義が1個の音声ファイルにまとめられた様なものである。
【0014】
ここで、図3を参照してNベスト候補と単語認識信頼度について説明する。なお、Nベスト候補と単語認識信頼度については従来技術である。単語認識信頼度については、例えば特許文献1に記載されている。
【0015】
図3の横軸は、経過時間でありフレームで表す。縦軸は、フレーム単位で探索された単語列候補を、スコアの高い順番に並べたNベスト候補である。スコアとは探索時の尤度のことである。
【0016】
単語認識信頼度は、フレームt*において単語w**(*は任意の整数)と異なる単語がNベスト候補中に存在する場合、単語w**のフレームt*におけるスコアと対立候補単語のフレームt*における次の順位のスコアとの間のスコア差によって与えられる。図3に示す例では、フレームt1〜t4の音響特徴パラメータ系列で探索された第1位候補の単語w11(11は第1候補の1番目の単語であることを表す)の単語認識信頼度は、対向する単語が第3位候補の単語w31と第2位候補の単語w21であるので、それぞれのスコア差(●)の合計をフレーム数で除した値が単語認識信頼度となる。対立候補が存在しない単語w13については、予め決められた固定値(○)が用いられて単語認識信頼度となる。この単語認識信頼度が候補毎に累積されて単語列の認識信頼度となる。
【0017】
音声文書認識信頼度計算部20は、音声認識部10が出力する単語を所定数まとめて単語集合とし、その単語集合の音響信頼度と単語間の関連度を示す関連度テーブルを参照して単語集合毎に単語間の関連性に基づく文脈信頼度とを求め、音響信頼度と文脈信頼度とを統合した音声文書認識信頼度を音声文書毎に計算する(ステップS20)。
【0018】
このように、音声認識装置100は音声認識結果を出力すると共に音響信頼度に文脈信頼度を加えた音声文書認識信頼度を音声文書毎に出力する。この文脈信頼度は、文脈的に正しい単語出現パターンに基づく信頼度であり、これを加えた音声文書認識信頼度は従来の音響信頼度のみを用いた信頼度よりも高い精度とすることができる。
【0019】
図4に音声文書認識信頼度計算部20の機能構成例を示す。その動作フローを図5に示す。音声文書認識信頼度計算部20は、認識結果単語集合取得手段21と、単語集合音響信頼度計算手段22と、単語集合文脈信頼度計算手段23と、信頼度統合手段24と、を具備する。
【0020】
認識結果単語集合取得手段21は、音声認識結果の単語wkと単語認識信頼度C(wk)を、その先頭から所定の数n個ずつnより小さい数のm個移動させながらh個の単語集合に分割する(ステップS21)。つまり、音声文書の音声認識結果の先頭からn単語を取得し、得られた単語集合をN1とする。そして、音声認識結果の先頭からm単語目からn単語を取得し、得られた単語集合をN2とする。次に、音声認識結果の先頭から2m単語目からn単語を取得し、得られた単語集合をN3とする。以上の処理を音声文書の末尾に到達するまで繰り返し、h個の単語集合Nk(Nk:N1〜Nh)を取得する。kは着目している単語集合及び単語を識別する変数である。
【0021】
単語集合音響信頼度計算手段22は、各単語集合に含まれる全ての単語の単語認識信頼度D(w)と単語時間長wdkを取得して単語集合Nk毎に音響信頼度CA(Nk)を計算する(ステップS22)。
【0022】
単語集合文脈信頼度計算手段23は、各単語集合に含まれる全ての2単語の組み合わせ(wi,wj)に対して単語の関連の強さS(wi,wj)を単語関連度テーブル30を参照して求め、その平均値を各単語集合の文脈信頼度CL(Nk)として計算する(ステップS23)。
【0023】
信頼度統合手段24は、それぞれh個の音響信頼度CA(Nk)と文脈信頼度CL(Nk)の平均値を音声文書認識信頼度docCとして計算して出力する(ステップS24)。このように、音響信頼度CA(Nk)と文脈信頼度CL(Nk)を用いて音声文書の認識信頼度を算出することで、従来よりも精度の高い音声文書認識信頼度とすることができる。
【0024】
図6に単語集合音響信頼度計算部22の機能構成例を示して更に詳しく説明する。その動作フローを図7に示す。単語集合音響信頼度計算部22は、単語時間長取得手段21と、正規化解除手段22と、音響信頼度算出手段23と、を備える。
【0025】
単語時間長取得手段21は、音声認識部20が出力する単語の単語時間長を求める(ステップS21)。単語時間長取得手段21は、最初に音声文書の信頼度合計値D(W)と音声文書の総時間長WDを0に初期化する(ステップS50)。ステップS50〜S52は、図1に示した制御部50が処理する。
【0026】
図8に、音声認識部20が出力する単語wk、単語認識信頼度D(wk)の例を示す。ここでは、音声ファイルが1個のNベスト候補から成る例で説明する。つまり添え字は一桁で説明する。例えば、単語w1は名詞「本日」であり、単語認識信頼度D(wk)は9891であり、その始端時刻(wdksFn)と終端時刻(wdkeFn)は0.00−0.98[秒]である。単語認識信頼度D(wk)の値は、マイナスの値もあり得る。図6の例では、「おいたわしい」がそれに該当する。第1位候補の単語のスコアが、下位の候補の単語のスコアよりも小さい場合に単語認識信頼度D(wk)はマイナスとなる。この場合、第1位候補のその単語の信頼度は相当低いことを意味する。この単語認識信頼度D(wk)の値は、音声認識結果の音響的な信頼度を表すものである。
【0027】
単語時間長取得手段21は、単語w1の終端時刻から始端時刻を引いたその単語時間長wd1を、0.98[秒]若しくは、フレーム時間を例えば10msecとした場合、98フレームとして取得する(ステップS21)。
【0028】
正規化解除手段22は、単語認識信頼度D(w1)=9891に単語時間長wd1を乗じた単語信頼度wcを計算する(ステップS22)。正規化解除手段22は、フレーム数で正規化されていた単語認識信頼度の正規化を解除する働きをする。
【0029】
音響信頼度算出手段23は、正規化を解除した単語信頼度累積値wckをその単語の継続時間長wdkで除した音響信頼度CA(Nk)を算出する(ステップS23)。音響信頼度算出手段23は、単語集合のフレーム当たりの認識信頼度を求めることになる。この音響信頼度CA(Nk)は、単語集合の音響的な品質を表す指標となる。
【0030】
〔単語関連度テーブル作成装置〕
次に、単語集合文脈信頼度計算部23の動作を説明するに当たって、単語関連度テーブル30を作成する単語関連度テーブル作成装置150について説明する。
【0031】
図9に単語関連度テーブル作成装置150の機能構成例を示す。単語関連度テーブル作成装置150は、学習コーパス81と、形態素解析部82と、学習コーパス単語集合取得部83と、単語リスト84と、単語カウント部85と、単語関連度計算部86と、テーブル配列部87と、を具備する。
【0032】
学習コーパス81は音声文書を大規模に集積したものである。形態素解析部82は、学習コーパス81から音声文書を読み出して単語に分割する周知の形態素解析処理を行い、各単語の前後に単語境界を表す記号、例えば「\n」を付与した単語境界付き学習コーパスを出力する。形態素解析処理は周知であり、例えば参考文献「特許第3379643号」に記載されている。
【0033】
学習コーパス単語集合取得部83は、形態素解析部82が出力する単語境界付き学習コーパスの先頭から末尾まで、窓幅n単語、窓シフト量m単語で窓かけを行い、各窓に含まれる単語リスト84に記載された単語をまとめて単語集合とし、窓ごとの単語集合を出力する。単語リスト84は、音声認識結果に出現し得る全ての単語が記載されたものであり、事前に作成しておく。図10に、単語集合を概念的に示す。横方向は時間経過であり、単語集合をN1〜Nhで示す。mは窓シフト量であり、nは窓幅である。隣り合う単語集合は、n-m個の単語を共有する関係にある。
【0034】
単語カウント部85は、学習コーパス単語集合取得部83が出力する単語集合を入力として、単語集合内の各単語の単独生起回数C(w)、各単語ペアの生起回数C(wi,wj)、単語集合の総数をカウントして出力する。単語wの生起回数C(w)とは、単語wを含む単語集合の個数である。単語ペア(wi,wj)の生起回数C(wi,wj)とは、wiとwjを共に含む単語集合の個数である。
【0035】
単語関連度計算部86は、各単語ペア(wi,wj)の関連度S(wi,wj)を例えば式(1)で計算する。
【0036】
【数1】
【0037】
Nは単語集合の総数、C(w)は単語wの単独生起回数、C(wi,wj)は単語wiとwjの共起回数である。関連度S(wi,wj)の値が大きいと、それらの単語同士の関連性が高いことを意味する。関連度S(wi,wj)には、式(1)の他に、例えばJaccard係数(式(2))を用いても良い。
【0038】
【数2】
【0039】
これ以外に、Dice計数やSimpson計数を用いることもできる。
【0040】
テーブル配列部87は、単語wiとwjから計算した関連度S(wi,wj)を参照できるテーブルの形式に配列する。図11に単語関連度テーブル30の一例を示す。最上列と最左列は単語w1〜wNであり、各行と各列の交差する欄にそれぞれの単語の関連度S(wi,wj)が配列される。
【0041】
単語集合文脈信頼度計算部23は、単語関連度テーブル30を参照して各単語集合に含まれる全ての2単語の組み合わせ(wi,wj)の関連の強さS(wi,wj)を求め、その平均値を単語集合の文脈信頼度CL(Nk)として計算する。
【0042】
信頼度統合手段74は、それぞれh個の音響信頼度CA(Nk)と文脈信頼度CL(Nk)の平均値を音声文書認識信頼度として計算して出力する。なお、信頼度統合手段74は、単語集合毎に音響信頼度CA(Nk)と文脈信頼度CL(Nk)を重み付け加算して認識信頼度を求め(式(3))、その認識信頼度を音声文書全体で平均(式(4))した値を音声文書認識信頼度として計算しても良い。αは重みである。
【0043】
【数3】
【実施例2】
【0044】
図12にこの発明の音声認識装置200の機能構成例を示す。上記した音声認識装置100に、音声文書除去部40と、単語除去部60の機能構成を追加したものである。音声認識装置200は、音声認識信頼度計算部20が出力する音声文書認識信頼度docCの値に応じて、音声文書を除去した後の残った音声文書に対して単語認識信頼度の低い単語を除去するようにしたものである。
【0045】
音声文書除去部40は、音声文書の音響的な信頼度を表す音声文書認識信頼度docCと、事前に決められた音声文書認識信頼度閾値θdとを比較して音声文書認識信頼度docCがθd以上の場合、音声文書をそのまま単語除去部60に出力する。音声文書認識信頼度docCがθd未満の場合は、その音声文書を単語除去部60に出力しない。
【0046】
音声文書認識信頼度閾値θdは実数値であり、大きな値(例えば30000程度)に設定すると出力される音声文書の音声認識精度は高くなる。小さな値(例えば-30000程度)に設定すると出力される音声文書の音声認識精度は低くなるが、出力される音声文書の数は増加する。
【0047】
単語除去部60は、音声文書除去部40が出力した音声文書を構成する単語とその単語に付与された単語認識信頼度D(wn)を入力として、単語認識信頼度D(wn)の値が所定の単語認識信頼度閾値θw未満であれば当該単語を、除去されたことを表す所定の記号、例えば“<rejected>”に置換して音声文書を出力する。
【0048】
以上の処理によって最終的に出力される音声認識結果は、音声認識精度の比較的高い音声文書から更に単語認識信頼度が低い単語が除去されたものになり、音声認識結果に含まれる誤認識単語を削減することができる。
【実施例3】
【0049】
図13に、音声文書認識信頼度docCを計算する処理を省力化したこの発明の音声認識装置300の機能構成例を示す。音声認識装置300は、音声文書認識信頼度高速計算部90を備える点で、音声認識装置200と異なる。音声文書認識信頼度高速計算部90は、単語集合Nk間で重複する信頼度加算処理を省くことで、音響信頼度の計算を高速に計算するようにしたものである。
【0050】
図14に音声文書認識信頼度高速計算部90の機能構成例を示す。その動作フローを図15に示す。音声文書認識信頼度高速計算部90は、単語集合取得手段91と単語集合音響信頼度高速計算手段92を備える点で、音声認識装置100の音声文書認識信頼度計算部20と異なる。
【0051】
単語集合取得手段91は、音響信頼度の計算量を減らす目的で使用する直前重複フラグと直後重複フラグの2つのフラグを各単語に付与して単語集合を取得する。直前重複フラグとは、当該単語が直前の単語集合にも含まれるか否かを示す真偽値である。直後重複フラグとは、当該単語が直後の単語集合にも含まれるか否かを示す真偽値である。
【0052】
単語集合取得手段91は、音声認識部10から入力される音声認識結果の単語wkを、その先頭から所定の数n個ずつnより小さい数のm個移動させながらh個の単語集合に分割する(ステップS91)。単語集合に分割する際、単語集合取得手段91は、1番目の単語集合に追加する1番目からm番目の単語の直前重複フラグBFと直後重複フラグAFを偽、m+1番目からn番目の単語の直前重複フラグBFを偽及び直後重複フラグAFを真とし、N番目の単語集合に追加する1番目から(N-1)・m番目の単語の直前重複フラグを真及び直後重複フラグを偽、(N-1)・m+1番目からn+(N-1)・m番目の単語の直前重複フラグを偽及び直後重複フラグを真とする。
【0053】
単語集合音響信頼度高速計算手段92は、重複区間記憶部920を備え、直後重複フラグBFが真の単語の単語認識信頼度にその単語の継続時間長を乗算して時間正規化を解除した値とその継続時間長を、重複区間記憶部920に記憶する。そして、直前重複フラグBFが偽で直後重複フラグAFが真の単語の単語認識信頼度にその単語の継続時間長を乗算して時間正規化を解除した値とその継続時間長と、重複区間記憶部920に記憶された値とから単語集合の音響信頼度を計算する(ステップS92)。
【0054】
図16に、単語集合N1〜Nhと、各単語集合に付与された直前重複フラグBFと直後重複フラグAFの例を示す。図16の横方向は経過時間である。横方向に重なり合う単語集合を縦方向にずらして表記している。
【0055】
単語集合N1の先頭からm個の単語は、前後の単語集合内の単語と重ならないので直前重複フラグBFと直後重複フラグAFは(BF:0,AF:0)である。単語集合N1の先頭からm+1番目からn番目の単語は、直後の単語集合(N2)の単語と重複するので直前重複フラグBFと直後重複フラグAFは(BF:0,AF:1)である。以降、BF:とAF:の表記を省略する場合もある。
【0056】
2番目の単語集合N2の1番目からm番目の単語は直前の単語集合(N1)の単語とだけ重複するので(1,0)、m+1番目からn番目の単語は直前と直後の両方の単語集合の単語と重複するので(1,1)、n+1番目からn+m番目の単語は直後の単語集合の単語のみと重複するので(0,1)である。3番目以降の単語集合も2番目の単語集合と同じ関係である。
【0057】
図16の例では、mをm<n/2としたので(1,1)の状態が存在するが、m=n/2とすると直前重複フラグBFと直後重複フラグAFは、N1が((0,0),(0,1))、N2以降が((1,0),(0,1))となる。つまり、単語集合取得手段91は1番目から(N-1)・m番目の単語の直前重複フラグBFを真及び直後重複フラグAFを偽、(N-1)・m+1番目からn+(N-1)・m番目の単語の直前重複フラグBFを偽及び直後重複フラグAFを真とする。
【0058】
図17に、図16に示した単語集合を取得する単語集合取得手段91の動作フローを示す。図17は窓シフト量mをm<n/2とした例である。
【0059】
音声文書認識信頼度計算部90が処理を開始すると、単語集合取得手段91は単語集合を特定する変数Nkと単語wnを特定する変数wk、及びカウント値iをそれぞれNk=N1,wk=w1,i=1に初期化する(ステップS91a)。そして、音声認識結果の先頭からm番目までの単語w1〜wmまでの単語wkの直前重複フラグBFを0(偽)、直後重複フラグAFを0(偽)に設定する(ステップS91b〜S91d)。更に、単語wm+1〜wnまでの単語wkの直前重複フラグBFを0(偽)、直後重複フラグAFを1(真)に設定(ステップS91e〜S91g)して単語w1〜wnまでを1番目の単語集合N1として取得する。
【0060】
次に、単語集合NkをNk=Nk+1(ステップS91h)として2番目の単語集合N2を取得する。ここで、着目する単語を表す変数wkを、先頭の単語w1からmi個移動させたwk=wmiとする(ステップS91i)。ここではi=1なのでwk=wmである。
【0061】
そこで、単語wm+m、つまり、先頭の単語から2m個の単語までの直前重複フラグBFを1(真)、直後重複フラグAFを0(偽)に設定する(ステップS91j〜S91m)。そして、先頭の単語から2m+1個からn+m(i-1)個までの単語の直前重複フラグBFを1(真)、直後重複フラグAFを1(真)に設定する(ステップS91n〜S91p)。更に、先頭の単語からn+m(i-1)+1個目からn+mi個までの単語の直前重複フラグBFを0(偽)、直後重複フラグAFを1(真)に設定する(ステップS91q〜S91s)。このような処理によって、単語wm〜wn+mは、その単語の直前重複フラグBFと直後重複フラグAFが図16に示すように設定され、単語集合N2として取得される。
【0062】
そして、先頭からn+mi+1個目の単語が存在すれば、カウント値iをインクリメント(ステップS91u)、単語集合を現す変数NkもNk=Nk+1とインクリメント(ステップS91v)され、ステップS91iの処理に戻る。
【0063】
以上の処理(ステップS91i〜S91v)は、音声認識結果の最後の単語になるまで繰り返される(ステップS91tのno)。その結果、音声認識結果の単語は、その先頭から所定の数n個ずつnより小さい数のm個移動させながらh個の単語集合に分割される。そして、各単語集合には、図16に示すように直前重複フラグBFと直後重複フラグAFとが付与される。
【0064】
単語集合音響信頼度高速計算手段92は、重複区間記憶部920を備え、直後重複フラグAFが真の単語の単語信頼度を2度計算しないようにしたものである。図18に示す単語集合音響信頼度高速計算手段92の動作フローを参照して説明する。
【0065】
単語集合音響信頼度高速計算手段92は、最初に単語集合を特定する変数Nkと単語wnを特定する変数wkを、それぞれNk=N1,wk=w1に初期化する(ステップS92a)。そして、単語集合音響信頼度高速計算手段92は、単語(N1,w1)〜(N1,wn)の単語認識信頼度にその単語の継続時間長を乗算して時間正規化を解除した単語信頼度を計算(ステップS92b)し、その単語信頼度wcnを累積する(ステップS92c)。と共に、単語の継続時間長wdnも累積する(ステップS92d)。この処理は、単語集合N1の最後の単語wnになるまで繰り返される(ステップS92i)。
【0066】
そして、単語集合N1の先頭からm個目の単語wmから最後の単語wnまでの単語の直後重複フラグAFが1(真)となるので、その単語wm〜wnまでの単語信頼度wcnはBackDupDMに保存される(ステップS92f)。また、単語wm〜wnの継続時間長wdnはBackDupWDに保存される(ステップS92g)。BackDupDMとBackDupWDは、例えばキュー(queue)と呼ばれるデータ構造で単語信頼度wckと継続時間長wdkを保存するものとする。
【0067】
最後の単語wnまでの単語信頼度の計算が終わる(ステップS92iのyes)と、単語集合N1の音響信頼度を、単語信頼度wckの累積値S(wck)を継続時間長の累積値S(wdk)で除して計算する(ステップS92i)。
【0068】
2番目の単語集合N2の先頭からn-m番目、つまり先頭の単語からn個目の単語wm〜wnは、直前の単語集合N1と重複しているので既に計算済みである。よって、BackDupDMに保存されている計算済みの単語信頼度をPreDMにコピーする(ステップS92m)と共にBackDupWDに保存されている継続時間長をPreWDにコピーする(ステップS92n)。そして、単語集合N1で単語信頼度を計算していない直後重複フラグBFが0(偽)の単語wn+1〜wn+miの正規化を解除して単語信頼度と継続時間長の累積を計算する(ステップS92pとS92q)。なお、正規化解除のステップは作図の都合により表記を省略している。
【0069】
新たに計算される直後重複フラグBFが0(偽)の単語wn+1〜wn+miの単語信頼度wckと継続時間長wdkは、BackDupDMとBackDupWDに保存される(ステップS92r)。BackDupDMとBackDupWDは、古い順番にデータが消去される構造なので最新の単語w2m〜wn+mの単語信頼度wckと継続時間長wdkが保存される。音声認識結果の先頭の単語からn個目以降の単語(wn+1〜)では、直前重複フラグBF=0の単語についてのみ正規化を解除する計算と継続時間長の累積計算を行い、新たに計算した値をキュー(BackDupDM,BackDupWD)に保存する(図16参照)。
【0070】
単語集合N2の最後の単語wn+miまで処理が終了する(ステップS92tのyes)と、単語集合N2の音響信頼度をBackDupDMに保存されている単語信頼度の和に新たに計算した単語信頼度を加えた累積値を、BackDupWDに保存されている継続時間長の和に新たに計算した継続時間長を加えた値で除して、単語集合N2の音響信頼度を計算する(ステップS92u)。
【0071】
そして、カウント値iがインクリメント(ステップS92x)され、着目する単語集合NkもインクリトされN3以降の単語集合に対して同じ処理が、音声認識結果の単語が無くなるまで繰り返される(ステップS92wのyes)。このように、直前の単語集合Nkで計算済みの単語集合と継続時間長は、コピーして計算されるので2度計算することが無い。
【0072】
つまり、単語集合音響信頼度高速計算手段92は、重複区間記憶部920に直後重複フラグBFが真の単語の単語認識信頼度D(wk)にその単語の継続時間長wdkを乗算して時間正規化を解除した値wckとその継続時間長wdkを記憶し、直前重複フラグAFが偽で直後重複フラグBFが真の単語の単語認識信頼度D(wk)にその単語wkの継続時間長を乗算して時間正規化を解除した値wckとその継続時間長wdkと、重複区間記憶部920に記憶された値とから単語集合wkの音響信頼度を計算する。よって、実施例1と2の音声認識装置よりも高速に音響信頼度を計算することができる。
【0073】
なお、直前重複フラグBFと直後重複フラグAFを用いて音響信頼度を高速に計算する例を説明したが、その処理方法は上記した例に限定されない。例えば、図18に示した例に加えて、重複区間の単語信頼度の合計と重複区間の継続時間長の合計を、それぞれ記憶して置くようにしても良い。そのようにすれば、音響信頼度を計算する度(ステップS92u)に行うキューに記憶された単語信頼度と継続時間長の累積値を計算する処理も削減することが可能である。
【0074】
〔評価実験〕
この発明の音響信頼度と文脈信頼度とを組み合わせた認識信頼度の有効性を確認する目的で評価実験を行った。実験には、話者48名(男性17名、女性31名)による電話会話をマイクで収録した音声782通話、計61時間の評価セットを用い、音声認識エンジンにはVoiceRex(参考文献、政瀧ほか、「顧客との自然な会話を聞き取る自由発話音声技術VoiceRex」)を用いた。また、音声文書を単語集合Nkに分割する窓幅nはn=20、窓シフト量mはm=10とした。音響信頼度CA(Nk)と文脈信頼度CL(Nk)を統合する際の重みαはα=0.2に設定した。
【0075】
表1に実験結果を示す。
【0076】
【表1】
表1中の数値は音声文書の信頼度と文字正解率の相関係数であり、音響信頼度と文脈信頼度とを組み合わせた相関係数の方が高い結果となり、その有効性が確認された。
【0077】
上記装置における処理手段をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。
【0078】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
【0079】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0080】
また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【技術分野】
【0001】
この発明は、音声認識結果の確からしさ表す認識信頼度の計算方法を改善した音声認識方法と、その装置とプログラムに関する。
【背景技術】
【0002】
音声認識結果の確からしさを表す認識信頼度を算出するための従来技術として、例えば特許文献1に、音声認識処理の探索結果の上位N位までのNベスト候補のスコア1位の単語w1の認識信頼度を、単語w1のスコアとスコア2位以下でw1と異なる単語w2とのスコア差を単語w1の継続時間長で正規化した値とする考えが示されている。
【0003】
また、認識信頼度を算出するための別の方法として、音声認識結果中の各単語間の関連の強さを計測して周囲の単語と関連の強い単語に、高い認識信頼度を付与し、関連の弱い単語に低い認識信頼度を付与する方法がある(非特許文献1)。この方法は、単語w及び単語wの直前k個の単語と直後の1単語とのn個の単語集合N(w)を音声認識結果から取得する。そして、その単語集合N(w)に含まれる全ての2単語の組み合わせ(wi,wj)に対して、事前に学習コーパス上で算出した相互情報量MI(wi,wj)を用いて単語間の関連の強さS(wi,wj)を計算する。また、単語集合N(w)中の全ての単語tについての関連の強さS(t,wi)の平均値を文脈一貫性尺度SC(t)として計算する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−148342号公報
【非特許文献】
【0005】
【非特許文献1】D. Inkpen, A. Desilets, “Semantic Similarity for Detecting Recognition Errors in Automatic Speech Transcripts,” Proceedings of HLT/EMNLP, pp.49-56, October 2005.
【発明の概要】
【発明が解決しようとする課題】
【0006】
例えば、周囲の雑音が大きな環境で収録された音声文書を音声認識した各単語に付与される従来の認識信頼度は、認識の確からしさを正しく表さない傾向がある。特にスコア差に基づく認識信頼度はその傾向が強い。周囲雑音環境が大きく変動する音声文書や、話者の話し方の差異が大きな音声文書を音声認識する場合、音声文書全体の認識信頼度が低くなり各単語に適切な認識信頼度を付与できない課題がある。
【0007】
この発明は、このような課題に鑑みてなされたものであり、音声認識結果全体の認識精度の低い音声文書であっても、誤り単語を正確に識別することが可能な認識信頼度を付与できる音声認識方法とその装置と、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
この発明の音声認識方法は、音声認識過程と、音声文書認識信頼度計算過程と、を含む。音声認識過程は、入力される音声文書を音声認識処理した単語毎に単語認識信頼度を付与した音声認識結果を出力する。音声文書認識信頼度計算過程は、単語を所定数まとめて単語集合とし、単語集合の音響信頼度と、単語間の関連度を示す関連度テーブルを参照して単語集合毎に単語間の関連性に基づく文脈信頼度とを求め、音響信頼度と記文脈信頼度とを統合した音声文書認識信頼度を音声文書毎に計算する。
【発明の効果】
【0009】
この発明の音声認識方法は、従来から認識信頼度として使われている音響信頼度に、文脈信頼度を加えた新しい音声文書認識信頼度を提供する。更に、単語集合毎に求めた音響信頼度と文脈信頼度を音声文書単位で音声文書認識信頼度に統合するので、音声文書単位で音声認識の品質を把握することができる。その音声文書認識信頼度と単語毎の単語認識信頼度によって、誤り単語を正確に識別することを可能にする。
【図面の簡単な説明】
【0010】
【図1】この発明の音声認識装置100の機能構成例を示す図。
【図2】音声認識装置100の動作フローを示す図。
【図3】Nベスト候補と単語認識信頼度について説明する図。
【図4】音声文書認識信頼度計算部20の機能構成例を示す図。
【図5】音声文書認識信頼度計算部20の動作フローを示す図。
【図6】単語集合音響信頼度計算部22の機能構成例を示す図。
【図7】単語集合音響信頼度計算部22の動作フローを示す図。
【図8】音声認識部10が出力する単語wk、単語認識信頼度D(wk)の例を示す図。
【図9】単語関連度テーブル作成装置150の機能構成例を示す図。
【図10】単語集合を概念的に示す図。
【図11】単語関連度テーブルの一例を示す図。
【図12】この発明の音声認識装置200の機能構成例を示す図。
【図13】この発明の音声認識装置300の機能構成例を示す図。
【図14】音声文書認識信頼度高速計算部90の機能構成例を示す図。
【図15】音声文書認識信頼度高速計算部90の動作フローを示す図。
【図16】単語集合と直前重複フラグと直後重複フラグの例を示す図。
【図17】単語集合取得ステップの動作フローの例を示す図。
【図18】単語集合音響信頼度高速計算ステップの動作フローの例を示す図。
【発明を実施するための形態】
【0011】
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。
【実施例1】
【0012】
図1にこの発明の音声認識装置100の機能構成例を示す。その動作フローを図2に示す。音声認識装置100は、音声認識部10と、音声文書認識信頼度計算部20と、制御部50と、を具備する。音声認識装置100の各部の機能は、例えばROM、RAM、CPU等で構成されるコンピュータに所定のプログラムが読み込まれて、CPUがそのプログラムを実行することで実現されるものである。
【0013】
音声認識部10は、入力される音声文書を音声認識処理した単語毎に単語認識信頼度を付与した音声認識結果を出力する(ステップS10)。音声認識部10は、図示しない内部の音響分析部によって、音声文書を、数十msecのフレームと呼ばれる単位でLPCケプストラム、MFCC、その他の音響特徴パラメータ系列に分析する。そして、辞書と言語モデルを用いて入力音声に対する認識結果候補の探索を、音響特徴パラメータ系列について行う。探索の結果、上位N位までのNベスト候補が、単語認識信頼度と共に音声認識結果として出力される。なお、音声文書とは、例えば、コールセンターにおける顧客とオペレータとの間で交わされる会話の集合のことであり、一要件についてまとめられた音声データである。また、例えば一つの講義が1個の音声ファイルにまとめられた様なものである。
【0014】
ここで、図3を参照してNベスト候補と単語認識信頼度について説明する。なお、Nベスト候補と単語認識信頼度については従来技術である。単語認識信頼度については、例えば特許文献1に記載されている。
【0015】
図3の横軸は、経過時間でありフレームで表す。縦軸は、フレーム単位で探索された単語列候補を、スコアの高い順番に並べたNベスト候補である。スコアとは探索時の尤度のことである。
【0016】
単語認識信頼度は、フレームt*において単語w**(*は任意の整数)と異なる単語がNベスト候補中に存在する場合、単語w**のフレームt*におけるスコアと対立候補単語のフレームt*における次の順位のスコアとの間のスコア差によって与えられる。図3に示す例では、フレームt1〜t4の音響特徴パラメータ系列で探索された第1位候補の単語w11(11は第1候補の1番目の単語であることを表す)の単語認識信頼度は、対向する単語が第3位候補の単語w31と第2位候補の単語w21であるので、それぞれのスコア差(●)の合計をフレーム数で除した値が単語認識信頼度となる。対立候補が存在しない単語w13については、予め決められた固定値(○)が用いられて単語認識信頼度となる。この単語認識信頼度が候補毎に累積されて単語列の認識信頼度となる。
【0017】
音声文書認識信頼度計算部20は、音声認識部10が出力する単語を所定数まとめて単語集合とし、その単語集合の音響信頼度と単語間の関連度を示す関連度テーブルを参照して単語集合毎に単語間の関連性に基づく文脈信頼度とを求め、音響信頼度と文脈信頼度とを統合した音声文書認識信頼度を音声文書毎に計算する(ステップS20)。
【0018】
このように、音声認識装置100は音声認識結果を出力すると共に音響信頼度に文脈信頼度を加えた音声文書認識信頼度を音声文書毎に出力する。この文脈信頼度は、文脈的に正しい単語出現パターンに基づく信頼度であり、これを加えた音声文書認識信頼度は従来の音響信頼度のみを用いた信頼度よりも高い精度とすることができる。
【0019】
図4に音声文書認識信頼度計算部20の機能構成例を示す。その動作フローを図5に示す。音声文書認識信頼度計算部20は、認識結果単語集合取得手段21と、単語集合音響信頼度計算手段22と、単語集合文脈信頼度計算手段23と、信頼度統合手段24と、を具備する。
【0020】
認識結果単語集合取得手段21は、音声認識結果の単語wkと単語認識信頼度C(wk)を、その先頭から所定の数n個ずつnより小さい数のm個移動させながらh個の単語集合に分割する(ステップS21)。つまり、音声文書の音声認識結果の先頭からn単語を取得し、得られた単語集合をN1とする。そして、音声認識結果の先頭からm単語目からn単語を取得し、得られた単語集合をN2とする。次に、音声認識結果の先頭から2m単語目からn単語を取得し、得られた単語集合をN3とする。以上の処理を音声文書の末尾に到達するまで繰り返し、h個の単語集合Nk(Nk:N1〜Nh)を取得する。kは着目している単語集合及び単語を識別する変数である。
【0021】
単語集合音響信頼度計算手段22は、各単語集合に含まれる全ての単語の単語認識信頼度D(w)と単語時間長wdkを取得して単語集合Nk毎に音響信頼度CA(Nk)を計算する(ステップS22)。
【0022】
単語集合文脈信頼度計算手段23は、各単語集合に含まれる全ての2単語の組み合わせ(wi,wj)に対して単語の関連の強さS(wi,wj)を単語関連度テーブル30を参照して求め、その平均値を各単語集合の文脈信頼度CL(Nk)として計算する(ステップS23)。
【0023】
信頼度統合手段24は、それぞれh個の音響信頼度CA(Nk)と文脈信頼度CL(Nk)の平均値を音声文書認識信頼度docCとして計算して出力する(ステップS24)。このように、音響信頼度CA(Nk)と文脈信頼度CL(Nk)を用いて音声文書の認識信頼度を算出することで、従来よりも精度の高い音声文書認識信頼度とすることができる。
【0024】
図6に単語集合音響信頼度計算部22の機能構成例を示して更に詳しく説明する。その動作フローを図7に示す。単語集合音響信頼度計算部22は、単語時間長取得手段21と、正規化解除手段22と、音響信頼度算出手段23と、を備える。
【0025】
単語時間長取得手段21は、音声認識部20が出力する単語の単語時間長を求める(ステップS21)。単語時間長取得手段21は、最初に音声文書の信頼度合計値D(W)と音声文書の総時間長WDを0に初期化する(ステップS50)。ステップS50〜S52は、図1に示した制御部50が処理する。
【0026】
図8に、音声認識部20が出力する単語wk、単語認識信頼度D(wk)の例を示す。ここでは、音声ファイルが1個のNベスト候補から成る例で説明する。つまり添え字は一桁で説明する。例えば、単語w1は名詞「本日」であり、単語認識信頼度D(wk)は9891であり、その始端時刻(wdksFn)と終端時刻(wdkeFn)は0.00−0.98[秒]である。単語認識信頼度D(wk)の値は、マイナスの値もあり得る。図6の例では、「おいたわしい」がそれに該当する。第1位候補の単語のスコアが、下位の候補の単語のスコアよりも小さい場合に単語認識信頼度D(wk)はマイナスとなる。この場合、第1位候補のその単語の信頼度は相当低いことを意味する。この単語認識信頼度D(wk)の値は、音声認識結果の音響的な信頼度を表すものである。
【0027】
単語時間長取得手段21は、単語w1の終端時刻から始端時刻を引いたその単語時間長wd1を、0.98[秒]若しくは、フレーム時間を例えば10msecとした場合、98フレームとして取得する(ステップS21)。
【0028】
正規化解除手段22は、単語認識信頼度D(w1)=9891に単語時間長wd1を乗じた単語信頼度wcを計算する(ステップS22)。正規化解除手段22は、フレーム数で正規化されていた単語認識信頼度の正規化を解除する働きをする。
【0029】
音響信頼度算出手段23は、正規化を解除した単語信頼度累積値wckをその単語の継続時間長wdkで除した音響信頼度CA(Nk)を算出する(ステップS23)。音響信頼度算出手段23は、単語集合のフレーム当たりの認識信頼度を求めることになる。この音響信頼度CA(Nk)は、単語集合の音響的な品質を表す指標となる。
【0030】
〔単語関連度テーブル作成装置〕
次に、単語集合文脈信頼度計算部23の動作を説明するに当たって、単語関連度テーブル30を作成する単語関連度テーブル作成装置150について説明する。
【0031】
図9に単語関連度テーブル作成装置150の機能構成例を示す。単語関連度テーブル作成装置150は、学習コーパス81と、形態素解析部82と、学習コーパス単語集合取得部83と、単語リスト84と、単語カウント部85と、単語関連度計算部86と、テーブル配列部87と、を具備する。
【0032】
学習コーパス81は音声文書を大規模に集積したものである。形態素解析部82は、学習コーパス81から音声文書を読み出して単語に分割する周知の形態素解析処理を行い、各単語の前後に単語境界を表す記号、例えば「\n」を付与した単語境界付き学習コーパスを出力する。形態素解析処理は周知であり、例えば参考文献「特許第3379643号」に記載されている。
【0033】
学習コーパス単語集合取得部83は、形態素解析部82が出力する単語境界付き学習コーパスの先頭から末尾まで、窓幅n単語、窓シフト量m単語で窓かけを行い、各窓に含まれる単語リスト84に記載された単語をまとめて単語集合とし、窓ごとの単語集合を出力する。単語リスト84は、音声認識結果に出現し得る全ての単語が記載されたものであり、事前に作成しておく。図10に、単語集合を概念的に示す。横方向は時間経過であり、単語集合をN1〜Nhで示す。mは窓シフト量であり、nは窓幅である。隣り合う単語集合は、n-m個の単語を共有する関係にある。
【0034】
単語カウント部85は、学習コーパス単語集合取得部83が出力する単語集合を入力として、単語集合内の各単語の単独生起回数C(w)、各単語ペアの生起回数C(wi,wj)、単語集合の総数をカウントして出力する。単語wの生起回数C(w)とは、単語wを含む単語集合の個数である。単語ペア(wi,wj)の生起回数C(wi,wj)とは、wiとwjを共に含む単語集合の個数である。
【0035】
単語関連度計算部86は、各単語ペア(wi,wj)の関連度S(wi,wj)を例えば式(1)で計算する。
【0036】
【数1】
【0037】
Nは単語集合の総数、C(w)は単語wの単独生起回数、C(wi,wj)は単語wiとwjの共起回数である。関連度S(wi,wj)の値が大きいと、それらの単語同士の関連性が高いことを意味する。関連度S(wi,wj)には、式(1)の他に、例えばJaccard係数(式(2))を用いても良い。
【0038】
【数2】
【0039】
これ以外に、Dice計数やSimpson計数を用いることもできる。
【0040】
テーブル配列部87は、単語wiとwjから計算した関連度S(wi,wj)を参照できるテーブルの形式に配列する。図11に単語関連度テーブル30の一例を示す。最上列と最左列は単語w1〜wNであり、各行と各列の交差する欄にそれぞれの単語の関連度S(wi,wj)が配列される。
【0041】
単語集合文脈信頼度計算部23は、単語関連度テーブル30を参照して各単語集合に含まれる全ての2単語の組み合わせ(wi,wj)の関連の強さS(wi,wj)を求め、その平均値を単語集合の文脈信頼度CL(Nk)として計算する。
【0042】
信頼度統合手段74は、それぞれh個の音響信頼度CA(Nk)と文脈信頼度CL(Nk)の平均値を音声文書認識信頼度として計算して出力する。なお、信頼度統合手段74は、単語集合毎に音響信頼度CA(Nk)と文脈信頼度CL(Nk)を重み付け加算して認識信頼度を求め(式(3))、その認識信頼度を音声文書全体で平均(式(4))した値を音声文書認識信頼度として計算しても良い。αは重みである。
【0043】
【数3】
【実施例2】
【0044】
図12にこの発明の音声認識装置200の機能構成例を示す。上記した音声認識装置100に、音声文書除去部40と、単語除去部60の機能構成を追加したものである。音声認識装置200は、音声認識信頼度計算部20が出力する音声文書認識信頼度docCの値に応じて、音声文書を除去した後の残った音声文書に対して単語認識信頼度の低い単語を除去するようにしたものである。
【0045】
音声文書除去部40は、音声文書の音響的な信頼度を表す音声文書認識信頼度docCと、事前に決められた音声文書認識信頼度閾値θdとを比較して音声文書認識信頼度docCがθd以上の場合、音声文書をそのまま単語除去部60に出力する。音声文書認識信頼度docCがθd未満の場合は、その音声文書を単語除去部60に出力しない。
【0046】
音声文書認識信頼度閾値θdは実数値であり、大きな値(例えば30000程度)に設定すると出力される音声文書の音声認識精度は高くなる。小さな値(例えば-30000程度)に設定すると出力される音声文書の音声認識精度は低くなるが、出力される音声文書の数は増加する。
【0047】
単語除去部60は、音声文書除去部40が出力した音声文書を構成する単語とその単語に付与された単語認識信頼度D(wn)を入力として、単語認識信頼度D(wn)の値が所定の単語認識信頼度閾値θw未満であれば当該単語を、除去されたことを表す所定の記号、例えば“<rejected>”に置換して音声文書を出力する。
【0048】
以上の処理によって最終的に出力される音声認識結果は、音声認識精度の比較的高い音声文書から更に単語認識信頼度が低い単語が除去されたものになり、音声認識結果に含まれる誤認識単語を削減することができる。
【実施例3】
【0049】
図13に、音声文書認識信頼度docCを計算する処理を省力化したこの発明の音声認識装置300の機能構成例を示す。音声認識装置300は、音声文書認識信頼度高速計算部90を備える点で、音声認識装置200と異なる。音声文書認識信頼度高速計算部90は、単語集合Nk間で重複する信頼度加算処理を省くことで、音響信頼度の計算を高速に計算するようにしたものである。
【0050】
図14に音声文書認識信頼度高速計算部90の機能構成例を示す。その動作フローを図15に示す。音声文書認識信頼度高速計算部90は、単語集合取得手段91と単語集合音響信頼度高速計算手段92を備える点で、音声認識装置100の音声文書認識信頼度計算部20と異なる。
【0051】
単語集合取得手段91は、音響信頼度の計算量を減らす目的で使用する直前重複フラグと直後重複フラグの2つのフラグを各単語に付与して単語集合を取得する。直前重複フラグとは、当該単語が直前の単語集合にも含まれるか否かを示す真偽値である。直後重複フラグとは、当該単語が直後の単語集合にも含まれるか否かを示す真偽値である。
【0052】
単語集合取得手段91は、音声認識部10から入力される音声認識結果の単語wkを、その先頭から所定の数n個ずつnより小さい数のm個移動させながらh個の単語集合に分割する(ステップS91)。単語集合に分割する際、単語集合取得手段91は、1番目の単語集合に追加する1番目からm番目の単語の直前重複フラグBFと直後重複フラグAFを偽、m+1番目からn番目の単語の直前重複フラグBFを偽及び直後重複フラグAFを真とし、N番目の単語集合に追加する1番目から(N-1)・m番目の単語の直前重複フラグを真及び直後重複フラグを偽、(N-1)・m+1番目からn+(N-1)・m番目の単語の直前重複フラグを偽及び直後重複フラグを真とする。
【0053】
単語集合音響信頼度高速計算手段92は、重複区間記憶部920を備え、直後重複フラグBFが真の単語の単語認識信頼度にその単語の継続時間長を乗算して時間正規化を解除した値とその継続時間長を、重複区間記憶部920に記憶する。そして、直前重複フラグBFが偽で直後重複フラグAFが真の単語の単語認識信頼度にその単語の継続時間長を乗算して時間正規化を解除した値とその継続時間長と、重複区間記憶部920に記憶された値とから単語集合の音響信頼度を計算する(ステップS92)。
【0054】
図16に、単語集合N1〜Nhと、各単語集合に付与された直前重複フラグBFと直後重複フラグAFの例を示す。図16の横方向は経過時間である。横方向に重なり合う単語集合を縦方向にずらして表記している。
【0055】
単語集合N1の先頭からm個の単語は、前後の単語集合内の単語と重ならないので直前重複フラグBFと直後重複フラグAFは(BF:0,AF:0)である。単語集合N1の先頭からm+1番目からn番目の単語は、直後の単語集合(N2)の単語と重複するので直前重複フラグBFと直後重複フラグAFは(BF:0,AF:1)である。以降、BF:とAF:の表記を省略する場合もある。
【0056】
2番目の単語集合N2の1番目からm番目の単語は直前の単語集合(N1)の単語とだけ重複するので(1,0)、m+1番目からn番目の単語は直前と直後の両方の単語集合の単語と重複するので(1,1)、n+1番目からn+m番目の単語は直後の単語集合の単語のみと重複するので(0,1)である。3番目以降の単語集合も2番目の単語集合と同じ関係である。
【0057】
図16の例では、mをm<n/2としたので(1,1)の状態が存在するが、m=n/2とすると直前重複フラグBFと直後重複フラグAFは、N1が((0,0),(0,1))、N2以降が((1,0),(0,1))となる。つまり、単語集合取得手段91は1番目から(N-1)・m番目の単語の直前重複フラグBFを真及び直後重複フラグAFを偽、(N-1)・m+1番目からn+(N-1)・m番目の単語の直前重複フラグBFを偽及び直後重複フラグAFを真とする。
【0058】
図17に、図16に示した単語集合を取得する単語集合取得手段91の動作フローを示す。図17は窓シフト量mをm<n/2とした例である。
【0059】
音声文書認識信頼度計算部90が処理を開始すると、単語集合取得手段91は単語集合を特定する変数Nkと単語wnを特定する変数wk、及びカウント値iをそれぞれNk=N1,wk=w1,i=1に初期化する(ステップS91a)。そして、音声認識結果の先頭からm番目までの単語w1〜wmまでの単語wkの直前重複フラグBFを0(偽)、直後重複フラグAFを0(偽)に設定する(ステップS91b〜S91d)。更に、単語wm+1〜wnまでの単語wkの直前重複フラグBFを0(偽)、直後重複フラグAFを1(真)に設定(ステップS91e〜S91g)して単語w1〜wnまでを1番目の単語集合N1として取得する。
【0060】
次に、単語集合NkをNk=Nk+1(ステップS91h)として2番目の単語集合N2を取得する。ここで、着目する単語を表す変数wkを、先頭の単語w1からmi個移動させたwk=wmiとする(ステップS91i)。ここではi=1なのでwk=wmである。
【0061】
そこで、単語wm+m、つまり、先頭の単語から2m個の単語までの直前重複フラグBFを1(真)、直後重複フラグAFを0(偽)に設定する(ステップS91j〜S91m)。そして、先頭の単語から2m+1個からn+m(i-1)個までの単語の直前重複フラグBFを1(真)、直後重複フラグAFを1(真)に設定する(ステップS91n〜S91p)。更に、先頭の単語からn+m(i-1)+1個目からn+mi個までの単語の直前重複フラグBFを0(偽)、直後重複フラグAFを1(真)に設定する(ステップS91q〜S91s)。このような処理によって、単語wm〜wn+mは、その単語の直前重複フラグBFと直後重複フラグAFが図16に示すように設定され、単語集合N2として取得される。
【0062】
そして、先頭からn+mi+1個目の単語が存在すれば、カウント値iをインクリメント(ステップS91u)、単語集合を現す変数NkもNk=Nk+1とインクリメント(ステップS91v)され、ステップS91iの処理に戻る。
【0063】
以上の処理(ステップS91i〜S91v)は、音声認識結果の最後の単語になるまで繰り返される(ステップS91tのno)。その結果、音声認識結果の単語は、その先頭から所定の数n個ずつnより小さい数のm個移動させながらh個の単語集合に分割される。そして、各単語集合には、図16に示すように直前重複フラグBFと直後重複フラグAFとが付与される。
【0064】
単語集合音響信頼度高速計算手段92は、重複区間記憶部920を備え、直後重複フラグAFが真の単語の単語信頼度を2度計算しないようにしたものである。図18に示す単語集合音響信頼度高速計算手段92の動作フローを参照して説明する。
【0065】
単語集合音響信頼度高速計算手段92は、最初に単語集合を特定する変数Nkと単語wnを特定する変数wkを、それぞれNk=N1,wk=w1に初期化する(ステップS92a)。そして、単語集合音響信頼度高速計算手段92は、単語(N1,w1)〜(N1,wn)の単語認識信頼度にその単語の継続時間長を乗算して時間正規化を解除した単語信頼度を計算(ステップS92b)し、その単語信頼度wcnを累積する(ステップS92c)。と共に、単語の継続時間長wdnも累積する(ステップS92d)。この処理は、単語集合N1の最後の単語wnになるまで繰り返される(ステップS92i)。
【0066】
そして、単語集合N1の先頭からm個目の単語wmから最後の単語wnまでの単語の直後重複フラグAFが1(真)となるので、その単語wm〜wnまでの単語信頼度wcnはBackDupDMに保存される(ステップS92f)。また、単語wm〜wnの継続時間長wdnはBackDupWDに保存される(ステップS92g)。BackDupDMとBackDupWDは、例えばキュー(queue)と呼ばれるデータ構造で単語信頼度wckと継続時間長wdkを保存するものとする。
【0067】
最後の単語wnまでの単語信頼度の計算が終わる(ステップS92iのyes)と、単語集合N1の音響信頼度を、単語信頼度wckの累積値S(wck)を継続時間長の累積値S(wdk)で除して計算する(ステップS92i)。
【0068】
2番目の単語集合N2の先頭からn-m番目、つまり先頭の単語からn個目の単語wm〜wnは、直前の単語集合N1と重複しているので既に計算済みである。よって、BackDupDMに保存されている計算済みの単語信頼度をPreDMにコピーする(ステップS92m)と共にBackDupWDに保存されている継続時間長をPreWDにコピーする(ステップS92n)。そして、単語集合N1で単語信頼度を計算していない直後重複フラグBFが0(偽)の単語wn+1〜wn+miの正規化を解除して単語信頼度と継続時間長の累積を計算する(ステップS92pとS92q)。なお、正規化解除のステップは作図の都合により表記を省略している。
【0069】
新たに計算される直後重複フラグBFが0(偽)の単語wn+1〜wn+miの単語信頼度wckと継続時間長wdkは、BackDupDMとBackDupWDに保存される(ステップS92r)。BackDupDMとBackDupWDは、古い順番にデータが消去される構造なので最新の単語w2m〜wn+mの単語信頼度wckと継続時間長wdkが保存される。音声認識結果の先頭の単語からn個目以降の単語(wn+1〜)では、直前重複フラグBF=0の単語についてのみ正規化を解除する計算と継続時間長の累積計算を行い、新たに計算した値をキュー(BackDupDM,BackDupWD)に保存する(図16参照)。
【0070】
単語集合N2の最後の単語wn+miまで処理が終了する(ステップS92tのyes)と、単語集合N2の音響信頼度をBackDupDMに保存されている単語信頼度の和に新たに計算した単語信頼度を加えた累積値を、BackDupWDに保存されている継続時間長の和に新たに計算した継続時間長を加えた値で除して、単語集合N2の音響信頼度を計算する(ステップS92u)。
【0071】
そして、カウント値iがインクリメント(ステップS92x)され、着目する単語集合NkもインクリトされN3以降の単語集合に対して同じ処理が、音声認識結果の単語が無くなるまで繰り返される(ステップS92wのyes)。このように、直前の単語集合Nkで計算済みの単語集合と継続時間長は、コピーして計算されるので2度計算することが無い。
【0072】
つまり、単語集合音響信頼度高速計算手段92は、重複区間記憶部920に直後重複フラグBFが真の単語の単語認識信頼度D(wk)にその単語の継続時間長wdkを乗算して時間正規化を解除した値wckとその継続時間長wdkを記憶し、直前重複フラグAFが偽で直後重複フラグBFが真の単語の単語認識信頼度D(wk)にその単語wkの継続時間長を乗算して時間正規化を解除した値wckとその継続時間長wdkと、重複区間記憶部920に記憶された値とから単語集合wkの音響信頼度を計算する。よって、実施例1と2の音声認識装置よりも高速に音響信頼度を計算することができる。
【0073】
なお、直前重複フラグBFと直後重複フラグAFを用いて音響信頼度を高速に計算する例を説明したが、その処理方法は上記した例に限定されない。例えば、図18に示した例に加えて、重複区間の単語信頼度の合計と重複区間の継続時間長の合計を、それぞれ記憶して置くようにしても良い。そのようにすれば、音響信頼度を計算する度(ステップS92u)に行うキューに記憶された単語信頼度と継続時間長の累積値を計算する処理も削減することが可能である。
【0074】
〔評価実験〕
この発明の音響信頼度と文脈信頼度とを組み合わせた認識信頼度の有効性を確認する目的で評価実験を行った。実験には、話者48名(男性17名、女性31名)による電話会話をマイクで収録した音声782通話、計61時間の評価セットを用い、音声認識エンジンにはVoiceRex(参考文献、政瀧ほか、「顧客との自然な会話を聞き取る自由発話音声技術VoiceRex」)を用いた。また、音声文書を単語集合Nkに分割する窓幅nはn=20、窓シフト量mはm=10とした。音響信頼度CA(Nk)と文脈信頼度CL(Nk)を統合する際の重みαはα=0.2に設定した。
【0075】
表1に実験結果を示す。
【0076】
【表1】
表1中の数値は音声文書の信頼度と文字正解率の相関係数であり、音響信頼度と文脈信頼度とを組み合わせた相関係数の方が高い結果となり、その有効性が確認された。
【0077】
上記装置における処理手段をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。
【0078】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
【0079】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0080】
また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【特許請求の範囲】
【請求項1】
入力される音声文書を音声認識処理した単語毎に単語認識信頼度を付与した音声認識結果を出力する音声認識過程と、
上記単語を所定数まとめて単語集合とし、上記単語集合の音響信頼度と上記単語間の関連度を示す関連度テーブルを参照して上記単語集合毎に単語間の関連性に基づく文脈信頼度とを求め、上記音響信頼度と上記文脈信頼度とを統合した音声文書認識信頼度を上記音声文書毎に計算する音声文書認識信頼度計算過程と、
を含む音声認識方法。
【請求項2】
請求項1に記載した音声認識方法において、
上記音声文書認識信頼度計算過程は、
上記音声認識結果の単語を、その先頭から所定の数n個ずつnより小さい数のm個移動させながら単語集合に分割する単語集合取得ステップと、
上記単語の継続時間長をその始端時刻と終端時刻の差として取得する単語時間長取得ステップと、
上記単語認識信頼度にその単語の継続時間長を乗算して時間正規化を解除する正規化解除ステップと、
上記正規化を解除した単語認識信頼度を上記継続時間長で除した音響信頼度を上記単語集合毎に計算する単語集合音響信頼度算出ステップと、
上記単語集合を構成する単語間の関連度を示す関連度テーブルを参照して上記単語毎に当該単語とその他の単語との関連性を表す関連度から求めた文脈信頼度を計算する単語集合文脈信頼度計算ステップと、
上記音響信頼度と上記文脈信頼度とを統合して上記音声文書毎に音声文書認識信頼度を計算する信頼度統合ステップと、
を含むことを特徴とする音声認識方法。
【請求項3】
請求項1に記載した音声認識方法において、
上記音声認識信頼度計算過程は、
上記音声認識結果の単語を、その先頭から所定の数n個ずつnより小さい数のm個移動させながら単語集合に分割し、1番目の単語集合に追加する1番目からm番目の単語の直前重複フラグと直後重複フラグを偽とし、N番目の単語集合に追加する1番目からN・m番目の単語の直前重複フラグを真及び直後重複フラグを偽、N・m+1番目からn+N・m番目の単語の直前重複フラグを偽及び直後重複フラグを真とする単語集合取得ステップと、
上記直後重複フラグが真の単語の上記単語認識信頼度にその単語の継続時間長を乗算して時間正規化を解除した値とその継続時間長を記憶する重複区間記憶ステップと、
上記直前重複フラグが偽で直後重複フラグが真の単語の上記単語認識信頼度にその単語の継続時間長を乗算して時間正規化を解除した値とその継続時間長と、上記重複区間記憶ステップで記憶された値とから当該単語集合の音響信頼度を計算する単語集合音響信頼度高速計算ステップと、
を含むことを特徴とする音声認識方法。
【請求項4】
請求項1乃至3の何れかに記載した音声認識方法において、
更に、
上記音声認識結果と上記音声文書認識信頼度とを入力として所定の音声文書認識信頼度閾値未満の音声文書を除去する音声文書除去過程と、
上記音声文書除去過程で除去されなかった音声文書の音声認識結果から所定の単語認識信頼度閾値未満の単語認識信頼度の単語を除去する単語除去過程と、
を含むことを特徴とする音声認識方法。
【請求項5】
入力される音声文書を音声認識処理した単語毎に単語認識信頼度を付与した音声認識結果を出力する音声認識部と、
上記単語認識信頼度から求めた音響信頼度と、上記音声認識結果を構成する単語間の関連度を示す関連度テーブルを参照して上記単語毎に当該単語とその他の単語との関連性を表す関連度から求めた文脈信頼度と、を統合した音声文書認識信頼度を上記音声文書毎に求める音声文書認識信頼度計算部と、
を具備する音声認識装置。
【請求項6】
請求項1乃至4の何れかに記載した音声認識方法を、コンピュータに実行させるための音声認識方法プログラム。
【請求項1】
入力される音声文書を音声認識処理した単語毎に単語認識信頼度を付与した音声認識結果を出力する音声認識過程と、
上記単語を所定数まとめて単語集合とし、上記単語集合の音響信頼度と上記単語間の関連度を示す関連度テーブルを参照して上記単語集合毎に単語間の関連性に基づく文脈信頼度とを求め、上記音響信頼度と上記文脈信頼度とを統合した音声文書認識信頼度を上記音声文書毎に計算する音声文書認識信頼度計算過程と、
を含む音声認識方法。
【請求項2】
請求項1に記載した音声認識方法において、
上記音声文書認識信頼度計算過程は、
上記音声認識結果の単語を、その先頭から所定の数n個ずつnより小さい数のm個移動させながら単語集合に分割する単語集合取得ステップと、
上記単語の継続時間長をその始端時刻と終端時刻の差として取得する単語時間長取得ステップと、
上記単語認識信頼度にその単語の継続時間長を乗算して時間正規化を解除する正規化解除ステップと、
上記正規化を解除した単語認識信頼度を上記継続時間長で除した音響信頼度を上記単語集合毎に計算する単語集合音響信頼度算出ステップと、
上記単語集合を構成する単語間の関連度を示す関連度テーブルを参照して上記単語毎に当該単語とその他の単語との関連性を表す関連度から求めた文脈信頼度を計算する単語集合文脈信頼度計算ステップと、
上記音響信頼度と上記文脈信頼度とを統合して上記音声文書毎に音声文書認識信頼度を計算する信頼度統合ステップと、
を含むことを特徴とする音声認識方法。
【請求項3】
請求項1に記載した音声認識方法において、
上記音声認識信頼度計算過程は、
上記音声認識結果の単語を、その先頭から所定の数n個ずつnより小さい数のm個移動させながら単語集合に分割し、1番目の単語集合に追加する1番目からm番目の単語の直前重複フラグと直後重複フラグを偽とし、N番目の単語集合に追加する1番目からN・m番目の単語の直前重複フラグを真及び直後重複フラグを偽、N・m+1番目からn+N・m番目の単語の直前重複フラグを偽及び直後重複フラグを真とする単語集合取得ステップと、
上記直後重複フラグが真の単語の上記単語認識信頼度にその単語の継続時間長を乗算して時間正規化を解除した値とその継続時間長を記憶する重複区間記憶ステップと、
上記直前重複フラグが偽で直後重複フラグが真の単語の上記単語認識信頼度にその単語の継続時間長を乗算して時間正規化を解除した値とその継続時間長と、上記重複区間記憶ステップで記憶された値とから当該単語集合の音響信頼度を計算する単語集合音響信頼度高速計算ステップと、
を含むことを特徴とする音声認識方法。
【請求項4】
請求項1乃至3の何れかに記載した音声認識方法において、
更に、
上記音声認識結果と上記音声文書認識信頼度とを入力として所定の音声文書認識信頼度閾値未満の音声文書を除去する音声文書除去過程と、
上記音声文書除去過程で除去されなかった音声文書の音声認識結果から所定の単語認識信頼度閾値未満の単語認識信頼度の単語を除去する単語除去過程と、
を含むことを特徴とする音声認識方法。
【請求項5】
入力される音声文書を音声認識処理した単語毎に単語認識信頼度を付与した音声認識結果を出力する音声認識部と、
上記単語認識信頼度から求めた音響信頼度と、上記音声認識結果を構成する単語間の関連度を示す関連度テーブルを参照して上記単語毎に当該単語とその他の単語との関連性を表す関連度から求めた文脈信頼度と、を統合した音声文書認識信頼度を上記音声文書毎に求める音声文書認識信頼度計算部と、
を具備する音声認識装置。
【請求項6】
請求項1乃至4の何れかに記載した音声認識方法を、コンピュータに実行させるための音声認識方法プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−22070(P2012−22070A)
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2010−158473(P2010−158473)
【出願日】平成22年7月13日(2010.7.13)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願日】平成22年7月13日(2010.7.13)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]