以下、音響モデル構築装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、一の言語の音響モデル内の低頻度の音素に関して、他の1以上の言語から対応する音素の学習データを記録する音響モデル構築装置について説明する。
また、本実施の形態において、国際音声記号(IPA:International Phonetic Alphabet)を用いて低頻度の音素に対応する音素を検出する音響モデル構築装置について説明する。
また、本実施の形態において、各音素の前後の音素環境を用いて低頻度の音素に対応する音素を検出する音響モデル構築装置について説明する。
図1は、本実施の形態における音響モデル構築装置1のブロック図である。音響モデル構築装置1は、音響モデル格納部11、音声データ格納部12、対応情報格納部13、条件格納部14、音素頻度取得部15、判断部16、音声データ取得部17、学習部18、音響モデル構築部19を備える。
音声データ取得部17は、第一音素環境情報取得手段171、第二音素環境情報取得手段172、音声データ取得手段173を備える。
音響モデル格納部11は、一の言語の音響モデルを格納している。一の言語とは、例えば、音声認識処理を行う目的言語である。なお、一の言語を、適宜、目的言語とも言う。また、後述する他の言語を、適宜、補完言語とも言う。一の言語は、ポルトガル語、スワヒリ語など、他の言語と比較して、多数の人が使用していないマイナーな言語であることは好適である。ただし、一の言語は、何でも良い。また、音響モデルは、音素を識別する音素識別子と音素の1以上の特徴量とを含む音素情報を2以上有する。音響モデルは、GMM、HMMなど、その構造は問わない。また、特徴量は、通常、複数である。特徴量とは、例えば、12次元MFCC、12次元ΔMFCC、Δ対数パワー、ケプストラム、パワースペクトル等である。また、音響モデル格納部11は、一の言語の音素識別子の連結に関する1以上の音素環境情報である1以上の第一音素環境情報をも格納していても良い。また、音素とは、一つの音素でも良いし、複数の音素(又は音韻)でも良い。つまり、日本語の「か」に対して、音素を「k」や「a」という単位で捕らえても良いし、「ka」という単位で捕らえても良い。そして、音素を各言語の発音の単位と捕らえることは好適である。そして、音素は発音の単位と捕らえられるので、音素識別子を発音識別子と言い換えても良い。
音声データ格納部12は、一の言語とは異なる他の言語の音声データを、他の言語ごとに格納している。音声データは、1以上の他の言語の1以上の音素の波形データと、各波形データに対応付けられた音素の音素識別子とを有するデータである。他の言語ごととは、他の言語の言語識別子と対応付けて音声データを格納していても良いし、言語ごとに、音声データを蓄積する記憶媒体を分けていても良い趣旨である。音声データとは、連続した音素に対応する連続した波形データの集合でも良いし、音素ごとに波形データが切れているデータ構造でも良い。音声データのデータ構造も問わない。
音声データ格納部12は、他の言語の音素識別子の連結に関する1以上の音素環境情報である1以上の第二音素環境情報をも格納していても良い。
対応情報格納部13は、2以上の対応情報を格納している。対応情報は、一の言語の音素識別子と国際音声記号とを対応付ける情報である。また、対応情報は、他の言語の音素識別子と国際音声記号とを対応付ける情報である。対応情報は、音響モデル格納部11の音素識別子と国際音声記号の組でも良いし、音声データ格納部12の音素識別子と国際音声記号の組でも良い。かかる場合、対応情報格納部13は、音響モデル格納部11および音声データ格納部12の一部分となる。音素識別子と国際音声記号とは対応づけられれば良く、対応情報の構造は問わない。例えば、音素識別子と国際音声記号は外部に存在し、対応情報は、当該外部に存在する音素識別子と国際音声記号とを取得するための情報であっても良い。
条件格納部14は、音素識別子の出現頻度である音素頻度に関する条件を格納している。出現頻度は、通常、出現回数と同意義である。ただし、出現頻度は出現割合や出現確率である、と考えても良い。つまり、出現頻度とは、出現の度合いに関する情報であり、広く解する。また、音素頻度に関する条件とは、例えば、音素頻度が予め決められた閾値以下、または音素頻度が閾値より小さいこと、音素頻度の低い順に音素識別子を並べた場合に、予め決められた順位以上であること等である。条件は、プログラム中に埋め込まれていても良い。
音素頻度取得部15は、一の言語の各音素識別子の音素頻度を取得する。音素頻度取得部15は、例えば、音響モデル格納部11に格納されている各音素識別子の音素頻度を取得する。また、音素頻度取得部15は、例えば、一の言語の音響モデルが取得される元になる一の言語の音声データから各音素識別子の音素頻度を取得しても良い。なお、音素頻度取得部15が一の言語の音声データから各音素識別子の音素頻度を取得する場合、音響モデル構築装置1は、一の言語の音声データを格納する原言語音声データ格納部(図示しない)を具備する。そして、音響モデル格納部11の音響モデルは、原言語音声データ格納部の音声データから取得されることとなる。つまり、図示しない原言語音響モデル取得部が、原言語音声データ格納部の音声データから音響モデル格納部11の音響モデルを取得する。なお、音声データから音響モデルを取得する処理は公知技術であるので、詳細な説明は省略する。また、ここで、音素頻度取得部15は、すべての音素識別子の出現頻度を取得することは好適であるが、すべての音素識別子の出現頻度を取得することは必須ではない。
判断部16は、音素頻度取得部15が取得した各音素頻度を、条件格納部14に格納されている条件に適用し、音素頻度が条件を満たすほど低いか否かを判断する。
音声データ取得部17は、判断部16が条件を満たすほど音素頻度が低いと判断した1以上の各音素識別子に対応する音素識別子と対になる波形データを、音声データ格納部12から取得する。ここで、対応するとは、音素識別子が一致するまたは近似する、2つの音響モデルのモデル間距離が近いなどのことを言う。
具体的には、例えば、音声データ取得部17は、判断部16が条件を満たすほど音素頻度が低いと判断した1以上の各音素識別子と対になる国際音声記号と一致するまたは近似する国際音声記号と対になる他の言語の音素識別子と対になる1以上の波形データを、音声データ格納部12から取得する。ここで、音声データ取得部17が取得する波形データは、一つの言語の波形データでも良いし、2以上の言語の波形データでも良い。また、音声データ取得部17は、国際音声記号に含まれる複数のパラメータのうちの1以上のパラメータが一致する割合、1以上のパラメータの近似する度合い等から、2つの国際音声記号が近似するか否かを判断する。国際音声記号は、あらゆる言語の音声を文字で表記すべく、国際音声学会が定めた音声記号である。国際音声記号は、国際音声字母(こくさいおんせいじぼ)、万国音標文字(ばんこくおんぴょうもじ)とも言う。また、国際音声記号について、URL「http://www.langsci.ucl.ac.uk/ipa/」のウェブページにおいて、詳細に説明されている。例えば、音声データ取得部17は、国際音声記号の/i/と国際音声記号の/I/とは近似する、と判断する。両音素とも調音点が同一の母音だからである。なお、音声データ取得部17は、判断部16が条件を満たすほど音素頻度が低いと判断した1以上の各音素識別子と対になる記号と一致するまたは近似する記号と対になる他の言語の音素識別子と対になる1以上の波形データを、音声データ格納部12から取得しても良い。なお、上記の記号とは、複数の言語に対して付与されている共通の体系を有する記号であり、国際音声記号は、その一例である。
第一音素環境情報取得手段171は、条件を満たすほど音素頻度が低いと判断部16が判断した一の言語の音素識別子の後または前の音素環境情報である1以上の第一音素環境情報を、音響モデル格納部11から取得する。第一音素環境情報は、例えば、一の言語の音素識別子と後続する音素識別子の組の情報である。ここで、上記の1以上の第一音素環境情報とは、通常、複数である。
第二音素環境情報取得手段172は、他の言語の音素識別子の後または前の音素環境情報である1以上の第二音素環境情報を、音声データ格納部12から取得する。第二音素環境情報は、例えば、他の言語の音素識別子と後続する音素識別子の組の情報である。ここで、上記の1以上の第一音素環境情報とは、通常、複数である。
音声データ取得手段173は、第一音素環境情報と第二音素環境情報とを比較し、予め決められた条件を満たすほど第一音素環境情報と類似している第二音素環境情報に対する他の言語の音声データの中から、条件を満たすほど音素頻度が低いと判断部16が判断した音素識別子に対応する音素識別子と対になる波形データを取得する。
なお、音声データ取得手段173に代えて、音声データ取得部17は、以下の処理を行っても良い。つまり、音声データ取得部17は、第一音素環境情報と第二音素環境情報とを比較し、予め決められた条件を満たすほど第一音素環境情報と類似している第二音素環境情報に対する他の言語の1以上の特徴量の中から、条件を満たすほど音素頻度が低いと判断部16が判断した音素識別子に対応する音素識別子を有する1以上の特徴量を取得しても良い。ここで、第一音素環境情報と類似している第二音素環境情報は、音素識別子に後続する1以上の音素識別子の中で一致する音素識別子の数が閾値以上(より大きい、でも良い)であること、後続する1以上の音素識別子の中で一致する音素識別子の割合が閾値以上(より大きい、でも良い)であること等である。例えば、第一音素環境情報が「a−k、a−s、a−t、a−i、a−e、a−o」であり、第二音素環境情報が「a−k、a−s、a−t、a−h、a−m、a−n」である場合、2つの音素環境情報は類似する、と判断される。一致する後続の音素識別子の数が3以上であるからである(予め決められた条件が一致する音素識別子の数が3以上の場合)。また、例えば、第一音素環境情報が「a−k、a−s、a−t、a−i、a−e、a−o」であり、第二音素環境情報が「a−sh、a−h、a−m、a−n」である場合、2つの音素環境情報は類しない、と判断される。一致する後続の音素識別子の数が3未満であるからである(予め決められた条件が一致する音素識別子の数が3以上の場合)。
学習部18は、1以上の他言語音素情報を取得する。他言語音素情報は、1以上の特徴量と、一の言語の音素識別子とを有する。つまり、学習部18は、音声データ取得部17が取得した1以上の各波形データから1以上の特徴量を取得し、当該1以上の特徴量と前記条件を満たすほど音素頻度が低いと前記判断部が判断した音素識別子とを有する1以上の他言語音素情報を取得する。なお、一の言語の音素識別子は、他の言語の1以上の特徴量に対応する他の言語の音素識別子に対応する一の言語の音素識別子である。また、学習部18が波形データから1以上の特徴量を取得する処理は公知技術であるので、詳細な説明は省略する。
音響モデル構築部19は、音響モデル格納部11に格納されている音響モデルと、学習部18が取得した1以上の他言語音素情報とを有する新たな音響モデルを構成する。なお、音響モデル構築部19は、既に音響モデル格納部11に格納されている音素識別子と、1以上の特徴量とを対応付けて、1以上の特徴量を音響モデル格納部11に蓄積しても良い。かかる場合も、他言語音素情報を蓄積する処理と同じ処理であえると解釈する。
音響モデル構築部19は、音響モデル格納部11に格納されている音素情報のうちの、条件を満たすほど音素頻度が低いと判断部16が判断しなかった音素情報、および学習部18が取得した1以上の他言語音素情報を有する新たな音響モデルを構成しても良い。つまり、音響モデル構築部19は、構成する新たな音響モデルの中に、一の言語の低頻度の音素識別子を含む音素情報は使わなくても良い。また、新たな音響モデルを構成するとは、通常、通常、音声データ取得部17が取得した音声データが有する音素識別子と学習部18が取得した1以上の特徴量とを含む音素情報を、音響モデル格納部11に追記することである。つまり、構成するとは、通常、記録媒体に蓄積することも含む。なお、音響モデル構築部19は、音響モデル格納部11とは別の記憶領域や記憶媒体に、新たな音響モデルを構成しても良い。
音響モデル格納部11、音声データ格納部12、対応情報格納部13、条件格納部14、および図示しない原言語音声データ格納部は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。音響モデル格納部11等に音響モデル等の情報が記憶される過程は問わない。例えば、記録媒体を介して音響モデル等が音響モデル格納部11等で記憶されるようになってもよく、通信回線等を介して送信された音響モデル等が音響モデル格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された音響モデル等が音響モデル格納部11等で記憶されるようになってもよい。
音素頻度取得部15、判断部16、音声データ取得部17、第一音素環境情報取得手段171、第二音素環境情報取得手段172、音声データ取得手段173、学習部18、音響モデル構築部19、および図示しない原言語音響モデル取得部は、通常、MPUやメモリ等から実現され得る。音素頻度取得部15等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、音響モデル構築装置1の動作について図2のフローチャートを用いて説明する。
(ステップS201)音素頻度取得部15は、カウンタiに1を代入する。
(ステップS202)音素頻度取得部15は、i番目の音素識別子が存在するか否かを判断する。i番目の音素識別子が存在すればステップS203に行き、i番目の音素識別子が存在しなければステップS206に行く。なお、音素識別子は、一の言語の音響モデルが取得される元になる一の言語の音声データから取得しても良いし、音響モデル格納部11から取得しても良い。
(ステップS203)音素頻度取得部15は、i番目の音素識別子の出現頻度である音素頻度を取得する。音素頻度取得部15は、一の言語の音響モデルが取得される元になる一の言語の音声データから各音素識別子の音素頻度を取得することは好適である。但し、音素頻度取得部15は、音響モデル格納部11に格納されている各音素識別子の音素頻度を取得しても良い。
(ステップS204)音素頻度取得部15は、i番目の音素識別子に対応付けて、ステップS203で取得した音素頻度を、図示しないバッファに一時蓄積する。
(ステップS205)音素頻度取得部15は、カウンタiを1、インクリメントする。ステップS202に戻る。
(ステップS206)判断部16は、音素頻度をキーとして、昇順に、音素頻度と音素識別子との組の情報をソートする。
(ステップS207)判断部16は、ステップS206でソートした各情報に対して、条件格納部14の音素頻度に関する条件を満たすほど、音素頻度が低いか否かを判断し、当該条件を満たすほど音素頻度が低い音素識別子を、すべて取得する。
(ステップS208)音声データ取得部17は、カウンタiに1を代入する。
(ステップS209)音声データ取得部17は、ステップS207で取得した音素識別子の中で、i番目の音素識別子が存在するか否かを判断する。i番目の音素識別子が存在すればステップS210に行き、i番目の音素識別子が存在しなければ処理を終了する。
(ステップS210)音声データ取得部17は、学習対象の他言語を決定する処理である他言語決定処理を行う。他言語決定処理について、図3のフローチャートを用いて説明する。
(ステップS211)音声データ取得部17は、ステップS210で決定した他言語の音素識別子の中で、低い音素頻度のi番目の音素識別子に対応する1以上の音素識別子を取得する処理である対応音素取得処理を行う。対応音素取得処理について、図4のフローチャートを用いて説明する。
(ステップS212)音声データ取得部17は、ステップS211で取得した1以上の各音素識別子と対になる1以上の波形データを、音声データ格納部12からすべて取得する。
(ステップS213)学習部18は、カウンタjに1を代入する。
(ステップS214)学習部18は、ステップS212で取得された波形データのうち、j番目の波形データが存在するか否かを判断する。j番目の波形データが存在すればステップS215に行き、存在しなければステップS218に行く。
(ステップS215)学習部18は、j番目の波形データから、1以上の特徴量を取得する。
(ステップS216)音響モデル構築部19は、ステップS215で取得した1以上の特徴量と音素識別子とを有する他言語音素情報を音響モデル格納部11に蓄積する。なお、ここでの音素識別子は、波形データと対になる音素識別子に対応する一の言語の音素識別子である。
(ステップS217)学習部18は、カウンタjを1、インクリメントし、ステップS214に戻る。
(ステップS218)音声データ取得部17は、カウンタiを1、インクリメントし、ステップS209に戻る。
なお、図2のフローチャートにおいて、ステップS210の他言語決定処理は行わなくても良い。かかる場合、対応音素取得処理において、すべての他の言語から対応する1以上の音素識別子を取得しようとする。
次に、ステップS210の他言語決定処理について、図3のフローチャートを用いて説明する。
(ステップS301)音声データ取得部17の第一音素環境情報取得手段171は、条件を満たすほど音素頻度が低いと判断部16が判断した一の言語の音素識別子と、当該音素識別子に後続する音素識別子とを有する第一音素環境情報を、1以上取得する。第一音素環境情報取得手段171は、音響モデル格納部11から1以上の第一音素環境情報を取得する。
(ステップS302)音声データ取得部17の第二音素環境情報取得手段172は、カウンタiに1を代入する。
(ステップS303)第二音素環境情報取得手段172は、音声データ格納部12を検査し、i番目の他の言語が存在するか否かを判断する。i番目の他の言語が存在すればステップS304に行き、存在しなければ上位処理にリターンする。なお、音声データ格納部12は、例えば、他言語の言語識別子と1以上の音声データとが対応付けられて格納しており、第二音素環境情報取得手段172は、かかる情報を検査し、i番目の他の言語が存在するか否かを判断する。また、音声データ格納部12は、例えば、他言語ごとに、異なるデータベースで、音声データを格納しており、第二音素環境情報取得手段172は、かかる情報を検査し、i番目の他の言語が存在するか否かを判断する。
(ステップS304)第二音素環境情報取得手段172は、i番目の他の言語のすべての音素の第二音素環境情報を取得する
(ステップS305)音声データ取得部17は、ステップS301で取得した第一音素環境情報と、ステップS304で取得した1以上の各第二音素環境情報とを、順に比較し、類似するか否かを判断する。所定の条件をみたすほど第一音素環境情報に類似する第二音素環境情報が存在すればステップS306に行き、存在しなければステップS307に行く。
(ステップS306)音声データ取得部17は、i番目の他言語の言語識別子を図示しないバッファに一時蓄積する。
(ステップS307)音声データ取得部17は、カウンタiを1、インクリメントする。ステップS303に戻る。
なお、図3のフローチャートにおいて、他言語決定処理は他のアルゴリズムでも良い。例えば、第一音素環境情報および第二音素環境情報は、処理対象の音素識別子と当該音素識別子に後続する音素識別子とを有する情報であったが、処理対象の音素識別子と当該音素識別子の前に出現する音素識別子とを有する情報でも良いし、処理対象の音素識別子と前出の音素識別子と後続する音素識別子とを有する情報でも良い。
また、図3のフローチャートのステップS305において、類似するか否かの判断基準は、上述したように、種々考えられる。
さらに、図3のフローチャートにおいて、第一音素環境情報と最も類似する第二音素環境情報に対応する一つの他の言語の言語識別子のみが取得されても良い。
次に、ステップS211の対応音素取得処理について、図4のフローチャートを用いて説明する。
(ステップS401)音声データ取得部17は、処理対象の音声識別子の国際音声記号(IPA)を、対応情報格納部13から取得する。
(ステップS402)音声データ取得部17は、カウンタiに1を代入する。
(ステップS403)音声データ取得部17は、他の言語のi番目の音素識別子が存在するか否かを判断する。i番目の音素識別子が存在すればステップS404に行き、存在しなければ上位処理にリターンする。ここで、他の言語とは、他言語決定処理で取得された1以上の言語識別子に対応する1以上の言語である。
(ステップS404)音声データ取得部17は、i番目の音素識別子のIPAを、対応情報格納部13から取得する。
(ステップS405)音声データ取得部17は、ステップS401で取得したIPAと、ステップS404で取得したIPAが処理の条件(一致または類似)を満たすか否かを判断する。条件を満たせばステップS406に行き、条件を満たさなければステップS407に行く。
(ステップS406)音声データ取得部17は、他の言語のi番目の音素識別子を、図示しないバッファに蓄積する。
(ステップS407)音声データ取得部17は、カウンタiを1、インクリメントする。ステップS403に戻る。
なお、図4のフローチャートにおいて、IPAが一致する他の言語の音素識別子のみを取得するようにしても良いし、最も類似する一つまたは上位n(nは2以上の整数)の音素識別子のみを取得するようにしても良い。
(実験)
以下、本実施の形態における音響モデル構築装置1で構成した音響モデルを、音声認識処理に用いた実験結果について説明する。なお、音声認識装置は、後述する実施の形態4で説明する音声認識装置である。
今、目的言語をブラジルポルトガル語とする。そして、補完言語を日本語、英語、中国語とする。具体的には、構築する音響モデルを、ブラジルポルトガル語の音響モデル、とする。さらに具体的には、音響モデル格納部11には、Globalphoneプロジェクトの音声データ及びSPOLTECプロジェクトのバランス文発声データおよび、当該データから学習された1以上の特徴量の集合が格納されている、とする。なお、発音辞書は、パラ連邦大学で作成されたG2P(Grapheme to Phoneme)ツールを用いて作成した。Globalphoneプロジェクトの音声データは、「Schultz, Tanja: "Globalphone: a multilingual speech and text database developed at karlsruhe university", in Proc.ICSLP-2002, 345-348.」を参照のこと。SPOLTECプロジェクトのバランス文発声データは、「Schramm, Mauricio C. et al.:" A Brasilian Portuguese Language Corpus Development",in Proc.ICSLP-2000, vol. II, 579-582.」を参照のこと。G2P(Grapheme to Phoneme)ツールは、「"http://www.laps.ufpa.br/falabrasil" visited in December,2009」を参照のこと。
また、本実験では、補完言語の音声データとして、日本語バランス文読み上げ音声、米語旅行基本会話文(BTEC)読み上げ音声、中国語普通話旅行会話文読み上げ音声を用いた。つまり、音声データ格納部12は、日本語バランス文読み上げ音声、米語旅行基本会話文(BTEC)読み上げ音声、中国語普通話旅行会話文読み上げ音声を格納している。
また、本実験では、目的言語(ここでは、ブラジルポルトガル語)との対応をとるため、各言語の発音情報についてIPAと対応をとり共通の音素体系で記述している。つまり、対応情報格納部13の対応情報は、音響モデル格納部11および音声データ格納部12の中に格納されている構造である。
また、実験におけるベースラインの音響モデル学習データセットは、先述の音声データに含まれる男性話者によるブラジルポルトガル語音声データとした。この音声データは、16時間、7500発声のデータ量である。また、音響モデル構築装置1の手法を評価するため、ベースラインの学習セットに上記した手順で補完言語の音声データより選択した、500、1000、2000発声をそれぞれ追加した学習データセットを作成した。また、音響モデル構築装置1の手法の有効性を検討するため、補完言語の音声データよりランダムに選択した500、1000、2000、発声を追加した学習データセットを作成した。
そして、各学習セットに対して、図5に示す条件の下、音響モデルを学習し、評価実験を行った。実験で用いた評価音声は、出願人が収録したブラジルポルトガル語旅行会話基本文の読み上げ音声であり、話者数は15名、各話者が発声した1から3単語の旅行会話表現98発声を評価データとした。実験は、評価文より作成したFSA言語モデルを言語モデルとし、出願人が開発した音声認識エンジンをデコーダとして用いて音声認識実験を行った。音響モデル構築装置1等を構成するCPUはDualCoreXeon2.33GHzで統一し、実験を行った。
音響モデル構築装置1の手法により作成した音響モデルによる平均文認識率を図6に示す。本実験結果では、ベースラインの認識率が62.65%に対し、補完言語より選択する学習データを音素の出現頻度を考慮して選択する音響モデル構築装置1の手法により、69.88%まで性能が改善している。また、補完言語の発声よりランダムに学習データを選択したセットによる音響モデルに比べ、高い性能を示している。特に、ベースラインとなる学習セットにおいて出現頻度が少なかった音素を含む発声を中心に性能が向上している。
本実験において、ブラジルポルトガル語に対して、音響モデル構築装置1の音響モデル構築法を適用し、音声目的言語以外の複数の言語の音声データを選択的に学習データに追加することにより、音声認識の性能が改善することを確認した。
以上、本実施の形態によれば、音素頻度を考慮し、低頻度の音素に対してだけ、他言語データの音声を学習データとして利用するため、数多くの言語の音響モデルを効率よく構築できる。また、本実施の形態によれば、高品質な音響モデルを効率よく構築できる。また、十分に学習データのある言語について、他言語の音響的な違いによる影響が出ない。
また、本実施の形態によれば、特に、音声データが十分に用意できない場合や、音声データは豊富にあっても音素の出現頻度が考慮されていない場合でも、音素ごとに出現頻度に応じて他の言語の音声を追加することにより、音響モデルの性能を向上させることができる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、音素を識別する音素識別子と当該音素の1以上の特徴量とを含む音素情報を2以上有する一の言語の音響モデルを格納しており、記憶媒体に、前記一の言語とは異なる1以上の他の言語の1以上の音素の波形データと、当該各波形データに対応付けられた音素の音素識別子とを有する音声データを、1以上の他の言語ごとに格納しており、コンピュータを、前記記憶媒体に格納されている各音素識別子(音声データ内の音素識別子でも音響モデルの音素識別子でも良い)の音素頻度を取得する音素頻度取得部と、前記音素頻度取得部が取得した各音素頻度を、音素識別子の出現頻度である音素頻度に関する条件に適用し、音素頻度が前記条件を満たすほど低いか否かを判断する判断部と、前記条件を満たすほど音素頻度が低いと前記判断部が判断した1以上の各音素識別子に対応する音素識別子と対になる1以上の波形データを、前記記憶媒体から取得する音声データ取得部と、前記音声データ取得部が取得した1以上の各波形データから1以上の特徴量を取得し、当該1以上の特徴量と一の言語の音素識別子とを有する1以上の他言語音素情報を取得する学習部と、前記記憶媒体の音響モデルと、前記学習部が取得した1以上の他言語音素情報とを有する新たな音響モデルを構成する音響モデル構築部として機能させるためのプログラム、である。
また、上記のプログラムにおいて、記憶媒体に、前記一の言語の各音素識別子および前記他の言語の各音素識別子と、国際音声記号とを対応付けている情報である対応情報を、2以上格納しており、前記音声データ取得部は、前記条件を満たすほど音素頻度が低いと前記判断部が判断した1以上の各音素識別子と対になる国際音声記号と一致するまたは近似する国際音声記号と対になる他の言語の音素識別子と対になる1以上の波形データを、前記記憶媒体から取得するものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、上記のプログラムにおいて、前記記憶媒体は、一の言語の音素識別子の連結に関する1以上の音素環境情報である1以上の第一音素環境情報をも格納し、前記記憶媒体は、他の言語の音素識別子の連結に関する1以上の音素環境情報である1以上の第二音素環境情報をも格納し、前記音声データ取得部は、前記条件を満たすほど音素頻度が低いと前記判断部が判断した前記一の言語の音素識別子の後または前の音素環境情報である1以上の第一音素環境情報を、前記音響モデル格納部から取得する第一音素環境情報取得手段と、前記他の言語の音素識別子の後または前の音素環境情報である1以上の第二音素環境情報を、前記記憶媒体から取得する第二音素環境情報取得手段とを具備し、前記第一音素環境情報と前記第二音素環境情報とを比較し、予め決められた条件を満たすほど前記第一音素環境情報と類似している第二音素環境情報に対する他の言語の波形データまたは1以上の特徴量の中から、前記条件を満たすほど音素頻度が低いと前記判断部が判断した音素識別子に対応する音素識別子と対になる波形データまたは1以上の特徴量を取得するものとして、コンピュータを機能させるためのプログラムであることは好適である。
さらに、上記のプログラムにおいて、前記音響モデル構築部は、前記記憶媒体に格納されている音素情報のうちの、前記条件を満たすほど音素頻度が低いと前記判断部が判断しなかった音素情報、および前記学習部が取得した1以上の他言語音素情報を有する新たな音響モデルを構成するものとして、コンピュータを機能させるためのプログラムであることは好適である。
(実施の形態2)
本実施の形態において、実施の形態1と同様、一の言語の音響モデル内の低頻度の音素に関して、他の1以上の言語から対応する音素の学習データを記録する音響モデル構築装置について説明する。
また、本実施の形態における音響モデル構築装置と、実施の形態1の音響モデル構築装置1との異なる点は、国際音声記号(IPA)ではなく、音響モデルの距離を用いて低頻度の音素に対応する音素を検出する点である。
図7は、本実施の形態における音響モデル構築装置2のブロック図である。音響モデル構築装置2は、音響モデル格納部11、音声データ格納部12、対応情報格納部13、条件格納部14、音素頻度取得部15、判断部16、音声データ取得部27、学習部28、音響モデル構築部19を備える。音響モデル構築装置1と音響モデル構築装置2とは、音声データ取得部27および学習部28が異なる。
音声データ取得部27は、第一音素環境情報取得手段171、第二音素環境情報取得手段172、距離算出手段273、特徴量取得手段274を備える。
距離算出手段273は、条件を満たすほど音素頻度が低いと判断部16が判断した1以上の各音素識別子と対になる一の言語の1以上の特徴量と、他の言語の音声データが有する1以上の特徴量とを用いて、一の言語の音素の音響モデルと、他の言語の音素の音響モデルとの距離を算出する。
距離算出手段273は、例えば、Kullback−LieblerDivergence(KLD)を用いて、音響モデルの音素のモデル間距離を算出する。KLDは数式1により算出される。
数式1において、一の言語の音響モデルはs、他の言語の音響モデルはs〜(〜は上付き)で示す。また、数式1において、Nは音響モデルの特徴量の次元数、Mは混合数、ω
mはGMMにおけるm番目のGaussiankernelの混合重み、o
m,k(1<=k<=2N)はm番目のGaussiankernelのk番目のsigmapointである。
なお、KLDは、公知技術であるので、詳細な説明は省略する。また、距離算出手段273は、KLD以外の方法を用いて、音響モデルのモデル間距離を算出しても良いことは言うまでもない。
また、距離算出手段273は、第一音素環境情報と第二音素環境情報とを比較し、予め決められた条件を満たすほど第一音素環境情報と類似している第二音素環境情報に対する他の言語の音声データの中から、条件を満たすほど音素頻度が低いと判断部16が判断した1以上の各音素識別子と対になる一の言語の1以上の特徴量と、他の言語の音声データが有する1以上の特徴量とを用いて、一の言語の音響モデルと、他の言語の音響モデルとの距離を算出することは好適である。
特徴量取得手段274は、距離算出手段273が算出した距離が予め決まれている距離条件を満たすほど近い他の言語の1以上の特徴量を取得する。また、距離条件とは、2つの音響モデルの距離が閾値以下、または閾値より小さい等である。特徴量取得手段274は、予め距離条件を格納している。ここで、距離条件などの条件を格納していることは、条件をプログラム中に記載していても良い趣旨である。
学習部28は、音声データ取得部27が取得した1以上の各音声データが有する波形データから1以上の特徴量を取得し、1以上の特徴量と音声データ取得部27が取得した1以上の各音声データが有する音素識別子とを有する1以上の他言語音素情報を取得する。さらに具体的には、学習部28は、特徴量取得手段274が取得した1以上の特徴量と、1以上の特徴量と対になっている音素識別子とを有する1以上の他言語音素情報を取得する。なお、特徴量取得手段274が既に1以上の特徴量を取得しているので、学習部28は、特徴量取得手段274が取得した1以上の特徴量と、一の言語の音素識別子とを有する1以上の他言語音素情報を構成するのみで良い。
距離算出手段273、特徴量取得手段274、および学習部28は、通常、MPUやメモリ等から実現され得る。距離算出手段273等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、音響モデル構築装置2の動作について説明する。図6のフローチャートを用いて説明する。図8のフローチャートにおいて、図3のフローチャートと同一の処理について、説明を省略する。
(ステップS801)音声データ取得部27、学習部28、および音響モデル構築部19は、音響モデル構築処理を行い、ステップS218に行く。音響モデル構築処理にいて、図7のフローチャートを用いて説明する。
次に、ステップS801の音響モデル構築処理にいて、図9のフローチャートを用いて説明する。
(ステップS901)音声データ取得部27は、処理対象の音素識別子に対応する1以上の特徴量を、音響モデル格納部11から取得する。
(ステップS902)音声データ取得部27は、カウンタiに1を代入する。
(ステップS903)音声データ取得部27は、他の言語のi番目の音素識別子が存在するか否かを判断する。i番目の音素識別子が存在すればステップS904に行き、存在しなければ上位処理にリターンする。
(ステップS904)音声データ取得部27の距離算出手段273は、他の言語のi番目の音素識別子に対応する波形データの1以上の特徴量を取得する。なお、学習部28が、他の言語のi番目の音素識別子に対応する波形データの1以上の特徴量を取得しても良い。
(ステップS905)距離算出手段273は、ステップS901で取得した1以上の特徴量と、ステップS904で取得した1以上の特徴量とを用いて、2つの音響モデルの距離を算出する。なお、通常、この距離は、数式1を用いて算出される。
(ステップS906)音声データ取得部27の特徴量取得手段274は、ステップS905で取得した距離が、予め格納している距離条件を満たすほど、近いか否かを判断する。距離条件を満たせばステップS907に行き、満たさなければステップS908に行く。
(ステップS907)学習部28は、一の言語の音素識別子と、ステップS904で取得された1以上の特徴量とを用いて、他言語音素情報を構成する。
(ステップS908)音響モデル構築部19は、ステップS907で構成された他言語音素情報を、音響モデル格納部11に蓄積する。なお、音響モデル構築部19は、ステップS904で取得された1以上の特徴量を、既に蓄積されている一の言語の音素識別子と対応付けて蓄積しても良い。かかる場合も、他言語音素情報が蓄積された、とする。
(ステップS909)音声データ取得部17は、カウンタiを1、インクリメントする。ステップS903に戻る。
以上、本実施の形態によれば、実施の形態1と同様、音素頻度を考慮し、低頻度の音素に対してだけ、他言語データの音声を学習データとして利用するため、数多くの言語の音響モデルを効率よく構築できる。また、本実施の形態によれば、高品質な音響モデルを効率よく構築できる。また、十分に学習データのある言語について、他言語の音響的な違いによる影響が出ない。
また、本実施の形態によれば、特に、モデル間距離を用いて低頻度の音素に対応する音素を検出したので、音響モデルをさらに効率よく構築できる。
なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、音素を識別する音素識別子と当該音素の1以上の特徴量とを含む音素情報を2以上有する一の言語の音響モデルを格納しており、記憶媒体に、前記一の言語とは異なる1以上の他の言語の1以上の音素の波形データと、当該各波形データに対応付けられた音素の音素識別子とを有する音声データを、1以上の他の言語ごとに格納しており、コンピュータを、前記記憶媒体に格納されている各音素識別子の音素頻度、または前記一の言語の音響モデルが取得される元になる一の言語の音声データから各音素識別子の音素頻度を取得する音素頻度取得部と、前記音素頻度取得部が取得した各音素頻度を、音素識別子の出現頻度である音素頻度に関する条件に適用し、音素頻度が前記条件を満たすほど低いか否かを判断する判断部と、前記条件を満たすほど音素頻度が低いと前記判断部が判断した1以上の各音素識別子に対応する音素識別子と対になる1以上の波形データを、前記記憶媒体から取得する音声データ取得部と、前記音声データ取得部が取得した1以上の各波形データから1以上の特徴量を取得し、当該1以上の特徴量と前記一の言語の音素識別子とを有する1以上の他言語音素情報を取得する学習部と、前記記憶媒体の音響モデルと、前記学習部が取得した1以上の他言語音素情報とを有する新たな音響モデルを構成する音響モデル構築部として機能させるためのプログラム、である。
また、上記のプログラムにおいて、前記記憶媒体の音声データは、音素の波形データと音素識別子に加えて、1以上の特徴量を含み、前記音声データ取得部は、前記条件を満たすほど音素頻度が低いと前記判断部が判断した1以上の各音素識別子と対になる一の言語の1以上の特徴量と、前記他の言語の音声データが有する1以上の特徴量とを用いて、前記一の言語の音響モデルと、前記他の言語の音響モデルとの距離を算出する距離算出手段と、前記距離算出手段が算出した距離が予め決まれている距離条件を満たすほど近い前記他の言語の1以上の特徴量を取得する特徴量取得手段とを具備し、前記学習部は、前記特徴量取得手段が取得した1以上の特徴量と、前記一の言語の音素識別子とを有する1以上の他言語音素情報を取得するものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、上記のプログラムにおいて、前記記憶媒体は、一の言語の音素識別子の連結に関する1以上の音素環境情報である1以上の第一音素環境情報をも格納し、前記記憶媒体は、他の言語の音素識別子の連結に関する1以上の音素環境情報である1以上の第二音素環境情報をも格納し、前記音声データ取得部は、前記条件を満たすほど音素頻度が低いと前記判断部が判断した前記一の言語の音素識別子の後または前の音素環境情報である1以上の第一音素環境情報を、前記音響モデル格納部から取得する第一音素環境情報取得手段と、前記他の言語の音素識別子の後または前の音素環境情報である1以上の第二音素環境情報を、前記記憶媒体から取得する第二音素環境情報取得手段とを具備し、前記第一音素環境情報と前記第二音素環境情報とを比較し、予め決められた条件を満たすほど前記第一音素環境情報と類似している第二音素環境情報に対する他の言語の波形データまたは1以上の特徴量の中から、前記条件を満たすほど音素頻度が低いと前記判断部が判断した音素識別子に対応する音素識別子と対になる波形データまたは1以上の特徴量を取得するものとして、コンピュータを機能させるためのプログラムであることは好適である。
さらに、上記のプログラムにおいて、前記音響モデル構築部は、前記記憶媒体に格納されている音素情報のうちの、前記条件を満たすほど音素頻度が低いと前記判断部が判断しなかった音素情報、および前記学習部が取得した1以上の他言語音素情報を有する新たな音響モデルを構成するものとして、コンピュータを機能させるためのプログラムであることは好適である。
(実施の形態3)
本実施の形態において、他の言語の音響モデルを予め保持している状況において、一の言語の音響モデル内の低頻度の音素に関して、他の1以上の言語から対応する音素の学習データを記録する音響モデル構築装置について説明する。
本実施の形態における音響モデル構築装置は、他の言語の音響モデルを予め保持している以外は、実施の形態1と実施の形態2における音響モデル構築装置の技術を用いる。なお、ここでの音響モデル構築装置は、他の言語の波形データを保持している必要はない。
図10は、本実施の形態における音響モデル構築装置3のブロック図である。音響モデル構築装置3は、音響モデル格納部11、他言語音響モデル格納部32、対応情報格納部13、条件格納部14、音素頻度取得部15、判断部16、他言語音素情報取得部37、音響モデル構築部39を備える。音響モデル構築装置1と音響モデル構築装置3とは、他言語音響モデル格納部32、他言語音素情報取得部37、および音響モデル構築部39が異なる。
なお、図10において音素頻度取得部15は、音響モデルから頻度を取得していない。ここでは、音響モデルに関連する出現頻度に関する情報は、別途、図示しない記憶手段に記憶されている。なお、この図示しない記憶手段は、一の言語の音響モデルが取得される元になる一の言語の音声データを格納している格納部でも良い。
他言語音素情報取得部37は、第一音素環境情報取得手段171、第二音素環境情報取得手段172、距離算出手段273、音素情報取得手段374を備える。
他言語音響モデル格納部32は、音素を識別する音素識別子と音素の1以上の特徴量とを含む音素情報を2以上有する他の言語の他言語音響モデルを、1以上格納している。
他言語音響モデル格納部32は、他の言語の音素識別子の連結に関する1以上の音素環境情報である1以上の第二音素環境情報をも格納していても良い。
他言語音響モデル格納部32は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
他言語音響モデル格納部32に他言語音響モデルが記憶される過程は問わない。例えば、記録媒体を介して他言語音響モデルが他言語音響モデル格納部32で記憶されるようになってもよく、通信回線等を介して送信された他言語音響モデルが他言語音響モデル格納部32で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された他言語音響モデルが他言語音響モデル格納部32で記憶されるようになってもよい。
他言語音素情報取得部37は、条件を満たすほど音素頻度が低いと判断部16が判断した1以上の各音素識別子と、当該1以上の各音素識別子に対応する音素識別子と対になる1以上の特徴量とを有する1以上の他言語音素情報を取得する。
つまり、他言語音素情報取得部37は、条件を満たすほど音素頻度が低いと判断部16が判断した音素識別子を取得する。そして、他言語音素情報取得部37は、当該音素識別子に対応する他の言語の音素識別子を取得する。次に、他言語音素情報取得部37は、当該他の言語の音素識別子と対になる1以上の特徴量を、他言語音響モデル格納部32から取得する。次に、他言語音素情報取得部37は、取得した音素識別子と、1以上の特徴量とを有する他言語音素情報を得る。そして、他言語音素情報取得部37は、条件を満たすほど音素頻度が低いと判断部16が判断した1以上の各音素識別子に対して上記処理を行い、1以上の他言語音素情報を得る。
他言語音素情報取得部37は、条件を満たすほど音素頻度が低いと判断部16が判断した音素識別子と、当該音素識別子と対になる国際音声記号と一致するまたは近似する国際音声記号と対になる他の言語の音素識別子と対になる1以上の特徴量とを有する他言語音素情報を、1以上取得しても良い。
また、他言語音素情報取得部37を構成する音素情報取得手段374は、条件を満たすほど音素頻度が低いと判断部16が判断した音素識別子と、距離算出手段273が算出した距離が予め決まれている距離条件を満たすほど近い他の言語の1以上の特徴量とを含む1以上の他言語音素情報を取得する。
音響モデル構築部39は、音響モデル格納部11の音響モデルと、他言語音素情報取得部37が取得した1以上の他言語音素情報とを有する新たな音響モデルを構成する。
音響モデル構築部39は、音響モデル格納部11に格納されている音素情報のうちの、条件を満たすほど音素頻度が低いと判断部16が判断しなかった音素情報、および他言語音素情報取得部が取得した1以上の他言語音素情報を有する新たな音響モデルを構成しても良い。
音声データ取得部37、音素情報取得手段374、および音響モデル構築部39は、通常、MPUやメモリ等から実現され得る。音声データ取得部37等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、音響モデル構築装置3の動作について説明する。音響モデル構築装置3は、補完言語の1以上の特徴量も既に保持しているので、音響モデル構築装置1や音響モデル構築装置2のように、音声データを学習して、音声データから1以上の特徴量を取得する必要はない。したがって、音響モデル構築装置3は、学習部18を具備しない。
音響モデル構築装置3は、目的言語の音響モデルのうち、音素頻度が所定の条件を満たすほど低い音素に対して、当該音素に対応する補完言語の音素情報が有する1以上の特徴量を、他言語音響モデル格納部32から取得し、当該1以上の特徴量と目的言語の音素識別子とを有する1以上の他言語音素情報を、音響モデル格納部11に蓄積する。
そして、音素頻度が所定の条件を満たすほど低い音素に対して、当該音素に対応する補完言語の音素を決定する処理は、音響モデル構築装置1または音響モデル構築装置2と同様の処理であるので説明を省略する。
以上、本実施の形態によれば、音素頻度を考慮し、低頻度の音素に対してだけ、他言語データの音声を学習データとして利用するため、数多くの言語の音響モデルを効率よく構築できる。また、本実施の形態によれば、高品質な音響モデルを効率よく構築できる。また、十分に学習データのある言語について、他言語の音響的な違いによる影響が出ない。
また、本実施の形態によれば、音声データからの学習処理が不要となるので、さらに高速に、効率よく数多くの言語の音響モデルを構築できる。
なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、音素を識別する音素識別子と当該音素の1以上の特徴量とを含む音素情報を2以上有する一の言語の音響モデルを格納しており、記憶媒体に、音素を識別する音素識別子と当該音素の1以上の特徴量とを含む音素情報を2以上有する他の言語の他言語音響モデルを、1以上格納しており、記憶媒体に、音素頻度に関する条件を格納しており、コンピュータを、前記記憶媒体に格納されている各音素識別子の音素頻度を取得する音素頻度取得部と、前記音素頻度取得部が取得した各音素頻度を、前記記憶媒体の条件に適用し、音素頻度が前記条件を満たすほど低いか否かを判断する判断部と、前記条件を満たすほど音素頻度が低いと前記判断部が判断した1以上の各音素識別子と、当該1以上の各音素識別子に対応する音素識別子と対になる1以上の特徴量とを有する1以上の他言語音素情報を取得する他言語音素情報取得部と、前記記憶媒体の音響モデルと、前記他言語音素情報取得部が取得した1以上の他言語音素情報とを有する新たな音響モデルを構成する音響モデル構築部として機能させるためのプログラム、である。
また、上記のプログラムにおいて、記憶媒体に、前記一の言語の各音素識別子および前記他の言語の各音素識別子と、国際音声記号とを対応付けている情報である対応情報を、2以上格納しており、前記他言語音素情報取得部は、前記条件を満たすほど音素頻度が低いと前記判断部が判断した音素識別子と、当該音素識別子と対になる国際音声記号と一致するまたは近似する国際音声記号と対になる他の言語の1以上の特徴量を有する他言語音素情報を、1以上取得するものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、上記のプログラムにおいて、前記他言語音素情報取得部は、前記条件を満たすほど音素頻度が低いと前記判断部が判断した1以上の各音素識別子と対になる一の言語の1以上の特徴量と、前記記憶媒体に格納されている1以上の特徴量とを用いて、前記一の言語の音響モデルと、前記他の言語の音響モデルとの距離を算出する距離算出手段と、前記条件を満たすほど音素頻度が低いと前記判断部が判断した音素識別子と、前記距離算出手段が算出した距離が予め決まれている距離条件を満たすほど近い前記他の言語の1以上の特徴量とを含む1以上の他言語音素情報を取得する音素情報取得手段とを具備するものとして、コンピュータを機能させるためのプログラムであ
ることは好適である。
また、上記のプログラムにおいて、前記記憶媒体は、一の言語の音素識別子の連結に関する1以上の音素環境情報である1以上の第一音素環境情報をも格納し、前記記憶媒体は、他の言語の音素識別子の連結に関する1以上の音素環境情報である1以上の第二音素環境情報をも格納し、前記他言語音素情報取得部は、前記条件を満たすほど音素頻度が低いと前記判断部が判断した、前記一の言語の音素識別子の後または前の音素環境情報である1以上の第一音素環境情報を、前記音響モデル格納部から取得する第一音素環境情報取得手段と、前記他の言語の音素識別子の後または前の音素環境情報である1以上の第二音素環境情報を、前記記憶媒体から取得する第二音素環境情報取得手段とを具備し、前記第一音素環境情報と前記第二音素環境情報とを比較し、予め決められた条件を満たすほど前記第一音素環境情報と類似している第二音素環境情報に対する他の言語に対応する1以上の特徴量から、前記条件を満たすほど音素頻度が低いと前記判断部が判断した音素識別子と、当該音素識別子に対応する前記他の言語の音素識別子と対になる1以上の特徴量とを有する1以上の他言語音素情報を取得するものとして、コンピュータを機能させるためのプログラムであることは好適である。
さらに、上記のプログラムにおいて、前記音響モデル構築部は、前記記憶媒体に格納されている音素情報のうちの、前記条件を満たすほど音素頻度が低いと前記判断部が判断しなかった音素情報、および前記他言語音素情報取得部が取得した1以上の他言語音素情報を有する新たな音響モデルを構成するものとして、コンピュータを機能させるためのプログラムであることは好適である。
(実施の形態4)
本実施の形態において、実施の形態1から実施の形態3で説明した音響モデル構築装置が構成した音響モデルを用いて、音声認識を行う音声認識装置について説明する。
図11は、本実施の形態における音声認識装置4のブロック図である。音声認識装置4は、音響モデル格納部41、音声受付部42、音声認識部43、出力部44を具備する。
音響モデル格納部41は、音響モデル構築装置1、音響モデル構築装置2、または音響モデル構築装置3が構築した新たな音響モデルを格納している。また、音響モデル格納部41は、後述する音響モデル構築装置5、または音響モデル構築装置6が構築した新たな音響モデルを格納していても良い。
音響モデル格納部41は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。音響モデル格納部41に音響モデルが記憶される過程は問わない。例えば、記録媒体を介して音響モデルが音響モデル格納部41で記憶されるようになってもよく、通信回線等を介して送信された音響モデルが音響モデル格納部41で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された音響モデルが音響モデル格納部41で記憶されるようになってもよい。
音声受付部42は、音声を受け付ける。ここで、受け付けとは、通常、マイクによる受け付けであるが、有線もしくは無線の通信回線を介して送信された音声の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された音声の受け付けなどを含む概念である。また、音声の入力手段は、例えば、マイクである。
音声認識部43は、音声受付部42が受け付けた音声に対して、音響モデル格納部41の新たな音響モデルを用いて、音声認識を行い、文字列を取得する。音声認識部43における音声認識アルゴリズムは問わない。音声認識部43の処理は公知技術でも良いので、少詳細な説明を省略する。なお、音声認識部43は、音声認識を行った後、音声認識結果に対応する命令を取得しても良い。
音声認識部43は、通常、MPUやメモリ等から実現され得る。音声認識部43の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部44は、音声認識部43が取得した文字列や命令等を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、外部の装置(例えば、表示装置)への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む出力概念である。出力部44は、例えば、音声認識結果を、ナビゲーションシステムに渡し、ナビゲーションシステムは受け付けた音声認識結果に応じて動作しても良い。
出力部44は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部44は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
音声認識装置4の評価実験について、実施の形態1で説明した。
以上、本実施の形態によれば、目的言語以外の音響モデルを構築するために収集した音声データを、目的言語の音響モデルの学習用に適切に再利用することが可能となり、音響モデルの構築コストを抑え、音声インターフェイスの多言語化を容易にする。
また、本実施の形態によれば、複数の公用語やマイナーな言語が存在する国においても、母語の違いの気兼ねがいらない音声インターフェイスが実現できる。
また、本実施の形態の音声認識装置4は、カーナビゲーションシステムをはじめ、様々な音声認識アプリケーションで利用され得る。
なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、音声を受け付ける音声受付部と、前記音声受付部が受け付けた音声に対して、音響モデル構築装置1、音響モデル構築装置2、または音響モデル構築装置3が構成した新たな音響モデルを用いて、音声認識を行い、文字列を取得する音声認識部と、前記音声認識部が取得した文字列を出力する出力部として機能させるためのプログラム、である。
(実施の形態5)
本実施の形態において、他の言語の音素の学習データを取得する条件が出現関連情報を用いた条件である。出現関連情報とは、連続音素識別子の出現数に関する情報であり、例えば、一連音素情報の情報量や、一連音素情報の出現頻度などである。また、一連音素情報とは、連続音素を識別する1以上の連続音素識別子と当該1以上の連続音素の1以上の特徴量とを含む情報であり、詳細は後述する。
また、本実施の形態において、一連音素情報は、2以上の連続音素情報を有するクラスを構成していることは好適である。なお、連続音素は、音素コンテキストと言い換えても良い。また、クラスは、音響モデルにおいて、コンテキストクラスタリングされた結果、できるものである。
以下、本実施の形態における音響モデル構築装置5について説明する。図12は、本実施の形態における音響モデル構築装置5のブロック図である。
音響モデル構築装置5は、対応情報格納部13、音響モデル格納部51、音声データ格納部52、条件格納部53、出現関連情報取得部54、判断部55、音声データ取得部56、学習部57、音響モデル構築部58を具備する。
音声データ取得部56は、距離算出手段561、特徴量取得手段562を具備する。
音響モデル格納部51は、2以上の一連音素情報を有する一の言語の音響モデルを格納している。一連音素情報とは、1以上の連続音素識別子と1以上の特徴量とを含む情報である。連続音素識別子とは、一または連続する2以上の音素である連続音素を識別する情報である。連続音素識別子は、例えば、「a−k−a」「a−k−i」「b−a」「a−i」などの複数の連続する音素識別子の集合であても良いし、「a」「k」などの一の音素識別子でも良い。また、一連音素情報は、2以上の連続音素識別子と2以上の連続音素の1以上の特徴量とを含む一のクラスを構成していても良い。1以上の特徴量は、一の連続音素識別子で識別される連続音素に対応する波形データから抽出される特徴量でも良いし、複数の連続音素識別子で構成されたクラスに対応する1以上の波形データから抽出される特徴量でも良い。
一連音素情報は、例えば、以下の4つの場合がある。一連音素情報は、(1)一の音素識別子と1以上の特徴量とを含む情報である場合、(2)一の音素識別子の集合と1以上の特徴量とを含む情報である場合、(3)2以上の連続する連続音素の一の連続音素識別子と1以上の特徴量とを含む情報である場合、(4)2以上の連続音素識別子の集合と1以上の特徴量とを含む情報である場合がある。なお、一連音素情報が(1)の場合であり、後述する出現関連情報が出現頻度の場合については、実施の形態1から3で説明した。上記の(2)の場合、一の音素識別子の集合は、近似する音素を識別する音素識別子の集合であり、一のクラスを構成する音素識別子の集合である。近似する音素とは、例えば、音素の特徴量ベクトルの距離が閾値以内の2以上の音素である。また、上記の(4)の場合、2以上の連続音素識別子の集合とは、近似する連続音素を識別する連続音素識別子の集合であり、一のクラスを構成する2以上の連続音素識別子である。近似する連続音素とは、例えば、連続音素の特徴量ベクトルの距離が閾値以内の2以上の音素である。
音声データ格納部52は、1以上の他の言語ごとに、音声データを格納している。音声データは、一の言語とは異なる他の言語の連続音素の波形データと、各波形データに対応付けられた連続音素の連続音素識別子とを有する。ここで、他の言語ごととは、他の言語の言語識別子と対応付けて音声データを格納していても良いし、言語ごとに、音声データを蓄積する記憶媒体を分けていても良い趣旨である。音声データは、例えば、連続した音素に対応する連続した波形データの集合や、音素ごとに波形データが切れており、1以上の波形データの集合などである。音声データのデータ構造も問わない。
条件格納部53は、1以上の条件を格納している。条件は、判断部55が判断のために利用する条件である。条件は、音声データ取得部56が、波形データを取得するための条件である。条件は、ここでは、連続音素識別子の出現数に関する情報である出現関連情報を用いた条件である。条件は、連続音素識別子の出現に関する情報である出現関連情報を用いた条件である、とも言える。ここで、出現関連情報とは、例えば、連続音素識別子(一の音素識別子である場合もある)の出現頻度や、連続音素識別子の情報量等である。条件とは、例えば、連続音素識別子の出現頻度が予め決められた閾値以下、または出現頻度が閾値より小さいこと、出現頻度の低い順に連続音素識別子を並べた場合に、予め決められた順位以上であること等である。また、条件とは、例えば、連続音素識別子の情報量が予め決められた閾値以上、または情報量が閾値より大きいこと、情報量の大きい順に連続音素識別子を並べた場合に、予め決められた順位以上であること等である。また、条件とは、波形データを取得した場合の連続音素識別子のエントロピーが予め決められた閾値以上、またはエントロピーが閾値より大きいこと、エントロピーの大きい順に並べた場合に、予め決められた順位以上であること等である。なお、条件は、プログラム中に埋め込まれていても良いし、条件を管理するテーブル等が、条件を利用するプログラムとは別に記憶されていても良い。
出現関連情報取得部54は、音響モデル格納部51に格納されている各連続音素識別子の出現関連情報、または一の言語の音響モデルが取得される元になる一の言語の音声データから各連続音素識別子の出現関連情報を取得する。なお、出現関連情報が情報量である場合、出現関連情報取得部54は、以下の数式2を用いて、連続音素識別子の情報量(I(x))を算出する。なお、数式2において、xは音素、P(x)は音素xの出現確率である。
また、出現関連情報が出現頻度である場合、出現関連情報取得部54は、上述した音素頻度取得部15と同様である。
判断部55は、出現関連情報取得部54が取得した各出現関連情報を、条件格納部53の条件に適用し、出現関連情報が条件を満たすか否かを判断する。条件格納部53の条件が2以上存在する場合、判断部55は、2以上の条件のいずれかを満たせば、出現関連情報が条件を満たすと判断しても良いし、すべての条件を満たした場合のみ、出現関連情報が条件を満たすと判断しても良い。なお、波形データを取得する条件として、連続音素識別子のエントロピーを用いる場合、判断部では、以下の数式3を用いて、各波形データを追加した場合のエントロピー(H(x))を算出する。なお、数式3において、X
iは連続音素識別子であり、p(X
i)は、連続音素識別子の出現確率である。
音声データ取得部56は、出現関連情報が条件を満たすと判断部55が判断した出現関連情報に対応する1以上の各連続音素識別子を取得する。なお、取得された連続音素識別子は、一の言語の連続音素識別子である。そして、音声データ取得部56は、取得した各連続音素識別子に対応する、他の言語の連続音素識別子と対になる波形データを、音声データ格納部52から取得する。ここで、対応するとは、連続音素識別子が一致するまたは近似することや、2つの音響モデルのモデル間距離が近いことなどを言う。
音声データ取得部56は、後述する距離算出手段561と特徴量取得手段562とを用いて、波形データを取得しても良いし、以下に述べる国際音声記号を用いて、波形データを取得しても良い。
音声データ取得部56が国際音声記号を用いる場合、例えば、音声データ取得部56は、対応情報格納部13を利用する。なお、対応情報格納部13は、2以上の対応情報を格納している。対応情報は、一の言語の音素識別子と国際音声記号とを対応付ける情報である。また、対応情報は、他の言語の音素識別子と国際音声記号とを対応付ける情報である。対応情報は、音響モデル格納部11の音素識別子と国際音声記号の組でも良いし、音声データ格納部52の音素識別子と国際音声記号の組でも良い。音素識別子と国際音声記号とは対応づけられれば良く、対応情報の構造は問わない。例えば、音素識別子と国際音声記号は外部に存在し、対応情報は、当該外部に存在する音素識別子と国際音声記号とを取得するための情報であっても良い。
具体的には、例えば、音声データ取得部56は、判断部55が条件を満たすと判断した1以上の各連続音素識別子を構成する各音素と対になる1以上の国際音声記号と一致するまたは近似する1以上の国際音声記号と対になる他の言語の1以上の連続する音素識別子である各連続音素識別子と対になる1以上の波形データを、音声データ格納部52から取得する。ここで、音声データ取得部56が取得する波形データは、一つの言語の波形データでも良いし、2以上の言語の波形データでも良い。また、音声データ取得部56は、国際音声記号に含まれる複数のパラメータのうちの1以上のパラメータが一致する割合、1以上のパラメータの近似する度合い等から、2つの国際音声記号が近似するか否かを判断する。
距離算出手段561は、条件を満たすと判断部55が判断した1以上の各連続音素識別子と対になる一の言語の1以上の特徴量と、他の言語の音声データ(音声データ格納部52に格納されている)が有する1以上の特徴量とを用いて、一の言語の音響モデルと、他の言語の音響モデルとの距離を算出する。距離の算出方法は、上述した通り、公知技術であるので、詳細な説明を省略する。
特徴量取得手段562は、距離算出手段561が算出した距離が予め決められた距離条件を満たすほど近い他の言語の1以上の特徴量を取得する。なお、音声データ取得部56は、特徴量取得手段562が取得した1以上の特徴量に対応する波形データを取得しても良い。
学習部57は、音声データ取得部56が取得した1以上の各波形データから1以上の特徴量を取得し、当該1以上の特徴量と条件を満たすと判断部55が判断した連続音素識別子とを有する1以上の他言語連続音素情報を取得する。また、学習部57は、特徴量取得手段562が取得した1以上の特徴量と、一の言語の連続音素識別子とを有する1以上の他言語音素情報を取得しても良い。
音響モデル構築部58は、音響モデル格納部51の音響モデルと、学習部57が取得した1以上の他言語連続音素情報とを有する新たな音響モデルを構成する。また、音響モデル構築部58は、音響モデル格納部51に格納されている一連音素情報のうちの、条件を満たすと判断部55が判断しなかった一連音素情報、および学習部57が取得した1以上の他言語連続音素情報を有する新たな音響モデルを構成しても良い。なお、新たな音響モデルを構成するとは、通常、音声データ取得部56が取得した音声データが有する連続音素識別子と学習部57が取得した1以上の特徴量とを含む他言語連続音素情報を、音響モデル格納部11に追記することである。つまり、構成するとは、通常、記録媒体に蓄積することも含む。なお、音響モデル構築部58は、音響モデル格納部51とは別の記憶領域や記憶媒体に、新たな音響モデルを構成しても良い。
音響モデル格納部51、音声データ格納部52、および条件格納部53は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。音響モデル格納部51に等に一の言語の音響モデル等が記憶される過程は問わない。
出現関連情報取得部54、判断部55、音声データ取得部56、学習部57、音響モデル構築部58、距離算出手段561、および特徴量取得手段562は、通常、MPUやメモリ等から実現され得る。出現関連情報取得部54等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、音響モデル構築装置5の動作について図13のフローチャートを用いて説明する。
(ステップS1301)出現関連情報取得部54は、カウンタiに1を代入する。
(ステップS1302)出現関連情報取得部54は、音響モデル格納部51の一の言語の音響モデル内に、i番目のクラスが存在するか否かを判断する。i番目のクラスが存在すればステップS1303に行き、i番目のクラスが存在しなければステップS1306に行く。ここで、クラスとは、通常、2以上の近似する連続音素識別子の集合である。ただし、本フローチャートにおいて、一の連続音素識別子が一つのクラスを構成する、と考えても良い。また、連続音素識別子は、通常、2以上の連続する音素識別子の集合であるが、一の音素識別子でも良い。
(ステップS1303)出現関連情報取得部54は、i番目のクラスの出現関連情報を取得する。出現関連情報取得部54は、一の言語の音響モデルが取得される元になる一の言語の音声データから各連続音素識別子の出現関連情報を取得することは好適である。但し、出現関連情報取得部54は、音響モデル格納部11に格納されている各連続音素識別子の出現関連情報を取得しても良い。
(ステップS1304)出現関連情報取得部54は、i番目のクラスに対応付けて、ステップS1303で取得した出現関連情報を、図示しないバッファに一時蓄積する。
(ステップS1305)出現関連情報取得部54は、カウンタiを1、インクリメントし、ステップS1302に戻る。
(ステップS1306)判断部55は、出現関連情報をキーとして、出現関連情報と1以上の連続音素識別子の集合との組の情報をソートする。出現関連情報が出現頻度である場合、判断部55は、昇順に、出現関連情報と1以上の連続音素識別子の集合との組の情報をソートする。また、出現関連情報が情報量である場合、判断部55は、降順に、出現関連情報と1以上の連続音素識別子の集合との組の情報をソートする。
(ステップS1307)判断部55は、ステップS1306でソートした各情報に対して、条件格納部14の出現関連情報に関する条件を満たすか否かを判断し、当該条件を満たす1以上の連続音素識別子を、すべて取得する。ここで、条件を満たす1以上の連続音素識別子を取得する処理は、条件を満たす1以上のクラスを決定する処理であるとも言える。
(ステップS1308)音声データ取得部56は、カウンタiに1を代入する。
(ステップS1309)音声データ取得部56は、ステップS1307で決定したクラスの中で、i番目のクラスが存在するか否かを判断する。i番目のクラスが存在すればステップS1310に行き、i番目のクラスが存在しなければ処理を終了する。
(ステップS1310)音声データ取得部56は、音声データ格納部52の他言語の連続音素識別子の中で、条件を満たすi番目のクラスに対応する1以上の連続音素識別子を取得する処理である対応連続音素取得処理を行う。対応連続音素取得処理については、図14のフローチャートを用いて後述する。
(ステップS1311)音声データ取得部56は、ステップS1310で取得した1以上の各連続音素識別子と対になる1以上の波形データを、音声データ格納部52からすべて取得する。
(ステップS1312)学習部57は、カウンタjに1を代入する。
(ステップS1313)学習部57は、ステップS1311で取得された波形データのうち、j番目の波形データが存在するか否かを判断する。j番目の波形データが存在すればステップS1314に行き、存在しなければステップS1317に行く。
(ステップS1314)学習部57は、学習処理を行う。学習処理は、j番目の波形データから、1以上の特徴量を取得する処理である。
(ステップS1315)音響モデル構築部19は、ステップS1314で取得した1以上の特徴量と連続音素識別子とを有する他言語音素情報を音響モデル格納部51に蓄積する。なお、ここでの連続音素識別子は、波形データと対になる連続音素識別子に対応する一の言語の連続音素識別子である。
(ステップS1316)学習部57は、カウンタjを1、インクリメントし、ステップS1313に戻る。
(ステップS1317)音声データ取得部56は、カウンタiを1、インクリメントし、ステップS1309に戻る。
次に、ステップS1310の対応連続音素取得処理の第一の例について、図14のフローチャートを用いて説明する。
(ステップS1401)音声データ取得部56は、カウンタiに1を代入する。
(ステップS1402)音声データ取得部56は、着目しているクラスに対応するi番目の連続音素識別子が存在するか否かを判断する。i番目の連続音素識別子が存在すればステップS1403に行き、存在しなければ上位処理にリターンする。
(ステップS1403)音声データ取得部56は、カウンタjに1を代入する。
(ステップS1404)音声データ取得部56は、i番目の連続音素識別子の中に、j番目の音素識別子が存在するか否かを判断する。j番目の音素識別子が存在すればステップS1405に行き、存在しなければステップS1410に行く。
(ステップS1405)音声データ取得部56は、i番目の連続音素識別子のj番目の音素識別子に対応するIPAを、対応情報格納部13から取得する。
(ステップS1406)音声データ取得部56は、ステップS1405で取得したIPAと、条件を満たす他言語のIPAを検索する。なお、通常、一の言語の音素に対応するIPAと、他の言語の音素に対応するIPAが一致または類似である場合、条件を満たす、とする。ここで、2以上の他言語のIPAを検索できる場合もあり得る。
(ステップS1407)音声データ取得部56は、ステップS1406において、1以上のIPAが存在するか否か(検索できたか否か)を判断する。IPAが存在すればステップS1408に行き、が存在しなければステップS1411に行く。なお、ステップS1406において、複数の言語のIPAが存在する場合もあり得る。
(ステップS1408)音声データ取得部56は、他言語のIPAを一時蓄積する。なお、ここで、複数の言語のIPAを一時蓄積しても良い。複数の言語のIPAを一時蓄積する場合、言語ごとに、IPAを追記していく。
(ステップS1409)音声データ取得部56は、カウンタjを1、インクリメントし、ステップS1404に戻る。
(ステップS1410)音声データ取得部56は、1以上のIPAに対応する連続音素識別子を、対応情報格納部13から取得する。なお、取得する連続音素識別子は、他の言語の連続音素識別子である。また、ステップS1408で、複数の言語の1以上のIPAが蓄積された場合、音声データ取得部56は、複数の言語の連続音素識別子を取得する。
(ステップS1411)音声データ取得部56は、カウンタiを1、インクリメントし、ステップS1402に戻る。
なお、図14のフローチャートにおいて、IPAが一致する他の言語の音素識別子のみを取得するようにしても良いし、最も類似する一つまたは上位n(nは2以上の整数)の音素識別子のみを取得するようにしても良い。
次に、ステップS1310の対応連続音素取得処理の第二の例について、図15のフローチャートを用いて説明する。図15のフローチャートにおいて、図14のフローチャートと同一のステップについて、説明を省略する。
(ステップS1501)音声データ取得部56は、i番目の連続音素識別子に対応する1以上の特徴量を、音響モデル格納部11から取得する。
(ステップS1502)音声データ取得部56は、カウンタjに1を代入する。
(ステップS1503)音声データ取得部56は、他の言語のj番目の連続音素識別子が存在するか否かを判断する。j番目の連続音素識別子が存在すればステップS1504に行き、存在しなければステップS1509に行く。
(ステップS1504)音声データ取得部56の距離算出手段273は、他の言語のj番目の連続音素識別子に対応する波形データの1以上の特徴量を取得する。なお、学習部57が、他の言語のj番目の連続音素識別子に対応する波形データの1以上の特徴量を取得しても良い。
(ステップS1505)距離算出手段561は、ステップS1501で取得した1以上の特徴量と、ステップS1504で取得した1以上の特徴量とを用いて、2つの音響モデルの距離を算出する。なお、例えば、この距離は、数式1を用いて算出される。
(ステップS1506)音声データ取得部56の特徴量取得手段562は、ステップS1505で取得した距離が、予め格納している距離条件を満たすほど、近いか否かを判断する。距離条件を満たせばステップS1507に行き、満たさなければステップS1508に行く。
(ステップS1507)学習部57は、他の言語のj番目の連続音素識別子を蓄積する。
(ステップS1508)音声データ取得部17は、カウンタjを1、インクリメントし、ステップS1503に戻る。
(ステップS1509)音声データ取得部17は、カウンタiを1、インクリメントし、ステップS1402に戻る。
以上、本実施の形態によれば、数多くの言語の音響モデルを効率よく構築できる。また、本実施の形態によれば、極めて高品質な音響モデルを効率よく構築できる。また、十分に学習データのある言語について、他言語の音響的な違いによる影響が出ない。
なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、一または連続する2以上の音素である連続音素を識別する1以上の連続音素識別子と当該1以上の連続音素の1以上の特徴量とを含む一連音素情報を2以上有する一の言語の音響モデルと、1以上の他の言語ごとに、前記一の言語とは異なる1以上の他の言語の連続音素の波形データと、当該各波形データに対応付けられた連続音素の連続音素識別子とを有する音声データと、連続音素識別子の出現数に関する情報である出現関連情報を用いた条件とを格納しており、コンピュータを、前記記憶媒体に格納されている各連続音素識別子の出現関連情報、または前記一の言語の音響モデルが取得される元になる一の言語の音声データから各連続音素識別子の出現関連情報を取得する出現関連情報取得部と、前記出現関連情報取得部が取得した各出現関連情報を、前記記憶媒体の条件に適用し、出現関連情報が前記条件を満たすか否かを判断する判断部と、出現関連情報が前記条件を満たすと前記判断部が判断した1以上の各連続音素識別子に対応する連続音素識別子と対になる波形データを、前記記憶媒体から取得する音声データ取得部と、前記音声データ取得部が取得した1以上の各波形データから1以上の特徴量を取得し、当該1以上の特徴量と前記条件を満たすと前記判断部が判断した連続音素識別子とを有する1以上の他言語連続音素情報を取得する学習部と、前記音響モデル格納部の音響モデルと、前記学習部が取得した1以上の他言語連続音素情報とを有する新たな音響モデルを構成する音響モデル構築部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記記憶媒体の音声データは、音素の波形データと音素識別子に加えて、1以上の特徴量を含み、前記音声データ取得部は、前記条件を満たすと前記判断部が判断した1以上の各連続音素識別子と対になる一の言語の1以上の特徴量と、前記他の言語の音声データが有する1以上の特徴量とを用いて、前記一の言語の音響モデルと、前記他の言語の音響モデルとの距離を算出する距離算出手段と、前記距離算出手段が算出した距離が予め決められた距離条件を満たすほど近い前記他の言語の1以上の特徴量を取得する特徴量取得手段とを具備し、前記学習部は、前記特徴量取得手段が取得した1以上の特徴量と、前記一の言語の連続音素識別子とを有する1以上の他言語音素情報を取得することは好適である。
また、上記プログラムにおいて、前記音響モデル構築部は、前記記憶媒体に格納されている一連音素情報のうちの、前記条件を満たすと前記判断部が判断しなかった一連音素情報、および前記学習部が取得した1以上の他言語連続音素情報を有する新たな音響モデルを構成することは好適である。
(実施の形態6)
本実施の形態において、他の言語の音響モデルを予め格納している状況において、一の言語の音響モデル内の連続音素識別子であり、条件を満たす連続音素識別子に対応する学習データであり、他の1以上の言語の音素の学習データを記録する音響モデル構築装置について説明する。
本実施の形態においても、実施の形態5と同様に、一連音素情報は、2以上の連続音素情報を有するクラスを構成していることは好適である。
図16は、本実施の形態における音響モデル構築装置6のブロック図である。
音響モデル構築装置6は、対応情報格納部13、音響モデル格納部51、他言語音響モデル格納部62、条件格納部53、出現関連情報取得部54、判断部55、他言語連続音素情報取得部66、音響モデル構築部67を具備する。
他言語連続音素情報取得部66は、距離算出手段661、連続音素情報取得手段662を具備する。
他言語音響モデル格納部62は、他の言語の他言語音響モデルを、1以上格納している。他言語音響モデルは、2以上の一連音素情報を有する。一連音素情報は、1以上の連続音素識別子と1以上の特徴量とを含む情報である。1以上の特徴量とは、1以上の連続音素の1以上の特徴量である。1または2以上の連続音素識別子は、クラスを構成している、と考えても良い。
他言語連続音素情報取得部66は、条件を満たすと判断部55が判断した1以上の各連続音素識別子(一の言語の1以上の各連続音素識別子)と、他言語の1以上の各連続音素識別子と対になる1以上の特徴量とを有する1以上の他言語連続音素情報を取得する。
つまり、他言語音素情報取得部66は、条件を満たすと判断部55が判断した1以上の各連続音素識別子を取得する。次に、他言語音素情報取得部66は、当該連続音素識別子に対応する連続音素識別子であり、他の言語の連続音素識別子を取得する。次に、他言語音素情報取得部66は、当該他の言語の連続音素識別子と対になる1以上の特徴量を、他言語音響モデル格納部62から取得する。次に、他言語音素情報取得部66は、取得した連続音素識別子(一の言語の連続音素識別子)と、1以上の特徴量とを有する他言語音素情報を得る。そして、他言語音素情報取得部66は、条件を満たすと判断部65が判断した1以上の各連続音素識別子に対して上記処理を行い、1以上の他言語音素情報を得る。
他言語音素情報取得部66は、条件を満たすと判断部55が判断した連続音素識別子と、当該連続音素識別子を構成する各音素識別子と対になる1以上の国際音声記号を取得する。次に、他言語音素情報取得部66は、1以上の各国際音声記号と一致するまたは近似する1以上の国際音声記号と対になる他の言語の1以上の音素識別子からなる連続音素識別子を取得する。次に、他言語音素情報取得部66は、当該他言語の連続音素識別子と対になる1以上の特徴量(他の言語の特徴量)を取得する。そして、他言語音素情報取得部66は、一の言語の連続音素識別子と他の言語の1以上の特徴量とを有する他言語音素情報を、1以上取得しても良い。
また、他言語音素情報取得部66は、条件を満たすと判断部55が判断した連続音素識別子と、距離算出手段661が算出した距離が予め決まれている距離条件を満たすほど近い他の言語の1以上の特徴量とを含む1以上の他言語音素情報を取得しても良い。ここでの他言語音素情報は、一の言語の連続音素識別子を有する。
距離算出手段661は、条件を満たすと判断部55が判断した1以上の各連続音素識別子と対になる一の言語の1以上の特徴量と、他言語音響モデル格納部62に格納されている1以上の特徴量とを用いて、一の言語の音響モデルと、他の言語の音響モデルとの距離を算出する。音響モデル間の距離を算出する方法は、上述したように公知技術であるので、詳細な説明を省略する。
連続音素情報取得手段662は、条件を満たすと判断部55が判断した連続音素識別子と、距離算出手段661が算出した距離が予め決まれている距離条件を満たすほど近い他の言語の1以上の特徴量とを含む1以上の他言語連続音素情報を取得する。
音響モデル構築部67は、音響モデル格納部51の音響モデルと、他言語音素情報取得部が取得した1以上の他言語連続音素情報とを有する新たな音響モデルを構成する。また、音響モデル構築部67は、音響モデル格納部51に格納されている一連音素情報のうちの、条件を満たすと判断部55が判断しなかった一連音素情報、および他言語音素情報取得部が取得した1以上の他言語連続音素情報を有する新たな音響モデルを構成しても良い。
他言語音響モデル格納部62は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。他言語音響モデル格納部62に他言語音響モデルが記憶される過程は問わない。
他言語連続音素情報取得部66、音響モデル構築部67は、通常、MPUやメモリ等から実現され得る。他言語連続音素情報取得部66等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、音響モデル構築装置6の動作について説明する。音響モデル構築装置3は、補完言語の1以上の特徴量も既に保持しているので、音響モデル構築装置5のように、音声データを学習して、音声データから1以上の特徴量を取得する必要はない。したがって、音響モデル構築装置6は、学習部57を具備しない。
音響モデル構築装置6は、目的言語の音響モデルのうち、出現関連情報が所定の条件を満たす連続音素に対して、当該連続音素に対応する補完言語の連続音素情報が有する1以上の特徴量を、他言語音響モデル格納部32から取得し、当該1以上の特徴量と目的言語の連続音素識別子とを有する1以上の他言語音素情報を、音響モデル格納部11に蓄積する。
そして、出現関連情報が所定の条件を満たす連続音素に対して、当該連続音素に対応する補完言語の連続音素を決定する処理は、音響モデル構築装置5と同様の処理であるので説明を省略する。
以上、本実施の形態によれば、数多くの言語の音響モデルを効率よく構築できる。また、本実施の形態によれば、極めて高品質な音響モデルを効率よく構築できる。また、十分に学習データのある言語について、他言語の音響的な違いによる影響が出ない。
なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、一または連続する2以上の音素である連続音素を識別する1以上の連続音素識別子と当該1以上の連続音素の1以上の特徴量とを含む一連音素情報を2以上有する一の言語の音響モデルと、一または連続する2以上の音素である連続音素を識別する1以上の連続音素識別子と当該1以上の連続音素の1以上の特徴量とを含む一連音素情報を2以上有する他の言語の1以上の他言語音響モデルと、連続音素識別子の出現数に関する情報である出現関連情報を用いた条件とを格納しており、コンピュータを、前記音響モデル格納部に格納されている各連続音素識別子の出現関連情報、または前記一の言語の音響モデルが取得される元になる一の言語の音声データから各連続音素識別子の出現関連情報を取得する出現関連情報取得部と、前記出現関連情報取得部が取得した各出現関連情報を、前記条件格納部の条件に適用し、出現関連情報が前記条件を満たすか否かを判断する判断部と、前記条件を満たすと前記判断部が判断した1以上の各連続音素識別子と、当該1以上の各連続音素識別子と対になる1以上の特徴量とを有する1以上の他言語連続音素情報を取得する他言語連続音素情報取得部と、前記音響モデル格納部の音響モデルと、前記他言語音素情報取得部が取得した1以上の他言語連続音素情報とを有する新たな音響モデルを構成する音響モデル構築部として機能させるためのプログラムである。
また、上記プログラムにおいて、前記他言語音素情報取得部は、前記条件を満たすと前記判断部が判断した1以上の各連続音素識別子と対になる一の言語の1以上の特徴量と、前記他言語音響モデル格納部に格納されている1以上の特徴量とを用いて、前記一の言語の音響モデルと、前記他の言語の音響モデルとの距離を算出する距離算出手段と、前記条件を満たすと前記判断部が判断した連続音素識別子と、前記距離算出手段が算出した距離が予め決まれている距離条件を満たすほど近い前記他の言語の1以上の特徴量とを含む1以上の他言語連続音素情報を取得する連続音素情報取得手段とを具備することは好適である。
また、上記プログラムにおいて、前記音響モデル構築部は、前記音響モデル格納部に格納されている一連音素情報のうちの、前記条件を満たすと前記判断部が判断しなかった一連音素情報、および前記他言語音素情報取得部が取得した1以上の他言語連続音素情報を有する新たな音響モデルを構成することは好適である。
また、図17は、本明細書で述べたプログラムを実行して、上述した実施の形態の音響モデル構築装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図17は、このコンピュータシステム340の概観図であり、図18は、コンピュータシステム340のブロック図である。なお、音声認識装置4は、音響モデル構築装置を実現するコンピュータ構成に加えてマイクを有する。
図17において、コンピュータシステム340は、FDドライブ、CD−ROMドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
図18において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、MPU3413と、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM3415とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム340に、上述した実施の形態の音響モデル構築装置等の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ341に、上述した実施の形態の音響モデル構築装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、ハードウェアによって行われる処理、(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。