數(shù)據(jù)分析實戰(zhàn)|人人都是產(chǎn)品經(jīng)理網(wǎng)站(下篇):作者視角
本篇是《數(shù)據(jù)分析實戰(zhàn)|人人都是產(chǎn)品經(jīng)理網(wǎng)站》系列的最后一個問題,將從作者關(guān)心的角度出發(fā),通過詳細(xì)的數(shù)據(jù)比對,分析一篇文章發(fā)表后是否能夠變成爆款。
一、最后一個問題
本篇將解決《數(shù)據(jù)分析實戰(zhàn)|人人都是產(chǎn)品經(jīng)理網(wǎng)站》系列的最后一個問題,將從作者關(guān)心的角度來分析,一篇文章發(fā)表后是否能夠變成爆款。
這是由之前的讀者變成作者后獲得的一些新體會。以前是讀者的時候只有看客心態(tài),網(wǎng)絡(luò)上的文章繁多,隨便看看就好。只有那些特別好的可能會轉(zhuǎn)發(fā),可能會收藏,但看完后網(wǎng)頁一關(guān)就還是與我無關(guān)了。
現(xiàn)在作為一名業(yè)余的內(nèi)容創(chuàng)作者,每篇文章從構(gòu)思準(zhǔn)備到下筆完成可能要花半個月以上時間,期間會想象準(zhǔn)備什么樣的內(nèi)容能夠得到用戶喜歡,反復(fù)的思考和推敲總結(jié),醞釀寫下來的文字否能將思想得到準(zhǔn)確傳遞。
最后當(dāng)稿子提交審核的時候,將會有更多的牽掛。每天都會上客戶端看一看,今天新增了多少閱讀和收藏,是不是有讀者給我留言了,有沒有上熱門文章等等。
雖然會有一些困擾,但這種樂趣是和平時做產(chǎn)品、發(fā)布產(chǎn)品的心情是一樣的。如何讓自己的心血能夠得到多一點點的回報將是每個作者的心愿,而其中最直接和最具體的表現(xiàn)則是文章的閱讀量。
本篇為了能夠更快的得出結(jié)論,這里再把本篇的問題和目標(biāo)確定一下:
作為一名作者,投稿的文章是否會在人人都是產(chǎn)品經(jīng)理網(wǎng)站(以下簡稱人人網(wǎng))上成為爆款?
二、觀察和分析
1. 從閱讀量到爆款
其實作者關(guān)心的問題最初是有如下幾個選擇的:
- 如何提高文章的閱讀量?
- 投稿文章的閱讀量是多少?
- 文章是否會成為爆款?
第一種,討論提高文章的閱讀量。你需要將一篇文章用兩種不同的寫法、在同一個平臺、同一個時間分別投稿,也就是AB Test才能得到的結(jié)果。做產(chǎn)品可以這樣測試,但寫文章度不現(xiàn)實。而且討論起來將會是個相當(dāng)復(fù)雜的過程,甚至可以開一個輔導(dǎo)班。
第二種,討論文章的閱讀是多少是一個回歸問題,但對比于第三種來說意義略小,比如預(yù)測了一篇文章的閱讀量為10000,請問它在人人網(wǎng)上是多還是少?看過上篇的同學(xué)可以回答,10000閱讀量的文章在人人網(wǎng)上連文章的均值都不到。
第三種,有了以上簡單分析,根據(jù)前篇的數(shù)據(jù)分析,將閱讀量最多的10%文章定義為爆款即可。這也建立了從閱讀量到爆款之間的聯(lián)系,即設(shè)定閱讀量在足夠多的情況下會成為爆款。
2. 影響閱讀量的主要因素
這里根據(jù)我多年的互聯(lián)網(wǎng)經(jīng)驗,在各種內(nèi)容平臺上,有以下幾個因素會直接影響到一篇文章(內(nèi)容)的閱讀量,當(dāng)前排名不分先后:
- 文章出現(xiàn)的頻率(位置)。出現(xiàn)的位置越多則頻率越高,舉個極端點的例子:如果大家進(jìn)入到人人網(wǎng)站的時候,有個彈窗要求大家必須訪問某篇文章后,才能繼續(xù)瀏覽網(wǎng)站內(nèi)容,請問這篇文章的閱讀量是否會爆增?雖然現(xiàn)實情況下一般不會發(fā)生,但文章出現(xiàn)頻率是可以受平臺控制的。無論是運營的置頂、新文章的首頁推薦、搜索結(jié)果的返回順序等等,都會直接影響到文章的閱讀量。
- 文章的質(zhì)量。優(yōu)質(zhì)的文章本身并不能直接吸用戶來提高閱讀量,但質(zhì)量將直接影響文章的二次傳播。比如微信中的爆款文章并不是因為大家都關(guān)注了發(fā)布者的公眾號,而是因為爆款文章它的內(nèi)容受到讀者的認(rèn)可,被傳播得到處都是,讓吃瓜群眾不得不看。
- 文章對用戶的匹配程度。僅從點擊量來說,文章的介紹信息將直接影響用戶是否點擊查看,介紹信息包括但不限于標(biāo)題,圖片,描述,文章來源等等。更進(jìn)一步的說,隨著用戶數(shù)量的增加,每種類型的文章都有固定的觀看比例,比如求聘文章的標(biāo)題10個人中就有8個人會點擊查看,而數(shù)據(jù)分析的文章可能10個人就只有4個,這就是匹配度的不同導(dǎo)致的點擊量不同。
- 文章的發(fā)布時長?;ヂ?lián)網(wǎng)的長尾訪問特性,內(nèi)容發(fā)布得越早則次數(shù)越多,畢竟這是一個累加不可逆的過程。
3. 在人人網(wǎng)上的實際情況
剛剛討論的是普遍情況,這里我們需要結(jié)合目標(biāo)網(wǎng)站自身的實際情況做進(jìn)一步分析。在人人上投稿幾次之后,綜合長時間在人人網(wǎng)的學(xué)習(xí)和觀察,大約一篇文章的閱讀量走勢會如下圖所示(其中色塊的劃分代表各因素在不同階段的影響力大?。?/p>
4. 心智模型的建立
現(xiàn)實世界非常復(fù)雜,影響一篇的文章閱讀量的因素,我們還可以有很多的猜想。但我們不是全知全能的神,對任何事物的認(rèn)知總是有限的。
心智模型則是將這些認(rèn)知串聯(lián)起來,以便我們在做判斷的時候可以的時候得出結(jié)論。越是經(jīng)驗、學(xué)識豐富,就會離真相越近,相對的,則會顯得愚昧無知。而鬼這樣一個憑空出現(xiàn)的事物,則是幾千年以來,人類對未知事物感到恐懼所產(chǎn)生的一個集合。
本章節(jié)花大篇幅描寫的就是這樣一個心智模型的構(gòu)建過程。
回到本文梳理之前的經(jīng)驗與思路,可以建立一篇文章到是否能夠爆款的脈絡(luò):
- 爆款≈閱讀量>90%文章爆款≈閱讀量>90%文章
- 閱讀量≈匹配度+頻率+內(nèi)容質(zhì)量+發(fā)布時長+……
這是我目前能夠想到的有關(guān)因素。也許還不是很精準(zhǔn),甚至有可能錯誤,但數(shù)據(jù)分析就是一個不斷的假設(shè)、驗證、得出結(jié)論,再修正、再重復(fù)的過程。
這樣,我們的心智模型和對這個世界的認(rèn)知才會越來越完善,得出結(jié)論和應(yīng)對新事物時會更得心應(yīng)手。
但如果大家要是覺得還有什么關(guān)鍵影響因素的也可以在評論中留下自己的看法。
三、機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)是一種數(shù)據(jù)分析技術(shù),讓計算機(jī)執(zhí)行人和動物與生俱來的活動:從經(jīng)驗中學(xué)習(xí)。
機(jī)器學(xué)習(xí)算法使用計算方法直接從數(shù)據(jù)中“學(xué)習(xí)”信息,而不依賴于預(yù)定方程模型。當(dāng)可用于學(xué)習(xí)的樣本數(shù)量增加時,這些算法可自適應(yīng)提高性能。
當(dāng)你遇到涉及大量數(shù)據(jù)和許多變量的復(fù)雜任務(wù)或問題,但沒有現(xiàn)成的處理公式或方程式時,可以考慮使用機(jī)器學(xué)習(xí)。
回到本文的討論,文章是否會成為爆款,這是一個比較典型的,分類監(jiān)督學(xué)習(xí),而最近正好也在研究XGBoost算法,可以拿來練手。所以本章節(jié)將會按照應(yīng)用機(jī)器學(xué)習(xí)的開發(fā)步驟展開:
第1步,數(shù)據(jù)收集。獲取對建立算法和數(shù)據(jù)模型有關(guān)的數(shù)據(jù);
第2步,特征選擇。一般原始數(shù)據(jù)都會有大量的無關(guān)項,而篩選的標(biāo)準(zhǔn)則是有助于構(gòu)建之前建立的心智模型;
第3步,特征工程。指的是將原始數(shù)據(jù)轉(zhuǎn)換為特征矢量,比如字符串轉(zhuǎn)成數(shù)值、殘缺數(shù)據(jù)的補全等;
第4步,訓(xùn)練算法。選擇一部分?jǐn)?shù)據(jù),使用合適的機(jī)器學(xué)習(xí)算法推導(dǎo)出特征之間的權(quán)重;
第5步,測試算法。之前沒有用于訓(xùn)練的數(shù)據(jù)當(dāng)做測試數(shù)據(jù),代入到推導(dǎo)出來的算法中,計算也推導(dǎo)結(jié)果,由推導(dǎo)結(jié)果和實際結(jié)果進(jìn)行對比,可以得到我們關(guān)系式預(yù)測的正確率。當(dāng)正確率滿足要求可以進(jìn)入到第6步,如果不滿足要求則需要進(jìn)入到第7步;
第6步,修正算法。一般初次結(jié)果的正確率都不會太好,可以經(jīng)過各種優(yōu)化,包括我們對前面心智模型的都可能會要做修改,修正后需要重新從第1步開始;
第7步,使用算法。如果驗證的結(jié)果可以滿足要求,則可以對新發(fā)表的文章進(jìn)行預(yù)測。
1. 數(shù)據(jù)收集
雖然我們有4萬多條原始數(shù)據(jù),但不是所有的數(shù)據(jù)都有效的。而且為了能夠促進(jìn)我們得到最后的算法模型,也要做一些適當(dāng)?shù)娜∩?。這里我做了兩個處理:
- 文章需要發(fā)表30天以上;
- 僅選擇閱讀量最高的10%和最低的10%;
文章發(fā)表30天以上,是為了保證數(shù)據(jù)選擇的公平性。我們的目標(biāo)是將人人網(wǎng)上所有文章的閱讀量前10%設(shè)定為爆款,那么對發(fā)表時間較短的文章肯定是不公平的,而且新發(fā)表的文章閱讀量會在短時間之內(nèi)急劇增長。這一點我們之前也討論過了,具體的變化就如下圖所示:
不難發(fā)現(xiàn)文章的平均閱讀量大約在發(fā)布20天之后的才開始趨于平穩(wěn),隨后還會有小幅度的上升。我們這里錄入的數(shù)據(jù)都是所有的時間段的文章,所以為了公平和保險起見,只選擇文章發(fā)表30天以上的文章。
而下圖標(biāo)識出了按以千為單位的閱讀量分布,為了展示方便已將大于3萬閱讀量的做了歸并處理。可以發(fā)現(xiàn)從最低的幾千閱讀量到最高的幾萬閱讀量之間并沒有一條比較明顯界限。特別是從10千
開始到30千
這一段。
而我們將要處理的問題則是一個分類問題,需要分類的結(jié)果有比較明顯的特征,或者說要區(qū)分的對象差別越大越好。比如做圖像識別時,識別照片是貓是狗的難度,就要比區(qū)分是飛機(jī)是狗的難度大很多。所以我們這里為了減輕訓(xùn)練難度,只取閱讀最高的10%和最低的10%,即保留了文章數(shù)量,也保證了兩者之間有足夠的區(qū)分度。
2. 特征選擇
再把前文中的原始數(shù)據(jù)屬性搬出來,用于與前文分析的影響點擊的認(rèn)知模型關(guān)聯(lián)起來,如下表所示:
需要注意原始數(shù)據(jù)中是有圖片鏈接的,出于兩個理由沒有入選分析:
- 人人都是產(chǎn)品經(jīng)理上的讀者和運營對比于其它網(wǎng)站,在圖片選擇上會比較理性與克制,并沒有采用擦邊球的圖片來吸引讀者,而我也只會根據(jù)標(biāo)題和內(nèi)容來進(jìn)行選擇閱讀;
- 圖片內(nèi)容的識別成本還是比較高的,自己分析則需要前期做大量的圖片訓(xùn)練,第三方服務(wù)則會有相當(dāng)多的限制且貴;
所以原始數(shù)據(jù)中,可以使用的有以下幾個屬性:
- 發(fā)布日期(date)
- 文章類型(category)
- 作者身份(authorRole)
- 標(biāo)題(title)
- 閱讀量(view)
3. 特征工程
有這么一句話在業(yè)界廣泛流傳:數(shù)據(jù)和特征決定了機(jī)器學(xué)習(xí)的上限,而模型和算法只是逼近這個上限而已。
那特征工程到底是什么呢?顧名思義,其本質(zhì)是一項工程活動,目的是最大限度地從原始數(shù)據(jù)中提取特征以供算法和模型使用。
即使我們上面經(jīng)過篩選,我們發(fā)現(xiàn)無論是日期,類型,身份,還是標(biāo)題都是字符串?dāng)?shù)據(jù),而閱讀量量本身還需要轉(zhuǎn)化成是否是爆款。所以本文做了如下處理:
Y值(預(yù)測結(jié)果):
- 爆款文章的閱讀量設(shè)置為1,非爆款設(shè)置為0。
X值(預(yù)測變量):
- 發(fā)布日期:轉(zhuǎn)為文章發(fā)布的年份數(shù)量,比如2018年發(fā)表記為0年,2014年發(fā)表記為4年;
- 文章類型、作者身份都是幾類固定的字符串,可以將各種分類轉(zhuǎn)化為相應(yīng)的特征屬性來使用;
- 標(biāo)題的處理則相對復(fù)雜得多,這里借助第三方的開放接口做了如下分析處理:
- 情感分析,使用騰訊文智判斷標(biāo)題是正面、負(fù)面還是中性情感,(0,0.3]=負(fù)面,(0.3,0.7]=中性,(0.7,1]=正面。
- 詞性特征,使用騰訊AI開放平臺的基礎(chǔ)文本分析的詞性接口,現(xiàn)代漢語的詞可以分為兩類14種詞性(詞類),但在網(wǎng)絡(luò)內(nèi)容發(fā)展如此復(fù)雜的今天,相應(yīng)的分類已經(jīng)遠(yuǎn)超過這些,所以特別選擇第三方服務(wù)來解決。
- 語義依存分析。語義依存分析目標(biāo)是跨越句子表層句法結(jié)構(gòu)的束縛,直接獲取深層的語義信息。語義依存分析不受句法結(jié)構(gòu)的影響,將具有直接語義關(guān)聯(lián)的語言單元直接連接依存弧并標(biāo)記上相應(yīng)的語義關(guān)系。本篇使用的是哈工大LTP云API解析出特征。
經(jīng)過幾天的數(shù)據(jù)調(diào)整和解析,終于將所有的特征數(shù)據(jù)化了。接下來則是準(zhǔn)備開始訓(xùn)練啦~
4. 訓(xùn)練算法&測試算法
XGBoost訓(xùn)練算法
XGBoost的全稱是eXtreme Gradient Boosting。作為一個非常有效的機(jī)器學(xué)習(xí)方法,Boosting Tree是數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)中最常用的算法之一。
因為它效果好,對于輸入要求不敏感,自動進(jìn)行特征選擇,模型可解釋性較好。往往是從統(tǒng)計學(xué)家到數(shù)據(jù)科學(xué)家必備的工具之一,它同時也是kaggle比賽冠軍選手最常用的工具。
在我們前面做了大量的準(zhǔn)備工作后,真正調(diào)用算法來訓(xùn)練的代碼其實是很少的。作為產(chǎn)品經(jīng)理,我覺得大家還是應(yīng)該都懂一些技術(shù)或者會一門編程語言,很多問題在網(wǎng)上搜索一下相關(guān)的教程都可以自己解決,而不用在遇到問題的時候等開發(fā)來解決。這里推薦學(xué)習(xí)Python3,上手難度低,適用于任何平臺,編譯速度也足夠快等優(yōu)點。
所以在文章本身這一塊兒就不詳細(xì)展開寫了,如果需要查看本次整個數(shù)據(jù)分析的代碼,點擊查看,部分內(nèi)容已經(jīng)添加注釋。
測試算法
訓(xùn)練好的模型在使用之前需要測試,來決定接下來的步驟是修正算法還是使用算法。根據(jù)配置xgboost參數(shù),對一篇文章進(jìn)行分析時會返回兩個概率,爆款的概率P1,不會成為爆款的概率P2。
所以在驗證的時候分別做了兩種驗證:
第一種, 當(dāng)P1(爆款)& P2(非爆款)的概率時,預(yù)測這篇文章為爆款。但這里會有個問題是當(dāng)P(會火)=0.51,P(不火)=0.49時,是一個很模糊的結(jié)果;
第二種, 當(dāng)P1(爆款) & 0.8時,預(yù)測這篇文章為爆款。
以上兩種同樣對1771條測試數(shù)據(jù)進(jìn)行測試時,分別有97.91%和94.64%的正確率,對于我來說,這個結(jié)果已經(jīng)足夠滿足本文的分析目的。所以就不再進(jìn)一步的優(yōu)化了。
本文如此之高的預(yù)測正確率也是經(jīng)過多次的模型修正和數(shù)據(jù)修整之后所得,記得第一次訓(xùn)練的結(jié)果正確率為5%,第二次修正后結(jié)果為1%。這個過程也不算是本文的重點就不再贅述。
5. 使用算法
如果是繼續(xù)使用算法,我們可以拿新寫的文章標(biāo)題來做預(yù)測。而如果是寫文章做分析,我們則可以分析相應(yīng)的特征重要性,給出的投稿建議。
返回的數(shù)據(jù)模型中,有128個有效特征,不好做可視化展示,所以當(dāng)前分析只截取前20的重要特征,如下圖所示:
排名前20中,大量的特征都是跟標(biāo)題直接相關(guān)的詞性特征和語義依存特征。
詞性特征好好查看,我們根據(jù)之前的的分類結(jié)果,把爆款文章的標(biāo)題按詞頻統(tǒng)計,這樣在未來取標(biāo)題的時候可以做個參考,適當(dāng)?shù)奶砑右恍c綴,比如:需求、報告、總結(jié)、管理等。
本次分析結(jié)果中的語義依存特征相當(dāng)?shù)臉銓?,排名靠前的都是用來豐富標(biāo)題內(nèi)容,增加標(biāo)題閱讀性的特征。
對比于常見的營銷號標(biāo)題黨則是兩個方向,標(biāo)題黨會有更豐富的主觀情感特征,比如:果然,果真,橫豎,究竟,勢必,早晚,終歸,終究,終于;有表示反常的:反,偏,倒,豈,竟,不料,倒是,反倒,反而,竟然,居然,難道等。
不難發(fā)現(xiàn),前二十中,僅有r_平臺運營
和c_業(yè)界動態(tài)
與標(biāo)題沒有直接關(guān)系,那是不是只有標(biāo)題最重要呢?上圖只是為了大家觀看方便做的節(jié)選,從下圖就可以看到各組的特征前三:
從上圖中可以做出如下分析:
- 4年前發(fā)布的文章能夠以微弱的優(yōu)勢跑過5年前發(fā)布的文章,說明也不是發(fā)布的越久越有優(yōu)勢,而是文章有可能隨著時間被埋沒,另一個解釋是4年前是網(wǎng)站流量的頂峰導(dǎo)致;
- 業(yè)界動態(tài)對比其它的文章更容易爆款,這倒也不難理解,畢竟從受眾角度來說是最廣的,而且容易追熱點;
- 平臺運營對比于其它角色的用戶更容易出現(xiàn)爆款,除了一定的“特權(quán)”,更主要的是他們的文章是以轉(zhuǎn)載為主,轉(zhuǎn)載的內(nèi)容是其它平臺上的優(yōu)質(zhì)內(nèi)容,自然更有吸引力。但比較意外的是專欄作家的身份對于文章爆款的加成作用并不如普通用戶;
- 最后則是標(biāo)題的情感平淡最好,典型的負(fù)面語氣則就是疑問、質(zhì)問、消極觀點,還有不文明用語。
四、投稿建議
作為產(chǎn)品經(jīng)理,每個同學(xué)都可以嘗試著寫篇文章投稿,這也算是你的一個個人獨立的小產(chǎn)品了。
- 認(rèn)真考慮文章內(nèi)容類型,從最高的業(yè)界動態(tài)(448)、產(chǎn)品經(jīng)理(233)、產(chǎn)品運營(223),到最低的區(qū)塊鏈(24)、營銷推廣(18)、新零售(6),雖然對比其它因素影響不算大,但組內(nèi)得分的差距更印證了前中篇讀者關(guān)注點的數(shù)據(jù)分析;
- 無論文章的內(nèi)容如何,取一個好的標(biāo)題是相當(dāng)重要的事情??梢钥吹饺绻凰阄恼路诸愂莾?nèi)容的話,當(dāng)前的這些因素就能夠占到一篇文章是否爆款的九成因素以上(94%的預(yù)測正確率);
- 文章標(biāo)題必須有明確的主題和關(guān)鍵字,關(guān)鍵字最好是名詞;其次標(biāo)題的內(nèi)容盡量豐富,能夠體現(xiàn)文章內(nèi)容,提高標(biāo)題的閱讀性;
- 標(biāo)題黨在人人網(wǎng)的優(yōu)勢不明顯;
- 專欄作家的身份對于投稿沒有加成作用,還是靠自己。
雖然本篇最后應(yīng)該沒有給出一個讓人驚喜和意外的答案,但我想怎么通過數(shù)據(jù)分析來尋找一個答案的過程應(yīng)該是說清楚了。
五、全篇總結(jié)
《數(shù)據(jù)分析實戰(zhàn)|人人都是產(chǎn)品經(jīng)理網(wǎng)站》三篇就到止為止了。簡單回顧一下:
- 上篇從網(wǎng)站運營的角度來分析,各種文章對網(wǎng)站的收益,各種作者給網(wǎng)站帶來的價值;
- 中篇討論了以讀者的視角來看人人網(wǎng)上的高價值文章和作者有哪些可以推薦,推薦的算法;
- 下篇則是以投稿人的視角來挖掘如何提升一篇文章的閱讀量。
優(yōu)化
最后這里再補充幾個本篇中沒有處理好的點,避免誤人子弟。希望大家能在工作中更加嚴(yán)謹(jǐn)一些。
- 文章的熱度可以按時期、階段、類型進(jìn)一步分組處理;
- 部分特征的選擇和數(shù)據(jù)處理會比較主觀判斷,僅憑經(jīng)驗和觀察得出,而不是相應(yīng)的計算;
- 標(biāo)題內(nèi)容可以處理得更細(xì)致,包括一些熱門詞匯專有名詞的提??;
- 有些代碼還寫得不夠規(guī)范,而且在寫作過程中也出過多次的Bug和數(shù)據(jù)使用錯誤,需要注意;
- 最后的計算模型返回來實際上有128個特征,可以把一些得分過低的特征去掉后再計算。
相關(guān)閱讀
數(shù)據(jù)分析實戰(zhàn)|人人都是產(chǎn)品經(jīng)理網(wǎng)站(上篇):平臺視角
作者:核桃殼,微信walnutshell911
本文由 @?核桃殼 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自網(wǎng)絡(luò)
這網(wǎng)站的閱讀量應(yīng)該有摻水吧,只是訂閱量和打賞我可以確定是機(jī)器人。。。所
呃,打賞真有錢入帳,雖然很少。而且我也打賞過別人。閱讀量反正我拿幾臺手機(jī)點一下就是一下,只是近期確實有過數(shù)據(jù)混亂的情況存在過。
仔細(xì)觀察粉絲訂閱量,名字頭像一看就是爬蟲啊。。。。
其實這個還好啦,本文主要是在討論數(shù)據(jù)分析的思考過程。畢竟是別人的數(shù)據(jù)。當(dāng)然確實像你說的這個數(shù)據(jù)真實性問題我倒是一開始沒考慮過。
本系列的相關(guān)代碼可以在http://walnut-shell.com/ipython-notebook/ 中找到