曲朝陽,周 寧,曲 楠,王 蕾,劉耀偉
(1.東北電力大學信息工程學院,吉林 吉林 132012; 2.吉林省電力大數據智能信息處理工程技術研究中心,吉林 吉林 132012; 3.國家電網江蘇省電力有限公司檢修分公司,江蘇 南京 210024; 4.國家電網吉林省電力有限公司,吉林 長春 130021)
在智能電網深入推進的形勢下,電力系統的數字化、信息化、智能化不斷發展,帶來了更多的數據源,電力系統運行時產生的數據數量龐大、增長快速、類型豐富,是典型的大數據.[1]如何根據用戶的信息需求從海量數據中實時、快速、準確地向用戶執行個性化的信息推薦,使其更好地為決策者服務,對電力系統提出了新的挑戰.
推薦系統是信息檢索、數據挖掘、機器學習和人工智能等領域的研究熱點[2],個性化推薦技術對電力大數據個性化推薦的實現提供了有效支撐,因此電力大數據個性化推薦系統得到了廣泛的關注,比如南方電網公司構建的電網情報智能個性化推薦系統,該系統通過檢索日志對網絡用戶的信息需求與信息查尋行為進行分析和研究,在海量數據源中通過個性化推送的方式向用戶執行信息推薦,從而保證信息推送的實時性和有效性.[3]
目前傳統的推薦系統使用的推薦算法有基于內容的推薦、基于圖結構的推薦、協同過濾推薦和混合推薦.[4]在眾多的推薦算法中,協同過濾技術因具有較好的普適性、良好的推薦精度、共享他人經驗的特點,在企業、政府等部門得到了廣泛應用.傳統的協同過濾推薦方法通過計算用戶或物品的相似性來向用戶進行推薦,推薦結果能夠較好地反映目標之間的相似性,但相似的目標之間不一定具有關聯性或關聯程度比較低,不相似或相似度較小的目標之間也有可能具有關聯性.協同過濾算法在向用戶執行推薦的過程中,與目標相似的物品能夠獲得比較高的排名,但與目標相關聯的物品有可能被忽略或排名比較低,因此針對這一問題本文采用基于關聯規則挖掘和協同過濾的聯合算法AR-Item CF,將目標物品之間的關聯度作為影響推薦排名的因素之一,使得推薦結果的物品能夠獲得比較高的排名,從而實現向用戶推薦既存在相似性,又具有關聯性的推薦結果.
本文通過將電網領域知識組織成知識樹,應用AR-Item CF對用戶行為數據的Web日志挖掘,通過計算用戶推薦列表得到最終推薦結果.實現不同知識項之間深層次的知識推薦,能夠有效地解決上述問題并提升推薦質量和準確率.
在電網領域,知識可概括為靜態和動態2種.靜態知識包括設備類知識、電力規程類知識[5]、電力故障診斷及決策知識[6]等;動態知識包括電網運行產生的實時數據和信息以及預測型知識,即由歷史的或當前的數據推測未來的數據和狀態,也可以認為是以時間為關鍵屬性的知識.[7]不同知識之間沒有明顯的聯系,用戶理解困難,不能向用戶提供有價值的推薦.對知識的查詢往往涉及多張表,增加了查詢的負擔.
選擇良好的知識表示方法不僅可以建立良好的知識結構,提高問題求解能力,而且有利于提高對知識的存儲和檢索效率,對減少關聯規則的挖掘時間、提高挖掘效率有著重要的影響.將電網領域知識分解成不同粒度的知識項,使用知識樹的結構將它們組織起來,有利于建立知識體系中的關聯和推理機制,有利于知識的組織、管理和可視化,能夠滿足大多數知識表示的需求.
本文通過將電網數據按照知識點為單元進行分解形成知識項,在知識項之間建立聯系,通過對知識點屬性KP及關系KR進行描述,構建知識樹模型KT{KP,KR}.
對知識點屬性KP的描述采用五元組{KID,KN,KW,KI,KP}表示,具體說明如下:
KID:知識點編號,知識點唯一表示;
KN:知識點名稱;
KW:知識點關鍵字;
KI:知識點重要程度;
KP:知識點對應資源路徑.
知識點重要程度與被其他知識點引用到的次數有關,被引用的次數越多知識點越重要.設x為某知識點后繼知識點的數量(x≥0),則其重要程度的隸屬函數可表示為:
知識點之間的關系可以形式化定義為KR=(RN,KPN,Relation,Degree),其中:
RN:關系編號.
KPN:包括主知識點編號和關聯知識點編號.
Relation:相關知識點與主知識點關系類型,Relation=(Compose,Dependence,Mutuality),其中:
Compose:組成關系,表示了元知識項和復合知識項之間的聚合關系;
Dependence:依賴關系,即前驅關系;
Mutuality:相關關系.
Degree:相關知識點與主知識點關系程度,Degree=(CP,DP,MP),其中:
CP:組成關系中,子知識點在構成父知識點中所占的比重;
DP:依賴關系中,知識點依賴知識點的程度;
MP:相關關系中,知識點相關的程度.
協同過濾算法分為基于用戶的協同過濾推薦User CF[8]和基于物品的協同過濾推薦Item CF[9].User CF對于物品的數量是海量的,同時也是更新頻繁;User CF的計算復雜度遠遠小于Item CF,User CF 加上社會網絡信息,可以增加用戶對推薦解釋的信服程度.對于用戶的數量大大超過物品的數量,同時物品的數據相對穩定的推薦系統,Item CF的計算復雜度遠遠小于User CF,同時 Item CF 便于為推薦做出解釋[10].針對電力系統中領域知識相對穩定,用戶數據多變的特點,本文采用協同過濾推薦算法AR-Item CF算法.
在系統日志中發掘用戶對知識樹中知識項產生的行為,包括用戶瀏覽、收藏、關注、評分等,將不同行為劃分權重,計算得到用戶對某一個知識項的評分,形成用戶-知識評分矩陣(見表1).

