智能家居语音识别通用语音AI云平台的设计与实现

  • 来源:物联网技术
  • 关键字:智能家居,语音识别,AI云平台
  • 发布时间:2019-04-01 21:47

  随着科学技术的快速发展,语音识别技术已经出现在家电、汽车电子、移动通信等领域。国外亚马逊、Google、苹果等大型公司的语音识别技术已经发展成熟且相应的产品也不断涌现,如亚马逊的Echo,Google的Google Xbox,苹果的Siri。国内语音识别技术也取得了较大突破,如科大讯飞、百度、阿里等公司已搭建了自己的语音识别引擎,開发者可通过调用API获取相应的服务。然而,各平台彼此各有优缺点,没有统一的接口标准,各自相对独立,使得智能家居的语音接入在平台选择上相对被动。中国第三届国际物联网大会的召开[1],把“数据挖掘”引入了智能家居,利用挖掘算法对用户行为进行分析,发现用户的生活习惯,给用户提供更加智能化的家居体验。

  本文结合云计算技术设计能够连接百度、讯飞等各大语音识别引擎的云中间件系统,以及能够让用户与家居设备更好地互动的AI云平台,从而达到方便用户进行家居控制,提升智能家居用户体验的目的。

  1 需求分析

  1.1 云平台语音数据的获取

  本地可通过麦克风、手机、平板等设备获取语音,通过智能网关将处理后的语音上传到云平台。

  1.2 语音数据的转发

  语音数据的转发通过中间件实现,中间件平台将接收到的语音信息转发至平台外部语音识别引擎进行语音识别。

  1.3 语音数据的存储

  中间件平台接收经过语音引擎识别后的语音信息,并将信息存储到AI云平台。

  1.4 用户相关信息处理

  用户相关信息处理包括用户注册、登录、注销、订阅设备、控制设备、家庭留言板等。注册阶段用户需准确填写信息,方便后期大数据的挖掘处理。

  1.5 用户行为分析

  根据平台存储的大量语音控制信息进行数据挖掘工作,分析出用户的生活习惯,得出用户习惯表,依此结果制定智能家居控制策略,提升用户的智能体验。例如,用户发出“打开电视”的语音消息时,电视能够呈现给用户比较感兴趣的频道或电视节目。

  1.6 下达控制指令

  云平台将接收到的语音信息经过处理与分析后找出控制指令,并将指令传至智能网关下达到设备,从而实现对设备的控制。

  2 云平台的设计

  2.1 云平台总体架构设计

  智能家居语音识别通用语音AI云平台的设计主要是对语音处理模块进行设计,语音处理模块包括语音录入开发接口、语音识别快速开发接口及语音识别应用开发接口。

  语音录入开发接口:硬件设备(如麦克风)在本地获取原始语音数据,经过去噪、A/D转换后由网关上传至云平台,平台通过语音录入接口获取语音数据。

  语音识别快速开发接口:云平台获取到语音数据进行语音识别,即进行语音格式转换。该部分功能通过调用本文设计的中间件平台实现。

  语音识别应用开发接口:云平台接收识别后的语音指令,该接口实现大量指令数据的存储与分析,通过分析从中发现用户的生活习惯。该部分功能利用目前比较热门的Hadoop技术,结合二分K-means聚类分析算法与Apriori关联分析算法实现。

  云平台整体架构如图1所示。

  2.2 数据分析

  为了使用户有更智能的家居体验,有必要对海量用户行为信息进行数据挖掘,发现用户的行为习惯,从而使家居控制系统根据用户习惯制定家居控制策略。

  2.2.1 云计算架构Hadoop

  Hadoop是一个分布式计算框架,利用服务器集群,根据用户自定义业务逻辑,对海量数据进行分布式处理。Hadoop框架透明地为应用提供可靠性和数据移动,具有效率高、可移植性高、扩容能力强等优点。Hadoop框架包含多个子项目,但主要由Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)和映射/规约引擎(Map/Reduce Engine)两个主要子项目构成。本文采用HDFS存储大量用户行为信息,在Map和Reduce函数中实现算法,输出分析结果。

  2.2.2 分析算法

  (1)Apriori关联分析算法

  本文采用著名的Apriori关联分析算法对智能家居中的用户行为活动进行分析,挖掘出大量语音控制指令之间的相关性,并把这些相关性较高的指令整理成某种模式存入AI云平台,当生活中出现相同情景时,系统自动做出相应反应配合用户,从而达到减少用户行为、节约环保等目的。

  Apriori关联规则是形如X->Y的蕴涵表达式,其中X和Y是不相交的项集,即X∩Y=。关联规则强度可用支持度(s)和置信度(c)衡量,支持度确定规则可用于给定数据集的频繁程度,置信度确定Y在包含X的交易中出现的频繁程度,支持度和置信度的定义如下:

  式中:N为数据集;σ(x)表示数据N中包含项x的事物数目。

  算法过程如下[2]:

  ①根据实际需求确定最小支持度;

  ②从指令数据库中整理出候选1-项集并记作C1,从候选1-项集中找出满足最小支持度的项,组成频繁1-项集,记作L1;

  ③同步骤①使用频繁1-项集生成候选2-项集,在候选2-项集中找出满足最小支持度的项,组成频繁2-项集,依次计算;

  ④当从候选(n+1)-项集中找不到满足条件的频繁(n+1)-项集时,算法终止。

  (2)聚类分析

  将类别不确定的数据划分到不同类的过程称为聚类。在智能家居AI云平台中可通过聚类分析,试图找出用户生活中某些特点鲜明的习惯,由此制定出更符合用户需求的家居控制策略。本文为了发现用户某些行为的类别,在原始的K-Means算法上进行优化,采用二分K-Means(bisecting K-means)算法对语音数据进行处理,实现对用户行为的准确划分。

  二分K-Means算法是基于距离的非层次聚类算法,在最小误差函数的基础上,将数据划分为预定的类数k,采用距离作为相似性评价标准,即认为两个对象的距离越近,其相似度越大。样本间的相似性采用欧几里得距离衡量:

  使用误差平方和(Sum of the Squared Error,SSE)作为聚类的目标函数,两次运行K均值产生两个不同的簇集,使用时选择SSE最小的一个。

  二分K-Means算法的具体步驟如下:

  ①将所有数据看成一个簇,并将样本数据划分为K类;

  ②当簇数小于K时,对每个簇计算总误差;

  ③在给定的簇上进行K-Means聚类,K值为2;

  ④计算将该簇划分成两个簇后的总误差和未参与划分的簇的总误差,选择总误差最小的一个簇进行划分;

  ⑤当质心数小于K时,转到步骤②,否则,得到聚类结果。

  3 AI云中间件的设计

  为了实现用户自主选择语音识别引擎,提高语音识别准确率,本文设计基于SOA的AI云中间件[3],将百度、Google、讯飞等云平台进行桥接,提供平台自主选择服务,具有较高的灵活性和实用性。该中间件可根据需求提供基于点对点以及基于发布-订阅模式的消息订阅,同时具备灵活的消息过滤功能与业务规则定制功能,并具有对业务子系统收发消息状态的监控功能。该中间件还运用分布式缓存技术,当某个应用程序发生异常,如断电、硬件故障停机时,中间件先把发送的消息缓存起来,当被调用的应用程序正常时,再交给应用程序处理。

  综合以上分析,本文设计的中间件具有以下功能:

  (1)注册服务

  系统管理员把服务信息暴露给中间件,向中间件系统请求注册服务。中间件获取服务的相关信息后,向消费者提供服务代理。

  (2)配置消息转发

  系统管理员给中间件系统配置消息转发条件,当中间件系统的服务代理接收到请求消息后,能够根据不同的请求选择合适的语音处理平台。

  (3)分布式缓存

  本文中间件运用分布式缓存技术进行设计,当分布式缓存中存储语音数据的某个节点发生故障时,不会影响其他节点的数据存储,从而实现中间件数据持久化功能。

  (4)查看服务运行情况

  本文设计的AI云中间件提供请求监控服务,管理员可查看不同语音识别引擎内语音识别的运行情况,如请求总数、错误请求总数、上一次发送请求的时间等信息。

  中间件总体框架如图2所示。

  表现层:界面子程序负责展示中间件系统提供的服务,如注册、登录、删除用户等,实现用户与平台之间的交互。

  业务层:服务管理引擎负责中间件系统启动、初始化等与运行相关的功能;消息处理模块负责接收语音、语音转发、发送处理后的语音数据至AI云平台;服务监控模块负责对服务消息进行审查以及记录与服务相关的性能数据;系统配置模块负责与中间件系统配置相关的功能,确保平台正常运行。

  持久层:数据持久化负责语音指令的存储,将处理后的语音信息储存到数据库,保证信息的完整性。

  持久层采用分布式缓存技术,基于ActiveMQ和Redis的实现模型[4]如图3所示。

  Redis是一个高性能的key-value数据库,Redis缓存具有以下特点:

  (1)Redis是非关系型数据库,无需建表即可直接存储数据,可将数据定期保存到磁盘,实现数据的持久化;

  (2)Redis不仅可以存储key-value类型的数据,还支持字符串、数组、集合等数据结构的存储,数据存储结构灵活;

  (3)Redis支持数据的备份是高可用的,可做到一主多从,主从之间进行数据同步。当Master宕机后,通过选举算法(Paxos,Raft)从Slave中选举出新Master继续对外提供服务,主机恢复后以Slave的身份重新加入。

  根据以上分析,本文设计的中间件系统采用Redis技术,不仅实现了数据缓存,还能定期将缓存中的数据保存到磁盘实现数据的持久化,从而简化了中间件内部系统的逻辑结构设计。

  4 结 语

  本文结合云计算、大数据技术设计了一个智能家居语音识别通用语音AI云平台和分布式云中间件,给出了云平台和中间件的总体框架设计及业务功能分析,结合Hadoop技术和两种数据挖掘算法,为云平台的实现提供了可行性依据。

  参 考 文 献

  [1]刘靖.基于物联网技术的智能家居信息处理与控制系统研究[D].北京:华北电力大学, 2014.

  [2] PANG N T, MICHEALE S,VIPIN K.数据挖掘导论[M].范明,译. 北京:人民邮电出版社,2011.

  [3]李彬玉.面向 SOA 的 Web 服务管理中间件的研究与实现[D]. 北京:北方工业大学,2007.

  [4]李文逍,杨小虎.基于分布式缓存的消息中间件存储模型[J].计算机工程,2010,36(13):93-95.

  [5]朱广萍,黄晞.面向智慧园区的物联网中间件的整体架构[J].计算机技术与发展,2017(2):171-173.

  [6]周智.Redis分布式缓存实现与解析[J].信息通信,2018(6):24-25.

  [7]张为方,张伦宁,尹子悦.物联网技术在智能家居控制系统中的应用[J].物联网技术,2015,5(8):52-53,56.

  [8]付蔚,杨鑫宇,李威.面向智能家居消息中间件的设计与实现[J].科技创新与应用,2018(17):39-40.

  牛可

……
关注读览天下微信, 100万篇深度好文, 等你来看……
阅读完整内容请先登录:
帐户:
密码: