# 音声認識

**音声認識**（おんせいにんしき、英: speech recognition）は声がもつ情報をコンピュータに認識させるタスクの総称である。ヒトの（天然）音声認識と対比して**自動音声認識**（英: Automatic Speech Recognition; **ASR**）とも呼ばれる。

例として文字起こしや話者認識が挙げられる。

## タスク

音声認識は「音声に含まれる情報を認識するタスク」の総称であり、具体的に解かれる問題の例として以下が挙げられる：

* Speech-to-Text (STT): 含まれる言語情報を文字に変換するタスク。いわゆる文字起こし
* キーワード認識(KWS): 事前に設定されたキーワードの出現を認識するタスク。例として「ヘイ、Siri」

音声認識をサブタスクとして含むタスクには以下が挙げられる：

* 音声操作: 音声によるアプリの操作。SST/KWSで音声情報を取り出し、これをコンピュータ操作命令へ変換
* 音声入力: 音声によるアプリへの文字入力。SSTで文字化、整形ののちアプリへ引き渡し。ディクテーション（聞き取り）とも

## 認識技術

### 統計的手法

音声認識では、統計的手法が良く用いられている。これは大量の発話を記録した学習用データから音声の特徴を蓄積し、認識対象となる入力音声から抽出された特徴と蓄積された特徴とを比較しながら、最も近い言語系列を認識結果として出力する手法である。

一般に、音声の音響的な特徴と言語的な特徴を分離して扱うことが多い。音響的な特徴とは、認識対象の音素がそれぞれどのような周波数特性を持っているかを表したもので、**音響モデル**と呼ばれる。音響モデルの表現としては、混合正規分布を出力確率とした隠れマルコフモデルが広く用いられている。言語的な特徴とは、音素の並び方に関する制約を表したもので、**言語モデル**と呼ばれる。例えば、「あなた (a n a t a)」という発声の直後には、「が (g a)」や「は (w a)」などの発声が続く確率が高い、などの制約である。言語モデルの表現としては、認識対象の言語が大規模な場合(パソコン上での文書作成など)はn-gramが良く用いられ、認識対象の言語が人手で網羅出来る程度に小さい場合(カーナビの音声操作など)は、文脈自由文法が良く用いられる。

### 動的時間伸縮法

動的時間伸縮法（Dynamic time warping、DTW）は初期の音声認識手法であるが、隠れマルコフモデルに基づく手法が一般化したため、使われなくなった。時間または早さの異なる2つの信号シーケンスの間の類似度を測るアルゴリズムである。例えば、人間の歩行のパターンは、素早く歩いても、ゆっくり歩いても、さらには歩行の画像を早送りしてもスロー再生しても一定のパターンが存在する。DTW は音声だけでなく動画などの任意の時系列のデータに適用可能である。音声認識においては、発声速度がどうであっても一定のパターンを検出するために使われていた。従って、比較のための標準パターンが必要であり、認識できる語彙は限定される。

### 隠れマルコフモデル

音声信号は、断片的あるいは短時間の定常信号と見ることができ、隠れマルコフモデル（Hidden Markov Model、HMM）が適用可能である。すなわち、10ミリ秒程度の短時間でみた場合、音声信号は近似的に定常過程と見なすことができる。従って、音声を多くの確率過程のマルコフ連鎖と考えることができる。

また、隠れマルコフモデルによる音声認識は自動的にトレーニングされ、単純で計算量もそれほど多くない。音声認識について考えられる最も簡単な設定では、隠れマルコフモデルは10ミリ秒ごとに例えば13次元程度の実数値ベクトルを出力するだろう。このベクトルはケプストラム係数から成る。ケプストラム係数は短時間の信号のフーリエ変換にコサイン変換を使って、その第一（最大）係数を取り出したものである。隠れマルコフモデルは、それぞれの観測されたベクトルの尤度を与える対角共分散のガウス分布の混合ともいうべき確率分布を持つ傾向がある。各単語や各音素はそれぞれ独自の出力分布を持つ。単語列あるいは音素列に関する隠れマルコフモデルは、個々の単語や音素の隠れマルコフモデルを連結したものとなる。

