比物件還懂你!推薦演算法為啥這麼準?

資訊過度和廣告過多的社會中,推薦演算法的使用也就顯得理所當然,但是它是如何做到了解使用者的呢?本文從使用者畫像的定義和設計出發,結合實際案例,深入淺出地闡述了基於使用者畫像的推薦演算法及其產品設計。

為了方便讀者更好的理解本文,筆者將以今日頭條(建議在手機上下好“今日頭條”APP,且最好註冊一個頭條號並登入到後臺)這款產品為例輸出一些內容推薦(分發)相關的“乾貨”。

何為推薦?簡言之:“物以類聚,人以群分”,那何為物,何為人呢?答:物為內容(文章/圖文/影片等),人為使用者(刷今日頭條的使用者);那麼機器怎麼知道內容和人屬於什麼類別(斷物識人)呢?再答:“內容畫像”和“使用者畫像”的構建,而推薦的過程其實就是完成使用者和內容的匹配。那麼什麼是“內容畫像”和“使用者畫像”呢?機器是如何對兩者進行精準構建和匹配呢?

內容畫像,簡單來說就是內容的特點。如果具象化內容,筆者更傾向於假設是一個內容漏斗(類似於倒三角形使用者漏斗,不過所示關係不一定為層級關係,見圖1)。第一層通常表示內容的一個垂直領域(大類別)而後面幾層可以大致表示為標籤/關鍵詞/主題詞等小類別。

圖1:使用者漏斗

劃分方式:機器標註(NLP技術),人工手打,PUGC創作者選擇(已不需要)。

考慮到內容漏斗有很多層,為了便於理解,筆者簡單說一下使用者可以直觀看到的幾層。最顯眼的可能就是第一層了,在頭條(指今日頭條)內部通常指的就是垂類(垂直領域),如:科技、娛樂、體育等。舉個栗子,筆者之前釋出的一篇vivo NEX的軟廣,被機器識別成了“科技”領域的文章。那這個內容第一層就是科技。

垂類的劃分方式通常為機器標註(涉及NLP技術:文字分類、命名實體識別等)、人工手打(傳說中“打tag”的一種主要形式),或PUGC創作者(統稱:頭條號)在釋出內容時進行領域選擇(如圖3),不過,現在釋出內容已不需要進行選擇。

圖2:筆者頭條號“不二科技君”標題截圖

圖3:來源百度圖片,早期頭條號釋出內容時需選領域

劃分方式:機器標註(NLP技術)

顯然,光知道內容的大類並不能給使用者精準的推薦感興趣的內容。那就需要第二層內容漏斗了,這裡要講的其實也是一種打tag的形式(涉及NLP技術:文字主題/關鍵詞抽取),只是平臺根據使用者的喜好對內容做更進一步的更細化了。還是上面舉例的這篇vivo NEX雙屏版文章,對應的一些細分tag就有vivo、手機、科技等。「不過“一起皮一下才開心”是什麼鬼?」

圖4:上述舉例文末對應的細分tag

當然,這個內容漏斗遠不止這兩層,細分其實有很多種,比如接著上文舉例的文章來說,漏斗可能是這樣的:科技->手機->Android->vivo->vivo旗艦機->vivo NEX->vivo NEX雙屏版。而細分得越精細,內容畫像也就越清晰,推薦才越精準,當然,技術難度也是同樣提高的。

像頭條比較強悍的競品之一“一點資訊”,就號稱有365萬個個性化訂閱頻道,可想後面支撐的一個推薦演算法團隊是有多強。當然,除了內容的特點之外,內容畫像還包含內容的質量、熱度、原創度、所釋出使用者的權重等。而這個權重指的就是頭條對頭條號所釋出文章的推薦權重(更多的是內容冷啟動推薦數量,以及後續推薦的加成幅度),如圖5可見頭條對筆者這篇“軟廣”的推薦量,也可以側面看出頭條對於軟文的打壓力度。

圖5:上文舉例文章的後臺資料,推薦數為5228

