今天為大家簡單介紹一下
Dialogflow的使用
一開始會有一點難理解
不過只要理解一些概念後
就像打通任督二脈
自然會習得裡面的精髓


首先要對一些名詞有基本的認識
Agent
一個Agent可以視為
一個語意分析的模組
諸如:天氣agent,旅遊agent…
Intent
一個Agent下可以有多個Intent
Intent可以譯為意圖
裡面可以設定你預想可能會發生的對話
當打中就會落入這個Intent裡面
Entity
每個Intent中可以包含多個Entity
Entity有兩種
一種是系統預設的
例如:時間,數字等等
一種是自定義的
例如:男生女生等等
Actions & Parameters
每個Intent中可以設定
Action及其中的parameters
方便後續回傳值識別與使用
Contexts
Parameters可以藉由Contexts保存
以便紀錄已過所對話過得內容
Fulfillment
當打中所有必選的Parameters後
會觸發fulfilment
它會連至後端你所設定的應用程式
去做一些客製化的回應


有了以上的觀念
就可以來實做一個詢問天氣的Agent了

SETP1
登入Dialogflow

SETP2
新增一個Agent
這裡命名為WeatherAgent

SETP3
新增Entity
取名叫city
雖然系統會自動抓到city
但是我希望獲取的
Enity value是我自訂的
設定的結果如下圖

SETP4
新增Intent
這裡命名為Weather
在Training phrases中填入一些語意
例如:台北天氣如何?今天天氣如何?
設定如下圖

SETP5
設定Action為weather
Parameters中將date和city設為必選
並給出詢問語句
設定後如下圖

SETP6
Responses的部份先給一個固定的回應
例如:我查一下~等等喔!

SETP7
基本上如此Agent就完成了
可以用右上角的try is now去測試
試試看設定有沒有問題喔


同場加映
為了讓這個Agent更聰明一些
讓它可以紀錄之前的對話
可以在增加以下步驟

SETP1
在原先的Intent中
的Contexts output
加上weather
前面會有一個生命週期
可以使用預設的5就可以了

SETP2
再新增一個Intent
叫做weather-continue
在Context中
input output都設為weather
並在Training phrases輸入
明天呢?
如此就可以紀錄上次的對話
可以一直往下問下去