2018年1月30日 星期二

建立聊天機器人:以Wit.ai為例(Building a Chatbot with Wit.ai)

現在有很多的工具可以用來建立簡易的聊天機器人,例如SmoochCompose.aiChattyPeopleOctane AiTelegramBotKitManyChatChatisfyMeokayFlowXOChatfuel等,有這麼多的工具可以用,那要怎麼選擇呢? 25 Chatbot Platforms: A Comparative Table 這篇文章也許可以提供一些想法。OK,本文將以Wit.ai來建立一個簡易的聊天機器人。

首先登入Wit.ai網站,筆者是使用Facebook帳號登入:

輸入帳戶基本資料後,按下Go down the rabbit hole按鈕來同意使用條款:

點選Settings來更改App的語言:

設定好App資訊後,按下 Change App Details 按鈕:

點選Understanding建立例句,這邊需要多建立幾個例句來分辨詢問『天氣』的意圖:

繼續增加例句,下圖中的數字說明:
1. 輸入使用者可能會用的句子。
2. 選擇 intent (為什麼要選擇 intent,請自行查看https://wit.ai/docs)。
3. 選擇『天氣』,此為剛剛造出來的選項。
4. 按下 Validate 按鈕。

重複上面1~4的步驟建立出如下的例句:

接著要使用Wit.ai所提供的API服務,切換到Settings,輸入對話內容後,複製 curl \ ....的文字,或是按下複製按鈕來複製。

接下來的動作需要用到 curl 這隻程式,在Linux上有這個,筆者是在Windows系統上使用git for windows所附的bash功能。回傳的文字編碼方式是Unicode,可以使用這個網址:https://r12a.github.io/apps/conversion/ 來做轉換,於是得到下面的結果。
上圖的藍色箭頭所指的是使用者輸入的文字,剛好在剛剛建立的例句裡,黃色箭頭所指就是Wit.ai回應的訊息【天氣】,此回應的訊息代表使用者有想詢問【天氣】的意圖(intent)。

下一步

讀者可以使用底下幾種方式整合這個聊天機器人到應用程式裡:
1. Node.js client
2. Python client
3. Ruby client
4. HTTP API

恩,Wit.ai的方式似乎還不夠直覺化,筆者會繼續研究其他ChatBot API再來分享。