Слот AMAZON.LITERAL Алекса ничего не возвращает - PullRequest
0 голосов
/ 27 апреля 2018

Я пытаюсь создать навык Alexa, который в основном перенаправляет любой пользовательский ввод в мой веб-API, который генерирует ответ. Другими словами, я не хочу использовать встроенный движок Alexa NLP.

Для этого я пытаюсь получить значение слота AMAZON.LITERAL, который должен возвращать точное значение ввода пользователя.

Я создал намерение с именем Other, а также создал слот с именем literal типа AMAZON.LITERAL. Я добавил около 10 возможных значений в этот слот, которые являются примерами того, что может сказать пользователь. Я попытался добавить эти примеры как в обычном тексте, так и в виде {ask my_skill_name for their address|literal}.

Когда я проверяю его, JSON-ответ распознает правильное намерение Other, но в слоте literal нет свойства с именем value, которое он должен иметь. Поэтому я не могу получить ввод пользователя.

Как получить полный ввод пользователя или что я делаю не так?

Соответствующая часть ответа JSON:

"request": {
        "type": "IntentRequest",
        "requestId": "amzn1.echo-api.request.718cae5d-b45c-4774-ae9d-b72120ce8564",
        "timestamp": "2018-04-27T06:19:38Z",
        "locale": "en-US",
        "intent": {
            "name": "Other",
            "confirmationStatus": "NONE",
            "slots": {
                "literal": {
                    "name": "literal",
                    // Where is the `value`?
                    "confirmationStatus": "NONE"
                }
            }
        }
    }

1 Ответ

0 голосов
/ 27 апреля 2018

ОК, я нашел это.

Когда вы тренируете свое единственное намерение, в моем случае оно называется Other, вы должны вводить фразы в этом формате вместо простого текста:

{my example phrase|literal}

Где literal - имя созданного вами слота AMAZON.LITERAL.

...