2022-12-4 16:57:25 [显示全部楼层]
10665浏览
查看: 10665|回复: 0

[教程] 【Hour of AI】教程:Alexa 计算器

[复制链接]
本帖最后由 szjuliet 于 2023-1-14 16:08 编辑

【Hour of AI】教程:Alexa 计算器

【Hour of AI】教程:Alexa 计算器图1

【Hour of AI】教程:Alexa 计算器图2

乘法计算器:


除法计算器:


  1. 【Hour of AI】教程:Alexa Hello Moon
  2. 【Hour of AI】教程:Alexa Space Fact Generator 随机太空小知识
  3. 【Hour of AI】教程:Alexa Calculator 计算器
  4. 【Hour of AI】教程:Alexa Number Guessing Game 猜数字游戏
  5. 【Hour of AI】教程:Alexa Messenger 信使

【Hour of AI】教程:Alexa 计算器

难度: 初级

课程类型: 教程

学科: 计算机科学

年级:

  • 6~12年级

在本教程中,你将学习如何使用 MIT App Inventor 的对话式 AI 界面为 Alexa 创建自己的乘法计算器,Alexa在理解用户提出的乘法问题时告诉用户答案。

我们将制作的技能使用插槽slot来跟踪用户要求 Alexa 相乘的数字。

1. 增加一个skill技能

意图Intent是对语音 AI 发出的问题或命令的期望响应。本例中我们的意图是让 Alexa 向月亮问好。

a) 单击Add,然后单击Skill

b) 在出现的弹出窗口中,输入技能调用名称my awesome calculator,然后点确定。

2. 定义插槽slot

a)创建技能后会转到技能的设计器页面。 可以看到页面左侧 Built-In 中有 IntentSlot 组件:

Designer页面是定义技能的语音用户界面(用户与 Alexa 以不同的方式对话)的地方。

b)为乘法意图定义slot插槽 。 从 Palette 中取出一个 Slot 组件并将其拖放到 Amazon Echo Dot 的图像上。

你会看到一个名为 SlotA 的不可见组件 显示在 Echo Dot 图像下。 新的 Slot 组件也会出现在右侧的 Components 组件属性框中。

c)将插槽重命名为 numbOneSlot,稍后编程的时候对我们更有意义。 在“组件”框的底部,单击“rename重命名”按钮。

在弹出窗口中,在新名称文本框中输入“numbOneSlot”。 然后,单击“OK确定”。

d)在 Properties 框中,可以看到一个名为 SlotType 的下拉菜单。 打开下拉菜单并选择 Number ,告诉 Alexa 这个插槽类型是一个数字。

e)对另一个插槽重复相同的操作过程,将其重命名为 numbTwoSlot。 不要忘记将 SlotType 更改为 Number。 组件框现在应该如下所示:

3. 定义意图Intent

a)定义乘法意图。 首先从 Palette 中的 Built-in 抽屉中拖出一个 Intent 组件并将其放在 Amazon Echo Dot 的图像上。

Intent 应在 Echo Dot 和 Components 框中显示为名为 IntentA 的不可见组件。

b)将 IntentA 重命名为 multiplyIntent。 在 Components 框的底部,单击“Rename重命名”按钮。

在弹出窗口中,在新名称文本框中输入“multiplyIntent”。 然后单击“OK”。

d)注意可用于编辑 multiplyIntentProperties 框的不同部分。

  • 首先,我们有一个文本框来编辑当前为此意图定义的任何话语。

  • 接下来可以看到我们之前定义的每个插槽都有按钮。 可以在输入话语时单击这些按钮将插槽插入到话语中。也可以直接键入插槽的名称。

  • 再下方是一个空的区域。 在文本框输入内容并单击add后,空白区域就会显示添加的话语。

  • 最后是添加Add和删除Remove按钮,用来添加和删除 Intent 中的语句。 要删除话语,只需单击要删除的话语,然后单击“删除”按钮。

4. 添加utterrance话语列表

a)接下来为 multiplyIntent 定义第一个话语。 在属性框顶部的文本框中,键入“What is”,然后单击 numbOneSlot 按钮。 属性框现在应该如下所示。

要完成此话语,请单击文本框中文本的末尾,然后键入“times”,然后单击 numbTwoSlot 的按钮。 属性框现在应该如下所示。

b)让我们尝试在不使用插槽按钮的情况下添加下一个话语。 首先单击第一个话语下方的“添加”按钮。

