【文献】
趙國,N−best認識スコアを利用した音声認識における候補提示数の決定,日本音響学会2004年春季研究発表会講演論文集−I−,日本,社団法人日本音響学会,2004年 3月17日,p143-144
(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
音声認識の研究は長く、音響モデルと言語モデルを用いて音声認識を行う統計的方法が確立している(例えば、特許文献1〜7を参照)。音声認識は、入力音声の特徴量Xに対して事後確率P(W|X)が最大となる単語列Wを見つける問題として定式化され、これは以下の式(1)に示すように変形される。
【数1】
つまり、音声認識では、単語列Wが発声されたときの当該特徴量Xの出現確率P
A(X|W)と単語列W自身の出現確率P
L(W)の積が最大(argmax)となる単語列W’が認識結果として選択される。
【0003】
ここで前者の確率P
A(X|W)を求めるために音響モデルが用いられ、その確率の高い単語が認識の候補として選択される。音響モデルによる認識は、認識対象の語彙とその発音を規定する辞書を照合しながら行われる。一方、後者の確率P
L(W)を近似するためによく用いられるものが言語モデルであり、具体的にはN−gramモデルである。これはN個の連続した単語組の出現確率から文全体、すなわち単語列Wの出現確率を近似する方法である。
【0004】
昨今、上記辞書と言語モデルの学習に、ウェブ上のテキストが用いられ利用されるようになった。そこには同じ読みで異なる表記を持つ単語(以降、「同音異表記語」という)が無数に含まれる。通常の音声認識システムの言語モデルでは言語的確率は表記に対して割り当てられている。そのため、意味的に等しい1単語に対して複数の表記が存在した場合、その単語の言語的確率が複数の表記に分割されてモデル化されることになる。上述したように、通常の音声認識では、音響的確率と言語的確率の積が最大となる表記の列を出力する。しかし、同音異表記語では、言語的確率が複数の表記に分割されているために、個々の表記の言語的確率が低くなっており、上述の確率積の最大化によって選択される認識結果が、読みの正しい単語を選択できないことがある。
【0005】
単語を認識単位とせずに音素を認識単位として音声認識を行う音素コーディングを行えば、読みを重視した認識結果が得られる。しかし音素コーディングでは言語モデルが貧弱になるための認識精度が一般に低いという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、上記従来技術における問題点に鑑みてなされたものであり、音声認識における読み精度を改善し、音声認識結果における読み誤り率を削減することのできる読み精度改善方法、読み精度改善システム、及び読み精度改善プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本願発明は、上記従来技術の課題を解決するために以下の特徴を有する音声認識における読み精度改善方法を提供する。本願発明の読み精度改善方法は、(a)前記コンピュータが、音声認識結果の複数の候補語列を読み出すステップと、(b)前記コンピュータが、前記複数の候補語列の各々について読みを求めるステップと、(c)前記コンピュータが、読みが同一である1以上の前記候補語列ごとに音声認識スコアの合計値を求めて読みスコアとするステップと、(d)前記コンピュータが、各候補語列の対応する前記読みスコアと前記音声認識スコアに基づき、前記複数の候補語列の中から出力すべき候補を選択するステップとを含む。
【0009】
好ましくは、ステップ(d)は、前記コンピュータが、前記各候補語列について、該候補語列の前記音声認識スコアと前記対応する読みスコアとを重みつきで足し合わせて新たなスコアを取得し、該新たなスコアが最大の候補語列を選択するステップを含む。
【0010】
上記構成に代えて、ステップ(d)は、前記コンピュータが、最大の前記読みスコアをもつ1以上の前記候補語列の中から、最大の前記音声認識スコアをもつ前記候補語列を選択するステップを含んでもよい。
【0011】
ステップ(c)は、2以上の候補語列について一部分の読みの違いを許容して同一の読みとして前記読みスコアを算出するステップを含んでもよい。
【0012】
また好ましくはステップ(a)における前記音声認識結果の複数の候補語列は、複数の音声認識システムからのN-bestリストを統合したものである。
【0013】
また好ましくは、ステップ(d)は、前記コンピュータが、前記複数の候補語列の全てを出力すべき候補として選択し、各候補語列の対応する前記読みスコアと前記音声認識スコアとに基づきリスコアリングするステップを含む。
【0014】
以上、音声認識における読み精度改善方法として本発明を説明した。しかし本発明は、そのような読み精度改善方法の各ステップをコンピュータに実行させる読み精度改善プログラム、及び該読み精度改善プログラムをコンピュータにインストールして実現される読み精度改善システムとして把握することもできる。
【発明の効果】
【0015】
本願発明によれば、音声認識結果が読みに変換され、読みを共有する音声認識結果の確率を合計することで読みの確率が求められ、出力語列の選択に利用される。結果、言語モデル及びその学習に用いられたコーパスの表記の揺れを吸収することができ、読みの正しい音声認識結果を出力しやすくなる。また、最初から音素デコーディングを行うのと異なり、単語単位の言語モデルによってコンテキストを利用した音声認識が可能であるため、高い認識精度が得られる。更に、同様のコンテキストに現れる同音異表記語の確率のみを加算するため、読みが同じでも使用コンテキストが異なる同音異字語の確率が加算されてしまうことがない。本発明のその他の効果については、各実施の形態の記載から理解される。
【発明を実施するための形態】
【0017】
以下、本願発明を実施するための形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
【0018】
図1は、本発明を実施するためのコンピュータ100の例示的なハードウェア構成を示す。
図1においてマイク105付近で発生した音は、マイク105によってアナログ信号としてA/D変換器110に入力され、そこでCPU125が処理可能なデジタル信号に変換される。
【0019】
外部記憶装置115やROM120は、オペレーティング・システムと協働してCPU125に命令を与え、本発明を実施するための読み精度改善プログラム・モジュールを含む複数のコンピュータ・プログラムのコードや各種データを記録することができる。そして外部記憶装置115やROM120に格納された複数のコンピュータ・プログラムは各々RAM130にロードされることによってCPU125により実行される。なお、外部記憶装置115は、SCSIコントローラなどのコントローラ(図示しない)を経由してバス145へ接続されている。コンピュータ・プログラムは圧縮し、また複数に分割して複数の媒体に記録することもできる。
【0020】
コンピュータ100はまた、視覚データをユーザに提示するための表示装置135を含む。表示装置135は、グラフィックスコントローラ(図示しない)を経由してバス145へ接続されている。コンピュータ100は、通信インタフェース140を介してネットワークに接続し、他のコンピュータ等と通信を行うことが可能である。
【0021】
上記説明した構成要素は例示であり、そのすべての構成要素が本発明の必須構成要素となるわけではない。同様に本発明を実施するためのコンピュータ100は、キーボードやマウスのような入力デバイス、スピーカー等の他の構成要素を含むことも可能であることは言うまでもない。
【0022】
以上の説明により、コンピュータ100は、通常のパーソナルコンピュータ、ワークステーション、メインフレームなどの情報処理装置、又は、これらの組み合わせによって実現されることが容易に理解されるであろう。
【0023】
図2は、従来の音声認識システム200の構成の一例を示す。A/D変換器110によってデジタル信号に変換された音声データは特徴量抽出部202に入力される。特徴抽出部202は、A/D変換器110からの音声データについて、適当なフレームごとに、フーリエ変換やフィルタリング等の音響処理を施し、これにより、例えば、メル周波数ケプストラム係数(Mel Frequency Cepstrum Coefficient: MFCC)等の特徴量Xを抽出し、探索部210に出力する。なお、特徴抽出部202では、その他、例えば、スペクトルや、線形予測係数、ケプストラム係数、線スペクトル対等の特徴量Xを抽出することが可能である。
【0024】
探索部210は、特徴抽出部202からの特徴量Xを用いて、音響モデルデータベース204、辞書データベース206、および言語モデルデータベース208を必要に応じて参照しながら、入力音声を、例えば、連続分布隠れマルコフモデル(Hidden Markov Model: HMM)法等に基づいて音声認識する。
【0025】
ここで、音響モデルデータベース204は、音響的特徴の時系列を、統計的にモデル化した音響モデルを記憶する。例えば、このモデル化にはHMMが用いられる。
【0026】
辞書データベース206は、音声認識対象とする各単語について、その発音に関する情報(音韻情報)が記述された単語辞書を記憶する。日本語の辞書を例に挙げると、辞書内の語は、仮名漢字まじりの表記と音素列が対になったもの(例えば、京都/ky,o,u,t,o)である。あるいは辞書内の語は、仮名漢字まじりの表記に音素列と仮名列(読み)がついたもの(例えば、京都/ky,o,u,t,o/キョウト)であってもよい。従って、後述する探索部210は、表記と音素列の組みを探索対象とするのであって、単語の読みを先に決めてから、それを単語表記に変換するのではないことに留意されたい。
【0027】
言語モデルデータベース208は、単語の連鎖に関する制約や尤度を規定する言語モデルを記憶する。一例として、言語モデルは文法規則あるいはN−gramモデルなどに基づいて構成されてよい。
【0028】
探索部210は、上記モデルを統合して、特徴抽出部202が出力する時系列の特徴量Xが観測される尤度が最も高い単語列仮説を探索する。より具体的には、探索部210は、音響モデルによって与えられる音響的確率と言語モデルによって与えられる言語的確率とを総合評価して得られる最終的なスコア(以下、「音声認識スコア」という)に基づいて最終的に出力すべき単語列Wを決定する。なお、後述する本願発明の実施例では、探索部210は、音声認識スコアの上位N個の単語列WのリストをN−bestリストLとして出力するものとする。
【0029】
実用的な音声認識システムでは、上述した辞書と言語モデルにおいて大語彙を扱う必要がある。辞書と言語モデルを学習するためにウェブ上のテキストを利用するとこれらには同音異表記語が無数に含まれる。日本語を例に挙げると、読みが同一の語について、ひらがな/カタカナ表記、漢字表記、アルファベット表記など、複数の表記が存在し得る。別の例としては、人名が挙げられる。更に、単語区切りが異なる語も多数含まれる。(例(表記/読み):京都府/キョウトフ、京都/キョウト、府/フ)。日本語以外の言語であっても、例えば韓国語の場合には、同一の単語について漢字表記とハングル表記とが可能であるため、同音異表記語が存在する。更に、それ以外の言語であっても外来語、数値表現、大文字・小文字表記については同じ読みをもつ複数表記が存在しえる。(外来語の例(表記):IBM、アイビーエム)。(数値表現の例(表記):13、thirteen)。(大文字・小文字表記の例(表記):STOP、Stop、stop)。
【0030】
通常、言語モデルでは言語的確率は表記に対して割り当てられているため、意味的に等しい1単語に対して複数の表記が存在した場合、その単語の言語的確率が複数の表記に分割されてモデル化される。上述したように通常の音声認識システム200では、音響的確率と言語的確率とを総合評価して得られる音声認識スコアに基づいて最終的に出力すべき単語列が決定される。しかし、同音異表記語では、言語的確率が複数の表記に分割され、個々の表記の言語的確率が低くなっているため、従来の音声認識スコアに基づく方法では、読みの正しい単語を選択できない。これを
図3に示す例に基づいて説明する。
【0031】
辞書データベース206に格納される辞書には、次のような同音異表記語が存在するものとする。
・雛/ヒナ、ひな/ヒナ、ヒナ/ヒナ(但し、表記/読みである)
このときある発声(但し、読み:「オヒナサマ」)の認識結果として、
図3に示すように「お雛様」、「おひな様」、「おひなさま」の3つの同音異表記語が出力候補に現れたとする。
【0032】
探索部210による音響的確率と言語的確率とに基づく総合評価方法が、上記式(1)によって示されるように音響的確率P
Aと言語的確率P
Lの積として求められる同時確率P
T最大であるとすると、探索部210は同時確率P
T=10.511*10
−8である「お嬢様」を出力する。真の読み「オヒナサマ」を有する語列が選択されなかったのは、「オヒナサマ」という読みに対し複数の表記が存在するために、1表記当りの言語的確率P
Lが低かったからである。
【0033】
音声認識システム200のユーザは、「オヒナサマ」と発声する際、認識結果として「お雛様」を得ることを期待していたかもしれない。もし「おひなさま」や「おひな様」が出力されても、そのまま許容できるユーザも中にはいるだろう。しかし「お嬢様」が出力されてしまうと認識結果の手修正が必要となる。音声認識システム200は、読みを重視して「オヒナサマ」のうちのどれかを出力すべきである。
【0034】
なお、辞書への語彙の追加は半自動的に行わざるを得ないため、同音異表記語を人手で管理することはできない。同音異表記語を意味ごとに自動的に分類することも不可能である。ウェブテキストを中心的に学習に用いる以前は、コーパスも辞書も品質を人手で管理しており、同音異表記語はあらかじめ人手で特定し、ルールで統一したコーパスと辞書が用いられていた。そのため従来はこのような問題は生じていなかった。
【0035】
本願発明は上記問題に対応するため、新たに読みスコアというものを導入する。読みスコアは、音声認識結果を読みに変換し、読みを共有する音声認識結果の確率を合計することで算出し、これを出力語列の選択に利用する。なお、日本語の場合は、音素列又は仮名列のいずれかを「読み」として扱うことができる。また、韓国語の場合は、音素列又はハングル文字を「読み」として扱うことができる。その他の言語については、音素列を「読み」として扱うことができる。このように、本願発明は、任意の言語に適用可能であることに留意されたい。以下、
図4を参照して本発明の実施形態による読み精度改善システム400を説明する。
【0036】
図4は、本発明の実施形態による読み精度改善システム400の機能ブロック図である。読み精度改善システム400は、読み変換部402と、読みスコア算出部404と、出力語列選択部406とを含む。
【0037】
読み変換部402は、音声認識システム200から音声認識結果としてN−bestリストLを受け取り、リストされた各候補語列Wについてその読みを求める。どのような音声認識システム200であっても、またどのような言語であっても、上述したように、辞書データベース206に記憶される単語辞書は、各単語を単語表記とその音素列の対として登録している。従って音素列を読みとして扱う場合は、読み変換部402は、単語辞書から、音声認識結果の単語表記をキーとして読みを求めることができる。また、言語を日本語に限定すれば、音素列の代わりに仮名列を読みとして扱うこともできる。この場合、音素列とカタカナ(或いはひらがな)は1対1に対応するため、読み変換部402は、テーブルを使って音素列からカタカナへの変換を行うことができる。又は、上述したように、単語辞書が各単語を単語表記とその音素列と仮名列(読み)の組として登録する場合は、音素列を読みとして扱う場合と同様に、読み変換部402は、単語辞書から、音声認識結果の単語表記をキーとして読みを求めることができる。なお、予めN−bestリストLに、各候補語列Wをその読みと音声認識スコアとともにリストしておいてもよく、この場合、読み変換部402はN−bestリストLから各候補語列Wの読みを抽出できる。なお、本実施例では、音声認識スコアは、音響的確率P
Aと言語的確率P
Lの積として求められる同時確率P
T(W、X)により求められるものとする。
【0038】
読みスコア算出部404は、読み変換部402から各候補語列Wの読み情報と音声認識スコア情報とを受け取り、同一の読みYをもつ1以上の候補語列Wごとにそれら候補語列Wの音声認識スコアP
T(W、X)の合計値P
Y(Y、X)を求めて、これを同一の読みをもつ1以上の候補語列Wの読みスコアとする。読みスコアP
Y(Y、X)を式で表すと以下のようになる。
【数2】
【0039】
読みスコア算出部404は、上記読みスコアP
Y(Y、X)の算出方法に代えて、2以上の候補語列について一部分の読みの違いを許容して同一の読みとして式2により読みスコアP
Y(Y、X)を算出してもよい。この場合、同一として扱う読みの列の変換テーブルを予め用意しておく。そして読みスコア算出部404は、N−bestリストLにリストされた各読み列の一部がこの変換テーブルのエントリに一致するか否かを判定し、一致した場合に、その読み列の一部を変換テーブルに従って変換し、変換後の読み列についても、同一の読み列がN−bestリストLに存在するかを確認する。
【0040】
同一視する読み列の具体例(表記/読み)を以下に記載する。
・京都/キョウト、京都/キョート
・いう/イウ、言う/ユウ
なお、表記「京都」の例は、単語辞書には、「京都」という1表記に対して2つのエントリが存在し、一方には読み「キョウト」と音素列「ky,o,u,t,o」が、他方には読み「キョート」と音素列「ky,o,o:,t,o」が付けられている場合の例である。
【0041】
出力語列選択部406は、読みスコア算出部404から各候補語列Wの読みスコア情報と音声認識スコア情報とを受け取り、音声認識スコアP
T(W、X)と読みスコアP
Y(Yomi(W)、X)に基づき、複数の候補語列Wの中から最終的に出力すべき候補を選択する。以下では2つの選択方法について説明する。
【0042】
第1の選択方法として、出力語列選択部406は、各候補語列Wについて、該候補語列Wの音声認識スコアP
T(W、X)と対応する読みスコアP
Y(Yomi(W)、X)とを重みαつきで足し合わせて新たなスコア(以下、混合スコアという)P
M(W、X)を取得し、混合スコアP
M(W、X)が最大の候補語列Wを選択してよい。混合スコアP
M(W、X)を式で表すと以下のようになる。
【数3】
上式において重みαは、実験により予め最適な値を求めておくのが好ましい。
【0043】
ここで
図5を参照して、混合スコアP
M(W、X)の計算方法を具体的に説明する。なお、
図5の計算結果は、
図3に示す音声認識結果を入力とし、また、重みαとして値0.5を利用して得られたものである。候補語列「お雛様」、「おひな様」、「おひなさま」は、同一の読み「オヒナサマ」を有するので、3つの候補語列の音声認識スコアP
Tを足し合わせて、読みスコアP
Y=20.195*10
−8を得る。一方、候補語列「お嬢様」は、読み「オジョウサマ」を有する候補語列が他に存在しないので、その音声認識スコアP
Tの値10.511*10
−8がそのまま読みスコアP
Yとなる。
【0044】
そして上記式(3)より、それぞれの候補語列について混合スコアP
Mが算出される。例えば、候補語列「お雛様」は、音声認識スコアP
T=6.03*10
−8(
図3の表を参照)と、読みスコアP
Y=20.195*10
−8を有するので、それぞれのスコアを値0.5で重み付けして足し合わせることにより、混合スコアP
M=13.116*10
−8を得る。他の候補語列についても同様に混合スコアP
Mが求められる。結果、本実施例では、混合スコアP
Mが最大である候補語列「おひなさま」が出力される。
【0045】
これに代えて出力語列選択部406は、第2の選択方法として、最大の読みスコアP
Y(Yomi(W)、X)をもつ1以上の候補語列Wの中から、最大の音声認識スコアP
T(W、X)をもつ候補語列Wを選択してもよい。再び
図5を参照して該方法による選択方法を具体的に説明する。すると、読みスコアは「オジョウサマ」よりも「オヒナサマ」の読みの方が大きいので、読み「オヒナサマ」を有する候補語列の中から最大の音声認識スコアP
Tをもつ候補語列を選択する。すると、
図3に示すように、「おひなさま」の音声認識スコアP
Tが最も高いので、結果、本実施例においても候補語列「おひなさま」が選択され出力される。
【0046】
なお、上述した例では、第1の選択方法と第2の選択方法は同一の結果を示したが、常に同一の結果になるとは限らない。音声認識の対象がより短い文の場合、読み誤り率に関しては、第1の選択方法よりも第2の選択方法の方が、また文字誤り率に関しては第2の選択方法よりも第1の選択方法が優れていることが実験により確認された。
【0047】
次に
図6を参照して、本発明の実施形態による読み精度改善処理の流れを説明する。処理はステップ600で開始し、読み変換部402は、音声認識結果のN−bestリストLを読み出す。続いて読み変換部402は、N−bestリストLにリストされる各候補語列についてその読みを求める(ステップ602)。
【0048】
続いて読みスコア算出部404は、読み変換部402から各候補語列の読み情報を受け取り、上記式(2)に基づいて同一の読みを有する1以上の候補語列ごとに読みスコアを算出する(ステップ604)。続いて、候補語列選択部406は、読みスコア算出部404から各候補語列の読みスコアを受け取り、音声認識スコアと読みスコアに基づいて、N−bestリストLにリストされた候補語列から最終的に出力すべき候補語列を選択する(ステップ606)。出力すべき候補語列の選択は上述した第1の選択方法や第2の選択方法を利用してよい。そして処理は終了する。
【0049】
以上、実施形態を用いて本発明の説明をしたが、本発明の技術範囲は上記実施形態に記載の範囲には限定されない。上記の実施形態に、種々の変更又は改良を加えることが可能であることが当業者に明らかである。例えば、読み精度改善システム400の読み変換部402に入力される音声認識結果は、1の音声認識システム200により出力されるN-bestリストだけでなく、複数の音声認識システム200からのN-bestリストを統合したものであってもよい。また、読み精度改善システム400の出力語列選択部406は、音声認識スコアと読みスコアに基づいて出力すべき1の候補語列を選択するのでなく、N-bestリストの複数の候補語列の全てを出力すべき候補として選択し、各候補語列を音声認識スコアと読みスコアに基づきリスコアリングしてもよい。従って、そのような変更又は改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【0050】
また、本発明は、音響モデルの学習用データを作成する際に有用である。音声認識の音響モデルの学習に用いる音声コーパスには音声とともに書き起こし(テキスト)が必要である。書き起こしを人手で準備するとコストがかかる。そのため、音声を自動的に音声認識することによって学習コーパスを作成し、音響モデルの学習に用いることがあるが、この場合、音声認識結果の読みの精度が高いことが求められる。本発明を音声認識結果に対して適用すれば、読みの精度の高い音声認識結果が得られる。
【0051】
なお、特許請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り任意の順序で実現しうることに留意すべきである。また、前の処理の出力を後の処理で用いる場合でも、前の処理と後の処理の間に他の処理が入ることは可能である場合があること、又は間に他の処理が入るように記載されていても前の処理を後の処理の直前に行うよう変更することも可能である場合があることも留意されたい。特許請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」、「続いて、」等を用いて説明したとしても、この順で実施することが必須であることを必ずしも意味するとは限らない。