説明

辞書修正装置、システム、およびコンピュータプログラム

【課題】必要のない読みを自動的に判定して発音辞書から削除することで音声処理における正解率向上やサーチ時間短縮を目的とし、そのための辞書修正装置を提供する。
【解決手段】辞書修正装置が、第一閾値を記憶する閾値記憶部と、表記と、読みと、当該表記および当該読みが発生する頻度である発生頻度との組をエントリとして有する頻度データを読み込み、前記閾値記憶部から前記第一閾値を読み込み、前記発生頻度が前記第一閾値以上である前記エントリが存在する前記表記に関して、その表記を有して且つ前記発生頻度が所定の第二閾値以下となるような前記エントリを、削除対象エントリとして抽出する削除対象エントリ抽出部と、表記と読みとの組を有する発音辞書データから、前記削除対象エントリ抽出部によって抽出された前記削除対象エントリに対応するデータを削除して、修正発音辞書データを作成する辞書修正処理部を具備する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声処理に関する。特に、辞書修正装置、音声認識システム、音声合成システム、およびコンピュータプログラムに関する。
【背景技術】
【0002】
音声処理分野における発音辞書は音声や文書に対して特定の単語を識別するための単語の表記とその読みで構成される。日本語などの言語では、例えば漢字表記のように、ある単語に対してその読みは1つとは限らず、複数存在する可能性がある。従って、発音辞書は、ある表記に対し、1つないし複数の読みを対応させて保持している。
音声認識処理や音声合成処理などでは、この発音辞書をもとにして単語の表記とその発声の仕方である読みを対応付けしているため、正しい読みが発音辞書に登録されていなければ、その表記が正しく認識されなかったり、音声を正しく合成できなかったりするということになる。
【0003】
最近では音声認識結果をウェブ上で公開し、辞書に登録されていない単語(未知語)については、ウェブ上で表記とその読みのセットの登録をインターネットユーザに任せるという試みも見られる(非特許文献1)。
また、単語の読みを構成する音素に対し、所定のパターン定義を用いて異なる読みを発生させ、それを発音辞書に自動で追加していく手法も提案されている(特許文献1)。
【非特許文献1】緒方淳、外2名,「PodCastleの実現:Web2.0に基づく音声認識性能の向上について」,情処研報,音声言語情報処理2007−SLP−65−8,社団法人情報処理学会,2007年,p.41−46
【特許文献1】特表2003−522980号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特に数万語以上の単語を扱う大語彙連続音声認識などの分野においては、固有名詞などのような新出単語の表記と読みとを人手で登録していくと、読みの入力誤りや、時間・時代の経過に従って使われなくなる読みなどが発音辞書に含まれる状態になってしまうことがある。
また、インターネットを介して公開された発音辞書への追加登録を、一般のインターネットユーザに任せた場合には、表記に対する誤った読みが登録されてしまう可能性があり、このことが問題となる。
【0005】
このように発音辞書内に誤った読みや、既に使われなくなった読みなどのエントリが存在すると、音声認識の正解率低下や辞書のサーチ時間の遅延など認識時に悪影響を及ぼすことになる。現実問題としても、発音辞書には、ある表記に対して正しい読み以外にも、その読みでは決して読まれることのない、必要のないものも含まれていることがある。従来の手法ではそのような根本的な問題に対応しておらず、本来必要のない読みも発音辞書内にそのまま残して、本来必要な読みと同様の扱いをしていた。
【0006】
本発明はそのような本来必要のない読みを自動的に判定し、それを発音辞書から削除することで音声処理における正解率の向上やサーチ時間の短縮を図ることを目的とし、そのような自動的削除を可能にする辞書修正装置およびそのコンピュータプログラムを提供するものである。
また、本発明は、上記のような辞書修正装置を応用した音声認識システムや音声合成システムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記の課題を解決するため、本発明では、過去の実際の発話音声とその書き起こし文のテキストデータを学習データとして、その学習データから発音辞書や音響モデルを用いたビタビサーチにより実際の発話の形態素ごとの表記とその読みのセットを抽出し(アライメント作業)、その頻度を基準として発音辞書の中で必要でないと思われる読みを削除することで音声処理の性能向上を図る。
【0008】
[1]本発明の一態様による辞書修正装置は、第一閾値を記憶する閾値記憶部と、表記と、読みと、当該表記および当該読みが発生する頻度である発生頻度との組をエントリとして有する頻度データを読み込み、前記閾値記憶部から前記第一閾値を読み込み、前記発生頻度が前記第一閾値以上である前記エントリが存在する前記表記に関して、その表記を有して且つ前記発生頻度が所定の第二閾値以下となるような前記エントリを、削除対象エントリとして抽出する削除対象エントリ抽出部と、表記と読みとの組を有する発音辞書データから、前記削除対象エントリ抽出部によって抽出された前記削除対象エントリに対応するデータを削除して、修正発音辞書データを作成する辞書修正処理部とを具備することを特徴とする。
上記頻度データは、例えば学習データセットに基づくものであり、表記と読みの組とその組の発生頻度を表わす。発生頻度が適宜設定される第一閾値以上であるような表記と読みの組については、その表記の発生頻度は充分に高い。そのように発生頻度の高い表記について、発生頻度が第二閾値以下であるような表記と読みの組み合わせが存在するとき、その読みは、不要なエントリの候補と見なせる。従って、削除対象エントリ抽出部は、そのような表記と読みの組を削除対象エントリとして抽出する。辞書修正処理部は、このような基準で削除対象とされたエントリを発音辞書データから削除する。このように作成された修正発音辞書データは、不要なエントリが含まれていない。よって、この修正発音辞書データを用いて例えば音声処理等を行なうと、処理の正確性が向上する。
仮に、発生頻度が第二閾値以下であるようなエントリであっても、そのエントリと同じ表記を有して且つ発生頻度が第一閾値以上であるようなエントリが存在しない場合には、頻度データの元になる学習データ自体が、その表記に関しては充分ではない。しかしながら本態様の構成では第一閾値を用いた判断を行なっていることにより、このようなエントリは削除対象エントリには含まれない。従って、抽出される削除対象エントリの信頼性は、高まる。
なお、上記の第二閾値としては0(ゼロ)が好適である。つまり、第二閾値が0であるとき、発生頻度が0であることが削除対象エントリとして抽出されるための必要条件となる。
【0009】
[2]また、本発明の一態様は、上記の辞書修正装置において、発話された音声の書き起こし文と、前記発話された音声に対応する読みとから、形態素ごとの表記と読みとの組を抽出し、これら複数の組を基に、表記と、読みと、当該表記および当該読みが発生する頻度である発生頻度との組をエントリとして有する頻度データを作成する学習データセット処理部をさらに具備し、前記削除対象エントリ抽出部は、前記学習データセット処理部が作成した前記頻度データを読み込んで、前記削除エントリを抽出する処理を行なうことを特徴とする。
この構成により、発話された音声の書き起こし文とこの発話された音声に対応する読み(これらをあわせたものが学習データセット)から頻度データを作成して、削除エントリ抽出部の処理のために用いることができる。
【0010】
[3]また、本発明の一態様は、上記の辞書修正装置において、外部から読み込む知識データに基づく、表記と読みとの組を信頼エントリとして保持する知識データ処理部をさらに具備し、前記辞書修正処理部は、前記削除対象エントリと前記信頼エントリの両方に含まれるデータを発音辞書データからの削除対象から除外することを特徴とする。
知識データは、例えば発音アクセント辞典や用字用語辞典などのデータであり、表記および読みについて信頼できる情報を含む。本態様では、このような知識データに基づいて得られる表記と読みの組を信頼エントリとして保持する。たとえ削除対象エントリに含まれているような表記と読みの組であっても、その組が信頼エントリにも含まれていれば、辞書修正処理部はそのようなエントリを発音辞書データから削除しない。つまり、何らかの理由によって頻度データにおいては発生頻度が第二閾値以下となってしまっている表記と読みの組が偶々存在していたとしても無条件にその組が発音辞書データから削除されるわけではなく、修正発音辞書データの内容が安定的になる。
【0011】
[4]また、本発明の一態様は、上記の辞書修正装置において、前記修正発音辞書データを用いてテストデータである音声の読みを決定するとともに、前記テストデータである音声に対応して与えられる正解の読みのデータを用いて、上で決定された読みの正解率を算出する発音決定部と、前記発音決定部によって算出された前記正解率に応じて、新たな第一閾値を決定して前記閾値記憶部を書き換える閾値決定部とを具備することを特徴とする。
発音決定部は、修正発音辞書データを用いてテストデータの音声の読みを決定する。このとき、修正発音辞書データの精度に応じて、決定された読みには誤りが含まれる可能性がある。発音決定部は、正解データを用いて、決定された読みの正解率を算出する。この正解率に応じて、閾値決定部が、次回の第一閾値を決定する。この構成により、正解率に応じた閾値を適応的に決定することができる。
一例としては、正解率が高いほど今回の第一閾値から次回の第一閾値への変化量の絶対値を小さくし、正解率が低いほど今回の第一閾値から次回の第一閾値への変化量の絶対値を大きくする。これにより、正解率が低い領域においては、次回の第一閾値を大きく変化させるため、適切な第一閾値に速く近付く(言い換えれば、少ない回数で適切な第一閾値に近付く)。また、正解率が高い領域においては、次回の第一閾値への変化量は小さいため、過度な変化とならず、微調整を効かせることができる。
【0012】
[5]また、本発明の一態様による音声認識システムは、上記の辞書修正装置と、入力音声データの音響特徴量を抽出する音響分析部と、前記辞書修正装置によって修正された修正発音辞書データを用いて、前記音響特徴量から認識結果を決定して認識結果データを出力するデコーダ部とを具備することを特徴とする。
これによれば、より正確な音声認識を行なうことが可能となる。
【0013】
[6]また、本発明の一態様による音声合成システムは、上記の辞書修正装置と、前記辞書修正装置によって修正された修正発音辞書データを用いて、入力文書データから読みを決定するテキスト解析部と、前記テキスト解析部によって決定された読みを合成音として出力する音声合成処理部とを具備することを特徴とする。
これによれば、より正確な音声合成を行なうことが可能となる。
【0014】
[7]上記の課題を解決するため、本発明の一態様によるコンピュータプログラムは、第一閾値を記憶する閾値記憶部を備えるコンピュータに、表記と、読みと、当該表記および当該読みが発生する頻度である発生頻度との組をエントリとして有する頻度データを読み込み、前記閾値記憶部から前記第一閾値を読み込み、前記発生頻度が前記第一閾値以上である前記エントリが存在する前記表記に関して、その表記を有して且つ前記発生頻度が所定の第二閾値以下となるような前記エントリを、削除対象エントリとして抽出する削除対象エントリ抽出処理過程と、表記と読みとの組を有する発音辞書データから、前記削除対象エントリ抽出過程によって抽出された前記削除対象エントリに対応するデータを削除して、修正発音辞書データを作成する辞書修正処理過程と、の処理を実行させる。
【発明の効果】
【0015】
本発明により、学習データセットを元にした頻度データを用いて、必要性の低いエントリを削除した、また誤っている可能性のあるエントリを削除した、修正発音辞書データを得ることが可能となる。これにより、大語彙連続音声認識の正解率の向上や、認識の際の発音辞書データのサーチ時間の短縮や、また、音声合成の分野における高精度なテキスト解析処理が実現可能となり、音声処理分野全般において性能向上を図ることができる。
【発明を実施するための最良の形態】
【0016】
[第1の実施の形態]
以下、本発明の実施形態について、図面を参照しながら説明する。
図1は、本実施形態による発音辞書修正装置の機能構成を示すブロック図である。図示するように、発音辞書修正装置100は、閾値記憶部7と、学習データセット処理部5と、知識データ処理部6と、削除対象エントリ抽出部8と、辞書修正処理部9とを含んで構成される。また、発音辞書修正装置100は、発音辞書データ1と、学習データセット2と、知識データ3とを使用し、処理の結果として修正された発音辞書データ4(修正発音辞書データ)を作成し、出力するようになっている。これらの各データは、例えば、磁気ハードディスク装置などに記録されている。また、閾値記憶部7は、例えば、書き換え可能な半導体リードライトメモリ(半導体RWM)によって構成される。
【0017】
発音辞書修正装置100が使用するデータの概略は、次の通りである。
発音辞書データ1は、音声認識や音声合成などといった音声処理に用いるための辞書のデータであり、単語の文字での表記と、その単語の読みとの関係を表わす。発音辞書データ1の詳細については後述する。
学習データセット2は、過去に実際に発話された音声とその音声に対応する書き起こし文を含むデータである。
知識データ3は、発音アクセント辞典や用字用語辞典など、単語の表記と読みの情報を含むデータであり、音声処理のための信頼できるデータである。
【0018】
発音辞書修正装置100内の閾値記憶部7は、削除対象エントリ抽出部8が削除対象エントリを抽出する処理で使用するための閾値(第一閾値)を記憶するために用いられる。
また、各処理部の概略は、次の通りである。
学習データセット処理部5は、学習データセット2に含まれる音声(またはその読みのデータ)と対応する書き起こし文とのアライメント処理を行なうことによって、形態素ごとの表記と読みとの組を抽出する。そして、これらの組について、標記と読みとの組み合わせの頻度をカウントすることによって、表記と読みと発生頻度との組をエントリとして有する処理済み学習データセット(頻度データ)を作成する。
知識データ処理部6は、外部から読み込む知識データ3に基づき、表記と読みとの組を信頼エントリとして保持する(処理済み知識データ)。
削除対象エントリ抽出部8は、上記の処理済み学習データセットを読み込み、閾値記憶部から閾値を読み込み、この閾値を用いて、処理済み学習データセットの中から削除対象エントリを抽出する。
辞書修正処理部9は、発音辞書データ1から、削除対象エントリ抽出部8によって抽出された削除対象エントリに対応するデータを削除して、修正発音辞書データ4を作成する。
【0019】
次に、発音辞書修正装置100が使用する主要なデータについて説明する。
図2は、発音辞書データ1の構成及びそのデータ例を示す概略図である。図示するように、発音辞書データ1は表記と読みとの対応関係を表わす組を有するデータであり、本実施形態では、2次元の表形式のデータとして構成されている。この図に示すデータ例では、「家」という表記が存在し、この表記「家」に対しては4種類の読み「ie」と「ka」と「ke」と「chi」が存在している。また、「宇宙」という表記が存在し、この表記「宇宙」に対しては2種類の読み「uchu:」と「sora」が存在している。ここで、読みは、ローマ字表記で表現されている。また、読み「uchu:」の中の「:」は、日本語の長音を表わしている。
【0020】
図3は、学習データセット2を基に学習データセット処理部5が処理した結果である処理済み学習データセット(頻度データ)の構成及びそのデータ例を示す概略図である。図示するように、処理済み学習データセットは、表記と、読みと、当該表記および当該読みが発生する頻度である発生頻度との組をエントリとして有する表形式のデータである。
【0021】
この図に示すデータ例では、表記「家」に対応する読み「ie」の元の学習データ内における発生頻度が「613」であったことを表わしている。同様に、表記「家」に対応する読み「ka」の発生頻度が「38」、表記「家」に対応する読み「ke」の発生頻度が「29」、表記「家」に対応する読み「chi」の発生頻度が「0」、表記「宇宙」に対応する読み「uchu:」の発生頻度が「174」、表記「宇宙」に対応する読み「sora」の発生頻度が「0」となっている。
【0022】
図4は、処理済み学習データセットなどを基に削除対象エントリ抽出部8が抽出した削除対象エントリデータの構成およびそのデータ例を示す概略図である。図示するように、この削除対象エントリデータの形式は、上述した処理済み学習データと同様である。また、この図の例では、削除対象エントリデータには、表記「家」と読み「chi」と発生頻度「0」の組や、表記「宇宙」と読み「sora」と発生頻度「0」の組が含まれている。これらは、表記「家」と読み「chi」の組や、表記「宇宙」と読み「sora」の組が、発音辞書データから削除する対象であることを表わしている。なお、削除対象エントリデータは、頻度の項目を持たせず、表記と読みの項目のみで構成するようにしても良い。
【0023】
次に、発音辞書修正装置100の各部による処理手順の詳細について説明する。
知識データ処理部6は、知識データ3を読み込み、この知識データ3を基に単語の表記と読みの組を抽出し、この組を信頼エントリとする。そして、これらの信頼エントリを有する処理済み知識データを出力する。前述の通り、知識データ3は、例えば発音アクセント辞典や用字用語辞典などであり、これらに含まれる単語の表記と読みを信頼エントリとして抽出することは妥当である。
【0024】
図5は、学習データセット処理部5による処理の手順を示すフローチャートである。この図において、矢印つきの実線は処理の制御の流れを表わし、矢印つきの破線はデータの流れを表わす。ここでのデータの流れとは、各処理が記憶装置等から読み込んだり記憶装置等に書き出したりする際のデータの流れである。
【0025】
図示するように、学習データセット処理部5は、ステップS01において、発音辞書データ1を参照しながら学習データセット2のアライメント処理を行い、その結果、表記と読みのセットを抽出し、表記と読みのデータセット2aを作成する。より具体的には、このアライメント処理では、発音辞書データ1や音響モデルを用いたビタビサーチにより、実際の発話に含まれる形態素ごとの表記とその読みのセットを抽出する。但し、学習データセット2が音声と書き起こし文に加えて予めその文に対応する読みのテキストを含む場合には、アライメント処理を行なう代わりに、学習データの書き起こし文を形態素解析するとともに文の読みのテキストを利用して、各形態素の表記と読みのセットを抽出するようにしても良い。
【0026】
次に、学習データセット処理部5は、ステップS02において、上で作成した表記と読みのデータセット2aを基に、元の学習データセット2内における各表記に対する読みの発生頻度を計算し、表記と読みの組に当該組の発生頻度の情報を負荷した処理済み学習データセット2bを出力する。この処理済み学習データセット2bについては、既に図3を参照して説明したとおりである。
【0027】
図6は、削除対象エントリ抽出部8による処理の手順を示すフローチャートである。この図においても、上の図と同様に、矢印つきの実線は処理の制御の流れを表わし、矢印つきの破線はデータの流れを表わす。
削除対象エントリ抽出部8は、まずステップS11において、処理済み学習データセット2bと、処理済み知識データ3aとを読み込み、処理済み学習データセット内をサーチし、そして、削除対象エントリ抽出部8によってまだ処理されていない表記を抽出する。
【0028】
削除対象エントリ抽出部8は、次にステップS12において、閾値記憶部7から閾値(第一閾値)を読み出す。そして、処理済み学習データセット2bから抽出されたエントリであって当該表記に該当するエントリの中に、(頻度)≧(閾値記憶部7から読み出した閾値)となる読みのエントリがあるかどうかを判断する。この判断の結果、もしそのようなエントリが1つもなければ(ステップS12:NO)、当該表記の処理を終え、次の表記を抽出するためにステップS11に戻る。上記判断の結果、もしそのようなエントリが1つ以上あれば(ステップS12:YES)、次のステップS13に進む。
削除対象エントリ抽出部8は、次にステップS13において、当該表記において発生頻度が「0」回の読みのエントリを抽出し(つまり、第二閾値が「0」の場合、頻度が第二閾値以下の読みを抽出することと同じ)、そのようなエントリをすべて、削除対象エントリデータ2cに追加する。
【0029】
つまり、これらステップS12およびS13の処理によって、削除対象エントリ抽出部8は、発生頻度が第一閾値以上であるエントリが存在する表記に関して、その表記を有して且つ発生頻度が所定の第二閾値以下となるようなエントリを、削除対象エントリとして抽出することになる。
【0030】
削除対象エントリ抽出部8は、次にステップS14において、処理済み学習データセット2b内のサーチを全て終了したかどうかを判断する。この判断の結果、まだ全てを終了していなければ(ステップS14NO)、当該表記の処理を終え、次の表記を抽出するためにステップS11に戻る。上記判断の結果、もし全てサーチを終了していれば(ステップS14:YES)、削除対象エントリ抽出部8は、このフローチャートに示した処理手順を終了する。
【0031】
上記のような削除対象エントリ抽出部8の処理の結果、削除対象エントリデータ2cには、削除対象とすべき表記と読みの組のエントリが蓄積される。
【0032】
辞書修正処理部9は、削除対象エントリ抽出部8によって出力された削除対象エントリデータ2cを用いて、表記と読みとの組を有する発音辞書データ1から、削除対象エントリに該当するデータを削除して、修正された発音処理データ4(修正発音辞書データ)を作成する。但し、このとき、削除対象エントリ抽出部8から渡された処理済み知識データ3aの中に信頼エントリが存在する場合には、辞書修正処理部9は、たとえ削除対象エントリに該当するデータであっても、信頼エントリに該当するデータは、知識データ3に基づく基本的な読みにあたるものであるため、削除対象から除外する。言い換えれば、辞書修正処理部9は、削除対象エントリと信頼エントリの両方に含まれるデータを、発音辞書データからの削除対象から除外する。
【0033】
なお、本実施形態の発音辞書修正装置100における以上の一連の処理について、データの実例を参照しながら説明すると、以下の通りとなる。閾値記憶部7において設定されている閾値が「100」である場合、図3に示した処理済み学習データセット内では、表記「家」と読み「ie」の組の発生頻度が「613」であるため、表記「家」については(頻度)≧(閾値記憶部7から読み出した閾値)となる読みが存在する。また、そのような表記「家」に対して、読み「chi」の発生頻度は「0」であるため、この表記「家」と読み「chi」の組は削除対象エントリに含まれることとなる。同様に、図3に示した処理済み学習データセット内では、表記「宇宙」と読み「uchu:」の組の発生頻度が「174」であるため、表記「宇宙」については(頻度)≧(閾値記憶部7から読み出した閾値)となる読みが存在する。また、そのような表記「宇宙」に対して、読み「sora」の発生頻度は「0」であるため、この表記「宇宙」と読み「sora」の組は削除対象エントリに含まれることとなる。
【0034】
また、閾値記憶部7において設定されている閾値が「200」である場合は、表記「家」と読み「ie」の組の発生頻度が「613」であるため、表記「家」については(頻度)≧(閾値記憶部7から読み出した閾値)となる読みが存在する。よって、閾値が「100」の場合と同様に、表記「家」と読み「chi」の組は削除対象エントリに含まれることとなる。一方で、閾値記憶部7において設定されている閾値が「200」である場合は、表記「宇宙」については(頻度)≧(閾値記憶部7から読み出した閾値)となる読みが図3に例示するデータ中には存在しないため、表記「宇宙」と読み「sora」の組は、削除対象エントリとしては抽出されない。
【0035】
[第2の実施の形態]
次に第2の実施形態について、図面を参照しながら説明する。この第2の実施形態が前述した実施形態と異なる特徴的な点は、ある閾値(第一閾値)を用いて作成した修正発音辞書データを用いて、テストデータの発音決定を実際に行ない、既知の読みからその決定された発音の正解率を算出し、この正解率に応じて、適応的に閾値の決定を行なう点である。
本実施形態の発音辞書修正装置は、最適な結果を得るための第一閾値を適切に決めることが困難であるというさらなる課題を解決するものである。
【0036】
図7は、本実施形態による発音辞書修正装置の機能構成を示すブロック図である。
図示するように、本実施形態による発音辞書修正装置101は、学習データセット処理部5と、知識データ処理部6と、削除対象エントリ抽出部8と、辞書修正処理部9と、テストデータ記憶部20と、発音決定部21と、正解率データ記憶部22と、閾値決定部23と、閾値記憶部27とを含んで構成される。第1の実施形態における発音辞書修正装置100と同様の構成(発音辞書データ1、学習データセット2、知識データ3、修正された発音辞書データ4、学習データセット処理部5、知識データ処理部6、削除対象エントリ抽出部8、辞書修正処理部9)についてはここでは説明を省略し、本実施形態特有の構成及び処理について以下で説明する。
【0037】
テストデータ記憶部20は、テストデータを記憶する。このテストデータは、テスト用の音声と、この音声に対応して与えられる正解の読みのデータとを含んでいる。
発音決定部21は、辞書修正処理部9によって作成された修正された発音辞書データ4を用いて音声認識処理を行なうことにより、テストデータ記憶部20から読み出したテストデータ(音声)の読みを決定するとともに、ここで決定された読みとテストデータ記憶部20から読み出した正解の読みのデータとを比較することによって、上記決定された読みの正解率を算出する。ここでの正解率とは、例えば、両データの形態素単位での対応関係をとり、決定された読みのデータの各形態素が正解データの形態素に合っているかどうかを判断して、合っている形態素の割合を計算することによって算出する。なお、発音決定部21における音声認識処理は、既存技術を用いて行なう。
【0038】
正解率データ記憶部22は、発音決定部21によって算出された正解率のデータを一時的に記憶するものであり、例えば、半導体リードライトメモリを用いて実現される。
閾値決定部23は、上記の正解率のデータを正解率データ記憶部22から読み出し、この正解率に応じて、閾値(第一閾値)を決定して閾値記憶部27を書き換える。
閾値記憶部27は、現在の閾値を記憶するものであり、閾値決定部23によって書き込まれ、削除対象エントリ抽出部8によって参照される。
【0039】
次に、発音辞書修正装置101による処理の手順を説明する。図8は、その処理手順を示すフローチャートである。
このフローチャートのステップS41において、閾値決定部23が、閾値(第一閾値)の初期値θを決定する。この初期値θは、例えば学習データセット2のサイズなどに応じて適宜決めればよく、例えばθ=10000とする。決定された閾値は、閾値記憶部27に書き込まれる。
また、ここで、正解率の初期値αを便宜的に0としておく。
【0040】
以下、ステップS42からS48までの処理は、ステップS46において終了条件が成立するまで繰り返されるループである。
ステップS42において、発音辞書修正装置101は、発音辞書データを初期状態にする。つまり、このフローチャートで示す繰り返し処理によって、前回、発音辞書データのエントリの一部が削除された状態の修正された発音辞書データ4が作成されていた場合も、このステップS42において、それらのエントリを削除する前の状態に一旦戻される。
【0041】
次に、ステップS43において、削除対象エントリ抽出部8が、削除対象エントリを抽出する処理を行なう。このとき、削除対象エントリ抽出部8は、閾値記憶部27に記憶されている現閾値を読み出して使用する。なお、削除対象エントリ抽出までの、学習データセット5と知識データ処理部6による処理は、第1実施形態におけるそれらと同様である。
【0042】
次に、ステップS44において、ステップS43で抽出された削除対象エントリに基づいて、辞書修正処理部9が、発音辞書データを修正し、修正された発音辞書データ4を作成・出力する。なお、この部分の処理は、第1実施形態におけるそれと同様である。また、この際、処理済み知識データに含まれる信頼エントリに対応するデータは発音辞書データからは削除されない点も、第1実施形態の場合と同様である。
【0043】
次に、ステップS45において、発音決定部21が、テストデータ記憶部20からテストデータである音声を読み出し、修正された発音辞書データ4を用いて当該音声の発音決定を行なうとともに、当該音声に対応する正解の読みデータを用いて、決定した発音の正解率αを算出する。ここで、αは繰り返し処理においてk回目(k=1,2,・・・・・・)に算出した正解率であり、0≦α≦1である。算出された正解率は、正解率データ記憶部22に書き込まれる。
【0044】
次に、ステップS46において、閾値決定部23が、今回正解率が前回正解率より低いかどうかを判断する。つまり、α<αk−1であるかどうかを判断する。なお、k=1のときは前回正解率がないため、上で便宜的に定めた初期値α(=0)を使用する。この判断結果が肯定的である場合は、閾値の適応化が既に充分に行なわれたことを意味し、よってこのフローチャート全体の処理を終了する。上記の判断結果が否定的である場合は、閾値の適応化を更に行なう余地があることを意味し、よって次のステップS47に進む。
【0045】
次に、ステップS47に進んだ場合には、同ステップにおいて、閾値決定部23が前回に決定した閾値θk−1と今回算出された正解率αに基づき、次回閾値θを決めるための閾値変化量Δθを決定する。具体的には、次回閾値変化量Δθ=μ・(1−α)・θk−1 とする。ここで、μは適宜設定された正定数である。つまり、次回閾値変化量Δθは、前回閾値に比例するとともに、今回不正解率(1−α)に比例するようにしている。言い換えれば、今回正解率が低いほど閾値変化量Δθが大きくなり、逆に今回正解率が高いほど閾値変化量Δθが小さくなるようにしている。
【0046】
次に、ステップS48において、閾値決定部23は、ステップS47で決定した閾値変化量Δθを用いて次回閾値θを決定し、閾値記憶部27を更新する。具体的には、次回閾値θ=θk−1−Δθとする。つまり、θ=θk−1−μ・(1−α)・θk−1とする。
【0047】
なお、ステップS46で終了条件を判定しているが、この流れの処理を行なった場合、ステップS46における前回正解率αk−1が正解率における極大値となる。よってこの前回正解率αk−1に対応する閾値を採用すると良い。
このフローチャートに示した処理手順によれば、正解率が高くなるように、適応的に閾値を変化させているため、最終的に好適な閾値を得ることができる。
また、この処理手順によれば、正解率が低いほど閾値変化量を大きくしているため、正解率が低い領域では正解率が収束方向に向かう速さを上げることができる。また、正解率が高いほど閾値変化量を小さくしているため、正解率が収束に近付いた領域では、より良い正解率を得るために閾値を微調整することができる。
なお、この処理手順では、閾値の初期値を大きめに設定しておいて繰り返し処理に従って閾値を徐々に小さくする方向に変化させているが、逆に、閾値の初期値を小さめに設定しておいて閾値を徐々に大きくする方向に変化させても良い。
【0048】
次に、本発明による発音辞書修正装置を音声処理に応用した、複数の実施形態について説明する。
【0049】
[第3の実施の形態]
第3の実施形態は、発音辞書修正装置を音声認識処理に適用したものである。
図9は、本実施形態による音声認識システムの機能構成を示すブロック図である。図示するように、音声認識システム201は、入力文書データ51と、音響分析部52と、デコーダ部53と、認識結果データ54と、発音辞書データ1Aと、発音辞書修正装置100Aと、修正された発音辞書データ4Aとを含んで構成される。
【0050】
ここで、発音辞書修正装置100Aは、第1あるいは第2の実施形態で説明した発音辞書修正装置と同様のものあるいはその変形実施例である。この発音辞書修正装置100Aは、発音辞書データ1Aから、削除対象のエントリを削除したものである修正された発音辞書データ4Aを作成・出力する。音響分析部52は、入力音声データ51の音響特徴量を抽出する。デコーダ部53は、修正された発音辞書データ4Aを用いて、音響分析部52によって抽出された音響特徴量から認識結果を決定して認識結果データ54を出力する。この音声認識システム201は、修正された発音辞書データ4Aを用いてデコード処理をしているため、辞書検索による時間を削減できるとともに、正解率の高い認識結果を出力することが可能となる。
【0051】
[第4の実施の形態]
第4の実施形態は、発音辞書修正装置を音声合成処理に適用したものである。
図10は、本実施形態による音声合成システムの機能構成を示すブロック図である。図示するように、音声合成システム202は、入力文書データ61と、テキスト解析部62と、音声合成処理部63と、合成音を表わす合成結果(データ)64と、発音辞書データ1Bと、発音辞書修正装置100Bと、修正された発音辞書データ4Bとを含んで構成される。
【0052】
発音辞書修正装置100Bは、第1あるいは第2の実施形態で説明した発音辞書修正装置と同様のものあるいはその変形実施例である。この発音辞書修正装置100Bは、発音辞書データ1Bから、削除対象のエントリを削除したものである修正された発音辞書データ4Bを作成・出力する。テキスト解析部62は、修正された発音辞書データ4Bを用いて、入力文書データ61に含まれる文書の読みやアクセントを決定する。音声合成処理部63は、テキスト解析部62によって決定された読みやアクセントに基づいて音声合成処理を行い、その結果を合成音として出力、あるいは合成音データとして出力する。この音声合成システム202は、修正された発音辞書データ4Bを用いてテキスト解析処理をして読みを決定しているため、辞書検索による時間を削減できるとともに、正解率の高い読みおよびアクセントを決定することができ、その結果としてより精度の高い合成音を出力することが可能となる。
【0053】
なお、上述した各実施形態における発音辞書修正装置、音声認識システム、音声合成システムの機能をコンピュータで実現するようにしても良い。その場合、各処理部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時刻の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時刻プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0054】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
例えば、図2の発音辞書データや、図3の処理済み学習データセットや、図4の削除対象エントリデータは、表形式のデータとして図示し説明したが、データの形式はこれに限られず他の形式を用いてもよい。他の形式とは、例えば、オブジェクト指向データベースやXMLデータベースなどの形式である。
また、発音辞書データからエントリを削除する際に、削除対象エントリから信頼エントリを除外することとしているが、このように信頼エントリを削除対象から除外する処理は、削除対象エントリ抽出部8で行なっても良いし、辞書修正処理部9で行なってもよい。
また、削除対象エントリ抽出部8が削除対象エントリを抽出する際に用いる第二閾値は、0とすることが好適であるが、0以外の数値でもよい。また、第二閾値を、固定的な値とするのではなく、当該表記における読みの中の最大発生頻度に所定比率(例えば0.1%)を乗じたものとするなど、相対的な値としてもよい。
【0055】
<実験結果>
本発明の発明者らは、実際に大語彙発音辞書データを用いた音声認識の実験を行なった。修正前の発音辞書データには、誤りのエントリも含まれていた。そのような発音辞書データを用いて、放送番組の音声をテストデータとして入力してその発音(読み)を決定し、その正解率を算出した。また、本発明による発音辞書修正装置を用いて、発音辞書データの修正を行ない、修正された発音辞書データを用いて同テストデータの読みを決定し、その正解率を算出した。発音辞書データの修正前後での正解率を比較したところ、修正後の正解率のほうが高い結果が出て、本発明の有効性を確認できた。実験の具体例としては、約8万5千のエントリを持つ発音辞書から、本発明による発音辞書修正装置を用いて発音辞書データの修正を行うことにより、約200のエントリ(一例としては、前述した、表記が「宇宙」で読みが「sora」といったエントリ)が削除され、誤り率が0.1%削減された。つまり、発音辞書が改善された。
【産業上の利用可能性】
【0056】
本発明は、放送番組の字幕制作、音声対話システム、会議議事録の音声認識による自動書き起こし、音声合成などの音声処理性能の向上に寄与し、音声処理や言語処理を利用するさまざまな分野の技術に適用可能である。
【図面の簡単な説明】
【0057】
【図1】本発明の第1の実施形態による発音辞書修正装置の機能構成を示したブロック図である。
【図2】同実施形態による発音辞書データの構成及びそのデータ例を示す概略図である。
【図3】同実施形態による処理済み学習データセット(頻度データ)の構成及びそのデータ例を示したブロック図である。
【図4】同実施形態による削除対象エントリデータの構成及びそのデータ例を示したブロック図である。
【図5】同実施形態の学習データセット処理部による処理の手順を示したフローチャートである。
【図6】同実施形態による削除対象エントリ抽出部による処理の手順を示したブロック図である。
【図7】本発明の第2の実施形態による発音辞書修正装置の機能構成を示したブロック図である。
【図8】同実施形態により適応的に閾値を決定するための処理の手順を示したフローチャートである。
【図9】本発明の第3の実施形態(発音辞書修正装置の適用例)による音声認識システムの機能構成を示したブロック図である。
【図10】本発明の第4の実施形態(発音辞書修正装置の適用例)による音声合成システムの機能構成を示したブロック図である。
【符号の説明】
【0058】
1,1A,1B 発音辞書データ
2 学習データセット
3 知識データ
4,4A,4B 修正された発音辞書データ(修正発音辞書データ)
5 学習データセット処理部
6 知識データ処理部
7,27 閾値記憶部
8 削除対象エントリ抽出部(削除対象エントリ抽出処理過程)
9 辞書修正処理部(辞書修正処理過程)
20 テストデータ記憶部
21 発音決定部
22 正解率データ記憶部
23 閾値決定部
51 入力文書データ
52 音響分析部
53 デコーダ部
54 認識結果データ
61 入力文書データ
62 テキスト解析部
63 音声合成処理部
64 合成結果(合成音)
100,100A,100B,101 発音辞書修正装置(辞書修正装置)
201 音声認識システム
202 音声合成システム

