Alexa Conversationsのエラー



Alexa Conversationsのエラー

Alexa Conversationsスキルのスキルモデルをビルドする際、以下のいずれかのエラーが発生することがあります。

よくあるエラー

一般的なエラーとして、MissingRequestTemplateV2MissingDialogAnnotationMismatchArgumentSizeMissingSampleUtteranceがあります。

MissingRequestTemplateV2

エラーメッセージ
Annotation of Request for argument <argument name> with slot type <slot type name> to a Response is missing from the sample dialogs and must be added.


Annotation of Request for argument cityName with slot type CityName to a Response is missing from the sample dialogs and must be added.

トラブルシューティング
必要なすべてのAPI引数に、その引数をリクエストするAlexaターンが少なくとも1つあることを確認します。このエラーメッセージは、Alexa ConversationsがAlexa応答を作成してAPI引数をリクエストしようとした際に、どのサンプルダイアログからも引数を取得できなかった場合に表示されます。たとえば、API GetWeather(location, date)がある場合、ユーザーから場所と日付の両方をリクエストするダイアログを少なくとも1つ記述する必要があります。つまり、いずれかのサンプルダイアログに「場所はどこですか?」「日付はいつですか?」といったターンを含める必要があります。

また、各APIにも、Request Argsダイアログアクトを使用するダイアログを少なくとも1つ含めるようにしてください。ユーザーが最初の発話の一部として引数を提供するダイアログを含めるだけでは不十分です。

ケース1
cityNamedayOfWeekという2つの必須引数を取るGetWeather APIがあり、以下のダイアログのみを作成した場合、APIに必要なdayOfWeekをリクエストしていないため検証エラーとなります。

ユーザー: 天気を教えて。
Alexa: どの都市のですか?
ユーザー: 神戸。
Alexa: 神戸の気温は34度です。

エラーを解消するには、サンプルダイアログを次のように修正し、両方の必須引数をリクエストします。

ユーザー: 天気を教えて。
Alexa: どの都市のですか?
ユーザー: 神戸。
Alexa: どの日ですか?
ユーザー: 土曜日です。
Alexa: 神戸の気温は34度です。

ケース2
このエラーメッセージは、ダイアログを追加する必要があることを示す場合もあります。たとえば、都市の郵便番号を返すGetWeather APIがあり、GetWeather APIの直後にSetDefaultZipcodeという別のAPIを呼び出して今後の天気予報にユーザーのデフォルトの郵便番号を設定するとします。以下のダイアログは、そのままでは検証エラーとなります。

ユーザー: 天気を教えて。
Alexa: どの都市のですか?
ユーザー: 神戸。
Alexa: どの日ですか?
ユーザー: 土曜日です。
Alexa: 神戸の気温は34度です。
GetWeather(cityName = Kobe, dayOfWeek = Saturday)の呼び出し → zipCode = 650
SetDefaultZipCode(zipCode=650)の呼び出し

このダイアログだけでは検証エラーとなり、次のエラーメッセージが表示されます。
A dialog must contain an Alexa Response with a Request Dialog Act for API definition argument zipCode of slot type AMAZON.Number

エラーを解消するには、zipCode API引数をリクエストするAlexaターン(「郵便番号を教えてください」など)を作成し、このターンを少なくとも1つのダイアログに追加する必要があります。

ユーザー: 天気を教えて。
Alexa: 郵便番号を教えてください。
ユーザー: 六五零です。
Alexa: どの都市のですか?
ユーザー: 神戸。
Alexa: どの日ですか?
ユーザー: 土曜日です。
Alexa: 神戸の気温は34度です。
GetWeather(cityName = Kobe, dayOfWeek = Saturday)の呼び出し → zipCode = 650
SetDefaultZipCode(zipCode=650)の呼び出し

ケース3
このエラーメッセージは、APIがダイアログの最初のターンですぐに呼び出された場合にも発生することがあります。以下のダイアログでは、ユーザーが最初のターンですべての値を提供しています。このままではダイアログは検証エラーになります。

ユーザー: {kobe}の天気を教えて
Alexa: 土曜日の神戸の気温は34度です。
GetWeather(cityName = kobe)の呼び出し

