一點資訊王元元:追着效率跑的算法,如何把好內容關?

【CSDN現場報道】2016 年 11 月 18 日- 20 日,由 CSDN 重磅打造的年終技術盛會 —— 「2016 中國軟件開發者大會」(Software Developer Conference China 2016,簡稱 SDCC 2016)在北京京都信苑飯店隆重舉行。本屆大會雲集了100多位國內外頂尖專家和技術大牛,共設新趨勢和新實踐2大主題會場,14個技術專題。面向國內外的中高端技術人員,聚焦最前沿技術及一線的實踐經驗,助力企業的技術升級和改造、全面提升技術人員的綜合實力。

ThoughtWorks中國區CTO徐昊、Erlang之父JoeArmstrong、華爲PaaS首席系統工程師俞嶽、一點資訊算法總監王元元等參會並做主題演講。

一點資訊算法總監王元元現場發表演講

大會現場,王元元詳細闡述了算法對個性化內容分發帶來的強大助力及其存在的瓶頸,並以一點資訊爲案例爲在座嘉賓解讀了興趣引擎如何在流量主題不變的情況下,使效率與價值並行。

他表示,個性化分發時代,基於海量數據的機器學習算法讓分發效率顯著提高,但往往算法提供的內容對用戶的價值並沒有相應的提高,一點資訊通過全球首創的「搜索+推薦」興趣引擎沉澱高質量內容,並使用機器+人工的「人機智能」技術引領價值閱讀,從而實現用戶體驗的提升。

以下爲演講的節選:

大家好,今天很高興能夠站在這裏跟大家分享一點資訊對內容分發的一些想法。人工智能在整個內容分發行業,正在發揮越來越重要的作用。目前,一點資訊的DAU日活達到4800萬,用戶日均閱讀20萬的文章。在這如此大規模的日活和用戶操作行爲下,我們收集了海量的用戶數據。這些數據也構成了利用人工智能技術提升內容分發效率的重要的數據基礎。

流量時代追求效率背後隱藏着價值危機

從傳統門戶時代演變到現在算法驅動的個性化分發時代,流量是不變的主題。無論是流量獲取,還是流量變現,效率始終是這場流量戰爭中的關健。
從過去的實踐中可以看到,隨着用戶規模的不斷增加,我們使用的算法,包括特徵和模型的複雜度不斷地提升,可以明顯地看到一點:用戶的使用時長,包括次日留存率,都有一個非常穩定的上升過程。效率可以被我們定義的各種各樣的數據指標來描述,比如點擊率、停留時長。這些指標在一定程度上反映了用戶的滿意度,但是這些指標與也經常與用戶體驗背離。事實上,我們很難去獲取用戶對當前向其分發的內容的全面感受,這是算法需要優化但又看不到的目標。

迎合人性弱點的算法推薦不利於內容價值延伸及用戶留存

我們選擇了某個月裏面的所有新增用戶作爲數據採集目標。經過充分的冷啓動之後,根據這些用戶在月末的畫像將他們分爲普通和高端兩個用戶羣體,在第一個月裏面,那些更傾向於關注「原配打小三」「車禍現場」等熱點、娛樂八卦資訊的普通用戶在停留時長上高於高端用戶,也就是說,這些社會、娛樂、熱點等內容在短期內吸引力遠高於長尾內容但如果我們再把時間放長一點,在接下來一個月的第一天開始,普通用戶在不斷的流失。在第30-60日之間,留存率方面高端用戶已經反超普通用戶,長期來看,高端內容用戶的忠誠度更高。

這個給我們的啓示就是,我們需要做一個更有價值,對於用戶來說更容易滿足它多元化需求的產品,不僅包括有趣、有料的爆點內容,也包括有用、有品的細分內容平臺。

那麼是什麼原因導致算法在獲得效率的時候巨大提升,同時帶來了價值的降低?

影響算法結果的最根本的兩個要素是數據和目標。

先從數據談起,海量數據來源於用戶與內容的交互行爲,海量數據不一定意味着特別高的價值,如果我們每天僅提供幾十篇最熱門的文章,基於一點資訊上的2.9億用戶,這也會產生海量的數據。但僅基於這些數據,效率提升的天花板非常明顯,再怎麼優化,用戶關心的就那麼幾條內容。在整個優化過程中,我們需要不斷引入各個領域的專家、專業知識,引導用戶生成更具價值的數據,再通過算法或者模型學習到這些價值,再提供給用戶。除了專家知識,也需要積極引導用戶表達興趣,完全基於人性弱點的被動反饋往往很慢也很獲取到用戶真正的興趣,綜合考慮了短期成本和長期收益的滿足和試探機制,是增加海量數據價值的又一關鍵。

