資訊閱讀的「貼心管家」:淺談達觀數據個性化推薦引擎

文/達觀數據 於敬(達觀數據架構師)

移動互聯網的興起讓我們能夠更加簡單和方便地獲取信息,但更多的選擇也帶來更多的困擾——面對這些層出不窮的信息和服務帶來的困擾,個性化推薦技術迅速崛起。達觀數據在這方面做了很多提升推薦質量、推薦效率和系統可靠性的工作,並為企業客戶提供了包括私有化部署、SaaS等靈活的接入方式。目前,達觀數據個性化推薦引擎已經服務幾百家企業,對改善用戶體驗、增加用戶停留時長和粘性、提高用戶轉化都有顯著的效果。

互聯網越發展,越需要個性化推薦

隨著互聯網時代的到來,新聞資訊行業中,有三大核心特點日漸突出。

一是資訊更新極其頻繁且層出不窮,全國各地乃至全球,每時每刻都在產生五花八門、包羅萬象的資訊,諸如娛樂八卦、國內國際民生、前沿技術解讀、行業動態等等。不僅種類繁多,而且數量極大。日積月累,數據量更是到了令人咋舌的地步。

二是用戶群體十分龐大,移動互聯網時代的到來,讓人們史無前例的感受到了獲取信息是是如此的簡單快捷。手指一觸,便能打開信息的大門。用戶瀏覽新聞資訊時,用戶行為也多種多樣,包括點擊、深度閱讀、轉發、評論、點贊、不喜歡、收藏等。

三是用戶興趣變化也很劇烈,用戶閱讀口味隨著一天當中時間段的不同、心情的差異,對新聞資訊也有明顯的閱讀便好。所以在新聞資訊的業務場景中,信息過載和物品長尾的問題尤其嚴重。

當個人所接受的信息超過了個人所能有效處理的範圍,會導致無所適從,這種現象稱為「信息過載」;同時,如此多樣豐富的信息中,大部分是冷門信息,沒有曝光的機會,這就是物品的「長尾問題」。對於處於移動互聯網的今天,這兩個問題異常突出。在大量的實踐中發現,個性化推薦能夠有效解決上述兩個問題。在新聞資訊行業中,個性化推薦引擎不僅隨處可見,而且個性化推薦的內容被放置在非常醒目的流量入口位置。這和新聞資訊的實際業務場景密不可分。

新聞資訊中的個性化推薦是根據用戶的歷史行為數據進行深層興趣點挖掘,讓每一個用戶都感覺到有一個私人的貼身管家在照顧自己,從大量的新聞資訊中找出自己最感興趣的推薦給他。這樣的話,不僅滿足了用戶本質的信息訴求,改善了用戶體驗,顯著提升了用戶粘性和停留時長。同時大量的新聞資訊也有了曝光的機會,找到自己的受眾群體,避免了流量的浪費。最終對於企業而言,也最大化了自身利益。

達觀數據個性化推薦技術實現

如何在海量數據中挖掘用戶的興趣偏好、如何保證推薦結果的精準性、如何快速準確的響應用戶興趣的變化?這些對於企業都是巨大的挑戰。達觀數據在這方面做了很多提升推薦質量、推薦效率和系統可靠性的工作,下面結合我們的實踐做一些介紹。

在新聞資訊行業中,如何進行精準個性化推薦呢?首先從新聞資訊信息說起。新聞資訊自身有很多豐富的信息,一般包括標題、分類、標籤、發布時間、作者、是否原創、字數等信息。同時結合用戶歷史行為數據,可以生成「動態信息」以評估文章本身的質量或者熱門程度。這些動態信息可以是全局的,也可以是細分維度的,比如基於一段時間的用戶點擊行為得到新聞資訊的點擊次數,從高得到低排序得到點擊維度上的熱門排行榜。當然,如果將用戶的各種行為進行加權計算處理,可以得到新聞資訊的全局熱門榜單。同時,也可以動態生成每篇資訊的點擊數、分享數、收藏數、點贊數等用以生成資訊畫像,用於後續的推薦演算法中。

