张珣 李道磊
摘 要:针对目前市场上语音控制家居产品的语音识别必须在服务端进行,在缺乏互联网情况下则无法使用,以及智能家居设备采用有线组网方式导致升级维护成本高的问题,设计一款采用WiFi、蓝牙等无线混合组网技术搭建的异构家庭网关,可以动态添加设备,组网灵活方便且成本低,即使在断网情况下,网关也可自动切换到本地语音识别。为此,使用基于上下文相关的GMM-HMM算法训练声学模型与语言模型搭建语音识别引擎,采用BP神经网络学习算法实现语音智能控制。测试结果表明,系统功能基本符合预期,在断网情况下系统仍可以进行语音识别并对家庭设备进行语音控制。
关键词:智能家居;语音识别;异构网关;智能学习
DOI:10. 11907/rjdk. 182433
中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2019)005-0049-04
Abstract:For the voice recognition of the voice control home products on the market,the voice recognition must be identified on the server side,and it cannot be used in the absence of the Internet. The smart home equipment adopts the wired networking method,which leads to the problem of high upgrade and maintenance cost. The heterogeneous home gateway built by the bluetooth wireless hybrid networking technology can dynamically add devices. The networking is flexible and convenient,and the cost is low. Even in the case of network disconnection,the gateway can automatically switch to local voice recognition.To this end,the context-based GMM-HMM algorithm is used to train the acoustic model and the language model to build the speech recognition engine,and the BP neural network learning algorithm is used to implement the speech intelligent control. The test results show that the system function is basically in line with expectations,and the system can still perform voice recognition and voice control of the home device in the case of network disconnection.
Key Words: smart home; speech recognition; heterogeneous gateway; intelligent learning
0 引言
語言作为人类信息交流中最重要与便捷的方式,让人与机器交流就像人与人交流一样方便,一直是学者们研究的重点课题。随着现代科技的发展与人民生活水平的提高,人们对家庭住宅的需求也发生了较大改变。随着人工智能算法的逐渐成熟,采用语音控制的智能家居势必会成为一个新的研究热点。
基于在线语音识别技术[1]的亚马逊智能音箱以及国内的小米、百度智能音响等均是基于智能家居设备语音交互技术实现的,但其语音识别引擎均位于云端及服务器端,在断网情况下则无法使用。本文使用语音识别技术、异构网络通信技术[2]与Web网络控制技术,搭建一个具有语音识别功能的智能家居网关系统。系统由语音识别控制中央器、智能设备及Web客户端组成,家庭人员可通过手机Web端对家庭智能设备进行远程控制[3-4],同时采用最新语音识别算法GMM-HMM训练声学模型与语言模型搭建离线语音识别引擎,使系统即使在断网情况下依然能够进行语音识别,对家居设备发送控制指令。
1 智能家居系统总体框架
本系统主体由智能家居网关后台管理服务器Web平台、语音识别控制器、家庭设备、智能家庭异构网关[5]等部分组成。本文采用腾讯云服务器作为Web服务器端,使用手机或PC登录系统Web页面即可查看家庭设备状况,并发送指令控制设备;语音控制器除集成家庭网关功能外,还具有语音识别功能;家庭设备主要包括灯、窗帘、空调等电器设备。系统框架如图1所示,其中远声场语音采集与识别使用科大讯飞的AIUI 硬件模块[6],通过ZigBee、蓝牙mesh组网技术[7]组建家庭无线传感控制网络,实现控制中心与各家庭设备的连接。家庭网关控制中心通过串口将ZigBee网络与Internet网络联系起来,将家庭设备状态信息上传至服务器并在Web页面上展示。
2 智能家居语音主控硬件与软件模块设计
2.1 智能家居主控硬件模块设计
在系统硬件上,家庭网关主控硬件主要由AIUI语音识别模块[8]与异构网关通信模块[9]组成。AIUI语音识别模块对语音进行采集与预处理,最后将其识别成文字;异构通信模块主要负责对家庭内部的蓝牙、WiFi、ZigBee等设备进行组网,同时负责管理网关与外网通信。主要模块实物如图2所示。
2.1.1 AIUI语音模块
AIUI语音识别模块是由科大讯飞提供的软硬一体化语音识别模块,内部集成了语音采集与处理功能,并封装了语音交互的复杂功能,同时为开发者提供接口调用;内置ARM处理器、WiFi芯片等,可以选择Andriod、Linux、Window等适合的操作系统进行二次开发,对功能进行扩展[10]。
2.1.2 AIUI异构通信模块
通信模块主要集成了ZigBee、WiFi等无线模块,可以接收组网网络中的多种信号。异构通信模块内主要包含一个协议转换[11]模块,其主要功能是对终端硬件模块传输过来的包含不同通信协议的数据进行解析转换。根据终端设备遵循的通信协议,协议适配块负责与不同协议终端进行协议匹配验证;数据处理模块则根据不同公司的协议规范,分别对数据进行处理;统一协议模块用于统一数据,规范数據格式。协议转换模块如图3所示。
2.2 智能家居网关软件模块设计
网关软件设计主要是在AIUI模块提供的ARM芯片基础上进行编程开发,实现在有网络连接的情况下将语音数据通过AIUI模块直接上传到AIUI语音识别引擎上,返回识别后的文字;没有网络连接时则使用本地建立的语音识别模型,并返回语音识别后的文字;网关将识别后的文字与已建立的指令库文字进行匹配映射,最后将匹配的文字指令下发给相应终端设备。
2.2.1 在线语音识别处理
本文采用科大讯飞的AIUI语音模块,其支持听写识别与语义识别功能。听写识别和语义识别都属于在线识别,需要将语音数据上传到讯飞云端服务器。当语音识别成功后,服务器会返回一段包含语义分析结果的数据,只需调用其提供的接口并对输出数据进行解析即可。
2.2.2 离线语音识别处理
在无网络的情况下,需要构建一个能对输入语音数据进行本地化语音识别的模块,这也是本文研究的重点和难点。语音识别步骤主要包括语音信号预处理、特征提取、声学模型训练、语言模型训练与解码搜索5个基本单元[12]。语音识别步骤如图4所示。
(1)预处理。获取的语音信号不能直接用来进行语音识别,而首先需要对语音信号作一些预处理,包括将输入的模拟语音进行数字化,然后进行预加重、分帧、加窗、端点检测等处理,从而在一定程度上消除噪音。由于预处理效果将直接影响后续语音识别效果,所以本文引入一个新的预处理模型,即多噪声环境下的层级语音识别模型,其核心思想是将环境噪声也作为需识别的内容并传递到要识别的语音中,前端使用DNN进行特征映射以降低噪声,后端使用高斯混合—隐马尔可夫模型(GMM-HMM)作为声学模型[13]。
(2)特征提取。提取出能代表语音信号本质的特征参数,同时去除无关噪音信号,以及可能的信道失真等,最终得到可用于声学模型训练及语音识别的语音特征参数[14]。目前常用特征提取方法有LPCC、MFCC,本文采用梅尔频率倒谱系数(MFCC)[15]。
(3)识别算法选择。以上识别步骤中最关键的是声学模型与语言模型训练,在深度学习尚未得到广泛应用之前,语音识别系统普遍采用基于隐马尔可夫模型(HMM)的声学模型[16],以及基于N阶马尔科夫假设的N-gram语言模型[17],而目前最新应用的基于上下文相关GMM-HMM的声学模型与语言模型[8]相较于传统语音识别方法,性能有了很大提升,其主要克服了HMM算法随着词汇量增加,模型训练也越来越困难的缺点。GMM-HMM声学模型如图5所示。
3 Back Propagation 神经网络智能学习
使用Back Propagation(以下简称BP)[18]神经网络建立简化语音指令模型,使用户在输出很少语音命令的情况下即能智能学习匹配异构家庭网关对应的指令集。BP模型如图6所示。
3.1 BP神经网络模型
BP神经网络也称为多层前馈神经网络,其核心思想是对误差进行逆向传播训练,该算法是目前应用最广泛的神经网络算法。典型BP神经网络包含3层:输入层、隐含层与输出层。
BP神经网络训练过程由输入层信息正向传播与误差反向传播组成。输入数据经输入层、隐含层与输出层计算后得到实际结果;当实际结果与期望输出误差超过阈值时,则向隐含层和输入层进行反向传播,按误差梯度下降方式修正每一层权值;不断进行正向传播与误差反向传播,并动态修改各层权值,直到最后输出结果与期望输出误差小于阈值[19]。
3.2 算法原理
3.2.1 正反向传播网络
4 评估结果
基于系统初始化内置的网关协议指令集与基于异构协议网关收集的数据,本文使用BP神经网络算法训练模型结果集,输入层包含语音指令时间、家庭成员声纹编号、麦克风阵列编号、语音指令等,期望输出包括家庭电器编号、操作编号等,通过神经网络训练学习自动确定各连接权值与激活阈值,使期望输出不断接近想要的结果,即实现人在厨房及客厅等场景下只要说出开灯指令,即可实现打开灯的效果,而不用说出完整指令。模型训练后的结果如表1所示。
5 结语
本文搭建一个具有语音识别功能的智能家居网关系统,从实验结果可以看出,指令在经过BP神经网络学习之后,在家庭不同位置,只需说出简单的语音指令如打开灯,网关仍能将该语音指令匹配到已建立好的指令集,实现对相应设备的识别控制。然而,当前模型训练仍较为简单,随着语音识别技术的进一步发展,以及云计算、人工智能技术的普及与使用成本的降低,可以使用云计算结合深度学习算法,从海量用户生活数据中学习用户生活习惯,以实现在近似的时间及位置上,用户只需说出网关系统的语音唤醒词,便能输出在该时间段及位置上用户已发出语音指令记录中次数最多的指令,或对用户需要操作的指令进行智能提醒等,从而大大降低用户的指令发出频次,实现智能交互家居生活。
参考文献:
[1] CUILING L. English speech recognition method based on hidden Markov model[C]. International Conference on Smart Grid & Electrical Automation. IEEE, 2016.
[2] 王浩. 多通道智能网关设计与实现[D]. 北京:北方工业大学, 2017.
[3] 贾玉辉. 面向语音交互的云计算系统的研究[D]. 青岛:中国海洋大学, 2013.
[4] 王海坤,潘嘉,刘聪. 语音识别技术的研究进展与展望[J]. 电信科学, 2018(2): 1-11.
[5] 张如龙. 智能家居中异构网关的设计与应用[D].杭州:杭州电子科技大学, 2015.
[6] 章继刚.科大讯飞AIUI3.0人机交互体验[J]. 网络安全和信息化,2018(6): 17.
[7] 杨望卓. 基于蓝牙Mesh智能设备控制技术研究[D]. 宁波:宁波大学, 2017.
[8] 程风. 基于语音交互技术的智能家居主控设计[D]. 合肥:中国科学技术大学, 2018.
[9] 谭立志,周维龙,欧阳洪波. 一种智能家居异构网关的研究与实现[J]. 电子设计工程,2015(22): 114-116.
[10] 程风,翟超,吕志,等. 基于语音识别技术的智能家居主控设计[J]. 工业控制计算机,2018(5): 29-31.
[11] 王治灵. 基于FPGA的多协议转换系统的研究与设计[D].成都:电子科技大学, 2018.
[12] 滕云,贺春林,岳淼. 基于神经网络的语音识别研究[J]. 重庆师范大学学报:自然科学版, 2010(4): 73-76.
[13] 牛廷偉. 噪声环境下的语音识别关键技术研究[D]. 天津:天津理工大学, 2012.
[14] 袁翔. 基于HMM和DNN的语音识别算法研究与实现[D].赣州:江西理工大学, 2017.
[15] 曹辉,徐晨,赵晓,等. 说话人识别中的Mel特征频率倒谱系数[J]. 西北大学学报:自然科学版,2013(2): 203-208.
[16] 王为凯. 基于GMM-HMM的声学模型训练研究[D]. 广州:华南理工大学, 2016.
[17] 董广宇,吕学强,王涛,等. 基于N-gram语言模型的汉字识别后处理研究[J]. 微计算机信息,2009(10): 276-278.
[18] ROMERO E, MAZZANTI F, DELGADO J. A neighbourhood-based stopping criterion for contrastive divergence learning[J]. Computer Science, 2015.
[19] 墨蒙,赵龙章,龚嫒雯,等. 基于遗传算法优化的BP神经网络研究应用[J]. 现代电子技术,2018(9): 41-44.
[20] 吴建源. 基于BP神经网络的中文分词算法研究[J]. 佛山科学技术学院学报:自然科学版,2012(2): 33-37.
[21] 张珣,何东阳. 基于深度信念网络的个人健康评估模型[J].软件导刊,2018,17(10):44-47.
[22] FISCHER A. Training restricted Boltzmann machines[J].Künstliche Intelligenz, 2015, 29(4):441-444.
(责任编辑:黄 健)