iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0
AI/ ML & Data

從點子構想到部署上線:機器學習專案的一生系列 第 12

[Day 12] Spotify 的 Data Platform - Part 3. 資料搜尋平台 Lexikon——讓資料科學家更方便找到他們需要的資料

  • 分享至 

  • xImage
  •  

好,我們現在已經很了解 Spotify 是怎麼蒐集、處理和儲存他們的用戶行為資料了。這些藏有珍貴價值的資料,如果一直放在儲存系統裡面,也是沒有辦法變成寶石和黃金的,他們非常渴望能夠被資料科學家挖掘。

而身為資料科學家,也一定非常想知道公司有哪些寶藏可以探索,只是 Spotify 的資料真的太多,一時半刻也很難知道整間公司到底有什麼樣的資料可以使用。

為了媒合資料本人跟資料科學家的需求,Spotify 推出一個資料搜尋平台——Lexikon,這個平台旨在幫助員工找到他們擁有的 BigQuery 表格(也就是資料集),並且同時呈現關於每個資料集的過往研究和分析,有助於內部使用者更理解公司有的資料,以及他們過去或是未來可以拿這些資料做些什麼應用。

不過,只是呈現公司擁有的資料集,以及曾經做過的研究分析是不夠的。不愧是身為音樂串流與推薦系統的龍頭,連在建立內部的資料搜尋平台時,都希望打造成有推薦功能的搜尋系統,讓資料科學家可以花費更少的時間,找到最適合使用的資料集。

看到這邊,你有沒有覺得 Spotify 真的是太強了,連打造內部系統都可以這麼用心,難怪可以坐擁音樂串流平台的寶座啊!


Lexikon 提升資料搜尋體驗的三個方法

為了改善 Lexikon 的資料搜尋體驗,開發團隊進行內部的使用者調查之後,歸納出三個提升用戶體驗的方法:

1. 瞭解使用者的意圖

https://ithelp.ithome.com.tw/upload/images/20240925/20152325yrQokG7Q65.png
圖片來源:[1]

Spotify 認為不同意圖的用戶,使用 Lexikon 的方式和目的也有所不同。

低意圖資料探索

處於低意圖資料探索模式的資料科學家沒有特別想要找尋的資料集,例如 Spotify 的新進員工,或是想要開始一個新專案的員工,想要看看公司內部存在什麼有趣的資料集。

為此,Lexikon 團隊在首頁新增了幾個功能,如下圖所示

  • 陳列公司內部被廣泛使用的資料集
  • 使用者所屬團隊很常使用、或是正在使用的資料集
  • 使用者最近使用的資料集
  • 推薦一些對於使用者可能有幫助,但是沒有用過的資料

https://ithelp.ithome.com.tw/upload/images/20240926/201523254AB7TTSTon.png
圖片來源:[1]

在改版之前,大部分的用戶都是使用 Lexikon 的搜尋功能,而在增加這些推薦功能後,有 20% 的月活躍用戶(monthly active users)改成直接使用首頁的推薦資料集,代表這些推薦內容是有效的!

高意圖資料探索

Spotify 也有另外一群具有特定目標的使用者,很清楚自己在搜尋的內容,也非常熟悉當中的某些資料集。這群使用者需要被滿足的需求和前者有所不同,他們希望能夠

  • 找到包含特定 schema field 的資料集
  • 找到與特定主題相關的資料集
  • 找到某個特定專案有使用到的資料集

為此,他們提供了兩種方法:

1. 搜尋排名演算法

經過數據分析後發現,雖然 Spotify 擁有成千上萬個資料集,但是大部分的使用量都在少數資料集上,而處於高意圖探索的用戶也通常在找這些資料集。因此,他們調整了搜尋算法,使搜尋結果會根據資料集的受歡迎程度而有不同的權重分配。如下圖所示,他們在陳列搜尋結果的同時,也顯示目前的 query 量和用戶數量。這個改變獲得用戶的讚賞,讓他們對於搜尋的結果更有信心。

https://ithelp.ithome.com.tw/upload/images/20240926/20152325VQpqvHMpNO.png
圖片來源:[1]

2. 增加新的實體(entities)

另外,他們在 Lexikon 顯示新的實體(如 schema field、專案、人員、團隊等),以更好地描述這份資料,讓搜尋變得更為容易。以下圖為例,如果用戶想要尋找包含「曲目 URI (track_uri) 」的資料集,也可以輕鬆找到相關內容。在推出這項功能之後,有 44% 的 Lexikon 月活躍用戶會使用這種類型的頁面。

https://ithelp.ithome.com.tw/upload/images/20240926/20152325DEiaHFb0pd.png
圖片來源:[1]

