以下、本発明による音声認識装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による音声認識装置について、図面を参照しながら説明する。本実施の形態による音声認識装置は、処理の後段においてSMT(統計的機械翻訳)と同様の処理を行うことによって、発音の変化を有する音素の並びに対する音声認識を行うものである。
図1は、本実施の形態による音声認識装置1の構成を示すブロック図である。本実施の形態による音声認識装置1は、音響モデル記憶部11と、辞書情報記憶部12と、音素列言語モデル記憶部13と、受付部14と、特徴量抽出部15と、取得部16と、変換モデル記憶部17と、文字列言語モデル記憶部18と、変換部19と、出力部20とを備える。
以下の説明において、(1)自由発話において発音の変化が起こる場合の音声認識処理、及び、(2)韓国語において、隣接する文字やフレーズ間で発音の変化が起こる場合の音声認識処理のそれぞれについて区別することがある。なお、特に明記しない場合には、その(1)(2)の両方に適用可能な説明であるとする。
音響モデル記憶部11では、音響モデルが記憶される。この音響モデルは、音声認識において通常用いられる音響モデルである。なお、この音響モデルの学習の際には、発音の変化を考慮していないデータ、すなわち、読み上げの音声データが用いられてもよく、発音の変化を考慮したデータ、例えば、自由発話の音声データが用いられてもよい。
この音響モデルは、音韻ごとの隠れマルコフモデル(HMM)を連結したHMMに基づくデータであってもよく、そうでなくてもよい。また、この音響モデルは、入力される音声を構成する音素に対応するHMMを入力順序に従って連結しているHMMに基づくデータであってもよい。音響モデルは、全音素のHMMの単なる集合であってもよい。また、音響モデルは、必ずしもHMMに基づくデータである必要はない。音響モデルは、単一ガウス分布モデル、GMM(ガウス混合モデル)などの確率モデルや、その他のモデルに基づくデータであってもよい。HMMに基づくデータは、例えば、フレームごとに、状態識別子と遷移確率の情報を有する。また、この音響モデルは、トライフォン(triphone)であってもよく、テトラフォン(tetraphone)やペンタフォン(pentaphone)であってもよく、あるいは、それ以上の音素の並びを考慮したものであってもよい。
辞書情報記憶部12では、音素列を少なくとも有する情報である辞書情報が記憶される。なお、音素列は、1または2以上の音素の並びである。この辞書情報は、音素の並びにおいて、音素列の区切位置を知ることができる情報であれば、どのような情報であってもよい。辞書情報は、例えば、(A1)音素列の集合であってもよく、(A2)音声認識において通常用いられる、音素列と、その音素列に対応した文字の並びとを対応付けて有する情報であってもよい。(A2)の場合の辞書情報は、音声認識において音素を単語に変換するために通常用いられる辞書(lexicon)である。(A1)の場合には、例えば、音節(音素のシラブル)が音素列であってもよく、単語に対応した音素の並びが音素列であってもよい。(A2)の場合には、通常、音声認識と同様に、音素列は単語に対応したものとなる。(A1)の場合には、前述の(1)及び(2)に対応可能であるが、(A2)の場合には、前述の(1)のみに対応可能である。
音素列言語モデル記憶部13では、音素列言語モデルが記憶される。この音素列言語モデルは、辞書情報に含まれる音素列に関する言語モデルである。言語モデルは、例えば、Nグラム言語モデルであってもよい。Nの値は、例えば、「2」「3」等であり、取得部16が適切に音素の並びを取得することができる範囲であれば、Nの値はどのようなものであってもよい。なお、辞書情報が(A1)である場合には、この音素列言語モデルは、音素列そのものの言語モデルである。また、辞書情報が(A2)である場合には、音素列言語モデルは、音素列そのものの言語モデルであってもよく、あるいは、音素列に対応した単語の言語モデルであってもよい。後者のように、音素列言語モデルが単語の言語モデルであっても、(A2)の場合の辞書情報を介して音素列と単語との変換を行うことによって、その言語モデルを、音素列の言語モデルと同様に考えることができる。
なお、音素列言語モデルが単語の言語モデルである場合には、その言語モデルは、文字列言語モデル記憶部18で記憶されている文字列言語モデル(後述する)と同じであってもよい。その場合には、音声認識装置1は、音素列言語モデル記憶部13を備えておらず、取得部16は、音素の並びを取得する際に、文字列言語モデル記憶部18で記憶されている文字列言語モデルを用いてもよい。
受付部14は、発話から生成された音声信号を受け付ける。話者の発した音声である発話は、例えば、マイクロフォン等を介して音声信号に変換される。この音声信号は、(1)の場合には、自由発話の音声信号であり、(2)の場合には、韓国語の発話の音声信号である。(2)の場合の音声信号は、読み上げの音声信号であってもよい。受付部14が受け付けた音声信号は、図示しない記録媒体で記憶されてもよい。受付部14は、例えば、入力デバイス(例えば、マイクロフォンなど)から入力された音声信号を受け付けてもよく、有線もしくは無線の通信回線を介して送信された音声信号を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された音声信号を受け付けてもよい。本実施の形態では、受付部14は、記録媒体から読み出された音声信号を受け付けるものとする。なお、受付部14は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、受付部14は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
特徴量抽出部15は、受付部14が受け付けた音声信号から特徴量(特徴パラメータ、特徴ベクトルとも呼ばれる)を抽出して、取得部16に渡す。特徴量抽出部15が抽出した特徴量は、図示しない記録媒体で記憶されてもよい。なお、特徴量の算出は、音声認識等の分野においてすでに公知であり、その詳細な説明を省略する。
特徴量は、例えば、三角型フィルタを用いたチャネル数24のフィルタバンク出力を離散コサイン変換したMFCCであり、その静的パラメータ、デルタパラメータ及びデルタデルタパラメータをそれぞれ12次元有し、さらに正規化されたパワーとデルタパワー及びデルタデルタパワーを有してもよい(合計39次元)。あるいは、特徴量は、MFCCの12次元、ΔMFCCの12次元、Δ対数パワーの1次元を含む25次元のものであってもよい。このように、種々の特徴量を用いることが可能である。
特徴量抽出部15によって抽出された特徴量は、取得部16に渡されるが、この特徴量の受け渡しは、例えば、特徴量抽出部15と取得部16とが物理的に異なるものである場合には、特徴量抽出部15からの特徴量の出力と、取得部16による特徴量の受け付けとによって行われてもよく、あるいは、特徴量抽出部15と取得部16とが物理的に同じものである場合には、単に特徴量の抽出のフェーズから音声認識のフェーズに移ることによって行われてもよい。また、特徴量抽出部15が抽出した特徴量は、取得部16によって用いられる前に、図示しない記録媒体において記憶されてもよい。その記憶は、一時的なものであってもよく、あるいは、そうでなくてもよい。
取得部16は、特徴量抽出部15から特徴量を受け付ける。そして、取得部16は、音響モデル記憶部11で記憶されている音響モデルと、辞書情報記憶部12で記憶されている辞書情報と、音素列言語モデル記憶部13で記憶されている音素列言語モデルとを用いて、特徴量に対応する音素列の並びのうち、確率の高いものを取得する。この取得部16による音素列の並びを取得する方法には、主に2通りがある。(B1)音素列そのものの言語モデルである音素列言語モデルを用いて、音素列の並びを取得する方法と、(B2)単語の言語モデルである音素列言語モデルを用いて、音素列の並びと単語の並びとを取得する方法とである。
(B1)の場合には、取得部16は、音響モデルを用いて特徴量を音素の並びに変換する。また、取得部16は、辞書情報を用いて、音素の並びを音素列の並びに区切る。そして、取得部16は、音素列そのものの言語モデルである音素列言語モデルを用いて、その音素列の並びの確率を算出する。その後、取得部16は、音素列に変換した時の確率と、音素列言語モデルで算出した確率とを用いて、確率の高い音素列の並びを取得する。この処理は、辞書情報によって音素の並びを単語の並びに変換する代わりに、音素列の並びに変換し、単語の言語モデルを用いて単語の並びの確率を算出する代わりに、音素列そのものの言語モデルを用いて音素列の並びの確率を算出する以外は、音声認識で通常行われる処理と同様であり、詳細な説明を省略する。なお、(B1)の場合であって、辞書情報が(A2)であるときには、取得部16は、その辞書情報における音素列の部分のみを(A1)の場合の音素列の集合と同様にして用いることによって、この処理を行うことができる。
(B2)の場合には、取得部16は、音声認識で通常行われる処理と同様の処理を行うことになる。すなわち、取得部16は、音響モデルを用いて特徴量を音素の並びに変換する。また、取得部16は、辞書情報を用いて、音素の並びを単語の並びに変換する。なお、その各単語には、音素列が対応していることになる。そして、取得部16は、単語の言語モデルである音素列言語モデルを用いて、その単語の並びの確率を算出する。また、取得部16は、音素列に変換した時の確率と、音素列言語モデルで算出した確率とを用いて、確率の高い単語の並びを取得する。その後、取得部16は、その単語の並びに対応する音素列の並びを最終的に取得する。前述のように、(B2)の処理は、従来の音声認識で通常行われる処理そのものであり、詳細な説明を省略する。なお、(B2)の場合であっても、後段の変換部19で用いられるのは、単語の並びではなく、その単語の並びに対応する音素列の並びの部分のみである。
取得部16が取得した音素列の並びは、図示しない記録媒体で記憶されてもよい。また、取得部16は、最も確率の高い一の音素列の並びを取得してもよく、あるいは、確率の高い複数の音素列の並びを取得してもよい。後者の場合には、取得部16は、例えば、あらかじめ決められた個数の音素列の並びを確率の高い順に取得してもよく、あるいは、あるしきい値以上の確率である音素列の並びを取得してもよい。そのしきい値は、例えば、あらかじめ決められたものであってもよく、あるいは、確率の最大値にあらかじめ決められた1より小さい数を掛けた値であってもよい。
なお、前述のように、取得部16が、音素の並びを取得する際に、文字列言語モデル記憶部18で記憶されている文字列言語モデルを用いる場合には、取得部16は、音素列言語モデルを用いて算出する音素列の並びの確率として、辞書情報を用いて音素列の並びを変換した文字列の並びに対して、文字列言語モデル記憶部18で記憶されている文字列言語モデルを用いて算出する確率を用いてもよい。
変換モデル記憶部17では、変換モデルが記憶される。変換モデルとは、音素の並びと、音素の並びに対応する文字列の並びとを対応付けて有するパラレルコーパスから生成されたモデルである。その音素の並びは、例えば、音素列ごとの区切を有する音素の並びであってもよく、あるいは、そのような区切のない音素の並びであってもよい。その変換モデルの生成は、翻訳モデルの生成と同様にして行うことができる。すなわち、対訳コーパスに含まれる原言語のフレーズと目的言語のフレーズとがそれぞれ、音素の並びと文字列の並びとに対応することになる。ここでのフレーズとは、数単語からなる単語列のことである。したがって、変換モデルも、翻訳モデルと同様に、音素の並びと、その音素の並びに対応する文字列の並びと、その音素の並び及び文字列の並びに関する確率とを対応付けて有する情報である。音素の並びに対応する文字列の並びとは、その音素の並びに対応する音声を文字化した結果である文字列の並びの意味である。また、その確率は、音素の並びが与えられたときの文字列の並びの確率である。変換モデル及びその生成方法は、翻訳モデル及びその生成方法と同様であり、その詳細な説明を省略する。
文字列言語モデル記憶部18では、文字列に関する言語モデルである文字列言語モデルが記憶される。言語モデルは、例えば、Nグラム言語モデルであってもよい。Nの値は、例えば、「2」「3」等であり、変換部19が適切に文字列の並びを選択できる範囲であれば、Nの値はどのようなものであってもよい。文字列は、1または2以上の文字の並びである。本実施の形態による音声認識処理が(1)である場合には、文字列は、例えば、単語であってもよい。また、本実施の形態による音声認識処理が(2)である場合には、文字列は、例えば、韓国語のフレーズ(Eojeol)であってもよく、ハングルの一文字(Eumjeol)であってもよい。
変換部19は、変換モデル記憶部17で記憶されている変換モデルと、文字列言語モデル記憶部18で記憶されている文字列言語モデルとを用いて、取得部16が取得した音素列の並びに対応する文字列の並びのうち、確率の高いものを選択することによって、その音素列の並びを文字列の並びに統計的に変換する。なお、統計的に変換するとは、後述するように、統計的機械翻訳の場合と同様に、統計的な処理を行うことを意味している。変換部19は、具体的には、取得部16が取得した音素列の並びを、変換モデルを用いて文字列の並びに変換する。また、変換部19は、文字列言語モデルを用いて、その文字列の並びの確率を算出する。その後、変換部19は、音素列の並びを文字列の並びに変換した時の確率と、文字列言語モデルで算出した確率とを用いて、確率の高い文字列の並びを選択する。この処理は、翻訳モデルを用いる代わりに変換モデルを用い、原言語のフレーズを目的言語のフレーズに変換する代わりに音素列の並びを文字列の並びに変換する以外は、SMTで通常行われる処理と同様であり、詳細な説明を省略する。
なお、変換部19が使用するモデルの生成には、例えば、ツールキットを用いてもよい。それについては、次のツールキットの文献を参照されたい。
文献:A.Stolcke、「SRILM−an extensible language modeling toolkit」、In Proc.ICSLP.p.901−904、2002年
また、変換部19が変換を行う際の単語対応については、例えば、次の文献を参照されたい。
文献:F.Och,H.Ney、「A systematic comparison of various statistical alignment models」、Computational Linguistics 29 No.1,19−51、2003年
また、変換部19は、SMTのデコーダによって変換を行う。そのデコーダとして、例えば、次の文献で示されるCleopATRaを用いてもよい。
文献:A.Finch,E.Denoual,H.Okuma,M.Paul,H.Yamamoto,K.Yasuda,R.Zhang,E.Sumita、「The NICT/ATR speech translation system for IWSLT 2007」、In Proc.IWSLT.p.103−110、2007年
出力部20は、変換部19による変換後の文字列の並びである音声認識結果を出力する。ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。この出力部20による音声認識結果の出力がなされることによって、例えば、ユーザが音声認識結果を知ることができる。なお、図1では、音声認識装置1の外部に出力するように記載しているが、そうでなくてもよい。出力部20は、音声認識装置1の内部に存在する記録媒体等に出力してもよい。また、出力部20は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、出力部20は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
なお、音響モデル記憶部11、辞書情報記憶部12、音素列言語モデル記憶部13、変換モデル記憶部17、文字列言語モデル記憶部18とのうち、任意の2以上の記憶部は、同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよい。前者の場合には、例えば、音響モデルを記憶している領域が音響モデル記憶部11となり、辞書情報を記憶している領域が辞書情報記憶部12となる。
また、それらの記憶部に情報が記憶される過程は問わない。例えば、記録媒体を介して情報がそれらの記憶部で記憶されるようになってもよく、あるいは、通信回線等を介して送信された情報がそれらの記憶部で記憶されるようになってもよい。また、それらの記憶部での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。また、それらの記憶部は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
次に、本実施の形態による音声認識装置1の動作について、図2のフローチャートを用いて説明する。本実施の形態では、前述のように、受付部14が記録媒体から読み出された音声信号を受け付けるものとする。
(ステップS101)受付部14は、音声信号を受け付けるかどうか判断する。そして、音声信号を受け付ける場合には、図示しない記録媒体から音声信号を読み出して受け付け、そうでない場合には、音声信号を受け付けるまでステップS101の処理を繰り返す。なお、受付部14は、例えば、音声信号を読み出して受け付ける旨の指示を音声認識装置1が受け付けた場合に、音声信号を受け付けると判断してもよく、その他のタイミングで、音声信号を受け付けると判断してもよい。
(ステップS102)特徴量抽出部15は、受付部14が受け付けた音声信号から特徴量を抽出する。なお、この特徴量は一定の時間ごとの情報である。例えば、10msのフレームシフトで特徴量を算出する場合には、その10msごとに特徴量が抽出されることになる。
(ステップS103)取得部16は、特徴量抽出部15が抽出した特徴量を音響モデル記憶部11で記憶されている音響モデルを用いて音素の並びに変換する。この場合に、取得部16は、複数の音素の並びと、その複数の音素の並びにそれぞれ対応する確率とを取得し、それらを図示しない記録媒体で記憶してもよい。
(ステップS104)取得部16は、辞書情報記憶部12で記憶されている辞書情報を用いて、音素の並びから音素列の並びを取得する。ステップS103で複数の音素の並びに変換された場合には、各音素の並びに対応する音素列の並びを取得する。また、一の音素の並びに対して、音素列の並びを複数取得することができる場合には、取得部16は、音素列の並びを複数取得してもよい。
(ステップS105)取得部16は、音素列言語モデル記憶部13で記憶されている音素列言語モデルを用いて、音素列の並びの確率を算出する。そして、取得部16は、音素の並びに変換した際の確率と、音素列言語モデルで算出した確率とを用いて、最終的な音素列の並びの確率を算出し、その確率の高い音素列の並びを取得する。前述のように、取得部16は、1個の音素列の並びを取得してもよく、複数の音素列の並びを取得してもよい。
(ステップS106)変換部19は、変換モデル記憶部17で記憶されている変換モデルを用いて、取得部16が取得した音素列の並びを文字列の並びに変換する。この場合に、変換部19は、複数の文字列の並びと、その複数の文字列の並びにそれぞれ対応する確率とを取得し、それらを図示しない記録媒体で記憶してもよい。
(ステップS107)変換部19は、文字列言語モデル記憶部18で記憶されている文字列言語モデルを用いて、文字列の並びの確率を算出する。そして、変換部19は、文字列の並びに変換した際の確率と、文字列言語モデルで算出した確率とを用いて、最終的な文字列の並びの確率を算出し、その確率の高い文字列の並びを選択する。なお、取得部16が複数の音素列の並びを取得した場合には、変換部19は、それらの複数の音素列の並びのそれぞれに対応する文字列の並びの確率を算出し、その確率の高い文字列の並びを選択してもよい。通常、ここで選択される文字列の並びは1個だけである。すなわち、最も確率の高い文字列の並びが選択される。
(ステップS108)出力部20は、変換部19が選択した文字列の並びである音声認識結果を出力する。そして、ステップS101に戻る。
なお、図2のフローチャートにおいて、受付部14が長い音声信号を受け付けた場合には、長いポーズ等において複数の音声信号に区切り、その複数の音声信号のそれぞれに対して音声認識処理を行うようにしてもよい。また、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
ここで、(1)と(2)の場合に変換部19等で行われる処理について、もう少し詳しく説明を行う。まず、(1)の場合について説明する。
(1)の場合に、変換部19で行われる処理は、前述のように、SMTと類似の処理であり、ノイジーチャネルアプローチ(Noisy−Channel Approach)と呼ばれるものである。インプットの音素の並びpが与えられると、変換部19は、次の最大尤度方程式を解くことによって最も確率の高い文字列の並びwを算出する。
ここで、P(w)は、文字列に関する言語モデルによって与えられる文字列wの確率である。また、P(p|w)は、文字列wが与えられた時の音素の並びがpである確率であり、音素から文字列への変換を示しており、変換モデルを用いて算出される。
次に、(2)の場合について説明する。ここで、特徴量抽出部15によって抽出された特徴ベクトルをx=[x1,x2,…,xT]とする。本実施の形態による音声認識装置1による音声認識は、条件付き確率P(we|x)の最大値をとる韓国語の文字列の並びwe=[we1,we2,…,weN]を見つけることであり、次式の最大尤度方程式を解くことに対応する。
音素シラブルである中間の記号sp=[sp1,sp2,…,spM]を導入すると、この式は、次のようになる。
この式により、音声認識の処理は、2個の独立した部分の連続的な構成によってなされることが分かる。
第1のパート(前段の部分)は、最も確率の高い音素列であるspのハット(以下、「^sp」と書く。他の文字のハットについても同様である)を見つけることに対応する。この処理は、標準的なHMMベースの音声認識によって実現することができる。ただし、次式のように、音素シラブルが認識単位として使用される。
なお、P(sp)は、音素シラブル単位の言語モデルを示しており、P(x|sp)は、音響モデルを示している。
第2のパート(後段の部分)は、音素シラブルの並び^spが与えられた場合における最も確率の高い文字列の並びweを見つけることに対応する。ここで、そのweは、Eumjeolの並びであってもよく、Eojeolの並びであってもよい。これは、(1)の場合と同様に、次式のノイジーチャネルアプローチによって実現できるため、その詳細な説明を省略する。
[英語の自由発話の実験例]
本実施の形態による音声認識装置1の英語の自由発話の実験例について説明する。この実験例では、取得部16は、従来の音声認識と同様の処理を行う。すなわち、辞書情報は、(A2)の場合であり、音素列言語モデルは、単語の言語モデルである。そして、取得部16は、受付部14が受け付けた音声信号に対応する単語の並びと、その単語の並びに応じた音素の並びとを取得する。なお、そのうち、音素の並びのみが後段の変換部19で用いられることは前述の通りである。
また、この実験例では、図3で示されるように、読み上げ音声データコーパスと、自由発話音声データコーパスとが用いられる。なお、両コーパス共に英語である。ウォールストリートジャーナル音声コーパス(WSJ0及びWSJ1)は、新聞の本文記事を読んだ英語話者による読み上げ音声を録音したものが含まれている。そのコーパスについては、次の文献を参照されたい。
文献:D.B.Paul,J.Baker、「The design for the Wall Street journal−based CSR corpus」、In Proc.ICSLP、1992年
そのトレーニングセットは60時間の音声データを含んでいる。また、いわゆるWSJテストセットは、5000ワードの215発話を含んでいるものである(Hub 2)。それについては、次の文献を参照されたい。
文献:S.Pallett,J.Fiscus,M.Fisher,J.Garofolo,B.Lund,M.Przybocki、「1993 benchmark tests for the ARPA spoken language program」、In Proc.Spoken Language Technology Workshop、1994年
自由発話音声データは、スイッチボードコーパスの2個のサブセットから得られたものである。スイッチボードコーパスは、自由発話における電話の会話についてのものであり、かなりの量の発音の変化を含んでいるものである。それらについては、次の文献を参照されたい。
文献:J.Godfrey,E.Holliman,J.McDaniel、「SWITCHBOARD:Telephone speech corpus for research and development」、In Proc.ICSLP、p.24−27、1996年
文献:S.Sakti,S.Markov,S.Nakamura、「Probabilistic pronunciation variation model based on Bayesian networks for conversational speech recognition」、In Second International Symposium on Universal Communication、2008年
そのスイッチボードコーパスの1個目のサブセット(手作業で文字化したスイッチボードコーパス)は、手作業で音素が文字化された4時間のデータであり、5117発話を含んでいる。そして、その1個目のサブセットは、自由発話のモデリングのために用いられる。すなわち、変換モデルの生成と、文字列言語モデルの生成とに用いられる。スイッチボードコーパスの2個目のサブセットは、SVitchboard1(The Small Vocabulary Switchboard Database)である。SVitchboard1は、スイッチボードコーパス全体から統計的に選択された発話を含むものであり、次の文献を参照されたい。このデータセットは、10単語から500単語までの複数の小規模語彙タスクに区分されている。各区分はさらに、A〜Eの5個のサブセットに分割されている。この実験例では、SVitchboard1の3個のサブセット、すなわち、50単語、250単語、500単語の3個のサブセットを用いた。その50単語、250単語、500単語の各場合について、A及びBのサブセットからランダムに選択した最低3単語の長さの200発話を評価のために用いた。
文献:S.King,C.Bartels,J.Bilmers、「Small vocabulary tasks from Switchboard 1」、In Proc.EUROSPEECH、p.3385−3388、2005年
なお、図3において、「ASR訓練」は、音響モデル、辞書情報、音素列言語モデル(この実験例では、単語の言語モデルである)の生成で用いられることを示している。「SMT訓練」は、変換モデルの生成で用いられることを示している。「LM訓練」は、文字列言語モデルの生成で用いられることを示している。また、「AM適応」は、後述するMAP適応で用いられることを示している。
また、いくつかの単語では、10を超える異なった発音の変化がある。例えば、「and」の場合には、/ae eh n/、/ae eh n d/、/ae n/、/ae n d/、/ah n/、/ah n d/などの発音の変化がある。
トライフォンのHMM音響モデル(AM)は、前述のWSJコーパスを用いて生成された。自由発話のデータのサンプリングレートが8kHzであったため、WSJデータも16kHzから8kHzにダウンサンプリングした。フレーム長20msのハミング窓、10msのフレームシフト、25次元の特徴量を用いた。25次元の特徴量は、MFCCの12次元、ΔMFCCの12次元、Δ対数パワーの1次元を含むものである。各音素について、初期HMMとして3状態を用いた。また、MDL−SSS(minimum description length criterion based successive state splitting)法を適用することによって、最適状態HMnet(隠れマルコフネットワーク)を得た。そのMDL−SSS法の詳細については、次の文献を参照されたい。
文献:T.Jitsuhiro,T.Matsui,S.Nakamura、「Automatic generation of non−uniform HMM topologies based on the MDL criterion」、IEICE Trans.Inf.Syst.E87−D No.8、2004年
この実験例では、4個の異なる音響モデルを生成した。各音響モデルの違いはガウス混合成分の数であり、5個、10個、15個、20個である。各音響モデルの状態の総数は1903個である。読み上げ音声データ及び自由発話音声データに対するその音響モデルを用いた音声認識の精度は、図4で示される通りである。図4で示されるように、自由発話になると、精度が大きく落ちることになる。これがこの実験例におけるベースラインとなる。
なお、SVitchboard1において、自由発話の音声データの量は非常に限定されているため、図3における「AM適応」で示されるデータを用いたMAP(最大事後確率推定法)適応によって、ベースラインを会話の音声データに適応させた。
変換モデルの生成には、手作業で文字化したスイッチボードコーパスが用いられた。その場合において、音素が原言語として用いられ、単語が目的言語として用いられた。ここで、そのスイッチボードコーパスには、辞書ベースの正当な音素の並びと、手作業で文字化した自由発話に応じた音素の並びとの両方が含まれており、両者の合計で10000発話となる。また、文字列言語モデルの生成には、手作業で文字化したスイッチボードコーパスと、SVitchboard1C&D&Eとが用いられた。なお、変換部19の入力として、テストリストの正確な音素の並びを与えた場合には、図5で示されるように、99%までの精度が得られた。なお、単語数が50単語から500単語に増えるにしたがって、少しずつ精度が落ちていく。時間的な制限から、以下の実験例では、50単語の場合について実験を行った。
次に、音声信号を受付部14で受け付けるところからテストを行った。すなわち、取得部16によって、従来の音声認識と同様に、確率の高い単語の並びと音素の並びとが取得される。しかし、前述のように、その音素の並びのみが後段の変換部19で用いられる。図6は、その結果である。図6では、前述のように、50単語のテストデータが用いられている。また、ベースライン(Baseline)は、図4の結果と同じである。Adapt+SMT(1best)は、取得部16が最も確率の高い1個の音素の並びのみを取得し、その音素の並びについてのみ変換部19による変換を行った結果である。その場合には、ベースラインに対して19.5%だけ相対的(ベースラインを100としたパーセント)に精度がよくなっている(5混合の場合)。なお、その場合には、最も確率の高い1個の音素の並びのみを取得しただけであるため、さらに多くの音素の並びを取得することによって、さらに精度がよくなる。例えば、Adapt+SMT(10best)、Adapt+SMT(50best)は、取得部16が確率の高い順にそれぞれ10個、50個の音素の並びを取得し、その音素の並びについて変換部19による変換を行った結果である。それらの場合には、Adapt+SMT(1best)に対して9.0%だけ相対的に精度がよくなっている(5混合の場合)。
さらなる精度向上のために、取得部16の取得結果に対する各単語の信頼性をGUPP(generalized utterance posterior probability)アプローチを用いて評価した。なお、GUPPについては、次の文献を参照されたい。そのGUPPアプローチでは、異なるしきい値を列挙し、しきい値よりも低い信頼性を有する発話のみを変換部19にインプットとし、信頼性の高いものは変換部19による変換を行わず、そのまま出力した。そのGUPPアプローチの最適な結果のみを図6において、Adapt+SMT GUPP(50best)で示している。最もよいシステムでは、精度が53.6%に達している。
文献:W.K.Lo,F.S.、「Generalized posterior probability for minimum error verication of recognized sentences」、In Proc.ICASSP、p.85−88、2005年
このように、本実施の形態による音声認識装置1によって、最適な結果の場合、ベースラインに対して28.2%相対的に精度がよくなっている。したがって、変換部19による変換を行うことによって、自由発話に対して、より精度の高い音声認識を実現できることが分かる。
[韓国語の実験例]
次に、本実施の形態による音声認識装置1の韓国語の実験例について説明する。韓国語では、EojeolやEumjeol、音素等の関係は、例えば、次のようになる。なお、Eojeol、Eumjeolは、ローマ字表記である。
意味: 法律の学習
Eojeol: /beob−hag/
Eumjeol: /beob/ /hag/
音素シラブル: /beo/ /pag/
音素: /b//eo/ /p//a//g/
この例のように、ハングルの1文字単位での発音は/beob/と/hag/であったとしても、両者が隣接することによって、1文字ごとの発音が/beo/と/pag/のように変化することになる。本実施の形態による音声認識装置1は、このような発音の変化にも対応できることになる。
ここでの辞書情報は、(A1)の場合であり、音素列言語モデルは、音素シラブルの言語モデルである。文字列言語モデルの文字列は、Eojeolの場合と、Eumjeolの場合の両方について説明する。
この実験例では、SiTEC(Speech Information Technology and Industry Promotion Center)によって開発された韓国語の大規模コーパスを用いる。このコーパスについては、次の文献を参照されたい。
文献:B.Kim,D.Choi,Y.Kim,K.Lee,Y.Lee、「Current states and future plans at SiTEC for speech corpora for common use」、Malsori,vol.46,p.175−186,2003年
この実験例で用いるコーパスを、Sent01、Dict01、Dict02とする。
Sent01は、音声学的にバランスのとれた文のコーパスである。すなわち、Sent01には、韓国語の音素がバランスよく含まれている。そのSent01は、韓国語の大規模コーパスから、頻度の高い形態素を含むように選択された約2万の文を含むものである。また、Sent01は、200のプロンプトセットに分けられている。また、Sent01は、200人(男性100人、女性100人)の話者のクリーン音声を防音室で録音したものである。なお、各話者は、約100文である1個のプロンプトセットの発話を行った。
Dict01とDict02は、口述筆記のアプリケーションのための文である。Dict01とDict02のそれぞれは、頻度の高い形態素と単語とを含むように選択された約4万の文を含むものであり、200のプロンプトセットに分けられている。また、Dict01及びDict02はそれぞれ、400人(男性200人、女性200人)の話者のクリーン音声を防音室で録音したものである。なお、各話者は、約100文の発話を行った。
それらのすべてのコーパスについて、EumjeolとEojeolと音素とがローマ字表記で文字化された。また、Sent01、Dict01、Dict02の各コーパスについて、最後の2個のプロンプトセットがテストセットとされ、それ以外が訓練セットとされた。SiTECコーパスの訓練セット、テストセットにおけるEojeol、Eumjeolの範囲は図7で示される通りである。なお、「Eumjeolの数(重複なし)」とは、異なるEumjeolの数のことである。「音素シラブルの数(重複なし)」も同様である。
次に、大語彙連続音声認識システムのベースラインについて説明する。ベースラインにおけるHMMベースの音響モデルは、Sent01、Dict01、Dict02の訓練データを用いて生成される。サンプリング周波数は16kHzであり、フレーム長20msのハミング窓、10msのフレームシフト、25次元の特徴量を用いた。25次元の特徴量は、MFCCの12次元、ΔMFCCの12次元、Δ対数パワーの1次元を含むものである。
音素セット全体は、40の音素記号を有する。それらは、19個の子音と、21個の母音とを含んでいる。21個の母音は、9個の単母音と、12個の複母音とを含んでいる。音響モデルを生成する際に、1個の無音記号を追加した。各音素について、初期HMMとして3状態を用いた。また、MDL−SSS法を適用することによって、最適状態HMnetを得た。この実験例では、4個の異なる音響モデルを生成した。各音響モデルの違いはガウス混合成分の数であり、5個、10個、15個、20個である。各音響モデルにおいて、文脈依存のトライフォンの状態の総数は2231個である。
ベースラインでの辞書情報は、Eumjeolを単位としたものであり、一のEumjeolに複数の音素の並びが対応したものとなる。また、言語モデルは、Eumjeolのバイグラムとトライグラムの言語モデルがSent01、Dict01、Dict02を用いて学習された。トライグラムのパープレキシティーは、Sent01で16.6であり、Dict01で20.6であり、Dict02で31.2であった。また、OOV(Out−of−Vocabulary)率は1%未満であった。
Sent01、Dict01、Dict02のそれぞれのテストセットに対するベースラインの精度は図8で示される通りである。Sent01、Dict01、Dict02はそれぞれ、最もよいモデルで70.13%、67.96%、57.39%を達成できただけであった。他の言語と公平に比較する場合には、この結果は文字の精度であることに留意する必要がある。辞書情報の容量が小さく、OOV率が小さかったとしても、音響のあいまいさが大きいことによって、音声認識が困難になっていることが分かる。
次に、本実施の形態による音声認識装置1を用いた韓国語の実験例について説明する。この実験例では、取得部16が音素シラブルである音素列の並びを取得し、変換部19がその音素列の並びをEojeolまたはEumjeolの並びに変換する場合について説明する。音響モデル記憶部11で記憶される音響モデルは、ベースラインの際の音響モデルと同じである。一方、辞書情報と、言語モデルは、ベースラインの場合と異なっている。辞書情報記憶部12で記憶される辞書情報と、音素列言語モデル記憶部13で記憶される音素列言語モデルとは、ベースラインの場合のEumjeolを単位としたものとは異なり、音素シラブルを単位としたものである。そのため、この場合には複数の発音は存在しない。すなわち、この場合には、音素の並びと音素シラブルとは一対一に対応することになる。そのため、辞書情報の容量は、ベースラインの場合に比べて三分の一になる。音素列言語モデルのトライグラムのパープレキシティーは少しだけ上がり、Sent01で18.7であり、Dict01で22.4であり、Dict02で31.3であった。また、OOV率は1%未満であった。
取得部16による音素シラブルの取得に関するSent01、Dict01、Dict02の精度は図9で示される通りである。Sent01、Dict01、Dict02はそれぞれ、最もよいモデルで88.67%、88.71%、80.17%という非常に高い精度を実現することができた。しかしながら、これは音素シラブルの認識結果であるため、図8のベースラインの結果と直接比較することはできない。
次に、変換部19による変換に関する訓練について説明する。この場合の変換モデルの生成及び文字列言語モデルの生成も、同じ訓練セットSent01、Dict01、Dict02を用いて行われる。なお、文字列がEojeolである場合と、Eumjeolである場合の2種類の訓練が行われた。そして、変換部19にテストセットの正確な音素シラブルの並びを与えた場合の精度は、図10で示される通りである。
次に、取得部16が取得した音素列(音素シラブル)の並びに対して、変換部19による変換を行った。Eojeolに変換した場合の精度は図11で示され、Eumjeolに変換した場合の精度は図12で示される。他の言語と比較する場合に、図11は単語やフレーズの精度であると考えることができ、図12は文字の精度であると考えることができる。Sent01のテストセットについて、最もよいシステムのEojeol精度は71.30%に達し、最もよいシステムのEumjeol精度は91.21%に達した。そのEumjeol精度については、ベースラインと比較して絶対値で26.67%だけ精度がよくなったことが分かる。
以上のように、本実施の形態による音声認識装置1によれば、前段において音素の並びを取得し、後段において音素の並びを文字列の並びに変換することによって、隣接する文字に依存する発音の変化や、自由発話による発音の変化が起こったとしても、精度高く音声認識を行うことができるようになる。
(実施の形態2)
本発明の実施の形態2による音声認識装置について、図面を参照しながら説明する。本実施の形態による音声認識装置は、文字列と音素の並びとのペアに関する言語モデルを用いて音声認識を行うものである。
図13は、本実施の形態による音声認識装置2の構成を示すブロック図である。本実施の形態による音声認識装置2は、音響モデル記憶部11と、辞書情報記憶部12と、音素列言語モデル記憶部13と、受付部14と、特徴量抽出部15と、取得部16と、出力部20と、文字列言語モデル記憶部21と、選択部22とを備える。なお、文字列言語モデル記憶部21、及び選択部22以外の構成及び動作は、出力部20が選択部22の選択した文字列の並びである音声認識結果を出力する以外、実施の形態1と同様であり、その説明を省略する。
文字列言語モデル記憶部21では、文字列言語モデルが記憶される。この文字列言語モデルは、文字列及びその文字列に対応する音素の並びのペアに関する言語モデルである。その文字列は通常、単語である。言語モデルは、例えば、Nグラム言語モデルであってもよい。Nの値は、例えば、「2」「3」等であり、取得部16が適切に音素の並びを取得することができる範囲であれば、Nの値はどのようなものであってもよい。一のペアに含まれる文字列と音素の並びとは、互いに対応したものである。すなわち、一ペアに含まれる文字列を発音した際の音素の並びが、その同じペアに含まれる音素の並びとなる。この文字列言語モデルは、例えば、文字列「eye」と音素の並び「ay」とのペアや、文字列「I」と音素の並び「ay」とのペア等の言語モデルとなる。文字列言語モデルがバイグラムである場合には、例えば、確率P(wahn+want|ay+I)や、確率P(wahn+want|ay+eye)が文字列言語モデルに含まれてもよい。なお、+の左側が音素の並びであり、+の右側が文字列である。なお、この言語モデルは、文字列と、音素の並びとが結合されたものであるため、結合列(joint−sequence)モデルや、結合列Nグラムモデル等と呼ぶこともある。この文字列言語モデルは、文字列の並びと、音素の並びとを対応付けて有するパラレルコーパスから生成されることになる。
文字列言語モデル記憶部21に文字列言語モデルが記憶される過程は問わない。例えば、記録媒体を介して文字列言語モデルが文字列言語モデル記憶部21で記憶されるようになってもよく、あるいは、通信回線等を介して送信された文字列言語モデルが文字列言語モデル記憶部21で記憶されるようになってもよい。また、文字列言語モデル記憶部21での記憶は、RAM等における一時的な記憶でもよく、あるいは、長期的な記憶でもよい。また、文字列言語モデル記憶部21は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。また、複数の記憶部が同一の記録媒体によって実現されてもよく、あるいは、別々の記録媒体によって実現されてもよいことは、実施の形態1と同様である。
選択部22は、取得部16によって取得された音素列の並びから、文字列言語モデルを用いて、確率の高い文字列の並びを選択する。すなわち、選択部22は、取得部16が取得した音素列の並びについて、文字列言語モデルを用いた確率を算出する。なお、同じ音素に対して、異なる文字列の対応しているペア(例えば、ペア「ay+I」と、ペア「ay+eye」など)が存在するため、一の音素の並びに対して、複数の確率を算出することができる。選択部22は、そのようにして複数の確率を算出した上で、最も確率の高いものを特定し、その特定した最も高い確率の算出で用いられたペアの並びを特定する。そして、選択部22は、最終的にそのペアに含まれている文字列の並びを選択する。なお、選択部22は、取得部16から一の音素列の並びを取得し、それに対応する最も確率の高い文字列の並びを選択してもよく、あるいは、取得部16から複数の音素列の並びを取得し、それらに対応する最も確率の高い文字列の並びを選択してもよい。
次に、本実施の形態による音声認識装置2の動作について、図14のフローチャートを用いて説明する。なお、ステップS201以外の処理は、実施の形態1の図2のフローチャートと同様であり、その説明を省略する。ただし、ステップS108において、図2のフローチャートでは変換部19の変換結果を出力したが、図14のフローチャートでは選択部22の選択結果である音声認識結果の出力を行う。
(ステップS201)選択部22は、取得部16によって取得された音素列の並びに対応する確率を、文字列言語モデル記憶部21で記憶されている文字列言語モデルを用いて算出する。そして、選択部22は、確率の高い文字列の並びを選択する。
なお、図14のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
ここで、選択部22による選択について、もう少し詳しく説明を行う。結合列Nグラムモデルは、与えられたインプットである音素の並びp∈Pに対して、次の最大尤度方程式を解くことによって最も確率の高い文字列の並びw∈Wを算出するために用いられる。ここでは、文字列が単語の場合について説明する。したがって、wを単語と呼ぶこともある。
なお、Wは単語のセットを示すものであり、Pは音素のセットを示すものであり、^wは、最も可能性の高い単語の並びを示すものである。また、pは与えられた音素の並び、すなわち、取得部16が取得した音素の並びを示すものである。
結合列Nグラムモデルは、前述のように、インプットである音素の並びと、アウトプットである単語の並びとの対応したペアを用いて生成される。そのペアは、テキストデータのペアである。音素単語結合マルチグラムは、音素の並びと単語の並び(長さは異なっていてもよい)のペアq=(p、w)∈Q⊆P×Wである。qk、pk、wkはそれぞれ、q=(p、w)のk番目の要素を記述するために用いられる。
例えば、短い発話「we will go to get her」に対する音素と単語のペアである列qは、図15(a)で示されるようになりうる。図15(a)で示されるように、単語の並びと音素の並びとは、同じ数の区分でグループ化されている。そのことを共通区分と呼ぶことにする。あるインプット(音素の並び)とアウトプット(単語の並び)を考えた場合に、それを区分する異なる方法がありうる。したがって、区分はただ一つではないことがある。図15(a)に関する異なる区分は、図15(b)で示されるものである。
このあいまいさに起因して、前述の最大尤度方程式における結合確率Probは、列qのすべての確率の和をとることによって算出される。すなわち、次式のようになる。
ここで、q∈Qは、音素・単語ペアの並びであり、S(p,w)は、p、wの存在するすべての共通区分のセットであり、次式のようになる。
ここで、K=|q|は、音素・単語ペアの長さを示しており、pq1とpq2との間の記号は、構成要素間の連結を示すものである。確率分布Prob(p,w)は、いくつかの音素・単語ペアの並びqについて確率分布Prob(q)を計算することによって得られるようになった。それらのqの並び、q=q1,…,qKは、標準的なNグラム近似によって次式のようにモデル化することができる。
この式において、発話の始点と終点における特有の現象をモデル化するために、i<0とi>Kの位置も考慮に入れられている。区分のアルゴリズムや、モデル推定については、文字から音素(grapheme−to−phoneme)アプローチを、修正を加えることなく適用することができる。それらのアルゴリズムについては、次の文献を参照されたい。
文献:M.Bisani、H.Ney,「Joint−sequence models for grapheme−to−phoneme conversion」、Speech Communication,vol.50,p.434−451,2008年
次に、本実施の形態による音声認識装置2の実験例について説明する。この実験例では、図16で示されるように、読み上げ音声データコーパスと、自由発話音声データコーパスとが用いられる。読み上げ音声データコーパスは、実施の形態1における「英語の自由発話の実験例」と同様のウォールストリートジャーナル音声コーパスであり、その詳細な説明を省略する。
自由発話音声データは、Buckeyeコーパスから得られたものである。そのBuckeyeコーパスについては、次の文献を参照されたい。Buckeyeコーパスは、英語で入手可能な会話音声において、文字化された発音を含むクリーン音声データソースのうち、最も豊富なものの一つである。このBuckeyeコーパスは、オハイオ州の米国英語を母国語とする40人の話者の音声で構成されている。それらの話者は、政治やスポーツ、交通、教育等の日常的な話題について、各自の意見を述べ、自由に会話を行っているものである。
文献:P.Mark,K.Johnson,E.Hume,S.Kiesling,W.Raymond、「The buckeye corpus of conversational speech: Labeling conventions and a test of transcriber reliability」、Speech Communication,vol.45,p.90−95,2005年
次の文献によれば、そのようなサンプルは、言語共同体における話者間の変化を十分扱うことができるだけ大きなものであることが示唆されている。
文献:R.Fasold,「The Sociolinguistics of Language」、Blackwell Publishers,Oxford,1990年
Buckeyeコーパスにおいて、録音された会話は、英語のテキストに文字化され、また、音素のラベル付けがなされている。全体として、話者は約30万単語、9600個の異なる単語を発話している。全体の会話は音声認識のインプットには長すぎるため、各会話は、長いポーズの時点や話者の変化の時点で分割した。結局、約4万の短い発話(約40時間の発話)となった。36話者(36390発話)がモデルの生成(訓練)のために用いられ、4話者(3385発話)がテストのために用いられた。音素から単語への変換(phoneme−to−word)システム(これを「P2W」とすることもある)で用いるモデル(文字列言語モデル)は、オープンソースのツールSequitur G2P(http://www−i6.informatik.rwth−aachen.de/web/Software/g2p.html)を用いて生成した。なお、このツールでは、255個の異なる記号しか用いることができない。したがって、Buckeyeコーパスを統計的に少ない語彙の異なるものに分割した。ここでは、50単語、100単語、250単語の3個に分割した。分割したそれぞれについて、テストセットの部分から200発話をランダムに選択し、それを評価のために用いた。
次に、ベースラインについて説明する。最適なベースラインを探すために、異なる試みを行った。一つの試みは、読み上げ音声データを用いて音響モデルを生成し、自由発話音声データを用いてその音響モデルを改善したものを用いることである。トライフォンのHMMの音響モデルを、前述のWSJコーパスの読み上げ音声データを用いて生成した。サンプリングレートは16kHzであり、フレーム長20msのハミング窓、10msのフレームシフトを用いた。そして、実施の形態1における「英語の自由発話の実験例」と同様の25次元の特徴量を用いた。また、MDL−SSS法を適用することによって、最適状態HMnetを得た。この実験例でも、5個、10個、15個、20個のガウス混合成分の数に応じた4個の異なる音響モデルを生成した。各音響モデルの状態の総数は2009個である。4個の各音響モデルは、図16で示されるBuckeyeコーパスのデータを用いて、Buckeyeコーパスの会話音声データに対する適応や再訓練を行った。
もう一つの試みは、Buckeyeコーパスを用いて音響モデルを生成することである。この場合にも、WSJの音響モデルの場合と同様に、Buckeyeの音響モデルを生成した。この場合も、5個、10個、15個、20個のガウス混合成分の数に応じた4個の異なる音響モデルを生成した。各音響モデルの状態の総数は612個である。
最適なベースラインを見つけるために、それらの音響モデルについて、自由発話音声データを用いたテストを行った。また、参考のために、WSJ音響モデルについて、WSJテストセットを用いたテストも行った。読み上げ音声データと、Buckeyeコーパスの250語のテストセットとを用いた異なる音響モデルの評価結果は、図17で示される通りである。図17において、Buckeyeコーパスに適応させた音響モデルや、Buckeyeコーパスで再訓練した音響モデルは、それらを行っていない読み上げ音声データの音響モデルよりも性能がよくなっている。しかしながら、Buckeyeコーパスの音響モデルの性能が最も優れていたため、本実験例においては、その音響モデルをベースラインとした。
次に、結合列Nグラムアプローチについて説明する。P2Wの文字列言語モデル(結合列言語モデル)は、図16で示されるBuckeyeコーパスのデータを用い、ソースを音素とし、ターゲットを単語として生成された。ここで、辞書ベースの標準的な音素の並びと、手作業でラベル付けがなされた実際に発音された音素の並びとを用いた。それらの音素の並びは、全体として、14000〜20000発話となった。言語モデルの次元を増加させることによって、P2Wシステムの精度(すなわち、選択部22の精度)も向上することになる。最適な結果は、50語、100語のテストセットに対しては、7グラム言語モデルを用いた場合に得られ、250語のテストセットに対しては、8グラム言語モデルを用いた場合に得られた。モデルの生成時に標準的な音素の並びと実際に発音された音素の並びとの混ぜ合わせたにもかかわらず、選択部22において、テストデータの正確な音素の並びを用いてテストを行った場合に、図18で示されるように、よい精度が得られた。自由発話の音素の並びによってほんの少しの間違いは起こったが、それでもP2Wは96%までの精度を得ることができた。図18から、単語数が50語から250語へと多くなるにしたがって、ほんの少し精度が落ちていくことが分かる。
次に、選択部22による選択を、取得部16による取得結果に対して実行した。取得部16は、従来の音声認識と同様の処理を行うため、単語の並びと、それに対応した音素の並びとを取得するが、後段の選択部22による処理は、そのうちの音素の並びのみを用いた。その結果は、図19〜図21で示される通りである。図19は、50語のテストセットを用いた場合の結果である。図20は、100語のテストセットを用いた場合の結果である。図21は、250語のテストセットを用いた場合の結果である。1bestや10best、50best、GUPP、UpperBound等については、実施の形態1における「英語の自由発話の実験例」の場合と同様であり、それらの説明を省略する。取得部16の最適の1個の結果のみを用いた場合(P2W(1best))には、50語や100語のテストセットにおけるいくつかではベースラインに対する改善が見られたが、250語では、改善は見られなかった。しかし、これは単に1個の出力結果に対して文字列の選択を行っただけであるため、更なる精度の改善のためには、多くの出力結果を用いればよいことになる。実際、図19〜図21の結果において、10bestや50bestでは、精度が改善していることが分かる。なお、この場合にも、選択部22が選択する文字列の並びは1個だけである。最適な結果では、50語のテストセットの場合には、ベースラインに対して6.0%だけ相対的に精度がよくなっており、100語のテストセットの場合には、ベースラインに対して3.9%だけ精度がよくなっており、250語のテストセットの場合には、ベースラインに対して1.09%だけ精度がよくなっている。GUPPの場合には、最適なシステムで60.1%までの精度を達成することができた。P2W+UpperBound(50best)の最適なシステムでは、各テストセットにおいて、ベースラインに対してそれぞれ12.1%、7,9%、4.3%の相対的な精度の改善が見られた。50単語のテストセットの5混合の場合が最も精度の改善幅が大きく、精度は62.3%までに達した。なお、選択部22による選択は、比較的短い時間で実行することができるため、その選択の処理がリアルタイムの音声認識に影響を与えることはない。したがって、本実施の形態による手法は、精度の改善と、計算コストとの間の受け入れ可能なトレードオフを提供している。
なお、この実験例では、英語の自由発話を取り扱ったが、本実施の形態による音声認識装置2は、実施の形態1と同様に、隣接する語に応じて発音が変化しうる韓国語に対して応用することもできる。その場合には、取得部16によって音素シラブルの並びが取得され、それに対して、選択部22による選択が行われることになる。その場合には、音素の並びがあらかじめ音素シラブルに分割されているため、音素シラブルの間以外に区切位置が来ることはないため、単に音素の並びが取得される場合よりも区分の位置の制限が厳しくなる。
以上のように、本実施の形態による音声認識装置2によれば、取得部16が取得した音素の並びを、音素の並びと文字列とのペアのモデルである文字列言語モデルを用いて選択部22が文字列の並びに変換することによって、音声認識を行うことができる。また、自由発話の場合や、隣接する文字に依存して発音が変化する言語の場合などでも、精度よく音声認識を行うことができる。また、その選択部22による後段の処理を短い時間で実現できることから、リアルタイムでの処理にも適用可能である。
なお、実施の形態2で説明した文字列言語モデル(結合列言語モデル)を、実施の形態1における文字列言語モデルとして用いてもよい。すなわち、実施の形態1における文字列言語モデルは、文字列及び文字列に対応した音素の並びのペアに関する言語モデルであってもよい。実施の形態1による音声認識装置1において、実施の形態2で説明した文字列言語モデルを用いる場合の変換部19の処理について簡単に説明する。変換部19が変換モデルを用いて音素列の並びを文字列の並びに変換する処理は、実施の形態1と同様である。その後、変換部19は、文字列言語モデルの文字列の部分を用いて確率を算出する。ただし、その確率の算出時に用いた言語モデルにおいて文字列とペアになっている音素の並びが、変換部19に入力された音素の並びと異なる場合には、その並びに応じた確率を破棄する。例えば、変換部19に入力される音素列の並びが「aywahntuhgow」(「I want to go」に対応する)であり、次のバイグラムが文字列言語モデルに含まれていたとする。
P(wahn+want|ay+I)
P(wahn+want|a+I)
P(tuh+to|wahn+want)
:
:
すると、変換部19が変換モデルを用いて音素列の並び「aywahntuhgow」を「I want to go」に変換した際に、変換部19は、上のバイグラムを用いて、例えば、次のように文字列に対応する確率を算出する。
α:…P(wahn+want|ay+I)P(tuh+to|wahn+want)…
β:…P(wahn+want|a+I)P(tuh+to|wahn+want)…
:
:
しかしながら、βの場合には、音素の並びが「awahntuh…」となり、入力された音素列の並び「aywahntuhgow」と一致しないため、変換部19は、βの確率は用いない。このように、文字列言語モデルが文字列のみでなく、音素の並びも含む言語モデルとなっていることによって、より正確な確率を算出することができ、より精度の高い音声認識を実現できるものと考えられる。
また、上記各実施の形態において、隣接する文字に応じて発音が変化する場合として主に韓国語の場合を用いて説明したが、前述したように、フランス語のリエゾンでもそのようなことが起こり得る。したがって、フランス語や、その他の隣接する文字に応じて発音が変化する言語に対する音声認識に対しても、上記各実施の形態による音声認識装置1,2は、精度のよい処理を実現することができるようになる。
また、上記各実施の形態では、音声認識装置1,2がスタンドアロンである場合について説明したが、音声認識装置1,2は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、情報を出力したりしてもよい。
また、上記各実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記各実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記各実施の形態において、音声認識装置1,2に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態1における音声認識装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、音響モデルが記憶される音響モデル記憶部と、1以上の音素の並びである音素列を少なくとも有する情報である辞書情報が記憶される辞書情報記憶部と、音素の並びと、音素の並びに対応する文字列の並びと、当該音素の並び及び文字列の並びに関する確率とを対応付けて有する変換モデルが記憶される変換モデル記憶部と、文字列に関する言語モデルである文字列言語モデルが記憶される文字列言語モデル記憶部とにアクセス可能なコンピュータを、発話から生成された音声信号から抽出された特徴量を受け付け、音響モデルと辞書情報と辞書情報に含まれる音素列に関する言語モデルである音素列言語モデルとを用いて、特徴量に対応する音素列の並びのうち、確率の高いものを取得する取得部、変換モデルと、文字列言語モデルとを用いて、取得部が取得した音素列の並びに対応する文字列の並びのうち、確率の高いものを選択することによって、音素列の並びを文字列の並びに統計的に変換する変換部、変換部による変換後の文字列の並びである音声認識結果を出力する出力部として機能させるためのプログラムである。
また、上記実施の形態2における音声認識装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、音響モデルが記憶される音響モデル記憶部と、1以上の音素の並びである音素列を少なくとも有する情報である辞書情報が記憶される辞書情報記憶部と、文字列及び文字列に対応する音素の並びのペアに関する言語モデルである文字列言語モデルが記憶される文字列言語モデル記憶部とにアクセス可能なコンピュータを、発話から生成された音声信号から抽出された特徴量を受け付け、音響モデルと辞書情報と辞書情報に含まれる音素列に関する言語モデルである音素列言語モデルとを用いて、特徴量に対応する音素列の並びのうち、確率の高いものを取得する取得部、取得部によって取得された複数の音素列の並びから、文字列言語モデルを用いて、確率の高い文字列の並びを選択する選択部、選択部が選択した文字列の並びである音声認識結果を出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を受け付ける受付部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図22は、上記プログラムを実行して、上記実施の形態による音声認識装置1,2を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図22において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図23は、コンピュータシステム900の内部構成を示す図である。図23において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による音声認識装置1,2の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による音声認識装置1,2の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。