推薦演算法的“前世今生”
演算法分發是未來之物,它是資訊過載時代智慧分發的產物;演算法分發或也終將成為過去之物,因為下一代技術的發展永遠可以突破當代人的想象,就像宋朝人無法想象移動網際網路。
演算法分發、編輯分發、社交分發……在資訊時代,人們常常討論資訊分發問題,相關概念也成為大熱名詞。
但事實上,資訊資源一直在人類的進化和發展中佔據著重要位置。社交分發是最古老的分發方式,編輯分發也比我們想象得更早。
而當我們把演算法分發置於人類社會資訊分發的歷史長河中,便能清楚地看到它的“前”與“後”——從這個角度來看,新鮮的演算法推薦,其實也不新鮮。
亙古的資訊分發問題
資訊分發,是一個亙古問題。
不妨從一個有趣的聯想開始:在人類文明早期,群居的祖先們依靠採集和狩獵生存。由於狩獵是一個非常危險的技術活,人們需要交流狩獵作戰的資訊和經驗,來提高成功率。
比如,獵物出現時用什麼訊號召集同伴?從什麼位置伏擊猛獸效果更好?他們透過手勢和發聲,把這些重要資訊分發給同伴——這便是“社交分發”,人類社會最原始的資訊分發方式。
“知”(甲骨文):
甲骨文的“知”就表示談論和傳授行獵、作戰的經驗。
社交分發的意思是基於社交關係的直接和自然的分發。《人類簡史》用“八卦”來描述這種資訊交流,指出八卦對人類進化的重要作用。
另一種自古就有的資訊分發形式,則是編輯分發。雖然英文“edit”一詞的出現和報紙相關,可這種分發形式早已有之。
在口傳時代,由古希臘盲詩人荷馬蒐集、整理而成的“荷馬史詩”(《伊利亞特》和《奧德賽》)就是典型例子。漢語將“編輯”解釋為“收集資料,整理成書”。去其形,取其義,這種資訊分發的根本特徵是:資訊經過整理後分發至接受者,有加工和把關的意涵。
無論社交分發,還是編輯分發,它們都已經歷史悠久。只是承載這些分發方式的具體媒介在不斷更新和變化,也給這些分發方式帶來了新的可能。
比如,網際網路透過對社交關係的限制(地域、血緣等)突破,在某種程度上實現了跨區域的社交聯結,也讓社交分發的範圍從家庭、線下社群,轉向更廣的興趣群體。
進入網際網路時代,科學家和工程師都在努力解決資訊過載環境下的分發問題,早期兩種代表性的解決方案是分類目錄和搜尋引擎——前者,透過人工編輯把知名網站分門別類,讓使用者根據類別來查詢網站,典型如雅虎、Hao123等;後者,讓使用者透過搜尋關鍵詞找到所需資訊,解決了分類目錄的有限覆蓋問題,典型如谷歌、百度等。
實際上,這兩種解決方案的思路並不新鮮,很大程度上可以分別對應圖書館的分類館藏和百科全書的條目索引。
縱觀整個歷史長河,我們不難發現: 資訊環境是變化的,解決方案是具體的,但資訊分發的需求和方式卻是相通的。它們都在回答一個問題——如何有效地連線人和資訊。
推薦演算法:熟悉的新朋友
演算法分發的出現和普遍應用,意味著人類開始運用機器大規模地解決資訊分發問題,人類社會資訊分發的動力從人力轉向了部分自動化——從“人找資訊”,到“資訊找人”。
站在人類社會資訊分發的長河中看,演算法分發雖然是一個新鮮事物,但它的使命和根基卻是熟悉的。從這個切口去思考,不難回答為什麼這個時代誕生了推薦演算法:
第一,新的資訊環境和人類的資訊需求動力,呼喚一種新的資訊分發解決方案。
面對資訊過載的環境和碎片化的資訊消費場景,如何從大量資訊中找到自己感興趣的資訊,是一件非常困難的事情。作為重要工具的搜尋引擎,可以部分滿足人們的需求,但最適用於需求明確的場景。如果使用者無法準確描述自己的資訊搜尋需求,甚至對自己的需求都不充分了解呢?
這意味著,我們需要一個能夠主動根據我們的興趣和需求來分發資訊的方案。早在1995年出版的《數字化生存》(Being Digital)中,尼古拉·尼葛洛龐帝便提出“我的日報”(The Daily Me),認為線上新聞將使受眾主動選擇自己感興趣的內容,預言未來資訊的個人化。
在當時,這種設想可能被認為是“白日做夢”。因為個體之間自然有差異,而為了社會的總體效率,人們總是儘可能尋找資訊的“公約數”。
隨著技術的發展,推薦系統的出現給人類的資訊分發帶來了一種可能:人們不用每次都提供明確的需求,而是透過為不同個體的資訊需求建模,從而主動推薦能夠滿足他們興趣和需求的資訊。
第二,資訊科技的發展,為個性化推薦系統的出現提供了物質條件。
- 一方面,移動網際網路發展,每個人都是一個終端,這使得資訊的分發能夠低成本定位到不同的個體使用者。
- 另一方面,AI技術的成熟和硬體資源的進化,為個性化推薦提供了技術實現路徑:機器學習模型的應用,深度學習的快速發展等,提供了有力的演算法工具;而大規模分散式機器學習框架的出現、GPU對深度學習的加速能力得到普遍驗證、專用深度學習晶片的出現(TPU、寒武紀),又提供了另一層保障。
1994 年美國明尼蘇達大學GroupLens研究組推出第一個自動化推薦系統 GroupLens(1),提出了將協同過濾作為推薦系統的重要技術,也是最早的自動化協同過濾推薦系統之一。
1998年亞馬遜(Amazon.com)上線了基於物品的協同過濾演算法,將推薦系統推向服務千萬級使用者和處理百萬級商品的規模,並能產生質量良好的推薦。
2006 年10月,北美線上影片服務提供商 Netflix 開始舉辦著名的Netflix Prize推薦系統比賽。參賽者如能將其推薦演算法的預測準確度提升10%,可獲得100萬美元獎金。參賽的研究人員提出了若干推薦演算法,大大提高推薦準確度,極大地推動了推薦系統的發展。
2016年,YouTube發表論文(2),將深度神經網路應用推薦系統中,實現了從大規模可選的推薦內容中找到最有可能的推薦結果。
自第一個推薦系統誕生,至今已有二十多年。現在,演算法推薦的思路和應用,已經深入到很多網際網路應用中。
比如,內容分發平臺的個性化閱讀(今日頭條、抖音等)、搜尋引擎的結果排序(谷歌、百度等)、電商的個性化推薦(亞馬遜、淘寶等)、音影片網站的內容推薦(如Netflix、YouTube等)、社交網站的(Facebook、微博、豆瓣等),等等。
根據第三方監測機構“易觀”釋出的《2016中國移動資訊資訊分發市場研究專題報告》:2016年,在資訊資訊分發市場上,演算法推送的內容將超過50%。到今年,這個比重想必更大。
如今,人們探討演算法分發的價值,最常提到的是提高了資訊分發的效率,它表現在:解放了部分人力,同時突破了人力對資訊分發造成的限制,實現長尾內容的有效分發,從而更高效地完成人和資訊的匹配。
然而,還有一層意義較少有人觸及:透過演算法實現的個性化推薦,真正關注和理解個體。每一個個體都是一個意義不同的“終端”,而不是永遠將個體置於群體中去總體理解。也即尼葛洛龐帝所言的“在數字化生存的情況下,我就是‘我’,不再是人口統計學中的一個‘子集’。”——這也是“personal”(個性化)中“person”的意涵所在。
人性面前,演算法有更多可能
演算法為人智慧地匹配資訊,但它推薦的依據還是在於人。
即便推薦演算法發展得更加成熟,人們在和演算法的日常相處中,也難免會有一些困惑:有時,希望演算法再“聰明”、更理解自己一些;有時,並不想老關注自己感興趣的內容,也想看看公共熱點;還有時,會猜想自己除了這些需求之外,會不會也有其他的潛在興趣?……
今天,對內容推薦的批評聲音中,包括讓視野窄化、資訊低俗化、人的邊緣化等——這些聲音從根本上折射出人類永恆關注的問題:資訊的寬度和高度,以及人的主體性。面對這些追問,也許轉而用一種整體的和發展的視角,更有利於我們去理解問題。
首先,演算法推薦是重要的,但它並非全部。人類有多種資訊需求場景,不同的資訊分發方式和工具在互相配合來滿足使用者的需求。這些分發方式的具體工具,或許在不同階段此消彼長,但本質上並沒有完全取代對方。
舉個簡單的例子:假設一個初級電影愛好者想在週末看一部電影,會有幾種可能?
如果他今天想看庫布里克的作品,他可能直接開啟搜尋框,搜尋“庫布里克”導演,看看他導演的作品還有哪些自己沒看過;如果他自己沒有特定的想法,便可能開啟個性化推薦的APP,在熟悉自己喜好的資訊流中,刷一刷看有沒有感興趣的電影;當然,如果他運氣好,微信加了一個電影發燒友,也可以直接請對方推薦幾部。
從這個例子中,可以看到:搜尋引擎滿足了使用者有明確目的時的主動查詢需求;而推薦系統能夠在使用者沒有明確目的的時候,幫助他們發現感興趣的新內容——從這個意義上看,“推薦”和“搜尋”實際上是滿足人們不同需求的兩個互補的工具。
當個性化推薦應用發展迅速的時候,人們可能會不由自主地假設它佔據自己的全部資訊場景;然而,在現實情況裡,一個人在日常生活中接觸資訊的渠道,遠比我們想象得要更加豐富——2016年Seth Flaxman等學者進行的一項實驗,也證明了這個結論(3)。
該研究請5萬名參與者,自主報告自己最近獲取資訊的新聞媒體來源,同時透過電子手段直接監測和記錄他們的實際新聞消費行為,包括網頁瀏覽歷史等。兩項資料的對比後,研究最終發現人們實際的媒體消費比他們所想象的更具有多樣性。
再者,從根本上來說,演算法是運用智慧來解決資訊分發問題的思路,而非一個絕對的和定型的操作手段,它本身也在不斷髮展。演算法與編輯、社交併不對立,將三者有機結合可以幫助實現更有效的資訊匹配。
《內容演算法》一書中,作者把演算法比喻為“是個筐,什麼都能往裡裝”:演算法是基於我們對現實世界的理解進行的抽象和建模,所有我們關心的因素(編輯分發、社交分發)都可以轉化為演算法推薦的參考因素。
實際應用的推薦系統通常都會使用多種推薦演算法,來提高推薦系統的個性化、多樣性、健壯性(即魯棒性)。比如:運用基於內容的推薦演算法,解決使用者和內容的冷啟動問題;在擁有了一定的使用者行為資料後,根據業務場景的需要綜合使用基於使用者的協同過濾(UserCF)、基於物品的協同過濾(ItemCF)、矩陣分解或其他推薦演算法進行離線計算和模型訓練,並綜合考慮使用者的社交網路資料、時間相關和地理資料等進行推薦。
與此同時,人工編輯也在關鍵的時候發揮作用。比如在今日頭條平臺,由人工稽核和機器演算法共同對內容進行把關。一個擁有良好推薦機制和規則的平臺,能夠助力高質量內容的傳播,從而促進內容生態的發展。新技術環境中,專業內容生產和編輯團隊的價值不僅不會褪色,還會越來越重要。
最後,從人們圍繞演算法分發的探討中,可以看到人們面對資訊時的兩對永恆需求——個人向和公共向、已知的和未知的。人類永遠希望二者可以達到動態的平衡,而這個平衡點又往往因人而異。這給演算法的發展和完善提供了動力,也帶來了難題。
對於個體來說,一個趨於理想態的資訊生態,可能需要具備社會性、群體性、個體性,兼顧資訊的高度和寬度——有些問題,演算法可以解決,也正在嘗試解決;但有些問題,可能人類自己也無法很好地解題,最終還是要不斷迴歸到人性本身。資訊分發技術發展和完善的背後動力,還是在於人,在於人對資訊分發理想模式的永恆追尋。
在這過程中,人始終具有其獨特的價值和能動性,堅守“技術為人”。
結尾
演算法分發是未來之物,它是資訊過載時代智慧分發的產物;演算法分發或也終將成為過去之物,因為下一代技術的發展永遠可以突破當代人的想象,就像宋朝人無法想象移動網際網路。但無論如何,人類追尋資訊的腳步是不會停止的,這種追尋就是資訊分發長河奔流的動力。
追問了推薦演算法的“前世”與“今生”,那麼在技術發展的未來,演算法的“來世”會是如何?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2654845/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 序列推薦系統的前世今生
- MySQL 的前世今生MySql
- 遊戲的前世今生遊戲
- Mybatis的前世今生MyBatis
- IPD的前世今生
- RabbitMQ的前世今生MQ
- Serverless 的前世今生Server
- JavaScript的前世今生JavaScript
- WebP 的前世今生Web
- RunLoop的前世今生OOP
- 開源漫談之GNU GPL的前世今生薦
- Webpack前世今生Web
- Unicode的前世今生Unicode
- HTTP/2.0的前世今生HTTP
- 元件化的前世今生元件化
- React ref 的前世今生React
- 外掛的前世今生
- Https的前世今生HTTP
- React Portal的前世今生React
- Android的前世今生Android
- React Mixin 的前世今生React
- Serverless For Frontend 前世今生Server
- 一、MySQL前世今生MySql
- 資料庫的前世今生資料庫
- iOS Device ID 的前世今生iOSdev
- 前端模組化的前世今生前端
- Redux的前世-今生-來世Redux
- HTTP 協議的前世今生HTTP協議
- JavaScript – 非同步的前世今生JavaScript非同步
- JavaScript 包管理的前世今生JavaScript
- 物聯網的前世今生
- ORACLE ERP 的前世今生Oracle
- LangChain和Hub的前世今生LangChain
- JavaScript 模組化前世今生JavaScript
- SQLMap的前世今生(Part1)SQL
- 對話系統的前世今生
- Apache Hudi和Presto的前世今生ApacheREST
- SAP UI5 的前世今生UI