45
1 音声認識・合成

音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

1

音声認識・合成

Page 2: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

2

音声の認識

入力された音声を文字列に変換する(Speech-to-Text)

概要– 特徴抽出(MFCC)– 音響モデル(HMM)– 言語モデル(FSG, N-gram)– デコーダ

Page 3: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

3

音声認識の基本的な考え方

発音ごとに特有のパターンがある⇒このパターンを捕らえれば認識が可能

a i u e o

Page 4: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

4

音声認識のブロック図

特徴抽出

MFCC等

認識エンジン(デコーダ)

音響モデル

辞書言語

モデル

文字列

X W

Page 5: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

5

確率的音声認識の原理

事後確率最大となる確率的推定問題

W = arg maxWP (W | X )

= arg maxW

p (X |W )P (W )

p(X )= arg max

Wp (X |W )P (W )

Page 6: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

6

特徴量の抽出

スペクトルの概形を表すパラメータを使う– スペクトルの概形⇔声道伝達関数⇔音韻

– スペクトルの微細構造(⇔ピッチ)は使わない

概形自体は冗長⇒よりコンパクトな特徴– ケプストラム

時間構造の利用– Δケプストラム,ΔΔケプストラム

Page 7: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

7

特徴量抽出の枠組み

分析窓(フレーム)

窓関数

周波数分析

窓関数

特徴量計算 特徴量

フレームシフト

ハミング窓など

Page 8: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

8

スペクトルとケプストラム

FFTケプストラム:対数パワースペクトルのフーリエ変換

– 低次のケプストラム係数が対数スペクトルの概形に対応→音声認識に利用

– 高次のケプストラムのピークが基本周波数に対応→ピッチ抽出に利用

C (τ)=F [ log | X (ω )|2]

Page 9: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

9

FFTケプストラム計算例

スペクトルおよび平滑化スペクトル(FFTケプストラム法,20次)

ケプストラム(低次)

スペクトル概形

F0

Page 10: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

10

ケプストラムの仲間たち(1)

FFTケプストラム– 音声→パワースペクトル→対数パワースペク

トル→ケプストラム

LPCケプストラム– 音声→線形予測係数→LPCスペクトル→対数

LPCスペクトル→ケプストラム

Page 11: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

11

LPCケプストラム計算例

LPCスペクトル(20次)最初から概形だけになっている

LPCケプストラム(低次)高次の成分はほとんど0

Page 12: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

12

ケプストラムの仲間たち(2)

メル周波数軸上のケプストラム– LPCメルケプストラム

• LPCケプストラム係数を変換

– メルLPCケプストラム• 音声波形をフィルタでメル周波数変換してLPC分析

– MFCC (Mel Frequency Cepstral Coefficients)• メル周波数間隔のバンドパスフィルタ出力のコサイン

変換

Page 13: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

13

MFCCの計算

計算手順

バンドパスフィルタ– メル周波数上で等間隔

音声振幅スペクトル

対数BPF出力

BPF出力

MFCCFFT logBPF DCT

Page 14: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

14

音響モデル

記号(音素,単語など) W が特徴量系列 X に対応する確率 p(X|W)を計算する– どうやって確率をつけるか?

– XもWも可変長⇒どう対応付けるか?

隠れマルコフモデル(HMM)によるモデル化– 特徴量系列を,特定の確率分布に従う系列の

連続としてモデル化

Page 15: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

15

HMM:隠れマルコフモデル

HMMは特徴量系列を生成するモデル– 非決定性有限状態オートマトン

– 「現在の状態」が確率的に変わりながら,確率的に特徴ベクトルを生成する

状態iからjへの遷移確率

状態iでの特徴ベクトルxの出力確率密度

状態iの初期確率 π i

ai j

bi ( x)

多次元混合正規分布がよく用いられる

Page 16: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

16

HMMの特徴生成モデルである (vs. 識別モデル)– 音声の特徴量系列が出力される「確率密度」を計算すること

