过来看,手把手带你完成定制化天气小助手

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 有用知识又增加喽😊

先准备好

自定义技能开发能支持开发者设计符合自己业务场景的 语音交互流程 以及 业务处理逻辑 ,创建出功能强大的专属技能哦。


在开始创建技能开始之前,先来了解下自定义技能时序流程,也就是从用户发出指令到收到回复 的过程。



  1. 用户唤醒精灵,天猫精灵用麦克风收录用户的语音并上传到平台;
  2. 然后平台使用ASR(音频转文字)+ NLP(自然语言处理),解析用户的意图,匹配到对应的技能和意图中。
  3. 将所有解析到的参数信息通过 http(s) 请求访问开发者提供的服务接口。
  4. 开发者的服务内部接收请求参数,然后执行业务逻辑,并组装回复结果。
  5. 然后平台收到开发者服务返回的结果后,使用 TTS(文字转音频)合成音频,并将音频链接下发到天猫精灵设备。
  6. 设备根据下发的音频链接将回复内容播出来,本轮对话也就完成了。


在这个天气查询小程序里,可以参考技能的创建、配置、开发、测试流程。开发属于您自己的自定义技能。


第一步: 创建技能并填写技能基本信息

先登录 AliGenie智能应用平台,在应用列表里面选 技能,然后进入技能列表。点击页面右上角 创建语音技能,开始创建自定义技能吧


  • 技能名称:展示在技能市场的技能名称,在发布时将进行唯一性检测。
  • 技能属性:选择 公有技能 / 私有技能。请谨慎选择技能属性,建议您参考下【公有&私有】。
  • 技能调用词:也称为 唤醒词,是用户使用这个技能所需要说的关键字。如“天猫精灵,抛硬币”,则使用了调用词为“抛硬币”的技能就能唤醒。


  • 技能标签设置:技能标签是开发者设置的与技能相关的标签。
  • 适用的年龄:能用本技能的最低适用年龄,请根据技能的情况合理选择。
  • 收费情况:技能可以选择 免费 / 付费 / 应用内购买
  • 交互方式:在语音交互的基础上,可以选择技能是否是 触屏 / 手势 交互的方式
  • 场景标签:技能适用的设备有哪些,可以选 车内 / 随身 / 家里 等场景设备,最多可选三个。
  • 类别标签:技能所属的类别,可以选择 社交 / 购物 / 休闲娱乐 / 游戏 等细分类别,最多可选三个。
  • 其他标签:选择技能主要服务的用户类型或场所类型;
  • 用户类型有 教师 / 车主 / 男性 / 女性 等,
  • 场所类型有         医院 / 养老 / 社区 / 聚会 等,最多可选三个。
  • 技能展示设置:可标识技能是内部技能还是外部技能


当以上技能信息都填写完成后,点击 确认创建 即可建一个自定义技能了。


第二步:能力申请(非必要)

能力申请在技能开发中不是必要的。如果想要使用此功能,请看下这些文档【Webhook 鉴权】、【OAuth2.0 授权】和【能力开放】;


第三步: 语音交互模型创建(很重要)

1. 配置实体

1.1 创建自定义实体

因为天气需要知道“城市”才能查询,所以我们需要创建一个城市名称的实体,相当于提供一个词典,让算法模型知道如何去识别用户语句中的城市。关于实体,想了解更多可看下【实体】;


点左侧:服务配置 -> 实体 菜单,然后打开实体配置页面,点击 创建实体 ,填写实体名称和实体标识名,如下图:

  • 实体名称:要求必须中文字符,是此实体的中文名,便于开发者在多个实体中快速找到需要的实体。
  • 实体标识名:是实体被意图中参数引用的标识,实体标识名可以使用各种字符。


1.2 添加实体值

在实体值部分选择 添加实体,然后在输入框输入想要添加的实体值内容。支持多个实体值同时输入(最多20个哈),实体值之间要以 空格 分隔,然后 回车键 进行添加实体。


1.3 添加同义词

当某条实体值还有其它同义词时,这个时候需要把同义词配置到相应的实体后。点击 编辑,单击同义词的输入框,逐条输入该实体值的同义词,每输入一条同义词按一次回车完成输入。全部输入后点击  保存


1.4 引用公共实体

又因为查询天气还需要用到日期。平台有提供日期的公共实体,不需要开发者去创建,直接引用这个公共实体即可。点击 引用公共实体,把 sys.date 实体后的 引用 按钮打开,返回到实体列表页面可以看到引用的 sys.date 实体。


2. 创建意图

你可能不知道你意图啥意思?意图用来设置技能的业务逻辑,也就是说是我们技能的核心。

进入 意图 菜单,点击 创建意图,输入意图名称、意图标识、意图描述,打开默认意图按钮。点 提交 创建意图:


3. 配置单轮对话语料

语料分为例句式语料模板式语料,你可以自由选择使用哪种语料,也可同时使用。只要语料的语义规则是相同的,那么语料的作用就是相同的,不需要再重复定义。详情请看【语料】;


3.1  例句式语料配置方法

