Alexa Conversationsスキルのトラブルシューティング



Alexa Conversationsスキルのトラブルシューティング

Alexa Conversationsを使ったスキルを作成する際に問題が発生していますか? 以下のセクションでは、よくある問題に対して考えられる解決方法を紹介します。各セクションでは、モデルの編集モデルのビルド応答スロットタイプ発話セットスキルの起動スキルのテストスキルの認定のトピックを取り上げています。

次のサポートチャネルを利用することもできます。

Alexa Conversationsに関する既知の問題の一覧については、既知の問題を参照してください。

モデルの編集

問題: モデルへの編集内容が保存されない

現象
Alexa Conversationsモデルを編集してタブを切り替えると、データが保存されません。

解決方法

  • 頻繁に保存してください。タブ間のナビゲーションは、開発者コンソールセッションを拡張するためのアクティビティとしてカウントされるとは限りません。

  • ビルドページからモデルを編集する場合は、ブラウザタブを1つだけ使用してください。複数のブラウザタブを開いていても問題はありません。たとえば、ビルドページ用に1つのタブ、コードページ用に1つのタブ、テストページ用に1つのタブを開くことができますが、ビルドタブを2つ開いて、一方のタブに変更を加えると、データが失われるおそれがあります。

問題: 右側のパネルに変数が定義されていないと表示される

右側のパネルに「変数が定義されていません」というエラーメッセージが表示されます。

解決方法
このエラーは、ダイアログにアノテーションを付けている間に変数を定義し、その変数を発話セット、API定義、応答のいずれかで使用して、その変数を削除した場合に発生します。

モデルのビルド

問題: モデルのビルド時にエラーが発生する

現象
モデルをビルドしようとすると、ビルドに失敗しましたというメッセージが表示されます。

解決方法

  • ビルドに失敗しましたメッセージで、アノテーション付きのダイアログの調査に使用できる情報や行番号を確認します。エラーの詳細については、Alexa Conversationsエラーを参照してください。

  • Alexa Conversationsダイアログで、すべてのユーザー行とAlexa行に成功アイコン(チェックマークの入った緑色の丸印)があることを確認します。行に失敗アイコン(感嘆符)がある場合、行の設定が完了していません。ユーザー入力Alexa応答のスライドパネルで設定を確認し、不足している要素を探します。オプションの入力や選択の後には+作成のクリックが必要になることがあるため、設定の不足はよくあるエラーです。

  • 以下のうち、少なくとも1つの要素を含むダイアログがあることを確認します。
    • 引数を持つ応答
    • 必須引数とリクエストテンプレートを持つAPI
    • オプションの引数とその引数を知らせる開始文を持つAPI
  • ダイアログアクトがサポートされていることを確認するには、Alexa Conversationsでのダイアログアクトの使用を参照してください。

  • エラーがMissingRequestTemplateV2MissingDialogAnnotationMismatchArgumentSizeMissingSampleUtteranceSchemaErrorのいずれかの場合、よくあるエラーの提案を参照してください。

問題: モデルをビルドするとトラフィックが輻輳していることを示すメッセージが表示される

現象
モデルをビルドするとトラフィックが輻輳していることを示すメッセージが表示されます。

解決方法
しばらくしてからもう一度試すか、Alexa Community Slack Channel(サインイン参加登録)またはAlexa Skills Kit開発者フォーラムから問い合わせてください。

問題: モデルをビルドするとエラーコードMissingSampleUtteranceが表示される

現象
モデルをビルドすると、Missing sample utterance. At least one sample utterance is required. Error code: MissingSampleUtteranceのエラーメッセージが表示されます。

解決方法
対話モデルに、サンプル発話を持つインテントが少なくとも1つあることを確認します。開発者コンソールのインテントにアクセスするには、左側のペインで対話モデル > インテントを展開します。たとえば、サンプル発話をスキルが使用するビルトインインテントに追加します。

問題: モデルをビルドするとエラーコードMissingRequestTemplateV2が表示される

現象
モデルをビルドすると、次のようなエラーメッセージが表示されます: Annotation of Request for argument "day" with slot type "AMAZON.DATE" to a Response is missing from the sample dialogs and must be added. Error code: MissingRequestTemplateV2

