楊紫曦,徐建良
(中國海洋大學 信息科學與工程學院,山東 青島 266100)
摘要:針對當前高校科研管理實際,研究對比了多種主流數據挖掘推薦算法的適用性,挑選出適合設備數據條件的推薦算法,并進行算法實際使用分析。最后,將基于內容過濾的推薦算法、基于用戶的協同過濾的推薦算法和基于條目的Slope One算法結合使用,互相補充,實現算法各性能的提高,完成高質量的推薦。
關鍵詞:推薦算法;數據挖掘;設備推薦
0引言
近年來國內高校信息技術的應用發展迅速,對高校的科研管理的要求越來越高。為了更有效地管理和規范高校科研資源,實現教師和專家的有效、便捷使用,助力科研水平的提升,信息技術在高校科研管理中充當非常重要的作用。
教師和專家根據項目需求進行設備申購采備時,需要花大量的時間和精力來進行設備挑選工作。對比各種相似設備的區別和各項指標,斟其利弊,才能決定所要購買的設備,大大延誤了科研時間。
因此,本文比較各種推薦算法的優勢、劣勢、可行性并結合專家設備系統的特性進行選擇,最終確定將三種過濾算法結合使用,同時進行算法實際使用的分析。
1數據挖掘與推薦系統
1.1數據挖掘
數據挖掘(Date Mining)就是從大量的、不完全的、有噪聲的、模糊的、隨機的實際應用數據中,提取隱含在其中的、人們事先不知道但又是潛在有用的并最終可理解的信息和知識的非平凡過程[1]。這些知識中包含了概念、規則等內容。數據挖掘是一門綜合性的技術,它包括了機器學習、數據庫、統計學、數據可視化等多個研究領域。數據挖掘從海量數據中獲取有用的知識,其處理的數據各不相同,可能有確定格式,或者是無確切格式。例如,處理數據庫中的數據時,數據是有條理有格式的,而網絡上的文章、音樂、視頻卻是格式各異、無確定形式的。因此需要使用不同的解決方式。數據挖掘涉及各種領域的科學方法,如聚類方法、關聯分析、協同過濾、神經網絡等。所以,數據挖掘是在大量模糊數據但是蘊含一定真實知識數據的基礎上,排除其模糊、干擾,從中提取出有用且確切的知識數據的過程[2]。
1.2推薦系統
推薦系統是使用數據挖掘的良好實踐,是針對用戶的有針對性挖掘。推薦系統通過處理用戶的行為數據、推測用戶的行為習慣、歷史偏好,依據一定的約定與規律,將待推薦條目推薦給用戶。因為這種行為是系統主動發起的,不需要用戶自己輸入關鍵詞,所以與傳統搜索系統大不相同。系統通過不斷的信息收納與機器學習,建立算法推薦模型,然后利用這個模型來推測用戶的興趣偏好,從而在已有的條目中選擇偏好程度較高的若干條目推薦給用戶。評分推薦是一種比較可靠的推薦模式,個性化定制推薦可以概括成對用戶未評分過的條目的評分估計問題,最終得出的推薦列表是一個以系統評估分數排序的條目集合。對于那些沒有考慮評分的系統,系統會根據用戶信息、用戶歷史行為痕跡來推測用戶興趣偏好較高的多個條目,最終產生一個推薦結果。
不同推薦系統的推薦過程是不一樣的,它們會采取不同的處理方式來處理不同的數據源信息,推薦系統產生推薦結果后,利用各種形式展現給用戶,如果用戶滿意度比較高,大大便利了用戶的使用,則用戶會非常樂意使用這個系統,時間一長會對系統產生使用慣性,產生良好的使用效果。
2高校科研信息管理中設備推薦系統算法分析
2.1數據規模與算法依據分析
高校科研設備管理系統數據結構不同于網上購物平臺。我校設備管理系統中存在4 000多個教師用戶,以及近三萬條設備申購記錄和相關信息(包括千余個設備、設備參數、供應商等),并涉及9 000多個項目信息。關聯的科技處管理系統里還有教師成果如論文、專利在內的近萬條數據可供使用。數據庫中有超過460 MB的信息。
所有的設備申購記錄中存在這樣的特點:(1)設備的特殊性,設備不同于商品,購買量和價格普遍高于網絡購物平臺的商品,購買原因不只是愛好更是因為項目需求以及工作需要,所以應該另行分析。(2)數據稀疏性問題,各專家申購數量差距較大,部分教師只有極少的申購數量甚至沒有申購。(3)專家差異性,各專家教師所屬學科背景差異較大,所申購的設備可能毫無共性和推薦價值。所以,在推薦算法的選取中必須結合高校設備管理系統的數據結構和數據特點來做針對性的推薦。
以下對各種算法的可行性和適應性進行分析。
使用基于關聯規則的推薦算法時,由于數據量的不足,系統通過數據分析后難以準確得出專家對設備的關聯興趣結果,關聯規則集合R完成度低。由于最小支持度和最小置信度的限制,部分較冷門設備不能進入關聯規則集,限制了推薦的召回率。基于關聯規則的推薦對專家之間和設備之間的關系分析較少,推薦的針對性不足。
基于內容過濾的推薦需要從基礎數據中挖掘出設備的相似度。由于科研系統中設備跨度小,屬于同一范疇的設備較多,所以那些與專家用戶興趣偏好相似的設備很容易就出現在推薦列表中,而且大部分專家用戶的興趣偏好比較穩定,具有明確的設備申購方向,推薦效果會非常出色,能夠起到很好的個性化推薦的作用,所以本文的設備推薦系統將會應用基于內容過濾的推薦方法。
在高校設備管理系統實際使用中,經常會有這樣的情況:部分專家用戶的申購可能會出現與已購設備相差較大的設備,其興趣遍布較廣,不局限于某幾種類型。這種情況使用基于內容過濾推薦將無法完成較好的推薦。所以,增加基于協同過濾的推薦算法將會產生很好的效果。
基于協同過濾的推薦算法根據挖掘的數據信息并有效利用專家與專家、設備與設備之間的聯系進行推薦。
通過基于用戶的協同過濾挖掘專家與專家之間的相似性,找到興趣相似的專家用戶群,利用近鄰的興趣偏好進行推薦,成功解決部分專家興趣遍布廣泛問題,為專家推薦新設備。
引入基于條目的協同過濾算法能挖掘出各設備與設備的潛在關聯,不僅計算效率高,也能解決稀疏性和冷啟動的問題。
2.2各算法實際使用分析
2.2.1基于關鍵詞的內容過濾設備推薦算法
基于關鍵詞內容過濾算法,首先需要建立專家興趣模型,對專家的興趣進行數據量化。本文進行內容過濾推薦使用基于關鍵詞的用戶興趣模型方法:即基于加權關鍵詞的矢量表示法。專家和設備的對應用一個多維特征向量n來表述,n的每個維度對應描述專家和設備的關鍵詞權重,關鍵詞反映了專家的興趣愛好和設備的特征,權重值反映該特征對專家和設備的代表性強弱。后續計算只需對特征向量進行分析即可得出專家和設備的相似程度和興趣值,用以推薦。
專家和設備使用相同的詞庫,各自對應多個關鍵詞,專家的興趣關鍵詞和設備的特征關鍵詞之間的相似度是該算法的關鍵。關鍵詞模型舉例如圖1所示。

