説明

音声認識装置とその方法とプログラム

【課題】話題境界を跨がない長距離文脈情報を用いて認識スコアを再計算する音声認識装置を提供する。
【解決手段】話題境界検出部が、Nベスト候補列を入力として、当該Nベスト候補列中の現在発話区間を中心として当該現在発話区間から音声文書の冒頭方向にある順位1位の認識結果候補を過去発話単語集合として抽出すると共に、当該現在発話区間を中心として当該現在発話区間から音声文書の末尾方向にある順位1位の認識結果候補を未来発話単語集合として抽出し、過去・未来間関連度平均値と所定の閾値とを比較して音声文書の話題境界を判定する。Nベスト候補スコア再計算部は、話題境界検出部において話題境界と判定されなかった現在発話区間の認識スコアを、過去・現在間関連度合計値と現在・未来間関連度合計値の平均値を用いた値に再計算し、現在発話区間のNベスト候補を並べ替える処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、音声認識結果の確からしさを表す認識スコアの計算方法を改善した音声認識装置と、その方法とプログラムに関する。
【背景技術】
【0002】
音声文書に含まれる各発話に対して音声認識処理を行い、発話ごとにスコア上位N位までの認識結果候補(以降、Nベスト候補と称する)を求めた後、Nベスト候補の順位付けをするためのスコアを長距離文脈情報に基づいて再計算する考えが、例えば非特許文献1に開示されている。
【0003】
図17に、非特許文献1の考えに基づく音声認識装置900の機能構成例を示す。音声認識装置900は、発話分割部90、音声認識部91、Nベスト候補スコア再計算部92、音声認識結果出力部93、制御部94、を備える。
【0004】
発話分割部90は、音声文書を入力として音声文書を文ごとに分割して発話列として出力する。音声認識部10は、図示しない内部の音響分析部によって、発話列を、数十msecのフレームと呼ばれる単位でLPCケプストラム、MFCC、その他の音響特徴パラメータ系列に分析する。そして、辞書と言語モデルを用いて入力音声に対する認識結果候補の探索を、音響特徴パラメータ系列について行う。探索の結果、上位N位までのNベスト候補が、単語認識信頼度と共に音声認識結果として出力される。制御部94は各部の動作を制御する。
【0005】
図18を参照してNベスト候補について説明する。横軸は、経過時間でありフレームで表す。縦軸は、フレーム単位で探索された単語列候補を、スコアの高い順番に並べたNベスト候補である。スコアとは探索時の尤度のことである。Nベスト候補は、スコアが経過時間方向に累積された認識スコアの高い順に並べられる。
【0006】
Nベスト候補スコア再計算部92は、Nベスト候補を入力として単語認識信頼度に、長距離文脈情報である文書尤度D(S)を加えることでスコアを最適化(式(1))し、Nベスト候補を再計算する。音声認識結果出力部93は、再計算されたNベスト候補の第1位の単語列を音声認識結果として出力する。
【0007】
【数1】

【0008】
ここで、A(si)とL(si)は単語認識信頼度を表す音響尤度と言語尤度である。Nは文数である。文書尤度D(S)は、単語の文脈的な関連性を示す値であり、この値を考慮することで文脈的な関連性を考慮した音声認識が可能になる。
【0009】
文脈的な関連性を現す他の指標として、単語ペアの関連度を用いる考えが非特許文献2に開示されている。この考えは、文脈的な一貫性を音声文書内の各単語ペアの関連度の平均値を算出して利用する。単語xとyの関連度S(x,y)として自己相互情報量(PMI:Pointwise Mutual Information)の値を用いる。
【0010】
式(2)に単語xとyの関連度S(x,y)の計算を示す。
【0011】
【数2】

