張子卿,張 華
(1.南京航空航天大學(xué) 電子信息工程學(xué)院,江蘇 南京211106;2.南通大學(xué) 理學(xué)院,江蘇 南通226019)
智能家居的出現(xiàn)受到了消費(fèi)者的追捧,也成為了全球企業(yè)在技術(shù)研發(fā)方面的焦點(diǎn)。智能家居主要是以家庭住宅作為日常工作的基礎(chǔ)平臺(tái),根據(jù)家庭中不同用戶的生活習(xí)慣和具體需求,將生活中各個(gè)相關(guān)的家居終端智能地結(jié)合起來(lái)[1-2]。智能家居最大的便利之處就是能夠自我理解用戶的需求,智能化地服務(wù)用戶。但是目前的智能家居交互系統(tǒng)僅僅能夠流暢地支持單一的語(yǔ)言輸入形式的交互,例如單一的語(yǔ)音輸入或單一的行為語(yǔ)言輸入,當(dāng)語(yǔ)言輸入形式切換時(shí),容易出現(xiàn)卡頓或信息接收失敗無(wú)反應(yīng)的情況[3-4]。針對(duì)這種問(wèn)題,本文設(shè)計(jì)一種基于物聯(lián)網(wǎng)技術(shù)的智能家居語(yǔ)言輸入形式自主控制系統(tǒng),并應(yīng)用在智能家居的使用過(guò)程中,期待智能家居在控制過(guò)程中具有更好的性能。
經(jīng)過(guò)對(duì)智能家居近幾年來(lái)的功能預(yù)演等方面的調(diào)查,得出用戶對(duì)于常用的功能和成本這兩點(diǎn)關(guān)注較多。因此在設(shè)計(jì)本文系統(tǒng)時(shí),需要對(duì)語(yǔ)音指令與手勢(shì)行為指令之間進(jìn)行流暢切換。在設(shè)計(jì)系統(tǒng)的總體架構(gòu)時(shí),需要在邏輯層次的基礎(chǔ)上,建立語(yǔ)言輸入形式自動(dòng)控制系統(tǒng)的總體架構(gòu)。
系統(tǒng)的邏輯層次可以設(shè)置為:應(yīng)用控制層、通信層和感知層。應(yīng)用控制層主要包括PC機(jī)、瀏覽器以及手機(jī)移動(dòng)終端等,是整個(gè)系統(tǒng)的應(yīng)用控制核心,也屬于系統(tǒng)的前端界面;通信層的重要功能是數(shù)據(jù)交換,是應(yīng)用控制層和感知層之間的紐帶,通過(guò)RF433射頻、GPRS等分別與路由器、智能節(jié)電以及控制移動(dòng)終端進(jìn)行通信;感知層中存在很多攜帶特定傳感器的節(jié)點(diǎn),主要作用是完成居家環(huán)境的數(shù)據(jù)采集,幫助智能節(jié)點(diǎn)探測(cè)居家環(huán)境中是否有指令輸入的存在,并反饋給系統(tǒng)進(jìn)行處理[5-6]。
根據(jù)以上的層次架構(gòu),可以設(shè)計(jì)出系統(tǒng)的總體架構(gòu),如圖1所示。
圖1 系統(tǒng)總體架構(gòu)
在圖1的系統(tǒng)架構(gòu)中,用戶主要通過(guò)手機(jī)或計(jì)算機(jī)對(duì)系統(tǒng)網(wǎng)關(guān)進(jìn)行控制,網(wǎng)關(guān)在接收到指令之后通過(guò)家具的WiFi等無(wú)線局域網(wǎng)與家里的各個(gè)節(jié)點(diǎn)設(shè)備進(jìn)行通信和聯(lián)系。接下來(lái)對(duì)系統(tǒng)的硬件和軟件分別進(jìn)行設(shè)計(jì)。
本文系統(tǒng)中的智能網(wǎng)關(guān)主要是由基于物聯(lián)網(wǎng)技術(shù)的Arduino平臺(tái)的硬件與通信設(shè)備組成。Arduino平臺(tái)的硬件結(jié)構(gòu)中,頂部為Arduino Ethernet Shield擴(kuò)展板,主要作用是維持以太網(wǎng)和物聯(lián)網(wǎng)之間的通信;中部為Arduino GSM Shield擴(kuò)展板,主要負(fù)責(zé)短信的發(fā)送;底部為Arduino UNO核心板,負(fù)責(zé)整個(gè)智能網(wǎng)關(guān)的數(shù)據(jù)分析與處理[7-8]。以上2塊擴(kuò)展板和1塊核心板可以稱為系統(tǒng)智能網(wǎng)關(guān)的Arduino硬件系統(tǒng),具有即插即用的“電子積木”的特性,因此在系統(tǒng)中能夠方便地將它們組合在一起。這3塊硬件板主要以疊積木的方式進(jìn)行疊加,如圖2所示。
圖2 系統(tǒng)網(wǎng)關(guān)硬件結(jié)構(gòu)
圖2 中,核心板實(shí)際上是微控制器板,為系統(tǒng)提供最基礎(chǔ)的信息數(shù)據(jù)分析和處理。處理器型號(hào)為ATmega328P,輸入電壓的范圍在6~20 V,其具有14個(gè)數(shù)字輸入/輸出引腳,6個(gè)PWM輸出,3個(gè)通信接口,8個(gè)模擬輸入,晶振值為16 MHz,并具有USB接口,方便與其他層次的硬件驅(qū)動(dòng)互聯(lián),且存在一個(gè)電源插孔[9-11]。除此之外,還可使用電池或一些電源適配器提供能源。
GSM擴(kuò)展板的功能相對(duì)簡(jiǎn)單,主要是提供短信的發(fā)送功能。該擴(kuò)展板搭載了M10四頻調(diào)制解調(diào)器芯片,具有4個(gè)工作頻段,與上一層設(shè)備通過(guò)GPRS來(lái)連接,數(shù)據(jù)上行和下行的傳輸速率為85.6 Kb/s,通信協(xié)議支持TCP/UDP和HTTP協(xié) 議。Ethernet Shield擴(kuò) 展 板 相 對(duì) 于GSM擴(kuò)展板來(lái)說(shuō),功能更加強(qiáng)大,具有以太網(wǎng)接口,并集成了數(shù)據(jù)存儲(chǔ)功能,將系統(tǒng)前端的頁(yè)面文件存儲(chǔ)在SD卡中,避免占用ROM資源,提高網(wǎng)關(guān)的網(wǎng)絡(luò)性能。該擴(kuò)展板中,數(shù)字I/O引腳為14路,其中4路為PWM輸出;Arduino引腳保留為6個(gè),其中Pin10~13用于SPI,默認(rèn)Pin4用 于SD卡,Pint用 于W5100中 斷(橋 接);FLASH ROM大 小 為32 KB,其 中0.5 KB用 于 存 放bootloader[12-13]。綜上所述,根據(jù)前文提到的Arduino平臺(tái)的硬件結(jié)構(gòu)特性,2塊擴(kuò)展板和1塊核心板對(duì)插之后的硬件示意圖如圖3所示。
圖3 智能網(wǎng)關(guān)的硬件結(jié)構(gòu)
為了保證網(wǎng)關(guān)的性能,在設(shè)計(jì)時(shí)采用的都是比較高端的SOC芯片,本文在智能網(wǎng)關(guān)的設(shè)計(jì)中使用Arduino平臺(tái)的產(chǎn)品可以節(jié)約成本,縮短系統(tǒng)周期。至此完成系統(tǒng)的硬件設(shè)計(jì)。
在語(yǔ)音輸入的過(guò)程中,會(huì)將人的語(yǔ)音指令進(jìn)行語(yǔ)法分析,將原始的句子轉(zhuǎn)化成詞串后才能明確詞性。在本文設(shè)計(jì)的系統(tǒng)中,對(duì)于語(yǔ)言輸入指令的分析也類似于人類的語(yǔ)言學(xué)習(xí),需要建立一個(gè)語(yǔ)言輸入形式的語(yǔ)法庫(kù)。對(duì)于智能家居的語(yǔ)言控制指令而言,一般為四元組的描述語(yǔ)法。因此在語(yǔ)法庫(kù)的建立過(guò)程中,需要將句子分析得到的語(yǔ)義塊填充到語(yǔ)義槽中。通過(guò)對(duì)用戶使用智能家居方面的操作統(tǒng)計(jì),得到幾種語(yǔ)言符號(hào)標(biāo)記,如表1所示。
表1 符號(hào)的分類與標(biāo)記語(yǔ)法庫(kù)
本文在上述語(yǔ)法庫(kù)的基礎(chǔ)上,得到語(yǔ)音指令的語(yǔ)法分析結(jié)果,并按照規(guī)則完善語(yǔ)義填充模板。為了保證語(yǔ)音指令的分析準(zhǔn)確性,需要對(duì)語(yǔ)音信號(hào)進(jìn)行預(yù)加重,即加重語(yǔ)音信號(hào)的高頻部分,主要目的是降低人在說(shuō)話時(shí)口唇對(duì)語(yǔ)音的影響,通過(guò)一階高通數(shù)字濾波器來(lái)實(shí)現(xiàn),其中存在的傳遞函數(shù)為:
式中:α表示預(yù)加重系數(shù),其取值范圍為0.9~1.0,在一般情況下,α的取值為0.98。選擇的高通濾波器的特性曲線如圖4所示。
圖4 高通濾波器特性曲線圖
圖4 a)為幅頻特性,圖4b)為相頻特性,通過(guò)分析用戶在智能家居使用過(guò)程中的語(yǔ)言輸入內(nèi)容,可以發(fā)現(xiàn)涉及到的詞性和短語(yǔ)比較少。傳統(tǒng)的系統(tǒng)中使用短語(yǔ)結(jié)構(gòu)法可以更加容易理解,但是這期間的算法效率較低。因此在下文中對(duì)句法分析算法進(jìn)行研究與優(yōu)化。
在原有的智能家居系統(tǒng)中,對(duì)于簡(jiǎn)單短語(yǔ)的理解比較容易,但是多次的回溯會(huì)影響算法的效率,因此本文選擇線圖句法。該算法涉及到線圖、進(jìn)程表和活動(dòng)邊集3個(gè)數(shù)據(jù)結(jié)構(gòu)[14-15]。這3個(gè)數(shù)據(jù)結(jié)構(gòu)中包括較多的信息,例如已經(jīng)分析成功的邊的地理位置信息、隊(duì)列的結(jié)構(gòu)以及某些未完全匹配的重寫(xiě)規(guī)則等。在算法的分析過(guò)程中,當(dāng)進(jìn)程表為空白時(shí),為了獲取下一個(gè)語(yǔ)言輸入的詞性標(biāo)記,將起止位置都一并存儲(chǔ)在進(jìn)程表中,并從中抽取一個(gè)元素,記作X(i,i′),其中i表示起始位置,i′表示終止位置;然后按照一定的規(guī)則將規(guī)則集中未完全匹配的點(diǎn)進(jìn)行標(biāo)記,并與抽取的元素X(i,i′)共同加入到活動(dòng)邊集中,再調(diào)用弧拓展子程序。分析結(jié)果的線圖如圖5所示。
圖5 中的各個(gè)符號(hào)是參考符號(hào)的分類與標(biāo)記語(yǔ)法庫(kù)中的定義進(jìn)行標(biāo)記的。使用句法分析,并應(yīng)用在智能家居接收到的原始輸入詞串后,能夠得到如圖5所示的算法結(jié)果圖。從結(jié)果圖中可以看出,智能家居控制指令句子中詞與詞之間存在的關(guān)系,并在這些關(guān)系的基礎(chǔ)上進(jìn)一步形成獨(dú)立的語(yǔ)義塊。經(jīng)過(guò)詞法和分析可以得到新的重寫(xiě)規(guī)則,將智能家居控制指令原始輸入的語(yǔ)句進(jìn)行處理,可得到具有有限個(gè)數(shù)的語(yǔ)義塊,這些語(yǔ)義塊經(jīng)過(guò)處理后能夠獨(dú)立表達(dá)一定的語(yǔ)義。
圖5 算法結(jié)果圖
為了驗(yàn)證本文系統(tǒng)的有效性,在系統(tǒng)測(cè)試的過(guò)程中,實(shí)驗(yàn)地點(diǎn)選擇某復(fù)式住宅。整個(gè)實(shí)驗(yàn)區(qū)域如圖6所示。根據(jù)居住人的生活習(xí)慣提前對(duì)臥室的空調(diào)進(jìn)行控制。在一樓到二樓的樓梯間中安裝了智能電燈,該電燈帶有紅外線感應(yīng)傳感器以及光敏電阻,在夜晚探測(cè)到有人經(jīng)過(guò)時(shí)可以自動(dòng)打開(kāi)夜光燈;智能窗簾也同樣帶有光敏電阻,可以使用移動(dòng)終端遠(yuǎn)程操作,也可以設(shè)置自動(dòng)定時(shí)。在該套智能家居中,設(shè)置語(yǔ)音控制命令,采取開(kāi)啟、關(guān)閉、電燈、窗簾、加大、減小、室溫、門禁等語(yǔ)音命令的關(guān)鍵詞,本文系統(tǒng)獲取到全部的關(guān)鍵詞和語(yǔ)言音節(jié)的特征參數(shù),并對(duì)其進(jìn)行測(cè)試。本文系統(tǒng)對(duì)智能家居語(yǔ)言的關(guān)鍵詞提取結(jié)果顯示,關(guān)鍵詞的正確識(shí)別率為95%,說(shuō)明該系統(tǒng)可以應(yīng)用在智能家居的語(yǔ)言輸入控制。
圖6 測(cè)試環(huán)境示意圖
在上述實(shí)驗(yàn)環(huán)境下,將本文設(shè)計(jì)的基于物聯(lián)網(wǎng)技術(shù)的智能家居語(yǔ)言輸入形式自主控制系統(tǒng)應(yīng)用在實(shí)驗(yàn)測(cè)試區(qū)域的智能家居中,并對(duì)其進(jìn)行控制性能測(cè)試。
在上述的實(shí)驗(yàn)環(huán)境下,對(duì)比實(shí)驗(yàn)區(qū)域內(nèi)原有的智能家居控制效果和使用本文系統(tǒng)后的效果,控制準(zhǔn)確率對(duì)比結(jié)果如表2所示。
表2 控制準(zhǔn)確率對(duì)比 %
分析表2的數(shù)據(jù)可以看出:在使用本文設(shè)計(jì)的系統(tǒng)前,智能家居各個(gè)部分的控制準(zhǔn)確率平均在80.6%;在使用了本文設(shè)計(jì)的系統(tǒng)后,智能家居各個(gè)部分的控制準(zhǔn)確率平均能夠達(dá)到98.6%。通過(guò)相關(guān)的測(cè)試對(duì)比數(shù)據(jù)可知,在智能家居中使用本文設(shè)計(jì)的語(yǔ)言輸入形式自主控制系統(tǒng),能夠有效地提高智能家居的控制準(zhǔn)確率。
在相同的實(shí)驗(yàn)條件下,將智能家居設(shè)備中的煙霧報(bào)警、智能門禁、智能燈、感應(yīng)燈、智能溫控、智能窗簾、智能插座等設(shè)備的控制設(shè)置成一個(gè)整體的控制流程,統(tǒng)計(jì)使用本文系統(tǒng)前后對(duì)該流程控制耗時(shí)的數(shù)據(jù),結(jié)果如表3所示。
通過(guò)分析表3的數(shù)據(jù)可知,使用本文系統(tǒng)前的智能家居整體控制耗時(shí)為13 s,在使用本文系統(tǒng)后,智能家居的設(shè)備整體控制耗時(shí)僅用1.1 s,相比使用本文系統(tǒng)前節(jié)省了11.9 s。說(shuō)明使用了本文設(shè)計(jì)的系統(tǒng)后,提高了智能家居控制效率,縮短了控制時(shí)間,驗(yàn)證了本文系統(tǒng)的有效性。
表3 控制耗時(shí)對(duì)比 s
本文針對(duì)智能家居在實(shí)際使用中存在的弊端,設(shè)計(jì)一種搭載在智能家居上的基于物聯(lián)網(wǎng)技術(shù)的智能家居語(yǔ)言輸入形式自主控制系統(tǒng)。本文系統(tǒng)改變了傳統(tǒng)智能家居控制系統(tǒng)的單一控制方式,使智能家居的控制更加靈活和準(zhǔn)確。本文以用戶需求為出發(fā)點(diǎn),在特定的測(cè)試環(huán)境中對(duì)系統(tǒng)性能進(jìn)行測(cè)試。實(shí)驗(yàn)結(jié)果表明,在智能家居環(huán)境中應(yīng)用了設(shè)計(jì)的系統(tǒng)之后,能有效地提高語(yǔ)言輸入的控制準(zhǔn)確度和控制效率,說(shuō)明本文系統(tǒng)具有一定的有效性。但是本系統(tǒng)也存在一些不足之處,主要使用語(yǔ)音完成控制的表征,在今后的研究中,需要將行為語(yǔ)言作為求解方式,進(jìn)一步優(yōu)化智能家居的用戶體驗(yàn)。