我正在尝试开发一种使用Alexa技能集的定制技能。在模拟器中进行测试时,当一个示例语句进入时,它能够到达API端点。但是,我无法在发送到我的API端点的请求正文(参见下面)中找到用户表达式(用户已经说过的内容)。就像我也要求用户在alexa触发退路意图时所说的话。我们是否也可以将用户的语音文本发送到我的端点(这样我就可以将文本发送给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"
}
}
}
}
}
发布于 2018-06-26 04:55:04
Alexa没有在请求JSON中提供用户输入。
但是,您可以使用slotType:SearchQuery创建一个插槽。这是最灵活的slotType,几乎可以用用户的全部输入来填充。
...consider使用内置或自定义插槽类型来捕获更可预测的用户输入,使用AMAZON.SearchQuery插槽类型捕获较少可预测的输入.
{
"intents": [
{
"name": "SearchIntent",
"slots": [
{
"name": "Query",
"type": "AMAZON.SearchQuery"
},
],
"samples": [
"search for {Query} near me",
"find out {Query}",
"search for {Query}",
]
}
]
}附带注意:亚马逊莱克斯是“由Alexa一样的深度学习技术驱动的”,而Lex 确实在请求JSON中提供了确切的用户输入。
https://stackoverflow.com/questions/51018673
复制相似问题