2021年2月27日 星期六

大數據架構和算法實現之路:電商系統的技術實戰

 

工作上是管理大數據平台和建置其上的個人化推薦系統,目前在系統設計、開發和維運算是得心應手。不過資訊技術進展一日千里,為此我總會買些大數據、推薦系統的專書來溫故知新。翻閱過數本推薦系統的好書後,和本書作者黃申在序中出提的想法一樣,這些專論推薦系統的書目分別處於理論和技術的兩個極端。不是純粹介紹理論、演算法、數學公式和學術進程,像是一本大學院校的教科書,另一種是過於微觀地介紹單一技術工具、框架,從安裝設定到開發、操作步驟,像是常見的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也是我目前採用的開源框架,再一次讓我直呼好巧。

在建置推薦系統時累積的許多想法和技術巧門,曾經動心起念要書寫成冊。畢竟推薦系統這個主題涵蓋大數據、搜尋引擎和機器學習三個當下十分火紅的資訊領域,而且還能跨足數位行銷的範疇,也是行銷資料科學中一個重要的應用。在實務操作中,除了滿足算法需求,得克服效能瓶頸,更要關注消費心理學,與公司商業策略相互呼應。

「大數據架構和算法實現之路:電商系統的技術實戰」的內文,很多和我個人的體悟如出一轍,其中還有不少目前我還未嘗試過的設計。有幸翻閱本書,一來感嘆資訊科技萬變不離其宗,自身的領悟與心法非舉世所罕見,已有行家立著成冊,不勞我費心落筆分享。二來慶幸,自己一路走來琢磨、堆積而成的推薦系統,在設計思維和整體架構上,和對岸名人大腕的做法相比也毫不遜色。可以說是「德不孤,必有鄰」嗎?


2021年1月31日 星期日

英國哪有什麼好?

 對於不曾在海外長住的讀者來說,要認識外國風土民情的最經濟實惠的做法,就是閱讀。「英國哪有什麼好?」的作者「艾莉雅」直言,如果大家對英國印象是來自於報章媒體、影集和電影,那一提到「英國」應當會聯想到女王、皇室、司康和下午茶,以及滿街遊走氣質翩翩的紳士與淑女。而此書將花大半的書頁打醒你,讓你拿下玫瑰色的眼鏡來重新檢視英國。

先講壞的,有別於台灣人任勞任怨的水牛精神,英國人的工作態度有時會令人不敢恭維,作者分享她辨理網路和與水電工打交道的親身經驗,就是鬼打牆的預約、處理失敗、再預約,不曾有一次就辨好的服務品質。再者,雖然英國本土有為數眾多的非裔國民,都是早在殖民時期就歸化成公民的後裔,卻還無法達到不同族群間的相互包容與理解,英國白種人至今仍然有難以根除的種族歧視。有色人種的觀光客若走到治安較差的區域,被無禮挑釁甚至暴力攻擊的事件不算少見。

英國有著歷史最悠久的民主體制,但是今日的英國國會已經被視為政局動盪不安的禍源。在歹戲拖棚的「英國脫歐」事件中,全世界都看到了各思己利和短視近利的國會議員,如何把狂言變成政策,並無視國家整體利益一意孤行。

相較於台灣有著引以為傲的全民健保,英國的醫療保險制度也令人稱奇。英國也是走全民健保體制,但在執行面上卻是嚴格遵守分層、分級提供服務。感冒等小病只能找家庭醫師,但要事先預約,好不容易等到預約的那天,感冒也好了。也因此英國人習慣上是不看小病的,多半仰賴成藥來解決身體上的小毛病。這也間接說明,為何英國政府無力防止「新冠肺炎」的擴散。因為英國民眾,普遍認為傷風感冒只要在家休息,吃點成藥就好,並不會特別去醫院檢查、治療。

書的後半開始講英國好的一面,英國的國民教育課程,是貨真價實的多元發展、五育均衡的全人教育。促成多數國民相當重視歷史文物保存,也樂於參觀各種藝術表演。全國有豐富的藝文活動、數不清的博物館,以及令台灣為之羞愧的綠色城市景觀。

