iT邦幫忙

2023 iThome 鐵人賽

0
Software Development

跟著 OXXO 一起學 Python系列 第 94

( Day 45.1 ) Python LINE BOT 串接 Dialogflow ( 基本串接 )

  • 分享至 

  • xImage
  •  

在「使用 Dialogflow 打造聊天機器人」文章裡已經學會使用 DialogFlow 建立聊天機器人,接著這篇教學會再繼續介紹,如何透過 Dialogflow 內建的功能,在不需要撰寫程式的狀態下,將聊天機器人的功能與 LINE BOT 串接,做出能夠理解自然語言的聊天機器人。

本篇文章所需知識

要實作本篇文章的範例,需要先參考以下文章,先開啟 Dialogflow 專案。

如果已經有帳號或專案,直接點擊下方連結開始。

Dialogflow 建立 Intents 對話意圖、回覆內容

進入 Dialogflow 專案後,點擊 Intents 對話意圖頁籤就可以建立 Intent ( 參考「建立對話意圖 ( Intent )」 ),點擊 Default Fallback Intent 表示「未知的意圖」,也就是如果無法解析傳送訊息的意圖,就會歸類到這一類Default Welcome Intent 表示「歡迎意圖、打招呼意圖」,也就是如果輸入了「嗨」、「哈囉」之類的打招呼語句,Agent 就會從下方所列的訊息裡,自動選擇一個進行回覆。

LINE BOT 教學 ( Python ) - 串接 Dialogflow

除了打招呼用語 ( 哈囉、嗨、你好、嘿嘿...等 ),點擊上方 CREATE INTENT 建立新的 Intent,將其命名為 goodbye,並在 Training phrases 的區塊新增與「再見」相關的詞語。

LINE BOT 教學 ( Python ) - 串接 Dialogflow

如果某些詞彙出現 ENTITY 的對照,點擊後方的 X 刪除即可,因為某些詞彙可能會與內建的相同,Dialogflow 會自動進行串接 ( 貼心的行為? ),例如輸入「下次聊」,下次的「次」可能就會觸發。

LINE BOT 教學 ( Python ) - 串接 Dialogflow

相關語句建立完成後,接著往下建立 Responses 回覆內容,輸入一些相關的回覆語句,屆時 Dialogflow 會自動從中挑選進行回覆。

LINE BOT 教學 ( Python ) - 串接 Dialogflow

完成並儲存後,點擊右上的 Try it now,就可以開始進行聊天,測試回覆結果 ( 因為 Dialogflow 會進行自然語言學習,所以就算輸入的字詞不是百分之百吻合,只要「意圖相同」,就會被歸類到相同的 Intent 裡 )。

LINE BOT 教學 ( Python ) - 串接 Dialogflow

運用同樣的方式,可以建立好幾個「Intent 對話意圖」,完成後就可以準備開始串接 LINE BOT。

LINE BOT 教學 ( Python ) - 串接 Dialogflow

Dialogflow 建立與 LINE 串接的 Webhook

點擊左側「Integrations」頁籤,從中選擇 LINE。

LINE BOT 教學 ( Python ) - 串接 Dialogflow

在彈出視窗裡,輸入 LINE 的相關資訊 ( 參考「建立 LINE Channel」),Dialogflow 就會產生一個 Webhook 網址,透過這個網址就能和 LINE 進行串接。

LINE BOT 教學 ( Python ) - 串接 Dialogflow

LINE BOT 串接 Dialogflow

前往 LINE Developer,進入欲串接 Dialogflow 的 LINE BOT,點擊 Message API 頁籤,勾選 Use webhook,將 Dialogflow 所產生的 Webhook 網址貼入 Webhook URL 的位置。

LINE BOT 教學 ( Python ) - 串接 Dialogflow

貼上網址後,按下 Verify 進行驗證,出現 Success 表示串接成功。

LINE BOT 教學 ( Python ) - 串接 Dialogflow

最後打開自己的 LINE,就可以開始與 LINE BOT 聊天,而 LINE BOT 進行自然語言辨識和回覆的內容,都是使用 Dialogflow 進行處理。

LINE BOT 教學 ( Python ) - 串接 Dialogflow

小結

過去在實作 LINE 的聊天機器人時,最麻煩的就是處理「語句的判斷」,但如果將聊天內容交由 Dialogflow 進行分析處理判斷,就能更為準確的處理自然語言 ( 使用者自己的語意 ),做到更逼真的 LINE 聊天機器人了,不過如果要做到更多進階的應用,則必須要額外搭配外部伺服器,這部分會在其他篇幅進行介紹。

更多教學

大家好,我是 OXXO,是個即將邁入中年的斜槓青年,我有個超過一千篇教學的 STEAM 教育學習網,有興趣可以參考下方連結呦~ ^_^


上一篇
( Day 44.2 ) Python LINE BOT 串接 Email,寄送使用者的圖片或影片
下一篇
( Day 45.2 ) Python LINE BOT 串接 Dialogflow ( 搭配外部 Webhook )
系列文
跟著 OXXO 一起學 Python101
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言