圖1中,“化學”、“實驗”關鍵詞通過設備的特征信息或者專家的基本信息獲取,也有部分來自于專家或者管理員的手動標記。設備“ 梨形分液漏斗”的關鍵詞為“化學”、“實驗”。“梨形分液漏斗”被“化學”標記過兩次,與兩個“化學”關鍵詞相連。劉老師被三個關鍵詞標記過:“化學”、“實驗”、“計量”各一次。
標注的次數之和為各關鍵詞的權重分值。可知,“梨形分液漏斗”的關鍵詞“化學”、“實驗”其權重為2和1。專家劉老師的三個關鍵詞“化學”、“實驗”、“計量”權重都為1。
對上述分析進行數學抽象:
E={J1,J2…,Jn}
D={K1,K2…,Kn}
在上述公式中,E和D分別為專家特征向量和設備特征向量。Ki為關鍵詞的權重分值。
得到專家和設備的特征向量之后,需要求得之間的相似關系,可利用余弦公式:

得出相似關系,將相似度最高的TopN作為推薦結果,完成基于內容過濾的設備推薦。
2.2.2基于專家用戶的協同過濾設備推薦算法
基于用戶的協同過濾的核心依據是:某一部分愛好相同的用戶有很大可能性對其他東西興趣偏好也類似。
基于專家用戶的協同過濾推薦算法步驟為:通過最近鄰查詢找到專家的相似專家群,利用相似專家群的評價來推測該專家的評價,對最近鄰集合進行改進,得出的結果由后續Slope One算法使用。
基于用戶的協同過濾推薦算法的主要目標包括:用戶數據建模、用戶相似度計算及專家相似群的歸類和評價的推測。
(1)專家設備評價矩陣的生成
具體實現步驟如下:
①從數據庫ExpertDeviceCount表中獲取單個專家的申購數,將申購數轉化為評分值,建立用戶的設備評分偏好特征向量,評分計算公式如式(2)所示:

