LINE BOT 串接 Dialogflow ( 基本串接 )
在「使用 Dialogflow 打造聊天機器人」文章裡已經學會使用 DialogFlow 建立聊天機器人,接著這篇教學會再繼續介紹,如何透過 Dialogflow 內建的功能,在不需要撰寫程式的狀態下,將聊天機器人的功能與 LINE BOT 串接,做出能夠理解自然語言的聊天機器人。
快速導覽:
本篇文章所需知識
要實作本篇文章的範例,需要先參考以下文章,先建立自己的 LINE BOT 以及開啟 Dialogflow 專案。
如果已經有帳號或專案,直接點擊下方連結開始。
- Google Dialogflow:https://dialogflow.cloud.google.com/
- LINE Developers:https://developers.line.biz/zh-hant/
- LINE 官方帳號管理頁面:https://tw.linebiz.com/login/
Dialogflow 建立 Intents 對話意圖、回覆內容
進入 Dialogflow 專案後,點擊 Intents 對話意圖頁籤就可以建立 Intent ( 參考「建立對話意圖 ( Intent )」 ),點擊 Default Fallback Intent 表示「未知的意圖」,也就是如果無法解析傳送訊息的意圖,就會歸類到這一類,Default Welcome Intent 表示「歡迎意圖、打招呼意圖」,也就是如果輸入了「嗨」、「哈囉」之類的打招呼語句,Agent 就會從下方所列的訊息裡,自動選擇一個進行回覆。
除了打招呼用語 ( 哈囉、嗨、你好、嘿嘿...等 ),點擊上方 CREATE INTENT 建立新的 Intent,將其命名為 goodbye,並在 Training phrases 的區塊新增與「再見」相關的詞語。
如果某些詞彙出現 ENTITY 的對照,點擊後方的 X 刪除即可,因為某些詞彙可能會與內建的相同,Dialogflow 會自動進行串接 ( 貼心的行為? ),例如輸入「下次聊」,下次的「次」可能就會觸發。
相關語句建立完成後,接著往下建立 Responses 回覆內容,輸入一些相關的回覆語句,屆時 Dialogflow 會自動從中挑選進行回覆。
完成並儲存後,點擊右上的 Try it now,就可以開始進行聊天,測試回覆結果 ( 因為 Dialogflow 會進行自然語言學習,所以就算輸入的字詞不是百分之百吻合,只要「意圖相同」,就會被歸類到相同的 Intent 裡 )。
運用同樣的方式,可以建立好幾個「Intent 對話意圖」,完成後就可以準備開始串接 LINE BOT。
Dialogflow 建立與 LINE 串接的 Webhook
點擊左側「Integrations」頁籤,從中選擇 LINE。
在彈出視窗裡,輸入 LINE 的相關資訊 ( 參考「建立 LINE Channel」),Dialogflow 就會產生一個 Webhook 網址,透過這個網址就能和 LINE 進行串接。
LINE BOT 串接 Dialogflow
前往 LINE Developer,進入欲串接 Dialogflow 的 LINE BOT,點擊 Message API 頁籤,勾選 Use webhook,將 Dialogflow 所產生的 Webhook 網址貼入 Webhook URL 的位置。
貼上網址後,按下 Verify 進行驗證,出現 Success 表示串接成功。
最後打開自己的 LINE,就可以開始與 LINE BOT 聊天,而 LINE BOT 進行自然語言辨識和回覆的內容,都是使用 Dialogflow 進行處理。
小結
過去在實作 LINE 的聊天機器人時,最麻煩的就是處理「語句的判斷」,但如果將聊天內容交由 Dialogflow 進行分析處理判斷,就能更為準確的處理自然語言 ( 使用者自己的語意 ),做到更逼真的 LINE 聊天機器人了,不過如果要做到更多進階的應用,則必須要額外搭配外部伺服器,這部分會在其他篇幅進行介紹。
延伸閱讀:
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~