算法的第二個要素是它學習的目標。算法特別擅長優化單一指標,比如點擊率,但事實上用戶對內容有多種反饋,比如停留、分享、收藏等,當然還有一些負向的反饋,比如「不喜歡」、「踩」,甚至投訴。一個標題黨的文章往往有很高的點擊率,但它的不喜歡,踩也很多,只優化點擊很容易讓標題黨氾濫,結合多種目標同時優化可以顯著降低標題黨的流行程度。

另外,算法容易預測短期指標,難以預測長期指標。長期留存率是個特別好的優化目標,但基於當前數據你很難預測準。單純優化短期指標,會帶來短期流量的顯著增加,但用戶的次日或者7日留存不一定能有相應幅度的提升。而將長期的指標拆解成一些可優化的目標或者目標序列則是解決長期指標優化的關鍵。還有,現在大部分情況下,業績追求的是用戶指標的優化,但是內容平臺是一個非常龐大的生態系統,尤其在自媒體的加入並參與後。如果只考慮用戶,忽略了自媒體作者的話,很容易造成劣幣驅良幣,好的寫手不再發文,伴隨而至的,是有多元化需求的用戶也會慢慢流失,最終系統留下的可能就是一些忠誠度較低的用戶。

充分利用海量數據和專家知識提升效率和價值

一次推薦一般需要經過召回,排序,策略幾個階段,召回是指從特別大的一個內容候選集合中挑選出用戶可能感興趣的文章,排序需要對這些用戶感興趣的文章做精確的估計,判斷用戶的點擊可能性,策略階段更多從用戶的體驗出發進行的一些規則控制,在排序階段我們更多的關注是提升我們的效率,在召回階段需要更多的考慮價值。

一點的排序模型最早使用的是基於海量動態特徵的GBDT,GBDT沒有特別好的實時更新方法,我們使用了實時的動態特徵來彌補這一點,動態特徵更新非常容易並行,使用也非常的方便。除了更新慢以外,GBDT的特徵維度不能太高,這對GBDT的特徵工程有了更高的要求,在GBDT裏面實現的特徵大部分都是一些基於動態特徵組合而來的超級特徵,不能使用大量的ID特徵,這非常不利用精確捕捉和區分一些長尾信號。

爲了解決這些問題,我們開始使用了基於大規模離散特徵的在線邏輯迴歸,之前放在動態特徵裏面的組合特徵直接作爲模型的特徵實時進行更新,從效果上看,尤其在點擊率這塊,提升還是非常顯著的。這兩個模型或者說原始的特徵最終被我們融合在一起使用,融合的方法我們也經過了一些的摸索,從簡單的線性組合,到將GBDT的葉子節點特徵加入在線線性模型,再到利用DNN直接將GBDT使用的超級特徵,一些重要的ID特徵embedding表示,和海量的交叉特徵一塊使用,超級特徵和一些embedding特徵先經過幾層的神經網絡充分交叉,最後再與海量的交叉特徵放在一塊做出最後的預測。

在召回階段,我們更多的是以價值爲導向,我們把問題分解成興趣定義、興趣發現和興趣滿足。以興趣爲核心,每個問題我們都積極引入專家和知識庫知識,包括產品上鼓勵用戶的主動表達,這些高質量的先驗知識和用戶主動表達形成的高質量特徵直接參與到了內容的召回和排序。

算法還需被動反饋和主動引導相結合

上圖可以看到用戶畫像的強度和點擊的關係。用戶表達的興趣越多,最後停留時長、點擊數越多,它們兩個之間有非常強的正相關的關係。快速發現用戶興趣意義重大,這裏面有三個問題要解決,第一個是當前要試探什麼,第二個是拿什麼試探,第三個是如何控制試探的成本。

第一個問題,我們需要試探的的興趣一定是目前不確定性最大,確定以後又對用戶的收益最大的興趣,我們結合了自頂向下和順藤摸瓜的策略,根據整體人羣畫像的特點訓練了這樣的一個試探模型;第二個問題,我們優先選擇了在興趣區分上信息增益比較大的內容;第三個問題,我們用經典的linUCB來平衡試探的收益和代價,事實上,我們可以按照用戶切分流量,使用所有的用戶行爲,獨立更新每個用戶的興趣偏好。

今天我的演講就在這裏,現在我們整個內容分發行業,很多公司都在做同樣的事情,有很多的方法和技巧。在現階段,我們在關注流量本身的同時,需要更多的關注流量的構成,思考如何能夠提供給用戶更多元,更有價值的內容。謝謝大家!

更多精彩內容,請關注圖文直播專題:SDCC 2016中國軟件開發者大會,微博:@CSDN研發頻道,訂閱 CSDN 官方微信公衆號(ID:CSDNnews),即時獲取大會動態。