## 5.2 意圖處理
>本節主要介紹了如何擴展機器人的對話能力。我們通過意圖配置處理,例如必須詞典參數的配置和必須詞條的勾選,來滿足一些特定場景對話需求。本節列舉了買咖啡和報名信息收集兩個實用案例來講解意圖處理的作用。
意圖處理,是對話能力拓展的重要部分。通過意圖處理,一是可以豐富當前問答;二是可以對當前意圖涉及的部分信息,進行存儲、更新、甚至刪除等操作;三是意圖處理在一些情況下,意圖處理slotfilling可以代替暗號的功能。下面將逐一介紹。
### 5.2.1 案例講解:買咖啡
這將用到意圖處理存儲對話關鍵信息
任務:做一個咖啡定點單機器人,完成顧客點單、機器人記錄給工作人員備餐和收銀的任務。
首先,我們在意圖中配置用戶說,如“我要買(幾)杯(什么)”,括號內容使用系統詞典代替:我要買@sys.number:num 杯@sys.any:coffee

機器人要與用戶確認訂單,就必須重復一遍用戶的指令,如何在機器人答中引用呢?這里就需要使用意圖處理了:在意圖處理中,系統會自動根據您引用的詞典生成意圖配置,請核對名稱、值、類型(引用的詞典名)是否與用戶說引用的一致。
這里表示杯數名稱和值都是num,屬于sys.number類型(系統詞典);
這里表示咖啡的名稱和值都是coffee,屬于sys.any類型(系統詞典)。

配置好意圖處理后,就可以在機器人答中引用用戶說的內容啦。使用:“&”+“名稱”+"一個空格",表示引用這部分內容:

保存后,我們來試一試:

此時的JSON中,“兩杯”“美式”被識別為:“2”、“美式”,記錄并引用到機器人答里。

“五杯”“卡布奇諾”被識別為:“5”、“卡布奇諾”,記錄并引用到機器人答中。
### 5.2.2 案例講解:收集報名信息
這里將運用意圖處理的slotfilling功能
任務:做一個活動報名機器人,完成接受用戶報名、收集參賽者信息,供活動工作人員審核等的任務。
流程為:我要報名——>提供姓名——>提供年齡——>提供城市——>提供電話——>完成報名
首先,建立意圖:

第二步,在意圖處理中配置報名需要的四項信息:姓名、年齡、城市、電話,分別命名為:name、age、city、phone:

在每條信息添加相應的提示語:

最后,在機器人答編寫一句“總結”:

這里的“\n” 是換行符,不會在結果中顯示,在硬件端使用各類字符時請謹慎,防止tts將字符讀出。
整個流程的效果是這樣的:


最后一步收集完全部信息,JSON內容為:

可以看到我們已經把報名者的全部信息記錄下來了。
* * * * *
Slotfilling:必須詞條,他的作用在于針對一些特殊場景,我們需要拿到重要的信息才會將流程進行下去,我們勾選這個參數配置,則會按順序執行,每個必須詞條的默認周期是三。
- 1. 海知智能第三方技能插件開放平臺概述
- 2. 快速接入API
- 2.1 硬件接口調用
- 2.2 快速接入微信
- 2.3 API接入常見問題
- 3. 技能插件
- 3.1 基礎能力類
- 頂級過濾器
- 用戶知識圖譜
- 機器人檔案
- 通用閑聊
- 兒童閑聊
- Smart Reply
- 輕量閑聊
- 3.2 語音游戲類
- 成語接龍
- 詞匯樂園
- 詞語接龍
- 鸚鵡學舌
- 動腦猜猜
- 挑戰單詞
- 冒險世界
- 猜猜我是誰
- 阿拉丁學詩詞
- 貓貓托管所
- 漂流瓶
- 詩詞大會
- 國學大會
- 我愛猜歌名
- 我在看著你
- 燈謎猜猜
- 3.3 休閑娛樂類
- 星座運勢
- 悅耳聲音
- 幸運簽
- 調教機器人
- 娛樂推送
- 3.4 生活服務類
- 黃歷
- 計算器
- 古詩詞
- 時間詢問
- 翻譯類技能
- 天氣資訊
- 日程創建
- 日程創建指令
- 鬧鐘
- 食材知識
- 冥想音樂
- 格言
- 每日英語
- 漢語詞典
- 豆果菜譜
- 古文翻譯
- 3.5 音頻點播類
- 喜馬拉雅FM
- 新聞廣播
- 音樂點播
- Smart Music
- 兒童聽聽
- Smart Audio
- 兒童笑話
- 點播控制指令
- 3.6 視頻點播類
- 影視點播
- 3.7 百科知識類
- 人物百科
- 百科問答
- 實時百科
- 3.8 體育健康類
- 五分鐘健身
- 4. 開發者初級教程
- 4.1 開通服務
- 4.2 創建機器人
- 4.3 設置機器人
- 4.4 獲取技能插件
- 4.5 讓機器人學會聊天
- 4.6 導入知識庫
- 4.7 多種問答形式
- 4.8 數據統計
- 4.9 粉絲管理
- 5. 開發者中級教程
- 5.1 詞典運用
- 5.2 意圖處理
- 5.3 暗號使用
- 5.4 事件觸發
- 5.5 優先級
- 5.6 觸發器
- 5.7 快捷鍵
- 5.8 意圖報錯
- 6. 開發者高級教程
- 6.1 handlebars模版語言
- 6.2 JavaScript簡單介紹
- 6.3 JavaScript使用說明
- 6.4 JavaScript使用案例
- 6.5 JavaScript常見問題
- 7. 快速發布技能
- 8. 幫助中心
- 8.1 常見概念
- 8.2 幫助視頻
- 8.3 聯系我們