簡介
Asanga是一個讓客戶能簡單地自行設計聊天機械人的平台,無需具備任何編程知識,即可設計包含自然語言處理(NLP)技術的聊天機械人。
Asanga為一Web Application, 不用下載和安裝,全部操作可直接在這網站(https://parami.ai/)完成。
Asanga是一個讓客戶能簡單地自行設計聊天機械人的平台,無需具備任何編程知識,即可設計包含自然語言處理(NLP)技術的聊天機械人。
Asanga為一Web Application, 不用下載和安裝,全部操作可直接在這網站(https://parami.ai/)完成。
機械人會根據專案 (Projects) 的設定去運作,換句話說,專案 (Projects) 就是機械人運作的依據。
每個平台每次只能指派一個專案 (Projects) 作為運作的依據,但不同的平台連接 (Channels) 可同時使用同一個專案 (Projects) 。
每個可正常運作的專案 (Projects) 應包含至少一個流程 (Flow) ,而根據需要,可建立多於一個流程 (Flow) 以應付不同來訪者的需要。
流程 (Flow) 就是機械人運作的流程,流程 (Flow) 主要是由方塊 (Block) 組成,每個正常運作的流程應包含至少一個方塊 (Block)。
畫板 (Board) 是使用者自由設計流程 (Flow) 的介面,在此介面中,使用者可運用不同種類的方塊 (Blocks) 來建立心目中想要的流程 (Flow) 。
方塊 (Block) 就是用來建立機械人行為的最底層結構,也是構成流程 (Flow) 的主要元件。
方塊 (Block) 的種類如下:
讓機械人傳送訊息或聲音至來訪者。
讓機械人等待及接收客人回覆。
讓機械人因應不同的條件,進行不同的工作,需配合 last_intention 或 變數 (variable) 使用。
Asanga為客戶預設的程序,客戶可使用預設程序 (Prefined Process) 來觸發一些外部程序,如發送電郵。 (Asanga會持續增加Prefined Process的數量及多元性。)
為變數 (Variable) 賦予值或作出運算。
連接至其他流程 (Flow)
為流程 (Flow) 指定特別出口並傳回指定的值
客戶可在AI設定 (AI Setting) 中建立動機 (Intents) , 作為觸發流程 (Flow) 的條件。客戶只需輸入用戶會查詢的相關意思句子, 機械人就會以自然語言處理人工智能技術與用戶輸入的信息進行比對, 讓機械人觸發正確的流程 (Flow) 。
即時對話 (Live Chat) 就是用來檢視機械人與訪客的對話,亦可隨時作人工介入。
請讀者自行往Facebook完成註冊程序及創建Facebook粉絲專頁。
先進入Parami網頁: https://parami.ai 按右上角Start For Free按鈕,輸入所需資料,即可完成註冊。
在左方的菜單點擊Settings,展開後,再按Platform Accounts,再按右上角的ADD PLATFORM ACCOUNTS按鈕。
之後,選取你需要加入的平台種類(如Facebook),登入和確認授權即可。
動機 (Intents)是觸發Flow的其中一個主要方法。管理完善的動機 (Intents)可讓你的訪客更容易進入既定的Flow。
然而,建立動機 (Intents) 並非必須的,如果你所使用的平台能支援kick_start (請參考4.5.3),如Facebook,可先跳過這部份,以後再回來學習。
圖示 | 名稱 | 使用 |
---|---|---|
![]() |
編輯 Edit | 點擊以編輯動機 (Intents)。 |
![]() |
刪除 Delete | 點擊以刪除動機 (Intents)。 |
創建完成後,可在Flow的Trigger (請參考4.5.3)選擇已創建的動機 (Intents),當來訪者輸入的訊息跟動機 (Intents)的example相符,即會觸發Flow。
圖示 | 名稱 | 使用 |
---|---|---|
![]() |
編輯 Edit | 點擊以編輯動機 (Intents)。 |
![]() |
發佈 Publish | 點擊以發佈Template。(請參考Publish (發佈) 範本) |
![]() |
刪除 Delete | 點擊以刪除動機 (Intents)。 |
此為唯讀的欄位,當建立了流程 (Flows)後,則會在此欄位顯示。
專案 (Projects) 在每次修改後,都需要Publish以套用在運作中的機械人上方可運作。Publish的方法將在後面的章節詳談 (請參考4.7)。
你可為每個專案 (Projects)設定一系列的變數,變數的作用除了記錄資料,還可對資料進行運算工作,如數值可進行一般加減乘除等運算;文字資料則可以合成。
Variable的用途很廣,如基本的資料紀錄、運算和輸出,透過不同的紀錄以決定Flow的行走路線,甚至可以用來控制循環(迴圈/Loop)的數量,這將會在後面的章節 (請參考7實作例子)講解及示範。
然而,建立Variable並非必須的,讀者可先跳過這部份,以後再回來學習。
什麼是「QA功能」?
QA功能是Asanga的特色之一,當在Flow中的任何階段使用一個已啟用QA功能的Variable時,機械人會在與客戶對話的過程中的每一句對話,獲得需要的答案,如客人從沒有提供過相關問題的答案,則會按Default Question的設定主動詢問客人。
例子:
對話一:
機械人:你好
客人:你好,我想吃干炒牛河
機械人:明白,一份干炒牛河 ← 用到Variable「食物」時,自動尋找客人提供的答案)
對話二:
機械人:你好
客人:你好
機械人:請問你想吃什麼? ← 因為客人沒有提供過相關資訊,機械人會使用Default Question詢問客人
客人:干炒牛河
機械人:明白,一份干炒牛河 ← 如果客人已回答,機械人就能自動尋找客人提供的答案
使用者查看專案 (Projects)以及其設定時,可選擇Draft或Published作為查看的對象。
Published就是機械人正在運行的版本,Published的版本不可直接進行修改,如果需要修改的話,應使用Draft的版本,修改後用Publish的功能來更新Published的版本
Draft則是還在設計階段的版本,此版本可直接進行修改。唯修改後,不會套用到現行的機械人上。
Publish的方法將在後面(請參考4.7)介紹。
圖示 | 名稱 | 使用 |
---|---|---|
![]() |
編輯 Edit | 點擊以編輯Flow的基本資料。 |
![]() |
停用 Disable | 點擊以停用該Flow,再次點擊可重新啟用。 |
![]() |
刪除 Delete | 點擊以刪除Flow。 |
Exits是一唯讀的欄位,當在Board 內曾建立過 Exits Block(請參考: Exit Block (出口方塊)),則會在此欄位顯示。
Flow的種類有兩種,分別是Procedure和Q&A。
一般而言,Procedure用來讓機械人處理複雜的流程,而Q&A則主要是用來提供簡短的資訊。
Function | Procedure | Q&A |
---|---|---|
Description | 豐富流程 | 主要應付一問一答 |
Switch between Flows (請參閱「深入了解Procedure與Q&A的分別) | Ask to proceed (經詢問才轉接) | Free switch (自由轉換) |
Output Block (輸出方塊) | YES | YES |
Wait Block (等待方塊) | YES | NO |
Switch Block (分流方塊) | YES | YES |
Set Variable Block (設定變數方塊) | YES | YES |
To Flow Block (轉接流程方塊) | YES | NO |
Set Variable Block (設定變數方塊) | YES | YES |
Exits Block (出口方塊) | YES | NO |
Predefined Process | TBA | TBA |
要讓Flow被觸發(Triggers),則有三種方法:
在某些平台,能夠在來訪者說話或輸入訊息前,便可偵察到有新的來訪者,此時便可使用kick_start去觸發第一個Flow,主動迎接來訪者。
例如: Facebook的Get started(開始使用)。
*這功能受平台的限制,有些平台並不支援kick_start
動機 (Intents)是Asanga的特色設計之一,使用者可自行定義動機 (Intents),並提供例句,機械人便會用NLP技術,跟來訪者的說話或訊息作比較。
簡單地說,就是只要你在Flows的Triggers中加入一個動機 (Intents),而來訪者的說話或訊息被機械人評定為同樣或近似意思時,這個Flow便會開始工作。
動機 (Intents)的設定方法,可參考4.3。
此方法可讓你的來訪者在Flow之中跳躍至另一個Flow,這可增加Flow的重用性,亦可簡化Flow的內容。
這方法要在 Board (畫板)介面進行,將在以後的章節4.6再詳談。
一般而言,每一個沒有後續的Block均為Flow的出口,但當你配合To Flow Block使用時,你可能有需要根據Flow的最後路線來決定機械人下一項工作,這時你就可以為Flow設定額外出口。
有關使用方法將在以後的章節(第四章第6節各種Blocks的使用方法)詳談。
按一下方塊,按鍵盤的delete鍵。
按流程線一下,按鍵盤的delete鍵。
每個Flow都必須有一個開始的Block,只需在想要作為開始的Block上按滑鼠右鍵,就會出現Set as Start Node按鈕,點擊後即可將該方方塊設為Flow的開始 。
開始方塊的圖示
設定後,該方塊會有這樣的圖示。
圖示 | 名稱 |
---|---|
![]() |
返回(Back) |
![]() |
復原(Undo) |
![]() |
重做(Redo) |
![]() |
放大Zoom In |
![]() |
縮小Zoom Out |
![]() |
編輯模式 Edit Mode |
![]() |
檢視模式 View Mode |
圖示 | 名稱 | 解釋 |
---|---|---|
![]() |
警告 !Warning | 當欠缺必填的資料時,Block的右上角會出現感歎號 |
Output Block是一直接跟來訪者接觸的方塊,它能支援variables(變數)和emoji(表情符號)。
可供輸入欄位:
欄位 | 描述 |
---|---|
Name | Block的名稱,系統自動生成,使用者可因應需要進行修改。 |
Value | 希望來訪者看到/聽到的訊息,支援variables和emoji。 |
圖示 | 名稱 | 描述 |
---|---|---|
![]() |
變數Variable | 可加入變數,雖先在Template設定才可使用 |
![]() |
表情符號 Emoji | 可插入表情符號 |
使用方法:在方格內輸入文字即可,可按下方「X1」(或按@號) 打開Variables選單以加入Variables,亦可按下方的表情圖示以加入表情。
注意:所有Variable必須透過選單選取,不可直接以鍵盤輸入。
Wait Block是讓機械人停下來等待客人輸入的方塊。
可供輸入欄位:
欄位 | 描述 |
---|---|
Name | Block的名稱,系統自動生成,使用者可因應需要進行修改。 |
使用方法:直接放在要讓機械人需要等待的位置即可。
Switch Block是讓機械人進行邏輯判斷以分流工作的方塊。需要配合last_intention或variables使用。
可供輸入欄位或按鈕:
欄位 | 描述 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Name | Block的名稱,系統自動生成,使用者可因應需要進行修改。 | ||||||||||||||
Variable | 用作比較的variable。 | ||||||||||||||
Operator |
運算符號,當選擇不同類形的變數,可供選擇的運算符號也會有所不同。
|
||||||||||||||
Value | 比較的對象,根據用作比較的variable的類別,可使用文字、數字或variables。 | ||||||||||||||
+ | 新增比較條件。 | ||||||||||||||
Default | 當所有條件都不符合時,分流方塊便會選擇的分流路線 |
使用方法:在上方選取Variable,再選取operator (可選的operator會因應所選的variable類型而有所不同),再在右邊的方格輸入比較的對像,如Qty > 10,意思就是比較Qty這個variable是否大於10,如果答案為是,則會進入右邊的分流路線;如答案為否,則會進入下一個比較條件,直至進入Default路線,如需要增加比較條件,請按「+」號。
last_intention:
系統定義的變數,用來判斷來訪者的最後回覆的意向。這與前面4.3提及的動機 (Intents) 原理一樣,但並無直接關係。
譬如在Switch Block之中,variable的位置選了last_intention,Operator選等於(==),Value輸入「我想買口罩」,來訪者在此聊天階段輸入意思相似的句字(如「我想買Mask」,機械人便會判定其為正確。
Set Variable Block是讓使用者設定變數的方塊,使用者可在此進行變數的運算,或直接賦予值。
可供輸入欄位:
欄位 | 描述 |
---|---|
Name | Block的名稱,系統自動生成,使用者可因應需要進行修改。 |
Variable | 將要為其設定值的變數。 |
Value | 將要為變數設定的值。根據Variable的類別,可採用variable和operator。按「X1」或鍵盤的「@」掣加入variable;按「≠」或鍵盤的「#」掣加入variable。 |
圖示 | 名稱 |
---|---|
![]() |
變數 Variable |
![]() |
運算符號 Operator |
使用方法:先選取需要賦予值的variable,再在下方輸入新的值,如:
Variable設定為Qty
Value設定為Qty + 1/p>
意思就是將Qty設定為Qty本來的值再+1
注意:所有Variable和Operator必須透過選單選取,不可直接以鍵盤輸入。
To Flow Block是讓訪客由一個流程(主)轉接至另一個流程(副)的方塊。當副流程運作完成後,則會返回主流程。使用者可於副流程之中加入Exit Block(請參考4.6.6.6),以增加主流程在使用To Flow Block並選擇該副流程後出口的數量,從而達至分流的效果(見圖):
可供輸入欄位:
欄位 | 描述 |
---|---|
Name | lock的名稱,系統自動生成,使用者可因應需要進行修改。 |
Flow | 需要轉接至的流程 (副流程)。 |
Exits | 如副流程中有使用Exit Blocks,則To Flow Block除了預設的出口外,還會出現額外的出口,各出口可接駁至不同的Block。相對而言,如副流程沒有使用Exit Block,則不會有Exits,即To Flow Block只有一個出口。(見圖) |
使用方法:選擇需要轉接到的流程(副流程),如需要在完成副流程後因應不同的結果進行分流,則要先在副流程加入Exit Block。
To Flow Block的出口數量視乎副流程的Exit數量而定,如副流程沒有設定任何Exit Block (出口方塊),則只會有一個出口。
正常情況下,當一個Block並沒有接駁至下一個Block,則該Block就是一個出口。但當你配合To Flow Block(請參考4.6.6.5)時,可能需要因應一個流程最後的結果,而分流至不同的路線,這時你需要使用Exit Block。
可供輸入欄位:
欄位 | 描述 |
---|---|
Name | Block的名稱,系統自動生成,使用者可因應需要進行修改。 |
Return Value | 由副流程傳回主流程的值,也就是出口的名稱。(見圖) |
使用方法:在副流程中的最後一個Block之後加入,輸入Return Value即可。一個副流程可以有數個Exit Block,甚至使用相同的Return Value。使用相同的Return Value會被視為同一個出口。
個案分析一:
主流程
副流程
個案分析二:
主流程
副流程
當完成Flow的設計,你需要使用Publish(發佈)以套用至你的平台帳戶上。
按左方的菜單的Templates進入Template列表,在想要發佈的Template右方按Publish的圖案。
錯誤 | 解決方案 |
---|---|
With empty nodes | 查看所示的Flow有沒有未設置完成的Blocks (有感歎號的Blocks)。 |
No Starting Node on flow(s) | 在該Flow的第一個Block上按滑鼠右鍵設為Start Block。(請參考4.6.4) |
Calls disabled flows | 在Flow中使用了To Flow Block接駁至一個已經Disable的Flow,需要移除該To Flow Block,或將該To Flow Block選取另一個Active的Flow,或重新Enable該Disable的Flow。(請參考4.5) |
發佈成功的話,你將可在Platform Account中設定Flow Template。(見圖)
然後便可到相關的平台進行測試。
錯誤 | 解決方案 |
---|---|
機械人沒回應 | 查看所示的Flow有沒有未設置完成的Blocks (有感歎號的Blocks)。 |
出現機械人尚未設置完成 | 檢查平台帳戶的flow template是否已經設置好。(請參考4.8) |
出現不好意思,我不太懂你說什麼 | 輸入對話的動機 (Intents)不符合任何一個流程的觸發器。(請參考4.3) |
機械人不跟從設定運作 | 請檢查最新版本是否已經成功發佈。(請參考4.7) |
如果讀者還記得在之前的章節提過,讓Flow被觸發的方法有三個,其中一個是經由動機(Intents) 觸發。但如果訪客尚在一個Flow之中,能不能觸發另一個Flow呢?答案是可以的,但會根據被觸發的Flow的種類 [即程序 (Procedure) 或問答 (Q&A) ],而有不同的行為。
在一個程序流程 (Procedure Flow) 中使用動機 (Intents) 觸發另一個程序流程 (Procedure Flow)
如上圖所示,當來訪者進入流程A的程序 (Procedure) 後,當進入等候回應方塊 (Wait Block) , 來訪者可自由輸入訊息,如他輸入的訊息正好是另一個程序流程 (Procedure Flow) (流程B) 的觸發 (Trigger),機械人就會詢問來訪者是否要轉話題,如來訪者回答「是」的話,則會離開流程A, 而進入流程B。當完成流程B後,亦不會回到流程A。
在一個程序流程 (Procedure Flow) 中使用動機 (Intents) 觸發另一個觸發問答 (Q&A)
如果來訪者在流程A的過程中,觸發的是問答 (Q&A) 而不是程序 (Procedure) ,則機械人不會詢問來訪者,直接跳至該問答 (Q&A) 流程,而在該問答 (Q&A) 流程結束後, 亦會自動回到流程A原來的位置。
至於問答 (Q&A) 能否跳到其他流程呢?因為問答 (Q&A) 是沒法使用等候回應方塊 (Wait Block)的, 所以無法在過程中觸發其他流程。
你可以看到聊天機械人的使用狀態。
「危險地帶」的位置可讓你暫時關閉所有聊天機械人。
圖示 | 描述 |
---|---|
![]() |
檢視正在使用機械人的客戶以及其使用平台的模式 |
![]() |
以個別客戶與機械人對話內容為重點的模式 |
![]() |
平衡模式 |
在客戶的方塊點擊右邊3點,再點選Set Type,選擇 緊急 (Urgent) 或Esclauted,讓其他同事以作識別。
在客戶的方塊點擊右邊3點,再點選Status,選擇標記現時對話狀態。
在對話中客戶需要真人客服介入,我們可以在客戶的方塊點擊右邊3點,再點選Take Over,就能於左邊對話框進行介入。
這是讓你能新增更多的使用者的帳戶去共同管理或查看。
1. 在左方菜單點擊用戶管理 (Users)。
2. 再按右上角的新增用戶 (Add User)按鈕。
3. 填上用戶名稱,日後會在主頁登入之用。
4. 填上用戶密碼,日後會在主頁登入之用。
5. 點選More...,可選擇性填名字、職位或聯絡資料,均為讓使用者作識別用途。
6. 權限位置,選擇使用者可使用的權限。
7. 點選右下角保存。
圖示 | 名稱 |
---|---|
![]() |
Edit (編輯) |
![]() |
變更密碼 (Change Password) |
假設,你要為一所藥店設計一個聊天機械人,主要用來處理客人訂購口罩和消毒液。
跟著圖片的教學,你也可以完成屬於自己的聊天機器人,步驟如下:
首先,你要為這機械人創建一個專案 (Projects)
步驟如下:
步驟1: 點選左邊菜單上的專案 (Projects)。
步驟2: 點選右上角新增專案(Add Project)
步驟3: 輸入名稱 (必須填)
步驟4: 描述 (選擇性填)(名稱及描述只讓你作識別用途,並不影響機器人運作。)
步驟5: 選擇想聊天機械人回覆的語言,可多項選擇英文、繁體中文、簡體中文及廣東話。
步驟6: 此為唯讀的欄位,當建立了 Flow (流程)後,則會在此欄位顯示。
步驟7: 新增 (Add)
需要新增兩個流程 (Flows),一個為訪客按開始使用時觸發的流程,另一個則為想要購買口罩的來訪者預備的流程。
步驟如下:
步驟1: 按一下剛新增的專案的名稱位置。
步驟2: 點選右上角新增流程(Add Flow)。
步驟3: 輸入名稱「開始流程」
步驟4: 你開第一個流程就自動在觸發器 (Triggers) 設定了kick_start,代表訪客按開始使用時觸發的意思。
步驟5: 按儲存 (Save)
步驟6: 跟步驟2一樣,新增多1個流程,另一個名為「口罩流程」
步驟7: 觸發器 (Triggers)無需加入,因今次會由「開始流程」去觸發的。
步驟8: 按儲存 (Save)
我們將要處理一系列的資料,如顧客購客的數量、貨品的種類、單價、總價,所以我們先建立四個變數:
Variable | Validation | 用途 |
---|---|---|
Item | FreeText | 記錄客人想要買的貨品 |
Qty | Quantity | 記錄客人想要買的貨品數量 |
TotalPrice | Price | 記錄貨品總價 |
UnitPrice | Price | 記錄貨品單價 |
步驟如下:
步驟1: 點選左邊菜單上的專案 (Projects)。
步驟2: 點選已創建專案 (Projects)的筆圖示的設定。
步驟3: 點選欄位變數 (Variable)。
步驟4: 填上名稱為「貨品項目」。
步驟5: 驗證選擇文字(字串) 。
步驟6: 點選剔號,以作儲存。
步驟7: 填上名稱為貨品數量。
步驟8: 驗證選擇Quantity(整數)
步驟9: 我們會在數量使用QA功能,所以需要在預設問題輸入「請問要幾多盒?」,再點選剔號,以作儲存。
步驟10: 填上名稱為貨品總價。
步驟11: 驗證選擇Price(點數),點選剔號,以作儲存。
步驟12: 填上名稱為貨品單價。
步驟13: 驗證選擇Price(點數),點選剔號,以作儲存。
步驟14: 設定完成,在頂部點擊<箭咀返回專案 (Project)。
如果要進入畫板,只需按剛新增的專案 (Project) 的名稱位置 > 按剛新增的流程 (Flow) 的名稱位置。
現在先進入設計「口罩流程」的流程 (Flow)
跟下圖所示建立不同的方塊 (Block):
步驟1: 進入畫板,點選眼睛一下,以開啟修改模式。
首先詢問客人購買物品(Output):為客人提供口罩資料及選擇,並詢問客人需要購買的種類。
步驟2: 按滑鼠右鍵選擇輸出方塊 (Output), 並輸入訊息「我地依家有藍色口罩(一盒$50元30個) 同綠色口罩(一盒$40元30個) 請問你想要邊款?」。
步驟3: 在輸出方塊 (Output) 的圓圈拉出等待回應方塊(Wait),等待客人回覆購買的種類
步驟4: 在等待回應方塊 (Wait) 的圓圈拉出條件判斷方塊 (Switch),用來分流藍或綠色口罩, 在變數 (Variable) 位置選last_intention,由於客人的回答可能是顏色、亦可能是價錢, 所以我們建立四個分流路線,選擇「=」及分別輸入「藍色」、「50元」、「綠色」、「40元」。
假若客人的回答並不符合以上四個選擇,所以要採取的應對方案。
步驟5:在條件判斷方塊 (Switch)的否則 (Otherwise) 的圓圈拉出輸出方塊 (Output),並輸入訊息「對不起,我不太明白。」
步驟6:然後在「不明白」的輸出方塊 (Output)的圓圈拉出接駁至之前建立的「詢問客人購買物品」的輸出方塊 (Output)上。
記錄客人想要購買的物品。
步驟7: 首先滑鼠右鍵建立兩個設定變數方塊 (Set Variable),在變數 (Variable) 的位置選擇「貨品項目」, 在空白位置輸入「藍色口罩」,另一個方塊就輸入「綠色口罩」,之後在「分流藍綠色口罩」的條件判斷方塊 (Switch)的分流路線, 將「藍色」和「50元」的圓圈接駁去「記錄客人購買物品一」的設定變數方塊 (Set Variable),
步驟8: 另外就將「綠色」和「40元」的圓圈接駁去「記錄客人購買物品二」的設定變數方塊 (Set Variable)。
如下圖分別與「分流藍綠色口罩(Switch)」的四個出口接上。
記錄貨品的單價
步驟9: 在「藍色口罩」的設定變數方塊 (Set Variable)的圓圈拉出一個設定變數方塊 (Set Variable), 在變數 (Variable) 的位置選擇「貨品單價」,在空白位置輸入價錢「50」。
步驟10:
在另一個「綠色口罩」的設定變數方塊 (Set Variable)的圓圈拉出一個設定變數方塊 (Set Variable),
在變數 (Variable) 的位置選擇「貨品單價」,在空白位置輸入價錢「40」。
計算總價,將購買數量剩以單價,由於購買數量會由客人提供,所以可使用QA功能, 而不需要設置額外的方塊去詢問如果客人在前面沒有提及想要購買的數量,機械人便會主動詢問客人。
步驟11: 在滑鼠右鍵建立一個設定變數方塊 (Set Variable),在變數 (Variable) 的位置選擇「貨品總價」, 在空白位置右下角點選變數符號(Variable)按鈕或快捷鍵@ (圖: 綠色箭咀),選擇貨品單量, 再點選右下角點選運算符號(Operator)按鈕或快捷鍵# (圖: 藍色箭咀),選擇貨品乘號符號, 之後再點選變數符號(Variable) (圖: 綠色箭咀),選擇「貨品單價」,就按儲存。
(注意:所有變數符號 (Variable) 及運算符號 (Operator) 必須使用下方按鈕或快捷鍵 @ 和 # 號並選取,不可以直接手動輸入文字。)
將「記錄貨品單價一」和「記錄貨品單價二」的設定變數方塊 (Set Variable)的圓圈接駁去「計算總價」的設定變數方塊 (Set Variable)。
確認訂單,用來覆核客人訂單。
步驟12:
在「計算總價」的設定變數方塊 (Set Variable)的圓圈拉出一個輸出方塊 (Output),
並輸入訊息和加入變數符號 (Variable):
「收到!{貨品數量}盒{貨品項目}
一共{貨品總價}元
請問你是否確認訂單?」
(注意同樣地,所有變數符號 (Variable)必須透過選單選取不可複製貼上或手動輸入文字。
步驟13: 在設定變數方塊 (Set Variable)的圓圈拉出一個等候回應方塊 (Wait),等待客人確認訂單。
對客人的回答進行分流
步驟14: 在等待回應方塊 (Wait)的圓圈拉出一個條件判斷方塊(Switch),在變數 (Variable) 的位置選擇「last_intention」, ,下方則輸入「是的」和「不是」;「是的」表示客人確認購買,可以不接駁至其他的方塊,這就表示這個流程正常完結。
步驟15: 在「不是」的路線拉條出口方塊(Exit),在返回值 (Return Value) 輸入「沒買」,令其他流程使用「口罩流程」,可根據結果作出分流。
步驟16:
在否則 (Otherwise) 的路線拉出一個輸出方塊 (Output),以應付客人沒有回答跟上面相符的答案,並接駁回等候回應方塊#2 (Wait)。
完成了「口罩流程」,可以返回去制作「開始流程」
現在先進入設計「開始流程」的流程 (Flow)
跟下圖所示建立不同的方塊 (Block):
步驟如下:
步驟1: 進入畫板,點選眼睛一下,以開啟修改模式。
步驟2: 按滑鼠右鍵選擇輸出方塊 (Output),並輸入歡迎客人的訊息「歡迎光臨! 我係企鵝藥店機械人!」。
步驟3: 在打招呼的輸出方塊 (Output)的圓圈拉出多一個輸出方塊 (Output),並輸入詢問客人要購買什麼貨品的訊息「請問你想買口罩定消毒液?」
( 由於在之後會有方塊需要重覆問這一句,故此與「打招呼」的輸出方塊 (Output) 分開建立兩個方塊。)
步驟4: 在詢問客人要購買什麼貨品的輸出方塊 (Output) 的圓圈拉出一個等待回應方塊 (Wait)。
( 用來等待客人回覆購買什麼貨品。)
步驟5: 在等待回應方塊 (Wait)的圓圈拉出一個條件判斷方塊 (Switch),在變數 (Variable) 位置選擇「last_intention」,下方則分別選擇「=」、輸入「口罩」及選擇「=」、輸入「消毒液」(按+號以增加分流路線)。
步驟6: 在種類分流的條件判斷方塊 (Switch) 的否則 (Otherwise) 圓圈拉出一個輸出方塊 (Output),並輸入不明白的訊息「對不起,我不太明白」,然後再接駁回到「詢問購買種類」的輸出方塊 (Output) 上。
( 用來處理當客人並非回答「口罩」或「消毒液」時的應對方案。)
步驟7: 在種類分流的條件判斷方塊 (Switch) 的「口罩」路線上圓圈拉出一個進入其他流程方塊(To Flow),選擇「口罩流程」。
( 如果在「口罩流程」已經加入「沒買」的出口方塊 (Exit) ,則會在此出現屬於「沒買」的分流路線。
步驟8: 在種類分流的條件判斷方塊 (Switch) 的「消毒液」路線上,有興趣亦可自行好像上面的「口罩流程」製作一次或者拉出一個輸出方塊 (Output),並輸入消毒液售罄的訊息「對不起,消毒液售罄!」。
步驟9: 在進入其他流程方塊 (To Flow) 的「沒買」的圓圈拉出一個詢問意見的輸出方塊 (Output),並輸入的訊息「收到你確認唔買,希望你留下你寶貴意見。」。
步驟10: 在進入其他流程方塊 (To Flow) 的另外的圓圈拉出一個謝謝恵顧的輸出方塊 (Output),並輸入的訊息「收到你確認訂單,謝謝你的惠顧!」
為什麼要分成幾個流程 (Flow) ?我可以在同一個流程 (Flow) 處理所有事情嗎?
原則上可以的,但為了讓流程 (Flow) 的結構簡潔一些,方便日後維護,以及方便流程 (Flow) 的重用,將不同功能的流程 (Flow) 分開會是較好的選擇。
在畫板(Board) 設定完成後,發表 (Publish)。
步驟如下:
步驟1: 點選左邊菜單上的專案 (Projects)。
步驟2: 在完成了的專案 (Projects) ,在旁邊的工具點選發表 (Publish)按鈕(圖示:箭咀向上),再點選發表 (Publish)。
[ 如有錯誤(一些未設置完成的地方),亦會在此作出提示。可參閱前面章節「無法發表 (Publish)的常見原因」]。
發表 (Publish)完,要連續去你的平台。
步驟如下:
步驟1: 點選左邊菜單上的平台連接 (Channels)。
步驟2: 點選右上角新增連接平台(Add Channels),選擇Facebook
步驟3: 在Facebook驗證時,在編輯設定選擇你的專頁,之後完成權限驗證。
Website
步驟如下:
步驟1: 點選左邊菜單上的平台連接 (Channels)。
步驟2: 點選右上角新增連接平台(Add Channels),選擇Asanga(Web)
步驟3: 名稱是為機械人改名,ID是URL網址,再按右下角建立。
步驟4: 點擊想要啟用聊天機械人的平台帳號旁邊的鉛筆。
步驟5: 在選用專案中點選你剛完成的專案 (Projects),再按確定,就可以正式使用了。
我們嘗試測驗一下剛完成的聊天機械人,你可以去自己平台專頁做測試或者使用我們平台的測試盒子。
步驟如下:
步驟1: 在專案(Project)左邊的測試(圖:正方形)。
步驟2: 可以跟圖片去測試一下。
變數也可以用來迴圈的次數,例如,使用者想要用聊天機械人做一個猜謎遊戲,訪客可以有三次機會,如第三次仍然沒有答中,則為失敗。
詳細步驟:
1. 支援滑鼠的瀏覽器, 手提電話不適用
2. 建議瀏覽器: Google Chrome(較穩定) , Microsoft Edge