天道酬勤,学无止境

alexa-slot

Alexa Dialog Model Step 和 dialogState 从未在 COMPLETED(Alexa Dialog Model Step and dialogState is never in COMPLETED)

问题 我正在使用 PHP 端点实现 Alexa 对话模型。 我使用了 Alexa 文档(https://developer.amazon.com/fr/docs/custom-skills/dialog-interface-reference.html) 这是我的例子: 我的技能: 请求意图话语:在卧室里添加一个 {obj} 插槽:{obj} / 插槽填充 短语: 我:Alexa,在卧室里添加一个对象 Alexa:你想在卧室里添加什么物品? 我:我想在卧室里加一辆汽车 Alexa:你想在卧室里加一辆车吗? 我可以 步骤1: DialogState 已启动我使用 ElicitSlot 设置 {obj} 插槽 第2步: 对话状态为 IN_PROGRESS。 我使用 ConfirmIntent 要求用户确认 第三步: 用户说是/否 ConfirmIntent 现在设置为 CONFIRMED/DENIED 但仍处于 IN_PROGRESS dialogState 应该是 COMPLETED 因为我设置了我所有的 slot 和 intent 值对吗? 那么为什么不应该在这里工作呢? 提前致谢 回答1 您的dialogState未COMPLETE的原因是因为您使用的是Dialog.ElicitSlot指令。 COMPLETED状态仅在您使用Dialog.Delegate指令时才有可能。

2022-01-15 19:01:47    分类:技术分享    alexa   alexa-skills-kit   alexa-skill   alexa-slot

Alexa Dialog Model Step and dialogState is never in COMPLETED

I'm implementing an Alexa Dialog Model with an PHP Endpoint. I used the Alexa doc (https://developer.amazon.com/fr/docs/custom-skills/dialog-interface-reference.html) Here is my example: My skill: RequestIntent Utterance : add an {obj} in the bedroom Slots : {obj} / Slot Filling Phrase: Me : Alexa, Add an object in the bedroom Alexa : What object do you want to add in bedroom ? Me : I would like to add a cars in the bedroom Alexa : You want to add a car in the bedroom ? Me : Yes STEP1: DialogState is STARTED I use ElicitSlot to set the {obj} slot STEP2: dialogState is IN_PROGRESS. I use

2022-01-13 07:53:09    分类:问答    alexa   alexa-skills-kit   alexa-skill   alexa-slot

Best way to create a catch all slot in Alexa

What is today the best way to create a catch-all slot with Alexa, usable with another custom slot (so unfortunately not an AMAZON.SearchQuery slot, that is not usable with other custom slots, don't know why by the way)? I've tried with AMAZON.Person as someone suggested but when I say something, Alexa tries to enforce what I say into a Person's name, and so Alexa will not understand exactly what I say. The same behavior appears if I create a custom slot with some random words, Alexa will always try to match my input in one of those words "deleting" the original input. The AMAZON. Person and

2021-10-21 17:55:51    分类:问答    alexa   alexa-skill   alexa-slot

错误代码:InvalidIntentSamplePhraseSlot -(Error code: InvalidIntentSamplePhraseSlot -)

问题 当我使用新技能控制台构建模型时,我收到错误代码Error code: InvalidIntentSamplePhraseSlot 。 完整的错误信息是 Sample utterance "AddBookmarkIntent i am at {pageno} of {mybook}" in intent "AddBookmarkIntent" cannot include both a phrase slot and another intent slot. Error code: InvalidIntentSamplePhraseSlot - 其中{pageno}是AMAZON.NUMBER而{mybook}是AMAZON.SearchQuery 错误是什么,我该如何解决? 编辑:为意图添加 JSON { "name": "AddBookmarkIntent", "slots": [ { "name": "mybook", "type": "AMAZON.SearchQuery" }, { "name": "pageno", "type": "AMAZON.NUMBER" } ], "samples": [ "i am at {pageno} of the book {mybook}", "save page {pageno} to the book {mybook}",

2021-10-21 17:30:51    分类:技术分享    alexa   alexa-slot

Lex AMAZON.DATE 问题(Lex AMAZON.DATE issue)

问题 我正在使用 lex 内置插槽 AMAZON.DATE。 问题是当用户输入“今天”时,它会将时间解释为当地时间。 我认为现在是 lex 所在的弗吉尼亚州时间。 例如,当用户输入今天(今天是澳大利亚的 11 月 1 日)但 lex 将值发送为 31/10 时。 有没有办法在 lex 中设置不同的时区? 回答1 要设置用于解析日期的时区以使其相对于用户的时区,请使用 x-amz-lex:time-zone 请求属性。 如果您未在 x-amz-lex:time-zone 属性中指定时区,则默认为美国/纽约。 请在此处查看文档

2021-10-19 22:08:51    分类:技术分享    amazon-web-services   alexa   alexa-slot

如何动态地将槽值添加到 alexa 技能(How to add slot values dynamically to alexa skill)

问题 我是 Alexa 开发的新手。 我已经成功地使用 AWS lambda 函数和 Node.js 代码创建了一个 Alexa 技能。 这是我的意图模式。 { "intents": [ { "slots": [ { "name": "locationName", "type": "LOCATION_LIST" } ], "intent": "locationIntent" } ] } 我还使用了具有以下值的自定义插槽类型“LOCATION_LIST”。 kitchen bedroom bathroom dining area 它工作正常。 但是我需要从我自己的服务中动态添加更多位置值。 是否可以? 基于我的系统架构,我们无法预先定义位置名称。 那我该怎么办? 回答1 是的,有可能完成您的要求。 首先,让我们弄清楚插槽是如何工作的。 如这篇 Alexa 博客文章所述: “当您创建自定义槽类型时,要理解的一个关键概念是这是 Alexa 的 NLP(自然语言处理)的训练数据。您提供的值不是限制用户可以说的话的严格枚举或数组。这有两个含义 1) 不在您的槽值中的单词和短语将传递给您,2) 如果所说的内容未知,您的代码需要执行您需要的任何验证。” 这意味着您可以在插槽中接收未在 SLOT 定义中明确列出的单词。 所以你只需要在 SLOT 列表中提供足够的单词示例来帮助 Alexa NLP

2021-10-19 16:38:32    分类:技术分享    aws-lambda   alexa   alexa-skills-kit   alexa-skill   alexa-slot

Alexa 自定义插槽类型:无意图价值(Alexa Custom Slot Type: No value in intent)

问题 我已经在亚马逊开发者论坛上发布了这个问题,但那里没有得到答复。 我想 Stackoverflow 从一开始就应该是首选: 根据我的理解,如果我使用自定义插槽类型,即使其可能值的列表不包含口语,口语仍会传递给函数。 文档说 自定义槽类型不等同于枚举。 如果口语理解系统识别出列表之外的值,则仍可能返回。 现在我有一个自定义槽类型LIST_OF_PERSONS ,其值为Matthias|Max和 EmployeeDetailsIntent {Person} 如果我使用不在LIST_OF_PERSONS的值调用此意图,则仍会调用 Intent,但 JSON 不包含插槽的“值”键: "request": { "type": "IntentRequest", "requestId": "EdwRequestId.a943e233-0713-4ea5-beba-d9287edb6083", "locale": "de-DE", "timestamp": "2017-03-09T14:38:29Z", "intent": { "name": "EmployeeDetailsIntent", "slots": { "Person": { "name": "Person" } } } } 这是“按设计工作”还是错误? 那么我如何访问 Intent 中的口语? 由于this.event

2021-10-09 23:09:40    分类:技术分享    alexa   alexa-skills-kit   alexa-skill   alexa-slot

我的自定义槽类型采用了意外值(My custom slot type is taking on unexpected values)

问题 在使用 Alexa 技能套件测试我的交互模型时,我注意到了一些奇怪的事情。 我定义了一个自定义插槽类型,如下所示: CAR_MAKERS Mercedes | BMW | Volkswagen 我的意图方案是这样的: { "intents": [ { "intent": "CountCarsIntent", "slots": [ { "name": "CarMaker", "type": "CAR_MAKERS" }, ... 使用示例话语,例如: CountCarsIntent Add {Amount} cars to {CarMaker} 现在,在开发者控制台中进行测试时,我注意到我可以编写如下内容: "Add three cars to Ford" 它实际上会正确解析这个! 尽管“福特”从未在交互模型中提及! lambda 请求是: "request": { "type": "IntentRequest", ... "intent": { "name": "CountCarsIntent", "slots": { "CarMaker": { "name": "ExpenseCategory", "value": "whatever" }, ... 这真的让我感到惊讶,因为自定义插槽类型的文档非常清楚插槽只能采用交互模型中列出的值这一事实。 现在,似乎值也是动态解析的!

2021-10-08 13:34:35    分类:技术分享    alexa   alexa-skills-kit   alexa-skill   alexa-slot

Amazon Alexa - 如何创建通用插槽(Amazon Alexa - How to create Generic Slot)

问题 如何为 Alexa 技能创建通用插槽? 这样我就可以创建自己的 Todo 应用程序,它会识别自由格式的文本。 回答1 Alexa 博客宣布了 List Skill API。 如上所述,新技能不再支持文字槽类型。 如果您创建具有多个值的自定义槽 - 取决于您对单个单词或 2 个以上单词的预期响应值 - Alexa 也会捕获不在列表中的口语单词并将它们传递给您的技能。 这些词的转录是尽最大努力的,可能并不完美。 亚马逊停止使用文字槽类型,因为语音到文本的结果不够好。 由于您可以在 List Skill API 上注册有限测试版,因此这可能会解决您的问题。 回答2 现在有办法获得话语的原始“抄本”或其中的一部分。 曾经有一个内置于 slot 的文字类型,可以给你一些东西,但亚马逊停止支持它。 回答3 您是否使用插槽列表中的一些常见示例对插槽进行了任何测试? 我之所以这么问是因为我有一个带有 10 个选项的小型自定义插槽,并且能够使用它识别非常广泛的内容(不在列表中的项目)。 回答4 这篇文章“为什么自定义插槽是文字解决方案”说 如上所述使用自定义的语法槽类型通常可以满足这一愿望,并使您能够通过 NLP 训练提高准确性。 如果您仍然只想要一切,您可以创建一个名为“CatchAll”之类的自定义槽以及相应的意图和话语:CatchAllIntent {CatchAll}。 如果您使用与

2021-10-08 12:05:43    分类:技术分享    alexa   alexa-skills-kit   alexa-skill   alexa-slot

Lex AMAZON.DATE issue

I am using lex built-in slot AMAZON.DATE. the problem is when user types 'today' it interprets time as local time. I think it is N.Virginia time where lex is hosted. For example, when user types today (today is 1 Nov in Australia) but lex sends the value as 31/10. Is there a way we can set a different time zone in the lex ?

2021-09-29 00:36:38    分类:问答    amazon-web-services   alexa   alexa-slot