作者「艾莉雅」也從日常生活中的食衣住行等面向,分享英國style的獨特之處。首先有別於大眾的刻板印象,英式美食其實不僅止於炸魚薯條。只是英國人對吃食總是抱持著「外食吃的簡單、在家吃的隨性」,不專研作工繁複的烹飪手法,上班上課時可能就只吃的簡單的三明治,煎牛排配上烤馬鈴薯就是令他們心滿意足的大餐。因此相較於華人天上飛、地上走、水裡游都能入口的「人以食為天」,英國人當然就顯地吃的粗俗、簡陋、不值一提。

「英國哪有什麼好?」讓讀者不出國門,卻能吸取對英國人文風土的見識。它無所不在的階級觀念,多元又深具創意的電視文化,都能透過閱讀這本書而略知一二。對英國國民多一層瞭解後,未來從新聞中看到英國在「脫歐」、「防疫」等事件中的荒腔走板,也就沒那麼跌破眼鏡了。

2021年1月30日 星期六

比句點更悲傷

 

 繼「你好,我是接體員」後,大師兄又出了「比句點更悲傷」。書名取得十分巧妙,理應生離死別是人生最離跨過的關卡,但書中的故事都是死別之後所引發,令人不忍聞問的種種不堪,真的是比「句點」更讓人悲傷。

人世間的愛憎恨,有時候並不會因為死者為大而消釋。相反地死亡像是一台情感放大機,它將夫妻、家人和親友間的種種,無論是互相扶持的美還是反目成仇的醜,都放大、增幅到極至。在人生最後的時刻,振發出強烈又沉重的休止符。

全書閱畢不免讓人嘆息,雖說一樣米養百樣人,但人際之間的齟齬,總結來看也不脫情財仇。人的一生,就好像在紙上畫出一條無止盡的直線,去連結原點和終點。而原生家庭提供的「教」和「養」是決定落筆的方向,角度偏了,線越畫離終點越遠,人也就走偏了。幼時教養的缺漏,可能就得付出數十年甚至用一輩子的時間來修正。書中所見比句點更悲傷的故事,多半離不開「貧窮」和「無助」。

大師兄和「做工的人」作者林立青,可說是以文載道。透過文字向大眾傳達他們在社會底層中的見聞。讓讀者體悟反思,身處的國家社會一直有著我們不曾見過的陰暗面。「比句點更悲傷」延續「你好,我是接體員」的風格與品質,喜愛前作的朋友們可以趕緊入手翻閱。

 

2021年1月23日 星期六

魚夫人間味:邊吃邊說四十年


我對魚夫的印象,大概就是他曾在有線電視的政論節目上評論時政,是位帶著泛綠政黨色彩的名嘴。透過「魚夫人間味:邊吃邊說四十年」才知道,他早期是在報業裡擔任漫畫記者,畫得一手好畫,而且他還是個深藏不露的本土美食家。

除了美食和店家的典故,魚夫也會提及過去台北城區內的繁華殞落,像是「中華商場」、「圓環夜市」等歷史地景,現在只能用筆墨文字讓讀者遙想那個時代曾有的榮景。縱貫全書,依稀可以領略早年的台北城是以艋舺和西門町為商業中心,大江南北的美食都聚集在此。在經歷數十年的光陰後,也真正成為令饕客無法忽視的「古早味」寶地。魚夫列出的美食名店,十之有九正位於北市西區。

「魚夫人間味」可說是魚夫在文字、漫畫、對吃食的考據和個人情懷集大成的留世之作。主題圍繞在台北城裡,這數十年間曾經出現過的各家美食名店。被提及店家大多手藝不凡,經得起不同世代饕客的考驗,能傳承二、三代至今。也因此本書也能讓讀者們按圖索驥,跟著魚夫的腳步吃遍台北!實際上我也真的這樣做,按書嘗過了「中華餡餅粥」和「華西街夜市旗魚黑輪」,果真沒讓人失望。

最後整理店名如下,方便有心之士前往嘗鮮:
西門町鴨肉扁
小南門點心世界
溫州大餛飩之家
張記韭菜水煎包
趙記山東饅頭
中華餡餅粥
阿宗麵線
老王記牛肉麵
張家清真黃牛肉麵館
元春沙茶爐
昶鴻麵點
阿義魯肉飯
阿猜嬤甜湯
一肥仔麵店
旗魚黑輪
金春發牛肉店
魷魚標活魷魚
阿貴姨原汁排骨湯
條仔米苔目
三元號滷肉飯
圓環邊蚵仔煎
慈聖堂魩仔魚炒飯
民樂旗魚米粉
永樂市場𩵚魠魚羹
枝仔冰城
顏記杏仁露
妙口四神湯
林合發油飯
迪化街老麵店
胡記通化街米粉
波麗路西餐廳

