我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri

上次教了女儿做了一个简易版的Siri,尽管做出了聊天的功能,但是所有的聊天都是提前设定好的。为了弥补这个缺点,这次我教女儿做一个稍微智能点的聊天机器人。由于Scratch是一个很简单的编程语言,目前来说,要用其做出现在用深度学习技术做出的智能聊天功能还不太现实。

先看看效果:

我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri_第1张图片
效果


这次依然是用微信视频教学。

视频一接通,女儿照例卖一会儿萌,逗得我哈哈大笑。

笑完我就开始说话啦,“小宝宝,这次咱们把那个聊天机器人改进改进吧?”

她也觉得有必要,“好啊好啊,我也觉得那个好简单。”

“这次可以用‘链表’,这个功能,把你想说的回答放进去,然后利用‘随机’这个功能就可以跟别人聊天啦。”

“‘链表’是啥?”她不解。

我给她解释,“‘链表’就像一个盒子,你把要说的话放在里面,每次回答别人的时候,你就从里面拿出一句话来,你可以看着盒子拿,也可以闭着眼拿。”

她眼神一亮,“哦,我明白啦!就是潘多拉盒子,每次拿出来的东西都不一样。”

“对的,现在我们依然设置背景舞台和小猫咪吧,这个你会吗?”

“我会我会!这个简单!你看!”

我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri_第2张图片
背景舞台和小猫咪

“然后你在建立一个‘链表’,在‘数据’模块里。”

“弄好啦,你看!”

我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri_第3张图片
数据->链表

“不错哟!你还学会把链表给隐藏了!”大家注意看‘聊天’前那个方框里没有打钩,这个链表就

不会出现在舞台上,让舞台更美观。

“那是!也不看看我老师是谁!”她得意地把我也夸了。

“然后你就可以用‘将加到聊天链表’这个块,长方形框里可以随便写,为了能回复任何话,你可以用万用回复句式,比如‘然后呢?’,‘酱紫!’,‘嗯嗯!’,‘接着说’等等。”

“那也太不尊重别人了吧?”女儿有点生气。

“可是这样稍微智能点嘛,等以后我教你用深度学习技术做个真正的智能聊天机器人。”

女儿有点懵逼,“深度学习是什么鬼?有多深?”

我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri_第4张图片
女儿有点懵逼

“哈哈,以后教你!你把你的代码给我看看。”

这是她给我的代码:

我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri_第5张图片
聊天链表

“不错啊,都是万用回复,这样聊天会被人骂死的!”

“可是通用啊,最模糊的句子最通用。”她说的也有道理。

“这点我赞同,其实很多时候聊天最关键的是倾听,如果能感同身受然后给出自己的见解最好了,但是这个没那么容易。”

“然后写什么呢?”

“你把‘侦测’模块里的‘询问并等待’放下面,表示开始聊天。”

这是她给我的代码,很对。

我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri_第6张图片
开始聊天

“然后你要‘重复执行’这个块,在控制里,让我们不停聊天。”

我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri_第7张图片
不停聊天

“当别人输入了TA想说的话之后,你可以通过‘询问并等待’这个块给出回复,也可以换个造型。”

我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri_第8张图片
回复+换造型

“然后呢?”她问我。

“你可以用‘聊天’链表里的句子了!”比如:

我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri_第9张图片
使用链表

她开始思考,“为了随机回复,需要用随机块。”然后给我代码:

我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri_第10张图片
随机回复

我提醒她,“但是‘链表’里可能不是10个句子,所以你可以把这个10改成‘链表’的长度。只需要用‘聊天’链表里的‘聊天的长度’这个块就可以了。它会记录你的链表里有多少句话。”

“哦!这么神奇!”然后她给我看她的代码:

我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri_第11张图片
聊天的长度

这是最终代码:

我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri_第12张图片
最终代码

下面就是测试效果啦!

我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri_第13张图片
效果

“哈哈,好像还真有点智能,其实就是随机使用万用回复。”女儿一针见血。

“是啊,到目前为止,其实Scratch的大多数功能你都已经学会了。下次我教你和硬件相关的吧,通过Scratch代码和电脑的摄像头互动玩游戏。”

女儿很满意,我们就接着聊别的去了。

项目地址:升级版Siri

下一次课,我会教女儿如何用Scratch写代码和摄像头互动玩游戏。


转载请注明:来自微信公众号“君君玩科技”。

你可能感兴趣的:(我教“孩子”在10小时内精通Scratch-第6小时:升级版Siri)