【0012】
ここで、Nは単語集合の個数、C(x,y)は単語xとyが共に含まれる単語集合の個数、C(x),C(y)は、それぞれ単語xが含まれる単語集合の個数と単語yが含まれる単語集合の個数である。
【0013】
自己相互情報量PMI(x,y)の値は、単語xとyに関連が無い(独立に現れる)場合に0、一方の単語が現れた時に他方も現れ易い(独立よりも共起し易い)傾向がある場合に正の値、一方の単語が現れた時に他方が現れ難い(独立よりも共起し難い)傾向がある場合に負の値となる。傾向が強くなるにつれて、正の値の場合、負の値の場合、共に絶対値が大きくなる。このような単語ペアの関連度を用いても、文脈の一貫性を評価することが可能である。
【先行技術文献】
【非特許文献】
【0014】
【非特許文献1】中里理恵、貞光九月、冨山良介、山本幹雄、板橋秀一、「生成文書モデルを用いた文書読み上げ音声認識」 IPSJ SIG Technical Report,2005-SLP-57
【非特許文献2】浅見太一、小橋川哲、山口義和、政瀧浩和、高橋敏、「単語の文脈一貫性と音響尤度を用いた音声ドキュメント認識信頼度の推定」信学技報、電子情報通信学会、2010年7月
【発明の概要】
【発明が解決しようとする課題】
【0015】
以下、音声文書中の着目している箇所を現在、着目している箇所から見て音声文書冒頭方向を過去、着目している箇所から見て音声文書末尾方向を未来と書く。従来技術は、「過去または未来の発話に含まれる単語と関連の強い単語が現在の発話に現れ易い」ことを前提に文脈の一貫性を評価している。しかし、単語と単語の間に話題境界が存在する場合、関連の強い単語が現れ易いとは限らない。話題境界を跨いだ単語からの長距離文脈情報に基づいてNベスト候補のスコアの再計算を行うと、誤った単語に高いスコアを与えてしまい認識誤りが増加する場合がある。
【0016】
この発明は、このような課題に鑑みてなされたものであり、Nベスト候補のスコア再計算時に、話題境界を跨いだ単語からの長距離文脈情報の利用を回避するようにした音声認識装置とその方法とプログラムを提供することを目的とする。
【課題を解決するための手段】
【0017】
この発明の音声認識装置は、発話分割部と、音声認識部と、話題境界検出部と、Nベスト候補スコア再計算部と、音声認識結果出力部と、を具備する。発話分割部は、入力される音声文書の発話区間を検出して発話列として出力する。音声認識部は、発話列を入力として音声認識を行い発話区間ごとに音声認識スコアが上位N個の認識結果候補と認識スコアを組みにしたNベスト候補を求めNベスト候補列として出力する。話題境界検出部は、Nベスト候補列を入力として、当該Nベスト候補列中の現在発話区間を中心として当該現在発話区間から音声文書の冒頭方向にある順位1位の認識結果候補を過去発話単語集合として抽出すると共に、当該現在発話区間を中心として当該現在発話区間から音声文書の末尾方向にある順位1位の上記認識結果候補を未来発話単語集合として抽出し、過去発話単語集合と未来発話単語集合の全ての2単語ペアの関連度の平均値である過去・未来間関連度平均値meanSpfを求め、当該過去・未来間関連度平均値meanSpfと所定の閾値δとを比較して音声文書の話題境界を判定し、話題境界と判定した場合、現在発話区間を1つ更新して、上記過去発話単語集合を抽出する処理から繰り返す。Nベスト候補スコア再計算部は、話題境界検出部において話題境界と判定されなかった現在発話区間の各順位ごとに、対象にしている順位の認識結果候補単語列から現在発話単語を現在発話単語集合として抽出し、過去発話単語集合と現在発話単語集合の全ての2単語ペアの関連度の合計値である過去・現在間関連度合計値sumSkpcを計算すると共に、現在発話単語集合と未来発話単語集合の全ての2単語ペアの関連度の合計値である現在・未来間関連度合計値sumSkfcを計算し、当該現在発話区間の認識スコアを、過去・現在間関連度合計値sumSkpcと現在・未来間関連度合計値sumSkfcの平均値を用いた値に再計算し、その再計算した認識スコアに基づいて現在発話区間のNベスト候補を並べ替える処理を、音声文書の最後の発話区間についての処理が終了するまで上記話題境界検出部の処理から繰り返す。音声認識結果出力部は、各発話区間の順位1位の候補を連結した音声認識結果を出力する。
【発明の効果】
【0018】
この発明の音声認識装置によれば、現在発話区間を中心として音声文書の冒頭方向にある順位1位の認識結果候補の過去発話単語集合と、音声文書の末尾方向にある順位1位の認識結果候補の未来発話単語集合との全ての2単語ペアの関連度の平均値に基づいて、現在発話区間が話題境界に当たるか否かを判定し、話題境界と判定されなかった場合に、現在発話区間の認識スコアを、過去・現在間関連度合計値と現在・未来間関連度合計値の平均値を用いた値に再計算する。つまり、話題境界があると判定した場合にはNベスト候補のスコア再計算を行わない。よって、話題境界を跨いだ単語を用いた長距離文脈情報の利用を回避することができ、認識スコアの精度をより高めることが出来る。
【図面の簡単な説明】
【0019】
【図1】この発明の音声認識装置100の機能構成例を示す図。
【図2】音声認識装置100の動作フローを示す図。
【図3】音声文書の発話区間を示す図。
【図4】発話列とNベスト候補の関係を示す図。
【図5】Nベスト候補スコア再計算部20が抽出する単語ペアの関係を示す図。
【図6】話題境界検出部10の機能構成例を示す図。
【図7】話題境界検出部10の動作フローを示す図。
【図8】Nベスト候補スコア再計算部20の機能構成例を示す図。
【図9】Nベスト候補スコア再計算部20の動作フローを示す図。
【図10】実施例2の音声認識装置200のNベスト候補スコア再計算部20の機能構成例を示す図。
【図11】Nベスト候補スコア再計算部20の動作フローを示す図。
【図12】単語関連度テーブル作成装置300の機能構成例を示す図。
【図13】単語集合を概念的に示す図。
【図14】単語関連度計算部35の機構構成例を示す図。
【図15】単語関連度計算部35の動作フローを示す図。
【図16】単語関連度テーブル15の例を示す図。
【図17】従来の音声認識装置900の機能構成例を示す図。
【図18】Nベスト候補と単語認識信頼度について説明する図。
【発明を実施するための形態】
【0020】
以下、この発明の実施の形態を図面を参照して説明する。複数の図面中同一のものには同じ参照符号を付し、説明は繰り返さない。
【実施例1】
【0021】
図1に、この発明の音声認識装置100の機能構成例を示す。その動作フローを図2に示す。音声認識装置100は、発話分割部90と、音声認識部91と、話題境界検出部10と、Nベスト候補スコア再計算部20と、音声認識結果出力部93と、制御部50と、を具備する。従来の音声認識装置900(図17)と、話題境界検出部10を備える点と、Nベスト候補スコア再計算部20と制御部50とが異なる。音声認識装置100の各部の機能は、例えばROM、RAM、CPU等で構成されるコンピュータに所定のプログラムが読み込まれて、CPUがそのプログラムを実行することで実現されるものである。
【0022】
発話分割部90は、入力される音声文書内で、実際に音声が発声されている区間を切り出し、切り出した発話区間の全てを発話列として出力する(ステップS90)。図3に音声文書と発話列との関係を示す。発話区間の検出は、既存のVAD(Voice Activity Detection)技術を用いる。図3の横方向は経過時間、縦方向は音声波形の振幅である。
【0023】
音声認識部91は、入力された各発話に対して音声認識を行い、発話ごとに音声認識スコア上位N個の認識結果(Nベスト候補)と各候補の認識スコアをセットにしたNベスト候補を求める(ステップS91)。Nベスト候補は認識スコアの降順に並べ替え、全てのNベスト候補をNベスト候補列として出力する。Nは2以上の整数値であり事前に設定する、Nを小さくし過ぎると、Nベスト候補内に正しい単語が含まれないケースが増え、後段のスコア再計算の効果が低くなる。Nを大きくし過ぎると、スコア再計算の計算量が増加する。通常N=100程度に設定する。
【0024】
図4に発話列とNベスト候補の関係を示す。発話列は、縦方向に時系列に発話1〜発話Iと配列される。各発話列を音声認識した結果のNベスト候補は、各発話列に対して順位1位からN位まで、順位をk、発話番号*として認識結果候補単語列wk,*と、それぞれの認識スコアRk,*が組みで存在し、時系列にNベスト候補列を構成する。
【0025】
話題境界検出部10は、そのNベスト候補列を入力として、当該Nベスト候補列中の現在発話区間を中心として当該発話区間から音声文書の冒頭方向にある順位1位の認識結果候補を過去発話単語集合として抽出すると共に、当該現在発話区間を中心としてその現在発話区間から音声文書の末尾方向にある順位1位の認識結果候補を未来発話単語集合として抽出し、過去発話単語集合と未来発話単語集合の全ての2単語ペアの関連度の平均値である過去・未来間関連度平均値meanSpfを求め、その過去・未来間関連度平均値meanSpfと所定の閾値δとを比較して音声文書の話題境界を判定し、話題境界と判定した場合、現在発話区間を1つ更新して、上記した過去発話単語集合を抽出する処理から繰り返す(ステップS10)。
【0026】
Nベスト候補スコア再計算部20は、話題境界検出部10において話題境界と判定されなかった現在発話区間の各順位ごとに認識結果候補単語列の認識スコアを再計算する。順位kの認識結果候補単語列に含まれる単語のうち、単語リスト13に記載の単語を現在発話単語集合として抽出し、過去発話単語集合と現在発話単語集合の全ての2単語ペアの関連度の合計値である過去・現在間関連度合計値sumSkpcを計算すると共に、現在発話単語集合と未来発話単語集合の全ての2単語ペアの関連度の合計値である現在・未来間関連度合計値sumSkfcを計算し、現在発話区間の認識スコアを、過去・現在間関連度合計値sumSkpcと現在・未来間関連度合計値sumSkfcの平均値を用いた値に再計算する処理をNベスト候補の全順位の認識結果候補単語列について行い、その再計算した認識スコアに基づいて現在発話区間のNベスト候補を並べ替える処理を、音声文書の最後の発話区間についての処理が終了するまで上記した話題境界検出部10の処理から繰り返す(ステップS20)。単語リスト13は、音声認識に用いる辞書から全ての名詞を抜き出して予め作成しておく。
【0027】
図5に、Nベスト候補スコア再計算部20が抽出する単語ペアの関係を示す。例えば発話4を現在発話区間とすると順位1位の現在発話単語集合は、認識結果候補単語列w1,4に含まれる単語となる。過去発話単語集合は、現在発話区間から音声文書の冒頭方向に順位1位の認識結果候補単語wp1,wp2,…,wpnで構成される。wpnは音声文書の冒頭の発話の順位1位の認識結果候補単語で良いし、所定の数であるn個に限った発話の順位1位の認識結果候補単語でも良い。未来発話単語集合は、現在発話区間から音声文書の末尾方向に順位1位の認識結果候補単語wf1,wf2,…wfmで構成される。wfmは音声文書の末尾の発話の順位1位の認識結果候補単語で良いし、所定の数であるm個に限った発話の順位1位の認識結果候補単語でも良い。
【0028】
Nベスト候補スコア再計算部20は、過去発話単語集合と順位kの現在発話単語集合間の2単語ペアの関連度の合計値である過去・現在間関連度合計値sumSkpcと、順位kの現在発話単語集合と未来発話単語集合間の2単語ペアの関連度の合計値である現在・未来間関連度合計値sumSkfcとを求める。そして、話題境界と判定されなかった現在発話区間の順位kの認識結果候補単語列の認識スコアを、過去・現在間関連度合計値sumSkpcと現在・未来間関連度合計値sumSkfcの平均値を用いた値に再計算し、その再計算した認識スコアに基づいて現在発話区間のNベスト候補を並べ替える処理を、音声文書の最後の発話区間についての処理が終了するまで上記した話題境界検出部10の処理から繰り返す。再計算した認識スコアで並べ替えられた認識結果候補は、関連性の強い順に並ぶことになる。
【0029】
音声認識結果出力部93が、各発話区間の順位1位の候補を連結した音声認識結果を出力する(ステップS93)ことで、関連性の最も強い発話列が連結して出力される。つまり、文脈関連性のある認識結果候補単語が順次、音声認識結果として出力されることになる。
【0030】
図6に、話題境界検出部10のより具体的な機能構成例を示して更に詳しくその動作を説明する。その動作フローを図7に示す。
【0031】
話題境界検出部10は、過去発話単語集合抽出手段11と、未来発話単語集合抽出手段12と、単語リスト13と、過去・未来間関連度計算手段14と、単語関連度テーブル15と、話題境界判定手段16と、を具備する。
【0032】
過去発話単語集合抽出手段11は、先ず現在発話区間をi=1として初期化する(ステップS500)。そして、Nベスト候補列を入力として、Nベスト候補列中の現在発話区間(i=1)を中心としてその現在発話区間から音声文書の冒頭方向(i=i−1)にある順位1位の認識結果候補を過去発話単語集合(wp1,wp2,…wpn)として抽出する(ステップS11)。未来発話単語集合抽出手段12は、現在発話区間から音声文書の末尾方向(i=i+1)にある順位1位の認識結果候補を未来発話単語集合(wf1,wf2, …wpm)として抽出する(ステップS12)。過去発話単語集合(wp1,wp2,…wpn)と未来発話単語集合(wf1,wf2, …wpm)の抽出は、単語リスト13を参照して行われる。
【0033】
過去・未来間関連度計算手段14は、過去発話単語集合(wp1,wp2,…wpn)と未来発話単語集合(wf1,wf2, …wpm)の全ての2単語の組み合わせを過去・未来間発話単語ペアとして抽出し、その過去・未来間発話単語ペアの関連度を単語関連度テーブル15を参照して求め、その平均値である過去・未来間関連度平均値meanSpfを計算する(ステップS14)。
【0034】
話題境界判定手段16は、過去・未来間関連度平均値meanSpfと所定の閾値とを比較して音声文書の話題境界を判定する(ステップS16)。例えば、関連度S(x,y)を上記した式(2)で求める場合、所定の閾値δは、単語関連度が負であることは通常起こり難い共起であることを表すためδ=0と設定する。
【0035】
過去・未来間関連度平均値meanSpfが、所定の閾値δよりも小さい場合(ステップS160のYes)、過去発話単語集合(wp1,wp2,…wpn)と未来発話単語集合(wf1,wf2, …wpm)との関連度が低く、現在発話区間(i=1)は話題境界と判定される。そして、現在発話区間を1つ更新(ステップS161)して次の話題境界を検出するためにステップS11からの処理が繰り返される。
【0036】
ステップS160で、現在発話区間(i=1)が話題境界で無いと判定された場合(ステップS160のNo)、Nベストスコア再計算部20が動作を開始する。
【0037】
図8に、Nベスト候補スコア再計算部20の機能構成例を示す。その動作フローを図9に示す。Nベストスコア再計算部20は、現在発話単語集合抽出手段21と、過去・現在間関連度合計値計算手段22と、現在・未来間関連度合計値計算手段23と、スコア再計算手段24と、単語リスト13と、単語関連度テーブル15と、を具備する。単語リスト13と単語関連度テーブル15は、話題境界検出部10と同じものである。
【0038】
現在発話単語集合抽出手段21は、先ず各発話列の順位情報kを順位1位に初期化する(ステップS501)。そして、話題境界検出部10において話題境界と判定されなかった現在発話区間(i=1)の対象にしている順位k(最初は1位)の認識結果候補単語列から、単語リスト13に載っている単語を現在発話単語集合(w1,w2,…,w、Mは対象にしている順位の認識結果候補単語列の単語リスト13に載っている単語数)として抽出する(ステップS21)。
【0039】
過去・現在間関連度合計値計算手段22は、過去発話単語集合(wp1,wp2,…wpn)と順位kの現在発話単語集合(w1,w2,…,w)を入力として、過去・現在間の全ての2単語ペアの関連度を単語関連度テーブル15を参照して求め、その関連度の合計値である過去・現在間関連度合計値sumSkpcと単語ペアの数Nkpcを計算する(ステップS22)。
【0040】
現在・未来間関連度合計値計算手段23は、順位kの現在発話単語集合(w1,w2,…,w)と未来発話単語集合(wf1,wf2, …wpm)を入力として、現在・未来間の全ての2単語ペアの関連度を単語関連度テーブル15を参照して求め、その関連度の合計値である現在・未来間関連度合計値sumSkfcと単語ペアの数Nkfcを計算する(ステップS23)。
【0041】
スコア再計算手段24は、現在発話区間(i=1)の順位kの認識スコアを、過去・現在間関連度合計値sumSkpcと現在・未来間関連度合計値sumSkfcの平均値を用いた値に再計算する(ステップS24)。再計算は、全順位kの候補について終了(ステップS241のYes)するまで順位kが更新(ステップS242)されて繰り返される。再計算は、式(3)に示すように、現在発話区間(i=1)の認識スコアを、そもそもの現在発話区間の認識スコアRk,iと、過去・現在間関連度合計値sumSkpcと現在・未来間関連度合計値sumSkfcの平均値との重み付き和で計算する。
【0042】
【数3】

