[原创]Scratch3少儿学人工智能编程系列3-逗你玩儿

在上一节课里,我们学会了训练计算机,识别我们的命令,然后用Scratch3的项目模板做了个项目,控制教室里的风扇和台灯,让它们开启或者关闭。
还没有学习上一讲的小朋友,请点击这个链接进行学习:
Scratch3少儿学人工智能编程2-智能教室助手

这一讲我们继续学习训练计算机,但这一次,我们不使用项目模板创建项目,而是要我们自己来创建一个项目,并且会用上更多的指令。每次学习都进步一点儿,日积月累,你就会有很大的进步啦。
这一讲我们来做一个小游戏-逗你玩儿,这个“你”就是计算机啦。我们来逗计算机玩。训练计算机来识别我们说的话,如果计算机觉得我们说的是赞扬的话,那它就会开心,做出笑脸来,如果它认为我们是说不好的话,或者批评的话,那么它就会伤心,做出要哭的表情,如果它不确定是好话还是坏话,那么,它就会表示不确定,做出一般的表情。
先看看我们怎么逗小猫:


逗逗小猫

好了。言归正传,我们把我们的任务分为两个大的步骤:


任务步骤

第一步 训练计算机识别指令

在开始之前,我们还是提醒一下中途进入的小朋友,要学习本讲的内容,我们要提前准备好 machine learning for kids 的帐户,还要准备好蓝色巨人IBM Watson AI平台的 API Key。如果还没有准备好这些的同学,请点击传送门进入:
Scratch少儿学人工智能编程系列1-准备工作篇

准备好了的同学我们就可以开始,仍旧是先进入machine learning for kids的网站的首页,如下图所示:

ML首页

在上面这个页面中,点击”转到项目“,或者点击网站上方的导航“项目”,均可以进入下一个页面,如下图所示:

项目首页

在上面这个页面中,点击右上角“添加一个新项目”,进入下一个页面:

项目信息

在上面这个页面里,分别填入项目名称(英文),选择识别的类型为“文本”,语言可以选择简体中文。填写完以后,点击创建按钮,项目就创建好了,如下所示:

项目首页

我们在这个界面里点击刚刚创建好的项目,进入到这个项目中,如下图所示:

Makemehappy首页

经过上一讲,我们对上面这个页面已经很熟悉了,基本的思路就是:
1、先进入“训练”的页面,进行新建标签分类,然后针对每个标签分类添加同类型的文本
2、然后进入“学习和测试”,让计算机学习我们刚才添加的内容
3、最后进入“Make”,就是最后去制作我们的Scratch项目了。

好,说干就干。我们点击训练,进入训练界面。


训练

点击上图右侧的“添加新标签”,我们要添加两个标签,一个表示开心的标签,一个表示伤心的标签,并针对每个标签输入对应的话语,最后如下图所示:

image.png

当然你也可以添加你的话语,为了保证成功,每个标签下面都至少需要填写10个词语以上哦。输入完以后,点击左上角的“返回项目”回到项目的首页。

项目

现在,我们就可以点击“学习和测试”的按钮,进入学习的步骤:

学习

点击上面这个页面中的“培养新机器学习模式”,进入学习:

训练中

计算机就开始在学习中了。就像我们平时学习一样,要学会、记住和会使用,怎么也需要一小段时间。计算机也不例外,所以这时候我们就需要等他学习完毕。
过了一小会儿,它已经学习完毕,还挺快的。界面下方出现了测试的输入框,就表明已经学习完。

学习完毕

我们可以来测试一下,看看计算机学的怎么样

亲近

不喜欢

随便输入一些语句看看。上面happy和means是我们建立的标签,计算机认为“真好”是表扬它的话,而“走开”是我们不喜欢它的话,它都能给出答案来。

至此,我们的学习的界面就完成啦。下一步我们进入Scratch程序的编写。

第二步 通过指令判断含义然后做出表情

我们首先回到项目首页


项目首页

在上面页面中点击Make按钮,进入下面页面,选择项目类型

项目类型

选择Scratch3,进入下面的界面:

选择

点击上图中左上角的Open in Scratch3按钮,这样我们就来到了熟悉的Scratch3编程界面:


Scratch3界面

