謝梓琪,謝穎華
(東華大學信息科學與技術(shù)學院,上海 201620)
伴隨著網(wǎng)絡(luò)的飛速發(fā)展,人與人之間傳統(tǒng)的交互方式也隨之變化。如雨后春筍般崛起的社交網(wǎng)站已成為人們依賴網(wǎng)絡(luò)交互的平臺,包括風靡全球的Facebook、Twitter以及各種購物網(wǎng)站,它們均彰顯著SNS(Social Network Sites,社交網(wǎng)站)的特色[1]。用戶在瀏覽這些網(wǎng)站的同時,為研究者開發(fā)網(wǎng)絡(luò)新產(chǎn)品提供了數(shù)據(jù)來源。通過分析網(wǎng)絡(luò)用戶的瀏覽歷史和行為特性,不僅可以了解其真正需求,還能夠根據(jù)不同用戶的興趣開發(fā)有針對性、有吸引力的增值業(yè)務(wù)。由此可見,建立良好的用戶興趣模型對于網(wǎng)站做出正確的運營決策十分必要。
信息服務(wù)發(fā)展的趨勢是進行個性化主動信息服務(wù)。要了解用戶行為,有的放矢地提出個性化服務(wù),必須建立能夠正確反映用戶意圖的用戶興趣模型[2]。一般地,用戶興趣模型的表示方法主要有加權(quán)關(guān)鍵詞模型、語義網(wǎng)絡(luò)模型和層次概念模型[3]。結(jié)合SNS網(wǎng)站固有特點,發(fā)現(xiàn)以層次區(qū)分的形式能凸顯用戶在SNS網(wǎng)站上的興趣分布,而加權(quán)關(guān)鍵詞模型能表現(xiàn)用戶興趣度差異,因此,選用加權(quán)關(guān)鍵詞模型和層次概念模型相結(jié)合的方法來表示用戶興趣較為合適。
假設(shè)用戶在某社交網(wǎng)站上有n個興趣類型,可以用一組興趣主題詞(I1,I2,…,In)表示,由于用戶對每一類主題所表現(xiàn)出的興趣度有所差異,因此可以根據(jù)其感興趣程度的高低賦予一定的權(quán)值InterestDegree(Ik),即用戶興趣能夠以加權(quán)矢量的形式表示如下:{(I1,InterestDegree(I1)),(I2,InterestDegree(I2)),…,(In,InterestDegree(In))}[4]。比如說,人人網(wǎng)中某用戶的興趣為{應(yīng)用,0.5}、{分享,0.3}、{好友,0.2},則表示其最感興趣的是應(yīng)用,然后是分享,最后是好友。其中,興趣主題為好友的一類中又可以細分為所感興趣的好友的權(quán)重。如需針對感興趣的好友進行研究,則可以直接從該模型中進行提取,對問題的解決提供了極大的便利。
為了得到能夠準確反映用戶意圖的興趣模型,必須結(jié)合社交網(wǎng)站的特點,對用戶所瀏覽的網(wǎng)頁集合進行數(shù)據(jù)挖掘。整個建模過程主要分為3個部分:歷史數(shù)據(jù)獲取及預處理、文本聚類分析和興趣權(quán)值計算,如圖1所示。
圖1 建模流程
如今,因特網(wǎng)上的網(wǎng)頁大多都是HTML的形式,它是一種基于標記的語言,網(wǎng)頁的正文信息通常是嵌入在標記中的[5]。人們稱這類數(shù)據(jù)為半結(jié)構(gòu)化數(shù)據(jù),對它無法像數(shù)據(jù)庫中結(jié)構(gòu)化的數(shù)據(jù)一樣直接進行處理。唯一的方法就是將其轉(zhuǎn)換成結(jié)構(gòu)化的數(shù)據(jù),再進行數(shù)據(jù)挖掘。這就需要以向量空間模型的形式來表示網(wǎng)頁,為下一步文本聚類分析打下基礎(chǔ)。
向量空間模型包括以下幾個基本概念。
定義1 項(term)[6]:所謂項,是指組成文檔內(nèi)容的基本語言單位(字、詞、詞組、短語等),許多項的集合即構(gòu)成了文檔。換句話說,文檔D可以以項集(term list)的形式表示為D(T1,T2,…,Tn),其中Tk是項,且 1≤k≤n。
定義2 項的權(quán)重(term weight)[6]:文檔 D(T1,T2,…,Tn)中包含有n個項,為了表征項在文檔中的重要程度,可以對任意一項Tk賦予一定的權(quán)重,即D(T1,W1;T2,W2;…,Tn,Wn),在特征詞確定的情況下,亦可簡寫為D(W1,W2,…,Wn),其中 Wk表征的是項Tk的權(quán)重(1≤k≤n)。
定義3 向量空間模型(VSM):對于已知文檔D(T1,W1;T2,W2;…,Tn,Wn),因為項 Tk在文檔中出現(xiàn)次數(shù)可能不止一次,且先后次序不同,分析起來較為復雜。因此,先忽略文檔中Tk的先后順序并且要求各項之間沒有重復。此時,T1,T2,…,Tn可以被認為是一個n維的坐標,其坐標值即為其對應(yīng)的權(quán)重W1,W2,…,Wn。至此,D(W1,W2,…,Wn)可看做是向量存在于 n維空間中,稱 D(W1,W2,…,Wn)為文檔D的向量表示。
由此可見,以向量空間模型的形式來表示HTML文檔,必須要提取兩個要素,即:項和其權(quán)重。利用一定的文本抽取算法能夠提取出每一張網(wǎng)頁中的項,而其權(quán)重則需利用經(jīng)典的TF-IDF公式進行計算[7],這樣才能將半結(jié)構(gòu)化的數(shù)據(jù)轉(zhuǎn)化為結(jié)構(gòu)化的數(shù)據(jù)進行挖掘。
將HTML文檔集以文本向量空間的形式表示后,就可以利用傳統(tǒng)數(shù)據(jù)挖掘的方法對文本進行進一步處理。一般地,不同網(wǎng)頁之間可能存在著一定的相似關(guān)系,正所謂“物以類聚”,網(wǎng)頁也可以依照其內(nèi)部隱含的關(guān)系進行歸類。由此,引出聚類的概念。
所謂聚類分析,就是把一組數(shù)據(jù)根據(jù)其固有的某些屬性分割成不同的“簇”(或者說聚集成不同的“類”),使得不同簇間數(shù)據(jù)相異而同一簇中數(shù)據(jù)相似。面對未知事物,聚類是一種重要的認知手段,通過把相似的事物進行歸類處理,有明顯區(qū)別的事物分屬在不同的類別中,這樣處理起來就較為方便。聚類分析是一種同質(zhì)分組的過程,不用任何先驗知識,便可從數(shù)據(jù)對象中發(fā)現(xiàn)有價值的結(jié)構(gòu)[8]。
對于HTML文檔進行聚類分析,可將用戶的瀏覽興趣歸納為幾個不同的類別,并提取出興趣類主題詞。由上一節(jié)對用戶興趣模型表示的介紹中可以看出,用戶興趣模型主要有兩部分組成:用戶興趣主題詞、該類興趣所對應(yīng)的權(quán)值。因此,接下來只需計算興趣權(quán)值(即興趣度)即可。
由于用戶對不同興趣類的興趣強度大小表現(xiàn)不同,因此,通常用興趣權(quán)值來區(qū)分用戶興趣評級。一般地,用戶興趣信息可以從所瀏覽的Web頁面內(nèi)容和瀏覽行為中提?。?],這種隱式獲取方式往往比顯示獲取(即通過主動向用戶提問的方式)更具客觀性和真實性。由于用戶的瀏覽行為,例如在某頁面是否有拖動滑塊、是否將其添加至收藏夾、是否點擊該頁面的鏈接進入其他頁面等行為信息[10]比較難以捕捉,因此,本文主要基于瀏覽頁面內(nèi)容來研究用戶興趣度。
文本聚類分析過后,用戶所瀏覽的頁面便自動歸為幾個不同的類別,通過對每一興趣類的頁面內(nèi)容信息進行分析,就可以定量地表示用戶對每一類的興趣濃度。根據(jù)數(shù)值高低對興趣類進行排序,那么在今后的個性化主動推薦服務(wù)中,系統(tǒng)就知道應(yīng)該先向用戶推薦什么,后推薦什么,以提高服務(wù)效率[11]。
傳統(tǒng)的用戶興趣度計算方法只是單純地計算用戶在某一興趣類中的訪問頻度,即興趣類頁面集的頁面總數(shù),訪問頻度越大,則說明用戶興趣度越高。這種方法是將每張頁面都同等看待,并不能突出頁面中信息含量的差異[4]。因此,引入“頁面興趣等級”的概念來衡量每張頁面所包含的的信息,并將同一興趣類中的頁面等級進行求和,以此來表示用戶興趣權(quán)值。
定義4 興趣等級InterestDegree(Ii):即用戶興趣權(quán)值,表示用戶對某一興趣類所感興趣程度的高低,權(quán)值越大,則在個性化推薦服務(wù)中應(yīng)當優(yōu)先推薦[12]。
定義5 頁面總數(shù)PageNumber(Ii):即某一興趣類中所包含的瀏覽頁面總數(shù)。本文中,它所表示的是聚簇Ii的頁面總數(shù)。
定義6 頁面興趣等級PageDegree(dj):它代表了文檔頁面dj所包含信息量的多少,將問題轉(zhuǎn)換為定量描述頁面[13]。一般地,頁面興趣等級由以下公式?jīng)Q定:
其中ViewTimej表示用戶對于頁面dj的瀏覽時間,VectorNumberj表示文檔頁面dj中所包含的特征向量總數(shù),sim(dj,dmean)表示文檔dj和聚類頁面中心的相似度,為了簡化問題,將其取為1。
得到每張頁面的興趣等級后,計算興趣權(quán)值問題就變成了計算每一興趣類中所包含頁面的興趣等級總和,以頁面興趣等級代替了頁面總數(shù),從而真正做到了基于頁面內(nèi)容計算興趣度,即:
其中,m為該聚簇中的頁面總數(shù),即PageNumber(Ii)。式(2)就是興趣類Ii的興趣權(quán)值計算公式。
本次實驗的數(shù)據(jù)來源為某用戶在人人網(wǎng)上為期3天所瀏覽的頁面集合,約為104個瀏覽頁面,將其標注為001.html~104.html。利用 IE History Monitor工具對用戶瀏覽歷史進行捕捉,記錄頁面瀏覽時間。為了使每個文檔頁面都能夠以向量空間模型表示,必須遍歷每個HTML文檔以得到頁面的具體信息,利用分詞軟件和文本抽取算法抽取特征詞,并用TF-IDF公式計算出每個特征詞的權(quán)重。至此,HTML文本頁面可完全轉(zhuǎn)化為向量空間模型的形式,如001.html={(游戲,3.5763),(好友,5.3434),(分享,0),…,(相冊,2.324),…},如表1所示。
表1 文本頁面向量空間模型表示
將HTML文檔表示為向量空間模型形式后,兩張頁面內(nèi)容是否相近就變成計算兩個向量之間的相似度問題,從而為下一步文本聚類做好鋪墊。
聚類分析部分利用Cluster 3.0軟件對HTML文檔集合進行分析處理,便可得到若干頁面聚簇(即若干個用戶興趣類)。去除頁面總數(shù)小于10的聚簇,因為這些聚簇內(nèi)的頁面可能只是用戶隨意查看的,并不足以反應(yīng)其興趣,還可能對研究用戶主要的興趣造成干擾。因此,選擇前4個聚簇進行分析,提取興趣主題詞后如表2所示。
表2 提取興趣主題詞后的結(jié)果
將每一聚簇的具體頁面信息整合至一個Excel文檔中,用以記錄每一張頁面的瀏覽時間和特征向量數(shù)目。由前文所介紹的用戶興趣權(quán)值計算公式,利用Java編寫程序,自動將Excel中每一興趣類的數(shù)據(jù)讀入程序中,先計算每一個頁面等級,再對簇內(nèi)全部頁面的頁面等級進行求和,就可以得到每一類興趣的興趣權(quán)值。
打開程序,會自動出現(xiàn)一個要求輸入樣本文件所在位置的界面,待輸入位置完畢,點擊“Enter”鍵,便可進入計算界面,如圖2所示。
圖2 輸入樣本文件位置界面
從界面左邊的下拉式菜單中可以選擇興趣類別,以第一類為例,可將用戶第一個類別中的頁面瀏覽時間和特征向量數(shù)目導入程序中,點擊計算興趣度,就可以完成計算,如圖3所示。
圖3 用戶興趣度計算界面(第一類興趣)
這樣,就可以得到第一類興趣度(即興趣權(quán)值)了,以此類推,以同樣的方法計算出其他3類的權(quán)值,最后結(jié)果如表3所示。
表3 用戶興趣權(quán)值結(jié)果
表3中,興趣等級InterestDegree表示了每一個興趣類的權(quán)值,而歸一化后的結(jié)果表明該類興趣占所有興趣的百分比。
圖4 用戶興趣模型
至此,用戶興趣模型的整個建模過程已完成,表3中興趣類的權(quán)值直接反應(yīng)了用戶在人人網(wǎng)上的興趣側(cè)重程度,以加權(quán)關(guān)鍵詞和層次概念相結(jié)合的模型表示如圖4所示。其中,中間節(jié)點表示的是用戶的興趣類主題和權(quán)值,而底層節(jié)點表示的是該興趣類中每一個特征項的權(quán)重。
以加權(quán)關(guān)鍵詞模型和層次概念模型相結(jié)合的方法來表示用戶興趣,其優(yōu)點是其他單一模型無法比擬的。以語義網(wǎng)絡(luò)模型為例,該網(wǎng)絡(luò)由若干節(jié)點和弧組成,節(jié)點表示概念,弧表示與其相連的節(jié)點之間的語義關(guān)系。這樣,復雜的概念及其相互之間的關(guān)聯(lián)關(guān)系可以依靠語義網(wǎng)絡(luò)來體現(xiàn)。在提取用戶興趣時,可以將語義網(wǎng)絡(luò)化為一組概念集合,通過不斷獲取用戶信息,來豐富該語義網(wǎng)絡(luò)模型。在此過程中,會有越來越多的加權(quán)關(guān)鍵詞與概念相關(guān)聯(lián),它們代表隸屬于概念的次級節(jié)點。長此以往,用戶興趣的語義網(wǎng)絡(luò)模型就被建立起來了。
然而,不難發(fā)現(xiàn)其中存在著很多的問題。隨著用戶瀏覽網(wǎng)頁的數(shù)量增多,語義網(wǎng)絡(luò)會變得越來越龐大,以至于無法清晰地辨別用戶興趣主題和隸屬于該主題的特征詞。再者,用戶模型并非一成不變,如需對其進行更新時,整個語義網(wǎng)絡(luò)都要因此發(fā)生較大的變動。相反地,若使用本文中所介紹的兩類模型相結(jié)合的方法,當用戶興趣改變時,只需在當前興趣模型中增加節(jié)點或刪除節(jié)點即可[14]。如需研究某個興趣類的具體信息,可以通過提取以第二層節(jié)點作為根節(jié)點的數(shù)據(jù)來分析,不用重新建立深度和廣度都較大的模型,為研究提供了方便。可見,易更新、易提取的特點是該模型的優(yōu)勢所在。
信息服務(wù)的發(fā)展趨勢是進行個性化主動服務(wù),而建立能夠準確反映用戶意圖的用戶興趣模型是整個問題的關(guān)鍵。本文采用加權(quán)關(guān)鍵詞和層次結(jié)構(gòu)相結(jié)合的方法表示用戶興趣模型,能夠一目了然地看到用戶興趣類型信息和用戶興趣特征詞信息。模型具有易更新、易提取的特點,且用戶興趣權(quán)值的計算在傳統(tǒng)方法上有了改進。將來可利用編程軟件將建模的每個部分集合在一起做出一個軟件,嵌入到社交網(wǎng)站中去,為用戶提供更加友好和實用的服務(wù)。
[1]李智琦,陳世穎,楊怡凝.基于數(shù)據(jù)挖掘的個性化推薦在SNS中的應(yīng)用[J].電腦知識與技術(shù),2011,7(28):6828-6830.
[2]吳昊.用戶網(wǎng)頁瀏覽興趣模型建模方法的研究[D].北京:北京郵電大學,2010.
[3]王昕光.基于關(guān)鍵詞依賴的用戶興趣模型建模方法的研究[D].上海:上海交通大學,2009.
[4]管金才.基于個人網(wǎng)頁數(shù)據(jù)挖掘模型的研究與構(gòu)建[D].上海:華東師范大學,2007.
[5]張彥,張永奎,安增波,等.基于層次概念的用戶興趣模型研究[J].計算機工程與設(shè)計,2008,29(1):181-183.
[6]鄭巖.數(shù)據(jù)倉庫與數(shù)據(jù)挖掘原理及應(yīng)用[M].北京:清華大學出版社,2011:105-106,177-179.
[7]蒲國林,楊清平,王剛,等.基于語義的個性化用戶興趣模型[J].計算機科學,2008,35(7):181-184.
[8]卜東波.聚類/分類理論研究及其在文本挖掘中的應(yīng)用[D].北京:中國科學院研究生院,2000.
[9]張玉連,王權(quán).基于瀏覽行為和瀏覽內(nèi)容的用戶興趣建模[J].現(xiàn)代圖書情報技術(shù),2007(6):52-55.
[10]Zhu Zhen,Wang Jing-yan,Chen Mei-lan,et al.User interest modeling based on access behavior and its application in personalized information retrieval[C]//Proceedings of the 3rd International Conference on Information Management,Innovation Management and Industrial Engineering.2010,1:266-270.
[11]徐科,崔志明.基于搜索歷史的用戶興趣模型的研究[J].計算機技術(shù)與發(fā)展,2006,16(5):18-20.
[12]趙銀春.用戶瀏覽內(nèi)容分析與用戶興趣挖掘[D].重慶:重慶大學,2004.
[13]教巍巍.基于Web挖掘的個性化用戶興趣模型的研究[D].長春:東北師范大學,2006.
[14]周曉蘭.Web數(shù)據(jù)挖掘中用戶興趣模型設(shè)計[J].湘潭師范學院學報:自然科學版,2009,31(2):55-58.