音情報処理 第6回 音声認識理論と音声認識システム · 音声認識...

101
音情報処理 第6回 音声認識理論と音声認識システム 2014/11/13 環境知能学研究室 川波弘道 1

Transcript of 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識...

Page 1: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

音情報処理 第6回 音声認識理論と音声認識システム

2014/11/13

環境知能学研究室 川波弘道

1

Page 2: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

第1回 音情報基礎:中村

第2回 音声の特徴抽出:猿渡

第3回 音響信号処理基礎:猿渡

第4回 音声符号化基礎:戸田

第5回 音声合成理論と音声合成システム:戸田

第6回 11/13 音声認識理論と音声認識システム:川波 Speech recognition theory and system

第7回 11/20 音声対話システム理論と音声対話システム:中村

第8回 11/27 試験

2

Page 3: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

講義内容

音声認識システム

アプリケーション

構成

テンプレートマッチングによる音声認識

DTWマッチング

演習:Level Building法による2語彙2単語認識

確率モデルによる音声認識

HMM音響モデル

N-グラム言語モデル

大語彙連続音声認識システム

3

Page 4: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

音声認識システム

発話をテキストに変換

訓練不要,姿勢拘束なし

便利さ,福祉

安価

マイク,スマートフォンかPC

ただし

• 認識誤りはなくならない

• 未知語

• 確率的アプローチの限界

• 発話の背景にある文脈や知識の与える影響

• 確実なBackspaceキーやEnterキーはない

4

Page 5: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

分類

音声認識 単語音声認識

ワードスポッティング

大語彙連続音声認識

(ディクテーション=口述筆記)

連続音声認識

話者認識

話者識別

話者照合・認証

(登録者のうちの誰であるかを識別する)

(申告者本人かどうかを照合する)

孤立単語音声認識

(単語発声)

(長い発話から特定の単語を抽出)

言語認識

Speech

recognition

(ASR; Automatic

Speech recognition)

Speaker

recognition

Large vocabulary continuous

speech recognition (LVCSR)

5

いずれも基本的に物理特徴量は周波数振幅スペクトル包絡を表す,

なんらかの音韻的特徴量が用いられる.韻律的特徴量は基本的に使用されない.

(韻律的特徴も声調言語の音声認識で研究はされている.)

Page 6: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

アプリケーション

ディクテーション(口述筆記) 電子秘書,議事録作成,テレビ字幕自動生成

インタフェイス

受付ロボット,カーナビ,音声検索

音声リモコン

バイオメトリクス

話者認証,話者照合

CALL (Computer Aided Language Learning) 発音評価

超低ビットレートデータ通信

送信テキストを受信側で音声合成

6

Page 7: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

音声認識システムの構成

7

入力音声

特徴量

抽出 デコーダ 認識結果

音響モデル 言語モデル

単語辞書

(音素列)

音素の物理的特徴モデル

入力の物理的特徴を評価する

認識結果の言語的制約

探索空間を絞り込み評価する

振幅スペクトル包絡

時系列データ 言語的制約と音響的マッチングを用いて単語列を推測

Page 8: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

テンプレートマッチングと確率モデルによる音声認識

8

特徴量

抽出 テンプレートのスペクトル距離を算出

累積距離が最小の単語を選択する.

記述文法(網羅的,等確率)

認識結果 音声入力

単語テンプレート 単語辞書

特徴量

抽出 音声入力

音素HMM 単語3-gram

認識結果

単語辞書

音響尤度,単語列生起確率の積が

最大となる単語列を探索する.

【小語彙定型発声の認識に向くパターンマッチング】

【大語彙連続音声の認識に向く確率モデル】

Page 9: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

テンプレートマッチングによる音声認識

基本方針

入力音声と単語テンプレートのスペクトル距離の総和を求め,フレーム数で正規化

一般に音響スコアのみでの評価可能な用途

コマンド認識,数字認識,ワードスポッティング

スペクトル距離を評価するフレームの組をどのようにして得るか?

DTW(Dynamic Time Warping)マッチング

対応付けるべきフレーム同士を動的に探索しながら比較を行うパターンマッチング手法

9

Page 10: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

DTWマッチングの意義

同一話者の同一発話でも発話長はさまざま

10

f u k u o k a k e N

Page 11: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

f u k u o k a k e N

線形伸縮による発話時間長正規化はNG 音素や位置による伸縮のされやすさ,されにくさ

→時間軸伸縮マッチングの利用

11

Page 12: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

DTWマッチング (Dynamic Time Warping, 時間軸伸縮マッチング)

時系列データの“対応する区間”同士を比較しながら全体の類似度のスコアを求める.

音声認識では

入力音声の分析フレームのスペクトルデータ時系列と単語テンプレートのデータの時系列距離の比較

距離が小さい(似たスペクトルを持っている)フレーム同士を対応付けながら距離の総和を求める.

スペクトル距離の総和の最小値をそのテンプレートの距離とする.

12

Page 13: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

マッチングパス

入力音声と単語テンプレートの分析フレームの時系列を2軸とした平面を考える.

対応づけてフレームの座標(=格子点)を結んだもの.

13

分析フレーム

のシフト間隔

入力音声A

・ ・ ・ ・ ・

単語テンプレート

B

Page 14: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

14

a1 a2 ai aI

bJ

bj

b2

b1 C1

C2

C3

C4

C5

Cn

マッチングパスは,何番目の格子点か: k を与えると格子点の座標を返す,時間伸縮関数(Warping function)として記述できる.

1 2 i I

J

j

2

1

格子点始端: C1= (1, 1),

格子点終端: Cn= (I, J).

単語テンプレート

B (フレーム数:J)

入力音声A (フレーム数I)

Ck

Ck-1

Page 15: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

• フレーム時系列を逆行しない • フレームをスキップしない.

ただし,入力音声かテンプレートか少なくとも一方のフレームは進行させる.

15

いるかを示す.)フレームを対応付けて

れ何番目のテンプレートのそれぞ声番目の格子点で入力音は

          

.の系列として表現する点 マッチングパスは格子

番目のフレームは   テンプレートの時系列

番目のフレームは   入力音声の時系列  