表1 用戶-知識評分矩陣
(1) 選取評分矩陣中前3/4知識數據項集作為訓練集,將剩下的1/4作為測試集,在訓練集上建立用戶興趣模型,在測試集上進行預測.
(2) 計算知識項相似性.本文采用余弦相似性方法計算知識項之間的相似度.知識項i和知識項j之間的相似性為
(3) 形成知識項余弦相似度矩陣ASK(見表2).

表2 知識項余弦相似度矩陣
知識項之間的關系是以知識項為中心,知識項與周邊最近鄰知識節點之間形成的關系,這是一種顯性關系.而知識項與非最近鄰知識項、多個知識項的組合與其他知識項之間也有可能存在關系,如不同知識點的組合會派生出新的知識點,這些關系屬于隱性關系,需要進一步分析和挖掘,知識項關聯程度用置信度表示.用Apriori算法[11]作為關聯規則挖掘的經典算法,在計算關聯支持度和置信度方面有較好的優勢,因此本文采用Apriori算法來計算知識項之間的關聯度,形成知識項關聯矩陣ARK,算法過程如下:
(1) 將知識樹中的知識項作為算法輸入;
(2) 單遍掃描數據集,確定每個項的支持度,得到頻繁1-項集;
(3) 算法掃描數據集,使用子集函數計算所有候選2-項集的支持度計數;
(4) 將支持度計數小于minsup的所有候選項集的置信度置為0,從而避免高相似性、低置信度的結果出現;
(5) 計算候選2-項集的置信度conf,形成知識項關聯矩陣ARK(見表3).

