• 簡介

    Asanga是一個讓客戶能簡單地自行設計聊天機械人的平台,無需具備任何編程知識,即可設計包含自然語言處理(NLP)技術的聊天機械人。

    Asanga為一Web Application,不用下載和安裝,全部操作可直接在這網站(www.parami.ai) 完成。

  • 概要

    機械人會根據Flow Templates的設定去運作,換句話說,Flow Templates就是機械人運作的依據。

    每個Platform Account(平台帳戶)每次只能指派一個Flow Template作為運作的依據,但不同的Platform Account可同時使用同一個Flow Template。

    每個可正常運作的Flow Template應包含至少一個Flow,而根據需要,可建立多於一個Flow以應付不同來訪者的需要。

    參考 創建Template(範本)

    Flow就是機械人運作的流程,流程主要是由Block (方塊) 組成,每個正常運作的Flow應包含至少一個Block。

    參考 在範本內創建Flow(流程)

    Board 是使用者自由設計Flows的介面,在此介面中,使用者可運用不同種類的Blocks來建立心目中想要的Flow。

    參考 開始在畫板設計

    Blocks就是用來建立機械人行為的最底層結構,也是構成Flow的主要元件。

    Blocks的種類如下:

    • Output Block

      讓機械人傳送訊息或聲音至來訪者。

    • Wait Block

      讓機械人等待及接收客人回覆。

    • Switch Block

      讓機械人因應不同的條件,進行不同的工作,需配合last_intention或variable使用。

    • Set Variable Block

      為Variable賦予值或作出運算。

    • To Flow Block

      連接至其他Flow

    • Exit Block

      為Flow指定特別出口並傳回指定的值

    Chat Monitor 就是用來檢視機械人與訪客的對話,亦可隨時作人工介入。

    參考 使用Chat Monitor 檢視機械人與訪客的對話

  • 平台使用方法

    請讀者自行往Facebook完成註冊程序及創建Facebook粉絲專頁。

    先進入Parami網頁: https://parami.ai 按右上角Start For Free按鈕,輸入所需資料,即可完成註冊。

    在左方的菜單點擊Settings,展開後,再按Platform Accounts,再按右上角的ADD PLATFORM ACCOUNTS按鈕。

    之後,選取你需要加入的平台種類(如Facebook),登入和確認授權即可。

    Intentions是觸發Flow的其中一個主要方法。管理完善的Intentions可讓你的訪客更容易進入既定的Flow。

    然而,建立Intention並非必須的,如果你所使用的平台能支援kick_start (請參考4.5.3),如Facebook,可先跳過這部份,以後再回來學習。

    • 建立Intention方法:
      圖示 名稱 使用
      編輯 Edit 點擊以編輯Intention。
      刪除 Delete 點擊以刪除Intention。
      1. 先點選左邊菜單上,Flow Editor裏面的Intentions以進入Intentions管理頁面。
      2. 按畫面右上方的按鈕 Add Intention
      3. 輸入Name和Description (這兩項均為讓使用者作識別用途,並不影響機械人運作。)
      4. 按Save自動跳至example頁面
      5. 提供example
      6. 並按右邊(img)號或鍵盤上的Enter制,以作保存保存:
        • examples是機械人用NLP技術進行語句比較的依據,目前支援中文(包含粵語)及英文。
        • 由於客人提問的方式有很多,儘管機械人內置的NLP技術可應付大部份意思相近的句子,但仍有可能遇到一些特殊的提問方式,甚至用上一些比較專業的名詞,因此,你需要提供更多的例句去協助機械人進行微調。例如:
        • 你們學校的師生比例是多少?
        • 你們學校的有足夠老師去應付每位學生嗎?
        • 我想知道你們學校有多少學生和老師。
        • 你們是不是實行小班教學的?
        • 以上例句,句子表面的意思都不一樣,但其背後的動機,都是針對着「師生比例」這一項資訊,你可能想要用同樣的流程去解答訪客的查詢,將所有句子加進去,就能讓機械人用同樣的流程去處理這些問題。

      創建完成後,可在Flow的Trigger (請參考4.5.3)選擇已創建的Intention,當來訪者輸入的訊息跟Intention的example相符,即會觸發Flow。

    圖示 名稱 使用
    編輯 Edit 點擊以編輯Intention。
    發佈 Publish 點擊以發佈Template。(請參考Publish (發佈) 範本)
    刪除 Delete 點擊以刪除Intention。
    1. 先點選左邊菜單上,Flow Editor裏面的Template以進入Template管理頁面。
    2. 按畫面右上方的按鈕 Add Template
    3. 在General 的標籤頁中輸入Name和Description (這兩項均為讓使用者作識別用途,並不影響機械人運作。)
    4. 按Save自動跳至Template管理頁面。
    • Template (範本)其他欄位及功能介紹:
      Flows(範本包含的流程)

      此為唯讀的欄位,當建立了 Flow (流程)後,則會在此欄位顯示。

      Publish(發佈)

      Flow Templates在每次修改後,都需要Publish以套用在運作中的機械人上方可運作。Publish的方法將在後面的章節詳談 (請參考4.7)。

      Variables(變數)

      你可為每個Flow Template設定一系列的變數,變數的作用除了記錄資料,還可對資料進行運算工作,如數值可進行一般加減乘除等運算;文字資料則可以合成。

    • 建立Variable (變數)方法 :

      Variable的用途很廣,如基本的資料紀錄、運算和輸出,透過不同的紀錄以決定Flow的行走路線,甚至可以用來控制循環(迴圈/Loop)的數量,這將會在後面的章節 (請參考7實作例子)講解及示範。

      然而,建立Variable並非必須的,讀者可先跳過這部份,以後再回來學習。

      1. 先點選左邊菜單上,Flow Editor裏面的Template以進入Template管理頁面。
      2. 在已建立的的Template中在Actions 的欄位點選筆的編緝圖示
      3. 點選上方Variables 標籤頁
      4. 根據你想要紀錄的資料類型選擇Validation
      5. 輸入Variable的Name (為使用者作識別用途,並不影響機械人運作)。
      6. 如Variable需要使用「QA功能」*,請輸入藉以獲取答案的Default Question,當輸入後,即會自動啟用「QA功能」
      7. 按 ✔ 以保存。

      什麼是「QA功能」?

      QA功能是Asanga的特色之一,當在Flow中的任何階段使用一個已啟用QA功能的Variable時,機械人會在與客戶對話的過程中的每一句對話,獲得需要的答案,如客人從沒有提供過相關問題的答案,則會按Default Question的設定主動詢問客人。

      例子:

      對話一:

      機械人:你好

      客人:你好,我想吃干炒牛河

      機械人:明白,一份干炒牛河 ← 用到Variable「食物」時,自動尋找客人提供的答案)

      對話二:

      機械人:你好

      客人:你好

      機械人:請問你想吃什麼? ← 因為客人沒有提供過相關資訊,機械人會使用Default Question詢問客人

      客人:干炒牛河

      機械人:明白,一份干炒牛河 ← 如果客人已回答,機械人就能自動尋找客人提供的答案

    • 什麼是Draft/Published?

      使用者查看Flow Template以及其設定時,可選擇Draft或Published作為查看的對象。

      Published就是機械人正在運行的版本,Published的版本不可直接進行修改,如果需要修改的話,應使用Draft的版本,修改後用Publish的功能來更新Published的版本

      Draft則是還在設計階段的版本,此版本可直接進行修改。唯修改後,不會套用到現行的機械人上。

      Publish的方法將在後面(請參考4.7)介紹。

    圖示 名稱 使用
    編輯 Edit 點擊以編輯Flow的基本資料。
    停用 Disable 點擊以停用該Flow,再次點擊可重新啟用。
    刪除 Delete 點擊以刪除Flow。
    1. 先點選左邊菜單上,Flow Editor裏面的Template以進入Template管理頁面。(請參考4.4)。
    2. 點選已建立的的Template名字
    3. 按畫面右上方的按鈕 Add Flow
    4. 在General 的標籤頁中 的Type欄* 選擇 Procedure 或 Q&A (請參考下方Flows的種類)(*注意: 選擇後無法更改)
    5. 輸入Name和Description (這兩項均為讓使用者作識別用途,並不影響機械人運作。)
    6. Trigger欄可選擇kick start (請參考4.5.3: Triggers(觸發器) & Intention(動機) - (kick_start)) 及可選已建立的Intention (請參考4.3)
    7. 按Save自動跳至Board (畫板)頁面。
    • Flow (流程)其他欄位介紹:

      Exits是一唯讀的欄位,當在Board 內曾建立過 Exits Block(請參考: Exit Block (出口方塊)),則會在此欄位顯示。

    • Flows的種類:

      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
    • Triggers(觸發器) & Intention(動機) - (kick_start) :

      要讓Flow被觸發(Triggers),則有三種方法:

      1. Triggers > kick_start

        在某些平台,能夠在來訪者說話或輸入訊息前,便可偵察到有新的來訪者,此時便可使用kick_start去觸發第一個Flow,主動迎接來訪者。

        例如: Facebook的Get started(開始使用)。

        *這功能受平台的限制,有些平台並不支援kick_start

      2. Triggers > Intentions(動機)

        Intentions是Asanga的特色設計之一,使用者可自行定義Intentions,並提供例句,機械人便會用NLP技術,跟來訪者的說話或訊息作比較。

        簡單地說,就是只要你在Flows的Triggers中加入一個Intention,而來訪者的說話或訊息被機械人評定為同樣或近似意思時,這個Flow便會開始工作。

        Intentions的設定方法,可參考4.3。

      3. 由其他的Flow使用To Flow Block

        此方法可讓你的來訪者在Flow之中跳躍至另一個Flow,這可增加Flow的重用性,亦可簡化Flow的內容。

        這方法要在 Board (畫板)介面進行,將在以後的章節4.6再詳談。

    • 什麼是Exit(出口)?

      一般而言,每一個沒有後續的Block均為Flow的出口,但當你配合To Flow Block使用時,你可能有需要根據Flow的最後路線來決定機械人下一項工作,這時你就可以為Flow設定額外出口。

      有關使用方法將在以後的章節(第四章第6節各種Blocks的使用方法)詳談。

    • Board (畫板)介面簡介:
      1. 每次進入Board之後,都預設為檢視模式,需按一下上方的Edit按鈕才能進行編輯。
      2. 進入編輯模式之後,可按右鍵選取要建立的Block。
      3. 當建立了第一個Block之後,亦可在Block上的小圓點使用滑鼠拉出另一個Block。
    • 刪除方塊的方法:

      按一下方塊,按鍵盤的delete鍵。

    • 刪除流程線的方法:

      按流程線一下,按鍵盤的delete鍵。

    • 設定開始方塊:

      每個Flow都必須有一個開始的Block,只需在想要作為開始的Block上按滑鼠右鍵,就會出現Set as Start Node按鈕,點擊後即可將該方方塊設為Flow的開始 。

      開始方塊的圖示

      設定後,該方塊會有這樣的圖示。

    • 其他按鈕:
      圖示 名稱
      返回(Back)
      復原(Undo)
      重做(Redo)
      放大Zoom In
      縮小Zoom Out
      編輯模式 Edit Mode
      檢視模式 View Mode
      圖示 名稱 解釋
      警告 !Warning 當欠缺必填的資料時,Block的右上角會出現感歎號
    • 各種Blocks(方塊)的使用方法:
      Output Blocks (輸出方塊):

      Output Block是一直接跟來訪者接觸的方塊,它能支援variables(變數)和emoji(表情符號)。

      可供輸入欄位:

      欄位 描述
      Name Block的名稱,系統自動生成,使用者可因應需要進行修改。
      Value 希望來訪者看到/聽到的訊息,支援variables和emoji。
      圖示 名稱 描述
      變數Variable 可加入變數,雖先在Template設定才可使用
      表情符號 Emoji 可插入表情符號

      使用方法:在方格內輸入文字即可,可按下方「X1」(或按@號) 打開Variables選單以加入Variables,亦可按下方的表情圖示以加入表情。

      注意:所有Variable必須透過選單選取,不可直接以鍵盤輸入。

      Wait Block (等待方塊):

      Wait Block是讓機械人停下來等待客人輸入的方塊。

      可供輸入欄位:

      欄位 描述
      Name Block的名稱,系統自動生成,使用者可因應需要進行修改。

      使用方法:直接放在要讓機械人需要等待的位置即可。

      Switch Block (分流方塊):

      Switch Block是讓機械人進行邏輯判斷以分流工作的方塊。需要配合last_intention或variables使用。

      可供輸入欄位或按鈕:

      欄位 描述
      Name Block的名稱,系統自動生成,使用者可因應需要進行修改。
      Variable 用作比較的variable。
      Operator 運算符號,當選擇不同類形的變數,可供選擇的運算符號也會有所不同。
      > 大於
      < 小於
      >= 大於或等於
      <= 小於或等於
      != 不相等
      == 相等
      LIKE 包含
      Value 比較的對象,根據用作比較的variable的類別,可使用文字、數字或variables。
      + 新增比較條件。
      Default 當所有條件都不符合時,分流方塊便會選擇的分流路線

      使用方法:在上方選取Variable,再選取operator (可選的operator會因應所選的variable類型而有所不同),再在右邊的方格輸入比較的對像,如Qty > 10,意思就是比較Qty這個variable是否大於10,如果答案為是,則會進入右邊的分流路線;如答案為否,則會進入下一個比較條件,直至進入Default路線,如需要增加比較條件,請按「+」號。

      last_intention:

      系統定義的變數,用來判斷來訪者的最後回覆的意向。這與前面4.3提及的Intention原理一樣,但並無直接關係。

      譬如在Switch Block之中,variable的位置選了last_intention,Operator選等於(==),Value輸入「我想買口罩」,來訪者在此聊天階段輸入意思相似的句字(如「我想買Mask」,機械人便會判定其為正確。

      Set Variable Block (設定變數方塊):

      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 (轉接流程方塊):

      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 (出口方塊),則只會有一個出口。

      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會被視為同一個出口。

      個案分析一:

      主流程

      副流程

      1. 跳至「口罩流程」
      2. 訪客在「口罩流程」選擇「是的」後,因沒有後續的Block,被視為正常離開副流程
      3. 正常離開副流程後,會經由To Flow Block的正常出口(最上面的出口)跳至下一個Block(如該出口沒有後續的Block,則視為此Flow完成)

      個案分析二:

      主流程

      副流程

      1. 跳至「口罩流程」
      2. 訪客在「口罩流程」選擇「不是」後,便進入「沒買」Exit (Exit不可有後續方塊)
      3. 由於經「沒買」Exit離開,會經由To Flow Block的「沒買」出口跳至下一個Block(如該出口沒有後續的Block,則視為此Flow完成)

    當完成Flow的設計,你需要使用Publish(發佈)以套用至你的平台帳戶上。

    • 發佈方法:

      按左方的菜單的Templates進入Template列表,在想要發佈的Template右方按Publish的圖案。

    • 無法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)
      出現不好意思,我不太懂你說什麼 輸入對話的意向(Intention)不符合任何一個流程的觸發器。(請參考4.3)
      機械人不跟從設定運作 請檢查最新版本是否已經成功發佈。(請參考4.7)
  • 深入了解Procedure與Q&A的分別

    如果讀者還記得在之前的章節提過,讓Flow被觸發的方法有三個,其中一個是經由Intention觸發。但如果訪客尚在一個Flow之中,能不能觸發另一個Flow呢?答案是可以的,但會根據被觸發的Flow的種類 (即Procedure或Q&A),而有不同的行為。

    如上圖所示,當來訪者進入Flow A (Procedure)後,當進入Wait Block,來訪者可自由輸入訊息,如他輸入的訊息正好是另一個Procedure Flow (Flow B)的Trigger,機械人就會詢問來訪者是否要轉話題,如來訪者回答「是」的話,則會離開Flow A,而進入Flow B。當完成Flow B後,亦不會回到Flow A。

    如果來訪者在Flow A的過程中,觸發的是Q&A而不是Procedure,則機械人不會詢問來訪者,直接跳至該Q&A流程,而在該Q&A流程結束後,亦會自動回到Flow A原來的位置。

    至於Q&A能否跳到其他流程呢?因為Q&A是沒法使用Wait Block的,所以無法在過程中觸發其他流程。

  • 其他功能

    圖示 描述
    檢視正在使用機械人的客戶以及其使用平台的模式
    以個別客戶與機械人對話內容為重點的模式
    平衡模式
    1. Set Type

      在客戶的方塊點擊右邊3點,再點選Set Type,選擇Urgent 或Esclauted,讓其他同事以作識別。

    2. Status

      在客戶的方塊點擊右邊3點,再點選Status,選擇標記現時對話狀態。

    3. Take Over 真人客服介入

      在對話中客戶需要真人客服介入,我們可以在客戶的方塊點擊右邊3點,再點選Take Over,就能於左邊對話框進行介入。

    你也可在Staff Setting中,新增其他使用者的帳戶。

    圖示 名稱
    Edit (編輯)
    Change Password (變更密碼)
  • 實作例子

    假設,你要為一所藥店設計一個chatbot,主要用來處理客人訂購口罩和消毒液。

    首先,你得為這機械人創建一個Template:

    再加入兩個Flows,一個為訪客按開始使用時觸發的Flow,改名為「開始流程」,另一個則為想要購買口罩的來訪者預備的Flow,改名為「口罩流程」。

    由於要被「開始使用」觸發,所以要在「開始流程」的Triggers加入kick_start。而「口罩流程」是由「開始流程」觸發的,所以無需加入Triggers。

    我們將要處理一系列的資料,如顧客購客的數量、貨品的種類、單價、總價,所以我們先建立四個變數:

    Variable Validation 用途
    Item FreeText 記錄客人想要買的貨品
    Qty Quantity 記錄客人想要買的貨品數量
    TotalPrice Price 記錄貨品總價
    UnitPrice Price 記錄貨品單價

    我們會在Qty使用QA功能,所以需要在Default Question輸入「請問要幾多盒?」

    「口罩流程」:

    跟下圖所示建立不同的Block:

    1. 詢問客人購買物品(Output):為客人提供口罩資料及選擇,並詢問客人需要購買的種類
    2. Wait #1(Wait):等待客人回覆購買種類
    3. 分流藍綠色口罩(Switch):Variable選last_intention,由於客人的回答可能是顏色、亦可能是價錢,所以我們建立四個分流路線,選擇「==」及分別輸入「藍色」、「50元」、「綠色」、「40元」
    4. 不明白(Output):假若客人的回答並不符合以上四個選擇,所採取的應對方案,然後再接駁至之前建立的「詢問客人購買物品(Output)」方塊上。
    5. 記錄客人購買物品1及2(Variable):用來記錄客人想要購買的種類,Variable選取之前創建的Variable:Item,Value則分別輸入「藍色口罩」和「綠色口罩」,如下圖分別與「分流藍綠色口罩(Switch)」的四個出口接上。
    6. 設定單價1及2(Variable):記錄貨品的單價,Variable選取之前創建的Variable:UnitPrice,Value分別輸入50和40。
    7. 計算總價(Variable):用來計算總價,由於購買數量會由客人提供,所以可使用QA功能,而不需要設置額外的方塊去詢問,上方的Variable選取TotalPrice後,只需直接在Value選取Variable:Qty、Operator:*再選取Variable:UnitPrice,即將購買數量剩以單價。注意:所有Variable及Operator必須使用下方按鈕或快捷鍵@和#號選取,不可以直接手動輸入。

      如果客人在前面沒有提及想要購買的數量,機械人便會主動詢問客人。

    8. 確認訂單(Output):用來覆核客人訂單,輸入及選取需要的Variable:

      「明白,{Qty}盒{Item}

      一共{TotalPrice}錢

      是否確認購買?」

      注意:同樣地,所有Variable必須透過選單選取,不可複製貼上或手動輸入。

    9. Wait #2(Wait):等待客人確認訂單
    10. Switch #2(Switch):對客人的回答進行分流,Variable選last_intention,下方則輸入「是的」和「不是」,「是的」表示客人確認購買,可以不接駁至其他的方塊,表示這個流程正常完結。
    11. 沒買出口(Exit):在「不是」的路線拉出Exit Block,Return Value輸入「沒買」,令其他流程使用「口罩流程」,可根據結果作出分流。
    12. 不明白(Output):在Default的路線拉出Output Block以應付客人沒有回答跟上面相符的答案,並接駁回Wait #2

    「開始流程」:

    1. 打招呼(Output):歡迎客人的訊息
    2. 詢問購買種類(Output):詢問客人要購買什麼貨品,由於在之後的Block需要重覆問這一句,故此與「打招呼」分開建立兩個方塊
    3. Wait #1(Wait):等待客人回覆購買什麼貨品
    4. 種類分流(Switch):Variable選擇last_intention,下方則分別選擇「==」、輸入「口罩」及選擇「==」、輸入「消毒液」(按+號以增加分流路線)
    5. 不明白(Output):在「Default」的路線拉出一個Output Block,用來處理當客人並非回答「口罩」或「消毒液」時的應對方案,再接駁到「詢問購買種類(Output)」上
    6. 跳至口罩流程(To Flow):在「種類分流(Switch)」的「口罩」路線上,拉出一個To Flow Block,並選擇「口罩流程」。如果在「口罩流程」已經加入「沒買」的Exit方塊,則會在此出現屬於「沒買」的分流路線。
    7. 消毒液的路線我們沒有準備好,在測試時可試試機械人應對錯誤的示範,讀者有興趣亦可自行製作。
    8. 謝謝恵顧(Output)及詢問意見(Output):將「跳至口罩流程」的出口分別接駁至這兩個Output方塊,並輸入文字。

    為什麼要分成幾個Flow?我可以在同一個Flow處理所有事情嗎?

    原則上可以的,但為了讓Flow的結構簡潔一些,方便日後維護,以及方便Flow的重用,將不同功能的Flow分開會是較好的選擇。

    Board設定完成後,回去Template列表,在完成的Template旁邊按Publish按鈕,如有錯誤(一些未設置完成的地方),亦會在此作出提示。可參閱前面章節「無法Publish的常見原因」(第四章第7節)。

    回到Settings > Platform Account,點擊想要啟用聊天機械人的平台帳號旁邊的鉛筆,在flow template id一欄選取剛完成的Template,就可以正式使用了。

  • 進階用法

    變數也可以用來迴圈的次數,例如,使用者想要用Chatbot做一個猜謎遊戲,訪客可以有三次機會,如第三次仍然沒有答中,則為失敗。

    開始之前先在模板加入變數i,Validation選取Number。

    進入Board,先加入Variable Block將i設定為0

    加入Output Block及Wait Block說出題目,再用Switch核對答案是否正確。

    如答錯的話,使用Switch檢查i,即答錯的次數是否少於3,如少於3,則使用Variable Block將i加上1,並讓訪客重新作答;如不是少於3,則會走Default的路線,宣佈遊戲結束。

    控制迴圈對機械人的設計很重要,能避免客人困在迴圈裏無法跳出來,影響客人體驗。

  • 系統要求

    1. 支援滑鼠的瀏覽器, 手提電話不適用

    2. 建議瀏覽器: Google Chrome(較穩定) , Microsoft Edge