版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于语音识别的车载导航系统的总体设计案例目录TOC\o"1-3"\h\u7876基于语音识别的车载导航系统的总体设计案例 1130791.1系统总体结构概述 150161.2系统网络拓扑设计 350821.3系统层次架构设计 3325631.4系统部署设计 4175321.5数据库设计 6152561.5.1数据库概念设计 6108901.5.2数据库表设计 795541.6语音交互任务控制逻辑的设计 8206901.7系统开发相关技术选型 9252701.7.1Android平台 9307351.7.2自然语言处理 11语音技术应用到车载导航行业中,充分考虑了车载导航系统应用领域的语音需求,可以使车载导航系统实现更安全、更人性化的操作。在不久的将来,笔者相信语音系统会在车载导航系统中发挥大作用,为设备操作、互动娱乐和命令获取上切实服务,成为车载设备的当家控制终端。1.1系统总体结构概述以语音识别为基础的车载导航系统中有六大功能模块,分别为系统登录模块、语音交互模块、路径导航模块、信息查询模块、音乐播放模块以及系统设置模块。这六个模块共同构成了车载语音系统,对整个系统的功能进行了优化完善。系统的整体功能结构图如图12所示。图12系统功能结构图首先就是系统登录管理模块,驾驶员要想进入车载导航系统就必须登录,登录方式目前只有两种,一种是使用密码+手机号,另一种是车主端扫码登录。第二也是整个系统中最重要的模块,就是语音交互模块。在不以音响触摸屏、手势和手机客户端为辅助的情况下,驾驶员就可以控制音响。语音交互模块包括语音识别和自然语言处理量大功能。语音识别先将用户所说的语音转换为文字,将结果传递给自然语言处理功能,随后再由自然语言处理来分析用户意图,进一步转发给后续服务,执行相应操作,完成业务处理[30]。第三也是系统中的核心功能,就是路径导航管理模块。驾驶员可以通过综合运用导航语音指令和唤醒词,就像周边环境搜索完全可以利用语音做到。在路径导航管理模块中,驾驶员同样可以凭借语音指令对搜索周边、地图缩放、查找目的地和查看实时路况等功能操作,无需和司机交流互动从而对司机的驾驶造成影响。随后还有信息查询管理模块,在驾驶员要查询路况或天气时,驾驶员发出需求指令后由系统接收识别并做出操作。针对驾驶员无聊而展开的聊天互动,系统收到驾驶员指令后认为这一指令属于闲聊领域,从而会调用个性化回复的方式对用户请求做出反馈,使用户充分感受到车载导航系统的人性化特点。再次就是音乐播放模块了,对于车载导航系统来说属于锦上添花的非核心功能,包括多个子模块,如歌曲管理模块、音乐收藏模块、音乐服务管理模块以及音乐播放管理模块等,利用这些模块可以实现音响的基本功能。在驾驶员没有开启导航功能的时候,音乐播放的功能可以促进用户停留时间,强化用户对系统的使用,优化用户体验[31]。最后,系统设置管理模块在整个系统中算是配置模块,其中有设置闹钟、选择WiFi、检测升级、切换语言、清空数据、切换区域、切换屏保等功能。1.2系统网络拓扑设计根据基于语音识别的车载导航系统运行要求,得出基于语音识别的车载导航系统网络拓扑图如下图13所示。图13系统的网络拓扑图由图13系统网络拓扑图所示,客户端可通过WiFi以及5G网络两种方式,调用云端服务器接口进行数据交互。可将本地数据上传至云端数据库进行存储,亦可从云端数据库服务器获取、下载相关数据,同时可连接GPS定位系统获取到地图相关信息。云端服务器使用Kubernetes(k8s)集群作为应用集群。K8s具有自带高可用、负载均衡、弹性伸缩等特性,增强系统的稳定性和可维护性。1.3系统层次架构设计基于语音识别的车载导航系统架构图如下图14所示。图14系统的系统架构图由图14系统架构图所示,参考当前业内主流的系统架构设计经验分析,最终决定采用三层架构设计模式来完成基于语音识别的车载导航系统整体架构设计工作,三层架构由表示层、业务逻辑层以及数据访问层组成,其中表示层主要是为系统使用者提供基于语音识别的车载导航系统功能操作服务,让用户在表示层上操作功能按钮,完成用户功能请求的发送操作。业务逻辑层主要是为基于语音识别的车载导航系统提供功能业务逻辑处理操作。数据访问层主要实现与数据库进行数据交互,执行业务逻辑层发送的功能请求,然后将处理结果返回业务逻辑层,业务逻辑层根据预设逻辑将结果返回给表示层供用户查看[32-35]。1.4系统部署设计本系统的部署图由图15所示。安卓客户端向服务端发送请求,消息通过防火墙交予负载均衡服务器或k8s的Ingress模块进行转发,至k8s服务器进行处理,同时亦可对文件服务器进行访问;当有请求需要查询数据时,可先从缓存服务器查询,提高查询效率,最后就是对数据库服务器的访问。其中系统服务采用容器化方式部署,以k8s来编排容器组。客户端上传的音频流数据,以TCP协议,通过Nginx的TCP转发,到达k8s集群中的ASR服务;来自客户端的登录、设置等业务的请求,以HTTP协议,通过k8s的Ingress模块直接到达相应服务。图15系统的部署图如果有主机发生异常,k8s可以自动将运行在这上面的容器组驱赶至正常主机上,或者由k8s控制器直接在正常主机上重启相应的容器组,以此维持高可用。由于k8s集群自身的特性,应用集群可以满足高可用、自带负载均衡、方便弹性扩容等优点,极大增强了本系统的稳定性和可维护性。1.5数据库设计1.5.1数据库概念设计通过分析车载导航系统需求,得出基于语音识别的车载导航系统E-R图如图16所示。本系统中由于各个实体的属性过多,所以没全部在E-R图中表示出来。图16系统的E-R图首先是汽车实体属性,汽车实体描述就是阐述车载导航系统中现有的车辆基本信息。其次是收藏实体属性,说明用户收藏的专辑、歌曲等相关收藏信息即收藏实体描述。再次是语音实体描述,介绍驾驶员利用麦克风对语音输入时其中语音的基本信息,当然这类信息必须是车载导航系统做出语音指令的重要内容。第四是行程实体描述,主要应用于行程中录音模块,是对系统中司机进行驾驶的时信息的描述。它保存了行程的全部信息。最后是歌曲实体属性,行程实体描述,指阐述系统中驾驶员借助语音所对歌曲信息做出的调用。其中,涉及到类型、语种、风格等一系列内容。歌曲的所有信息都被涵盖其中。1.5.2数据库表设计依据上文所描述的实体与实体之间的关系,继续分析数据库设计方案。根据与核心业务的关联性,对以下几个表着重展开论述:驾驶员信息表、汽车信息表、语音信息表、行程信息表。首先是驾驶员信息表,此表负责存储驾驶员的个人信息,包含信息为手机号码、昵称、性别、家庭住址、公司地址、车牌号、身份证号。在此表中,有且仅有一个手机号码,该手机号码必须为驾驶员登录时用于验证的号码,手机号码即为主键。外键为车牌号,把这两个按键和汽车信息表的车牌号对接。对于驾驶员信息表中的公司地址和昵称,驾驶员可以选择不填。其次是汽车信息表。在首次打开登记会用到的汽车基本信息时,汽车信息表会把这些信息自动存储下来。其中包含信息为车牌号、品牌、车系、汽油类型、发动机号码、汽车识别代号。车牌号为此表的主键。对于汽车信息表中的汽油类型,用户可以选择不填。第三是语音信息表。驾驶员所输入的语音及与语音相关的信息全部存储在该中,字段主要有语音时长、输入时间、语音大小、识别输出文本、语义领域、意图。在语音交互模块中,这个表至关重要。以便后续对驾驶员输入是否成功进行核查。随后是行程信息表,存储了客户行程的信息。这些信息为乘客信息、司机信息、行程路线、行程起点、形成终点、行程开始时间、行程结束时间、行程中录音。收藏信息表主要用于对驾驶员收藏的专辑、歌曲存储,信息收藏等方面;歌曲名在该表中为主键,与驾驶员收藏的名称呼应,对收藏的其他信息进行周祥登记。媒体元数据表中留存媒体信息的备份,涵盖类型、专辑、常见的标题、流派、时长、创建时间、歌手等信息。歌曲信息的内容主要包含了歌曲名称,歌词,歌手等信息。媒体文件的元数据内容在媒体元数据表中留存备份;其中,涵盖类型、专辑、常见的标题、流派、时长、创建时间、歌手等信息。音乐播放列表,即音响客户端内部会一直呈现的正在播放的音乐列表;在驾驶员对一首歌曲选择时,服务器请求会自动把该歌曲之上的10首歌曲添加到播放列表表中。而至于服务信息表,播放在客户端中的音乐歌曲并不是出自同一服务,蜻蜓FM、百度音乐等软件均为默认服务;倘若驾驶员想要把网易云音乐、QQ音乐等服务添设进去,则需要以手机客户端为辅助;最终,服务信息表会对操作结果自动保存,每个服务都具有一个独一无二的代码标识;在驾驶员把服务删除后,服务表中对应的该服务也会自动消失。还有闹钟信息表,就是音响客户端自带的闹钟功能;对于闹钟设置,驾驶员可以对其重复时间、重复模式和音量等内容自主定义;一般来说,在驾驶员没有特意设置的情况下,软件中内置的音频文件会被闹钟定为默认音乐;驾驶员设置则可以自主选择服务器下载列备中的心仪音乐。1.6语音交互任务控制逻辑的设计倘若其他音频介入语音播报或语音识别工作中,则会对其造成影响。就语音交互方式,本文提出了音频任务控制模块。在音频任务控制模块的辅助下,车载语音交互系统能够对音频任务实时监控。在音频任务出现波动时,车载语音交互系统会在第一时间得知。在有新的音频任务发出申请时,控制模块会自动对音频任务的优先级进行识别。以此为依据,决定对其申请是否受理,例如,对录音机、收音机手动播放;通过对语音交互键按下来唤醒语音交互服务[36]。在语音交互系统中,新旧音频任务的交替规则如表1所示。只要车载智能设备设有语音交互功能,那么其音频在输出或输入功能上可以分为如下任务:表1新旧音频任务的交替规则新旧任务Phone(新)Command(新)Navi(新)Media(新)Phone(旧)新Phone不响应不响应语音交互服务不响应Navi语音播报Media延后执行Command(旧)取消当前语音交互,执行Phone功能取消当前语音交互服务不响应Nav语音播报Media延后执行Navi(旧)中止Nav语音播报中止Navi语音播报Navi播报新语音提示Media静音播放,Nai继续播报表1(续表)新旧音频任务的交替规则新旧任务Phone(新)Command(新)Navi(新)Media(新)Media(旧)Media延后执行Media延后执行Media静音播放,Navi开始播报执行新的Media任务Phone,车载设备中必备SIM卡中基础的通话功能的电话应用或者与车载设备所连接的蓝牙电话,以其音频接口为媒介,电话应用完成输出和输入操作,电话享受最高优先级。Command,语音交互服务,也就是语音播报提示,语音交互开启。同时,识别输入进去的语音,把输入结果通过语音的形式反馈给驾驶员。Navi,即导航软件在工作过程中,出现的语音输出功能。就像语音播报路况就是一个代表。Media,在Media应用中设置的语音播报或者多媒体音频输出,其中有收音机、播放音乐、语音播报下一曲歌曲等内容。在分类上,以音频任务的迫切程度和所占比重为依据,对其优先级顺序设定,依次排列为最后活跃的Media任务、Navi播报、Command和投入工作的Phone。1.7系统开发相关技术选型1.7.1Android平台在Android中,SQLite数据库引擎以嵌入式形式存在,它最大的表征就是结构化。这一引擎是专门用于存储数据的。SQLite数据库引擎有内核、SQL编译器、附件、后端等构件[37-38]。SQL编译器由语法分析器、代码产生器和词法分析器等组件整合而成。SQL编译器的作用是处理不同形式文本中结构化特点显著的查询语句。B-tree组件的作用是排序处理,对数据库之间存在的复杂关系进行维护管理,经过B-tree组件处理的页面会呈现出树状结构。Pager组件的作用是进行传输,按照B-tree组件提出的相关请求,在磁盘直接读取页面,或将页面写入磁盘。内核的组成部分包括VirtualMachine、SQLCommandProcessor以及Interface,其中SQLCompiler和SQLCommandProcessor需要共同解析SQL语句。附件由两部分组成,一部分是Utilities,另一部分是TestCode,公共服务中提供了字符串、Unicode转换、内存分配等比较不同的实用性功能[39]。Android中使用SQLiteDatabase来表示数据库对象,SQLiteDatabase内容如表2所示。表2SQLite常用方法方法内容方法名称打开或者创建数据库openOrCreateDatabase添加一条记录insert删除一条记录delete查询记录query修改记录update执行一条execSQLSQL语句closeSQLiteOpenHelper是用于辅助整个数据库的类,其中方法如表3所示。表3SQLiteOpenHelper常用方法方法内容方法名称构造方法,一般是传递一个要创建的数据库名称name参数SQLiteOpenHelper(Contextcontext,Stringname,SQLiteDatabase.CursorFactoryfactory,intversion)创建数据库时调用onCreate版本更新时调用onUpgrade建立只读数据库getReadableDatabase()建立读写数据库getWritableDatabase()关于Handler,图17展现的为Android消息处理机制原理。在Android系统正常运作时,会单独打造一个Looper对象给MainThread。同时,会连带一个与之相契合的MessageQueue。MainThread可独立完成一个或一个以上的WorkerThread创建。只要WorkerThread准备对UI更新,就可以以MainThread为媒介向
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电站高压试验操作工规程
- 2025-2026学年湖南省怀化市初中生物七年级期末下册高分预测素养提升题(附答案)
- PCN制程变更通知专项考试题(含详细答案)
- 事故善后及家属安抚工作方案
- 内蒙古鄂尔多斯市达拉特旗第十二中学2027届数学八年级第一学期期末统考模拟试题含解析
- 2025-2026学年湖北省恩施市初中历史八年级期末上册自测黑金考题(附答案)
- OT运维技术考核试题(含详细答案)
- OpenStack 高频面试题及详细答案(实战版)
- 危化油墨清洗剂管理员规程
- 空分装置加温解冻操作工规程
- 管片运输安全培训教育课件
- 交通事故案件追加被告申请书
- 大数据技术毕业论文
- 脑梗死2025诊疗指南
- 中免集团面试题目及答案
- 化工液氨充装质量保证手册
- 教育部《2025年“校园餐”专项整治》专题培训
- 上课课件-《食品物流学》(和东芹)
- 《椭圆的几何性质》第1课时名师课件
- JBT 6434-2024 输油齿轮泵(正式版)
- 金工实训-车工
评论
0/150
提交评论