楊凱利,張其靜,婁紅紅,張雪清,瞿強
(貴州電網有限責任公司六盤水供電局,貴州 六盤水 553000)
隨著智能電網時代的到來,電力系統正在朝著數字化、信息化的方向快速發展,電力系統運行數據也越來越快地產生與積累,如何基于用戶需求來高效地將海量數據中的有用信息提煉挖掘出來,如何精準地向用戶發送個性化的信息推薦,以便更好地提高電力系統的服務質量,已經成為當前電力系統亟待思考的問題[1-3]。推薦系統一直以來都是人工智能、數據挖掘、信息檢索等領域的“熱點”研究課題[4-7],電力系統也不例外。近年來國內外先后出現了多種推薦算法,為電力大數據的個性化推薦打下堅實的基礎,包括混合推薦算法、基于圖結構的推薦算法、協同過濾推薦算法、基于內容的推薦算法等等。協同過濾推薦由于具備較佳的共享性與普適性,且推薦精度較高而被電力系統大規模應用[8]。
傳統協同過濾推薦算法通常都是對物品的相似性進行計算,以計算結果為基準來向用戶推薦,雖然推薦結果可對不同目標之間的相似性進行體現,但并未考慮知識關聯度,而知識關聯度與目標相似性沒有直接聯系[9]。基于傳統協同過濾推薦算法來看,與目標相似的物品通常會取得較高的排名,而與目標相關聯、但并不相似的物品則較易被忽略[10],這樣一來,導致推薦結果的準確度較低。有鑒于此,本文設計了一種新型電力大數據協同過濾推薦算法,有機融合了協同過濾技術與關聯規則挖掘技術,將目標之間的相似度與關聯度均納入到影響因素之中,推薦結果既存在著關聯性,又具備相似性。
傳統協同過濾推薦算法通常可分為Item CF與User CF兩大類[11-12],其中,User CF是基于用戶的協同過濾推薦算法,更新次數較多、更新周期較短;其側重點在于對聚類組與用戶和的相似性進行考慮,只要物品與用戶喜歡的類似物品相似,那么就會向用戶進行推薦,其推薦順序往往是按照評分高低來確定[13-15],例如,若用戶曾經在網上商城購買或者搜索過洗衣機的網頁,那么網站就會在短時間內自動向用戶發送大一堆與洗衣機相關的廣告和鏈接。
Item CF則是基于物品的協同過濾推薦算法,它往往需要長時間的在線計算才可獲得不同用戶之間的相似度關系,其計算復雜度并不會與用戶數量的多少直接相關,故而可離線計算得出用戶相似度,準確性更易于用戶接受。再加上物品數量要遠小于用戶數量,且物品數據的穩定性較強,故而其計算復雜度要遠低于User CF,再加上Item CF又能夠為推薦做出合理的解釋,具有很多優勢,故而被市場所大規模應用,但是也存在著較大的改進空間[16]。
基于用戶的協同過濾推薦算法User CF通常是以用戶所評分項目為基礎來對相似鄰居集進行搜尋,再將相似鄰居集中的項目推薦給用戶。其計算原理為:在對不同用戶之間的相似度進行計算時,往往會將用戶對全部評分項目的偏好來作為計算向量,待將K鄰居找出來之后,再基于用戶對物品的偏好程度,以及鄰居的相似度權重來開展預測。所形成的項目序列作為用戶推薦序列[17]。
協同過濾推薦算法User CF的主要優點有三點:第一,基于用戶的協同過濾推薦算法User CF特別適用于較為完整的用戶評分矩陣,可獲得較高的推薦精度;第二,基于用戶的協同過濾推薦算法User CF不需要對項目本身進行深入分析,較好地適用于難以分析、結構復雜的項目[18];第三,基于用戶的協同過濾推薦算法User CF可將目標用戶的潛在興趣偏好進行挖掘,所推薦的部分項目很有可能就會涵蓋用戶之前并未意識到的興趣偏好[19]。但是協同過濾推薦算法User CF也具有較為明顯的缺點:第一,其擴展性不太強,若用戶數量越來越多,那么User CF的計算量異常龐大,計算復雜度很高;第二,矩陣稀疏性問題較為嚴重,若存在著用戶-項目矩陣評分數據稀疏的情況,那么就會直接導致用戶相似度計算結果出現嚴重失真的情況,難以向目標用戶實現精準推薦;第三,在新用戶剛加入系統時,由于可用于評分的數據數量較少,甚至完全沒有評分數據,那么就較易出現“冷啟動”現象,根本不能向目標用戶進行要推薦,就需要通過熱點推薦的方式來解決這一問題,但效果并不太好[20]。
基于物品的協同過濾推薦算法Item CF并不從用戶角度來考慮計算問題,而是從物品本身出發來進行考慮。換而言之,就是通過用戶對物品的偏好程度來搜索出相似物品,而后再基于用戶歷史偏好來有針對性地推薦相似物品。例如,基于用戶歷史偏好購買物品來看,偏好購買物品A的用戶也傾向于喜歡物品C,那么就可得出:物品C與物品A之間的相似程度較高,而某一用戶C喜歡物品A,那么就可自然而然地判斷出它也有可能會偏好購買物品C,那么就可向用戶C推薦其可能感興趣的物品。基于物品的協同過濾推薦算法Item CF可離線計算得出用戶相似度,準確性更易于用戶接受,計算復雜度要遠低于User CF,再加上Item CF又能夠為推薦做出合理的解釋,具有很多優勢,市場應用效果較佳。但是基于物品的協同過濾推薦算法Item CF也存在著較多的避免,主要體現在:第一,Item CF算法并不會對不同用戶之間的差異進行考慮,但實際上不同的用戶往往會具有不同的特點及偏好,再加上使用者并不能予以確定,這樣一來,就會造成推薦精度不高的現象[21]。第二,在新物品剛加入系統時,由于可用于評分的數據數量較少,甚至完全沒有評分數據,那么必然很容易在很長時間內都難以向目標用戶進行推薦。
電網領域知識主要分為兩大類,分別是動態知識與靜態知識,其中,動態知識既包括了電力系統運行過程中所形成的實時數據,又包括了以時間為關鍵屬性的預測型知識;靜態知識則涵蓋了電力故障診斷知識、電力運行決策知識、電力規程類知識、電力設備知識等。不同知識之間的聯系通常并不明顯,往往會讓用戶難以理解,且不會給用戶提供易于查詢的推薦信息[22]。由此可見,選擇一種較佳的知識表示方法就顯得極為重要,既有利于構建清晰的知識結構,又有利于提高知識檢索效率與知識存儲效率,還有利于縮短數據挖掘時間,進而可在很大程度上增強數據挖掘效率。
將電網領域知識劃分為粒度不同的知識項,再采用知識樹結構將其貫穿起來,實現知識的可視化、關聯化、體系化,必然可較好地符合當前知識表示的需求。本文以知識點為單元來分解電網數據,使之形成若干個知識項,通過構建知識樹模型KT來將不同的知識項關聯起來,如公式(1)。

