近些年來Chatbot還滿火的…
其實兩年前就簡單用PHP開發過一隻Chatbot
但那時還沒有用到語意分析的東西
所以語言相關的部份還要人工去判斷
然而現在有非常多的語意分析工具
開發過程就更顯輕鬆
所以想說實做一下這個開發流程
整個流程其實不會太難
想藉此紀錄一下
有興趣的可以參考參考


這篇算是開發的前言
主要說明一下開發流程
以及選擇的工具
簡陋的流程圖如下

1

SETP 1
先建立語意分析模塊
這塊大餅軟體大咖們紛紛都有投入
諸如:
Wit.ai (Facebook)
Lex (Amazon)
Luis (Microsoft)
Watson (IBM)
但我中意的是
DialogFlow (Google)
原因很簡單
第一 免費
第二 支持繁體中文
第三 方便快速整合各大通訊軟體
(Skype LINE Slack Telegram 等等)

SETP 2
選好語意分析工具後
就是要選擇一個後端伺服器
以及後端應用程式
市面上有非常多的雲服務商可以選擇
在此我推薦GCP的Computer Engine
原因沒有他就是因為
選擇f1-micro (1 vCPU,0.6 GB RAM)
是永久免費的…
若是將來需求變大可以再依需求購買
或是轉換到其他VPS
接下來就是選定後端應用程式
事實上若依據SDK豐富度來選的話
其實選擇NodeJS會比較好些
但是本人想藉此多練習另一個語言
因此選擇了Golang作為後端語言
這部份可以依據個人喜好來決定
不過我還是非常建議使用Golang來開發
在效率及代碼量上會比NodeJs好一些…

SETP 3
開發及佈署後端程式
為了方便開發及測試
會使用一個強大的工具ngrok
之後會簡單的使用Gitlab CI/CD
自動會測試及佈署到主機上

SETP 4
當以上都用好後
只需要在Dialogflow
打開整合按鈕讓其他聊天軟體連過來
就可以達到同一個機器人
運行在許多不同的通訊軟體上
算是非常方便且省時的開發喔

以上就為簡易的開發流程
希望往後有時間能慢慢跟大家來分享😅