【文献】
小林彰夫 他,"単語誤り最小化に基づく識別的リスコアリングによるニュース音声認識",電子情報通信学会論文誌D,2010年 5月 1日,Vol.J93-D,No.5,pp.598-609
【文献】
小林彰夫 他,"ラベルなしデータを用いた識別的言語モデルの検討",日本音響学会2010年秋季研究発表会講演論文集CD-ROM,2010年 9月 7日,pp.145-146
(58)【調査した分野】(Int.Cl.,DB名)
前記誤り傾向学習部は、前記放送音声認識部による前記音声認識結果に含まれる単語と、前記部分正解単語列に含まれる正解の前記ラベルが付与された単語、及び、前記放送音声認識部による他の前記音声認識結果に含まれる単語との時間軸上での重なり、ならびに、他の前記音声認識結果が正解である確率とに基づいて、前記音声認識結果に期待される認識誤り数を表す誤りコストを計算し、計算した前記誤りコストに基づいて前記誤り修正モデルを学習する、
ことを特徴とする請求項1に記載の音声認識装置。
前記言語的な特徴は、前記音声認識結果から得られる連続する複数の単語の共起関係、連続しない複数の単語の共起関係、単語の構文的な情報、または単語の意味的な情報のうち1以上であり、
前記誤り傾向学習部は、前記誤りコストを計算するとともに、前記放送音声認識部による前記音声認識結果が正解である確率を当該音声認識結果に含まれる前記言語的な特徴に基づいて計算し、前記音声認識結果の誤りコスト及び前記音声認識結果が正解である確率を用いて定められた評価関数に基づいて音声認識の誤り傾向を反映した前記誤り修正モデルを学習する、
ことを特徴とする請求項1または請求項2に記載の音声認識装置。
【発明を実施するための形態】
【0014】
以下、図面を参照しながら本発明の実施形態を詳細に説明する。
【0015】
[1. 本実施形態の概要]
音声認識の誤り傾向を反映した、いわゆる誤り修正モデルがすでに考案されている。この誤り修正モデルを学習するためには、誤り傾向を学習するための音声と、その音声を正確に書き起こしたテキストデータが学習データとして必要となる。しかし、音声の書き起こしにかかるコストは高く、誤り修正モデルを学習するための学習データの収集は容易ではない。そのため、コストを軽減しながらも、誤り修正モデルの統計的な頑健性を得ることが求められている。
【0016】
一方、放送を対象とした音声認識では、多くの番組の音声とその字幕が利用可能である。これらの音声と付随する字幕を使用することにより、改めて人手による放送音声の書き起こしを行うことなく誤り修正モデルを学習することが期待される。しかし、番組に付随するテキストは、番組内容の発話を必ずしも忠実に書き起したものではない。また、字幕が画面に重畳される時刻と、該当する発話が発声される時刻とは異なるため、音声と字幕の対応関係を取る必要がある。
【0017】
そこで本実施形態の音声認識装置は、字幕テキストを用いて適応学習を行った統計的言語モデル(以下、「統計的言語モデル」を「言語モデル」と記載する。)により放送音声を音声認識し、その認識結果を用いて統計的音響モデル(以下、「統計的音響モデル」を「音響モデル」と記載する。)の適応学習を行う。本実施形態の音声認識装置は、適応学習を行った音響モデル及び言語モデルを用いて放送音声を音声認識し、その認識結果から信頼度の高い区間を正解、信頼度の低い区間を誤りとしてラベル付けした部分正解単語列を抽出する。そして、このような部分的に正解を含んでいると期待できる部分正解単語列と、実際の入力音声の音声認識に使用する所望の音響モデル及び言語モデルを用いた放送音声の音声認識結果とを利用して、誤り修正モデルを学習する。この学習において、本実施形態の音声認識装置は、部分正解単語列において正解と信頼できる区間と信頼できない区間とに対して誤り傾向を反映したコスト関数を適用する。コスト関数とは、誤りコストを算出する関数であり、誤りコストとは、部分正解単語列に対する放送音声の音声認識結果に期待される認識誤り数である。本実施形態の音声認識装置は、学習データ(放送音声と付随する字幕テキスト)について、誤りコストの期待値を最小化する目的関数を用いて誤り修正モデルを学習する。
【0018】
[2. 誤り修正モデルの学習アルゴリズム]
続いて、本発明の一実施形態による音声認識装置に適用される誤り修正モデルの学習アルゴリズムを説明する。
上述したように、本実施形態の音声認識装置は、従来の課題を解決するために、コストのかかる音声の書き起こし作業を行うかわりに、放送音声と付随する字幕から、部分的に正解と見込まれる単語列を生成し、この単語列を用いて誤り修正モデルを学習する。これにより、誤り修正モデルの学習に必要な書き起こし等のデータ作成のコストを大幅に下げ、かつ音声認識性能を改善することが可能となる。
【0019】
[2.1 誤り修正モデル]
ベイズの定理によれば、音声入力xが与えられたとき、この音声入力xに対して尤もらしい単語列w^(「^」は、「ハット」を表す。)は、以下の式(1)により求めることができる。
【0021】
音声入力x及び単語列wは、例えば、発話の単位に対応し、P(w|x)は、音声入力xが与えられたときに単語列(文仮説)wが得られる事後確率である。
また、P(x|w)は、単語列wに対する音響的な尤もらしさを示す尤度であり、そのスコア(音響スコア)は隠れマルコフモデル(Hidden Markov Model、HMM)及びガウス混合分布(Gaussian Mixture Model,GMM)に代表される音響モデルに基づいて計算される。言い換えれば、音響特徴量が与えられたとき、複数の正解候補の単語それぞれに対する尤もらしさを表すスコアが音響スコアである。
【0022】
一方、P(w)は、単語列wに対する言語的な生成確率であり、そのスコア(言語スコア)は、単語n−gramモデル等の言語モデルにより計算される。言い換えれば、音声認識対象の単語の前または後の単語列、あるいは前後両方の単語列が与えられたとき、複数の正解候補の単語列それぞれに対する言語的な尤もらしさを表すスコアが言語スコアである。なお、単語n−gramモデルは、N単語連鎖(Nは、例えば1、2、または3である。)の統計に基づいて、(N−1)単語の履歴から次の単語の生起確率を与えるモデルである。
【0023】
以下の説明では、統計的音響モデルにHMM−GMMを用い、統計的言語モデルにn−gramを用いる。
【0024】
式(1)のP(x|w)P(w)が最大の場合は、その対数も最大である。そこで、音声認識では、上記の式(1)のベイズの定理に基づいて、音声入力xが与えられたときの文仮説(正解候補)である単語列wの評価関数g(w|x)を以下の式(2)のように定める。
【0026】
式(2)において、f
am(x|w)は、HMMにより与えられる対数音響尤度(音響スコア)、f
lm(w)は、n−gram言語モデルにより与えられる単語列wの対数生成確率(言語スコア)、λ
lmは、音響スコアに対する言語スコアの重みである。
【0027】
式(2)が定められたとき、以下の式(3)に示すように、音声入力xに対する正解候補の単語列wの集合Lの中から、式(2)が示す評価関数g(w|x)の結果が最大である単語列w^が、音声入力xの音声認識結果として選択される。
【0029】
誤り修正モデルでは、式(1)を以下の式(4)のように変更する。
【0031】
式(4)におけるΣ
iλ
if
i(w)は、単語列wの誤り傾向を反映したペナルティスコアである。また、f
i(w)(i=1,...,)はi番目の素性関数、λ
iは素性関数f
i(w)の重み(素性重み)である。素性関数は、与えられた単語列(ここでは、単語列w)で言語的ルールが成立すればその数となり、成立しなければ0となるような関数として定められる。これらルールは、例えば、連続する単語または連続しない2単語以上の単語列、単語の構文的な情報または意味的な情報、などの言語的特徴である。従来法における具体的な素性関数f
iのルールの例として、以下の(1)、(2)に示すような、単語の共起関係に基づくものがある。
【0032】
(1)単語列wに連続する単語2項組(u,v)が含まれる場合、その数を返す関数
(2)単語列wに連続しない単語2項組(u,v)が含まれる場合、その数を返す関数
【0033】
上記のように、音声認識の誤り傾向は、素性関数とその重みにより言語的な特徴に対するペナルティとして表現され、学習データの単語誤りを最小化する評価関数に基づいて推定される。つまり、誤り傾向の学習とは、音声データの音声認識結果とその正解単語列を学習データとして用いて式(4)の重みλ
iを求めることである。
【0034】
[2.2 本実施形態に適用される学習アルゴリズム]
上述したように、本実施形態の音声認識装置は、音声の正解単語列を得るために、放送音声と付随する字幕を用いる。
【0035】
図1は、放送音声と字幕の関係を示す図である。同図に示すように、通常、放送音声に対する字幕の表示タイミングにはずれがある。また、放送音声の発話内容と字幕とは類似しているものの、必ずしも一致するとは限らない。例えば、ニュース等のアナウンサーによる原稿読み上げを除けば、字幕からは発話の冗長性が失われており、オリジナルとは異なる言語表現が用いられることも多い。そのため、字幕テキストを音声の書き起こしとして用いることはできない。
【0036】
ところで、一般的には、字幕が付随する放送音声から発話内容を得るために、字幕テキストから言語モデルを推定しておき、式(5)示すように、より大きな学習テキストから学習した言語モデルとの線形補間により言語モデルを統合して音声認識を行う。
【0038】
式(5)において、P
0(w)は、大規模なテキストデータ(学習テキスト)から学習した言語モデルを用いたときの単語列wの生成確率であり、P
1(w)は、字幕テキストから学習した言語モデルを用いたときの単語列wの生成確率である。また、θ(0≦θ≦1)は、言語モデルに対する混合重みと呼ばれる係数である。
上記の線形補間による言語モデルは、発話内容に近いテキストでバイアスをかけた適応言語モデルとみなせる。従って、式(5)の言語モデルを用いて字幕が付随する放送音声を音声認識した結果は、発話内容を誤りなく認識するものではないものの、その認識率は高いと考えられる。
【0039】
音声認識性能は、雑音や話し方、あるいは発話の速さなどの音響的な条件に依存する。そこで、本実施形態の音声認識装置は、式(5)により適応化した言語モデルを用いて音声認識した結果得られた単語列を正解とみなして音響モデルの適応化を行い、音響的条件に適応したモデルによる音声認識結果を得る。
【0040】
本実施形態の音声認識装置は、言語モデルの適応化、及び、音響モデルの適応化の双方により得られた音声認識結果に対して、その信頼度に応じて正解・誤りを判別する。信頼度とは、認識結果の正しさを定量的な値で表した指標であり、音声認識を行う際に得られるさまざまな情報に基づいて算出される。最も単純な信頼度は、認識単語列に対する事後確率であり、ゼロから1までの値をとる。本実施形態では、信頼度として、この認識単語列に対する事後確率を用いる場合について説明する。
【0041】
図2は、部分正解単語列の例を示す図である。
同図では、適応化言語モデル及び適応化音響モデルを用いた音声認識結果として単語列「ABCDEF」が得られている。各単語A,B,C,D,E,Fにはそれぞれ、事後確率に基づく信頼度が付与されており、「ABC」及び「F」は、信頼度が予め定められた閾値以上であるためこれらの単語の信頼度は高く、「DE」は、信頼度が閾値未満であるためこれらの単語の信頼度は低い。そのため、本実施形態の音声認識装置は、「ABC」と「F」を正解とみなし、「DE」を誤り(不正解)とみなす。本実施形態の音声認識装置は、信頼度による判別により、音声認識結果の各単語に正誤のラベルを付与して部分正解単語列を生成する。なお、各単語には、発話の開始、終了時刻も付与されている。
このように、本実施形態の音声認識装置は、大規模なテキストデータから学習した言語モデルを字幕テキストから生成された言語モデルにより線形補間した統合モデルである適応化言語モデルと、適応化言語モデルを用いて音声認識を行った結果に基づいて適応化した音響モデルである適応化音響モデルとを用いて、放送音声を音声認識した結果から部分正解単語列を生成する。
【0042】
本実施形態では、学習後に実際に音声認識で適用する音響モデルと言語モデルを用いて誤り修正モデルを学習する必要がある。そこで、本実施形態の音声認識装置は、部分正解列を推定した放送音声に対して、あらためて音響モデルと言語モデルにより音声認識を行う。この際に得られる音声認識結果は、複数個あってもよい。音声認識結果には、各単語に発話の開始時刻と終了時刻が重畳される。
【0043】
図3は、発話時刻に合わせて整列させた部分正解単語列(
図2)と、実際に音声認識で適用する音響モデルと言語モデルを用いた音声認識結果の対応を示す。同図に示すように、部分正解単語列に付与された正誤のラベルと発話の開始及び終了時刻を利用すると、音声認識結果に含まれる各単語が、正解と信頼できる区間にあるか、信頼できない(誤り)区間にあるかが分かる。
従来法の誤り修正モデルの学習では、正解が与えられた場合、あるいは正解が与えられていない場合のみに限って誤り傾向を学習する。一方、本実施形態の音声認識装置による誤り修正モデルの学習では、放送音声に付随する字幕を用いて、正解が与えられていないデータに対し、信頼できる区間については正解が付与されたとみなして誤り傾向を学習し、信頼できない区間、すなわち正解の付与されていない区間についても誤り傾向を学習する。
【0044】
図4は、
図3を詳細化した図であり、部分正解単語列の単語と音声認識結果の単語の対応を示す図である。ここでは、音声認識結果(文仮説)として得られた複数の単語列のうちの1つの単語列w内の単語仮説w
bに着目した場合について説明する。同図に示すように、nフレームの単語仮説w
bに対して、部分正解単語列の中の正解単語w
aがmフレーム分だけオーバーラップしている。さらに、この単語仮説w
bに対して、他の音声認識結果(文仮説)の単語列w’内の単語仮説w
cが正解単語w
aとのオーバーラップ部分を除いたkフレーム分だけオーバーラップしている。なお、フレームとは、音声認識における入力音声の時間方向の処理単位である。
【0045】
本実施形態における音声認識の誤り傾向は、音声認識結果から期待される単語誤りの数の近似として定義される。本実施形態では、部分正解単語列に対する音声認識結果の期待される誤り数を「誤りコスト」と呼ぶ。誤りコストは、単語仮説レベルの計算から文仮説全体の計算へとボトムアップ的に計算される。
【0046】
単語仮説レベルでの誤りコスト計算は、着目している単語仮説が正解単語とオーバーラップしているか否かにより処理が分割される。
図4を例にして、これらの誤りコスト計算について説明する。
【0047】
(a)正解単語とオーバーラップしている区間の部分誤りコストc
着目している音声認識結果である単語列wの単語仮説w
bが、部分正解単語列内の正解単語w
aとオーバーラップする区間(w
a,w
b間)の部分誤りコストcは、以下の式(6)により算出される。
【0049】
(b)(a)以外の区間の部分誤りコストc’
着目している音声認識結果である単語列w内の単語仮説w
bが、部分正解単語列内の正解単語w
aとオーバーラップする区間(mフレーム)を除いた区間(w
b,w
c間)の部分誤りコストc’は、以下の式(7)により算出される。
【0051】
式(6)及び式(7)におけるlabel(・,・)関数は、比較する2つの単語表記が一致する場合にゼロ、それ以外は1を返す関数である。また、式(7)におけるp(w’|x)は、音声入力xが与えられたときの他の音声認識結果の単語仮説w’(単語仮説w
c)に対する事後確率である。なお、正確には式(6)の右辺にも正解単語w
aの事後確率が乗算されるが、正解単語の事後確率は1としているため、省略されている。
【0052】
音声認識結果の単語列内において着目している単語仮説wに対する部分誤りコストc(w)は、以下の式(8)により算出される。
【0054】
ここで、overlap
1(・,・)関数は、着目している単語仮説wのフレーム数に対して、単語仮説wと正解単語w
refとの間でオーバーラップするフレーム数の比を求める関数である(式(6)のm/nに相当)。単語仮説wには、複数の正解単語w
refがオーバーラップしうるため、オーバーラップする各正解単語w
refについてそれぞれ、overlap
1(w,w
ref)×label(w,w
ref)を算出し、それらを加算している。
また、overlap
2(・,・)関数は、着目している単語仮説wと他の単語仮説w’との間でオーバーラップするフレーム数から、正解単語w
refとオーバーラップするフレーム数を減算した上で、着目している単語仮説wのフレーム数に対する比を求める関数である(式(7)の(m+k−m)/nに相当)。このとき、単語仮説wが複数の正解単語w
refとオーバーラップする場合は、いずれかの正解単語w
refとオーバーラップするフレーム数全てを減算する。式(8)では、正解単語w
refとオーバーラップする区間以外では、着目している単語仮説w以外の単語仮説w’が確率p(w’|x)で正解に該当するとみなして誤りコストを計算している。
【0055】
上述の部分誤りコストは、着目している単語仮説が正解と一致しない場合に大きな値を取るため、認識の誤り数を近似的に表現したものとなることに注意する。また、正解単語とオーバーラップする区間については、正解単語のみとの部分誤りコストを計算し、誤り単語とオーバーラップする区間については、その区間においてオーバーラップするすべての他の音声認識結果との部分誤りコストを計算する。ただし、正解単語とオーバーラップ部分があれば、それを除外して計算する。
【0056】
着目している文仮説(音声認識結果)wにおける部分誤りコストの総和Χ(w)は、以下の式(9)により算出される。
【0058】
式(9)におけるw
lは、文仮説(音声認識結果)wに含まれる単語仮説であり(l=1,…)、単語仮説w
lの部分誤りコストc(w
l)は、式(8)の単語仮説wを単語仮説w
lとすることにより得られる。
【0059】
m番目(m=1,…)の番組音声x
mから音声認識結果としてN個の文仮説w
nが得られたとき(n=1,…,N)、番組音声x
mの全ての文仮説に対する誤りコストは以下の式(10)により算出される。
【0061】
式(10)は、番組音声x
mから得られた全文仮説の誤りコストが、各文仮説w
nの誤りコストをその文仮説w
nの事後確率P(w
n|x
m)で重み付けした加重和として算出されることを示している。
【0062】
学習データ全体に対する誤りコストを最小化することで、近似的に認識誤りを最小化するとみなせる。つまり、本実施形態の音声認識装置は、学習データに対する誤りコストを最小化するΛ=(λ
1,λ
2,…)を求めることにより、誤り修正モデルを学習する。
【0063】
[3. 音声認識装置の構成]
図5は、本発明の一実施形態による音声認識装置1の構成を示す機能ブロック図であり、発明と関係する機能ブロックのみ抽出して示してある。
音声認識装置1は、コンピュータ装置により実現され、同図に示すように、言語モデル格納部11、音響モデル格納部12、音声言語資源管理部13、音声言語資源格納部14、正解単語列生成部15、信頼度計算部22、部分正解単語列抽出部23、放送音声認識部24、特徴量抽出部25、誤り傾向学習部26、誤り修正モデル格納部27、及び入力音声認識部28を備えて構成される。
【0064】
言語モデル格納部11は、大量の学習テキストから学習された言語モデルを格納する。音響モデル格納部12は、音響モデルを格納する。
【0065】
音声言語資源管理部13は、放送信号D1から放送音声データと字幕データを取得し、音声言語資源格納部14に格納する。このとき、音声言語資源管理部13は、放送信号D1に重畳されているEPG(電子番組ガイド:Electronic Program Guide)から番組名や出演者等の情報を取得してラベルデータとし、放送音声データ及び字幕データに対応付けて音声言語資源格納部14に格納する。このラベルデータは、放送番組に適した誤り修正モデルを学習する際に、その対象となる放送番組に合致、または類似した放送番組の放送音声データ及び字幕データのみを選択して誤り修正モデルの学習に使用するために用いられる。音声言語資源管理部13は、音声言語資源格納部14に記憶されている放送音声データ及び字幕データ中から、ラベルデータに基づいて誤り修正モデルの学習に使用する放送音声データD3と対応する字幕データD2を選択する。
【0066】
正解単語列生成部15は、放送音声データD3と、対応する字幕データD2とから、正解と見込まれる単語列を生成する。正解単語列生成部15は、言語モデル適応化部16、適応化言語モデル格納部17、適応化言語モデル使用音声認識部18、音響モデル適応化部19、適応化音響モデル格納部20、及び適応化音響モデル使用音声認識部21を備えて構成される。
【0067】
言語モデル適応化部16は、言語モデル格納部11に記憶されている言語モデルと、字幕データD2から生成した言語モデルとの線形補間により適応化言語モデルを生成し、適応化言語モデル格納部17に書き込む。
適応化言語モデル使用音声認識部18は、音響モデル格納部12に格納されている音響モデルと、適応化言語モデル格納部17に記憶されている適応化言語モデルとを用いて放送音声データD3を音声認識し、得られた音声認識結果を示す音声認識結果データD4を出力する。
音響モデル適応化部19は、音声認識結果データD4が示す音声認識結果を用いて、音響モデル格納部12に記憶されている音響モデルの適応化を行い、適応化音響モデルを生成する。音響モデル適応化部19は、生成した適応化音響モデルを適応化音響モデル格納部20に格納する。
適応化音響モデル使用音声認識部21は、適応化言語モデル格納部17に記憶されている適応化言語モデルと、適応化音響モデル格納部20に記憶されている適応化音響モデルとを用いて放送音声データD3を音声認識し、得られた音声認識結果を示す音声認識結果データD5を出力する。
【0068】
信頼度計算部22は、音声認識結果データD5が示す音声認識結果に含まれる各単語について、認識結果の正誤の指標となる信頼度を計算する。
部分正解単語列抽出部23は、予め定められた信頼度の閾値との比較により、信頼度計算部22により信頼度が付与された音声認識結果の各単語に対して、正解、もしくは誤りのラベルを付与し、部分正解単語列を生成する。部分正解単語列抽出部23は、生成した部分正解単語列を示す部分正解単語列データD6を出力する。
【0069】
放送音声認識部24は、言語モデル格納部11に記憶されている言語モデルと、音響モデル格納部12に記憶されている音響モデルとを用いて、放送音声データD3を音声認識し、得られた音声認識結果を示す音声認識結果データD7を出力する。放送音声認識部24が音声認識に用いる言語モデル、音響モデルはそれぞれ、字幕によるバイアスのない言語モデル、適応化を行っていない音響モデルである。通常、音声認識装置が音声認識対象の放送音声を認識する際に、その放送音声に関する事前知識は用いない。従って、誤り修正モデルの学習に必要な音声認識結果は、データ自身によるバイアスのかかっていない音響モデルと言語モデルを用いて作成される。
【0070】
特徴量抽出部25は、部分正解単語列データD6が示す部分正解単語列と、音声認識結果データD7が示す音声認識結果に含まれる単語列や音素列等から言語的な特徴を抽出する。特徴量抽出部25は、抽出された言語的な特徴をルールとする素性関数を示す素性関数データD8を出力する。
【0071】
誤り傾向学習部26は、部分正解単語列データD6が示す部分正解単語列と、音声認識結果データD7が示す音声認識結果と、素性関数データD8が示す素性関数とを用いて音声認識結果の誤り傾向を学習し、誤り修正モデルのモデルパラメータΛ=(λ
1,λ
2,…)を統計的手段により決定する。誤り傾向学習部26は、決定したモデルパラメータΛを用いた誤り修正モデルを誤り修正モデル格納部27に書き込む。
【0072】
入力音声認識部28は、言語モデル格納部11に記憶されている言語モデル、及び音響モデル格納部12に記憶されている音響モデルを参照し、誤り修正モデル格納部27に記憶されている誤り修正モデルを用いて、入力音声データD9の音声認識を行い、音声認識結果データを出力する。
【0073】
なお、放送音声データD3、及び入力音声データD9は、発話の音声波形を短時間スペクトル分析して得られた特徴量を示す。
【0074】
[4. 音声認識装置の処理手順]
図6は、本実施形態による音声認識装置1の全体処理フローを示す図である。以下、同図に示す各ステップの処理について説明する。
【0075】
[4.1 ステップS1]
音声言語資源管理部13は、放送信号D1から放送番組の放送音声データと、対応する字幕データを取得する。さらに音声言語資源管理部13は、放送信号D1に重畳されているEPGから、放送番組の番組名、出演者、ジャンル、放送時刻等の情報を取得し、この取得した情報を示すラベルデータを生成する。音声言語資源管理部13は、同じ放送番組の放送音声データ及び字幕データに、ラベルデータを対応付けて音声言語資源格納部14に格納する。このように、放送音声データ及び字幕データには、ラベルデータが機械的に付与される。
【0076】
[4.2 ステップS2]
利用者は、誤り修正モデルの学習に用いるデータを選択するための条件を図示しない入力手段により入力する。例えば、料理番組に適した誤り修正モデルを学習する際には、番組名、もしくは番組のジャンルを条件として入力する。音声言語資源管理部13は、音声言語資源格納部14に記憶されているラベルデータの中から、入力された条件に合致、または類似した情報が設定されているラベルデータを特定する。音声言語資源管理部13は、特定したラベルデータに対応付けて記憶されている放送音声データと字幕データを読み出し、それぞれ、放送音声データD3、字幕データD2として出力する。
【0077】
[4.3 ステップS3]
正解単語列生成部15は、ステップS3で出力された放送音声データD3と、対応する字幕データD2とから、正解と見込まれる単語列を生成する。
【0078】
[4.3.1 適応化言語モデル作成]
ステップS3において、まず、言語モデル適応化部16は、字幕データD2から既存技術により言語モデルP
1を生成する。次に、言語モデル適応化部16は、式(5)に基づいて、言語モデル格納部11に記憶されている言語モデルP
0と、字幕データD2から生成した言語モデルP
1との線形補間を行い、適応化言語モデルを生成する。この適応化言語モデルは、ある単語列が与えられたとき、その単語列を構成する単語が生成される確率を示すものであり、予め用意したテキストに対して、式(5)のθが最大になる確率を実験的に決める既存手法により生成することができる。例えば、適応化言語モデルとしてn−gramを用いる場合、単語列を構成する各部分単語列について、線形補間により算出された確率が得られる。このようにして生成された適応化言語モデルは、放送音声データD3が示す発話内容の予測に適応した言語モデルである。よって、この適応化言語モデルを用いることにより、放送音声データD3の認識率が改善する。言語モデル適応化部16は、生成した適応化言語モデルを適応化言語モデル格納部17に書き込む。
【0079】
[4.3.2 適応化言語モデルを用いた音声認識]
適応化言語モデル使用音声認識部18は、音響モデル格納部12に格納されている音響モデルと、適応化言語モデル格納部17に記憶されている適応化言語モデルとを用いて、放送音声データD3を音声認識する。適応化言語モデル使用音声認識部18は、音声認識の結果得られた正解文候補のうち、最も尤もらしい正解文候補を音声認識結果データD4に設定して出力する。
【0080】
[4.3.3 適応化音響モデルの生成]
音響モデル適応化部19は、音声認識結果データD4に設定されている音声認識結果を用いて、音響モデル格納部12に記憶されている音響モデルの適応化を行う。本実施形態では、適応化手法として、既存手法である最尤線形回帰(Maximum Likelihood Linear Regression)法を適用する。具体的には、音声認識結果データD4が示す音声認識結果を正解とみなして、放送音声データが与えられたときの音響尤度を最大化するように、音響モデルのパラメータを決定する。音響モデル適応化部19は、適応化により生成した適応化音響モデルを適応化音響モデル格納部20に格納する。
【0081】
[4.3.4 適応化言語モデル及び適応化音響モデルを用いた音声認識]
適応化音響モデル使用音声認識部21は、適応化言語モデル格納部17に記憶されている適応化言語モデルと、適応化音響モデル格納部20に記憶されている適応化音響モデルとを用いて、放送音声データD3を音声認識する。これにより得られた音声認識結果は、字幕データD2、放送音声データD3により適応化された言語モデル及び音響モデルを用いているため、適応化言語モデル使用音声認識部18において得られた音声認識結果よりも認識率が改善すると見込まれる。適応化音響モデル使用音声認識部21は、正解候補単語列をグラフによりコンパクトに表現した単語ラティスを示す音声認識結果データD5を出力する。
【0082】
[4.4 ステップS4]
信頼度計算部22は、音声認識結果データD5が示す音声認識結果に含まれる各単語の信頼度を計算する。本実施形態では、単語事後確率を信頼度と定める。音声認識結果データD5が示す音声認識結果に用いられている単語ラティスは、音声認識結果を効率的に表現するためのグラフ構造であり、そのグラフ構造の頂点を結ぶ辺に単語仮説、音響モデルのスコア(f
am(x|w))及び言語モデルのスコア(f
lm(w))が付与され、頂点には各単語仮説の発話終了(あるいは開始)時刻が付与される。単語事後確率は、ある辺を通る確率として定義されるが、これは既存の手法である前向き・後ろ向きアルゴリズムにより求めることができる。信頼度計算部22は、前向き・後ろ向きアルゴリズムにより、ラティス上の各辺に対応した単語事後確率を算出し、算出した単語事後確率を音声認識結果データD5が示す単語ラティス上の辺に重畳する。
【0083】
部分正解単語列抽出部23は、音声認識結果データD5から信頼度計算部22により信頼度が付与された単語ラティスを読み出し、既存手法であるビタビアルゴリズムを用いて、最も尤もらしい文仮説である最尤系列を求める。この際、部分正解単語列抽出部23は、単語事後確率が信頼度に対して予め定めた閾値以上であるか否かに基づいて、最尤系列の各単語に正解または誤りのラベルを付与する。部分正解単語列抽出部23は、正解または誤りのラベルが付与された最尤系列である部分正解単語列を設定した部分正解単語列データD6を出力する。
【0084】
[4.5 ステップS5]
ステップS3、ステップS4が実行されている一方で、放送音声認識部24は、言語モデル格納部11及び音響モデル格納部12のそれぞれに記憶されているバイアスのかかっていない言語モデル及び音響モデルを用いて、放送音声データD3を音声認識する。放送音声認識部24は、複数の文仮説から構成されるn−bestリストの音声認識結果を得ると、得られた音声認識結果を示す音声認識結果データD7を出力する。なお、音声認識結果データD7には、各音声認識結果の音響スコア、及び言語スコアも設定される。
【0085】
[4.6 ステップS6]
特徴量抽出部25は、ステップS4で出力された部分正解単語列データD6が示す部分正解単語列と、ステップS5で出力された音声認識結果データD7が示す音声認識結果のそれぞれから、言語的特徴に基づく素性関数を抽出する。素性関数のルールは、例えば、連続する単語、連続しない2単語以上の単語、単語の構文的な情報または意味的な情報、などの言語的特徴である。
【0086】
部分正解単語列、及び音声認識結果の単語列をwとすると、本実施形態では、特徴量抽出部25は、単語の共起関係に基づく素性関数として、例えば以下の(a)、(b)を単語列wから抽出する。
【0087】
(a)単語列wに連続する単語2項組(u,v)が含まれる場合,その数を返す関数
(b)単語列wに連続しない単語2項組(u,v)が含まれる場合、その数を返す関数
【0088】
また、特徴量抽出部25は、単語列wを構成する各単語を名詞や動詞といった品詞カテゴリ(構文情報)に置き換えた上で、構文情報に基づく素性関数として、例えば以下の(c)、(d)を抽出する。なお、c(・)は単語を品詞にマッピングする関数である。
【0089】
(c)単語列wに連続する品詞2項組(c(u),c(v))が含まれる場合、その数を返す関数
(d)単語列wに連続しない品詞2項組(c(u),c(v))が含まれる場合、その数を返す関数
【0090】
あるいは特徴量抽出部25は、単語列wを構成する各単語を、意味情報を表すカテゴリ(意味カテゴリ)に置き換えた上で、意味的な情報に基づく素性関数として、例えば以下の(e)、(f)を抽出する。意味カテゴリは、音声認識装置1の外部のデータベースまたは内部に備える図示しない記憶手段に記憶されるシソーラスなどを用いて得ることができる。なお、s(・)は単語を意味カテゴリにマッピングする関数である。
【0091】
(e)単語列wに連続する意味カテゴリ2項組(s(u),s(v))が含まれる場合、その数を返す関数
(f)単語列wに連続しない意味カテゴリ2項組(s(u),s(v))が含まれる場合、その数を返す関数
【0092】
特徴量抽出部25は、部分正解単語列データD6が示す部分正解単語列と、音声認識結果データD7が示す音声認識結果のそれぞれから、上記のルールに従った素性関数を全て抽出し、抽出した素性関数が出現する頻度をカウントする。特徴量抽出部25は、カウントした出現頻度が予め定めた閾値以上である素性関数を、誤り修正モデルのモデルパラメータ学習で用いる素性関数f
iとして決定し、決定した素性関数f
iを示す素性関数データD8を出力する。
【0093】
[4.7 ステップS7]
誤り傾向学習部26は、誤り傾向を反映した誤り修正モデルを得るために、以下で説明するリスク最小化法を用いる。
リスク最小化手法に基づく、統計的な誤り修正モデルでは、発話x
m(mは1以上M以下の整数、MはステップS2において選択された放送音声データD3に基づく発話数)と、この発話x
mに対応した正解単語列w
m,0が与えられたとき、目的関数L(Λ)を以下の式(11)のように定める。
【0095】
L
mは、発話x
mから音声認識により生成された文仮説w
m,1、w
m,2、…の集合であり、文仮説w
m,k(k=1,...)は、発話x
mの第k番目の正解文候補の単語列である。また、w
m,0は発話x
mの正解文である。また、Χ(w
m,k)は、正解文に対する文仮説の誤りコストであり、式(9)により計算される。Λは、素性関数に対する素性重みλ
1、λ
2、…の集合であり、誤り傾向学習部26は、式(11)の目的関数を最小化するΛを誤り修正モデルのモデルパラメータとして推定する。これは、式(11)の目的関数を最小化するようにΛを推定すれば、正解文候補に期待される認識誤りが最小となり、未知の入力音声に対する音声認識においても、Λによって認識誤りの最小化が同様に行われ、音声認識の性能の向上が期待できるからである。つまり、式(11)の目的関数は、正解文候補に期待される認識誤りが最小となり、素性重みが適切であるかの評価値を算出する評価関数として用いられる。
【0096】
誤り修正モデルによるスコアを考慮した音声認識のスコアg^(w|x)は、以下の式(12)により算出される。つまり、入力音声認識部28では、音声認識結果の文仮説の中で、式(12)により算出されたスコアを最大とする文仮説を音声認識結果として出力する。
【0098】
なお、式(11)の事後確率P(w
m,k|x
m;Λ)は、以下の式(13)のように算出される。
【0100】
式(13)におけるg^(w
m,k|x
m;Λ)は、現在のΛの値を用いた式(12)により算出される。
【0101】
図7は、誤り傾向学習部26による誤り修正モデル学習処理の処理フローを示す図である。
【0102】
(ステップS71:モデルパラメータ初期化処理)
誤り傾向学習部26は、素性関数データD8により示される素性関数f
iの素性重みλ
iを全てゼロに初期化する。
【0103】
(ステップS72:誤りコスト計算処理)
誤り傾向学習部26は、部分正解単語列データD6から部分正解単語列を読み込み、音声認識結果データD7が示す音声認識結果からこの部分正解単語列に対応した文仮説を読み込む。誤り傾向学習部26は、式(10)に従って、各文仮説と対応する部分正解単語列から、各文仮説の誤りコストを計算する。
【0104】
つまり、式(10)における文仮説w
nは、発話x
mの放送音声データから得られた音声認識結果に含まれる文仮説w
m,k(k=1,...)とし、式(9)により文仮説w
m,kの部分誤りコストの総和を算出する場合、w
lは文仮説w
m,kに含まれる各単語とする。
また、式(9)の算出の際に用いる式(8)の事後確率p(w’|x)は、式(13)により算出する。これは、同じ文仮説に含まれる各単語仮説w’の事後確率p(w’|x)は、その文仮説全体の事後確率と同一となるからである。なお、このとき単語仮説w’は、同じ発話x
mから音声認識結果として得られた文仮説の集合L
mの中で着目している文仮説w
m,k以外の他の文仮説に含まれる単語である。誤り傾向学習部26は、式(13)を算出する際に用いる式(12)では、現在のΛの値を用いるとともに、各文仮説w
m,1、w
m,2、…のf
am(x|w)、f
lm(w)はそれぞれ、音響モデル格納部12に記憶されている音響モデル、言語モデル格納部11に記憶されている言語モデルを利用して得る。
【0105】
(ステップS73:目的関数計算処理)
誤り傾向学習部26は、ステップS72において現在のΛの値を用いて算出した各文仮説w
m,kの誤りコストΧ(w
m,k)を固定値とみなして、式(11)により目的関数L(Λ)の値を算出する。
【0106】
(ステップS74:モデルパラメータ更新処理)
誤り傾向学習部26は、準ニュートン法に基づいて、モデルパラメータΛを更新する。準ニュートン法は、適当な初期値を与えて解に近い次の値を生成し、その値からまた次の解に近い値を生成することを繰り返し、最終的に局所最適解に収束させるものである。準ニュートン法の詳細については、非特許文献1を参照のこと。
【0107】
(ステップS75:終了判定処理)
誤り傾向学習部26は、モデルパラメータの更新により変更された目的関数L(Λ)の値と、変更前の目的関数L(Λ)の値を比較する。誤り傾向学習部26は、値の変化が所定以上であればステップS72からの処理を繰り返し、更新されたΛを用いて算出した各文仮説の誤りコストを固定値とみなして目的関数L(Λ)の値を算出して勾配ΔΛを求め、Λを更新する。そして、誤り傾向学習部26は、目的関数L(Λ)の値の変化が所定よりも小さくなった場合は、更新が収束したとみなしてステップS76の処理を実行する。
【0108】
(ステップS76:誤り修正モデル出力処理)
誤り傾向学習部26は、更新が収束したときの誤り修正モデルのモデルパラメータΛ=(λ
0,λ
1,…)を用いた誤り修正モデルを誤り修正モデル格納部27に書き込む。
【0109】
[4.8 ステップS8]
入力音声認識部28は、音声認識対象の音声データとして入力音声データD9が入力されると、言語モデル格納部11に記憶されている言語モデル、及び音響モデル格納部12に記憶されている音響モデルとを用いて、入力音声データD9の正解候補の単語列を得る。入力音声認識部28は、得られた正解候補の単語列のスコアを誤り修正モデル格納部27に記憶されている誤り修正モデルにより算出し、スコアが最もよい正解候補の単語列を正解単語列としてリアルタイムで出力する。誤り修正モデルを用いることにより、入力音声認識部28は、入力音声データD9から得られた音声認識結果の選択における誤りを修正する。
【0110】
[5. 効果]
本実施形態によれば、音声認識装置1は、入力音声に対する音声認識誤りを削減するために、字幕が付随した放送番組を利用して、正解単語列の作成コストをかけることなく誤り修正モデルを学習することができる。
また、音声認識装置1は、部分的に精度の高い正解単語列を用いて誤り傾向を学習し、音声認識における誤り傾向を修正する誤り修正モデルを作成することができるため、従来よりも認識誤りを削減することが可能となる。
【0111】
[6. その他]
なお、信頼度計算部22は、適応化音響モデル使用音声認識部21が出力した音声認識結果データD5に代えて、適応化言語モデル使用音声認識部18が出力した音声認識結果データD4が示す音声認識結果に含まれる各単語の信頼度を計算するようにしてもよい。
【0112】
なお、上述の音声認識装置1は、内部にコンピュータシステムを有している。そして、音声認識装置1の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、CPU及び各種メモリやOS、周辺機器等のハードウェアを含むものである。
【0113】
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。