表3 知識項關聯矩陣
(1) 對知識項相似度矩陣ASK與知識項關聯矩陣ARK求和,得到最終用于計算用戶對知識項興趣度的矩陣ASRK,即ASRK=ASK+ARK.
(2) 根據用戶目標知識項,在ASRK中查找與目標知識項相關的前K個知識項.
(3) 計算用戶對知識項的興趣度公式為
其中:N(u)是用戶喜歡的知識項的集合;ASRK(j,K)是和知識項j相似度和關聯度之和較高的K個知識項的集合;Wji是知識項j和i在ASRK中對應的值;Rui是用戶u對知識項i的興趣.該公式的含義是和用戶歷史上感興趣的知識項越相似且關聯度越高的知識項,越有可能在用戶的推薦列表中獲得比較高的排名.
本文對評價精度的度量采用平均絕對偏差MAE(mean absolute error),MAE通過計算預測用戶評分與實際用戶評分之間的偏差度量預測的準確性,MAE越小推薦質量越高.設預測的用戶評分集合表示為{p1,p2,…,pN},對應的實際用戶評分集合為{q1,q2,…,qN},則平均絕對偏差MAE定義為
項目推薦率(IRR)在項目推薦時,設一個用戶的待推薦項目集為W={w1,w2,…,wN},其中wi(i=1,…,N)為待推薦項目,N為待推薦項目數,由于該用戶的所有最近鄰居中沒有發現關于wk(wk∈W)的實際評估記錄,而導致wk無法被推薦,不能被推薦的項目總數為M(M≤N),則稱比值(N-M)/N為關于該用戶的項目推薦率.項目推薦率主要用于衡量最近鄰居查找的效率,也能從側面反映出用戶評分數據庫的離散度.在相同的MAE下,IRR的值越高說明算法的推薦效率越高.
本文從電力安全規程系統的資源庫中選擇1 000條數據作為實驗數據集,其中包含300個用戶和700條知識,將實驗數據集中的3 /4作為訓練集進行挖掘以生成推薦的關聯度,其余的1 /4作為測試集進行測試,與傳統的Item CF進行對比得到在不同最近鄰居下兩種算法的MAE及項目推薦率IRR,實驗結果如圖1和2所示.

圖1 MAE的實驗結果 圖2 IRR的實驗結果
隨著最近鄰居數的增加,算法的項目推薦率IRR隨之增加,與傳統的協同過濾推薦算法相比,本文提出的AR-Item CF推薦算法具有最小的 MAE,較高的IRR,由此可知,本文提出的AR-Item CF推薦算法可以顯著地提高推薦系統的推薦質量和推薦效率.
本文提出的AR-Item CF推薦算法與傳統的Item CF的最大不同在于計算用戶對知識項興趣度的過程中,將知識項之間的關聯程度作為影響推薦結果排名的因素之一,采用關聯規則挖掘和協同過濾推薦聯合算法來向用戶推薦相似度與關聯度比較高的結果.實驗結果證明相對于傳統的協同過濾推薦,本文提出的AR-Item CF推薦算法不僅能夠向用戶執行高質量的推薦,對于推薦執行效率也有一定的提高.然而在最近鄰居數較少的情況下,算法的項目推薦率IRR比較低,如何提高項目推薦率IRR也是下一步工作需要解決的問題,從而進一步完善該算法.
[參考文獻]
[1]彭小圣,鄧迪元,程時杰,等.面向智能電網應用的電力大數據關鍵技術[J].中國電機工程學報,2015,35(3):503-511.
[2]孟祥武,胡勛,王立才,等.移動推薦系統及其應用[J].軟件學報,2013,24(1):91-108.
[3]周育忠,周宏龍,吳江.電網情報智能個性化推薦系統構建[J].圖書情報知識,2014(4):50-56.
[4]楊博,趙鵬飛.推薦算法綜述[J].山西大學學報(自然科學版),2011,34(3):337-350.
[5]趙峰,天恩,孫宏斌.電網安全運行知識的表達與演變[J].中國電機工程學報,2015,35(20):5117-5123.
[6]曲朝陽,陳帥,楊帆,等.基于雙層次分析的智能變電站數據分類方法[J].東北電力大學學報,2014,34(2):61-65.
[7]曲朝陽,陳帥,楊帆,等.基于云計算技術的電力大數據預處理屬性約減方法[J].電力系統自動化,2014,38(8):67-71.
[8]WANG WEI,ZHANG GUANGQUAN,LU JIE.Collaborative filtering with entropy-driven user similarity in recommender systems[J].Int J Intell Syst,2015,30(8):854-870.
[9]GAO MIN,FU YUNQING,CHEN YIXIONG,et al.User-weight model for item-based recommendation systems[J].Journal of Software,2012,7(9):2133-2140.
[10]HU LIANG,SONG GUOHANG,XIE ZHENZHEN,et al.Personalized recommendation algorithm based on preference features[J].Tsinghua Science and Technology,2014,19(3):293-299.
[11]苗苗苗,王玉英.基于矩陣壓縮的Apriori算法改進的研究[J].計算機工程與應用,2013,49(1):159-162.