資訊內容
連機器都開始學習了,你還不學習?用scratch學習人工智能(三)
????上回我們已經在machine learning for kids網站的scratch編程界面創建了一個空的模板項目,今天我們就來繼續完成這個小作品吧。
? ?
小朋友們學習編程,最重要的是先要理清思路,把復雜的問題分解成簡單的小問題,梳理整個程序的邏輯和順序、結構等。
????所以我們就先來理一理。
? ??1)程序開始時,需要有一個輸入框等待小朋友輸入給智能助手的命令;
????2)接收到輸入以后,需要調用識別模塊,判斷出是什么指令,就對角色發對應的消息,讓角色做對應的動作;
????3)臺燈和風扇都分別有兩個狀態:開和關。臺燈的造型比較簡單,只有開和關兩種狀態,當接收到命令時,只要切換相應的造型即可;風扇相對復雜一點,它一共有四個造型
????要實現轉起來的效果,就需要設定一定的間隔時間,讓它不停地切換下一個造型;而當收到關風扇的指令的時候,則需要停止,只顯示第一個造型。因此,我們需要設定一個風扇狀態的變量,當狀態為“開”的時候,切換造型,狀態為“關”的時候,停止切換。
????理好思路以后,OK,可以開始動手編寫程序啦!
????首先把程序的框架搭好。
????
當程序開始運行時,讓智能小助手等待你的輸入,并且判斷輸入的內容,同時添加4個“如果/那么”,用來接收4種指令情況,然后廣播對應的消息。
臺燈的代碼:
風扇的代碼:
??? OK,運行一下程序,輸入“開燈”、“關燈”、“開風扇”、“關風扇”等命令,看看效果吧!
????哦,等等,有些聰明的小朋友可能會發現問題:“不對啊,這跟我之前編寫的邏輯控制程序沒什么區別啊,人工智能的程序在哪里呢?”
? ? 沒錯,到現在為止,我們還僅僅只是用簡單的邏輯判斷來實現這個程序,并沒有用上人工智能。不過這也是程序設計過程中一個常用的方法:先完成框架和流程,然后再修改細節,完成最終的程序。
????接下來,我們就來完成真正的人工智能程序。
????在左側的積木區里,可以找到這些積木
找到前面的兩個
第一個是 識別的文本(label),這里就是識別出來的分類標簽的名字。
第二個是
識別的文本的(confidence),這里就是人工智能的信心指數。還記得我們之前做的測試嗎?當你輸入文字命令的時候,人工智能對判斷的結果都會給出一個相應的信心。
在代碼候選區,還有以下四個積木塊:
它們其實是變量,表示被識別出來是什么意思,依次是:開燈、關燈、開風扇、關風扇。
我們把主程序里的代碼替換一下,變為:
好了,這下我們就大功告成啦!
小朋友們可以試試跟人工智能程序說更多的話,看它會作出什么樣的反應。比如:
這句話我們之前并沒有對程序進行訓練,但是人工智能程序依然會作出反應。
如果你想讓這個人工智能程序更加智能的話,可以再回去修改你的訓練語句,給每個標簽多添加一些語句,讓智能助手能夠識別更多的指令。
快去動手試一試吧!
聲明:本文章由網友投稿作為教育分享用途,如有侵權原作者可通過郵件及時和我們聯系刪除