作成したのがこのダイアログだけであれば、ユーザーが最初のターンで値を提供しない場合に備えたAlexaのターンが用意されていないため、エラーになります。この問題を解消するには、都市をリクエストする別のダイアログを追加します。

ケース4
最初のターンで複数のAPI引数が提供される場合にも同じ問題が発生します。以下のダイアログは、そのままでは検証エラーとなります。

ユーザー: {kobe}の{today}の天気を教えて
Alexa: 土曜日の神戸の気温は34度です。
GetWeather(cityName = kobe, daysOfWeek = today)の呼び出し

この問題を解消するには、Alexaのターンで都市と日付をリクエストする1つ以上のダイアログを追加します。

MissingDialogAnnotation

エラーメッセージ
Dialog <dialog name> doesn't have annotation, please follow the guide to annotate it.


Dialog GetWeatherWithArg doesn't have annotation, please follow the guide to annotate it.

トラブルシューティング
現時点では、開発者コンソールのAPI定義セクションでAPI定義を更新しても、Alexa応答の情報(API引数など)は同期されません。このため、このエラーが発生したら次の点を確認してください。

  • 開発者コンソールですべてのサンプルダイアログのターン(ユーザー、Alexaの両方)にアノテーションが付けられていること。
  • ダイアログのすべてのターンに緑色のチェックマークが付いていること。

MismatchArgumentSize

エラーメッセージ
Dialog Name: <Dialog Name> - <API_Name> only has <number of arguments in definition> arguments in its definition, but <number of variables assigned in the dialog sample> variables are assigned to it


Dialog Name: RecordFavoriteColor - RecordColor only has 1 argument in its definition, but 2 variables are assigned to it

トラブルシューティング
現時点では、複数のビルドタブにまたがってダイアログを編集することはできません。エラーが発生するか、情報が不足してしまいます。このエラーが何度も出る場合は、次の手順を行ってください。

  1. まず応答からAPIを削除し、APIを追加し直してから、応答テンプレートで引数を更新します。
  2. APIの削除と再追加を行ってもMismatchArgumentSizeビルドエラーが残る場合は、発話セットの関連付けも削除してから追加し直す必要があります。これを行うには、ダイアログアノテーションツールで、ユーザーターンをクリックします。次に、右のユーザー入力ペインで、ごみ箱をクリックして発話セットの関連付けを削除し、モデルを保存して発話セットを再度選択してから、モデルをビルドします。この手順を確実に行ってください。1回の削除と再選択でMismatchArgumentSizeエラーの複数のインスタンスが解消される場合があります。

MissingSampleUtterance

エラーメッセージ
Missing sample utterance. At least one sample utterance is required. Error code: MissingSampleUtterance

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

SchemaError

エラーメッセージ
Unable to parse skill artifacts. Error code: SchemaError

トラブルシューティング
SchemaErrorタイプのエラーは、大抵の場合、スロット定義の問題を示しています。次の点を確認してください。

  • 各APIの定義が、API定義ページの下にある戻り値セクションに戻り値の型を指定していること。
  • 発話セットに空のスロット定義がないこと。

ダイアログエラー

エラー名 UIに表示されるエラー その他の情報

UNRELATED TEMPLATE USED FOR API(APIに関連のないテンプレートが使用されている)

Dialog Name: [DialogName] - Dialog: [DialogName] - Response Template [ResponseTemplateName] is not declared in the API definition for [ApiDefinitionName], but used immediately after the API in the dialog.

サンプルダイアログで、APIの後に関連する応答テンプレートが続いていません。

COMPOUND ENTITY USED FOR ANNOTATION(アノテーションに複合エンティティが使用されている)

Dialog Name: [DialogName] - Slot Type [SlotTypeName] cannot be used to annotate user utterance because it has properties. Only simple Slot Types can be used to annotate the user utterances in a dialog.

プロパティを持つスロットタイプを使ってユーザー発話にアノテーションを付けることはできません。

COMPOUND ENTITY USED FOR ADDELEMENTSTOLIST(リストへの要素の追加に複合エンティティが使用されている)

