楊歐亞 龔 婕 魏松杰
(1.南京理工大學計算機科學與工程學院 南京 210094)(2.清華大學自動化系 北京 100084)
近年來,互聯網上網服務營業場所在縮小城鄉信息差距、解決流動人口和低收入群體上網問題、豐富人民群眾精神文化生活等方面發揮了積極作用,已經成為社會發展中不可或缺的一環。截止2018年底,我國互聯網上網服務行業用戶規模達到1.19億。但是,由于移動產業迅速擴張,互聯網上網服務營業場所受到不小的沖擊。為了擺脫困境,上網服務營業場所需要不斷轉型與升級,為用戶提供個性化服務,提高用戶滿意度,以此提升用戶粘性。為了實現個性化服務,企業必須了解用戶的平臺特征。互聯網上網服務營業場所雖然有用戶的各種行為數據,但是不能直觀有效地表現出用戶特征。基于目前這種現狀,本文研究了為互聯網上網服務行業用戶進行畫像的方法。
用戶畫像就是對所在領域中收集的用戶數據進行標簽化和結構化處理,歸納出一個用戶的全貌[1]。用戶畫像構建完成后,用戶的畫像就是一種可供計算機讀取和識別的用戶模型[2]。用戶畫像不僅可以刻畫用戶平臺特征,也為管理層提供可靠的數據支撐,使經營決策更加高效和精確。本文針對互聯網上網服務行業特性,通過對平臺業務分析,構建了與平臺業務相結合的用戶畫像系統。
用戶畫像的建立依賴于所擁有的數據,只有通過數據分析才能建立相應的畫像[3]。經過對互聯網上網服務行業的深入調研,目前,基本所有的上網服務場所都會記錄用戶的三類數據:用戶基本信息數據、用戶消費行為數據以及用戶的上網行為數據。針對數據特點,本文構建的用戶畫像系統從基本屬性、消費屬性、興趣屬性三個方面刻畫用戶平臺特征。本文構建畫像系統時,分析的數據來源于某互聯網上網服務場所2019年1月1日到2019年4月29日收集的用戶數據。
用戶畫像是通過分析與用戶相關信息后,抽取有用信息進行標簽化和結構化處理,完美地抽取出一個用戶全貌的過程[4]。構建用戶畫像主要分為標簽體系構建和標簽匹配兩部分。
標簽體系是用戶畫像描述用戶特征的維度體系,是構建用戶畫像的基本框架[5]。標簽體系的構建要結合業務需求,從不同的維度去刻畫用戶。不同領域的用戶畫像體系有不同的側重點。標簽匹配其實質是給用戶打標簽,是用戶畫像的核心工作[6]。標簽匹配時,需要對數據進行挖掘,從海量繁雜的數據中提取有用的信息,主要用到的方法包括統計方法、文本挖掘算法、相似度計算方法、分類聚類算法等[7]。對數據進行挖掘后,即可為用戶標記標簽。標簽分為定性標簽和定量標簽。定量標簽使用可量化的數據進行標記,定性標簽則使用關鍵詞進行標記[8]。由于定性標簽使用關鍵字,無法量化,所以進行標簽標記時,需要為定性標簽計算權重。通過使用權重系數,使得定性標簽能夠精準的表達用戶特征[9]。
面向互聯網上網服務的用戶畫像整體架構分為三層:數據源層、標簽體系層、標簽匹配層。數據源層中的數據來源于互聯網上網服務場所記錄的用戶數據。標簽體系層是設計能夠表現用戶特征的標簽。標簽匹配層是通過對數據源層中的數據進行挖掘分析,為用戶匹配合適的標簽。標簽匹配層是系統中的核心模塊,針對不同的維度特征,采用不同的方法挖掘數據,為用戶標記標簽。具體架構如圖1所示。

圖1 用戶畫像系統架構圖
根據互聯網上網服務場所平臺收集的基礎信息,本文設計的基礎屬性標簽如表1所示。

表1 基本屬性標簽
根據互聯網上網服務場所平臺消費特點,本文設計的消費屬性標簽如表2所示。

表2 消費屬性標簽
根據中國社會科學網發布的《2018中國互聯網上網服務行業發展報告》,用戶到上網服務場所的主要上網行為是游戲、直播、影視和音樂,其他上網行為的用戶占比不足一成。針對這個特點,本文用戶興趣畫像關注于游戲、直播、影視、音樂方面。同時為了全面細致的描述用戶的興趣屬性,對興趣屬性標簽進行了標簽分級,這樣可以清楚地展示標簽之間的結構與關聯關系[9]。本文設計的興趣標簽體系如表3所示。

表3 興趣屬性標簽
互聯網收集的用戶數據需要經過對數據進行預處理后才能使用。數據預處理包括數據清洗、數據整合、數據標準化。數據標準化本文采用的線性函數轉換方程進行標準化。如式(1)所示。