これらが隠れマルコフモデルを使用した音声認識技術の概念である。音声認識システムにはこれ以外にも様々な技術を使用している。語彙の多いシステムでは、音素について文脈依存性を考慮する。また、話者間の違いや録音状況の違いを正規化するために、ケプストラムの正規化が行われる。他にも話者正規化の試みとして、男女間の正規化のための声道長正規化 (VTLN) や、より不特定多数の話者に対応するための最尤線形回帰 (MLLR) がある。

## 評価指標

音声認識は様々な指標を用いて性能を評価される。例えば速度は実時間係数 (real time factor, RTF)で表される。

### 単語誤り率

**単語誤り率**（英: word error rate; **WER**）は認識された「単語」の誤り率である。WERを評価するための代表的なコーパスとしてWSJコーパスが挙げられる。

### 文字誤り率

**文字誤り率**（英: character error rate; **CER**）は認識された「単語」の誤り率である。英: letter error rate; **LER** とも。WER評価と共に行われる場合が多い。2019年時点でのWSJコーパスに対するCERは1%を切っている。

### 音素誤り率

**音素誤り率**（英: phoneme error rate; **PER**）は認識された「音素」の誤り率である。PERを評価するための代表的なコーパスとしてTIMITが挙げられる。2019年時点でのTIMITコーパスに対するPERは10%を切っている。

## 実際と課題

実地での音声認識利用には様々な難しさがある。以下はその一例である：

* 背後音
	+ 雑音
	+ 背景での会話
* 語彙
	+ 業務用語
	+ ジャーゴン
* 音声
	+ 同時話者数
	+ 発話方法（フォーマル、日常会話）

並列モデルは予想外の入力にもある程度対応できる。

## 研究中の技術

### MFT

話者の音声の特徴量が雑音や特徴分離処理によって歪むと音響モデルとの差が開いて誤認識の元となる。得られた音声の特徴量に歪みや雑音がどの程度含まれているかを推定し時間軸と周波数軸に対して信頼度をマップとして持たせて、低信頼度の特徴量にはマスクをかけたり、失われた音声を復元する処理に活用するのがミッシング・フィーチャー理論（Missing feature theory）である。

### GSS

GSS（Geometric source separation）は複数の音源を分離する技術であり、音源間に相関が無ければ複数のマイクからの入力情報によって比較的簡単に音源分離とその位置情報（音源定位）が得られる。これをMFTの雑音情報として信頼度マップに反映させれば、騒音下や同時発話の状況でもそれほど認識率を落とさずに済む。

## 実用例

### Apple社製品における利用

Macintoshでの音声認識機能は、1993年のQuadra 840AV/Centris 660AVより、PlainTalkとして搭載された。Mac OS 9では、音声認識パスワードによるログイン機能も搭載されている。macOS Sierraからは、音声認識アシスタント機能のSiriが搭載され、様々な操作が可能になった。

### Microsoft社製品における利用

Windows VistaとWindows 7では音声認識機能が搭載されており、この機能を使用して、キーボード入力なしにチャットをするなどの操作が可能となっている。音声認識機能でパソコンを操作するといった利用方法はこれまでにもあったが、日本語の認識率を向上させているほか、マウスやキーボードで行うWindowsの操作が音声で操作できるようになっている。Windows 10からはCortanaという音声認識アシスタント機能が搭載され、さらに様々な操作が可能になった。(Windows PhoneではWindows Phone 8.1から搭載されていた。)

マイクロソフト社は音声認識技術を開発するニュアンス・コミュニケーションズを買収している。

### Google社の製品やサービスにおける利用

