音声認識(おんせいにんしき、英: speech recognition)は声がもつ情報をコンピュータに認識させるタスクの総称である[1]。ヒトの(天然)音声認識と対比して自動音声認識(英: Automatic Speech Recognition; ASR)とも呼ばれる[2]。
例として文字起こしや話者認識が挙げられる。 音声認識は「音声に含まれる情報を認識するタスク」の総称であり、具体的に解かれる問題の例として以下が挙げられる:
タスク
Speech-to-Text (STT): 含まれる言語情報を文字に変換するタスク。いわゆる文字起こし
キーワード認識
音声認識をサブタスクとして含むタスクには以下が挙げられる: 音声認識では、統計的手法が良く用いられている。これは大量の発話を記録した学習用データから音声の特徴を蓄積し、認識対象となる入力音声から抽出された特徴と蓄積された特徴とを比較しながら、最も近い言語系列を認識結果として出力する手法である。 一般に、音声の音響的な特徴と言語的な特徴を分離して扱うことが多い。音響的な特徴とは、認識対象の音素がそれぞれどのような周波数特性を持っているかを表したもので、音響モデルと呼ばれる。音響モデルの表現としては、混合正規分布を出力確率とした隠れマルコフモデルが広く用いられている。言語的な特徴とは、音素の並び方に関する制約を表したもので、言語モデルと呼ばれる。例えば、「あなた (a n a t a)」という発声の直後には、「が (g a)」や「は (w a)」などの発声が続く確率が高い、などの制約である。言語モデルの表現としては、認識対象の言語が大規模な場合(パソコン上での文書作成など)はn-gram 動的時間伸縮法(Dynamic time warping 音声信号は、断片的あるいは短時間の定常信号と見ることができ、隠れマルコフモデル(Hidden Markov Model、HMM)が適用可能である。すなわち、10ミリ秒程度の短時間でみた場合、音声信号は近似的に定常過程と見なすことができる。従って、音声を多くの確率過程のマルコフ連鎖と考えることができる。 また、隠れマルコフモデルによる音声認識は自動的にトレーニングされ、単純で計算量もそれほど多くない。音声認識について考えられる最も簡単な設定では、隠れマルコフモデルは10ミリ秒ごとに例えば13次元程度の実数値ベクトルを出力するだろう。このベクトルはケプストラム係数から成る。ケプストラム係数は短時間の信号のフーリエ変換にコサイン変換を使って、その第一(最大)係数を取り出したものである。隠れマルコフモデルは、それぞれの観測されたベクトルの尤度を与える対角共分散のガウス分布の混合ともいうべき確率分布を持つ傾向がある。各単語や各音素はそれぞれ独自の出力分布を持つ。単語列あるいは音素列に関する隠れマルコフモデルは、個々の単語や音素の隠れマルコフモデルを連結したものとなる。 これらが隠れマルコフモデルを使用した音声認識技術の概念である。音声認識システムにはこれ以外にも様々な技術を使用している。語彙の多いシステムでは、音素について文脈依存性を考慮する。また、話者間の違いや録音状況の違いを正規化するために、ケプストラムの正規化が行われる。他にも話者正規化の試みとして、男女間の正規化のための声道長正規化 (VTLN) や、より不特定多数の話者に対応するための最尤線形回帰 (MLLR) がある。 音声認識は様々な指標を用いて性能を評価される。例えば速度は実時間係数 (real time factor, RTF)で表される。 単語誤り率 文字誤り率(英: character error rate; CER)は認識された「単語」の誤り率である。
音声操作: 音声によるアプリの操作。SST/KWSで音声情報を取り出し、これをコンピュータ操作命令へ変換
音声入力: 音声によるアプリへの文字入力。SSTで文字化、整形[3]ののちアプリへ引き渡し。ディクテーション(聞き取り)とも
認識技術
統計的手法
動的時間伸縮法
隠れマルコフモデル
評価指標
単語誤り率
文字誤り率