用語集 / どう聞き取るか

自動音声認識

別名:ASR

更新日:

定義

自動音声認識(ASR)は、人の話し声をテキストに変換する機械学習の分野であり、そのためのモデルの種類でもあります。ASRモデルは、あらゆる音声入力・文字起こし製品の中で動くエンジンです。

現代のASRモデルは、大量の録音音声で訓練されたニューラルネットワークです。よく知られたファミリーには、Whisper(OpenAI、オープンソース)、Parakeet(NVIDIA、オープンソース)、そしてGoogleやAppleなどのクラウドサービスに組み込まれた独自エンジンがあります。

ASRの品質は、通常、ベンチマーク音声での単語誤り率(WER)で示されます。実際の品質は、マイク、部屋、アクセント、語彙にも左右されます。だからこそ、ユーザごとの辞書や分野別の語彙が、看板となるモデルと同じくらい重要なのです。

モデルの作り方

ASRモデルは、音声と正しい文字起こしのペアで訓練されます。その量は数十万時間に及び、聞いたことのない音声に対してもテキストを予測できるようになるまで続けます。以前のシステムは、音響モデル(音から音素へ)と言語モデル(音素からありそうな単語へ)を分けていました。現在のシステムはエンドツーエンドで、1つのネットワークが音声をテキストのトークンに直接対応付けます。そのほうがシンプルで、精度が高く、一般向けのハードウェアでも動かしやすくなります。

現在は2つのアーキテクチャが主流です。Whisperのようなエンコーダ・デコーダモデルは、音声のまとまりを読み終えてから文字起こしを書くので、精度が高く、バッチ処理向きです。Parakeetのようなトランスデューサモデルは、音声が届くたびにトークンを出力するので、ストリーミングができます。

実際の精度を決めるもの

モデルのサイズと訓練データが上限を決めます。それより下はすべてユーザ側の要因です。マイクの品質、マイクとの距離、部屋の反響、背景ノイズ、アクセント、語彙です。名前、専門用語、製品名はどのモデルも苦手です。訓練データにめったに出てこないからです。そのため、日々の精度を上げるには、より大きなモデルに替えるよりも、個人用辞書と、文脈を踏まえた修正のステップのほうが効果があります。

オープンモデルがこの分野を変えた

2022年まで、競争力のあるASRはクラウドAPIの向こう側にありました。Whisperのオープンな公開に続いてParakeetなどが登場し、最先端の認識技術を誰もが使えるようになりました。そしてApple siliconが、ノートパソコンにそれを動かす計算能力をもたらしました。プライベートなローカル音声入力が、数年で妥協の選択肢から標準になったのはそのためです。

2つのASRモデルを自分の声で比べる方法

ベンチマークのスコアが表すのは、ベンチマークの音声での結果です。モデルがあなたの声、部屋、語彙をどう扱うかを知る唯一の方法は、自分の録音で実行してみることです。オープンなWhisperのコマンドラインツールを使えば、「ターミナル」ですぐに試せます。先にPythonとffmpegをインストールしておく必要があります。

  1. いつも音声入力するときと同じように話す自分の声を1、2分録音し、人名や専門用語もいくつか含めて、オーディオファイルとして保存します。
  2. 「ターミナル」でWhisperをインストールします:pip install -U openai-whisper
  3. 小さなモデルでファイルを文字起こしします:whisper myclip.m4a --model small --output_format txt
  4. 書き出されたテキストファイルの名前を変更してから、同じコマンドを--model turboで実行します。
  5. 2つの文字起こしを実際に話した内容と読み比べ、それぞれで間違った単語、抜けた単語、余分な単語を数えます。
  6. 誤りの数を、話した単語の数で割ります。これがモデルごとの、あなた個人の単語誤り率です。

ASRモデルが単語以外に返すもの

以前の認識器は、小文字の単語をただ並べて返すだけでした。現在のオープンモデルはもっと多くを返します。何が得られるかを知れば、それを使った製品が追加の作業なしで何をできるかがわかります。

  • 句読点と大文字・小文字。Parakeet TDT 0.6Bは、どちらも組み込みの機能として挙げています。
  • タイムスタンプ。Parakeetは単語単位とセグメント単位のタイムスタンプを返し、Whisperにはword_timestampsオプションがあります。
  • 字幕ファイル。Whisperのコマンドラインツールは、txt、vtt、srt、tsv、jsonで出力できます。
  • 言語。WhisperもParakeet TDT 0.6B v3も、指定しなければ話されている言語を検出します。
  • 翻訳。Whisperの多言語モデルは、ほかの言語の音声を英語のテキストに翻訳できます。

ASRは正確ですか?1つのモデルにいくつものスコアがある理由

ASRモデルの精度を表す数値は1つではありません。NVIDIAはParakeet TDT 0.6B v3について、Hugging Face Open ASR Leaderboardの8つの英語テストセットでの平均単語誤り率を6.34%と報告していますが、個々のセットではLibriSpeech test-cleanの1.93%から、企業の決算説明会の録音であるEarnings-22の11.42%まで幅があります。

言語も、音声の種類と同じくらい重要です。Whisperのモデルカードによると、モデルが高い成績を示すのは約10の言語で、学習データが少ない言語では精度が下がります。スコアを見るときは、ほかと比べる前に、どのテストセットとどの言語で測られたかを確認してください。

よくある質問。

音声入力に最適なASRモデルは?

リアルタイムの音声入力には、Parakeetのようなストリーミング対応のモデルです。話している間に言葉が表示されるからです。対応言語の幅を求めるなら、多くの言語で訓練されたモデルです。たとえばWhisperは99言語、MetaのOmnilingual ASRは1,600以上の言語に対応しています。優れたツールの多くは複数のモデルを使い、言語と用途で選び分けます。Apple siliconなら、どれもローカルで動きます。

ASRは音声テキスト変換と同じですか?

ASRは、モデルと研究分野を指す技術的な名前です。音声テキスト変換は、それが何をするかを表す平易な名前です。製品ページでは、この2つは同じ意味で使われます。

ASRが名前を間違えるのはなぜですか?

モデルがある名前に触れたのは、訓練音声にその名前が出てきた回数だけで、ほとんどの名前や製品名ではそれはまれだからです。モデルは、その音にいちばんありそうな表記を書きます。自分の用語を登録した辞書と、画面上やプロジェクト内に見える名前を使った修正のほうが、モデルを替えるよりもうまく解決します。

ASRは何の略ですか?

ASRはautomatic speech recognition(自動音声認識)の略です。録音された音声やリアルタイムの音声をテキストに変換する技術です。

ASRモデルを自分のコンピュータで実行できますか?

はい。WhisperやParakeetのようなオープンモデルは、ダウンロードしてローカルで実行できます。Whisperはpipでインストールでき、Macの「ターミナル」から実行できます。

ASRモデルは句読点を付けますか?

現在のモデルの多くは付けます。NVIDIAはParakeet TDT 0.6Bの機能として句読点と大文字・小文字の自動付与を挙げており、Whisperも句読点付きのテキストを出力します。

この点での比較

関連用語

いつだって、声のほうが速かった。

7日間無料、その後は$19 USDの買い切り。アカウント不要、サブスクリプションなし、アップロードなし。

macOS 14以降 · Apple silicon