,,(

},,,,{

),(

)(,,,

)(,,,

,21

21

21

kji

CCCCWarp

jiC

jbbbbB

iaaaaA

kk

nk

kkk

jJ

iI

},,1{},,,1{ 11 kkkkkk jorjjiorii

 間の制約パスの格子点 縦・横・斜めに進める 1, kk CC

Page 16: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

16

正規化累積距離

必要性と手法

格子点のスペクトル距離の総和(累積距離)が小さい単語テンプレートが認識結果となる

ただし,パスの取り方やテンプレートのフレーム数によって加算回数が異なるため正規化が必要

パス重み wk による重みづけ和をパス重み和で正規化する.

市街地距離(city block distance)

格子点Ckへのパス重み wk を次式で与えるもの

どのパスを通っても,最終格子点での重みの総和は同じ

n

k k

n

k kkk

w

wjidBAD

1

1),(

):(正規化累積距離 スペクトル距離

での格子点 kkk Cjid :),(

11 kkkkk jjiiw

Page 17: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

累積距離の最小値の求め方

動的計画法(dynamic programming)

格子点 Ck までの累積距離の最小値は(候補が複数ある)直前の格子点Ck-1での累積距離から求めることができる.

漸化式:

を用いて,最後の格子点での累積距離が得られるまで

g(Ck) を順次求める.

最後に累積距離を正規化し,単語テンプレート間で正規化

累積距離を比較する.

17

値までの累積距離の最小:格子点 ),()( kkkk jiCCg

)}({min),()( 1}{ 1

kC

kkkk CgwjidCgk

Page 18: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

18

テンプレートマッチング単語認識のながれ 音声分析

(スペクトル系列抽出)

入力音声と単語テンプレートの

フレーム間距離マトリックスを準備

非線形伸縮

マッチング

正規化累積距離の比較

入力音声

認識結果

単語テンプレート

時間

1.こんにちは

2.いたい

3.いやし

4.ああ

10 9 5 4 2 0 0

8 7 6 3 3 2 2

9 8 4 4 0 1 1

4 3 0 1 2 4 4

2 0 3 5 8 9 9

0 2 4 6 9 10 10

入力音声

単語テンプレート

Page 19: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

格子点のスペクトル距離 マトリックス作成

19

),( jid

5 6 4 5 6 5 4

2 5 5 8 1 1 2

5 4 3 4 5 3 5

8 5 1 6 5 7 5

5 2 2 5 6 5 6

3 1 5 2 2 5 8

1 2 i I=7

J=6

j

2

1

単語テンプレート

B (フレーム数:

J =

6)

入力音声A (フレーム数 I =7)

Page 20: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

格子点までの累積距離の最小値 を求める. 簡単のため,パスの制約として入力とテンプレートの

一方を1フレームのみ進めることができるパスを用いる

20

)( kCg

)}1,(),,1(min{),(1),( kkkkkkkk jigjigjidjig

ik ik-1

jk

jk-1

g(ik,jk) g(ik-1,jk)

g(ik,jk-1)

d(ik,jk) 前段候補1

(前格子点

候補1) 前段候補2

初期条件:

g(1,1) = 2d(1,1)

Page 21: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

21

5 6 4 5 6 5 4

2 5 5 8 1 1 2

5 4 3 4 5 3 5

8 5 1 6 5 7 5

5 2 2 5 6 5 6

3 1 5 2 2 5 8

1 2 i I=7

J=6

j

2

1

単語テンプレート

B (フレーム数:

J =

6)

入力音声A (フレーム数 I =7)

)( kCg漸化式にもとづいて (格子点までの最小の累積

距離,右肩の数字)を求めていく

31

26

24

19

11

6

29

23

18

14

9

7

31

25

24

23

22

16

24

20

15

12

11

12

31

26

27

30

26

21

29

27

19

18

16

14

32

28

32

35

32

29

Page 22: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

22

5 6 4 5 6 5 4

2 5 5 8 1 1 2

5 4 3 4 5 3 5

8 5 1 6 5 7 5

5 2 2 5 6 5 6

3 1 5 2 2 5 8

1 2 i I=7

J=6

j

2

1

単語テンプレート

B (フレーム数:

J =

6)

入力音声A (フレーム数 I =7)

)( kCg終端の に対してパス重み和を用いて正規化を行い,

単語テンプレートの正規化累積距離 D(A:B)を求める.

31

26

24

19

11

6

29

23

18

14

9

7

31

25

24

23

22

16

24

20

15

12

11

12

31

26

27

30

26

21

29

27

19

18

16

14

32

28

32

35

32

29

市街地距離が7+6=13, 正規化前の累積距離が32なので, D(A:B) = 32 / 13

終端からパスをバックトレースすることでマッチングパスも得られる.

Page 23: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

パス重みの改良

斜めを許可するパス

入力かテンプレートのいずれかのフレームしか進められないという前項の制約を除外

傾斜制限つきパス

入力音声とテンプレートの極端な対応を回避

23

Page 24: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

斜めのパスを許可

入力音声と単語テンプレートのフレームのいずれかまたは両方を1つ進めるパスを許容する.(パス重みは市街地距離に基づく)

24

)}}1,(),,1(min{),(1

),1,1(),(2min{),(

kkkkkk

kkkkkk

jigjigjid

jigjidjig

       

初期条件:

g(1,1) = 2d(1,1)

ik ik-1

jk

jk-1

g(ik,jk)

g(ik-1,jk)

g(ik,jk-1)

d(ik,jk)

g(ik-1,jk-1)

1

1 2

Page 25: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

25

5 6 4 5 6 5 4

2 5 5 8 1 1 2

5 4 3 4 5 3 5

8 5 1 6 5 7 5

5 2 2 5 6 5 6

3 1 5 2 2 5 8

31

26

24

19

11

6

29

23

18

14

9

7

23

19

14

11

11

12

26

20

23

22

22

16

26

21

26

29

26

21

27

23

31

34

32

29

28

26

18

17

16

14

1 2

1

しかし,ここまでのパスではまだ,

右のような極端な対応付けが回避できない.

お お お か や ま

お や

Page 26: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

)}2,1()1,(2

),1,2(),1(2min{),(1

),1,1(),(2min{),(

kkkk

kkkkkk

kkkkkk

jigjid

jigjidjid

jigjidjig

              

       

傾斜制限つきパス

局所的な制限により極端な対応を避ける

一方のフレームだけを進めるのは,斜めのパスを取った後に限定→傾きは 0.5 から 2

26 ik ik-1

jk

jk-1

g(ik,jk) g(ik-1,jk)

g(ik,jk-1)

d(ik,jk)

ik-2

jk-2

g(ik-1,jk-1) g(ik-2,jk-1)

g(ik-1,jk-2)

d(ik-1,jk)

d(ik,jk-1)

初期条件:

g(1,1) = 2d(1,1) 1

2

1

1

2

Page 27: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

27

5 6 4 5 6 5 4

2 5 5 8 1 1 2

5 4 3 4 5 3 5

8 5 1 6 5 7 5

5 2 2 5 6 5 6

3 1 5 2 2 5 8

6

15

10

26

15

12

12

28

22

25

29

31

23

31

31

29

40

36

28

20

18

- ×

×

2

1 2

2

1

傾斜制限の

範囲外なので

格子点に

なり得ない

Page 28: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

28

パス重みの更なる改良

整合窓 極端なパスになる領域を大局的に除外する.

計算量も削減できる.

端点フリー 入力音声の認識対象区間を自由にする.

発話前後の雑音を無視することができる.

非対称パス 入力音声のフレーム数のみで決まるパス重み フレーム同期音声認識

テンプレートのフレーム数のみで決まるパス重み 端点フリーと併用してワードスポッティング

Page 29: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

29

i

a1 a2 ai aI

bJ

bj

b2

b1 C1= (1,1)

C2

C3

C4

C5

Cn

時間伸縮関数

(Warp)

d(i,j):スペクトル距離

1 2 i I

J

j

2

1

累積距離の漸化式を計算する領域を制限する.

極端な対応付けを大局的に防ぎ,計算量も削減できる.

j=i-r

j=i+r

整合窓

整合窓

計算不要領域

計算不要領域

入力音声A (フレーム数I)

単語テンプレート

B (フレーム数:J)

Page 30: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

30

C1

C2

C3

C4

Cn

時間伸縮関数

(Warp)

d(i,j):スペクトル距離

1 2 i I

J

j

2

1

終端フリー領域

N

I-M

始端フリー領域

端点フリー

g(i, 1)= d(i, 1)

この領域で累積距離の

最小値を探す。つまり、入力音声の途中で終わってもよい。

入力音声A (フレーム数I)

単語テンプレート

B (フレーム数:J)

入力の開始フレームや終端フレームを自由にする 入力音声の発話前後の不要箇所を無視できる.

※テンプレートの端点フリーを導入すると,発話の文頭落ちや語末落ちに対応できる.

Page 31: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

非対称パス

入力音声と単語テンプレートのパス制約を非対称にしたもの

フレーム同期逐次認識を行う場合に有効

例えば,格子点を進めるときに一方のフレームは定数

パス重み和は注目する側のフレーム数だけで決定する

累積距離の正規化が不要

使用例

ワードスポッティング

特定区間:キーワード発声

長時間データ中のキーワード発声長はさまざま

フレーム同期認識

特定区間:ある時間までの入力音声

テンプレート長はさまざま

31

Page 32: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

32

テンプレート終端 J で閾値以下の累積距離が現れたら,パスをバックトレースする.

そのパスの開始~終了までの間はその単語を検出したとする。

g(i, 1)= d(i, 1)

J

I

① 入力音声は始端,終端とも端点フリー.

(入力音声の任意の区間でテンプレートと似た

区間を探す.)

探索対象となる音声コーパス A (フレーム数I)

探索したい音声

B (フレーム数:J)

② 途中で閾値を超えたら

探索は中止

④この区間にテンプレートの単語があると推定

非対称パス(1)

テンプレート基準でデータの任意区間を評価

端点フリーと併用してワードスポッティング

③ テンプレートの最終フレーム

で閾値以下の累積距離が検出

されたらパスをバックトレース 1 1 1

×

Page 33: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

33

6 5 1 3 5 4 5 0 2 4 2 1 3

5 4 4 5 3 2 1 4 4 4 2 3 1

4 4 4 3 1 3 1 3 4 1 4 4 3

2 5 4 2 1 4 5 0 2 4 5 6 3

8 8 3 5 5 4 6

5 4 3 6 6 5 3 4

6 6 6 5 2 4 2 3 4 1 6 8 6

2 5 4 2 1 4 5 0 2 4 5 6 3

1 1 1

単語テンプレート

音声データ(検索対象のデータベース)

g(ik,jk)=d(ik,jk)+min{g(ik-2,jk-1),

g(ik-1,jk-1),

g(ik,jk-1) }

jk

jk-1

ik-2 ik-1 ik

d(ik, jk)

g(ik, jk-1)

この例では2箇所で単語が検出されたこととなる.

閾値を4(=正規化累積距離1)と設定

Page 34: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

入力音声基準: 入力のあるフレームまでの段階での複数のテ

大語彙連続音声認識

34

始点からここまでの距離重みは

評価した単語テンプレートに依存

せず同一(k). 単語テンプレート

入力音声 ik

)}2,1(),1,1(),,1(min{),(1),( kkkkkkkkkk jigjigjigjidjig

初期条件: g(1,1) = d(1,1)

非対称パス(2)

Page 35: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

テンプレートマッチングによる連続単語認識

35

解くべき問題

入力パターンともっともよくマッチする単語列を見つけ出す.ただし,入力フレームの単語境界は与えられない.

x 単語認識の素朴なアプローチ

語彙数 N のとき N x 個の単語列テンプレートに対して順にすべてに対してDPマッチング → 非効率的

入力音声

単語テンプレートを連結

単語3

単語2

単語1

Page 36: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

基本方針

1. 入力フレーム基準の非対称パスDTW

• 単語テンプレートの長さの影響を受けず,入力の任意のフレームまでの累積距離を比較できる.

2. 単語境界での処理

• 入力フレームまでの累積距離の最小値とその単語を記録し,それを初期値とし次単語のマッチングを開始

アルゴリズム

(a) 2段DP法

(b) Level Building法

単語数既知の場合に効果的

(c) One Pass DP法

単語数未知の場合に効果的

36

Page 37: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

37

(a) 2段DP法

DPを2段階で行う

第1段階 入力音声の始点 m から単語テンプレート n について非対象パスによる終端フリー マッチング.

1≦ m < i ≦ I (I:入力フレーム数,i はマッチング終端フレーム)

あらゆる (n, m, i) の組み合わせに対して累積距離 D (n) (m:i) を計算.D (m:i) の最小値とその単語 n を記録.

第2段階 入力フレームの累積距離が最小になる単語の系列を探索する。

入力フレーム

単語3

単語2

単語1

入力フレーム

単語

m i I I

n

第1段階 第2段階

Page 38: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

38

何番目の単語を処理しているか明示的にしてマッチングを行う.

段数(単語数)が分かっている認識で効果的.電話番号認識など

記憶容量小

処理のながれ

1段目

入力音声の先頭を始端としてマッチングパスを開始

単語テンプレートに対して順に非対象パス終端フリーDPマッチング.

テンプレート終端に達したら,その入力フレームまでの最小累積距離と単語を記録.

2段目(second level)以降

入力フレームの初期値として,前段までの最小の累積距離を与える.

各単語テンプレートについて端点フリーDPマッチングを行う.

終端となったフレームに,その段の認識結果とそこまでの累積距離を記録.

最大段数までおわったら,終端からパスをバックトレースし,認識単語列を得る.

(b) Level Building 法

Page 39: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

39

語彙数2(A,B),3単語音声を認識する場合

2段目

3段目

1段目

入力フレーム

単語テンプレートA

DTW A 単語テンプレートB

DTW B

フレームごとに,テンプレート終端までの

累積距離最小値とそれを与えた単語を

記録する.

それを初期値として2段目のパスを開始

最終段での

累積距離最小値

単語テンプレートA

DTW A 単語テンプレートB

DTW B

単語テンプレートA

単語テンプレートB

DTW B

DTW A

Page 40: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

40

Level Building法の入力フレームのループを一番外側にしたもの.

入力フレームごとにすべての単語テンプレートについてパス計算を進める.

終端に到達したテンプレートがあれば,そのフレームまでの累積距離最小の単語とその値を記録し,次の段のDPマッチングを始める.

単語数を決めておく必要がない

単語数制御機構がない.

(3) One Pass DP 法

入力フレーム

単語 C

単語 B

単語 A

I

単語 D

単語 E

1

Page 41: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

テンプレートマッチングを用いた

実用システム

口座照会システム (NTTdata) (ANSER: Automatic answer Network System for Electrical Request)

1981年~

電話音声で利用可

16単語認識(数字+コマンド)

要素技術 SPLIT (Strings of phoneme-like templates)

物理的観点で分類した,音素に準ずるテンプレート

Staggered Array DP マッチング

マルチテンプレート (KNN)

http://www.nttdata.com/jp/ja/lineup/anser/

41

Page 42: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

確率モデルによる音声認識

確率的音響モデル 言語モデルも確率的モデルを用いることで確率モデルによる統一的な音声認識が可能

音素HMM HMM(Hidden Markov Model,隠れマルコフモデル) 音素HMMの接続で単語HMM

音素HMMの特徴 単純マルコフ過程 Left-to-Right HMM 3状態HMMが主流(前音素からの渡り,定常部,後音素への渡り)

42

周波数

時間

音素境界

渡り部 定常部

渡り部 渡り部 定常部 渡り部

スペクトログラム

Page 43: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

HMM

観測信号は信号源から確率的に出力される.

音素HMMの場合,観測信号はスペクトル包絡

観測信号の傾向の変化は信号源の切替りでモデル化される.

信号源は「状態」と対応する.

音素HMMの場合,スペクトル包絡の傾向の変化

観測信号か「状態」を決定的に知ることはできない

複数の信号源が同一の信号を出力しうる.

音素HMMの場合,観測されたスペクトルから隣接音素との渡り部の信号源の出力か,定常部の信号源からの出力か決定できないということ.

43

Page 44: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

例 3状態HMM

44

a11 a22 a33

a12 a23 a34

初期状態

b1(A)

b1(B)

b1(C)

観測信号は 離散値 X=A,B,C と定義

第1状態

q1

状態遷移確率 aij: 状態 i から j に遷移する確率

出力確率 bi (X) : 状態 i が X を出力する確率

最終状態

q4

状態遷移確率

b2(A)

b2(B)

b2(C)

b3(A)

b3(B)

b3(C)

第2状態

q2

第3状態

q3

※一般に異なる状態への遷移には異なる出力確率が定義されるが,

ここでは遷移先に寄らず同じ出力確率とした

j

ija 1

x

i Xb 1)(

Page 45: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

HMM尤度の算出方法

音素HMMごとに観測信号系列の出力確率(モデ

ルの尤度)を求め音響的スコアとする.

Forward アルゴリズム 観測信号系列を出力しうる状態遷移系列すべてを考慮して尤度を求める.

Viterbi(ビタビ,ビテルビ)アルゴリズム 観測信号系列を出力する状態遷移系列のうち,最も高い確率で出力する遷移系列の尤度を求める.

45

Page 46: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

例 2状態HMMの尤度算出

a11=0.3

0.8 0.2

a22= 0.2

0.3 0.7

a12= 0.7 a23= 0.8 初期状態

q3

(最終状態) q1 q2

46

2状態音素HMM /ア/, /イ/ がある.出力信号A,Bの出力確率 , 遷移確率は下の通り.スペクトル系列「ABB」が観測されたとして Forwardアルゴリズム,Viterbiアルゴリズムそれぞれで音素認識をせよ.

a11=0.5

0.3 0.7

a22= 0.4

0.6 0.4

a12= 0.5 a23= 0.6 初期状態 q1 q2

/ア/

/イ/ q3

(最終状態)

b1(A) b1(B)

b2(A) b2(B)

b1(A) b1(B)

b2(A) b2(B)

Page 47: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

1q

2q

3q

A B B

Forwardアルゴリズムによる尤度計算

Aba 112 0.7×0.8

0.3×0.8

0.7×0.2

0.2×0.7

0.8×0.7

1.0

0.56 0.112

0.24

観測系列

初期状態

0.0627

状態

=0.0784

=0.0336

同様に /イ/ について計算すると尤度は 0.0184 → 認識結果: /ア/

/ア/

Page 48: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

0.0784

1q

2q

3q

Vitertbiアルゴリズムによる尤度計算

0.7×0.8

0.8×0.7

1.0

0.56

0.24

初期状態

0.0439

状態

=0.0784

同様に /イ/ について計算すると尤度は 0.0126 → 認識結果: /ア/

A B B 観測系列

/ア/

0.3×0.8

0.7×0.2

0.2×0.7 =0.0336

Page 49: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

言語モデル

ネットワーク文法 N-グラム

(単語接続確率モデル)

作成 認識対象を設定し,文法と辞書を作成

テキストコーパスの単語ヒストグラムに基づいて作成

長所

定型文や単語認識むき

文法修正や単語追加が容易

大語彙連続音声認識むき

任意の発話が認識対象

短所

文法から外れた発話は正確に認識できない

人手での対象の網羅,複雑な文法の作成は困難

意味的におかしな結果も発生

テキストコーパス収集コスト

49

認識候補への言語的制約を与え,探索空間をしぼりこむ.

Page 50: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

N-グラム言語モデル

ある単語の出現確率は直前のN-1単語に依存すると仮定し,単語系列の生起確率を言語スコアとする

N=1:ユニグラム: 単語コンテキストを考慮しない

N=2:バイグラム: 直前1単語を考慮

N=3:トライグラム: 直前2単語を考慮

50

n

i

iNiin wwwPwwP1

111 )...|()...(

「学校に行く」 のトライグラムによる生起確率 (<s>:文頭記号,</s>:文末記号)

P(<s>/学校/に/行/く/</s>)=

P(学校|<s>) ・ P(に|<s>,学校) ・ P(行|学校,に) ・ P(く|に,行) ・ P(</s>|行,く)

Page 51: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

ネットワーク文法(例)

S : SNT1 SNT2

SNT1 : FRUIT

SNT1 : FRUIT NUM KO

SNT2 : WO KUDASAI

SNT2 : NISHITE KUDASAI

SNT2 : DESU

% FRUIT

みかん m i k a N

りんご r i N g o

ぶどう b u d o

% NUM

1 i ch i

2 n i

% NISHITE

にして n i sh i t e

・・・

文法

カテゴリ関係を記述

単語辞書

カテゴリーの単語と音素を記述

51

Page 52: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

「みかんをください」

「ぶどう7個です」

「りんご3個にしてください」

生成される文例

FRUIT

FRUIT

DESU

NUM KO

WO KUDASAI

NISHITE KUDASAI

みかんりんごぶどう

12

・・・

・・・

個 みかんりんごぶどう

を ください

にして ください

です

52

Page 53: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

大語彙連続音声認識

確率モデルによる音声認識

スペクトル系列 X が得られたとき,P(W|X) を最大にする単語列 W を求めるという問題

ベイズ則による解きやすい形式に変換

53

)(

)()|()|(

)()|(

)()|(

),(),(

XP

WPWXPXWP

WPWXP

XPXWP

WXPXWP

Page 54: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

)()|(maxarg)(

)()|(maxarg

)|(maxargˆ

WPWXPXP

WPWXP

XWPW

WW

W

54

音響スコア

)|( WXP

入力音声 音響モデル

単語辞書 言語モデル

言語スコア

)(WP

)|( XWP)|( WXP

デコーダ

W

認識結果

X

を直接算出するモデルの作成は困難だが,

や のモデル化は比較的容易.

を解くべき問題とする.

)(WP

)()|(maxarg WPWXPW

Page 55: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

対数尤度

積演算を和演算に

スコア重み,単語挿入ペナルティ

55

))(log)|((logmaxargˆ NWPWXPWW

βα

言語重み

単語数

単語の過剰な挿入を抑制( β < 0 )

言語スコア 音響スコア

認識結果

Page 56: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

標準的な日本語音素セット

モノフォン(mono-phone)モデル コンテキスト非依存モデル(前後の音素を考慮しない)

40音素, 無音区間3種(sp: short pause, silB: 始端, silE: 終端)

トライフォン(tri-phone)モデル コンテキスト依存モデル(前後の音素環境毎に異なる音素として学習)

単純計算で上記40種類の場合 40×40×40=64000種類になってしまうので,出現頻度の少ないものはグループ化

56

モノフォンもトライフォンでも

3状態でモデル化するのが標準的

a i u e o a: i: u: e: o: N w y j p t k h f r q b d g z m n s

dy ts ch my ky by gy ny hy ry py sh sp silB silE

Page 57: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

57

Page 58: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

音声認識デコーダ JULIUS DEMO

58

Page 59: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

連続音声認識エンジン Julius

高性能 数万語をPCで実時間認識

数単語~数万語以上の語彙に対応

オープン性 ソースを含めて無償公開

商用を含めて利用に制限なし

インタフェースの汎用性 音響モデル・言語モデルのカスタマイズが可能

任意のモデルが使用可能な汎用インタフェース

認識「エンジン」としての独立性 音響モデル・言語モデルとは独立したソフトウェア

モデルと組み合わせることで認識システムとして稼働

59

(京大~奈良先端大~名工大) http://julius.sourceforge.jp/

Page 60: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

Juliusの構成

特徴 抽出

フレーム同期 ビーム探索 (1-best近似)

尤度再計算 再探索 (A*探索)

(単語間依存近似)

単語2-gram 単語辞書 単語3-gram

(逆向き)

音韻環境依存モデル

音声 データベース

テキスト データベース

HTK

Palmkit

音声 入力

中間結果 認識 単語列

Julius

単語N-gram言語モデル

HMM音響モデル

はじめに荒いモデルで高速に認識して候補を絞る.

次に,改めて詳細なモデルで高精度な認識を行う.

60

Page 61: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

(デモ)N-グラム言語モデルによる認識

Webテキストから学習,語彙数 6 万

はじめにバイグラム (2-gram)により粗いが高速に認識結果の候補を行い,その後,トライグラム (3-gram)による精密な認識結果の推定を行う. 音声認識デコーダ Juliusの機能

※音響モデルは,文法による音声認識と同じ不特定話者用のトライフォンモデル

61

Page 62: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

(デモ)文法による音声認識

attendant --- 受付における人の呼び出しタスク用文法

datetime --- 日付・時間の表現を受理する文法

digit --- 数字発声(一桁ずつ)用文法

fruit --- 果物注文タスク用文法

number --- 整数表現を受理する文法

persons --- 人数の表現を受理する文法

price --- 価格の表現(円)を受理する文法

railroad --- 新幹線の切符購入タスク用文法

type --- 音節タイプライタ用文法

vfr --- 服装着せかえタスク用文法

yesno --- はい/いいえを受理する文法

all (音節タイプライタ用文法を除く上記すべて) 62

Page 63: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

参考資料

音声認識デコーダ Julius デモ

HMMモデルEM学習

ANSER(テンプレートマッチングシステム)

音素テンプレート

ベクトル量子化

SA-DPマッチング

KNN法

マルチテンプレートの設計

HMMパラメータ更新

63

Page 64: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

特徴量

抽出

特徴量

抽出

64

認識デコーダ

音響モデル 言語モデル 音声

m

m

y 今日 o n

y

h

h

o

o

u

u

o

o

w

y

飲む

読む

a

a

本屋

単語辞書 単語辞書 音響モデル

k

デコーダ

N

N

言語モデル

認識結果

「今日読む本は」

Page 65: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

65

ANSER

音声分析(短時間スペクトル

時系列の抽出)

距離マトリックス計算

非線形伸縮

マッチング

正規化累積距離の比較

入力音声

認識結果

単語テンプレート

最小の正規化

累積距離の

テンプレート 時間

1.こんにちは

2.いたい

3.いやし

4.ああ

0.4

5.0 2.4

6.2 こんにちは

いたい

いやし

ああ

???

5/(6+7) 10 9 5 4 2 0 0

8 7 6 3 3 2 2

9 8 4 4 0 1 1

4 3 0 1 2 4 4

2 0 3 5 8 9 9

0 2 4 6 9 10 10

入力音声

単語テンプレート(1)

(2) VQ 計算量削減

(4) KNN 不特定話者音声

に頑健

(1) 音素テンプレート データ量・計算量削減

(3) SA-DP パス重み

改善

計算量削減

Page 66: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

66

(1) 音素テンプレート

語彙拡大の要求

単語テンプレート増加で計算量増大の問題

音素テンプレートの導入

テンプレート接続により単語テンプレート

音素環境を考慮

ベクトル量子化を併用

テンプレートを符号系列で記述

SPLIT(Strings of phoneme-like templates) 法

音素の代わりに物理特徴に基づく符号を使用

Page 67: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

67

音素テンプレートによる単語認識

音素テンプレート

音素 /a/ /i/ …

スペクトル 系列

単語辞書

単語 イチ ニ …

音素系列 ichi ni …

入力音声

スペクトル

分析

入力音声

入力音声と音素テンプレートの距離マトリックスを作成

ichi

音素テンプレートの距離

マトリクスの接続で

単語の距離マトリクスを作成

ni /i/

90 70 … 5

85 60 … 20

95 45 … 30

/n/ 20 25 … 80

15 12 … 75

/a/

85 70 … 60

80 75 … 50

90 60 … 40

1 2 … I

距離計算

距離計算

距離計算 …

累積距離算出

認識結果決定

i

/i/

90 70 … 5

85 60 … 20

95 45 … 30

/n/ 20 25 … 80

15 12 … 75

入力音声 1 2 … I

認識

結果

Page 68: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

(2) ベクトル量子化(Vector Quantization)

スペクトルの典型的なベクトル集合(符号帳,Codebook)を作成

フレームのスペクトルを符号で表現

距離マトリクス作成が容易

符号間距離はあらかじめ準備

テンプレートの符号系列もあらかじめ準備

入力データの符号系列が決まれば,任意のフレーム間距離は値の参照のみで求められる

68

Page 69: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

69

ベクトル量子化(vector quantization, VQ)

符号帳(codebook)として典型的なベクトルの集合を作成する。

パターンマッチングでの利用

あらかじめ符号どうしの距離は計算しておくことができる。

単語テンプレート,および入力パターンのフレームに対応する符号が決まればフレーム間距離計算が不要になる。

距離尺度の計算量の削減が可能。

ベクトル量子化

Page 70: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

(付録)符号帳設計アルゴリズム LBGアルゴリズム

• 初期設定 セントロイドを計算する。

• 符号帳の分割 符号帳のベクトルを2つに分割する。

• ラベルの付け替え サンプルごとに最も小さい距離の符号帳のベクトルのラベルを付ける

• セントロイドの計算 同じラベルをもつ学習サンプルのセントロイドを計算し、このセントロイドを新しい符号帳のベクトルとする。

• 符号帳の大きさのチェック 符号帳が所定の大きさに達したら終了する。さもなければ符号帳分割を繰り返す

70

Page 71: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

71

1. 初期設定 多くの音声データからLPCケプストラム係数のベクトルを集め, 符号帳作成の学習サンプル集合とする。この学習サンプル集合を

とする。この集合Xのセントロイドを計算する。ケプストラム係数のセントロイドは、それぞれの要素の平均値(相加平均)で与えられる。符号帳ベクトルの数N = 1と置き、セントロイドをその対応するベクトルとする。符号帳のベクトルの数をCsize = 1とする。この符号帳を B = b1 と表す。また、集合Xのすべての要素に符号帳のベクトルのラベル をつける。

2. 符号帳の分割 符号帳のベクトルを2つに分割する。符号帳の中のすべてのベクトルを2つに分割する。よって、 Csizeの値を2倍にし、符号帳は、

となる。

Page 72: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

72

3. ラベルの付け替え 学習サンプル集合のサンプルごとに、符号帳のケプストラム係数とのケプストラム距離を計算して、最も小さい距離の符号帳のベクトルのラベルを付ける。

4. セントロイドの計算 同じラベルをもつ学習サンプルのセントロイドを計算する(ケプストラム距離では、相加平均)。このセントロイドを新しい符号帳のベクトルとする。このラベル付けの過程での量子化誤差の減少が大きければ、ラベル付け替えの過程に戻る。

5. 符号帳の大きさのチェック 符号帳に含まれるベクトルの数(符号帳の大きさ)が、所定 の大きさに達したら、符号帳の設計は終了する。さもなければ、符号帳の分割の過程を繰り返す。

Page 73: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

73

ベクトル量子化(Vector Quantization)

X X

X X X

X X

X X

X X

X X

セントロイド v 計算

),(min ixvdv

分割

Page 74: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

74

X X

X X X

X X

X X

X X

X X

ベクトル量子化(Vector Quantization)

X X

X X X

X X X

X X

X X

X X

ラベルの付け替え

分割

セントロイド算出

Page 75: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

75

ベクトル量子化(Vector Quantization)

X X

X X X

X X

X X

X X

X X

ラベル更新+セントロイド算出

の繰り返し

Page 76: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

76

ベクトル量子化(Vector Quantization)

符号帳(Codebook)

X X

X X X

X X

X X

X X

X X

Page 77: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

77

計算量削減 入力・テンプレート平面で,傾き1の平行線上にある格子点列を同じグループと考える

格子点の間引き

1グループに1つのレジスタを割り当てる→メモリ削減

ユークリッド距離に近い距離重み

端点フリー導入が容易

(3) SA-DP (Staggered Array DP) マッチング

Page 78: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

78

入力

整合窓

テンプレート

(方針) 傾き1の同じ直線上にある格子点 → 同じグループ

パスの見直し: • 累積距離計算は格子点3点ごと(図中の “○” のみ) • 傾斜制限パス

• ユークリッド距離に近い距離重み

• 格子点グループの範囲指定 → 整合窓

Page 79: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

79

B

(1)グルーブ(列)ごとにレジスタ を割り振る

1 1

1

1 4/3

4/3

4/3 R(0)

R(i-j)

R(1)

パス重み

(ユークリッド距離)

1

約 1.9

(2) 青線の順に累積値計算

累積値 g

レジスタ値 R

を順に更新

)},()1,()1(

)},2,2(),1,1(),,({3

4)(

),,(),1()1(min{)(

jidkidkR

jidjidjidkR

jidjidkRkR

)()( jiRkR

Page 80: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

80

灰色領域

の距離は

と定義

マッチングパスの始端 マッチング

パスの終端

(パス重み累積値は等しい)

端点フリーの導入

0),( jid

Page 81: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

81

(4) KNN法 (K-Nearest Neighbor Method)

マルチテンプレートにより認識性能を頑健に 最終結果を決定するアルゴリズムのひとつ

不特定話者認識に有効 話者ごとの発話のゆらぎに対応できる

ながれ 単語ごとに数10個のテンプレート(マルチテンプレート)を用意

各単語について,入力音声と最も距離の小さいN個のテンプレートを選択

それらの平均距離が最小の単語を選ぶ.

Page 82: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

82

音声分析

距離マトリックス計算

非線形伸縮マッチング

正規化距離の比較

音声入力

認識結果

単語標準

パターン

単語標準パターン 入力音声

スペクトル距離

距離計算量の削減

Page 83: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

83

1. 初期単語マルチテンプレートの作成 (第1段階) 初期単語マルチテンプレートを、単語ごとに作成する。

異なる話者 i, j の発声した単語 Wi と Wj との非線形伸縮マッチングの距離D (Wi , Wj) を要素とする距離行列を得る。

(a) (初期設定)

クラスタの数を1とし、そのクラスタのラベルをすべての単語につける。

(b) (セントロイドの決定)

クラスタごとに距離の総和が最小となる単語標準パターンを見つける。

(c) (ラベル付け) 新しい単語標準パターンを用いて、すべての単語にラベルを付ける。クラスタの距離の総和の減少が大きければ、(セントロイドの決定)のプロセスに戻る。クラスタの距離の総和があらかじめ設定された値より小さければ、このときのクラスタのセントロイドを単語のマルチテンプレートとする(終了)。

(d) (クラスタの分割)

クラスタごとの距離の総和を比較し、最大のクラスタを分割し(ラベル付け)に戻る。

(付録)マルチテンプレート設計手法の例 (ベクトル量子化のための符号長作成アルゴリズムと類似した手法)

Page 84: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

84

2. 初期マルチテンプレートの再選択 (第2段階)

前頁の単語マルチテンプレートの選択アルゴリズムは、同一単語

カテゴリ内でのマルチテンプレートであった。このマルチテンプレートの中には、他の単語カテゴリの単語音声に悪影響を及ぼすテンプレートが含まれている。この段階では、学習用音声データの単語認識率を評価関数として、マルチテンプレートの再選択を行なう。

(a) (単語認識率の計算)

すべてのマルチテンプレートに対して、そのうちの一つを取り除いたときのKNN 法による単語認識率を計算する。

(b) (テンプレートの除去)

取り除くと認識率が向上するテンプレートがないならば、終了する。

取り除いたときに、もっとも認識率の向上するテンプレートを見つけ出し、それを取り除く。上の段階に戻る。

Page 85: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

85

3. 単語マルチテンプレートの最適化 (第3段階) 第2段階で得られた単語マルチテンプレートを初期値として、単語マ

ルチテンプレートの数を固定して、学習用単語の認識率がさらに高くなるように、次に示す局所的繰り返しによる最適化を行なう。

(a) (初期設定)

第1段階で選ばれたマルチテンプレートの集合を S とし、第2段階で選ばれた集合をT とする。

(S-T) は、第2段階で含まれていないテンプレートの集合を表す。

(b) (単語認識率の計算)

集合 (S -T) に含まれるテンプレートと集合T に含まれているテンプレートとの入れ換えを試みる。認識率が向上する入れ換えがないならば、終了する。最も認識率の向上が大きい入れ換えを実行する。このアルゴリズムを繰り返す。

Page 86: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

【参考】 HMMパラメータ更新

方針

HMMパラメータは学習データから直接観測できない.

EM(Expectation-Maximization)アルゴリズムに基づき推定 通常のマルコフモデルでは学習データ集合 Y から遷移確率を直接数えあげることが可能.状態 i から j への遷移確率の最尤推定(maximum likelihood estimation) は で得る.

手順

観測データからモデルを仮定,状態遷移回数を計算

それに基づき遷移確率,出力確率を最尤推定,パラメータ更新

86

k ikijij nna

ija

Page 87: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

例題: 離散スペクトルHMMのパラメータ更新

観測信号の時系列が u, e, o の3種類のシンボルで表され、下記のような離散HMMが初期モデルとして与えられており,実際の観測系列 x = e u o o が与えられたとする.

(1) Forward,Backwardの計算結果を用い,状態間の確率的回数 γ を求める.

(2) 離散HMMのパラメータをEMアルゴリズムを用いて更新する.

実際にはパラメータが収束するまで更新するが,ここでは一度だけ更新する.

HMM

遷移確率

q1

q2

q3

q4

出力確率

0.6 0.4 0.5

0.5 0.4 0.6

u 0.5

e 0.1

o 0.4

u 0.5

e 0.4

o 0.1

u 0.2

e 0.5

o 0.3

Page 88: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

1q

2q

3q

4q

1t 2t 3t 4t

e u o o

Forwardアルゴリズム(e u o o)による計算結果

0,1 t

0.6×0.1

0.4×0.1

0.6×0.5 0.6×0.5

0.4×0.5 0.4×0.1

0.5×0.3 0.5×0.3

1.0

0.06 0.03

0.012 0.003

0.04

0.00045

MxP |

累積確率値 α (i, t) は観測系列を出力しながら,「時間 t で 状態 i

に遷移する確率」である.

2,2 t

Page 89: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

1q

2q

3q

4q

1t 2t 3t 4t

e u o o

Backwardアルゴリズム(e u o o)による計算結果

1,2 t

0.6×0.1

0.4×0.1

0.6×0.5

0.6×0.5

0.4×0.5 0.4×0.1

0.5×0.3 0.5×0.3

0.0063 0.006

0.0225 0.15

0.00045 0.0018

1.0

Forwardアルゴリズムの逆向きに確率を計算する.最終結果は同じ.

累積確率値 β (i, t) は「時間 t で 状態 i に遷移したとき,それ以降に観測系列を出力する確率」に対応する.

Page 90: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

状態間の確率的回数の計算

MxP

tjxbatitji

tiij

|

,)(1,,,

ti,

tj,

ija

xbi

MP |x :モデル M における系列 x の生起確率

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

:Forwardアルゴリズムにおける時刻 t ,状態 i の累積確率

:Backwardアルゴリズムにおける時刻 t ,状態 j の累積確率

= 時間 t に状態 j に遷移したとき,それ以降に観測系列を出力する確率.

:状態 i におけるパターン x の出力確率

84.0

00045.0

0063.01.06.01

|

1,20,11,2,1 112

MxP

tebatt

(例)

: 時刻 t において,状態 i から状態 j に遷移している確率

Page 91: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

状態間の確率的回数の計算

MxP

tjxbatitji

tiij

|

,)(1,,,

観測系列を出力しながら,時刻 t において,状態 i から状態 j に遷移する確率

時刻 t-1 で状態 i に遷移したときの,そこまでの累積確率

時刻 t で状態 j に遷移したとき,

それ以降の観測系列を出力する確率

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

状態 i での xt の出力確率

系列全体の出力確率

Page 92: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

状態間の確率的回数の計算結果

16.0

|

1,10,11,1,1 111

MxP

tebatt

16.0

|

2,21,12,2,1 112

MxP

tubatt

84.0

|

1,20,11,2,1 112

MxP

tebatt

24.0

|

2,21,22,2,2 222

MxP

tubatt

6.0

|

2,31,22,3,2 223

MxP

tubatt

4.0

|

3,32,23,3,2 223

MxP

tobatt

6.0

|

3,32,33,3,3 333

MxP

tobatt

0.1

|

4,43,34,4,3 334

MxP

tobatt

Page 93: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

EMアルゴリズムによるパラメータ更新

t j

tij

tji

tjia

),,(

),,(ˆ

)2,2,1()1,2,1()1,1,1(

)2,2,1()1,2,1(

),,1(

),2,1(ˆ

12

t j

t

tj

ta(例)

t j

kxt j

itji

tjikb t

),,(

),,()(ˆ ;

 

)2,2,1()1,2,1()1,1,1(

)1,2,1()1,1,1(

),,1(

),,1(

)(ˆ ;

1

t j

ext j

tj

tj

eb t

0)4,4,3()3,3,3(

0

),,3(

),,3(

)(ˆ ;

3

t j

ext j

tj

tj

eb t

(分母)状態 i から遷移するすべての確率

(分子)状態 i から j に遷移するすべての確率

(分母)状態 i から遷移するすべての確率

(分子)状態 i から遷移するとき k を出力するすべての確率

Page 94: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

EMアルゴリズムによるパラメータ更新結果

14.0),,1(

),1,1(ˆ

11

t j

t

tj

ta

86.0),,1(

),2,1(ˆ

12

t j

t

tj

ta

19.0),,2(

),2,2(ˆ

22

t j

t

tj

ta

81.0),,2(

),3,2(ˆ

23

t j

t

tj

ta

375.0),,3(

),3,3(ˆ

33

t j

t

tj

ta

625.0),,3(

),4,3(ˆ

34

t j

t

tj

ta

14.0),,1(

),,1()(ˆ ;

1

t j

uxt j

tj

tjub t

86.0

),,1(

),,1()(ˆ ;

1

t j

ext j

tj

tjeb t

0),,1(

),,1(

)(ˆ ;

1

t j

oxt j

tj

tj

ob t

68.0),,2(

),,2()(ˆ ;

2

t j

uxt j

tj

tjub t

0

),,2(

),,2(

)(ˆ ;

2

t j

ext j

tj

tj

eb t

32.0),,2(

),,2()(ˆ ;

2

t j

oxt j

tj

tjob t

0),,3(

),,3(

)(ˆ ;

3

t j

uxt j

tj

tj

ub t

0),,3(

),,3(

)(ˆ ;

3

t j

ext j

tj

tj

eb t

0.1),,3(

),,3(

)(ˆ ;

3

t j

oxt j

tj

tj

ob t

Page 95: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

99

Page 96: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

言葉の復習

音素

シンボリック 音素記号 言語依存

単音

物理的特徴と対応 国際音声記号 超言語

音声の音韻面

声道 振幅スペクトル 音素

音声の韻律的

声道 高さ強さ長さ(の変化) リズム イントネーション 高低アクセント(声調)

100

Page 97: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

101

音素と単音 音素(phoneme)

記号的な分類による最小単位.

音韻記号を使用して /a/ のように記述する.

単音(phone)

物理的な分類による最小単位。以下で決まる。 調音様式 (狭めや閉鎖といった音の作り方)

調音位置 (狭めや閉鎖の場所)

声帯振動の有無

音声記号を使用して [a]のように記述する.

1.存在する音素の種類とその音素記号は言語によって異なる.

2.単音は物理的な現象と対応するもの.言語に依らない.

3.音素と単音の対応は言語によって異なる.

Page 98: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

102

音素 /N/ : 後続する音素によって単音が異なる [p,b,m]の前 /hoNbako/ (本箱): [m]

[t,d,n]の前 /hoNdana/ (本棚): [n]

[k,g]の前 /hoNgaN/ (本願): [ng]

音素 /z/ : 文頭か文中かで単音が異なる 文中 /indozo:/ (インド象): [z] (摩擦音)

文頭 /zo:/ (象): [dz](破擦音)

音素/Q/ (促音) : 後続する音素の調音によって単音が異なる 摩擦音の前 /iQsai/ (一切): 後続摩擦音[s]の延長

破裂音の前 /iQtai/ (一体): 後続破裂音[t]の閉鎖の延長

発話末: /haQ/ (はっ): 声門破裂音

母音の無声化 無声音に挟まれた母音や文末の母音 /i,u/ がしばしば無声音になる.

(例)「クツシタ」の「ク」「シ」の母音,「スキー」の「ス」の母音

日本語(東京標準)特有の音素と単音の対応の例 同じ音素でも,物理的には異なる音(単音)を 使いわけていたり,同じ単音が別の音素として使われていたりする.

Page 99: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

103

IPA(国際音声字母)による子音分類と記号

調音位置

調音方式

破裂音

鼻音

摩擦音

(両)唇音 唇歯音 歯音 歯茎音 そり舌音 硬口蓋音 口蓋垂音 声門音

後部歯茎音 軟口蓋音 咽頭音

ふるえ音

弾音

側面摩擦音

接近音

側面接近音

東京方言で観察される単音を○で囲み,それを含むカナを併記した.

んである.同じ音素でも異なる単音が使われている.(例)意識しない例として「な行」.

パピプペポ、ッ バビブベボ

マミムメモ、ン(p,b,mが続く)

語頭以外の

バビブベボ

タテト、ッ ダデド

カキクケコ、ッ ガギグゲゴ

ガギグゲゴ

(鼻濁音)

~ッ

ンの基本の音

フ サスセソ、ッ

連続発声で語頭の

ザズゼゾ

シ(慣習的表記)、ッ

シ、(ヒ) ハ(ヒフ)ヘホ (強い

ハ、ホ)

(ラレロ)

連続発声でチ

ナヌネノ、

ン(t,d,nが続く)

連続すると語頭のジ

語頭以外のジ

ラリルレロ

ザズゼゾ

ヤユヨ

(ハ、ホ)

(川上蓁,“日本語音声概説)

同一枠内は左:無声子音,右:有声子音.

Page 100: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

(参考)IPA子音分類(東京外国語大学)http://www.coelang.tufs.ac.jp/ipa/tufs2001.htm

(音声が聴ける)

104

Page 101: 音情報処理 第6回 音声認識理論と音声認識システム · 音声認識 単語音声認識 ワードスポッティング 大語彙連続音声認識 (ディクテーション=口述筆記)

大語彙連続音声認識

標準的なセッティング

音響モデル

Tri-phone 音素モデル

3-state Left-to-Right HMM

MFCC(Mel-Frequency Cepstrum Coefficient)

MFCC 12次元+Δ+ΔΔ(+Power)

16-mixture GMM(Gaussian Mixture Model)

PTM(Phonetic tied-Mixture)

言語モデル

3-gram

105