式中,KP為知識點屬性,KR為知識點關系。
2.1.1 知識點屬性KP
KP可通過五元組{KID,KN,KW,KI,KP}來進行描述,其中,KP為與知識點相互對應的資源路徑,KI為知識點的重要程度,KID為知識點的編號,KN為知識點的名稱,KW為知識點的關鍵字。
KI是知識點屬性的關鍵性因素,重要程度與其被引用次數直接掛鉤,若被引用次數越多,那么說明該知識點越重要。假設x為某知識點的被引用次數,那么可用隸屬函數公式(2)來描述其重要程度:

2.1.2 知識點關系KR
KP可通過四元組{RN,KPN,Relation,Degree}來進行描述,其中,KPN為關聯知識點編號及主知識點編號,RN為關系編號,Relation為相關知識點與主知識點關系類型,Degree為相關知識點與主知識點關系程度。
從目前來看,電力系統的用戶數據存在著明顯的多變特征,而領域知識則要相對穩定的多[23],所以,本文有機融合了協同過濾技術與關聯規則挖掘技術,形成了一種新型電力大數據協同過濾推薦算法,即:聯合算法AR-Item CF。聯合算法AR-Item CF以電力運行系統日志為載體,深入挖掘用戶評價、用戶關注、用戶收藏、用戶瀏覽等知識項行為;按照不同知識項行為的輕重程度來劃分為不同的權重,以此來計算得出用戶評分,在吸取Item CF算法優點的態勢,又將知識關聯度作為影響推薦結果排名的主要因素之一,同時融合了協同過濾技術與關聯規則挖掘技術,將目標之間的相似度與關聯度均納入到影響因素之中,推薦結果既存在著關聯性,又具備相似性,所形成的用戶-知識評分矩陣如表1所示。

