帶你瞭解“推薦”專欄背後的技術

淘寶支付成功首頁出現相關物品推薦,促使你繼續買買買

抖音上看完的每一個完整視頻都會刷到類似視頻

百度上相同偏好新聞的花式推薦使你百度新聞看不完,看不厭!

每一條個人定製化推薦的背後都離不開推薦算法。

今天我們稍微瞭解一下推薦算法。


什麼是推薦算法?

推薦算法是計算機專業中的一種算法,通過一些數學算法,推測出用戶可能喜歡的東西。


推薦算法的分類和具體應用場景

Ⅰ 基於內容

基於內容,顧名思義,根據用戶的偏好,將類似內容的新聞推薦給用戶。其主要優勢在於無冷啟動問題,只要用戶產生了初始的歷史數據,就可以開始進行推薦的計算。瀏覽數據的增長,推薦也會更精準。


圖示如下:

帶你瞭解“推薦”專欄背後的技術

基於內容的推薦算法需理解兩個關鍵點

1. 如何瞭解到用戶偏好

根據用戶歷史瀏覽記錄提取關鍵詞,查看哪些關鍵詞出現次數較多再進行推薦。例如,用戶A最近瀏覽愛情電影C新聞較多,則推薦算法會得出關鍵詞:B ,從而推送與B相關的新聞

2. 如何判斷新聞內容相似

找到定義用戶喜好的方法——關鍵詞。自然而然就可以想到,算法能不能提取出兩個新聞的關鍵詞,然後對比看它們兩的關鍵詞是否相同。因為一個新聞可以有好幾個關鍵詞,要想全部一樣,還是比較困難的。所以我們需要對兩個新聞的關鍵詞匹配程度做一個合理的量化。此時涉及TFIDF算法。該算法簡單解釋為 “TFIDF算法可以能夠返回給我們一組屬於某篇文本的‘關鍵詞-TFIDF值’的詞數對,這些關鍵詞最好地代表了這篇文本的核心內容,而這些關鍵詞的相對於本篇文章的關鍵程度由它的TFIDF值量化。”。

明白思路後,為計算出兩者相似度,列出公式如下:

Similarity(A,B)=Σi∈mTFIDFA∗TFIDFB

( “m是兩篇文章重合關鍵詞的集合。此即將兩篇文本的共同關鍵詞的TFIDF的積全部加在一起,獲得最終代表兩篇文本的相似度的值。”)

舉例:

剛抓進系統的兩個新聞,分別提取出關鍵詞與TFIDF值如下:

A新聞:“模特”:100,“減肥”:80,“冰激淋”:40

B新聞:“旗袍”:100,“減肥”:90,“披薩”:30

兩篇文章只有一個共同關鍵詞“減肥”,故相似度為:80*90=7200。

除此之外,基於內容的推薦算法也包括憑藉經驗與實際情況擬合度的啟發式算法,以用戶瀏覽行為為基礎通過機器學習的預測模型法,在此不做過多闡述。


Ⅱ 基於協同過濾

該推薦算法應用廣泛,理論上可以推薦世界上任何東西。

1. 基於用戶推薦(User-based Recommendation)

基本假設前提:喜歡類似物品的用戶可能有相同或者相似的口味和偏好,根據相同或類似的口味來尋找“鄰居”。在一般的應用中是採用計算“K- 鄰居”的算法;然後,基於這 K 個鄰居的歷史偏好信息,為當前用戶進行推薦。

帶你瞭解“推薦”專欄背後的技術
帶你瞭解“推薦”專欄背後的技術

(假設用戶 A 喜歡物品 A,物品 C,用戶 B 喜歡物品 B,用戶 C 喜歡物品 A ,物品 C 和物品 D;從這些用戶的歷史喜好信息中,我們可以發現用戶 A 和用戶 C 的口味和偏好是比較類似的,同時用戶 C 還喜歡物品 D,那麼我們可以推斷用戶 A 可能也喜歡物品 D,因此可以將物品 D 推薦給用戶 A。)

2. 基於項目的推薦(Item-based Recommendation)

基本假設前提:算法使用所有用戶對物品或者信息的偏好,發現物品和物品之間的相似度,然後根據用戶的歷史偏好信息,將類似的物品推薦給用戶。

帶你瞭解“推薦”專欄背後的技術

(“假設用戶 A 喜歡物品 A 和物品 C,用戶 B 喜歡物品 A,物品 B 和物品 C,用戶 C 喜歡物品 A,從這些用戶的歷史喜好可以分析出物品 A 和物品 C 時比較類似的,喜歡物品 A 的人都喜歡物品 C,基於這個數據可以推斷用戶 C 很有可能也喜歡物品 C,所以系統會將物品 C 推薦給用戶 C。”)

