現(xiàn)在私人助理很受歡迎。它們幫助用戶使用語音控制提供信息和控制設備。市場上有很多語音助手,比如亞馬遜Alexa、谷歌助手、Siri等。它們都非常先進,使用人工智能(AI)來檢測用戶的查詢并給予適當的反饋。IBM沃森也是提供語音助手服務的工業(yè)級物聯(lián)網和人工智能平臺之一。我們以前使用IBM沃森物聯(lián)網平臺與樹莓派和ESP32發(fā)送溫度和濕度數據到云端。
IBM Watson是一個強大的平臺,它為您的產品提供語音到文本、文本到語音、視覺識別、自然語言處理和認知計算功能等服務。IBM沃森也有開源機器人,被稱為TJBot。這個IBM沃森人工智能機器人可以很容易地實現(xiàn)使用樹莓派。這個機器人的所有組件都是開源的,你可以3D打印它的身體,也可以用樹莓派制作你自己的TJBot。TJBot還支持攝像頭檢測并給出適當的反饋。
因此,在本教程中,我們將制作一個個性化的IBM Watson AI聊天機器人,它可以為您提供基于語音的反饋。在這里,我們將通過創(chuàng)建講笑話的技能來演示它,但是您可以使用這個AI聊天機器人創(chuàng)建任何交互和有用的技能。
硬件需求
?Raspberry Pi 3[推薦]或Raspberry Pi 2 Model B[支持]和SD卡(8GB及以上)
?外接揚聲器,3.5mm AUX電纜
?任何網絡攝像頭或USB 2.0麥克風
要開始使用樹莓派,您應該有一個可以使用HDMI電纜連接的顯示器,或者您可以使用SSH終端或VNC服務器訪問它。
注意:網絡攝像頭有內置麥克風,所以我們將使用它來代替USB 2.0麥克風。
整個Watson聊天機器人教程主要分為4個部分,具體如下:
?設置SSH或VNC服務器訪問pi,并檢查音頻輸入和輸出。
?從IBM云獲取沃森服務
?添加與IBM Watson機器人交互的技能。
?在樹莓派上安裝Tjbot庫。
第1部分:使用SSH和VNC設置Raspberry Pi
首先,我們必須使用Putty、MobaXterm、TeamViewer等遠程訪問軟件設置SSH或VNC。如果你有HDMI顯示器,那么你可以直接連接樹莓派與它,并可以訪問它的功能。
用樹莓派檢查攝像頭麥克風:
1. 打開樹莓派終端,輸入record -l命令。這將顯示連接到樹莓派的硬件設備,如下所示:
卡片1是我們將要使用的網絡攝像頭的MIC。如果沒有顯示,則表示攝像頭可能有缺陷。
2. 現(xiàn)在,通過運行record audio命令檢查MIC是否正常工作:
3. 要播放錄制好的音頻,輸入以下命令:
如果樹莓派用HDMI電纜連接到顯示器,那么默認情況下音頻輸出將通過顯示器的揚聲器(如果有內置揚聲器)。因此,要將輸出改為3.5mm音頻插孔,輸入以下命令:
現(xiàn)在,你應該聽到3.5毫米插孔的聲音。
注意:要增加或減少麥克風的輸入聲音響度,請在終端輸入alsamixer,然后按F6從終端選擇聲卡。
按F4改變MIC - dB增益,并設置為您想要的。
這里我們使用Webcam作為USB麥克風,但是上面的步驟對于為IBM Watson會話設置USB 2.0麥克風仍然是相同的。
第2部分:設置Watson帳戶和服務
1. 首先,要在IBM云網站上創(chuàng)建帳戶,請訪問該網站并單擊“創(chuàng)建帳戶”。如果您已經有帳戶,那么您可以簡單地通過輸入您的憑據登錄。
2. 單擊搜索欄右側給出的Catalog?,F(xiàn)在,點擊AI選項。為了與Bot聊天,我們需要在這個平臺上提供三個服務。這些服務包括語音到文本、文本到語音和沃森助手。因此,添加這些服務,并注意在添加這些API密鑰時我們將獲得的API密鑰。注意每個服務的鍵。
3. 我們將從向文本添加語音開始,添加其他服務的步驟將與下面描述的相同。點擊語音轉文本服務然后點擊創(chuàng)建。
4. 單擊Service Credentials,然后單擊View Credentials。通過點擊復制圖標復制整個內容,如下所示。
5. 現(xiàn)在,將同一AI目錄中的文本添加到語音和沃森助手,并復制每個服務的憑據。如果“服務憑據”中沒有出現(xiàn)憑據,那么只需單擊“新憑據”,它就會出現(xiàn)。
我們已經完成了為IBM聊天機器人設置服務的工作。現(xiàn)在,我們需要創(chuàng)造技能并用可能的答案訓練它。
第3部分:創(chuàng)造和訓練技能
1. 轉到您之前創(chuàng)建的沃森助手服務,并在沃森助手服務中添加技能。因此,單擊Launch Watson Assistant,如下所示。
2. 技能模板已經在沃森助手中給出,我們將使用它并放置我們的技能內容。所以,點擊技能,然后點擊我的第一個技能。單擊“創(chuàng)建技能”,還可以創(chuàng)建其他技能。
3. 在這里,我們正在制作一個講笑話的技能,所以創(chuàng)建一個實體來檢測單詞“笑話”,點擊實體,然后創(chuàng)建實體。
4. 現(xiàn)在,輸入“joke”作為實體名稱和值名稱。輸入單詞joke的同義詞,然后單擊Add value,如下所示。如果你想做其他的活動,比如介紹,那就單獨做一個實體。
5. 現(xiàn)在,創(chuàng)建一個對話框,對被問到的問題給出反饋。點擊對話框然后點擊創(chuàng)建對話框。
6. 在對話中,寫出對所問問題的回答。然后創(chuàng)建一個包含可能問題的節(jié)點,并為它編寫可能的答案。默認情況下,已經有兩個節(jié)點,一個是Welcome note,另一個是其他節(jié)點。
7. 單擊Add節(jié)點并給它一個名稱,然后識別單詞為@joke:joke。寫出可能的答案,如下所示。
8. 現(xiàn)在,我們需要訓練我們的機器人識別問題并做出相應的反應。因此,單擊窗口右下角的Try it,您將看到welcome節(jié)點生成的歡迎提示。
9. 在try it out窗口中寫一個問題來獲得響應。就像我們會問“告訴我一個笑話”,寫下這句話并按回車鍵,你會看到如下所示的回復。如果答案與所問的問題不匹配,只需從下拉菜單中選擇標記無關。這樣模型就可以被訓練成沃森聊天機器人。
10. 類似地,對其他問題,比如你是誰?你能做什么?填好你的回答,然后訓練它。你已經準備好在樹莓派上測試你的技能了。
第4部分:在Raspberry pi中安裝TJBot庫
1. 首先,我們必須更新樹莓派軟件包,打開終端并運行以下命令
2. 現(xiàn)在,使用下面的命令安裝TJBot的引導包
安裝它需要時間,所以,去給你拿杯咖啡吧。
3. 安裝完成后,您將看到如下消息
一些設置問題會被問到,比如你想安裝TJBot庫嗎,點擊Y,你想安裝nodejs嗎,點擊9,因為TJBot包運行在nodejs 9版本上,其他問題也類似。
完全安裝完成后,將在Desktop上創(chuàng)建一個TJBot文件夾。
4. 如果你沒有安裝NodeJS 9,那么運行以下命令來安裝NodeJS 9。
現(xiàn)在,重新啟動樹莓派。
5. 現(xiàn)在,使用npm編譯TJBot模塊。使用下面的命令安裝npm
6. 使用cd命令轉到tjbot/recipes/conversation目錄,運行以下命令編譯模塊。
7. 編譯完成后,輸入我們正在使用的服務的憑據。為此,轉到conversation文件夾并運行以下命令
該命令將config.default.js文件中的內容復制到config.js中?,F(xiàn)在,我們可以在config.js文件中編輯和輸入憑據。
8. 使用nano文本編輯器使用下面的命令打開config.js文件:
然后輸入工作區(qū)ID, Watson助手的憑據(api密鑰和url),語音到文本和文本到語音。工作空間ID可以在IBM平臺的技能控制臺中找到,如下所示。
如下所示,輸入所有三個服務的憑據,并使用ctrl+x保存并按Enter。
IBM聊天機器人演示
現(xiàn)在,我們準備運行IBM沃森助手。因此,在tjbot/recipes/conversation文件夾中運行下面的命令來啟動助手。
如果所有模塊工作正常,那么您將在終端上看到如下所示的輸出
現(xiàn)在,問一個問題“沃森,給我講個笑話”,你會得到類似這樣的回答,你也可以從揚聲器上聽到回答。
可以通過在config.js文件中編輯TJBot的配置來更改bot的名稱,如下所示。
本文編譯自iotdesignpro