那推薦權重由什麼來決定呢?其中一項就是頭條號指數。頭條號指數是之前平臺為了讓做作者們過新手/評原創而提出的一個量化指標(如圖6),而這個頭條號指數其實可以理解為平臺對於頭條號的一個打分,決定了頭條號所釋出內容的推薦權重。而頭條號指數的評定標準有5大方面(如圖7):原創度、垂直度、關注度、健康度、傳播度。

不過,現在頭條號Web端後臺已經看不到了,不過手機端還可以看到。除了內容的特點之外,內容畫像還包含內容的質量、熱度、原創度、所釋出使用者的權重等。

圖6: 2017年6月26日筆者頭條號後臺

圖7:來源百度圖片,頭條號指數的五大影響因素

什麼是使用者畫像呢?簡而言之就是你(顯式&隱式)的基本特徵(比如:性別、學歷、年齡、常駐位置等)和興趣愛好(籃球迷、數碼控、動漫迷等)所構建出來的一個“屬性圖”(技術通常稱為“知識圖譜”)。舉個栗子,我們通常被機器標註成一個數據組合(如圖8):科技|20%、體育|10%、娛樂|30、養生|5%……..

圖8:使用者畫像例項,來源《內容演算法》

那麼問題來了,機器如何知道一個使用者的畫像呢?首先,使用者分為新使用者和老使用者兩類。針對前者就涉及到了使用者畫像構建的一個常見且難點(策略產品面試問題)——(使用者)冷啟動,通常面試官會問你,如何做使用者冷啟動?那麼筆者告訴大家一些常見的答案。

首先,新使用者開啟APP會讓選擇喜歡的領域。其二,絕對的冷啟動並不存在,使用者在其他APP的行為其實也會被監督到。比如你在淘寶看球鞋,開啟頭條重新整理聞就能刷到你剛看的那款球鞋的廣告,也就是說在你開啟淘寶APP那一刻,你的一個比較明顯的屬性·體育|籃球已經被獲取了。

其三,機器通常會給你推薦當前熱點內容「比如科技領域|iPhone釋出新品,娛樂領域|汪峰上頭條等」,透過你在這些內容下的使用者行為(點選,點贊,轉發,跳出,停留時長等),機器會對螢幕前面的你有一個“初印象”。透過你在不同領域內容的使用者行為,判斷你對內容的興趣度,從而構建你的一個初步使用者畫像(這是當前常用的一種使用者冷啟動方式)。

比如:開啟頭條,給你冷啟動推送了12條內容(3條NBA 3條娛樂 3條科技 3條美食),然後你點選了3條體育,2條數碼,1條娛樂……那麼,最開始的使用者畫像(V1.0)可能為體育|30%,數碼領域|20%,娛樂領域|10%,其他領域|20%,目測是一名男性,愛好運動,科技宅等。然後,還發現裡面2條體育內容都是和科比有關的,那麼你大機率是個男性科密數碼控。

後來,你變成了老使用者,隨著你使用頭條的次數越多,你產生的使用者行為資料越多,背後的模型就會被訓練的越“聰明”。隨著你“刷”的越多,你的使用者畫像也會隨之發生不斷的變化,變得越來越細化,越精準。

最後,關於機器在使用者畫像和內容畫像精準構建出來之後,如何做推薦呢?事實上,這其實就是一個匹配(match)的操作。當然,簡單說匹配筆者認為還是不夠恰當,因為除了使用者畫像和內容畫像(相關性特徵)之外,機器在訓練模型時還會考慮熱度特徵(全域性熱度、分類熱度等)、協同特徵(相似使用者、興趣分類使用者等)、環境特徵(時間、地理位置等),詳見圖9。

圖9:來源文章“今日頭條演算法原理(全)”

那麼,機器學習到了這些如圖9的這些特徵之後,推薦模型就會被不斷的更新(準確的說是模型的引數在發生更新,如:神經網路在做後向傳播時會在每一次迭代時發生相關權重引數的變化),最後機器呈現給不同使用者的內容也會因為這些特徵的不同而不一樣,甚至同類型的使用者,也就是所謂的“千人千面”(最早用在電商平臺)。

