郭 梁,王佳斌,馬迎杰,朱新龍
(華僑大學(xué) 工學(xué)院,福建 泉州362021)
搜索引擎是互聯(lián)網(wǎng)的基礎(chǔ)應(yīng)用,它是用戶訪問網(wǎng)站的最重要的通道。搜索引擎用戶畫像是分析用戶查詢關(guān)鍵詞的一個重要研究領(lǐng)域。搜索引擎通常通過創(chuàng)建用戶畫像來分析用戶的個人偏好[1]。因此它具有極高的商用價值,很多營銷項目或很多廣告主,在投放廣告前,都要求媒體提供用戶畫像。一種新的搜索引擎技術(shù)可以根據(jù)用戶的興趣、偏好和信息需求,為不同的用戶提供不同的搜索結(jié)果[2]。但是由于搜索引擎便捷的特點,用戶在使用時不會留下太多的用戶信息,比如年齡、性別、學(xué)歷等用戶的標(biāo)簽信息,因此也就無法根據(jù)用戶屬性對用戶進(jìn)行分群處理,所以在分析用戶數(shù)據(jù)時會存在一定的困難。
早期的用戶畫像構(gòu)建技術(shù)利用數(shù)據(jù)庫、Web 技術(shù)對用戶數(shù)據(jù)進(jìn)行統(tǒng)計分類,例如CRM(客戶關(guān)系管理系統(tǒng))。隨著技術(shù)的不斷發(fā)展,F(xiàn)AWCETT 等人[3]將數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)結(jié)合,通過用戶行為生成的日志構(gòu)建用戶畫像來檢測用戶中存在的欺詐行為。ADOMAVICIUS 等人[4]通過用戶瀏覽歷史和交易記錄等建立用戶畫像,并用于推薦系統(tǒng)領(lǐng)域中。這些用戶畫像包含每個用戶的個人行為,其通過各種數(shù)據(jù)挖掘的技術(shù)從用戶歷史行為中提取用戶的偏好和習(xí)慣,更具體地說是從用戶的交易歷史中得到他們的用戶畫像。SUGIYAMA[5]在搜索引擎系統(tǒng)中使用基于改進(jìn)的協(xié)同過濾方法構(gòu)建用戶畫像,可以詳細(xì)地分析用戶一天內(nèi)的瀏覽記錄,然后根據(jù)用戶對相關(guān)信息的反饋調(diào)整搜索結(jié)果。王慶福[6]提出用基于Bayesian Network 的用戶畫像來構(gòu)建互聯(lián)網(wǎng)用戶愛好的不同層次。楊雙亮[7]將DNN 算法應(yīng)用到移動網(wǎng)絡(luò)用戶畫像的愛好標(biāo)簽預(yù)測中,實現(xiàn)了用戶的個性化推送。近幾年的研究中,機(jī)器學(xué)習(xí)逐漸被引入NLP(Natural Language Processing)的領(lǐng)域中。本研究在搜索引擎用戶畫像的應(yīng)用中,提出了基于BP 神經(jīng)網(wǎng)絡(luò)的Stacking 融合模型,并與傳統(tǒng)模型進(jìn)行對比實驗。
用戶畫像是根據(jù)用戶的網(wǎng)絡(luò)行為或現(xiàn)實行為產(chǎn)生的數(shù)據(jù)記錄而抽象出的標(biāo)簽化的用戶模型,是針對具有某些相同標(biāo)簽的某一類人的模型表達(dá),并不是特指某一個人的表達(dá)。用戶畫像是分析用戶屬性的基本組件[1]。
用戶畫像的構(gòu)成屬性一般包括用戶的靜態(tài)屬性、動態(tài)屬性、消費屬性和心理屬性。靜態(tài)屬性用來描述用戶的固有屬性,比如用戶的性別、出生年月等;動態(tài)屬性指用戶產(chǎn)生的行為屬性,比如用戶的出行習(xí)慣、學(xué)習(xí)偏好、娛樂活動等;消費屬性主要包括用戶的消費偏好、消費水平、消費心理等;心理屬性指用戶的生活、工作、情感趨向,通過這些屬性預(yù)測用戶新的行為。根據(jù)用戶畫像,公司可以通過用戶的偏好來制定產(chǎn)品的模式與功能,或者修改自己的產(chǎn)品戰(zhàn)略,以適應(yīng)當(dāng)前的市場。
用戶畫像的表示方法還可以分為以下幾類:基于本體/概念的用戶畫像,基于主題/話題的用戶畫像方法,基于用戶興趣/偏好的用戶畫像方法,基于用戶行為習(xí)慣的畫像方法[8]。用戶畫像的數(shù)據(jù)可以通過數(shù)據(jù)挖掘技術(shù)來獲取,將用戶上網(wǎng)產(chǎn)生的日志通過合適的模型進(jìn)行分析,并構(gòu)建出用戶畫像。
實驗選用如今廣泛使用的基于TF-IDF 的傳統(tǒng)機(jī)器學(xué)習(xí)模型進(jìn)行實驗對比,TF-IDF 即詞頻-逆文本頻率指數(shù),是一種文本挖掘中廣泛使用的特征向量化方法,尤其應(yīng)用于搜索引擎的特征工程構(gòu)建中,用來評估一個字詞在語料庫中的重要性[9]。TF(Term Frequency)表示詞頻,即一個詞在一篇文章中出現(xiàn)的次數(shù),但在實際應(yīng)用中,介詞、語氣詞等沒有實際意義的詞會在句子中大量出現(xiàn),這些詞語對于判斷文章的關(guān)鍵詞幾乎沒有什么用處,即為“停用詞”,在度量相關(guān)性的時候不應(yīng)當(dāng)考慮這些詞的頻率。所以在數(shù)據(jù)預(yù)處理中已將這些詞剔除。IDF(Inverse Document Frequency)逆文本頻率指數(shù),用總的文章數(shù)量除以包含該關(guān)鍵詞的文章的數(shù)量得到某關(guān)鍵詞的IDF 值,結(jié)果取對數(shù)得到,某關(guān)鍵詞的IDF值越大,則區(qū)分能力越強(qiáng),包含此關(guān)鍵詞的文檔越少,公式如下:
一個詞語預(yù)測主題的能力越強(qiáng),權(quán)重就越大,反之,權(quán)重越小,因此一個詞的TF-IDF 公式如下:
對于搜索引擎用戶畫像的分類問題,基于TF-IDF 的傳統(tǒng)機(jī)器學(xué)習(xí)模型如下:先對數(shù)據(jù)進(jìn)行預(yù)處理,將數(shù)據(jù)中有用的信息提取出來,再用分詞工具對文本進(jìn)一步分割;然后將這些處理過的數(shù)據(jù)用TF-IDF 進(jìn)行特征提取,其效果與運用的算法有關(guān);最后用分類器訓(xùn)練和預(yù)測,選擇不同的分類器將出現(xiàn)不同的結(jié)果。其模型結(jié)構(gòu)如圖1 所示。
圖1 基于TF-IDF 的傳統(tǒng)模型結(jié)構(gòu)圖
傳統(tǒng)的單個機(jī)器學(xué)習(xí)模型容易發(fā)生過擬合,所以本實驗采用模型融合的方法。模型融合方法屬于集成學(xué)習(xí),它不是單獨的機(jī)器學(xué)習(xí)算法,而是將許多機(jī)器學(xué)習(xí)算法結(jié)合在一起,因此往往比單一的學(xué)習(xí)器有更優(yōu)越的泛化性,可提升模型的預(yù)測能力。集成學(xué)習(xí)可以分為三大類,即bagging、boosting 和stacking。bagging 使用裝袋采樣來獲取數(shù)據(jù)子集訓(xùn)練基礎(chǔ)學(xué)習(xí)器,以降低基分類器的方差,但是對提升泛化性能沒有很大幫助;boosting 可將弱學(xué)習(xí)器提升為強(qiáng)學(xué)習(xí)器,每個基學(xué)習(xí)器都是為了最小化損失函數(shù),更注重減少偏差;stacking 是一種分層模型集成框架,可以設(shè)置很多層級,包含不同的學(xué)習(xí)算法,所以比較靈活,有很強(qiáng)的泛化能力,可以明顯提升預(yù)測結(jié)果。因此研究選擇stacking 構(gòu)建模型,一般stacking 模型為兩層結(jié)構(gòu),過多的層級容易過擬合,運用stacking 模型,可以在過程中間結(jié)果融合新特征,進(jìn)一步提升預(yù)測能力[10]。Stacking 模型融合結(jié)構(gòu)如圖2 所示。
TF-IDF 算法雖然考慮了單詞在文檔中的詞頻和單詞在整體語料庫中分布的影響,但沒有考慮到單詞在不同類別間的分布差異,而且忽略了單詞之間的語音信息和排列順序,所以實驗采用Doc2Vec 彌補TF-IDF 的缺點。反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)是20 世紀(jì)80 年代由RUMELHART 等人提出的,是目前被廣泛應(yīng)用的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法[11]。對于Doc2Vec 得到的文本特征向量,實驗使用BP 神經(jīng)網(wǎng)絡(luò)模型對其進(jìn)行訓(xùn)練,并用Stacking 模型將TF-IDF 的訓(xùn)練結(jié)果融合,再輸入到Stacking 第二級模型中,其模型結(jié)構(gòu)如圖2 所示。該模型相較Logistic Regression 等模型,其擬合能力更強(qiáng),并在實驗中進(jìn)行了對比。
圖2 Stacking 模型融合結(jié)構(gòu)圖
實驗中Stacking 結(jié)構(gòu)第一層使用多分類器訓(xùn)練TF-IDF特征向量,而不是傳統(tǒng)的單一分類器,考慮到分類速度和分類效率,在分類器的選擇上實驗選擇了SGD Classifier(隨機(jī)梯度下降)、Naive Bayes Classifier(樸素貝葉斯)、LinearSVC(線性支持向量機(jī))、Logistics Regression(邏輯回歸)和Hard VotingClassifier(一種集成分類器),多分類器訓(xùn)練模型如圖3 所示。
圖3 多分類器結(jié)構(gòu)
實驗使用BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練Doc2Vec 特征向量,根據(jù)訓(xùn)練特征向量的網(wǎng)絡(luò)結(jié)構(gòu),Doc2Vec 可分為Distributed Memory Model(DM)與Distributed bag of words(DBOW)兩種模型,其中DM 模型不但擁有上下文的語義關(guān)聯(lián)信息,而且包含了特征詞的詞序信息,DBOW 模型則不考慮特征詞的排序信息,而只關(guān)注文檔中的特征詞的語義信息。實驗中同時采用了DM 和DBOW 兩種模型,用BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行特征訓(xùn)練,以保證特征構(gòu)建中信息的完整性,其結(jié)構(gòu)如圖4 所示。
數(shù)據(jù)集是由搜狗搜索引擎提供的10 0000 用戶一個月內(nèi)的搜索引擎查詢詞,其中90 000 作為訓(xùn)練集,10 000 作為測試集。數(shù)據(jù)的格式如表1 所示。在測試集中,ID、Age、Gender 均為缺省項。
圖4 BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
表1 實驗數(shù)據(jù)格式
在數(shù)據(jù)預(yù)處理的環(huán)節(jié)中,通過對訓(xùn)練數(shù)據(jù)的統(tǒng)計分析,發(fā)現(xiàn)包含空值的行并不多,所以直接舍棄以減小噪聲。分詞使用了jieba 分詞組件,并使用帶有詞性的精確模式進(jìn)行分詞,結(jié)合人們進(jìn)行日常檢索的先驗知識,在進(jìn)行分詞處理及特征計算的過程中,保留了名詞、動詞和簡略詞,在該任務(wù)中是最具有代表的特征。
實驗根據(jù)TF-IDF 的傳統(tǒng)模型進(jìn)行了訓(xùn)練和預(yù)測,并選用了不同的分類器進(jìn)行對比。分類器中,邏輯回歸(Logistics Regression)是最常用的分類方法,其速度快、易于理解,但適應(yīng)能力有一定的局限性;樸素貝葉斯模型也常用于文本分類,有著較為穩(wěn)定的分類效果,對小規(guī)模數(shù)據(jù)分類效果很好,實驗選用文本分類常用的多項式分布樸素貝葉斯(MultinomialNB)與伯努利分布樸素貝葉斯(BernoulliNB)進(jìn)行實驗。作為對比,基于TF-IDF 不同分類器模型的實驗準(zhǔn)確率如表2 所示。
表2 基于TF-IDF 不同分類器模型的實驗準(zhǔn)確率對比(單位:%)
從實驗結(jié)果可知,在基于TF-IDF 特征的分類模型下,選用不同的分類器會對結(jié)果產(chǎn)生不同的影響,對于TF-IDF特征向量訓(xùn)練的任務(wù),使用邏輯回歸分類會有更好的效果。
為了使結(jié)果更加直觀,實驗使用TSNE 對模型的輸出結(jié)果進(jìn)行降維可視化展示,如圖5 所示,Education 和Age 分為6 類,Gender 分為2 類。
圖5 TSNE 降維可視化
根據(jù)以上模型結(jié)構(gòu)進(jìn)行實驗,基于BP 神經(jīng)網(wǎng)絡(luò)的融合模型與其他模型準(zhǔn)確率的對比實驗數(shù)據(jù)如表3 所示。表3 中,TF-IDF(多分類器)表示用多分類器訓(xùn)練TF-IDF 特征向量,但在Stacking模型中不進(jìn)行融合Doc2Vec 特征向量得到的結(jié)果;TF-IDF&Doc2Vec(LR)表示實驗在Stacking 模型第一層使用TF-IDF 多分類器訓(xùn)練特征,第二層中融合的是用Logistics Regression 分類器訓(xùn)練的Doc2Vec 特征向量;TF-IDF&Doc2Vec(BPNN)表示實驗在Stacking 模型第一層使用TF-IDF 多分類器訓(xùn)練特征,第二層使用BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練Doc2Vec 特征向量。
表3 基于BP 神經(jīng)網(wǎng)絡(luò)的融合模型與各模型準(zhǔn)確率對比(單位:%)
從實驗結(jié)果可以看出,使用TF-IDF 多分類器效果比使用傳統(tǒng)模型中單分類器準(zhǔn)確率高,用Stacking 融合模型加入Doc2Vec 特征向量后,效果進(jìn)一步提升,最后將Doc2Vec 特征向量的訓(xùn)練方法由Logistics Regression 改為BP 神經(jīng)網(wǎng)絡(luò)后,準(zhǔn)確率在一定程度上又有所提升。
本實驗構(gòu)建了用于預(yù)測多維用戶標(biāo)簽的Stacking 模型融合結(jié)構(gòu),并與傳統(tǒng)的分類模型進(jìn)行實驗對比。從實驗結(jié)果可以看出,選擇不同的分類器對準(zhǔn)確率有很大影響,在搜索數(shù)據(jù)的分類任務(wù)中,使用Logistics Regression 分類器要比其他單分類器有更好的效果,而使用Stacking 融合模型中的多分類器可以進(jìn)一步提升分類效果,如果將基于BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練的Doc2Vec 特征詞向量進(jìn)行融合,則可以在一定程度上繼續(xù)提高預(yù)測的準(zhǔn)確度。所以本文提出的Stacking 模型融合方法對搜索引擎用戶畫像的標(biāo)簽預(yù)測有一定的意義。