owned this note
owned this note
---
tags: cofacts, meeting note
GA: UA-98468513-3
---
20211103 會議記錄
=====
:::info
- [所有會議記錄](https://g0v.hackmd.io/@mrorz/cofacts-meeting-notes/)
- 線上出席:mrorz, bil, nonumpa, ggm
- https://gather.town/app/z3x18KQFgZCX8MeZ/cofacts
:::
## :potable_water: Release pipeline
### :rocket: Staging
#### :electric_plug: API
See below
#### :globe_with_meridians: Site
##### Testing checklist
http://dev.cofacts.tw/
登入自有帳號後檢測:
- [x] Replies list
- [x] 可選擇 Replied by me
- [x] can upvote / downvote replies
- [x] Article detail
- [x] Can submit, upvote, downvote reply request
- [x] Can submit, remove own reply
- [x] Can upvote, downvote other's article reply
- [x] Can add, remove, upvote, downvote category
##### ⛔️ Release Blockers
Nope
##### 未竟項目
### :eye: Under review
- API: https://github.com/cofacts/rumors-api/pull/264 (Bugfix of last week)
- DB: https://github.com/cofacts/rumors-db/pull/55 (Same as last week)
:::success
- Deploy: 週五凌晨(需公告 downtime)
- 10min downtime to update DB schema ([migration script](https://github.com/cofacts/rumors-db/pull/55))
:::
## 小聚籌備
- 三人交集:11/21
- [ ] 主題:感恩志工編輯小聚(感恩節 Thanksgiving)
- [x] 場地:[小樹屋](https://thehapp.com/space/267)
- 捷運行天宮站 1 號出口,步行約 4 分鐘
- 民生東路二段90巷4號1樓-101房
- 
- 租用時間:13:00 - 17:30(門鎖密碼在 12:55 時生效)
- [x] 時間:
- 活動時間:14:00 - 17:00
- 時間分配
- 2:00 - 2:20 開場
- 2:20 - 2:40 介紹 mission 1 - 按讚
- 2:40 - 3:00 進行評價 (20則)
- 3:00 - 3:30 休息、自我介紹、交流
- 3:30 - 3:50 介紹 mission 2 - 寫回應
- 3:50 - 4:30 進行回應(1則)
- 4:30 - 5:00 介紹分類、RSS、合照
- [ ] 投放目標:北北基桃
- [x] 事前產生 spreadsheet 24 人分工
- [x] KKTIX:https://cofacts.kktix.cc/events/cofacteditor27
- [ ] 誰會來呢:bil,
- [ ] 做圖:Lucien :pray:
- [ ] LINE 文案:
真的假的 2021下半年的實體編輯小聚回歸!
捷運行天宮站 1 號出口,步行約 4 分鐘
民生東路二段90巷4號1樓-101房
## 廣告補充
> cai++
Sheet: https://docs.google.com/spreadsheets/d/1Ytd69YU6z7Fgra81_79XrsPwQYV1Clh0yp5OZlk5Psg/edit#gid=0
- https://cofacts.tw/article/30shf8vja965y
- https://cofacts.tw/article/1j76un2qvmzko
- https://cofacts.tw/article/3h41v8fib3c1y
- https://cofacts.tw/article/14gmqjd73drxo
- https://cofacts.tw/article/2jubvdwmqlymd
- https://cofacts.tw/article/19i23tu9cxs8x
- https://cofacts.tw/article/35hiwsughxw9j
- https://cofacts.tw/article/35s3oqkdq8qys
- https://cofacts.tw/article/1cxozq9qv0419
- https://cofacts.tw/article/2oohq47wv9043
- https://cofacts.tw/article/5drsegt3owa8
- https://cofacts.tw/article/1nlqbb03g7pit
> 變形體
> https://cofacts.tw/article/5480703300823-rumor
> 丟連結然後叫人連結文章的留言區,結果又跟之前一樣加賴 :laughing:
> 丟帳號google得到一個律師名字跟律師證號
> https://i.imgur.com/W45mZAK.png
> 點個人進去查無資料
> 再丟去法務部律師查詢系統
> 名字查無資料,證號根本不同人
> 共同點是要加的「賴」都是kingrionman
> 這帳號丟165還查不到資
> [name=cai]
:::warning
先放著
1. 先找到聯絡方式 - 2021/2/21 "Greetings from Cofacts - Nice to meet you today!"
2. 去信回報:1. 奇妙的「追回帳款」LINE ID
:::
:::warning
(Maybe 公投後)
在粉專指出
1. 有這樣的現象
2. 請不要在「我想補充」叫人加 LINE ID,視為廣告行為。
https://www.facebook.com/groups/cofacts/posts/3111789079052900/
:::
新回應:https://cofacts.tw/article/2a7fw9bjm9z48
## 網路工作詐騙
>「我本身有在做金融平台的投資 目前在⋯⋯」「所以需要請人幫我顧」
> https://cofacts.tw/article/2hliscsstl4cy 與旁邊的相似可疑訊息
> 「工作內容是 我會給你我的個人外幣帳號」「會有人親自指導你」「不用擔心沒有經驗」
> https://cofacts.tw/article/22repgc8bltjp
> https://cofacts.tw/article/vagfgfyhlj2v 喔喔喔這裡有人在我想補充把完整話術與平台與帳號密碼都貼出來了 XDD
:::warning
(Maybe 公投後)
粉專貼文
:::
## 連結同一人回報的文章

公開個人頁面過往討論
- 不要讓 profile page 被人拿來連續 downvote:[Github](https://github.com/cofacts/rumors-site/issues/401)/[討論](https://g0v.hackmd.io/Svt6MCd5T76hjDJ8UsKBnQ#Profile-page-upvote--downvote)
- 揭露 account join date:[Github](https://github.com/cofacts/rumors-site/issues/412)/[討論](https://g0v.hackmd.io/-Mth-vd5RPWqdLOfRJHHcg#Show-join-date-on-profile-page)
- 不希望公開整頁:[討論](https://g0v.hackmd.io/6ZwH7NANRqG6s-CCIy9IYw#%E3%80%8C%E8%A9%95%E5%83%B9%E9%81%8E%E7%9A%84%E5%9B%9E%E6%87%89%E3%80%8D%E5%88%97%E8%A1%A8)
----
1. 讓使用者可以點進他人的個人頁面的 blocker?
- ~~拿掉 upvote / downvote~~
- 但通常只有認為這個編輯是不是很糟,才會進他的 profile page,此時反而會需要每個都 downvote [name=bil]
- 那發生了再處理,先公開 [name=mrorz]
2. 在個人頁面實作「回報過的訊息」列表?
- 有人可能以為新網站沒有「查看該用戶回報的所有文章」功能 [name=bil]
- 但 2020 年新版網頁上線前,Cofacts 網站[一直都有「查看該用戶回報的所有文章」功能](https://old.cofacts.tw/articles?searchUserByArticleId=366qh7y53xhuy&filter=all&replyRequestCount=1) [name=mrorz]
- 時間過去了,大家對隱私的保護應該會更高 [name=bil]
- 我們不應該列出編輯寫過的回應、卻不列出 LINE 使用者送過的訊息 [name=mrorz]
- 之前的 usability report: https://g0v.hackmd.io/lIedGsQWTeScBTWfr4Zq0w [name=mrorz]
- 那我們應該同時保護編輯與 LINE 使用者的隱私 [name=bil]
- 設計很漂亮不給看有點可惜,應該讓人點進去看。但如果會在意的話,可以讓使用者決定 profile page 什麼要顯示、什麼不顯示。 [name=nonumpa]
- 預設可以看到 badge 但不會看到文章
- 編輯可以選擇打開
:::success
結論:先保持現狀
- 編輯可以自己選擇分享個人頁面 URL 給他人
- 不特定人無法直接點入他人的 profile 頁面
- 未來讓使用者點入時,預設只呈現 contribution chart,讓使用者可以選擇打開什麼 tab
:::
## TODO
[宣傳 RSS 訂閱主題 for 公投](https://g0v.hackmd.io/@mrorz/cofacts-meeting-notes/%2Frf0A7MRfTOC613QZmFehQA)
## 放大字級
> 陳婷++
https://www.figma.com/file/6yJZnwNYJciyH7mrhPvyZs/Cofacts-website-(Copy)?node-id=299%3A403
(「字級放大」系列)
- 當內文到 16px 時,line-height 可能也要拉大一點(24px?)比較不擠 [name=mrorz]
- 因為我們 figma 沒做 auto-layout,在 figma 上調 line-height 會動到一堆 component 囧
- 但改在 code 裡應該沒問題
:::success
開票講解字調大與 line-height 的調整
:::
## Image collection
Previous discussions:
https://github.com/cofacts/rumors-line-bot/issues/7
https://g0v.hackmd.io/aJqHn8f5QGuBDLSMH_EinA
LINE Bot 檔案存到 gcs 的部分差不多了,考慮要不要直接做完 phase 0 再上線?
- 只放 gcs 的變更比較少 [name=nonumpa]
- 如果這樣就上線,反而比較難看到圖 [name=nonumpa]
網站的部分可以晚點再寫會有什麼問題嗎?
- 沒辦法新增回覆
### Overall discussion
1. 單一圖片/影片/音訊
- phase 0
- db 原有欄位
- text 要放什麼? null?
- ["In seperate articles"](https://g0v.hackmd.io/aJqHn8f5QGuBDLSMH_EinA#In-separate-articles) 的 DB model [name=mrorz]
- 一張圖一個 article
- Text 先放 null,未來放圖片內容
- 未來(phase 1)再用另外一個概念 (article group) 把「一起傳」的圖文框再一起
- 一個 group = 被一起傳的 articleIds (圖 or 文)
- 比較能處理圖片跟文字的不同搭配
- db 新增欄位
- attachment ~~(s?)~~
- ~~attachment.fileUrl~~ -> attachment.mediaUrl
- ~~attachment.id~~
- ~~attachment.perceptualHash~~ -> attachment.hash
- ~~attachments.text : 從檔案解析出來的文字~~ 未來直接放在 article.text
- type
- text, image, audio, video ~~, combination~~
- ~~combination 只會是 message + (image, audio, video) 其中之一~~
- same as [Messaging api#
Message event](https://developers.line.biz/en/reference/messaging-api/#message-event), but without file, sicker and location
2. 圖片/影片/音訊 加文字描述
- phase 1
- combine into one article or seprate?
- handle same text different media vise versa
- ~~reject multiple messages and files?~~ (resolved by articleGroup)
- dedicated multimedia processor?
- create api
- file, id(hash), text
- 做個通用的、create by URL 的 API [name=mrorz]
- LINE bot create a content proxy only for api
- search api
- by hash
- by hash and text?
- by file?
- 對第三方確實比較方便,不過 GraphQL argument 無法傳檔,除非 base64 編碼 [name=mrorz]
- by URL, LINE bot 上開一個下載 endpoint 把 API 的下載 request proxy 到 LINE 的 [get-content endpoint](https://developers.line.biz/en/reference/messaging-api/#get-content) [name=mrorz]
~~3. 處理圖集?
- 感覺會很麻煩~~
Other notes:
- 網站可以看圖片,文字就變成輔助,tesseract-ocr 可以先從 LINE Bot 移除,後處理可以之後再補上,甚至優先度變很低
- 因為只能用在圖片且限制比較高,確實以圖找圖的結果比較好,移除可以降低 maintenance cost (runtime 資源與開發 effort) [name=mrorz]
- 但是在 chatbot / 網站支援 `ListArticle` 回傳圖片之前,圖片訊息不會有 reply,此時還是需要 OCR 用文字找,所以暫時無法拔掉 OCR。
- enable tesseract-ocr result editing?
### LINE Bot
- query by file's perceptual hash
- 可能改成 by URL [name=mrorz]
- create new article if not exist
- article text
- attachments
- [phase 2] tesseract-ocr postprocess
- [phase 0.5] remove tesseract-ocr from linbot
- [phase 1] surrending text
- one article or two article?
- how to search?
- ~~seperate~~
- reply twice
- reply once (skip one reply)
- ~~both media and text?~~
- wait 0.5s
- ~~[phase 2] text query can be article.text and article.attachments.text~~
- similarity?
- user consent and create new article
- [phase 0] 單一檔案很好處理
- [phase 1] 加文字描述的,要另外想怎麼把兩者連結起來
- wait 0.5s, handle all events from same user
- search
- [phase 0] ListArticle 後如果有一樣的圖,就默默 + reply request (& GA `Article` / `Selected` / ``<selected article id>`` ?),但一樣回傳「還不支援圖片ㄛ」
- 現在 + replyrequest 是做在 select article 後在弄的,實作時可以評估一下這是否適合在 phase 0 就做 [name=mrorz]
- [phase 1] liff viewed articles
### API and DB
- mutation `CreateArticle`
- upload to gcs
- article.attachment ~~(s?)~~
- `mediaUrl`: fileHash, or whole link?
- `hash`: perceptualHash
- can query by ~~file's perceptual hash~~ file url
- migration: 把以前儲存的圖片丟進去
- 如果決定把文字訊息跟檔案訊息放同一個 article, 要再把他們 link 回已存在的 article?
- `ListArticle` 先暫時只會輸出 `type=text` 的 article,避免 LINE bot 或 website 輸出 text=null 的 article
- type argument, default = ['text']
- LINE bot 因為要知道是否有重複的圖所以 type=['text', 'image']
- 網站跟 chatbot 支援其他 type 時再讓 `ListArticle` 預設回傳所有種類
- Google Drive 檔案與 metadata 在 migration 後仍應保留,未來(phase N?)可以用上傳日期來補每張圖的 analytics(同一張圖什麼時候被傳幾次)
### Website
- [phase 0.5] UI to present image(file)
- [phase 1] able to search by image ~~(file)~~ ?
- [phase 1] filter by image(file) messages
:::success
- 先做 multimedia processor 和 line bot media url (for api)
- 暫時無法拔掉 OCR,在 chatbot / 網站支援 ListArticle 回傳圖片之前,圖片訊息不會有 reply,此時還是需要 OCR 用文字找
:::
## rumors-ai
### bert model
- https://github.com/cofacts/rumors-ai-bert/tree/master/GPU_host/model_bert
### TODO
1. 新的 category - [NEW] 的現有 category
- 跨國互動 (`intl`, 118)
- 疾病、醫藥 (`medical`, 177)
- COVID-19 疫情 (`covid19`, 476)
- 疾病、醫藥子分類?--> preprocess 標記
- 「疾病、醫藥」model:從所有「疾病、醫藥」裡面分出「是 COVID-19」與「不是」的
3. 重整 category
- 「性少數與愛滋病」(`kz3c7XEBrIRcahlYxAp6`, 287) --> 分進「愛滋病」(`aids`, 12) 或「性別議題 (原「女權與性別刻板印象」)」(`lD3h7XEBrIRcahlYeQqS`, 241)
### input
- range:
- 最近的所有人工標記
- 「反對」標記
- Process
- 做進 [community builder](https://cofacts.github.io/community-builder/)
- 從 API 撈出要處理的文章
- 放進適合協作的 review 地方 = spreadsheet
- Preprocess 標記子分類 / 親分類
- 匯出成若水一樣的格式
- 跟若水一樣的格式:一篇
```JSON
{
"createdAt": "2018-11-14T01:24:49.719Z",
"hyperlinks": "",
"id": "1pt6j5jf6s6dq",
"reference": "LINE",
"tags": [3],
"text": "自中國進口水壺蓋 太和工房被爆驗出殘渣值超標57倍",
"url": "https://cofacts.g0v.tw/article/1pt6j5jf6s6dq"
}
```
- table ID <--> ES
- 只 train 有標的
- https://colab.research.google.com/drive/1gAtSLQEwUdkFIs24Z8ARDfW664xIAmQh?usp=sharing#scrollTo=QFthXXdCBGQn
- model 打包成 docker 放到 docker hub,AI classifier 就會拿到
:::success
- 弄 spreadsheet、打點產出 spreadsheet / 匯出成一堆 json 的 pipeline [name=mrorz]
- 下週三 9:30 follow-up
:::