而作為內容消費”平臺,這裡主要指的是內容分發。那麼如何讓內容分發變得更加精準呢?這裡不得不提這兩個名詞,即:召回和排序。這裡難講,簡言之,召回比較依賴於內容和使用者的標籤匹配度,而排序則涉及到一個使用者興趣傾向性,或者是一個更加細粒度的匹配問題上,因為要保證合適的內容放在合適的位置,比如筆者是一個數碼控,那如果推送12篇內容給我,我更傾向於第一篇是關於數碼的而不是娛樂的。

而排序也往往能夠反映出推薦策略的優秀程度,因為只有讓使用者最快的觸達你感興趣的內容才會產生更多的留存,才會啟用,才能進行轉化(才能更便於平臺推送廣告等商業化操作)。當然,AI時代,決定模型表現,或者說我們這裡的推薦系統(也可以理解為是一種機器學習模型)的表現,除了演算法本身,還有算力(指的是計算機運算能力,這方面頭條和競品無法拉開差距,因為這是錢能夠解決的問題),還有另外一個關鍵項就是資料(高質量的資料)。

關於資料的重要性,讓我想到了帶我做科研的一位博士師兄(目前在Amazon做推薦)說過的一句話:“Garbage in, Garbage out”,而這句話更適用於AI 產品落地上。簡言之,資料對於推薦結果(或者說內容分發)的好壞起著十分根本性的作用。

說到這,請大家跟著筆者思考一個問題,頭條DAU(日活)據說2.4億 ,而每個使用者日均使用時長70min ,假設使用者閱讀一篇內容(文章/影片)的平均時間是2min,那麼使用者閱讀內容資料得有2.4億*70/2 = 84億 (條)!所以,回到最開始的問題,為啥說頭條推薦如此牛逼呢?那是因為推薦演算法的3個核心壁壘,頭條都屬於業內前列(甚至可以稱得上是國內NO.1)。

看完筆者“粗鄙”的輸出,大家對推薦策略有沒有想深入的興趣呢?如果有想了解的衝動,甚至想定位做策略產品經理的話,那麼後面的一些話遠比之前的長篇大論更加實在。

私認為(內容推薦)策略產品經理入門之前,一定的推薦演算法“技術”輸入是必須的。而一個較好且體系的學習方式就是“閱讀 思考 實戰三位一體”「摘自@劉飛老師很久之前在群裡說的的一段話」。所以,這裡的“One More Thing”是指筆者希望帶(和)大家一起做一些實際的,有意義的輸入,從根本上去尋找開啟推薦策略這一黑匣的鑰匙。

關於“閱讀”,大家可以移步至我的微信公眾號,之前寫的一個“策略產品入門”的一篇文章獲取一下推薦書籍資源。那麼,大家比較關心的“實踐”部分該如何去做呢?這裡要賣個關子,相信你看完《內容演算法》這本書就會有答案了,因為筆者覺得本書的後半部分其實就是澤華老師在教大家如何去做實踐。

以上,皆為筆者粗鄙之見,所講內容只是今日頭條推薦演算法裡的極少部分,背後的Model和Data十分龐大與強大,紕漏難免,還望諒解並給予批評指正。另外,筆者認為機器(計算機)再厲害,也是人類所“賦予”的,機器越來越聰明的背後反映的應該是人(如:推薦演算法團隊| Modeling & Data processing)在不斷的進化變強!

在此,作為南開人,忍不住向今日頭條創始人@張一鳴師兄致敬,向您帶領的優秀團隊表示崇高的敬意!

作者:產品TED;公眾號:產品TED

本文由 @產品TED 原創釋出於人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基於CC0協議。

版權宣告:本文源自 網路, 於,由 楠木軒 整理釋出,共 4175 字。

轉載請註明: 比物件還懂你!推薦演算法為啥這麼準? - 楠木軒