ができる

任意の長さの系列が生成できる

– 伸び縮みする系列を扱うのに適している

– 系列と状態を対応付ける方法が確率している(ビタビアルゴリズム)

学習によってパラメータが推定できる

– サンプルを与えることで,そのサンプルを生成する確率が高いHMMを推定することができる (Baum-Welch のアルゴリズム)

Page 17: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

17

HMMの学習各シンボル(音素など)のデータを大量に与えることでHMMが学習できる

/a/

/i/

/o/

/a/のサンプル

/i/のサンプル

/o/のサンプル

Page 18: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

18

HMMによる認識(1)入力系列XがHMM hで生成される確率密度 p(X|h)を計算する

/a/

/i/

/o/

X

p (X |/a/)

p (X |/i/)

p (X |/o/)

Page 19: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

19

HMMによる認識(2)

辞書を利用した単語の確率計算

/a/ /a//k/

/o/ /i//k/

X

赤 ⇒ /a/ /k/ /a/沖 ⇒ /o/ /k/ /i/

p (X |赤)

p (X |沖)

確率最大の単語を探せば単語認識ができる

Page 20: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

20

言語モデル

文を構成する単語の並びの制約を表現するモデル

ある文の並びを「評価」する

– 1/0の評価:文法 (受理可能/不可能)• 有限状態文法(有限状態オートマトン)

• 文脈自由文法(CFG)

– 並びの「良さ」を確率的に評価: 統計的言語モデル

• N-gram

• その他の確率的言語モデル

Page 21: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

21

有限状態文法「ありうる単語の並び」をネットワークで表現する

紅茶コーヒー水

をも

ひとつふたつみっつ一杯二杯三杯 持って

こいきなさい

きて

くださいちょうだい

くださいちょうだい

Page 22: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

22

統計的言語モデル

もっと大規模な文を認識するには?– 文章の音声入力など

ある単語が並ぶ確率(並びやすさ)を使う

これを直接求めるのは難しい→近似によって求める

P (w1w2…wN )=∏i

P (wi|w1…w i−1)

Page 23: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

23

N-gram言語モデル

ある単語の生起確率が直前のn-1単語にのみ依存すると仮定– n=2の場合

P (w1…wN )=∏i

P (w i|wi−1)

n=1: unigramn=2: bigramn=3: trigram

Page 24: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

24

一番良い文を探そう

20000種類の単語を知っている音声認識システムでは…– 7個の単語からなる文は

200007=1.28×1030通り

– 文1個の計算に1/10000秒かかったとする

–全部調べるには400京年(400億年の1億倍)かかる

Page 25: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

25

デコーダによる探索

見込みのありそうな文だけ探す–途中までスコアを計算しながら、可能性のあり

そうな文だけを残し、残りは調べない

今日 は 良い 天気

でした

今日

言葉のつながりが悪い

音が似ていない

コンピュータチェスなどと同じ手法

Page 26: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

26

音声の合成

録音合成

編集合成

パラメータ合成

テキスト音声合成 (Text-to-Speech)–物理シミュレーション

– フォルマント合成

– 波形接続合成

– HMM合成

文を全部録音

単語単位で録音

実際の声を元に合成⇒携帯電話

Page 27: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

27

テキスト音声合成 (TTS)

文字列を音声に変換する技術

文字列 形態素解析 音素列

単語列

構文解析

単語アクセント

韻律句 韻律合成 ピッチ系列

音声合成エンジン

音声

Page 28: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

28

フォルマント合成声帯から出る波と、声道による音色の変化をマネすることによって音を出す

音の高さ

音の強さ 音の強さ

音の高さ

× =

音の高さ

音の強さ

Page 29: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

29

フォルマント合成

音源

フォルマントフィルタ

formantDB

各音素F1~F4の周波数とそのバンド幅

Page 30: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

30

フォルマント合成

