讯飞AIUI智能机器人5-----让器理解你(语音技术综合应用)

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 讯飞AIUI智能机器人5-----让器理解你(语音技术综合应用)

一、实验目的

本次实验通过设计一个智能语音交互应用场景,应用中使用到了语音识别、 语音合成、语义理解等技术,让学生了解语音交互智能技术如何在机器人上使 用,同时对语音交互技术的使用途径和步骤进行详细讲解,理解起来更 加轻松,本实验的具体实验目标如下:

1、熟练掌握语音合成、语音识别、语义理解相关技术的使用方法;

2、能够基于业务需求完成简单的语义设计;

3、掌握简单的语音交互场景设计,并能完成语音交互智能应用的开发。

二、实验内容

语音交互技术作为人工智能领域的核心组成部分,也是智能机器人技术发展 的重要要素。语音交互技术主要包含以下几个方面。语音合成技术,将文本内容合成为自然语音,并通过设备发声。语音识别技术,将自然语音通过转写引擎识别为文本内容。语义理解技术,对自然语言文本的理解,识别其具体表达的意思。 本次实验通过实现一个自动问答的商城智能语音客服系统,对语音合成和语 音识别、语义理解等 AI 技术在实际智能应用中的综合应用,达到人机智能交互的效果,简而言之就是我在讯飞接口里面设置好我的问答库,然后通过和组件(机器人)对话希望可以得到组件库里面的内容。

三、实验步骤

步骤 1:交互场景需求设计

我们基于机器人开发平台完成一个智能语音客服系统,该系 统围绕在线商城的业务咨询场景,可以识别和理解用户通过语音提出的问题,并 对问题进行语音回答。可以闲聊天,也可以商品咨询或者查询快递状态。简而言之就是和机器对话得到答案(之前设置好的问答库)

步骤 2:AIUI 开放平台应用添加及设置

1、参考语音识别技术体验_实验指导书完成 AIUI 开放平台的应用添加,获取应用的appid和appkeyimage.png2、在应用配置页面开启应用的语义理解功能。image.png3、添加商店技能image.png4、添加自定义问答,准备好问答库。添加自定义技能,记得搜有的添加都要构建才能生效image.png

步骤 3:项目工程搭建及能力包导入image.png

步骤 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 中完成权限申请,如下图所示image.png

步骤 5:功能代码开发

💖💖1) AIUI 能力集成

我们的应用工程 MainActivity.java 文件的 onCreate 中进行 AIUI 的能 力初始化,并在文件中添加相应的回调方法


💖💖2) 添加页面布局image.png



💖💖3) 应用数据添加和解析


一般在应用开发过程中,应用的业务数据都是存储在后台服务器的数据库中, 应用通过接口的方式调用后台服务获取业务数据,在本次实验中,后台服务相关 知识不作为我们的实验内容,所以我们使用本地的数据来存储相关业务数据,通 过数据解析的方式获取数据。 文档密级:外部公开 11 我们在项目工程目录/app/src/main/assets 下面添加一个数据文件,命名为 data.cfg,文件代码。然后,在 MainActivity.java 文件中对数据文件进行解析,完成解析后将业务 数据存储到全局变量中,在 onCreate 方法中调用该数据解析方法,完成业务数据的初始化。代码如下(部分):image.png

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 就会崩溃。image.png

步骤7:结果展示image.pngimage.pngimage.png







