The second day :天猫精灵玩法之创建意图,实现对话功能

如在第一节课上打下扎实的基础,会让第二节课上的内容变得更佳好理解。

https://developer.aliyun.com/article/801602?spm=a2c6h.13148508.0.0.65b54f0ebVzPXR

在第一节课上,我们对天猫精灵开发平台的一些概念,开发方式有了大致了解,其中首页的文档中心也可以帮助我们进行更深入的学习。今天我们来学习创建意图,让天猫精灵具备一个简单的服务能力。

The second day :天猫精灵玩法之创建意图,实现对话功能

首先进入天猫精灵开发平台,登录账号,打开第一节课上创建的应用,点击语音交互模型,创建意图,在这里我们创建一个天气查询的意图,按照下图填写意图信息。

The second day :天猫精灵玩法之创建意图,实现对话功能

The second day :天猫精灵玩法之创建意图,实现对话功能The second day :天猫精灵玩法之创建意图,实现对话功能

在意图的 单轮对话表达 中,输入用户常用的表达语句,回车完成输入,最后点击提交。

由于每个人的表达方式不同,所以表达也就多种多样。单轮对话表达即只有一轮的对话。

The second day :天猫精灵玩法之创建意图,实现对话功能

The second day :天猫精灵玩法之创建意图,实现对话功能

接下来创建实体,点击实体,创建实体,按照下图输入实体名称,实体标识名,最后保存。

实体用来告诉平台算法,当从用户语句中解析参数时,参数的取值范围是什么。您可以自定义实体,也可以引用平台提供的公共实体。

The second day :天猫精灵玩法之创建意图,实现对话功能

The second day :天猫精灵玩法之创建意图,实现对话功能

设置自定义实体值,例如上海,北京,杭州,按回车键完成。

支持多个实体值同时输入(最多20个)。添加多个实体值时,以空格分隔。

当某条实体值还有其它同义词时,您可以将同义词配置到相应的实体值中,也是按回车键完成。

The second day :天猫精灵玩法之创建意图,实现对话功能

The second day :天猫精灵玩法之创建意图,实现对话功能

我们还需要设置一个公共实体值,找到022 日期 点击引用。

公共实体是平台提供的已经填充好内容的实体,可以直接使用,减少大家维护的成本。

The second day :天猫精灵玩法之创建意图,实现对话功能

The second day :天猫精灵玩法之创建意图,实现对话功能

下面回到意图,点击 天气查询 后面的编辑,进行一语料的标记。

选中词语“杭州”,在弹出框中选择标注“city”实体。选中词语“今天”,在弹出框中选择标注“sys.date(公共实体)”实体。平台会自动创建两个参数:city、sys.date(公共实体)。如下图所示:

The second day :天猫精灵玩法之创建意图,实现对话功能

The second day :天猫精灵玩法之创建意图,实现对话功能

The second day :天猫精灵玩法之创建意图,实现对话功能

The second day :天猫精灵玩法之创建意图,实现对话功能
The second day :天猫精灵玩法之创建意图,实现对话功能

The second day :天猫精灵玩法之创建意图,实现对话功能

如果每个都这样一个一个配是不可能的,我们还可以使用一个模板。

手动创建参数,然后在语料中使用 @{参数名称} 替代原本的关键字。如下图所示:

The second day :天猫精灵玩法之创建意图,实现对话功能

 如果用户只问了天气怎么样,这时候我们还需要设置系统默认值以及精灵追问。

可以参考下图进行设置:

The second day :天猫精灵玩法之创建意图,实现对话功能

The second day :天猫精灵玩法之创建意图,实现对话功能

The second day :天猫精灵玩法之创建意图,实现对话功能

假如客户问完今天天气怎么样,又问那明天呢,这里我们就要来设置多轮对话。

例句的话,可以参考下图进行设置,

The second day :天猫精灵玩法之创建意图,实现对话功能

同样的,我们也可以利用模板,参考下图进行设置。最后提交保存。

意图配置这块就做完了。

The second day :天猫精灵玩法之创建意图,实现对话功能

接下来点击后端服务,前往开发。

阿里云-云开发平台 https://workbench.aliyun.com/

The second day :天猫精灵玩法之创建意图,实现对话功能

输入我们需要的代码,别忘了保存,

//处理名称为 weather 的意图

        } else if ("weather".equals(taskQuery.getIntentName())) {

            //weather 意图中 date 参数勾选了必选,请求数据中一定会携带 date 参数,只需要判断 city 参数有没有。

            if (paramMap.get("city") == null) {

                taskResult.setReply("您要查询哪个城市的天气?");

                return askReply(taskResult, "city", taskQuery.getIntentId());

            }

            //TODO 根据参数获取天气信息,这里使用假数据替代

           taskResult.setReply(paramMap.get("city") + paramMap.get("sys.date(公共实体)") + "天气 晴");

最后进入到部署面板,选择预发环境进行部署,等待部署成功。

The second day :天猫精灵玩法之创建意图,实现对话功能

The second day :天猫精灵玩法之创建意图,实现对话功能

部署成功之后,我们就可以进行测试了。

The second day :天猫精灵玩法之创建意图,实现对话功能


上一篇:mongoose学习笔记1--基础知识2


下一篇:网络协议——IP