音声入力とは何もの??

音声入力でブログを書いてきましたが、ここでいったん立ち止まって

音声入力はどうやって動いているのか?

という「音声入力の仕組み」を勉強してみました。

学習にあたって『イラストで学ぶ 音声認識』という技術書を購入しましたが、僕のような門外漢にとってはすこぶる難解でした。

専門的な数学知識がどうしても必要で、いくらイラストで表現されても理解できなかったのです。

ただ、すべてのページをに目を通した結果、100%ではありませんが、

うっすらと音声入力の仕組みが見えてきました。

 

 

音声入力の仕組みとは??

音声入力とはずばり、

「音声認識」という技術で文字を入力すること

です。

つまり、音声入力の仕組みを知るためには「音声認識」を勉強すればいいのですね。

 

それじゃあ「音声認識」とは何かというと、

「話した言葉」という「空気の振動」を「文字」に変換することを言います。

したがって、音声入力で書くとはシンプルにいうと、

しゃべった言葉で文字を書く方法

ですね。

 

wordpress 音声入力 ブログ

 

音声認識は次の4ステップで音を文字に変換していきます。

 

 

 

1. 前処理

最初に行われるのは「前処理」。

ここでは主に次の2つのことをします。

  1. アナログの波形をデジタルに変換
  2. ノイズを除去

 

「音」はご存じの通り、空気中を「波」として伝わるもので、音の正体は「空気の振動」。

その「空気の振動」をデジタルデータとして抽出するのがファーストステップです。

多くの場合、音のデジタルデータは、

  • 横軸:時間
  • 縦軸:振幅

というグラフで抽出されます。

 

 

抽出した波形から、人がしゃべった音だけを取り出す処理もおこなわれます。

これは俗にいう「ノイズ除去」というやつですね。

 

2. 特徴量を抽出

さて、アナログの音波をデジタルデータで取り出されました。

次はデジタルデータから「特徴量」を抽出します。

コンピューターが音から文字を識別しやすいようにデータを加工する作業。

元の音データには色々な要素が含まれていて、

  • 強弱
  • 周波数
  • 音の間隔

などあります。

その中から音を識別するために重要な要素を抽出するのです。

 

3. 音から文字を識別

次は「識別」ですね。

「どの音の波形」が「どの文字」に当たるのか

を識別する作業です。

識別には次の3つの機械学習モデルを用います。

  1. 音響モデル
  2. 発話辞書
  3. 言語モデル

「モデル」とは、コンピューターが入力値を受け取って、そこから統計的に判断して出力値を出すものです

 

 

音響モデル

抽出した特徴量を元に、それぞれの音の波形がどの「音素」に近いのかを計算。

音素とは、音の最小単位

 

例えば、「こんにちは」だったら、

KONNICHIHA

という子音と母音から成り立ってますね?

これらすべての子音・母音を含めた音の最小単位を「音素」というのです。

 

そして、音データから音素を識別するのが「音響モデル」です。

例えば、

  • 話者によって異なる間の違い
  • 日による話し方の違い

など、話者の微細な変化を確率的に判断。

誤差がないように音素を識別するのが「音響モデル」の役割です。

 

発話辞書

「音素」から「単語」を認識するモデルです。

例えば、先程の

KONNICHIHA

という音素を音響モデルで識別したら、

KO N NI CHI HA

というように、どの音素がくっついて単語を形成するか判断します。

 

言語モデル

単語が表わす言葉を統計学的に推測するモデル。

例えば、「私」という言葉に続くのは助詞の

  • 「は」
  • 「が」
  • 「を」

である確率が高いです。

このように統計学的な判断を当てはめて精度を高めるモデルです。

 

例えば、

かいぎょう医になりたい

としゃべった時、最初の「かいぎょう」が「開業」なのかもしくは「改行」なのかという同音異義語の判断。

ここでも言語モデルが役に立ちます。

 

この場合だと、「かいぎょう」の周囲にある

  • になりたい

という言葉から、「改行」ではなく「開業」が正しいという判断を統計学的に下してくれるのです。

 

仕組みから考える音声入力のコツ

ざっくり音声入力の仕組みを理解した上で、

どうすれば音声入力で快適に書けるか考えていきましょう。

 

クリアに発音する

発音した通りに入力したいならば、

声の大きさ

はもちろんのこと、

ノイズがない静かな環境でしゃべるといいでしょう。

クリアに話せば、

  • 音をデジタル信号に変換
  • 特徴量を抽出
  • 音響モデルで音素を抽出

の過程で精度自体が上がりますから。

ノイズを減らすために外付けマイクで音声入力するのも1つの手です。

 

ユーザー数が多いサービスを使う

識別では、統計学的に音声データをテキストに変換してきました。

統計学的処理には、

データが多いほど正しい出力を返せます。

データが多い、つまり、利用者が多いモデルを利用すると精度が上がるのです。

したがって、ユーザー数の多い、大企業の音声入力を利用するといいでしょう。

 

長めに話す

長めに話して、音声入力するのもコツです。

識別部の言語モデルでは、

周囲でよく使われる単語を統計学的に判断して音を識別します。

つまり、周囲に他の言葉があるほど正しい単語を出力できるのです。

 

例えば「うみ」と単独で発音した場合、「海」というオーシャンの意味で音声入力するのは至難の技。

なぜなら、ヒントが少なすぎて「うみ」が「海」である確率が高まらないからです。

実際にやってみると、「雲」とか「上に」とかになることもしばしば。

 

しかし一方、「うみ」を長い文で発音してやるとどうでしょう?

例えば、

「広いうみで泳ぎたい」

と言ってあげれば、「うみ」の周囲にある

  • 広い
  • 泳ぎたい

という単語から、「うみ」が「海」である可能性が高いと判断されます。

結果的に、意図通り書ける確率が高まるのです。

音声入力する際は単発ではなく、2~3文 一気に話すようにしましょう。

 

それでは!

Lin

 

お知らせ:音声入力で文章を書きたい方へ

音声入力で書くノウハウを1冊の本にまとめました。

Amazonの独占販売なのでKindle Unlimitedプライム会員の方ならKindle Owner’s Libraryで購読できます。

興味がある方は良かったら手に取ってみてください。