连机器都开始学习了,你还不学习?用scratch学习人工智能(三)

网友投稿 2019-09-25 12:19

    上回我们已经在machine learning for kids网站的scratch编程界面创建了一个空的模板项目,今天我们就来继续完成这个小作品吧。

    小朋友们学习编程,最重要的是先要理清思路,把复杂的问题分解成简单的小问题,梳理整个程序的逻辑和顺序、结构等。
    所以我们就先来理一理。

    1)程序开始时,需要有一个输入框等待小朋友输入给智能助手的命令;

    2)接收到输入以后,需要调用识别模块,判断出是什么指令,就对角色发对应的消息,让角色做对应的动作;

    3)台灯和风扇都分别有两个状态:开和关。台灯的造型比较简单,只有开和关两种状态,当接收到命令时,只要切换相应的造型即可;风扇相对复杂一点,它一共有四个造型

https://cdn.china-scratch.com/timg/190927/121Z9E22-0.jpg

    要实现转起来的效果,就需要设定一定的间隔时间,让它不停地切换下一个造型;而当收到关风扇的指令的时候,则需要停止,只显示第一个造型。因此,我们需要设定一个风扇状态的变量,当状态为“开”的时候,切换造型,状态为“关”的时候,停止切换。

    理好思路以后,OK,可以开始动手编写程序啦!

    首先把程序的框架搭好。

    https://cdn.china-scratch.com/timg/190927/121Z944D-1.jpg

当程序开始运行时,让智能小助手等待你的输入,并且判断输入的内容,同时添加4个“如果/那么”,用来接收4种指令情况,然后广播对应的消息。

https://cdn.china-scratch.com/timg/190927/121Z91916-2.jpg

台灯的代码:

https://cdn.china-scratch.com/timg/190927/1219105J7-3.jpg

风扇的代码:

https://cdn.china-scratch.com/timg/190927/1219106202-4.jpg

    OK,运行一下程序,输入“开灯”、“关灯”、“开风扇”、“关风扇”等命令,看看效果吧!

    哦,等等,有些聪明的小朋友可能会发现问题:“不对啊,这跟我之前编写的逻辑控制程序没什么区别啊,人工智能的程序在哪里呢?”

    没错,到现在为止,我们还仅仅只是用简单的逻辑判断来实现这个程序,并没有用上人工智能。不过这也是程序设计过程中一个常用的方法:先完成框架和流程,然后再修改细节,完成最终的程序。

    接下来,我们就来完成真正的人工智能程序。

    在左侧的积木区里,可以找到这些积木

https://cdn.china-scratch.com/timg/190927/121910G92-5.jpg

找到前面的两个

https://cdn.china-scratch.com/timg/190927/12191063M-6.jpg

第一个是 识别的文本(label),这里就是识别出来的分类标签的名字。
第二个是 识别的文本的(confidence),这里就是人工智能的信心指数。还记得我们之前做的测试吗?当你输入文字命令的时候,人工智能对判断的结果都会给出一个相应的信心。

在代码候选区,还有以下四个积木块:

https://cdn.china-scratch.com/timg/190927/1219105329-7.jpg

它们其实是变量,表示被识别出来是什么意思,依次是:开灯、关灯、开风扇、关风扇。

我们把主程序里的代码替换一下,变为:

https://cdn.china-scratch.com/timg/190927/1219112000-8.jpg

好了,这下我们就大功告成啦!

小朋友们可以试试跟人工智能程序说更多的话,看它会作出什么样的反应。比如:

https://cdn.china-scratch.com/timg/190927/12191133Q-9.jpg

这句话我们之前并没有对程序进行训练,但是人工智能程序依然会作出反应。

如果你想让这个人工智能程序更加智能的话,可以再回去修改你的训练语句,给每个标签多添加一些语句,让智能助手能够识别更多的指令。

快去动手试一试吧!

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com