Отправить пользовательский текст в конечную точку API скилла Alexa - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь разработать собственный навык, используя набор навыков Alexa. При тестировании в симуляторе, когда вводится образец высказывания, он может достичь конечной точки API. Но я не могу найти выражение пользователя (о чем говорил пользователь) в теле запроса (см. Ниже), отправленного на мою конечную точку API. Как я также требую, что пользователь говорил, когда Алекса вызывает отступление намерения. Есть ли способ, которым мы также можем отправить пользовательский текст на мою конечную точку (чтобы я мог отправить этот текст в LUIS / api.ai). То же самое я проверил с помощью помощника Google (действия в Google), который отправляет пользовательский текст в конечную точку API.

{
   "version":"1.0",
   "session":{
      "new":false,
      "sessionId":"amzn1.echo-api.session.xxxxxxxxxxxxxx-6de9eeb174c5",
      "application":{
         "applicationId":"amzn1.ask.skill.xxxxxxxxxxxxxxxxx"
      },
      "attributes":{
         "key":null
      },
      "user":{
         "userId":"amzn1.ask.account.AG4ZW2AIRMFQEPZFLxxxxxxxxxxxxxxxxxxxxxxx"
      }
   },
   "context":{
      "System":{
         "application":{
            "applicationId":"amzn1.ask.skill.xxxxxxxxxxxxx"
         },
         "user":{
            "userId":"amzn1.ask.account.xxxxxxxxxxxxxxxxx"
         },
         "device":{
            "deviceId":"amzn1.ask.device.xxxxxxxxxxxxxxxxxxxxxxxx",
            "supportedInterfaces":{
            }
         },
         "apiEndpoint":"https://api.amazonalexa.com",
         "apiAccessToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzxxxxxxxxxxxxxxxxxxxxxxxxx"
      }
   },
   "request":{
      "type":"IntentRequest",
      "requestId":"amzn1.echo-api.request.28fd7f8b-ef02-4b64-8758-edaecbd0a92b",
      "timestamp":"2018-06-25T07:32:13Z",
      "locale":"en-US",
      "intent":{
         "name":"GetWeather",
         "confirmationStatus":"NONE",
         "slots":{
            "City":{
               "name":"City",
               "value":"New York",
               "confirmationStatus":"NONE"
            }
         }
      }
   }
}

1 Ответ

0 голосов
/ 26 июня 2018

Alexa не предоставляет пользовательский ввод в запросе JSON.

Однако вы можете создать слот с slotType: SearchQuery. Это самый гибкий slotType, и его можно заполнить почти полным вводом пользователя.

AMAZON.SearchQuery

... рассмотрите возможность использования встроенного или настраиваемого типа слота для захвата более предсказуемого пользовательского ввода, а также типа слота AMAZON.SearchQuery для захвата менее предсказуемого ввода ...

{
  "intents": [
    {
      "name": "SearchIntent",
      "slots": [
        {
          "name": "Query",
          "type": "AMAZON.SearchQuery"
        },
      ],
      "samples": [
        "search for {Query} near me",
        "find out {Query}",
        "search for {Query}",
      ]
    }
  ]
}

Примечание: Amazon Lex «работает на тех же технологиях глубокого обучения, что и Alexa», а Lex обеспечивает точный ввод данных пользователем в запросе JSON.

...