快速解決冷啟動問題

當一個用戶到來時,如果這個用戶之前沒有任何行為數據,這時的推薦就要面臨用戶「冷啟動」問題。解決方法也有很多,首先可以考慮基於用戶的人口統計學信息進行推薦,包括性別、地域、職業、婚否等,比如上海的話推薦一些上海的新聞資訊、男生推薦一些體育資訊、職業是互聯網行業的話推薦一些科技資訊等。其次可以引導用戶選擇自己的興趣標籤和分類,比如對娛樂感興趣的話可以推薦一些明星八卦。當然還可以在新用戶啟動時,推薦各種各樣的高質量新聞資訊,讓用戶用自己的手進行投票,然後實時更新推薦結果迎合用戶的閱讀興趣。

以往因為技術的原因,為一個新用戶建立冷啟動模型可能需要好幾天,但結合我們前面說的這些方法,我們現在已經可以在幾秒內就迅速為新用戶建立模型。

如果用戶是一個老用戶,也就是用戶有歷史行為數據,那麼還可以結合這些數據挖掘用戶的興趣偏好,形成用戶畫像。用戶畫像通過對海量的用戶行為數據進行深入的分析和挖掘,從多個維度來描述用戶的基礎屬性、標籤及興趣點等,清晰並且準確地勾勒出用戶的輪廓概貌。這些數據幫助應用方更好了解用戶行為路徑,明確用戶流失情況和原因,為應用方的產品功能優化決策提供可靠參考依據。

多維度結合,立體預測用戶行為

用戶畫像中有多種維度衡量用戶的興趣偏好,比如偏好的新聞資訊列表、偏好的類別列表、偏好的標籤列表、偏好的新聞作者列表、興趣相似的用戶列表等。

用戶偏好生成過程中,還需要考慮兩個因素:行為類型和興趣周期。在新聞資訊閱讀過程中,用戶行為類型有很多。用戶看到了一篇新聞,可能是用戶感興趣的,就點擊了,然後看了一點覺得很不錯,就沉浸下來進入深度閱讀階段直到看完整篇資訊,最後覺得寫得太好了,不僅點贊還收藏了這篇文章。像深度閱讀、點贊、收藏等和用戶興趣的正向的行為,生成偏好時應當加強,最後在推薦時要多推薦一些類似文章。像不喜歡、不點擊等和用戶興趣反向的行為,生成偏好時應當削弱,推薦時也要儘可能少推薦。

另外一點就是興趣周期,一般來說分三個層次,分別是長期興趣、短期興趣和實時興趣,對應的時間間隔的不同。一般長期興趣是取最近3個月或者半年的用戶行為數據進行分析挖掘生成,短期興趣則是最近一周時間間隔內,而實時興趣則是最近N分鐘之內的行為挖掘。長期興趣主要處理用戶一直存在的興趣偏好,短期興趣主要是處理用戶正在變化的或者正在養成的興趣,而實時興趣主要是迎合用戶的獵奇心理,當然實時興趣也會是長期興趣和短期興趣的持續。

了解用戶的心理之後,還有一些具體的事項也需要注意。比如,在一次推薦結果中,推薦的數量一般是8到10個,除了考慮用戶興趣之外,還需要權衡推薦結果的多樣性、時效性等,比如避免推薦同一個作者、類別或者標籤下的多篇新聞,新文章要優先推薦等。

機器學習,顯著提升推薦效率

簡單的生成用戶偏好的方法是基於概率統計,也可以基於機器學習中的分類、聚類等生成。比如用戶點擊了10篇新聞資訊,有7篇是關於科技的,2篇是關於汽車的,1篇是娛樂的,則可以得到用戶對科技、汽車、娛樂三個類別的偏好程度分別是0.7、0.2、0.1。

