馬朋輝 王雪寧 李勇 邵帥
關(guān)鍵詞:用戶畫像;Word2vec;詞向量;Stacking
中圖分類號(hào):TP391.1;TP391.4 ? ? 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2019)06-0017-03
Abstract:This paper mainly studies user portrait construction based on user browsing data of Sogou engine. We describe user characteristics concretely,labeled and targeted,and use this as the basis of market analysis,business decision-making and precise marketing. User portrait technology can help search engines more targeted service users. The main work of this paper is as follows:Firstly,the data set of user search is preprocessed. In word segmentation,we choose Jieba word segmentation tool;secondly,we use TF-IDF-based vector space model to select feature words;thirdly,we use Word2vec to transform feature words into word vectors;finally,we use different classifiers to construct user portraits,we use Stacking model here.
Keywords:user portrait;Word2vec;word vector;Stacking
0 ?引 ?言
大數(shù)據(jù)時(shí)代的到來,有力的緩解了信息爆炸的問題,搜索推薦系統(tǒng)也一直在致力于從“拉”模式到“推”模式的改變[1],與此同時(shí),隨著互聯(lián)網(wǎng)計(jì)算機(jī)技術(shù)的快速發(fā)展,云計(jì)算技術(shù)的出現(xiàn)為大數(shù)據(jù)的及時(shí)性分析、處理提供了技術(shù)上的支持[2],用戶畫像是根據(jù)用戶的社會(huì)屬性、生活習(xí)慣和消費(fèi)行為等信息而抽象出的一個(gè)標(biāo)簽化的用戶模型。構(gòu)建用戶畫像的核心工作即是給用戶貼“標(biāo)簽”。通過構(gòu)建搜索引擎的用戶畫像可以大大減少平臺(tái)的運(yùn)營(yíng)成本。
1 ?相關(guān)技術(shù)介紹
Word2vec:Word2vec模型其實(shí)就是簡(jiǎn)單化的神經(jīng)網(wǎng)絡(luò),一般分為CBOW(Continuous Bag-of-Words)與Skip-Gram兩種模型。CBOW模型的訓(xùn)練輸入是與某一個(gè)特征詞的上下文相關(guān)的詞相對(duì)應(yīng)的詞向量,而輸出的就是這特定的一個(gè)詞的詞向量。Skip-Gram模型和CBOW的思路是反著來的,即輸入是特定的一個(gè)詞的詞向量,而輸出是特定詞對(duì)應(yīng)的上下文詞向量。CBOW對(duì)小型數(shù)據(jù)庫比較合適,而Skip-Gram在大型語料中表現(xiàn)更好。
Stacking模型:Stacking是一種分層模型集成框架。以兩層為例,第一層由多個(gè)基學(xué)習(xí)器組成,其輸入為原始訓(xùn)練集,第二層的模型則是以第一層基學(xué)習(xí)器的輸出作為訓(xùn)練集進(jìn)行再訓(xùn)練,從而得到完整的Stacking模型。
2 ?用戶畫像模型構(gòu)建
2.1 ?數(shù)據(jù)集
本文中所采用的數(shù)據(jù)來源于CCF競(jìng)賽平臺(tái),搜狗公司提供的用戶搜索數(shù)據(jù),其中用戶的ID經(jīng)過加密算法加密。其中每條數(shù)據(jù)包含用戶的ID、Age(年齡)、Gender(性別)、Education(教育程度)、Query List(用戶搜索詞列表)。數(shù)據(jù)說明如表1。
數(shù)據(jù)的預(yù)處理包括數(shù)據(jù)清洗、自定義詞典、分詞處理。在數(shù)據(jù)清洗過程中,我們主要對(duì)空值進(jìn)行了處理,為了提高最后所做預(yù)測(cè)的準(zhǔn)確程度,我們對(duì)于有空值的用戶信息選擇舍去,因?yàn)槲覀冋J(rèn)為被丟棄的數(shù)據(jù)占比太小,對(duì)預(yù)測(cè)的準(zhǔn)確程度影響不大;在自定義詞典過程中,我們花費(fèi)了大量的時(shí)間和精力進(jìn)行了一些詞語的替換來換取準(zhǔn)確率的提高,比如將百度網(wǎng)盤網(wǎng)址替換為“網(wǎng)盤”;在分詞處理工作中,我們主要使用了結(jié)巴分詞,在分詞后又使用了正則表達(dá)式和去停用詞來實(shí)現(xiàn)精確分詞。
用戶搜索詞列表分詞前:
中財(cái)網(wǎng)首頁財(cái)經(jīng) ?http://pan.baidu.com/s/1plpjtn9 ?周公解夢(mèng)大全查詢2345 ?曹云金再諷郭德綱 ?總裁大人行行好
用戶搜索詞列表分詞后:
中財(cái)網(wǎng) 財(cái)經(jīng) 網(wǎng)盤 周公解夢(mèng) 曹云金 郭德綱 小說
2.3 ?特征詞的抽取
特征詞的選擇即從上述總分詞庫中篩選出最能代表用戶搜索內(nèi)容的詞,簡(jiǎn)單來說就是如果某個(gè)詞匯出現(xiàn)的次數(shù)多,那么這個(gè)詞語就能被篩選出作為特征詞。在這里我們使用TF-IDF算法篩選出特征詞,TF-IDF算法是經(jīng)典的文本特征加權(quán)方法,它衡量了某一個(gè)單詞在文檔中的重要性;TF-IDF與一個(gè)詞在文檔中的出現(xiàn)次數(shù)成正比,與該詞在整個(gè)語言中的出現(xiàn)次數(shù)成反相關(guān)。式(1)是TF-IDF算法的公式:
特征詞處理完畢之后,就該著手把特征詞轉(zhuǎn)換為計(jì)算機(jī)能讀懂的語言,那么問題來了,根據(jù)詞向量,該如何表達(dá)特征詞呢?假設(shè)某用戶含有N個(gè)特征詞,每個(gè)特征詞使用K維的詞向量表示。有人可能會(huì)說,把詞向量拼起來,將一個(gè)用戶形式化為N*K的向量,但這種做法并不合適,因?yàn)闊o法解決不同用戶的特征詞數(shù)量所導(dǎo)致的維度不一致問題,下面為我們的方法:首先,使用傳統(tǒng)的One-Hot方式,具體是先構(gòu)建一個(gè)詞典,它包含所有我們選取的特征詞;然后,對(duì)于用戶的每一個(gè)搜索詞,如果它在詞典中出現(xiàn)了,對(duì)應(yīng)位置就標(biāo)記為1,否則標(biāo)記為0;最終,每一個(gè)用戶的特征表示就是01序列,長(zhǎng)度為詞典長(zhǎng)度。再然后使用Word2vec把特征詞向量加和求平均值,根據(jù)特征詞的語義獲得其分布式表達(dá),且詞語之間的相似性可以由向量的余弦夾角來表示,豐富了詞語特征的表達(dá)。測(cè)試集第一個(gè)用戶特征向量表示如下(一共是300維向量,這里只展示24維向量):[-0.13521618 ?-0.12654323 ?-0.29329249 -0.09194205 ?0.08417522 ?0.27917215 ?0.13377914 ?0.05475752 ?-0.09656907 ?0.14759752 ?-0.39463448 -0.0143092 ?-0.60612251 ?-0.39274153 ?-0.16835085 -0.21356585 ?-0.29147161 ?0.40192119 ?0.37719944 ?0.25010119 ?-0.29925515 ?0.31874303 ?-0.1342936 ? 0.43075851]
2.5 ?用戶畫像模型
Stacking模型:集成學(xué)習(xí)就是通過構(gòu)建并結(jié)合多個(gè)學(xué)習(xí)器來完成學(xué)習(xí)任務(wù),多個(gè)學(xué)習(xí)器的結(jié)合??梢垣@得比單一學(xué)習(xí)器顯著優(yōu)越的泛化性能。其中Stacking是一種著名的集成學(xué)習(xí)方法。
Stacking先從初始數(shù)據(jù)集訓(xùn)練出初級(jí)學(xué)習(xí)器,然后“生成”一個(gè)新的數(shù)據(jù)集用于訓(xùn)練次級(jí)學(xué)習(xí)器,在這個(gè)新數(shù)據(jù)集中,初級(jí)學(xué)習(xí)器的輸出被當(dāng)作樣例輸入特征,而初始樣本的標(biāo)記仍被當(dāng)作樣例標(biāo)記[3]。
Stacking集成最大的特點(diǎn)是靈活,我們可以設(shè)置多層級(jí)的Stack,每層可以設(shè)置合適的分類器簇,并且可以將新特征很方便的融合在層之間的中間結(jié)果里。經(jīng)典的Stacking框架分為2層,第一層含有T個(gè)分類器,產(chǎn)生T組與原數(shù)據(jù)集規(guī)模相同且維度為1的結(jié)果,將這T組結(jié)果拼在一起可組成新的數(shù)據(jù)集,用以構(gòu)成第二層的輸入。在一層中,對(duì)于T個(gè)分類器中的每一個(gè)分類器,我們把訓(xùn)練數(shù)據(jù)分割為N份,利用其中的N-1份做訓(xùn)練,剩下的那一份做預(yù)測(cè),這樣對(duì)訓(xùn)練集重復(fù)N次,就可以得到在一個(gè)分類器下對(duì)原始訓(xùn)練數(shù)據(jù)的一個(gè)完整預(yù)測(cè)結(jié)果,于是一個(gè)分類器可以得到N*1的新表達(dá),那么T個(gè)分類器就可以得到N*T的新表達(dá),而這就是用于下一層的輸入。
2.6 ?模型預(yù)測(cè)結(jié)果
Stacking模型預(yù)測(cè)準(zhǔn)確率如表2所示。
3.1 ?總結(jié)
我們?cè)趯?shí)驗(yàn)中遇到了很多難題,比如龐大的數(shù)據(jù)量,繁多臃腫的特征向量,為保證精準(zhǔn)性,并沒有做大批量刪除處理,在保證結(jié)果的精度的前提下我們只保留了頻率大于50的詞,對(duì)小部分?jǐn)?shù)據(jù)進(jìn)行刪減,使數(shù)據(jù)更加精簡(jiǎn)整潔,在解決數(shù)據(jù)冗雜的問題后,我們利用模型得到的結(jié)果與實(shí)際相比較準(zhǔn)確率較低,因此,我們對(duì)預(yù)處理部分做了進(jìn)一步優(yōu)化,篩選出沒有使用到的詞,在此基礎(chǔ)之上,變換不同的Word2vec維度,以得到準(zhǔn)確率更高的結(jié)果。
在如今互聯(lián)網(wǎng)高速發(fā)展的背景下,勾勒用戶畫像作為一種手段,有非常廣泛的用途,例如:精準(zhǔn)營(yíng)銷,用戶分析,數(shù)據(jù)分析,數(shù)據(jù)應(yīng)用等。用戶畫像根據(jù)用戶搜索記錄,搜索頻數(shù),瀏覽時(shí)間等建立用戶個(gè)性化配置文件,再使用各種數(shù)據(jù)挖掘工具從用戶歷史記錄中學(xué)習(xí)用戶個(gè)人愛好與偏向,即這可以作為是從搜索即瀏覽記錄中刻畫用戶畫像,從而應(yīng)用在個(gè)性化訂制推薦中[4]。曾鴻等(2016)通過采集分析新浪微博等用戶社交數(shù)據(jù),定量分析定性描述社交網(wǎng)絡(luò)用戶的群體行為特征,構(gòu)建基于社交數(shù)據(jù)的用戶畫像模型,支撐精準(zhǔn)營(yíng)銷[5]。
本文基于十萬搜狗用戶的搜索詞條,在經(jīng)過數(shù)據(jù)預(yù)處理、特征選擇、建立特征向量等處理后,我們采用Stacking分類模型對(duì)性別、年齡、學(xué)歷三項(xiàng)進(jìn)行預(yù)測(cè),并與正確結(jié)果做比較,所得結(jié)果如下:性別標(biāo)簽的精確度為0.783;年齡標(biāo)簽的精確度為0.584;學(xué)歷標(biāo)簽的精確度為0.601。
3.2 ?展望
本文是通過用戶搜索詞對(duì)用戶貼標(biāo)簽,由于存在同一賬號(hào)不同用戶使用的情況,可能會(huì)導(dǎo)致一些誤差,所以可以分時(shí)間段對(duì)詞進(jìn)行處理,以提高準(zhǔn)確性。
參考文獻(xiàn):
[1] 趙鑫,丁效.淺析推薦系統(tǒng)中的用戶畫像構(gòu)建與應(yīng)用 [J].中國計(jì)算機(jī)學(xué)會(huì)通訊2017,13(11):45-51.
[2] 李雅坤.基于搜索引擎的用戶畫像構(gòu)建方法研究 [D].山西:山西財(cái)經(jīng)大學(xué),2018:1-3.
[3] 周志華.機(jī)器學(xué)習(xí) [M].北京:清華大學(xué)出版社,2016:183-185.
[4] Adomavicius G,Tuzhilin A. User profiling in personalization applications through rule discovery and validation [A]. Proceedings of the fifth ACM SIGKDD international conference on Knowledge discovery and data mining [C],DBLP,1999:377-381.
[5] 曾鴻,吳蘇倪.基于微博的大數(shù)據(jù)用戶畫像與精準(zhǔn)營(yíng)銷 [J].現(xiàn)代經(jīng)濟(jì)信息,2016(16):306-308.
作者簡(jiǎn)介:馬朋輝(1999.08-),男,漢族,河南周口人,軟件工程專業(yè),本科,研究方向:機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘;王雪寧(1997.08-),女,蒙古族,遼寧朝陽人,計(jì)算機(jī)科學(xué)與技術(shù)專業(yè),本科,研究方向:網(wǎng)絡(luò)與信息安全;李勇(1998.07-),男,回族,寧夏吳忠人,本科,研究方向:數(shù)學(xué)統(tǒng)計(jì);邵帥(1998.06-),女,漢族,黑龍江哈爾濱人,網(wǎng)絡(luò)與信息安全專業(yè),本科在讀,研究方向:網(wǎng)絡(luò)與信息安全。