音声認識Speech Recognition

人の話し声を文字に書き起こす技術

ポイント
  • 音声認識はマイクに入ってきた音の振動を文字に書き起こす仕事です。
  • 音をごく短く切り、断片ごとにどんな音に近いか点数を付け、その点数をつなぎ合わせて文にします。
  • 音だけを見ているのではありません。前後の話の流れまで一緒に考えて、似て聞こえる候補の中から一つを選びます。
  • 静かな場所ではっきり話せばよく合い、雑音・声の重なり・聞き慣れない名前では間違いが増えます。
  • 書き起こすところまでが音声認識です。その言葉の意味をつかんで実行する仕事はその先の段階です。
目次

1たとえで理解する

ラジオからお便りが流れてきて、それを紙に書き取ると考えてみてください。音はつかまえておくことができないので、耳に入った順にとても速く書き写さなければなりません。流れていく音を受け止めて文字として残すこの仕事が音声認識です。

書き取る人は音だけを聞いて書いているわけではありません。「昨日からお腹が痛くて」というくだりで、お腹が体のことか別の何かかは音だけでは区別できません。前後の話を一緒に聞いていたからこそ、体のことだと書けるのです。

放送がはっきり聞こえれば書き取りは難しくありません。雑音が混じったり二人が同時に話したり、初めて聞く地名が出てきたりすると、手が止まります。音声認識が苦手とする場面もまさにそこです。

2くわしく

音をごく短く切ります

マイクが受け取るのは空気の振動です。この振動は数の列に変わってコンピュータに入ってきます。ですが、この列を丸ごと置いて「何と言っているか」と問うても答えは出ません。話し言葉は時間とともに絶えず変化する音だからです。

そこでまず切ります。1秒を百片ほどに分け、片ごとにどんな高さの音がどれくらい混ざっているかを取り出します。こうして作った音の絵を見ると、「あ」の音と「す」の音は目に見えて違う模様として現れます。

片を細かく分けるのには理由があります。話し声は前後の音によって形が変わるからです。同じ「か」の音でも、後ろに何が来るかによって発音が違ってきます。短く切っておけば、こうした変化を取りこぼさずに追えます。

断片ごとに点数を付けます

切り分けた断片一つひとつについて、モデルは確定した答えを出しません。代わりに「この断片はこの音である可能性が高く、あの音である可能性も少しある」というように、候補ごとに点数を残します。

点数を残しておくほうがずっと有利です。断片一つだけを見て早々に決めてしまうと、あとに続く音とつじつまが合わなくても取り消せません。候補をいくつも開いたままにしておき、文全体を見て最もそれらしい道を選ぶほうが、はるかによく合います。

前後の流れが答えを選びます

音の点数だけでは分かれない言葉がとてもたくさんあります。「かがく」という音だけでは化学なのか科学なのか決まりませんし、「はしを渡って」と「はしを使って」の「はし」は音がまったく同じです。

そこで音声認識には、言葉の流れを知る部分が一緒に組み込まれています。前に「実験室で」という言葉が出ていれば化学のほうで、「橋のたもとで」という言葉が出ていれば橋のほうです。人が騒がしい場所でも会話についていけるのと同じ理屈です。

この部分があるおかげで、音声認識は音が少しつぶれても文を復元できます。逆に流れのない言葉、つまり初めて聞く人名やでたらめな数字の並びでは頼れる流れがないので、誤りが目立って増えます。

最近はまとめて学びます

以前は部品を別々に作ってつなげていました。音を判別する部分、単語の発音を記した辞書、文の流れを知る部分をそれぞれ作ってからつなぎ合わせていたのです。部品ごとに人が手を入れる必要があり、新しい言語を追加するのは大きな工事でした。

今は録音とその録音を書き起こした文をたくさん組にして見せ、一つの塊のモデルに音から文字までをまとめて学ばせます。発音辞書を人が作らなくてもよくなり、複数の言語や雑音混じりの録音を一つのモデルが一緒に扱えるようになりました。

話し終わる前に文字が浮かびます

画面に文字がリアルタイムで表示される方式は、まだ聞こえていない続きを知らないまま答えを出しているということです。だから後ろの文が入ってくると、先に表示された文字がふっと変わることがあります。間違ったのではなく、流れを見て答えを直している最中です。

分かち書きや句読点は音の中に入っていません。文末が上がるか、どこで息継ぎをするかといった手がかりを見て、別途付け加えているのです。書き起こした文で句読点が不自然になりやすいのはこのためです。

3もう少し正確に

音声認識は、音の波形から取り出した特徴の並びを文字の並びに移す問題です。音の絵はスペクトログラムと呼ばれ、音と文字の対応を学ぶ部分は音響モデル、話の流れを受け持つ部分は言語モデルと分けて呼ばれてきました。最近の方式はこの二つを一つの塊として学習させるので境目がぼやけ、こうした方式を終端間学習と呼びます。性能は書き起こした文が正解からどれだけずれたかを数える単語誤り率で測ります。

たとえがずれる点もあります。書き取る人は意味を理解しながら書き、聞き取れなければ聞き返すことができます。モデルは聞き返せません。最もそれらしい文字の列を一つ選んで出すだけなので、意味の通らない文もとても自信ありげに書いてしまいます。声の主が誰かを見分ける仕事、何人が話しているかを分ける仕事は音声認識と一緒に語られがちですが、実は別の技術です。

4やってみる

5よくある誤解

  • 音声認識が話を理解していると思われがちですが、実際には音を文字に移しているだけで、その文の意味をつかむ仕事はその先の段階です。

  • 間違えるのは発音が悪いからだと見なされがちですが、実際には背景の雑音や声の重なり、学習で見たことのない名前が原因であることのほうが多いです。

  • 音声認識が声の主も見分けていると思われがちですが、実際には誰が話したかを見分ける仕事は別に学習する別の技術です。

7ひとこと要約

つまり音声認識は流れていく話し声をごく短く切って文字に書き起こす技術で、音だけでなく前後の流れまで一緒に見て答えを選びます。

誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02