解決方法
必要なすべてのAPI引数に、その引数をリクエストするAlexaターンが少なくとも1つあることを確認します。また、各APIにも、Request Argsダイアログアクトを使用するダイアログを少なくとも1つは含めるようにしてください。このエラーのトラブルシューティング例については、MissingRequestTemplateV2を参照してください。

問題: モデルを更新した後、MismatchArgumentSizeなどのビルドエラーが表示される

現象
モデルを変更した後、変更前のモデルの状態に該当すると思われるビルドエラーが表示されます。たとえば、API定義を2つの引数から1つの引数に変更してモデルを再ビルドすると、2つの変数はもう割り当てられていないにもかかわらず、Dialog Name: "<Dialog name>" - "<API definition>" only has 1 arguments in its definition, but 2 variables are assigned to it. Error code: MismatchArgumentSizeが表示されます。

解決方法
項目(前のケースでは「API to Invoke」)を応答のアノテーションから一度削除し、追加し直します。場合によっては、発話セットにも同じアプローチを取る必要があります。詳細についてはMismatchArgumentSizeを参照してください。

問題: モデルをビルドするとエラーコードMissingListRequestTemplateが表示される

現象
モデルをビルドすると、次のようなエラーメッセージが表示されます: An Alexa Response with a Request Dialog Act for type "List<AMAZON.City>" is missing. Error code: MissingListRequestTemplate

解決方法
引数をリクエストするAPIに追加した後にこのエラーが表示される場合、開発者コンソールがAlexa応答パネルのリクエストするAPI引数フィールドの新しい引数にタグを自動追加したかどうかを確認します。その場合は、新しいタグを削除します。

応答

問題: 応答プロンプトをスキルに追加してスキルを保存すると、プロンプトのコンテンツが消える

現象
応答ページでオーディオ応答名を入力し、プロンプトを追加してからプロンプトを更新をクリックします。にもかかわらず、モデルを保存するとプロンプトのコンテンツが消えてしまいます。

解決方法
プロンプトを追加した後(プロンプトを作成をクリックする前)、必ずプロンプトの右にある+をクリックします。そうしないと、開発者コンソールはプロンプトを保存しません。

問題: スキルからの応答にカスタム応答テンプレートが使用されない

現象
Alexaが、ユーザーへの応答の際にカスタム応答テンプレートを使用しません。

解決方法
開発者コンソールのインターフェースセクションで、スキルに対してAlexa Presentationインターフェースを有効にしていることを確認します。

問題: 応答でオーディオファイルを再生すると問題が発生する

現象
応答テンプレートを参照するオーディオファイルが機能しません。

解決方法
オーディオファイルがAPLAのオーディオ形式要件を満たしていることを確認します。詳細については、オーディオファイルのサポートを参照してください。

問題: 応答で変数を引数にマッピングする際、必要な変数が見つからない

現象
Alexa応答に関連付けられたAPIの変数と引数のマッピングを設定しようとしたが、ドロップダウンメニューに必要な変数が表示されません。手動で変数名を入力することもできません。

解決方法
応答を設定する前に、呼び出すAPIを選択します。呼び出すAPIを選択すると、応答の変数に利用可能なすべてのオプションが入力されます。

問題: ダイアログにアノテーションを付けている間、新しい応答を作成できない

現象
ダイアログにアノテーションを付けている際、特定のダイアログ行にAlexa応答を作成していないことに気付くことがあります。その結果、開発者コンソールの応答部分を開き、プロンプト作成に使用したのと同じ情報をすべて再入力しなければなりません。

解決方法
ダイアログアノテーションツールから直接応答を作成できます。Alexa応答スライドパネルを使用する際、応答の下のドロップダウンメニューをクリックし、オプションリストを上までスクロールします。最初のオプションである新しい応答を作成をクリックします。

問題: 値を持つカスタムスロットタイプをAPL応答に渡そうとすると、スキルの呼び出しがエラーになる

現象
値を持つカスタムスロットタイプをAPL応答に渡そうとすると、エラーが発生してスキルを呼び出すことができません。

