工作上是管理大數據平台和建置其上的個人化推薦系統,目前在系統設計、開發和維運算是得心應手。不過資訊技術進展一日千里,為此我總會買些大數據、推薦系統的專書來溫故知新。翻閱過數本推薦系統的好書後,和本書作者黃申在序中出提的想法一樣,這些專論推薦系統的書目分別處於理論和技術的兩個極端。不是純粹介紹理論、演算法、數學公式和學術進程,像是一本大學院校的教科書,另一種是過於微觀地介紹單一技術工具、框架,從安裝設定到開發、操作步驟,像是常見的Hadoop實戰、Spark入門等。
「大數據架構和算法實現之路」的作者以全然不同的角度切入「推薦系統」這主題,用電商營運中的大數據資訊處理需求當主軸貫穿全書,在各子章節中詳述設計思維、系統架構,並提供可實際運作的完整程式碼,讓讀者「知其然,又知其所以然」。隨著章節進行,範例程式逐步演進變成強大的運算模組,完成度極高的程式碼,徹底揭開大數據技術如何落地實作的神秘面紗。
這一兩年有關心IT產業動向的人,應該能感受到先前刮起的機器學習/人工智慧風潮開始消褪。我認為原因有二,一是資本市場和資訊同業的大舉投入,讓AI技術以十倍速成長而達到高原期,相關工具、框架汗牛充棟、舉手可得。同時AWS、GCP等IT領頭羊也極積推廣AI雲端服務,這些因素造成AI技術平價化,喪失成為公司營運上做為技術壁壘的優勢。其次,在僅扮演AI供應商的角色,無法獲取高利潤的情況下(AI普及化的負作用),目前又缺乏能將AI技術在市場中變現的商業模式。不論是強調未來能降低人力成本,或是主打可以提升既有服務的精準度,都無法直接對業績帶來顯著的高成長,因此從投資者/市場的觀點來看,AI技術是言過其實。
相對地,雖然大數據早先AI已步入高原期,已是十分普及的資訊技術。但它具體回應電商在不同層面所遭遇的問題,改善它們在營運管理中的痛點。推出推薦系統、精準行銷和網站追蹤等資訊服務,今日也都成為各大電商平台的系統標準配備。AI和大數據在商業價值上反映的此消彼長,如同波紋般擴散到資訊書市。開始有專書在講述如何運用機器學習/深度學習打造出電商的推薦引擎。在在證明,雖然商品推薦系統不如人臉/聲音辨識那般具有話題性,卻是電商運用資訊科技促進業務成長的最佳實踐做法。
「大數據架構和算法實現之路:電商系統的技術實戰」一書分成四部份,包含大數據、搜尋引擎、機器學習和網站行為追蹤。而前三項技術恰好吻合我在打造電商推薦系統過程中,獨自摸索、拼湊找到的核心組件。我認為一個完善的推薦引擎,必然是倚靠在大數據、搜尋引擎和機器學習這三根基柱上。雖然和書中節章順序略有不同,但看到自己一路來的領略心法,是從他人之筆成為篇篇書頁,不免讓我拍案叫絕,對黃申有千里遇知音的感觸。
書中先介紹機器學習在電商的應用,從分類、分群再到迴歸分析。全書先以故事中角色的互動帶出技術需求,再說明理論、架構,展示完整的程式碼,後續各章的綱要都是如此。雖然本章用的是較早期的Apache Mahout開源框架,但只要舉一反三,讀者可以自行改用其它開源框架(例如Apache Spark)。迴歸分析的部份,點出了機器學習如何用來進行商品銷售預測。能正確預測未來的銷售數字是個大問哉,實務上不會像書中描述地這麼簡單,但畢竟它還是成功破題,讓有志於此課題的讀者,能對技術實踐有個粗略的印象,用來踏出第一步。
全書花了近半的篇幅講解搜尋引擎的核心和應用,包括最基本的逆排索引觀念到進階的分散式搜尋架構,同時一併介紹了各據半邊天的開源Solr和ElasticSearch。當然後續重心是放在如何整合大數據分析和機器學習算法,用來優化搜尋結果頁的排序,最終達成個人化搜尋。光是這些內容,「大數據架構和算法實現之路」就能充當為一本搜尋技術專書,可見黃申在搜尋領域的專精與經驗。
在錙銖必較網頁回應效率的電子商務,推薦系統一方面要滿足特定演算法的需求,另外也得遵守整體網站訂定的系統回應速度。為此絕大多數的推薦系統都會導入搜尋引擎做為核心模組。武斷地說,想打造大數據導向的個人化推薦系統,必須具備可以靈活使用搜尋引擎的技術力。換個角度看,推薦系統就像是個不需要消費者主動輸入關鍵字的商品搜尋引擎,可見得兩者有多相似,關係有多密切。
在推薦系統的章節,意料之中地提到了耳熟能詳的協同過瀘法,這個算法已經是每書必提、婦孺皆知。令人驚豔的是,黃申居然使用搜尋引擎來實作此算法,而不是採用開源的機器學習框架。他活用了TF/IDF和逆排索引的特性,以開創的做法,簡單、迅速地完成了基於物和基於人的協同推薦服務。黃申描述的個人化商品推薦,和我這些年摸索打造的推薦引擎不謀而合,是藉由大數據的運算能力,混合群眾和會員個人的商品偏好,即時呈現給消費者最感興趣的商品。
電商經營不可或缺的數據追蹤,本書當然沒有遺漏。它先比較第三方方案(例如GA)和自行打造平台的優缺點,再具體而微地展示利用大數據技術該怎麼打造出客製的網站行為追蹤系統。裡面採用的Apache Storm也是我目前採用的開源框架,再一次讓我直呼好巧。
在建置推薦系統時累積的許多想法和技術巧門,曾經動心起念要書寫成冊。畢竟推薦系統這個主題涵蓋大數據、搜尋引擎和機器學習三個當下十分火紅的資訊領域,而且還能跨足數位行銷的範疇,也是行銷資料科學中一個重要的應用。在實務操作中,除了滿足算法需求,得克服效能瓶頸,更要關注消費心理學,與公司商業策略相互呼應。
「大數據架構和算法實現之路:電商系統的技術實戰」的內文,很多和我個人的體悟如出一轍,其中還有不少目前我還未嘗試過的設計。有幸翻閱本書,一來感嘆資訊科技萬變不離其宗,自身的領悟與心法非舉世所罕見,已有行家立著成冊,不勞我費心落筆分享。二來慶幸,自己一路走來琢磨、堆積而成的推薦系統,在設計思維和整體架構上,和對岸名人大腕的做法相比也毫不遜色。可以說是「德不孤,必有鄰」嗎?
