スマートスピーカーに用いられる技術
好きな温泉地は別府。エンジニアのしらいしです。
「Alexa、電気をつけて」「OK Google テレビをつけて」
スマートスピーカーも一般的になり、我が家も家電の操作はほとんどAlexaにお願いしています。カーナビも音声操作のものが増えてきています。
それらに用いられている技術といえば、音声認識と自然言語処理です。
今回は自然言語処理について気になったので調べてみました。
音声認識も自然言語処理も、ディープラーニングの登場によって飛躍的に進歩した技術です。
いわゆる「人口無脳」とよばれるチャットボットが開発されていた頃は、
辞書に登録したキーワードをもとに回答を行う仕組みや、大量のサンプルデータを保持し、類似度が高い回答を行う仕組みが多かったです。
しかし、現在は文章を分解して、続く言葉の確率を計算して文章を作り上げる処理が主流になっています。
ここでよく見かけるのが「RNN」「LSTM」といったアルゴリズムです。
これらは音声認識の技術でも利用されています。
RNNは「Recurrent Neural Network」の略で「回帰型ニューラルネットワーク」「再帰型ニューラルネットワーク」などと訳されます。
ものすごく簡単に言えば、入力と出力の間にある中間の処理を再帰的に行うことで、文脈から言葉を選んで文章を生成できるようになります。
RNNの持つ課題を解決するために、LSTM(Long Short-Term Memory)といったものも出てきました。
他にも「マルコフ連鎖」を用いた自然言語処理などもあるようです。
ざっくりとした内容になってしまいましたが、
この辺りの詳細な処理内容を理解するためには、統計や確率などの数学の知識が欠かせません。統計学についてはベイズ統計などから学ぶのが良さそうです。
AIに興味のあるエンジニアは数学の知識を磨く必要がありますね。