李慕約&王向榮/如何備料:資料的抓取、清理以及串接

1,147 views

Published on

李慕約公司共同創辦人,提供資料分析、視覺化服務。分析就像炒菜。炒菜重要,買了一堆炒鍋。但炒不出菜不是因為沒鍋,因為炒菜真正難在:決定炒什麼菜、如何處理食材、炒菜技術。市場上很多人在賣各式炒鍋( 資料軟體 / 平台 /機器 ),我們幫客戶炒菜。

客戶包含:
- 國內三大電信( 分析客戶訴訟、3D 建築物以及 4G 基地台 )
- 銀行( 時間序列分析 )
- 蔡英文總統( 視覺化選舉政策 )
- 世界衛生組織與中國雙年度合作計畫( 分析 750 家三甲醫院 )
另協助 Google 香港、世界銀行與新加坡政府,進行資料視覺化課程工作坊。

交通大學網路策進會會長,曾任痞客邦產品開發副理,現在為李慕約公司共同創辦人。在 g0v 零時政府曾參與及發起台灣公司資料、求職小幫手、新聞小幫手、開放政治獻金等專案,喜歡爬資料收集資料並使用資料放出資料。

Published in: Data & Analytics
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,147
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
152
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

李慕約&王向榮/如何備料:資料的抓取、清理以及串接

  1. 1. Muyueh Limited Company muyueh@muyueh.com Muyueh Lee Data Visualization We help you see (Big ) Data
  2. 2. Muyueh builds visual interfaces with effective representation of data for the human eyes. Muyueh Lee (李慕約) co-founder
  3. 3. Ronny builds robots that gather, clean, and access data. Ronny worked for Pixnet, the 93rd largest website in the world, where he served as VP in product development. Ronny Wang (⺩向榮) co-founder
  4. 4. We empower organizations with data visualization through three services Services We teach classes about data analysis/visualization Main Clients We help companies analyze insights from their proprietary databases Locations include: China, Taiwan, Hong Kong, and Singapore We build visuals that allow humans to effectively interact with data
  5. 5. Several awards certify the quality of our service Presentation of the visualization tool at the Al Jazeera Global Hackathon in Dubai Best Editorial Context Solution in the Al Jazeera Global Contest, a competition focused on tech innovation in media1 Best open data application from the Vice President of Taiwan (ROC) First place in Taipei Hackathon 1. This was a team effort, Muyueh developing the visualization interface (as seen in the photo)
  6. 6. 如何備料 資料的抓取、清理以及串接
  7. 7. 百項資料應⽤ 各種產業、各種資料: 農業、電⼦票證 交易 電信、公⾞、交通肇事 時間空間 公⺠科技、⾦融、政策 開放資料 3D 建築、4G 基地台分佈、 GPS 軌跡、肇事、⽤⽔⽤電 新聞⼩幫⼿、求職⼩幫⼿、⾦管會、 2016 總統⼤選政策 資料類別產業應⽤ YouBike 租借、悠遊卡刷卡、 ⽔果、蔬菜、花卉交易紀錄
  8. 8. 經濟: - 公司登記資料 (平均: 2,000 ⼈/天) - 公司關係圖 - 關務署進出⼝資料整理 媒體: - 新聞⼩幫⼿(2 萬下載,五顆星評價) - NewsDiff - NewsTrend - PTT 熱⾨紀錄 - 歷史四⼤報頭條 其他: - 求職⼩幫⼿(1 萬 8下載,4.5顆星 ) - 政治獻⾦數位化(最⾼: 30 萬⼈/天) - Green Honey(最⾼: 58 萬⼈/天) - 發電成本計算機 - 果菜花終端機 - Youbike 微預測 - 台電發電量歷史記錄 - 台北市建築執照記錄 政治獻⾦數位化 果菜花終端機 公司關係圖 百項資料應⽤ 各種產業、各種資料:
  9. 9. 備料佔 50% - 80% 時間 或100% 到 400% 改善空間 Data scientists, spend from 50 percent to 80 percent of their time mired in this more mundane labor of collecting and preparing unruly digital data
  10. 10. 資料流程 機器可以怎麼樣幫助⼈類處理資料? 抓取 清理 視覺 連接 分析 資料散佈,格式、編碼不同 如何⼤量即時搜集? 資料約 1%~0.1% 錯誤率 如何持續增進品質? 單⼀資料沒有意義 如何透過串接產⽣智慧? 分析耗時,反應速度太慢 如何偵測趨勢、即時反應? 靜態圖表看不清楚 如何⽤瀏覽器技術呈現相關資料?
  11. 11. 機器輔助的五個層次 從純⾃動,到純⼿動 機器診斷、機器處理 ⼈類診斷,機器處理 ⼈類診斷,⼈類處理, 我做⼀次,其他⼈⽤現成 ⼈類診斷,⼈類處理, 我做⼀次,未來不⽤再做 ⼈類診斷,⼈類處理, 我做⼀次,下⼀次還是要我做 寫程式的解法,⾄少下⼀次 類似的問題可以⾃動解決 純粹⼿動的⽅式 把程式放在 Github 上,⾄ 少其他⼈不需要重新寫爬蟲 我只需要告訴機器這是什麼 問題,機器可以⾃動解決 機器可以⾃動偵測這是什麼 問題,⾃動解決
  12. 12. 取得資料 資料的抓取、清理以及串接
  13. 13. 取得資料 抓取 清理 視覺 連接 分析 資料散佈,格式、編碼不同 如何⼤量即時搜集? 資料約 1%~0.1% 錯誤率 如何持續增進品質? 單⼀資料沒有意義 如何透過串接產⽣智慧? 分析耗時,反應速度太慢 如何偵測趨勢、即時反應? 靜態圖表看不清楚 如何⽤瀏覽器技術呈現相關資料?
  14. 14. 抓取外部資料 ⺫標: - 持續、⼤量、快速抓取資料 現狀: - ⼤量抓取資料 - 模擬⼈類⾏為(下拉選單、帳密) - 模擬 Refer、更換 IP 防封鎖 挑戰: - 確保品質變化 (交易機器⼈案例; type, range check) - 刑法360條,如何「溫柔」抓取 - 不知道有什麼資料 特別案例: - 圖像辨識圖⽚價格 - 線上印度⼈協作解 CAPTCHA - 政治獻⾦數位化
  15. 15. 確保品質變化 NewsDiff 每年約 50 個網站改版 確保品質變化 (交易機器⼈案例; type, range check)
  16. 16. 抓取外部資料 如何「溫柔」抓取資料 刑法360條:無故以電腦程式或其他電磁⽅式干 擾他⼈電腦或其相關設備,致⽣損害於公眾或他 ⼈者,處三年以下有期徒刑、拘役或科或併科⼗ 萬元以下罰⾦。
  17. 17. 政治獻⾦數位化
  18. 18. 政治獻⾦數位化
  19. 19. 政治獻⾦數位化
  20. 20. 不知道有什麼資料 網⾴瀏覽 不知道不知道的事情 領域專家 哲學性問題 訪談 解法觀點 集中搜尋、推薦、收藏、分群、連結
  21. 21. SheetHub.com 搜尋、推薦、收藏、分群、連結
  22. 22. 散佈的開放資料平台
  23. 23. 抓取內部資料 ⺫標: - 即時取得⾼品質資料 現狀: - n + 1 個系統來整合 n 個系統 挑戰: - 各資料庫筆數不同(⽤機器⼈直接跟資 料庫做拉取) - 遺失的商業邏輯(沒有⼈知道死亡率的 計算⽅式;將計算⽅式暴露出來) 特別案例: - 逐筆整合資料庫
  24. 24. 客訴: 客訴時間、地址、內容 基台硬體設備: 4G 基台的分布點、位置 顧客資料: 平均貢獻、性別、年齡分佈 收到客訴是否是因為最近站台維修暫 時關站造成? 我們總共有多少男性客⼾? 我們的客⼾分布在哪裡? 傳統問題資料庫 傳統:單⼀系統回答單⼀問題 我們已經知道這些問題了,難有改善動作 最近哪裡的客訴⽐較多、哪邊變少?
  25. 25. 客訴: 客訴時間、地址、內容 基台硬體設備: 4G 基台的分布點、位置 顧客資料: 平均貢獻、性別、年齡分佈 三⽉的暫時關站是否導致客訴增加? 所有的客訴中,哪⼀些的優先順序⽐ 較⾼?(顧客貢獻⾼) 交互問題資料庫 現代:串接資料庫,產⽣交互問題 交互問題讓我們可以產⽣改善⾏動 建築物輪廓⾼度 (外部資料) 這邊發⽣的客訴都集中在低樓層,是 不是因為建築物把基地台擋住了?
  26. 26. 資料庫串接 挑戰,以及解決⽅式 問題: 公司開發了多不同資料庫 解決不同任務;但問題需 要跨資料庫才可以回答。 技術挑戰: 不同廠商使⽤ 不同欄位規格 開發不同資料庫 解法: 我們的機器⼈可以跨平台 跟多資料庫互動,將資料 來抓出來,整合回答問題 不同的作業系統: Microsoft Linux 不同的編碼: utf-8、Big 5、utf-16 不同的資料庫,及版本 Oracle 8-12、MS SQL PostgreSQL、MySQL 重要資訊以 Free-text 的 ⽅式儲存,需要萃取 不同的地理紀錄法: TWD 97、經緯度、地址 單⼀公司內可能有: 舊系統仍持續運作, 但資料被接出來做新 的呈現
  27. 27. 清理資料
  28. 28. 清理資料 抓取 清理 視覺 連接 分析 資料散佈,格式、編碼不同 如何⼤量即時搜集? 資料約 1%~0.1% 錯誤率 如何持續增進品質? 單⼀資料沒有意義 如何透過串接產⽣智慧? 分析耗時,反應速度太慢 如何偵測趨勢、即時反應? 靜態圖表看不清楚 如何⽤瀏覽器技術呈現相關資料?
  29. 29. 機器輔助的五個層次 從純⾃動,到純⼿動 機器診斷、機器處理 ⼈類診斷,機器處理 ⼈類診斷,⼈類處理, 我做⼀次,其他⼈⽤現成 ⼈類診斷,⼈類處理, 我做⼀次,未來不⽤再做 ⼈類診斷,⼈類處理, 我做⼀次,下⼀次還是要我做 寫程式的解法,⾄少下⼀次 類似的問題可以⾃動解決 純粹⼿動的⽅式 把程式放在 Github 上,⾄ 少其他⼈不需要重新寫爬蟲 我只需要告訴機器這是什麼 問題,機器可以⾃動解決 機器可以⾃動偵測這是什麼 問題,⾃動解決
  30. 30. 清理資料 統⼀編號為例 統⼀編號分別由不同的主管機關掌管, 並無中央單整合,並有 2% 是錯誤的。 右圖,可以看到: - A 是經濟部⼯商資料,約 300 萬筆 - B 是財政部稅務資料,約 150 萬筆 - A、B 的交集,約有 110 萬筆 - A、B 各⾃有 200 萬筆、 20 萬筆資 料視對⽅沒有的。 - 還有⼀塊 C,是兩邊都有登記,但是 名稱卻不⼀致的資料,約有 6 萬筆
  31. 31. 清理資料 統⼀編號為例 異體字 - 峯、峰 - 氷、冰 - 葯、藥 - 芸、藝 - 栗、粟 ⽤語不同: - 有限責任基隆市第⼀信⽤合作社安⼀ 路分社 - 保証責任基隆市第⼀信⽤合作社安⼀ 路分社 以及 - 張朝慶⾃營計程⾞ - 張朝慶⾃營計程⾞⾏ 格式不同: - 薪楠菖⽔果⾏(0598) - 薪楠菖⽔果⾏
  32. 32. 清理資料 經濟部投審會 右⽅表格,是經濟部投審會所公布的資 料中統⼀編號對不起來的地⽅。以「永 豐裕資產管理股份有限公司 25134101」 來說 ,拿永豐裕去 company.g0v.ronny.tw 搜尋,可以發 現統編是 25134104 ,所以是投審部打 錯。 廠商名稱 統一編號 投資許可日期 吉麒科技股份有限公司 8460567 951005 大印膠合板有限公司 24534835 1030303 曜瑞光電科技股份有限公司 81085991 960926 華笠實業有限公司 24574224 1030609 鉅揚管理顧問有限公司 20800977 950626 永豐裕資產管理股份有限公司 25134101 990505 日商鐵建營造股份有限公司 9600128 960427 達康購物股份有限公司 27766288 990121 金大科技股份有限公司 54704940 1030102 皇浦有限公司 25313338 990513 尚達精密科技股份有限公司 24318443 1000121 新加坡商奧碩品牌規劃設計有限 公司 28432444 970411 三福添加劑股份有限公司 9037287 960531 台灣大公企業股份有限公司 12175095 1011029 金銥生命科學股份有限公司 27500328 960321 意通有限公司 24326448 971229 奧鋁亞太有限公司 10107963 1020207 台灣諾保科技股份有限公司 9032797 970229
  33. 33. ⼈⼯判斷、機器清理 Type Check, Range Check, Linked Data
  34. 34. ⼈⼯判斷,機器清理
  35. 35. 檔案格式 機器判斷、機器清理 Data exists in (too) many formats.
  36. 36. 檔案格式 機器判斷、機器清理 Data exists in (too) many formats.
  37. 37. 檔案格式 機器判斷、機器清理 Data exists in (too) many formats.
  38. 38. 檔案結構 ⼈⼯判斷、機器清理
  39. 39. 清理資料版本控制 我做⼀次,未來不⽤再做 對資料進⾏版本控制 對程式碼進⾏版本控制
  40. 40. 矯正公⾞路線
  41. 41. 矯正公⾞路線 ⼤都會客運紅5 (routeId=10821) gist ⼭⼦后幾站不在路線上
  42. 42. 矯正公⾞路線 北市府:⺫前已將331站點之200多點點位修正後並已上傳介接平臺
  43. 43. 連結資料
  44. 44. 資料連結 抓取 清理 視覺 連接 分析 資料散佈,格式、編碼不同 如何⼤量即時搜集? 資料約 1%~0.1% 錯誤率 如何持續增進品質? 單⼀資料沒有意義 如何透過串接產⽣智慧? 分析耗時,反應速度太慢 如何偵測趨勢、即時反應? 靜態圖表看不清楚 如何⽤瀏覽器技術呈現相關資料?
  45. 45. https://sheethub.com/ronnywang/中華⺠國村⾥/uri/6500100-011 資料連結
  46. 46. The tone of news reports changed when Lee Kuan Yew, PM of Singapore, passed away NewsDiff tracks media changes Data News from 20 media in Taiwan (4,000 / day, scanned hourly) Problem News articles are updated after being published, but the changes are not visible to the public Solution By tracking every news update, the reader can track the on-going issue with the editorial decision Project in the g0v.tw community
  47. 47. The pop-up shows the work infringement history of the recruitment page of the company JobHelper (求職小幫手) empowers job seekers with employer workplace infringement history Data Employer workplace infringement data Problem Some employers have workplace infringement histories that are unknown to job seekers Solution When browsing the recruiting websites of the potential employee, this browser extension will display an alert for workplace infringement history Project in the g0v.tw community
  48. 48. HTC with a change in the capital structure of its major share holder CompanyDiff tracks the next move of a company Data Financial information of 640,000 companies from the past 3 years. This includes assets, and operated industry Problem Tracking the evolution of different company financial status Solution By collecting and comparing the financial info of a specific company, one can see the next move of a company (change in assets, or change in registered industry) 2015-04-05 董事⻑ , 姓名: ⺩雪紅 , 持有股份數: 32,272,427 董事 , 姓名: 陳⽂琦 , 持有股份數: 22,391,389 董事 , 姓名: 卓⽕⼟ , 持有股份數: 139,530 96,530 董事 , 姓名: 缺額 , 持有股份數: 董事 , 姓名: David Bruce Yoffie , 持有股份數: 0 獨⽴董事 , 姓名: 林振國 , 持有股份數: 0 獨⽴董事 , 姓名: Josef Felder , 持有股份數: 133,985 229,985 監察⼈ , 姓名: 威智投資股份有限公司 , 持有股份 數: 43,819,290 監察⼈ , 姓名: 朱⿈傑 , 持有股份數: 0
  49. 49. Companies with financial investment relationship with President Chain Store Corp. Company Investment Relationship Graph Data Financial data from all 640,000 companies Problem Identify the investment relationship between companies Solution Tracing the board of directors to identify the financial investment relationship Project in the g0v.tw community
  50. 50. 案例:3D 建築物以及公司登記資料 可以查看 101 ⼤樓幾樓登記什麼公司 整合資料: 1.經濟部商業司公司登記資料 2.財政部資訊中⼼稅務資料 3.臺北市政府建管處建築執照資料 4. 臺北市政府都發局⽴體建物資料 5.內政部國⼟測繪中⼼地址轉經緯度資料
  51. 51. 案例:3D 建築物以及公司執照 最近⼗年的建築物
  52. 52. A map of Taipei showing the population density, brighter being more Population Density Map Data District boundary data with presidential election voting statistics Problem Calculating the population of an area is hard, as people’s actual residence may be different than the one they registered Solution Use water, electricity usage and election data to estimate the actual residence in a specific area
  53. 53. A map of Taiwan showing the voting result of the 2012 presidential voting election. Election Voting Map Data District boundary data with presidential election voting statistics Problem Calculating the population of an area is hard, as people’s actual residence may be different than the one they registered Solution Use water, electricity usage and election data to estimate the actual residence in a specific area

×