我教“孩子”在10小時內精通Scratch-第6小時:升級版Siri

上次教了女兒做了一個簡易版的Siri,盡管做出了聊天的功能,但是所有的聊天都是提前設定好的。為了彌補這個缺點,這次我教女兒做一個稍微智能點的聊天機器人。由于Scratch是一個很簡單的編程語言,目前來說,要用其做出現在用深度學習技術做出的智能聊天功能還不太現實。

先看看效果:

效果


這次依然是用微信視頻教學。

視頻一接通,女兒照例賣一會兒萌,逗得我哈哈大笑。

笑完我就開始說話啦,“小寶寶,這次咱們把那個聊天機器人改進改進吧?”

她也覺得有必要,“好啊好啊,我也覺得那個好簡單。”

“這次可以用‘鏈表’,這個功能,把你想說的回答放進去,然后利用‘隨機’這個功能就可以跟別人聊天啦。”

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

我給她解釋,“‘鏈表’就像一個盒子,你把要說的話放在里面,每次回答別人的時候,你就從里面拿出一句話來,你可以看著盒子拿,也可以閉著眼拿。”

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

“對的,現在我們依然設置背景舞臺和小貓咪吧,這個你會嗎?”

“我會我會!這個簡單!你看!”

背景舞臺和小貓咪

“然后你在建立一個‘鏈表’,在‘數據’模塊里。”

“弄好啦,你看!”

數據->鏈表

“不錯喲!你還學會把鏈表給隱藏了!”大家注意看‘聊天’前那個方框里沒有打鉤,這個鏈表就

不會出現在舞臺上,讓舞臺更美觀。

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

“然后你就可以用‘將加到聊天鏈表’這個塊,長方形框里可以隨便寫,為了能回復任何話,你可以用萬用回復句式,比如‘然后呢?’,‘醬紫!’,‘嗯嗯!’,‘接著說’等等。”

“那也太不尊重別人了吧?”女兒有點生氣。

“可是這樣稍微智能點嘛,等以后我教你用深度學習技術做個真正的智能聊天機器人。”

女兒有點懵逼,“深度學習是什么鬼?有多深?”

女兒有點懵逼

“哈哈,以后教你!你把你的代碼給我看看。”

這是她給我的代碼:

聊天鏈表

“不錯啊,都是萬用回復,這樣聊天會被人罵死的!”

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

“這點我贊同,其實很多時候聊天最關鍵的是傾聽,如果能感同身受然后給出自己的見解最好了,但是這個沒那么容易。”

“然后寫什么呢?”

“你把‘偵測’模塊里的‘詢問并等待’放下面,表示開始聊天。”

這是她給我的代碼,很對。

開始聊天

“然后你要‘重復執(zhí)行’這個塊,在控制里,讓我們不停聊天。”

不停聊天

“當別人輸入了TA想說的話之后,你可以通過‘詢問并等待’這個塊給出回復,也可以換個造型。”

回復+換造型

“然后呢?”她問我。

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

使用鏈表

她開始思考,“為了隨機回復,需要用隨機塊。”然后給我代碼:

隨機回復

我提醒她,“但是‘鏈表’里可能不是10個句子,所以你可以把這個10改成‘鏈表’的長度。只需要用‘聊天’鏈表里的‘聊天的長度’這個塊就可以了。它會記錄你的鏈表里有多少句話。”

“哦!這么神奇!”然后她給我看她的代碼:

聊天的長度

這是最終代碼:

最終代碼

下面就是測試效果啦!

效果

“哈哈,好像還真有點智能,其實就是隨機使用萬用回復。”女兒一針見血。

“是啊,到目前為止,其實Scratch的大多數功能你都已經學會了。下次我教你和硬件相關的吧,通過Scratch代碼和電腦的攝像頭互動玩游戲。”

女兒很滿意,我們就接著聊別的去了。

項目地址:升級版Siri

下一次課,我會教女兒如何用Scratch寫代碼和攝像頭互動玩游戲。


轉載請注明:來自微信公眾號“君君玩科技”。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容