說明:也是沒有段子的一天.....在沒有段子的日子裡....我們來研究下阿里雲的客服機器人....
一、功能調查
官網地址:https://help.aliyun.com/document_detail/197584.html
SDK、API地址:https://help.aliyun.com/document_detail/60757.html
功能清單訪問:https://help.aliyun.com/document_detail/197584.html
智慧機器人有收費版,有體驗版。像wshanshi這種嚐鮮的.....就來個體驗版吧.....
友情提醒:體驗版只可建立一個機器人,提供免費呼叫次數1000次,超出呼叫次數,費用自費。
二、建立管理Demo示例
2.1、可建立管理機器人
2.2、可自定義問答詞庫
2.3、可定義機器人繫結FAQ類目庫
繫結了FAQ類目庫後,所有對話答覆從繫結的問答庫中匹配資料。
2.4、可定義對話工廠
2.5、可開啟閒聊模式
三、會話工廠配置自定義資料收集、函式呼叫
重點來了,來了~
下面示例中,樓主將針對於如何收集使用者輸入的資料,作為引數進行自定義函式介面呼叫。
3.1、點選去會話工廠
3.2、新建對話流
3.3、新增意圖
3.4、編輯意圖
輸入流程觸發的話語。當使用者向機器人諮詢包含話語關鍵字時,觸發該流程。
3.5、自定義流程配置
點選意圖,配置流程。選擇使用者節點,輸入節點名稱,觸發方式選擇意圖觸發。(當使用者輸入資料關鍵字匹配到相應話術時,觸發流程往下走)。
既然使用者有問,那肯定有答。遵循:“顧客是上帝,顧客說啥都對的理念.”....你懂得.....
接下來我們需要定義一個回覆節點。(下圖示例中,樓主放的是一個引導語。引導使用者輸入一些關鍵字,方便收集起來,作為我們後面流程中呼叫自定義介面的引數。)
我們引導客戶輸入,所以還需要定義一個使用者輸入節點。
按照上圖流程,我們引導客戶輸入編號。但是客戶不一定輸入編號....
“讓我往東,我偏偏往西....哎......玩的就是西海岸........” 那這時候怎麼辦呢?這....
試想下,我們之所以引導使用者去輸入關鍵字(編號),目的是為了收集這個關鍵詞,作為引數請求介面的。所以,一方面要考慮如何收集使用者輸入的資料,另一方面要考慮如何收集我們想要的資料。
辦法嘛,還是有的。你叫我大哥,我告訴你。哈哈哈哈......
方案:使用者輸入資料收集【定義正規表示式,意圖+正則匹配+填槽】。
具體步驟如下:
- 首先,新增一個專門收集使用者輸入資訊的意圖。
- 編輯意圖,填寫相關的資訊。
若上面使用識別能力未定義,是儲存不了的。接下來我們說明下這個識別能力是什麼。
所謂識別能力,無非是對使用者輸入的資訊進行辨別。辨別方式有兩種,一種是標準實體匹配,另一種是正則實體匹配。
兩種方法,那區別是什麼呢?
1、新建標準實體
需要把資料維護到實體成員中,使用時預設從某一實體配置的成員變數中進行匹配。說白了就是從固定的圈子中匹配,要想匹配到資料,就得維護進去。
弊端:不是很靈活,需要維護。沒有匯入功能,資料量大的話,不好維護。“嘿,兄弟!圈子小了哦......”
2、新建正則實體
可定義正規表示式對資料進行收集,相對來說較為靈活。
由於示例中我自定義的函式所需引數是Integer型別的編號,所以我的正規表示式自然寫的就是收集數字的了,如下圖所示。
再回到上方流程,若使用者輸入了編號,我們需要收集起來。那如何收集使用者輸入的引數呢?
首先,在使用者輸入節點選擇條件觸發。條件就是意圖=自定義收集引數的意圖。
舉個例子,在回覆“輸入編號試試看?”之後,假設使用者輸入77(當然也可能輸入非數值)。
由於我們定義了收集數值的正規表示式,若使用者在此節點輸入的是數值,則符合正則匹配規則,就能收集該資料。
通過填槽節點可以收集資料,如下定義填槽節點。
再回頭看這裡,實質上是拿使用者輸入的資訊與繫結的正則實體進行匹配,若符合規則,則通過填槽收集引數。
當然,如果一開始你選擇的是新建標準實體那種形式,這裡匹配的就是實體內的成員變數嘍!
接著往下走,引數收集到了,那呼叫介面白。搞!定義一個函式節點,配置我們自定義的介面,將收集到的資料作為引數。(收集到的引數:${收集使用者輸入.使用者輸入.origin})
函式節點變數傳參,引數說明可參考官網文件。
友情連結:https://help.aliyun.com/document_detail/84657.html
介面呼叫後當然要返回資料了,所以接下來需要定義一個回覆節點,將呼叫結果進行輸出。
好了,到此為止示例流程定義就結束了。接下來我們測試一下機器人。
可以看到,已經請求了外部函式,成功返回了資料。
至此,完整的流程配置、測試。就結束了.....
散會散會........嗷嗷,那啥....有小心心點一下哦!