和基於內容推薦偏重用戶歷史瀏覽記錄相比,基於物品項目的推薦更偏重於物質本身的屬性。

3.基於模型的推薦 (Model-based Recommendation)

算法是基於樣本的用戶喜好信息,訓練一個推薦模型,然後根據實時的用戶喜好的信息進行預測,計算推薦。


Ⅲ 基於關聯規則

是以關聯規則為基礎,把已購商品作為規則頭,規則體為推薦對象。關聯規則挖掘可以發現不同商品在銷售過程中的相關性,在零售業中已經得到了成功的應用。管理規則就是在一個交易數據庫中統計購買了商品集X的交易中有多大比例的交易同時購買了商品集Y,其直觀的意義就是用戶在購買某些商品的時候有多大傾向去購買另外一些商品。比如購買牛奶的同時很多人會同時購買麵包,可用微觀經濟學中“替代品”“互補品”概念輔助理解。

算法的第一步關聯規則的發現最為關鍵且最耗時,是算法的瓶頸,但可以離線進行。其次,商品名稱的同義性問題也是關聯規則的一個難點。


Ⅳ 基於效用

基於效用的推薦(Utility-based Recommendation)是建立在對用戶使用項目的效用情況上計算的,其核心問題是怎麼樣為每一個用戶去創建一個效用函數,因此,用戶資料模型很大程度上是由系統所採用的效用函數決定的。基於效用推薦的好處是它能把非產品的屬性,如提供商的可靠性(Vendor Reliability)和產品的可得性(Product Availability)等考慮到效用計算中。


Ⅴ基於知識

基於知識的推薦(Knowledge-based Recommendation)在某種程度是可以看成是一種推理(Inference)技術,它不是建立在用戶需要和偏好基礎上推薦的。基於知識的方法因它們所用的功能知識不同而有明顯區別。效用知識(Functional Knowledge)是一種關於一個項目如何滿足某一特定用戶的知識,因此能解釋需要和推薦的關係,所以用戶資料可以是任何能支持推理的知識結構,它可以是用戶已經規範化的查詢,也可以是一個更詳細的用戶需要的表示。


Ⅵ 組合推薦

由於各種推薦方法都有優缺點,所以在實際中,組合推薦(Hybrid Recommendation)經常被採用。研究和應用最多的是內容推薦和協同過濾推薦的組合。最簡單的做法就是分別用基於內容的方法和協同過濾推薦方法去產生一個推薦預測結果,然後用某方法組合其結果。儘管從理論上有很多種推薦組合方法,但在某一具體問題中並不見得都有效,組合推薦一個最重要原則就是通過組合後要能避免或彌補各自推薦技術的弱點。


在組合方式上,有研究人員提出了七種組合思路:

1)加權(Weight):加權多種推薦技術結果。

2)變換(Switch):根據問題背景和實際情況或要求決定變換採用不同的推薦技術。

3)混合(Mixed):同時採用多種推薦技術給出多種推薦結果為用戶提供參考。

4)特徵組合(Feature combination):組合來自不同推薦數據源的特徵被另一種推薦算法所採用。

5)層疊(Cascade):先用一種推薦技術產生一種粗糙的推薦結果,第二種推薦技術在此推薦結果的基礎上進一步作出更精確的推薦。

6)特徵擴充(Feature augmentation):一種技術產生附加的特徵信息嵌入到另一種推薦技術的特徵輸入中。

7)元級別(Meta-level):用一種推薦方法產生的模型作為另一種推薦方法的輸入。

關於推薦算法一些基本概念的引入和簡單說明到此。推薦算法在新聞上的應用是典型科技具有兩面性的案例。還望各位讀者在生活中注意算法推薦新聞帶來的負面影響。


參考

1.《新聞推薦系統:基於內容的推薦算法(Recommender System:Content-based Recommendation)》

版權聲明:本文為CSDN博主「藍色楓魂」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/qq_32690999/article/details/77434381

2.《算法推薦新聞的技術創新與倫理困境:一個綜述》王仕勇

3. 《常用的推薦算法小結》

版權聲明:本文為CSDN博主「千葉正志」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/nghuyong/article/details/70136202)

4.《推薦算法概述:基於內容的推薦算法、協同過濾推薦算法和基於知識的推薦算法》

版權聲明:本文為CSDN博主「千尋~」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/u011630575/article/details/78648868


分享到:


相關文章: