4.2 Alexaスキルの定義

はじめに

この演習では、新しいAmazon Alexaスキルを定義および設定するために必要なすべての手順を説明します。

前提条件

Amazon Alexaスキルを作成および設定する前に、次の操作をおこなう必要があります。

  1. Amazon Developerアカウントを持ち、サインインしている
  2. AWSアカウントを持ち、サインインしている

詳細は、 演習4.1を参照してください。

4.2.1 Alexaスキルの作成

新しいスキルを作成するには、次の手順に従います。

Amazon Developer Dashboard​画面(https://developer.amazon.com/dashboard)で、Alexa​メニューから​Alexa Skills Kit​を選択します。

Alexa Skillの選択

alexa開発者コンソール​で、「スキルを作成」ボタンをクリックします。

Alexa Developer Console

新しいスキル​を作成画面で、次の操作を実行します。

  • AEP​を​スキル名​として指定します。
  • デフォルト言語」として「英語(UK)」または「英語(米国)」を選択します。
  • スキルに追加するモデルを選択します」セクションで、使用するモデルとして「カスタム」を選択します。

スキルの作成

スキルのバックエンドリソースをホストする方法を選択します」セクションで、使用する方法として「独自の​をプロビジョニングします」を選択します。

スキルの作成2

次に、「スキルを作成」をクリックします。

メモ

画面は、選択した​デフォルトの言語​に応じて少し異なるように見える場合があります。

テンプレート​を選択画面で、「テンプレートの選択」セクションで使用するテンプレートとして「最初から開始」を選択します。

選択」をクリックします。

テンプレートの選択

スキルが作成され、その後は​AEP​スキルのメイン画面に次のように表示されます。

プラットフォームスキルのメイン画面

4.2.2呼び出し名の定義

スキルを呼び出すには、呼び出し名が必要です。 これを定義するには:

左のメニューで「呼び出し」をクリックし、「スキル呼び出し名」をクリックします。 「スキルの呼び出し名」を「adobe experience platform」に変更します。 次に、「モデルを保存」をクリックします。

呼び出し名

これにより、Alexaスキルの呼び出しが更新され、次の手順の1つでスキルをテストする際に、Alexaと答えてadobe experience platform​を開くことができます。

4.2.3意図、サンプル、スロットの定義

次のステップは、スキルとのインタラクションを設定することです。 Alexaスキルとのインタラクションは、いわゆるインテントを通じておこなわれ、そのうちAmazonには5つの組み込みインテント(例:AMAZON.HelpIntent(ヘルプを求める場合)。 各インテントは、サンプルのアターナンスを定義します。インテントを呼び出す際に使用するフレーズ。 各インテントには、1つ以上のスロット値を指定できます。の値を指定します。

私たちのスキルに必要な様々な目的、アターナンス、スロット値を段階的に定義するのではなく、JSONファイルを使用して1回で設定します。 この作業を行うには、以下の手順を実行します。

次に、左側のメニューで「インタラクションモデル」をクリックし、「JSONエディター」をクリックします。

JSONエディター

ファイルAWS Alexa Interaction Modelをダウンロードして開きます。

すべてを選択し、すべてをコピーします。

生

右側の​JSONエディター​パネルで、すべてを選択し、前の手順でコピーしたコードを、既に存在するテキストを上書きして貼り付けます。 これにより、インタラクションモデルが読み込まれます。

モデルを保存​をクリックします。

JSONファイルのドラッグ&ドロップ

左側のメニューの「目的」をクリックします。その後、左側のレールにスキルの様々な目的が表示されます。次に例を示します。LdapIntentGetProductIntent、… UseEmailAddressIntent​を参照してください。これらの目的の一部にはスロットがあります(例:productId for GetProductIntent)。

モデルの保存

4.2.3インターフェイスの定義

次に、スキルのインターフェイスを定義します。 インターフェイスは、スキルとのやり取りを定義します。声を通してのみ、または技能もディスプレイとタッチをサポートしますか? ディスプレイとタッチのイベントを使用するには、そのインターフェイスを有効にする必要があります。 また、アドビのスキルの実装では、Amazon Presentation Language(BETA)が使用されます。 これを適切に設定するには:

左のメニューで​Interfaces​をクリックします。

インターフェイス

インターフェイス​パネルで、Alexaプレゼンテーション言語​と​自動委任​の両方が有効になっていることを確認します。

インターフェイスの有効化

上にスクロールし、Save Interfaces​をクリックします。

インターフェイスの有効化

4.2.4実装のセットアップ

スキルのロジックはNodeJS Alexa SDK v2を使用して実装されます。

AWS Lambdaにデプロイされた機能をスキルから呼び出す必要があります。 その後、必要に応じてサーバレス機能を呼び出せるように、その機能をどこで見つけるかをスキルに伝える必要もあります。

まず、スキルに対するサーバーレス機能を設定します。 この作業を行うには、以下の手順を実行します。

AWSマネジメントコンソール(https://us-east-2.console.aws.amazon.com/console/home)にログインしていることを確認します。

右上のドロップダウンリストボックスから、希望するデータセンターを選択します。 例:米国東部(オハイオ)​または​EU(アイルランド)

データセンター

Find Services​に​lambda​と入力し、Enterキーを押します。

ラムダ

AWS Lambda​のホーム画面で終了します。 「関数を作成」をクリックします。

ラムダ関数のメイン画面

Create function​画面で、次の操作を実行します。

  • 作成者を新規に選択
  • スキル関数に​関数名​を指定します。例:AEP
  • Runtime​ドロップダウンリストから​Node.js 14.x​を選択します。

新規作成

デフォルトの実行ロールを変更」をクリックします。 次に、基本的なLambda権限​を持つ新しいロールを作成します。

次に、「関数を作成」をクリックします。

権限

AEP​関数定義画面で、「コード」​タブをアクティブにします。 「トリガーを追加」をクリックします。

プラットフォーム関数の定義

使用可能なトリガーのドロップダウンリストで、「Alexa Skills Kit」を選択します。 次に、AlexaスキルのスキルIDも指定する必要があります。

設定が必要

メモ

Alexa Skills Kit​が​トリガーを追加​リストに表示されない場合、選択したデータセンターではサポートされません。 別のデータセンター(例:Alexa Skills Kit​トリガーを提供するEU(アイルランド))。

Alexaのスキル​に戻ります。 左のメニューで​Endpoint​をクリックします。 スキルID​を検索します。 「クリップボードにコピー」をクリックします。

エンドポイント

クリップボードにコピー」をクリックして、スキルをコピーします。

AWS Lambda​ホーム画面の​AEP​関数定義画面に戻ります。

「Skill ID Verification」​の下の「Skill ID 」フィールドにスキルIDを貼り付けます。​を有効にする」が選択されていることを確認します。これはデフォルトの推奨設定です。

次に、「追加」をクリックします。

スキルIDの設定

AWS Lambda関数画面に戻り、 aep の下の Layersをクリックします。

プラットフォームの選択

コード」タブで、「​からアップロード​.zipファイル」をクリックします。

関数コード

そうすれば、これが見える。 AWS Alexa Lambdaコードをダウンロードし、zipファイルを​aepskill.zip​としてコンピューターの任意の場所に保存します。

アップロード」をクリックします。

関数コード

コンピュータに保存した​aepskill.zip​を、ファイルブラウザダイアログから選択します。 「開く」をクリックします。

プラットフォームスキルZIP

保存」をクリックします。

プラットフォームスキルZIP

次に、「設定」タブに移動し、「環境変数」をクリックします。

環境変数

​を編集」をクリックし、以下の表から必要な変数を追加します。これにより、環境変数​パネルは次のようになります。

環境変数

キー
alexaBrandName ルマ
emailAddress rmaur@adobe.com
ldap --demoProfileLdap--
configurationId --configurationID--
重要
  • alexaBrandName​を、ブランド名の小文字バージョンとして定義します(例:Lumaは​luma)。
  • ブランド名に​**&​が含まれている場合は、​で置き換えます。 例えば、H&Mは​hとm**​となる。

alexaBrandNameldap​および​emailAddress​を、特定の設定詳細に置き換えてください。

完了したら、「Save」をクリックします。

環境変数

最後の手順として、この機能を表すAmazonリソース名(ARN)をアドビのスキルにコピーする必要があります。

ARN - arm:aws.lambda:…の隣にあるコピーアイコンをクリックします。… テキストを指定します。

ARN

Alexa開発者コンソール​に戻ります。

Endpoint​設定画面で、前の手順でコピーしたARNを「Default Region(必須)」フィールドに貼り付けます。

エンドポイント

次に、「エンドポイントを保存」をクリックします。

4.2.5スキルの最終処理

呼び出し、目的、インターフェイス、エンドポイントを設定したら、最後の手順はスキルの最終バージョンを構築することです。

この作業を行うには、以下の手順を実行します。

  • 左側のメニューから「呼び出し」を選択し、「スキル呼び出し名」をクリックします。
  • モデルを保存」をクリックし、「モデルを構築」をクリックします。 これにより、スキルのモデルが構築されます。 これにはしばらく時間がかかる場合があります。

ビルド開始

スキルのメイン画面で、スキルビルダーのチェックリスト(オプションの​スキル内製品​を除く)のすべての項目がチェックされていることを確認します。 この作業を行うには、以下の手順を実行します。

ビルド」をクリックします。 alexa開発者コンソール​に、スキルビルダーのチェックリスト​の最初の4項目に対して緑色のチェックマークが表示されます。

終了

これで、スキルとその実装を使用する準備が整いました。

この練習は終わりました。

次の手順:4.3Alexaのスキルを使う

モジュール4に戻る

すべてのモジュールに戻る

このページ