郭 梁,王佳斌,馬迎杰,朱新龍
(華僑大學 工學院,福建 泉州362021)
搜索引擎是互聯網的基礎應用,它是用戶訪問網站的最重要的通道。搜索引擎用戶畫像是分析用戶查詢關鍵詞的一個重要研究領域。搜索引擎通常通過創建用戶畫像來分析用戶的個人偏好[1]。因此它具有極高的商用價值,很多營銷項目或很多廣告主,在投放廣告前,都要求媒體提供用戶畫像。一種新的搜索引擎技術可以根據用戶的興趣、偏好和信息需求,為不同的用戶提供不同的搜索結果[2]。但是由于搜索引擎便捷的特點,用戶在使用時不會留下太多的用戶信息,比如年齡、性別、學歷等用戶的標簽信息,因此也就無法根據用戶屬性對用戶進行分群處理,所以在分析用戶數據時會存在一定的困難。
早期的用戶畫像構建技術利用數據庫、Web 技術對用戶數據進行統計分類,例如CRM(客戶關系管理系統)。隨著技術的不斷發展,FAWCETT 等人[3]將數據挖掘和機器學習結合,通過用戶行為生成的日志構建用戶畫像來檢測用戶中存在的欺詐行為。ADOMAVICIUS 等人[4]通過用戶瀏覽歷史和交易記錄等建立用戶畫像,并用于推薦系統領域中。這些用戶畫像包含每個用戶的個人行為,其通過各種數據挖掘的技術從用戶歷史行為中提取用戶的偏好和習慣,更具體地說是從用戶的交易歷史中得到他們的用戶畫像。SUGIYAMA[5]在搜索引擎系統中使用基于改進的協同過濾方法構建用戶畫像,可以詳細地分析用戶一天內的瀏覽記錄,然后根據用戶對相關信息的反饋調整搜索結果。王慶福[6]提出用基于Bayesian Network 的用戶畫像來構建互聯網用戶愛好的不同層次。楊雙亮[7]將DNN 算法應用到移動網絡用戶畫像的愛好標簽預測中,實現了用戶的個性化推送。近幾年的研究中,機器學習逐漸被引入NLP(Natural Language Processing)的領域中。本研究在搜索引擎用戶畫像的應用中,提出了基于BP 神經網絡的Stacking 融合模型,并與傳統模型進行對比實驗。
用戶畫像是根據用戶的網絡行為或現實行為產生的數據記錄而抽象出的標簽化的用戶模型,是針對具有某些相同標簽的某一類人的模型表達,并不是特指某一個人的表達。用戶畫像是分析用戶屬性的基本組件[1]。
用戶畫像的構成屬性一般包括用戶的靜態屬性、動態屬性、消費屬性和心理屬性。靜態屬性用來描述用戶的固有屬性,比如用戶的性別、出生年月等;動態屬性指用戶產生的行為屬性,比如用戶的出行習慣、學習偏好、娛樂活動等;消費屬性主要包括用戶的消費偏好、消費水平、消費心理等;心理屬性指用戶的生活、工作、情感趨向,通過這些屬性預測用戶新的行為。根據用戶畫像,公司可以通過用戶的偏好來制定產品的模式與功能,或者修改自己的產品戰略,以適應當前的市場。
用戶畫像的表示方法還可以分為以下幾類:基于本體/概念的用戶畫像,基于主題/話題的用戶畫像方法,基于用戶興趣/偏好的用戶畫像方法,基于用戶行為習慣的畫像方法[8]。用戶畫像的數據可以通過數據挖掘技術來獲取,將用戶上網產生的日志通過合適的模型進行分析,并構建出用戶畫像。
實驗選用如今廣泛使用的基于TF-IDF 的傳統機器學習模型進行實驗對比,TF-IDF 即詞頻-逆文本頻率指數,是一種文本挖掘中廣泛使用的特征向量化方法,尤其應用于搜索引擎的特征工程構建中,用來評估一個字詞在語料庫中的重要性[9]。TF(Term Frequency)表示詞頻,即一個詞在一篇文章中出現的次數,但在實際應用中,介詞、語氣詞等沒有實際意義的詞會在句子中大量出現,這些詞語對于判斷文章的關鍵詞幾乎沒有什么用處,即為“停用詞”,在度量相關性的時候不應當考慮這些詞的頻率。所以在數據預處理中已將這些詞剔除。IDF(Inverse Document Frequency)逆文本頻率指數,用總的文章數量除以包含該關鍵詞的文章的數量得到某關鍵詞的IDF 值,結果取對數得到,某關鍵詞的IDF值越大,則區分能力越強,包含此關鍵詞的文檔越少,公式如下:

