# 學習筆記 - 在家黑客松 ## 基本資料 [官網](https://jothon.g0v.tw/) [本期共筆](https://g0v.hackmd.io/@jothon/g0v-hackath38n/https%3A%2F%2Fg0v.hackmd.io%2F%40jothon%2Fg0v-hackath38n) [共筆-第拾肆次 g0v 揪松團 松前哈拉](https://g0v.hackmd.io/s/-g0v-Community-Hangout-14th) [提案列表](http://bit.ly/g0v38thpropose) [g0v.tw 後勤中心](https://www.facebook.com/groups/g0v.general/permalink/2763234823752906/) [大廳](https://intro.g0v.ronny.tw/meet/show/g0v-hackath38n) ## 主活動 - 開場說明 - 自我介紹橋段 - 唐鳳訪談 - 各項目結果分享 ## 參與狀況與心得 - 學到很多,成果豐碩。有心人很多,年輕人很強大! - 反正就是到處看,有趣的專案很多,熱心有趣的夥伴也很多 - 線上大會滿特別的,很多新工具與新方法,了解與把玩都會花一點時間與出一點狀況 - 線上大會更特別的是,你可以同時在好幾個頻道出現。雖然這在平常線上很類似,但好幾個語音頻道就更奇特了 - 很多新專案要了解,就會有非常多的文件與參考資料得同時開啟,瀏覽器分頁會找不到在哪裡 - 還有不少基礎工具與知識要同時學與上手 - 在家黑客松還可以陪家人,但很快就會發現時間不見了 - 還沒搞清楚就到報告時間了 - 參與 0archive 零時檔案局,簡單說就是爬一些媒體網站,然後變成 dataset 釋出,重要的是程式碼與資料結果是開放的 - 實際參與一個專案,就需要很快地看到主要說明,架構等資料 - 隨時筆記到共筆就很好用 - 由於沒可能在那麼短時間內能有什麼貢獻,所以就選擇了解輸入與輸出,看能用輸出做什麼事情 - 才想到可以拿 dataset 來套用最近學的分析方法與工具。 - 寫兩行 code 就卡關了,原來我根本不會 json - 隔天還是把一點想法,玩一下與釋出。做個階段 ## 個別提案-0archive 零時檔案局 - 武漢肺炎資料分析 - [專案共筆](https://0archive.tw) - g0v Slack #disinfo - [會議室](https://meet.jit.si/g0v3803) - [今日共筆](https://g0v.hackmd.io/@chihao/0archive/%2FEY4fDYTeS7-DbWwMe7sXyw) [github 公開資料集 : disinfoRG/datasets](https://github.com/disinfoRG/datasets) - [零時資訊傳播資料標準](https://g0v.hackmd.io/@chihao/0archive/%2F0Mt45bP_TQ2g0jRFP0tfTA) 學到的技巧 ``` grep -iE -h "肺炎|武漢|新冠|covid|口罩|方艙|隔離|確診|who|譚德賽" publications/*.jsonl > coronavirus.jsonl cat 2020-03-*.jsonl | ./jq '. | { producer_id }' | sort | uniq "producer_id": 100 "producer_id": 102 "producer_id": 104 ``` ### 試做 想說把 dataset 用 pandasql 跑跑看,不知會如何 github code: [nb_archive0.py](https://github.com/wuulong/DevZone/blob/master/Codes/nb_archive0.py) ![](https://i.imgur.com/SJTh9kZ.png) ![](https://i.imgur.com/hwuus02.png) - 簡單使用說明 - 在 code 裡面修改想要的參數在執行。 - 主要就是選需要的 jsonl 檔,修改想要的 sql 命令 ``` filenames = find('2020-01-*.jsonl', 'publications') archive0_df = load_jsons(filenames) q_df = archive0_df.drop(['keywords','hashtags','tags','comments','urls'],axis=1) # FIXME: sqlite keyword problem query_str = """SELECT producer_id,count(producer_id) cnt FROM q_df group by producer_id order by cnt""" qarchive0_df= ps.sqldf(query_str, locals()) plot_test(qarchive0_df,"January article count by producer_id") ``` - Issue - 有些欄位如 keywords 裡面放的是 json [] 這樣的格式,跟 sqllite SQL 語法的保留字衝突。所以暫時把相關欄位關掉 - 加入 producer 名稱 ![](https://i.imgur.com/Qz2k6id.png) ## 試做 II - 想玩玩關鍵字與詞頻相關 一點結果` ``` 2020/01 key words = ['焦點', '前線', '快訊', '要聞', '', '台北', '地方', '', 'ETtoday', '關鍵', '', '台灣', '黑鷹', '時尚', '韓國瑜', '宣布', '民眾', '大選', '黑特', '市場', '台南', 'NBA', '鼠年', '中國', '問卦', 'TaroNews', '桃園', '蘋果', '立委', '資訊', '5G', '科技', '產經', '直升', '美國', '綜合', '出爐', '口罩', '投票', '大陸', '選舉', '', '伊朗', '', '電子', '', '選前', '', '旺報', '閱讀', '高雄', '中職', '旅遊', '疫情', '失事', '運動', '新年', '過年', '連任', '柯文哲', '肺炎', '股市', '數位', '各黨', '湖人', '國民黨', '消費', '檢討', '討論', '兩岸', '流行', '日本', '大台北', '體育', '萬象', '新北', '', '', '產業', '武漢', '防疫', '', '反滲', '', '我們', '', 'Re', ''] 2020/02 key words = ['焦點', '湖北', 'WHO', '要聞', '快訊', '', '病例', '包機', '', 'ETtoday', '社區', '陸委會', '衝擊', '醫院', '聞網', '台灣', '時尚', '外交部', '新增', '返台', '韓國瑜', '出現', '民眾', '宣布', '黑特', 'NBA', '患者', '台商', '中國', '爆卦', '問卦', 'TaroNews', '首例', '鑽石', '資訊', '新冠', '美國', '居家', 'SETN', '口罩', '影響', '大陸', '', '檢疫', '', '病毒', '電子', '現在', '', '', '旺報', '還是', '旅遊', '疫情', '隔離', '運動', '入境', '確診', '是不是', '柯文哲', '肺炎', '政府', '', '抗疫', '國民黨', '武汉', 'COM', '感染', '确诊', '討論', '如何', '情人', '兩岸', '日本', '北市', '公主', '指揮', '', '死亡', '', '武漢', '防控', '防疫', '', '', '我們', '', 'Re', ''] 2020/03 key words = ['湖北', '快訊', '', '病例', '', 'ETtoday', '社區', '', '醫院', '聞網', '台灣', '星座', '南韓', '新增', '返台', '出院', '為何', '出現', 'NBA', '患者', '原創', '中國', '韓國', '爆卦', '問卦', 'TaroNews', '首例', '新冠', '美國', '助力', 'SETN', '口罩', '影響', '企業', '', '伊朗', '', '病毒', '電子', '', '累計', '', '利物浦', '還是', '', '旅遊', '疫情', '隔離', '孩子', '確診', '柯文哲', '肺炎', '新天地', '女人', '湖人', '抗疫', '武汉', '', '', 'COM', '第一', '感染', '這些', '确诊', '原创', '討論', '如何', '日本', '北市', '复工', '公主', '', '手機', '英超', '复产', '例新冠', '', '死亡', '武漢', '防控', '防疫', '', '', '我們', '', 'Re', ''] ``` - 暫時使用 [user_dict.txt](https://github.com/wuulong/DevZone/blob/master/Codes/user_dict.txt) 自定義詞, [user_stop.txt](https://github.com/wuulong/DevZone/blob/master/Codes/user_stop.txt) 不感興趣的詞 - Issue 看來要把關鍵字與詞頻弄得像樣,也很需要花功夫。先一點嘗試 ## 釋出 [COVID-19(武漢肺炎)全國指定社區採檢院所及重度收治醫院](https://drive.google.com/open?id=15PvwjIUuHg-vUXuWeVUNmwCvRvqTcuRKz1b3jdiVgmU) 0archive 零時檔案局-分析練習 [nb_archive0.py](https://github.com/wuulong/DevZone/blob/master/Codes/nb_archive0.py) - 進 pandasql - 關鍵字分析 ## 支援項目 [政府開放資料-基本資料探索公開召集](https://www.facebook.com/groups/LASSnet/permalink/2532437993673462/) [資料分析的小技巧分享](https://www.facebook.com/groups/LASSnet/permalink/2531513430432585/) ## 自己參與紀錄 - join 0archive 零時檔案局 - 武漢肺炎資料分析 slack - 查閱這兩天開放資料上架清單,沒有採檢站資訊 - 數位化 社區採檢院所 表格 (好像是白做工,疾管署連地圖都有了) - 由新聞圖片找到 pdf, 手動複製與貼上到 google sheet, 後來發現 tabula, 轉換後還是有些跑掉,再手動編輯與校正 - [發文分享黑客松與目前編輯資料](https://www.facebook.com/wuulong.hsu/posts/3307668092582919) - [我要錄自介](https://intro.g0v.ronny.tw/event/show/g0v-hackath38n) - 學習 jq, 真是強大的工具 - 了解一下 0archive 架構 - pandasql insert problem , 可能跟 sqlite keyword 有關 '[]' - [sqlite keyword](https://www.sqlite.org/lang_keywords.html) - [pandasql source code](https://github.com/yhat/pandasql/blob/master/pandasql/sqldf.py) - [sqlalchemy](https://www.sqlalchemy.org/) - [Engine Configuration](https://docs.sqlalchemy.org/en/13/core/engines.html) ## 學習到的經驗 - [pdf 轉表格工具 tabula](https://tabula.technology/) - [sheet2site](https://sheet2site.com/) - [jq](https://stedolan.github.io/jq/) : json 處理工具 jq - [線上練習環境](https://jqplay.org/) - [JSON Lines](http://jsonlines.org/) ## 松後學習 臺灣好植地 - [計畫說明](https://beta.hackfoldr.org/tree/http%253A%252F%252Fbit.ly%252Ftree-taiwan-map) - ## 相關的資訊 - [獨/社區防疫超前部署 167家新冠肺炎採檢站看這裡](https://udn.com/news/story/120940/4409905) - [醫療院所因應COVID-19(武漢肺炎)社區監測採檢分流就醫及轉診建議1090312.pdf](https://www.cdc.gov.tw/File/Get/UFHRMeww865Wv6UME6nOpg) - [全國指定社區採檢院所](https://antiflu.cdc.gov.tw/?selectFluObjs=1) - [最漂亮的中文文字雲產生器教學,製作簡報必備工具](https://www.playpcesor.com/2017/06/WordArt-Tagul.html) - [NLP 中文斷詞最方便的開源工具之一 — Jieba](https://clay-atlas.com/blog/2019/09/23/python-chinese-tutorial-tokenizer-jieba/) - [用結巴斷詞實作文字視覺化 — 以 2016 總統就職演講為例](http://blog.infographics.tw/2016/05/text-visualization-with-jieba/) - [python jieba分詞(結巴分詞)、提取詞,載入詞,修改詞頻,定義詞庫](https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/32296/) - [CKIP Neural Chinese Word Segmentation](https://github.com/ckiplab/ckiptagger/)