狠狠撸

狠狠撸Share a Scribd company logo
1
音声認識
Speech Recognition
2
音声の認識 (Speech Recognition)
入力された音声を文字列に変換する
(Speech-to-Text)
概要
– 特徴抽出[Feature extraction] (MFCC)
– 音響モデル[Acoustic model] (HMM)
– 言語モデル[Language model]
(FSG, N-gram)
– デコーダ[Decoder]
音声のスペクトル
大まかな形(coarse structure)→声道形状
細かいギザギザ(fine structure)→声帯音源
波の周波数
波形からスペクトルへ
フーリエ変換(Fourier Transform)
Waveform Spectrum
Fourier
Transform
Inverse
Fourier
Transform
波形とスペクトルは細かさに対して逆の性質を持つ
5
音の高さごとの時間変化
サウンドスペクトログラム
Sound spectrogram
s a N n i N
6
サウンドスペクトログラムは
どうやって作るか
フレーム
(frame)
窓関数
フーリエ変換
Fourier Transform
窓関数
Window Function
Frame Shift
ハミング窓など
Hamming Window
7
声の高さとスペクトル
8
音声認識の基本的な考え方
発音ごとに特有のパターンがある
?このパターンを捕らえれば認識が可能
a i u e o
9
音声認識のブロック図
特徴
抽出
MFCC
等
認識エンジン
(デコーダ)
音響
モデル
辞書
言語
モデル
文字列
X
W
Feature
Extractor
Recognition
Engine (Decoder)
Acoustic
Model
Language
Model
Dictionary
10
確率的音声認識の原理
事後確率最大となる確率的推定問題
(Maximum a posteiori probability)
W = arg max
W
PW∣X 
= arg max
W
p X∣W  PW 
p X 
= arg max
W
p X∣W  PW 
11
特徴量の抽出
スペクトルの概形を表すパラメータを
使う
– スペクトルの概形?声道伝達関数?音韻
– スペクトルの微細構造(?ピッチ)は使わな
い
概形自体は冗長?よりコンパクトな特徴
– ケプストラム (Cepstrum)
時間構造の利用
– Δケプストラム,ΔΔケプストラム
12
特徴量抽出の枠組み
Frame
窓関数
Frequency
Analysis
窓関数
Window Function
Feature
Calculation
Feature
Vectors
Frame Shift
13
スペクトルとケプストラム
FFTケプストラム (FFT Cepstrum):
対数パワースペクトルのフーリエ変換
– 低次のケプストラム係数が対数スペクトル
の概形に対応→音声認識に利用
– 高次のケプストラムのピークが基本周波数
に対応→ピッチ抽出に利用
C =F [log∣X ∣
2
]
14
FFTケプストラム計算例
スペクトルおよび平滑化ス
ペクトル
(FFTケプストラム法,20次)
ケプストラム(低
次)
スペクト
ル
概形
F0
フーリ
エ変換
15
ケプストラムの仲間たち(1)
FFTケプストラム (FFT Cepstrum)
– 音声→パワースペクトル→対数パワースペ
クトル→ケプストラム
LPCケプストラム (LPC Cepstrum)
– 音声→線形予測係数→LPCスペクトル→対数
LPCスペクトル→ケプストラム
16
LPCケプストラム計算例
LPCスペクトル(20次)
最初から概形だけになってい
る
LPCケプストラム(低次)
高次の成分はほとんど0
17
ケプストラムの仲間たち(2)
メル周波数軸上のケプストラム
– LPCメルケプストラム (LPC mel cepstrum)
? LPCケプストラム係数を変換
– メルLPCケプストラム (Mel LPC cepstrum)
? 音声波形をフィルタでメル周波数変換してLPC分
析
– MFCC (Mel Frequency Cepstral Coefficients)
? メル周波数間隔のバンドパスフィルタ出力のコサ
イン変換
18
MFCCの計算
計算手順
バンドパスフィルタ
– メル周波数上で等間隔
音声
振幅
スペクトル
対数BPF
出力
BPF
出力
MFCCFFT logBPF DCT
19
特徴ベクトル系列
あるフレームの特徴量は、数十個の数
字の組(ベクトル):特徴ベクトル
– i番目のフレームの特徴ベクトルをxiとする
と
音声認識は、数字の組Xがどんな単語列
に対応するかを決定する問題に帰着す
る
X =x1
x2
… xN
20
音響モデル (Acoustic model)
記号(音素,単語など) W が特徴量系列
X に対応する確率 p(X|W)を計算する
– どうやって確率をつけるか?
– XもWも可変長?どう対応付けるか?
隠れマルコフモデル(HMM)によるモデ
ル化
– 特徴量系列を,特定の確率分布に従う系列
の連続としてモデル化
21
HMM:隠れマルコフモデル
HMMは特徴量系列を生成するモデル
– 非決定性有限状態オートマトン
– 「現在の状態」が確率的に変わりながら,
確率的に特徴ベクトルを生成する
状態iからjへの遷移
確率
状態iでの特徴ベク
トルxの出力確率密
度
状態iの初期確率 i
ai j
bi x
多次元混合正規分布がよく用い
られる
22
HMMによる特徴ベクトルの生
成
HMMの「動作」
– 現在、ある状態にいる
– ある確率で状態遷移
– 状態遷移と同時に特徴ベクトルを1個生成
する
– どんな特徴ベクトルを生成するかは確率的
に決まっている
– 生成された特徴ベクトルから、どの状態を
経てそれが出力されたかを知ることができ
ない
23
HMMと確率
Model M Vectors X
p(X∣M)
p(X∣M)=∑
S
p(X∣S) S=s1 s2…sN 特定の状態系列
p(X∣S)=∏
i=1
N
asi?1 si
bsi
(xi) 効率の良い計算方法がある
(forward algorithm)
24
HMMと確率
Model M Vectors X
p(M∣X)=
p(X∣M) p(M)
∫ p(X∣M) p(M)dX
Bayes' Theorem
逆の確率が計算できる
25
HMMの特徴
生成モデルである (vs. 識別モデル)
– 音声の特徴量系列が出力される「確率密度」を計算する
ことができる
任意の長さの系列が生成できる
– 伸び縮みする系列を扱うのに適している
– 系列と状態を対応付ける方法が確立している(ビタビアル
ゴリズム)
学習によってパラメータが推定できる
– サンプルを与えることで,そのサンプルを生成する確率
が高いHMMを推定することができる (Baum-Welch のア
ルゴリズム)
26
HMMの学習 (Training)
各シンボル(音素など)のデータを大量に
与えることでHMMが学習できる
/a/
/i/
/o/
/a/のサンプ
ル
/i/のサンプル
/o/のサンプ
ル
27
HMMの学習
基本的な学習原理:最尤推定
(Maximum Likelihood Estimation)
Training Data
X1,...,XK
Model M
?M=argmax
M
p( X∣M)
効率の良い学習アルゴリズム (Baum-Welch Algorithm)
28
HMMによる認識(1)
入力系列XがHMM ηで生成される確率
密度 p(X|η)を計算する
/a/
/i/
/o/
X
p X∣/ a /
p X∣/ i /
p X∣/ o /
29
HMMによる認識(2)
辞書を利用した単語の確率計算
/a/ /a//k/
/o/ /i//k/
X
赤 ? /a/ /k/ /a/
沖 ? /o/ /k/ /i/
p X∣赤
p X∣沖
確率最大の単語を探せば
単語認識ができる
30
言語モデル (Language model)
文を構成する単語の並びの制約を表現するモ
デル
ある文の並びを「評価」する
– 1/0の評価:文法 (受理可能/不可能)
? 有限状態文法(有限状態オートマトン)
? 文脈自由文法(CFG)
– 並びの「良さ」を確率的に評価: 統計的言語
モデル
? N-gram
? その他の確率的言語モデル
31
有限状態文法 (FSG)
「ありうる単語の並び」をネットワー
クで表現する
紅茶
コーヒー
水
を
も
ひとつ
ふたつ
みっつ
一杯
二杯
三杯 持って
こい
きなさい
きて
ください
ちょうだい
ください
ちょうだい
32
統計的言語モデル
もっと大規模な文を認識するには?
– 文章の音声入力など
ある単語が並ぶ確率(並びやすさ)を
使う
これを直接求めるのは難しい
→近似によって求める
Pw1 w2wN =∏i
Pwi∣w1wi?1
33
N-gram言語モデル
ある単語の生起確率が直前のn-1単語に
のみ依存すると仮定
– n=2の場合
Pw1wN =∏i
Pwi∣wi?1
n=1: unigram
n=2: bigram
n=3: trigram
34
一番良い文を探そう
20000種類の単語を知っている音声認識
…システムでは
– 7個の単語からなる文は
200007
=1.28×1030
通り
– 文1個の計算に1/10000秒かかったとする
– 全部調べるには400京年(400億年の1億
倍)かかる
35
デコーダによる探索
見込みのありそうな文だけ探す
– 途中までスコアを計算しながら、可能性の
ありそうな文だけを残し、残りは調べない
今日 は 良い 天気
でした
今日
で
言葉のつながりが悪い
音が似ていない
コンピュータチェスなどと同じ手法

More Related Content

音声认识の基础