先日、スマートスピーカーとスマートリモコンの連携の記事を書きましたが、今回は、スマートスピーカーに搭載されているAlexaやsiriの基本的な技術をわかりやすく解説したいと思います。
スマートスピーカーは大きく分けると「聞く」・「話す」の2つの機能(技術)に分類されます。
・聞く … 音声認識技術
・話す … 音声合成技術
ここでは、スマートスピーカとスマートリモコンの連携で使っていた、スマートスピーカに搭載されている聞く力(音声認識技術)とは、どのようなものなのか、その基本的な流れを説明と次の通りです。
【音声認識の流れ】
音(音響)を理解する
人が話したり、物音がなると、音は空気の振動として波になって人の耳に届きます。
波の大きさで音量がかわり、次の波との間隔(周波数)により音が変わります。
その周波数をいつくかに分割し特徴やパターンを覚えさせておく※1(事前に学習することで)、この音は「a」「i」「e」などとコンピュータでも理解できるようになります。
※1:音響分析・音響モデルといいます
単語として理解する
次に、「o」「h」「a」「y」「o」「u」(ohayou)と音がわかっても、これが何かはわかりません。
このために、音を理解したあとに、「o・h・a・y・o・u」=「おはよう」という単語に変換する仕組みが必要となります。
この変換は単語辞書などを使って、上記のようなパターンをいくつも単語として登録し、音をもとに単語へと変換します。
言語として理解する
単語として理解した後には、言語(ことば)として理解する必要があります。
例えば、「私はサッカーが好きです」と言った場合、これらは単語として理解した
私 + は + サッカー + が + 好き + です
というものをつないで表現します。
このときに、「私」の後にくる単語は「は」とか「が」とか「の」とかいろいろあります。
この「私」に続く、単語の発生パターンや出現頻度および文脈の正しさなどをもとにパターン化しておきます。(これを言語モデルという)
これにより、「私はサッカーが好きです」という言葉が完成します。
おさらい(スマートリモコンとの連携)
では、以前の記事にあるスマートスピーカ(Alexa)とスマートリモコン(Nature Remo)との連携では、どのように動作するかを説明すると
(1)「Alexaテレビをつけて」をスマートスピーカの音声認識技術により言語(テキスト)化
音 → 単語 → 言語(Alexaテレビをつけて)と理解することができ、
言語(テキスト)が生成されます。
(2)テキスト化したものをモノ(家電)とコト(指示)として識別
「テレビをつける」→ 「テレビ」+「つける」
(3)識別した結果からアイコンを特定し操作を行う
テレビ: テレビアイコン
つける: 電源ONボタン
(4)操作に紐づけられた赤外線信号を送る(リモコン操作)
電源ONボタン: 「”format”:”raw”,”freq”:38,”data”:[5049,…」
赤外線信号がスマートリモコンから送られてテレビがつく。
まとめ
説明上、すごく簡単に記述しましたが、イントネーションや感情など人間が話す言葉には今回記載した内容以外の多くの要素が含まれています。
そのため、認識率をあげるためには、多くのサンプリング(学習データ)をもとに、より自然な音声認識結果がでるように各社頑張っている状況です。
最近では、生活の至る所に音声認識技術や音声合成技術というものが使われています。
(スマホ、カーナビ、家電製品、ゲーム、など)
詳しい技術は知らずとも、今回のような基礎的な知識を知っていると、違った見方や興味をもってより楽しむことができると思います。
【参 考】
コメント