全部产品
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件

Bot Framework配置指南

更新时间:2017-10-21 09:33:57

Bot Framework概述

Bot Framework是一个供开发者构建自助服务的工具,它可以识别机器人访问者(下称“访问者”)的意图、可以通过多轮会话向访问者收集意图的参数、调用外部服务处理访问者的意图,从而实现诸如天气查询、订单查询、物流查询、退货等自助功能。

例:

访问者:查天气 (意图识别)

机器人:请问您想查询哪里的天气?(收集意图的参数)

访问者:杭州

机器人:杭州天气晴、最高气温33摄氏度(调用外部服务查询天气)

使用Bot Framework配置意图

配置意图的四个步骤:

  • 添加意图(为意图指定一个名字)
  • 填写访问者表述(尽可能覆盖访问者的多种问法)
  • 定义意图的参数及参数缺失时的反问问题(机器人会基于反问问题进行多轮会话来收集参数)
  • 定义回复(回复固定文本或调用外部服务处理意图)

添加意图

在云小蜜控制台的开发者->Bot Framework->意图功能中创建新意图

add_intent

填写访问者表述

填写若干个查询天气意图下访问者可能的表述方式,如:

  • 杭州天气如何?
  • 出门要带伞吗?
  • 天气如何?
  • 明天会下雨吗?

edit_intent_set_expression

定义参数

通过划词操作,可以从用户表述中选择意图的参数。如:使用鼠标选中杭州天气如何杭州一词,在弹出的菜单中为杭州选择系统.城市实体专有名词,即可将杭州代表的城市实体作为查询天气的一个参数。

edit_intent_set_argument

对于查询天气意图,定义citydate二个参数

edit_intent_add_argument_sample

概念-什么是专有名词?

专有名词是一组名词成员的集合,专有名词可能对应访问者输入的自然语言中的一个意图参数,名词成员(及成员的同义词)是意图参数的所有可选值的集合。

例1:专有名词 - 天气

天气的成员 成员同义词
晴天 艳阳高照、天晴、阳光、太阳
打雷 打雷、闪电
阴天 阴沉
下雨 雨天、降雨
刮风 大风、飞沙走石

例2:专有名词 - 咖啡杯型

咖啡杯型的成员 成员同义词
小杯 Short杯、儿童杯、Espresso杯
中杯 Tall杯
大杯 Grande杯
超大杯 Venti杯

概念-参数的属性

  • 必填:机器人会通过反问直至收集到这个参数为止
  • 参数名:机器人收集到参数后,会使用参数名将参数值保存在上下文中,供意图处理服务使用
  • 来源名词:参数所属的专有名词。访问者输入的自然语言中若包含专有名词的任一成员,那么便会匹配到此参数
  • 参数提示反问:当必填参数缺失时,机器人会使用此处的参数提示反问与访问者进行多轮会话,直至收集到参数值为止

定义回复

意图的回复可以使用纯文本的回复,也可以使用外部http服务进行意图的处理和回复。如:查询天气场景下,使用yahoo提供的天气查询api,在api url中原本需要输入城市名称处使用意图参数${city}代替

  1. https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20in%20(select%20woeid%20from%20geo.places(1)%20where%20text=%22${%E5%8C%97%E4%BA%AC}%22)&format=json&env=store://datatables.org/alltableswithkeys

edit_inent_set_dynamic_component

使用调试器调试意图

在调试器中询问天气,提供city参数后,机器人便会按照意图回复中的配置,调用yahoo api查询city的天气。例:下图中调试窗中的杭州下一条中的json串即为云小蜜机器人调用yahoo api获取的天气信息。

test_bot_framework

本文导读目录