技術帖:每天被今日頭條推送文章 背後的演算法技術是什麼?
1月11日,北京今日頭條總部,一場問診演算法、建言演算法的「讓演算法公開透明」分享會正在進行,雷鋒網觀察到,包括BAT等在內的諸多科技公司演算法工程師、產品經理等100多人參與現場討論。資深演算法架構師、中國科學技術大學曹歡歡博士於現場介紹了今日頭條的推薦演算法原理。
曹歡歡表示,今日頭條資訊推薦系統本質上要解決用戶、環境和資訊的匹配,要達到這一效果,其演算法推薦系統輸入三個維度變數:
一是內容特徵,圖文、視頻、UGC小視頻、問答、微頭條等,每種內容有很多自己的特徵,需要分別提取;
二是用戶特徵,包括興趣標籤、職業、年齡、性別、機型等,以及很多模型刻畫出的用戶隱藏興趣;
三是環境特徵,不同的時間不同的地點不同的場景(工作/通勤/旅遊等),用戶對信息的偏好有所不同。
結合這三方面維度,今日頭條的推薦模型做預估,這個內容在這個場景下對這個用戶是否合適。
演算法推薦要達到不錯的效果,需要解決好這四類特徵:
相關性特徵,解決內容和用戶的匹配;
環境特徵,解決基礎特徵和匹配;
熱度特徵,在冷啟動上很有效;
協同特徵,考慮相似用戶的興趣,在一定程度上解決所謂演算法越推越窄的問題。
但是,曹歡歡表示,點擊率、閱讀時間、點贊、評論、轉發,這些都是可以量化的,但一個大體量的推薦系統,服務用戶眾多,不能完全由指標評估,引入數據以外的要素也很重要。有些演算法可以完成,有些演算法還做不到、做的不好,這就需要內容干預。
總之,沒有一套通用的模型架構適用所有的推薦場景,頭條仍需要一個非常靈活的演算法實驗平台,這個演算法不行,馬上試另一個演算法,實際上是各種演算法的一個複雜組合。據雷鋒網了解,西瓜視頻、火山小視頻、抖音短視頻、悟空問答,都在用頭條這一套推薦系統,但具體到每套系統,架構都不一樣,需要不斷去試。
正在基於上文所述反覆訓練推薦的需要,今日頭條有一個世界範圍內比較大的在線訓練推薦模型,包括幾百億特徵和幾十億的向量特徵。
但是,完全依賴模型推薦成本過高,因此,今日頭條也有簡化策略的召回模型——基於召回策略,把一個海量、無法把握的內容庫,變成一個相對小、可以把握的內容庫,再進入推薦模型。這樣有效平衡了計算成本和效果。
曹歡歡表示,在今日頭條工作前三年,收到用戶反饋最大的一個問題就是——「怎麼老給我推重複的?」
曹歡歡解釋稱,每個人對重複的定義不一樣。有人昨天看到一篇講巴薩的文章,今天又看到兩篇,可能就覺得煩了。但對於一個重度球迷來講,比如巴薩球迷,可能恨不得所有報道都看一遍。要解決這個問題,就需要精確抽取文本特徵,比如哪些文章說的是一個事兒,哪些文章基本一樣等。而文本特徵對於推薦的獨特價值就在於,沒有文本特徵,推薦引擎無法工作,同時,文本特徵顆粒度越細,冷啟動能力越強。
而語義標籤的效果是檢查一個公司NLP(自然語言處理)的試金石。
頻道、興趣表達等重要產品功能,需要一個有明確定義、容易被理解的文本標籤體系。在隱式語義特徵已經可以很好地幫助推薦、做好語義標籤需要投入遠大於隱式語義特徵的情況下,仍需要做好語義標籤。
除了用戶的自然標籤,推薦還需要考慮很多複雜的情況:
1)過濾雜訊:過濾停留時間短的點擊,打擊標題黨;
2)懲罰熱點:用戶在熱門文章上的動作做降權處理;
3)時間衰減:隨著用戶動作的增加,老的特徵權重會隨時間衰減,新動作貢獻的特徵權重會更大;
4)懲罰展現:如果一篇推薦給用戶的文章沒有被點擊,相關特徵(類別、關鍵詞、來源)權重會被懲罰;
5)考慮全局背景:考慮給定特徵的人均點擊比例。
現實中,影響推薦效果的因素有很多,需要完備的評估體系,不能只看單一指標,如點擊率、留存、收入或是互動,需要看很多指標綜合評估:兼顧短期指標和長期指標,兼顧用戶指標和生態指標,注意協同效應的影響,有時候需要做徹底的統計隔離等。
那麼,所有這些指標可以合成唯一的一個公式嗎?「我們苦苦探索了幾年,目前還沒有做到。」曹歡歡表示。
並且,曹歡歡稱,目前很多公司演算法做得不好,不是人的問題,而是實驗平台的問題。例如A/B Test每次數據都是錯的,總上不了線,這個事最後就廢了。而一個強大的實驗平台,可以實現每天數百個實驗同時在線,高效管理和分配實驗流量,降低實驗分析成本,提高演算法迭代效率。
據雷鋒網了解,頭條現在擁有健全的內容安全機制,除了人工審核團隊,還有技術識別,包括風險內容識別技術,構建千萬張圖片樣本集的鑒黃模型,超過百萬樣本庫的低俗模型和謾罵模型等,以及泛低質內容識別技術,曹歡歡強調。
TAG:雷鋒網 |