一、智能推薦(AIRec)簡介
AIRec背景介紹
智能推薦(簡稱AIRec)基於阿里巴巴集團領先的大數據和人工智能技術,結合阿里巴巴在電商、內容、新聞、視頻直播和社交等多個行業領域的積累,為全球企業及開發者提供雲推薦服務。AIRec能夠有效解決用戶偏好和物品之間的曝光選擇問題。AIRec產品與淘寶、天貓推薦的底層是同根共源的,是淘寶、天貓推薦技術的首次對外輸出。目前對於電商而言,獲客等成本非常高,AIRec也希望能夠解決以上這些問題,幫助用戶去深度運營好每一個流量,將每一個流量的價值都充分地挖掘出來。因此AIRec在促活、留存、收入等整個流量生命週期中都可以提現它的價值。
AIRec產品架構
阿里雲智能推薦AIRec產品的實現方式整體上大致分為三層。其中最底層是數據接入層,對於這一層而言,一般需要客戶提供兩種數據,初始化離線數據和在線數據。初始化離線數據將用於整個推薦實例的啟動,而在線數據則用於當服務啟動之後在後續實時收集用戶的行為,以及更新和回傳。在數據接入層之上是推薦模型層,這裡主要分為三部分,第一部分是特徵工程,主要是對於用戶的特徵、商品的特徵進行一定的挖掘;第二部分是召回模塊;第三部分是排序模塊。在推薦模型之上是業務邏輯層,各個應用廠家或者應用的場景不同,業務邏輯也會比較複雜,推薦系統往往無法覆蓋所有的業務場景,所以AIRec覆蓋了一些比較具有通用性的業務邏輯以及打散策略和混排策略等。在此基礎之上,業務方也可以根據AIRec推薦的結果來進行第二次封裝來滿足業務上更為複雜的需求。
二、核心功能介紹
AIRec核心功能-接入使用
整個AIRec接入使用主要分為四個部分:數據準備、服務開通、生效測試和增量對接。在數據準備方面,目前AIRec只能通過阿里雲大數據計算服務MaxCompute上傳初始數據,MaxCompute是一個能夠處理PB級別的數據倉庫解決方案。AIRec初始時需要三張表,分別為User表、Item表和Behavior表,User表存儲了用戶的基本信息、用戶ID以及是否給這個用戶進行推薦以及一些用戶特徵維度的信息。針對於表中的這些字段,客戶可以根據自己的數據埋點以及數據收集情況酌情地進行上傳,並且表中的字段也是分為必填、選填和推薦等類別。當然,這些數據如果填寫的越飽滿,對於後期的效果調優而言,就會越有優勢。同樣的,Item表存儲了物品信息,Behavior表則存儲了用戶與物品之間的關聯信息,數據中的點擊和展示是必須要上傳的,其次內容型的點贊等行為也推薦客戶上傳。在數據準備完成之後就可以開通AIRec服務了,開通完成之後可以進行對於行業、場景以及數據源的選擇。選擇完成之後,就可以在數據生效的頁面檢查數據生效的質量,同時在數據生效之後進行數據的測試。當測試完成之後就可以確認AIRec實例已經正常地運行起來了,在此基礎之上可以對接服務端的SDK或者API實現增量數據的回傳。
AIRec核心功能-行業
阿里雲智能推薦AIRec現在向外輸出的行業主要包括四種,即電商行業、新聞行業、內容行業以及視頻行業。之所以對於行業進行了劃分,這是因為目標行業的特點不同會導致用戶的關注點不同,這也就導致了運營人員所關注的指標也各不同,因此這些因素最終也會影響推薦系統對於模型的選用。舉例而言,對比一下電商型和內容型行業,前者比較關注點擊率、GMV成交值以及購買率等業務指標,而後者除了常見的關注點擊率之外,還會更加關注人均點擊量、用戶停留時間以及瀏覽深度等業務指標。
AIRec核心功能-場景
這裡的場景可以理解為推薦所在的位置。根據推薦所在的位置不同,推薦系統使用模型和手段也會有所不同。比如在淘寶的首頁推薦上“猜你喜歡”這部分屬於一個比較綜合的推薦位置,因此需要綜合一些基於用戶瀏覽歷史行為的召回,也需要符合用戶的興趣,還需要在照顧熱點的同時增加一些對於新品的關注度,因此這部分屬於一個比較綜合的推薦。而商品詳情頁的“相關推薦”位置則不同,其更加看重物品與物品之間的關聯關係,這個關聯可能是商品存在相似關係,也有可能商品之間存在類似於“啤酒和尿布”的關係。“熱門推薦”就是熱度排行榜了,其背後有著比較成熟的熱度算法。而位於頁面頂部Banner推薦位的“焦點圖推薦”則是對於重要活動或者產品的推薦。
AIRec核心功能-召回模型
如下圖的左側的推薦模型所示,其最下面的輸入可以認為是全量的Item列表,通過召回可能篩選出了一批和用戶相關的Item,經過規則過濾將其放入排序層,之後根據用戶行為、用戶特徵以及商品特徵進行排序並計算分數,並將最終算分的結果放入到業務邏輯層進行封裝,並Push給終端用戶,使得終端用戶能夠看到Push的結果。下圖中右側是召回系統的簡單的實現方式示意圖,對於召回而言,想要判斷結果是否與用戶的興趣相關,就可以通過不同的鏈路實現不同興趣的召回,比如Item 2 Item、熱度、新品、語義相似、User 2 X 2 Item等。
召回模型I2I
在I2I這個召回模型中,將用戶的行為分為了長期行為和短期行為,進而分別訓練出一些表格,這些表可能是Item_ID=A的一些商品可能有一些關聯的Item_ID,並且這些Item_ID也會有對應的分值,而一些商品的權重可能會影響最終的分值。當這個表計算完成之後,後續如果有一個User過來,請求就會帶來一個User_ID,根據這個User_ID就能獲一個Trigger,進而獲取一個Item_ID的列表將其推薦給排序模型,並且這個排序模型還能夠接受其他的召回鏈路的推薦。
AIRec核心功能-排序模型
如下圖所示的是排序模型的簡單原理。AIRec會將用戶特徵、行為數據以及商品特徵全部都進行離線計算,生成針對用戶場景的排序模型。舉例而言,當一個男生過來,他會帶有一些用戶特徵和行為特徵,根據這些內容就可以在模型表上找到對應的分值,將特徵所代表的分值進行相加並進行整體倒排,之後就會得到一個排序完成的Item表格,最後將這些東西作為排序層的輸出給到上面的業務邏輯層。
AIRec核心功能-打散混排
業務邏輯層中有兩個能夠控制的點,就是混排和打散。混排可以配置一些比例,而打散則可以配置一些層級和窗口等。
這裡簡單介紹一下混排和打散的具體功能:
混排功能:一方面是為了讓喜好多種物品類型(item_type)的客戶平衡其分發,另一方面是為了讓用戶在瀏覽過程中保持物品類型上豐富的多樣性,提升用戶的驚喜度。AIRec的混排功能目前支持image、article、video、short video、item、recipe等6種類型,後面將會增加更多的延展。
打散功能:是為了保障在推薦的物品流裡相同類目的物品不重複出現,防止用戶疲勞,保持新鮮度。使用AIRec時可按物品類目(物品表category_level字段)來打散,可根據用戶具體業務的物品層級來設置打散。配置打散時選擇相應的物品類目,再填寫配合該類目層級的窗口期x,即x個物品推薦流裡最多出現一次該類目的物品。
這裡舉個例子,如下圖所示,我們對於體育文章、文娛文章以及經濟文章可以設置窗口為3,也就是使得每3篇文章裡面只能出現1次同類型的文章,這樣就實現了通過類目進行打散。而混排就是設置文章大約佔總量的50%,短視頻和商品大約各佔據25%。通過以上的混排和打散就能夠滿足推薦的訴求。
AIRec核心功能-數據儀表盤
阿里雲智能推薦AIRec可以通過數據儀表盤實現對於數據的跟蹤,包括做分桶測試等。此外,在AIRec上還可以實現基於阿里巴巴的推薦和基於自建的推薦的對比,並查看數據走向。目前,AIRec支持的數據指標包括PV_CTR、UV_CTR、PV/UV、Click/UV、活躍的用戶數以及活躍的商品數等。
三、案例及場景
應用案例——內容論壇
這個案例來自深度垂直行業的UGC論壇,其主要接入了AIRec的兩部分場景——首頁的“猜你喜歡”和詳情頁面的“相關推薦”。客戶使用AIRec解決兩個主要痛點,一是提高首頁“猜你喜歡”的用戶點擊率,二是期望解決論壇內文章的標題黨問題。針對於這兩個問題,AIRec幫助他們做了兩步的優化,首先是解決標題黨的問題,增加了瀏覽時長、點贊、收藏等重點行為特徵來解決問題,也就是將標題黨的文章進行降權,使得其排序結果較低,甚至使得其召回不出來。第二步就是調整了時間衰減,對於熱度文章進行了及安全管理,調整了排序模型使得業務可干預推薦效果。最終達到的效果就是該論壇在其原有系統的基礎之上使得用戶點擊率提升了50%。
應用案例——使用架構
前面所提到的論壇客戶同時接入了阿里雲的搜索和推薦兩款產品,從而可以形成比較好的化學反應。推薦產品可以承接首頁的流量,使得首頁整體流量的轉化率得以提升。此外,在搜索方面還接入了OpenSearch產品,能夠滿足用戶高質量精準搜索的需求,能夠提高有具體瀏覽目標用戶的轉化率。通過這兩個服務整體地從流量承接以及精準搜索解決了用戶的需求。下圖中展示了用戶使用的架構,會將主流場景下的行為包括數據都傳遞到RDS上,並放到MaxCompute DataWorks上進行全量導入,後續還會通過API和服務端SDK進行實時數據反饋。數據經過AIRec和OpenSearch兩個產品就可以和客戶的服務端進行交互,客戶的服務端則會進行業務封裝並給到最終的用戶。
應用案例——電商
這裡再介紹一個電商類客戶的應用案例。該案例來自一個國內垂直類電商客戶,阿里雲AIRec為其打造的推薦產品不僅用於其APP上,還會用於微信小程序等方面。針對於這樣的情況,阿里雲AIRec也為其實現了兩部分場景,一部分是“猜你喜歡”,另外一個是“相關推薦”,並最終提升了兩個場景點擊率。之前他們的場景中存在問題就是SKU比較少,用戶量級相對而言也不是非常大,因此從整體來看在這樣的場景下AIRec能夠幫助客戶達到點擊率的提升,效果還是不錯的。總體經過了一個月左右的調優,使得點擊率提升了1倍左右。
應用案例——內容平臺
第三個案例是內容平臺,這個內容平臺的特點就是推薦內容比較雜,其利用AIRec的混排和打散功能比較多,因為其主要是一個內容分享平臺,同時還帶有電商屬性。他們原有首頁推薦為運營人員人工編輯,有專門團隊每日定時內容更新。後來使用阿里雲智能推薦進行首頁的內容推薦,經過一段時間的調優使得點擊率相較原有系統提升超過一倍。