然后进入意图配置页面,在单轮对话表达中配置我们认为用户查询天气的语句。然后用这些语句,算法会建立语料模型,这样用户说到相同的话时,平台就能识别出用户是在访问天气查询意图了。

上面的语句中,不少包含了天气查询所需要的 日期 城市,我们需要对语句进行标注,目的是告诉算法这些词语可以由标注的实体值动态替换;


鼠标选中我们需要标注的词语,页面上会自动弹出支持标注的实体。如 “杭州今天天气”这句语料,我们分别标注“杭州”为“city”,“今天”为“sys.date(公共实体)”。标注后会自动生成参数“city”和“sys.date(公共实体)”;


平台支持批量标注,当第一次标注后,可以发现所以其他语料中“杭州”词语都被标注了“city”参数,“今天”词语都被标注了“sys.date(公共实体)”参数。所以在输入语料时,所有绑定同一个参数的关键词都设为相同的词语,这样就不需要每条语料都要去标注一遍了;


第一次标注后,自动生成的参数如下图:


3.2 模板式-语料配置方法

模板式语料需要开发者先手动创建参数,创建的参数只需要先指定关联实体和参数名称即可。

添加语料的时候,我们选择语料类型为 模板,语句中关键词部分使用@{参数名称}占位。如下图所示:


4. 如何配置参数

从上一步可以看到:有的语料中包含了两个参数,如“杭州今天天气”。平台能够从这句语料中解析到时间地点的关键信息,这也是查询天气必要的两个参数。但有的语料不包含或只包含部分关键信息,如“天气怎么样”。那么对于缺少的必要信息就需要通过其他方式获取到。获取的方式有三种:

  • 使用默认值,用户不说则参数默认是这个取值。
  • 使用精灵追问,由平台自动向用户追问参数;
  • 使用后台追问,后台追问参数的方法看下【响应数据】;


前两种是在意图参数中进行配置;最后一种是在后台服务中判断参数是否存在以及通过livetime值判断参数的存活时间,依此决定是否需要对此参数向用户追问。


4.1 如何配置精灵追问

在此意图中,日期和地点是查询天气的必要参数,所以我们设置两个参数为 必选。其中“city”参数我们设置了精灵追问,即在没有解析出参数值的时候,平台会自动追问


4.2 如何配置用户可能的回复

无论是使用的精灵追问,还是使用的后台追问。当用户面对 city 参数的追问时,可能只回答城市名称,此时平台能够从用户的回答中解析到 city 参数的取值。但如果用户说“我要查北京的天气”时,平台就不知道如何处理这句话并从中获取到 city 参数的取值了,此时需要设置用户可能回复的句式,如下所示:


4.3 如何配置参数默认值

“sys.date(公共实体)”参数的默认值设置为“今天” ;


PS: 注意参数必选可能导致的问题

如果勾选了必选,没有填写默认值,也没有设置追问。就会出现对话出错,或对话正确但没有任何回复内容;


5. 如何配置多轮对话语料

除了 单轮对话表达,我们还可以设置一下 多轮对话编辑,多轮对话语料代表如果用户已经在本意图里面,可以识别为本意图的语料,比如:


多轮语料的测试示例。请注意蓝框中的回复内容,是配置的后台服务返回的结果


6. 如何配置前置意图

可以再创建一个 空气质量查询意图,在空气质量查询意图中设置天气查询意图为 前置意图


空气质量和查询天气是相似的意图,两者都需要时间和城市两个参数,所以它们可以互相建立起前置意图的关系,在上下文的语境中,用户就不用重复表达相同的参数了。请注意蓝框中的回复内容,是配置的后台服务返回的结果


第四步:如何配置回复逻辑

在创建完语料模型之后,平台就能在用户说到相关的语句时识别出用户的意图,并且解析出其中的参数,通过请求传递给开发者提供的服务进行处理;


开发者可以选择用【Webhook 服务或【阿里云 FaaS 服务


如果选择 Webhook 服务,开发者需要将提供的 Webhook服务 的请求 URL 配置到意图的回复逻辑中,并且每个意图都要配置回复逻辑是什么。


点击 回复逻辑 菜单,再点击 默认逻辑WEBHOOK 前的 “+” 展开意图列表,点击对应意图后的 详情,进入意图逻辑配置配置页面。在此页面中可以 下载认证文件 填写URL

配置完这些后就可以提交保存,我们就可以在 在线测试 功能中对这个我们的技能测试了。


第五步:测试验证

1. 在线测试

点击 测试 --> 在线测试 ,可以在输入框输入语句进行测试。可以只输入调用词,就可以访问默认意图;或直接输入调用词+语料,访问指定意图;


由于直接在技能下测试,可以不用说“天猫精灵”唤醒设备,而直接使用技能的 调用词 或者 调用词 + 语料 的方式进行测试。技能调用后,只要没退出,还可以直接使用语料交互测试的哈


先完成天气查询意图,再触发空气质量查询意图时,前置意图的参数会传递过来,就不需要再次向用户询问了。


2. 真机测试