2020年12月19日 星期六

日本鐵路便當學問大:便當裡的故事

 

相較於台鐵便當用一個排骨就制霸全國,日本鐵路便當可說是百花齊放,令人目不暇給。北至北海道肥美巨碩的螃蟹、鮭魚卵,南到沖繩韻味十足的黑豚、黃金薯,日本職人竭盡所能地把當地農漁物產濃縮到方寸之間。以便當盒這個載體,將「千滋百味,共聚一隅,車馬相逢,一期一會」的日式美學傳達給遊客。

台灣人喜歡熱騰騰的飯菜,偏偏日本鐵路便當九成九皆是冷食菜餚。日本料理人竭智心力開發出冷了也好吃的山珍海味,遇到不解風情的台灣消費者,把便當丟到微波爐加熱食用,這就是「你的糖衣,我的毒藥」的新解吧。日本當地為常勝軍的橫濱便當老店「崎陽軒」來台北車站設點後,也得入境隨俗地擺起蒸籠賣起熱燒賣便當,可見民族的飲食習慣是根深蒂固,幾乎無法動搖。排除冷食在台灣亞熱帶氣候有不易保存會食物中毒的疑慮,我個人則是偏愛放久也美味的日本便當。

市面上也有以日本便當做為主題的書,但多數是翻譯作品。「日本鐵路便當學問大」的作者Sunny是台灣人,先天受制於跨國取材的不便,卻仍然為讀者端出讓人眼睛為之一亮的紙上便當美食巡禮。有別於另一套知名的「鐵路便當之旅」日本漫畫,是以列車旅行的故事橋段鋪陳,穿插呈現各地車站出現的鐵路便當。Sunny單刀直入將幾十種特色便當分成八個主題,以跨頁編排圖文並陳。左頁描敘主題便當背後的故事,右頁搭配餐盒正面彩照。像是直球對決,鍞定喜愛日本鐵路便當的讀者。在圖片的附註,作者會直言菜色的嚐後感,看不到無謂的客套話(很多菜餚被說是「味道普通」)。

「日本鐵路便當學問大」不是簡單的一本便當圖鑑,它提供了許多與日本鐵路便當有關的知識。諸如,幕之內便當原本是觀賞表演時,在中場休息時間裡享用的餐盒,因此多樣化菜色和方便食用的食材大小是它的特色。冷食便當源自於日本人貼心的一面,避免在火車裡用餐時,食物散發出來的氣味影響到同車旅客。日本的鐵路便當,是鐵道公司委外由專業的餐飲業者來製作,也因此會體現出日本各地不同的物產與飲食文化。書中這些頗具趣味的便當趣事,相信也能成為日本便當發燒友們茶餘飯後的談資。


2020年12月13日 星期日

蓬萊百味臺灣菜:黃德興師傅的料理人生

 

說到台灣菜你會想到什麼?是「青葉料理」裡的菜圃蛋、瓜仔肉和三杯雞,還是喜慶婚宴的「辦桌」吃到的紅蟳米糕、清蒸鱸魚和佛跳牆。「蓬萊百味臺灣菜」一書,是台菜名廚黃德興師傅的口述自傳,由於黃師傅年近百歲,他一生在餐飲界的歷練經歷,也等同於臺菜文化變遷的珍貴史料。讀者可以看到國民政治來台前後期到李登輝執政,台灣各時期經濟環境的差異,近而形成的飲宴文化。

黃師傅是北投人,民國初年大環境的經濟條件很刻苦,為了謀生讓親友引介到知名酒樓「蓬萊閣」當童工。「蓬萊閣」為日治時代就聞名的高級酒樓,是政商名流相互招待的交際場所。它有著和席與漢席料理菜譜中有上千道菜餚,魚翅、鮑魚各式山珍海味,連豬油都自己用豬油脂自己爆,高湯還能分一級、二級和三級三種。台灣仕紳的經濟能力和文化素養的巔峰位於日治時期,而隨著國民政府來台而每況愈下。黃師傅在因緣際會下在「蓬萊閣」見識到極致的臺灣菜,許多菜餚至今僅現於菜譜。像工序繁複的菜色像「圓仔燕」、「金銀燒豬」,用料奢侈的「百鳥朝鳳凰」、「一品鍋」已經不再復現於今日。

