チュートリアル: Alexa Conversationsのダイアログにアノテーションを付ける方法
• (GA)
en-US
• (Beta)
en-AU
, en-CA
, en-IN
, en-GB
, de-DE
, ja-JP
, es-ES
, es-US
このチュートリアルでは、Alexa Conversationsを使用するWeatherスキルの簡単なダイアログにアノテーションを付ける方法について説明します。アノテーションを付けるのは、次のダイアログです。
ユーザー: 天気を教えて。
Alexa: どの都市のですか?
ユーザー: 神戸。
Alexa: 神戸の気温は二十一度です。
実際のスキルでは通常、複数のダイアログにアノテーションを付けて、ユーザーとスキルが対話するさまざまな方法を示します。このチュートリアルでは、ダイアログのアノテーションについてのみ説明します。バックエンドのスキルコードについては説明しません。
Alexa Conversationsを使用して開発を開始するには、Pet Matchスキルの開発チュートリアルの手順を実行する、ピザ注文リファレンススキルのコードをダウンロードする、Alexa Conversationsのスキル設定とバックエンドスキルコードを含むAlexa-hostedサンプルスキルテンプレートを使用する、といった方法があります。
- Alexa Conversationsスキルのダイアログにアノテーションを付ける手順
- 前提条件
- ステップ1: ダイアログを作成する
- ステップ2: 結果を返すためのカスタムスロットタイプを作成する
- ステップ3: 最初のユーザーターンにアノテーションを付ける
- ステップ4: 情報を提供するユーザーターンにアノテーションを付ける
- ステップ5: APIを呼び出すAlexaターンにアノテーションを付ける
- ステップ6: 情報を求めるAlexaターンにアノテーションを付ける
- ステップ7: スキルモデルをビルドする
- 関連トピック
Alexa Conversationsスキルのダイアログにアノテーションを付ける手順
ダイアログにアノテーションを付けるには、次の手順を実行します。
- ダイアログを作成します。
- 結果を返すためのカスタムスロットタイプを作成します。
- 最初のユーザーターンにアノテーションを付けます。
- 情報を提供するユーザーターンにアノテーションを付けます。
- APIを呼び出すAlexaターンにアノテーションを付けます。
- 情報を求めるAlexaターンにアノテーションを付けます。
- スキルモデルをビルドします。
前提条件
このチュートリアルを実行するには、Alexa Conversationsスキルが必要です。まだスキルを作成していない場合は、以下の手順に従って、開発者コンソールで作成してください。
Alexa Conversationsスキルを作成するには
- 開発者コンソールにログインします。
- スキルの作成をクリックします。
- スキル名を入力します。
- スキルに追加するモデルを選択でカスタムをクリックします。
- スキルのバックエンドリソースをホスティングする方法を選択で、ユーザー定義のプロビジョニングを選択します。
このチュートリアルではバックエンドコードを使用しないため、どのホスティング方法を選択するかは重要ではありません。 - 右上にあるスキルを作成をクリックします。
- スキルに追加するテンプレートを選択で、スクラッチで作成をクリックし、選択をクリックします。
- 次の手順に従って、Alexa Conversationsをサポートするために必要なインターフェースを有効にします。
- 左側のペインで、インターフェースをクリックします。
- インターフェースのリストで、Alexa Presentation Languageインターフェースを有効にします。
- インターフェースのリストで、Alexa Conversationsを有効にして、Alexa Conversationsをデフォルトのダイアログマネージャーとして使用するチェックボックスをオンにします。
- ヘッダーバーのインターフェースを保存をクリックします。
- 左側のメニューで、呼び出し名をクリックします。
- 呼び出し名を変更し、画面上部にある保存をクリックします。
ステップ1: ダイアログを作成する
最初のステップは、スキルを実行する過程でAlexaとユーザーの間で行われる一般的な会話を作成することです。ここでは、このページの冒頭で見たWeatherスキルの会話を入力します。
ダイアログを作成するには
- 左側のメニューで、Alexa Conversationsを展開します。
- ダイアログをクリックし、次にダイアログを追加をクリックします。
- ダイアログ名に
dialog0
と入力します。 - ユーザー:行に、
天気を教えて
と入力します。 - ALEXA:行に
どの都市ですか?
と入力します。 - ダイアログの下にあるユーザーの発話をクリックし、ユーザー:行に
神戸
と入力します。 - Alexaのセリフをクリックし、ALEXA:行に
神戸の気温は二十一度です。
と入力します。 - ヘッダーバーの保存をクリックします。
ユーザー:行とALEXA:行(ターン)の右側に表示される感嘆符のマークは、これらのターンの設定が不十分であることを示しています。ユーザーターンには発話セットを、Alexaターンには応答を設定する必要があります。会話を結び付けるためには、スロットタイプにラベルを付け、APIを定義する必要もあります。これらのタスクは、以降のステップで実行します。
ステップ2: 結果を返すためのカスタムスロットタイプを作成する
このステップでは、APIが返す情報用にカスタムスロットタイプを作成します。この例では、GetWeather
APIが都市と気温を返すため、Alexaは「神戸の気温は二十一度です。」と応答します。 したがって、都市と気温のプロパティを含むカスタムスロットタイプを以下の手順で作成する必要があります。
カスタムスロットタイプを作成するには
- 左側のメニューでアセットを展開し、スロットタイプをクリックします。
- +スロットタイプをクリックします。
- プロパティを持つカスタムスロットタイプを作成を選択し、スロットタイプの名前に
returnedWeather
と入力して、次へをクリックします。 - 新しいプロパティを追加をクリックし、タイプ名に
city
と入力して、スロットタイプAMAZON.Cityを選択します。 - 同様の手順で、タイプ名が
temperature
、スロットタイプがAMAZON.NUMBERのプロパティを追加します。 - ヘッダーバーの保存をクリックします。
ステップ3: 最初のユーザーターンにアノテーションを付ける
ダイアログに戻って、最初のユーザーターンを確認します。今度は、ユーザーの発話によって何が発生するかを考えます。
「天気を教えて」と話しかける場合、ユーザーは天気を返すAPIを呼び出したいと考えています。そこで、ダイアログアクトがInvoke APIsの発話セットを定義します。これは、ユーザーがAlexaに天気をたずねるさまざまな発話をまとめたものです。
ユーザーターンでは通常、変数値を持つ単語にはスロットタイプを割り当てて強調表示します。このユーザーターン(「天気を教えて」)には変数値を持つ単語がないため、発話セットを作成するだけでかまいません。
最初のユーザーターンにアノテーションを付けるには
- 左側のメニューのダイアログをクリックし、手順1: ダイアログを作成するで作成したダイアログをクリックします。
- 最初のユーザーターンで、任意の場所をクリックします。
- 右側に表示されるユーザー入力パネルで、ダイアログアクトにInvoke APIsを選択します。
- 発話セットの下にあるボックスをクリックし、新しい発話セットを作成を選択します。
- 発話セット名に
get_weather
と入力します。
ダイアログアクトは既に選択しているため、ダイアログアクトボックスにはInvoke APIsが自動的に設定されます。必要なのはAPI定義の選択だけです。 - サンプル発話で発話を追加をクリックし、
天気を教えて
と入力してEnterキーを押します。
発話のボックスが灰色(参照用)になっている場合でも、この手順を実行する必要があります。 - 上述の手順を繰り返して、サンプル発話に
天気を知りたい
と天気は
を追加します。
各エントリの後には、必ずEnterキーを押してください。 - 発話セットを編集ダイアログボックスで、保存をクリックします。
- ヘッダーバーの保存をクリックします。
ステップ4: 情報を提供するユーザーターンにアノテーションを付ける
GetWeather
APIは都市名を要求するため、都市名を指定するユーザーターン(「神戸」)にアノテーションを付ける必要があります。ユーザーは「神戸」の代わりに任意の都市名を指定できるため、都市にはスロットタイプでラベルを付ける必要があります。
次に、ダイアログアクトがInform Argsの発話セットを定義します。これは、ユーザーがAlexaに都市名を提供するさまざまな発話をまとめたものです。
情報を提供するユーザーターンにアノテーションを付けるには
- 「神戸」のユーザーターンで、
神戸
の文字をカーソルでハイライトします。 - スロットタイプで、AMAZON.Cityを選択します。
- 変数名はデフォルト値のままにして、追加をクリックします。
- ヘッダーバーの保存をクリックします。
- ダイアログに戻って、ユーザーターン「神戸」の行の任意の場所をクリックします。
- 右側に表示されるユーザー入力パネルで、ダイアログアクトにInform Argsを選択します。
- 発話セットの下にあるボックスをクリックし、新しい発話セットを作成を選択します。
- 発話セット名に
inform_city
と入力します。
ダイアログアクトは既に選択しているため、ダイアログアクトボックスにはInform Argsが自動的に設定されます。 - サンプル発話で発話を追加をクリックし、
{city}
と入力してEnterキーを押します。
Enterキーは必ず押してください。 - 上述の手順を繰り返し、サンプル発話
{city}の
と{city}では
を追加します。それぞれを入力した後に、必ずEnterキーを押してください。 - スロットまで下にスクロールします。
city
スロットはサンプル発話に含めているため、スロットリストに自動的に表示されます。 city
のスロットタイプとして、AMAZON.Cityを選択します。- 発話セットを編集ダイアログボックスで、保存をクリックします。
- ヘッダーバーの保存をクリックします。
- ユーザーターン「神戸」の右側に表示されるユーザー入力パネルで、変数→スロットのマッピングをamazonCITY0→cityに編集します。
- ヘッダーバーの保存をクリックします。
ステップ5: APIを呼び出すAlexaターンにアノテーションを付ける
このダイアログで、APIを呼び出すAlexaターンは「神戸の気温は二十一度です。」です。 このターンでGetWeather
APIを呼び出します。このターンにアノテーションを付けるには、ダイアログアクトを選択して応答を作成します。
APIを呼び出すAlexaターンにアノテーションを付けるには
- ダイアログで、Alexaターン「神戸の気温は二十一度です。」の行の任意の場所をクリックします。
- 右側に表示されるAlexaの応答パネルで、ダイアログアクトにAPI Successを選択します。
- 呼び出すAPIで、新しいAPI定義を作成をクリックします。
- APIの名前として
GetWeather
を入力します。 - 引数セクションの引数を追加をクリックします。
- 引数名には、
city
と入力します。スロットタイプで、AMAZON.Cityを選択します。 - 戻り値で、先ほど作成した
returnedWeather
スロットタイプを選択します。 - API定義ダイアログボックスで保存をクリックします。
- ヘッダーバーの保存をクリックします。
Alexaターン「神戸の気温は二十一度です。」のAlexaの応答パネルに 戻ります。 - 呼び出すAPIセクションに変数から引数のマッピングのセクションが表示されない場合は、GetWeather APIを選択したボックスをクリックすると、変数から引数のマッピングが表示されます。
- 呼び出すAPIセクションで、変数→引数マッピングをamazonCITY0→cityに編集します。
- 戻り値の型→変数マッピングを、returnedWeather→returnedWeather0に編集します。
- Alexaの応答の応答セクションで、新しい応答を作成をクリックします。
- 応答名に
return_weather
と入力します。 - Alexaプロンプトに表示されている「神戸の気温は二十一度です。」の神戸の文字をカーソルでハイライトします。
スロットタイプ選択ボックスが表示されます。 - スロットタイプ選択ボックスの下部にある新しい引数を作成に
city
と入力し、追加をクリックします。 - 視覚応答の下までスクロールして引数セクションを表示します。
- city引数のスロットタイプとして、AMAZON.Cityを選択します。
- 保存をクリックします。
- 右側のパネルの応答セクションで、変数→引数マッピングをreturnedWeather0.city→cityに編集します。
- ヘッダーバーの保存をクリックします。
ステップ6: 情報を求めるAlexaターンにアノテーションを付ける
Alexaターン「どの都市ですか?」にもアノテーションを付ける必要があります。 Alexaはこの質問により、GetWeather
APIで必要な情報をリクエストします。割り当てるダイアログアクトは引数をリクエストです。
情報を求めるAlexaターンにアノテーションを付けるには
- ダイアログに戻って、Alexaターン「どの都市ですか?」内の任意の場所をクリックします。
- ダイアログアクトには引数をリクエストを選択します。
- リクエストするAPIには
GetWeather
を選択します。
リクエストするAPI引数には、cityが自動的に設定されます。 - Alexaの応答の応答セクションで、新しい応答を作成をクリックします。
- 応答名に
request_city
と入力します。 - ダイアログボックスの一番下までスクロールし、保存をクリックします。
- ヘッダーバーの保存をクリックします。
ステップ7: スキルモデルをビルドする
ダイアログの各ターンの横には、そのターンの設定が完了していることを示すチェックマークが表示されます。
チェックマークではなく感嘆符が表示される場合は、前の手順で何かが抜けているため、スキルモデルをビルドできません。不足している設定を見つけるか、スキルモデルのビルド時に表示されるエラーメッセージを参照して詳細情報を確認します。
スキルモデルをビルドするには
- ヘッダーバーのモデルをビルドをクリックします。
Alexa Conversationsのクイックビルドが開始されます。ビルドが失敗した場合は、 モデルのビルド時にエラーが発生する問題を参照してください。
クイックビルドが成功すると、完全ビルドが開始されます。
関連トピック
最終更新日: 2022 年 01 月 14 日