【0043】
ここでαは重みである。重みαは0〜1の実数値であり、0とすると式(3)から明らかなように認識スコアRk,iの値が使われなくなり、1にすると単語関連度が使われなくなる関係にある。重みαはα=0.5とするのが良い。
【0044】
Nベスト候補スコア再計算部20は、式(3)で再計算した新たな認識スコアRk,i′の値でNベスト候補を降順に並べ替える。話題境界検出部10とNベスト候補スコア再計算部20は、図7と図9に示す処理を繰り返し回数T回行う。図7と図9の処理は、結合子Aを介して連係している(図1において、Nベスト候補スコア再計算部20から話題境界検出部10に向かう線)。2回目以降は、前回の処理によって再計算された認識スコアRk,i′を使って処理を行う。この処理によって、各発話のNベスト候補は過去及び未来の発話との関連が強くなるように並べ替えられる。繰り返し回数Tを大きくすると認識率は高くなるが処理時間が増加する。また、ある程度以上大きくしても認識率は向上しなくなるので、通常はT=2と設定する。この処理により、各発話区間のNベスト候補は過去及び未来の発話との関連が強くなるように並べ替えられる。ただし、話題境界と判定された発話区間のNベスト候補の並べ替えは行われない。
【0045】
Nベスト候補スコア再計算部20におけるスコア再計算処理は、話題境界検出部10において話題境界と判定されなかった全ての発話区間について終了するまで、現在発話区間が1つ更新(ステップS244)されながら繰り返される(ステップS243のNo)。
【0046】
したがって、Nベスト候補スコア再計算部20は、話題境界と判定された発話区間についてNベスト候補のスコア再計算を行わない。つまり、話題境界を跨ぐ単語に基づく過去・現在間関連度合計値sumSkpcと現在・未来間関連度合計値sumSkfcとを用いた現在発話区間の認識スコアRk,iの再計算は行われない。よって、誤った単語に高い認識スコアを与えてしまうことを防止することができ、音声認識誤りを抑制することが出来る。
【0047】
次に、話題境界の有無の判定に加えて認識誤りが多いか否かを判定してスコア再計算を行うこの発明の音声認識装置200について説明する。
【実施例2】
【0048】
音声認識装置200は、音声認識装置100のNベスト候補スコア再計算部20を、Nベスト候補スコア再計算部30に置き換えたものである。他の機能構成は、音声認識装置100と同じである。
【0049】
図10に、Nベスト候補スコア再計算部30の機能構成例を示す。その動作フローを図11に示す。Nベスト候補スコア再計算部30は、過去発話単語関連度平均値算出手段31と、未来発話単語関連度平均値算出手段32と、過去・現在間関連度評価手段33と、現在・未来間関連度評価手段34と、を備える点でNベスト候補スコア再計算部20と異なる。現在発話単語集合抽出手段21と、単語リスト13と、単語関連度テーブル15と、過去・現在間関連度合計値計算手段22と、現在・未来間関連度合計値計算手段23と、スコア再計算手段24と、はNベスト候補スコア再計算部20と同じものである。
【0050】
現在発話単語集合抽出手段21は、先ず各発話列の順位情報kを順位1位に初期化する(ステップS501)。そして、話題境界検出部10において話題境界と判定されなかった現在発話区間(i=1)の対象にしている順位の認識結果候補単語列から、単語リスト13に載っている単語を現在発話単語集合(w1,w2,…,w、Mは対象にしている順位の認識結果候補単語列の単語リスト13に載っている単語数)として抽出する(ステップS21)。
【0051】
過去発話単語関連度平均値算出手段31は、過去発話単語集合の全ての2単語の組み合わせを過去発話単語ペアとして抽出し、その過去発話単語ペアの関連度を単語関連度テーブル15を参照して求めその平均値である過去発話単語関連度平均値meanSpを算出する(ステップS31)。未来発話単語関連度平均値算出手段32は、未来発話単語集合の全ての2単語の組み合わせを未来発話単語ペアとして抽出し、その未来発話単語ペアの関連度を単語関連度テーブル15を参照して求めその平均値である未来発話単語関連度平均値meanSfを算出する(ステップS32)。例えば過去発話単語集合と未来発話単語集合の認識結果候補単語の数を4個とした場合、過去発話単語集合の全ての2単語ペアの数は6個、未来発話単語集合の全ての2単語ペアの数も6個であり、それぞれの2単語ペアの関連度の平均値である過去発話単語関連度平均値meanSpと未来発話単語関連度平均値meanSfとを算出する。
【0052】
過去・現在間関連度合計値計算手段22は、過去発話単語集合と現在発話単語集合の全ての単語の組み合わせを過去・現在単語ペアとして抽出する。例えば、過去発話単語集合の単語がwp1,wp2,wp3で、現在発話単語集合の単語がw1,4,w2,4,w3,4(発話番号が4でNベストの数が3個)とした場合、過去・現在単語ペアは、wp1とw1,4、w2,4、w3,4の各単語集合に含まれる単語との単語ペアが抽出される。そして、過去・現在単語ペアの関連度を単語関連度テーブル15を参照して求めその合計値である過去・現在発話関連度合計値sumSkpcと過去・現在単語ペアの個数Nkpcを算出する(ステップS22)。例えば、過去発話単語集合の単語がwp1,wp2,wp3でk=1の場合には、w1,4に含まれる単語の総数の3倍が過去・現在単語ペアの個数Nkpcとなる。
【0053】
現在・未来間関連度合計値計算手段23は、未来発話単語集合と現在発話単語集合の全ての単語の組み合わせを、過去・現在間関連度合計値計算手段22と同様の動作で未来・現在単語ペアとして抽出する。そして、未来・現在単語ペアの関連度を単語関連度テーブル15を参照して求めその平均値である未来・現在発話関連度平均値sumSkfcと上記未来・現在単語ペアの個数Nkfcを算出する(ステップS23)。
【0054】
過去・現在間関連度評価手段33は、過去発話単語関連度平均値meanSpと閾値θを比較し(ステップS330)、過去発話単語関連度平均値meanSpの値が閾値θ以下の場合に、その過去・現在発話関連度合計値sumSkpcと過去発話単語ペアの個数Nkpcを0にリセットする(ステップS331)。
【0055】
現在・未来間関連度評価手段34は、未来発話関連度平均値meanSfと閾値θを比較し(ステップS340)、未来・現在発話関連度平均値sumSkfcの値が閾値θ以下の場合に、その未来・現在発話関連度平均値sumSkfcと未来発話単語ペアの個数Nkfcを0にリセットする(ステップS341)。なお、閾値θは、単語関連度が負であることは通常起こり難い共起であることを表すため0とするのが良い。スコア再計算手段24は、Nベスト候補スコア再計算部20と同じ処理を行う(ステップS24)。
【0056】
以上説明したようにNベスト候補スコア再計算部30は、過去発話単語集合内の関連性と未来発話単語集合内の関連性を評価し、関連性が有る場合は過去・現在関連度と現在・未来関連度の値を考慮した認識スコアを再計算し、関連性が無い場合はその関連度を考慮しない認識スコアを再計算する。この処理を現在発話区間のNベスト候補の全ての認識結果候補単語について行い、再計算した認識スコアで現在発話区間のNベスト候補を並べ替える。その結果、現在発話区間のNベスト候補は、関連性の強い順に並ぶことになる。
【0057】
Nベスト候補スコア再計算部30によれば、発話区間内の単語集合の関連性が低い場合、つまり、音声認識誤りが多いと推定される過去発話単語集合及び未来発話単語集合の関連度を用いないので、認識誤り単語の影響を受け難くする効果が期待できる。
【0058】
次に、単語関連度テーブル15を作成する単語関連度テーブル作成装置300について説明する。
〔単語関連度テーブル作成装置〕
【0059】
図12に、上記した単語関連度テーブルを作成する単語関連度テーブル作成装置300の機能構成例を示す。単語関連度テーブル作成装置300は、学習コーパス30、形態素解析部31、学習コーパス単語集合取得部32、単語リスト33、単語カウント部34、単語関連度計算部35、テーブル配列部36、を具備する。単語関連度テーブル作成装置200は、例えばROM、RAM、CPU等で構成されるコンピュータに所定のプログラムが読み込まれて、CPUがそのプログラムを実行することで実現されるものである。
【0060】
学習コーパス30は音声文書を大規模に集積したものである。形態素解析部31は、学習コーパス30から音声文書を読み出して単語に分割する周知の形態素解析処理を行い、各単語の前後に単語境界を表す記号、例えば「\n」を付与した単語境界付き学習コーパスを出力する。
【0061】
学習コーパス単語集合取得部32は、形態素解析部31が出力する単語境界付き学習コーパスの先頭から末尾まで、窓幅q単語、窓シフト量p単語で窓かけを行い、各窓に含まれる単語リスト33に記載された単語をまとめて単語集合とし、窓ごとの単語集合を出力する。単語リスト33は、音声認識結果に出現し得る全ての単語が記載されたものであり、事前に作成しておく。図13に、単語集合を概念的に示す。横方向は時間経過であり、単語集合をN1〜Nhで示す。pは窓シフト量であり、qは窓幅である。隣り合う単語集合は、q-p個の単語を共有する関係にある。
【0062】
単語カウント部34は、学習コーパス単語集合取得部92が出力する単語集合を入力として、単語集合内の各単語の単独生起回数C(w)、各単語ペアの生起回数C(wi,wj)、単語集合の個数Nをカウントして出力する。単語wの生起回数C(w)とは、単語wを含む単語集合の個数である。単語ペア(wi,wj)の生起回数C(wi,wj)とは、wiとwjを共に含む単語集合の個数である。
【0063】
図14に、より具体的な単語関連度計算部35の機能構成例を示してその動作を説明する。その動作フローを図15に示す。
【0064】
単語関連度計算部35は、生起回数補正手段350と、検定値計算手段351と、補正関連度計算手段352と、を具備する。生起回数補正手段350は、単語カウント部34が出力する各単語wの単独生起回数C(w)と各単語ペアの生起回数C(wi,wj)を入力として、生起回数C(wi,wj)がr回となっている単語ペア(wi,wj)の種類数Nr(ステップS350a)と、生起回数C(wi,wj)がr-1回となっている単語ペア(wi,wj)の種類数Nr-1を数える(ステップS350b)。そして、生起回数C(wi,wj)がr-1回より大きな単語ペア(wi,wj)の生起回数C(wi,wj)をそのまま補正後の生起回数C′(wi,wj)とし(ステップS350d)、生起回数C(wi,wj)がr-1回の単語ペア(wi,wj)の補正後の生起回数C′(wi,wj)を、rに上記種類数Nrを上記種類数Nr-1で除した値を乗じた値とする(式(4))(ステップS350e)。
【0065】
【数4】

