# 一、产品介绍
云小蜜(Intelligent Service Robot)是一款基于自然语言处理(NLP)和人工智能(AI)技术,
面向开发者提供智能会话能力的云服务。开发者可以使用云小蜜创建会话机器人,为机器人
配置知识库以实现智能问答,使用对话工厂配置意图实现多轮对话与自助服务(如订单查询、
物流跟踪、自助退货等),并将机器人部署在不同终端上(如网站、移动 APP、智能硬件等)。
具体来说,云小蜜可以进行文本机器人、热线机器人、实体机器人、辅助助手等产品的开发
与使用,通过知识库实现单轮问答的智能回复、通过对话工厂实现多轮问答以及系统交互类
业务处理,除此之外,还有机器阅读、知识图谱等产品功能供不同场景用户使用。同时,通
过视角的设置,可以将小蜜进行不同渠道的部署,对每个渠道进行个性化问答。
[官方文档]([https://help.aliyun.com/document\_detail/60453.html?spm=5176.12818093.0.0.488716d0YIDTM8](https://help.aliyun.com/document_detail/60453.html?spm=5176.12818093.0.0.488716d0YIDTM8))
# 二、开通服务
## 2.1申请开通云小蜜
进入阿里云之后搜索云小蜜,进入小蜜官方产品页面,点击获取使用资格(需要提前进行实
名认证),进入系统审核环节。审核完毕后,会显示“管理控制台”按钮,如下图:
![](https://img.kancloud.cn/35/cc/35cc1e7ce6a7d46232730367b86be0b2_831x272.jpg)
点击“管理控制台”按钮,进入云小蜜控制台界面,如下图:
![](https://img.kancloud.cn/04/64/04642ad606bc348d08a6e5e4b02ce95b_831x387.jpg)
可看到的产品功能介绍如下:
A.机器人管理:对机器人实例(租户)进行新建、编辑(姓名、注释)、管理、备注等;
B.知识库:对现有知识进行管理编辑,增删改查等;
C.数据看板:对日常数据运营情况进行检查。
D.高级设置:主要是知识库设置(视角设置)、权限管理、开发者选项(暂未开放)等功能。
## 2.2创建实例
点击“新建机器人”,进入购买环节,购买完毕后,进入机器人创建页面,输入机器人姓名、
备注,点击保存,创建完毕。
点击创建好的机器人,进入机器人页面,分为机器人配置、会话接口、机器人训练三个模块。
A.1.机器人配置:分为机器人信息、绑定知识类目、对话流管理、查件管理等模块。
2. 机器人信息:包括名称、备注(可点击右侧编辑修改)、时区、机器人 ID(不可修改);
3.绑定知识类目:点击编辑可以绑定对应知识类目,机器人只有绑定对应类目后,才可以
对对应类目下的知识进行问答。
4.对话流管理:点击去对话工厂,可以进入对话工厂创建对话流,上线后的对话流可以在
这个模块看到。
B.1.会话接口:包括视角的编码、实例 id 信息、AccessKey 信息等。
2.视角编码:开发者调用对应接口时,需要调用对应的视角编码,则机器人返回答案为对应视
角的答案(针对 FAQ 而言。对话工厂目前没有视角概念,需要在对话流里通过函数进行判
断)
3.实例 ID 信息:调用时候需要用到。
4.AccessKey 信息:调用时候需要用到。
C.机器人训练:为机器人训练工具,可以对机器模型算法进行训练,提升整体问答准确率。
# 三、知识维护
## 3.1 创建类目
### 3.1.1 从知识库进行类目创建
点击知识库-类目管理,进入类目创建。点击:“类目树为空,点击新建第一个类目”
![](https://img.kancloud.cn/2a/86/2a8699349adf187fddee00fde3e0ac76_831x279.jpg)
输入类目名称,点击勾号,保存对应类目:
![](https://img.kancloud.cn/ff/3a/ff3a797962be8b7059ee3c5969ee330b_831x231.jpg)
如果在该级类目下需要创建子类目,则点击类目管理-创建好的类目(例:客户服务)-子级,进入子类目设置,输入类目名称、点击勾号,保存对应类目。
![](https://img.kancloud.cn/a6/f5/a6f5865f5187f76a9024a03493958bea_831x251.jpg)
类目创建完毕后,进入机器人管理-机器人配置-绑定知识类目:
![](https://img.kancloud.cn/bb/d6/bbd6c6a19275a0e81dd69c821387432f_831x232.jpg)
勾选对应类目,点击确定,则绑定了对应类目,可以问答对应类目下知识。
![](https://img.kancloud.cn/f3/05/f3055c92c8b280e931ef801d14a529e9_831x547.jpg)
### 3.1.2 从机器人管理进行类目创建
点击机器人管理-机器人配置-绑定知识类目,在弹出窗口中,点击“创建一级类目”,可以新
创建一个一级类目,操作与从知识库操作基本相同,新建类目会默认勾选绑定,我们可以认
为去掉勾选。
![](https://img.kancloud.cn/b2/2e/b22e4c149877aff765d93e1d4dc91b33_831x433.jpg)
创建完毕后,根据实际需求确认勾选类目,点击保存,即完成绑定。
## 3.2 创建知识
点击知识库,进入知识编辑界面。
![](https://img.kancloud.cn/d3/9f/d39f4caaeea36dcfc8d3a3fb4f1e2e2c_831x188.jpg)
点击“新建知识”,在弹出的新建知识对话框中,输入类目路径、知识标题、核心词、视角、生效时间、答案。
![](https://img.kancloud.cn/2e/df/2edf076dd7c8ec83d863d8e457f1c600_831x504.jpg)
A. 类目路径:该条知识所归属的类目,点击后选择对应类目绑定。
![](https://img.kancloud.cn/79/de/79de227599f9372c5432913bff7b79ec_831x185.jpg)
B. 知识标题:一般是用户的常见问法,机器人会把用户的问法与知识标题进行匹配。
C. 核心词:该条知识里面最为核心的词汇,是为了更精确定位问题而产生,它有如下规则:
1.核心词和知识类目不可混淆,类目只是知识的管理结构,不参与知识搜索匹配。
2.核心词是知识标题中最核心的部分,一定一字不差的包含在知识标题中;如果有其他表达方式,可以给核心词添加同义词。
3.知识标题是用户最常见的业务问法,核心词需要包含在大部分的相似标题中;
4.核心词不能是其他核心词的同义词;
5.核心词之间不可包含;
6.核心词不可过长或者过短,建议保持合适的词或者短语粒度;
7.核心词及其同义词要合理管理,避免混乱或互相重叠。
D. 生效时间:一些活动类或者其他短暂生效的知识,可以设置一定的生效时间,过了生效时间后知识自动失效。
E. 答案:当机器人知识被触发后,机器人返回给用户的答案内容。答案支持按视角回复给用户(即不同视角,我们可以设置不同答案),
在答案内容上,支持文字(字体、颜色、下划线、高量、删除、对齐等操作)、图片、超链、等内容格式。如果有不同的渠道,且渠
道答案不一样,我们可以在创建完一个答案后,再点击“新建答案”,创建另一个视角的答案。
![](https://img.kancloud.cn/a2/1f/a21fc885cc1a8e709ac640424d3920bc_831x171.jpg)
以上内容填写完毕后,点击保存,即可保存对应答案。
## 3.3 批量操作
如果批量操作的知识量比较大,可以采取批量操作,包括批量导入和批量导出、批量删除、失效等。
A. 批量导入:
点击知识库-批量导入,进入批量导入页面,下载标准模板进行知识维护。
![](https://img.kancloud.cn/16/2a/162a5cac230fc4d26c01d2058e7c8b1d_831x148.jpg)
![](https://img.kancloud.cn/01/d6/01d65977efa1523760b491bf58cf11c3_831x278.jpg)
在下载的模板中,依次填入类目路径(需要提前有这个类目,如果没有导入会报错)、核心词名称(核心词定义规则按上文描述,只有一个同义词)、
核心词同义词名称(核心词的同义词,要求必须是英文逗号间隔,中文逗号会报错,知识标题(只有一条,按上述规则)、相似问法(知识标题的相似问法,
最好包含核心词和同义词,相似问之间用换行隔开)、答案(默认是默认视角的答案,可以增加视角以及答案)。填写完毕后,进行上传。
B. 批量导出
点击知识库-批量导出,选择对应导出类目,点击确定,即可导出对应类目的知识。
![](https://img.kancloud.cn/b0/41/b041fa453429d8123e3f05179cfea7b1_831x233.jpg)
C. 批量删除
目前不支持类目层级的知识删除。我们可以按类目选择内容进行删除。点击知识库-某一类目,进入知识界面后,点击左上角勾选,选择所有知识,点击右下角删除,删除当页所有知
识。
![](https://img.kancloud.cn/d9/7a/d97a3631c36dde84977d292a46aef641_831x121.jpg)
D. 批量失效
步骤通批量删除,点击类目选择某些知识,点击右下角失效按钮,则全部失效;
E.批量转移、发布
步骤通批量删除。
知识新建完毕后,可以通过知识库进行增删改查相关知识。如果想修改或者删除对应核心词,可进行搜索该核心词-点击核心词-查看详情,可以编辑核心词、删除同义词、删除核心词、
增加同义词、修改核心词等,实现核心词的管理。目前没有单独的核心词管理工具。
![](https://img.kancloud.cn/19/de/19de61d3f5577077ab5983c45211dbda_831x256.jpg)
![](https://img.kancloud.cn/75/eb/75ebaa138b548608c0efca59ddaf49e0_831x137.jpg)
# 四、对话工厂
## 4.1 新建对话流
点击机器人管理-某机器人-对话流管理-去对话工厂,进入对话流管理界面:
![](https://img.kancloud.cn/68/8c/688c0dd2b9aee37ccd4b0cd8e3065eb8_831x167.jpg)
![](https://img.kancloud.cn/69/9a/699a1352361afee4de2ce1dd6b781404_831x185.jpg)
点击“新建对话流单元”,输入姓名、描述,选择对话流模板(可以先选空白对话流),进入对话流画布界面。
![](https://img.kancloud.cn/09/cc/09cc04023b8930f2efed46ba615710f0_831x468.jpg)
![](https://img.kancloud.cn/52/87/5287c491d1d3a2d437827ba1eec9cafa_831x244.jpg)
在这个画布页面就可以进行多种流程、会话的智能化配置和管理。
## 4.2 梳理业务流程
在创建对话流之前,我们会先根据业务需要梳理业务流程。我们以停车费用查询和天气查询为例,进行两个业务梳理。
A. 停车费用业务梳理
我们以停车费用做为多轮问答的案例。停车费用需要考虑是室内、室外,车牌颜色等多个场景,每个场景的答案不一样,最简单的场景也至少要两轮问答, 逻辑图如下:
![](https://img.kancloud.cn/28/5a/285a835dedf1c6e91e5e22622cc082f7_579x604.png)
B. 天气查询梳理
我们以天气查询作为查询类业务的案例。天气查询需要明确日期、城市才能明确要查询什么内容,同时还需要调用对应的接口才能实现,我们梳理的业务内容如下:
![](https://img.kancloud.cn/f8/03/f8035c3ba60d28f977cfe3c2a09a6309_620x324.jpg)
## 4.3 意图节点
意图节点是用来绑定用户的意图的节点,当触发用户意图的时候,系统触发当前意图节点下的动作,例如,当下面为回复节点的时候,触发机器人播报对应回复内容。意图节点要绑定对应意图才能生效。
点击意图列表-新建意图,进入意图创建环节。
![](https://img.kancloud.cn/a9/7f/a97f378baa4dedad007b1c97c34e5968_1228x593.jpg)
目前支持两种方式创建意图节点,包括划词配置和高级配置。
A. 划词配置:直接输入用户的高频问法,当不勾选严格匹配的时候,可以通过算法自动泛化说法。例如,在划词配置里面配置:“我想问下停车怎么收费”,则当用户问“停车收费”时,也可以配到该条意图。
![](https://img.kancloud.cn/45/16/45162c77a4204f3fcce598eac3a1a6f3_893x598.png)
B.高级配置:利用 LGF 规则对用户说法进行泛化处理。详见《LGF 规则文档》。通过 LGF 规则泛化后,当用户说法符合当前 LGF 规则,则匹配当前意图。
用户将意图节点拉到画布中,从开始的节点连线到对应意图节点,命名当前节点,并且把意图节点绑定用户意图(点击新增 and 条件,选择对应意图;如果随意 N 个意图都能触发, 还可以点击下面的新增 or 条件组,新增其他意图,这样不管命中哪一个意图都会触发当前节点),则用户表述相关内容后可以出发当前节点。如果节点下面没有动作,是无法保存的, 必须有其他的动作节点,比如函数节点、填槽节点、回复节点等。
![](https://img.kancloud.cn/66/ba/66ba69df4b80b0144464620ee51cf6c5_1575x723.png)
生命周期是指假设现在对话处于这个触发节点前面的回复节点时,用户没有按照流程走,而是跳走了,那么X 轮(X 为你填写的生命周期)之内还能再接回这个触发节点。
## 4.4 回复节点
回复节点也就是机器人回复给系统的内容的节点。我们可以通过在回复节点的话术控制,实现整体的VUI 设计。例如,刚刚举例的停车费用场景,当用户启动停车费用意图后,我们可以通过回复节点的内容让用户回复:“请问您是需要停在室内还是室外?”
![](https://img.kancloud.cn/cf/38/cf38e5d86d070605ae67408db70dc770_1433x689.png)
用户根据反问导引,可能会说室内,室外,都可以等回复,根据不同意图再进行新意图的创建以及与意图节点的绑定,同时,针对不同意图进行针对性回复。
![](https://img.kancloud.cn/a3/fa/a3faa7cbd19f8cf343e0757928fea2ce_1339x700.png)
编写完毕后,点击保存草稿,可以把当前的对话流保存。
## 4.5 专有名词
指专有名词是同类型单词的合集,如:城市、日期、颜色等。语义通过专有名词进行理解, 然后抽取并输出机器可以理解的格式。例如用户说「我喜欢绿色」,我们都知道绿色是一种颜色,但如果我们不预先告诉机器,机器是不会知道的。为了让机器能够理解绿色,我们可以创建一个词库,把常见的颜色列举,这样机器再遇到这些词,就能知道是一种颜色。
A. 标准名词:在生活和业务当中,有很多不同的词语代表着同一种意思,例如:北京、帝都、中国首都。这几个词语都是指同一个城市,那么我们可以通过配置的方式将这些词语指定到一个标准名词:例如,北京是中国城市中的一个,那么他属于城市这个类名词下面,同时他又可以叫帝都、北平等。那么我们可以让北京作为名词成员,帝都作为同义词。
![](https://img.kancloud.cn/6b/ab/6babc066218abb8615a3099b60f58a20_1130x388.jpg)
B.正则名词:正则名词是基于问法规则的名词体系,例如手机号码,我们没办法穷举,但是他其实是有一个体系的,我们就用一个文法规则来表述(1\\d{10}),详细的正则规则见正则规则文档。
除了我们自己创建的名词外, 系统还预置了非常多的系统内置名词, 例如: @sys.date\\@sys.geo-city 等。他们本身是一系列固定的词组,但是我们人工维护又很麻烦(例如全国的城市、区县),系统为了解决这个问题,就自动内置了很多的实体,方便我们进行引用。
通常专有名词会和意图进行绑定。例如,在询问天气时,我们是需要时间和地点的,那么我们就需要引入城市和时间两个专有名词。正好这两个词是系统有预置,我们可以通过两种方式引用:
1. 划词引用:在划词配置界面,直接针对用户询问进行划词,例如用户问“明天杭州天气怎么样”,其实明天和杭州是可变的,不同的值结果也不一样,那么我们就称之为槽位,相对应的值(“明天”“杭州”)称之为槽值,我们引用专有名词拓展整体槽值范围。用鼠标划取下方对应取值范围,点击添加标注,选择对应专有名词(@sys.date、@sys.geo-city) 编辑完毕后,点击修改参数名称,让自己好记一些(例如,改成 date 和 city)点击保存, 即可实现划词引用。这个时候,用户说后天南京天气怎么样,前天合肥天气怎么样,系统就都能识别了。
2. 高级配置引用:除了划词配置外,我们还可直接对专有名词进行 LGF 规则引用,引用方式如下:
点击编辑意图-高级配置-新增参数,添加对应所需要的意图参数,并改写相关信息(参数名称)。
![](https://img.kancloud.cn/71/fc/71fc73d24d9bbc334c4e212bf5d31a47_709x578.png)
点击新增问法,输入”${}”,系统会自动推荐参数引用,选择对应参数。注意,LGF 规则只能调用目前已有(下方意图参数中已有)的参数,没有关联的参数无法引用。
![](https://img.kancloud.cn/61/84/6184032cb891c305e32998b74aeaac33_615x372.jpg)
当意图参数勾选词组时,则在收集改参数的时候,可以按照数组的模式收集若干条信息。例如,我可以在city 那里勾选数组,则我在收集信息的时候,可以收集若干个城市的信息。意图和专有名词绑定后,后面可以对接填槽节点来收集信息。
## 4.6 填槽节点
填槽节点主要实现两个功能:1.收集当前节点下没有收集到的名词信息,2.把收集到的名词的值收集到系统里。这里的信息收集主要是通过节点的反问来实现的。
在将填槽节点拖至画布,点击链接意图和填槽节点,选择对应的意图(通常系统会默认链接的那个意图节点所绑定的意图)。系统会自动跳出这个意图下所绑定的参数。我们可以勾选必选或者不勾选必选,同时,在后面编辑对应反问。
![](https://img.kancloud.cn/04/7f/047fc9a2a6de3a4c170cd291cacbbd6d_1038x236.png)
点击访问下的笔按钮,点击新增回复,创建该参数反问(即,用户没有说这个参数的时候我们反问用户让用户把参数提交上来):
![](https://img.kancloud.cn/f7/b9/f7b922fe044f31812d7883b6a4f76039_1179x429.jpg)
![](https://img.kancloud.cn/f2/ef/f2ef9fb722f6594dec95cfa571fbb0d0_1263x418.jpg)
编写完毕后点击保存。进入下一环节。
如果没有填槽节点,即使用户表述中触发了对应槽值,我们也没有办法将槽值传到系统以及函数,所以填槽节点的存在是重要的,哪怕他不要执行反问的那个动作(如果前面已经有这个值,那么收集这个值的对应反问就不需要触发)。
## 4.7 函数节点
通过函数节点,我们可以实现对于 api 接口的调用或者对函数的调用。
API 接口:我们可以根据使用已经成型的接口,对数据进行调用,通常情况会有 post 和 get 两种模式,回传内容可能是在 query、header、body 三种方式,调用方式和回传字段由接口定义。
例如,在天气查询字段中,我们的接口连接为:www.aliyun.com,调用方式为 get,接口字段为city、date,对应的字段的值引用对应系统中的某些值。在天气查询里面,主要是上传City 和Date 的值。引用方式是${天气的意图.City}(前面是意图,后面是意图相关参数,这个时候引用的是专有的专有名词的值。如果想引用原有的值(比如直接引用了同义词),需要用${天气的意图.City.orgin})。
如果涉及到函数计算调用,通常涉及到函数编写,这个时候需要开发进入协助编写调用。
![](https://img.kancloud.cn/86/dd/86dd2568c8b979708cc6751f5d9f19a3_854x553.jpg)
调用对应参数后,我们可以针对返回的结果进行调用,调用方式为${functionOutput},如果涉及返回结果的具体某个值,那么可以用${functionOutput.XXX.XXX}的方式进行调用。上面内容可以在回复节点里面对文档综合使用
![](https://img.kancloud.cn/65/88/65885a4c6cf135fda06dadc77f90d09c_1143x484.jpg)
## 4.8 联调测试
上述内容填充完毕后,我们点击保存草稿、测试,即可将对话流上传测试。
![](https://img.kancloud.cn/bc/60/bc609d0df064a488aa011e1b535ae481_1153x156.png)
点击调试窗,进入调试页面,我们可以按照我们梳理的意图,进行问答的测试,看配置的流程是否有问题。在配置的过程中可能会出现如下问题:
1. 名称冲突:当对话流中各个节点出现重名的时候,是没有办法保存的;
2. 最终节点不是回复节点:最终节点必须是回复节点(报错为:叶节点只能为 response 节点);
3. 函数调用异常:可能是调用的方式出现异常,或者上传的字段出现异常,或者鉴权的方式出现异常等,具体分析建议可以让开发看下。
4. 其他异常:按 case 进行沟通。例如,流程可能出现异常,跳转错误、系统超时等;
![](https://img.kancloud.cn/c0/75/c075ac5c04a8c0d49445530c531a4fa2_1153x512.jpg)
## 4.9 导入对话流
除了自己编写创建对话流之外,我们还可以将对应的对话流进行导出导入。点击对话工厂- 某个对话流右上角-点击导出,即可导出对应对话流。注意,只有发布过的对话流才可以进行导出设置。
![](https://img.kancloud.cn/50/0b/500b27ab6c9df0b40b3e5810d47e8281_1191x225.jpg)
导出之后的对话流可以备份或者导入到其他的对话工厂中,点击对话工厂右上角“导入对话流”,选择导出的字符串,则可以导入对应的对话流。对话流导入后是未发布状态,需要进入对话流之后测试发布。
![](https://img.kancloud.cn/b3/0d/b30db97eb3b733bcaed7ed685a72aa6a_1153x230.jpg)
# 五、 高级设置
## 5.1 视角
项目实际实施过程中,针对不同的渠道,我们可能会有不同的处理方案,比如在钉钉上给的答案和在 WEB 上给的答案不一致的情况,我们通过视角来对不同渠道的咨询进行答案的区 分,这样从不同的视角咨询过来后,就可以给他吐当前渠道的答案,以此区分。前端调用的时候,可以根据不同视角的参数来区分。
A.创建视角:点击高级设置-视角-新增视角,创建视角名称,点击确认:
![](https://img.kancloud.cn/25/53/2553db2fd6475a3fdc8200a22c13d201_1153x273.jpg)
B. 编辑视角:点击新增视角下的编辑,可以对当前意图进行更名、关闭等操作。关闭后该视角不可调用。
![](https://img.kancloud.cn/c2/3a/c23a8dda65a088451a3b653d1a6fae81_1153x279.jpg)
所有已经创建的视角可以在维护 FAQ 的时候对当前创建的视角进行创建。
# 六、 数据洞察
## 6.1 接待概况
我们可以对某个机器人的接待情况进行数据监控梳理。我们可以搜索、点选某个机器人,选 择某个时间段(可以点选时间,如昨天、前天、近 7 天等),还可以直接选某段时间。
![](https://img.kancloud.cn/61/d7/61d7c562b520778f2e6aa67bf4c937de_1153x246.jpg)
![](https://img.kancloud.cn/43/23/4323095e5df0ef6e67e0ec1545d4cafc_1153x533.jpg)
我们可以看某个数据的趋势,还可以直接把数据列表下载下来。
接待人次:按 session 量计算
对话轮次:用户发出一次对话,记为一个对话轮次
会话平均轮次:对话轮次/接待人次
知识对话轮次:直接命中知识的对话轮次
对话工厂对话轮次:触发对话工厂的对话轮次
解决接待量:排除转人工(如有)、无答案、最后一次推荐未点击、点踩(如有)的服务 session量(接待人次)
上述指标主要是业务的量的指标,可以看看机器人承载了多少业务量。
## 6.2知识分析
![](https://img.kancloud.cn/5b/86/5b8647374aefa95b22c6178fae0fdb65_1153x452.jpg)
该数据主要对整体的知识进行分析,通过知识数量、有效知识占比、命中占比等数据,来看我们数据维护的粒度、广度是否合适。
我们可以下载知识明细,看下整体知识的运行情况。
## 6.3服务能力
![](https://img.kancloud.cn/a5/9b/a59bfd140e284650233a7dd40e086cf1_1153x448.jpg)
服务能力主要是考察无答案率、推荐未点击率的识别效果。可以选择某个时段 ,看这个时段的无答案率。无答案率、推荐未点击率越高,整体的机器人的服务能力越差。我们可以根据无答案聚类、推荐未点击聚类等结果,进行结果的优化。
## 6.4 会话历史
整体的会话历史可以在此下载,我们可以对下载的数据进行标注、聚类、分析,提升整体机器人的表现。
![](https://img.kancloud.cn/f5/3f/f53fed89438be9bf672eb145b3310744_1153x458.jpg)