劉 勇,吳翔宇,解本巨
1(青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院,青島 266061)
2(青島惠澤創(chuàng)建信息新技術(shù)有限公司,青島 266000)
“信息過載 (information overload)”[1]效應(yīng)是互聯(lián)網(wǎng)高速發(fā)展的副產(chǎn)物,為了解決“信息過載”問題,研究人員提供了兩種方案,一種是搜索引擎,另一種為推薦系統(tǒng).前者通過檢索關(guān)鍵字對海量信息進(jìn)行篩選,列出用戶可能用到的信息列表供用戶選擇;后者通過綜合分析用戶歷史數(shù)據(jù)(興趣、行為)、用戶所在場景、環(huán)境等,把用戶最為感興趣的內(nèi)容主動(dòng)推送給用戶,相較于前者,推薦系統(tǒng)的普適性、智能化程度以及精準(zhǔn)度都存在一定的優(yōu)勢[2].現(xiàn)如今推薦技術(shù)已經(jīng)成為學(xué)術(shù)研究的熱點(diǎn)之一,在社交網(wǎng)絡(luò)、電子商務(wù)、廣告投放等諸多領(lǐng)域獨(dú)占鰲頭[3].
目前主流的推薦方法可以分為:基于內(nèi)容的推薦(content-based recommendation)、基于協(xié)同過濾的推薦(collaborative filtering-based recommendation)、基于知識(shí)的推薦(knowledge-based recommendation)以及組合推薦(hybrid recommendation)[4].針對應(yīng)用場景和環(huán)境的不同可以選擇不同的推薦方式.
在網(wǎng)絡(luò)信息推薦領(lǐng)域,用戶和信息交互只存在瀏覽行為,并沒有對項(xiàng)目進(jìn)行評(píng)分,用戶的興趣偏好隱含在瀏覽歷史當(dāng)中,所以必須通過分析用戶行為來挖掘用戶的興趣[5].傳統(tǒng)的基于標(biāo)簽的信息推薦,通過分析用戶瀏覽記錄給用戶打上“興趣-權(quán)重”標(biāo)簽然后進(jìn)行推薦,在一定程度上忽略了用戶興趣的變化趨勢,隨著時(shí)間的推移,推薦精度往往會(huì)降低,影響用戶體驗(yàn).
所以,要想提高信息推薦的精度,需要一種可以隨時(shí)間增長,動(dòng)態(tài)更新用戶推薦候選項(xiàng)的方法,基于這個(gè)設(shè)想,本文提出一種基于動(dòng)態(tài)用戶畫像的方法,該方法建立在文本分類和用戶行為動(dòng)態(tài)分析的基礎(chǔ)上,后續(xù)相關(guān)實(shí)驗(yàn)證明了該方法的可行性.
在進(jìn)行文本信息的推薦之前,首先要對推薦集合中的文本進(jìn)行處理.本文使用支持向量機(jī)(SVM)文本分類法[6,7]對文本進(jìn)行分類處理,其核心思想是在n維向量空間內(nèi)尋找一個(gè)最優(yōu)分類的超平面,表示為:
SVM文本分類的主要步驟大致可以分為:文本特征提取、文本特征表示、文本分類.
首先對文本進(jìn)行分詞,然后對文本中的停用詞和單字詞進(jìn)行過濾.計(jì)算給定文本中詞語的詞頻:
其中,ni,j為 該詞在文本dj中出現(xiàn)的次數(shù),分母為總詞語量.選取特征之前,假設(shè)每個(gè)特征具有獨(dú)立性,然后選取若干詞頻較高的詞語作為該文本的特征詞集合,將文本表示為n維特征向量:
其中,n為選取詞語的個(gè)數(shù).
特征詞的權(quán)重使用TF-IDF公式進(jìn)行計(jì)算,公式如下所示:
其中,t fik表示詞tk在文本中的詞頻,N為所有的文本,nk為包含特征詞tk的文本數(shù).
1.2.1 歸一化處理
因?yàn)槲谋鹃L度偏差會(huì)影響特征詞的權(quán)重計(jì)算,所以要進(jìn)行歸一化處理,將選定的特征詞權(quán)重規(guī)范到一定區(qū)間內(nèi),其公式為:
其中,t f?為標(biāo)準(zhǔn)化后的詞頻,m in為該特征詞在所有文本中的最小詞頻,max為最大詞頻.
通過上述過程計(jì)算就可以得到文本的n維特征向量:
其中,ti表示特征詞,wi(d)為該詞在文本中的權(quán)重,n為特征詞的個(gè)數(shù).
由上述步驟就可以將文本量化為可進(jìn)行計(jì)算的數(shù)據(jù)結(jié)構(gòu),然后通過相似度計(jì)算就可以確定目標(biāo)文本的所屬分類,經(jīng)文本處理和分類后的文檔集可以表示為如下的向量集:
其中,d ocumentCollection為向量余弦相似度較高的一類文本集合,N?為不含0的自然數(shù)集.
用戶畫像是通過綜合分析用戶數(shù)據(jù),抽象出的一個(gè)可代表用戶各項(xiàng)維度的標(biāo)簽?zāi)P?其中維度一般包括:人口統(tǒng)計(jì)學(xué)維度、興趣維度和商業(yè)維度,形式如圖1所示.
圖1 用戶畫像
在本文的研究場景中,用戶瀏覽過程一般是匿名的,所以可得到的用戶人口統(tǒng)計(jì)學(xué)維度信息較少,而用戶的瀏覽歷史數(shù)據(jù)相對容易獲取,這使得建立用戶興趣模型成為可能.
隨著時(shí)間的推移,用戶瀏覽歷史的文本集合不斷擴(kuò)大,用戶的興趣標(biāo)簽權(quán)重會(huì)發(fā)生變化,如果不能更新興趣標(biāo)簽的權(quán)重,會(huì)導(dǎo)致推薦精度下降,所以必須通過一定的方式更新用戶的興趣標(biāo)簽集.
為了方便表示用戶興趣維度,本文采用一個(gè)n維元組[8]表示用戶興趣標(biāo)簽集,其形式表示為:
其中l(wèi)abeli代表用戶興趣標(biāo)簽.
用戶興趣維度的n維特征向量可表示為:
設(shè)用戶興趣標(biāo)簽集為查詢向量:
通過計(jì)算查詢向量和推薦集中的文檔向量的相似度,來決定是否將文本推薦給目標(biāo)用戶.本文選用余弦相似度來度量兩向量的相似程度:
隨著用戶的瀏覽集合不斷擴(kuò)大,能代表用戶興趣的標(biāo)簽的權(quán)重會(huì)隨時(shí)間推移而發(fā)生變化,通過動(dòng)態(tài)的分析用戶的瀏覽行為,在一定程度上可以預(yù)測用戶的興趣變化.
為了更好的預(yù)測用戶的興趣的變化趨勢,提高推薦的精度,本文使用貝葉斯動(dòng)態(tài)線性模型對用戶興趣維度進(jìn)行預(yù)測,下面給出模型定義:
其中,yt為t時(shí)刻的觀測值;θt為未知的狀態(tài)向量;Ft為已知的n維向量,用來描述觀測數(shù)據(jù)和狀態(tài)之間的關(guān)系;vt為觀測誤差值;wt為狀態(tài)誤差值,且vt和wt相互獨(dú)立.
對用戶瀏覽集合U進(jìn)行采樣,
時(shí)間間隔為
觀測序列為
由模型定義給出其一步預(yù)測和后驗(yàn)分布:
通過后驗(yàn)信息不斷修正先驗(yàn)信息,求得預(yù)測值,根據(jù)預(yù)測值更新用戶畫像興趣維度的標(biāo)簽權(quán)重,從而更新用戶興趣集U,由公式(5)計(jì)算更新后的興趣集與文檔向量的余弦相似度,當(dāng)相似度大于0.6時(shí)將該文本信息推薦給用戶.
本文通過網(wǎng)絡(luò)爬蟲抓取某信息分享平臺(tái)200用戶的交互信信息,其中包括個(gè)人主頁信息、關(guān)注人URL、收藏、個(gè)人動(dòng)態(tài)、關(guān)注領(lǐng)域等信息.為了高效的提取網(wǎng)頁文本信息,使用行塊分布函數(shù)對網(wǎng)頁文本內(nèi)容進(jìn)行抽取.
本文分別對傳統(tǒng)的基于標(biāo)簽的信息推薦(Basedon Label Recommendation,BLR)和基于動(dòng)態(tài)用戶畫像的推薦( Based-on Dynamic User Portrait Recommendation,BDUPR)進(jìn)行實(shí)驗(yàn),前者直接通過分析全部的用戶瀏覽集合進(jìn)行用戶的偏好計(jì)算,后者通過對用戶瀏覽集進(jìn)行分時(shí)段采樣,動(dòng)態(tài)計(jì)算用戶的興趣偏好.
預(yù)測準(zhǔn)確度有3類[9]:評(píng)分預(yù)測準(zhǔn)確度評(píng)測、使用預(yù)測準(zhǔn)確度評(píng)測、物品排名預(yù)測準(zhǔn)確度評(píng)測.在本文的應(yīng)用場景中,推薦并不預(yù)測用戶對項(xiàng)目的偏好(評(píng)分),而是用戶是否點(diǎn)擊(收藏、關(guān)注等)被推薦的信息,所以選用“使用預(yù)測準(zhǔn)確度評(píng)價(jià)”作為本文方法的評(píng)價(jià)標(biāo)準(zhǔn).
為用戶推薦的內(nèi)容可能有下列幾種情況:
表1 結(jié)果分類
通過統(tǒng)計(jì)上表數(shù)值,計(jì)算如下比率:
在實(shí)際推薦中,用戶的瀏覽量十分有限且推薦集中的文本數(shù)量較多,所以這里選用查準(zhǔn)率作為驗(yàn)證標(biāo)準(zhǔn).
推薦列表長度對多用戶平均查準(zhǔn)率具有較大的影響,如果取值太則小無法說明推薦方法的可行性,取值過大會(huì)造成結(jié)果難以預(yù)估[2](查準(zhǔn)率可能偏大也可能偏小).圖2為推薦列表長度與查準(zhǔn)率的關(guān)系:
圖2 查準(zhǔn)率
測試列表長度的實(shí)驗(yàn)條件是優(yōu)化過的,所以查準(zhǔn)率可能較高.經(jīng)過多次試驗(yàn)最后設(shè)定列表長度為100,那么兩種推薦方式的查準(zhǔn)率和時(shí)間序列的關(guān)系如圖3所示.
圖3 查準(zhǔn)率對比
從圖中可以看出,在時(shí)間序列的一開始,BDUPR的查準(zhǔn)率并不理想,這是因?yàn)橛?xùn)練集數(shù)量較小,所以查準(zhǔn)率偏低,但隨著時(shí)間序列的增長,訓(xùn)練集不斷增加,成上升趨勢,開始趨于平穩(wěn).BLR在推薦的一開始具有較高的查準(zhǔn)率,這是因?yàn)锽LR在推薦進(jìn)行之前就將全部的用戶歷史數(shù)據(jù)量化,用于構(gòu)建用戶的興趣模型,其文檔訓(xùn)練集數(shù)據(jù)要多于BDUPR的分時(shí)段采樣訓(xùn)練集合,所以在靠前的推薦周期當(dāng)中,BLR的推薦準(zhǔn)確率要高于BDUPR,但隨著時(shí)間推移,用戶興偏好會(huì)發(fā)生一定的變化,致使BLR的推薦準(zhǔn)確率降低.
兩種方法在進(jìn)行實(shí)驗(yàn)過程中都存在一定的數(shù)據(jù)波動(dòng),可能有以下幾個(gè)原因:用戶群體中部分用戶的興趣點(diǎn)差距很大,導(dǎo)致平均查準(zhǔn)率偏低;由于網(wǎng)絡(luò)信息更新速度較快,用戶興趣波動(dòng)較大.
本文研究的基于動(dòng)態(tài)用畫像的推薦在捕捉用戶興趣變化方面較靜態(tài)推薦有一定優(yōu)勢,但在新異推薦方面還存在不足:建立用戶興趣模型的數(shù)據(jù)全部來源于用戶和服務(wù)器的歷史交互數(shù)據(jù),對于那些用戶之前從未接觸過的信息,存在冷啟動(dòng)問題.
1 王國霞,劉賀平.個(gè)性化推薦系統(tǒng)綜述.計(jì)算機(jī)工程與應(yīng)用,2012,48(7):66-76.
2 吳麗花,劉魯.個(gè)性化推薦系統(tǒng)用戶建模技術(shù)綜述.情報(bào)學(xué)報(bào),2006,25(1):55-62.
3 孟祥武,劉樹棟,張玉潔,等.社會(huì)化推薦系統(tǒng)研究.軟件學(xué)報(bào) ,2015,26(6):1356-1372.[doi:10.13328/j.cnki.jos.00 4831]
4 許海玲,吳瀟,李曉東,等.互聯(lián)網(wǎng)推薦系統(tǒng)比較研究.軟件學(xué)報(bào),2009,20(2):350-362.
5 史艷翠,戴浩男,石和平,等.一種基于時(shí)間戳的新聞推薦模型.計(jì)算機(jī)應(yīng)用與軟件,2016,(6):40-43.[doi:10.3969/j.issn.1000-386x.2016.06.010]
6 王正鵬,謝志鵬,邱培超.語義關(guān)系相似度計(jì)算中的數(shù)據(jù)標(biāo)準(zhǔn)化方法比較.計(jì)算機(jī)工程,2012,38(10):38-40.[doi:10.3969/j.issn.1007-130X.2012.10.008]
7 張征杰,王自強(qiáng).文本分類及算法綜述.電腦知識(shí)與技術(shù),2012,8(4):825-828,841.
8 王智囊.基于用戶畫像的醫(yī)療信息精準(zhǔn)推薦的研究[碩士學(xué)位論文].成都:電子科技大學(xué),2016.
9 Ricci F,Rokach L,Shapira B,et al.Recommender Systems Handbook.2nd ed.北京:機(jī)械工業(yè)出版社,2015