【0066】
ここで生起回数のr回は、例えばr=1とすることが考えられる。これは、共起しない単語の数が最も大きいので、r=1とすることで、殆んどの単語の生起回数が補正されることになるためである。また、rは2以上の整数に設定しても良い。その場合はr-1回から0回の生起回数C′(wi,wj)が補正される。
【0067】
検定値計算手段351は、生起回数補正手段350が出力する単語集合の個数N、各単語の単独生起回数C(w)、単語ペアの補正後の生起回数C′(wi,wj)を入力として、上記単語ペア(wi,wj)が同時に発生する回数と各単語が単独で発生する回数の積との差を、統計的手法に基づいて検定する検定値を計算する(ステップS351)。検定値には例えばt値(式5)を用いることが出来る。
【0068】
【数5】

【0069】
補正関連度計算手段352は、検定値計算手段351が出力する例えばt値と、生起回数補正手段350が出力する単語集合の個数N、各単語の単独生起回数C(w)、単語ペアの補正後の生起回数C′(wi,wj)を入力として、t値と閾値θRを比較する(ステップS352a)。そして、t値が閾値θRより大きな単語ペア(wi,wj)の関連度S(wi,wj)を、補正後の生起回数C′(wi,wj)に単語集合の個数Nを乗じた値を各単語の単独生起回数の積C(w i)・C(w j)で除した値の対数値(式(6))として出力する(ステップS352c)。また、t値が閾値θRより小さな単語ペア(wi,wj)の関連度S(wi,wj)は、関連度S(wi,wj)=0として出力する(ステップS352b)。閾値θは、補正関連度計算手段352に予め設定しておいても良いし、外部から設定できるようにしても良い。
【0070】
【数6】

