今日頭條上高閱讀量文章的標題數據分析
前段時間,有運營的童鞋提出了一個問題,為什麼內容相似的文章在今日頭條上的閱讀量會有很大差別,高的有50000閱讀量,低的連500都沒有。頭一次接到這樣的需求,一時覺得有點棘手。常識上我們知道,在標題黨橫行的時代,標題對閱讀量有非常大的影響,但是如何用數據來說明標題是怎麼影響閱讀量呢?這個問題不是給一些詞雲,做一些類別分組統計就能解決的。
以下是我針對這個問題的分析過程,由於水平有限,分析思路和過程存在一些不足,歡迎指正。
1. 問題分析
根據google在2009年發布的論文《Personalized News RecommendationnBased on Click Behavior》,有兩個方面的因素決定用戶的瀏覽行為,一是文章是否是有影響力的大事件(如奧運會、世界盃等),二是文章與用戶的興趣的相關度。打開今日頭條看一下,我們可以看到除了第一條是和諧的大新聞,下面都是基於興趣的內容推薦。用戶看到的是一系列文章的概覽信息,包括標題、配圖、文章來源、發布時間和評論數量。標題和配圖代表了文章的主題,是決定用戶是否點擊閱讀的關鍵因素。
如果用戶對某篇文章感興趣,那麼他就會有一個click-through行為。在文章詳情頁面,用戶可以進行評論、收藏、分享和關注作者等操作。
作為一個稍微懂一點點推薦引擎的人,我猜測今日頭條的內容推送採取的是一種類似灰度發布的策略。首先圈定對內容感興趣的候選人群,先小範圍推送。如果某篇文章的反饋數據良好,則擴大推送範圍。一旦發現反饋數據不理想,則不再擴大推薦範圍。
用戶的click-through、停留時長、評論、收藏等反映文章質量的用戶行為數據都會反饋到推薦引擎,進而影響該文章的推送範圍。
運營的需求是一個分類問題。根據上面的分析,我們可以大致確定變數的範圍,包括標題、圖片、評論數量。由於解析圖片有點麻煩,所以先構建標題特徵,看看分類效果怎麼樣。
2. 模型構建
選擇娛樂八卦類的30個頭條號,下載這些頭條號的所有文章標題及其閱讀量數據,共39836篇文章,這些文章的閱讀量分布如下圖所示。可以看到,50%的文章閱讀量小於800,20%的文章閱讀量大於10000。
註:頭條數據下載方法,從http://www.toutiao.com/api/pc/media_hot/?media_id={mid}下載指定頭條號的數據
2.1 特徵構建
Y:將所有文章按照閱讀量分成3個區間:(0,800],(800,10000],(10000,+∞]。為了增加特徵的區分度,將(800,10000]這個區間的文章去掉。(0,800]=0,(10000,+∞]=1。
X_情感特徵:使用騰訊文智判斷標題是正面、負面還是中性情感,(0,0.3]=負面,(0.3,0.7]=中性,(0.7,1]=正面。
X_詞性特徵:使用jieba獲取各個詞性的詞語數量(去除的、了等助詞),沒有過濾停用詞,因為有些停用詞(如副詞)是標題黨們的常用詞。這裡我們從搜狗詞庫解析出明星和品牌詞作為附加詞庫。
X_語義依存特徵:分析句子各個語言單位之間的語義關聯,並將語義關聯以依存結構呈現。使用哈工大LTP雲API解析出特徵。
X_內容類別:今日頭條自動分類的結果,讀取自json。
2.2 特徵篩選
考慮到結果的可解釋性,沒有使用PCA、SVD降維,只使用卡方檢驗篩選特徵,保留15%的特徵。
2.3 分類演算法及其參數
嘗試了xgboost、CART決策樹、隨機森林、logistic回歸四種分類演算法,效果最好的兩個是xgboost和隨機森林,這兩者的AUC差不多。如果特徵再多一些的話,可能xgboost要比隨機森林好不少了。
最終選擇隨機森林構建分類模型,參數為(n_estimators=25,nmax_depth=13, min_samples_leaf=5, class_weight=balanced, n_jobs=-2)
Cross validation的5折驗證結果:cross validation scores[auc]: 0.708 [ 0.71477612 0.70521619 0.70847822 0.70675659 0.70480425]
3. 結果解讀
從AUC來看,分類效果尚可,過及格線了。看來標題很大程度上會影響閱讀量。下面就來看看各個特徵的重要性排序。
3.1 變數重要性分析
變數前綴說明:w=word,來自jieba詞性和關鍵詞匹配;d=dependency,表示語義依存特徵;tag=分類,表示文章類別。
排在前三的變數是名詞(詞性)、時尚分類(文章類別)和明星(分詞後在明星詞庫中匹配關鍵詞,有=1,無=0)。可以看出,標題是否包含名詞對閱讀量影響最大,這是因為用戶的興趣大多也是基於名詞構建的。文章分類也會影響閱讀量,作為一個資訊產品,時效性強的文章分類可能更容易獲得更高的閱讀量(如時事、時尚、娛樂類內容)。
第二類比較重要的變數是w_感嘆號、w_副詞、w_代詞、d_情態標記。這一類基本都是標題黨常用的句式和詞語。副詞用來修飾、限制動詞或形容詞,表示時間、頻率、範圍、語氣、程度等。情態標記(參考北京大學的《基於魯川體系的語義依存關係標註規範2014-3-3》)表達言者由於主觀的認識而引發的對事件的情緒和態度以及對事件的評估。有表示必然的:果然,果真,橫豎,究竟,勢必,早晚,終歸,終究,終於;有表示反常的:反,偏,倒,豈,竟,不料,倒是,反倒,反而,竟然,居然,難道;表示能夠、理應的:會,能,可以,能夠,得,應,該,得,必,按理,必得,必須,n理應,務必,務須,應當,應該,不能不。根據上面的詞語寫個標題「唐藝昕改名是為了和張若昀更配,她居然用過這個名字...」,有名詞,娛樂類內容,有代詞、有情態標記,十足的標題黨路子。
再來看看特徵的覆蓋率以及odds(幾率、比值、比數,是指某事件發生的可能性(概率)與不發生的可能性(概率)之比。用p表示事件發生的概率,則:oddsn= p/(1-p))。從下圖數據我們可以了解到:
- w_英文詞、tag_其他、tag_旅遊、tag_視頻、tag_美食、tag_設計這些特徵的odds小於1。要少用英文詞裝B,文章要有明確的主題,時效性弱的文章類別閱讀效果不佳(也許大家看今日頭條都是為了湊熱鬧、追熱點)。
- 副詞和w_名詞的odds最高。用戶偏愛一眼就能看出主題的標題,標題黨可以帶來更高的閱讀量。
- 轉折關係(例如但是,不過,卻,可,可是,然而,反而)和頻率標記(還、再、又、也、常常、往往、一再、再三、屢次、來回、反覆)用的比較少,但是這些詞對提高閱讀量有益。
4. 今日頭條平台上的文章寫作建議
根據以上的今日頭條推薦演算法分析和標題建模分析的結果,我對各位內容創作和運營的朋友有以下一些建議:
- 文章必須有明確的主題和關鍵字,關鍵字最好是名詞。
- 不同類別的文章的受眾數量相差很大,時效性強的類別(如時尚、時事、科技)更容易獲得高瀏覽量。
- 高質量的文章必須搭配高質量標題,標題的引流作用非常明顯,對閱讀量起重要作用。
- 標題黨的是群眾喜聞樂見的,使用副詞、轉折句、頻率標記的效果尤佳。
- 最後,結合推薦引擎原理,建議加上一些運營手段,可以發起一些用戶深度閱讀和評論你的文章,讓推薦引擎從數據看到你的文章有優秀的數據評價。
推薦閱讀:
※2016年里,你覺得互聯網行業有哪些讓你印象深刻的產品事件或運營事件、動作等發生?
※阿里運營群面沒有通過,有哪些方法提高?
※面對知識盲區,運營該如何快速的工作學習?