* Google Cloud Platformの　**Speech-to-Text API**
	+ Google アシスタント
	+ Google Home, Google Nest

### Amazon社の製品やサービスにおける利用

* Amazon Alexa

### 企業・団体における利用

企業、病院、自治体では、2005-6年頃から次第に次のような実用システムの導入が活発化してきている。

* 医師向け電子カルテ入力システム
* 自治体向け議事録作成支援システム
* コールセンター向けオペレータ支援・通話内容分析システム
* 学校向け語学学習アプリケーションでの発音評価システム

### その他の利用例

* 携帯端末（スマートフォンなど）へのメール文章入力
* 同時通訳型の機械翻訳、自動通訳
* パソコン上での文書作成（口述筆記の自動化）
* 音声指示による機械操作（カーナビ、電子カルテ等のハンズフリーコンピューティング）
* 指示を聞き分けるペットロボット（ロボット工学への応用）
* 音声対話受付案内システム（自動音声応答装置）
* 裁判員制度での評議における証言内容などの確認（映像と文字の連動）
* 音声Webアプリケーション w3voice Laboratory (音声認識や対話を体験できるWebサイト)

### その他の応用例

「感性制御技術」（Sensibility Technology=ST）などと組み合わせることにより、例えば「ごめんなさい」も口先だけで軽く言った「ごめんなさい」も同じ「ごめんなさい」でしかないが、早口で軽いトーンの「ごめんなさい」は、バカにしていると判断して怒った態度で接したり、ゆっくり丁寧に発音された「ごめんなさい」は、心からの謝辞だと理解して許したりすることが可能となる。

## 音声認識ソフトウェア例

### OS搭載

* Apple macOS / iOS
	+ PlainTalk
	+ Siri
	+ Speech フレームワーク
* マイクロソフト Windows
	+ Windows Vistaなどに標準搭載
	+ Windows 10に標準搭載(Cortana)
* Google Android
	+ Speech Recognition & Synthesis アプリ（旧Speech Services by Google）
	+ android.speech API

### Webブラウザ搭載

Webブラウザの音声認識APIとしては「Web Speech API」の SpeechRecognition インターフェースが存在する。このAPIには Google Chrome、Microsoft Edge、Opera、Safari が対応している。

なお一部ブラウザはこの音声認識APIをサーバー側での処理で実装している。

### プロプライエタリ

* アドバンスト・メディア
	+ AmiVoice - かつてはコンシューマー向けのAmiVoice SPシリーズ（AmiVoice Es 2008の後継）も存在した。
		- AmiVoice Ex7 - 医療用
		- AmiVoice CLx - 医療・介護用クラウド型
* NEC
	+ WebOTX Speech Recognition - 音声認識ミドルウェア
* マイクロソフト
	+ Dragon Professional - 旧Dragon NaturallySpeaking。法律用のDragon Legalも存在する。ニュアンス・コミュニケーションズより買収（2021年発表、2022年完了）
* NTTテクノクロス
	+ ForeSight Voice Mining（音声ビッグデータソリューション）
	+ SpeechRec（音声認識ソリューション）
	+ VoiceMail（音声自動応答サービス）

#### 物流・製造向け

* ハネウェル
	+ Honeywell Voice - 旧Vocollect Voice←Vocollect。Vocollect社をインターメックが買収後、インターメックをハネウェルが買収。
* C\_Net（シーネット）
	+ ci.Superior/LISWORK - 旧ci.Himalayas/voice。ミツカン栃木工場などに導入された。IT導入補助金の対象となっていた。
	+ ci.Superior/LISPICK
	+ ci.Superior/LISSORT

### オープンソース

* Julius - オープンソースの音声認識ソフト
* torchaudio
* NVIDIA NeMo Speech
* Whisper
* whisper.cpp
* llama.cpp の llama-mtmd-cli - 大規模言語モデル (LLM) ベースのVoxtral、GLM-ASR、LFM2-Audio、Qwen3-ASRなどのモデルに対応（一部はプロンプトによる文字起こしの指示が必要）
* vLLM

