Alexaスキル開発

公開: 2021-07-19

このブログでは、AWSでのAlexaスキルの作成の概要を説明する前に、Alexaとは何か、音声認識テクノロジーの重要性について説明します。

Alexaとは何ですか?

Alexaは、Amazonが提供するクラウドベースの音声認識および応答サービスです。 これにより、ユーザーはコマンドを話すことでデバイスを制御し、情報にアクセスできます。

これは、AmazonのEchoやその他のサードパーティ製デバイスを含むさまざまなデバイスで動作します。

なぜAlexa?

これは純粋に私自身の親しみやすさに基づいています。 この分野の他の主要なプレーヤーは、GoogleアシスタントとAppleのSiriであり、どちらも非常に類似した音声認識サービスです。

なぜ声?

コンピューターのユーザーインターフェイスの設計は、さまざまな進化の段階を経てきました。 各ステップは、以前の設計を改善しようとします–いくつかは他よりもうまくいきます。 アクセシビリティの場合、これは特に重要です。 ただし、アクセシビリティに関係する人に尋ねると、多くのユーザーのニーズを満たすのにどれだけ短いことが多いかを教えてくれるでしょう。

コンピュータユーザーインターフェイスの(非常に)簡単な歴史

バッチコンピューティング/パンチカード

非常に初期の「一般的な使用」コンピュータは、パンチカードの面倒な作成を必要とし、一般に、平均的な洗濯機よりも計算能力が低かった。

コマンドラインインターフェイス(CLI)

これをコンピュータを制御する*唯一の*方法と見なす人もいますが、一般的なコンセンサスでは、実行したいタスクによっては少し不便になる可能性があります。 この時点での主な入力方法は明らかにキーボードでした。 それでもワークステーションのセットアップの定番ですが(おそらく長い間続くでしょう)、タイプすることを学ぶことは使用の難しい障壁になる可能性があります。

グラフィカルユーザーインターフェイス(GUI)

グラフィカルユーザーインターフェイスの出現により、Windowsベースのシステムが導入されました。これは、使いやすさとUXの点で大きな飛躍でした。 そしてもちろん、これらの光沢のある新しいウィンドウをドラッグするために、マウスが発明されました。これは、コンピューターと対話するための非常に直感的な方法です。

スマートフォン

以前はデスクトップコンピューターで使用されていましたが、タッチスクリーンテクノロジーは、スマートフォンやその他の「スマート」デバイスが登場するまで実際に普及することはありませんでした。 キーを大声で鳴らす必要はもうありません!

ボイス

音声操作技術の開発は、使いやすさとUXの面でもう1つの大きな飛躍を形成します。 ソフトウェアと対話するために必要な唯一の能力は、同じ言語で話すことができることです。 インターフェースはほぼ完全に自然であるため、学習曲線はほとんどありません。

なぜ前の文で「ほぼ」を使用するのですか? まあ、あなたが望む結果を得る方法であなたのコマンドをポーズする方法を学ばなければならないという事実はまだあります。

人々がこの種のインターフェースを使い始めるのが簡単であることに加えて、姿勢や眼精疲労などの他の利点があります。どちらの問題も、コンピューターで長時間作業する人なら誰でもよく知っているでしょう。

ユーザーインターフェースの進化

勢力均衡

何年にもわたって進化してきたさまざまなタイプのユーザーインターフェイスを見ると明らかになることの1つは、それらすべてに共通点があるということです。 この問題に対処するために多くのリソースと工数が費やされているにもかかわらず、コンピューターの動作に合わせるために、それらはすべてある程度の作業を行う人々を必要とします。 おそらくこの意味で、音声やジェスチャー認識(解決が難しい問題)などのテクノロジーは、このバランスの変化を示しています。 コンピューターは、人間の操作方法に適合するように機能しています。

音声認識の課題

1950年代にさかのぼると、音声認識は、私たちにとって第二の性質であるため、一見難しい問題の1つです。 たとえば、次の文を考えてみましょう。

店主:「あなたが探しているものを聞いてもいいですか?」

顧客:「4本のろうそく。」

