コンテキスト依存モデルのまとめ

はじめに

音声合成の確率的な定式化その4』で必要になるコンテキスト依存モデルについて、簡単にまとめておく。

コンテキスト依存モデル

定義を述べれば、音響的特徴を決定する要因がコンテキストである。音声合成では実際にどのようなものがコンテキストとして考慮されるのか挙げてみると:

  • 当該音素
  • 先行・後続音素
  • 当該音素のアクセント句でのモーラ位置
  • {先行,当該,後続}の品詞,活用形,活用型
  • {先行,当該,後続}のアクセント句の長さ,アクセント型
  • 当該アクセント句の位置,前後のポーズの有無
  • {先行,当該,後続}の呼気段落の長さ
  • 当該呼気段落の位置
  • 文の長さ
  • などなど…

このようにコンテキストは多岐に渡る。音素の並びの情報はコンテキストのごく一部である。ここで例を挙げよう。「さっぱりわからない」という文章を考え、それを音素に分解すると以下の図に示す通りになる。
f:id:tam5917:20160320231743p:plain
ここで「a」は6つ出現するが、前後の音素などを考慮したコンテキストによって、これらはすべて異なるものとして区別される。音響的特徴(スペクトルの形状など)がコンテキストの影響を受けて異なってくるために、このような区別が必要となる。コンテキストを考慮したモデルがコンテキスト依存モデルであり、異なるコンテキストが異なるモデルで表現される。

しかしながら、これら全てのコンテキストを考慮すると、その組み合わせが膨大なものとなる(指数的増加)。例えば当該音素と前後の音素を考慮するだけでも、全音素数の3乗の組み合わせが存在する。全てのコンテキストの組み合わせに対応する、モデル学習用の音声データを用意することは事実上不可能である。手元にある分で頑張って学習させようと思っても、詳細にモデル化したことにより、各モデルに割り当てられるデータ量が減ってしまう。学習データにめったに現れない組み合わせのコンテキストにとっては、厳しい状況である。そして学習データに現れない未知のコンテキストは対応するデータが存在しないために、全く学習ができない。それでも音声合成時には必要とされうるので、非常に困ってしまうわけである。

おわりに

本記事ではコンテキスト依存モデルについて簡単にまとめた。

いい感じの音声を合成するためには、コンテキストを考慮したモデル化が必要なのであるが、その組み合わせが膨大なためにデータ量が圧倒的に足りなくなるという問題が発生してしまう。この問題を解決するための方法がコンテキストクラスタリングであり、HMM音声合成では必須の技術(モジュール)である。