讯飞聊天机器人(讯飞AIUI智能机器人5—–让器理解你(语音技术综合应用))
🍖🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖
🍖🍖
🍖🍖🍖
🍖🍖🍖🍖 作者 : 不良使
🍖🍖🍖🍖🍖 潜力创作新星 华为云享专家
🍖🍖🍖🍖🍖🍖 博客记录学习的思路 ,项目和错误,寻找志同道合的朋友
🍖🍖🍖🍖🍖🍖🍖 如果觉得有帮助记得一键三连 ┗|`O′|┛ 嗷~~
🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍖 🍖🍖🍖🍖🍖🍖🍖🍓🍓一 、实验目的
本次实验通过设计一个智能语音交互应用场景 ,应用中使用到了语音识别 、 语音合成、语义理解等技术,让学生了解语音交互智能技术如何在机器人上使 用 ,同时对语音交互技术的使用途径和步骤进行详细讲解 ,理解起来更 加轻松 ,本实验的具体实验目标如下:
1 、熟练掌握语音合成 、语音识别 、语义理解相关技术的使用方法;
2 、能够基于业务需求完成简单的语义设计;
3 、掌握简单的语音交互场景设计 ,并能完成语音交互智能应用的开发 。🍓🍓二 、实验内容
语音交互技术作为人工智能领域的核心组成部分 ,也是智能机器人技术发展 的重要要素 。语音交互技术主要包含以下几个方面 。语音合成技术 ,将文本内容合成为自然语音 ,并通过设备发声 。语音识别技术 ,将自然语音通过转写引擎识别为文本内容 。语义理解技术 ,对自然语言文本的理解,识别其具体表达的意思 。 本次实验通过实现一个自动问答的商城智能语音客服系统 ,对语音合成和语 音识别 、语义理解等 AI 技术在实际智能应用中的综合应用 ,达到人机智能交互的效果,简而言之就是我在讯飞接口里面设置好我的问答库 ,然后通过和组件(机器人)对话希望可以得到组件库里面的内容 。
插条广告 ,最近发现的刷题神器 、程序员面试工作必备app
在刷题之前先介绍一下牛客 。Leetcode有的刷题牛客都有,除此之外牛客里面还有招聘(社招和校招) 、一些上岸大厂的大佬的面试经验 。 牛客是可以伴随一生的编程软件(完全免费) ,从学校到社会工作 ,时时刻刻你都可以用到 ,感兴趣的可以去注册试试可以伴随一生的刷题app
🍓🍓三、实验步骤
🍖🍖步骤 1:交互场景需求设计
我们基于机器人开发平台完成一个智能语音客服系统 ,该系 统围绕在线商城的业务咨询场景 ,可以识别和理解用户通过语音提出的问题 ,并 对问题进行语音回答。可以闲聊天 ,也可以商品咨询或者查询快递状态 。简而言之就是和机器对话得到答案(之前设置好的问答库)
🍖🍖步骤 2:AIUI 开放平台应用添加及设置
🛴🛴1 、参考语音识别技术体验_实验指导书完成 AIUI 开放平台的应用添加 ,获取应用的appid和appkey
🛴🛴2 、在应用配置页面开启应用的语义理解功能 。
🛴🛴3、添加商店技能
🛴🛴4 、添加自定义问答 ,准备好问答库。添加自定义技能,记得搜有的添加都要构建才能生效
🍖🍖步骤 3:项目工程搭建及能力包导入
🍖🍖步骤 4:项目 AIUI 能力导入及配置
完成了工程项目的搭建后 ,我们需要在项目工程中集成 AIUI 能力 ,具体步 骤如下:
💖💖一 、首先,导入配置文件 ,将 aiui.cfg 文件导入到应用工程目录:src/main/assets/cfg/ (该文件示例工程同目录中可获取);
💖💖二、修改 aiui.cfg 文件中的配置信息 ,具体如下:
1. / AIUI 参数配置 /
/ login 相关参数 /
“login ”:{
“appid ”:"******“,
“key ”: ”*********************"
}
/* 交互参数 /
“interact ”:{
“interact_timeout ”:“60000 ”,
“result_timeout ”:“5000 ”
},
/ 全局设置 */
“global”:{
“scene ”:""
}, 修改代码中*标识的位置,主要包括 appid ,appkey ,scene(场景) ,将 AIUI 平台创建的应用相关信息填入 。 同时需要在 AndroidManifest.xml 中完成权限申请 ,如下图所示🍖🍖步骤 5:功能代码开发
💖💖1) AIUI 能力集成 我们的应用工程 MainActivity.java 文件的 onCreate 中进行 AIUI 的能 力初始化 ,并在文件中添加相应的回调方法
💖💖2) 添加页面布局
💖💖3) 应用数据添加和解析
一般在应用开发过程中 ,应用的业务数据都是存储在后台服务器的数据库中 , 应用通过接口的方式调用后台服务获取业务数据 ,在本次实验中 ,后台服务相关 知识不作为我们的实验内容,所以我们使用本地的数据来存储相关业务数据 ,通 过数据解析的方式获取数据 。 文档密级:外部公开 11 我们在项目工程目录/app/src/main/assets 下面添加一个数据文件 ,命名为 data.cfg,文件代码。然后 ,在 MainActivity.java 文件中对数据文件进行解析 ,完成解析后将业务 数据存储到全局变量中,在 onCreate 方法中调用该数据解析方法 ,完成业务数据的初始化 。代码如下(部分):
private void handleGoodsConsult(SemanticBean bean){ SemanticBean.Semantic semantic = bean.getSemantic().get(0); SemanticBean.Slots goods_slot = semantic.getSlots().get(0); String goods_name = goods_slot.getValue(); try { JSONObject productsObject = mBusinessData.optJSONObject("products"); if(productsObject.has(goods_name)){ JSONObject dataObject = productsObject.optJSONObject(goods_name); switch (semantic.getIntent()){ case "describe": String desc = dataObject.getString("desc"); showAnswerText(bean.getInputText(), desc); break; case "price": String price = dataObject.getString("price"); showAnswerText(bean.getInputText(), goods_name + "的价格是"+price+"元"); break; case "stock": String stock = dataObject.getString("stock"); showAnswerText(bean.getInputText(), goods_name + "目前的库存还有"+stock+"件"); break; case "goods": String goods_desc = dataObject.getString("desc"); String goods_ability = dataObject.getString("ability"); showAnswerText(bean.getInputText(), goods_desc + goods_ability); break; } } else{ showAnswerText(bean.getInputText(), "对不起 ,没有查询到您要咨询的商品信息!"); } } catch (Exception e){ e.printStackTrace(); } }🍖🍖步骤 6:应用权限申请
跟以前在安装 APP 的是就申请了权限不同 ,Google 在 API 23 ,也就 Android6.0 之后加入了动态权限 。对于一些敏感的权限 ,决定权交还给了用户 , 不再是强制申请了 。因为这个原因 ,如果 APP 需要支持 Android6.0 以上的系 统 ,就需要进行一下适配 ,否则 APP 就会崩溃 。
🍖🍖步骤7:结果展示
🍓🍓 参考资料与扩展阅读
1)Android 开发工具网站
2)Android 开发者社区
3)科大讯飞 AIUI 开放平台
4)科大讯飞开放平台文档中心最后,兄弟们悠着点 ,免费(白嫖)用户 ,一天就500次交互机会,手下留点情 。
觉得有用的可以给个三连 ,关注一波!!!带你了解更多的智能机器人小知识
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!