もちろん、これを書面で見ると、その人が何を望んでいるのかが正確にわかります。 しかし、口頭で聞くと、実際に「フォークハンドル」が欲しかったのかもしれません!

これはかなり些細でありそうもないシナリオですが、このようなあいまいさは口頭言語では非常に一般的です。 コンピュータに課せられている操作の種類を考えると、その影響は計り知れません。

その間、多くの方法が利用されてきましたが、隠れマルコフモデルとニューラルネットワークが最も成功しています。 最近では、ディープラーニングが利用されており、それが現在利用可能な堅牢なソリューションを提供してくれました。

必要な手順の比較

「ハードワークに勝るものはありません。」 〜トーマスA.エジソン

…それともありますか? 比較的現代的なテクノロジーでさえ、余分なステップのオーバーヘッドが伴い、そのテクノロジーに取り組むようになり、その逆はありません。

これは、私たちが気付かないうちにどれだけの仕事をするかを説明するために「アルゴリズム的に」設定されたいくつかの基本的なタスクです。

テレビのオン/オフ:

従来の方法

  • リモコンを探す
  • リモコンを拾う
  • 正しいボタンを探す
  • ボタンを押す

音声方式

  • 「アレクサ、テレビのオン/オフ」

To-Doリストに項目を追加します。

従来の方法

  • 電話を探す(そしてそれを拾う)
  • 電話のロックを解除する
  • アプリを探す
  • アプリを開く

音声方式

  • 「アレクサ、「パンを買う」を私のやることリストに追加して」

ご覧のとおり、音声でデバイスを制御する機能を使用すると、必要な手順がはるかに少なくなります。

指標

これは、音声起動サービスの一般的な状態を示すいくつかのグラフです。 アプリストアのダウンロードに比べると数は少ないですが、この分野は急速に成長しています。

2017年12月の米国におけるスマートスピーカーの市場シェアGoogleでのAlexaアプリのダウンロード

クレジット:https://www.voicebot.ai/amazon-echo-alexa-stats

Amazon SkillsAPIの概要

Amazon Alexa Skills APIは、デバイスを介して受信した音声コマンドを受信、認識、処理、および応答するためのフレームワークを提供します。

一般的な手順は次のとおりです。

必要な手順の概要

スキルに名前を付ける

スキルの呼び出し名を選択します。これは、Alexaをアクティブ化して、コマンドに応答できるようにするために使用されます。

あなたの意図を定義する

Amazonスキルでは、「インテント」または「インテンション」は、ユーザーのコマンドに関連付けられたリクエストまたはアクションです。

たとえば、「アレクサ、1729年のこの日に何が起こったのか」という文では、「1729年のこの日に何が起こったのか」というコマンドがあります。 事前定義されたインテントにマップされ、アプリが回答を取得するための正しいキーワードを提供します。

スキルをより柔軟にするために、「スロット」と呼ばれるものを使用します。これは、基本的に特定のタイプのデータのプレースホルダーです。

モデルを構築する

ここでは、詳細情報のプロンプトや考えられる回答パターンなど、Alexaとのやり取りの全体的な構造について説明します。

エンドポイントを定義する

これは、アプリケーションのロジックを処理するコードの物理的な場所を指します。 インターネット上のどこにでも格納できますが、最も簡単なオプションはAWS Lambdaを作成することです。これは、スキルによってリモートで呼び出すことができます。

ラムダ関数を作成する

AWSでこれを作成するのは非常に簡単です。 セットアップとマッピングを少し行う必要がありますが、何が必要かを理解するための青写真が提供されています。

Alexaスキルからコマンドを受信すると、ここのコードは正しい応答を処理し、追跡する必要のあるモデルを更新します。

結論

これは、音声起動サービスの機能と、Alexaスキルキットを使用してサービスを作成する方法の(非常に)簡単な概要です。 Alexaスキル開発に関する次の投稿では、実際に小さなスキルを作成してAmazonSkillsに公開します。 または、Webデザインと開発についてサポートが必要な場合は、今すぐご連絡ください。


ご不明な点がございましたら、お気軽にお問い合わせください。