葛 婷,陳麗珍,2
(1.濰坊科技學院 農圣文化研究中心,山東 壽光 262700;2. 山東大學,山東 濟南 250100)
目前,電子商務已經(jīng)成為購物的主流。因此,準確的商品推薦成為拉攏用戶的重要手段,個性化商品推薦是商品推薦的重中之重[1-3]。常規(guī)推薦算法有協(xié)同過濾算法、混合推薦算法等。然而,協(xié)同過濾算法存在數(shù)據(jù)量少、需要積累用戶才能發(fā)揮作用的缺點?;旌贤扑]算法推薦雖然融合多種計算方法,但是有數(shù)據(jù)難優(yōu)化的缺點[4,5]。
針對上述問題,張鵬飛[6]等人提出融合標簽和多元信息提出的個性化算法,但其在數(shù)據(jù)稀疏性和冷啟動速率方面仍存在問題。馬聞鍇[7]等人提出的基于標簽的推薦算法,但該方法只考慮用戶興趣度與標簽問題,未考慮到興趣隨時間變化所標注的興趣標簽也會產生變化。
知識工程中的事件本體在知識的獲取、解析中占據(jù)重要位置,可有效避免知識體系語義表達不足以及知識結構化低下問題[8]。為此,本文研究基于事件本體的商品個性化推薦算法。通過構建事件本體的商品標簽模型,計算用戶標注的標簽使用頻率和標注標簽的時間來構建用戶興趣模型,根據(jù)用戶興趣模型尋找相似用戶,再利用相似用戶使用的標簽進行模擬分類,選擇最優(yōu)商品推薦給用戶。而用戶在標注商品標簽時存在語義繁多、雜亂無章或者一詞多意等弊端,會限制商品個性化推薦的作用,從而使推薦準確率低,用戶體驗差。從事件本體角度出發(fā),規(guī)范商品標簽及用戶標簽的冗余及歧義所帶來的個性化推薦困擾,通過商品特征向量和用戶偏好等因素,研究用戶偏好與商品特征之間的關系,成為了商品個性化推薦的重要因素。
事件本體EO的邏輯結構分為五個元素:EO=〈UECS,LECS,L,Rules,Individuals〉。其中,上層和下層事件類型的層次結構集合分別用UECS和LECS表示;每個事件(類)之間的聯(lián)系用L表示;推理規(guī)則為Rules;實例集合為Individuals。
事件本體模型結構分為上下兩層,其中下層包括事件推理與通用的分類,上層包括事件類關系組成的結構如圖1所示。
圖1 事件本體模型
事件本體的商品標簽模型主要體現(xiàn)在電子商務網(wǎng)站的用戶可以通過標簽自由選擇自己喜歡的商品,也會通過網(wǎng)站發(fā)生的事件而優(yōu)先選擇想要的商品,比如優(yōu)惠活動等。而許多電子商務網(wǎng)站會根據(jù)用戶的喜好分類,比如:“喜愛”、“興趣”、“共享”等。用戶可以將自己喜愛的物品分享給其他人,也可以從其他用戶中找到自己喜歡的商品。但用戶的所有標簽數(shù)量都具有差異性,而多數(shù)用戶只是對自己喜歡的商品添加幾個標簽,數(shù)量較少。為了獲得用戶的全部興趣愛好,電子商務網(wǎng)站不止關注用戶“喜愛”分類的標簽,還需要針對所有分類中的標簽。
事件本體的商品標簽模型構建主要分為:上層和下層事件類的構建、實物層的事件本體商品優(yōu)惠與實物分享[9]。上層模型主要是事件類標簽數(shù)據(jù)獲取,將事件類商品標簽進行分層;下層事件類的模型構建主要基于事件本體商品標簽對應的商品屬性,通過商品屬性的層次關系和對應關系,提高商品推薦效果。實物層是商家通過實物照片分享給用戶[10],用戶會將實物分享對應到事件標簽本體的商品上,又或者通過優(yōu)惠活動等事件本體讓用戶可以有更多的參照及選擇。
首先將商務社區(qū)的用戶標注的商品標簽及其標注時間數(shù)據(jù)提取,提取的數(shù)據(jù)均保存到云盤,然后將提取的標簽數(shù)據(jù)分成用戶以及商品標簽,用戶開始標注的標簽元素i可用i((tag1,time1),(tag2,time2),…(tagn,timen))表示,用戶i的所有標簽數(shù)量用n表示,標注時間為time。商品開始標注的標簽元素s可用s((tag1,freq1),(tag2,freq2)…(tagm,freqm))表示,商品s沒有重復的標簽數(shù)量用m表示,商品s的標簽使用次數(shù)用freq表示。將云盤中的標簽數(shù)據(jù)取出,將標簽數(shù)據(jù)輸入ICTCLAS3.0分詞系統(tǒng),將詞頻統(tǒng)計的結果按照詞頻大小排序分層。
為提高商品推薦效果,將事件標簽本體的商品標簽通過本體分類信息進行規(guī)范化,提升用戶的購買體驗感,在電子商務網(wǎng)站中,有些用戶對的商品標簽的標注過于隨意,很難規(guī)范出標簽的層次對應關系,為了構建服裝類別的事件本體商品標簽種類和屬性關系構建如圖2所示的模型。
圖2 基于事件本體的商品標簽模型構建
從圖2可以看出,當輸入“服裝”時,會出現(xiàn)“衣服”、“鞋子”、“包包”、“首飾”等品類;“衣服”品類下還會出現(xiàn)“上衣”、“裙子”、“褲子”等,而根據(jù)商品特征條件還會出現(xiàn)“風格”、“顏色”、“材質”、“流行元素”等詞條。而根據(jù)事件本體商品還會出現(xiàn)“優(yōu)惠”標簽,這些都是構建事件本體商品標簽模型的基本要素。
為了從商品標簽中獲取用戶的隱性需求和偏好,需要建立用戶標簽模型,通常是從頻率權重因素來計算基于事件本體商品標簽的用戶偏好。在權重基礎上使用標簽聚類(TF-IDF)方法計算用戶與商品標簽的關系程度。
設Y、T、P分別表示用戶、標簽和商品集合;
1)在y∈Y時,Py、Ty分別是y用戶標注的商品和標簽集合;
2)在t∈T時,Pt、Yt分別是t標簽標注的商品和用過t標簽的用戶集合;
3)在p∈P時,Tp、Yp分別是標注p商品的標簽和用戶集合。而Tu(t1y(f1),t2y(f2),…tmy(fm))則表示所有用戶的標簽集里使用過的一個標簽向量[11]。其中標簽數(shù)為m,用戶y的第m個標簽和標簽頻率是tmy、fm。
用TF-IDF公式計算fm,得到tmy(fm)的用戶偏好用式(1)描述
tmy(fm)=Tfy(fm)×IDFu(fm)
(1)
標簽t的使用頻率用Tfy(ft)表示,公式如下
(2)
式中,用戶y標注的標簽t的數(shù)量是count(y,t),p商品被標簽t標注過的用戶用UserCount(t,p)表示,用戶標注的某個標簽用k表示,所有用戶的所有收藏和使用的標簽用式(3)表示
(3)
其中,所有用戶為N,所有收藏和使用的標簽為nt。將式(2)、(3)帶入式(1)可得到用戶與商品標簽的關系程度,公式如式(4)
(4)
商品每個標簽的使用頻率也可用式(5)表示
(5)
標簽t標注的某產品為q,relate(t,p)的數(shù)值直接影響用戶對該商品的使用優(yōu)先級,數(shù)值越大,標簽t標注的相同商品的用戶越多,標簽與該商品關系越契合。
本文提出基于事件-標簽-本體的商品個性化推薦算法是通過建立事件本體商品標簽與用戶偏好模型后,通過計算用戶與商品標簽之間的關聯(lián)程度,將所有用戶與商品標簽進行分類,再將分類好的標簽與用戶偏好標簽匹配,將相似度較高的商品標簽標注的商品推薦給用戶。
某種商品被標注標簽的次數(shù)越多,說明這種商品使用次數(shù)越多。用戶在選擇商品時,系統(tǒng)通過獲取用戶與同類別商品標簽兩者間的相似度,通過事件(用戶)本體,優(yōu)先計算并找出和用戶相同愛好的其他用戶,再借助所有同類型用戶的標簽及愛好利用協(xié)同推薦算法選出NN種商品推薦給用戶[12]。這樣用戶得到的商品推薦都是相似度高,與標簽和偏好都相匹配的商品。
用式(6)表示用戶的標簽向量
Ty=tiy(fi)×tiy(timei)
(6)
用式(7)表示商品標簽向量
Tp=tjp(relate(tj,p))
(7)
將用向量表示的全部物品和加權后的用戶標簽進行余弦相似度計算,得到同一類別內的商品pj的標簽與用戶標簽的相似度公式
(8)
為了使商品與用戶具有相同偏好,需要設定一個預設閾值e,且e 將商品作為預選推薦,需要先計算用戶標簽和商品向量的相似度,并且得到的數(shù)值大于閾值。當所有預選推薦相似度全部計算完畢,將所有預選推薦商品按照相似度數(shù)值從大到小的順序排列形成TOP推薦,這樣所有用戶瀏覽網(wǎng)站時看到的信息就是自己喜歡的或者感興趣的商品。 為驗證本文算法的有效性將從淘寶網(wǎng)站中的熱門標注的商品中選取300個活躍用戶進行仿真,主要以服飾類商品為主,總數(shù)超過10萬個標簽。將這些信息用電子文檔保存。所需要的實驗工具為:八爪魚采集器、Protégé、Excel、ICTCLA3.0。 本實驗將從準確率(P),召回率(R)以及F值三種指標進行比較。F值是P值與R值的調和值,其中準確率、召回率和F值越高,說明所使用的方法推薦性能越好。公式如下 (9) (10) F=2PR/(P+R) (11) 式中,P(y)、D(y)分別是給用戶y推薦列表和用戶y標注標簽的物品集合。 選取傳統(tǒng)的基于標簽和多元信息的個性化推薦算法、基于標簽的個性化推薦算法與本文算法進行對比,分別計算三種方法的P和R值,所得到的直觀圖如圖3、4所示。其中,T值是預選推薦商品按照相似度數(shù)值從大到小的順序得到的TOP-T推薦商品的數(shù)值。 圖3 不同T值下的P值對比 分析圖3、圖4可知,隨著TOP-T推薦數(shù)值的增高準確率隨之增加,本文算法最為突出。但是TOP-T小于12時,本文算法與基于標簽的算法的P值和R值相同,且三種算法的準確率都比較低,有可能是用戶在搜索截然不同的兩種商品時描述某商品的屬性特征有可能是相同的,商品標簽的品類特征也可能因為用戶描述不準確被歸類到相似屬性特征類,最后推薦給興趣不同的用戶,從而降低推薦的準確率。而實際情況下,很多用戶都是通過識別圖片、優(yōu)惠活動等更加直觀地找到用戶的興趣商品,在此方向進行研究,會大大提高基于事件本體的商品推薦的準確率。 圖4 不同T值下的R值對比 隨著T值的增加,所有算法的P、R值都有所提高,而本文算法的效率最高,提升效率最低的是基于標簽和多元信息的算法。在T<12時,本文算法與基于標簽的算法準確率相同。T>12時,本文算法快速提升,均比其它辦法準確率高,基于標簽和多元信息的算法準確率提升緩慢。由于本文算法在考慮標簽使用頻率和標注時間基礎上,通過事件本體的商品進行用戶推薦,在短時間內沒有變化的情況下,需要更加關注事件本體的商品對用戶偏好的影響。 圖5為利用三種算法得到的F值對比圖。 圖5 不同T值下的F值對比 綜合圖3、4、5三張對比圖可知,由于TOP-T值較少導致三種算法的準確率、召回率以及F值都比較低,但隨著T值的增加,三種算法的曲線都呈上升趨勢,尤其本文算法上升較為明顯。在T<12時,本文算法與基于標簽的算法的曲線變化幾乎相同;T>12時,基于標簽的算法雖然繼續(xù)快速增加,但是與本文算法提升速率相比仍然處在劣勢??傮w來說,本文算法的F值在三種辦法中數(shù)值最高,推薦的效果更好。實驗進一步印證了本文算法的可行性。 對于個性化推薦的商品,用戶通常更容易接受推薦列表中靠前的內容,由此采用排名前16位的推薦商品進行分析與評價,利用平均排序度進行三種算法的推薦對比試驗,試驗結果如圖6所示。 圖6 推薦平均排序度對比結果 由圖6可知,隨著T值的增加,三種推薦算法的平均排序度隨之呈逐漸增加趨勢,導致商品推薦的排序下降,雖然本文算法平均排序度呈微弱下降趨勢,但是與兩種對比算法相比,本文算法的商品個性化推薦平均排序依舊靠前,表明本文算法能夠有效為用戶推薦具有個性化需求的商品。 目前社會處于一個多元化的時代,用戶應接受符合自身需求的商品,推薦的商品需要多樣且符合用戶需求,以商品個性化推薦的豐富度進行對比試驗,結果如圖7所示。 圖7 商品推薦豐富度對比示意圖 由圖7可知,隨著T值的增加,三種算法的推薦商品的豐富度均呈上升趨勢,當推薦商品數(shù)量較少的時候,對于推薦商品豐富度區(qū)別并不明顯,隨著商品數(shù)量逐漸增多,豐富度的區(qū)別越來越明顯,結果顯示,本文算法所推薦的商品最豐富最高,更符合當下用戶對于商品的個性化的需求。 表1是基于三種算法仿真結果,測試的商品推薦數(shù)均為15604,而本法的準確總數(shù)為70,其它方法的推薦總數(shù)為55、46,說明本文算法更有優(yōu)越性,更能滿足用戶需求。 表1 推薦辦法仿真結果 本文提出了基于事件本體的商品個性化推薦算法,根據(jù)用戶標注的標簽信息與用戶偏好進行商品個性化推薦計算。同時通過計算基于事件本體的商品標簽相似度,找到相似度最高的TOP-T推薦給用戶。通過實驗也發(fā)現(xiàn)隨著T值的提高,本文算法比傳統(tǒng)算法的準確率更高,個性化推薦效果更好更好。 但由于存在用戶在標注標簽時用詞隨意、語義模糊、數(shù)據(jù)量較大等弊端,在推薦時需要大量數(shù)據(jù)計算來規(guī)范標簽語義,這本身是一項復雜的工程,目前沒有合適的解決方法,還需深入研究。3 實驗與結果分析
3.1 實驗參數(shù)
3.2 實驗對比分析
4 結論