式(2)中,Score(e,d)為評分函數,即為專家e對設備d的評分。Be,d為專家e對設備d的申購量。
②重復上述步驟,計算每個專家的設備評分偏好特征向量。
③以每一個設備評分偏好特征向量為行構建設備評分矩陣。
(2)用戶相似度計算和專家相似群歸類
具體實驗步驟如下:
①從專家設備評分矩陣中每一行取出得到專家的設備興趣偏向評分特征向量。
②將當前專家的設備評分特征向量與同一聚類中所有其他專家的評分特征向量求相似,利用余弦公式(1),得到當前專家與聚類中所有專家的相似度。
③將聚類中所有專家按其與當前專家的相似度高低從大到小排序。
④從排序列表中取出前N名專家作為最近鄰專家群。
(3)改進生成最近鄰集合
具體實驗步驟如下:
①將項目成果參與矩陣每一行取出,表示專家項目成果參與向量。
②遍歷計算聚類中其余所有專家項目成果參與向量與當前專家的相似度。相似度計算參照公式(1)。
③將結果按相似度大小排序。
④取出前N位加入最近鄰集合中。
2.2.3基于設備條目的協同過濾設備推薦Slope One算法
利用基于專家用戶的協同過濾,得出最近鄰集合,在給出一個初步推薦后,將利用Slope One算法給出最終推薦。
(1)得到初步推薦結果
采用基于用戶的協同過濾算法,得到初步推薦結果。
預測公式如式(3)。其中, re-表示專家e申購過的設備的平均數量, rv,p表示近鄰專家 v對設備d的購買量,rv-表示近鄰專家的平均購買量,sim表示用戶相似度。

(2)計算近鄰用戶平均相似性
因為后續計算將專家的相似值與Slope One算法融合計算,所以需要計算最近鄰集合中用戶與當前用戶的平均相似度,生成“用戶-項目”相似度矩陣。計算公式如式(4)所示:

其中v表示除了專家e以外的其他申購過設備d的專家;sim(e,v)表示專家e與專家v的相似度;Ud表示所有申購過設備d的用戶數。由于Ud中包括當前專家e,因此減去1。
(3)計算項目平均偏差矩陣
要運用Slope One算法還需知道設備之間的平均偏差,構建平均偏差矩陣。平均偏差計算公式如式(5)所示:

其中,ej、ei表示專家e對設備j和設備i的購買次數,Sj,i(x)表申購過設備i、j的專家集合,card(Sj,i(x))表示專家集合數量。
設備平均偏差描述的是同時申購過這一設備的兩專家的數量偏差,偏差越小,表明兩專家對這一設備的需求量越接近。
(4)預測用戶對目標項目的評分
求出設備間的平均偏差之后,根據加權Slope One算法公式可以對專家進行當前設備的評分預測。
加權Slope One算法的出發點是以共同申購過兩個設備的專家數量作為權重,雖有一定的精確度提高,但是忽略了專家用戶的相似度。下面分析專家用戶的相似度對Slope One算法預測結果影響。
假如同時有40個專家對設備i和設備j購買數相同,用專家集cij表示,同樣,也有40名專家對項目i和q購買數量相同,用cik表示。這種情況下,使用加權Slope One算法預測購買數是相同的。但是cij和cik的平均相似度不相等,若cij大于cik很多的話,其參考意義更大[3]。
所以本文加入專家相似度的影響,綜合Slope One算法來給出最終預測。利用之前所計算的設備評分偏差和專家平均相似性,由式(6)得到基于協同過濾設備的推薦結果,即評分值:

其中,S(e,i)表示專家間的平均相似度。
2.3生成推薦結果
上述各步驟給出了加入專家相似度的加權Slope One算法推薦設備評分,將按照評分給出基于兩種協同過濾推薦算法的結合推薦結果。
使用TopN方法,根據預測評分將設備進行排序,選擇評分最高的前N臺設備加入最終推薦列表。
2.4對推薦結果進行匯總
最終的推薦列表包括基于關鍵詞內容過濾的推薦結果和基于兩種協同過濾設備推薦的推薦結果。基于關鍵詞內容過濾的算法結果為專家與設備的相似度值sime,d(e,d),基于協同過濾的推薦算法結果為評分值p(e)j。為得到最終匯總結果,需再進行一次關于設備專家相似度的結合。如式(7)所示:
p(e,d)j=sime,j(e,j)×p(e)j(7)
其中p(e)j為基于協同過濾算法得出的當前專家對設備j的評分。
按照p(e,d)j的大小從高到低進行排序,最終得到輸出給專家的推薦結果列表。
3結論
基于內容過濾的推薦需要從基礎數據中挖掘出設備的相似度,由于科研系統中設備跨度小,屬于同一范疇的設備較多,因此那些與專家用戶興趣偏好相似的設備很容易就出現在推薦列表中,而且大部分專家用戶的興趣偏好比較穩定,具有明確的設備申購方向,推薦效果會非常出色,能夠很好地起到個性化推薦的作用
高校設備管理系統整體購買量較大,設備數據量較大,直接使用基于設備條目的協同過濾遍歷整個申購數據計算量過大,效率很低,所以本文先基于專家用戶的協同過濾思想尋找專家之間關聯,找到最近鄰關系,再對最近鄰結果進行基于設備條目的協同過濾分析,大大優化了計算復雜性。
三種算法的結合使用,在準確率和召回率方面都對推薦引擎性能有較大的提高。
參考文獻
[1] 林德軍. 基于Slope One改進算法推薦模型的設計與實現[D]. 北京:北京郵電大學, 2012.
[2] 范永健. 基于數據挖掘的電子商務推薦系統模型研究[D].邯鄲: 河北工程大學,2009.
[3] 朱建平, 范霄文, 張志強. 數據挖掘的技術與商業定義及其研究對象[J]. 統計教育, 2004(1):710.
