前亞馬遜產品經理:TikTok的真正優勢,並不是算法

{"type":"doc","content":[{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在前段時間的風波中,TikTok 的推薦算法一度成爲大家爭相討論的話題中心。但在前亞馬遜產品經理(同時也是亞馬遜戰略規劃部第一位分析師)Eugene Wei 看來,TikTok 的算法本身並沒有特別的突破性創意,TikTok 產品真正的價值點在於 TikTok 的設計和流程裏面的每一個元素是怎麼互相關聯到一起,從而創建出一個數據集,再通過這個數據集,把算法訓練成最佳性能的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"本文着重介紹了 TikTok 的設計如何幫助它的機器學習 FYP 算法“看到”它需要看到的東西,從而有效地完成它的工作。對算法友好的設計理念可能會成爲其他垂直領域的公司如何在機器學習時代取得優勢的一種模式。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"本文最初發表於Eugene Wei的個人博客,"},{"type":"link","attrs":{"href":"https:\/\/www.eugenewei.com\/blog\/2020\/9\/18\/seeing-like-an-algorithm","title":"","type":null},"content":[{"type":"text","text":"Seeing Like an Algorithm"}]},{"type":"text","text":",經InfoQ翻譯並分享。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在我"},{"type":"link","attrs":{"href":"https:\/\/www.eugenewei.com\/blog\/2020\/8\/3\/tiktok-and-the-sorting-hat","title":"","type":null},"content":[{"type":"text","text":"前一篇關於TikTok的文章"}]},{"type":"text","text":"中,我們探討了TikTok 的個性化推薦算法FYP作爲連接組織運轉的核心原因,它就好像汽車總線一樣,控制連接並形成信息傳輸的閉環。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但多數人還是非常費解,爲什麼很多公司想要收購TikTok,另一方面,字節跳動是否應該將TikTok這一備受歡迎的App賣掉。圍繞TikTok算法大肆的炒作已經開始變的異化了,這也是如今西方對中國科技領域項目的普遍分析套路。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在這篇文章中,其實我想探討一下TikTok的設計是如何讓它的算法如虎添翼的。之前我有寫過FYP算法作爲TikTok核心的原因,也講到,假如這一核心算法不起作用了,那麼整個信息傳輸閉環就會崩潰。即使你對TikTok或短視頻不感興趣,瞭解其算法如何實現準確性匹配對你也很有幫助,因爲越來越多的行業公司將會遇到以機器學習算法爲武器的競爭對手。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"本文我們討論的主題將是:TikTok是如何通過設計讓它的算法“看見”的。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"《國家的視角》 VS 算法的視角"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"給大家推薦一本書,詹姆斯·C·斯科特(James C. Scott)的"},{"type":"link","attrs":{"href":"https:\/\/amzn.to\/2FDQEsj","title":"","type":null},"content":[{"type":"text","text":"《國家的視角》(Seeing Like a State"}]},{"type":"text","text":"),它可以將你的思維轉變成硅谷人的思考方式,讓你喜歡使用甚至濫用legibility(讀懂)這個術語。我也是在讀了一篇"},{"type":"link","attrs":{"href":"https:\/\/www.ribbonfarm.com\/2010\/07\/26\/a-big-little-idea-called-legibility\/","title":"","type":null},"content":[{"type":"text","text":"卡塔什•拉奧(Venkatesh Rao)對這本書的總結性文章"}]},{"type":"text","text":"時瞭解到的,如果你不打算讀原書的話,Rao的這篇文章倒是可以推薦作爲這本書的tldr(Too Long; Didn't Read,化繁爲簡的替代方案)。"},{"type":"link","attrs":{"href":"https:\/\/slatestarcodex.com\/2017\/03\/16\/book-review-seeing-like-a-state\/","title":"","type":null},"content":[{"type":"text","text":"斯科特·亞歷山大(Scott Alexander)對本書的書評"}]},{"type":"text","text":"也很好,而且非常長,比較詳細,也可以作爲該書的一篇tldr。不過我還是建議你讀下原著。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這本書能讓人們清晰的認識到到日常生活中各種意想不到的後果。當我們太過驕傲自大時,都應該保持謙遜的姿態。世界比我們想象的更加豐富和複雜。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"舉個例子,斯科特研究的很多內容都與我們現在傲慢的社交網絡巨頭有關。這些佔據市場主導地位的應用程序旨在提高用戶羣的可識別性,從而提高用戶參與度,防止用戶流失,並最終提供有針對性的廣告服務。當然這些反過來也會給它們的母公司帶來一些問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但這是另一個話題,之後我在別的文章中再探討。斯科特關注的是國家如何使用簡化的抽象概念在概要層次上“看到”其公民,而我想討論的是TikTok的應用程序設計如何讓它的算法“看到”所有需要的細節,從而高效、準確地執行其配對分發工作。如果說《國家的視角》研究了常見失敗案例模型,這篇文章便是介紹通過程序和服務的設計使機器學習算法發揮最大價值的新模型。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"TikTok的算法並沒有什麼不同"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"近年來,至少對於像我這樣的局外人來說,大家對機器學習的一個普遍認知是,僅僅通過將訓練數據量增加幾個數量級就可以取得很大的進步。也就是說,"},{"type":"text","marks":[{"type":"strong"}],"text":"即使算法本身與幾年前沒有什麼不同,僅僅通過在更大的數據集上訓練算法,人工智能研究人員便能取得像"},{"type":"link","attrs":{"href":"https:\/\/openai.com\/blog\/openai-api\/","title":"","type":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"GPT-3"}]},{"type":"text","marks":[{"type":"strong"}],"text":"這樣的突破(這給科技巨頭Twitter帶來了短暫的興奮)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"當大家談及TikTok的算法是其成功的關鍵時,便會認爲該公司的祕密武器是一些神奇的代碼。俄羅斯後現代主義作家維克托·佩列溫(Viktor Pelevin)曾說過,所有現代電影的主角都是一個裝滿錢的公文包。從"},{"type":"link","attrs":{"href":"https:\/\/amzn.to\/35NQsS8","title":"","type":null},"content":[{"type":"text","text":"《死吻》(Kiss Me Deadly)"}]},{"type":"text","text":"的放射性物質公文包,到"},{"type":"link","attrs":{"href":"https:\/\/amzn.to\/2ZN7IDr","title":"","type":null},"content":[{"type":"text","text":"《低俗小說》(Pulp Fiction)"}]},{"type":"text","text":"裏面的那個類似的裏面金光閃閃的、不知道裝着什麼的公文包,從"},{"type":"link","attrs":{"href":"https:\/\/amzn.to\/3kzc2OJ","title":"","type":null},"content":[{"type":"text","text":"《魔頭對捕頭》(The Formula)"}]},{"type":"text","text":"的創世紀方程,到大衛·馬梅特(David Mamet)的"},{"type":"link","attrs":{"href":"https:\/\/amzn.to\/35I0YKS","title":"","type":null},"content":[{"type":"text","text":"《西班牙囚犯》(The Spanish Prisoner)"}]},{"type":"text","text":"裏面的祕密財務流程,我們長期以來一直對有魔力的麥格芬(McGuffin,推動情節發展的對象或事件)感到癡迷。最近幾周,我們對TikTok算法的討論已經把它提升到了類似的高度,這個算法就好像是《奪寶奇兵》系列電影(如《法櫃奇兵》(the Ark of the Covenant)、《聖戰奇兵》(the Holy Grail)、《魔宮傳奇》(lingam Shivling))裏面的那些神祕考古文物一樣。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但該領域的大多數專家持懷疑態度,TikTok在機器學習推薦算法方面並未取得外界未知的突破性進展。事實上,他們中的大多數人認爲,TikTok很可能就是基於標準方案解決的問題,跟其他方案無異,沒有什麼特殊性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不過機器學習算法的有效性並不僅僅取決於算法本身的函數,還取決於數據集訓練後的算法函數。GPT-3並不是新創意,但是通過大量數據訓練和大量的參數設置,它的輸出結果往往是令人驚訝的。、"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"同樣道理,基於自身數據集訓練過的TikTok FYP算法,在將視頻與覺得該視頻有趣的人進行匹配方面做的非常精確和高效(而且,反向匹配做的也很精確,對某些視頻不感興趣的人就不會接收到這些視頻) 。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對於某些領域,比如文本相關性較大的領域,可以輕鬆獲得大量訓練得很好的數據。例如,要訓練一個像GPT-3這樣的人工智能模型,你可以到互聯網、書籍等上面找到大量可用的文本集。如果你想訓練一個視覺人工智能模型,你可以在網上和各種數據庫裏面找到大量照片。雖然訓練非常"},{"type":"link","attrs":{"href":"https:\/\/lambdalabs.com\/blog\/demystifying-gpt-3\/","title":"","type":null},"content":[{"type":"text","text":"費錢"}]},{"type":"text","text":",但是至少你可以獲得足夠的訓練數據。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但對於TikTok(或中國版抖音)來說,他們需要一種能夠出色地向觀衆推薦短視頻的算法,而這樣龐大的公開可用訓練數據集是不存在的。你在哪裏可以找到各種各樣的惡搞、孩子們跳舞、假唱、有可愛寵物、名人品牌推廣、士兵們穿越障礙球場、孩模仿品牌等類型的視頻呢?即使你有這樣的視頻,你從哪裏可以找到關於一般民衆對這樣的視頻看法的比對數據?除了"},{"type":"link","attrs":{"href":"http:\/\/Musical.ly的數據集以外","title":"","type":null},"content":[{"type":"text","text":"http:\/\/Musical.ly的數據集以外"}]},{"type":"text","text":"(主要是由美國十幾歲的女孩對口型唱歌的視頻組成),這樣的數據並不存在。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在經典的“先有雞還是先有蛋”的問題中,如果沒有 App的相機工具和過濾器、授權的音樂剪輯等,TikTok算法需要訓練的視頻類型並不容易創建。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這就是TikTok設計的神奇之處:它是一個反饋的閉環,這種設計能夠激發並實現視頻的創作和觀看,產生的數據進而通過其算法進行訓練,之後再反過來激發創作和觀看。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"爲了讓TikTok的算法變得像現在這樣有效,TikTok成爲了它自己的訓練數據來源。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"算法友好型設計"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"要理解TikTok是如何創造出如此強大的學習飛輪的,我們需要深入研究它的設計。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"說到技術領域的UI設計,至少在我成長的20年裏,主流思想始終圍繞着如何消除用戶在完成他們想做的事情時的阻礙,同時在這個過程中讓他們高興。設計的終極目標是優雅,換個說法是要設計的:直觀、巧妙、甚至時尚。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這種設計流派的代表公司便是蘋果。巔峯狀態下的蘋果總能把自己的軟硬件做出優雅的感覺——“就是這麼好用(it just works)”,但同時又很性感,讓用戶感覺有品位。在蘋果的主題演講上發佈新的MacBook Pro機身時,爲什麼要專門播放一段視頻,展示它是如何用一塊實心的鋁製作而成的?可能是因爲看到工業激光把那塊鋁雕刻成一體化機身會讓你感覺很酷?然後,當你在咖啡店裏用筆記本電腦發郵件時,那段視頻的一些殘留記憶又會在潛意識裏給你一點點觸動?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這種以用戶爲中心的設計模式佔據主導地位如此之久是有原因的,尤其是在消費技術領域。首先,這確實有用。據最新統計,蘋果的市值超過了2萬億美元。(還記得Sean Parker說過有十億美元很爽嗎?那還是十年前,現在十億美元不再是頂層了。財富的量級在飛速發展。)此外,我們生活在大規模網絡效應的時代,科技巨頭們運用本·湯普森(Ben Thompson)的"},{"type":"link","attrs":{"href":"https:\/\/stratechery.com\/aggregation-theory\/","title":"","type":null},"content":[{"type":"text","text":"聚合理論"}]},{"type":"text","text":",獲得了龐大的用戶基礎,可以對他們所參與的市場發揮難以置信的影響力。要做到這一點,最好的方法之一就是設計比競爭對手更好地滿足用戶需求的產品和服務。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這種設計流派主導了這麼長時間,以至於我幾乎忘記了之前大家常用的一些拙劣的軟件設計方法了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是,如果爲用戶提供最好服務的關鍵,很大程度上取決於機器學習算法的訓練會發生什麼呢?如果這個ML算法需要大量的訓練數據集怎麼辦?在一個機器學習佔據主流的時代,這越來越成爲一個關鍵的設計目標。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"在考慮如何設計一個應用程序時,你將越來越多地需要考慮怎麼才能最好地幫助算法去“看”。要想更好地服務你的用戶,首先需要服務好你的算法。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"TikTok之所以讓我着迷,是因爲它是一個現代App的典範,這就是我所謂的"},{"type":"text","marks":[{"type":"strong"}],"text":"算法友好型設計"},{"type":"text","text":"的範本。(我曾經想過把它叫做以算法爲中心的設計,但覺得這種說法有點誇張了。一個幫助算法看見東西的設計到頭來仍然是爲了給用戶提供儘可能好的體驗。)"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們仍然可以認爲這只是以用戶爲中心的設計的一種變體,但是對於那些大量採用機器學習算法組件進行產品開發的團隊來說,明確地承認這一點可能是有用的。畢竟,當產品經理,設計師和工程師開會討論App設計時,算法是不會出席的。但是,對算法的訓練需求必須得到體現。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"詹姆斯·斯科特(James Scott)的《國家的視角》談論了城市設計等領域的巨大變化,比如讓土地面積和業主數量對徵稅者“清晰可見”。TikTok的設計使它的視頻、用戶和用戶偏好對它的For You Page算法清晰可見。該應用程序的設計實現了它的主要職責之一:“像算法一樣看事物。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們不妨仔細看看。TikTok打開後就是“For You Page”頁面,然後直接進入視頻。這就是它的樣子。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/wechat\/images\/3e\/3e79f6111e349c526ca5d95c70360168.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"上圖是目前爲止TikTok上最熱門的視頻。截止到我發佈這篇文章時,已經有超過34.1M個點讚了。你可以看看關於"},{"type":"link","attrs":{"href":"https:\/\/www.stereogum.com\/2097845\/remember-blackpool-grime-it-now-soundtracks-the-most-popular-tiktok-of-all-time\/news\/","title":"","type":null},"content":[{"type":"text","text":"這條TikTok視頻如何誕生的故事"}]},{"type":"text","text":",看過之後你一定會覺得這就是一個充滿悖論的文化難題。我和我侄女一起看了這個視頻,然後我們一起循環播放了好幾十次,我們倆還一起大喊“從M到B,從M到B”,然後歡快的大笑,這是我在這場疫情當中感受不多的歡樂之一。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"整個屏幕被一個視頻填滿。只有一個,它以垂直方向全屏顯示。注意,這是不能滾動的,而是分頁。視頻幾乎是立即自動播放(接下來的幾個視頻是在後臺加載的,這樣當輪到它們的時候,它們也可以快速播放)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這種設計會促使用戶立即思考一個問題:你對此刻你面對的這段視頻有什麼感覺?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"從視頻開始播放的那一刻起,你所做的一切都是你對該視頻感受的信息。你會在視頻還沒播放完的時候就刷到下一個視頻嗎?是的話就隱含表示你對它不感興趣(雖然不明確)。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你是不是看了不止一次,讓它循環播放了好幾次?似乎不知道什麼原因它就吸引了你。你有沒有通過內置的分享面板分享這段視頻?這是正面情緒的另一個有力指標。如果你點擊右下角旋轉的LP圖標,看了更多有着同樣背景音樂的視頻的話,就表明該視頻對你胃口的進一步信息。音樂線索往往是模因的代名詞,現在TikTok又有了一條爲你推薦視頻的軸線了。還有,你打開了視頻製作者的個人資料頁面了嗎?你看了他們的其他視頻了嗎,之後你關注了對方嗎?是的話,說明你除了欣賞視頻以外,也許你特別喜歡他們這些人。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是,讓我們往早一點回顧一下,在你看視頻之前,TikTok算法是如何“看到”視頻本身的?其實,在這個視頻通過FYP算法發送到你的手機之前,TikTok的運營團隊有人已經看了這個視頻,並添加了大量相關標籤或標記。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這個視頻是跟跳舞有關的嗎?是對口型?還是視頻遊戲?有小貓嗎?還是花栗鼠?是搞笑的嗎?主體是男的還是女的?大概幾歲?是羣視頻嗎?背景在哪裏?用的是什麼濾鏡或視覺效果?如果裏面包括有食物,是什麼食物?等等。所有這些標籤都成爲了算法現在可以看到的特徵。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"視覺人工智能也會對視頻進行處理,並在一定程度上貢獻它看到的內容。TikTok的一些相機濾鏡能夠追蹤人類的臉、手或手勢,所以視覺人工智能往往在視頻被創建出來之前就被調用過了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這個算法還可以看到TikTok所瞭解到的有關你的信息。你過去喜歡看什麼類型的視頻?有關你的人口統計學信息或心理學信息有哪些?你是在哪裏看這個視頻的?你用的是什麼類型的設備?等等。除此之外,還有哪些其他用戶跟你相似?"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"無限滾動信息流的弊端"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們不妨回到你在手機上用TikTok看視頻的那一刻。FYP算法現在可以關閉所有的反饋迴路形成閉環了。它通過你對視頻的每一個動作來猜測你對這個視頻的感受,以及它的所有屬性。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"上述所有的步驟都不是像火箭科學那樣的硬核技術,尤其是對於那些從事社交算法研究的人來說這些並不新鮮。在我之前的文章中,我說過TikTok並沒有真正強大的社交圖譜。這款應用之所以有如此效果,原因之一是它不會假裝自己不是的東西。也就是說,人們已經有了許許多多其他的社交網絡和與他們認識的人分享的方式。他們沒有強迫人們在TikTok應用程序中下載視頻,而是讓通過外部渠道下載或分享視頻變得非常簡單。不過,TikTok想保留的是你選擇分享視頻這一行爲數據。這個數據就能(也只能)滿足他們的算法需求。由於這些視頻都帶有水印,所以它們也可以通過分享獲得免費的宣傳。實際上,TikTok之前發表了一篇"},{"type":"link","attrs":{"href":"https:\/\/newsroom.tiktok.com\/en-us\/how-tiktok-recommends-videos-for-you","title":"","type":null},"content":[{"type":"text","text":"博客文章"}]},{"type":"text","text":",主要描述解釋了他們的FYP算法工作機制, 我相信大家只要是做軟件技術的,看過之後都知道其中並沒有什麼新鮮的創造。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是,把TikTok的FYP算法所看到的東西,跟其他大多數社交網絡動態消息的推薦算法所看到的東西對比一下,你就會發現它們不一樣在哪裏了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/wechat\/images\/82\/82d6c5751652dec153415d886eb58611.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如今,我們最大的社交網絡的默認UI是無限的垂直滾動feed(例如,上面Facebook的截圖)。這些應用程序不是一次爲你提供一個故事,而是在屏幕上同時顯示多個項目。當你向上滾動並經過許多故事時,算法無法“看到”你的眼睛所注視的是哪個故事。就算能看到,如果用戶沒有按“點贊”之類的反饋按鈕的話,他們對故事的感覺是正面的還是負面的?實際對用戶情緒的判斷並不清晰。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果你認同UI應該消除溝通阻礙的想法,無限滾動feed可能是理想的方案選擇。它提供了一種對消費節奏的無拘無束的控制感。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在分頁設計中,你一次只能看到一個故事,而手指每推一次只能讓feed滾動一條,這無論在字面上和還是隱形數據獲取上都是一種累贅。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"另一方面,如果Twitter更有針對性的話,也許你不會介意一次只看一條Twitter;如果Twitter知道更多你真正感興趣的Twitter類型,也許它們會更有針對性。如果你必須在每條推特上給出明確或含蓄的正面或負面信號,Twitter也許就能更好地瞭解你真正感興趣的內容。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"即便在有用戶參與的互動故事中,判斷用戶的情緒也不是一件簡單的事情。大多數應用程序只有正面的反饋機制,最典型的是某種形式的like按鈕。由於像Facebook、Instagram和Twitter這樣的應用程序都是基於社交圖譜開發的,因此它們可能會選擇不提供“不喜歡”按鈕。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是,就像史蒂芬·金在"},{"type":"link","attrs":{"href":"https:\/\/amzn.to\/2RGcXAb","title":"","type":null},"content":[{"type":"text","text":"《寫作這回事》(On Writing)"}]},{"type":"text","text":"裏面所寫那樣,“如果你希望成爲一名成功的作家,無禮應該是你最不應該關心的第二件事。而你最不應該關心的第一件事,正是這文明社會和它對你的期許。如果你有心真誠地寫作,你作爲上流社會一員的日子屈指可數了。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Facebook、Twitter和Instagram等社交網絡依靠的是帶有明確的正面反饋機制的長滾動信息流,因此在用戶更傾向於低阻礙閱讀的同時,也犧牲了對負面信息更準確的解讀。在創始人和CEO是同一個人的公司裏,你會看到這種權衡的另一個變體:這樣的人往往在自己身邊有一羣高管,他們聽從他們的領導,和他們相處得很好。被一羣唯唯諾諾的人包圍的危險在於沒有任何人來挑戰你思維中的盲點。我們總是有必要問一下,誰有足夠的權力,能夠真正改變像貝佐斯、庫克、扎克伯格和馬斯克這樣的人的想法。答案往往是沒有人,所以他們的盲點成爲公司的盲點。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"像Reddit這樣建立在興趣圖基礎上的網絡,確實有吸納踩(down voting)機制的傾向,因爲他們阻止用戶流失的主要方法是爲他們提供最有趣的內容。這意味着要剔除乏味的內容,就像它要展示吸引人的內容一樣。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"TikTok沒有顯式downvote按鈕,但是通過每次只提供一條視頻,他們可以從你是不是很快就略過不看,以及你沒有做某一項積極舉動來推斷你是否對某條視頻不感興趣。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果你點擊了某人在Facebook上發佈的一篇文章,但不做評論或者點讚的話,Facebook怎麼能判斷你對這篇文章的看法呢?也許你想過在評論中表示強烈的不同意,但是這個人恰恰是你的同事或朋友的朋友,然後你便會決定還是不說爲妙。這種負面情緒很難捕捉,算法不能“看到”你的感受。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"乏味或引起輕微不快的內容纔是慢性殺手。在我之前的文章中,我提到過,由於你自己的興趣和你認識的人的興趣不匹配,社交圖上的內容可能會偏離用戶的真正興趣。從按時間順序提供信息到按算法提供信息的轉變,通常是針對這種波動的默認防禦措施。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但是,如果算法不能“看到”用戶越來越不感興趣的信息,只能看到用戶參與的正面信息的話,內容和用戶興趣不匹配的情況就不可避免。你之後可能會發現用戶慢慢地失去了興趣,不再喜歡看那麼多東西,不再經常打開你的應用,但是究竟是哪條feed讓他們離開你還不清楚。當用戶表現出要離開的跡象時,通常已經太晚無法挽回了。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"算法需要輸入負面反饋"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"對算法友好的設計不一定對用戶不友好。它只是採用了不同的方法來滿足用戶的興趣。分頁可能會給用戶帶來某種程度的阻礙,但這樣做可以爲算法提供更詳細的信息,從而在長時間內保障feed的質量。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最小化阻礙只是獲得良好用戶體驗的一種方法。任何設計的目標都不是減少阻礙,而是幫助用戶達到某種目的。減少阻礙通常與這一目標相一致,但並不總是如此。你可能會說,引用推文減少了手動複製他人推文的阻礙,但如果你的目標是 和諧文明的公共討論的話,那麼減少噴子湧到某人推文底下瘋狂攻擊的阻力也許並不是你要鼓勵的核心機制。所以有些形式的阻礙是好的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你有沒有聽說許多有影響力的Twitter大V用戶建議其他人儘早把禁言和屏蔽功能使用起來。還有一些用戶甚至大量使用軟屏蔽功能來祕密拉黑關注者。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"有些用戶會故意地在推特上發佈自己禁言了哪些詞的屏幕快照,以表示他們對某些熱門話題的不滿(或者他們對所討論話題的智商優越感)。有些人更加極端,甚至取消關注所有人,然後重新關注。有時候,可能因爲A\/B測試良好,Twitter會向用戶展示自己關注的人點讚的推文,甚至是用戶自己沒有關注過的人的推文。這種做法確實偶爾會展示出一些我感興趣的推文,但從絕對意義而言,這樣增加了我不感興趣的推文的數量,我不得不滾動過去。沒有兩個人有完全相同的興趣愛好。這個功能的發佈讓我開始考慮取消關注所有人,然後再重新關注,但我也擔心會傷害別人的感情,因爲我是一個軟心腸的人。如果Twitter的做法有所改變的話,這就不是問題了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我有時也會考慮採用其中的部分甚至全部策略,但對於Twitter來說,這些策略的存在性本身就是產品設計的失敗。如果算法能準確的分辨出什麼是你感興趣的東西的話,它應該去做些替你禁言主題或者拉黑一些人的事情,而不用你再煩心這些事情。正如我上次所寫的那樣,你必須在Twitter上關注所有人才能獲得有趣的內容,很多人認爲這是基於強大的社交圖譜設計的一個缺陷。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"TikTok不僅能明確的捕捉到用戶的情緒信息,還能通過每次交互收集大量信息。TikTok的視頻是比較短的,但即便在這樣短暫的交互中,TikTok也能收集到很多關於你喜好的反饋。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這個過程也是比較簡單的,即便最讓用戶感覺不舒服的情況,也就是多推送了幾個他們不喜歡的視頻,用戶直接劃掉即可,非常方便。用戶甚至會很享受這種操作,因爲他們知道基於算法的反饋機制會記錄他們的行爲並作出反應。短視頻正好是非常適合此類機器學習驅動型推薦的類別。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但這並不意味着它適用於所有類型的類別。音樂很合適,時間不長,採樣成本低,重複消費的價值高,而且音樂的相似性通常是可以利用數學進行計算的。Spotify Radio推薦給我的音樂就很可不錯。不過電影的算法推薦對我來說從來都沒起過作用,電影很長,採樣成本很高,語料庫也很小,每年只有大約500部電影上映,而大多數人只看了其中的一小部分。這整個話題可以單獨發表一篇文章再討論。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"順便說一句,TikTok並不是唯一一款針對匹配目標對界面進行優化的應用程序,這裏指每次只展示一個頁面,從而可以更清楚地分析出用戶感受的應用程序;在TikTok之前,單頁展示一項內容的UI設計已經比較流行了。"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/wechat\/images\/cd\/cdd7abaf9859114d49dd6c4f6a10ccd6.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/wechat\/images\/1e\/1ebdb758c5f54acbae94c27b106f8e63.png","alt":null,"title":null,"style":null,"href":null,"fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"向右滑和向左滑成爲表示認可和不認可的代名詞是有原因的。Tinder 在觸摸屏 UI 上設計了一個類似於二進制投票的原始設計。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"向右滑和向左滑成爲表示認可和不認可的代名詞是有原因的。Tinder在觸摸屏UI上設計了一個類似於二進制投票的原始設計。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"TikTok的飛輪"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在這個軟件時代,真正的競爭優勢,或者你產品的護城河,正變得越來越虛幻。大多數軟件功能或UI設計都可以在一夜之間輕易地被同類產品或競爭對手複製。先行者做的很多事情都是替他們試試水而已。有一次我去中國的的時候,曾經跟一幫中國的企業家共進晚餐,我提到了Instagram抄襲Snapchat的Stories引起的爭議。一家中國頂級公司的首席產品官笑着說:“在中國,如果你的競爭對手在兩週之內不能把你的某項成功的功能複製出來的話,那麼他們是不足以作爲競爭對手的。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"硅谷自以爲是創意市場的達爾文主義者,但種種跡象表明,中國的科技界纔是的真正的達爾文主義;這對硅谷的相對產出來說是個壞兆頭,因爲在中國觀念傳播和變異的速度更快。人們通常說硅谷已經替代了波士頓的128號公路(Route 128)(曾經的電子工業中心)成爲技術創新的地理中心,部分原因是硅谷更開放的勞動力市場允許創意在公司之間自由流動。中國採取了同樣的做法,並且更加完善了這種策略。想要在競爭激烈的中國科技行業中生存下來,就像是想要從《黑暗騎士崛起》裏面的那個坑裏面爬出來一樣——很恐怖。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但如果你能創造出像TikTok那樣的飛輪,那麼像Reels或Triller這樣的競爭對手就很難趕上你了。Triller可能會花錢把TikTok的一些網紅挖過來製作視頻,Reels可能會嘗試從Instagram引流,但TikTok之所以能成功是因爲高效的FYP算法把創作者、視頻以及觀看者連接成一個正向的反饋迴環。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在科技行業,布賴恩·阿瑟(Brian Arthur)提出了"},{"type":"link","attrs":{"href":"https:\/\/amzn.to\/2REGqdO","title":"","type":null},"content":[{"type":"text","text":"經濟的報酬遞增與路徑依賴理論"}]},{"type":"text","text":",在這個行業當中,第一個實現產品市場匹配的競爭對手可能會脫穎而出。在一個日益緊密相連的世界裏,市場給人的感覺是越來越贏家通喫的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"字節跳動往往被說成是一家算法公司,而TikTok在過去幾周被認爲是靠這種算法的黑魔力才取得的成功;很多人甚至認爲,如果收購條款中不包含算法在內的話,TikTok就不值得購買。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"在我看來,這個觀點是錯誤的。我並不是認爲算法不重要,的確,重新訓練FYP的推薦算法可能需要很長時間,甚至這期間會導致部分用戶流失。但是,真正有價值的在於TikTok的設計和流程裏面的每一個元素是怎麼互相關聯到一起,從而創建出一個數據集,再通過這個數據集,把算法訓練成最佳性能的——這個反饋迴環裏面沒有一步是超出了美國衆多工程師的能力範圍的,我們所需要的就是理解這個飛輪是如何工作的,並保證讓每一個元素和流程都正常運轉。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我遇到過的一些產品或服務似乎在算法推薦的質量上都遇到了天花板:這裏麪包括Yelp、OpenTable、Google、Netflix等;不要誤會我的意思,這些公司很多都已在舒適區了,我只想讓他們的產品可以更上一層樓,對算法更友好的設計也許就是有效的解決方案之一。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"回顧一下,在我關於TikTok的系列文章的第一篇當中,我討論了該算法如何作爲一種匹配機制,使TikTok成爲一個可伸縮的娛樂網絡。相比之下,社交網絡必須使用社交圖譜來做興趣圖譜的事情,這就帶來了很多問題。在關於TikTok的第二篇文章中,我着重介紹了它的設計如何幫助它的機器學習FYP算法“看到”它需要看到的東西,從而有效地完成它的工作。對算法友好的設計理念可能會成爲其他垂直領域的公司如何在機器學習時代取得優勢的一種模式。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"TikTok的案例之所以那麼的迷人而且異類,還有最後一個原因。這一點與軟件和算法關係都不大,而與我孜孜不倦研究的文化決定論有很大的關係:創意的網絡效應。這將是我關於TikTok系列文章的第三篇,也是最後一篇文章的主題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"英文原文鏈接:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.eugenewei.com\/blog\/2020\/9\/18\/seeing-like-an-algorithm","title":"","type":null},"content":[{"type":"text","text":"https:\/\/www.eugenewei.com\/blog\/2020\/9\/18\/seeing-like-an-algorithm"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章