前言

目前使用语音输入越来越普遍。语音输入不仅高效,而且更加自然,符合人类的输入方式。在这里开发了一个汇率换算的 APP,展示了如何使用语音输入和语音识别。

APP简介

这个 APP可以识别用户的输入,然后返回结果,并使用自然语言读出来。

用户可以点击话筒图标,进行语音输入:“1元人民币兑换多少美元”。或者说“350泰铢兑换多少人民币”等等。结果也会通过语音读出来

功能实现

语音识别和语义理解都是通过Olami平台来实现的。这个需要去Olami平台进行注册,然后就可以免费试用了。官网的地址https://olami.ai,网站上有丰富的教学资源具体的使用可以查看相关的文档。OLAMI是由威盛电子(上海)有限公司人工智能软件研发团队推出的一个人工智能软件开发平台,提供包括自然语音交互技术在内的全方位人机交互解决方案,覆盖了众多垂直领域的语义通用场景。

语音的读取是使用了苹果的AVSpeechSynthesis库进行的。这个库的使用也很简单。这个库是在AVFoundation中

由于 Olami平台已经对汇率的计算结果进行了内置计算,所以代码里处理的就比较少了。代码的主要是处理传过来的json数据

- (void)onResult:(NSData *)result {NSError *error;__weak typeof(self) weakSelf = self;NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:resultoptions:NSJSONReadingMutableContainerserror:&error];if (error) {NSSLog(@"error is %@",error.localizedDescription);}else{NSString *jsonStr=[[NSString alloc]initWithData:resultencoding:NSUTF8StringEncoding];NSLog(@"jsonStr is %@",jsonStr);NSString *ok = [dic objectForKey:@"status"];if ([ok isEqualToString:@"ok"]) {NSDictionary *dicData = [dic objectForKey:@"data"];NSDictionary *asr = [dicData objectForKey:@"asr"];if (asr) {//如果asr不为空,说明目前是语音输入[weakSelf processASR:asr];}NSDictionary *nli = [[dicData objectForKey:@"nli"] objectAtIndex:0];NSDictionary *desc = [nli objectForKey:@"desc_obj"];int status = [[desc objectForKey:@"status"] intValue];if (status != 0) {// 0 说明状态正常,非零为状态不正常或者result为空[[NSNotificationCenter defaultCenter] postNotification:[NSNotification notificationWithName:@"noresult" object:nil userInfo:nil]];}else{NSDictionary *semantic = [[nli objectForKey:@"semantic"]objectAtIndex:0];NSString *result = [desc objectForKey:@"result"];[self.delegate onResult:result];}}else{}}}

结果是放在 result字段中

{"data": {"asr": {"result": "三百九十八港币是多少人民币","speech_status": 0,"final": true,"status": 0},"nli": [{"desc_obj": {"result": "您要查找的信息:398港币兑换338.22040人民币","source_currency": "398港币","status": 0},"data_obj": [{"target_currency": "338.22040人民币"}],"type": "exchangerate"}]},"status": "ok"
}

把这个字段中的值传出来就行了

具体的代码可以参考 GitHub
https://github.com/lym-ay/RateDemo

汇率换算自然语言理解功能IOS DEMO相关推荐

  1. java自然语言理解demo,源码分享(基于欧拉蜜)

    汇率换算自然语言理解功能JAVA DEMO >>>>>>>>>>>>>>>>>>>&g ...

  2. 手把手教你做自然语言理解智能对话的微信小程序【核心源码】

    闲聊-智能对话:微信小程序详解 重要提醒:第三方私人语音接口已关闭,现已更新至官方语音接口,如有问题请联系博主 重要更新!!!! 现在"智能聊"小程序支持语音输入了!!!!! 完整 ...

  3. 自然语言理解(NLU)相关微信小程序大全

    这里持续收集一些跟自然语言理解相关的微信小程序,包括DEMO或正式上线运营的小程序,欢迎大家提供资料,我将不定期更新此贴,方便爱好者学习参考. 遥知之 CSDN文章 微信小程序--智能小秘" ...

  4. 货币汇率换算器隐私协议

    版本更新日期:2022 年 11月 24日 版本生效日期:2022年 11月 24日 公司:漳州市巨雷网络有限公司 地址:福建省漳州市古雷港经济开发区杜浔镇近城村城内自然村278号 目录: 我公司如何 ...

  5. 感知自然语言理解(NLU)

    AI即人工智能是一个令人着迷的领域,尤其是基于对话式AI系统的智能音箱的兴起,使人工智能直接走进了我们的家庭. 自然语言是人类的智慧,自然语言处理(NLP)是AI中最为困难的问题之一,而自然语言理解( ...

  6. 我所理解的iOS开发高手

    推荐:程序员简历怎么写才好?免费修改简历!! 上周日很荣幸参加了逻辑教育在深圳举办的iOSer线下沙龙,还有点意思.不仅遇到了一群激情满满又非常上进的iOS开发者,也认识几个风趣幽默.奇奇怪怪的逻辑教 ...

  7. 基于TensorRT的BERT实时自然语言理解(上)

    基于TensorRT的BERT实时自然语言理解(上) 大规模语言模型(LSLMs)如BERT.GPT-2和XL-Net为许多自然语言理解(NLU)任务带来了最先进的精准飞跃.自2018年10月发布以来 ...

  8. 基于cnn的短文本分类_自然语言理解之(二)短文本多分类TextCNN实践

    本文包含:用keras实现文本分类的2种baseline结构:TextCNN.Bi-GRU+conv+pooling:网络结构可视化:采用小样本在本地(乞丐版MacBook Pro)评估baselin ...

  9. ChineseGLUE(CLUE):针对中文自然语言理解任务的基准平台

    导语 2018 年,来自纽约大学.华盛顿大学.DeepMind 机构的研究者创建了一个多任务自然语言理解基准和分析平台--GLUE(General Language Understanding Eva ...

最新文章

  1. java 进程睡眠_Linux进程的睡眠和唤醒简析
  2. Webhooks上的一个简单方法:恐吓现在停止
  3. APP测试入门之功能测试
  4. 深夜更新鸿蒙OS生态服务,华为频频深夜更新,HMS生态服务范围不断扩大,离替代谷歌不远了?...
  5. python必备插件_5框酷毙的python插件工具
  6. 使用 rqt_console 和 roslaunch
  7. 数据结构--散列表 Hash Table
  8. Linux中7个用来浏览网页和下载文件的命令
  9. 如何从Debian 9 Stretch 升级到 Debian 10 Buster(升级Debian9图文教程)
  10. ssm框架requestmapping找不到_从MVC原理开始手敲一个MVC框架,带你体会当大神的乐趣...
  11. 人工智能TensorFlow工作笔记007---认识张量
  12. 安卓电子书格式_(干货)mobi电子书,没有Kindle也能读?
  13. Excel K4宏病毒专杀
  14. 2021湖北技能高考成绩时间查询,2020湖北技能高考成绩查询时间
  15. HTML CSS 网页设计作业「动漫小站」
  16. coreldraw x8的序列号无效在哪里找?绿色安装教程
  17. Python 如何被证明是 2021 年的转折点语言
  18. 下面最难防范的网络攻击是计算机病毒,求大神们帮帮忙,拜托了,在这先谢过了。...
  19. Golang语言快速上手到综合实战视频教程
  20. c语言程序输入自己班级学号,找高手帮忙c语言程序::输入一个班10个学生的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩...

热门文章

  1. java-poi实现生成word
  2. BZOJ1050 HAOI2006 旅行comf 生成树+枚举
  3. 设备树基本语法及属性分析
  4. C语言程序设计笔记(浙大翁恺版) 第九周:指针
  5. python if嵌套/while嵌套/竞技叠杯
  6. 人脸识别——基于CNN的模型实现
  7. android 评论发表情,安卓手机怎么在微信朋友圈评论发表情包?
  8. 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一2.5  商品摆放:营造氛围的搭配...
  9. CODEVS 2491 玉蟾宫
  10. 基于Python实现可以进制转换和计算阶乘的科学计算器