発話競合検出API



発話競合検出API

以下の操作を使用して、スキルの対話モデルで複数のインテントにマッピングされている発話を見つけることができます。発話の競合の種類と、開発者コンソールで発話の競合を表示する方法については、モデルの発話競合の検出を参照してください。

発話の競合の取得を開始するには、 get conflictsを使用します。競合検出ジョブが結果を返すまでに、しばらく時間がかかることがあります。競合検出ジョブのステータスはいつでも取得できます。ステータスが COMPLETEDを返したら、get conflictsを使用して結果を確認します。

API endpoint

このAPIのエンドポイントは、https://api.amazonalexa.comです。すべてのリクエストにはAuthorizationヘッダーが必要であり、その値にはLogin with Amazonから取得したアクセストークンが入ります。

競合検出ジョブのステータスを取得する

リクエスト

GET /v1/skills/{skillId}/stages/{stage}/interactionModel/locales/{locale}/versions/{version}/conflictDetectionJobStatus

パラメーター

名前 位置 説明 必須
skillID URIパス 発話の競合を表示するスキルの識別子です。 文字列
stage URIパス スキルモデルのステージです。developmentにする必要があります。 文字列
locale URIパス スキルモデルのロケール(例:ja-JP)です。 文字列
version URIパス 対話モデルのバージョンです。 文字列

応答

正常な応答では、ジョブのステータスが表示されます。ステータスがCOMPLETEDの場合、応答には発話の競合の数がtotalConflictsとして表示されます。ステータスがCOMPLETEDでない場合、応答はtotalConflictsを省略します。

{
    "status" : "COMPLETED",
    "totalConflicts": 1
}
名前 説明
status 発話の競合を検出するジョブのステータスです。 文字列です。値には、FAILEDIN_PROGRESSCOMPLETEDがあります。
totalConflicts 発話の競合の数です。ステータスがCOMPLETEDの場合にのみ返されます。 長整数

スキルの競合を取得する

リクエスト

GET /v1/skills/{skillId}/stages/{stage}/interactionModel/locales/{locale}/versions/{version}/conflicts?nextToken=String&maxResults=Integer

パラメーター

名前 位置 説明 必須
skillID URIパス 発話の競合を表示するスキルの識別子です。 文字列
stage URIパス スキルモデルのステージです。developmentにする必要があります。 文字列
locale URIパス スキルモデルのロケール(例:ja-JP)です。 文字列
version URIパス 対話モデルのバージョンです。 文字列
nextToken クエリ文字列 同じ結果セットから引き続き結果を返すためのトークンです。 文字列
maxResults クエリ文字列 一度に表示する結果の最大数です。値は1以上1000以下である必要があります。デフォルト値は100です。 整数

Response

正常な応答では、発話の競合の詳細が表示されます。

{
    "metadata" : {
        "resultset": {
            "nextToken": String,
            "totalResults": Integer
        }
    }
    "results": [
        {
            "conflictingUtterance": String,
            "conflicts" : [
                {
                    "sampleUtterance": String,
                    "intent" : {
                        "name": String
                        "slots": {
                            "<slotName>": {
                                "type" : String,
                                "value" : String
                            }
                        }
                    }
                }
            ]
        }
    ],
    "_links":{
        "self" : {
            "href" : String // /v1/skills/{skillId}/conflicts
        },
        "next" : {
            "href" : String // /v1/skills/{skillId}/conflicts?nextToken={nextToken}&maxResults=100
        }
    }
}
名前 説明
nextToken 結果を引き続き返すために使用できるトークンです。 文字列
totalConflicts 発話の競合の合計数です。 整数
conflictingUtterance 複数のインテントにマッピングされる発話(スロット値を含む)です。スロット値は小文字の発話形式です(たとえば、値「4」は「四」と表示されます)。 文字列
sampleUtterance 対話モデルで提供されるサンプル発話です。 文字列

AMAZON.SearchQueryまたはAMAZON.LITERALスロットタイプを使用する発話間の競合は含まれないことに注意してください。

応答の例

次の応答は、あるインテントのビルトインスロットタイプと別のインテントのカスタムスロットタイプとの間で、値「オレンジ」が重複している場合の発話の競合を示しています。

{
    "metadata": {
        "resultset": {
            "nextToken": "XSDSW123SW73GDW98DHOI",
            "totalResults": 1
        }
    }
    "results": [
        {
            "conflictingUtterance": "オレンジが欲しい",
            "conflicts":[
                {
                    "sampleUtterance": "{colora}が欲しい",
                    "intent": {
                        "name": "customa",
                        "slots":{
                            "colora": {
                                "type": "AMAZON.Color",
                                "value": オレンジ
                            }
                        }
                    }
                },
                {
                    "sampleUtterance" : "{fruit}が欲しい"
                    "intent": {
                        "name": "customb",
                        "slots": {
                            "fruit": {
                                "type" : "fruit",
                                "value" : オレンジ
                            }
                        }
                    }
                }
            ]
        }
    ]
}

次の応答は、カスタムインテントとビルトインインテント間の発話の競合を示しています。Alexaはカスタムインテントをビルトインインテントよりも優先するため、この例では「ヘルプ」はビルトインインテントではなく、常にカスタムインテントに解決されます。発話をビルトインインテントではなくカスタムインテントにマッピングする場合は、この競合は発生しません。

{
    "metadata": {
        "resultset": {
            "nextToken": "hwegwy8t8w7qrsbgfisy97fyhufiw8y",
            "totalResults": 1
        }
    }
    "results": [
        {conflictingUtterance": "ヘルプ",
            "conflicts":[
                {
                    "sampleUtterance": "ヘルプ",
                    "intent": {
                        "name": "helpCustomIntent"
                    }
                },
                {
                    "intent": {
                        "name:": AMAZON.HelpIntent"
                    }
                }
            ]
        }
    ]
}