李敏波,吳 宇,盧晨耀
1(復旦大學 軟件學院,上海 200433) 2(復旦大學 上海市數(shù)據(jù)科學重點實驗室,上海 200433) E-mail:limb@fudan.edu.cn
隨著智能硬件的發(fā)展,物聯(lián)網(wǎng)領(lǐng)域中涌現(xiàn)出了更多樣化的傳感設(shè)備,如溫濕度傳感器;監(jiān)測指標也從原來的幾十種到現(xiàn)在的上百種甚至更多.智能音箱,智能家電、智能門鎖安防等智能設(shè)備也出現(xiàn)井噴式增長.智能硬件的發(fā)展使得智能控制具備了一定的可行性[1].現(xiàn)階段物聯(lián)網(wǎng)的基礎(chǔ)設(shè)施僅能提供設(shè)備的基本通信功能[2],對于在復雜環(huán)境下的智能化交互和服務(wù)缺乏相應(yīng)的實現(xiàn)機制和應(yīng)對方案[3].
智能家居場景中同樣存在這一問題[4],一方面智能化程度不夠,無法實現(xiàn)自動控制;另一方面在自動控制中,偏向于工程代碼實現(xiàn),在數(shù)據(jù)抽象、情景表達等方面還不夠成熟,無法達到智能控制的目的.
為了提供個性化智能服務(wù),需要將設(shè)備提供的服務(wù)與用戶的需求進行綁定,要求系統(tǒng)能夠描述用戶所處場景的完整信息,這涉及到情景建模.SCHILIT 和 THEIMER最早提出情景感知建模[5],將情景感知分為顯式感知和隱式感知兩類,顯式感知是通過設(shè)備或是網(wǎng)絡(luò)服務(wù)直接感知得到,如環(huán)境各參數(shù)的信息、時間信息等;隱式感知需要用戶手動輸入或是需要系統(tǒng)深層分析才能得到,如用戶偏好習慣.SUN J.Z使用四元組模式(Entity Name,F(xiàn)eature,Value,Time)來描述與物理實體對應(yīng)的數(shù)據(jù)對象[6],用唯一標識來區(qū)分物理實體,并使用特征、值和時間來表征情景.STRANG使用CoOL(Context Ontology Language)模型語言構(gòu)建了本體推理器[7],從而共享與重用實體情景信息.GELLERSEN H-W,SCHMIDTA 和 BEIGLM 的TEA 項目[8]使用了面向?qū)ο蟮姆椒ㄟM行情景建模.上述內(nèi)容都為智能控制策略的研究提供了基礎(chǔ).
根據(jù)當前情景采取最符合用戶需求的措施是實現(xiàn)物聯(lián)網(wǎng)智能控制的關(guān)鍵.莫同[9]提出了一種情景感知服務(wù)系統(tǒng)框架,通過配置模型將情景數(shù)據(jù)模型與業(yè)務(wù)服務(wù)綁定.都靈理工開發(fā)的DogOnt[10]通過語義模型支持用戶對家居設(shè)備的控制.基于用戶生活習慣,Zhenyu Chen提出BP-Mine框架[11]來推薦相應(yīng)的生活服務(wù).Berkane通過模式匹配的方式來映射情景和服務(wù)[12].Uddi引入推理引擎[13],通過定義規(guī)則來描述情景與服務(wù)的對應(yīng)關(guān)系.這些研究為物聯(lián)網(wǎng)設(shè)備智能控制提供了良好的思路.
一些學者對手勢控制、語音控制等交互技術(shù)進行了研究.用戶可以通過手勢對家用電器設(shè)備進行控制[14],手勢與控制命令的映射關(guān)系被存儲在其數(shù)據(jù)庫中,通過隨機森林方法訓練出分類器來識別深度成像傳感器感知的手勢信息.Vacher等人[15]提出了基于語音的家居控制系統(tǒng),其利用深度學習方法識別用戶語音,Mofrad等人[16]給出了在多用戶、多語音場景下對語音的分離和識別方法.
在上述研究基礎(chǔ)上,通過調(diào)研物聯(lián)網(wǎng)情景建模方法,對智能家居交互場景中涉及的各實體進行分類和抽象,提出了一種新型的基于對象和屬性圖模型的情景建模方法,通過定義家居交互的規(guī)則控制、模式控制和語音控制方式實現(xiàn)物聯(lián)網(wǎng)設(shè)備的自動化控制服務(wù).相較于現(xiàn)存建模方法提高了系統(tǒng)性能和擴展性,多種控制方式的引入使得該系統(tǒng)更智能.
物聯(lián)網(wǎng)智能控制重點在于根據(jù)當前情景分析用戶的潛在需求,調(diào)用相應(yīng)設(shè)備的控制服務(wù),達到自動化控制的目標.其可分為3步,首先是對應(yīng)用情景建模,根據(jù)傳感數(shù)據(jù)得到當前人與環(huán)境交互的情景信息;其次是根據(jù)情景信息進行控制模式或服務(wù)匹配得到控制決策;最后是根據(jù)決策調(diào)用具體設(shè)備完成控制服務(wù).
情景感知的智能控制基本流程為:數(shù)據(jù)采集、數(shù)據(jù)處理、情景生成以及情景推理,如式(1)所示:
C=MD→C(D_S)
(1)
D_S為情景環(huán)境下的數(shù)據(jù)空間(Data Space),包括所有可采集、能被提供給系統(tǒng)的數(shù)據(jù),以鍵值對的形式給出,如式(2)所示:
DS={(key1:value),…,(keyn:value)}
(2)
其中key指代所監(jiān)測的指標,如溫度傳感器對應(yīng)的是溫度,天氣服務(wù)對應(yīng)的是天氣,而它們的值也隨指標類型而變化.
M將底層的原生數(shù)據(jù)空間D_S映射到情景空間C.每一個情景都是由原始的傳感數(shù)據(jù)作為輸入,通過該映射得到某種類型情景.例如:
C={Environment,Time,Subject,Activity}
家居領(lǐng)域的情景集,情景由Environment環(huán)境、Time時間、Subject主體以及其Activity活動(狀態(tài))構(gòu)成,反映了家居環(huán)境中的實時溫度濕度、空氣質(zhì)量等環(huán)境信息.
情景信息經(jīng)過采集、預(yù)處理和推理后,得到對應(yīng)的高級情景,其可以作為系統(tǒng)服務(wù)調(diào)用的依據(jù),因此系統(tǒng)需要由情景到服務(wù)的映射,如式(3)所示:
S=TC→S(C)
(3)
C為情景集合,S為可調(diào)用的服務(wù)集,T為由情景到服務(wù)的映射.獲取情景到服務(wù)的映射方法有基于規(guī)則方法和基于機器學習的方法.基于規(guī)則的方法準確性高,但是泛化能力弱;機器學習方法泛化能力高,但需要初始訓練數(shù)據(jù)集以及較大的算力.由于物聯(lián)網(wǎng)的計算資源有限以及家居領(lǐng)域數(shù)據(jù)集較少,本文使用基于規(guī)則的推理方法來實現(xiàn)情景到服務(wù)的映射,在高級情景信息傳輸至推理引擎后,通過規(guī)則配置模型將情景信息作為輸入,需要調(diào)用的業(yè)務(wù)服務(wù)標識符作為輸出,再通過調(diào)用控制器完成智能控制的服務(wù)調(diào)用.
規(guī)則配置模型用一個三元組標識,如式(4)所示:
conf=〈conf_ID,CXT-V,BS〉
CXT-V={〈cxt1,v1〉,〈cxt2,v2〉,…,〈cxtn,vn〉}
(4)
其中conf_ID標識配置規(guī)則,CXT-V是情景子信息-值對的集合,BS是業(yè)務(wù)服務(wù),如對智能電器設(shè)備的遠程控制服務(wù).物聯(lián)網(wǎng)設(shè)備根據(jù)其功能通常分為3類:感知設(shè)備、控制設(shè)備和帶有通訊功能的物聯(lián)網(wǎng)網(wǎng)關(guān).感知設(shè)備的主要功能是采集周圍環(huán)境指標數(shù)據(jù),感知設(shè)備的虛擬化要素包含感知設(shè)備采集指標數(shù)據(jù)的特征,如指標名稱、指標值、采集時間以及數(shù)據(jù)單位.控制設(shè)備用于接收和轉(zhuǎn)發(fā)指令,包括指令數(shù)據(jù)、指令執(zhí)行結(jié)果以及行為操作時間.
如圖1所示,根據(jù)情景感知系統(tǒng)中情景的周期,本文設(shè)計了物聯(lián)網(wǎng)場景下的智能控制框架,其分為4層:感知層、中間件層、決策控制層與服務(wù)層.
圖1 物聯(lián)網(wǎng)智能控制系統(tǒng)框架Fig.1 Framework of IOT smart control system
感知層用于物聯(lián)網(wǎng)數(shù)據(jù)采集.中間件層用于屏蔽底層設(shè)備的異構(gòu)性,將底層感知數(shù)據(jù)進行協(xié)議解析,轉(zhuǎn)化為上層能夠處理的統(tǒng)一數(shù)據(jù)結(jié)構(gòu).
控制決策層為系統(tǒng)框架的核心,其根據(jù)底層設(shè)備傳輸?shù)臄?shù)據(jù)進行相關(guān)處理,得到對相應(yīng)服務(wù)的調(diào)用策略,并完成情景感知控制服務(wù).該層作為情景感知引擎,包括數(shù)據(jù)訪問接口DAI(Data Access Interface)、輪詢器、推理引擎以及調(diào)用控制器.雖然中間件層協(xié)助系統(tǒng)識別各注冊設(shè)備傳輸來的數(shù)據(jù),由于數(shù)據(jù)的情景信息來源差異較大,為進一步將數(shù)據(jù)分類處理以供情景推理引擎使用,DAI與輪詢器共同作用使得輸入到情景推理引擎的數(shù)據(jù)符合情景信息模型的標準.情景信息模型來源于情景建模方法,不同的情景建模方法具有不同的特點,應(yīng)根據(jù)業(yè)務(wù)的不同來選擇合適的情景建模方法.推理引擎根據(jù)情景信息搜索出符合當前情景的業(yè)務(wù)服務(wù),再通過調(diào)用控制器完成服務(wù)調(diào)用.服務(wù)層包含向用戶提供的各種業(yè)務(wù)服務(wù),可以是以WebService形式封裝的業(yè)務(wù)服務(wù),也可以是各智能設(shè)備提供的遠程控制服務(wù)接口API.
情景建模是將數(shù)據(jù)映射為智能控制的交互場景,從而使得控制系統(tǒng)可以理解當前情景狀態(tài),作為后續(xù)控制決策的基礎(chǔ).
情景建模的方法主要分為3類:基于鍵值對形式的建模、基于對象的建模以及基于本體的建模.
基于鍵值對的建模方法通過將交互場景的數(shù)據(jù)以鍵值對的形式進行存儲來表達不同的場景,如式(5)所示:
context={(key1:value1)…(keyn:valuen)}
(5)
基于對象的建模方法是在面向?qū)ο缶幊痰幕A(chǔ)上發(fā)展而來,其符合系統(tǒng)構(gòu)建的思路,其一般將情景抽象成式(6)形式:
(6)
通過將交互場景中涉及的關(guān)鍵實體抽象出對應(yīng)的類別,為不同的類別構(gòu)建對應(yīng)的屬性與方法,根據(jù)場景中各類別實體的數(shù)量和實體內(nèi)部的屬性方法表達當前情景,但其對實體類別間關(guān)系的表達能力較弱,只有內(nèi)置的幾種關(guān)系可供使用.
基于本體的建模是當前主流方法,通過抽象出交互場景中的關(guān)鍵概念,并可根據(jù)實際業(yè)務(wù)定義各概念之間的關(guān)聯(lián)關(guān)系,其表達能力較于前兩者更強,建模結(jié)果的基本組成如式(7)所示:
(7)
該式稱為SPO三元組,Subject為類別或是實體,Object是相應(yīng)類別或是實體的屬性值,Predicate則為類別間的關(guān)系或是屬性名.通過該基本元素,構(gòu)成了各概念以及相應(yīng)實體之間關(guān)聯(lián)關(guān)系圖,從而表達相應(yīng)的情景.本體方法對硬件設(shè)備的要求較高,執(zhí)行性能較弱,不適合在物聯(lián)網(wǎng)實時控制中使用.
以下設(shè)計了一種針對家居環(huán)境的新型建模方法,相比于主流方法更適合智能家居領(lǐng)域.
為了探究新的適合智能家居領(lǐng)域的建模方法,引入圖數(shù)據(jù)庫中的屬性圖模型來彌補面向?qū)ο蠓椒ū磉_能力的不足,同時保留了面向?qū)ο蠓椒ǖ母咭浦残院透咝阅芴攸c,更符合物聯(lián)網(wǎng)家居資源有限的實際情況.
基于家居交互環(huán)境的特征以及交互任務(wù)的分析,提取家居各交互場景下涉及的關(guān)鍵要素,將其抽象成對應(yīng)的實體類,如家居空間類、房間類、家居用戶類、感知設(shè)備、可控設(shè)備共5大實體類.智能設(shè)備分為感知設(shè)備與可控設(shè)備.圖2為基于對象的家居交互實體類別屬性圖.
圖2 家居交互實體類別屬性Fig.2 Entity category attribute of home interaction
家居空間類用于描繪智能家居終端所屬商品房空間,代表了設(shè)備監(jiān)控與交互服務(wù)所處的環(huán)境,包含該居住空間所屬的用戶、所在的物理位置經(jīng)緯度和門牌號碼地址.其定義如式(8)所示:
(8)
房間類是家居空間在物理上的劃分,用于標識各具體交互活動所處的位置,除了包括家居場景中真實的房間外,還包括家中的過道、走廊等特定位置.房間類的標簽標記了其所屬類別,所屬用戶的屬性,如式(9)所示:
Room={id,owner,tag}
(9)
用戶類描述用戶與環(huán)境、設(shè)備交互時的用戶身份id,年齡age、性別gender屬性、喜好屬性preference(水溫、室溫、空氣濕度、亮度的偏好)以及對應(yīng)角色role權(quán)限等,從而為用戶的個性化服務(wù)提供支持.其設(shè)置如式(10)所示:
User={id,age,gender,role,preference}
(10)
傳感器類用于感知情景信息,包括周圍環(huán)境對應(yīng)的參數(shù)信息、設(shè)備狀態(tài)、用戶位置等.如式(11)所示:
Sensor={id,target,value}
(11)
sensor標識了傳感器所監(jiān)測的指標類別target與其值value.
可控設(shè)備類是指可通過網(wǎng)絡(luò)或其他方式進行遠程控制的智能設(shè)備,如智能門鎖,智能冰箱、智能開關(guān)等,其定義如式(12)所示:
(12)
可控設(shè)備類包含了其提供的所有操作Action,以及各操作對應(yīng)的參數(shù)para.
由于面向?qū)ο蠓椒▋?nèi)置的關(guān)系不足以描述交互任務(wù),如設(shè)備與房間之間的從屬關(guān)系.通過引入圖數(shù)據(jù)庫的屬性圖模型,在面向?qū)ο蟮幕A(chǔ)上來描繪各對象間的關(guān)系,從而使得情景模型更加完備,同時在性能上比本體方法更強.
屬性圖模型是由節(jié)點、邊、標簽、關(guān)系類型和屬性組成的有向圖,邊也可以稱為關(guān)系,上文中抽象出來的實體類可以作為屬性圖模型中的節(jié)點的標簽屬性,擁有相同標簽的節(jié)點屬于同一類型,而實例對象則與屬性圖模型中的節(jié)點一一對應(yīng),不同的節(jié)點擁有不同的屬性.屬性圖模型提供了節(jié)點之間關(guān)系的定義,關(guān)系由起始節(jié)點指向結(jié)束節(jié)點,雙向關(guān)系是通過兩個相反方向的關(guān)系來標識.
如圖3所示,在基于對象方法得到的5類實體的基礎(chǔ)上,在家居場景下分析實體間的關(guān)聯(lián)關(guān)系,并使用屬性圖模型描述.從圖3中可看出,用戶擁有房子(User-[:HAS_HOUSE]->House),逆向的關(guān)系則是房子屬于用戶;房子由房間組成(House-[:COMPOSED_OF]->Room),反之則定義為房間位于房子中(Room-[:LOCATE_IN]->House);不同的房間部署著不同的感知設(shè)備和可控設(shè)備:(Room-[:HAS_SENSOR]->Sensor);(Room-[:HAS_DEVICE]->Device),反之即設(shè)備位于不同房間:(Sensor-[:LOCATE_IN]->Room);(Device-[:LOCATE_IN]->Room).除了描述各實體類別的關(guān)系,屬性圖模型還能為定義的關(guān)系提供屬性的定義,如圖中商品房之間的位置關(guān)系中,定義了兩房子之間的方位屬性以及距離屬性:(House-[:LOCATION{ direction:“north”,distance:“10km”}]->House).可控設(shè)備以及感知設(shè)備位于房間時,其屬性也定義了設(shè)備在房間的位置,這也是屬性圖模型較于本體建模方法的優(yōu)勢所在.
圖3 基于屬性圖的家居實體關(guān)系Fig.3 Home entity relationships based on attribute
圖3展示了以實體類別為粒度單位的相關(guān)關(guān)系.圖4標識了標準兩室一廳一衛(wèi)的商品房屬性模型圖,每一個節(jié)點代表一個實體對象.為方便觀看,圖中只標識了各實體對象的基本關(guān)聯(lián)關(guān)系.
圖4 兩室一廳一衛(wèi)的屬性模型Fig.4 Attribute model of two rooms,one room,one guard
新型情景建模方法在面向?qū)ο蟮幕A(chǔ)上融合了屬性圖模型的優(yōu)勢,從而使得傳感器感知的原生數(shù)據(jù)在經(jīng)過預(yù)處理后生成相應(yīng)類型實體的對象實例,但這些實例對象并不是系統(tǒng)的最終目標,其仍然不足以表達某個具體的家居交互場景.因此參照本體自上而下的設(shè)計思路,通過在五大基本實體類別的基礎(chǔ)上提出環(huán)境、行為和主體模型,以充分地描述當前用戶所處的情景,式(13)給出了家居情景的表達:
Context=(Environment,Time,Subject,Activity)
(13)
即最高抽象層次的情景包括交互所處的環(huán)境、當前時間、所涉及主體以及主體行為,如式(14)所示:
Environment={Location||Weather||…(SensorType)}
Location={Space,Room,Position}
(14)
環(huán)境模型包含了交互的位置,天氣以及所有能感知環(huán)境因素的傳感器指標,其中位置信息由數(shù)據(jù)庫中的商品房地址以及空間-房間-地點層次結(jié)構(gòu)標識.
時間模型分為DateTime格式的數(shù)值和標簽兩部分,通過標簽將絕對的數(shù)值轉(zhuǎn)變?yōu)闃I(yè)務(wù)相關(guān)的語義信息,如季節(jié)、早中晚、工作日等,通過添加與交互有關(guān)的語義標簽信息,使得以后的自適應(yīng)控制更加精準.
Subject={User||Device||Environment}
(15)
Subject主體模型標識交互活動中的主體對象,大部分情況下包含用戶對象,小部分情況也會存在設(shè)備對象和環(huán)境對象,如設(shè)備故障將會引起系統(tǒng)推送消息至用戶手機;環(huán)境感知到下暴雨時將會引起關(guān)窗等行為,如式(15)所示:
Activity=
{UserActivity||DeviceAction||EnvironmentAction}
(16)
行為模型UserActivity與主體模型相對應(yīng),隨主體模型的不同,其取值范圍也會相應(yīng)變化,如用戶行為包括起床、睡覺、看書、離家、回家等一系列家居活動;設(shè)備行為DeviceAction則包含該智能設(shè)備所特有的行為,如智能空調(diào)的制冷、制熱以及所有設(shè)備公共的開啟、關(guān)閉;環(huán)境行為EnvironmentAction則包含下雨、打雷、大風、空氣質(zhì)量等自然因素.對Activity的定義如式(16)所示.至此,原生數(shù)據(jù)被轉(zhuǎn)化為高級情景統(tǒng)一的結(jié)構(gòu).
智能控制意味著在用戶少參與的情況下,系統(tǒng)自主根據(jù)實時的情景信息,采取符合用戶期望的控制行為,即系統(tǒng)將情景信息映射到設(shè)備控制服務(wù).獲取該映射的方法有基于規(guī)則的方法與基于機器學習的方法,基于規(guī)則的方法準確性高,但是泛化能力弱;機器學習的方法泛化能力高,但是需要初始訓練數(shù)據(jù)集以及較大的算力.考慮到基于規(guī)則的系統(tǒng)具有較高準確性以及語義上的易理解性,其仍然是家居場景下首選的智能控制方法.
基于規(guī)則的控制把業(yè)務(wù)規(guī)則與底層代碼分開存儲.在構(gòu)建基于規(guī)則的控制系統(tǒng)時,首先需要構(gòu)建并初始化以情景模型對象為基礎(chǔ)的規(guī)則庫,通過在條件端和結(jié)果端組合不同的情景模型對象以及對象間的邏輯關(guān)系,來定義每一條與業(yè)務(wù)需求相對應(yīng)的規(guī)則.當情景數(shù)據(jù)被處理為對應(yīng)的情景對象模型時,其作為事實被傳入規(guī)則推理引擎,推理引擎用于執(zhí)行情景信息到控制服務(wù)映射的工具.
基于規(guī)則的控制方式使得系統(tǒng)可以根據(jù)情景信息得到對應(yīng)的控制決策,而控制決策是由最細粒度的設(shè)備遠程控制服務(wù)接口組合而成,使得智能控制系統(tǒng)可以調(diào)用任意智能設(shè)備提供的控制服務(wù),也可將最細粒度的控制服務(wù)按照一定的業(yè)務(wù)邏輯進行組合構(gòu)成更高級的控制.
采用RESTFUL接口將設(shè)備操作封裝成相應(yīng)的服務(wù)接口.通過將感知設(shè)備和控制設(shè)備對應(yīng)的操作封裝為對應(yīng)資源標識符的增刪改查,可以添加設(shè)備、獲取設(shè)備感知信息、調(diào)用設(shè)備的控制服務(wù)等,通過標準的http協(xié)議即可實現(xiàn).將最細粒度設(shè)備控制作為規(guī)則結(jié)果的組成單位,來構(gòu)造業(yè)務(wù)邏輯規(guī)則.控制規(guī)則可被抽象為如式(17)的結(jié)構(gòu):
Rule=(name,priority,condition,result)
(17)
每條規(guī)則包含對應(yīng)的標識符name,用于沖突解決的優(yōu)先級值priority,條件端condition和結(jié)果端result.規(guī)則的條件端與結(jié)果端均是以情景建模后的模型庫為組件以及其邏輯關(guān)系構(gòu)成,條件端的結(jié)構(gòu)如式(18)所示:
(18)
條件端包含了由各類情景模型對應(yīng)屬性值的范圍判斷所組成的原子條件,這些原子條件通過邏輯關(guān)系符組合在一起,形成一條規(guī)則的完整條件端,例如環(huán)境情景模型的溫度值大于26攝氏度,并且時間值為晚上11點,用戶位置值為臥室,這3個原子條件,共同構(gòu)成了用戶睡眠規(guī)則的條件端.
結(jié)果端的結(jié)構(gòu)如式(19)所示:
(19)
結(jié)果端的結(jié)構(gòu)與條件端類似,通過情景模型來設(shè)置對應(yīng)設(shè)備的狀態(tài)控制原子操作,進而調(diào)用相應(yīng)的設(shè)備控制服務(wù)來達到智能控制目的.如下給出了安全規(guī)則的一個實例:
Rule gasSalence10 When $gasSen:gasSensor(densityVal>36) $window:Window(address==“kitchen”) Then $window.open()
基于規(guī)則的控制方式粒度較細,家居場景下業(yè)務(wù)的多樣性需要創(chuàng)建大量的邏輯控制規(guī)則,因此需要比規(guī)則控制更高粒度的基于模式的控制方式.基于模式的控制組合了多條規(guī)則結(jié)果端的行為,條件端則由上文中的情景模型庫以及用戶根據(jù)自我偏好自行定義的偏好庫組成,例如:上班模式、早起模式、睡眠模式等.上班模式包括每個工作日的叫醒服務(wù)、電視新聞的定時播放與關(guān)閉、電飯煲廚房電器定時開啟等.模式控制的表達式如式(20)所示:
Mode={(Contextmodeli,attributei:val)?
(atomAction1,…,atomActionn)}
(20)
模式控制的結(jié)構(gòu)包括了模式控制觸發(fā)的條件以及對應(yīng)結(jié)果端的操作,下述給出了閱讀模式控制的實例.
Mode“readMode”When $user:User(location==“study”) $study:Room(flag==“study”&&duration>5) $tempSen:tempSensor(address==“study”) $lightSen:lightSensor(address==“study”)then if($lightSen.val<$user.LowLightPreference) $study.openLight(“read”) if($tempSen.val>$user.HighTempPreference) $study.openAirconditioner(“cold”) $study.closeAllWindow()
該模式考慮了用戶閱讀時的溫度以及光線需求,根據(jù)其偏好來調(diào)節(jié)書房的環(huán)境.
針對家居領(lǐng)域業(yè)務(wù)特點,設(shè)計了基于語音的家居控制APP,圖5顯示語音控制流程.
圖5 語音控制流程Fig.5 Voice control process
通過麥克風檢測到語音輸入時,判斷是否包含喚醒詞,如果包含則進入語音控制方式,否則忽略.針對用戶身份識別,使用第三方語音識別API進行用戶語音識別,選擇利用第三方離線jar包將語音文件轉(zhuǎn)為文本文件,識別出當前用戶的身份信息和用戶語音文本.根據(jù)針對家居場景所定制的詞典,基于雙向最大匹配算法對文本數(shù)據(jù)進行分詞.分詞之后進行信息提取,并將提取出的信息構(gòu)建成統(tǒng)一的數(shù)據(jù)結(jié)構(gòu),形成語音控制指令,然后調(diào)用控制規(guī)則引擎進行規(guī)則推理和控制服務(wù)調(diào)用.
對于家居場景下的定制詞典,通過將家居領(lǐng)域常用的控制語句以及涉及到的設(shè)備,傳感器,用戶感知屬性等名詞抽取出來,構(gòu)成家居場景領(lǐng)域下的詞典,例如:空調(diào),溫度,打開,關(guān)閉.根據(jù)智能家居語義詞典,系統(tǒng)可以對文本文件進行分詞.對于語音控制指令中缺失的用戶、時間、具體房間的設(shè)備以及操作參數(shù)信息,系統(tǒng)通過隱性信息提取相關(guān)數(shù)據(jù),補充完整的控制指令,以提高系統(tǒng)的智能化程度.
系統(tǒng)推理引擎中的規(guī)則結(jié)構(gòu),都包含了條件與結(jié)果這兩部分.使用面向?qū)ο笈c屬性圖模型的情景建模方法,利用(type,object,attr,val)四元組來描述原子條件,分別為實體類別,具體對象,對象屬性與屬性值.通過原子條件的組合構(gòu)成規(guī)則的條件.結(jié)果部分則是基于原子級控制方式,利用(device,action,para)三元組,通過指定設(shè)備標識,設(shè)備封裝的服務(wù)以及服務(wù)參數(shù)完成原子級控制功能,最后組合成規(guī)則的結(jié)果部分.
家居的個性化、智能化控制分為兩種方式,其一為用戶少許參與下的自動化控制,根據(jù)情景變化預(yù)測用戶需求,自主完成設(shè)備控制.另一種則是用戶語音控制方式,在用戶沒有精確表達其需求時,通過提取當前情景的隱性信息來補充用戶偏好和位置信息,完成設(shè)備控制.
自動化控制方式主要通過用戶提前設(shè)置的控制規(guī)則、模式以及其對于家居交互中一些指標的偏好來實現(xiàn).而用戶偏好是針對用戶某時間段對家居生活中控制指標的設(shè)置,如溫濕度、水溫等.通過引入用戶偏好使得規(guī)則文件通過讀取用戶的偏好來降低系統(tǒng)耦合性.
對于語音控制,在云服務(wù)端通過將文本與家居字典匹配轉(zhuǎn)變?yōu)榻y(tǒng)一結(jié)構(gòu)的控制指令,對于語音控制指令中缺失的用戶、時間、具體房間的設(shè)備以及操作參數(shù)信息,系統(tǒng)通過隱性信息提取相關(guān)數(shù)據(jù),補充完整的控制指令,以提高系統(tǒng)的智能化程度.
圖6所示家居智能控制系統(tǒng)分為設(shè)備層、中間件層、數(shù)據(jù)預(yù)處理層、智能控制層與交互層五層,系統(tǒng)提供兩類控制方式.第1種方式為用戶主動控制,在手機APP中手動點擊控制,或者使用手機語音輸入指令.第2類控制方式是無需用戶參與的系統(tǒng)自動控制,該方式通過將設(shè)備感知的情景數(shù)據(jù)處理為高級情景信息輸入到推理引擎,與規(guī)則庫中的規(guī)則匹配得到控制指令,再調(diào)用相應(yīng)設(shè)備控制服務(wù)完成家居設(shè)備或環(huán)境的自動控制.各傳感器感知的原始數(shù)據(jù)經(jīng)由中間件篩選過濾后傳入后臺,后臺通過將各數(shù)據(jù)源的數(shù)據(jù)作為相關(guān)情景模型的屬性來構(gòu)建情景對象,如上文提到的規(guī)則控制、模式控制、語音控制和智能化控制的高級情景模型.此時新產(chǎn)生的情景模型對象與當前系統(tǒng)緩存逐條屬性對比,若屬性有所改變,表明當前情景較于之前有了變化,將新生成的情景對象替代當前緩存并作為事實傳入Drools規(guī)則引擎.Drools規(guī)則引擎基于RETE算法通過分解規(guī)則的條件端來形成條件網(wǎng)絡(luò),當事實作為輸入節(jié)點傳入時,該算法可以輸出滿足條件的規(guī)則,從而得到當前情景所需執(zhí)行的指令.
圖6 家居智能控制系統(tǒng)結(jié)構(gòu)Fig.6 System architecture of smart home control
家居智能控制系統(tǒng)的控制流程如下:
對于自動控制,首先解析來自異構(gòu)設(shè)備感知的原始數(shù)據(jù),即獲取物聯(lián)網(wǎng)Ruff開發(fā)板上的各傳感器數(shù)據(jù);然后將傳感器數(shù)據(jù)與系統(tǒng)緩存中各對象屬性數(shù)據(jù)對比,若各項數(shù)據(jù)都無變化,則本流程終止;否則進入第3步:將變化后的數(shù)據(jù)映射到對象中,即更改緩存中對象屬性,并作為新事實fact傳輸?shù)酵评硪?第4步將輸入的事實與規(guī)則庫匹配,若無匹配項,則不觸發(fā)任何操作,否則進入第5步:從條件滿足的規(guī)則集合中按優(yōu)先級選擇執(zhí)行,第6步將規(guī)則執(zhí)行的結(jié)果轉(zhuǎn)化為對應(yīng)的服務(wù)調(diào)用,由相應(yīng)的智能設(shè)備根據(jù)指令執(zhí)行操作.
對于主動控制,用戶使用APP進行家具設(shè)備或模式控制,亦可通過語音識別進行控制,通過將文本與家居詞典對比提取情景模型所需關(guān)鍵字,依托推理引擎生成操作指令;最后通過調(diào)用相應(yīng)設(shè)備控制的服務(wù).
家居智能控制系統(tǒng)使用基于對象與屬性圖模型的建模方法,不同于基于本體的場景建模方法,通過測試系統(tǒng)性能并與基于本體建模方法所構(gòu)成的系統(tǒng)進行對比,評估新型建模方法的性能與適用性.
實驗環(huán)境:CPU為intel-corei5-3.2GHz,內(nèi)存為4G.實驗的控制變量為規(guī)則庫中的規(guī)則、家居設(shè)備的數(shù)量,包括感知設(shè)備與可控設(shè)備,性能測試指標為系統(tǒng)的響應(yīng)速度以及穩(wěn)定性.
圖7顯示了系統(tǒng)性能測試與對比實驗的結(jié)果,左側(cè)為基于屬性圖模型建模方法的系統(tǒng)性能測試,右側(cè)為基于本體方法構(gòu)建的系統(tǒng)性能測試.從試驗結(jié)果可知,隨著規(guī)則數(shù)量的增加,兩種建模方法的內(nèi)存使用率都有明顯增加,這是由于其使用的推理引擎都是基于RETE算法,將規(guī)則條件的中間狀態(tài)存儲在內(nèi)存中,因此隨規(guī)則數(shù)量的增加呈指數(shù)增長.同時兩類系統(tǒng)響應(yīng)時間均有所增加,但本體建模方法系統(tǒng)的響應(yīng)時間平均在10秒以上的量級,而基于屬性圖和面向?qū)ο蟮慕7椒ǖ捻憫?yīng)時間均在1秒左右,基于屬性圖和面向?qū)ο蟮慕7椒ǜm合物聯(lián)網(wǎng)實時智能控制.
圖7 系統(tǒng)性能測試對比實驗Fig.7 Contrasting experiments of system performance
隨著用戶使用該系統(tǒng)時間的增長和系統(tǒng)中的規(guī)則數(shù)量增加,基于本文建模方法構(gòu)造的系統(tǒng)仍能提供穩(wěn)定的服務(wù).
家居智能控制系統(tǒng)通過綁定用戶與規(guī)則文件、用戶與偏好來實現(xiàn)個性化服務(wù),將與用戶身份匹配的規(guī)則文件調(diào)入推理引擎,而規(guī)則文件中各規(guī)則的條件端又需使用用戶偏好數(shù)據(jù),從而能根據(jù)用戶身份、用戶偏好提供個性化服務(wù).原型系統(tǒng)選用Neo4j圖數(shù)據(jù)庫進行存儲,從而提高了用戶規(guī)則及偏好的搜索效率.實驗通過提供用戶數(shù)、用戶規(guī)則數(shù)以及用戶偏好數(shù)來對比Mysql傳統(tǒng)關(guān)系型數(shù)據(jù)庫與Neo4j圖數(shù)據(jù)庫對用戶規(guī)則及偏好的搜索效率,實驗結(jié)果如圖8所示.在用戶數(shù)、規(guī)則數(shù)以及單用戶對應(yīng)偏好數(shù)處于較低水平時,圖數(shù)據(jù)庫與關(guān)系型數(shù)據(jù)庫的查詢效率相差無幾,但隨著這3項指標的提升,Mysql數(shù)據(jù)庫的查詢效率顯著降低,但Neo4j卻能保持穩(wěn)定在較低延遲水平.
圖8 個性化服務(wù)性能測試對比實驗Fig.8 Compare the performance of personalize service
在物聯(lián)網(wǎng)智能家居場景下提出了基于對象和屬性圖模型的情景建模方法.使用該方法構(gòu)建情景模型后,通過定義家居交互規(guī)則、模式控制和語音控制方式整合家居中的設(shè)備控制服務(wù),設(shè)計了基于規(guī)則推理的智能控制方案,并通過提供多粒度、多方式的控制方法增強其智能化程度.
通過規(guī)則將情景感知數(shù)據(jù)映射到對應(yīng)的設(shè)備控制服務(wù)以實現(xiàn)系統(tǒng)的自動控制.情景感知和情景建模作為規(guī)則的條件端,由智能設(shè)備抽象的控制服務(wù)作為結(jié)果端的原子組件,實現(xiàn)了從感知環(huán)境變化到調(diào)用目標服務(wù)的智能控制流程.相比于其他智能家居系統(tǒng),本文提供了多粒度的控制方式,同時引入了用戶偏好設(shè)置、場景隱性信息提取機制,使得本系統(tǒng)只需少量的指令,簡捷且精準地為用戶提供服務(wù).在語音控制中添加了隱性信息提取策略來提升系統(tǒng)的智能化程度.
考慮到本系統(tǒng)受限于業(yè)務(wù)規(guī)則,而其主要來源于用戶主動定義,因此系統(tǒng)的泛化能力較弱.未來將對系統(tǒng)規(guī)則執(zhí)行的歷史記錄進行潛在規(guī)則挖掘以彌補該缺陷.