Dialog Name: [DialogName] - Slot Type [SlotTypeName] cannot be used to annotate user utterance because it has properties. Only Simple Slot Types can be used to annotate the user utterances in a dialog.

プロパティを持つスロットタイプを使ってユーザー発話にアノテーションを付けることはできません。この場合、リストでプロパティを持つスロットタイプを使用しようとしました。

DIALOG SEQUENCE ERROR(ダイアログシーケンスエラー)

Dialog Name: [DialogName] - Dialog: [DialogName] - Invalid sample dialog sequence:

  • ダイアログはユーザーアクションで始まる必要があります。
  • ダイアログを応答テンプレート、API、発話セットで開始できません。
  • ダイアログは応答テンプレートで終わる必要があります。
  • ダイアログをAPIやユーザーアクションで終えることはできません。

UTTERANCE SETS MUST FOLLOW USER ACTION(ユーザーアクションの後に発話セットが続く必要がある)

API [ApiDefinitionName] cannot be the immediate API after you use utterance sets [UtteranceSetName]. The first API action after [ApiDefinitionName] should be [ApiDefinitionName] because they are associated with each other.

ダイアログはユーザー発話で始まり、各ユーザー発話の後にAlexa発話が続く必要があります。

応答テンプレートエラー

エラー名 UIに表示されるエラー その他の情報

MISSING REQUEST TEMPLATE(リクエストテンプレートがない)

Response Template - Request for argument [ArgumentName] with type [SlotTypeName] is missing and must be added

それぞれの必須API引数に対して、その引数をリクエストする応答テンプレートを提供する必要があります。

MISSING API AND ARGUMENT FOR CONFIRMATION(確認するAPIと引数がない)

Response: [ResponseName] - must have at least an API or an argument for the Confirm Dialog Act.

確認として使用する応答テンプレートはAPIの確認(APIを提供する場合)、引数の確認(APIを提供せずにダイアログアクトで引数を提供する場合)のいずれかになります。

MISSING REQUEST TEMPLATE FOR ENTITY CONFIRMATION(エンティティ確認のリクエストテンプレートがない)

A dialog contains an Alexa Response with Confirm Dialog Act for argument [ArgumentName] with Slot Type [SlotTypeName] but a dialog with corresponding Alexa Response with Request Dialog Act is missing.

API引数に確認テンプレートが提供されている場合、スタンドアロンのリクエストテンプレートも必要です。

MISSING REQUIRED TEMPLATE(必須のテンプレートがない)

Required Response Template [ResponseTemplateName] is missing and must be added

次の応答テンプレートは必須です:welcomeprovide_helpout_of_domainreqmoreyou_are_welcomebye

INVALID ARGUMENT FOR NLG ASSOCIATED TO API(APIに関連するNLGの引数が無効)

Response Template: [ResponseTemplateName] - argument type [SlotTypeName] does not match any argument or return type of the API(s) that associates with this template. " "If Response Template is referenced in any API definition, the template argument types are limited to match the API argument/return type

応答テンプレートをAPIと関連付ける場合、応答テンプレートの引数はAPIの戻り値、APIの引数からのみ取得できます。

発話セットのエラー

エラー名 UIに表示されるエラー その他の情報

MISSING INVOKE UUG(UUGの呼び出しがない)

At least one Utterance Sets of Dialog Act category "invoke" is required. Please add one Utterance Sets with Dialog Act "invoke"

スキルには、「呼び出す」ダイアログアクトを持つ発話セットが少なくとも1つ必要です。また、呼び出すAPIを指定する必要があります。

NO ARGUMENT FOR INFORM UUG(提供するUUGの引数がない)

Utterance Sets: [UtteranceSetName] - classified as an "inform" dialog act, but has zero arguments to inform. Please add at least one argument to this template"

「提供する」ダイアログアクトと関連付けた発話セットに少なくとも1つの引数が必要です。

MISSING REQUIRED API(必須APIがない)

Utterance Sets: [UtteranceSetName] - there is no API specified with it. Please associate an API because you used dialog act [DialogActName] for this Utterance Sets

Invoke、Affirm、Denyのいずれかのダイアログアクトに関連付けた発話セットに、APIの関連付けを含める必要があります。

