IntentRequest 내에서 Custom Slot Type의 동의어 정보 얻기
8968 단어 AlexaSkillsKit알렉사
{
"languageModel": {
"types": [
{
"name": "TRAIN",
"values": [
{
"id": "HANKYU",
"name": {
"value": "HANKYU",
"synonyms": [
"はんきゅう",
"阪急",
"阪急電車"
]
}
}
]
}
]
// 省略
}
}
이것에 의해,
TRAIN
슬롯에서 사용되는 はんきゅう
阪急
Utterances를 정의할 때, 사용자가 阪急電車
자세한 내용은 다음 공식으로 요약되어 있습니다.슬롯 유형 값의 동의어와 ID 정의(엔티티 해석) | Custom Skills
그리고 WebHook을 Lambda등에서 처리할 때도 이 동의어의 정보를 IntentRequest로부터 취득할 수 있다고 공식적으로 해설 되고 있다.
위의 동의어 설정에 의한 IntentRequest에서는 다음과 같이
TRAIN
아래에 동의어 정보가 설정된 요청을 얻을 수 있다.{
"type": "IntentRequest",
"requestId": "amzn1.echo-api.request.***********",
"timestamp": "2017-12-28T09:16:19Z",
"locale": "ja-JP",
"intent": {
"name": "TrainStatusIntent",
"confirmationStatus": "NONE",
"slots": {
"Train": {
"name": "Train",
"value": "阪急",
"resolutions": {
"resolutionsPerAuthority": [
{
"authority": "amzn1.er-authority.echo-sdk.amzn1.ask.skill.********.TRAIN",
"status": {
"code": "ER_SUCCESS_MATCH"
},
"values": [
{
"value": {
"name": "HANKYU",
"id": "HANKYU"
}
}
]
}
]
},
"confirmationStatus": "NONE"
}
}
}
}
여기서 주의점으로서, 개발자 콘솔의 서비스 시뮬레이터에서는
はんきゅう
가 세트 되지 않고, 동의어의 정보는 취득할 수 없다.잘 읽으면 공식적으로도 다음과 같이 주의가 있다.
개발자 포털의 테스트(Test) 페이지에 있는 서비스 시뮬레이터는 엔티티 확인을 지원하지 않습니다. 시뮬레이터에서 보낸 JSON 요청에는 새로운 resolutions 정보가 포함되어 있지 않습니다.
문서를 제대로 읽으면 알 수 있는 것이지만, Amazon Developer Forums에서 Synonyms의 ID를 얻을 수 없다고 말하는 사람이 있거나 하기 쉽다.
Alexa not sending slot ID in requests | Amazon Developer Forums
BETA판이므로 버그일까라고 생각해, 혼란스러울 것 같기 때문에 정리해 두었다.
참고
Reference
이 문제에 관하여(IntentRequest 내에서 Custom Slot Type의 동의어 정보 얻기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/radiocat/items/faaae92990bf34015a29텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)