在上一节课里,我们学会了训练计算机,识别我们的命令,然后用Scratch3的项目模板做了个项目,控制教室里的风扇和台灯,让它们开启或者关闭。
还没有学习上一讲的小朋友,请点击这个链接进行学习:
Scratch3少儿学人工智能编程2-智能教室助手
这一讲我们继续学习训练计算机,但这一次,我们不使用项目模板创建项目,而是要我们自己来创建一个项目,并且会用上更多的指令。每次学习都进步一点儿,日积月累,你就会有很大的进步啦。
这一讲我们来做一个小游戏-逗你玩儿,这个“你”就是计算机啦。我们来逗计算机玩。训练计算机来识别我们说的话,如果计算机觉得我们说的是赞扬的话,那它就会开心,做出笑脸来,如果它认为我们是说不好的话,或者批评的话,那么它就会伤心,做出要哭的表情,如果它不确定是好话还是坏话,那么,它就会表示不确定,做出一般的表情。
先看看我们怎么逗小猫:
好了。言归正传,我们把我们的任务分为两个大的步骤:
第一步 训练计算机识别指令
在开始之前,我们还是提醒一下中途进入的小朋友,要学习本讲的内容,我们要提前准备好 machine learning for kids 的帐户,还要准备好蓝色巨人IBM Watson AI平台的 API Key。如果还没有准备好这些的同学,请点击传送门进入:
Scratch少儿学人工智能编程系列1-准备工作篇
准备好了的同学我们就可以开始,仍旧是先进入machine learning for kids的网站的首页,如下图所示:
在上面这个页面中,点击”转到项目“,或者点击网站上方的导航“项目”,均可以进入下一个页面,如下图所示:
在上面这个页面中,点击右上角“添加一个新项目”,进入下一个页面:
在上面这个页面里,分别填入项目名称(英文),选择识别的类型为“文本”,语言可以选择简体中文。填写完以后,点击创建按钮,项目就创建好了,如下所示:
我们在这个界面里点击刚刚创建好的项目,进入到这个项目中,如下图所示:
经过上一讲,我们对上面这个页面已经很熟悉了,基本的思路就是:
1、先进入“训练”的页面,进行新建标签分类,然后针对每个标签分类添加同类型的文本
2、然后进入“学习和测试”,让计算机学习我们刚才添加的内容
3、最后进入“Make”,就是最后去制作我们的Scratch项目了。
好,说干就干。我们点击训练,进入训练界面。
点击上图右侧的“添加新标签”,我们要添加两个标签,一个表示开心的标签,一个表示伤心的标签,并针对每个标签输入对应的话语,最后如下图所示:
当然你也可以添加你的话语,为了保证成功,每个标签下面都至少需要填写10个词语以上哦。输入完以后,点击左上角的“返回项目”回到项目的首页。
现在,我们就可以点击“学习和测试”的按钮,进入学习的步骤:
点击上面这个页面中的“培养新机器学习模式”,进入学习:
计算机就开始在学习中了。就像我们平时学习一样,要学会、记住和会使用,怎么也需要一小段时间。计算机也不例外,所以这时候我们就需要等他学习完毕。
过了一小会儿,它已经学习完毕,还挺快的。界面下方出现了测试的输入框,就表明已经学习完。
我们可以来测试一下,看看计算机学的怎么样
随便输入一些语句看看。上面happy和means是我们建立的标签,计算机认为“真好”是表扬它的话,而“走开”是我们不喜欢它的话,它都能给出答案来。
至此,我们的学习的界面就完成啦。下一步我们进入Scratch程序的编写。
第二步 通过指令判断含义然后做出表情
我们首先回到项目首页
在上面页面中点击Make按钮,进入下面页面,选择项目类型
选择Scratch3,进入下面的界面:
点击上图中左上角的Open in Scratch3按钮,这样我们就来到了熟悉的Scratch3编程界面:
点击Scratch3左下角的“MakeMeHappy"按钮,就能看见Machine learning for kids为我们制定好的积木啦。如下图所示:
至此,我们已经准备好了人工智能项目所需要的积木,下面我们来思考如何编写我们的程序。
理一下我们的思路如下:
1、首先我们需要有四个表情的脸,表示开心的笑脸,表示不开心的哭脸,表示不知道的沉重的思考的脸,以及还没有对话的时候的初始的脸。
2、在程序中,当角色接收到输入以后,就去调用识别积木,如果识别的是“好话”,就把造型切换为开心,如果识别不是“好话”,就将造型切换为不开心。
那有小朋友问,爱吃鱼老师,我们什么时候表示思考啊?
问的好!在上一讲中,我们只是使用返回的标签(label)是什么,那还有一个可信度(confidence)我们是不是没有用啊?
在这一讲中,爱吃鱼老师打算让大家把这个参数也用起来。
大家想一想,如果计算机识别返回的可信度(confidence)只有60%以下,我们是不是可以认为计算机对到底是好话,还是不好的话,它的判断不是那么有信心?
这个时候,我们就可以让角色表现出疑惑的表情,就可以是沉思的状态。
好,分析完以后,我们开干吧。
一、我们要将角色的造型绘制出来
我们在小猫的基础上进行修改。首先,这个开心的小猫是已经有了,我们不用修改。
然后,我们先复制一个小猫,在这个基础上进行修改。在小猫的第一个造型上,我们用鼠标右键,弹出的菜单上,点一下“复制”,如下图所示:
这时候,我们就看到新增加了一个造型3,
这个时候,我们用鼠标选中小猫的头,并点击上方的“拆散”按钮,注意是要点两次才能拆散哦。把小猫的头打散,好让我们修改它,如下图所示:
这个时候,我们就可以选择小猫的嘴来编辑。如下图,用鼠标点击选中小猫的嘴:
我们把小猫的嘴拉下来,并增加两滴汗水,表示小猫很不开心。
用同样的方法,我们再复制一个造型,把它编辑成沉重的思考中的脸,表示它无法判断你要说的是好话,还是不好的话,如下所示:
最后是初始状态,既不笑又不哭,也不疑惑的正常表情的脸:
注意看上面的图,爱吃鱼老师将角色造型的顺序重新排列了一下,名字也修改成对应的表情。
程序的资源,我们就准备好了。
二、将程序的框架搭起来
老思路,爱吃鱼老师喜欢先将程序的框架搭起来,主体运行起来了,再替换里面的细节。
最开始的时候,小猫切换到正常的表情。下面程序最大的分支是“如果那么/否则”,我们用第一个分支来判断回答的信心(confidence)是否是小于60%,如果是,我们就让小猫做出疑惑的表情,否则用后面的分支来判断返回的标签(label)是好的话还是不好的话。马上就可以测试先玩一下哈:
下面我们修改成人工智能的模块:
1、在界面左下角点击“MakeMeHappy”的按钮,找出machine learning for kids为我们制定的积木:
如下图所示
修改替换后的代码:
我们来逗逗爱吃鱼老师的小猫玩儿:
哈哈,小猫好伤心啊。
至此,我们这一讲的程序就完成啦。快来编写你的程序,然后尽情的和你的小猫玩耍吧。
现在你已经学会了怎么训练计算机识别我们人类说的话,也会用它来做不同的事情,编故事也好,控制东西也好,原理都是想通的,都是很有意思的事情。欢迎小朋友们对这个小游戏进行改编。
本讲完结。欢迎评论跟爱吃鱼老师交流。
《Scratch3少儿学人工智能编程系列》的其它文章:
以上文章为个人原创,引用请注明版权。