解決方法
現時点では、Alexa Conversationsは値を持つカスタムスロットタイプをAPL応答に渡すことができません。このため複雑なスロットタイプ(プロパティを持つスロットタイプ)を応答に渡す必要があります。そのためには、APIからすべてのデータを返し、応答に送信します。次に、APIでそのデータを参照します。たとえば、APIから以下を戻す場合は次のようになります。

return {
  apiResponse: {
    'key1' : 'val1',
    'key2' : 'val2'
  }
}

…以下を応答に接続します。

invoke api(..) => res => Alexa Response (res:  Result) => APL|APLA

次に、APLおよびAPLAで、以下を実行します。

${payload.res.key1} and ${payload.res.key2}

ただし、音声応答テンプレート(APLA)のみを使用する場合、値を持つカスタムスロットタイプをAPLAに渡すことができるため、この回避策は不要です。

スロットタイプ

問題: 指定可能な値のリストを使ったカスタムスロットタイプを作成できない

現象
リストの使用可能な値を指定するカスタムスロットタイプを作成したいと考えています。たとえば、PizzaToppingsというスロットタイプで、リストの値をピーマンマッシュルームパイナップルなどにします。新しいスロットタイプを作成する際、ユーザーインターフェースでカスタムプロパティを作成できません。

解決方法
スロットタイプを追加する際、値を持つカスタムスロットタイプを作成を選択します。

発話セット

問題: 「There is no Utterance Set with Dialog Act Invoke APIs for this API Definition.」というエラーが表示される

現象
There is no Utterance Set with Dialog Act Invoke APIs for this API Definition. Error code: MissingOpeningSentenceForApi」というエラーが、指定したAPI定義にInvoke APIsダイアログアクトを使用する発話セットがある場合にも発生します。

解決方法
発話セットにAPI定義に含まれる引数の数と同数か、それよりも少ない引数が含まれていることを確認します。そうでない場合、Alexa Conversationsは発話セットがAPIの呼び出す発話である可能性が低いと考えます。なぜなら、発話セットが必要な数よりも多い入力引数を提供しているからです。

スキルの起動

問題: スキルが起動リクエストを受信する

現象
スキルのエンドポイントがLaunchRequestを受信します。Alexa Conversationsをデフォルトのダイアログマネージャーとして選択した場合、スキルではなくAlexa Conversationsが起動リクエストを受け取る必要があります。

解決方法
開発者コンソールのインターフェースセクションで、スキルのデフォルトのダイアログマネージャーとしてAlexa Conversationsを設定していることを確認します。

問題: シミュレーターでスキルを呼び出すとエラーになる

現象
シミュレーターでスキルを呼び出すと、赤い感嘆符(!)のメッセージが表示されます。

解決方法
エンドポイント(スキルコードの場所のこと)を指定していることを確認します。開発者コンソールのビルドタブの左側で、エンドポイントを選択します。

スキルのテスト

問題: Alexaシミュレーターを使ってスキルをテストすると、Alexaシミュレーターに<音声のみの応答です>と表示されてスキルセッションが終了する

現象
スキルをテストし、ユーザー発話とAlexaシミュレーターを入力すると、Alexaシミュレーターに<音声のみの応答です>と表示されてスキルセッションが終了します。

解決方法
対話モデルには、少なくとも1つのサンプル発話のあるカスタムインテントが少なくとも1つある必要があります。

問題: APIにリスト引数があり、ランタイムテスト中、Alexaに「すみません。問題が発生しました」と言われた

現象
スキルにリスト引数を使用するAPIがあり、ランタイムテスト中、Alexaに「すみません。問題が発生しました」と言われました。

解決方法
APIが複数のリスト引数を取らないことを確認します。(各APIは最大1つのリスト引数を取ることができます。)

スキルの認定

問題: サンプルフレーズのテストが原因でスキルの認定に合格できなかった

現象
「サンプルフレーズが想定した応答を返すことを確認してください」という理由でスキルが認定に合格できませんでした。

解決方法
認定チームが参照するサンプルフレーズは、開発者コンソールの公開タブで入力したユーザーに表示されるサンプルフレーズです。ユーザーに表示されるサンプルフレーズにスキルの発話セットの発話と一致する発話があること、またこれらの発話が受け付け可能な応答を返すことを確認します。