文/曾穎 李志濤 周燕
(華南農(nóng)業(yè)大學(xué) 廣東省廣州市 510642)
隨著社交網(wǎng)絡(luò)的發(fā)展和人們上網(wǎng)偏好的改變,過(guò)半的成年國(guó)民都進(jìn)行微信閱讀,微信公眾號(hào)逐漸成為重要的媒體平臺(tái)之一。一個(gè)公眾號(hào)基本有著相對(duì)固定的風(fēng)格和目標(biāo)人群,不同人群也代表著不同的閱讀偏好。而就在微信公眾號(hào)“咪蒙”關(guān)閉前,就被指出其文章內(nèi)容越是煽動(dòng)情緒、發(fā)泄仇恨,傳播力就越強(qiáng)。“咪蒙”的作者也曾表示,涉及到熱點(diǎn)、金錢、性、暴力的文章閱讀量高。說(shuō)明公眾號(hào)若能夠抓住關(guān)注者的閱讀偏好,并生產(chǎn)閱讀偏好下用戶最可能喜聞樂(lè)見(jiàn)的內(nèi)容,則應(yīng)當(dāng)對(duì)其閱讀量的提升存在一定作用。于是,本文在文本數(shù)據(jù)挖掘的基礎(chǔ)上,以提取到的篇幅、主題、風(fēng)格等文章特征為變量,建立流量預(yù)測(cè)模型。旨在確認(rèn)影響媒體閱讀量的因素,并找到一套可復(fù)制的自媒體大數(shù)據(jù)研究方案,實(shí)現(xiàn)文本數(shù)據(jù)挖掘技術(shù)的延伸、傳播學(xué)自媒體研究的拓展。
本文文本數(shù)據(jù)挖掘主要利用Python的requests+BeautifulSoup +Charles,且需要通過(guò)不斷變化的pass_ticket、key和uin來(lái)進(jìn)行反爬蟲(chóng)機(jī)制,獲得文章閱讀量和點(diǎn)贊量的實(shí)時(shí)動(dòng)態(tài)數(shù)據(jù)。
特征工程是指將原始數(shù)據(jù)轉(zhuǎn)換成更可能表現(xiàn)預(yù)測(cè)模型的潛在問(wèn)題的特征的過(guò)程。本研究所使用四個(gè)維度,即文章的標(biāo)題、發(fā)布時(shí)間、內(nèi)容和閱讀量。文章閱讀量作為本研究預(yù)測(cè)模型的目標(biāo)變量,而文章標(biāo)題、文章發(fā)布時(shí)間、文章內(nèi)容可通過(guò)多種方式提取特征,轉(zhuǎn)換出更多自變量。在這其中,用到R軟件的jiebaR軟件包中混合模型(隱式馬爾科夫模型與最大概率法的結(jié)合)進(jìn)行分詞處理。
圖1:隨機(jī)森林的實(shí)際閱讀量與預(yù)測(cè)閱讀量對(duì)比
本文預(yù)測(cè)模型的建立采用隨機(jī)森林回歸和XGBoost回歸。隨機(jī)森林回歸是一種集成式的監(jiān)督學(xué)習(xí)方法,以此驗(yàn)證通過(guò)提取文章特征預(yù)測(cè)閱讀量的可行性。XGBoost是GBDT的一種高效實(shí)現(xiàn),算法中采用了多種策略防止過(guò)擬合,并支持交叉驗(yàn)和并行化處理,且能夠高效處理稀疏矩陣。
本文爬取微信公眾號(hào)“情感說(shuō)說(shuō)”2018年11月14日至2019年5月11日的數(shù)據(jù),剔除流量一周增長(zhǎng)率大于1%(文章發(fā)布兩周時(shí)的閱讀量÷文章發(fā)布一周時(shí)的閱讀量)、閱讀量在三倍標(biāo)準(zhǔn)差范圍外的文章,經(jīng)過(guò)數(shù)據(jù)清洗后選用226篇文章的標(biāo)題、發(fā)布時(shí)間、內(nèi)容和閱讀量這4個(gè)變量作為研究數(shù)據(jù)。
2.2.1 文章標(biāo)題的特征提取
文章標(biāo)題的特征很可能包涵著對(duì)文章流量預(yù)測(cè)的重要信息。本文提取標(biāo)題的漢字個(gè)數(shù)、符號(hào)個(gè)數(shù)、詞頻、情感。通過(guò)可視化、擬合曲線及預(yù)測(cè)區(qū)間的形式得知文章標(biāo)題字?jǐn)?shù)越少,文章閱讀量越高。然后通過(guò)混合模型對(duì)文章標(biāo)題進(jìn)行分詞處理,只保留實(shí)詞,最終獲得114個(gè)詞來(lái)建立114個(gè)特征作為分類變量,原始數(shù)據(jù)因此成為多維度稀疏數(shù)據(jù)。最后,將標(biāo)題情感人工分為積極、消極和中性三類,并分別賦值1,-1和0。
2.2.2 文章正文的特征提取
圖2:XGBoost的實(shí)際閱讀量與預(yù)測(cè)閱讀量對(duì)比
當(dāng)讀者通過(guò)文章的各種特征判斷其為一篇“好文章”時(shí),可能會(huì)對(duì)其進(jìn)行分享,利于文章傳播,提高閱讀量。本文提取文章的字符數(shù)、發(fā)布時(shí)間。通過(guò)提取統(tǒng)計(jì)文章中所有詞語(yǔ)的詞頻,可以自動(dòng)查找主題。運(yùn)用主題數(shù)K=3的LDA主題概率模型,將文本視作詞頻向量,從單詞的概率分析得知主題。而文本又是多個(gè)主題構(gòu)成的一個(gè)概率分布,從而得知正文的主題特征。同時(shí),把文章發(fā)布時(shí)對(duì)應(yīng)的星期幾作為分類變量,且若為頭條取1,為次條取0進(jìn)行建模處理。
表1:隨機(jī)森林回歸的變量重要度
表2:XGBoost回歸的變量重要度
因?yàn)楸疚闹簧婕拔恼麻喿x量的其中幾個(gè)影響因素,所以預(yù)測(cè)建模過(guò)程需要泛化性能強(qiáng)的集成模型算法。
2.3.1 隨機(jī)森林回歸
本文通過(guò)R軟件的randomForest軟件包建立隨機(jī)森林,首先劃分訓(xùn)練集和測(cè)試集,并通過(guò)randomForest函數(shù)建立隨機(jī)森林。模型殘差平方的均值為30400700,方差解釋度為-2.08.閱讀量預(yù)測(cè)值和實(shí)際值對(duì)比結(jié)果如圖1所示,模型的預(yù)測(cè)整體上存在偏大的可能,但成功預(yù)測(cè)了兩篇文章的閱讀量可以達(dá)到1萬(wàn)次以上,說(shuō)明構(gòu)造流量預(yù)測(cè)模型評(píng)估文章能否成為“流量爆文”是可能的。然后獲取隨機(jī)森林的變量重要性的度量列表,重要性最高的10個(gè)特征如表1所示。
2.3.2 XGBoost回歸
為改進(jìn)上述模型的不足,本文采用通過(guò)R軟件的xgboost包對(duì)上述方法相同的訓(xùn)練集構(gòu)建模型,得到結(jié)果如圖2所示。可見(jiàn)各點(diǎn)相對(duì)均勻地分布在對(duì)角線的兩側(cè),模型預(yù)測(cè)效果遠(yuǎn)遠(yuǎn)好于使用隨機(jī)森林回歸的第一次預(yù)測(cè)。隨后,通過(guò)xgb.importance函數(shù)度量各個(gè)特征的重要性,得到重要性最高的10個(gè)特征如表2所示。對(duì)比表1可知,兩個(gè)模型在變量上的選擇有很大的相似性。
2.3.3 模型優(yōu)化
文章的閱讀量一旦超過(guò)10000,也就是所謂的“流量爆文”,其流量的影響因素就變得十分不可控。因此,剔除閱讀量在1萬(wàn)以上的文章,以閱讀量較低的樣本重新建立預(yù)測(cè)模型。在隨機(jī)森林回歸中,模型的殘差平方的均值為2303036,有了明顯的降低,而且方差解釋度超過(guò)了10,說(shuō)明該隨機(jī)森林對(duì)公眾號(hào)文章閱讀量具備一定的解釋力。而兩個(gè)樣本建立的流量預(yù)測(cè)模型中重要變量有所區(qū)別。
用XGBoost回歸作相同的處理,得到的模型的殘差平方均值為3066360,比前面的幾個(gè)模型的預(yù)測(cè)效果都要好。統(tǒng)一樣本下,不同模型重要特征的差異小于不同樣本下建模的重要特征的差異。說(shuō)明在建立預(yù)測(cè)模型時(shí),應(yīng)當(dāng)將文章分為“爆文”和普通文章,使模型回歸具備更強(qiáng)的預(yù)測(cè)能力。
(1)提取文章特征并預(yù)測(cè)流量是可行的,XGBoost的預(yù)測(cè)能力高于隨機(jī)森林。
(2)在變量重要性的度量中,是否為“爆文”在特征的選取上存在較大差異。在建立預(yù)測(cè)模型時(shí),應(yīng)將文章分為“爆文”和普通文章兩類。
(3)影響文章閱讀量的因素包括標(biāo)題的漢字個(gè)數(shù)、標(biāo)題的情感、正文的長(zhǎng)度、正文所涉及的主題、發(fā)布的時(shí)間點(diǎn)和星期、是否頭條以及標(biāo)題中是否會(huì)出現(xiàn)某些詞。這些提取到的特征對(duì)該公眾號(hào)的創(chuàng)作指導(dǎo)顯然是具有意義的。