國民政府對公務人員的禁奢令為酒樓招待文化劃上休止符。銀行、企業各自成立招待所,將交際應酬潛藏到抬面下,間接造成像「蓬萊閣」這類高檔酒樓的式微。黃師傅也在酒樓結束經營後,轉向北投酒家執勺,參與了臺菜轉型的下個階段。早期的北投溫泉文化講白了就是風俗業、「查某間」,經營者多半有著黑道背景愛「風神」,菜色開始重視擺盤,並推出創意、特色料理以吸引客人。賓客來消費是醉翁之意不在酒,性交易為主,料理次之,造成了備料簡便、出菜迅速的清粥小菜、涮火鍋的興盛。也是「青葉料理」這一派台菜的源起,自此做工繁複的古早味臺菜便漸漸失去舞台。

隨著政府廢娼的政策,北投風俗業受到打擊。黃師傅手藝精湛已成為名廚,受邀到當初新成立的「來來飯店」負責臺灣料理擔任主廚,這也是推進黃師傅職涯更上一層樓的因緣。現代化的飯店管理制度,將本求利的食材、人員費用管理,都是黃師傅在來來飯店任職時必須面對的挑戰。雖然透過「來來飯店」這個舞台能擴展政商名流的人脈,但業績壓力和無法自主決定菜餚的方向,讓他權衡之下選擇離開。輾轉歷經數個職場後,最後黃師傅終於落腳在讓他名聲響亮的高級餐館「康熙苑」。之後他能盡情發揮所長,鑑古立新地簡化、改良臺灣菜,爾後更走入校院教導學子傳統臺菜的精髓。正逢台灣意識的蹶起,臺菜從此進入自成一大家的格局。

經濟高度成長後的台灣,我們對飲食的需求從最早的「吃粗飽」變成近期的「吃好、吃巧、吃健康」。重油、重鹹、大菜眾人分食的臺灣料理,不免令人退避三舍,變成年節喜慶才會享用的罕見佳餚。「蓬萊百味臺灣菜」一書除了讓讀者領略台菜變遷的始末,從中也能發掘許多古早的人情世故。譬如早期的黑道與風俗產業、警察包庇的盛行。從日治時代名流往來的招持風氣到國民政府遮遮掩掩的設立招持所,大老闆和政府人物酒酣耳熱的好交情,從來不曾退流行。電影「一代宗師」中有句台詞「見自己、見天地、見眾生」,黃德興師傅就其平生經歷,可謂是臺灣菜的一代宗師。

2020年12月7日 星期一

日本大不同:決戰東西篇 / 日本大不同:縱橫日本篇

 

「日本大不同」兩冊書,以設計感十足的封面和獨樹一格的開本尺寸,讓它常被文青小店、日系百貨挑來當做店頭擺飾。內容則是相當輕鬆易讀的各種日本文化「豆知識」,像是那個地方的醬油最甜、何處的豆皮壽司是什麼形狀等等。對非哈日族而言,這些支微末節的日本各地文化差異,真的無關宏旨。但日本人就是能把一個看似槁木死灰的主題,像戶愚呂弟般用盡120%的力氣,讓整本書散發出濃厚的日本味。

書頁穿插著精緻細膩的文物圖片,這也是「日本大不同」系列叢書的精華之處。雖然拍攝的東西,都是你我生活上常見的物品,比如酒杯、黑輪、火車等。專業攝影師「山出高士」的取景,配上「岡部敬史」口語般的文字,產生了一加一大於二的效果。武斷地說,假若刪除這些高質感的照片,僅靠「日本大不同」本身的內文所展現的吸睛力,可能還不如緯來日本台播出的「日本大國民」。

作者「岡部敬史」在書中提到了一個值得分享的觀點。他認為日本東西(關東和關西)文化的差異,都源起於人們對傳統的「堅持」,也就是這份堅持造就了許多「古早味」和「多樣性」。標準化和現代化,或許在經濟層面上是最理性的選擇,但如果能多一層人文的關懷,從傳統和文化保存的角度來評估,我們不該這麼迫切地追求「效率」。看看台灣各地所謂的老街,賣著千篇一律的名產小吃,其實我們和日本的差異也就高下立判了。