表1 用戶-知識評分矩陣Tab.1 Scoring matrix of user-knowledge
(1)訓練集選取用戶-知識評分矩陣中前四分之三的知識數據項集,測試集則選取用戶-知識評分矩陣中余下的后四分之一的知識數據項集;用戶興趣模型在訓練集上進行構建,預測工作則在測試集上開展。
(2)對知識項的相似性進行計算。不同知識項之間的相似度可通過余弦相似性方法來進行計算,以知識項i和知識項j為例,二者所能形成的相似性計算公式為(3):

(3)以公式(3)為基準,可形成知識項余弦相似度矩陣ASK,如表2所示。
知識項與最近鄰知識項之間的關系屬于典型的顯性關系,緊緊圍繞著“以知識項為中心”;而知識項與非最近鄰知識項之間的關系以及不同知識項組合而衍生出來的新知識點等等均屬于典型的隱性關系,只有通過深入地挖掘與剖析之后才可顯現出來,其關聯性通常是通過置信度來進行表示。縱觀國內外關聯規則挖掘技術領域,最常用的經典算法當屬Apriori算法;無論是在置信度,還是在關聯支持度計算方面,Apriori算法均有較佳的應用優勢[24-25]。有鑒于此,本文在對不同知識項之間的關聯度進行計算時,所選用的算法依然為Apriori算法,其計算步驟為:第一,Apriori算法的輸入項為知識樹中的知識項;第二,對數據集進行逐一單遍掃描,進而得出每個知識項的支持度,形成頻繁1-項集;第三,采用Apriori算法來掃描全部的數據集,候選2-項集的支持度計數通過子集函數來進行計算;第四,為了防止出現低置信度的計算結果及高相似性的計算結果,只要候選項集的支持度計數低于minsup,那么則將其置信度設定為0;第五,對候選2-項集的置信度conf進行計算,進而形成如表3所示的知識項關聯矩陣。

表2 知識項余弦相似度矩陣Tab.2 Cosine similarity matrix of knowledge term

表3 知識項關聯矩陣Tab.3 Association matrix of knowledge item
(1)通過將知識項關聯矩陣與知識項余弦相似度矩陣進行求和計算,那么就可形成計算用戶對知識項興趣度的矩陣ASRK。
(2)基于用戶的目標知識項,可在計算用戶對知識項興趣度的矩陣ASRK中查找與其密切相關的前K個知識項。
(3)用戶對知識項興趣度的計算公式為(4),由公式(4)可見,若知識項與用戶歷史上所查找的知識項較為相似,且關聯度較高,也就是同時兼具相似度與關聯度,那么就能夠在用戶推薦列表中位列前茅[26-29]。

式中,Rui為對知識項i的興趣程度;N(u)為用戶歷史上所查找的知識項集合;ASRK(j,k)為K個知識項之集合,且這些知識項均與知識項j存在和較高的相似性與關聯度;Wji為知識項在K個知識項之集合的對應值。
本文通過MAE(平均絕對偏差)來對實際用戶評分與預測用戶評分的偏差程度進行計算和預算,以此為依據來評價推薦結果的精度,若平均絕對偏差越小,那么就表明推薦結果的精度越高、推薦質量越高;若平均絕對偏差越大,那么就表明推薦結果的精度越低、推薦質量越低。假定預測用戶評分的集合為{p1,p2,…,pN},實際用戶評分的集合為{q1,q2,…,qN},那么就可通過公式(4)來計算MAE(平均絕對偏差):

