讀了才算書(數)

很早以前,我就明白「大家認為一個有程度有文化的人應該讀的書」和「你真的願意老老實實讀完的書」是完全不同的,我想這個道理,大家也都知道。就像大家手裡都有一本 《21世紀資本論》,或者一定要在公共場合撂兩句藍的、紫的、灰的犀牛,但是真的唸完 Thomas Piketty 大作三分之一的,大概十不得一吧。

真的要搞清楚大家正在讀什麼,其實不大容易,有了 Kindle,搞清楚大家都讀了些什麼,變得容易一些了。亞馬遜新推出的 Amazon Charts,充分利用了 Kindle 帶來的數據優勢,再加上對人性、社群網路運作的洞見,讓我們看到書籍的推薦系統的新火花。TechCrunch 的作者 Ingrid Lunden 一槍命中,Amazon Charts 展現數據能帶給我們的驚奇,最可怕的是 encourage the close loop 啊。

What’s notable here is how Amazon is sticking very closely to data on its own huge platform to encourage the closed loop.

簡單說,只有開始讀了,書才是書,不然只是擺設或者沉默的 bits。也只有讀了,賣書的人才知道下一本你會買的書是什麼,所以讀了才算書,讀了才算數!

Readmoo  的決策者和產品經理們,有沒有什麼想法呢?

Source: Amazon Charts, Amazon’s new bestseller list, ranks titles by ‘most read’ and more | TechCrunch

記一次推薦系統對話

兩個禮拜前,網友從谷歌找到接近十年前關於推薦系統評估指標的舊文,跟網友在臉書上聊了幾句,有點意猶未盡;又有點想稍稍彌補當初系列文章泡湯的遺憾,所以又續貂一篇《如何評估推薦系統(二)》。

續貂之後,正在 hands-on 的網友說了幾句他的心得,於是我又多嘴了幾句。所以索性再多寫幾句,為這次對話做個小結

推薦系統早就遠離 MovieLens 那個時代,基本的框架和演算法,都相對成熟許多。而且因為確實有不少提高業務收入和客戶黏性的具體實例,產學互相刺激促進,已經發展成一個生氣蓬勃又接地氣的領域。

-

依不才愚見,推薦系統的實務,固然還有許多必須再深究、細究的題目。但是學界角度的研究,則到了一個需要重新盤整的時候了。

不只一位從學界跑到業界的推薦系統大老,說過不要擔心用什麼演算法,先建一個系統起來(Build it and they will come. 的推薦系統版本 ?),有了數據,再慢慢調整演算法和優化實做細節。

有些指標確實對發表論文有顯著意義,但是在真實世界這一個演算法和那個演算法其實沒有什麼差別。真正的現實是,目前比較好的推薦系統實蹟的例子,都有一句隱臺詞沒有說出來,系統背後有一個強大的運營團隊在搞東搞西(說的粗俗一點啦)。

演算法如果循著以前的思路走下去,當然還有許多東西可以深挖,去年 Xavier AmatriaiaACM RecSys 2016 的演講中特別提到隱式回饋(implicit feedback)的問題,設計演算法時用那些數據,不用那些數據,數據怎麼解讀,還有很多地方需要去探索。

從文獻上來看,像 usefulness 、confidence 、serendipity 這些指標的思考角度,其實早在 2004 之前就有學者已經踏出一步了,但是實務界那時還沒顧及到這個層次。

但以目前線上使用的演算法的思路,要顧及再評估系列前文 中談到的 relevance 和 serendipity,恐怕很難。過去的演算法,說穿了本質上,都是 numerical-based reasoning 的思路,促進銷路不能說沒有用,但是在 familiarity、relevance & serendipity 上這些已經觸及人類消費心理疆域的思考上,有對牛彈琴的問題。

ResysChina 的核心團隊中,有人在微信上聊到用 AI 技術,讓推薦系統往前跨一步,從滯後一步的解讀你以前是怎樣的一個人,真正往前跨到預測 你可能變成怎樣的人。竊以為這個想法值得再深鑽下去。

借用 ResysChina 發起人谷文棟兄的說法,做為一個「曾經」的推薦系統選手,心裡確實有許多遺憾,但是實在有許多課要補,才能真正面對推薦系統的詩和遠方這個問題。

至於怎麼補課天知道咯….

如何評估推薦系統(二)

最近有網友看了舊文《如何評估推薦系統(一) 》,詢問這文章是否有續集。依印象所及,續集是有的,只是打散了,分成幾篇短文。想想又覺得似乎少了什麼東西,於是翻了以前 Google+ 的私人訊息,實驗室的學弟五年前就問過我第二篇怎麼不見了,我在 blogger 後台找了又找,無奈發現真的不見了,究竟是我半夜夢遊把文章殺了,還是系統資料庫的異常,已經不可考

