陈新龙
生活中,人工智能已经无处不在了,我们说一句话,就能够把房间的电视打开;天色暗下来,窗帘自动关闭,灯光自动开启;室内温度升高,空调自动调温。这些服务都离不开人工智能。
现在是时候用Scratch做一个属于自己的人工智能小帮手了。小帮手的形式和功能可以参考天猫精灵或者是小爱同学,它们都有很强大的AI功能,只要对它们说一句小爱同学或者天猫精灵,就可以和它们对话,比如你可以询问今天天气,可以播放歌曲讲故事,还可以和它们一起互动,一起做游戏。
由于Scratch 3.0 本身的AI扩展功能有限,我们使用Mind+来编写这个简单的人工智能小助手。当程序运行的时候,向小助手提问今天天气怎么样,小助手就会回答当地的天气,以及最高温度和最低温度,并且提醒我们穿什么衣服,是不是很贴心呀。我们也可以考考小助手加减法题目,小助手也会很快地计算出正确的答案,
为了实现这些功能我们要用到Mind+的功能模块和网络模块。与小助手语音交互需要进行语音识别。获取天气扩展,输出结果需要文字朗读扩展,加减法需要运算积木。在实现这些基础功能后还可以配合掌控板或Micro bit实现实体化。
首先人工智能小助手会进行一个自我介绍,介绍一下它的使用方法和语音指令。这里用到了朗读和听候语音输入。语音识别过程由于网络原因可能会有点慢,需要耐心等待(如图1)。
天气模块中,由于Scratch没有连接定位系统也就没法实现自动播报本地天气了,只能人工修改省市。为了更好地体现贴心服务,使用条件判断完成了提醒功能,在不同的溫度下提醒需要穿什么衣服(如图2)。
运算部分虽然代码看起来挺长,但逻辑还是很简洁。当听到语音指令“我来考考你数学题目”后询问做加法还是减法。显示语音识别结果避免识别失败。如果是“加法”,询问加数和被加数,并根据语音识别设置变量,并输出计算结果。看过加减法的程序后,你也可以继续编写乘除法的部分(如图3)。
注意,识别出来的结果不能直接使用的,必须作为变量才能使用,否则会出错的哦。
这次人工智能小帮手程序本身难度不高,主要是根据多种语音指令作出判断和正确反馈,还是很考验动手能力的。特别由于语音交互指令可能因方言导致识别出错,在调试过程中还可以添加因指令发生错误时的判断处理语句。
之后还可以在原有的基础上进行升级开发,如附加音乐功能、附加游戏功能……