假定某用戶的待推薦項目集為W={ω1,ω2,…,ωN},令N為待推薦項目數,ωi為待推薦項目;若用戶的全部最近鄰居中均無與ωk相關的實際評估記錄,這樣一來,就會出現ωk未能夠被推薦的情況,那么就會導致有M個項目未被推薦,當然M的取值應該要不大于N,那么該用戶的項目推薦率(IRR)就可通過(N-M)/N來進行計算。項目推薦率(IRR)大多都用于對用戶周圍最近鄰居的查找效率進行衡量,并且還可從另外一個角度來體現出用戶評分數據庫的離散度。在平均絕對偏差MAE相同的情況下,項目推薦率(IRR)與算法的推薦效率呈現出較為明顯的正比關系,若項目推薦率(IRR)越高,那么就表明算法的推薦效率越高;若項目推薦率(IRR)越低,那么就表明算法的推薦效率越差。
本實驗所采用的數據集來自電力安全規程系統的資源庫,從中隨機選擇1000條數據,涵蓋700條知識、300個用戶。訓練集選取實驗數據集中前四分之三的數據,測試集則選取實驗數據集中余下的后四分之一的數據,分別采用本文所提出的新型電力大數據協同過濾推薦算法(聯合算法AR-Item CF)與傳統的Item CF算法進行對比,所得出的平均絕對偏差MAE實驗結果對比如圖1所示,所得出的項目推薦率IRR實驗結果對比如圖2所示。

圖1 平均絕對偏差MAE實驗結果對比Fig.1 Comparison of the results of the average absolute deviation MAE experiment

圖2 項目推薦率IRR實驗結果對比Fig.2 Comparison of IRR experiment results of project recommendation rate
由圖1可知,無論是聯合算法AR-Item CF,還是與傳統Item CF算法,平均絕對偏差MAE均會隨著最近鄰居數的增大而小幅下降,而后其值又基本保持不變的狀態,但在最近鄰居數不變的前提下,聯合算法AR-Item CF的平均絕對偏差MAE明顯要低于傳統Item CF算法,如前所述,若平均絕對偏差越小,那么就表明推薦結果的精度越高、推薦質量越高;若平均絕對偏差越大,那么就表明推薦結果的精度越低、推薦質量越低。由此可見,聯合算法ARItem CF推薦結果的精度更高、推薦質量更高。由圖2可知,無論是聯合算法AR-Item CF,還是與傳統Item CF算法,項目推薦率IRR均隨著最近鄰居數的增大而逐漸增大,但在最近鄰居數不變的前提下,聯合算法AR-Item CF的項目推薦率IRR明顯要高于傳統Item CF算法,如前所述,若項目推薦率(IRR)越高,那么就表明算法的推薦效率越高;若項目推薦率(IRR)越低,那么就表明算法的推薦效率越差。由此可見,聯合算法AR-Item CF的推薦效率更高。綜合可知:本文所提出的新型電力大數據協同過濾推薦算法(聯合算法AR-Item CF)能夠在很大程度上增強推薦系統的推薦效率與推薦質量,取得較佳的效果。
(1)聯合算法AR-Item CF以電力運行系統日志為載體,深入挖掘用戶評價、用戶關注、用戶收藏、用戶瀏覽等知識項行為;按照不同知識項行為的輕重程度來劃分為不同的權重,以此來計算得出用戶評分,在吸取Item CF算法優點的態勢,又將知識關聯度作為影響推薦結果排名的主要因素之一,同時融合了協同過濾技術與關聯規則挖掘技術,將目標之間的相似度與關聯度均納入到影響因素之中,推薦結果既存在著關聯性,又具備相似性。
(2)本實驗所采用的數據集來自電力安全規程系統的資源庫,從中隨機選擇1000條數據,涵蓋700條知識、300個用戶。訓練集選取實驗數據集中前四分之三的數據,測試集則選取實驗數據集中余下的后四分之一的數據,分別采用本文所提出的新型電力大數據協同過濾推薦算法(聯合算法ARItem CF)與傳統的Item CF算法進行對比。實驗結果表明:本文所提出的新型電力大數據協同過濾推薦算法(聯合算法AR-Item CF)能夠在很大程度上增強推薦系統的推薦效率與推薦質量,取得較佳的效果。