(西北工業大學 計算機學院,西安 710072)
摘要:
介紹了一種CBR與RBR相結合的智能家庭推理系統。將CBR與RBR兩種人工智能技術相結合,運用于普適計算的典型應用智能家庭中,首先通過RBR推理出當前用戶的活動以及心情等較高級上下文;然后再用CBR進行上下文的再處理,融合多類型或歷史的上下文,自動預測相似度最大的上下文,并基于該上下文為用戶提供個性化服務。
關鍵詞:本體; 事例推理; 規則推理; 相似度
中圖分類號:TP391文獻標志碼:A
文章編號:10013695(2009)03097703
Smart home inference system combining CBR and RBR
WU Xiao, CHONG Yuzhen, NI Hongbo, WANG Haipeng
(College of Computer Science, Northwestern Polytechnical University, Xi’an 710072, China)
Abstract:
This paper combined and applied two artificial intelligence techniques, rulebased reasoning (RBR) and casebased reasoning (CBR) to smarthome system, which was quintessence application of pervasive computing. First it inferred the activity, the mood and something like that of the user, then fusing multitype or historical context to deal with the context again by CBR in order to infer the most similar context, and then used it to offer intelligentized service to the user.
Key words:ontology; casebased reasoning(CBR); rule based reasoning(RBR); similarity degree
0引言
普適計算[1]是繼主機計算、桌面計算之后發展起來的一種新的計算模式,其本質特征是信息空間與物理空間融合,以及計算對人透明。
智能空間是普適計算在房間、建筑尺度上的具體體現,其本質是要實現信息空間與物理空間的融合,以及計算對人注意力的透明性。隨著計算機網絡以及語義Web的發展,智能家庭已不再是幻想,它能夠預感知用戶的需求,主動地為用戶提供服務和計算資源。但是能直接感知的上下文所能提供的信息有限,而且通常是較低層的上下文,很多高層語義的上下文是無法從傳感器直接獲得,這就需要通過已知低層上下文加上知識推理得到。
目前已有的智能家庭模型多數是采用基于規則的推理技術[2,3]。但由于受規則推理描述性的限制,使得一些事例在規則描述上難以表達;另外規則的制定也必須有領域專家的參與,這也造成了知識獲取的瓶頸問題。也有人提出采用CBR[4],但是CBR推理在設計之初就需要檢索大量的數據,影響了系統的效率和實時性。因此本文提出采用分層結構,將CBR與RBR結合使用,利用兩種推理各自的優勢,形成優勢互補的推理系統。
1RBR和CBR
基于規則的推理是基于知識的專家系統中最常見的一種。一個規則本質上是一個ifthen語句,根據預定義的前提條件得出相應的動作或結論。Ifthen結構接近于人的思維和自然推理形式,易于理解如實現人機對話,其自然性也給領域專家與知識工程師間的協作提供了方便。
基于事例的推理是一種相似推理方法,其核心思想是在進行問題求解時使用以前求解類似問題的經驗和獲取的知識來推理,針對新舊情況的差異作相應的調整,從而得到新問題的解并形成新的案例加入到案例庫中去。
目前已有的智能家庭模型多數是采用基于規則的推理技術,如Gu等人[2]所設計的基于OSGI的上下文感知框架和新加坡的CONON[3]系統都是基于規則推理的系統。推理的作用是推理一些隱含的上下文信息,如根據臥室當前的光線強度和呼吸波傳感器的數據來判斷“某某是否正在睡覺”等。但是由于受規則描述性的限制,一些事例無法用規則準確地描述出來,而且只是推理出用戶正在進行的活動而不預感知用戶的需求,還是不能為用戶提供個性化服務。采用CBR推理在設計之初就得檢索大量的數據,不僅影響了系統的效率和實時性,而且對于一些規律性的信息,使用事例描述起來存在冗余。有時候一條規則就可以解決的問題,用事例描述起來卻非常繁瑣,因此迫切需要將兩種推理技術結合起來,優勢互補。
2智能家庭模型中RBR和CBR的結合
在本系統中本文提出采用分層結構,對于一些簡單的能用規則準確表示的事例,本文采用規則推理,如推理出用戶的活動等,當監聽器監聽到事例推理所訂閱的某種活動發生時就自動啟動事例推理,檢索匹配出與這個活動相關的可能性最強的一個預行為,訂閱該預行為的服務得到通知以后,根據用戶的喜好和知識庫中的知識再次啟動事例推理,為用戶提供個性化服務。這與傳統的串行結合方式[5,6]的本質區別就是它不是利用另外的一種推理方式來解決先導方式推理產生的問題,而是將規則推理的結果作為啟動事例推理的一個觸發條件,兩者各司其職。這樣既保持了規則推理的演繹性又克服了規則描述性的限制。
本文設計的智能家庭推理系統結構如圖1所示。
各模塊功能描述如下:
a)上下文監控器。監控上下文,當有上下文變化或者有新的上下文時進行上下文的更新或插入,將其存入知識庫,并啟動推理機進行推理。
b)推理機。根據上下文的變化,利用知識庫中的知識進行推理,包括CBR推理機和RBR推理機。
c)規則庫。存放正確的、能夠完全表達領域專家知識的規則,相當于傳統產生式系統中的知識庫。
d)事例庫。CBR的核心,提供問題求解的一組案例,它是問題求解經驗的聚集。事例源的豐富程度是問題求解的關鍵,因此必須利用豐富的領域知識建立盡可能完善的事例庫。
e)知識庫。負責存儲和維護所有的上下文。本文使用Jena操作上下文知識庫。Jena是惠普實驗室發起的開放源代碼語義Web框架,使用數據庫MySQL存儲上下文信息。
f)上下文查詢/訂閱接口。通過訂閱接口,上下文感知應用可以訂閱某些上下文信息的變化,從而提供個性化服務。
3系統實現
3.1RBR系統的實現
本文的智能家庭本體模型是基于本體建立的,因此在RBR系統實現中,推理工作分為兩部分:a)本體推理,用來解決本體使用過程中的沖突檢測、表達優化、本體的融合和驗證知識的正確性等問題;b)自定義規則推理,它根據不同應用領域中用戶自定義的情景規則對底層的情境信息進行高層抽象和映射。
本文使用的Jena是專門用來構建語義網Web應用的Java框架,它為RDF(S)、OWL、SPARQL等提供了一個可編程環境,并包含一個基于規則的推理機。它支持RDF和OWL自身推理,還支持基于自定義規則的規則推理;它允許用戶根據實際應用的需要自行定義一系列規則。表1給出了本系統中的部分自定義規則。
表1智能家庭中部分自定義規則
自定義推理規則用戶活動
(?x pre:User_Locatedin ?p),
(?p rdf:type pre:Kitchen), (?xpre:Time ?y),
greaterThan(?y,11.30),lessThan(?y,12.30),
(?p pre:HasDevice ?z),
(?z rdf:type pre:Microwave_oven),
(?z pre:Entity_state \"On\")->
(?x pre:User_Activity pre: Preparing_lunch)preparing_lunch
(?x pre:User_Locatedin ?y),
(?y rdf:type pre:BedRoom ),
(?z rdf:type pre:Curtain),
(?z pre:Entity_state \"Off\"),(?p rdf:type pre:Lamp),(?p pre:Entity_state \"Off\"),
(?y pre:HasDevice ?q),(?q rdf:type pre:TV),
(?q pre:Entity_state \"Off\")->
(?x pre:userstutas pre:Sleeping)sleeping
(?x pre:User_Locatedin pre:BathRoom),
(pre:BathRoompre:HasDevice
pre:Water_heater),
(pre:Water_heater pre:Entity_state \"On\"),
(pre:BathRoom pre:HasDevice
pre:Water_bath), (pre:Water_bath
pre:Water_temperature \"hot\")
->(?x pre:User_Activity pre:Bathing)]bathing
規則推理過程如圖2所示。
3.2CBR系統的實現
3.2.1事例的表示和存儲
事例表示實際上就是對知識的一種描述,即用一些約定的符號把知識編碼成一組計算機可以接受的數據結構。同一案例可以有不同的表示形式,而不同的表示形式產生的效果又可能不一樣。合理的案例表示,可以使問題求解變得更加容易、高效;反之,則會導致問題求解的麻煩和低效。在本系統中是用OWL來描述事例,并且以三元組形式存儲在數據庫中。
事例在數據庫中的存儲如圖3所示。
3.2.2事例的檢索和匹配
事例檢索是CBR系統的中心環節,檢索速度和精度關系著整個系統的質量。原始的檢索方法有歐氏距離法、海明距離法等。目前較為通用的檢索方法是最近相鄰和歸納推理引導策略。本文采用的是最近相鄰策略,它是一種非常簡單的技術,即把輸入事例與事例庫中的所有事例進行逐索引域的比較,求出事例之間每個域的相似度,再根據預先定義的加權向量,最終確定所有事例與輸入事例的相似度,將相似度超過閾值的事例返回給用戶。
由于每個事例是由組成它的實體屬性來描述的,在事例的相似度計算上實體的屬性決定了實體的相似度,而事例的相似度又由描述它的實體屬性決定,所以在計算方法上分為兩個粒度的計算:屬性相似度的計算和事例相似度的計算[7,8]。屬性相似度的計算包括數值型、字符型和枚舉型三種。而對于事例相似度的計算本文采用的是歐幾里德距離計算方法。
sim(X,Y)=1-dist(X,Y)=1-Σni=1Wi×dist(xi,yi)
其中:權重Wi代表第i個屬性的重要度, i=1,2,…,nj,n是案例中屬性的個數。
標準的dist(xi,yi)通常表示如下:
dist(xi,yi)=|xi-yi|/|max xi-max yi|
對于數字屬性值,max xi和max yi分別代表事例第i個屬性的最大值和最小值。對于符號屬性值,如果max xi max yi 相同,dist(xi,yi)=0;否則,dist(xi,yi)=1。
a)當dist(X,Y)=0時,sim有最大值1,這意味著兩個案例同一。
b)當dist(X,Y)=1,sim有最小值0,表明兩個案例完全不同。
3.2.3事例推理啟動的時機
在本系統中,每當有一個事例推理所訂閱的內容發生時才啟動事例推理。而對于那些事例推理沒有訂閱的高級上下文,是不會觸發事例推理的,而是直接將其存放在知識庫中,以被其他服務使用。在此采用的是發布訂閱機制(簡稱pub/sub),它是一種完全異步的通信模式。基于發布/訂閱模式的通信中間件系統由發布者(publisher)、訂閱者(subscriber)和事件代理(event broker)三部分組成。在發布/訂閱系統中,訂閱者按照自身的興趣進行訂閱,之后就可以接收到系統內的發布者發出的與之匹配的任何事件,直至它們取消訂閱。其中,事件代理充當發布者與訂閱者之間的媒介,對訂閱信息進行存儲和管理,并對事件進行有效的匹配和轉發。
3.2.4應用實例
下面以智能家庭中的一個應用實例為例來說明本推理系統的應用。事例存放在數據庫中,規則存放在一個擴展名為.rules的文件中。工作過程描述如下:
當傳感器采集到用戶當前所在位置為洗澡間,而位于該房間的淋浴器的狀態是開著的,并探測出水的溫度是“熱”的,就可以根據表1中第二條規則推理出用戶現在正在洗澡,然后啟動事例推理。事例庫中所有與“洗澡”相關的事例如表2所示。
表2 事例庫中部分與“洗澡”相關的事例
時間工作安排事例號預行為
20:30no1watchTV
22:30no2sleep
18:20dinner party3dressing
20:40Write document4go readingRoom
利用知識庫中存儲的低級上下文信息以及訂閱的一些其他服務得到當前時間和日程安排,根據相似度算法計算出與各個事例的相似度。實驗中,時間是22:10,沒有工作安排,相似度最大的是事例2,提取出事例2的預行為,發布給訂閱該行為的服務——睡眠服務系統;該實例再根據當前季節、溫度、用戶的喜好等信息進行事例推理,提前為用戶設定好最合適的空調溫度、光線強度等。
4結束語
目前已有的智能家庭模型多數是采用基于規則的推理技術,由于受到規則描述性的限制,不能有效預感知用戶的需求,也就無法有效地主動為用戶提供服務和計算資源。本文提出將RBR與CBR相結合的系統模型設計思想和結構,并以為用戶提供個性化的睡眠服務舉例,說明了其可行性和有效性,為今后智能家庭模型中推理工作的進一步研究展現了美好的前景。但是也存在一些問題,比如如何進行事例的學習和適配,如何處理復雜的事例等,這將是筆者下一步的研究重點。
參考文獻:
[1]WEISER M. The computer for the 21st century[J]. Scientific American, 1991,265(3):6675.
[2]GU Tao, PUNG H K, ZHANG Daqing. Toward an OSGibased infrastructure for contextaware applications[J].Pervasive Computing,2004,3(4):6674.
[3]WANG Xiaohang, ZHANG Daqing, GU Tao. Ontology based context modeling and reasoning using OWL[C]//Proc of the 2nd IEEE Annual Conference on Pervasive Computing and Communications Workshops.Washington DC:IEEE Computer Society,2004:1822.
[4]MA Tinghuai, KIM Y D, MA Qiang, et al. Contextaware implementation based on CBR for smart home [C]//Proc of IEEE International Conference on Wireless and Mobile Computing, Networking and Communications.2005:112115.
[5]羅杰文,施智平,保清,等.一種CBR與RBR相結合的快速預案生成系統[J]. 計算機研究與發展,2007,44(4):660666.
[6]張榮梅,涂序彥.基于案例推理的交通事故處理智能決策支持系統[J].計算機工程與應用,2002,38(2):156160.
[7]LANCE G N, WILLIAMS W T. Computer programs for hierarchical polythetic classification(“similarity analyses”)[J].Computer Journal,1966,9(1):6064.
[8]WILSON D R, MARTINEZ T R. Improved heterogeneous distance functions[J].Journal of Artificial Intelligence Research,1997,6(1):134.