目录
相关文章
|
18天前
|
传感器 机器学习/深度学习 人工智能
仿生机器人:自然界灵感的工程应用
【10月更文挑战第14天】仿生机器人作为自然界灵感与工程技术的完美结合,正逐步改变着我们的生活和工作方式。通过深入了解其设计原理、关键技术、应用领域以及未来的发展趋势,我们可以更加清晰地看到仿生机器人在推动科技创新和社会发展中的重要作用。让我们共同期待仿生机器人在未来带来的更多惊喜和变革!
|
1天前
|
机器学习/深度学习 人工智能 自动驾驶
2024.10|AI/大模型在机器人/自动驾驶/智能驾舱领域的最新应用和深度洞察
本文介绍了AI和大模型在机器人、自动驾驶和智能座舱领域的最新应用和技术进展。涵盖多模态大语言模型在机器人控制中的应用、移动机器人(AMRs)的规模化部署、协作机器人的智能与安全性提升、AR/VR技术在机器人培训中的应用、数字孪生技术的优化作用、Rust语言在机器人编程中的崛起,以及大模型在自动驾驶中的核心地位、端到端自动驾驶解决方案、全球自动驾驶的前沿进展、智能座舱的核心技术演变和未来发展趋势。
10 2
|
15天前
|
网络协议 机器人 C++
KUKA机器人Socket通讯配置方法:技术干货分享
【10月更文挑战第7天】在现代自动化生产线上,KUKA机器人凭借其高效、灵活和精确的特点,成为众多企业的首选。为了实现KUKA机器人与其他设备或系统之间的数据交互,Socket通讯配置显得尤为重要。本文将详细介绍KUKA机器人Socket通讯的配置方法,帮助大家在工作中更好地掌握这一技术。
120 2
|
15天前
|
人工智能 搜索推荐 机器人
挑战未来职场:亲手打造你的AI面试官——基于Agents的模拟面试机器人究竟有多智能?
【10月更文挑战第7天】基于Agent技术,本项目构建了一个AI模拟面试机器人,旨在帮助求职者提升面试表现。通过Python、LangChain和Hugging Face的transformers库,实现了自动提问、即时反馈等功能,提供灵活、个性化的模拟面试体验。相比传统方法,AI模拟面试机器人不受时间和地点限制,能够实时提供反馈,帮助求职者更好地准备面试。
22 2
|
2月前
|
安全 搜索推荐 机器人
纳米技术与医疗:纳米机器人的临床应用前景
【9月更文挑战第28天】纳米机器人作为纳米技术在医疗领域的重要应用,正逐步改变着传统医疗的面貌。它们在药物输送、癌症治疗、手术辅助和疾病诊断等方面展现出广阔的应用前景。随着科学技术的不断进步和纳米技术的不断成熟,我们有理由相信,纳米机器人将成为医疗领域的一个重要且不可或缺的组成部分,为人类的健康事业做出更大的贡献。同时,我们也应关注纳米技术的安全性和可靠性问题,确保其在医疗应用中的安全和有效。
|
3月前
|
机器人 C# 人工智能
智能升级:WPF与人工智能的跨界合作——手把手教你集成聊天机器人,打造互动新体验与个性化服务
【8月更文挑战第31天】聊天机器人已成为现代应用的重要组成部分,提供即时响应、个性化服务及全天候支持。随着AI技术的发展,聊天机器人的功能日益强大,不仅能进行简单问答,还能实现复杂对话管理和情感分析。本文通过具体案例分析,展示了如何在WPF应用中集成聊天机器人,并通过示例代码详细说明其实现过程。使用Microsoft的Bot Framework可以轻松创建并配置聊天机器人,增强应用互动性和用户体验。首先,需在Bot Framework门户中创建机器人项目并编写逻辑。然后,在WPF应用中添加聊天界面,实现与机器人的交互。
71 0
|
3月前
|
Apache UED 数据安全/隐私保护
揭秘开发效率提升秘籍:如何通过Apache Wicket组件重用技巧大翻新用户体验
【8月更文挑战第31天】张先生在开发基于Apache Wicket的企业应用时,发现重复的UI组件增加了维护难度并影响加载速度。为优化体验,他提出并通过面板和组件重用策略解决了这一问题。例如,通过创建`ReusableLoginPanel`类封装登录逻辑,使得其他页面可以轻松复用此功能,从而减少代码冗余、提高开发效率及页面加载速度。这一策略还增强了应用的可维护性和扩展性,展示了良好组件设计的重要性。
44 0
|
6月前
|
传感器 人工智能 监控
智能耕耘机器人
智能耕耘机器人
123 3
|
3月前
|
人工智能 算法 机器人
机器人版的斯坦福小镇来了,专为具身智能研究打造
【8月更文挑战第12天】《GRUtopia:城市级具身智能仿真平台》新论文发布,介绍了一款由上海AI实验室主导的大规模3D城市模拟环境——GRUtopia。此平台包含十万级互动场景与大型语言模型驱动的NPC系统,旨在解决具身智能研究中的数据稀缺问题并提供全面的评估工具,为机器人技术的进步搭建重要桥梁。https://arxiv.org/pdf/2407.10943
200 60
|
6月前
|
自然语言处理 机器人 Go
【飞书ChatGPT机器人】飞书接入ChatGPT,打造智能问答助手
【飞书ChatGPT机器人】飞书接入ChatGPT,打造智能问答助手
337 0

热门文章

最新文章