关于我们

微信对话开放平台创建并配置技能

发布时间:2021-01-20

 

个人零费用代理店+,日收入3000+,可兼职做

技能和词典页面是开发者创建并配置技能的主要操作空间,开发者在此可进行对话设计,增删改已有技能数据,点击【保存配置】按钮,即可完成或更新技能配置。

Step 1 创建技能

技能分为普通技能和高级技能,创建普通技能只需要在用户说法中配置用户提问的常用表达,并在机器人回答中给出对应的文本回复即可。而创建高级技能则复杂一些,下面以高级技能为例,普通技能可参考 step 2、3、5。

首先,登录成功后点击【开始使用】进入控制台>>自定义对话技能>>高级技能>>创建技能 进入创建技能页面。

输入技能名称、技能描述,选择是否打开设置技能热词的开关(技能热词是进入或退出特定场景的对话用语,打开开关后,用户只有按设置的热词对话才能激活该技能),点击确定则创建技能成功。

Step 2 新增意图

每个意图对应着用户的一个真实需求。意图配置包括提供用户发出请求的典型句式和完成用户请求的必要的信息点(即槽位)。普通技能不涉及槽位配置。在多轮对话场景下,意图之间可以建立承接与跳转(具体见 Step6)。

技能创建完成后,需要在技能页面下创建意图,点击新增意图,弹出意图创建页面,选择自定义意图,填写意图名称;

在这里还可以对意图设置相似度阈值,只有当用户请求与配置的句式的语义相似度高于阈值时,这个意图才会触发。相似度阈值默认是 0.8,是平台测试较为平衡的阈值,适用于大多数技能,可不做更改。

点击确定后,进入到意图编辑页面,开发者需要在这里配置用户问法、语义槽及机器人回答。

Step 3 用户问法

添加用户问法

开发者需要根据意图所在的场景,添加用户关于此意图的常用表达,配置时需要尽可能多的覆盖用户不同的表达方式,提供命中率。

点击编辑栏,输入问法句式,回车添加或点击后面的添加按钮来添加句式。除了问法句式,平台还支持使用编辑器来输入问法规则、设置词典和设置语义槽,同时提供了问法模板供用户选择。

示例如下:

如果数据量比较大,也可以通过批量上传的方式添加说法,或者在批量操作编辑框内,一行一个快速编写。

 

使用编辑器

平台编辑器方便开发者快速编写问法规则,配置词典与语义槽。点击用户问法卡片右上角处的展开编辑器,选择想要在句式中插入的元素(规则符号、文字、词典或语义槽)。开发者也可以三种方式交叉使用。

 规则输入须在输入法半角状态下进行,符号说明如下:

():必选条件符号,必须成对出现

&&:连接符,定义条件有序、无序

|:可选符号,定义条件可选

例如:(打开|想看|)&&(视频)({节目名称})

表示当前规则有三个条件:(打开|想看|)、(视频)、({节目名称})

其中(打开|想看|)条件最后的“|”表示的是可选条件,“想看”和“打开”出现一个即可; (视频)({节目名称})是必选条件,即用户问法中“视频”和“{节目名称}”必须都出现才能命中。

&&表示前后两个条件是无序的,即“想看视频…”、“视频打开…”均可以命中;

(视频)({节目名称})表示这两个条件是有序的,必须连续出现才能命中,即“视频 xxx”可命中,“xxx 视频”不可命中。

Step 4 语义槽设置

如果开发者在用户问法中添加了语义槽,语义槽设置中会自动出现该条语义槽的名称,这时候需要开发者为语义槽关联上对应的词典,系统语义槽已自动关联词典,无需再配置,开发者可以根据需要修改关联的词典。

如果用户问法中未出现意图需要的语义槽信息,开发者也可以手动添加。例如:用户要查询 BMI 体质指数,必须知道用户的身高和体重,任务才能进行下去。这里我们就需要添加上“身高”和“体重”这两个语义槽,并对这两个语义槽进行立即追问。

操作步骤:

点击添加一条语义槽,在语义槽弹窗处填写语义槽的名称,点击确定后,语义槽设置中会显示语义槽的名称信息;

