剛買完手機,下一秒系統就推薦了耳機,為什麼?
不知道你有沒有這種感覺?
為了學習人工智慧,你買了一本《深度學習》,在付款的時候,你會發現頁面下方出現了:購買此書的人還瀏覽了以下書籍——《機器學習實踐》《Python機器學習》,於是本來你只想買一本書卻忍不住買了一本又一本。
你今天在網易雲音樂上聽了一首陳奕迅的歌,之後你就會發現,它會反覆給你推薦陳奕迅或者相關類似的歌手的歌;在網上看了一部懸疑片,遇事每當你瀏覽這個視頻網站它會自動給你推薦更多的懸疑片;你在購物網站瀏覽了一雙運動鞋,之後就會收到各種運動鞋秒殺的廣告……
就好像自己早已被看穿。
其實這就是演算法的力量,確切的說,是推薦演算法在起作用。
推薦系統的「3W」
What is it?
在百度百科上的解釋,是利用電子商務網站向客戶提供商品信息和建議,幫助用戶決定應該購買什麼產品,模擬銷售人員幫助客戶完成購買過程。
就是根據你平日里購物的行為習慣、興趣特點以及社交關係等信息,去判斷你當前需要或者感興趣的商品。
Why is that?
為什麼我們要用到推薦系統呢?隨著信息技術和互聯網的發展,人類從信息匱乏時代走向了信息過載時代。
鋪天蓋地的信息讓人看得眼花繚亂,很難在短時間之內找到自己感興趣的內容,從而也加大了信息生產者在傳播推廣信息的難度,因為在眾多的信息轟炸中,很難將自己在信息同質化越來越嚴重的信息洪流中脫穎而出。
於是乎,推薦系統應運而生。
它主要是用來幹什麼的呢?
它是信息和個體之間的橋樑。對我們而言,推薦系統通過各種信息收集,能夠在大量的信息中幫助我們找到感興趣的信息,發現我們可能喜歡的新事物;對於商家而言,推薦系統在給用戶提供個性化推薦服務的時候,能夠提高用戶的信任度和粘性,從而提高業績。
我們可以通過一組數據了解推薦系統的價值:
Netflix:2/3被觀看的電影來自推薦
Google新聞:38%的點擊量來自推薦
Amazon:35%的銷量來自推薦
當你看到這些數字,推薦系統的價值就不言而喻了吧?
Where to apply?
我們現在凡是幹什麼總愛強調「個性化」「量身打造」「私人定製」,於是催生了推薦系統在我們日常生活中方方面面的滲透:私人定製推薦歌單、各類視頻網站、個性化閱讀、電子商務……無論你是在看劇、訂外賣、逛淘寶、聽電台,你都能收到一系列自己感興趣的內容。
和搜索引擎不同的是,個性化推薦系統需要依賴用戶的行為數據,一般都是作為一個應用存在於不同網站之中。在互聯網的各大網站中都可以看到推薦系統的影子。例如都是逛淘寶,女同胞們和男同胞們看到的網頁界面會有所不同。
以淘寶為例,女生看到的淘寶界面:
男生看到的淘寶界面:
每個人的喜好不同,在頁面上瀏覽的內容就不同,這些信息都會隨著我們每一次的瀏覽點擊進行變換,從而不斷向我們推薦合適的商品,從而提高網站的點擊率和轉化率。
儘管不同的網站使用不同的推薦系統,但是總的來說,幾乎所有的推薦系統的結構都是類似的,都由線上和線下兩部分組成。
線下部分包括後台的日誌系統和推薦演算法系統,線上部分就是我們看到的前台頁面展示。線下部分通過學慣用戶資料和行為日誌建立模型,在新的上下文背景之下,計算相應的推薦內容,呈現於線上頁面中。
下面我們通過近幾年靠人工智慧演算法火起來的今日頭條和大家詳細分析一下,怎樣通過推薦演算法實現「私人定製」?
詳盡乾貨:揭秘「你關心的,才是頭條」
推薦系統,如果用形式化的方式去描述實際上是擬合一個用戶對內容滿意度的函數,這個函數需要輸入三個維度的變數。
第一個維度是內容。頭條現在已經是一個綜合內容平台,圖文、視頻、UGC小視頻、問答、微頭條,每種內容有很多自己的特徵,需要考慮怎樣提取不同內容類型的特徵做好推薦。
第二個維度是用戶特徵。包括各種興趣標籤,職業、年齡、性別等,還有很多模型刻划出的隱式用戶興趣等。
第三個維度是環境特徵。這是移動互聯網時代推薦的特點,用戶隨時隨地移動,在工作場合、通勤、旅遊等不同的場景,信息偏好有所偏移。
結合三方面的維度,模型會給出一個預估,即推測推薦內容在這一場景下對這一用戶是否合適。
那如何引入無法直接衡量的目標?
推薦模型中,點擊率、閱讀時間、點贊、評論、轉發包括點贊都是可以量化的目標,能夠用模型直接擬合做預估,看線上提升情況可以知道做的好不好。但一個大體量的推薦系統,服務用戶眾多,不能完全由指標評估,引入數據指標以外的要素也很重要。
比如廣告和特型內容頻控。像問答卡片就是比較特殊的內容形式,其推薦的目標不完全是讓用戶瀏覽,還要考慮吸引用戶回答為社區貢獻內容。這些內容和普通內容如何混排,怎樣控制頻控都需要考慮。
此外,平台出於內容生態和社會責任的考量,像低俗內容的打壓,標題黨、低質內容的打壓,重要新聞的置頂、加權、強插,低級別賬號內容降權都是演算法本身無法完成,需要進一步對內容進行干預。
以下是幾種典型的推薦演算法:
前面提到的公式y = F(Xi ,Xu ,Xc),是一個很經典的監督學習問題。可實現的方法有很多,比如傳統的協同過濾模型,監督學習演算法Logistic Regression模型,基於深度學習的模型,FactorizationMachine和GBDT等。
模型之後再看一下典型的推薦特徵,主要有四類特徵會對推薦起到比較重要的作用。
第一類是相關性特徵,就是評估內容的屬性和與用戶是否匹配。顯性的匹配包括關鍵詞匹配、分類匹配、來源匹配、主題匹配等。像FM模型中也有一些隱性匹配,從用戶向量與內容向量的距離可以得出。
第二類是環境特徵,包括地理位置、時間。這些既是bias特徵,也能以此構建一些匹配特徵。
第三類是熱度特徵。包括全局熱度、分類熱度,主題熱度,以及關鍵詞熱度等。內容熱度信息在大的推薦系統特別在用戶冷啟動的時候非常有效。
第四類是協同特徵,它可以在部分程度上幫助解決所謂演算法越推越窄的問題。協同特徵並非考慮用戶已有歷史。而是通過用戶行為分析不同用戶間相似性,比如點擊相似、興趣分類相似、主題相似、興趣詞相似,甚至向量相似,從而擴展模型的探索能力。
模型的訓練上,頭條系大部分推薦產品採用實時訓練。實時訓練省資源並且反饋快,這對信息流產品非常重要。用戶需要行為信息可以被模型快速捕捉並反饋至下一刷的推薦效果。我們線上目前基於storm集群實時處理樣本數據,包括點擊、展現、收藏、分享等動作類型。
但因為頭條目前的內容量非常大,加上小視頻內容有千萬級別,推薦系統不可能所有內容全部由模型預估。
所以需要設計一些召回策略,每次推薦時從海量內容中篩選出千級別的內容庫。召回策略最重要的要求是性能要極致,一般超時不能超過50毫秒。
召回策略種類有很多,我們主要用的是倒排的思路。離線維護一個倒排,這個倒排的key可以是分類,topic,實體,來源等,排序考慮熱度、新鮮度、動作等。線上召回可以迅速從倒排中根據用戶興趣標籤對內容做截斷,高效的從很大的內容庫中篩選比較靠譜的一小部分內容。
推薦系統之內容分析
內容分析包括文本分析,圖片分析和視頻分析。文本分析在推薦系統中一個很重要的作用是用戶興趣建模。沒有內容及文本標籤,無法得到用戶興趣標籤。舉個例子,只有知道文章標籤是互聯網,用戶看了互聯網標籤的文章,才能知道用戶有互聯網標籤,其他關鍵詞也一樣。
另一方面,文本內容的標籤可以直接幫助推薦特徵,比如魅族的內容可以推薦給關注魅族的用戶,這是用戶標籤的匹配。
如果某段時間推薦主頻道效果不理想,出現推薦窄化,用戶會發現到具體的頻道推薦(如科技、體育、娛樂、軍事等)中閱讀後,再回主feed,推薦效果會更好。
因為整個模型是打通的,子頻道探索空間較小,更容易滿足用戶需求。只通過單一信道反饋提高推薦準確率難度會比較大,子頻道做的好很重要。而這也需要好的內容分析。
上圖是今日頭條的一個實際文本case。可以看到,這篇文章有分類、關鍵詞、topic、實體詞等文本特徵。
當然不是沒有文本特徵,推薦系統就不能工作,推薦系統最早期應用在Amazon,甚至沃爾瑪時代就有,包括Netfilx做視頻推薦也沒有文本特徵直接協同過濾推薦。
但對資訊類產品而言,大部分是消費當天內容,沒有文本特徵新內容冷啟動非常困難,協同類特徵無法解決文章冷啟動問題。
今日頭條推薦系統主要抽取的文本特徵包括以下幾類。首先是語義標籤類特徵,顯式為文章打上語義標籤。這部分標籤是由人定義的特徵,每個標籤有明確的意義,標籤體系是預定義的。此外還有隱式語義特徵,主要是topic特徵和關鍵詞特徵,其中topic特徵是對於詞概率分布的描述,無明確意義;而關鍵詞特徵會基於一些統一特徵描述,無明確集合。
另外文本相似度特徵也非常重要。在頭條,曾經用戶反饋最大的問題之一就是為什麼總推薦重複的內容。這個問題的難點在於,每個人對重複的定義不一樣。
同樣,還有時空特徵,分析內容的發生地點以及時效性。比如武漢限行的事情推給北京用戶可能就沒有意義。最後還要考慮質量相關特徵,判斷內容是否低俗,色情,是否是軟文,雞湯?
今日頭條推薦系統的線上分類採用典型的層次化文本分類演算法。最上面Root,下面第一層的分類是像科技、體育、財經、娛樂,體育這樣的大類,再下面細分足球、籃球、乒乓球、網球、田徑、游泳等,足球再細分國際足球、中國足球,中國足球又細分中甲、中超、國家隊等,相比單獨的分類器,利用層次化文本分類演算法能更好地解決數據傾斜的問題。
讀芯君開扒
以推薦演算法為核心技術的推薦系統憑藉其個性化推薦和有效降低信息噪音的特點開始被廣泛使用,比如國外的 Google、Facebook 和國內的今日頭條。
時至今日,已經很難想像一個新的互聯網應用沒有利用推薦系統來優化用戶體驗。
人工智慧技術對於推薦系統的影響是巨大的。從人工推薦到深度學習模型,在日新月異的技術浪潮中,推薦系統已經成為了諸多互聯網應用的基石。過去十多年的研究和開發,使得這個領域迅猛發展,推動了人工智慧很多方向的前進。
從現實來看,推薦系統要成為智能系統,還有很長的路要走。我們需要站在更高的維度來看待和思考推薦系統,提出更加具有挑戰的問題,基於這些問題才能引領我們去革新方法論,創新出一整套能夠大幅度豐富用戶體驗與提高產品價值的推薦系統理論與實踐。
留言 點贊 發個朋友圈
我們一起探討AI落地的最後一公里
作者:二岳初
參考文獻鏈接:
http://geek.csdn.net/news/detail/112318
http://www.sohu.com/a/217314007_297710
如需轉載,請後台留言,遵守轉載規範。
TAG:讀芯術 |