【特許請求の範囲】
【請求項1】
第一閾値を記憶する閾値記憶部と、
表記と、読みと、当該表記および当該読みが発生する頻度である発生頻度との組をエントリとして有する頻度データを読み込み、前記閾値記憶部から前記第一閾値を読み込み、前記発生頻度が前記第一閾値以上である前記エントリが存在する前記表記に関して、その表記を有して且つ前記発生頻度が所定の第二閾値以下となるような前記エントリを、削除対象エントリとして抽出する削除対象エントリ抽出部と、
表記と読みとの組を有する発音辞書データから、前記削除対象エントリ抽出部によって抽出された前記削除対象エントリに対応するデータを削除して、修正発音辞書データを作成する辞書修正処理部と、
を具備することを特徴とする辞書修正装置。
【請求項2】
請求項1に記載の辞書修正装置において、
発話された音声の書き起こし文と、前記発話された音声に対応する読みとから、形態素ごとの表記と読みとの組を抽出し、これら複数の組を基に、表記と、読みと、当該表記および当該読みが発生する頻度である発生頻度との組をエントリとして有する頻度データを作成する学習データセット処理部をさらに具備し、
前記削除対象エントリ抽出部は、前記学習データセット処理部が作成した前記頻度データを読み込んで、前記削除エントリを抽出する処理を行なう、
ことを特徴とする辞書修正装置。
【請求項3】
請求項1または2に記載の辞書修正装置において、
外部から読み込む知識データに基づく、表記と読みとの組を信頼エントリとして保持する知識データ処理部をさらに具備し、
前記辞書修正処理部は、前記削除対象エントリと前記信頼エントリの両方に含まれるデータを発音辞書データからの削除対象から除外する、
ことを特徴とする辞書修正装置。
【請求項4】
請求項1から3までのいずれか一項に記載の辞書修正装置において、
前記修正発音辞書データを用いてテストデータである音声の読みを決定するとともに、前記テストデータである音声に対応して与えられる正解の読みのデータを用いて、上で決定された読みの正解率を算出する発音決定部と、
前記発音決定部によって算出された前記正解率に応じて、新たな第一閾値を決定して前記閾値記憶部を書き換える閾値決定部と、
をさらに具備することを特徴とする辞書修正装置。
【請求項5】
請求項1から4までのいずれか一項に記載の辞書修正装置と、
入力音声データの音響特徴量を抽出する音響分析部と、
前記辞書修正装置によって修正された修正発音辞書データを用いて、前記音響特徴量から認識結果を決定して認識結果データを出力するデコーダ部と、
を具備することを特徴とする音声認識システム。
【請求項6】
請求項1から4までのいずれか一項に記載の辞書修正装置と、
前記辞書修正装置によって修正された修正発音辞書データを用いて、入力文書データから読みを決定するテキスト解析部と、
前記テキスト解析部によって決定された読みを合成音として出力する音声合成処理部と、
を具備することを特徴とする音声合成システム。
【請求項7】
第一閾値を記憶する閾値記憶部を備えるコンピュータに、
表記と、読みと、当該表記および当該読みが発生する頻度である発生頻度との組をエントリとして有する頻度データを読み込み、前記閾値記憶部から前記第一閾値を読み込み、前記発生頻度が前記第一閾値以上である前記エントリが存在する前記表記に関して、その表記を有して且つ前記発生頻度が所定の第二閾値以下となるような前記エントリを、削除対象エントリとして抽出する削除対象エントリ抽出処理過程と、
表記と読みとの組を有する発音辞書データから、前記削除対象エントリ抽出過程によって抽出された前記削除対象エントリに対応するデータを削除して、修正発音辞書データを作成する辞書修正処理過程と、
の処理を実行させるコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−217006(P2009−217006A)
【公開日】平成21年9月24日(2009.9.24)
【国際特許分類】
【出願番号】特願2008−61037(P2008−61037)
【出願日】平成20年3月11日(2008.3.11)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】