喻金平 劉 娟 巫光福 曾憲文
1(江西理工大學(xué)工程研究院 江西 贛州 341000) 2(江西理工大學(xué)信息工程學(xué)院 江西 贛州 341000)
個性化推薦被廣泛應(yīng)用在社會生活的各個方面,但其在中小企業(yè)服務(wù)平臺的應(yīng)用尚不成熟。在大多數(shù)情況下,該平臺的商品就是服務(wù),機構(gòu)提供的服務(wù)并非有形的物品。在該平臺,雖然不同的用戶在每個階段所需的服務(wù)各有不同,但是相同類型的用戶在特定的進程中的需求是有規(guī)律的。比如對于一些初創(chuàng)企業(yè)普遍有公司注冊、代理記賬、知識產(chǎn)權(quán)、社保人事、辦公資源、人力資源等方面的需求。
針對這些問題,Li等[1]提出加權(quán)調(diào)整余弦相似度法計算用戶—項目相似度,并利用量子運動方程,根據(jù)量子蛙群的共同演化,尋找最優(yōu)位置;Zarzour等[2]提出一種基于降維和聚類技術(shù)的協(xié)同過濾推薦算法來提高協(xié)同過濾在電子商務(wù)平臺的推薦效果;項目興趣度特征向量被孫光明等[3]引入并提出基于項目興趣度的協(xié)同過濾新算法;文獻[4]提出一種基于可靠性的相似度計算方法,首先利用用戶對常用項的打分來獲得用戶之間打分的可信度,然后將可信度引入調(diào)整后的余弦相似度中,在調(diào)整之后再利用將懲罰函數(shù)減輕常用項對相似度計算的影響,最后綜合測量。
但是,以上各種研究中均未考慮到在中小企業(yè)平臺中服務(wù)分類對推薦系統(tǒng)的影響。本文根據(jù)平臺的數(shù)據(jù)特征,應(yīng)用層次分析法計算屬性權(quán)重,建立用戶-屬性模型、服務(wù)-屬性模型。通過關(guān)聯(lián)性分析,找出同類別的其他項目。最后改進CFRA,實現(xiàn)對用戶的推薦。結(jié)果表明,本文方法提高推薦算法的準確性,更適用于中小企業(yè)服務(wù)平臺,對于支持廣大創(chuàng)業(yè)者創(chuàng)業(yè)和推動全國雙創(chuàng)工作的發(fā)展具有重要的現(xiàn)實意義。
筑夢園的數(shù)據(jù)類型具有以下特點:首先,提供的服務(wù)是一種無形的商品,這種商品由于沒有客觀標準來衡量就更加注重以消費者為中心,為其提供合意的服務(wù)為宗旨。其次,作為一個公益性平臺,要保證被提供服務(wù)方有切實的需求,就要對中小企業(yè)的真實性進行考察。最后,提供服務(wù)的服務(wù)機構(gòu)或個人的性質(zhì)要與服務(wù)的性質(zhì)相同。也就是說,假設(shè)企業(yè)需要財務(wù)方面的服務(wù),而系統(tǒng)提供的服務(wù)機構(gòu)或個人卻是人力資源方面的,這就會降低推薦的準確性。
針對上述特點本文將提出以下解決方式:
應(yīng)用AHP分析企業(yè)和服務(wù)機構(gòu)并建立模型。AHP是一種系統(tǒng)分析的方法[5],旨在解決結(jié)構(gòu)復(fù)雜、決策標準無法度量的問題,在20世紀70 年代末由美國運籌學(xué)家 T.L.Saaty 提出。與其他的算法,如德爾菲法[7]、數(shù)據(jù)包絡(luò)分析DEA[8]、模糊綜合評價法[9]、人工神經(jīng)網(wǎng)絡(luò)評價法[10]、灰色綜合評價法[11]等相比,它具有思維簡單、易于量化同時可以結(jié)合主觀判斷和客觀推理的特點。并且可以避免在結(jié)構(gòu)復(fù)雜的多屬性綜合邏輯推理中出現(xiàn)的錯誤,因此得到廣大專家學(xué)者的廣泛應(yīng)用與研究。
AHP的基本內(nèi)容是:
(1) 根據(jù)評價目標的組成及屬性,對總目標進行分層分析:需要評價的總目標為目標層;目標的基本屬性為準則層,準則層的評級之和即目標層的評級;實現(xiàn)目標的方法、措施為措施層。
(2) 將目標層-準則層-措施層按照上下級關(guān)系,將層次之間有直接聯(lián)系的因素連接起來,即構(gòu)造出該目標的層次結(jié)構(gòu)圖。層次結(jié)構(gòu)圖的構(gòu)建是層次分析過程的基礎(chǔ),它直接影響每個層次的索引權(quán)重。
(3) 按級別分解一般目標,并通過成對比較來比較同一級別的因子,以確定因子相對于優(yōu)勢因子的權(quán)重系數(shù)。通過迭代計算,直到得出所有因素對總目標的權(quán)重序列。
其中企業(yè)的基本屬性為信息完善度、企業(yè)的真實性考察、企業(yè)文化,目標層是此企業(yè)在平臺的綜合評分;服務(wù)機構(gòu)或個人的基本屬性是其所能提供的服務(wù)范圍、企業(yè)對其提供服務(wù)的評價等,目標層是服務(wù)機構(gòu)在平臺的綜合評分。
對服務(wù)機構(gòu)和個人的性質(zhì)和服務(wù)的性質(zhì)進行分類:技術(shù)、管理、人才、政策和信息五個大類。其中技術(shù)類包括:技術(shù)創(chuàng)新、節(jié)能減排、安全技術(shù)、信息技術(shù)、工業(yè)設(shè)計、礦業(yè)設(shè)計。管理類包括:工程咨詢、工程管理、管理咨詢、金融服務(wù)、財稅法務(wù)、資產(chǎn)管理、企劃廣告、生產(chǎn)服務(wù)。人才類包括:人力資源、健康咨詢、福利保險。政策類包括:認定咨詢、政策咨詢。信息類包括:資訊服務(wù)、報關(guān)服務(wù)、物流倉儲。服務(wù)機構(gòu)或個人可根據(jù)以上分類判斷所屬類別(根據(jù)實際情況,一個服務(wù)機構(gòu)或服務(wù)可同時屬于多個分類)。建立服務(wù)-屬性矩陣,如表1所示。
表1 服務(wù)-屬性矩陣
表1中,A是屬性,即分類,I是服務(wù),R是服務(wù)I是否屬于屬性A,其數(shù)值用0或1表示,其中0為不屬于,1為屬于。同理可以建立服務(wù)機構(gòu)-屬性矩陣。
關(guān)聯(lián)分析就是要在數(shù)據(jù)集中尋找數(shù)據(jù)之間的關(guān)系,而這些數(shù)據(jù)集往往是大規(guī)模的。這些關(guān)系可以有兩種形式:頻繁的項目集或者關(guān)聯(lián)規(guī)則。頻繁項集是總事務(wù)中存在一些頻頻出現(xiàn)在一起的項目。關(guān)聯(lián)規(guī)則暗意兩個或幾個項目可能存在強聯(lián)系。具體定義為:若I={i1,i2,…,im}為項目的總集合,其中i為項目。且B={i1,i2,…,in},m≥n,BI;而事體T為一項目子集,并且每個事體有且只有一個標識,即Tid。項集B是事體T子集,即B?T;D表示事體數(shù)據(jù)庫,即B?T?D。支持度是比率,即第n級項目集B的出現(xiàn)次數(shù)與總對象數(shù)據(jù)庫T的比率。如果該比率大于預(yù)設(shè)閾值,則B是頻繁項目集合。
對于兩個可能存在強關(guān)系的項目或項目集,則用關(guān)聯(lián)規(guī)則來描述其邏輯關(guān)系,即X→Y。由于這些關(guān)系是可能存在的,所以提出兩個標準——支持度、置信度來量化關(guān)聯(lián)分析是否成功。支持度是指關(guān)聯(lián)規(guī)則中呈現(xiàn)的某個項集的頻率,即某項集出現(xiàn)的次數(shù)與總事體次數(shù)的比值,可以用概率P(XY)來表示:
support(XY)=P(XY)
(1)
置信度是針對一條規(guī)則定義的,指包含的占有強度,也就是說事體數(shù)據(jù)庫D中有概率為P的項目不但包括X項而且也囊括XY的事體,即:
confidence(X→Y)=P(Y/X)=P(XY)/P(X)
(2)
在實際應(yīng)用場景中數(shù)據(jù)庫通常是巨大的,針對這一現(xiàn)實情況,Partition算法對Apriori提出改進。其主要措施就是加入對數(shù)據(jù)庫的劃分,那么掃描整個數(shù)據(jù)庫就僅僅需要兩次。第一次是在劃分數(shù)據(jù)庫之時,第二次則是在結(jié)合局部頻繁項集的時候。這樣避免了頻繁查詢整個數(shù)據(jù)庫,這意味著減少算法運行時間。
Apriori算法若要找繁項n項集則要查詢n次數(shù)據(jù)庫,假設(shè)這個數(shù)據(jù)庫無比龐大,則執(zhí)行該算法使用的時間是非常長的。為了縮短算法查詢時間,Partition算法將總事件數(shù)據(jù)庫劃分為幾個不相交的子數(shù)據(jù)庫;然后針對每個子數(shù)據(jù)庫,采用經(jīng)典Apriori求解局部頻繁項集,合并大項集以生成候選集;最后以支持度為衡量標準獲取總事體數(shù)據(jù)庫中的頻繁大項集。Partition算法流程圖如圖1所示。
圖1中,D為數(shù)據(jù)庫;D1,D2,…,Dm為分區(qū)數(shù)據(jù)庫;L1,L2,…,Lm為局部大項集;C為全局候選集;F為全局大項集。
協(xié)同過濾推薦算法是一種被電子商務(wù)平臺廣泛使用的用戶喜好預(yù)測算法。它假定相似的用戶有類似的喜好,那么相似用戶對事物的評價是相互借用的,據(jù)此發(fā)掘用戶或項目之間的聯(lián)系。該算法以使用的主體為劃分標準,可以被分為基于用戶的(User-Based)和基于項目的(Item-Based)兩種。本文算法在基于用戶的基礎(chǔ)上加以改進。
協(xié)同過濾算法中的重要數(shù)據(jù)來源是用戶評分矩陣。如表2所示。
表2 用戶評分矩陣
用戶項目評分矩陣是用戶的評估矩陣。其中U表示用戶,I是項目,G是評價,Gij是用戶i對項目j評價。
相似性度量是用于基于用戶的評分矩陣來量化用戶相似性的方法,如余弦相似度、相關(guān)相似度和修正的余弦相似度[14]。相關(guān)相似性又稱為皮爾森(Pearson)相關(guān)性,是上述方法中最常用的相似度計算方法。計算方式如下:
(3)
尋找最高相似鄰居集:通過式(3)計算出待推測用戶與已有用戶之間的相似性,給定閾值,閾值范圍內(nèi)的用戶組成最高相似鄰居集。
基于用戶的協(xié)同過濾算法步驟為:
(1) 數(shù)據(jù)表示:用戶對項目的評價表示為如表2的矩陣形式,其中Gij是用戶i對項目j進行評分,分數(shù)由數(shù)字1~10之間的整數(shù)表示,并且該值越高表示用戶i對項目j更滿意。
(2) 相似鄰居集查找:基于式(1)中的數(shù)據(jù),用式(3)計算用戶之間的相似性。設(shè)定用戶鄰居閾值t,依據(jù)各個用戶之間相似度從大到小排序。與目標用戶類似的前t個用戶是用戶的類似鄰居集。這一步是該推薦算法的核心。
(3) 產(chǎn)生推薦:使用式(4),基于在步驟(2)中收集的相似鄰居集來預(yù)測要推薦的用戶對未評級項目的評估。
(4)
在中小企業(yè)服務(wù)平臺中,由于用戶在不同時期的關(guān)注點不同,而不同服務(wù)的目標用戶也不同,因此在大多數(shù)應(yīng)用場景下,服務(wù)的目標用戶是存在顯著差別的。在現(xiàn)實生活中由于企業(yè)在不同時期的需求的往往是在幾個可數(shù)的類別中,那么如果我們的推薦在這類需求當中實現(xiàn),那么推薦的準確性就會大大提高。服務(wù)項目分類標準如表3所示。
表3 服務(wù)項目分類標準圖
這就要求先對項目進行關(guān)聯(lián)分析,然后找到與預(yù)測項目類似的其他項目,形成具有一定相關(guān)性的集合。 然后在該集合中尋找該項目的近鄰。
算法設(shè)計流程如下:
(1) 劃分事務(wù)集合。按照表3中的分類標準進行數(shù)據(jù)庫分割,在此基礎(chǔ)上進行協(xié)同過濾可以減少運行時間增大推薦準確性。
(2) 找出全局頻繁項集。在步驟1中生成的數(shù)據(jù)集D由服務(wù)項的分類標準細分。根據(jù)經(jīng)驗,設(shè)置支持閾值在每個類別下找到頻繁項集(局部頻繁項集),組合上述結(jié)果獲得全局大項頻繁集。
(3) 計算推薦值。以步驟2為依據(jù),對待推薦用戶產(chǎn)生推薦。① 遍歷上一步中形成的結(jié)果,查詢包含項j的所有頻繁項集,并找到聯(lián)合以形成相關(guān)項U類;② 根據(jù)用戶-項目評分矩陣采用person相似度計算公式計算用戶相似度。
為了驗證CFBP算法的預(yù)測效果,本文采用企服城科技有限公司提供的贛州市中小企業(yè)服務(wù)平臺上的數(shù)據(jù)集作為實驗數(shù)據(jù)集。該數(shù)據(jù)集包括988個用戶,1 673個服務(wù),并且得分集為{1,2,3,4,5,6,7,8,9,10},其中值越大,用戶對項目的偏好越高。該數(shù)據(jù)集有近100 000個記錄。
有許多方法可以被用來評估推薦系統(tǒng)的性能。本文中的評估標準使用平均絕對誤差(MAE),均方根誤差(RMSE)和推薦覆蓋率(Coverage)。 MAE是目前使用廣泛的準確性衡量標準,其值越小推薦越準確。RMSE是NetFlix Prize的標準度量指標,RMSE值越低預(yù)測能力越高。 Coverage描述了推薦系統(tǒng)向用戶推薦的項目集合覆蓋范圍,用于評估推薦系統(tǒng)的推薦是否全面的常用指標,該值越大系統(tǒng)覆蓋能力越強。公式如下:
(5)
(6)
(7)
3.2.1 實驗一
通過實驗比較本文算法(CFBP)、Enrique等[15]提出的關(guān)聯(lián)規(guī)則算法(En)和Huang等[16]提出的關(guān)聯(lián)規(guī)則算法(Huang)的平均絕對誤差(MAE)。結(jié)果如圖2所示。
圖2 三種算法的MAE比較
從圖2易得出,在支持度和可信度一定的條件下CFBP算法的MAE值總小于Enrique等提出的關(guān)聯(lián)規(guī)則算法和Huang等提出的關(guān)聯(lián)規(guī)則算法,且在MinSup=0.2,MinConf=0.4時,本文算法的MAE值達到最小,即該算法的預(yù)測值最準確。
3.2.2 實驗二
在給定MinSup=0.2,MinConf=0.4的條件下,通過實驗對CFBP算法、IBCF算法、SRP-CCF算法[17]和IBCF-IDT 算法[18]的平均絕對誤差(MAE)值進行比對,結(jié)果如圖3所示。
圖3 四種算法在不同鄰居數(shù)下的MAE比較
圖3顯示當最近鄰居的數(shù)量一定時,CFBP算法的MAE值小于其他算法。 且在MinSup=0.2,MinConf=0.4,最近鄰數(shù)目為50時,本文算法的MAE值達到最小值,即算法的預(yù)測值最準確。
3.2.3 實驗三
通過實驗比較本文算法(CFBP)、KNN-100[19]和IRP-CF[20]的MAE、RMSE和Coverage值,如圖4所示。
圖4 性能測試對比
從圖4易得出,KNN-100、IRP-CF與CFBP三種算法的MAE和RMSE值依次降低,Coverage值則上升。在三種算法中CFBP算法的MAE和RMSE值最低,即該算法的預(yù)測精度最準確;Coverage值最高,即該算法在平臺上的覆蓋能力最強。
本文根據(jù)中小企業(yè)服務(wù)平臺的數(shù)據(jù)特征和分類標準,用AHP建立服務(wù)屬性模型,通過該模型,增加服務(wù)機構(gòu)的曝光率,鼓勵公益事業(yè)的發(fā)展。以平臺的服務(wù)分類為標準劃分數(shù)據(jù)庫,通過Partition算法快速地找出同類別的其他項目,再用協(xié)同過濾找到推薦值。實驗表明,對于中小企業(yè)服務(wù)平臺而言,該算法有較高的推薦準確性和推薦覆蓋性。下一步工作是進一步解決數(shù)據(jù)的冷啟動性對本文算法的挑戰(zhàn),同時減低算法的空間復(fù)雜度。