Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >接受任何用户输入的Alexa自定义技能,但只包括部分输入,以确认

接受任何用户输入的Alexa自定义技能,但只包括部分输入,以确认
EN

Stack Overflow用户
提问于 2019-05-11 07:56:11
回答 1查看 148关注 0票数 4

我正试着建立一个定制的Alexa技能来写一本感恩日记。目的是实现一个交互,在这个交互中,Alexa设备询问用户他们感激的是什么,并将其重复作为确认。

在重复用户所说的内容时,我遇到了一个问题。我希望谈话能这样进行:

Alexa:,你今天感激什么?用户我很感激狗,,你说你很感激狗。对吗?

我将其设置为一个单一意图,如下所示:

  • gratitude_object作为必需的插槽,类型为AMAZON.SearchQuery
  • 这个时隙的用户话语是I'm grateful for {gratitude_object} (和一些变化)。
  • 此插槽的确认消息是You're feeling grateful for {gratitude_object}. Is that correct?

我遇到的问题是,当我在语音分析器中测试这个模型时,它是这样的:

Alexa:,你今天感激什么?用户我很感激狗,,,你说你感激我,我感谢狗。对吗?

我猜想这与AMAZON.SearchQuery会接受任何作为有效输入的事实有关,但我不知道如何解决这个问题。

我还尝试为I'm grateful for短语创建一个自定义插槽:

  • 插槽名称:gratitude_phrase_initiator
  • 插槽类型:定制插槽类型
  • 时隙值:“我感激”,“我感谢”(等等)

但是,如果我试图在我的意图中使用这个插槽,可以让用户对gratitude_object插槽发表意见:

{gratitude_phrase_initiator} {gratitude_object}

...then我得到以下错误:

意图“gratitude_statement_initiator”中的插槽"gratitude_object“的示例语句”{gratitude_object}{NewEntryIntent}“不能同时包含短语插槽和另一个意图插槽。错误代码: InvalidSlotSamplePhraseSlot

我真的很想保持目前的交互,用户从说“我很感激……”开始。对于如何使用交互模型来完成这项工作,有什么建议吗?还是说这是不可能的?这是我可以在代码中而不是交互模型中处理的东西吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-14 01:33:33

看起来,您的设置很完美,但是您希望SearchQuery在排除最初的话语短语方面做得更好。因此,您必须在代码中进一步解析它。您应该使用Lambda函数来字符串替换槽值以删除任何初始短语。

Node.js中的示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var gratitude_object = this.event.request.intent.slots.gratitude_object.value;

var initial_phrases = [
    "i'm grateful for",
    "i am grateful for",
];

initial_phrases.forEach(function(value){
    gratitude_object = gratitude_object.toLowerCase().replace(value,"");
});

注意,初始短语的数组是用小写写的,forEach循环在检查替换之前也会使槽值小写。这样,在编写要删除的初始短语时,不必担心大小写匹配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56091957

