はじめに
本シリーズでは「音声認識の基礎」について取り扱います。
現在では、PCやスマートフォンに「話しかける」ことで操作ができる様々な機能やアプリが普及しています。
音声での文字入力
録音した音声の字幕作成
Siriなどの対話型機能 など
「スマートスピーカー」という、機能だけでなく家電とも連動した操作が行えるものまでありますね。
「話しかける」ことが機械の操作につながるということは、
機械に、声(音)を意味のある「単語」であると判断させる(認識させる)
という技術が不可欠です。これが大まかな「音声認識」技術に当たります。
では、機械はどのように人間の声、言葉を認識するのでしょうか。
※本シリーズの注意点
本シリーズの位置づけについて注意があります。 執筆者は、最近まで音声認識技術に関して全く知識がありませんでした。従って、
と考えている人を対象とした、基礎的、一般的な概要・仕組みの説明となっています。
という、明確なプログラム構築目標などを持っている方には簡単すぎる内容が続くかもしれません...。
ご理解を頂いた上で、改めてよろしくお願い致します!
本シリーズの構成
実は一言に「音声認識」と言っても、音声を利用した様々な技術があります。
- 話し言葉を文字列に変換する
これは、上記で紹介した技術ですね。
- 音声の特徴を捉えて声を出している人を識別する
こちらは、人物の特定だけでなく声を発している人の感情を判断する技術にも使われています。 (「認識」よりも「識別」や「判別」という言葉が使われている印象があります。) 聞いたことがあるかも知れませんが「気分で色の変わる照明」もこの技術です。
これらの技術はどちらも、音声データから「特徴量」を抽出するという処理は共通しています。 ここで、音声データを機械に認識させるまでの簡単な作業を以下に図示します。
音声認識の処理について本シリーズが説明するのは大きく分けてこの2つです。
1. 音声データから特徴量を抽出する
機械は、音声という波形データをそのまま認識することが出来ません。そこで、音声データから、機械が認識できる 特徴 を抽出する処理を行います。
2. 特徴量から音声認識(識別)
上記1の処理で抽出したデータの特徴量から、実際に文字列を判定したり、感情などの推定を行う処理を行います。ここでは、主に文字列の認識を例にとって進めていく予定です。 この処理では、 機械学習 という技術を用います。
まとめ
機械に、声(音)を意味のある「単語」であると判断させる(認識させる)技術とは、
1. 音声データから特徴を抽出して
2. 機械学習で認識させる
技術を意味する。 という記事でした。
次回は、音声データを周波数データに変換する処理についての記事です。 なるべく数式の少ない解説を心がけますので、次回もどうぞよろしくお願いします!
[参考書籍]
[参考サイト]