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

经过上一讲的准备,我们已经有了 machine learning for kids 的帐户,也有了蓝色巨人IBM Watson AI平台的 API Key。如果还没有准备好这些的同学,请点击传送门进入:
Scratch少儿学人工智能编程系列1-准备工作篇

从本章开始,我们将开始学习《Scratch少儿学人工智能编程》系列的正式课程,第1课就是智能教室助手。在智能教室里,会有风扇、有台灯,教室里有一个智能助手,它可以听同学们的号令,同学们叫谁开,它就帮助把谁就打开,叫谁关,谁就会被关掉。不同的小朋友用的话语都不一样,我们的任务就是编写这个智能助手的程序,让它识别命令,执行任务,酷。


智能教室里的台灯和风扇

我们把任务分解,可以分为两个大的步骤:


两个步骤

还是一脸茫然,对不对。别着急,爱吃鱼老师带你慢慢来。起码我们已经把任务分解为两个子任务。

第一步 叫计算机识别指令

哎呀,小朋友真实迫不及待要实现你人生的第一个人工智能项目啦。
我们先进入machine learning for kids的网站的首页:

ML首页

在首页中,点击”转到项目“,或者点击网站上方的导航“项目”,均可以进入下一个页面:
项目管理页

这个界面现在是空的,点击页面右侧的“添加一个新项目”:


项目信息填写

在项目名称里输入“MyClassRoom”(经过爱吃鱼老师多次测试,这个地方暂时还不支持中文,所以只能起英文的项目名称了)。识别里会有三个选项,分别是文本、图像和数字,我们这次选择文本。图像和数字以后再慢慢介绍。语言里选择“Chinese(simplified)”,当然是简体中文的意思。然后点击“创建”按钮,项目就创建成功。


项目管理页

我们点击项目名称“MyClassRoom”,进入它的页面:


项目主页

果然是好专业的界面,光看着上面那几个大字,我们也可以感知到强大的人工智能属性了,那可是因为训练、学习都是人工智能里最常用的术语啊!
页面中有三个大的功能页,分别是训练、学习和测试、以及Make(网站还没有翻译成中文哈,谁给他们提个意见怎么翻译算比较到位)。

首先,我们要使用的是“训练”功能,顾名思义,我们的目标就是训练电脑,能够识别同学们给的指令。小朋友们会说什么来开关风扇、开关灯呢?想一下,想好后我们点击“训练”的按钮,进入界面:


训练的界面

现在界面上是空的,很正常,我们已经不奇怪了。我们已经习惯了找右边的按钮“添加新标签”,点击它 :
添加新标签

这里标签的意思,其实是分类的名称。我们智能教室里,有风扇和台灯两样东西,会产生开灯、关灯、开风扇、关风扇这四个动作。因此,我们这里可以按这四个动作建立4个标签。第一次我们就填写“开灯”(很可惜,这里也不支持中文,因此,爱吃鱼老师只能又来卖弄英文了),填写如下:
新建标签:开灯

我们用这个方法,依次建立“Turn on the light","Turn off the light","Turn on the fan","Turn off the fan",来代表开灯、关灯、开风扇、关风扇四个指令,建立完后:
标签界面

好了,标签的框架已经建立起来,现在我们要进去填内容。点击每一个标签中的“添加示例”就可以增加了(幸运的事,这里可以输入中文啦):
添加示例

想一想,你都想用什么话来控制它们呢?比如,要说开灯,我们可以说:开灯、太暗了、把灯打开等等。关灯,我们可以说:太亮了,关灯、我要睡觉了,等等。下面,是爱吃鱼老师建立的一组语言,见下面截图,供你参考。


命令语句

你也可以添加你自己的命令表达方式,毕竟是你自己的程序你做主。注意,每个分类标签,至少要输入10个,否则会通不过程序的检验。输入完后,点击左上角的“返回项目”,回到下面这个界面:


学习和测试

然后,我们就要进入“学习和测试”,开始让电脑学习,学习,学些!重要的事情说三遍!这个步骤,就是开始要IBM的Watson AI平台去学习我们刚才输入的命令,能够认出我们说的话的含义,到底是要归类到哪一个标签里去。点击“学习和测试”按钮后,进入如下界面:
训练学习

注意到那个蓝色的按钮“培养新机器学习模式”,就是它了,点击它,这时候它就会让沃森在后台给我们学习,下面是正在训练的信息:


学习中

要稍等片刻,它才能完成训练哦。在此过程中,你可以回答页面下方的问答,打发时间,也可以不做。
答题

我们看,一眨眼的功夫,它就学习完毕,界面变成:
测试

上半部分,我们可以看到是一个输入的测试框,我们可以用这个来检验计算机学习的成果:
测试关灯

我们输入“关灯关灯”,从结果来看,有99%的信心它认为是“Turn off the light”,即关灯。


测试关灯

我们再来一个“把灯关闭了”,结果又87%的信心它认为是关灯,结果还行,不会认为是要开灯。
到这里,我们第一步,教会智能助手识别命令,就算完成啦。

第二步 将指令告诉风扇和台灯

这一步,我们就要用到Scratch编程软件来真正实现啦。
我们点击上一个界面中的“返回项目”,回到项目的页面:


项目页面

这一次,我们要点击“Make”按钮。


Make