MISSING ARGUMENT IN UUG FORMATTER(UUGフォーマッターに引数がない)

Utterance Sets: [UtteranceSetName] - each formatter must mention all defined arguments because it is classified as "inform" Dialog Act Category: [DialogActCategoryName]

「提供する」ダイアログアクトに関連付けた発話セットのサンプル発話には、発話セットで定義するすべての引数を含める必要があります。

スロットタイプのエラー

エラー名 UIに表示されるエラー その他の情報

BUILTIN TYPE CONFLICT(ビルトインタイプの競合)

Slot Type: [SlotTypeName] - is built-in and cannot be defined as a Custom Slot Type.

Amazonがあらかじめ定義したAMAZON.DATEAMAZON.TIMEなどのスロットタイプを作成することはできません。これらのビルトインタイプは通常、AMAZONで始まります。

EXTEND UNDEFINED TYPE(未定義型の拡張)

Slot Type: [SlotTypeName] - is invalid. This is a system bug.

スロットタイプを定義する際、新しい型に拡張するベース型を選択できます。このベース型は既存のもので、ビルトインタイプとしてあらかじめ定義されている必要があります。

VALUES USED IN NON ENUM(非列挙型に値が使用されている)

Slot Type: [SlotTypeName] - is invalid. This is a system bug.

AMAZON.Enum型には、列挙値のみを指定できます。

INVALID ENUM(列挙型が無効)

Slot Type: [SlotTypeName] - is invalid. This is a system bug.

スロットタイプがAMAZON.Enumを拡張する場合、追加のプロパティを定義することはできません。

MISSING VALUES FOR ENUM(列挙の値がない)

Slot Type: [SlotTypeName] - is invalid. This is a system bug.

AMAZON.Enumを拡張するスロットタイプを定義する場合、少なくとも1つの列挙値を提供する必要があります。

INVALID PROPERTY TYPE(プロパティの型が無効)

Slot Type: [SlotTypeName] - one of the properties is declared as type [SlotTypeName], but that Slot Type is not defined.

無効な型としてスロットタイプのプロパティを定義しました。

APIエラー

エラー名 UIに表示されるエラー その他の情報

BUILTIN API NAME CONFLICT(ビルトインAPI名の競合)

API name [ApiDefinitionName] cannot start with "AMAZON", it is preserved for BuiltIn APIs.

API名をプレフィックスAMAZONで始めることはできません。

UNDEFINED TYPE IN API(APIの未定義の型)

API: [ApiDefinitionName] - Entity Type [SlotTypeName] is referenced but not defined. Please always refer a valid response template in API definition.

API引数または戻り値を無効なスロットタイプとして定義しました。

UNDEFINED TEMPLATE IN API(APIの未定義のテンプレート)

API: [ApiDefinitionName] - Response Template [ResponseTemplateName] is referenced but not defined, please always refer a valid response template in API definition.

APIに関連付けられた応答テンプレートが無効です。

EMPTY RESPONSE IN API(APIの空の応答)

API: [ApiDefinitionName] - There are no Response Templates associated with this API. Please connect this API with at least one Response Template.

各APIは少なくとも1つの応答テンプレートと関連付ける必要があります。

一般的なエラー

エラー名 UIに表示されるエラー その他の情報

DIALOG ACT ERROR(ダイアログアクトエラー)

Dialog act error: [DialogActName]

ダイアログアクトが無効です。

SCHEMA ERROR(スキーマエラー)

Invalid conversation definition schema [SchemaName]

内部サービスエラーです。

INVALID ALEXA CONVERSATION MODEL(無効なAlexa Conversationsモデル)

There is some issue with the backend service. Please try again later.

スキルモデルの定義に失敗しました。

MISSING WELCOME API IN UUG(UUGにwelcome APIがない)

Utterance Sets [UtteranceSetName] - missing welcome API [ApiDefinitionName]

APIをwelcome応答テンプレートに関連付けた場合、Alexa ConversationsはこのAPIを「welcome API」とみなします。 この場合、このAPIをwelcome発話セットに使用する必要があります。つまり、welcome発話セットが「welcome API」を呼び出すようにする必要があります。