一個詞語預測主題的能力越強,權重就越大,反之,權重越小,因此一個詞的TF-IDF 公式如下:

對于搜索引擎用戶畫像的分類問題,基于TF-IDF 的傳統機器學習模型如下:先對數據進行預處理,將數據中有用的信息提取出來,再用分詞工具對文本進一步分割;然后將這些處理過的數據用TF-IDF 進行特征提取,其效果與運用的算法有關;最后用分類器訓練和預測,選擇不同的分類器將出現不同的結果。其模型結構如圖1 所示。

圖1 基于TF-IDF 的傳統模型結構圖
傳統的單個機器學習模型容易發生過擬合,所以本實驗采用模型融合的方法。模型融合方法屬于集成學習,它不是單獨的機器學習算法,而是將許多機器學習算法結合在一起,因此往往比單一的學習器有更優越的泛化性,可提升模型的預測能力。集成學習可以分為三大類,即bagging、boosting 和stacking。bagging 使用裝袋采樣來獲取數據子集訓練基礎學習器,以降低基分類器的方差,但是對提升泛化性能沒有很大幫助;boosting 可將弱學習器提升為強學習器,每個基學習器都是為了最小化損失函數,更注重減少偏差;stacking 是一種分層模型集成框架,可以設置很多層級,包含不同的學習算法,所以比較靈活,有很強的泛化能力,可以明顯提升預測結果。因此研究選擇stacking 構建模型,一般stacking 模型為兩層結構,過多的層級容易過擬合,運用stacking 模型,可以在過程中間結果融合新特征,進一步提升預測能力[10]。Stacking 模型融合結構如圖2 所示。
TF-IDF 算法雖然考慮了單詞在文檔中的詞頻和單詞在整體語料庫中分布的影響,但沒有考慮到單詞在不同類別間的分布差異,而且忽略了單詞之間的語音信息和排列順序,所以實驗采用Doc2Vec 彌補TF-IDF 的缺點。反向傳播(Back Propagation,BP)神經網絡是20 世紀80 年代由RUMELHART 等人提出的,是目前被廣泛應用的神經網絡學習算法[11]。對于Doc2Vec 得到的文本特征向量,實驗使用BP 神經網絡模型對其進行訓練,并用Stacking 模型將TF-IDF 的訓練結果融合,再輸入到Stacking 第二級模型中,其模型結構如圖2 所示。該模型相較Logistic Regression 等模型,其擬合能力更強,并在實驗中進行了對比。

圖2 Stacking 模型融合結構圖
實驗中Stacking 結構第一層使用多分類器訓練TF-IDF特征向量,而不是傳統的單一分類器,考慮到分類速度和分類效率,在分類器的選擇上實驗選擇了SGD Classifier(隨機梯度下降)、Naive Bayes Classifier(樸素貝葉斯)、LinearSVC(線性支持向量機)、Logistics Regression(邏輯回歸)和Hard VotingClassifier(一種集成分類器),多分類器訓練模型如圖3 所示。