进入后,发现有我们很熟悉的小猫出来了,我们就用最新的Scratch3吧(Scratch2的流程大同小异,不再赘述)。还有一点同学们需要注意的是,我们进入Scratch的入口必须从这里进来,因为这里的Scratch3并不是MIT(麻省理工大学)上的,而是machine learning for kids网站上自定义的版本哦。
打开Scratch3

看起来界面还挺友好的,界面的下方是一些说明,小朋友要是有空自己可以阅读。我们点击按钮“Open in Scratch3”,这样我们就进来了。

在Scratch3中,我们通过项目模板来创建项目,点击界面中的“Project templates”


项目模板

点击后出现了很多项目模板,我们点击第一个“Smart Classroom”就是我们要的项目模板:
项目模板选择

我们看到代码区,有一片自定义的代码,这就是machine learning for kids网站自动帮我们创建的积木:
自定义积木

界面的右侧,基本的素材都有了,除了代码区是空的。
素材

我们先来看一下,素材里面都有什么:
风扇

风扇有4个造型,依次切换造型,就可以做出吹风的效果。
台灯

台灯有两个造型,一个是亮灯,一个是关灯。

接下去我们要构思如何写我们的程序,先谋定而后动:
1、我们需要一个输入框,用等待输入的方式,告诉智能教室助手要干什么。
2、接收到输入以后,我们要调用识别模块,判断是什么指令,就对角色发对应的消息,让角色做对应的动作。具体给大家分析一下:
1)开风扇,设定一个消息叫做“开风扇”,并设定一个变量,表示风扇的状态是开,还是关。当风扇接收到开的指令时,变量设定为开,然后每隔0.3秒切换造型,一直循环。时间可以调整,调小了风扇就会转的快,调大了风扇就会慢。
2)关风扇:开关的变量变为关,将风扇的造型设为第一个,静止的状态。
3) 开灯,这个比较简单,就是切换造型到第一个造型,表示开灯。
4)关灯,切换到第2个造型即可。

好,我们来动手:
第一步,我们来针对教室做统一的编程,我们先不做识别的内容,先把程序的框架搭起来:


程序框架

当小绿旗被点击时,重复执行,等待你的说话。并对回答进行判断,我们添加了4个“如果/那么”,用来接收4种指令情况,然后广播对应的消息。


主程序框架

第二步,台灯因为只有开和关两种情况,比较简单,我们对台灯进行编程:


台灯

第三步,我们对风扇进行编程:


风扇的程序

至此,主程序框架我们都搭完了,并且可以运行起来看看效果,点击小绿旗运行:


输入界面

输入“开灯”,并按回车键:
开灯

我们看见台灯亮了,so good!给自己点个赞!
到这一步为止,我们还没有用上任何人工智能的东西,但涵盖我们程序的功能、使用流程我们都建立起来了。这也是我们程序员在真正的程序设计中经常用的方法,简单的说就是,先完成框架和流程,然后再修改细节,完成最终的程序。这种先有整体,再有细节的方法,大家可以经常用。

第四步,我们增加人工智能的用法,使得智能教室能够处理更多的指令,智能识别你说的话。

在项目模板里(必须通过Project templates里选择Smart Classroom采会有哦),有这样的两个指令:


智能识别语句

第一个是 识别的文本(label),这里就是识别出来的分类标签的名字。
第二个是 识别的文本的(confidence),这里就是它的信心指数。还记得上面做的测试吗? 你输入“关灯关灯”,它有99%的信心认为是“关灯”。
我们只要采用它识别为什么名字就好了,就能达到我们学习这个程序的要求。99%的信心,以后有机会爱吃鱼老师再慢慢解说。

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


判断标签

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

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


主代码区

至此,我们的代码就完成了。赶紧试一下你的程序吧,你可以跟它说更多的话,看看它的反应是不是符合你的想法:


试验最终程序

哈哈,我们训练的时候可没有训练这句话哦。但是它关灯了吗?快来编写你的人工智能程序试试看吧。

最后,爱吃鱼老师提示你,你可以再回去修改修改你的训练语句,给每个标签多添加一些语句,让智能教室能够识别更多的指令。
当然,你还可以添加上其它的角色素材,让你的教室更加智能起来。
加油!

以上为本人原创,引用请注明版权。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,033评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,725评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,473评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,846评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,848评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,691评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,053评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,700评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,856评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,676评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,787评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,430评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,034评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,990评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,218评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,174评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,526评论 2 343

推荐阅读更多精彩内容

  • 现代社会,人工智能是无人不知无人不晓啊,满大街的人都在说。未来的社会也肯定是人工智能的社会,人工智能将在很多方面取...
    小飞鱼写字阅读 4,256评论 2 0
  • 安意如在《人生若只如初见》里说:言语是在对的地方遇见对的人,仰目惊心,瞬息间心花开遍,就像有个女子在桃树下,她不期...
    许不诺阅读 284评论 0 3
  • 周日,下雨天,不能外出。女儿期末考试在即,老师期待孩子们收收心,在家复习,恰恰好。 女儿是个聪明的孩子,奈何无恒心...
    云手a阅读 339评论 0 3
  • 大多数的错失,是因为不坚持,不努力,不挽留,然后欺骗自己说一切都是命运。 昨天再好,也走不回去。明天再难,也要抬脚...
    柴疏雪浅阅读 184评论 0 0
  • 公司的女同事里, 有一位天真可爱的萝莉。 中午很累, 除了被饭粒呛到的声音, 大家全都一声不吭的吃着工餐。 她跟我...
    哦啥嘛阅读 231评论 0 0