szjuliet 发表于 2022-11-29 20:33:58

【Hour of AI】教程:Alexa Space Fact Generator





https://www.bilibili.com/video/BV1tW4y1p7HL/


1. [【Hour of AI】教程:Alexa Hello Moon](https://mc.dfrobot.com.cn/thread-314771-1-1.html?fromuid=818739)
2. [【Hour of AI】教程:Alexa Space Fact Generator 随机太空小知识](https://mc.dfrobot.com.cn/thread-314788-1-1.html?fromuid=818739)
3. [【Hour of AI】教程:Alexa Calculator 计算器](https://mc.dfrobot.com.cn/thread-314797-1-1.html?fromuid=818739)
4. [【Hour of AI】教程:Alexa Number Guessing Game 猜数字游戏](https://mc.dfrobot.com.cn/thread-315113-1-1.html?fromuid=818739)
5. [【Hour of AI】教程:Alexa Messenger 信使](https://mc.dfrobot.com.cn/thread-315213-1-1.html?fromuid=818739)

## 【Hour of AI】教程:Space Fact Generator

**难度:** 初级

**课程类型:** 教程

**学科:** 计算机科学

**年级:**

- 6~12年级

在这个 50 分钟的教程中,学生将了解语音人工智能的基础知识,并学习编写自己的以太空为主题的 Alexa 技能! 学生在自己的设备上听取自己使用 MIT App Inventor 培养的各种亚马逊专家的意见。本教程无需亚马逊帐户或设备。

## 1. 账号登录

本教程使用教师生成的学生账号(见上一篇教程)登录

- 在浏览器输入地址(https://hourofai.appinventor.mit.edu/login)

- 输入用户名和密码

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/21/214323cxp9zxtonvg5wuzx.png)

## 2. 加载内置教程

- 新账号登录后会有三个内置的教程:

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/21/222609luixpqfqyfcjt5v5.png)

- 上面的界面关闭后不会再出现,为了让三个教程全部加载到自己的账号中,可以按下图中的步骤进行操作。

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/21/222609xrz4m36kwua2irmg.png)

具体步骤可参考动图:

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/21/222559dz76s96xwpiowxqi.gif)

- 操作完成后,三个教程全部加载到本账号中:

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/21/225150nki7ty8pzewm63w7.png)

- 点击HourofAI,我们从最简单的任务开始

## 3. 启动界面说明

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/21/230146a2qhpku4rqq3hrqr.png)

- 左侧边是教程栏,本教程包含两个任务,可以参照教程一步步做
- 在项目名下面常见的App Inventor组件全部被精简,只留下内置的Amazon AI组件,方便学生聚焦学习
- 最右边是Amazon AI的调试窗口,当所有编辑完成后,点击Send Updates,更新完成可即可进行AI体验

## 4. 任务说明

欢迎来到人工智能一小时:太空中的 Alexa
今天,你将使用语音 AI 构建两个 Alexa 技能:Hello Moon! 和 太空知识生成器。

你的第二个任务:编写一个太空知识生成器,告诉我们有趣的太空事实。

## 任务2:Space Fact Generator

在开始之前,请准备好你的太空事实。 这里有一些你可以使用的太空知识(也可以添加你自己的!)

- Sunsets on Mars are blue.
- Space is completely silent.
- Mars has water too.
- One million Earths can fit inside the sun.

现在,让我们开始吧。

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

   a) 单击**Add**,然后单击**Skill**。

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201035ip8z08uxmi00imno.png)

b) 将skill命名为 **space expert**

### 1. 添加意图Intent

意图Intent是对语音 AI 发出的问题或命令的期望响应。本例中我们的意图是让 Alexa 告诉我们一个随机的太空知识。

   a) 首先从页面左侧拖动意图符号并将其释放到 Echo Dot 的图像上。

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201030cl60j0xxxzhjz0bh.jpg)

b) 重命名intent为 **TellFactIntent**

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201032hugbcb3u722omfhe.jpg)

### 2. 编写utterrance话语(意图语句)

接下来,我们需要编写话语utterrance,话语是我们可能对 Alexa 说的命令。

宇航员可以用多少种不同的方式向 Alexa **询问太空事实**? 这里有些例子:

- Tell me something about space
- Tell me a fact about space
- Give me some space trivia

继续找找看!

**编写尽可能多的话语,至少三个。**

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201032niyyzyy61j82y41y.png)

### 3. 编写程序

现在我们需要编写代码,告诉 Alexa 要做什么。

1) 首先,切换到blocks逻辑视图。

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201033sllft5rlhxhngugl.jpg)

2)单击 **TellFactIntent** 代码块

3)将**TellFactIntent**代码块拖到工作面板

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201033opz0j4vzo0nnv8nz.jpg)

4)选择绿色的Voice抽屉

5)从中将 Say 代码块拖到intent代码块内拼接好。

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201033u7m3zim3jyyjd2md.png)

现在让我们考虑一下:我们想让 Alexa 说什么? 每次都是同样的事实?

不! 我们希望事实每次都不同。 软件工程师称之为**变量**。 **变量**是可以改变的值。

6)找到橙色的 **Variable** 块并将 **initialize global name** 块拖到代码编辑器

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201033huu1ipojemjpme4e.jpg)

7)将变量名重命名为 **space fact**

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201033q5kkmlg81k7a6q12.png)

8)单击蓝色的 **Lists** 块并将 make a list 块拖到初始化全局 **Space_Fact** 块中。

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201034qllgzih48pjbcbb2.jpg)

现在,我们需要建立一份太空事实列表。

9)你会注意到有两个插槽你可以添加另一个块。 通过单击齿轮图标并将 **item** 拖到列表中,**将数量增加到至少 4个 或 5个**。

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201034ev1h0ddaf9s9099v.gif)

10)然后,单击 **text** 文本块并向每一行添加一个 **空字符串块**。

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201034qg0dt0q2t5955dkd.jpg)

11)继续添加太空事实。 使用教程提供的太空事实,或添加你自己的!

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201034lsoy4k7isp3b3sr4.png)

最后,我们需要告诉 Alexa 在每次函数运行时获取一个随机事实。

12)转到蓝色列表块并拖动**pick a random item**块并将其连接到 **say** 块。

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201034mkwpddkk2enpkdnz.jpg)

13)然后单击橙色变量块并将 **get** 块拖动到 **say** 块中。

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201034cee5aal4eouo2a2h.jpg)

14)最后将变量**Space_Fact**放到 **get**中。

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201035g95qdo49zc96u95a.jpg)

现在,当 Alexa 听到 “tell fact intent” 时,它会从列表中随机选择一个事实并说出来。

### 4. 尝试你的技能

太棒了!现在你完成了另一个任务,一个更加复杂的技能。下面我们来试一下!

1) 点击 **Send Updates**

2)点击麦克风图标使用语音输入,或在文本框中输入内容。

请记住,必须先调用技能,然后再发出命令。 例如:

![](https://imagemc.dfrobot.com.cn/data/attachment/album/202211/23/201032y1xgaaff3trmi3mk.png)

在你用名字调用一次技能后,就不必再调用了。 Alexa 会记住你使用的是什么技能。

在附件中下载源文件。
页: [1]
查看完整版本: 【Hour of AI】教程:Alexa Space Fact Generator