点击Scratch3左下角的“MakeMeHappy"按钮,就能看见Machine learning for kids为我们制定好的积木啦。如下图所示:


自定义积木

至此,我们已经准备好了人工智能项目所需要的积木,下面我们来思考如何编写我们的程序。

理一下我们的思路如下:
1、首先我们需要有四个表情的脸,表示开心的笑脸,表示不开心的哭脸,表示不知道的沉重的思考的脸,以及还没有对话的时候的初始的脸。
2、在程序中,当角色接收到输入以后,就去调用识别积木,如果识别的是“好话”,就把造型切换为开心,如果识别不是“好话”,就将造型切换为不开心。

那有小朋友问,爱吃鱼老师,我们什么时候表示思考啊?
问的好!在上一讲中,我们只是使用返回的标签(label)是什么,那还有一个可信度(confidence)我们是不是没有用啊?
在这一讲中,爱吃鱼老师打算让大家把这个参数也用起来。
大家想一想,如果计算机识别返回的可信度(confidence)只有60%以下,我们是不是可以认为计算机对到底是好话,还是不好的话,它的判断不是那么有信心?
这个时候,我们就可以让角色表现出疑惑的表情,就可以是沉思的状态。

好,分析完以后,我们开干吧。

一、我们要将角色的造型绘制出来

我们在小猫的基础上进行修改。首先,这个开心的小猫是已经有了,我们不用修改。


开心的小猫

然后,我们先复制一个小猫,在这个基础上进行修改。在小猫的第一个造型上,我们用鼠标右键,弹出的菜单上,点一下“复制”,如下图所示:


复制小猫

这时候,我们就看到新增加了一个造型3,
新增的造型3

这个时候,我们用鼠标选中小猫的头,并点击上方的“拆散”按钮,注意是要点两次才能拆散哦。把小猫的头打散,好让我们修改它,如下图所示:


拆散

这个时候,我们就可以选择小猫的嘴来编辑。如下图,用鼠标点击选中小猫的嘴:


小猫的嘴

我们把小猫的嘴拉下来,并增加两滴汗水,表示小猫很不开心。


不开心的脸

用同样的方法,我们再复制一个造型,把它编辑成沉重的思考中的脸,表示它无法判断你要说的是好话,还是不好的话,如下所示:


不开心的脸

最后是初始状态,既不笑又不哭,也不疑惑的正常表情的脸:


正常的脸

注意看上面的图,爱吃鱼老师将角色造型的顺序重新排列了一下,名字也修改成对应的表情。

程序的资源,我们就准备好了。

二、将程序的框架搭起来

老思路,爱吃鱼老师喜欢先将程序的框架搭起来,主体运行起来了,再替换里面的细节。

程序主框架

最开始的时候,小猫切换到正常的表情。下面程序最大的分支是“如果那么/否则”,我们用第一个分支来判断回答的信心(confidence)是否是小于60%,如果是,我们就让小猫做出疑惑的表情,否则用后面的分支来判断返回的标签(label)是好的话还是不好的话。马上就可以测试先玩一下哈:


你真漂亮

谢谢

下面我们修改成人工智能的模块:
1、在界面左下角点击“MakeMeHappy”的按钮,找出machine learning for kids为我们制定的积木:


分类

如下图所示


ML自定义积木

修改替换后的代码:

最后的代码

我们来逗逗爱吃鱼老师的小猫玩儿:


说话

运行结果

哈哈,小猫好伤心啊。

至此,我们这一讲的程序就完成啦。快来编写你的程序,然后尽情的和你的小猫玩耍吧。
现在你已经学会了怎么训练计算机识别我们人类说的话,也会用它来做不同的事情,编故事也好,控制东西也好,原理都是想通的,都是很有意思的事情。欢迎小朋友们对这个小游戏进行改编。

本讲完结。欢迎评论跟爱吃鱼老师交流。

《Scratch3少儿学人工智能编程系列》的其它文章:

Scratch3少儿学人工智能编程系列1-准备工作篇

Scratch3少儿学人工智能编程2-智能教室助手

附录:一步一步带你注册蓝色巨人IBM Cloud的帐户

以上文章为个人原创,引用请注明版权。

你可能感兴趣的:([原创]Scratch3少儿学人工智能编程系列3-逗你玩儿)