串接 Dialogflow (1)
在“使用 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 聊天机器人了,不过如果要做到更多进阶的应用,则必须要额外搭配外部服务器,这部分会在其他篇幅进行介绍。
延伸阅读:
微信扫码关注
抖音扫码关注