Learn to educate data journalists
Published in
5 min readAug 9, 2017
編制教材的考量
我在決定一個學期應該上什麼內容、引進什麼技術時,考慮的是以下的問題
- 傳播研究需要什麼資料分析技術? e.g., 我們想要分析小編的po文情緒和後面的回文情緒。 e.g., 要怎麼樣弄到四大報有關食安的所有新聞來做文本分析?
- 未來記者的必要性的技能是什麼?比如「去哪裡拿資料?又怎麼拿下來?」;或是學生能夠知道資料如何被組織在檔案裡面,一共有四種常見的資料格式,依照常見至少見排列為CSV > JSON > SQL > XML(HTML)。例如網路上的HTML文件,例如各大新聞電子報、PTT。
- 如何用語法整理上述資料?根據上述資料被組織的方法,知道如何抽取資料,所需學習的技巧包含XPath、CSS selector、SQL、正規表示式(Regular Expression)。學生有能力從文本抽取資料。
- 社會科學的學生學習程式的方法是否應與理工科有所不同?比如我認為,社會科學的學生會想先知道她/他學這個能做什麼事,才能求會用;要先會用,再知道原理。而教學上,我認為應先從量化資料的詮釋能力開始,再依序教授統計方法、資料分析模型、深度學習模型、語言分析模型
- 資料記者常用的分析方法為何?文本分析 > 探索性資料分析 > 統計分析
以現下新聞為教學範例
例如下面諸篇我認為是國外常見的資料分析案例:
- Paid maternity leave
- 2016 US debate
- 2016 legislator election in Taiwan
以下則是資料探索性分析常見的技法:
- wordcloud
- timeline
- network
教學方法
- 大原則是以案例帶技術,不在課堂上講解技術。例如for、ifelse、list、matrix、dataframe,遇到了再說;
- 要先能看到執行結果,再講解執行過程,儘量跟玩遊戲一樣。
- 先會用,用過幾次,再來談規則和原理。例如函式或正規表示式。
- 與其交付完整的程式碼,不如在台上錯幾次,現場解決給他們看。
- 建立解決問題的SOP,例如R有vector、factor、matrix、dataframe、list等數種基本資料型態,過去的教學都是順著講完,但事實上以解決問題為目的的話,應該先把所有課程案例導到dataframe,再取資料為vector,進行資料轉換。而factor、matrix、list則是遇到再說。
教學時程規劃
- 初期以Excel表格作為想像對象,架構操作流程。Live coding教學,先跟著打,熟悉語法表現。
- 中期以課堂實作(legislator)、實際探索案例(JSON)
- 後期則鼓勵學生參加競賽
學習成效掌握
由於絕大部分為非資訊科系的初學者,在一個學期內要用程式語言來做邏輯思考,尤其對數理邏輯訓練缺乏的文組學生特別辛苦。但資料分析的學習卻是積累的過程。所以可以採用兩種考試:
- 基本概念的測驗
- 程式閱讀(前、中、後)→ paid maternal leave
Essential
- 教師以國際報社案例作為教學範例
- 學生有能力可以獲取所有種類的資料
- 靜態檔案資料讀取(JSON、CSV、XLSX),例如政府開放資料。
- 學生有處理資料、彙整資料的能力
- SQL、Regular expression。
- 學生了解探索性分析對數值資料詮釋的可能影響
- 以Word cloud為例
- 以Paid maternity leave為例
- (XPath, +R Regular Expression)
- 學生有能力轉換資料
- raw data to data by tapply, apply, sapply, aggregate, with, count, table, …
Advanced
- 因應資料的表達型態轉換資料,例如JSON欄位的不一致。+R JSON cases
- 處理中英文編碼問題
- 了解如何彙整並產生新的資料。Data → R → html