Post on 09-Jul-2020
1
音声認識・合成
2
音声の認識
入力された音声を文字列に変換する(Speech-to-Text)
概要– 特徴抽出(MFCC)– 音響モデル(HMM)– 言語モデル(FSG, N-gram)– デコーダ
3
音声認識の基本的な考え方
発音ごとに特有のパターンがある⇒このパターンを捕らえれば認識が可能
a i u e o
4
音声認識のブロック図
特徴抽出
MFCC等
認識エンジン(デコーダ)
音響モデル
辞書言語
モデル
文字列
X W
5
確率的音声認識の原理
事後確率最大となる確率的推定問題
W = arg maxWP (W | X )
= arg maxW
p (X |W )P (W )
p(X )= arg max
Wp (X |W )P (W )
6
特徴量の抽出
スペクトルの概形を表すパラメータを使う– スペクトルの概形⇔声道伝達関数⇔音韻
– スペクトルの微細構造(⇔ピッチ)は使わない
概形自体は冗長⇒よりコンパクトな特徴– ケプストラム
時間構造の利用– Δケプストラム,ΔΔケプストラム
7
特徴量抽出の枠組み
分析窓(フレーム)
窓関数
周波数分析
窓関数
特徴量計算 特徴量
フレームシフト
ハミング窓など
8
スペクトルとケプストラム
FFTケプストラム:対数パワースペクトルのフーリエ変換
– 低次のケプストラム係数が対数スペクトルの概形に対応→音声認識に利用
– 高次のケプストラムのピークが基本周波数に対応→ピッチ抽出に利用
C (τ)=F [ log | X (ω )|2]
9
FFTケプストラム計算例
スペクトルおよび平滑化スペクトル(FFTケプストラム法,20次)
ケプストラム(低次)
スペクトル概形
F0
10
ケプストラムの仲間たち(1)
FFTケプストラム– 音声→パワースペクトル→対数パワースペク
トル→ケプストラム
LPCケプストラム– 音声→線形予測係数→LPCスペクトル→対数
LPCスペクトル→ケプストラム
11
LPCケプストラム計算例
LPCスペクトル(20次)最初から概形だけになっている
LPCケプストラム(低次)高次の成分はほとんど0
12
ケプストラムの仲間たち(2)
メル周波数軸上のケプストラム– LPCメルケプストラム
• LPCケプストラム係数を変換
– メルLPCケプストラム• 音声波形をフィルタでメル周波数変換してLPC分析
– MFCC (Mel Frequency Cepstral Coefficients)• メル周波数間隔のバンドパスフィルタ出力のコサイン
変換
13
MFCCの計算
計算手順
バンドパスフィルタ– メル周波数上で等間隔
音声振幅スペクトル
対数BPF出力
BPF出力
MFCCFFT logBPF DCT
14
音響モデル
記号(音素,単語など) W が特徴量系列 X に対応する確率 p(X|W)を計算する– どうやって確率をつけるか?
– XもWも可変長⇒どう対応付けるか?
隠れマルコフモデル(HMM)によるモデル化– 特徴量系列を,特定の確率分布に従う系列の
連続としてモデル化
15
HMM:隠れマルコフモデル
HMMは特徴量系列を生成するモデル– 非決定性有限状態オートマトン
– 「現在の状態」が確率的に変わりながら,確率的に特徴ベクトルを生成する
状態iからjへの遷移確率
状態iでの特徴ベクトルxの出力確率密度
状態iの初期確率 π i
ai j
bi ( x)
多次元混合正規分布がよく用いられる
16
HMMの特徴生成モデルである (vs. 識別モデル)– 音声の特徴量系列が出力される「確率密度」を計算すること
ができる
任意の長さの系列が生成できる
– 伸び縮みする系列を扱うのに適している
– 系列と状態を対応付ける方法が確率している(ビタビアルゴリズム)
学習によってパラメータが推定できる
– サンプルを与えることで,そのサンプルを生成する確率が高いHMMを推定することができる (Baum-Welch のアルゴリズム)
17
HMMの学習各シンボル(音素など)のデータを大量に与えることでHMMが学習できる
/a/
/i/
/o/
/a/のサンプル
/i/のサンプル
/o/のサンプル
18
HMMによる認識(1)入力系列XがHMM hで生成される確率密度 p(X|h)を計算する
/a/
/i/
/o/
X
p (X |/a/)
p (X |/i/)
p (X |/o/)
19
HMMによる認識(2)
辞書を利用した単語の確率計算
/a/ /a//k/
/o/ /i//k/
X
赤 ⇒ /a/ /k/ /a/沖 ⇒ /o/ /k/ /i/
p (X |赤)
p (X |沖)
確率最大の単語を探せば単語認識ができる
20
言語モデル
文を構成する単語の並びの制約を表現するモデル
ある文の並びを「評価」する
– 1/0の評価:文法 (受理可能/不可能)• 有限状態文法(有限状態オートマトン)
• 文脈自由文法(CFG)
– 並びの「良さ」を確率的に評価: 統計的言語モデル
• N-gram
• その他の確率的言語モデル
21
有限状態文法「ありうる単語の並び」をネットワークで表現する
紅茶コーヒー水
をも
ひとつふたつみっつ一杯二杯三杯 持って
こいきなさい
きて
くださいちょうだい
くださいちょうだい
22
統計的言語モデル
もっと大規模な文を認識するには?– 文章の音声入力など
ある単語が並ぶ確率(並びやすさ)を使う
これを直接求めるのは難しい→近似によって求める
P (w1w2…wN )=∏i
P (wi|w1…w i−1)
23
N-gram言語モデル
ある単語の生起確率が直前のn-1単語にのみ依存すると仮定– n=2の場合
P (w1…wN )=∏i
P (w i|wi−1)
n=1: unigramn=2: bigramn=3: trigram
24
一番良い文を探そう
20000種類の単語を知っている音声認識システムでは…– 7個の単語からなる文は
200007=1.28×1030通り
– 文1個の計算に1/10000秒かかったとする
–全部調べるには400京年(400億年の1億倍)かかる
25
デコーダによる探索
見込みのありそうな文だけ探す–途中までスコアを計算しながら、可能性のあり
そうな文だけを残し、残りは調べない
今日 は 良い 天気
でした
今日
で
言葉のつながりが悪い
音が似ていない
コンピュータチェスなどと同じ手法
26
音声の合成
録音合成
編集合成
パラメータ合成
テキスト音声合成 (Text-to-Speech)–物理シミュレーション
– フォルマント合成
– 波形接続合成
– HMM合成
文を全部録音
単語単位で録音
実際の声を元に合成⇒携帯電話
27
テキスト音声合成 (TTS)
文字列を音声に変換する技術
文字列 形態素解析 音素列
単語列
構文解析
単語アクセント
韻律句 韻律合成 ピッチ系列
音声合成エンジン
音声
28
フォルマント合成声帯から出る波と、声道による音色の変化をマネすることによって音を出す
音の高さ
音の強さ 音の強さ
音の高さ
× =
音の高さ
音の強さ
29
フォルマント合成
音源
フォルマントフィルタ
formantDB
各音素F1~F4の周波数とそのバンド幅
30
フォルマント合成
デモをどうぞ
利点–母音( a, i, u, e, o等)については、どんな声で
も原理的に作れる
欠点– 自然な声を出すのが難しい
–子音(p, s, d などの音)の品質が良くない
31
波形接続合成
本物の声をたくさん記録しておき、その中から適宜取り出してきてつなぐ–編集合成の高度なやつ
– 利点• (もとが本物なので)自然な声が作りやすい
–欠点• 大量の元音声が必要
• 任意の声は作れない
32
波形接続合成
各音節の波形を接続
母音の途中で波形を接続(VCV接続)
o sh i i k a a k eo
o sh i
e
k a k e
これを実現するためには,各音声素片の長さや高さを調整する必要がある
音声素片
33
声の高さや長さを変える技術
波形をそのまま利用する方法– TD-PSOLA法
音声分析合成に基づく方法– フェーズボコーダ
– STRAIGHT法
34
TD-PSOLA(Time-Domain Pitch-Synchronous Overlap Add)
基本周期に同期して波形を切り出し,それを再び重ね合わせる
35
TD-PSOLA(Time-Domain Pitch-Synchronous Overlap Add)
波形を何度も重ね合わせると音を伸ばすことができる
36
TD-PSOLA(Time-Domain Pitch-Synchronous Overlap Add)
重ね合わせの周期を変えるとピッチ変換が実現できる
37
HMM音声合成
HMMはもともと生成モデル→それを合成に使う
文に対応するHMM系列
特徴量系列メルケプストラム・Δ・ΔΔ
MLSAフィルタ
音声系列
38
対話をするために
音声認識と合成だけでは対話にならない– 対話の目的
– 認識した内容の理解
–目的達成のための聞き返し、確認
紅茶を下さい
緑茶ですか?
違う、紅茶わかりました紅茶ですね
39
音声の理解
機械が「理解」するとは?– 対話の目的:人間から情報を得ること
– 対話の目標:埋めるべき項目の一覧
– 対話の理解:項目が全部埋まること
動作:持ってくる対象:紅茶個数:1
紅茶を1杯ください。
40
どうする音声の理解
紅茶コーヒー水
をも
ひとつふたつみっつ一杯二杯三杯 持って
こいきなさい
きて
くださいちょうだい
くださいちょうだい
対象
個数
水を
一杯
ください
対象=水 個数=1
41
もっと難しい理解
複数の目標がある–旅行会社の対話(目的地、ホテル、交通手段…)
対話の進行によって目標が変わる–観光案内
目標が良くわからない–雑談
42
あなたは誰?
人間が考える「対話」には相手がある。
機械との「対話」の相手は誰だ。
ロボット?
実際のロボット画面上のキャラクター (アバター)
擬人化
43
対話のキャラクタのデザイン
何がよいのか良くわかっていない–芸術の領域
–人間の対話行動の模倣• うなずき、あいづち、表情の変化
人間は「自然性」に敏感–人間にわかる「自然性」の正体は?
44
現在の技術では…
音声認識– 「日本語のできる外国人」レベル
• 雑音に弱い
• 話題の変化に弱い
音声合成– 「日本語のできる外国人」レベル
• 何を言っているのかはわかる
• アクセントが変
45
現在の技術では…
音声理解– きわめて限定的
– 「なにをもって理解とするか」が難しい
対話能力– きわめて限定的
–複雑な対話は難しい
– 理解を伴う雑談は無理• 理解を伴わない雑談なら可能(人工無能)