其中,Xnormal標準化后的數值,Xmax表示該指標的最大值,Xmin表示該指標的最小值,X表示該指標的初始值。
數據采集包括兩個部分:軟件數據爬取模塊、網頁數據爬取模塊。軟件數據爬取模塊用于爬取軟件相關信息,包括軟件類型、軟件官網、軟件開發公司,其目的是建立一個可以包含游戲、音樂、影視以及直播軟件的數據庫。軟件數據在各類下載中心有大量結構化數據,通過爬取和清洗即可。網頁數據爬取模塊用于爬取用戶訪問網頁內容,用于后續的網頁興趣分析。
5.2.1 用戶價值挖掘
根據美國數據庫營銷研究所的研究,用戶數據中消費金額、消費頻率和消費時間間隔三個要素構成了用戶價值分析的重要指標[10]。選取消費中用戶消費金額、用戶消費次數、用戶消費間隔作為用戶價值模型的參考指標,使用K-means聚類算法對數據進行聚類,從而挖掘用戶價值。
傳統K-means算法存在隨機選取初始化中心的缺陷[11],針對該問題,本文采用局部可達密度的概念優化選取初始化中心[12]。下面介紹局部可達密度中涉及的概念。
定義1:第k距離
定義d(kO)為點O的第k距離,d(O,P)為點O到點P的距離。如果滿足如下條件,則d(kO)=d(O,P)。
1)在集合中至少存在k個點P′∈D{O},使得d(O,P′)≤d(O,P)
2)在集合中至多存在k-1個點P′∈D{O},使得d(O,P′)<d(O,P)
定義2:k距離鄰域N(kO)
設N(kO)為O的第k距離鄰域,需滿足式(2)。

定義3:可達距離d(kO,P)
設d(kO,P)為點P到點O的第k可達距離,需滿足式(3)。

定義4:局部可達密度ρk(O)
局部可達密度定義為式(4)。

從上面公式中可以看出,局部密度越大,越可能是聚類的簇中心。但如果只按局部密度進行選擇,則可能選擇的初始點過于密集。為此本文引入了距離的因素。本文改進后其K-means選取初始化中心點集的步驟如下(數據集用D表示,數據集大小為n,初始化中心點集用C表示,K-means初始化中心個數用k表示)。
Step 1:計算出數據集D中每個樣本i的局部可達密度ρi,并利用式(1)進行標準化得到ρ'i。
Step 2:在D上選取可達密度最高的一個點作為初始中心C1,C={C1}。
Step 3:repeat
在D上利用式(5)計算每個樣本i距離C中每個初始中心點Cj的距離d(Cj,x)i。

對于xi∈D,disi=min{d(Cj,x)i},并利用式(1)進行標準化得到dis'i。
利用式(6)計算每個樣本i的權重因子γi。

選取權重因子最大的樣本iγmax作為Ci,C=C∪{Ci},直到找出k個初始化中心。
Step 4:輸出k個初始化中心。
本文采用了SSE(誤差平方和)的方式對聚類效果進行度量。隨著聚類簇數k值的增大,總SSE迅速下降。當K值大于實際的簇數時,隨著k的增大,總SSE的值將呈緩慢下降的趨勢。多次聚類后SSE變化如圖2所示。

圖2 誤差平方和SSE遞減趨勢圖
從圖中可以看出,k值為4時,是個轉折點,所以聚類簇數應該劃分為4。由于聚類時將各項數據都進行了標準化,如果直接取簇中心進行分析則不能直觀表達用戶消費價值特征,本文將聚類結果與原始數據結合,按類別對原始數據計算均值,結果如表4所示。

表4 用戶消費價值聚類結果
從表中可以看出,有明顯四類不同特征的消費群體。可以用低價值用戶、較低價值用戶、較高價值用戶以及高價值用戶來進行標簽匹配。
5.2.2 用戶網頁興趣挖掘
用戶網頁興趣挖掘實際是對用戶訪問的網頁分類,通過網頁類型映射用戶的網頁興趣[13]。目前,基本所有網頁為了提升自己的網站排名,都在網頁的<title>和<meta>標簽中,標注了網頁所包含的關鍵信息。本文即利用網頁中的這些標簽中的文字對網頁進行分類,從而挖掘用戶興趣。其流程如圖3所示。

