大數據

基於PAI 10分鐘搭建一個簡單推薦系統

課程地址:https://developer.aliyun.com/course/2052

一、個性化推薦業務流程

今天會為大家介紹一下如何基於PAI去搭建一套非常簡單的推薦系統。這套推薦系統有兩個特點。第一是搭建非常方便,因為我們做了很多工具。第二,這套系統是可擴展的。大家知道現在的APP都有很多feed流推薦,包括一些廣告推薦、內容推薦,本質上就是一個推薦系統。推薦系統可以分為兩個主要的模塊。第一個是召回模塊,它做的事情就是初篩。比如說,把10萬個候選新聞縮小範圍到只剩500個。第二個是排序模塊,按用戶的偏好程度對500個新聞排序,就可以生成最終的推薦順序。在一個非常簡單的推薦系統中,只有召回模塊也是可以做推薦的。假設我把這個範圍縮到足夠小,比如說10個新聞,不需要排序,直接把這10個都推給用戶就好。所以今天我們這個視頻的內容就是教大家搭建一個只有召回模塊的簡單推薦系統。
image.png

二、協同過濾

召回和排序都有很多算法。比如說召回領域有很多矩陣分解算法、協同過濾算法等等。最經典的一個就是我們這裡展示的collaborative filtering,即協同過濾算法。它可能是比較好理解的一個算法,我這裡會用一個篇幅給大家介紹一下。比如說我們有用戶A、B、C,他們的偏好如下圖所示。你會發現A和C有一些相似的口味。A和C都喜歡Rice、Milk。除此之外,A還喜歡Lamb。就是說A和C有相似的口味,並且A還喜歡某個C沒有嘗試過的東西。我們就假設C也喜歡它,可以把它作為C的一個召回結果。這就是一個基於數據統計的標準的協同過濾的方式。這張圖可以幫大家很好地去理解協同過濾算法的原理。就是說,先發現相似的物品或者相似的人,然後根據相似的人和相似的物品之間的關聯性去找出它的一個推薦邏輯。我們今天的這一套推薦系統就是以協同過濾算法為基礎去做。
image.png

三、推薦方案架構

完整的推薦架構如下圖所示,包含如下部分:Dataworks,PAI-Studio,TableStore,
PAI-AutoLearning,PAI-EAS。
image.png

四、實際操作

首先我們在PAI-Studio裡基於你的原始數據生成你的協同過濾後的結果數據,這是兩張表。
image.png
接著我們在TableStore,即表格存儲裡去把這兩張表按照要求的格式建立出來。
image.png
然後利用Dataworks去把這個數據從PAI-Studio裡灌到表格存儲裡。
image.png
接著在AutoLearning裡去把TableStore的兩個數據配置出來,配出來呈一個策略。
image.png
然後最後把這個策略變成一個PAI-EAS的服務,你可以在這看一個調用方式。最終用戶拿到的結果就是這條服務。
image.png
如果想更新迭代裡面的整個的數據,你就可以去改最原始的這張表。因為整套服務都可以做成一個自動化的流程,都可以利用Dataworks的數據調度系統去做成一個自動化的系統。所以你只要每天去更新這裡的原始的數據就可以了,剩下來的業務都可以自動化。
image.png

Leave a Reply

Your email address will not be published. Required fields are marked *