然后在词典列,点击设置词典,在词典设置弹窗页面勾选需要的词典。

开启立即追问按钮,设置追问语句(可添加多条),在用户问法中没有获取到身高和体重值时,系统会自动对用户发起追问。对于没有开启立即追问的槽位,在“机器人回答”的阶段可能出现:

(i) 由 API 的调用结果填入

(ii) 根据 API 调用结果和人机交互的状态,在后期发起追问。比如在查询机票信息的场景下,用户需要提供手机号或身份证号。如果用户把“手机号”设置为“立即追问”,即机器人会首先追问用户的手机号;如果在数据库中没有查找到手机号(即相关 API 调用结果为空),机器人会追问用户的身份证号。具体另见“机器人回答”。

到这里我们就完成了语义槽的配置。开发者也可以在这里进行语义槽设置的增删改操作。

Step 5 机器人回答

【机器人回答】是指用户问法命中意图后,机器人回复的方式和话术,开发者可以在这里配置如何给用户回复。除了设置直接的回复文本话术,平台还支持返回富文本回复,以及调用相关 API 资源来动态地获取答案。特别是开发者可以在这个 section,定义与用户的交互流程,动态向用户追问,获取完成任务所需要的信息。

平台共支持配置四种操作以及这四种操作的组合:1.不使用 API 资源。2.使用 API 资源。3.机器人获取信息。4.机器人提问。在选择操作类型后,根据操作的结果(API 调用结果或用户对追问回答的结果),设置下一步的操作。

这里,我们逐一介绍这四种操作:

1.不使用 API 资源

【文本回复】
适用于用户问题的答案比较明确、固定的情况,开发者只需要在下方编辑回复的文本即可;配置问答型技能的时候最为常见。例如,用户问“查一下家乐福几点开门”,在机器人回答处回复“你好,家乐福营业时间为:周一至周日日 08:30—22:30”即可。
机器人回答和用户问法一样,可以支持语义槽进行配置,用户可以添加多条回答,系统将在回答话术中随机选取一条进行回复。

【富文本回复】
除了文本回复外,机器人回答还支持公众号文章、图片、音频、视频、小程序等富文本回复。当用户选用富文本回复时,只需要根据系统提示补全信息即可添加成功。上传富文本文件时,用户可以无须绑定公众号、直接从本地上传;也可以从绑定的公众号素材库中选择文件上传。
本地上传的文件有大小以及格式限制:如图片限制大小在 10M 以内,支持 PNG/JPEG/JPG/GIF 等格式;音频文件限制大小在 2M 以内,播放长度不超过 60s,支持 MP3/AMR 格式;视频文件限制大小在 10M 以内,支持 MP4 格式。

例如,用户想上传图片作为富文本回复时,就可以直接从本地上传图片。

首先,点击【图片】按钮,弹出图片上传对话框。 

在图片上传对话框中,点击【上传图片】,注意图片的大小和格式限制。 

从本地选择图片上传成功之后,新上传的图片会出现在【本次上传】的位置,所有上传的图片都会在【已上传文件】中展示。 

随后选择想要的图片,点击【确定】,将所选图片作为机器人回答。 

上述操作完成后,【机器人回答】处就会显示用户上传的图片了。除了图片以外,用户还可以通过同样的步骤上传音频、视频文件作为机器人回答。 

2.使用 API 资源

适用于回复内容需要使用外部资源,或回复内容跟随用户语义槽的值而变动的情况。系统提供一些常用的 API 接口,例如:地址查询、邮政编码查询、快递查询等,供开发者免费使用。例如:查询 BMI 体质指数这个意图,就需要调取 API 接口,才能对不同身高和体重的用户,给出明确的回复。

我们首先回复类型处选择【服务接口调用】,下拉选择 BMI 计算器;

然后点击【接口配置】,将输入参数与语义槽对应起来,保证语义槽的传递。

这里的输出参数不需要开发者配置,系统会对其自动建槽,并关联接口回填词典。如果想要更改,也可以删除系统填写的语义槽名称,重新定义新的语义槽名称。点击确定后,语义槽设置中即会显示输出参数对应的语义槽名称。