有了用戶的偏好和偏好程度數據,就可以「投其所好」,就可以基於內容進行推薦了,主要形式有「含有相同標籤的其它資訊」、「同分類的其它資訊」、「相同作者的其它資訊」等。比如用戶偏好體育,那就推薦時增加體育類新聞的曝光。如果用戶偏好C羅,那就推薦時增加C羅新聞的數量。

個性化推薦中很重要的一種方法是基於相似用戶的推薦,相似用戶的思想體現的是「物以類聚,人以群分」,基於群體智慧,利用已有大量用戶群過去行為數據來預測當前用戶最可能感興趣的東西。具體來說,找到和你興趣偏好相似的用戶,把這部分用戶喜歡看的新聞資訊推薦給你。比如小達在推薦系統相關的文章,小達和小觀是相似用戶,就可以這篇推薦系統相關的文章推薦給小觀。相似用戶的計算,主要是看用戶喜好文章的重合程度。

舉個例子,上表中第一行對應的新聞編號,共有9篇新聞資訊。第二行到第五行的第一列對應用戶名稱,後面各列表示用戶對各篇新聞是否喜歡,1表示喜歡,0表示不喜歡。從上表可以看出,小達和小觀共同喜歡的新聞有7篇,和小數共同喜歡的有2篇,和小據共同喜歡的有1篇。所以,相對小數和小據,小達和小觀的閱讀口味更加接近,二者喜歡看的新聞資訊互推的話,推薦準確度就會高很多。當然,在實際業務場景中,計算用戶相似度的時候影響的因素非常多。比如過於冷門的資訊會導致相似用戶很稀疏,需要過濾或者降權處理;過於熱門的資訊會導致很多用戶都有相似度,並不能實際反應用戶的實際閱讀興趣,也需要過濾或者降權處理。

上述基於領域的相似用戶的計算方法,具有很好的解釋性。同樣也適用於計算新聞資訊的相似度,也就是看各個物品之間被用戶喜歡的共同用戶數量。除此之外,還有一些方法把新聞資訊和用戶映射到相同的隱語義空間中,對應一些無法解釋的東西稱為隱含因子。對於新聞資訊而言,隱含因子可以用來衡量新聞是正面還是負面的、正常新聞還是三俗的等多種維度。

模型融合,進一步提升推薦效果

綜上所述,生成個性化推薦結果的方式有很多種。俗話說「尺有所短、寸有所長」,如果能把每種方式的優點都結合起來,就能得到更好的效果。在演算法設計中,這個環節就是「模型融合」,將多個單一推薦演算法的結果進行融合。

融合方式有很多,已經有一些完全自動化並且智能的融合機制,比如LR(Logistic Regression),該方法綜合用戶維度特徵(如人口統計學信息、興趣偏好)、資訊維度特徵(如標籤、類別、作者)和用戶的行為數據(如點擊、點贊、收藏)等多種數據,來預測用戶對新聞資訊的感興趣程度,也就是一個介於0到1之間的數值,越接近於1表示表示用戶越感興趣。

模型融合的方式現在已經普遍應用在機器學習的各個分支中,但是不同的融合方式效果有顯著的差別。我們達觀數據在具體的實踐中使用的是獨立開發的「雙層疊加演算法」,這一演算法具有較強的普適性,已經在數百家知名企業的業務中得以應用。

想了解學習更多技術乾貨,關注「達觀數據」公眾號

【本文版權歸達觀數據(datagrand.com)所有,如需轉載請註明出處。】


推薦閱讀:

推薦理由設計實踐:讓推薦系統變得會「說話
有哪些關於推薦系統的前沿資料或者文獻值得推薦?
產品經理需要了解的推薦演算法之——個性化推薦演算法2(基於用戶)

TAG:个性化推荐 | 资讯类应用 | 推荐 |