鄒 慶 吳冠宇 黃 昆,4 余 璟 高 原,4
(1.南瑞集團有限公司(國網(wǎng)電力科學研究院有限公司) 南京 211106)(2.國電南瑞科技股份有限公司 南京 211106)(3.國網(wǎng)江蘇省電力公司 南京 210024)(4.智能電網(wǎng)保護和運行控制國家重點實驗室 南京 211106)
為適應新一代電力系統(tǒng)發(fā)展的需要,國家電網(wǎng)公司提出建成具有“共享、智能、開放、安全”特征的新一代調(diào)控系統(tǒng)[1]。建立適用電網(wǎng)調(diào)控業(yè)務的應用商店,是打造新一代調(diào)控系統(tǒng)開放生態(tài)的重要手段。新一代調(diào)控系統(tǒng)應用商店為國網(wǎng)公司各調(diào)控業(yè)務用戶,提供監(jiān)視控制、分析預警、計劃決策、仿真模擬、綜合評估及自動化業(yè)務等六大類場景數(shù)千個應用。如何幫助電網(wǎng)調(diào)控用戶,從應用商店中快速、高效的獲取到需要的應用功能,是新一代調(diào)控系統(tǒng)應用商店需要解決的一個重要問題。
目前,互聯(lián)網(wǎng)各類應用商店常用的應用推薦方式:專家推薦[2]、基于用戶社交關系的推薦、基于數(shù)據(jù)挖掘和機器學習技術的推薦。蘋果公司App-Store 各類應用榜單是專家推薦的典型代表,蘋果公司為此組建了專職的編輯團隊,為用戶進行篩選推薦。這類方法需要較大的人員投入,并且推薦結果單一,難以反映用戶的個性化需求?;谟脩羯缃魂P系的推薦[3~4],利用系統(tǒng)內(nèi)用戶之間的社交關系數(shù)據(jù),為用戶推薦“朋友們正在使用的應用”。在企業(yè)應用場景中,用戶缺少社交屬性,難以直接應用該推薦技術?;跀?shù)據(jù)挖掘和機器學習技術的推薦,又可以分為:基于項目的協(xié)同過濾推薦技術[5]、基于人員的協(xié)同過濾推薦技術[6]、基于內(nèi)容的推薦技術[7]等。這類推薦技術,基本原理都是基于用戶行為歷史數(shù)據(jù),分析用戶興趣特征和項目特征,建立用戶和項目偏好關系,為用戶進行個性化推薦。項目的特征有多種構建方式[8],包括物品的屬性集合[9]、隱語義向量[10]、標簽等。標簽是能夠準確的表達物品內(nèi)容特征的關鍵詞[11],按生成方式一般有兩種:一種是專家標簽(Professionally-generated Content,PGC)[12],由項目創(chuàng)建者或者審核編輯,根據(jù)項目特點給物品定義的特性關鍵詞;另一種是用戶自定義標簽(User-generated Content,UGC)[13],由使用者根據(jù)個人感受為物品定義的個性關鍵詞標簽?;跇撕灥耐扑]算法[14~15]大多是基于UGC 標簽進行特征分析和推薦,基于PGC 標簽進行推薦的研究較少。
新一代調(diào)控系統(tǒng)應用商店作為一個企業(yè)內(nèi)部系統(tǒng),用戶社交頻率不高,難以獲得足夠的UGC 標簽;另一方面,應用開發(fā)商提交應用時,提供了應用的關鍵詞和應用分關鍵類信息,并經(jīng)過管理員的審核,信息比較準確,可以作為PGC的來源。因此,本文提出一種基于專家標簽的推薦技術,通過用戶留存應用包含的專家標簽,分析用戶對專家標簽的興趣特征,建立基于標簽的用戶應用的興趣度計算公式,并利用相同專業(yè)的用戶興趣,補充目標用戶對其他應用的興趣度,實現(xiàn)面向新一代調(diào)控系統(tǒng)應用的個性化推薦。最后,基于實驗數(shù)據(jù)集進行了多輪測試,實驗結果驗證了本文提出的算法對應用個性化推薦的效果。
新一代調(diào)控系統(tǒng)應用商店中的應用集合A 和用戶集合U可分別表示為
式中:N為應用總數(shù),M為系統(tǒng)用戶數(shù)。
我們把用戶已下載安裝且未卸載的應用,稱為用戶留存應用,用戶um留存應用集合可以定義為
式中:N'為用戶um留存應用個數(shù)。
其中,Ti表示應用ai的特征向量,ki,1、ki,2、ki,3分別表示應用ai上的3 個關鍵詞,ci表示應用ai屬于的分類,由于1個應用可以同時屬于1個或多個分類,應用ai特征可進一步表示為
式中:J為應用ai的應用分類個數(shù)。
用戶um留存應用,包含的標簽集合表示為
式中:P 為用戶um留存的應用包含的PGC 標簽個數(shù)。基于TF-IDF 算法[16],用戶um對Rm中某個標簽tm,p的偏好可表示為
式中:Num(rm,p)為用戶um留存的應用中包含標簽tm,p的應用個數(shù),Num(Rm)為用戶um留存的應用包含的標簽數(shù),Num(tA,m,p)為所有應用中包含標簽tm,p的應用個數(shù)。用戶留存應用中,包含某個標簽的應用越多,說明該標簽對用戶的選擇偏好影響越大;同時,在所有應用中,越多的應用包含某個標簽,該標簽能夠反映用戶興趣的區(qū)分度越低。
基于式(7),用戶um對應用ai的偏好,可以通過用戶um對應用ai上的多維標簽的偏好,按照權重疊加計算,表示為
式中:Pm,k表示用戶um對應用ai的關鍵詞ki標簽的興趣度,Pm,c表示用戶um對應用ai的分類標簽ci的興趣度,l為應用分類特征相對于關鍵詞特征的權重。
基于式(8),為目標用戶um計算所有待預測應用的興趣度并進行排名,選擇興趣度Top-N應用集合,作為推薦候選集RAm,N。
式(8)是建立在基于目標用戶um歷史行為,分析用戶留存應用標簽基礎上計算用戶對應用的興趣度。對于那些不包含目標用戶um喜好標簽的應用,可以參考與目標用戶um興趣度相似的用戶進行推薦。傳統(tǒng)基于用戶的協(xié)同過濾,主要通過統(tǒng)計用戶的歷史行為,挖掘出行為特征類似的用戶,確定為同類用戶,進行協(xié)同推薦[17]。整個過程計算復雜,花費時間長。在新一代調(diào)控系統(tǒng)場景中,企業(yè)用戶有顯著的專業(yè)特性,同一專業(yè)崗位的用戶,工作職責和工作范圍都比較相似,其選擇的應用具有很大的參考性,所以本文利用這一特點,基于式(8)計算同一專業(yè)崗位的用戶的平均興趣度,選擇興趣度Top-N應用集合,作為用戶um推薦候選集RA'm,N。
合并推薦候選集RAm,N與RA'm,N,按照興趣度選擇Top-N作為用戶um最終的推薦結果Wm,N。
本文提出的推薦算法,利用應用包含的多維特征專家標簽,建立用戶和應用之間的關聯(lián)關系,通過用戶對應用標簽的偏好分析,預測用戶對其他未知應用的興趣度,結合目標用戶以及目標用戶相似用戶的偏好,生成Top-N推薦。具體算法如下:
算法1
輸入:訓練集,測試集,l值,N值
輸出:目標用戶um的Top-N推薦集Wm,N
步驟1:根據(jù)訓練集中用戶留存應用信息A',廠商標注的應用標簽(關鍵詞和應用分類)信息T,計算出用戶um留存的應用標簽集合Rm
步驟2:根據(jù)式(3)計算用戶um對標簽的偏好矩陣Pm
步驟3:根據(jù)式(4)計算用戶um對應用的偏好矩陣Im
步驟4:按照目標用戶um對應用的偏好值排序,選擇Top-N應用候選推薦集RAm,N
步驟5:根據(jù)用戶崗位屬性,選擇同一崗位的用戶,根據(jù)同類用戶對應用的偏好值排序,選擇Top-N應用,構建應用候選推薦集RA'm,N
步驟6:合并候選推薦集RAm,N和RA'm,N按照偏好值排序,從中選擇Top-N推薦應用集Wm,N。
新一代調(diào)控系統(tǒng)目前正處于試點建設階段,應用商店還缺少足夠的應用信息和用戶行為數(shù)據(jù)。為了驗證本文提出的推薦算法,我們從互聯(lián)網(wǎng)公開數(shù)據(jù)集中選擇了GroupLens 實驗室2000 年發(fā)布的MovieLens 1M 電影評級數(shù)據(jù)集[18],該數(shù)據(jù)集包含的用戶和電影數(shù)量,與新一代調(diào)控系統(tǒng)的用戶和應用規(guī)模比較接近。由于MovieLens 1M[19]數(shù)據(jù)集并沒有包含電影標簽數(shù)據(jù),我們從MovieLens 10M[20]數(shù)據(jù)集中篩選出了MovieLens 1M 數(shù)據(jù)集中所有電影所對應的標簽數(shù)據(jù),加入到實驗數(shù)據(jù)。實驗數(shù)據(jù)包括:
電影數(shù)據(jù)([“movies”]):包括電影標記、電影名稱及電影類別(可多選)。
用戶數(shù)據(jù)([“users”]):用戶標記、用戶職業(yè)。
電影評分數(shù)據(jù)([“ratings”]):用戶標記、電影標記、用戶對電影評分(1-5分)。
電影標簽數(shù)據(jù)([“tags”]):用戶標記、電影標記、用戶對電影所打標簽。
GroupLens 發(fā)布的電影數(shù)據(jù)集,其場景與本文的新一代調(diào)控系統(tǒng)應用商店的場景有所差異,無法直接應用于算法1,需要進行必要的數(shù)據(jù)預處理。GroupLens 數(shù)據(jù)集中電影標簽屬于UGC 標簽,來源于用戶對電影的個性化標簽操作,同一部電影不同用戶根據(jù)個人感受可能會打出多個不同的標簽,這與新一代調(diào)控系統(tǒng)應用商店中,由開發(fā)廠商提交關鍵詞、應用分類等應用專家標簽不同,為此我們對GroupLens中電影標簽數(shù)據(jù)([“tags”])進行了處理:從每部電影的用戶個性化標簽數(shù)據(jù)中,篩選出使用頻率最高的三個標簽,作為該電影的“關鍵詞”標簽,電影數(shù)據(jù)([“movies”])中的分類信息作為分類標簽,共同構成電影的“專家”標簽。同時,對應新一代調(diào)控系統(tǒng)中應用是/否留存的狀態(tài),基于電影的評分數(shù)據(jù)([“ratings”]),先統(tǒng)計出平均值M,作為電影平均質(zhì)量的評判標準,用戶對電影的評分大于等于M時,定義為用戶“留存”電影A'。
將實驗數(shù)據(jù)集中電影評分數(shù)據(jù)([“ratings”]),按照80/20 比例隨機分成兩部分:訓練數(shù)據(jù)集T1包含評分數(shù)據(jù)其中的80%,測試數(shù)據(jù)集V1包含剩余的20%。為了保證實驗結果的客觀性,分為5 輪進行重復測試,每輪保持80/20 比例重新隨機劃分訓練數(shù)據(jù)集Ti和測試數(shù)據(jù)集Vi,1 ≤i≤5。
根據(jù)算法1,通過訓練數(shù)據(jù)Ti為用戶um生成的推薦集合Ri。通過測試數(shù)據(jù)驗證,計算推薦集合Ri中應用的正負反饋比,在測試數(shù)據(jù)Vi中評分大于應用商店平均分M 的應用判定為正反饋,評分低于M的判定為負反饋。正負反饋比越高,證明應用留存的概率越大,即應用推薦的質(zhì)量越高。
根據(jù)算法1,在每輪試驗中,λ值依次為1、2、0.5、0.2,N 值依次為10、20、30、40、50。5 輪試驗結果對比如圖1所示。
圖1 不同l值、N值對應的推薦列表正負反饋比較
由圖1可以看出,5輪試驗,隨著訓練數(shù)據(jù)集和測試數(shù)據(jù)集的隨機劃分,推薦結果雖有一定波動,但推薦結果表現(xiàn)出類似的變化趨勢。在同一l 值時,Top-N推薦N值取10時,取得最好的推薦效果,推薦的準確性最高;隨著N 值范圍越大,推薦的準確性越低,推薦結果中出現(xiàn)負反饋的比例越大。
此外,不同λ值對于推薦結果的表現(xiàn)為,λ值為1時表現(xiàn)相對更好,λ值為0時,有一定程度降低,其余λ值表現(xiàn)變化不大。所以再考慮應用的標簽數(shù)據(jù)時,應用的關鍵詞標簽、分類標簽不同維度的標簽,都應該納入推薦依據(jù),根據(jù)試驗結果,兩個維度權重相等時,取得最好的推薦結果。
本文在基于專家標簽多維特征的內(nèi)容推薦上,采用同類用戶協(xié)同推薦,對推薦結果進行優(yōu)化。下表對本文方法和基于標簽的內(nèi)容推薦方法進行了推薦質(zhì)量采用每輪實驗正負反饋比平均值進行對比。
由表1 可以看出,本文方法相對于基于標簽的推薦算法有了明顯的改進,在多維標簽特征對推薦結果的基礎上,結合用戶的工作屬性,根據(jù)同類用戶喜好進行協(xié)同過濾,對推薦結果的準確度有進一步提升。
表1 2種算法的推薦質(zhì)量比較
實驗結果顯示,本文提出的面向新一代調(diào)控系統(tǒng)的應用個性化推薦技術,在傳統(tǒng)基于用戶標簽的推薦技術基礎上,充分利用新一代調(diào)控系統(tǒng)的場景特性,基于專家標簽建立多維特征用戶興趣度模型,利用相同專業(yè)用戶興趣偏好進行協(xié)同推薦,為用戶實現(xiàn)了應用個性化推薦,提高了用戶應用選擇效率。后續(xù)將在新一代調(diào)控系統(tǒng)上線運行過程中,通過采集用戶操作數(shù)據(jù),進一步完善推薦算法,實現(xiàn)更高質(zhì)量的推薦結果。