【文献】
小林 彰夫 Akio KOBAYASHI,"報告 単語誤り最小化に基づく識別的リスコアリングによる音声認識 Discriminative Rescoring Based on Minimization of Word Errors for Broadcast Transcription",NHK技研R&D No.131 (2012-01-15),日本,日本放送協会,2012年 1月15日,No.131,p.28-39
(58)【調査した分野】(Int.Cl.,DB名)
前記誤り修正モデルは、前記統計的音響モデルに基づいて得られる前記音声認識結果の音響スコアと、前記統計的言語モデルに基づいて得られる前記音声認識結果の言語スコアとにより算出される前記音声認識結果の音声認識のスコアを、重み付けされた前記言語的な特徴により修正する式である、
ことを特徴とする請求項1に記載の音声認識装置。
【発明を実施するための形態】
【0013】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
【0014】
[1. 本実施形態の概要]
音声認識では、学習データの語彙と音声認識の対象の音声(発話内容)の語彙とが完全に一致することは少ない。例えば、スポーツ中継の音声を音声認識対象とする場合、学習データ中に含まれる選手の名前の中に、スポーツ中継の対象となる試合に出場する選手の名前が含まれていないことがある。
【0015】
統計的言語モデルにおいて、上記のような学習データと対象音声との間のミスマッチを解消する際には一般に、単語及び単語のクラスを利用したクラス言語モデルが使われる。スポーツ中継の例にならえば、仮に学習データ中に音声認識対象となる選手名が出現していなかったとしても、選手名が属するクラスに適当な確率を与えた上で当該選手名を語彙に登録しておけば、選手名をクラスに置き代えることによって単語の出現確率を定めることが可能である。しかし、選手名の出現確率を適切に推定できなければ、出場する選手の数が多数の場合には、選手名の単語どうしで競合が起こり、正しい認識結果が得られないかもしれない。例えば、同音の姓でありながら異なる表記を持つような選手名を考えてみれば容易に想像がつくことである。
【0016】
字幕制作を目的とした音声認識アプリケーションでは、リアルタイムに音声認識結果を出力したのち、人手により誤りを修正する。クラス言語モデルでは、クラスに属する各単語の出現確率を必要とするが、人手による修正を経た認識結果を正解とみなせば、この出現確率を逐次的かつ認識誤りが最小となるように学習し、適応化することが可能となる。このような誤り修正モデルが実現できれば、従来の誤り修正モデルよりも音声認識性能の向上が見込まれるため、前述の字幕制作をはじめとする産業上の応用が大いに期待できる。
そこで、本発明の一実施形態の音声認識装置は、事前に定義した単語クラスとクラス言語モデルを用いて、対象となる放送番組を音声認識しながら逐次的に誤り修正モデルを学習し、音声認識に適用する。
【0017】
[2. 誤り修正モデルの学習アルゴリズム]
続いて、本実施形態の音声認識装置に適用される誤り修正モデルの学習アルゴリズムを説明する。
本実施形態の音声認識装置は、音声認識において、少量の学習データもしくは断片的な情報しか得られない場合でも、単語の属性に応じたクラスに基づく誤り修正モデルを逐次的かつ統計的に頑健に学習し、音声認識に適用する。
【0018】
音声認識では、統計的言語モデルを用いて単語の予測を行う。しかし、先述のスポーツ中継の例に見られるように、言語モデルの学習データの中に認識させたい単語が含まれていないことがある。このような場合には、統計的言語モデルとして、単語に基づく言語モデルのかわりに単語と単語のクラスに基づくクラス言語モデルが使われることが多い。認識させたい語が学習データに含まれていない場合、その語が含まれるクラスからの出現確率をヒューリスティックに定めることにより、単語の予測が可能となる。例えば、スポーツ中継などでは、出場選手の名前などの断片的な情報しか入手できないことも多い。これは特定の選手が具体的にどのようなプレーを行うのか、選手名を含むテキストもしくは単語列としての情報が得られないため、前後の単語列から選手名の予測を行うことが困難であることを示す。一方、どのようなプレーが行われるか(「ゴールした」「オフサイド」など)は、個々の出場選手にはほとんど依存しないため、過去に行われた試合の放送字幕等から推定できる。
【0019】
学習データからは、過去のプレーに関するテキスト(単語列)は得られるものの、各選手に関する具体的なテキスト(選手名を含む文脈)は得られない。このようなケースでは、選手名のクラスを用意した上で、認識させたい(出場予定の)選手名をクラスから出現する確率があるものとして予め適当に設定することで、選手名の単語予測を行う。
文献「北 研二,”確率的言語モデル”,東京大学出版会,1999年,p.72−74」によれば、単語の属性に応じたクラスが与えられたときのn−gram言語モデル(クラス言語モデル)は一般に、以下の式(1)により表される。
【0021】
式(1)において、wは予測単語、hは予測単語wの直前の単語列、cは予測単語wが所属するクラスである。また、P(w|h)は、直前の単語列hが与えられたときに単語wが出現する事後確率、p(w|c)は、予測単語wがクラスcから生起する確率(クラスからの出現確率)、p(c|h)は、直前の単語列hが与えられたときにクラスcが出現する事後確率である。ただし、式(1)では、単語が属するクラスは高々1つと仮定している。
【0022】
一方、誤り修正モデルを推定するための従来の方法では、音声認識の誤り傾向を学習するために音声認識結果および正解単語列を学習データとして用いる。したがって、音声認識結果もしくは正解単語列中に認識させたい選手名が出現しなければ、選手名に関する音声認識の誤り傾向は学習できない。この欠点を改善するために、本実施形態の音声認識装置は、単語及び単語のクラスに基づく統計的言語モデルを用いて、現在音声認識している放送音声およびその修正結果(正解単語列)から音声認識の誤り傾向を逐次的に学習し、発話内容に適応した誤り修正モデルを学習する。
【0023】
ここで、従来の誤り修正モデルについて説明する。
ベイズの定理によれば、音声入力xが与えられたとき、この音声入力xに対して尤もらしい単語列w^(「^」は、「ハット」を表す。)は、以下の式(2)により求めることができる。
【0025】
音声入力x及び単語列wは、例えば、発話の単位に対応し、P(w|x)は、音声入力xが与えられたときに単語列(文仮説)wが得られる事後確率である。
P(x|w)は、単語列wに対する音響的な尤もらしさを示す尤度であり、そのスコアは隠れマルコフモデル(Hidden Markov Model、HMM)及びガウス混合分布(Gaussian Mixture Model、GMM)に代表される統計的音響モデルに基づいて計算される。
P(w)は、単語列wに対する言語的な尤もらしさであり、そのスコアは、単語またはクラスn−gram言語モデル等の統計的言語モデルにより計算される。なお、単語またはクラスn−gram言語モデルは、N項の単語またはN項の単語及びクラスの連鎖(Nは、例えば1、2、または3である。)の統計に基づいて、(N−1)項の単語または(N−1)項の単語及びクラスの履歴から次の単語またはクラスの生起確率を与えるモデルである。
【0026】
以下の説明では、統計的音響モデルにHMM−GMMを用い、統計的言語モデルにクラスn−gram言語モデルを用いる。
【0027】
式(2)のP(x|w)P(w)が最大の場合は、その対数も最大である。そこで、音声認識では、上記の式(2)のベイズの定理に基づいて、音声入力xが与えられたときの文仮説(正解候補)である単語列wの評価関数s(w|x)を以下の式(3)のように定める。
【0029】
式(3)において、f
am(x|w)は統計的音響モデルによる正解候補の単語列wの対数音響スコア、f
lm(w)は統計的言語モデルによる正解候補の単語列wの対数言語スコア、λ
lmは音響スコアに対する言語スコアの重みである。
【0030】
式(3)が定められたとき、以下の式(4)に示すように、音声入力xに対する正解候補の単語列wの集合Wの中から、式(3)が示す評価関数s(w|x)の結果が最大である最尤仮説の単語列w^が、音声入力xの音声認識結果として選択される。
【0032】
従来法における誤り修正モデルでは、式(4)に代えて、以下の式(5)により最尤仮説の単語列w^を求める。
【0034】
式(5)におけるΣ
iλ
if
i(w)は、単語列wの誤り傾向を反映したスコアであり、単語列wに対するペナルティもしくは報償として働く。f
i(i=1,...,)はi番目の素性関数であり、λ
iは素性関数f
iの重み(素性重み)である。素性関数は、与えられた単語列wで言語的ルールが成立すればその数となり、成立しなければ0となるような関数として定められる。
従来法における素性関数f
iの言語的ルールである素性の例として、以下の(1a)、(1b)に示すような、単語の共起関係に基づくものがある。
【0035】
(1a)単語列wに含まれる単語2つ組(u,v)の数
(1b)単語列wに含まれる連続しない単語2つ組(u,v)の数
【0036】
上記のように、音声認識の誤り傾向は、素性関数とその重みにより言語的な特徴に対するペナルティとして表現され、学習データの単語誤りを最小化する評価関数に基づいて推定される。
【0037】
前述のように、通常の単語n−gram言語モデルでは、学習データ中に認識させたい語が含まれない場合に確率の推定が困難となる。そこで、本実施形態の音声認識装置は、単語及びクラスに基づくn−gram言語モデル(クラスn−gram言語モデル)を統計的言語モデルとして用いる。クラスn−gram言語モデルでは、クラスに属する単語については前記の式(1)を適用してP(w|h)を得、クラスに属していない単語については、単語n−gram言語モデルと同様に予め与えられたP(w|h)を適用する。
【0038】
なお、単語wが属するクラスcは任意に決めてよい。一般には、単語頻度に基づいて統計的手段によりクラスタリングを行って各単語が属するクラスを決定する。しかし、本実施形態では、音声認識の対象となる単語が学習データ中で観測されないことを前提とするため、ヒューリスティクスに基づいて単語を分類する。例えば、人手により選手名やチーム名といったクラスを定め、そのクラスに属する単語とそのクラスにおける各単語の出現確率とを列挙する。なお、本実施形態では、1つの単語は1つのクラスにのみ属するものと仮定する。
【0039】
そこで、本実施形態では、従来法に基づく式(5)の誤り修正モデルを以下の式(6)のように変更する。
【0041】
式(6)において、f
i、g
j、h
kは素性関数であり、λ
iは素性関数f
iの重み、μ
jは素性関数g
jの重み、ν
kは素性関数h
kの重みである。これらの重みλ
i、μ
j、ν
kは、誤り修正モデルのモデルパラメータ(素性重み)である。
【0042】
式(6)の素性関数f
iは、上述した(a1)、(a2)の例ように、与えられた単語列で言語的ルールが成立すればその数を、成立しなければ0となるような関数として定められる従来の素性関数である。
【0043】
式(6)の素性関数g
jは、クラスを用いることにより導入される素性関数であり、単語のクラスと当該単語に隣接する単語列との共起を素性とする。具体的には、素性関数g
jは、以下の(2a)、(2b)のようなルールを素性とする。
【0044】
(2a)単語列wに含まれる連続する単語・クラスの2つ組(u,o(v))の数
(2b)単語列wに含まれる連続する単語・クラスの3つ組(u,v,o(z))の数
【0045】
ここで、o(・)は、ある単語をクラスに写す関数であり、u、v、zは連続する単語である。上記の素性は、直前の単語(品詞または意味カテゴリ)列とクラスとの共起関係を記述した素性関数といえる。なお、ここでの単語列は、1以上の単語からなる。
【0046】
式(6)の素性関数h
kは、以下の(3)のようなルールを素性とする新たに定める素性関数である。
【0047】
(3)単語列wに含まれるクラスcに属する単語uの数
【0048】
図1は、本実施形態の誤り修正モデルの学習方法と、従来の誤り修正モデルの学習方法との比較を示す図である。従来法においては、単語n−gramに基づく統計的言語モデルの利用を前提としており、そこで利用される素性関数は同図に例示する(鈴木,が,ゴール)のように、単語3つ組など単語列に依存した素性を定義する。
【0049】
一方、本実施形態では、単語及びクラスに基づく統計的言語モデルの利用を前提としているため、単語の一部がクラスとして表現される。そこで、本実施形態では、クラスを含んだ単語列に基づく素性関数g
jを用いる。同図の例では、単語「鈴木」がクラス<選手>に置換されており、例えば、単語とクラスの3つ組(<選手>,が,ゴール)を素性とする素性関数g
jが用いられる。
また、音声認識することにより、これらのクラスは実現値として特定の単語のインスタンスを持つこととなるため、音声認識結果とその修正結果である正解単語列からは、従来の単語3つ組による素性関数f
iを得ることができる。同図の例では、クラス<選手>のインスタンスは、音声認識結果においては単語「中村」であり、正解単語列では単語「中山」である。そのため、単語3つ組(中村,が,ゴール)、(中山,が,ゴール)を素性とする素性関数f
iが用いられる。
さらに、クラスから特定の単語のインスタンスが生起する関係が、新たな素性関数h
kとして定義される。例えば、クラス<選手>に属する単語「中村」が単語列に出現する数、クラス<選手>に属する単語「中山」が単語列に出現する数を素性とする素性関数h
kが用いられる。
本実施形態の音声認識装置は、これらの素性関数f
i、g
j、h
kを用いて誤り修正モデルを学習するが、この学習を、音声認識結果とその修正結果を用いて逐次的に行う。
【0050】
音声認識結果をw
hyp、音声認識結果の修正結果である正解単語列をw
refとする。音声認識では、ベイズの定理により事後確率が最大となる音声認識結果の単語列を正解として出力する。したがって、音声入力xが与えられたときの正解単語列w
refの事後確率P(w
ref|x)は、認識誤りを含む音声認識結果w
hypの事後確率P(w
hyp|x)よりも大きくなることが望ましい。しかし、音声認識のパフォーマンスは、単語認識率(もしくはこれと等価な単語誤り率)によって測られるため、誤り修正モデルでは、誤りが最小となるように正解単語列w
refの事後確率を最大化することが必要となる。そこで、音声認識対象として音声入力xが与えられたとき、対応する正解単語列をw
ref、音声入力xの音声認識結果をw
hyp∈Wとして、モデルパラメータの集合である素性重みΛ={…,λ
i,…,μ
j,…,ν
k,…}を推定するための目的関数を以下の式(7)のように定める。
【0052】
式(7)において、R(w
ref,w
hyp)は、正解単語列w
refと音声認識結果w
hypの編集距離を返す関数である。2つの単語列の編集距離は、動的計画法により効率的に求めることができる。編集距離は、正解単語列w
refに対する音声認識結果w
hypの誤り単語数(置換、脱落、挿入の誤りの総和)を表しており、式(7)の目的関数L(Λ)は、音声認識結果における単語の期待誤り数を表している。音声認識結果における単語の期待誤り数が少ないほど、音声認識において認識誤りを生じることなく認識結果を生成できる。よって、目的関数L(Λ)を最小化するように素性重みΛの各モデルパラメータを推定すれば、音声認識の性能向上が期待できる。つまり、式(7)の目的関数は、正解単語列の事後確率が最大、かつ、音声認識結果の単語列に期待される認識誤りが最小となり、モデルパラメータΛが適切であるかの評価値を算出する評価関数として用いられる。
【0053】
式(7)の目的関数L(Λ)を最小化するために勾配を計算すると以下の式(8)から式(10)のようになる。
【0057】
音声入力を…,x
t−1,x
t,…とすれば、(t−1)番目の音声入力x
t−1を音声認識した後のパラメータ更新式は、確率的勾配降下法により以下の式(11)から式(13)となる。なお、λ
it−1、μ
jt−1、ν
kt−1はそれぞれ、音声入力x
t−1の音声認識前に得られていたモデルパラメータλ
i、μ
j、ν
kである。また、λ
it、μ
jt、ν
ktはそれぞれ、音声入力x
t−1の音声認識後に得られる更新後のモデルパラメータλ
i、μ
j、ν
kである。κ
λ、κ
μ、κ
νは定数である。
【0061】
誤り傾向の学習とは、音声データの音声認識結果とその正解単語列を学習データとして用い、式(6)の素性関数f
i、g
j、h
kとそれらそれぞれのモデルパラメータλ
i、μ
j、ν
kの集合である素性重みΛを求めることである。
【0062】
上述のように、本実施形態の音声認識装置は、従来の単語に基づく統計的言語モデルではなく、単語及びクラスに基づく統計的言語モデルを誤り修正モデルに用いる。そして、本実施形態の音声認識装置は、発話内容に適応させるために、音声認識結果を逐次取得して単語及びクラスに基づく誤り修正モデルのモデルパラメータを推定する。本実施形態の音声認識装置は、この逐次推定によって、発話内容に適合し、かつ認識させたい語の誤り傾向を反映した誤り修正モデルを得る。本実施形態の音声認識装置は、逐次推定された誤り修正モデルを用いて音声認識を行うことにより音声認識の誤り傾向を修正し、音声認識性能を改善することが可能となる。
【0063】
[3. 音声認識装置の構成]
図2は、本発明の一実施形態による音声認識装置1の構成を示す機能ブロック図であり、本実施形態と関係する機能ブロックのみ抽出して示してある。
音声認識装置1は、コンピュータ装置により実現される。同図に示すように、音声認識装置1は、音声言語資源記憶部11、音響モデル記憶部12、言語モデル記憶部13、誤り修正モデル記憶部14、クラスモデル作成部21、音声認識部22、誤り修正部23、整列部24、特徴量抽出部25、及び誤り修正モデル学習部26を備えて構成される。
【0064】
音声言語資源記憶部11は、学習データとして、音声データと、その音声データの書き起こし(正解単語列)のテキストデータとからなる音声言語資源を記憶する。本実施形態では、音声言語資源として、放送から収集された放送音声及び字幕データD1を用いる。音響モデル記憶部12は、統計的音響モデルを格納する。言語モデル記憶部13は、単語及び単語のクラスに基づく統計的言語モデルとして、クラス言語モデルを格納する。誤り修正モデル記憶部14は、誤り修正モデルを格納する。
【0065】
クラスモデル作成部21は、音声言語資源記憶部11に記憶されている音声データから統計的音響モデルを作成し、音響モデル記憶部12に書き込む。さらにクラスモデル作成部21は、音声言語資源記憶部11に記憶されている音声言語資源のテキストデータからクラス言語モデルを作成する。クラスモデル作成部21は、各クラスに属する単語とその単語のクラスへの所属確率とを示す単語・クラスリストデータD2の入力を受け、作成したクラス言語モデルに含まれるクラスに属する単語のリストを書き換える。クラスモデル作成部21は、書き換え後のクラス言語モデルを言語モデル記憶部13に書き込む。
【0066】
音声認識部22は、音響モデル記憶部12に記憶されている統計的音響モデル、言語モデル記憶部13に記憶されているクラス言語モデル、および誤り修正モデル記憶部14に記憶されている誤り修正モデルを用いて、音声データD3を音声認識する。この音声認識により、正解候補の単語列が複数得られる。音声認識部22は、正解候補の単語列である音声認識結果を複数設定した音声認識結果データD4を出力する。本実施形態では、放送字幕の制作を前提としているため、音声認識部22は、この音声認識結果データD4を誤り修正部23に出力する。誤り修正部23は、音声認識結果データD4が示す音声認識結果に対してユーザーの入力に従って人手により修正を行い、正解単語列を得る。誤り修正部23は、正解単語列を設定した正解単語列データD5を出力する。本実施形態では、正解単語列データD5は、放送局内で放送波に重畳され、放送字幕データD6として放送される。
【0067】
整列部24は、正解単語列データD5が示す正解単語列を音声入力に対して時刻順に整列する。整列部24は、整列させた正解単語列を設定した整列済み正解単語列データD7を出力する。特徴量抽出部25は、音声認識結果データD4が示す音声認識結果と、整列済み正解単語列データD7が示す整列済みの正解単語列から、誤り修正モデルに用いる素性関数を抽出する。特徴量抽出部25は、抽出した素性関数を設定した素性関数データD8と、音声認識結果データD4及び整列済み正解単語列データD7とを出力する。
【0068】
誤り修正モデル学習部26は、音声認識結果データD4が示す音声認識結果、整列済み正解単語列データD7が示す整列済みの正解単語列、及び、素性関数データD8が示す素性関数を用いて、誤り修正モデルのモデルパラメータΛを学習する。誤り修正モデル学習部26は、学習したモデルパラメータΛを用いた誤り修正モデルにより、誤り修正モデル記憶部14に現在記憶されている誤り修正モデルを更新する。
以下に、本実施形態の、音声認識装置1の各部の処理について詳細を述べる。
【0069】
[4. 音声認識装置の処理手順]
図3は、音声認識装置1の処理手順を示す図である。同図に示す一連の処理は、音声認識装置1に、音声認識対象の放送番組の音声データD3が入力される度に逐次的に行うものとする。
図3の処理を実行する前にまず、音声言語資源記憶部11は、放送から収集された放送音声及び字幕データD1を蓄積する。この放送音声及び字幕データD1が示す放送字幕などのテキストデータに含まれる単語のうち、クラスに属する単語には、クラスを特定する情報を予め付加しておく。例えば、放送字幕などのテキストに含まれる人名などの固有名詞に、クラスを特定する情報を付与しておく。クラスを特定する情報として例えば、先の例のような“選手名”や“チーム名”といったクラス名を用いる。これらのクラス分類は、音声認識対象となる音声の種類により異なるため、テキストデータを形態素解析した際に得られる品詞に基づくなどして、タスクに応じてユーザーが決定し、付与する。
【0070】
クラスモデル作成部21は、音声言語資源記憶部11に記憶されている音声データからGMM/HMMなどに基づく統計的音響モデルを作成し、音響モデル記憶部12に書き込む。さらに、クラスモデル作成部21は、音声言語資源記憶部11に蓄積されたテキストデータからクラス言語モデルとして、クラスn−gram言語モデルを生成する。クラスn−gram言語モデルは、クラスに属する単語が含まれない単語列については式(1)におけるP(w|h)を示し、クラスに属する単語が含まれる単語列については、式(1)におけるp(w|c)、及びp(c|h)を示す。ユーザーは、音声認識したい放送番組に関する事前の情報に基づいて、音声認識対象に応じたp(w|c)に相当する単語・クラスリストデータD2を作成し、音声認識装置1に入力する。具体的には、単語・クラスリストデータD2は、音声言語資源記憶部11に蓄積されたテキストデータ(字幕データ)に付随しているクラス名に応じて、そのクラス名のクラスに属する単語と、その単語のクラスへの所属確率との一覧を表形式で並べたものである。クラスモデル作成部21は、生成したクラスn−gram言語モデルに含まれるp(w|c)を、入力された単語・クラスリストデータD2が示すp(w|c)に書き換えて言語モデル記憶部13に書き込む。
【0071】
[4.1 ステップS1:音声認識]
音声認識部22は、音響モデル記憶部12に記憶されている統計的音響モデル、言語モデル記憶部13に記憶されているクラス言語モデル、及び誤り修正モデル記憶部14に記憶されている式(6)に示すような誤り修正モデルを用いて、音声データD3の音声認識を行う。この際、音声認識部22は、小休止をはさんだ音声区間ごとに音声データD3を分割し、分割した音声区間を1つの処理単位である音声入力xとして音声認識する。このとき、音声認識部22は、クラス言語モデルが示す各クラスに属する単語の情報を用いて、音声認識結果に含まれる単語が属するクラスを得る。また、音声認識部22は、音声認識結果w
hypのスコアを、式(6)に示す誤り修正モデルのargmaxが対象としている評価関数を用いて算出する。つまり、音声認識部22は、以下の式(14)に示すように、音声認識結果w
hypについて{f
am(x|w
hyp)+λ
lmf
lm(w
hyp)}により算出される音声認識のスコアを、誤り修正スコアにより修正した(対数)スコアs(w
hyp)を算出する。なお、誤り修正スコアは、{Σ
iλ
if
i(w
hyp)+Σ
jμ
jg
j(w
hyp)+Σ
kν
kh
k(w
hyp)}に相当する。
【0073】
音声認識部22は、複数個の音声認識結果w
hypのもっともらしさの順序を、スコアs(w
hyp)の高い順に決定する。音声認識部22は、各音声認識結果w
hypにもっともらしさの順序と、(対数)音響スコアf
am(x|w
hyp)、(対数)言語スコアf
lm(w
hyp)、及び誤り修正スコアを付与した音声認識結果データD4を出力する。このように、音声認識結果データD4が示す音声認識結果は、音声入力から得られた音声認識結果の選択における誤りを修正したものである。
【0074】
[4.2 ステップS2:音声認識結果の誤り修正]
誤り修正部23は、音声認識部22から出力された音声認識結果データD4が示す音声認識結果w
hypのうち、もっともらしさの順位が最も高い音声認識結果を、キーボード等の図示しない入力手段によりユーザーが入力した指示に従って修正する。誤り修正部23は、修正結果である正解単語列w
refを設定した正解単語列データD5を出力する。正解単語列データD5は、放送局内で放送波に重畳され、放送字幕データD6として放送される。
【0075】
[4.3 ステップS3:正解単語列の整列]
整列部24は、既存の技術により、正解単語列データD5が示す正解単語列w
refと、この正解単語列w
refに対応する音声入力xを用いて、正解単語列w
refを構成する各単語が発話された時刻(単語の開始・終了区間)を同定して整列する。この際、整列部24は、整列させた各単語について、音響モデル記憶部12に記憶されている統計的音響モデルによる音響スコア、及び、言語モデル記憶部13に記憶されているクラス言語モデルによる言語スコアを算出する。さらに、整列部24は、整列させた各単語について誤り修正スコアを算出する。具体的には、整列部24は、上述した式(14)の{Σ
iλ
if
i(w
hyp)+Σ
jμ
jg
j(w
hyp)+Σ
kν
kh
k(w
hyp)}の部分に、音声認識結果w
hypに代えて正解単語列w
refの各単語を用いて誤り修正スコアを算出する。このとき、整列部24は、は、クラス言語モデルが示す各クラスに属する単語の情報を用いて、正解単語列w
refに含まれる単語が属するクラスを得る。整列部24は、整列させた単語からなる正解単語列w
refに各単語の音響スコア、言語スコア、及び誤り修正スコアを付加した整列済み正解単語列データD7を出力する。
【0076】
[4.4 ステップS4:特徴量抽出]
特徴量抽出部25は、音声認識結果データD4が示す音声認識結果w
hypと、整列済み正解単語列データD7が示す整列済みの正解単語列w
refとから、言語的特徴に基づく素性関数を抽出する。本実施形態では、特徴量抽出部25は、以下のルールを素性とする素性関数を定義する。
【0077】
特徴量抽出部25は、従来法と同様の単語列に基づいた以下の(1−1)、(1−2)のルールを素性とする素性関数f
iを定義する。
【0078】
(1−1)正解単語列w
refに含まれる連続する単語2つ組(u,v)、単語3つ組(u,f,z)の数
(1−2)音声認識結果w
hypに含まれる連続する単語2つ組(u,v)、単語3つ組(u,f,z)の数
【0079】
さらに、特徴量抽出部25は、以下の(2−1)、(2−2)のルールを素性とする素性関数g
jを定義する。
【0080】
(2−1)正解単語列w
refに含まれる連続する単語・クラスの2つ組(u,o(v))、3つ組(u,v,o(z))の数
(2−2)音声認識結果w
hypに含まれる連続する単語・クラスの2つ組(u,o(v))、3つ組(u,v,o(z))の数
【0081】
なお、o(・)は、単語をクラスに写す関数である。この関数の値は、言語モデル記憶部13に記憶されているクラス言語モデルが示す、各クラスに属する単語の情報を用いて得られる。例えばこのクラスは、選手名やチーム名などの固有名詞に基づいて分類されるクラスを指す。また、これら固有名詞は1単語につき1つのクラスに分類され、複数のクラスには属さないものと仮定する。
加えて、特徴量抽出部25は、以下の(3−1)、(3−2)に示すルールを素性とする素性関数h
kを定義する。
【0082】
(3−1)正解単語列w
refに含まれるクラスo(u)に属する単語uの数
(3−2)音声認識結果w
hypに含まれるクラスo(u)に属する単語uの数
【0083】
特徴量抽出部25は、定義した素性関数f
i、g
j、h
kを設定した素性関数データD8と、音声認識結果データD4及び整列済み正解単語列データD7とを誤り修正モデル学習部26に出力する。
【0084】
[4.5 ステップS5:誤り修正モデル学習]
誤り修正モデル学習部26は、音声認識結果データD4が示す音声認識結果w
hyp、整列済み正解単語列データD7が示す整列済みの正解単語列w
ref、および、素性関数データD8が示す素性関数f
i、g
j、h
kを利用して誤り修正モデルを更新(学習)する。
【0085】
図4は、誤り修正モデル学習部26による誤り修正モデル学習処理を示すフローチャートを示す図である。誤り修正モデルの学習は、音声データD3が与えられるたびに逐次的に行われる。誤り修正モデル学習部26は、学習により得られた誤り修正モデルにより、誤り修正モデル記憶部14に記憶されている誤り修正モデルを更新する。したがって、誤り修正モデル学習部26は、第1回目の素性関数の重み(モデルパラメータ)を学習する際は、モデルパラメータに対して適当な初期値を与えるか、音声言語資源記憶部11のデータを用いて、静的に誤り修正モデルを求めておく。本実施形態では、簡便のためすべてのモデルパラメータをゼロとおき、初期モデルと定める。
【0086】
誤り修正モデル学習部26は、音声認識結果データD4、整列済み正解単語列データD7、及び素性関数データD8が入力されると、特徴量抽出部25が抽出した素性関数を利用した誤り修正モデルが用いる評価関数として、以下の式(15)を生成する。式(15)における素性関数f
i、g
j、h
kは、これまでに特徴量抽出部25から出力された素性関数データD8に設定された素性関数である。換言すれば、式(15)における素性関数f
i、g
j、h
kは、誤り修正モデル記憶部14に現在記憶されている誤り修正モデルの素性関数f
i、g
j、h
kに、入力された素性関数データD8から取得した新たな素性関数f
i、g
j、h
kを加えたものである。
【0088】
式(7)の目的関数L(Λ)を計算するために、音声入力xに対するn=1,...,N番目の音声認識結果w
hypそれぞれについて、正解単語列w
refとの間の編集距離と、事後確率を計算する必要がある。音声入力xが与えられたときの音声認識結果w
hypの事後確率P(w
hyp|x)は、以下の式(16)により算出されるスコアの総和Zを用いて、式(17)により算出される。式(17)におけるexp内の式は、式(15)における単語列wを音声認識結果w
hypとしたものである。
【0091】
そこでまず、誤り修正モデル学習部26は、nに初期値1を設定する(ステップS51)。また、誤り修正モデル学習部26は、整列済み正解単語列データD7から正解単語列w
refと、正解単語列w
refの各単語の音響スコア及び言語スコアを読み出す。誤り修正モデル学習部26は、読み出した音響スコア及び言語スコアを用いて、式(15)によりスコアs(w
ref)を算出する。このとき、誤り修正モデル学習部26は、クラス言語モデルが示す各クラスに属する単語の情報を用いて、正解単語列w
refに含まれる単語が属するクラスを得る。誤り修正モデル学習部26は、算出したスコアs(w
ref)をZの初期値とする。
【0092】
誤り修正モデル学習部26は、音声認識結果データD4からn番目の音声認識結果w
hypと、音響スコアf
am(x|w
hyp)及び言語スコア音響スコアf
lm(w
hyp)を読み出す。誤り修正モデル学習部26は、音響スコアf
am(x|w
hyp)及び言語スコアf
lm(w
hyp)を用いて、式(15)によりスコアs(w
hyp)を算出する。このとき、誤り修正モデル学習部26は、クラス言語モデルが示す各クラスに属する単語の情報を用いて、音声認識結果w
hypに含まれる単語が属するクラスを得る。誤り修正モデル学習部26は、現在のZの値を、n番目の音声認識結果w
hypについて算出したスコアs(w
hyp)を加算した値に更新し、記憶しておく(ステップS52)。誤り修正モデル学習部26は、n番目の音声認識結果w
hypと正解単語列w
refとを比較して編集距離R(w
ref,w
hyp)を計算し、記憶しておく(ステップS53)。誤り修正モデル学習部26は、nの値がNに達していなければ、nに1を加算し、ステップS52及びステップS53の処理を実行する(ステップS54)。
【0093】
nの値がNに達し、正解単語列w
refとN個のすべての音声認識結果w
hypとのスコアの総和Z、および、N個のすべての音声認識結果w
hypそれぞれと正解単語列w
refとの編集距離R(w
ref,w
hyp)を求めた後、誤り修正モデル学習部26は、以下のように事後確率と期待誤り数を計算する。
【0094】
誤り修正モデル学習部26は、nに初期値1を設定する(ステップS55)。誤り修正モデル学習部26は、n番目の音声認識結果w
hypとスコアの総和Zを用い、式(17)により事後確率P(w
hyp|x)を算出する(ステップS56)。誤り修正モデル学習部26は、n番目の音声認識結果w
hypについてステップS53において計算した編集距離R(w
ref,w
hyp)と、ステップS56において算出した事後確率P(w
hyp|x)とを用い、式(18)により期待誤り数Lを計算する(ステップS57)。
【0096】
誤り修正モデル学習部26は、nの値がNに達していなければ、nに1を加算し、ステップS56及びステップS57の処理を実行する(ステップS58)。
【0097】
nの値がNに達した場合、誤り修正モデル学習部26は、ステップS57で計算した期待誤り数Lを用いて、以下の式(19)から式(21)により、各モデルパラメータλ
i,μ
j,ν
kそれぞれの変化分(勾配)∂L(Λ)/∂λ
i、∂L(Λ)/∂μ
j、∂L(Λ)/∂ν
kを計算する(ステップS59)。なお、誤り修正モデル学習部26は、素性関数f
i(w’)、g
j(w’)、h
k(w’)の値を、w’に相当する音声認識結果w
hypから算出する。
【0101】
誤り修正モデル学習部26は、ステップS59において計算した勾配∂L(Λ)/∂λ
i、∂L(Λ)/∂μ
j、∂L(Λ)/∂ν
kを用いて、以下の式(22)から式(24)により、モデルパラメータλ
it,μ
jt,ν
ktを計算する。
【0105】
なお、モデルパラメータλ
it,μ
jt,ν
ktはそれぞれ、更新後のモデルパラメータλ
i,μ
j,ν
kである。また、モデルパラメータλ
it−1,μ
jt−1,ν
kt−1はそれぞれ、前回の推定で求めたモデルパラメータλ
i,μ
j,ν
kであり、現在誤り修正モデル記憶部14に記憶されている誤り修正モデルのモデルパラメータである。κ
λ、κ
μ、κ
νは予め決められた定数である。
【0106】
誤り修正モデル学習部26は、式(15)に、式(22)から式(24)により算出したモデルパラメータλ
it,μ
jt,ν
ktを設定した評価関数を生成する。誤り修正モデル学習部26は、式(6)のargmaxが対象としている評価関数に、生成した評価関数を用いて誤り修正モデルを更新し、誤り修正モデル記憶部14に現在記憶されている誤り修正モデルを、更新した誤り修正モデルに置き換える(ステップS60)。誤り修正モデル学習部26は、
図4の処理を終了する。
【0107】
[5. 効果]
本実施形態によれば、音声認識装置1は、クラスモデルによる素性を用いることで、学習データ中に認識させたい単語が出現しなくても、頑健な誤り修正モデルを構成可能となり、従来よりも認識誤りが削減される。
【0108】
[6. その他]
なお、上述の音声認識装置1は、内部にコンピュータシステムを有している。そして、音声認識装置1の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、CPU及び各種メモリやOS、周辺機器等のハードウェアを含むものである。
【0109】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。