圖3 用戶網頁興趣挖掘流程圖
網頁文本提取是指提取網頁中<title>和<meta>中的文本內容用于文本分類。文本預處理主要分為文本分詞,停用詞過濾。本文采用空間向量模型對文本進行表示。如果使用網頁中全部詞條作為特征,則會導致特征向量的維數特別巨大[14]。近年來在中文文本分類中使用較多的特征抽取方法包括文檔頻率(DF)、互信息(MI)、CHI統計和信息增益(IG)[15]。通過對文本分類中不同特征抽取方法進行試驗,發現基于信息增益(Information Gain)的方法進行特征抽取結果較好。
上網服務行業中,用戶訪問的網頁雖然大部分都是影視、音樂、直播以及游戲類網頁,但有的用戶會訪問一些其他網站,比如新聞、數碼、購物類網站。這種訪問類型雖然也代表了用戶興趣,但這些興趣并不是互聯網上網服務行業所關注的。針對這種現狀,采用多次二分類的思想解決這一問題。本文隨機選取了10000個屬于影視、直播、游戲、音樂以及其他網頁類型網頁,用于訓練分類模型。分別對實驗語料中的每一類進行實驗。選定某一類樣本為正樣本,則其余各類都是負樣本。使用支持向量機構造分類器[16]。通過大量有標注的網頁進行訓練得到影視、音樂、直播、游戲分類器模型。
提取的網頁特征經過分類器模型即可獲得分類結果,用戶興趣類型標簽就可以根據分類結果進行匹配,這樣就完成了對用戶網頁興趣挖掘。
對互聯網上網服務場所收集的用戶數據進行預處理以及相應的數據挖掘之后,即可為用戶標記標簽。基本屬性的標簽比較簡單,直接抽取相應信息即可進行標記。消費屬性的標簽需要利用經過統計與聚類算法挖掘后的數據進行標記。興趣屬性中的軟件興趣標簽根據建立的軟件數據庫進行查找逐級標記標簽,網頁興趣標簽則根據分類結果進行標記。
基本屬性和消費屬性的定性標簽由于其唯一性,權重系數為1。興趣屬性中的定性標簽權重需要計算得出。其計算過程如式(7)所示。

其中,ωtarget為要計算的標簽的權重,timetarget為標記該標簽的上網行為所用時間,timetotal為用戶上網的總時間,N(t)為時間衰減函數,如式(8)所示。

其中t表示距離用戶最后一次產生該行為的時間間隔,N0是設置的時間權重系數,可根據業務進行設置。λ是一個衰減常數,可以根據實際應用場景進行調整,利用指數衰減函數作為時間衰減因子,能體現標簽的熱度隨著時間逐漸冷卻的過程。
對用戶進行標簽標記之后,即可形成用戶的完整用戶畫像。通過用戶畫像,不但可以為用戶提供個性化服務,也可以為互聯網上網場所的發展提供指導。
本文使用經典數據集Balance-Scale、Wine和Iris驗證本文提出的K-means算法改進。為保證實驗結果的穩定性,將實驗次數設為100次。K-means算法以及本文算法在三組數據集上的聚類準確率如表5所示。

表5 兩種算法在測試數據集上的準確率
從表5可以看出,經過改進的K-means算法在準確率上面比原始K-means算法要高,說明改進的K-means算法是有效的,可以使用此方法對用戶價值進行聚類挖掘。
本文改進的算法在于優化初始點選擇,為了進一步驗證算法改進的有效性,本文分別用K-means算法以及改進的算法在Iris數據集運行多次,給出了每次運行時所選取的初始中心點(用行號表示)、迭代次數、準確率。本文提出的算法,多次運行后結果比較穩定,不再一一列出,只給出穩定后的初始中心、準確率以及迭代次數。如表6所示。

表6 兩種算法對Iris數據集測試表
從表6可以看出,本文提出的改進K-means算法可以有效降低運行時迭代次數,同時具有較好的穩定性,性能有了較大提升。
本文使用人工標記的10000多個網頁類型的數據作為訓練測試數據集進行驗證基于信息增益(IG)進行特征抽取的優勢。采用10折交叉驗證法進行實驗。對于每個分類器模型,將訓練測試數據集隨機分成10份,將其中9份作為訓練數據,1份作為測試數據,用訓練數據訓練分類器,用測試數據測試訓練得到的模型。重復過程10次,使得每一份都能作為測試數據進行實驗。取10次實驗的準確率的平均值作為準確率的估計。分別用不同的特征抽取方法進行實驗,實驗結果如表7所示。

表7 不同特征抽取方法在測試數據集上的準確率
從表7可以看出,使用特征抽取后的準確率比不使用特征抽取的準確率有顯著提升,證實了文本分類中使用特征抽取的必要性。在不同的特征提取方法中,使用信息增益(IG)提取特征的準確率最高,說明在對網頁進行分類時,信息增益抽取特征具有一定的優勢。
本文針對互聯網上網服務行業現狀,設計了可以用于互聯網上網服務行業的用戶畫像系統。針對互聯網上網服務不同數據特點采用不同的挖掘方法。對于用戶的基本屬性,直接抽取數據匹配標簽;對于消費屬性,經過統計與聚類算法挖掘等方式匹配標簽;對于用戶的興趣屬性,通過網絡爬蟲的方式得到一個可以用于分析的數據集,用戶的軟件興趣標簽通過采集的軟件數據庫匹配得到,對于網頁興趣標簽則通過分類算法進行標簽匹配。此外,本文對K-means算法進行了改進,通過對初始中心選取進行優化,使得算法的準確率和穩定性都有了較大的提升。