推01,你們是不是都感覺自己少了個推薦系統?
文·HCY崇遠
01 緣起
昨天的《小烏龜》不算,突然發現公眾號斷斷續續停更了也蠻長時間了,估計有大半個月了,一方面是懶,另一方面是前段四件著實累的跟Dog一樣,現在剛緩和了一點點。
雖然沒有更新,但是訂閱的朋友依然陸陸續續的過來,甚是慚愧,這裡就立一個flag吧,到年底前至少要更新30篇吧。
前段時間給朋友整理一個關於推薦系統相關的知識教學體系,剛好自身業務中,預計明年初隨著業務規模增長,估摸著又要啟動推薦相關的項目了,所以也是趁機把相關的知識結構梳理了一遍。
這邊尋思著,或許可以把這些知識結構車重新梳理一遍,以其他普通人更容易理解的方式分享出來,或許能讓更多的人看到,也是一個好事吧。
既然是重出「江湖」,先定他一個小目標,就先寫個《推薦系列》,盡量能讓不懂技術的朋友能看得懂看得爽(白話邏輯、原理、業務場景),也希望能讓搞技術的朋友看到的懂(給案例給代碼),這是第一篇。
02 先聊人工智慧
說推薦系統之前先掰掰人工智慧,這個詞估計大家能能聽得懂,畢竟是風口上的名詞,想沒聽過也難。那麼問題來了,你覺得推薦系統與人工智慧有什麼關係?
或許大半的人會認為沒有半毛錢的關係,這讓我想到了前幾天周末在知乎上懟的一個問題,問題的核心就是:「現在大數據都很low了,大家都是去搞人智能了」。
這典型就是對於人工智慧定義認知的問題,個人認為人工智慧就是一個偏業務的定義,多維度多學科交叉的概念,壓根兒就不好以技術維度去對比去評判。其核心的三要素就是:演算法、計算能力以及數據。
圍繞大量的基礎數據,對基礎數據進行特徵處理,然後構建有用的業務演算法模型,然後基於分散式的基礎架構計算能力,將演算法模型的用於實際的生產環境,以機器替代人工的作業,以提升效果與效率,達到機器智能化的目標。
那再回到推薦系統的話題,在過去傳統的門戶網站或者其他領域,也是有推薦場景的,不過大部分都是基於編輯或者運營手動進行配置推送,隨著對數據、對演算法模型的進一步應用,才逐漸有演算法機器替代人工進行推薦,並且達到諸如「千人千面」、「個性化」推薦的效果。
所以,追究其本質,其實也是演算法模型+計算過程+基礎數據的流程,並且最終達到了機器自動化、智能化的效果,從廣義的角度來說,或許複雜一些的推薦系統或許也能納入人工智慧的範疇了(真心怕那種一說到人工智慧=神經網路的選手)。
03 推薦與檢索的兩種模式
說到推薦系統,就不得不說一下搜索引擎。不管是搜索也好、推薦也好,他們都是信息獲取的一種機制,核心區別在於主動與被動。
搜索引擎是典型的主動觸發的形態,即用戶已經有明確的信息獲取意圖,渴望得到自身既定的目標信息,讓後通過搜索規則進行最終信息的獲取。
比如,你好奇什麼是人工智慧,那麼你就會用諸如谷歌、或者國產大百度去搜索,然後獲取到相關網頁,去點擊查看,最終完成你了解人工智慧這個信息獲取的目的。這就是檢索的機制,你先要告訴系統你的意圖,然後在給你篩選你要的信息。
而推薦系統則大大的不同,它是一種系統主動的行為,對於用戶來說是一個被動的行為,被動的接受系統推送過來的信息。那這樣強扭是不是很尷尬呢?怎麼有這麼SHA叉的機制?
其實不是的,尷尬的是推的不對,東西推對了就尷尬了,比如你正在瀏覽一個信息,正在愁這個信息還沒解決你的問題的時候,系統啪丟給你幾個新增的信息,說這個幾個信息可能能解決的問題,你一看我湊,這正是我要的,感謝萬能的推薦系統!
所以,推薦核心解決的還是用戶額外信息獲取的問題,以及提升用戶的進一步轉化,停留時間的延長(只要停留時間延長,商業轉化機會就會加大,也是粘性提升的體現),而問題的核心就是要推的准,推的恰到好處,不然就是反作用。
因為推薦要解決的就是海量信息冗餘,用戶在目的不算很明確的情況,進一步幫助其確定目標,主動篩選信息的過程,推的不好那對於用戶來說就更冗餘了。
關於信息的獲取,其實還有一種常見的形態,那就是結構化導航,比如電商平台的分門別類羅列,門戶網站的結構化頻道信息。它是通過把信息進行結構化了,構建脈絡結構,幫助你去獲取你要的信息。不過,這個就不在我們的討論範圍內了。
04 推薦系統場景
說了這麼多篇邏輯理論的東西,或許很多朋友依然對推薦系統沒有一個很場景化的認知,比如具體什麼場景?具體什麼形態?
這是我在騰訊視頻上截的圖,這就是典型的視頻推薦場景,我不是鵝廠騰訊視頻業務的演算法工程師,所以我無法回答你他們的推薦機制,但我可以告訴你,當時我的觀看主體是「地球脈動」,結合推薦列表,大伙兒可以揣摩一下他的推薦機制。當前觀看的屬性相關?導演關聯性?我的觀看記錄偏好?從我個人的評估來看,這些因素應該都有。
順帶說一下的就是,一個完整的好的推薦系統,一定不會單純的依賴於某個推薦演算法,雖然這個系列的後面文章中,我會講一些推薦機制或者演算法邏輯,甚至附上簡單的案例代碼,但還是要提前說一下這個問題。
我們再來看幾個同樣是騰訊系的產品推薦場景:
QQ音樂平台的推薦,分析來看應該跟我當前主頁音樂的風格、以及我的歷史瀏覽相關。
這是閱文網站的小說小說推薦,即當你瀏覽一本小說時,下面會給這個推薦列表,從其描述以及個人分析來看,好像與個人的行為相關性會小一些,應該是基於大盤用戶的瀏覽軌跡做的關聯分析,進而進行關聯推薦。
最後是電商平台的典型案例,即你在瀏覽商品時,一般都有猜你喜歡模塊,並且推薦系統得以大放光彩,成為應用領域裡典型的應用場景,還是得益於亞馬遜。當年亞馬遜使用推薦演算法幫助其提升了XX(具體多少忘了)的年度利潤,從此一炮而紅,基本上電商平台中的推薦系統就成了標配。
05 你也少缺少個推薦系統?
看了這麼多例子,再結合自己身邊實際的體驗,確實不難發現,各色各樣的產品、平台,都在打造自己的推薦產品,恨不得用戶一直點下去,永不跳出。
鑒於這種情況,那些尚未為自己產品或者平台開發推薦邏輯的,是不是感覺自己少了個推薦系統,哈哈。
其實核心還是那句話,推薦本身就是個雙刃劍,用的不好只會讓用戶徒增煩惱,這裡所說的好不好,不單純是說準不準的問題,準是前提,即推薦給用戶切身所需肯定是好的,但這還不夠,你還需要在他需要的時候給他推,時機不對、場景不對,即使你推的東西再准,那也是瞎比推
所以,即使你覺得你少了個推薦系統,也是需要慎重,或許跟完這個系列會好點?
06 一些坑
正如上面說的,一些坑還是需要注意的。上面所說的推薦時機以及場景就不再重複了。
第一,好的推薦系統一般情況下很依賴於用戶的行為數據,因為從用戶行為中自然能一窺用戶的一些偏好所在,但實際情況是,用戶的行為數據並不是這麼容易的,當用戶行為數據不夠的時候,基於用戶行為的分析結論就是個偽命題,甚至會把你帶向錯誤的方向。
第二,用戶的偏好一定是會時間偏移進行轉變的,所以用戶行為的有效性又會是一個問題。
第三,假設這個是新用戶呢?完全沒有軌跡信息,怎麼破。
第四,實際影響用戶的選擇的因素太多,我們容易陷入主觀臆斷的誤區,綜合性考慮是一個完善推薦系統的必須思考的地方。
第五,產品層面的邏輯有時候比底層演算法更有效,典型如上面閱文的截圖例子,「喜歡這本書的人也喜歡」,這就是一種策略,也是一種推薦解釋,可解釋性會提升推薦的可信度,諸如還有一些交互方式、產品形態都是對推薦轉化有影響的。
07 最後
本文大部分還是想以更直觀可理解的方式,表達什麼是推薦系統。在該系列下一篇文章里,會解決推薦系統中的一些基本常識,一些基本的邏輯,以及上面少量的問題解決,比如進入系統的是一個新用戶怎麼辦?
再往後面,會有更技術性的一些文章,甚至是Spark案例,所以偏好技術的童鞋也別放棄治療,不管是業務童鞋還是技術童鞋,我都會盡量以更容易理解的方式去闡述。
《推薦系統系列》,這只是第一篇,難得有決心寫一個還帶碼的系列,給點安慰,請期待下一章節的內容,喜歡就收藏,也歡迎分享,讓更多的同業朋友看到。
關於我:
大數據行業半個老鳥,我家梓塵兄的超級小弟,會敲代碼、會寫文章,還會泡奶粉哄小屁孩。想和我交流的,可以加我個人微信mute88,請註明身份and來意~
就醬,打完收工,對了,別忘了分享。
推薦閱讀:
※今日數據行業日報(2017.01.04)
※從頭學習大數據培訓課程 NOSQL 資料庫 hbase(四)整合 hbase 的批量導入功能
※物聯網、大數據、雲計算三者之間的關係為何?
※科技和文化:新經濟的左右腦
※做運營,如何做好數據的採集?