デモをどうぞ

利点–母音( a, i, u, e, o等)については、どんな声で

も原理的に作れる

欠点– 自然な声を出すのが難しい

–子音(p, s, d などの音)の品質が良くない

Page 31: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

31

波形接続合成

本物の声をたくさん記録しておき、その中から適宜取り出してきてつなぐ–編集合成の高度なやつ

– 利点• (もとが本物なので)自然な声が作りやすい

–欠点• 大量の元音声が必要

• 任意の声は作れない

Page 32: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

32

波形接続合成

各音節の波形を接続

母音の途中で波形を接続(VCV接続)

o sh i i k a a k eo

o sh i

e

k a k e

これを実現するためには,各音声素片の長さや高さを調整する必要がある

音声素片

Page 33: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

33

声の高さや長さを変える技術

波形をそのまま利用する方法– TD-PSOLA法

音声分析合成に基づく方法– フェーズボコーダ

– STRAIGHT法

Page 34: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

34

TD-PSOLA(Time-Domain Pitch-Synchronous Overlap Add)

基本周期に同期して波形を切り出し,それを再び重ね合わせる

Page 35: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

35

TD-PSOLA(Time-Domain Pitch-Synchronous Overlap Add)

波形を何度も重ね合わせると音を伸ばすことができる

Page 36: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

36

TD-PSOLA(Time-Domain Pitch-Synchronous Overlap Add)

重ね合わせの周期を変えるとピッチ変換が実現できる

Page 37: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

37

HMM音声合成

HMMはもともと生成モデル→それを合成に使う

文に対応するHMM系列

特徴量系列メルケプストラム・Δ・ΔΔ

MLSAフィルタ

音声系列

Page 38: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

38

対話をするために

音声認識と合成だけでは対話にならない– 対話の目的

– 認識した内容の理解

–目的達成のための聞き返し、確認

紅茶を下さい

緑茶ですか?

違う、紅茶わかりました紅茶ですね

Page 39: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

39

音声の理解

機械が「理解」するとは?– 対話の目的:人間から情報を得ること

– 対話の目標:埋めるべき項目の一覧

– 対話の理解:項目が全部埋まること

動作:持ってくる対象:紅茶個数:1

紅茶を1杯ください。

Page 40: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

40

どうする音声の理解

紅茶コーヒー水

をも

ひとつふたつみっつ一杯二杯三杯 持って

こいきなさい

きて

くださいちょうだい

くださいちょうだい

対象

個数

水を

一杯

ください

対象=水 個数=1

Page 41: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

41

もっと難しい理解

複数の目標がある–旅行会社の対話(目的地、ホテル、交通手段…)

対話の進行によって目標が変わる–観光案内

目標が良くわからない–雑談

Page 42: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

42

あなたは誰?

人間が考える「対話」には相手がある。

機械との「対話」の相手は誰だ。

ロボット?

実際のロボット画面上のキャラクター (アバター)

擬人化

Page 43: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

43

対話のキャラクタのデザイン

何がよいのか良くわかっていない–芸術の領域

–人間の対話行動の模倣• うなずき、あいづち、表情の変化

人間は「自然性」に敏感–人間にわかる「自然性」の正体は?

Page 44: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

44

現在の技術では…

音声認識– 「日本語のできる外国人」レベル

• 雑音に弱い

• 話題の変化に弱い

音声合成– 「日本語のできる外国人」レベル

• 何を言っているのかはわかる

• アクセントが変

Page 45: 音声認識・合成aito/soundmedia/spoken...3 音声認識の基本的な考え方 発音ごとに特有のパターンがある ⇒このパターンを捕らえれば認識が可能

45

現在の技術では…

音声理解– きわめて限定的

– 「なにをもって理解とするか」が難しい

対話能力– きわめて限定的

–複雑な対話は難しい

– 理解を伴う雑談は無理• 理解を伴わない雑談なら可能(人工無能)