### 音声認識向け機械学習モデル

* OpenAI
	+ Whisper
* Mistral AI
	+ Voxtral
* NVIDIA
	+ Parakeet
	+ Canary - 音声認識 (ASR) および音声翻訳 (AST) に対応
* IBM
	+ Granite Speech - 音声認識 (ASR) および音声翻訳 (AST) に対応
* Alibaba Cloud
	+ Qwen3-ASR

### クラウド

* AmiVoice Cloud Platform
* OpenAI Speech to text API
* Google
	+ Google Cloud Speech-to-Text
	+ Gemini API の音声入力
* Microsoft Azure の Foundry Tools サービスの Azure Speech（Bing Speech API の Speech to Text の後継）
* Amazon Web Services の Amazon Transcribe
* IBM Watson Speech to Text
* Oracle Cloud Infrastructure (OCI) Speech
* さくらのAI Engine の Audio transcription - Whisperベース

### 過去

* IBM ViaVoice
* Lab9 Solutions の SpeechLab SDK & MobileSpeech
* NEC
	+ CSVIEW/VisualVoice - 人同士の自然な会話に対応した音声認識ソフト、コールセンター向け。
	+ VoiceGraphy - 議事録向けの音声認識ソフト。販売終了。

### 音声認識を応用したゲームソフト例

* シーマン
* 大玉
* オペレーターズサイド
* デカボイス
* ピカチュウげんきでちゅう
* Touch! Generations
* 機動戦士ガンダム 戦場の絆
* TALKMAN

## 歴史

音声認識システムの研究開発はコンピュータが普及しだした1970年代から盛んに行われてきた。

1991年時点で、カーネギー・メロン大学に約5,000語を認識できるシステムがあり、IBMでも同様のの社内システムがあったが、商品化はされてない状態であった。

当初は日本語識別率が60％程度にとどまっており、話者限定・事前トレーニングをおこなった理想環境下でも80%が限度であった。語彙を限定してトレーニングを必要としないシステムでは、不特定多数の話者の音声を認識できるが語彙が少ないために利用範囲は限定される。同音異義語が少ない欧米系の言語では90％の認識率があると評価されていた 。

2010年代後半からは人工知能や深層学習の進化により性能が向上し、Google アシスタントやAmazon Alexaなどバーチャルアシスタントの音声操作にも利用されるなど実用レベルに達したが、声優のような発声トレーニングを受けた者でも条件によっては認識されない場合もある。

* Lawrence Rabiner (1993), "Fundamentals of Speech Recognition", Prentice Hall, ISBN 0-13-015157-2
* Frederick Jelinek (1998), "Statistical Methods for Speech Recognition", MIT Press, ISBN 0-262-10066-5
* Manfred R. Schroeder (2004), "Computer Speech: Recognition, Compression, Synthesis", Springer-Verlag, ISBN 3-540-64397-4

* パターン認識
* 自然言語処理
* 音声分析
* 音声処理
* 音声強調
* 音声合成
* 音声検索
* VoiceXML
* Common Voice
* 感情認識

* IBM Watson Speech to Text （音声認識）- Japan
* "Survey of the State of the Art in Human Language Technology (1997) by Ron Cole et all"
* 音声認識技術に関する特許出願技術動向調査報告(PDF) 特許庁総務部技術調査課（2003年5月22日）
* 音声認識について考える Shun
* 音声認識：耳の獲得、あるいはコンピューターとの対話による未来 音声認識の歴史を概観している
* GALE project DARPAの音声認識と機械翻訳を組み合わせたプロジェクト
* HTK Hidden Markov Model Toolkit
* CMUSphinx - ウェイバックマシン（2004年9月4日アーカイブ分） オープンソースの音声認識エンジン（カーネギーメロン大学）