之所以確定真的有第二篇,是因為在私訊中,我們討論了第二篇中我談到某個罕見指標 confidence 的參考文獻,因為找不到第二篇筆記原稿,只好找了 2004 最早談 confidence 原始概念的文章,讓學弟自己循線鑽下去。

不管怎麼呼天搶地,沒有存檔讓整件事情完全無解,只好摸摸鼻子認了。時間久了,我自已也忘了這件公案,若不是網友詢問,我自己都忘了這件事。

後來我寫了幾篇短文,談常見數字指標之外,商業意義更濃的幾個指標,只是沒有再用數字二、三、四為文章編號下去。

這篇自白,就權當評估系列的第二篇吧

我承認,確實有些數字指標的定義還沒寫進如何評估系列,比如機器學習領域著名部落格 FastML 的文章 Evaluating recommender systems 介紹的 NDCGMAP 。有些已經談過的指標,其實還有未盡之意,比如 ResysChina 知乎專欄,有篇文章《多高的 AUC 才算高》就把 ROC/AUC 的統計意義和陷阱說的透徹許多。既然已經有更好的資訊源,我就不做沒必要的複製貼上了。

第一篇文章最後,我說接下來要討論的是推薦系統的 usefulness ,但關於推薦系統效用的討論後來分成幾篇短文,沒有彙整成一篇比較全面的長文。

所謂「有沒有用」這檔事,很難量化,至少都目前為止,我們沒有精準度量用戶情緒和感覺的辦法。如何解讀用戶與系統的互動、用戶對接收到訊息的回饋的複雜與困難,從之前 Netflix 為什麼改變用戶評分機制的討論,和去年 Xavier Amatriaia 在 RecSys 2016 的演講 Lessons Learned from Building Real­-Life Recommender Systems 中特別提到隱式回饋(implicit feedback)的重要性這兩件事,可見到冰山一角

儘管如此,推薦系統的研究者還是很努力的抓出一些所謂的共性和特徵,比如據說曾經存在的第二篇文章談過的 confidence,或者我在《為什麼只有準確率是不夠的》提到的 familiarity, novelty & relevance,還有在《Novelty and Serendipity》裡面我簡短提了一些對 serendipity 的看法。簡而言之,推薦系統要有效,必須要夠「切題」、「有趣」、「驚喜」。但是這些指標,與其說是 metrics,不如說是「期望(expectation)」或「要求(criteria)」。****

除了上面提到的各式指標和評估準則,現在還有另外一種想法。推薦系統在商業領域的運用越來越廣泛,有實務經驗的專業人才越來越多,關於如何評估推薦系統這個問題,有了不一樣的體會(和態度),對於數字指標的追求,態度也不同了。Cloudera 資料科學總監 Sean Owen 在回答 Quora 問題 What metrics are used for evaluating recommender systems? 時,就直截了當的表達「不管黑貓白貓,會抓老鼠的才是好貓」的態度:

Yes, absolutely. The best metric is how much a system adds value to the end user and/or business. (Hopefully the same thing.) Really, you want to do some kind of A/B testing to see whether recommendations increase usage, clicks, etc. and how much.

還有更直接的,比如 Recombee (這家公司提供的服務是 Recommender as a Service)的 Tomáš Řehořek 在他們的企業部落格發表 Evaluating Recommender Systems: Choosing the best one for your business,用他自己的話說,在我的評估系列第一篇講過的 RMSE、MAP、Recall、Precision、Coverage 等等,是「離線的學術指標」,真正面對客戶解決問題的人,用的是「線上商業評估技術」。其實這些所謂的 online business evaluation 就是我們已經聽到耳朵都生繭的 performance review ,比如:

  • A/B testing with CTR/CR,
  • ROI calculation,
  • QA, empiric evaluation, compatibility with your product vision,
  • CLV (difficult to measure, yet Holy Grail to achieve)

這種實用主義者的態度,是商人和工程師的態度,很難說是不是最「合適」的態度。但是我們不得不承認,像 Seredipity 和 Novelty 這種指標,最多只能提供我們一些商業上如何行動的導引和建議,我們很難具體的評估推薦名單「新奇」或是「有用」的程度,因為我們沒辦法衡量、體會消費者的感受與情緒(也許以後辦得到)。我們也只能試試這個,試試那個,然後讓 A/B Test 告訴我們那個招式有機會能老闆賺更多錢!

攤手…

使用 Likert Scale 的陷阱

之前談 Netflix 為什麼要更改評分機制時,提到分數制的幾個缺點,其中一個是分數的差距影響 RMSE 的計算,那時我是這麼說的:

以前整理推薦系統文獻的時候,我還想過幾個可能。一是評分制可能扭曲 RMSE 的計算,1-2 和 3-4 的差距都是 1,但是在實際情況裡,前者是無論如何都不愛,後者是從猶豫到堅定,說不定就聽了商家的推薦,心安理得的「手滑」一下了。所以數字指標不能說明系統的表現好壞。

今早想起,在 2011 年整理資料的時候,我就思考過這問題,而且整理了一份筆記。當初寫的筆記,原文重貼於下,筆記中提到的 Xavier Amatrian 現在已經轉戰 Quora 了。

 

 

 ~ original published on blurkerlab.blogspot.com at Apr 10, 2011

 

在西班牙電信公司 Telefonica 研究院 工作的學者 Xavier Amatriain,前幾天在網誌上發表了一篇文章 Recommender Systems: We’re doing it (all) wrong ,談到研究推薦系統的學者和開發者,在使用數據時,務必要注意數據的性質。

很多人使用 Likert Scale 做評分(Ratings)的量表基礎,比如說像「非常不喜歡、喜歡、無所謂、不喜歡、非常不喜歡」這樣的評分表就極爲常見,但是 Xavier 提醒我們 Likert Scale 的數據是 ordinal data ,這種數據僅僅表達次序關係,但是兩兩評分之間未必是 equidistant 的。若用這樣的數據計算距離(計算距離是相似性的基礎),其結果可能是失真的,循此邏輯推演下去,計算推薦系統準確率的指標 RMSE 的意義也可能失準。

從數學的角度來看,誤用定義當然是極爲嚴重的基本功的失誤,但是若從實務上考量,把 Likert 式評分當做 internal data,對推薦系統的成果究竟影響又多大,實在不好說 。不過,看來在這一點上不察,誤把馮京當馬涼的研究人員和開發人員可能不少哦!

Xavier Amatriain 寫這篇文章,是受 Judy Robertson 在 Blog@ACM 上的文章 We’re Doing It Wrong 所啓發。Judy 在文中提到 2010 ACM Conference on Human Factors in Computing Systems  有學者發表研究 前一年會議中發表論文《Powerful and consistent analysis of Likert-type rating scales 》,爬梳學者使用的數據和統計工具,發現驚人的事實,原文是這樣的:

Kaptein, Nass, & Markopoulos (2010) published a paper in CHI last year found that in the previous year’s CHI proceedings, 45% of the papers reported on likert type data but only 8% used non-parametric stats to do the analysis. 95% reported on small sample sizes (under 50 people). This is statistically problematic even if it gets past reviewers!

使用 Likert Scale 作爲實驗分析方法的學者竟然約略達到五成,Judy 在文章下半部提出她對此現象原因的觀察和建議,我對統計是大外行,只能點頭諾諾。但最抓住我眼球的句子是“95% reports on small sample size”這句,產業界鮮少有人信服學界真能做出「有用」的東西,確實有點道理,怨不得人。
[參考資料]

Kaptein, M., Nass, C., Markopoulos, P. (2010) Powerful and consistent analysis of Likert-type rating scales. In Proceedings CHI 2010, ACM, New York, NY, 2391-2394. DOI= http://doi.acm.org/10.1145/1753326.1753686

Netflix 為什麼要改變評分機制

上禮拜,Netfilx 揚棄了五星制的評分機制,改成喜歡/不喜歡的二元式評分,聲稱使用者的評分其實沒有你想的那麼重要(not relevant)。就我印象所及,普遍對這個改變的反應都蠻正面的,連包山包海的 John Gruber 都毫不猶豫的給個讚

把分數制改成好惡兩分,不是新鮮事,早在 2009 年,YouTube 就這麼幹了。那時 YouTube 為了解釋為何把五分制改成 Thumbs Up / Down,在公司部落格上公佈他們的數據,在1到5的評分制度下,絕大多數的人都給5分,要不然就不給分,還有少量的人給 1 分, 2 – 4 分確實是不折不扣的無關緊要(not relevant)。下圖就是 YouTube 自己公佈的圖形,2 – 4 分的數據點幾乎就要黏上座標軸了。

-

Source:YouTube Official Blog

以前整理推薦系統文獻的時候,我還想過幾個可能。一是評分制可能扭曲 RMSE 的計算,1-2 和 3-4 的差距都是 1,但是在實際情況裡,前者是無論如何都不愛,後者是從猶豫到堅定,說不定就聽了商家的推薦,心安理得的「手滑」一下了。所以數字指標不能說明系統的表現好壞。

我還聽過一個說法,評分制還要考慮政經、社會、文化的發展與取向,在一個只講中庸,不想做出頭搋子的社會裡,大家都點 3 分,1 分和 5 分是不是反而變得無用了。