【0071】
閾値θRは、統計的手法のt検定の有意水準によって定める。閾値θRを高く設定すると、より多くの単語ペア(wi,wj)が独立(関連なし)だと判定される。閾値θRを高くし過ぎると、実際には関連のある単語ペア(wi,wj)まで独立だと判定するようになり、低くし過ぎると実際には独立な単語ペア(wi,wj)を独立でないと判定するようになる。閾値θRには、例えば有意水準5%の場合の値である閾値θR=1.65を用いると良い。
【0072】
このようにt値の値に応じて関連度S(wi,wj)を補正することで、「頻度の低い単語同士が共起した場合に自己相互情報量PMI(x,y)の値が非常に大きくなる」現象を、抑制することが出来る。例えば、単語xとyが1回ずつしか現れず、且つ共起していた(C(x)=C(y)=C(x,y)=1)場合のt値は、t値t(wi,wj)=1-1/Nとなり、閾値θ=1.65とするとt(wi,wj)<θであるので関連度S(wi,wj)=0とされ、その単語ペアには関連性が無いとされる。
【0073】
このように処理された関連度S(wi,wj)は、各単語C(w)から参照できるテーブル形式に配列され単語関連度テーブル作成装置300の出力となる。この単語関連度テーブル15を利用することで、より適切な認識信頼度を付与することが可能になる。図16に、単語関連度テーブル15の一例を示す。最上列と最左列は単語w1〜wNであり、各行と各列の交差する欄にそれぞれの単語の関連度S(wi,wj)が配列される。なお、検定値としてt値を用いる例で説明を行ったが、カイ二乗検定に基づくカイ二乗値χ2を用いても良い。その場合、検定値計算手段12はカイ二乗値χ2を計算する。
【0074】
上記装置における処理手段をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、各装置における処理手段がコンピュータ上で実現される。
【0075】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、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)等を用いることができる。
【0076】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記録装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0077】
また、各手段は、コンピュータ上で所定のプログラムを実行させることにより構成することにしてもよいし、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

