花式玩轉博物館,用數據和藝術品來對話!
文/紐約數據科學學院
通過收集分析參觀者的行為數據,數據俠Belinda設計了一套簡單的推薦系統,讓一家老牌傳統博物館重新變得鮮活起來。你不用擔心在參觀時,會被博物館卷帙浩繁的歷史厚度壓得喘不過氣來,因為數據會為你精心推薦一條個性化的歷史故事線,帶你領略最有趣的歷史片段。
老博物館的新玩兒法
Cooper Hewitt博物館是一座坐落在紐約、有著一百多年歷史的設計主題博物館。它始建於1896年,收藏了來自全球的優秀設計作品。從偉大的建築構想,到來自非洲的珍貴紡織品,再到反映人類歷史各時期文化脈搏的海報……博物館中的展品加起來,就是一部浩瀚的世界設計作品編年史。
這座古老的博物館位於一間同樣古老的豪宅內。1970年博物館搬進美國鋼鐵大王安德魯-卡內基(Andrew Carnegie)的一座故居。這座建於1901年的老房子擁有64間房屋,也是美國首座鋼結構的私人屋邸,這讓其擁有奢侈的空間以及頂級的採光。同時它還是首座擁有電梯、中央供暖的私人住宅,甚至還設計出了中央空調系統的雛形。而最近一次重新翻修設計,讓這座傳奇老宅的創新精神得到延續,並且徹底改變了博物館與參觀者之間的交流方式。
(圖片說明:Cooper Hewitt設計博物館內景)
2014年,博物館完成3年的整修重新開門。遊客們發現,在入館參觀時多了一個可以隨身攜帶的工具——一支電子筆。人們可以用這根筆掃描自己喜歡的展品,也可以在沉浸式體驗區使用它製作自己的設計作品。結束參觀回到家中,遊客還可以隨時在網上重溫此次遊覽——掃描過的展品會被記錄下來供你隨時查看。
(圖片說明:博物館電子筆使用指南)
這樣的創新設計,讓科技和數據能夠融入遊覽者的參觀體驗中,從而徹底顛覆了過往單向地、被動地從墓碑一樣的介紹牌中獲取知識的遊覽體驗。博物館為遊客提供了一個與藝術品互動對話的場所。
而更令人興奮的是,電子筆記錄的遊覽數據,讓數據分析師有了施展空間。博物館開放了API,感興趣的人都可以使用這些數據進行分析。我平時也很喜歡逛博物館,但是常常被這些大量的歷史知識所淹沒。所以我決定使用這些數據為博物館設計一個推薦系統,讓參觀者能夠更個性化地了解設計的歷史故事。
數據採集與分析
我使用的數據均來自博物館的Github資料庫。我一共下載了兩個CSV文件,使用R語言進行分析。數據包括:
- 展品數據:共194316件展品相關數據,包括展品ID、來源地、標籤、種類、歷史時期等38個數據維度。
- 用戶電子筆記錄的數據:2014年8月到2016年2月的3559735組被掃描的展品相關數據;時間跨度584天的電子筆數據;111467次獨立遊覽數據。
我首先對這些數據進行基本分析以掌握大概的情況。我首先對展覽所屬展區(departments)和來源地進行了基本的探索性數據分析。結果顯示,屬於繪畫,印刷品和圖片設計展區,和來自美國,法國,德國和義大利的展品最多。這一結果也符合我們的基本歷史知識:義大利文藝復興,德國的包豪斯運動,法國布雜藝術(Beaux-Arts)以及當代美國設計對藝術設計史都有不小的影響。
(圖片說明:所屬展區分布情況)
(圖片說明:展品來源地國家情況)
而在電子筆記錄的數據方面,共有兩個維度:遊客ID和物品ID。對這些數據進行基本的探索性數據分析,結果顯示平均每個遊客每次遊覽大約會掃描3到4件展品。
(圖片說明:單支電子筆掃描展品次數分布)
用「協同過濾+關聯規則」設計我們的推薦系統
接下來介紹我設計推薦系統的方法。我在設計推薦系統的過程中研究了協同過濾(Collaborative filtering)和關聯規則(Association rules)的方法。
搭建協同過濾模型時,我使用了 R 語言包 Recommenderlab 來幫助設計推薦演算法。為博物館設計的演算法主要基於:
- 受歡迎程度(popular):基於受歡迎的展品進行推薦;
- 關聯規則(Association Rules):基於在展品中所發現的各展品間(amongst items)的關係所作的推薦;
- 基於用戶的協同過濾(User-Based Collaborative Filtering),基於其他相似用戶的喜好所作的推薦;
- 基於展品的協同過濾(Item-Based Collaborative Filtering),以關聯規則為出發,基於發現的展品兩兩之間(between items)的關係進行推薦。
以用戶為基礎的協同過濾是一種以記憶為基礎的協同過濾技術。它會基於相似的用戶或使用KNN演算法識別出的「鄰居」所表現出的行為模式(pattern)進行推薦。KNN演算法即K近鄰分類演算法(k
nearest neighbor algorithm),簡單說就是對於待測點a,它最有可能屬於距離它最近的k個樣本中同類別項目數量最多的一類。在這裡,我設置一個二進位的稀疏矩陣,每一列代表一個展品,行代表每個遊客。如果遊客喜歡這個展品,那麼對應方格會填入1,否則就是0。如下圖,所有列都被加總,KNN演算法識別出的「鄰居」用藍色標出;再將目標用戶本身就喜歡的展品從推薦選項中移除(紅色x),剩下的展品中加總分數大於0的就會被最終推薦給這名目標用戶。
(圖片說明:基於用戶的協同過濾)
使用這種方法的一個阻礙,就是計算量很大,這也是KNN演算法一直有的一個問題。所有數據都必須在本地讀取,兩兩之間都要進行相似度的計算。我訓練一個基於用戶的協同過濾模型的嘗試最終失敗,因為所有訓練都顯示超時。
以記憶為基礎(Memory based)的協同過濾技術是以用戶的評分數據來計算用戶與展品之間的相關性。它的缺點在於難以處理大數據量,因此後來又發展出以模型為基礎的協同過濾技術。
基於展品的協同過濾演算法是以模型為基礎的協同過濾技術。它是利用用戶對一些展品評價的歷史數據構建模型,以模型預測用戶對新展品可能的評分。
它的前提假設是,用戶會希望被推薦與他喜歡的展品相似的展品。也就是通過計算展品之間的相似性來代替用戶之間的相似性。
這個演算法基於一個評分矩陣(rating matrix)中展品間的彼此關係進行推薦,類似於關聯規則挖掘。於是,我建立起一個相似度矩陣(similarity matrix),每行每列都代表一個展品,將使用餘弦相似性或皮爾森相關係數得出的相似度數值填入相應方格。
下圖中藍色即為與活躍用戶喜歡的展品相似的展品,每一列被加總,活躍用戶已經喜歡過的展品被移除(紅色x),剩餘的加總值大於0的展品被推薦。
(圖片說明:基於展品的協同過濾)
通過Recommenderlab包能夠讓不同的訓練演算法結合在一起,得出一個混合的模型。我嘗試將上面提到的四種演算法組合成一個混合模型。儘管我能夠對這個混合模型進行訓練,但用於預測時卻並不成功,總是顯示返回錯誤。
下面的ROC曲線(接收者操作特徵曲線)圖顯示了對混合模型進行評估的情況。關聯規則挖掘方法、基於展品的協同過濾表現優於其他組。整個模型的TPR(真陽性率)比較低,這令人擔憂,並需要進一步檢測。而我傾向於認為這背後的原因是由於之前的二進位矩陣極度稀疏。
(圖片說明:對混合模型進行評估的情況)
Recommenderlab 還有一個問題,就是無法檢視其使用關聯規則方法所找到的規則,因此我額外使用了一個關聯規則包「arules」來訓練用於分析的模型。
使用同樣一批電子筆數據,以支援度(support)為0.075,置信度(confidence)為0.8的參數訓練的一個關聯規則模型,得出了1218條規則。
研究了被推薦最多的展品後我發現:它們大多為建築類展品。我很好奇為何會這樣。對比後我發現,遊客掃描次數最多的20個展品其實也都屬於建築類,這就讓推薦結果看上去比較合乎邏輯。
是騾子是馬,拉出來溜溜
最後,我使用Shiny App(一個用於便捷製作App的包,幫助實現R語言與web交互的功能)製作了一個應用軟體,來模擬推薦系統的工作原理。用戶會看到5個圖片,感興趣可以選擇「喜歡」,否則可以選擇「不太感冒」。根據用戶的選擇,App會利用基於展品的協同過濾演算法推薦出5個新的展品圖片。用戶還可以提前設定展品的所屬年代和來源地等。
(圖片說明:Shiny交互頁面截圖)
這個App僅有基本的功能,未來還有許多可以增加的功能,比如優化圖片設計和交互細節;滑鼠懸浮於圖片上時顯示展品信息;與博物館的API進一步對接,以實時更新展品目錄等。對於辦展方和展覽館,還可以嘗試用這些數據預測遊客的興趣以及職業,進行空間分析,看展品的擺放位置是否也會影響被掃描的次數,並可以對這些信息進行可視化呈現。
註:本文編譯自 Building a Recommendation System for the Cooper Hewitt Design Museum,圖片均來自作者。文章僅代表作者觀點,不代表DT財經立場
DT君送福利:感興趣的小夥伴還可訪問 Cooper Hewitt Museum 的 API 系統,更詳細的了解這些展品數據,或者直接訪問博物館的 GitHub 平台查看有趣的數據項目。所有鏈接都可在後台回復「博物館」獲取。
題圖 | 視覺中國
期待更多數據俠乾貨分享、話題討論、福利發放?在公眾號DT數據俠(ID:DTdatahero)後台回復「數據社群」,可申請加入DT數據社群。
關於DT×NYCDSA
DT×NYCDSA 是DT財經與紐約數據科學學院合作專欄。紐約數據科學學院(NYC Data Science Academy)是由一批活躍在全球的數據科學、大數據專家和SupStat Inc. 的成員共同組建的教育集團。
數據俠門派
本文數據俠
Belinda Kanpetch 是休斯頓大學建築系本科,哥倫比亞大學建築及城市設計專業碩士,曾在知名建築設計所從事建築設計工作。最近沉迷於城市設計,數據和科技結合所帶來的無限可能,以及它們在建設平衡城市上的作用。現在在美國SeatGeek在線票務網站擔任項目經理。Belinda 參加了紐約數據科學學院的12周數據科學課程,此文基於她的結業作品。加入數據俠
「數據俠計劃」是由第一財經旗下DT財經發起的數據社群,包含數據俠專欄、數據俠實驗室系列活動和數據俠聯盟,旨在聚集大數據領域精英,共同挖掘數據價值。了解數據俠計劃詳情請關注DT數據俠回復「數據俠計劃」,投稿、合作請聯繫datahero@dtcj.com。
推薦閱讀: