「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
音声処理について纏める。
音声認識とは? †
音声 †
音声は、波形・スペクトルの系列データ。
- 正弦波の加算で合成が可能 → 分解も可能(高速フーリエ変換)。
- フォルマント:音声の複数の周波数のピーク
- ケプストラム:周波数スペクトルをフーリエ変換して得る。
- 特徴量
- 音声信号スペクトル:
声の高さを表す(使用しない特徴量)。
- スペクトル包絡:
音声の音色の違いを表す(音声認識で使用する特徴量)。
- メル周波数ケプストラム係数(MFCC):
音色・楽器音の音色の違いを表す(音声認識、音楽ジャンル認識で使用する特徴量)。
- 尺度
- メル尺度:音高の知覚尺度
- バーク尺度:音域の知覚尺度
- A/D変換
- 標本化(サンプリング
- 量子化(加工
- 符号化(2進数
- 音韻・音素
- 音韻:言語として認識される音の体系
- 音素:ある言語の音声を音韻論的に考察して得た単位(音韻論で仮定された言語音の単位
認識 †
- ウィンドウをズラして行って特徴ベクトル列を求める。
- コレを計算機で処理
音素 → 音韻 → かな → 単語 → 文 → コマンド
- 音声認識:音素 → 音韻 → かな → 単語
- バックエンドシステム:単語 → 文 → コマンド
- Connectionist Temporal Classification (CTC):
入力(Heello、Helloo)が音素数と一致しない問題を解決して出力(Hello)
音声認識の難しさ †
系列の対応付け †
複雑な長さが異なる系列の対応付け
(フレーム、音素、音節、単語)
- 系列長が極端に異なる。
- 非線形な時間短縮
- セグメント境界が曖昧
音響的特徴 †
- 時間分散して埋め込まれる。
- 文脈依存(音響的特徴と聞こえの関係が多対多)
- 同じ音響的特徴の音が、文脈に応じて違う音に聞こえる。
- 違う音響的特徴の音が、文脈に応じて同じ音に聞こえる。
- 物理的にない音を与えたり、物理的にある音を削ったり。
処理方法 †
新・旧、2つの方法があるが根幹をなす考え方は普遍的。
生成モデル(旧) †
ベイズ統計のHMM(隠れマルコフモデル)を使う。
識別モデル(新) †
深層学習のDNN(ディープ・ニューラルネットワーク)を使う。
ライブラリ †
以下の様なものが発見できた。
オープンソース †
Julius †
プロダクト †
Nuance †
メディアドライブ †
ライブラリ > SDK
サービス †
ソリューション †
AIの活用 †
音声データを解析して、何を発音しているのかを判別
音声合成 †
音声認識の逆プロセス。
音声認識 †
精度測定 †
- 文字誤り率(CER)
- 単語誤り率(WER):コチラが一般的な評価尺度
プロセス †
音声 → 音素 → 文字列 → 単語 → 単語列
- プロセス1
- 雑音・残響抑圧 (入力:音声 出力:音声)
- 音声を認識したい対象以外の雑音を分離する
- プロセス2
- 音素状態認識 (入力:音声 出力:音素)
- 音声の周波数スペクトル,すなわち音響特徴量を
インプットとして,音素状態のカテゴリに分類する
- プロセス3
- 音素モデル (入力:音素 出力:文字列)
- 音素がどの文字であるかを推定する
- プロセス4
- 単語辞書 (入力:文字列 出力:単語)
- 認識した文字列から単語を特定し認識する
- プロセス5
- 言語モデル (入力:単語 出力:単語列)
- 単語系列仮説の尤度を評価する
- プロセス1~5
プロセス1~5を纏めて,すなわち,
とする学習手法のことをEnd-to-End音声認識と呼ぶ。
体系 †
HMM → DNNで、音声合成、音声認識の性能向上。
HMM(隠れマルコフモデル) †
ベイズ統計のHMM(隠れマルコフモデル)を使う。
- 1つの単語クラスに1つの音響モデル(HMM)を与える。
- 単語クラスが未知であるデータXが与えられた場合、
単語クラスに与えられた音響モデル(HMM)から、
データXがどれぐらいの確率で出ててくるか?求める。
- 確率が一番大きいものをデータXの単語クラスとして選ぶ(認識)
- 連続音声認識
- 音響モデルではなく言語モデルを考える。
- 前述の「単語」でやったことを「単語列」でやる。
- 音素レベルの誤りを認めた上で、文として成立する単語列に変換する。
- 観測データに対し、音響モデルと言語モデルの積を
最大化する単語系列を組み合わせ最適化によって求める。
- 音響モデル:Left-to-Right HMM(隠れマルコフモデル)
- 言語モデル:N-gram(マルコフモデル)
- 以下の組合せ最適化(一体化したサーチの問題)
↓ ↓ ↓ 音声パターン ↓ ↓ ↓ |
音響モデル | ← | 音声コーパス |
辞書 | ← | 音声規則+テキスト・コーパス |
↓ ↓ ↓ 単語、連続音声 ↓ ↓ ↓ |
言語モデル | ← | テキスト・コーパス |
↓ ↓ ↓ 単語列(文) ↓ ↓ ↓ |
- サブワードモデル
- サブワード:単語より短い音素、音節
- 単語はサブワードの連結により構成する。
- CTC、LAS、Speech Transformer、Conformer、CMLM(?)
活用例 †
自動音声口述筆記 †
- 会話音声書面記録
- コミュニケーション支援(問診など
エンリッチメント系 †
音声アノテーション
- 音そのものに対するタグ付け
- 音声が示す意味に対するタグ付け
ライブラリ †
オープンソース †
プロダクト †
サービス †
Google Cloud Speech API †
Bing Speech API †
Speech to Text †
ソリューション †
AmiVoice? †
Voice-Series †
参考 †