曹洪江,李 雪
(武漢理工大學(xué) 經(jīng)濟(jì)學(xué)院,湖北 武漢 430070)
如今,越來(lái)越多的人習(xí)慣了通過(guò)社交網(wǎng)絡(luò)來(lái)分享和獲取各種信息[1-2]。各種論壇、微博等早已成為人們生活中不可或缺的一部分。隨著社交網(wǎng)絡(luò)中用戶生成的信息日益增多,以共同興趣或話題為聯(lián)結(jié)紐帶的網(wǎng)絡(luò)群組也大量涌現(xiàn)。利用這些社交網(wǎng)絡(luò)上的群組信息向某個(gè)用戶推薦符合其感興趣的群組或是向某群組的全體成員進(jìn)行商品推薦已成為一種常用的推薦方法[3-4]。目前,這類推薦在社交媒體討論組、電影、音樂(lè)、影像、電視和電子商務(wù)等領(lǐng)域中都得到了具體的應(yīng)用[5-6]。而如何充分且有效地利用社交網(wǎng)絡(luò)信息中所蘊(yùn)含的用戶偏好信息來(lái)進(jìn)行推薦成為群組推薦領(lǐng)域的研究熱點(diǎn)[7-8]。
在社交網(wǎng)絡(luò)的群組推薦方法中,常通過(guò)用戶注冊(cè)時(shí)生成的簡(jiǎn)檔信息來(lái)獲取用戶的偏好。根據(jù)獲取的用戶偏好信息向用戶進(jìn)行群組或者其他內(nèi)容的推薦。但這種方法存在著一個(gè)明顯的弊端:靜態(tài)的簡(jiǎn)檔信息無(wú)法準(zhǔn)確反映動(dòng)態(tài)的用戶偏好,以此為基礎(chǔ)的推薦會(huì)導(dǎo)致推薦系統(tǒng)的準(zhǔn)確性和可靠性不高。針對(duì)這一問(wèn)題,筆者提出一種基于用戶動(dòng)態(tài)簡(jiǎn)檔信息的群組信息推薦方法: GRBUDP (group recommendation based on user dynamic profile information)。該方法以用戶動(dòng)態(tài)簡(jiǎn)檔信息為推薦基礎(chǔ),為解決群組的推薦過(guò)程中用戶簡(jiǎn)檔信息靜態(tài)性無(wú)法反映用戶偏好動(dòng)態(tài)性這一問(wèn)題提供了一條解決思路,通過(guò)對(duì)實(shí)驗(yàn)結(jié)果的分析,證明了該方法的有效性。
目前,對(duì)群組推薦的理論、方法及應(yīng)用研究工作已經(jīng)廣泛展開(kāi)并取得了一定的成果,諸多群組推薦方案基本可以歸納為基于協(xié)同過(guò)濾的推薦方案和基于社交的推薦方案兩種類型?;趨f(xié)同過(guò)濾的推薦是通過(guò)用戶及其使用的物品之間的關(guān)聯(lián)關(guān)系向特定用戶推薦物品或是可能感興趣的群組。SONG等[9]利用協(xié)同過(guò)濾算法對(duì)未評(píng)分的電影進(jìn)行預(yù)測(cè)評(píng)分,然后根據(jù)群組成員的偏好參數(shù)進(jìn)行電影推薦。GHAZARIAN等[10]提出了一種基于內(nèi)存的協(xié)同過(guò)濾向群組成員推薦音樂(lè)的方法,該方法能解決推薦過(guò)程中常見(jiàn)的數(shù)據(jù)稀疏性問(wèn)題,并使用向量機(jī)學(xué)習(xí)模型來(lái)計(jì)算項(xiàng)目之間的相似性。
基于社交的群組推薦方案則是通過(guò)分析用戶的社會(huì)行為確定用戶間的關(guān)系和影響,進(jìn)而向用戶推薦群組。ARISE(architecture for recommendations including social elements)推薦系統(tǒng)為了改善群組推薦效果,在推薦過(guò)程中首次將群組中成員的個(gè)人偏好及其所在群組的特征信息進(jìn)行了整合[11]。GARTRELL等[12]通過(guò)考慮群體成員之間的關(guān)系,以及各成員的專業(yè)知識(shí)和偏好,提出了從社交網(wǎng)絡(luò)中提取用戶的社交關(guān)系用于推薦的方法。該方法考慮了從社交網(wǎng)絡(luò)成員間的交互行為信息中直接提取所需要的信息。
另外,近年的一些研究表明,如果推薦系統(tǒng)中考慮專家知識(shí),則能夠提高推薦的正確性和可靠性,如BOZZON等[13]所提出的群組推薦方法中,利用用戶在群組中的活動(dòng)信息來(lái)確定其中的專家用戶。SONG等[14]通過(guò)利用專家信息來(lái)向群組中的成員進(jìn)行推薦,證明了專家意見(jiàn)和推薦系統(tǒng)的性能之間存在著一定的關(guān)聯(lián)性。筆者提出的群組推薦算法屬于一種綜合考慮多種影響推薦結(jié)果因素的群組推薦算法,同以往的算法相比,筆者方法的獨(dú)特性在于系統(tǒng)地考慮了用戶興趣變化的動(dòng)態(tài)性、專家知識(shí)、社會(huì)關(guān)系這3個(gè)因素在推薦中所起的作用。
針對(duì)群組推薦中用戶靜態(tài)簡(jiǎn)檔信息無(wú)法準(zhǔn)確反映用戶當(dāng)前偏好的問(wèn)題,提出了通過(guò)搜集用戶在群組內(nèi)的活動(dòng)信息生成動(dòng)態(tài)用戶檔案來(lái)適應(yīng)用戶偏好變化的方法。GRBUDP方法首先對(duì)用戶近期群組內(nèi)的活動(dòng)信息進(jìn)行分析,用以生成用戶的動(dòng)態(tài)簡(jiǎn)檔。該方法的優(yōu)點(diǎn)是能夠及時(shí)反映用戶的最近偏好,使得用戶偏好變化能在推薦過(guò)程中及時(shí)得到反映。另外,在進(jìn)行協(xié)同過(guò)濾推薦的過(guò)程中,納入了群組中“相似偏好用戶”和“專家信息”,使得推薦結(jié)果在多樣性和準(zhǔn)確性上有了明顯的提高。
GRBUDP方法分為以下5個(gè)步驟:①搜集用戶近期在社交網(wǎng)絡(luò)中的各個(gè)群組內(nèi)的活動(dòng)信息。②分析用戶的活動(dòng)信息,生成能夠組成用戶簡(jiǎn)檔信息的關(guān)鍵詞集合。③根據(jù)用戶簡(jiǎn)檔信息和用戶的活動(dòng)信息,確定與目標(biāo)用戶具有相似偏好的用戶,并從中選定出“專家”用戶。④利用相似用戶的簡(jiǎn)檔信息,通過(guò)協(xié)同過(guò)濾方法對(duì)目標(biāo)用戶進(jìn)行基于偏好的關(guān)鍵詞推薦。⑤將推薦出的關(guān)鍵詞集合和各個(gè)信息群組的關(guān)鍵詞集合進(jìn)行匹配,匹配度高的群組即為推薦群組。
用戶的動(dòng)態(tài)簡(jiǎn)檔建立在用戶在群組內(nèi)的活動(dòng)信息基礎(chǔ)上,并隨著用戶在群組內(nèi)活動(dòng)信息的變化而自動(dòng)變化,因此具有動(dòng)態(tài)性。當(dāng)一個(gè)注冊(cè)用戶剛進(jìn)入社交網(wǎng)絡(luò)時(shí),其初始注冊(cè)簡(jiǎn)檔信息只能反映用戶當(dāng)時(shí)的偏好情況。隨著用戶在群組內(nèi)參與的活動(dòng)越來(lái)越多,動(dòng)態(tài)的簡(jiǎn)檔信息更能反映用戶的當(dāng)前偏好。在用戶動(dòng)態(tài)簡(jiǎn)檔信息的更新過(guò)程中,首先要收集相同類別內(nèi)用戶的群組活動(dòng)信息用以創(chuàng)建用戶偏好信息。例如,一個(gè)社交網(wǎng)絡(luò)中存在“音樂(lè)”和“體育”這兩個(gè)群組的類別,用戶參與了與“音樂(lè) ”和“運(yùn)動(dòng)”相關(guān)的兩個(gè)群組。通過(guò)總結(jié)用戶在音樂(lè)相關(guān)群組中的活動(dòng)信息來(lái)更新動(dòng)態(tài)簡(jiǎn)檔中的音樂(lè)相關(guān)偏好。類似地,通過(guò)總結(jié)用戶在運(yùn)動(dòng)相關(guān)群組中的活動(dòng)信息來(lái)更新其動(dòng)態(tài)簡(jiǎn)檔信息。假設(shè)用戶參與了多個(gè)網(wǎng)絡(luò)群組Group1~Group8,這些群組從類別上可以分為4類:音樂(lè)、游戲、運(yùn)動(dòng)、語(yǔ)言學(xué)習(xí)。其中Group1和Group2均與音樂(lè)相關(guān),因此可以歸為音樂(lè)類, Group3和Group4為運(yùn)動(dòng)類,Group5和Group6同屬于游戲類,Group7和Group8為語(yǔ)言學(xué)習(xí)類。這些包含用戶活動(dòng)信息的群組就是動(dòng)態(tài)簡(jiǎn)檔生成的數(shù)據(jù)源。在這些群組中要排除那些用戶參與度不高的群組,是否排除主要依據(jù)用戶在群組中的活動(dòng)量值。該值的計(jì)算通過(guò)收集用戶在群組內(nèi)諸如發(fā)帖、評(píng)論或用戶簽到這類活動(dòng)的數(shù)量來(lái)得到的。用戶活動(dòng)量的計(jì)算方法如式(1)所示。
(1)
用戶活動(dòng)量的計(jì)算過(guò)程如表1~表4所示(表中數(shù)值均為提前假設(shè)的數(shù)值)。
表1 用戶在某群組內(nèi)的活動(dòng)信息(Nij)
表2 活動(dòng)權(quán)重(αij)
表3 時(shí)間權(quán)重(k)
表4 用戶活動(dòng)量
根據(jù)式(1),可以計(jì)算出該用戶在一月份的活動(dòng)量值:((50×0.5)+(90×0.3)+(200×0.2))×0.1=9。同理,得出二月、三月、四月的活動(dòng)量分別為12、9、23,所以,該用戶在前4個(gè)月期間內(nèi)的活動(dòng)量為53。
動(dòng)態(tài)簡(jiǎn)檔信息的生成和更新所用的數(shù)據(jù)來(lái)源為用戶在同一個(gè)類別中的所有活動(dòng)信息。那些PV值太低的群組將會(huì)被排除掉,因此,用于生成簡(jiǎn)檔信息的群組都是用戶活躍度較高的群組,這樣也能更準(zhǔn)確地反映用戶最近的偏好。每個(gè)群組都會(huì)有一個(gè)初始的簡(jiǎn)檔信息,通常用一個(gè)關(guān)鍵詞集合的形式來(lái)表示,這些關(guān)鍵詞也體現(xiàn)了該群組的特性,這些初始的關(guān)鍵詞集合可以事先由系統(tǒng)管理者指定或者通過(guò)文本挖掘的方法來(lái)自動(dòng)生成。那些符合要求的群組關(guān)鍵詞通過(guò)計(jì)算被選取出來(lái),以組成用戶的動(dòng)態(tài)簡(jiǎn)檔,其中關(guān)鍵詞權(quán)重的計(jì)算公式如式(2)所示。
(2)
群組推薦的最終目的是向用戶推薦可能感興趣的群組,為了反映在相同組類別中所包含的其他用戶的偏好,GRBUDP方法采用對(duì)相似用戶的動(dòng)態(tài)簡(jiǎn)檔信息進(jìn)行協(xié)同過(guò)濾。通過(guò)協(xié)同過(guò)濾推薦,可以得到一個(gè)目標(biāo)用戶可能感興趣的偏好集合。再依據(jù)此偏好集合跟不同群組的關(guān)鍵詞信息進(jìn)行匹配,依據(jù)匹配度的大小,最終形成群組推薦。因此,在進(jìn)行協(xié)同過(guò)濾推薦前,需要先找出同一個(gè)類別的群組中與目標(biāo)用戶偏好相似的用戶。此外,筆者提出的方法中還考慮了“專家“因素。“專家”是從相似用戶集合中選取,選取的依據(jù)是用戶的活動(dòng)量閾值,既通過(guò)式(1)得出的PV值,高于某個(gè)閾值的用戶則被選為“專家”,這些專家的偏好信息在協(xié)同過(guò)濾推薦過(guò)程中會(huì)比非專家的其他相似用戶的偏好值權(quán)重高。
2.4.1 相似偏好用戶的選取
根據(jù)式(3)計(jì)算目標(biāo)用戶與屬于同一個(gè)類型群組的其他用戶的活動(dòng)簡(jiǎn)檔信息的相似性。
(3)
用戶動(dòng)態(tài)簡(jiǎn)檔信息如表5所示,計(jì)算用戶A與用戶B、C、D、E之間的SK值依次為3、2、1、2。再根據(jù)式(3)可計(jì)算出用戶A和B之間的相似性為0.56,用戶A與其他用戶之間的相似性值在0.06~0.33之間。假設(shè)設(shè)定的閾值為0.5,則用戶B為用戶A的偏好相似用戶。
表5 用戶動(dòng)態(tài)簡(jiǎn)檔信息
2.4.2 專家的選取
在以往的群組推薦方法中,通常都是依據(jù)用戶的偏好信息來(lái)進(jìn)行推薦,但推薦結(jié)果的可靠性和質(zhì)量有時(shí)無(wú)法得到保證。在筆者提出的GRBUDP方法中,將專家信息引入推薦過(guò)程中,從而提高了推薦結(jié)果的可靠性。專家用戶的標(biāo)準(zhǔn)是在偏好相似用戶中,PV值超過(guò)系統(tǒng)設(shè)定閾值的用戶即為專家。在進(jìn)行協(xié)同過(guò)濾之前,會(huì)對(duì)專家用戶的動(dòng)態(tài)簡(jiǎn)檔信息賦以更高的權(quán)重,從而在推薦過(guò)程中能體現(xiàn)出專家比一般用戶具有更高的信息可靠性的這一特性。
協(xié)同過(guò)濾的作用是利用與目標(biāo)用戶的偏好相似的其他用戶的偏好來(lái)向目標(biāo)用戶推薦群組,即從那些有相似偏好的用戶的動(dòng)態(tài)簡(jiǎn)檔中提取目標(biāo)用戶可能感興趣的關(guān)鍵詞。協(xié)同過(guò)濾所提取出的關(guān)鍵詞集合是一個(gè)初步的關(guān)鍵詞集合,需要通過(guò)式(4)來(lái)計(jì)算這些關(guān)鍵詞的最終得分值,根據(jù)這個(gè)值來(lái)選取最終的優(yōu)選關(guān)鍵詞(preferred keywords)。通過(guò)式(3)中的用戶相似性對(duì)協(xié)同過(guò)濾得出的關(guān)鍵詞集合進(jìn)行篩選,從而增強(qiáng)優(yōu)選關(guān)鍵詞和目標(biāo)用戶偏好的關(guān)聯(lián)性。
(4)
式中:KP為候選關(guān)鍵詞的計(jì)算分值;k為用戶所在的組別;n為和用戶有相似偏好的用戶數(shù)目。
選取的優(yōu)選關(guān)鍵詞如表6所示,假設(shè)用戶A通過(guò)協(xié)同過(guò)濾方法提取出與運(yùn)動(dòng)相關(guān)的關(guān)鍵詞集合為{“basketball”、“table tennis”、“football”},其中,對(duì)于basketball,與用戶A的有相似偏好的用戶B、C、D的近似度值分別為0.56、0.33、0.33。根據(jù)式(4),basketball這一關(guān)鍵詞的最后得分值為1.22。如果系統(tǒng)設(shè)定的閾值為1,那么basketball則被放入優(yōu)選關(guān)鍵詞集合。以此類推,當(dāng)用戶的所有關(guān)鍵詞匹配完畢后,則可以得出優(yōu)選關(guān)鍵詞集合。將優(yōu)選關(guān)鍵詞集合和待推薦群組的關(guān)鍵詞集合進(jìn)行匹配,按匹配度的高低決定群組的推薦順序。假設(shè)得到的優(yōu)選關(guān)鍵詞集合為{“basketball”、“table tennis”、“football”},待推薦群組及群組的關(guān)鍵詞集合如表7所示,則群組推薦順序依次為:Group B、Group C、Group A。
表6 選取的優(yōu)選關(guān)鍵詞
表7 待推薦群組及群組的關(guān)鍵詞集合
GRBUDP推薦算法的具體步驟如下:
輸入 用戶簡(jiǎn)檔信息集合 (Profile_SET);
輸出 推薦群組集合 (Group_SET)。
if(無(wú)用戶參與的群組信息);
搜集用戶靜態(tài)文檔信息 Porfile_SET;
生成用戶動(dòng)態(tài)文檔信息 Group_SET;
生成群組推薦結(jié)果;
else if(有用戶參與的群組信息);
生成用戶動(dòng)態(tài)文檔信息(Profile_SET);
搜集用戶參與活動(dòng)的群組;
群組進(jìn)行主題分類;
根據(jù)PV值,在相似用戶中確定“專家”用戶;
for(相似用戶集合);
生成簡(jiǎn)檔信息的關(guān)鍵詞列表List_Key_extracted;
end for;
if(List_key_extrected >設(shè)定的閾值) 關(guān)鍵詞存入 優(yōu)選關(guān)鍵詞列表Store to List_Key_preferred;
end if;
通過(guò)優(yōu)選關(guān)鍵詞集合尋找與之相匹配的群組;
生成候選群組集合;
生成群組推薦Group_SET;
end if。
為了證明筆者提出的GRBUDP方法的有效性,選取ARISE推薦系統(tǒng)為比較對(duì)象,ARISE推薦方法是群組推薦中較為常見(jiàn)的方法之一,該方法為了提高推薦的可靠性而將用戶在社交網(wǎng)絡(luò)中的行為引入到推薦過(guò)程中來(lái),但該方法使用的是靜態(tài)用戶簡(jiǎn)檔信息。實(shí)驗(yàn)條件:RAM 8G; CUP:Intel(R) CoreTMi7-4600U;操作系統(tǒng):Windows 10;數(shù)據(jù)集:隨機(jī)實(shí)驗(yàn)數(shù)據(jù)集;用戶數(shù)量:500~2 500;群組數(shù):80;活動(dòng)量(PV)取值范圍:1~100;專家用戶的PV閾值:85;實(shí)驗(yàn)?zāi)康模候?yàn)證推薦準(zhǔn)確性、可靠性。
根據(jù)推薦群組的關(guān)鍵詞和用戶偏好之間的匹配度來(lái)確定。為了更好地觀察推薦方法的有效性,用戶所在的社交網(wǎng)絡(luò)被設(shè)定為3種類型:Fgroup (frequently change group)、Ngroup (normal change group)、Sgroup (static group),分別代表用戶興趣變化頻繁、常規(guī)和不大3種類型的社交網(wǎng)絡(luò)。實(shí)驗(yàn)采用的數(shù)據(jù)如表8所示。
將筆者方法和ARISE方法的實(shí)驗(yàn)結(jié)果進(jìn)行比較,如圖1所示,由于采用靜態(tài)簡(jiǎn)檔信息的推薦方法并不會(huì)隨著用戶興趣的變化而相應(yīng)更新用戶的簡(jiǎn)檔信息,因此所推薦群組的關(guān)鍵詞集合和用戶簡(jiǎn)檔信息的匹配率在不同類型的社交網(wǎng)絡(luò)群組中都明顯低于GRBUDP方法的匹配率。其中,F(xiàn)Group類型的社交網(wǎng)絡(luò)中,ARISE方法的關(guān)鍵詞匹配率比GRBUDP方法低60%左右,而對(duì)于NGroup類型的網(wǎng)絡(luò),兩種算法的推薦準(zhǔn)確性相差65%,SGroup類型由于群組成員興趣愛(ài)好變化輕微,所以兩種方法結(jié)果相差最小,但依然有10%的差距。由此可見(jiàn),基于動(dòng)態(tài)簡(jiǎn)檔信息的群組推薦方法的推薦準(zhǔn)確性要高于使用靜態(tài)文檔信息的群組推薦方法。
表8 推薦準(zhǔn)確性實(shí)驗(yàn)參數(shù)設(shè)定
圖1 推薦準(zhǔn)確性對(duì)比
推薦可靠性是一個(gè)重要指標(biāo),考慮專家用戶的信息能夠有效提高推薦的可靠性。而僅僅以用戶靜態(tài)簡(jiǎn)檔信息為依據(jù),則無(wú)法在這點(diǎn)上提供保證。因此,對(duì)GRBDUP和ARISE方法的專家知識(shí)的引用度進(jìn)行了實(shí)驗(yàn)比較。實(shí)驗(yàn)參數(shù)設(shè)定如表9所示。
表9 推薦可靠性實(shí)驗(yàn)參數(shù)設(shè)定
圖2 推薦可靠性對(duì)比
實(shí)驗(yàn)中將用戶包含的專家用戶的比例分別設(shè)定為10%、20%、30%,比較ARISE 和GRBUDP方法中發(fā)現(xiàn)的專家數(shù),實(shí)驗(yàn)結(jié)果如圖2所示。當(dāng)用戶人數(shù)為500、專家比例為10%時(shí),GRBUDP方法包含的專家數(shù)要比ARISE方法多將近20%。當(dāng)用戶人數(shù)為1 000和2 500時(shí),該值的差距分別為33%、34%。把專家比例上調(diào)到20%和30%時(shí),也得出類似的結(jié)果。從總體上來(lái)看,GRBUDP方法會(huì)比ARISE方法確定的專家數(shù)多30% 左右。由此可見(jiàn),在推薦過(guò)程中,專家知識(shí)可以帶來(lái)推薦可靠性的提升。
以往的推薦方法中由于沒(méi)有充分考慮用戶偏好的動(dòng)態(tài)變化,因此經(jīng)常會(huì)出現(xiàn)推薦結(jié)果和用戶偏好之間匹配率較低的問(wèn)題。筆者提出的GRBUDP方法是一種以用戶動(dòng)態(tài)簡(jiǎn)檔信息為基礎(chǔ)的群組推薦的方法,其特點(diǎn)是通過(guò)動(dòng)態(tài)簡(jiǎn)檔反映用戶偏好的變化,并在推薦過(guò)程中考慮相似用戶及專家用戶的信息。實(shí)驗(yàn)結(jié)果表明,相較于其他類型的推薦方法,GRBUDP方法能在一定程度上提升群組推薦結(jié)果的可靠性和有效性。將來(lái)的研究將考慮不同類別的群組用戶之間的關(guān)系對(duì)推薦結(jié)果的影響。另外,在實(shí)驗(yàn)過(guò)程中,數(shù)據(jù)集采用的是隨機(jī)生成的模擬數(shù)據(jù)集,計(jì)算過(guò)程中存在一些人為設(shè)定的數(shù)值,雖然算法的科學(xué)性能夠得到驗(yàn)證,但實(shí)驗(yàn)結(jié)果的精確性和合理性尚有待進(jìn)一步提升。
武漢理工大學(xué)學(xué)報(bào)(信息與管理工程版)2018年5期