音声認識の基礎
参考図書
情報基礎学詳説、コロナ社、1983
坂井利之編(分担執筆)
音声認識の種類
特定話者 / 不特定話者
孤立発声 / 連続発声
朗読発声/自由発声
単音節認識
単語認識
連続単語認識
連続音声認識
音声理解
Key word (word spotting), 言語認識
話者認識の種類
テキスト依存 / テキスト独立/テキスト指定
話者照合
音声認識タスクの分類
モ ー ド
対 話
独 語
人間−人間
会議、通訳
議事録、
インデキシング、翻訳
ボイスメール、
講演・講義
(要約・整形)
人間−機械
質問−応答
検索・予約、
(対話理解、音声生成)
データ入力、
音声ワープロ
(ディクテーション)
音声パターンの多様化の原因
1.発声者による変動
(個人差)
2.調音結合による変動
3.発声時期差による変
4.音声速度の変動
5.アクセント、
イントネーション
6.有声無声・母音・鼻音・
破裂・摩擦の混在
7.その他の要因
声帯振動数、声道形等の発声器官の構造差。
方言、発声習慣などの調音法の相違
発声器官の連続運動・変化による
音声生成(ディジタル音韻列→アナログ音声)
発声器官の生理変化、調音法の変化
(かぜ、脱歯、疲労など)
音韻、音節などの離散記号の非線形時間軸変
韻律情報の音声への付与
種々の調音機構への依存
ノイズ(背景雑音、電子ノイズ)
伝送歪
連続音声認識が困難な理由
1.単語境界が不明確になる
2.単語境界付近の音が先行または後続単語の
影響で変形する。
3.単語を構成する各音の継続時間が短くなり、
発音もあいまいになる。
4.単語の最後の音韻が伸ばされて発声される
場合がある 。(特に助詞)
5.不要語の発声、非文法的文の発声
DARPAベンチマーク評価結果の歴史(2)
1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 % 1 % 10 % 100W
O
R
D
E
R
R
O
R
R
A
T
E
Resource
Management
Courtesy NIST 1999 DARPA
HUB-4 Report, Pallett et al.
Broadcast
Speech
NAB
Varied
Microphone
Noisy
Spontaneous
Speech
ATIS
Read
Speech
Conversational
Speech
Switchboard
WSJ
k 20 k 1 k 5人間「耳」と機械の「耳」の音声認識誤りの比較
Perplexity
Recognition error rate in %
10
50
100
0.001
0.01
1
10
100
0.1
Connected Digits (326 Talkers)Wall Street Journal
(84 Talkers, 5000 Words) Alphabet Letters (150 Talkers) Spontaneous Speech (70 Talkers, 20000 Words)
Machine ‘Ear’
Human ‘Ear’
人間と機械の音声認識
タ ス ク
人間の誤聴率
機械の誤認識率
アルファベット
1.6%
(連続発声)
5%
(孤立発声)
連続数字列
(ストリング認識)
0.009%
0.105%(分析合成音)
0.72%
1000語彙の自然言語文
(文法未使用時の
単語認識)
2%
17%
5000語彙の自然言語文
(朗読音声)
S/N 10dB 1.1%
S/N 16dB 1.0%
S/N 22dB 0.9%
クリーン音声 0.9%
12.8%
10.0%
8.4%
7.2%
スイッチコーパス
(自然発話)
4%
30∼43%
20000語彙の自然言語文
(朗読音声)
2.6%
7.4%(非母語話者)
12.6%
音響レベルと言語レベルの性能
音響レベル
(音韻認識率)
言語レベル
(単語パープレキシティ)
人間
90%∼95%
100
機械
70%∼80%
70∼200
注:機械の言語モデルは認識対象のドメインが限
定されている場合
0 20 10 30 40 50 60 70 80 90 0 50,000 100,000 150,000 Age
Word Error Rate(%)
Hours Hours 0 20 10 30 40 50 60 70 0 100 10,000 000 , 000 , 1 10 1,000 100,000 1
Estimated amount of speech a human
being hears as a function of age
(R.Moore, EuroSpeech, 2003)
Extrapolated word error rates for
increasing quantities of training
data(R.Moore, EuroSpeech, 2003)
Supervised , Unsupervised Unsupervised (reduced LM training)
発話スタイルの違いによる
音響的特徴の相違
発話スタイル
母音間距離
(分散)
子音間距離
(分散)
フレーム数/
音韻(分散)
孤立単語発声
5.32
(5.75)
5.09
(5.80)
16.7
(42.5)
朗読
3.63
(2.38)
3.71
(4.01)
14.1
(29.1)
自然発話
2.62
(0.43)
4.21
(4.99)
17.3
(125.0)
・自然発話の音声認識には、発話速度と文脈を加味
した発音辞書の研究が重要
音声認識の階層と関連する諸問題
音声
音声分析 音韻・ 音節認識 連続単語 音声の認識 孤立単語 音声の認識 会話音声の 認識・理解 音声による 質問回答 話者認識 音声タイプ 105 ビット階層
パラメータ 特徴抽出 音韻・音節 セグメンテーション 調音結合 単語 時間長の正規化 単語辞書 (低次言語情報) 構文word juncture rule 単語境界検出 木探索法 意味・プラグマティクス 解析手順 構文・意味・プラグマティクス 韻律(高次言語情報) 談話 会話・ユーザモデル 音声波形 104 100 ラティス表現 (タスクに依存) 30∼60 ラティス表現 (タスクに依存) 20∼40 bottom up top down 文脈の影響 経時変化 正書法 カタカナ 漢字変換 高次言語 知識の利用 個人差 の学習 個人差の 正規化 対話制御
音声認識のブロック図
K N K NX
X
X
X
11L
1,
L
,
1L
標準パターン:
前処理
{入力音声}
音響分析
(特徴抽出)
比較・判定
次段レベル
の判定
{認識結果}
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
)
(
)
(
1t
r
t
r
MM
⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
NX
X
M
1⎟
⎟
⎟
⎠
⎞
⎜
⎜
⎜
⎝
⎛
Kd
d
M
1)
(t
S
S
' t
(
)
C
iS(t) : 音声波, S’(t) : 前処理後の音声波
r(t) : M次元の特徴パラメータ時系列 (音響分析後)
X : N個の特徴パラメータ (特徴抽出後)
d
i
: カテゴリC
i
の標準パターンとの距離 (比較後)
特徴パラメータとその特性
特徴パラメータ 抽出精度 次 元 (パラメータの数) 認識への 貢献度 処理時間 コ ス ト 発声モデル との対応性 可 良 FFT ケプストラム 優 8∼14 優 優 可 LPC ケプストラム 優 8∼14 優 優 良 良 ホルマント 良 3 優 良 劣 優 声道断面積関数 可 8∼12 優? 優 劣 優 唇・舌・あごの位置 劣 3∼6 良? 可 劣 優 可 可 良 優 劣 5∼10 良 優 優 良 良 可 良 良 >20 >20 5∼20 8∼12 8∼12 8∼12 分析合成 の忠実度 零交差波 優 劣 アダマール変換 優 可 スペクトル(FFT) 優 優 自己相関係数 優 優 MFCC 優 優 線形予測係数 優 優 PARCOR係数 優 優 波形に 対 する演算操作 発声モ デ ル 距離尺度としてユークリッド距離を用いた場合ベクトル量子化アルゴリズム
(a)LBGアルゴリズム
∞ = = = = = − = − − 1 ) 0 ( 1 ) 0 ( 0 ) ( 0 , , , 0 } , , { , } 1 , , 0 ; { ) ( D m y y A N n j x N n j ひずみしきい値 合 コードブックの初期集 コードブックサイズ 訓練サンプル集合 初期化 1ε
L L(
)
{
}
∑∑
− = − =∈
=
∈
<
−
=
1 0 1 0 ) ( ) ( ) ( ) (,
1
.
)
,
(
)
,
(
,
}
1
,
,
0
;
{
}
{
)
2
(
N i n j i j m i j m i j m t j m i j i N m jS
x
y
x
d
n
D
S
x
y
x
d
y
x
d
t
N
i
S
N
A
x
但し
る
平均ひずみを計算す
なら
について
べての
すなわち,もしす
に分割する.
個の部分集合
によって
を
L
(
)
. 4 . , / , ) 3 ( 1 ( ) )へ それ以外なら( をコードブックとする なら終了し もし N m m m m D D A D − − <ε
{
}
( )
{ }
.
2
1
,
,
.
,
,
)
4
(
1( ) 0( 1) 1( 1) ( 1))へ
として(
ここで
を求める
+
=
=
=
+ − + + +m
m
S
C
y
y
y
A
m N mL
N m i m i(
)
∑
−(
)
= −=
=
1 0 1 1 0,
1
min
arg
,
,
,
ˆ
n i i nd
x
x
n
x
x
x
C
x
L
(b)2分割繰り返しアルゴリズム
(
0 1 1)
1 , 0,
,
,
1
)
(
−=
=
=
∆
nx
x
x
C
A
M
L
ベクトル
大きさの小さい適当な
初期化
1
{
}
{
}
{
, , ,}
. , , , , , , , . , , , , , ) 2 ( 1 2 1 0 2 , 0 1 1 1 1 0 0 1 1 0 , 0 とする を改めて に分ける と トル を近接した二つのベク 各 に対して − − − − = ∆ + ∆ − ∆ + ∆ − ∆ + ∆ − ∆ − ∆ + = M M M M i i i M M y y y A y y y y y y y y y y y y A L L L{
}
.
2
2
.
.
1
2
,
,
1
,
0
;
LPG
)
3
(
2 , 0 2 , 0)へ
として(
それ以外なら
なら終了
を求める
準最適な
アルゴリズムによって
を初期値として上記
M
M
N
M
M
i
y
A
A
i M M=
=
−
=
=
L
単語音声認識手法の分類
音声信号 音声分析 音素区分化 音素識別 単語類似 度計算 単語判定 (a)音素単位識別方式による 単語認識系 単語音声 音素標準 パターン 単語判定 単語辞書 単語類似度 計 算 音素類似度 マトリクス 音声分析 認識結果 (b)音素標準パターン方式に よる単語認識系 (音素→音節→VCV音節) ベクトル量子化法 (SPLIT法) マッチング 処 理 時間正規化 特徴抽出 (データ圧縮) 音声分析 音声検出 単語判定 認識結果 認識結果 単語判定 識別関数値 計 算 単語音声 単語音声 特徴抽出 (データ圧縮) 音声分析 音声検出 識別関数値 メモリー 識別関数値 計 算 音素標準 パターン 単語辞書 (c)単語標準パターン方式に よる単語認識系 (d)識別関数方式に よる単語認識系 単語標準 パターン 認識結果連続音声認識システムの構成
ネットワーク
デコーダ
音響モデル(音素/音節)
言語モデル(構文/意味)
発音(単語)辞書
対話モデル
(プラグマティックス)
韻律情報
ユーザーモデル
音声理解システムの典型的な構成例
{発話文} 音響分析 {パラメータ表現} 音韻標準 パターン セグメンテーション 音韻認識 韻律分析 構文・意味 プラグマティクス 音形 規則 単語 辞書 音韻間類似度 juncture rule 音韻系列の 修正 単語境界処理 単語 同定 単語列 の生成 システム動作 {音韻系列} {音韻系列} 未知同定 音韻系列 区 間 単語の可能 な音韻表現 受理可能な単 語列のスタック 単語例の 評価と選択 可能な単語 の予測 {文の理解} 検証 音節中心,音節境界 構文境界 単語境界 bottom up 話者モデル 発話 モデル 言語モデル ユ ー ザ ー 談 話 モ デ ル 音声モデル各種ラベル付け方法の相互関連図
グラフ表現
ネットワーク表現
ハードな方法
ソフトな方法
ファジイ論理
論理的方法
構文的方法
オートマトン
確率オートマトン
ファジイ(ペナルティ)オートマトン
知識
静 的
パターン
動 的
パターン
ダイナミックプログラミング(DP)法
確率過程法(マルコフ過程)
(パターン系列)
パターンマッチング法
(モデルによる予測)
確率・統計法(識別関数)
(シンボル系列)
3次元空間による仮説の表現
処理レベル
意味レベル
構文レベル
単語レベル
音韻レベル
候補
意味ネットワーク
句・文節ラティス
単語ラティス
時間
音韻ラティス
(文)
〈名詞句〉
〈名詞句〉 〈動詞句〉
〈冠詞〉 〈形容詞〉〈名詞〉 〈動詞〉 〈副詞〉
The little boy ran quickly
(1) 〈文〉→〈名詞句〉〈動詞句〉 (2) 〈名詞句〉 → 〈冠詞〉〈名詞句1〉 (3) 〈名詞句1〉 → 〈形容詞〉〈名詞〉 (4) 〈名詞句1〉 → 〈名詞〉 (5) 〈動詞句〉 → 〈動詞〉〈副詞〉 (6) 〈動詞句〉 → 〈動詞〉 (7) 〈冠詞〉 → the (8) 〈冠詞〉 → a (9) 〈形容詞〉 → little (10) 〈形容詞〉 → big (11) 〈名詞〉→ boy (12) 〈名詞〉 → girl (13) 〈動詞〉 → ran (14) 〈動詞〉 → walked (15) 〈副詞〉 → quickly (16) 〈副詞〉 → slowly S→NP VP NP →ART NP1 NP1 →ADJ N NP1 →N VP →V AD VP →V ART →the ART →a ADJ →little ADJ →big N →boy N →girl V →ran V →walked AD →quickly AD →slowly
例文
“ The little boy ran quickly ”
の構文解析木
S
NP
NP
1VP
ART
ADJ
N
V
AD
S NP1 VP PUSH NP PUSH VPCAT ART PUSH NP1
CAT ADJ CAT N
CAT V CAT AD POP POP POP POP NP JUMP
:: = NP VP
:: = ART NP
1:: = ADJ N ¦ N
:: = V AD ¦ V
:: = the ¦ a
:: = little ¦ big
:: = boy ¦ girl
:: = ran ¦ walked
:: = quickly ¦ slowly
文法1のBNFによる文法記述
文法1の基本遷移ネットワークに
よる記述
DPマッチング
DPマッチングの概念図
標準パターン
入力パターン
標準パターン
入力パターン
標準パターン
入力パターン
標準パターン
入力パターン
(a) 線形伸縮マッチング
(b) 非線形伸縮(DP)マッチング
(c) 対応の前後関係の入換え禁止
(d) 大きく隔たった対応は禁止
1 2 3 4 5 6 7 8
1 4 7 8
距離=6
距離=4
1 2 3 4 5 6 7 8
1 3 2 4 5
1 5 5 5 5 6
1 4 7 8
1 2 3 4 5
1 2 3 4 5 6
1 3 2 4 5
1 2 3 4 5
1 2 3 4 5 6
1 5 5 5 5 6
許されない対応可能なパスの総数
横と縦のパス:
I+J
C
I
厳密には、
(I+J−2)
C
(I-1)
横と縦と斜めのパス:
DPマッチングの原理図
∑
∑
⋅
=
)
(
))
(
),
(
(
)
(
min
)
,
(
k
w
k
j
k
i
d
k
w
B
A
D
F)
1
(
)
(
)
1
(
)
(
)
(
k
=
i
k
−
i
k
−
+
j
k
−
j
k
−
w
)
1
(
)
(
)
(
k
=
i
k
−
i
k
−
w
・対称形
・非対称形
入力パターン:A
標準パ
タ
ーン
:B
)
,
(
)
2
,
1
(
)
1
,
1
(
)
,
1
(
min
)
,
(
d
i
j
j
i
D
j
i
D
j
i
D
j
i
D
+
⎪
⎭
⎪
⎬
⎫
⎪
⎩
⎪
⎨
⎧
−
−
−
−
−
=
) , (I J Cx = ) , ( ji C = r i j = + ) 1 , 1 ( 1 = C r i j = − 1a
a
2a
ia
I 1b
2b
jb
warping function 整合窓 Jb
2 C 3 C 4 C 5 CDPマッチング(DTW)
g( i-2, j-1) + 2・d(i-1, j) + d(i, j)
g(i, j) = min g( i-1, j-1) + 2・d(i, j)
g( i-1, j-2) + 2・d(i, j-1) + d(i, j)
g( i-2, j-1) + d(i, j)
g(i, j) = min g( i-1, j-1) + d(i, j)
g( i-1, j-2) + d(i, j-1) + d(i, j)
g( i-2, j-1) + d(i-1, j) + d(i, j)
g(i, j) = min g( i-1, j-1) + d(i, j)
g( i-1, j-2) + d(i, j)
1 1 2 2 2 1 1 1 1 1 1 1 1 (i,j) i j標準パ
タ
ーン
標準パ
タ
ーン
) , ( n n J i D ) , ( n n J i B
)
( j
u
i
=
n Jnb
nb
2 nb
1 1a
a
2i
a
I nR
test pattern
(a)
(b)
(c)
(d)
(e)
Asymmetric DP path and weight
for word spotting
(base axis : reference pattern)
test pattern
1 1 1 1 0.5 1 1 1 1 1 11 1 1 1 1 1 1 1 0.5 1 1 1 1Word spotting algorithm
N
n
=
1
,
2
,
L
n J j = 2,3,Lfor
(
', 1)
min arg ˆ= D i j− i n i i i−2≤ '≤)
,
(
)
1
,
ˆ
(
)
,
(
i
j
D
i
j
d
i
j
D
n=
n−
+
n ) 1 , ˆ ( ) , (i j = B i j − B n n1.
2.
3.
4.
5.
)
1
,
(
)
1
,
(
i
D
i
D
n=
ni
i
B
n(
,
1
)
=
Initialization for word boundary
execute 3.4.5.6. for
execute 4.5. for
I
i
=
1
,
2
,
L
N
n
=
1
,
2
,
L
;
)
,
0
(
)
,
1
(
−
i
=
D
j
=
∞
D
n n nInitialization
J
j
=
1
,
2
,
L
: d I ⋅ N ⋅ J D : I ⋅ N ⋅ J