AI音声認識の仕組み入門:なぜWhisperは日本語を正確に認識できるのか
「AI音声認識はなぜあんなに正確なの?」——Kaigi AIを使っていると、そんな疑問が湧くことがあるかもしれません。
この記事では、音声認識の仕組みを技術的な背景から丁寧に解説します。エンジニアでなくても理解できるよう、図式的な説明を心がけます。
音声認識の全体像:3つのステップ
音声→テキストの変換は、大きく3つのステップで行われます。
音声波形 → 特徴量抽出 → 言語モデル → テキスト
(生の音) (メルスペクトログラム) (Transformer) (文字)
それぞれを順番に見ていきましょう。
ステップ1:音声の特徴量抽出
音声は「波」
音声は空気の振動です。マイクはこの振動を電気信号に変え、コンピュータは「時間×振幅」のデータとして保存します。これが波形(waveform)です。
人間の声の周波数範囲は約80Hz〜3,400Hz。音楽は20Hz〜20,000Hzに及びます。
フーリエ変換:周波数の分解
波形だけでは「どんな音が混ざっているか」がわかりません。フーリエ変換(Fourier Transform)を使うと、複合的な波を各周波数の成分に分解できます。
例えば「あ」という音は:
- 基音(100〜200Hz)
- 倍音(200〜2,000Hz)
- 摩擦音成分
の組み合わせです。
メルスペクトログラム
人間の耳は低音と高音で感度が違います(低音の方が変化を敏感に感じる)。この人間の聴覚特性に合わせて変換したものがメルスケールです。
時間軸 × 周波数軸 × 音の強さ(色)で表現した2次元画像がメルスペクトログラムです。音声認識AIは、音声をこの「画像」として処理します。
ステップ2:Transformerモデルによる認識
なぜTransformerが革命的だったか
2017年にGoogleが発表した「Attention Is All You Need」論文は、自然言語処理を根本から変えました。
従来のRNN(再帰型ニューラルネット)は:
- 文章を左から右に順番に処理
- 長い文になると最初の情報を「忘れ」やすい
TransformerのSelf-Attentionは:
- 文章全体を同時に見る
- どの単語が他のどの単語と関係しているか重みを計算
- 「私は彼女を愛している」→「彼女」が「私」の目的語であることを認識
Whisperのアーキテクチャ
WhisperはEncoder-Decoder型Transformerです:
音声(メルスペクトログラム)
↓
[Encoder] ← 音声の特徴を理解する
↓
[Decoder] ← テキストを生成する
↓
「会議を始めます」
Encoderの役割:
- メルスペクトログラムから音声パターンを抽出
- 音素(音の最小単位)を認識
- 文脈を理解
Decoderの役割:
- Encoderの出力を受け取り、テキストを1文字ずつ生成
- 言語モデルとして「この音の次に来そうな文字」を予測
- 日本語なら漢字・ひらがな・カタカナを適切に選択
ステップ3:言語モデルの役割
音声認識は「聞こえた音」だけでなく「文脈から予測される言葉」も使います。
例えば:
- 「会議のぎじろくを作成する」→「議事録」(○) vs「擬似録」(×)
音だけでは区別できなくても、言語モデルが「会議という文脈では議事録の方が自然」と判断します。
Whisperのトレーニングデータ
Whisperは680,000時間の音声データでトレーニングされています。
| データ種別 | 割合 |
|---|---|
| 英語 | 約65% |
| その他言語(98言語) | 約35% |
| 日本語 | 推定2〜3% |
日本語は全体の2〜3%ですが、それでも約13,000〜20,000時間の日本語音声データです。NHKのドキュメンタリー、YouTube動画、ポッドキャストなど多様なソースから収集されています。
なぜWhisperは日本語に強いのか
1. マルチリンガルトレーニング
Whisperは多言語を同時に学習しています。英語での学習が日本語認識にも波及する「言語間転移学習(cross-lingual transfer)」が起きています。
2. テキスト正規化
Whisperは日本語テキストの正規化処理も組み込まれています:
- 全角・半角の統一
- 漢字変換の最適化
- 句読点の自動追加
3. 文脈ウィンドウ
Whisperは音声を30秒ごとのチャンクで処理しますが、前のチャンクのテキストを文脈として使います。会話の流れを維持できるため、長い文章での精度が高い。
4. Timestamp精度
単語レベルのタイムスタンプ生成機能により、どの発言がいつ行われたかを正確に特定できます。これは話者識別(Speaker Diarization)と組み合わせる際に重要です。
Whisper large-v3 vs. 小さいモデルの比較
Whisperには複数のサイズがあります:
| モデル | パラメータ数 | 相対速度 | 日本語WER |
|---|---|---|---|
| tiny | 39M | 32× | 18.4% |
| base | 74M | 16× | 12.1% |
| small | 244M | 6× | 8.3% |
| medium | 769M | 2× | 5.6% |
| large-v3 | 1,550M | 1× | 3.2% |
large-v3の圧倒的な精度は、単純にパラメータ数(学習できる情報量)が多いためです。
ただし、処理速度はtinyの約1/32。リアルタイム処理には小さいモデルを使い、事後処理では精度優先でlarge-v3を使う、という使い分けが一般的です。
音声認識の限界と今後
現状の課題
話者識別(Speaker Diarization): 誰が話しているかを識別する技術は、Whisperではなくpyannoteなどの別モデルが必要です。複数人の会議録音では「誰が何を言ったか」の分離が課題。
方言・訛り: 関西弁・東北弁・九州弁などは標準語より精度が若干落ちます。研究は進んでいますが、完全な解決には至っていません。
専門用語(未知語):
医療・法律・最新IT用語など、トレーニングデータに少ない単語は誤認識しやすい。プロンプトによる事前ヒント(Whisperのinitial_promptパラメータ)で改善可能。
重なり合う発言: 複数人が同時に話すと認識精度が大幅に低下します。会議でのルール(「一人ずつ話す」)が重要。
今後のトレンド
- マルチモーダル音声認識: 映像(口の動き)と音声を組み合わせた認識
- エンドツーエンド話者識別: 音声認識と話者識別の一体化
- リアルタイムlarge-v3: ハードウェア最適化によるリアルタイム高精度化
まとめ
AI音声認識の仕組みをまとめると:
- 音声 → メルスペクトログラム(人間の聴覚に合わせた周波数表現に変換)
- Transformer Encoder(音声パターンを理解)
- Transformer Decoder + 言語モデル(文脈を考慮してテキストを生成)
Whisperが日本語に強い理由:
- 680,000時間の大規模多言語学習
- 言語間転移学習の恩恵
- 日本語固有の正規化処理
- large-v3の15.5億パラメータによる高い表現力
AI音声認識は2022年のWhisper登場以来、急速に精度が向上しています。今後も大規模言語モデルとの統合が進み、さらに高精度・多機能になっていくでしょう。