圖3 多分類器結構
實驗使用BP 神經網絡訓練Doc2Vec 特征向量,根據訓練特征向量的網絡結構,Doc2Vec 可分為Distributed Memory Model(DM)與Distributed bag of words(DBOW)兩種模型,其中DM 模型不但擁有上下文的語義關聯信息,而且包含了特征詞的詞序信息,DBOW 模型則不考慮特征詞的排序信息,而只關注文檔中的特征詞的語義信息。實驗中同時采用了DM 和DBOW 兩種模型,用BP 神經網絡進行特征訓練,以保證特征構建中信息的完整性,其結構如圖4 所示。
數據集是由搜狗搜索引擎提供的10 0000 用戶一個月內的搜索引擎查詢詞,其中90 000 作為訓練集,10 000 作為測試集。數據的格式如表1 所示。在測試集中,ID、Age、Gender 均為缺省項。

圖4 BP 神經網絡結構

表1 實驗數據格式
在數據預處理的環節中,通過對訓練數據的統計分析,發現包含空值的行并不多,所以直接舍棄以減小噪聲。分詞使用了jieba 分詞組件,并使用帶有詞性的精確模式進行分詞,結合人們進行日常檢索的先驗知識,在進行分詞處理及特征計算的過程中,保留了名詞、動詞和簡略詞,在該任務中是最具有代表的特征。
實驗根據TF-IDF 的傳統模型進行了訓練和預測,并選用了不同的分類器進行對比。分類器中,邏輯回歸(Logistics Regression)是最常用的分類方法,其速度快、易于理解,但適應能力有一定的局限性;樸素貝葉斯模型也常用于文本分類,有著較為穩定的分類效果,對小規模數據分類效果很好,實驗選用文本分類常用的多項式分布樸素貝葉斯(MultinomialNB)與伯努利分布樸素貝葉斯(BernoulliNB)進行實驗。作為對比,基于TF-IDF 不同分類器模型的實驗準確率如表2 所示。

表2 基于TF-IDF 不同分類器模型的實驗準確率對比(單位:%)
從實驗結果可知,在基于TF-IDF 特征的分類模型下,選用不同的分類器會對結果產生不同的影響,對于TF-IDF特征向量訓練的任務,使用邏輯回歸分類會有更好的效果。
為了使結果更加直觀,實驗使用TSNE 對模型的輸出結果進行降維可視化展示,如圖5 所示,Education 和Age 分為6 類,Gender 分為2 類。

圖5 TSNE 降維可視化
根據以上模型結構進行實驗,基于BP 神經網絡的融合模型與其他模型準確率的對比實驗數據如表3 所示。表3 中,TF-IDF(多分類器)表示用多分類器訓練TF-IDF 特征向量,但在Stacking模型中不進行融合Doc2Vec 特征向量得到的結果;TF-IDF&Doc2Vec(LR)表示實驗在Stacking 模型第一層使用TF-IDF 多分類器訓練特征,第二層中融合的是用Logistics Regression 分類器訓練的Doc2Vec 特征向量;TF-IDF&Doc2Vec(BPNN)表示實驗在Stacking 模型第一層使用TF-IDF 多分類器訓練特征,第二層使用BP 神經網絡訓練Doc2Vec 特征向量。

表3 基于BP 神經網絡的融合模型與各模型準確率對比(單位:%)
從實驗結果可以看出,使用TF-IDF 多分類器效果比使用傳統模型中單分類器準確率高,用Stacking 融合模型加入Doc2Vec 特征向量后,效果進一步提升,最后將Doc2Vec 特征向量的訓練方法由Logistics Regression 改為BP 神經網絡后,準確率在一定程度上又有所提升。
本實驗構建了用于預測多維用戶標簽的Stacking 模型融合結構,并與傳統的分類模型進行實驗對比。從實驗結果可以看出,選擇不同的分類器對準確率有很大影響,在搜索數據的分類任務中,使用Logistics Regression 分類器要比其他單分類器有更好的效果,而使用Stacking 融合模型中的多分類器可以進一步提升分類效果,如果將基于BP 神經網絡訓練的Doc2Vec 特征詞向量進行融合,則可以在一定程度上繼續提高預測的準確度。所以本文提出的Stacking 模型融合方法對搜索引擎用戶畫像的標簽預測有一定的意義。