使用真机测试功能 详情请见 真机测试。,并辅助APP的设备对话信息,你可以验证语音识别和交互的真实效果。如果你的唤醒词和例句包含专有名词、生僻词、同音词,可能导致识别结果达不到预期,建议你调整唤醒词和例句为更容易识别的词句。


第六步:技能发布

这样,我们就完成一个简单的天气技能的创建。从这个技能的创建过程中,您可以了解到自己想要创建的技能该如何实现;当您的技能一切准备就绪后,就可以提交技能进行发布啦。

相关文章
|
7月前
|
人工智能 IDE JavaScript
Comate:百度智能云推出的基于大模型的代码编写助手
【2月更文挑战第13天】Comate:百度智能云推出的基于大模型的代码编写助手
118 2
Comate:百度智能云推出的基于大模型的代码编写助手
|
2月前
|
人工智能 弹性计算 搜索推荐
打造个性化的微信公众号AI小助手:从人设到工作流程
在数字化时代,一个有个性且功能强大的AI小助手能显著提升用户体验。本文档指导如何在微信公众号上设置AI小助手“小智”,涵盖其人设、功能规划及工作流程设计,旨在打造一个既智能又具吸引力的AI伙伴。
86 0
|
2月前
|
搜索推荐 IDE API
打造个性化天气应用:iOS开发之旅
【9月更文挑战第35天】在这篇文章中,我们将一起踏上iOS开发的旅程,通过创建一个个性化的天气应用来探索Swift编程语言的魅力和iOS平台的强大功能。无论你是编程新手还是希望扩展你的技能集,这个项目都将为你提供实战经验,帮助你理解从构思到实现一个应用的全过程。让我们开始吧,构建你自己的天气应用,探索更多可能!
73 1
|
4月前
|
人工智能 自然语言处理 API
手把手教你搭建微信公众号AI助手
【8月更文挑战第6天】手把手教你搭建微信公众号AI助手
286 2
手把手教你搭建微信公众号AI助手
|
4月前
|
搜索推荐 API 开发工具
打造个性化天气应用:从零开始的iOS开发之旅
【8月更文挑战第31天】本文是一篇针对初学者的iOS应用开发指南,将引导读者通过Swift和iOS SDK构建一个简单而美观的天气应用。我们将探索如何利用API获取实时天气数据,并在应用中实现用户友好的界面设计。文章不仅包括代码示例,还提供了设计理念和用户体验优化的建议,旨在帮助初学者理解iOS开发的基础知识,并激发他们创造个性化应用的兴趣。
|
4月前
|
人工智能 数据管理 API
手把手教你搭建企业微信AI助手
全程图文,一步一步带你搭建基于云百炼的RAG应用,并配置知识库,让AI助手更专业、更智能。
505 1
|
28天前
|
人工智能 自然语言处理 机器人
手把手带你搭建一个语音对话机器人,5分钟定制个人AI小助手(新手入门篇)
本文介绍了如何从零开始搭建一个语音对话机器人,涵盖自动语音识别(ASR)、自然语言处理(NLP)和文本到语音合成(TTS)三大核心模块。通过使用开源工具如FunASR、LLaMA3-8B和ChatTTS,以及FastAPI和Gradio等技术,详细指导读者轻松实现个人AI小助手的构建,适合技术新手快速上手。
200 1
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
【智能助手体验】分享一款超好用的AI工具:Kimi
Kimi是一款由月之暗面科技有限公司开发的AI助手,具备强大的自然语言理解和文件内容解析能力,支持多种文件格式,并能结合互联网搜索提供全面答案。无论是在工作中的数据分析还是日常生活中的信息查询,Kimi都能给出满意的结果,展现出巨大的应用潜力。
|
4月前
|
人工智能 自然语言处理 文字识别
秒懂全文:盘点13个各具特色的AI智能阅读助手工具
在当今信息爆炸的时代,AI阅读工具正在革新我们的阅读方式,成为了提高效率、优化阅读体验的关键。这类AI阅读辅助工具,只需要上传文件或者输入链接,便可以直接以聊天对话的形式进行一键总结和智能问答,满足用户AI PDF 阅读、AI文档问答分析、AI音视频总结等多种实用需求,高效提炼信息要点精华,建立属于自己的AI知识管理和信息管理工作流。对此,根据阅读场景,精选了 13 个具有代表性、各具特点的高质量 AI 阅读助手助理。 具体如何选择,见文末总结。
432 1
秒懂全文:盘点13个各具特色的AI智能阅读助手工具
|
5月前
|
搜索推荐 API Android开发
移动应用开发之旅:从零到一打造个性化天气应用
【7月更文挑战第31天】在这篇文章中,我们不仅将探索如何从零开始构建一个功能齐全的移动天气应用,还将深入理解移动操作系统对开发流程的影响。通过实际代码示例和开发步骤的详细解读,本文旨在为初学者提供一个清晰的指南,帮助他们理解并克服移动应用开发过程中可能遇到的挑战。文章将涵盖从概念设计到最终实现的全过程,包括用户界面设计、数据获取、以及后端服务的集成,让读者能够跟随作者的步伐,一步步构建出自己的个性化天气应用。
53 4
下一篇
DataWorks