# 學習筆記 - 在家黑客松
## 基本資料
[官網](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/)