2024年4月19日(金)

オトナの教養 週末の一冊

2018年1月25日

 まず、人間でも機械でも「言葉の聞き取り」をする上で、発音された個々の音声を音素に結びつけることが必要になります。音素とは簡単に言えば、私たちが音を聞き取る時に「同じ音だ」と認識する音のカテゴリーのことです。

 たとえば、「みんなでごはんをたべよう」のなかには2つの「ん」があり、我々はどちらも同じ音だと認識しています。しかし、実際には「みんな」の「ん」と、「ごはん」の「ん」は発声の仕方が違うのです。

 最初の「ん」は、舌の先が前の歯の裏にくっつき、2番目の「ん」は口の奥が締まる感じで発声しています。これは、近くの言葉の音の影響によるものですが、私たちは普段、この違いについてはほとんど意識していません。無意識のうちにこの違いを無視し、同じ種類の音として認識しているのです。

 でも、音声の違いを無視してはいけない場合もあります。たとえば、「か」と「が」の違いを無視すると、「がっこう(学校)」と「かっこう(格好)」という、意味が異なる言葉を区別できなくなります。つまり、音を言葉として聞き取るためには「発音は違うけど同じ音素にまとめていい音声」と「別の音素として分ける音声」を区別する必要があります。

 また、同じ音でも性別、年齢によっても声質が異なったりするので、ここでもどの違いを無視し、どの違いを無視しないかという問題が出てきます。

(iStock/Besjunior)

――音声認識ソフトは普及していると思うのですが、人間と同じように音素を認識しているわけではないのですか?

川添:音声認識技術は、入力された音声を文字列や単語として出力する技術です。そのために、コンピュータの内部ではまず、数として表された音声の列が、数として表された音素に結び付けられます。なぜ数で表されるかと言うと、よく知られている通り、コンピュータは0と1からなる二進法の数字で表されるデータを扱う機械だからです。音声を音素に結び付けるときに、先ほどお話したような「無視していい違いと、無視してはいけない違い」に気をつける必要がありますが、それをうまくやるために「機械学習」という技術が応用されています。「学習」という言葉が入っているので、あたかも機械が自らの意志で学んでいるようなイメージを持たれる方もいらっしゃるかもしれませんが、機械学習の目的は「関数を求める」ことです。

――関数というのは数学で出て来るy=f(x)などですか?

川添:そうです。関数というのは、数を入力して、一つの数を出力するものです。機械学習で音声を音素に結びつけるということは、音声を表す数が入力されたら、対応する音素を表す数を出力できる関数を求めることなのです。そのような関数を適切に求めるためには、大量の音声のデータと、それに結び付けられる音素の情報を機械に与える必要があります。


新着記事

»もっと見る