有趣小補充,Spotify 在打造他們的音樂推薦系統時,也有對用戶進行過類似研究。
他們發現用戶在聆聽推薦的歌曲時,一樣分為低意圖和高意圖的用戶,而對兩種不同意圖的用戶而言,「跳過推薦歌曲」這件行為不一定總是負面的。對低意圖的用戶而言,「跳過」其實是中性的,他們沒有特別想找的歌,所以不喜歡就跳過,也無傷大雅;但是對於高意圖的用戶而言,「跳過」是負面訊號。因此,Spotify 在做用戶行為分析時,也要同時考量用戶的意圖,才能夠分析的更為精準。
(小小工商時間,對這個案例有興趣的話,可以參考我在 2023 年出版的書哦。)
再一個小補充,我們在 Day 6 有聊到一件事:在訓練模型時,只關注模型在資料集上的誤差是不夠的,原因在於即使誤差很小,但是每個案例的重要性可能都不一樣,像是資訊查詢 vs. 導航查詢,這也是依照用戶的意圖不同而區分不同情境。
好了扯遠了,讓我們跳回來看 Lexikon。

2. 尋找資料集的專家

即便找到想要的資料集,有時資料科學家還是會想要跟合適的人來討論這些主題,特別是新進員工。因此,他們在 Lexikon 中引入了一個功能,讓用戶能夠搜尋到在某些資料集或特定領域中的「專家」。

而要怎麼選擇誰是專家呢?他們會根據幾個行為來計算分數,包含用戶查詢/擁有的資料集、查看/擁有的儀表板(dashboard)、撰寫的研究報告,或是執行與關鍵字相關的 A/B 測試。這些行為會出現在搜尋結果的列表中,某些行為會有比較大的權重,例如擁有儀表板會比查看儀表板還有更大的權重。

3. Lexikon Slack Bot

另外,Spotify 還做了一個有趣的小工具。他們內部主要的溝通工具是 Slack,當資料科學家在上面討論資料集時,他們覺得可以透過提供補充資訊來提升溝通效率。因此,他們開發 Lexikon Slack Bot,當用戶在 Slack 上分享 Lexikon 中的資料集連結時,Slack 機器人會提供一個簡單的資料集摘要內容,包含:

  • 名稱
  • 擁有者
  • 描述
  • 使用統計數據
  • 資料生命周期
  • 訪問級別
  • 資料表中最常被使用的 schema fields
  • 查看更多資訊、請求存取權、直接在 BigQuery 中打開

我看到這邊真的覺得驚為天人!Spotify 為了提升溝通效率和使用者體驗,竟然連內部員工的溝通效率都考慮到了,這個工具真的非常方便!

自從推出 Lexikon Slack Bot 後,他們發現每週在 Slack 上分享的 Lexikon 連結數量增加 25%,顯示這個功能的廣受好評。

4. 幫助人們開始使用他們探索到的資料集

最後,在搜尋到相關資料集之後,Lexikon 也會幫助用戶開始使用這些內容。
簡單來說,他們會提供用戶幾個資訊:

  • Schema fields 的使用統計資料:顯示每個 fields 的查詢數量和使用量,幫助使用者輕鬆找到最相關的欄位。

https://ithelp.ithome.com.tw/upload/images/20240926/20152325oJ4Vr6DF6T.png
圖片來源:[1]

  • Queries:提供用戶給定資料集的所有近期 queries,讓他們有機會看到這些資料集的各種最新使用方式。

https://ithelp.ithome.com.tw/upload/images/20240926/20152325PGvAEVb0Up.png
圖片來源:[1]

  • 最常被連結(join)的資料表:Lexikon 也會顯示和給定資料集最常被連接的資料表,讓資料科學家找到可能會有幫助的其他資料內容,有助於他們的資料使用。

https://ithelp.ithome.com.tw/upload/images/20240926/20152325Cijizor0YA.png
圖片來源:[1]

Lexikon 的影響

自從 Lexikon 中的資料探索體驗得到改善後,資料科學家對 Lexikon 的採用率從 75% 增加到 95%,成為資料科學家使用的前 5 大工具之一。透過了解用戶意圖、促進知識交流和幫助使用者開始使用資料集,明顯提升 Spotify 資料科學家的資料探索體驗。

資料是所有機器學習專案的基礎,沒有好的資料,就沒有好的食材,即便有再先進的技術,也無法建構出表現優秀的模型。我們在這三天介紹了 Spotify 內部的資料平台,顯示身為音樂串流平台的龍頭,真的有他們厲害之處。除了有各式各樣新穎的演算法之外,他們也非常講求資料蒐集、管理和使用的細節。讓資料科學家得以更無痛地使用資料,打造出更厲害的演算法,推出更厲害的產品功能!


謝謝讀到最後的你,如果喜歡這系列,別忘了按下喜歡和訂閱,才不會錯過最新更新。
如果有任何問題想跟我聊聊,或是想看我分享的其他內容,也歡迎到我的 Instagram(@data.scientist.min) 逛逛!
我們明天見!


Reference
[1] https://engineering.atspotify.com/2020/02/how-we-improved-data-discovery-for-data-scientists-at-spotify/


上一篇
[Day 11] Spotify 的 Data Platform - Part 2. Data Platform 的新系統,以及如何處理資料延遲問題
下一篇
[Day 13] 一樣是資料延遲問題,Netflix 又是怎麼處理的?
系列文
從點子構想到部署上線:機器學習專案的一生13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言