开发者也可以在 API 配置中进行接口调试,参看 API 是否 work。在调试页面输入身高和体重数值,即可查看返回的结果状态。 

配置完成后,开发者即可在返回的每个查询状态下,配置上相应的回复结果。

如果系统 API 不能满足技能开发需要,平台也支持开发者上传自定义 API。

点击【自定义接口】>>【创建自定义接口】,填写接口名称、URL、输入/输出参数、返回状态即可

3. 语义槽信息追问

当用户提供的槽位信息不完整时,机器人需要针对语义槽进行追问以补齐所需信息。开发者可以通过【语义槽信息追问】对各语义槽设置追问话术,确保对话流畅地进行。

【机器人回答-语义槽信息追问】和【语义槽设置】中的追问有区别。【语义槽设置】处的追问主要在第一次调用 API 时进行,通过开启语义槽追问开关和设置话术,引导用户将使用 API 必要的输入信息提供完整确保成功调用。而【机器人回答-语义槽信息追问】则主要作用于后续 API 调用或其他需要输入新信息的情况下。 

例如,用户在调用查询圆通快递物流信息的 API 时需要提供快递单号,这时,用户可以在【语义槽设置】处设置槽位【快递单号】,打开追问设置话术并绑定相关词典,当用户进入意图后,机器人将按照此处设置的话术向用户获取快递单号信息。如果信息正确,API 调用成功后机器人将返回相应答案。  但是当快递单号错误,即调用失败时,将利用【机器人回答-语义槽信息追问】处的追问设置进一步追问:请输入正确的圆通快递单号! 

4. 机器人提问

【机器人回答-机器人提问】 适用于用户意图范围模糊,需要通过不断追问用户,来缩小用户意图,或创建一个故事树类型的对话和小游戏。开发者通过填写想要追问的问题,并给每个问题配置上用户可能的答案选项,来获取用户真实清晰的意图,完成最终请求。

对话为多分支结构时,通过机器人提问-用户选择答案来确认目标逻辑分支。当开发者配置机器人提问时,可编辑多个答案状态,答案在前端以选项的形式给用户进行展示和选择,用户无需输入,直接点击选项进入下一个逻辑分支。

例如:此处要创建一个为用户提供常见病处理方法的技能,用户在确定病症(本例中以感冒为例)之后,要通过用户给出的生病天数、服药情况等病情信息进行针对性反馈。

用户问法为:“我感冒了怎么办”,在机器人回答处,回复类型选择机器人提问,可以设计这样一个提问对话:

 各分支的对话编辑完整后,机器人就可以通过生病天数、服药情况给出相应的针对性回复了。

Step 6 多轮对话

如果用户问题、指令或请求较为复杂,需要进行多轮对话才能完成时,开发者可以在配置完机器人回答后,通过【是否结束对话】-【不结束对话】-选择承接的意图(可选择多个),来实现意图之间的跳转。

例如:我们在“BMI 的正常范围”这个意图的机器人回答后,是否结束对话选择跳转到“查询 BMI 体质指数”这个意图,就组成了一个关于 BMI 查询的多轮对话,第一轮对话为“BMI 的正常范围”,第二轮对话为“查询 BMI 体质指数”。

同时为了保证与上下意图的衔接,开发者需要在跳转的意图上方选择【是否承接对话】-承接对话,设置后,只有用户说法与上一轮意图吻合时,系统才会进入当前意图。

例如:“查询 BMI 体质指数”这意图,我们在是否承接对话处,选择承接的意图为“BMI 的正常范围”,也就意味着,只有用户问完“BMI 的正常范围”这个对话后,再发出“帮我查一下我的 BMI 体质指数”这个请求时,“查询 BMI 体质指数”这个意图才能被命中。在图右侧可以看到机器人测试的效果。 

如果未进行“BMI 的正常范围”的查询,第一次对话就发送“帮我查一下我的 BMI 体质指数”的问法时,“查询 BMI 体质指数”这个意图的问法将不能被系统语义解析。

/template/Home/AllNew/PC/Static