【特許請求の範囲】
【請求項1】
入力される音声文書の発話区間を検出して発話列として出力する発話分割部と、
上記発話列を入力として音声認識を行い発話区間ごとに音声認識スコアが上位N個の認識結果候補と認識スコアを組みにしたNベスト候補を求めNベスト候補列として出力する音声認識部と、
上記Nベスト候補列を入力として、当該Nベスト候補列中の現在発話区間を中心として当該現在発話区間から上記音声文書の冒頭方向にある順位1位の上記認識結果候補を過去発話単語集合として抽出すると共に、当該現在発話区間を中心として当該現在発話区間から音声文書の末尾方向にある順位1位の上記認識結果候補を未来発話単語集合として抽出し、上記過去発話単語集合と上記未来発話単語集合の全ての2単語ペアの関連度の平均値である過去・未来間関連度平均値meanSpfを求め、当該過去・未来間関連度平均値meanSpfと所定の閾値δとを比較して上記音声文書の話題境界を判定し、話題境界と判定した場合、現在発話区間を1つ更新して、上記過去発話単語集合を抽出する処理から繰り返す話題境界検出部と、
上記話題境界検出部において話題境界と判定されなかった現在発話区間の各順位ごとに、対象にしている順位の認識結果候補単語列から現在発話単語を現在発話単語集合として抽出し、上記過去発話単語集合と当該現在発話単語集合の全ての2単語ペアの関連度の合計値である過去・現在間関連度合計値sumSkpcを計算すると共に、上記現在発話単語集合と上記未来発話単語集合の全ての2単語ペアの関連度の合計値である現在・未来間関連度合計値sumSkfcを計算し、当該現在発話区間の認識スコアを、上記過去・現在間関連度合計値sumSkpcと上記現在・未来間関連度合計値sumSkfcの平均値を用いた値に再計算し、その再計算した認識スコアに基づいて上記現在発話区間のNベスト候補を並べ替える処理を、上記音声文書の最後の発話区間についての処理が終了するまで上記話題境界検出部の処理から繰り返すNベスト候補スコア再計算部と、
各発話区間の順位1位の候補を連結した音声認識結果を出力する音声認識結果出力部と、
を具備する音声認識装置。
【請求項2】
請求項1に記載した音声認識装置において、
上記Nベスト認識スコア再計算部は、
上記話題境界検出部において話題境界と判定されなかった現在発話区間の各順位ごとに、対象にしている順位の認識結果候補単語列から現在発話単語を現在発話単語集合として抽出し、
上記過去発話単語集合の全ての2単語の組み合わせを過去発話単語ペアとして抽出し、その過去発話単語ペアの関連度の平均値である過去発話単語関連度平均値meanSpを算出すると共に、上記未来発話単語集合の全ての2単語の組み合わせを未来発話単語ペアとして抽出し、その未来発話単語ペアの関連度の平均値である未来発話単語関連度平均値meanSfを算出し、
上記過去発話単語集合と上記現在発話単語集合の全ての単語の組み合わせを過去・現在単語ペアとして抽出し、当該過去・現在単語ペアの関連度の合計値である過去・現在間発話関連度合計値sumSkpcと過去・現在単語ペアの個数Nkpcを算出すると共に、上記未来発話単語集合と上記現在発話単語集合の全ての単語の組み合わせを未来・現在単語ペアとして抽出し、当該未来・現在単語ペアの関連度の合計値である未来・現在間発話関連度合計値sumSkfcと上記未来・現在単語ペアの個数Nkfcを算出し、
上記過去発話単語関連度平均値meanSpと閾値θ、及び上記未来発話単語関連度平均値meanSfと閾値θとを比較することで、上記過去発話単語集合内の関連性と上記未来発話単語集合内の関連性をそれぞれ評価し、関連性がある場合は上記過去・現在間発話関連度合計値sumSkpcと上記未来・現在間発話関連度合計値sumSkfcを考慮して認識スコアを再計算し、関連性がない場合は上記過去・現在間発話関連度合計値sumSkpcと上記未来・現在間発話関連度合計値sumSkfcを考慮しない認識スコアを再計算して、その再計算した認識スコアに基づいて上記現在発話区間のNベスト候補を並べ替えるもの、
であることを特徴とする音声認識装置。
【請求項3】
入力される音声文書の発話区間を検出して発話列として出力する発話分割過程と、
上記発話列を入力として音声認識を行い発話区間ごとに音声認識スコアが上位N個の認識結果候補と認識スコアを組みにしたNベスト候補を求めNベスト候補列として出力する音声認識過程と、
上記Nベスト候補列を入力として、当該Nベスト候補列中の現在発話区間を中心として当該現在発話区間から上記音声文書の冒頭方向にある順位1位の上記認識結果候補を過去発話単語集合として抽出すると共に、当該現在発話区間を中心として当該現在発話区間から音声文書の末尾方向にある順位1位の上記認識結果候補を未来発話単語集合として抽出し、上記過去発話単語集合と上記未来発話単語集合の全ての2単語ペアの関連度の平均値である過去・未来間関連度平均値meanSpfを求め、当該過去・未来間関連度平均値meanSpfと所定の閾値δとを比較して上記音声文書の話題境界を判定し、話題境界と判定した場合、現在発話区間を1つ更新して、上記過去発話単語集合を抽出する処理から繰り返す話題境界検出過程と、
上記話題境界検出過程において話題境界と判定されなかった現在発話区間の各順位ごとに、対象にしている順位の認識結果候補単語列から現在発話単語を現在発話単語集合として抽出し、上記過去発話単語集合と上記現在発話単語集合の全ての2単語ペアの関連度の合計値である過去・現在間関連度合計値sumSkpcを計算すると共に、上記現在発話単語集合と上記未来発話単語集合の全ての2単語ペアの関連度の合計値である現在・未来間関連度合計値sumSkfcを計算し、当該現在発話区間の認識スコアを、上記過去・現在間関連度合計値sumSkpcと上記現在・未来間関連度合計値sumSkfcの平均値を用いた値に再計算し、その再計算した認識スコアに基づいて上記現在発話区間のNベスト候補を並べ替える処理を、上記音声文書の最後の発話区間についての処理が終了するまで上記話題境界検出過程の処理から繰り返すNベスト候補スコア再計算過程と、
各発話区間の順位1位の候補を連結した音声認識結果を出力する音声認識結果出力過程と、
を備える音声認識方法。
【請求項4】
請求項1又は2に記載した音声認識装置としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2013−72922(P2013−72922A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−210274(P2011−210274)
【出願日】平成23年9月27日(2011.9.27)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】