# [ChatBot] 創造具有自然語言處理的聊天機器人吧!(1) — 了解架構和工具是必要的第一步

這邊會先介紹我們自然語言處理的聊天機器人會使用到的工具,包含LUIS、Bot Framework Emulator、ngrok,還有工具之間彼此的架構。並且使用C#作為開發程式語言。

後續有系列文可以參考:

架構

LUIS

  • 簡單來說,LUIS是一個API雲端服務,它可以透過建立簡易的關鍵字、使用者意圖的一些設定,並且可以紀錄累積使用者的對話,經由機器學習達到更準確的自然語言溝通。

  • 講白點,LUIS提供一個服務讓你可以直接在Web後台設定關鍵字和使用者意圖的字,且不需要輸入任何程式即可達到自然語言處裡的服務。後續則只要在程式設定串接和回復使用者的內容即可。

  • 而LUIS應用程式發佈後,用戶端的應用程式會將語句 (文字) 傳送至 LUIS 自然語言處理端點 API,並以 JSON 回應的形式接收結果。聊天機器人是 LUIS 的常見用戶端應用程式之一。

  • 官方文件

  • 全名:Language Understanding Intelligent Service (LUIS)語意理解認知服務

  • LUIS 是一種 API 雲端式服務,可將自訂機器學習智慧套用至使用者的對話、自然語言文字中,以預測整體意義,並找出相關的詳細資訊。

  • LUIS 的用戶端應用程式是任何對話應用程式,可與使用者透過自然語言溝通以完成工作。 用戶端應用程式的例子包括社群媒體應用程式、聊天機器人,以及具備語音功能的桌面應用程式。

Bot Framework Emulator

  • 簡單來說,就是一個模擬器,可以讓開發者在本機端或是遠端做測試和除錯。

  • 那你可能會問,那為什麼不直接用Bot Framework,然後部屬到Azure雲端呢?

    的確可以呀,但是孩子…要錢呀~~~~ QQ 所以只好用模擬器囉XDD

  • 取代Bot Framework,不需要上Azure或Web即可測試

  • 官方文件

  • Bot Framework 模擬器是一項桌面應用程式,可讓 Bot 開發人員在本機或從遠端對其 Bot 進行測試和偵錯。 使用此模擬器時,您能與您的 Bot 聊天,並檢查您的 Bot 所傳送及接收的訊息。 模擬器會顯示在 Web 聊天 UI 中出現的相同訊息,並在您與 Bot 交換訊息時記錄 JSON 要求和回應。 將您的 Bot 部署至雲端之前,請先在本機使用模擬器加以測試。 即使您尚未使用 Azure Bot Service 建好 Bot 或將其設定為在任何通道上執行,您仍可使用模擬器來測試 Bot。

ngrok 通道軟體

  • 簡單註冊,不用錢

  • 官方網站下載註冊

  • 建立從local端到對外https的通道,ex.LINE

  • 快速建立本機和對外網的連通

  • 因為LINE的webhook URL必須要是https形式

  • 例如說把你的 localhost:3979 對應到 https://aaaaaa.ngrok.com

  • 注意!因為是免錢的,所以每次的https網址都會變。

  • 方法:輸入ngrok http 3979,把你的local host輸進去即可。

就會獲得https網址了

參考