Comments
Description
Transcript
音声言語処理特論 - 音声言語・音メディア研究室
音声言語処理特論 第1回 音声言語処理の基礎 山本一公 シラバスの説明(1) • 授業の目標 – マンマシン・インターフェースの重要な要素技術 である音声言語の認識と理解、および自然言語 の解析と応用に関して、情報理論や形式言語理 論と関連付けてアルゴリズムを中心に講述する。 音声言語処理特論 第1回 2 シラバスの説明(2) • 授業内容 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 音声言語処理の基礎 音声認識の基礎、DPマッチングの基礎 連続音声認識アルゴリズム HMM(隠れマルコフモデル) HMMのパラメータ推定と応用 言語モデルとデコーダ ニューラルネットワークと音声認識 音声ディクテーションシステム、音声対話システム、マルチモーダル対話シ ステム 自然言語処理の概要 文字のモデリング、文字コード 文字列のモデリング、文字列照合 文字列のモデリング、近似文字列照合 文のモデリング、言語モデル 文書のモデリング、文書検索 言語横断のモデリング、統計的機械翻訳 定期試験 音声言語処理特論 第1回 3 シラバスの説明(3) • 授業内容 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 音声言語処理の基礎 音声認識の基礎、DPマッチングの基礎 連続音声認識アルゴリズム 音声合成 HMM(隠れマルコフモデル) ニューラルネットワークと音声認識 音声認識の言語モデルと認識デコーダ CFGの構文解析と音声認識 自然言語処理の概要 文字のモデリング、文字コード 文字列のモデリング、文字列照合 文字列のモデリング、近似文字列照合 文のモデリング、言語モデル 文書のモデリング、文書検索 言語横断のモデリング、統計的機械翻訳 定期試験 音声言語処理特論 第1回 山本担当週 中川先生担当週 秋葉先生担当週 4 シラバスの説明(3) • 教科書 – 無し。スライドでの講義 • 参考書 – 中川聖一「確率モデルによる音声認識」電子情報通 信学会(1988) – 中川聖一他「音声言語処理と自然言語処理」コロナ 社(2013) • 評価方法 – 定期試験(60%)/課題レポート(40%) 音声言語処理特論 第1回 5 シラバスの説明(4) • コンタクト – 秋葉先生 • C-505, 44-6758, [email protected] – 中川先生 • C-203(リーディング事務室) or C-515, 44-6759(C-515), [email protected] – 私(山本) • C-506, 44-6767, [email protected] • 私担当分のスライド http://www.slp.cs.tut.ac.jp/~kyama/Lecture/AdvSLP/ 音声言語処理特論 第1回 6 本編開始 音声言語処理特論 第1回 7 「音声」「言語」と「音声言語」 • 「音声(Speech)」と「言語(Language)」 – この講義の英語タイトル • 「音声言語(Spoken Language)」 – 「人間の口から言葉として発せられた音声」 • これを何らかの形で処理して利用する技術が、 「音声言語情報処理(Spoken Language Information Processing)」 – 通常、これに付随する音(波形)処理技術も含む 音声言語処理特論 第1回 8 「言葉の鎖」 古井貞熙著「音声情報処理」森北出版(1998) 音声言語処理特論 第1回 9 工学的な面から見た「言葉の鎖」 音声言語処理特論 古井貞熙著「音声情報処理」森北出版(1998)より 第1回 10 様々な処理レベル(1) • 波形そのものを処理する – 音声分析、音声符号化、音声合成 – 音源分離、音声強調 • 波形から、言語情報・パラ言語情報・非言語情報を取り出す – 音声認識、話者認識、言語認識、感情認識 • 言語情報:語義情報、統語情報、意味情報、談話情報 • パラ言語情報:言語情報を直接的に補完し、話者が意識的に制御できるもの。 意図、態度、スタイル • 非言語情報:言語情報を間接的に補完し、話者が意識的に制御できないも の。個人性、感情 • 言語情報を、単語・文法レベルでなく、意図レベルで理解する 音声言語処理特論 第1回 11 様々な処理レベル(2) • 言語情報 – 語義(辞書(dictionary))的 • 単語のそれぞれの内容・意味 – 統語論(syntactics)的 食事中、少し離れた席の人が テーブルの上の あなたの目の前にある 塩の入った容器を見ながら、 • 文法 – 意味論(semantics)的 • (表層的な)意味 – 語用論(pragmatics)的 「それは塩ですか?」 • 意図 と聞いてきたら、 あなたはどう行動しますか? – 談話(discourse) • あるまとまった文の集合 音声言語処理特論 第1回 12 音声の基礎 • 人間の仕組み – 声を出す – 音を聴く • 日本語の構造 – 音素、音節 – 単語、文 • 音声分析の基礎 – 周波数分析 音声言語処理特論 第1回 13 音の性質(1) • 音は空気を伝わる – 空気が振動して、それが鼓膜 に伝わる – 空気の圧力(気圧)が高くなっ たり、低くなったりすることで伝 わる(「疎密波」と言う) • 周波数 – 1秒間に気圧が高低を繰り返 す回数 音声言語処理特論 第1回 14 音の性質(2) • 音の高さ – 周波数で決まる – 基本周波数(基音) • 音の高さとなる周波数 – 倍音(整数次倍音) • 基本周波数の2以上の整数倍の周波数 • 音色 – 基本周波数と倍音の大きさ(+位相+それ以外の周波数成分 の大きさ・位相)の組み合わせで決まる • それぞれの周波数成分の大きさと位相を制御することが できれば、どんな音でも作ることができる! – どうやって制御するか? 音声言語処理特論 第1回 15 音の性質(3) • 楽器の場合 – 弦楽器(ギター、バイオリン、ピアノ等) • 弦が振動する ⇒ 基本周波数と倍音 – 弦の長さを変えて振動数を変えると高さが変わる • 胴体 ⇒ 共鳴(共振)によって音を大きくする役割 (いろいろな周波数で共振する) – 管楽器(トランペット、リコーダー等) • リードに息を吹き込むことで振動させたり、唇を振動させたりする ⇒ 基本周波数と倍音 – 息を吹き込むスピードを変えると高さが変わる • 穴の位置を変えたり、長さを変えることで、音響管の長さを変化さ せる ⇒ 共振周波数を変える(特定の周波数で共振する) – 音源(空気振動を起こすもの)と共鳴体(共振するもの)の 組み合わせ • 人間の声の場合も原理は同じ! 音声言語処理特論 第1回 16 声を出す(1) 左:http://www.amazon.co.jp/スリービー・サイエンティフィック-C12-頭部断面モデル-正中矢状断/dp/B0006UG24C 右:http://www.oki.com/jp/rd/ss/speech.html 音声言語処理特論 第1回 17 声を出す(2) • 声帯振動により音源となる声帯波が発生 – 声帯波は三角波(下図左上) – 声帯振動の様子(下図右) • 声道は音響管となり、周波数毎の強弱を変化させる 左:http://www.kuhp.kyoto-u.ac.jp/~ent/Topics/fsl/fig73.html 右:http://www.iikoe.net/category/1409215.html 音声言語処理特論 第1回 18 音声言語処理特論 第1回 19 声を出す(3) 声門(声帯) 右上:http://www.e-kantei.org/voice/onsei003.htm 中央:http://www.ieice-hbkb.org/files/02/02gun_07hen_01.pdf 音声言語処理特論 第1回 20 声を出す(4) 左上:http://www.splab.ee.sophia.ac.jp/Vocal_Tract_Model/index-j.htm 左下:http://www.oki.com/jp/rd/ss/speech.html 右:http://stat.ameba.jp/user_images/08/cb/10036606099.jpg 音声言語処理特論 第1回 21 音を聴く(1) http://ja.wikipedia.org/wiki/耳 音声言語処理特論 第1回 22 音を聴く(2) 左下:http://jibika.exblog.jp/9457622/ 右:http://gc.sfc.keio.ac.jp/class/2004_14453/slides/08/index_59.html 左上:http://www.nikkei-science.com/beyond-discovery/ear/closeup/closeup02_1.html 23 音声言語処理特論 第1回 音を聴く(3) 左上:http://www005.upp.so-net.ne.jp/yoshida_n/qa_a43.htm 左下:http://www.onosokki.co.jp/HP-WK/c_support/newreport/soundquality/soundquality_2.htm 右:http://gc.sfc.keio.ac.jp/class/2004_14453/slides/08/index_59.html 音声言語処理特論 第1回 24 音を聴く(4) • 入り口側が高い周波 数、奥側が低い周波 数に反応(共振)する • 低域の方が周波数 分解能が高い(対数 的) http://www.miyazaki-gijutsu.com/series4/densi0914c.html 音声言語処理特論 第1回 25 音声認識のために • パターン認識の典型 • 音声波形から得られる特徴を言語に変換する – 変換の単位は? • • • • • 文章 文 単語 音節 音素 • どのレベルで考えるのが良いか? 音声言語処理特論 第1回 26 音素・音節(1) • 音素(phoneme)とは – 「言語学」的な意味での音声の最小基本単位 /a/のように記述(音素記号) – 「音声学」的な最小単位は「単音(phone)」という [a]のように記述(音声記号) – 異なる単音でも言語学的に区別しないときは同じ音素と なる • 例えば、英語の単音[a] [ɑ] [ǽ]は、日本語では同じ音素/a/ • アラビア語の母音は/a//i//u/の3つだけ – [e]は/i/、[o]は/u/と解釈される – “ウサマ・ビン・ラディン”なのか“オサマ・ビン・ラディン”なのか 音声言語処理特論 第1回 27 音素・音節(2) • 音節(syllable)とは – 母音(vowel)を中心として、前後にいくつかの子音(consonant) が接続された発声の基本単位 – 日本語では、 「母音単独」か「1子音+1母音」がほとんど。 長母音、撥音(ん)、促音(っ)、拗音が特殊ケース。 外来語用音節を考慮しても、種類は130種類程度。 – 英語の音節は「複数子音+1母音+複数子音」というパターン が多く、10,000種類を超えるバリエーションがある • 拍(mora)とは – 日本語の発声リズムの単位 – 1音節が1拍となる場合が多い – 撥音・促音は単独で1拍となる • 「缶詰」は3音節語だが4モーラ • 「東京」は2音節語だが4モーラ 音声言語処理特論 第1回 28 日本語の音素(1) • 母音:/a/, /i/, /u/, /e/, /o/ – 母音の種類は、口の開き方と舌の位置で決まる http://www.geocities.jp/france_verso/ francais/excercice2.html • 特殊モーラ:/N/(ン音), /Q/(促音), /H/(長音) – /N/ は音素環境(後続音素の種類)により [n], [m], [ng]のいずれか – 「マント [m a n t o]」「満腹 [m a m p u k u]」「マンガ [m a ng g a]」 音声言語処理特論 第1回 29 日本語の音素(2) • 子音:/k/, /s/, /t/, /c/, /n/, /h/, /m/, /r/, /g/, /z/, /d/, /b/, /p/ • 半母音:/j/(ヤ行音), /w/ • /sh/(シ音)、/f/(フ音)、/ts/(ツ音)は別音素とする場合もある – 音声記号では以下のように別のもの 有声:声帯振動を伴う 無声:声帯振動を伴わない 古井貞熙著「音声情報処理」 森北出版(1998) 調音位置:発声時に声道の中で狭くなる位置のこと 音声言語処理特論 第1回 30 音声を計算機で扱う 音声言語処理特論 第1回 31 音声信号の受音 • マイクロホン – 電気音響変換機 • 音波によってコイルを振動させて、電磁誘導により電気信号に変換する • ダイナミックマイクロホンの基本的な構造はスピーカーと同じ • コンデンサマイクロホンは振動によるコンデンサ容量の変化を拾う – 周波数によって感度が異なる (周波数特性) – 指向性を持つ 全指向性 (無指向性) 単一 指向性 超指向性 http://ja.wikipedia.org/wiki/マイクロフォン 音声言語処理特論 第1回 32 音声信号のディジタル化 • 空気中を伝搬している音声信号はアナログ信号 – 即ち、連続信号 • マイクロホンで受音した後に得られる信号電圧も アナログ信号 • 離散信号にしないと、コンピュータ上で上手く 扱うことができない • ディジタル化が必要 音声言語処理特論 第1回 33 ディジタル信号 • ディジタル信号とは? – 時刻パラメータが離散値 → 標本化(サンプリング) – 振幅パラメータが離散値 → 量子化 – 離散値でなければ、計算機では扱えない • 離散時間信号 – 時刻パラメータだけが離散値 • 離散振幅信号 – 振幅パラメータだけが離散値 – おそらく扱うことはない 音声言語処理特論 第1回 34 ディジタル化 この連続信号をディジタル化しよう 音声言語処理特論 第1回 35 サンプリング(1) 時間軸方向の離散化 音声言語処理特論 第1回 36 サンプリング(2) • どのぐらいの時間間隔で離散化すれば良いのか? – 間隔が広すぎると、元の波形が再現できない – 間隔が狭すぎると、無駄にデータ量が多くなってしまう • 元の波形に含まれる周波数成分がナイキスト周波数(サンプ リング周波数の半分)以下に帯域制限されていれば、元の 波形が完全に再現可能(標本化定理) π − sin ( t iT ) ∞ T x(t ) = ∑ x(iT ) ⋅ π i = −∞ (t − iT ) T – サンプリング周波数=標本化間隔の逆数 音声言語処理特論 第1回 37 サンプリング(3) • 簡単に言えば、「1,000Hzの信号は2,000Hzより大きいサンプリング周波数でサン プリングしろ!」ってこと 通常、サンプリング周波数が高いと高音質 • 実際、音声信号にはどれくらい高い周波数が含まれているのか? • – 理論的には無限大まで入っているけど、高い周波数成分は人間には聴こえない(よく聴こえ る人で20,000Hzぐらいまでだ)し、大きさも小さいから観測できない – マイクロホンにも録音できる限界(周波数特性)がある • 実際に使われるサンプリング周波数 8kHz: 普通の携帯電話(固定電話帯域(0.3~3.4kHz)) 16kHz: VoLTEの携帯電話, PHS 44.1kHz: 音楽CD 48kHz: DVD-Video 96kHz, 192kHz: DVD-Audio • 通常、ナイキスト周波数(サンプリング周波数の1/2の周波数)をカットオフ周波数 とするローパスフィルタを掛けることで、サンプリング時に起きる誤差(折り返し 歪)を小さくするので、音として聞こえるのはナイキスト周波数まで。 2014/9/3-4 TUT Jr.技術科学教育プロジェクト 38 量子化(1) 振幅軸方向の離散化 音声言語処理特論 第1回 39 量子化(2) 誤差特性 量子化特性 音声言語処理特論 第1回 40 量子化ビット数の決め方 • SQR (Signal-to-Quantization noise Ratio) – 「信号対量子化雑音比」 – 量子化誤差を雑音と看做して求めたSNR • 変換範囲のフルスケールを最大振幅とする正弦波の場 合 1 SQR = 10 log − 22b + 2 2 12 = 6b + 1.8 [dB] 実用的には16bitか24bit (CD-DAは16bit、DVD-Audioは24bit) 音声言語処理特論 第1回 41 ディジタル化された音声波形の例 時間 音声処理で使われる一般的なサンプリング:16bit, 16kHz 音声言語処理特論 第1回 42 スペクトル分析 音声波形(上)とスペクトログラム(下) 音声言語処理特論 第1回 43 フーリエ級数展開(1) • あらゆる周期信号は、周波数と位相が変更できる無限個の 正弦波発振器により合成可能 • 周期的な連続信号は、その信号の基本周波数の整数倍の 正弦波に分解できる 音声言語処理特論 第1回 44 フーリエ級数展開(2) x(t ) = x(t + mT ) (m = ,−2,−1,0,1,2, ) ⇓ ∞ x(t ) = A0 + ∑ [An cos nω0T + Bn sin nω0T ] n =1 1 T /2 A0 = ∫ x(t )dt T −T / 2 2 T /2 An = ∫ x(t ) cos nω0Tdt (n = 1,2,3, ) T −T / 2 2 T /2 Bn = ∫ x(t ) sin nω0Tdt (n = 1,2,3, ) 音声言語処理特論 第1回 T −T / 2 45 複素フーリエ級数(1) An + jBn An − jBn * , C− n = Cn = Cn = 2 2 ⇓ x(t ) = ∞ ∑C e n = −∞ 1 Cn = T ∫ T /2 −T / 2 jnω0t n x(t )e 音声言語処理特論 − jnω0t 第1回 dt 46 複素フーリエ級数(2) • 正の周波数と負の周波数 – 正の周波数と負の周波数を合成したものが正弦波 • 虚部は打ち消し合い、実部だけが残る • 実部は実軸上で正弦振動を行う 音声言語処理特論 第1回 47 正の周波数・負の周波数と オイラーの公式と時間波形 2014/9/3-4 TUT Jr.技術科学教育プロジェクト 48 振幅スペクトル・位相スペクトル(1) • 複素フーリエ係数の極座標表現 Cn =| Cn | e jφn • 振幅スペクトル 1 An2 + Bn2 | Cn |= 2 • 位相スペクトル Bn φn = tan An −1 音声言語処理特論 第1回 49 振幅スペクトル・位相スペクトル(2) π π x(t ) = 2 sin t + + 0.5385 sin (3t + 0.3805) + sin 4t + 2 4 = sin t + cos t + 0.5 sin 3t + 0.2 cos 3t + cos 4t 音声言語処理特論 第1回 50 振幅スペクトル・位相スペクトル(3) 線スペクトル(離散スペクトル) 振幅スペクトル 位相スペクトル π π x(t ) = 2 sin t + + 0.5385 sin (3t + 0.3805) + sin 4t + 2 4 = sin t + cos t + 0.5 sin 3t + 0.2 cos 3t + cos 4t 音声言語処理特論 第1回 51 フーリエ変換 • 周期 T を無限大にした孤立波形に対して、フーリエ級数 の周期を無限として極限を取る • フーリエ変換対 ∞ X (ω ) = ∫ x(t )e − j ωt −∞ ∞ dt x(t ) = ∫ X (ω )e dω j ωt −∞ ※式としては、両側ラプラス変換で s=σ+jω を σ=0 とした場合と同じ 音声言語処理特論 第1回 52 フーリエ変換のスペクトル 連続スペクトル 時間領域波形 周波数スペクトル 音声言語処理特論 第1回 53 離散フーリエ変換 • 離散フーリエ変換は、「(連続)フーリエ変換を離散化し たもの」というよりは、フーリエ級数を離散化したもの(離 散フーリエ級数)だと考える N −1 (0 ≤ k ≤ N − 1) X (k ) = ∑ x(n)WNnk n =0 1 x ( n) = N N −1 ∑ X (k )W k =0 − nk N (0 ≤ n ≤ N − 1) ただし、WN = e 音声言語処理特論 第1回 −j 2π N 54 高速フーリエ変換 • 離散フーリエ変換は結構計算量が多い – 計算量 O(n2) • フレームの長さ(ポイント数)をべき数に限定すること で、計算を簡略化 高速フーリエ変換(Fast Fourier Transform; FFT) • 広く用いられているものは、基数を2とする場合 – ポイント数は2のべき乗 • サンプリング周波数8kHzならば256ポイント、サンプリング周波数 16kHzならば512ポイントで32ms – 計算量 O(nlog2(n)) 音声言語処理特論 第1回 55 窓掛け(フレーム化処理)(1) • サンプリング点毎に特徴量を抽出すると、データ量 が多くなりすぎる • 音声は20~30ms程度の区間であれば、定常信号と 見なすことができる(準定常) • 音声波形を短い区間(20~30ms)毎に切り出して、 分析する • 各区間をフレームと呼び、短時間スペクトル分析な どの単位となる 音声言語処理特論 第2回 56 窓掛け(フレーム化処理)(2) フレームは1/2~1/3程度 重ねて処理していく 分析 標準的なフレーム長:20~30ms程度 サンプリング周波数16kHzの場合、25msで400点 音声言語処理特論 第2回 57 窓掛け(フレーム化処理)(3) • 窓掛けの目的は、波形の切り出し – 連続波形の有限長化 • 切り出してから、離散フーリエ変換(DFT、FFT) • DFTでは、“切り出した区間がちょうど1周期”であると 見なして、分析してしまう – “ちょうど1周期”⇒窓長が基本周期 – 切り出した区間の始端と終端が繋がっていると仮定 • 実際には…… – 切り出した区間が、実際の波形の周期と一致しない – 切り出した区間の始端と終端は繋がっていない 音声言語処理特論 第2回 58 窓掛け(フレーム化処理)(4) 時間領域での掛け算 窓関数を掛けることで、 波形の両端の振幅を 小さくする sw (m; l ) = w(m )s (l + m ) 音声波形 s 窓関数 (ハミング窓) w m l+N-1 l 音声言語処理特論 第2回 59 窓掛け(フレーム化処理)(5) ハミング窓を掛けた例 それぞれをDFTして 分析していく 音声言語処理特論 第2回 60