信馬由繮,跑得太遠,回到主題來,評分制度這個主題,項亮這段話,講的頂靠譜。這是真正打過仗,有實戰經驗的牛人才能說出的真知

一直觉得Netflix Prize其实误导了整个推荐系统的发展。当然应该说是更早的MovieLens就误导了,只是Netflix Prize没有纠正过来。这个误导就是,评分预测其实不是重要的问题,反而是一个很次要的问题。因为,当人民群众拿着Netflix Prize的算法准备用在自己的系统里时,顿时傻眼了,因为没有评分数据。他们有的只是观看数据,点击数据,购买数据等等。这些数据有一个特点,就是user-item矩阵中所有的非missing值,都是1。而不是Netflix Prize里面的评分

總之,不管是 5 分和 10 分也好,主要有幾個問題:

  • 沒有消費的人,是不會給分的
  • 消費者必須每次消費完商品,都認真的「捫著良心」「不辭勞苦」的給分,這是不可能的
  • 評分制並不是真正能「描繪」真實世界情況的數學模型 (這恰恰是我們對數學模型的期望)
  • 計算的複雜度和難度 (項亮在他的大作中有提到這些麻煩事和解決之道,我就不複製貼上了 XD)

耐人尋味的是,為什麼 Netflix 等這麼久才做改變?無論如何,最後送上 xkcd 漫畫一幅,絕對切題的絕世好畫啊!

長樂路的故事

奉命幫寒舍領導收集英文演講比賽的教材範例,在 YouTube 上發現 Rob Schmitz 在《一席》的演講《敲開中國鄰居的門》,演講內容是介紹他 2016 年 5 月出版以中國為主題的新書《Street of Eternal Happiness: Big City Dreams Along a Shanghai Road 》,演說內容和他所說的故事的背景,在部落格文章《被禁止的記憶》和壹讀的文章中有詳細說明。

-

我蠻喜歡 Rob Schmitz 在演說中說故事的方法,娓娓道來,非常有魅力。我很喜歡這樣的「演講」,但是現在學校裡面的演講訓練,還是這一夜誰來說相聲裡面語言的藝術那一套。過去幾年,常常被拉伕接送參加比賽的孩子們,於是在語文比賽現場旁聽不只一回,每每最令我做嘔的「演講」者,就是當屆分數最高的那一位。我想,我不只是一肚子不合時宜,連耳朵也和這時代格格不入。

人微言輕改變不了什麼,小小抱怨一下,純發洩,純 XX。閒話休表,還是來聽聽 Rob Schmitz 怎麼說故事吧

Rob Schmitz 與 Peter Hessler 是 1996 年同批抵達中國的 Peace Corps 志願工作者,Peter Hessler 被分發到涪陵,Rob Schmitz 被分發到自貢。他們兩人在完成兩年志願工作後,都繼續深造新聞寫作,然後回到中國擔任重量級(傳統)媒體的中國特派員。Peter 的中國三部曲,早就在兩岸讀書人中膾炙人口,Rob 的《長樂路:一條上海馬路上的大城市夢》,則是他的第一本書。

有段時間,追了很多所謂的中國書寫,比如傅高義的《鄧小平時代》、何偉的中國三部曲、《野心時代》等等,後來一則因為興趣越發廣泛,再則中國主題的好書,自認開發的差不多了,壹讀文章裡介紹的中國觀察書籍,除了 Michael Meyer 的書之外,我都購買了 Kindle 版本。所以漸漸不再放太多心思在這類主題上,於是中國觀察在我的 Amazon 推薦書單逐漸消失。若不是這回在 YouTube 巧遇,恐怕我不會注意到 Rob 的《長樂路》(嗯,這又是個推薦系統影響消費的活生生例子)。

從演說和前面提到部落格文章的內容判斷,這本書和中國三部曲的書寫方式一脈相承,用一個一個人在時代中的浮沉、掙扎、奮起,串起整本書。但是還沒看過全文,所以只是猜測。

親自目睹20世紀90年代中國大陸鉅變的外國人,如果有提筆能力,應該鮮少有人能拒絕動筆寫些什麼的誘惑吧。有時候我想,應該有人去瞭解下 1996 被分發到四川的 13 位 Peach Corps 志工,看看他們現在在做什麼、想什麼,怎麼看 2017 年的中國。

這是個好的的書籍企畫點子!?

都不是真的

下圖是 2009 年某產品白皮書裡面的插圖,原始出處不明。此圖深意,歷久彌新

根據數據分析,住在我那個社區裡的人都喜歡不辣的食物,喜歡網球勝過高爾夫,訂閱至少一本新聞類的雜誌, 擁有30來條領帶, 從來不買檸檬香味的產品,而且在我的地下室有一個重型機床。

這些都不是真的,下面這個才是真的,ha ha ha…