孫全寶
摘 要:目前我國(guó)市場(chǎng)上的智能家居產(chǎn)品已經(jīng)越來(lái)越多,各種產(chǎn)品樣式層出不窮,但卻沒(méi)有一套完整的具有劃時(shí)代意義的智能家居產(chǎn)品。針對(duì)這一現(xiàn)象,設(shè)計(jì)一款基于語(yǔ)音識(shí)別的智能家居系統(tǒng)。該系統(tǒng)的語(yǔ)音識(shí)別采用百度AI開(kāi)放平臺(tái)的語(yǔ)音識(shí)別技術(shù),系統(tǒng)的管理后臺(tái)采用Java語(yǔ)言進(jìn)行開(kāi)發(fā)。測(cè)試結(jié)果表明,所設(shè)計(jì)系統(tǒng)功能符合預(yù)期,能夠通過(guò)APP、Web頁(yè)面和微信小程序方便地進(jìn)行語(yǔ)音識(shí)別并對(duì)家庭設(shè)備進(jìn)行語(yǔ)音控制。
關(guān)鍵詞:智能家居;語(yǔ)音識(shí)別;系統(tǒng)設(shè)計(jì);Java;微信小程序;語(yǔ)音控制
中圖分類號(hào):TP391.42文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-1302(2020)07-0-02
0 引 言
隨著現(xiàn)代科學(xué)技術(shù)的不斷發(fā)展,生產(chǎn)力的不斷提升,人們?cè)絹?lái)越注重生活品質(zhì),由此智能家居產(chǎn)品逐漸走入大眾的視線。例如,在家居產(chǎn)品中掃地機(jī)器人可以幫助人們清潔家中的衛(wèi)生,不僅方便快捷,還能節(jié)約人們的寶貴時(shí)間。智能家居的發(fā)展越來(lái)越依賴于人機(jī)交互,從而使用語(yǔ)音識(shí)別操控家居產(chǎn)品的技術(shù)必定會(huì)成為研究的熱點(diǎn)[1-5]。
本文采用百度AI開(kāi)放平臺(tái)的語(yǔ)音識(shí)別技術(shù),設(shè)計(jì)一套基于語(yǔ)音識(shí)別的智能家居系統(tǒng)。此系統(tǒng)的管理后臺(tái)采用當(dāng)前流行的Java語(yǔ)言開(kāi)發(fā),用戶可以通過(guò)手機(jī)APP、PC端的Web頁(yè)面或者微信小程序?qū)崿F(xiàn)對(duì)家居產(chǎn)品中燈、空調(diào)、電視機(jī)、窗簾、監(jiān)控等的語(yǔ)音化控制。
1 系統(tǒng)總體框架
本智能家居系統(tǒng)共包括各種家庭設(shè)備、主控裝置(家庭網(wǎng)關(guān))、系統(tǒng)管理后臺(tái)、百度AI語(yǔ)音識(shí)別模塊和用戶交互界面等五部分。其系統(tǒng)總體架構(gòu)如圖1所示。
系統(tǒng)租用騰訊云作為Web服務(wù)器,把系統(tǒng)管理后臺(tái)放在騰訊的云端,保證系統(tǒng)的安全性和穩(wěn)定性。為了用戶與系統(tǒng)能更好的交互,本系統(tǒng)開(kāi)發(fā)三種不同的前端,即用戶可以通過(guò)在手機(jī)上安裝定制的APP與系統(tǒng)進(jìn)行交互,也可以在PC端進(jìn)入Web頁(yè)面與系統(tǒng)進(jìn)行交互,還可以在微信上登錄定制的小程序與系統(tǒng)進(jìn)行交互。這三種方式都能對(duì)家庭設(shè)備進(jìn)行控制,也能夠查看家庭設(shè)備的狀態(tài)。家庭設(shè)備主要包括電飯煲、空調(diào)、電視、窗簾等家用電器。系統(tǒng)后臺(tái)通過(guò)百度AI開(kāi)放平臺(tái)的語(yǔ)音識(shí)別技術(shù)實(shí)現(xiàn)語(yǔ)音識(shí)別。
2 語(yǔ)音識(shí)別與軟件模塊設(shè)計(jì)
2.1 語(yǔ)音識(shí)別模塊設(shè)計(jì)
本智能家居系統(tǒng)的語(yǔ)音識(shí)別采用百度AI開(kāi)放平臺(tái)上的語(yǔ)音識(shí)別技術(shù),然后根據(jù)百度開(kāi)放平臺(tái)所生成的文字來(lái)最終實(shí)現(xiàn)智能家居系統(tǒng)的語(yǔ)音識(shí)別。語(yǔ)音識(shí)別過(guò)程必須先通過(guò)性能優(yōu)良的語(yǔ)音采集設(shè)備采集語(yǔ)音信號(hào),主控裝置通過(guò)WiFi網(wǎng)絡(luò)或移動(dòng)網(wǎng)絡(luò)將語(yǔ)音數(shù)據(jù)傳輸?shù)椒?wù)器,服務(wù)器再將語(yǔ)音數(shù)據(jù)傳給百度開(kāi)放平臺(tái)的語(yǔ)音識(shí)別API,語(yǔ)音識(shí)別API經(jīng)過(guò)其內(nèi)部一系列的處理返回文字?jǐn)?shù)據(jù),服務(wù)器再對(duì)文字?jǐn)?shù)據(jù)進(jìn)行相應(yīng)的處理,之后服務(wù)器傳輸指令到智能家居的主控裝置,主控裝置再操控各種家庭設(shè)備。服務(wù)器處理文字?jǐn)?shù)據(jù)處理流程如圖2所示。
服務(wù)器處理文字?jǐn)?shù)據(jù)的過(guò)程如下:
(1)通過(guò)百度語(yǔ)音識(shí)別后傳過(guò)來(lái)的文字,先去掉根本不可能出現(xiàn)的字、亂碼,以及操控智能家居產(chǎn)品中根本不可能出現(xiàn)的偏僻字,最后將剩余的文字使用全文搜索solr技術(shù)進(jìn)行分詞。本系統(tǒng)在其solr技術(shù)的基礎(chǔ)上加入具有中國(guó)特色的中文分詞器,還根據(jù)solr的可拓展性,加入一些自己定義的有關(guān)智能家居產(chǎn)品的詞語(yǔ),以擴(kuò)展solr全文分詞器對(duì)智能家居產(chǎn)品的分詞能力。最后達(dá)到提高智能語(yǔ)音識(shí)別成功率的目的。
(2)對(duì)比步驟(1)中solr技術(shù)所分成的詞語(yǔ)與數(shù)據(jù)庫(kù)中所設(shè)置好的開(kāi)始問(wèn)候語(yǔ)(喚醒智能家居設(shè)備的關(guān)鍵字),判斷當(dāng)前識(shí)別的詞語(yǔ)中是否存在已經(jīng)設(shè)置好的開(kāi)始問(wèn)候語(yǔ),如果比對(duì)成功則進(jìn)入下一階段,否則將這段文字拋棄,不做任何指令操作。使用者可以自定義開(kāi)始問(wèn)候語(yǔ),這樣可以提高本系統(tǒng)喚醒的可拓展性。
(3)把問(wèn)候語(yǔ)之后的詞語(yǔ)與數(shù)據(jù)庫(kù)指令詞語(yǔ)先進(jìn)行精確對(duì)比,如果可以精確匹配,即詞語(yǔ)與指令詞語(yǔ)對(duì)比一模一樣,則發(fā)送指令操控家居設(shè)備,進(jìn)入步驟(4)操作。如果精確對(duì)比沒(méi)有所包含的指令詞語(yǔ),再進(jìn)行模糊對(duì)比,從中選擇出相對(duì)率最為合適的指令,即進(jìn)行第二次判斷,通過(guò)前端界面詢問(wèn)使用者是否進(jìn)行該條相對(duì)率最高的指令。如果使用者回復(fù)為“是”(即在交互界面點(diǎn)擊“確定”按鈕),則進(jìn)行對(duì)應(yīng)的指令操控,即進(jìn)入步驟(4)操作;如果使用者回復(fù)為“不是”(即在交互界面點(diǎn)擊“否”按鈕),則不進(jìn)行任何指令操控。
(4)指令執(zhí)行階段,通過(guò)步驟(3)一系列的指令判斷后,就實(shí)現(xiàn)了使用語(yǔ)音識(shí)別對(duì)智能家居產(chǎn)品的操控。
2.2 軟件模塊設(shè)計(jì)
2.2.1 采用技術(shù)
本系統(tǒng)開(kāi)發(fā)了三種類型的前端用戶交互界面:手機(jī)APP、PC端的Web頁(yè)面和微信小程序。手機(jī)APP采用Android技術(shù)進(jìn)行開(kāi)發(fā),能夠自適應(yīng)各種品牌和型號(hào)的手機(jī);PC端的Web頁(yè)面采用H5技術(shù),并使用Bootstrap框架完成;微信小程序的前端開(kāi)發(fā)采用H5技術(shù)、CSS和JavaScript技術(shù)進(jìn)行開(kāi)發(fā)。
系統(tǒng)的管理后臺(tái)采用SpringBoot進(jìn)行開(kāi)發(fā),SpringBoot是用當(dāng)前最流行的輕量級(jí)Java框架,不僅大大簡(jiǎn)化了工程配置文件的數(shù)量和繁瑣的過(guò)程,而且還解決了框架集成過(guò)程中出現(xiàn)的依賴包版本沖突問(wèn)題。
2.2.2 系統(tǒng)后臺(tái)功能設(shè)計(jì)
系統(tǒng)的后臺(tái)包括用戶管理和設(shè)備管理兩大功能模塊,并對(duì)這兩個(gè)功能模塊分別進(jìn)行設(shè)計(jì)。
用戶管理模塊主要包括對(duì)家庭用戶信息的一些基本操作,包括用戶信息的增加、刪除、修改和查詢等操作;而系統(tǒng)的后臺(tái)主要是對(duì)家庭設(shè)備的管理,包括家庭設(shè)備的狀態(tài)查詢、電量顯示、定時(shí)設(shè)置,以及對(duì)家庭設(shè)備信息的增加、刪除、修改、查詢等操作。系統(tǒng)的后臺(tái)功能結(jié)構(gòu)如圖3所示。
2.2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
本系統(tǒng)主要服務(wù)于一個(gè)家庭,要存儲(chǔ)的家庭設(shè)備類型和數(shù)據(jù)量都比較小,所以選擇MySQL作為后臺(tái)數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù)。數(shù)據(jù)庫(kù)中設(shè)計(jì)三個(gè)數(shù)據(jù)表來(lái)存儲(chǔ)相關(guān)數(shù)據(jù),即:用戶信息表存儲(chǔ)家庭用戶的信息;設(shè)備信息表存儲(chǔ)家庭設(shè)備的信息;語(yǔ)音指令表用來(lái)存儲(chǔ)用戶語(yǔ)音指令信息。其中用戶信息見(jiàn)表1所列。
3 系統(tǒng)測(cè)試
本文使用兩個(gè)家庭用戶賬號(hào)對(duì)系統(tǒng)進(jìn)行測(cè)試,分別測(cè)試客廳空調(diào)、客廳燈和電飯煲等三個(gè)家庭設(shè)備的開(kāi)關(guān)操作,均能成功打開(kāi)和關(guān)閉。測(cè)試結(jié)果見(jiàn)表2所列。
4 結(jié) 語(yǔ)
本文借助百度AI開(kāi)放平臺(tái)的語(yǔ)音識(shí)別技術(shù)開(kāi)發(fā)了一款智能家居系統(tǒng),用戶可以通過(guò)手機(jī)APP,PC端Web頁(yè)面和微信小程序等三種方式對(duì)家庭設(shè)備進(jìn)行語(yǔ)音控制。系統(tǒng)的管理后臺(tái)采用當(dāng)前流行的Java框架SpringBoot進(jìn)行開(kāi)發(fā),簡(jiǎn)化了開(kāi)發(fā)流程和效率。經(jīng)測(cè)試,本系統(tǒng)能夠?qū)β?lián)網(wǎng)的家庭設(shè)備進(jìn)行語(yǔ)音控制,達(dá)到了預(yù)期效果。
參考文獻(xiàn)
[1]周寶昌,謝智陽(yáng),梁景亮.基于Arduino的智能家居語(yǔ)音識(shí)別系統(tǒng)[J].數(shù)字技術(shù)與應(yīng)用,2019,37(9):37-38.
[2]張珣,李道磊.基于語(yǔ)音識(shí)別技術(shù)的智能家居網(wǎng)關(guān)系統(tǒng)設(shè)計(jì)[J].軟件導(dǎo)刊,2019,18(5):49-52.
[3]胡冬琴,王琳娜.智能語(yǔ)音識(shí)別系統(tǒng)在智能家居中的應(yīng)用[J].科技資訊,2018,16(36):40.
[4]徐海.基于語(yǔ)音識(shí)別的智能家居方案設(shè)計(jì)研究[D].杭州:浙江理工大學(xué),2019.
[5]肖愛(ài)民.基于語(yǔ)音識(shí)別技術(shù)的智能家居控制系統(tǒng)的設(shè)計(jì)[D].南昌:南昌大學(xué),2018.
[6]朱耘葶.一種語(yǔ)音識(shí)別的智能學(xué)習(xí)助手系統(tǒng)設(shè)計(jì)[J].電子測(cè)試,2019(16):22-26.
[7]田海靜,桑振群,劉洋.語(yǔ)音識(shí)別技術(shù)在軍用話務(wù)臺(tái)中的模擬應(yīng)用[J].中國(guó)新通信,2019(13):120.
[8]彭染姝,宋婕.基于Android的樣地每木檢尺結(jié)構(gòu)化數(shù)據(jù)語(yǔ)音輸入App的設(shè)計(jì)與實(shí)現(xiàn)[J].信息系統(tǒng)工程,2019(7):20-23.
[9]米婧.英語(yǔ)語(yǔ)音優(yōu)化識(shí)別建模仿真分析[J].信息技術(shù),2019(6):91-95.
[10]宋文林,劉斌.智能語(yǔ)音識(shí)別系統(tǒng)噪聲魯棒性研究[J].信息技術(shù)與標(biāo)準(zhǔn)化,2019(6):40-42.