注意在第一个话语下方有一个新的突出显示空间。 这是编辑新话语后将出现的位置。 在顶部的文本框中,输入“What is {numbOneSlot} multiplied by {numbTwoSlot}”。 然后单击Utterance右边的Add。 属性框现在应该如下所示。

c)最后添加最后一个话语。 这句话应该是某人可能要求将两个数字相乘的类似表达方式,例如“Multiply {numbOneSlot} and {numbTwoSlot}”。

属性框现在应该看起来像这样。

我们已经完成了这项技能的 multiplyIntent! 如果你愿意,可以按照相同的步骤为涉及两个数字的另一个计算(如除法、加法或减法)定义 Intent。 也可以仅使用乘法意图继续。

这是我们技能的完整语音用户界面 (VUI)! 现在可以继续定义 Alexa 来响应我们的意图。

5. 定义第一个Intent事件处理器

a)为了定义 Intent Handlers,先转到 Blocks 页面。

打开 Voice 抽屉。 你会注意到所有最初用于定义插槽和意图的块都不见了! 这是因为我们现在在逻辑界面来定义 VUI。

接下来可以看到 Slot 和 Intent 组件有自己的块抽屉。 这主要是为了让 Alexa Skill 界面更类似于常规的 App Inventor 界面。

b)现在定义 Intent Handlers。 打开 multiplyIntent 的抽屉,拖出 when multiplyIntent.spoken 块。

c)接下来打开 Voice 抽屉并将 say 块拖到 when multiplyIntent.spoken 块中。

d)接下来打开 Text 抽屉并拖出一个 join 块,将它拼接到 say 块。

e)单击 join 块上的蓝色齿轮,在弹出窗口中,将 3 个字符串块拖到连接块中现有 2 个字符串块的下方。

f)打开 numbOneIntent 抽屉并将 numbOneIntent.value 块拖出到 join 块的第一个插槽。

g)接下来打开 text 抽屉并将一个空文本块拖出到 join 块的第二个插槽。 在文本块中输入“ times ”。 一定不要忘记times两边的空格!

h)点击 numbTwoSlot 抽屉并将 numbTwoSlot.value 块拖出到 join 块的第三个插槽。

i)在 join 块的第四个插槽位置添加另一个文本块,并输入文本 “ is definitely equal to ”。 不要忘记前后的空格! 这里用“definitely”以区别于 Alexa 的内置语音计算器,确保测试时能够调用自己的 Skill。 代码块现在应该是这样的:

j)在最后的插槽进行计算! 打开 math 抽屉并将 乘法 块拖出到 join块最后一个插槽位置。

k)右键单击 join 块第一个位置的 numbOneSlot.value 块并选择复制。 将其放入乘法块的第一个位置。 对 numbTwoSlot.value 块重复相同的过程,并将其放入乘法块的第二个位置。

代码块应该如下所示:

我们已经完成了 multiplyIntent 函数! 如果你之前在界面设计中添加了更多自己的意图,请按照类似过程为的所有意图创建函数。

6. 更新技能

我们的新计算器技能现已完成! 让我们将其发送到亚马逊并进行测试。

因为我们使用了批量生成的学生账号,因此无需登录亚马逊开发者账号即可使用其人工智能服务。点击页面右侧窗口下方的的 Send Updates 将代码发送给亚马逊。其中 Sending code to AmazonBuilding skill 的步骤会比较耗时。

7. 测试技能

a)当显示 "Your skill is ready to test",说明技能更新成功,底部的文本框是可用状态。

(注:如果界面是深灰色的,则可能是utterance编辑的有语法错误导致无法完成技能更新)

b)输入“alexa ask my awesome calculator what is three times five”(或任何其他你想相乘的两个数字),看看她如何回应! 对话框应该看起来像这样。

c)你还可以尝试通过语音进行测试,方法是单击“麦克风”按钮开始说话,并在结束说话后再次单击它!

*注意:使用麦克风输入会有一个问题,Alexa会将乘法识别为 号,因为星号是符号,不是自然语言,所以Alexa是无法进行正常回应的。**

同样在进行除法操作时也是一样,Alexa会将除法识别为 / ,也无法正常回应。

恭喜! 你完成了“我的计算器”教程的编程并学习了插槽的使用方法!

请在附件中下载原始文件。

AlexaCalculator_Starter.zip

1.03 KB, 下载次数: 0

售价: 1 创造力  [记录]  [购买]

初始aia文件

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail