楊 珍 耿秀麗
上海理工大學(xué)管理學(xué)院,上海,200093
目前,企業(yè)市場(chǎng)競(jìng)爭(zhēng)愈發(fā)激烈,制造型企業(yè)面臨資源利用率、產(chǎn)品同質(zhì)化等挑戰(zhàn),開(kāi)始注重產(chǎn)品的后市場(chǎng)需求,通過(guò)與產(chǎn)品服務(wù)結(jié)合來(lái)觸發(fā)更多的用戶(hù)需求。制造和服務(wù)的結(jié)合改變了傳統(tǒng)的企業(yè)運(yùn)營(yíng)模式,使得服務(wù)不再以產(chǎn)品的附加要素存在,產(chǎn)品服務(wù)系統(tǒng)(product service system,PSS)應(yīng)運(yùn)而生。PSS系統(tǒng)主要為企業(yè)提供一種“產(chǎn)品+服務(wù)”的整體解決方案。方案規(guī)劃作為PSS系統(tǒng)中的重要環(huán)節(jié),與方案設(shè)計(jì)及選擇都有密切聯(lián)系,因此,在提供服務(wù)方案前,需要確定用戶(hù)需求,定制出個(gè)性化的產(chǎn)品服務(wù)方案,并成功地將優(yōu)選的個(gè)性化服務(wù)方案推薦給合適的用戶(hù),從而提高企業(yè)的核心競(jìng)爭(zhēng)力。如何高效地給用戶(hù)推薦滿(mǎn)意的產(chǎn)品服務(wù)方案,與推薦算法性能優(yōu)化息息相關(guān)。
個(gè)性化推薦算法是方案推薦過(guò)程中必不可少的技術(shù),主要分為基于協(xié)同過(guò)濾、基于內(nèi)容、基于知識(shí)、基于關(guān)聯(lián)規(guī)則的算法。其中,最為成功的算法為協(xié)同過(guò)濾(collaborative filtering,CF)算法,通過(guò)計(jì)算用戶(hù)行為或偏好的相似性,找到目標(biāo)用戶(hù)的最近鄰及其對(duì)應(yīng)項(xiàng)目進(jìn)行推薦,但是傳統(tǒng)CF算法對(duì)不完整數(shù)據(jù)以及對(duì)零歷史記錄的用戶(hù)難以給出準(zhǔn)確推薦。面對(duì)此挑戰(zhàn),人們提出新型CF算法,即隱語(yǔ)義模型(latent factorm odel,LFM)。通過(guò)隱類(lèi)關(guān)聯(lián)用戶(hù)和項(xiàng)目,采用矩陣分解技術(shù)建立用戶(hù)-隱類(lèi)、隱類(lèi)-項(xiàng)目間的關(guān)系矩陣,利用矩陣乘積獲取用戶(hù)喜愛(ài)的項(xiàng)目并進(jìn)行推薦。傳統(tǒng)LFM研究側(cè)重于減少數(shù)據(jù)稀疏和解決冷啟動(dòng)問(wèn)題,如文獻(xiàn)[1]針對(duì)LFM數(shù)據(jù)稀疏的問(wèn)題,提出基于學(xué)習(xí)自動(dòng)機(jī)的矩陣優(yōu)化算法代替奇異值矩陣分解方法;文獻(xiàn)[2]為減少數(shù)據(jù)稀疏性,采用基于隱類(lèi)的似然估計(jì)法來(lái)優(yōu)化LFM,在用戶(hù)不了解相關(guān)知識(shí)的前提下,根據(jù)用戶(hù)個(gè)性化需求定量化預(yù)測(cè);文獻(xiàn)[3]針對(duì)LFM的冷啟動(dòng)和稀疏性問(wèn)題,提出融入用戶(hù)屬性的推薦算法,通過(guò)分類(lèi)模型得到其他用戶(hù)屬性重要度,結(jié)合用戶(hù)評(píng)分計(jì)算屬性相似度并推薦;文獻(xiàn)[4]針對(duì)冷啟動(dòng)問(wèn)題,將歷史瀏覽記錄轉(zhuǎn)化為用戶(hù)評(píng)分,融入基于LFM的相似評(píng)分并推薦。上述文獻(xiàn)主要通過(guò)改進(jìn)LFM來(lái)解決稀疏性和冷啟動(dòng)問(wèn)題,以提高產(chǎn)品服務(wù)方案推薦的準(zhǔn)確率。實(shí)際上,推薦技術(shù)不僅重視結(jié)果的精確性,也注重推薦過(guò)程的效率性,而文獻(xiàn)[5?6]就是為提高推薦效率,引入服務(wù)方案因子約束的LFM模型,采用一階線(xiàn)性方法擬合服務(wù)方案推薦結(jié)果;文獻(xiàn)[7]在此基礎(chǔ)上,采用Hessian工具中的二階求解器獲取產(chǎn)品的高斯逼近矩陣,既提高了推薦精度,又提高了推薦效率;文獻(xiàn)[8]利用主題將潛在因子應(yīng)用于查找項(xiàng)目關(guān)聯(lián)的文本數(shù)據(jù),建立潛在因素模型,提高用戶(hù)查找項(xiàng)目的效率。
本文基于文獻(xiàn)[4]的推薦方法,引入偏置量,形成加權(quán)LFM。偏置量是由用戶(hù)等主觀因素引起的用戶(hù)-隱類(lèi)間的興趣偏差值、隱類(lèi)-產(chǎn)品服務(wù)方案間的評(píng)分偏差值。熱門(mén)產(chǎn)品服務(wù)方案推薦過(guò)程往往忽略用戶(hù)主觀評(píng)分的偏差量,導(dǎo)致推薦結(jié)果未必符合最近鄰目標(biāo)用戶(hù)真正的需求。本文的加權(quán)LFM算法基于矩陣分解技術(shù),根據(jù)用戶(hù)興趣特征找出新用戶(hù)的最近鄰,無(wú)需新用戶(hù)對(duì)產(chǎn)品服務(wù)方案的評(píng)分,就可以推薦最近鄰的相應(yīng)產(chǎn)品服務(wù)方案,從而解決用戶(hù)冷啟動(dòng)問(wèn)題??紤]新用戶(hù)和最近鄰用戶(hù)興趣特征的差異,求出興趣特征的相似度,作為整個(gè)最近鄰用戶(hù)興趣值的權(quán)重;通過(guò)矩陣P和Q的積,得到用戶(hù)偏好服務(wù)方案并推薦,改變了以往逐漸查找最近鄰產(chǎn)品服務(wù)方案的方式,從而提高推薦效率。但是采用LFM算法推薦前,數(shù)據(jù)稀疏可能會(huì)影響推薦結(jié)果。當(dāng)用戶(hù)興趣特征較多時(shí),采用余弦相似度計(jì)算出的用戶(hù)相似度就會(huì)偏高,難以體現(xiàn)用戶(hù)間的差異。而云模型可以反映用戶(hù)概念的模糊性、不確定性和隨機(jī)性,較為完整地刻畫(huà)用戶(hù)特征。利用生成的用戶(hù)云,通過(guò)計(jì)算云滴距離測(cè)度可以間接計(jì)算用戶(hù)的相似性,從而彌補(bǔ)余弦相似度精度的不足。但是云滴數(shù)據(jù)的生成過(guò)程也具有偶然性,單獨(dú)應(yīng)用云距離測(cè)度時(shí)準(zhǔn)確性也受到約束。因此,本文提出采用正向云發(fā)生器求解出云滴,并將云滴距離和用戶(hù)-特征間的余弦相似度的加權(quán)綜合值作為新相似度,根據(jù)最近鄰用戶(hù)預(yù)測(cè)評(píng)分并填充空缺值,形成完整的數(shù)據(jù)集,從而提高數(shù)據(jù)的推薦精度。實(shí)際上,云相似度在個(gè)性化推薦技術(shù)中也有廣泛的應(yīng)用,如文獻(xiàn)[9?11]基于云模型計(jì)算用戶(hù)偏好的相似性并匹配目標(biāo)用戶(hù)進(jìn)行推薦;文獻(xiàn)[12]采用基于云的特征相似度計(jì)算方法,壓縮數(shù)據(jù),降低維度,節(jié)約存儲(chǔ)空間;文獻(xiàn)[13]采用云相似度的計(jì)算方法,結(jié)合反向傳播網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)。此外,云相似度也會(huì)在數(shù)據(jù)聚集過(guò)程得到具體應(yīng)用,如文獻(xiàn)[14]采用基于云相似度和云的距離模型,處理并聚類(lèi)語(yǔ)言變量,求解出群體偏好值,給出合適決策。因此,本文采用結(jié)合正向云的加權(quán)LFM推薦算法,既能減少數(shù)據(jù)稀疏,又能通過(guò)用戶(hù)興趣特征相似度解決冷啟動(dòng)問(wèn)題,并且能夠通過(guò)LFM的矩陣分解技術(shù),獲取合適的推薦產(chǎn)品服務(wù)方案,提高推薦效率。
由于傳統(tǒng)LFM的研究未考慮數(shù)據(jù)庫(kù)在動(dòng)態(tài)更新的過(guò)程中,推薦內(nèi)容可能會(huì)隨之改變的情況,因此,本文提出采用動(dòng)態(tài)增量更新機(jī)制,在不影響先前數(shù)據(jù)處理工作的前提下,采用差值平均法對(duì)預(yù)測(cè)公式更新產(chǎn)品服務(wù)方案推薦結(jié)果,降低時(shí)間復(fù)雜度。本文針對(duì)傳統(tǒng)LFM算法數(shù)據(jù)稀疏、冷啟動(dòng)、未考慮實(shí)時(shí)更新等問(wèn)題,采用云相似度預(yù)測(cè)填充空缺數(shù)據(jù),彌補(bǔ)稀疏性;采用基于用戶(hù)興趣特征的相似度尋找最近鄰用戶(hù),并獲取最近鄰用戶(hù)興趣相似度作為用戶(hù)興趣特征的權(quán)重,結(jié)合用戶(hù)評(píng)分差異偏置量,約束主觀評(píng)分差異性;通過(guò)LFM方法獲取用戶(hù)產(chǎn)品服務(wù)方案評(píng)分并進(jìn)行推薦;采用差值平均法更新推薦結(jié)果,解決因數(shù)據(jù)庫(kù)動(dòng)態(tài)更新導(dǎo)致推薦結(jié)果變化的問(wèn)題,力求達(dá)到產(chǎn)品服務(wù)方案實(shí)時(shí)推薦的效果。
為提高個(gè)性化產(chǎn)品服務(wù)方案的推薦效率,針對(duì)推薦技術(shù)中的稀疏性、冷啟動(dòng)以及未考慮實(shí)時(shí)更新等問(wèn)題,本文考慮用戶(hù)、方案與隱類(lèi)間的關(guān)系,提出了加權(quán)LFM。首先,基于用戶(hù)ui(i=1,2,…,s),方案aj(j=1,2,…,t)及隱類(lèi)ck(k=1,2,…,n)的數(shù)據(jù)信息,采用正向云發(fā)生器,輸入用戶(hù)與隱類(lèi)、方案與隱類(lèi)的定性信息,輸出用戶(hù)-隱類(lèi)的興趣度矩陣P、方案-隱類(lèi)的比重矩陣Q。將用戶(hù)-方案評(píng)分劃分成P和Q兩朵云,采用云滴距離和余弦相似度的加權(quán)結(jié)果進(jìn)行預(yù)測(cè)評(píng)分,填充矩陣P和Q的空缺數(shù)據(jù)。然后,考慮評(píng)分的偏置量,通過(guò)融入偏置量的加權(quán)LFM模型建立用戶(hù)-服務(wù)方案間的關(guān)系,輸入P、Q矩陣,輸出新用戶(hù)對(duì)產(chǎn)品服務(wù)方案的預(yù)測(cè)評(píng)分并排名,選擇前N項(xiàng)方案予以推薦。其中,新用戶(hù)對(duì)服務(wù)方案的預(yù)測(cè)評(píng)分主要通過(guò)如下方式獲得:基于新用戶(hù)興趣特征的相似度找出最近鄰用戶(hù),將該相似度作為每個(gè)最近鄰的評(píng)分權(quán)重,采用加權(quán)LFM方法獲取新用戶(hù)對(duì)方案的評(píng)分。為了深入了解用戶(hù)需求,本文在LFM中添加一個(gè)成分:方案特征fg(g=1,2,…,e),并與方案構(gòu)成產(chǎn)品服務(wù)方案-特征評(píng)分矩陣O,可以具體到某一服務(wù)方案特征的推薦優(yōu)先性,精準(zhǔn)地了解用戶(hù)需求。最后,提出差值更新法對(duì)新用戶(hù)評(píng)分?jǐn)?shù)據(jù)進(jìn)行實(shí)時(shí)更新,從而更新產(chǎn)品服務(wù)方案推薦。本文框架思路見(jiàn)圖1。
圖1 本文的框架Fig.1 Fram e d iagram of this paper
云模型是張光衛(wèi)等[15]提出的處理定性描述和定量概念間不確定性的轉(zhuǎn)換模型,通過(guò)結(jié)合自然語(yǔ)言中的模糊隨機(jī)性,實(shí)現(xiàn)定性語(yǔ)言與定量數(shù)值間的轉(zhuǎn)換,為研究數(shù)據(jù)挖掘的不確定信息處理提供了新方法。為解決個(gè)性化推薦的稀疏性問(wèn)題,本文考慮到產(chǎn)品服務(wù)方案評(píng)分信息的主觀性和模糊性,提出采用云模型實(shí)現(xiàn)定性定量數(shù)據(jù)的轉(zhuǎn)換,通過(guò)加權(quán)相似度對(duì)稀疏數(shù)據(jù)預(yù)測(cè)填充。云模型相關(guān)概念定義如下。
定義1[1]云和云滴 設(shè)U是一個(gè)用數(shù)值表示的定量論域,C是U上的定性概念。若定量值x∈U是定性概念C上的一次隨機(jī)實(shí)現(xiàn),x對(duì)C的確定度μ(x)∈[0,1]是有穩(wěn)定傾向的隨機(jī)數(shù):μ:U →[0,1],?x∈U:x→ μ(x),則x在論域U上的分布稱(chēng)為云(cloud),記為云C(x);每個(gè)x稱(chēng)為一個(gè)云滴(drop)。
定義2 正向云是將獨(dú)立參數(shù)表示為云的數(shù)字特征,描述事務(wù)的不確定性。采用參數(shù)期望Ex、熵 En、超熵 He三個(gè)特征描述云,即 C(Ex,En,He),當(dāng)隨機(jī)變量x滿(mǎn)足x~N(Ex,E2n)時(shí),其中,En~N(En,H2e),則對(duì)定性概念C的確定度滿(mǎn)足μ(x)=
論域上若干個(gè)云滴組成云,云滴對(duì)隸屬度函數(shù)的映射是一對(duì)多轉(zhuǎn)換的關(guān)系,不同于模糊聚類(lèi)一對(duì)一的轉(zhuǎn)換,云定性概念的整體特征由云滴表現(xiàn)出來(lái)。由參數(shù)(Ex,En,He)表示云的數(shù)字特征模型,稱(chēng)為云模型。云模型的核心處理過(guò)程主要分兩種:正向云發(fā)生器和逆向云發(fā)生器,正向云發(fā)生器主要將定性描述的整體向量C(Ex,En,He)轉(zhuǎn)換為描述個(gè)體定量數(shù)值的云滴,逆向云算法主要將定量數(shù)據(jù)轉(zhuǎn)換為云滴(x,μ(x))。針對(duì)項(xiàng)目評(píng)分稀疏性,以及用戶(hù)評(píng)分主觀性問(wèn)題,提出采用正向云算法,將定性評(píng)分轉(zhuǎn)換為云滴,并利用云滴距離以及特征向量的加權(quán)相似度來(lái)預(yù)測(cè)未知評(píng)分,提高推薦精度。以云(0.5,0.05,0.01)的3個(gè)特征值及N=1 000為輸入值,通過(guò)正向云發(fā)生器輸出云圖,見(jiàn)圖2。
圖2 正向發(fā)生器輸出的云圖Fig.2 C loud drop model
其中,期望Ex表示云滴在論域空間分布的期望值,即最能代表定性概念的點(diǎn);熵En表示定性概念的不確定量,反映云的離散程度;超熵He是熵的不確定概念,可以描述云的厚度。
本文利用云模型的隨機(jī)模糊性,將用戶(hù)對(duì)產(chǎn)品服務(wù)方案主觀評(píng)分轉(zhuǎn)化為云滴,利用云滴距離和余弦相似的綜合相似度對(duì)用戶(hù)興趣度矩陣P、方案評(píng)分矩陣Q預(yù)測(cè)填補(bǔ)空缺數(shù)據(jù)。假設(shè)云向量C(Ex,En,He)表現(xiàn)為用戶(hù)特征興趣值,即 Ex是用戶(hù)對(duì)隱類(lèi)的評(píng)分均值,En、He對(duì)應(yīng)評(píng)分值的熵、超熵。通過(guò)引入云的綜合相似度預(yù)測(cè)評(píng)分,填充用戶(hù)評(píng)分或隱類(lèi)中方案比重的缺失數(shù)據(jù)。用戶(hù)選擇方案時(shí),會(huì)選擇高熱搜度、推薦次數(shù)多的方案而忘記本身個(gè)性偏好,導(dǎo)致所獲取的方案并沒(méi)有實(shí)際用處。很多推薦算法對(duì)此引入罰函數(shù)來(lái)減弱外界影響因素,本文考慮用戶(hù)興趣多樣性的影響,基于隨機(jī)性的云滴距離來(lái)減輕用戶(hù)偏好的影響,采用正向云發(fā)生器將云的特征值((Ex,En,He)轉(zhuǎn)換為離散的云滴Drop(xc,μ(xc)),具體特征指標(biāo)的計(jì)算方式如下:
式(1)~式(3)將定性描述轉(zhuǎn)換為云的特征指標(biāo),本文采用正向云算法將特征指標(biāo)轉(zhuǎn)換為云滴,輸入為表示定性概念的三個(gè)特征值(Ex,En,He),輸出為云滴Drop(x1,μ(x1)),Drop(x2,μ(x2)),…,Drop(xN,μ(xN)),xc為處理后的評(píng)分值。具體過(guò)程如下:①生成以En為期望值、He為方差的一個(gè)正向隨機(jī)數(shù)E′n=N(En,He);②生成以Ex為期望值、E′n為方差的一個(gè)正向隨機(jī)數(shù)x=N(Ex,E′n);③計(jì)算μ(xc)=將帶有確定度μ(xc)的xc稱(chēng)為數(shù)域中的一個(gè)云滴;重復(fù)步驟①~③,直到產(chǎn)生要求的N個(gè)云滴(xc,μ(xc)),c=1,2,…,N。
其中,N(Ex,)為生成以Ex為期望值、為方差的正向隨機(jī)數(shù)函數(shù)。給定云的3個(gè)數(shù)字特征值(Ex,En,He)。上述算法可以生成任意云滴組成的正向云,比如用戶(hù)u和用戶(hù)v的特征向量Cu=(Exs,Ens,Hes),Cv=(Ext,Ent,Het)。用戶(hù)間的相似度可以用余弦相似度、皮爾森相似度、云距離測(cè)度等求解,考慮到余弦相似度局限于向量個(gè)體間的關(guān)系,忽略個(gè)體差異值的影響。皮爾森相似度實(shí)際上是數(shù)據(jù)中心化的余弦相似度,并不能針對(duì)離散的、差異大的數(shù)據(jù)點(diǎn)求解合適的相似度。云距離測(cè)度可以求解離散數(shù)據(jù)的相似度,但是忽略了核心用戶(hù)的相似特征關(guān)系。因此,本文針對(duì)用戶(hù)興趣差異性問(wèn)題,結(jié)合基于實(shí)際用戶(hù)特征數(shù)據(jù)的余弦相似度和基于生成用戶(hù)云滴數(shù)據(jù)的云滴距離測(cè)度,來(lái)計(jì)算最終的用戶(hù)相似度,具體計(jì)算方式如下:
其中,simc(u,v)是用戶(hù)u和v評(píng)分向量的余弦相似度,simd(u,v)是用戶(hù)u和v評(píng)分映射的云滴距離測(cè)度,sim(u,v)是由設(shè)定的權(quán)值α對(duì)simc(u,v)和simd(u,v)的加權(quán)綜合相似度。ru,c為用戶(hù)u對(duì)c的評(píng)分,rv,c為用戶(hù)v對(duì)c的評(píng)分,-ru是用戶(hù)u對(duì)所有共同評(píng)分產(chǎn)品服務(wù)方案的評(píng)分均值,-rv是用戶(hù)v對(duì)所有共同評(píng)分隱類(lèi)的評(píng)分均值,Spred表示預(yù)測(cè)評(píng)分。本文通過(guò)正向云發(fā)生器獲取云滴距離并與云的特征余弦相似度加權(quán)求和,來(lái)預(yù)測(cè)填充稀缺數(shù)據(jù),提高個(gè)性化推薦的準(zhǔn)確率。同理,產(chǎn)品服務(wù)方案對(duì)特征因子f的評(píng)估值為rac,其計(jì)算方式類(lèi)似于用戶(hù)-隱類(lèi)評(píng)分過(guò)程。例如,兩朵云的特征向量 Cu=(0.5,0.05,0.01),Cv=(0.6,0.055,0.033),利用正向云發(fā)生器擬合出兩者的云圖,見(jiàn)圖3。
圖3 云模型Fig.3 Cloud m odel
由圖3可知,兩朵云間距雖小,但Cu跨度小,離散程度低;而Cv跨度大,離散程度高。針對(duì)云滴距離的不確定性,本文采用云滴距離測(cè)度來(lái)預(yù)測(cè)并填充缺失數(shù)據(jù)有失準(zhǔn)確度。引入特征向量間相似度以增加約束量并與距離相似度加權(quán)集合,以增加預(yù)測(cè)的準(zhǔn)確度。如果某個(gè)用戶(hù)數(shù)據(jù)有所缺失,可以利用該用戶(hù)其他完整數(shù)據(jù)找出高相似性最近鄰,進(jìn)行預(yù)測(cè)填充,得到完整的用戶(hù)數(shù)據(jù)。
基于云模型處理后的用戶(hù)數(shù)據(jù),本文采用加權(quán)偏置量的加權(quán)LFM進(jìn)行預(yù)測(cè),即通過(guò)新用戶(hù)的興趣值來(lái)預(yù)測(cè)產(chǎn)品服務(wù)方案評(píng)分,并采用加權(quán)法優(yōu)化預(yù)測(cè)評(píng)分結(jié)果。與其他推薦模型進(jìn)行比較,以證明本文算法推薦方案的精度。
LFM是奇異值分解矩陣的改進(jìn)算法,算法基于用戶(hù)項(xiàng)目間的隱含特征建立矩陣R。矩陣R的元素ruj表示用戶(hù)u對(duì)產(chǎn)品服務(wù)方案j的興趣度,本文通過(guò)計(jì)算并排序興趣度,給予產(chǎn)品服務(wù)方案推薦。LFM算法從數(shù)據(jù)集中提取出若干個(gè)主題,用于連接用戶(hù)和方案,R表示成矩陣P與矩陣Q的乘積。P是用戶(hù)-類(lèi)矩陣,其元素pu,c表示用戶(hù)u對(duì)類(lèi)c的興趣度;Q是方案-類(lèi)矩陣,其元素qa,c表示方案a在類(lèi)c中的權(quán)重,比重越高,越可能作為該類(lèi)的代表。因此,需獲取P和Q中的元素值,即可得到u對(duì)產(chǎn)品服務(wù)方案a的預(yù)測(cè)評(píng)分,采用Top?N排序并推薦。pu是由pu,c組成的用戶(hù)-類(lèi)向量集,即;qa是由qa,c組成的產(chǎn)品服務(wù)方案-類(lèi)向量集,即預(yù)測(cè)評(píng)分=pu·。
LFM是基于改進(jìn)奇異值矩陣分解模型提出的,由于奇異值分解模型在處理稀疏數(shù)據(jù)時(shí),子模型分解過(guò)程會(huì)增加運(yùn)算成本,且不準(zhǔn)確填充可能會(huì)導(dǎo)致數(shù)據(jù)推薦結(jié)果有誤差,故人們考慮采用基于梯度下降的LFM,構(gòu)建誤差最小化的損失函數(shù)來(lái)彌補(bǔ)數(shù)據(jù)稀疏缺陷。事實(shí)上,實(shí)際應(yīng)用過(guò)程中,產(chǎn)品或服務(wù)方案的評(píng)價(jià)意見(jiàn)并非是單一選項(xiàng)值,用戶(hù)興趣及選擇也會(huì)有所偏差。例如,品牌類(lèi)型以及熱度等都會(huì)使用戶(hù)打出差異明顯的分值。就不同用戶(hù)而言,同類(lèi)型產(chǎn)品評(píng)分差距明顯也會(huì)導(dǎo)致預(yù)測(cè)值偏差過(guò)大,如熱度高、影響力大的產(chǎn)品容易受到用戶(hù)青睞。因此,引入用戶(hù)評(píng)分偏差量bu及項(xiàng)目打分偏差量ba來(lái)改善差異性[7],即
其中,μ是數(shù)據(jù)庫(kù)中所有記錄評(píng)分的平均值;N表示所有用戶(hù)對(duì)項(xiàng)目的評(píng)分集數(shù)量[16];bu為用戶(hù)評(píng)分偏差,即用戶(hù)評(píng)分過(guò)程中和物品無(wú)關(guān)的因素。ba是指方案特征差異值,即產(chǎn)品服務(wù)方案評(píng)分值與用戶(hù)特征無(wú)關(guān)的因素;bua為考慮偏置量bu、ba后的評(píng)分結(jié)果;R(a)是產(chǎn)品服務(wù)方案評(píng)分總數(shù);R(u)是用戶(hù)評(píng)分總數(shù);rca為方案a在類(lèi)中權(quán)重比值;ruc為用戶(hù)u對(duì)類(lèi)c的評(píng)分值。
考慮用戶(hù)-項(xiàng)目間的偏差值,將μ、bu、ba融入預(yù)測(cè)分值r^ua中,即
如果用戶(hù)有更精細(xì)的產(chǎn)品服務(wù)方案需求,就會(huì)精確到產(chǎn)品服務(wù)方案特征的分析和推薦。本文引入產(chǎn)品服務(wù)方案a與特征f組成的類(lèi)O,Of為方案特征向量集,為最終的方案推薦對(duì)應(yīng)的特征值,預(yù)測(cè)函數(shù)預(yù)測(cè)產(chǎn)品服務(wù)方案特征評(píng)分
考慮到用戶(hù)和產(chǎn)品服務(wù)方案相關(guān)數(shù)據(jù)隨時(shí)間不斷更新,且新用戶(hù)沒(méi)有產(chǎn)生相關(guān)歷史行為記錄,難以推薦其所需產(chǎn)品服務(wù)方案,若要對(duì)新用戶(hù)實(shí)時(shí)推薦產(chǎn)品服務(wù)方案,需要基于之前數(shù)據(jù)集進(jìn)行動(dòng)態(tài)更新。為提高推薦效率,且考慮到新用戶(hù)的冷啟動(dòng)問(wèn)題,基于用戶(hù)特征相似度推薦產(chǎn)品服務(wù)方案來(lái)解決該問(wèn)題??紤]用戶(hù)特征多元性,引入用戶(hù)對(duì)類(lèi)的興趣相似度wuc:
其中,puc、pvc分別為用戶(hù)u、v對(duì)類(lèi)c的興趣度評(píng)分;u分別為用戶(hù)u、v對(duì)類(lèi)的評(píng)分均值。
將用戶(hù)特征相似度wuc作為預(yù)測(cè)評(píng)分的權(quán)重,再次預(yù)測(cè)方案評(píng)分,通過(guò)差值平均法更新預(yù)測(cè)計(jì)算公式,從而降低時(shí)間復(fù)雜度。預(yù)測(cè)公式由式(10)變?yōu)?/p>
當(dāng)數(shù)據(jù)集更新時(shí),即數(shù)據(jù)庫(kù)增加新用戶(hù)行為記錄,此時(shí)如果對(duì)新評(píng)分?jǐn)?shù)據(jù)能夠增量更新,則在不影響前期數(shù)據(jù)工作下,基于Slope算法提出差值增量更新法,在預(yù)測(cè)評(píng)分中引入差值平均值,將新評(píng)分值平均到所有預(yù)測(cè)分值中,計(jì)算方式為其中是新用戶(hù)對(duì)產(chǎn)品服務(wù)方案的評(píng)分是已有用戶(hù)的平均評(píng)分,N(u)是新用戶(hù)前的用戶(hù)總數(shù),wuc是更新數(shù)據(jù)前的用戶(hù)特征相似度。對(duì)評(píng)分差值的權(quán)重進(jìn)行約束。
為突出本文算法的優(yōu)勢(shì),通過(guò)對(duì)比不同算法的推薦效果,采用協(xié)同過(guò)濾算法常用的度量指標(biāo)即平均絕對(duì)誤差(mean absolute error,MAE)來(lái)度量策略預(yù)測(cè)的精度。將其用于比較本文推薦算法、基于云模型的推薦算法以及基于梯度的LFM推薦精確度,MAE值越小,表明預(yù)測(cè)結(jié)果計(jì)算誤差越小,推薦精度越高。M AE值計(jì)算公式為
其中,N為評(píng)分總數(shù),rua為實(shí)際評(píng)分,r^ua為預(yù)測(cè)評(píng)分。本文選取誤差最小的預(yù)測(cè)評(píng)分,將用戶(hù)pu及對(duì)應(yīng)產(chǎn)品服務(wù)方案qi予以推薦。
某企業(yè)針對(duì)機(jī)床再制造的銷(xiāo)售問(wèn)題,即如何提高產(chǎn)品服務(wù)方案的銷(xiāo)售效率,提出采用個(gè)性化服務(wù)方案給予推薦。通過(guò)整理以往顧客購(gòu)買(mǎi)產(chǎn)品記錄,本文選取10種具有代表性的產(chǎn)品服務(wù)方案a1,a2,…,a10,對(duì)其進(jìn)行評(píng)估。方案評(píng)估指標(biāo)分為主傳動(dòng)變速系統(tǒng)(c1),刀架更換系統(tǒng)(c2),安全防護(hù)裝置(c3),進(jìn)給系統(tǒng)(c4),廢舊機(jī)床利用率(c5),機(jī)床防護(hù)系統(tǒng)(c6),節(jié)能環(huán)保方案(c7)。通過(guò)問(wèn)卷調(diào)查,選取其中10位用戶(hù)的評(píng)分?jǐn)?shù)據(jù)作為本文的實(shí)驗(yàn)數(shù)據(jù),雖然有隨機(jī)性,但是將其作為本文的例證,具有普適性。將新用戶(hù)對(duì)評(píng)估指標(biāo)的打分高低表示為用戶(hù)對(duì)機(jī)床的興趣程度,用1~6來(lái)表示興趣度的程度,即非常不滿(mǎn)意、不滿(mǎn)意、一般、好、滿(mǎn)意、非常滿(mǎn)意,本文的興趣值見(jiàn)表1。
表1 用戶(hù)興趣度Tab.1 User in terest
若要將產(chǎn)品服務(wù)方案推薦給適合的用戶(hù),就需建立用戶(hù)與方案間的聯(lián)系,而已有產(chǎn)品服務(wù)方案推薦,一般采用基于產(chǎn)品服務(wù)方案特征或者用戶(hù)特征的推薦算法予以推薦。本文采用LFM,將產(chǎn)品指標(biāo)作為隱類(lèi),建立用戶(hù)與服務(wù)方案間的關(guān)系,即建立用戶(hù)-類(lèi)表和類(lèi)-方案比重表。由于用戶(hù)對(duì)方案的偏好不同,表現(xiàn)為對(duì)方案指標(biāo)的喜愛(ài)程度,所以根據(jù)方案推薦的歷史數(shù)據(jù),得出10種方案指標(biāo)評(píng)估比重矩陣,見(jiàn)表2。
表2 機(jī)床產(chǎn)品服務(wù)方案比重Tab.2 Program p roportion ofm achine p roduct service
為了更精準(zhǔn)地給用戶(hù)推薦方案,如具體到方案某一性能特征,可以參照表3和表4。機(jī)床服務(wù)方案特征包括:床身(f1),主軸箱(f2),自動(dòng)回轉(zhuǎn)刀
表3 產(chǎn)品服務(wù)方案特征Tab.3 Program features of p roduct service
架(f3),壓力控制閥(f4),環(huán)保節(jié)能(f5),進(jìn)給傳動(dòng)(f6),安全性能(f7),動(dòng)力元件(f8)。根據(jù)專(zhuān)家的語(yǔ)義評(píng)估,將各個(gè)產(chǎn)品服務(wù)方案屬性值定量化轉(zhuǎn)換,分別用1~4表示特征較差、中、較好、好四個(gè)等級(jí),具體指標(biāo)以及等級(jí)見(jiàn)表3,每個(gè)方案對(duì)應(yīng)方案特征指標(biāo)值見(jiàn)表4。
表4 產(chǎn)品服務(wù)方案特征數(shù)據(jù)Tab.4 Product service solution feature data values
隨著用戶(hù)購(gòu)買(mǎi)量的增加,評(píng)分?jǐn)?shù)據(jù)量也在增加,此時(shí)就會(huì)面臨有些用戶(hù)不愿對(duì)已購(gòu)買(mǎi)產(chǎn)品打分等情況,產(chǎn)生稀疏數(shù)據(jù)。面對(duì)此挑戰(zhàn),已有學(xué)者通過(guò)梯度算法改進(jìn)LFM,使得預(yù)測(cè)評(píng)分偏差最低??紤]梯度算法未填充數(shù)據(jù),因此直接通過(guò)近似下降法搜索相似最近鄰進(jìn)行預(yù)測(cè)填充來(lái)避開(kāi)稀疏數(shù)據(jù)的影響,仍會(huì)有誤差存在。本文提出采用云相似度預(yù)測(cè)空缺數(shù)據(jù)的評(píng)分以彌補(bǔ)數(shù)據(jù)稀疏性,形成完整數(shù)據(jù)。如以表2填充數(shù)據(jù)為例,找出某類(lèi)稀疏數(shù)據(jù)的最近鄰,采用加權(quán)云相似度進(jìn)行預(yù)測(cè)。本文先計(jì)算方案-興趣特征類(lèi)的評(píng)分的相似度,通過(guò)刪掉缺失數(shù)據(jù)對(duì)應(yīng)類(lèi)的同樣數(shù)據(jù),再計(jì)算相似度,如類(lèi)c1和類(lèi)c2間的相似性是在去除產(chǎn)品服務(wù)方案a3的基礎(chǔ)上根據(jù)式(6)求解,再通過(guò)式(7)求解預(yù)測(cè)分值,以此類(lèi)推,根據(jù)式(4)求解余弦相似度,具體見(jiàn)表5、表6。由上述求解的余弦相似度可知,云相似度都很高,難以選取最優(yōu)值,故本文采取云滴間距離進(jìn)行約束,以c1、c4、c7的云圖為例,見(jiàn)圖4、圖5。
表5 方案-興趣特征向量Tab.5 Schem e-in terest featu re vector
表6 興趣特征類(lèi)的余弦相似度Tab.6 Cosine sim ilarity of interest feature class
圖4 c1和c7的云圖關(guān)系Fig.4 C loud relations of c1 and c7
圖5 c4和c7的云圖關(guān)系Fig.5 Cloud relations of c4 and c7
由圖4和圖5可知,即使c1、c4、c7間余弦相似度很高,但在云圖中明顯看出,c1和c7的距離分散太多,云厚度小,離散性高,而c4云圖緊密性好,這也驗(yàn)證了余弦相似性的不精確性,因此,引入式(5)計(jì)算云滴間距離相似度,結(jié)果見(jiàn)表7,并與表6余弦相似度加權(quán)求和,找出最優(yōu)解。
將表6和表7中對(duì)應(yīng)相似度加權(quán)求和,設(shè)置不同的α值,記錄下α分別為0.3、0.5、0.7時(shí)根據(jù)式(6)求解加權(quán)相似度的結(jié)果。由圖4和圖5可知,相對(duì)于余弦高相似度,云滴數(shù)據(jù)的生成過(guò)程也具有偶然性,單獨(dú)應(yīng)用云距離測(cè)度準(zhǔn)確性也受到約束,但當(dāng)用戶(hù)興趣特征較多時(shí),計(jì)算出的余弦相似度就會(huì)偏高,難以體現(xiàn)用戶(hù)間的差異。因此,本文結(jié)合基于實(shí)際用戶(hù)特征數(shù)據(jù)的余弦相似度和基于生成用戶(hù)云滴數(shù)據(jù)的云滴距離測(cè)度,來(lái)計(jì)算最終的用戶(hù)相似度。本方法避免了單一采用余弦相似或云距離測(cè)度的缺陷。所以本文根據(jù)α值的變化趨勢(shì),選取α=0.3時(shí)的加權(quán)相似值,并選取高相似的特征類(lèi)最近鄰,采用式(6)計(jì)算方式給予預(yù)測(cè)填充數(shù)據(jù)。表2彌補(bǔ)后的數(shù)據(jù)見(jiàn)表8,其中,加粗的數(shù)字是預(yù)測(cè)填充后得到的數(shù)據(jù)。同理,其他稀疏矩陣的稀疏數(shù)據(jù)的彌補(bǔ)過(guò)程亦如此。
考慮數(shù)據(jù)評(píng)分因人而異,尤其對(duì)于機(jī)床的資深研究者,會(huì)對(duì)機(jī)床性能的評(píng)分比較苛刻,導(dǎo)致評(píng)分?jǐn)?shù)據(jù)發(fā)生偏差,引入基于偏差量的LFM預(yù)測(cè)評(píng)分,具體計(jì)算公式為r^ua=pu·qTa。將表1中用戶(hù)對(duì)類(lèi)ck的評(píng)分作為p,表8中填充后的機(jī)床方案比重值作為q,得出乘積即用戶(hù)對(duì)方案的評(píng)分。以表1中的u1對(duì)c1的評(píng)分向量p1=(2,4,1,2,5,6,3)與c1對(duì)a的比值向量q1=(0.835,0.452,0.513,0.391,0.412,0.093,0.121)T為例,將 p1和 q1相乘得到用戶(hù)對(duì)方案a1的評(píng)分為7.753,依此類(lèi)推,Rua=puc·qca,其中,puc為表1形成的用戶(hù)-類(lèi)矩陣,qca為表8形成的類(lèi)-方案矩陣,Rua為用戶(hù)-方案矩陣。計(jì)算結(jié)果見(jiàn)表9。
表8 機(jī)床產(chǎn)品服務(wù)方案填充后的完整值Tab.8 Com p lete value ofm achine tool product service p rogram after filling
表9 用戶(hù)對(duì)產(chǎn)品服務(wù)方案的評(píng)分Tab.9 User ratings of product service solutions
由表9可知,以用戶(hù)u1為例,方案評(píng)分由高到低為 a9、a10、a8、a7、a6、a2、a5、a4、a3、a1,方案 a9是用戶(hù)u1的最佳首選服務(wù)方案,對(duì)照表3、表4,可以得出方案9的機(jī)床具有以下特征:水平床身,直流數(shù)字化的主軸箱,回轉(zhuǎn)刀架,減壓閥,切削回收盤(pán),閉環(huán),敞開(kāi)式,齒輪泵。
當(dāng)該企業(yè)出現(xiàn)購(gòu)買(mǎi)機(jī)床的新用戶(hù)時(shí),由于用戶(hù)對(duì)機(jī)床性能認(rèn)知不夠,但根據(jù)問(wèn)卷調(diào)查得到其對(duì)機(jī)床性能ck興趣度,預(yù)測(cè)其最近鄰以及相應(yīng)的推薦產(chǎn)品服務(wù)方案,新用戶(hù)vx(x=1,2,3)的興趣度分值見(jiàn)表10,根據(jù)余弦相似度求出用戶(hù)相似最近鄰見(jiàn)表11。
表10 新用戶(hù)興趣度值Tab.10 Interest value of new user
表11 新用戶(hù)與舊用戶(hù)興趣相似度Tab.11 Sim ilar interestsbetween new usersand old users
由表 11 可知,新用戶(hù) v1和 u1,v2和 u5,v3和 u10有高相似的興趣度,對(duì)于完全未了解或零購(gòu)買(mǎi)記錄的用戶(hù),采用基于用戶(hù)特征改進(jìn)的推薦算法,如式(12)的計(jì)算方式,得到興趣度權(quán)重見(jiàn)表12。
由表10和表1可得出用戶(hù)偏置量bv1=-0.428 56,bv2=0.428 586,bv3=-0.142 84,根據(jù)式(10)和式(13)計(jì)算找出最近鄰用戶(hù)并推薦高相似的產(chǎn)品服務(wù)方案,結(jié)果見(jiàn)表13。
表12 高相似用戶(hù)的興趣度權(quán)重Tab.12 Interestweight of high sim ilar user
表13 新用戶(hù)產(chǎn)品服務(wù)方案預(yù)測(cè)結(jié)果Tab.13 Forecast results of new user p roduct in service solu tions
由表13可以看出,對(duì)于新用戶(hù)v1,機(jī)床方案優(yōu)先級(jí)由高到低依次為 a7、a8、a5、a6、a9、a10、a2、a1、a4、a3,所以給其推薦方案首選是 a7、a8,新用戶(hù) v2推薦 a7、a8等產(chǎn)品服務(wù)方案,新用戶(hù) v3推薦 a4、a7。如果具體到產(chǎn)品服務(wù)方案特征推薦,可采用式(11),得出高評(píng)分性能特征給予推薦,以用戶(hù)v1對(duì)應(yīng)方案a7,v2對(duì)應(yīng)方案a8以及v3對(duì)應(yīng)方案a4的特征為例,具體見(jiàn)表14。由表14可知,對(duì)于方案a4,推薦交流無(wú)極變速的主軸箱,開(kāi)環(huán)的進(jìn)給傳動(dòng)系統(tǒng),帶刀庫(kù)式的刀架的機(jī)床;對(duì)于方案a7,選擇帶有交流無(wú)級(jí)變速的主軸箱,溢流控制閥,齒輪泵的機(jī)床;對(duì)于產(chǎn)品服務(wù)方案a8,選擇開(kāi)環(huán)的傳動(dòng),敞開(kāi)式性能,環(huán)保性能高,交流無(wú)級(jí)變速的機(jī)床。
表14 產(chǎn)品服務(wù)方案特征推薦表Tab.14 Product service p rogram featu rerecomm endation form
在產(chǎn)品服務(wù)方案推薦過(guò)程中,新用戶(hù)數(shù)據(jù)的產(chǎn)生使得數(shù)據(jù)庫(kù)不定期更新,但為了實(shí)時(shí)推薦用戶(hù)感興趣的服務(wù)方案且不影響前期計(jì)算過(guò)程,首先計(jì)算該用戶(hù)特征評(píng)分與推薦最近鄰用戶(hù)的相似度,如果相似度達(dá)到閾值0.85以上,采用式(14)對(duì)最后方案預(yù)測(cè)分值進(jìn)行更新,雖然會(huì)略失準(zhǔn)確度,但降低了時(shí)間復(fù)雜度,提高了方案推薦實(shí)時(shí)性。針對(duì)表13的用戶(hù)v1方案推薦,采用新用戶(hù)b的評(píng)分rba,更新產(chǎn)品服務(wù)方案推薦結(jié)果,見(jiàn)表15。
表15 實(shí)時(shí)更新的產(chǎn)品服務(wù)方案推薦結(jié)果Tab.15 Recomm endation results of real-tim e update of p roduct service solu tion
由表15可知,方案的優(yōu)先級(jí)由高到低依次為a7、a8、a5、a6、a9、a10、a1、a2、a4、a3,與更新前的總體推薦方案次序變化不大,只是產(chǎn)品服務(wù)方案a1和a2的優(yōu)先性調(diào)換了,說(shuō)明更新數(shù)據(jù)少對(duì)結(jié)果影響力較小。
為了驗(yàn)證本文算法的合理性,考慮預(yù)測(cè)數(shù)據(jù)的推薦精度,以數(shù)據(jù)庫(kù)中50~400個(gè)等量樣本數(shù)據(jù)作為訓(xùn)練集進(jìn)行試驗(yàn)。由于數(shù)據(jù)量過(guò)小,得到的速度差異不明顯,故本文未考慮算法執(zhí)行速度的比較,僅考慮了推薦精度的比較。通過(guò)式(15),對(duì)本文推薦算法、文獻(xiàn)[16]中的基于云模型的協(xié)同過(guò)濾算法、文獻(xiàn)[2]中的基于梯度算法的LFM三者推薦結(jié)果與實(shí)際結(jié)果的誤差值進(jìn)行對(duì)比,具體見(jiàn)圖6。
圖6 三種算法推薦得平均絕對(duì)誤差Fig.6 M ean average error of three recomm endation algorithm
由圖6可知,當(dāng)訓(xùn)練集較少時(shí),三種算法推薦精度誤差不大,都在0.08左右;隨著訓(xùn)練集樣本數(shù)增加,誤差較小,但是本文算法誤差減小速度最快,說(shuō)明對(duì)于數(shù)據(jù)量大的數(shù)據(jù)庫(kù),本文推薦算法更加有效。另外,也能看出基于云模型的CF算法比LFM的推薦準(zhǔn)確率高,并且當(dāng)訓(xùn)練集數(shù)量為350時(shí),基于云模型的CF算法與本文算法的誤差很接近。
本文針對(duì)評(píng)分?jǐn)?shù)據(jù)具有主觀性、隨機(jī)模糊性等問(wèn)題,且余弦相似度難以區(qū)別用戶(hù)對(duì)方案的偏好度,提出采用云滴距離測(cè)度和余弦相似度的綜合相似度來(lái)預(yù)測(cè)填充空缺數(shù)據(jù),彌補(bǔ)數(shù)據(jù)稀疏性??紤]到冷啟動(dòng)問(wèn)題,即對(duì)零記錄用戶(hù)推薦合適的方案,本文基于問(wèn)卷調(diào)查得到用戶(hù)特征值并求相似度找出最近鄰用戶(hù),并采用融入偏置量的加權(quán)LFM,提高推薦方案的效率??紤]到數(shù)據(jù)庫(kù)是動(dòng)態(tài)更新的,采用基于差值評(píng)分預(yù)測(cè)方法更新預(yù)測(cè)結(jié)果。最后在不同訓(xùn)練集下,擬合實(shí)際和預(yù)測(cè)平均誤差值的變化趨勢(shì)并分析結(jié)果,實(shí)驗(yàn)結(jié)果證明了本文算法的優(yōu)先性。
本文將推薦算法與個(gè)性化產(chǎn)品服務(wù)方案相結(jié)合,雖然在方案推薦過(guò)程和結(jié)果的精度有所提高,但是在前期填充數(shù)據(jù)過(guò)程中會(huì)耗費(fèi)很多時(shí)間。考慮在下一步研究中優(yōu)化空缺數(shù)據(jù)的填充過(guò)程。