要玩資料?先重視資料的可取得性——KKBOX 資料科學團隊經驗分享

上個月舉行的「2015 台灣科學愛好者年會」,KKBOX 資料科學團隊以「資料科學在數位音樂的實踐與分析」為題,向與會人士分享了這家以家跨出台灣的本土串流音樂服務,建立資料科學團隊的相關經驗與成果,本文將著重於 KKBOX 研究中心經理林佑璟建立資料科學團隊的經驗。
評論
評論

上個月舉行的「2015 台灣科學愛好者年會」,KKBOX 資料科學團隊以「資料科學在數位音樂的實踐與分析」為題,向與會人士分享了這家以家跨出台灣的本土串流音樂服務,建立資料科學團隊的相關經驗與成果,本文將著重於 KKBOX 研究中心經理林佑璟建立資料科學團隊的經驗。

來自國內業界的研究不多

林佑璟表示,過去在學習音樂檢索時,曾讀過許多論文,但國內外的研究有一項很大的差異:業界論文產出,來自亞洲業界的研究明顯比較少。因此,三年前他加入 KKBOX 成為第一位研究員,立志打造強大的資料團隊。

兩週後,資料呢?

不過,現實總是沒有想像中的美妙,林佑璟向資深工程師要資料,對方叫他開票(ticket),結果過了兩個禮拜後還是沒拿到任何資料。後來,他發現:

  1. 資料在哪個部門?得先找到對的人。
  2. 資料散落在各個機器裡,要先找出資料。
  3. 資料的格式和欄位,有些都是十年前的產物,現在可能沒人知道那些欄位代表什麼意思了。
  4. 經常需要向其他部門解釋為何他需要資料。

運用資料科學做研究,卻遭遇跨部門的問題,KKBOX 並不是一個,行政院副院長張善政曾在七月的一次談話中指出:

跨部會問題也是在做大數據分析時的障礙。以前面提過的民間企業薪資分析為例,他建議財政部整合勞動部的勞保資料,得到的回應竟然是「不想,因為很麻煩。」然而光是依靠所得稅資料來看的結果,就是怎麼做都做不出來。「做大數據分析,要勇於跨出部會間的藩籬。」

相關文章:〈 張善政:大數據應立專法,但不是現在

面對部門之間對於資料運用理解上的差異,林佑璟表示:只能靠溝通。

從對方的角度出發

林佑璟提到,向其他部門索取資料遭遇阻礙時,不要覺得對方是要刻意刁難,而是要透過溝通,從對方的角度出發,讓對方明白取得資料進行分析後,可以為該部門、為公司帶來的價值是什麼。

除了用講的之外,製作原型讓其他部門的人知道資料的效用也是好方法。在索取資料的同時,一定要讓對方明白研究團隊會好好地保管、使用資料。

經過一番努力之後,林佑璟與團隊取得了如下的成果:

  • 統一儲存位置:AWS S3
  • 統一為可延展的資料格式:JSON
  • 建立文件避免做重複的事:Wiki
  • 開放沒煩惱:避開個人隱私資料

資料有點太多

然而,往下坐之後,林佑璟發現一件事,讓他自己也覺得有趣:

資料有點太多。

龐大資料帶來的主要影響是跑一支程式需要花上好幾天的時間,萬一中間發現有 bug,又要花好幾天修改、等結果。因此團隊開始探索更合適的技術如 Hadoop。但林佑璟也直言,追新技術很花時間。例如 Hadoop 某些特性會造成跑一次會很久,使用當時還不穩定的 Spark,又常常會遇到 OOM(Out of Memory)。

然而,林佑璟指出,團隊內的資料科學家會抗拒使用 Hadoop 相關的技術,因為他們可能習慣使用 R 和 Python。他指出,要知道資料科學家不是神,問題要交給合適的人用合適的工具去解決。他引用了 Adam Drake 寫的文章,1 表示有時候用 command-line tools 就可以解決的問題,未必需要動用到 Hadoop。

於是 KKBOX 發展出了一套資料科學團隊架構。

KKBOX 的資料科學團隊架構

林佑璟所屬的 KKBOX 研究中心發展出以下的團隊架構:

Data Engineering

把 raw data 吃進來之後,使用 Hadoop 或 Spark 等技術製作儀表板和報告給管理團隊或相關團隊看,同時會將相關資料整理到比較好存取的資料庫,供未來其他團隊使用。

Data Science

資料科學團隊則是拿資料工程團隊整理好的儀表板和報告資料進行分析,偶爾也會看一下資料工程團隊整理好的原始資料,由於此時資料量已經沒那麼大,資料科學團隊的成員可以使用他們習慣的 Python 或是 R。

Machine Learning

林佑璟解釋,KKBOX 是音樂串流服務,因此推薦引擎和分類機制相當重要。推薦引擎這個「引擎」會需要好的「機油」,而資料科學家產生的 data insight 就是推薦引擎的「機油」。

進一步舉例,KKBOX 的想法是,如果要解決一個推薦引擎的問題,團隊會將問題細分成三塊,各自交給適合的小組來負責,這樣處理起問題會更加有效率。

林佑璟呼籲,團隊要重視資料的可取得性,沒人碰的資料等於沒有價值。選擇適當的工具,一味追求新技術並沒有那麼重要,能解決問題,舊工具也是好工具。不同的問題要交給不同的人處理。


  1. Command-line tools can be 235x faster than your Hadoop cluster

精選熱門好工作

平台營運專員

樂購蝦皮股份有限公司
臺北市.台灣

獎勵 NT$20,000

產品經理 (PM, PO)

VeryBuy非常勸敗
臺北市.台灣

獎勵 NT$20,000

資深產品經理 (PM, PO)

VeryBuy非常勸敗
臺北市.台灣

獎勵 NT$20,000

評論