复制
相关文章
用户输入
大多数程序都在解决最终用户问题,为此通常需要从用户那里获取一些信息。在程序需要一个名字时,你需要提示用户输入该名字;程序需要一个名字时,你需要提示用户输入一系列名字。
狼啸风云
2019/01/18
9700
Python 教程之输入输出(1)—— 在 Python 中接受输入
开发人员经常需要与用户交互,以获取数据或提供某种结果。今天的大多数程序都使用对话框来要求用户提供某种类型的输入。而 Python 为我们提供了两个内置函数来读取键盘输入。
海拥
2022/09/16
1.6K0
Python 教程之输入输出(1)—— 在 Python 中接受输入
Angular 2 用户输入
等号左边的 (click) 表示把该按钮的点击事件作为绑定目标 。 等号右边,引号中的文本是一个 模板语句
陈不成i
2021/07/26
1.7K0
Python之用户输入
大多数程序都旨在解决最终用户的问题,为此,需要从用户那里获取一些信息。函数input()让程序暂停运行,等待用户输入一些文本。
py3study
2020/01/06
1.2K0
python用户输入(三)
name = "Li QW" #定义变量 fname = name  #fname等于name变量产生的值 print("My name is " , name,fname) name = "study"
py3study
2020/01/13
1K0
JS 限制输入框只输入数字和小数点
onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"
week
2018/08/27
7.4K0
python 接收用户的输入
None是一个特殊的常量。 None和False不同。 None不是0。 None不是空字符串。 None和任何其他的数据类型比较永远返回False。 None有自己的数据类型NoneType。 你可以将None复制给任何变量,但是你不能创建其他NoneType对象。
py3study
2020/01/09
2K0
python 接收用户的输入
shell处理用户输入总结
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/81865144
shaonbean
2019/05/26
5000
用户输入括号是否匹配
public class brackets { /*算法*/ public static boolean isMatch(String str) { int i = 0; char e, x; SqStackClass<Character> st = new SqStackClass<Character>(); //建立一个顺序栈 while (i < str.length()) {
楠羽
2022/11/18
9990
Flex笔记_验证用户输入
内置验证器 Flex提供了很多内置的验证器,它们都是Validator类的子类。 Flex以扩展Validator类的方式创建了内置验证器,以用于满足常用需求。 Validator组件的重要属性和函数: enabled:Boolean类型,决定是否启用验证功能 required:Boolean类型,是否必填 requiredFieldError:String类型,设置显示给用户的消息 source:Object,设置想要验证的对象(组件) property:String,
LeoXu
2018/08/15
2.9K0
四.Vue处理用户输入
四.Vue处理用户输入
Java架构师必看
2021/05/14
7700
四.Vue处理用户输入
用户输入input&int
企鹅号小编
2017/12/28
9610
用户输入input&int
用户输入和while循环
函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,以方便使用。
清菡
2020/12/02
2.6K0
用户输入和while循环
python 捕获用户输入pexpect
image.png image.png
用户5760343
2019/07/31
1.3K0
python 捕获用户输入pexpect
要点3:输入函数对比与自定义输入方式
运行程序,输入 两个整数,打印为 2,测试输入3个值仍然打印2,是因为这个"%d %d"指定了只解析两个int,多余的将留在缓冲区中,如果后面再写一个scanf,将从缓冲区中继续解析。
CN_Simo
2020/08/20
7750
Python——输入一批书的名称以及书的价格,当用户输入’$’时,表示输入结束
''' 4. 编写程序,让用户从键盘上连续输入一批书的名称以及书的价格,当用户输入’$’时,表示输入结束。然后: (1)计算所有书的平均价格,将计算结果打印输出; (2)将所有书及其对应的价格,按照书名的字典顺序,打印输出。 输出的格式要求如下: 所有书的平均价格为:xxxxx ------------------------------------------------------ Python程序设计 36.6 电子技术基础 25.8 马克思主义原理概论
瑞新
2020/07/07
1.1K0
【说站】python用户输入的方法
1、使用input()使程序暂停运行,等待用户输入文本,Python在获取用户的输入后,将其存储在变量中,以供用户进行使用。
很酷的站长
2022/11/24
1.1K0
【说站】python用户输入的方法
UiTextField对输入的长度进行限制并提示用户还可输入的长度
最近想做用户昵称的限制,但是网上百度了很多方法效果都不是我自己想要的,终于找到种方法 如下: 1、声明两个属性  nickname是昵称的textfleld canEditSizeLAbel是提示用户剩余可添加的数 @property (weak, nonatomic) IBOutlet UITextField *nickName; @property(nonatomic,strong)UILabel *canEditSizeLabel;//可编辑数的label 2 给textfield添加一个点击事件,用
用户1219438
2018/02/01
2.1K0
Flex笔记_处理用户输入 原
        Label、RichText、RichEditableText、TextInput、TextArea、RichTextEditor(MX)
LeoXu
2018/08/15
1.1K0
点击加载更多

相似问题

接受任何用户输入进行确认

15

Alexa技能循环:基于用户的输入,Alexa会说些什么。

20

Alexa技能工具包-保存用户输入

20

Alexa技能让用户确认插槽值

15

让Alexa的技能插槽接受任何用户说的话

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文