cofacts

Month: 2023-03

2023-03-01

mrorz 13:21:03
今天會繼續討論這項唷!
🙌 1
cai 14:02:59
https://cofacts.tw/article/byl0kszte5zq
這篇有希望成為大亂鬥,因為搜尋`商城名稱+詐騙`這篇在第一頁
未公布內容的福袋 + 每次轉賣賺差價 + 用戶之間直接轉帳交易 + 要拉人進來
詐騙溫床?
https://www.dcard.tw/f/mood/p/241153775 dcard這篇是直接問派出所
https://www.ey.gov.tw/Page/DFB720D019CCCB0A/018c8620-8468-416a-bbc4-51570833173a 販售福袋有規定要公布內容
這個好神秘⋯⋯
所以這平台裡的福袋就是一種不走的 NFT 嗎
cai 14:02:59
https://cofacts.tw/article/byl0kszte5zq
這篇有希望成為大亂鬥,因為搜尋`商城名稱+詐騙`這篇在第一頁
未公布內容的福袋 + 每次轉賣賺差價 + 用戶之間直接轉帳交易 + 要拉人進來
詐騙溫床?
https://www.dcard.tw/f/mood/p/241153775 dcard這篇是直接問派出所
https://www.ey.gov.tw/Page/DFB720D019CCCB0A/018c8620-8468-416a-bbc4-51570833173a 販售福袋有規定要公布內容

Dcard

爸媽正在被詐騙 - 心情板 | Dcard

更新後續:平日在外縣市上班,在某天上班的時候爸爸突然line我說,把帳戶結清,沒有玩了,原因是不希望影響本業、跟小孩翻臉,所以我還沒回家在他面前打165,這件事情就結束了,我鬆了一口氣,在家的時候,我 - 詐騙,家庭

ey.gov.tw

零售業販售福袋定型化契約應記載及不得記載事項

零售業販售福袋定型化契約應記載及不得記載事項 定義:本事項所稱「福袋」,指企業經營者將一件以上商品或商品之兌換券加以包裹販售,而消費者無法於購買前與購買當時確定其內容物者。 壹、零售業販售福袋定型化契約應記載事項: 一、企業經營者資訊 企業經營者名稱、負責人、地址及消費者服務專線電話資訊 二、販售福袋辦法 販售福袋辦法應包含福袋販售之期間、數量、程序、購買限制。 三、全部福袋內容資訊 內容資訊應包括下列事項: (一)基本商品:商品之名稱、品牌、規格及數量。 (二)機率商品:除前款以外之商品,各該商品之名稱、品牌、規格、數量及購得之機率。 前項第二款之機率商品,須經具公信力之第三方見證人見證,並應公告該第三方見證人之資訊。 四、退換說明 福袋內瑕疵商品之退換貨方式。 五、應繳稅額 消費者應繳稅金之商品項目、商品價值及稅率。 六、公告方式 第二點之販售福袋辦法及第三點第一項第二款之機率商品內容資訊,應於福袋販售現場明顯處及企業經營者網站公告。 其他應記載事項應於福袋販售現場明顯處或企業經營者網站公告。 貳、零售業販售福袋定型化契約不得記載事項 一、不得記載企業經營者得片面變更契約內容。 二、不得記載商品瑕疵擔保責任之排除或限制規定。 三、不得記載廣告僅供參考。 四、不得記載排除或限制消費者保護法第四十七條或民事訴訟法第四百三十六條之九小額訴訟管轄法院之適用。 五、不得記載預先免除或限制契約終止或解除時,企業經營者應負之回復原狀及損害賠償責任。 六、不得記載違反其他法律強制禁止規定或為顯失公平或欺罔之事項。

這個好神秘⋯⋯
所以這平台裡的福袋就是一種不走的 NFT 嗎
mrorz 15:26:51
今日議程
https://g0v.hackmd.io/@cofacts/meetings/%2FzVyuEX5RS5uONLnucsxiYA

HackMD

Cofacts 會議記錄 - HackMD

# Cofacts 會議記錄 ## 2023 - [20230301 會議記錄](/zVyuEX5RS5uONLnucsxiYA) - [20230223 會議記錄](/r39Cc0RWT0GB

mrorz 17:12:24
發現 hetzner 這家 VPS
平平 16GB ram 的機器,價格只要 30 歐元 / 月
linode 是 80 美元 / 月
https://www.hetzner.com/cloud
你是先知嗎 XD 知道昨天 Linode 要漲價嗎 XD
完全不知道 XDD
@mrorz 真的假的!
mrorz 17:12:24
發現 hetzner 這家 VPS
平平 16GB ram 的機器,價格只要 30 歐元 / 月(美國)
我們現在在用的 linode 是 80 美元 / 月(可架在日本)
https://www.hetzner.com/cloud
你是先知嗎 XD 知道昨天 Linode 要漲價嗎 XD
完全不知道 XDD
@mrorz 真的假的!

2023-03-02

cai 19:23:28
分類標籤如果是`不希望手動標記`或`改用其他`的分類,能直接在選項隱藏嗎?還是有人會亂標。
AI 標記應該沒那麼快,不到24小時就自動分類了?
https://cofacts.tw/article/arzzmql7uhcs
AI 是每天跑沒錯
1
cai 19:23:28
分類標籤如果是`不希望手動標記`或`改用其他`的分類,能直接在選項隱藏嗎?還是有人會亂標。
AI 標記應該沒那麼快,不到24小時就自動分類了?
https://cofacts.tw/article/arzzmql7uhcs
AI 是每天跑沒錯

2023-03-03

2023-03-08

cai 23:27:39
https://cofacts.tw/article/__-BH4AMgB6gHqPegJ6h3qGfoN-gH4AfkB-AH4tXgP8
這張是107年4月警方拿來澄清的萬安演習時間 https://news.ltn.com.tw/news/life/breakingnews/2394289
但是107年5月國防部公布的不是這個時間 https://www.ettoday.net/news/20180518/1172361.htm
這個要怎麼寫啊XD
真有趣
就說這是 2018 年 4 月警方公佈的,2018 年萬安演習時間表,是已經過時的資訊。
甚至,2018 年的萬安演習再後來也有再做調整,因此後來 2018 年實際的萬安演習日程,也與網傳圖片不同
cai 23:27:39
https://cofacts.tw/article/__-BH4AMgB6gHqPegJ6h3qGfoN-gH4AfkB-AH4tXgP8
這張是107年4月警方拿來澄清的萬安演習時間 https://news.ltn.com.tw/news/life/breakingnews/2394289
但是107年5月國防部公布的不是這個時間 https://www.ettoday.net/news/20180518/1172361.htm
這個要怎麼寫啊XD

自由時報電子報

「今天下午可不可以出門?」網路瘋傳下午萬安演習...假的啦 - 生活 - 自由時報電子報

不要再傳了!「4月13日下午1點30分千萬不要出門!」網路通訊軟體最近瘋傳「中部地區萬安演習將於4月13日登場」訊息,讓中部警方趕緊出示正確版本的時間,不過連日來仍有不少民眾半信半疑,相互詢問「今天下午到底可不可以出門?」警方則再次呼籲,今年中部萬安演習正確日期是在5月29日,今天下午絕對不會有警報響起,希望網民不要再轉貼錯誤版本訊息。最近在網路通訊軟體流傳中部萬安演習將於今天下午1點30分至2點盛大登場,演習縣市包括苗栗、台中、彰化、南投、雲林等5個縣市,警報實施時將人車管制,違者處15萬元罰鍰並移送法辦,文末還強調「演習視同作戰,請勿視為兒戲」,甚至還寫「如遇敵機來襲,請盡速進入地下室躲避」,讓中部地區民眾都以為真的將在當天展開演習,但在向轄區警方詢問後,卻發現4月13日的演習日期是錯誤訊息,造成民眾一頭霧水。

ETtoday新聞雲

「萬安41號」演習6/4展開! 一張圖看懂各地區演習時間 | ETtoday政治新聞 | ETtoday新聞雲

107年「萬安41號」演習將於6月4日至7日,區分北、中、南、東部、澎湖、金門、馬祖等7個地區實施,採有預告、分區方式,於下午1時30分至2時實施30分鐘防情傳遞、警報發放、人車疏散避難、交通及其他之必要管制、災害救援及部分城市重點等驗證;特別的是,今年萬安演習與國軍年度「漢光演習」共同辦理,盼使防空演練結合戰場景況,提高國人憂患意識。

真有趣
就說這是 2018 年 4 月警方公佈的,2018 年萬安演習時間表,是已經過時的資訊。
甚至,2018 年的萬安演習再後來也有再做調整,因此後來 2018 年實際的萬安演習日程,也與網傳圖片不同

2023-03-09

mrorz 01:18:50
今天開會的時候聊到,ChatGPT 可以怎麼用在 Cofacts,第一種想到的情境就是,針對沒有人回過的訊息,先給一些分析,提醒使用者應該要注意哪些訊息富有情緒、哪些內容又應該查證。

https://g0v.hackmd.io/Xb7HCrZhTPq_97FtC-2RGA#Idea-of-using-ChatGPT-on-Cofacts

Open AI 其實有針對如何讓 GPT 做複雜的事情出一份文件,整理相關的 prompt engineering 文獻。其中,「請 model 先做解釋」與把解釋再拿去當 prompt 的 chain of thought 技巧,讓我想到以前做學習單的時候,會透過一系列問題來請學生作答的感覺。

想要請教大家,有沒有看過什麼媒體識讀相關的學習單,指導學生分解然後再給出答案呢?或許把網傳謠言 + 學習單問題拿來問 ChatGPT,說不定會有不錯的結果 XD
Cofacts prompt engineering 結果紀錄會放在這裡
https://docs.google.com/spreadsheets/d/e/2PACX-1vQSOFMGdiiHSXzh7j3ZpKnMRtSNDhKip1xrtxxW3wiF2CbISz3tipNw6Uw2uKTsH5oL4Rv8qtVSqQNq/pubhtml#

我請 ChatGPT 每個測試輸出三次,放在 output / response 欄位,來看該 prompt 產出的穩定性。 畢竟 GPT 每次都不同,只能多弄個幾次,比較好判斷回應裡的某些特性,是運氣好有出現,還是穩定出現。
ChatGPT 相關的東西實作起來其實也是要改滿多地方的
先開個 design doc 放段落,下週三前補起來跟大家 review 一下
https://g0v.hackmd.io/WwinEyGBRYmi_iKu8cSprQ
mrorz 01:18:50
今天開會的時候聊到,ChatGPT 可以怎麼用在 Cofacts,第一種想到的情境就是,針對沒有人回過的訊息,先給一些分析,提醒使用者應該要注意哪些訊息富有情緒、哪些內容又應該查證。

https://g0v.hackmd.io/Xb7HCrZhTPq_97FtC-2RGA#Idea-of-using-ChatGPT-on-Cofacts

Open AI 其實有針對如何讓 GPT 做複雜的事情出一份文件,整理相關的 prompt engineering 文獻。其中,「請 model 先做解釋」與把解釋再拿去當 prompt 的 chain of thought 技巧,讓我想到以前做學習單的時候,會透過一系列問題來請學生作答的感覺。

想要請教大家,有沒有看過什麼媒體識讀相關的學習單,指導學生分解然後再給出答案呢?或許把網傳謠言 + 學習單問題拿來問 ChatGPT,說不定會有不錯的結果 XD

g0v.hackmd.io

20230308 會議記錄 - HackMD

<https://github.com/openai/openai-cookbook/blob/main/techniques_to_improve_reliability.md | techniques_to_improve_reliability.md>

Cofacts prompt engineering 結果紀錄會放在這裡
https://docs.google.com/spreadsheets/d/e/2PACX-1vQSOFMGdiiHSXzh7j3ZpKnMRtSNDhKip1xrtxxW3wiF2CbISz3tipNw6Uw2uKTsH5oL4Rv8qtVSqQNq/pubhtml#

我請 ChatGPT 每個測試輸出三次,放在 output / response 欄位,來看該 prompt 產出的穩定性。 畢竟 GPT 每次都不同,只能多弄個幾次,比較好判斷回應裡的某些特性,是運氣好有出現,還是穩定出現。
ChatGPT 相關的東西實作起來其實也是要改滿多地方的
先開個 design doc 放段落,下週三前補起來跟大家 review 一下
https://g0v.hackmd.io/WwinEyGBRYmi_iKu8cSprQ
mrorz 14:33:05
Cofacts prompt engineering 結果紀錄會放在這裡
https://docs.google.com/spreadsheets/d/e/2PACX-1vQSOFMGdiiHSXzh7j3ZpKnMRtSNDhKip1xrtxxW3wiF2CbISz3tipNw6Uw2uKTsH5oL4Rv8qtVSqQNq/pubhtml#

我請 ChatGPT 每個測試輸出三次,放在 output / response 欄位,來看該 prompt 產出的穩定性。 畢竟 GPT 每次都不同,只能多弄個幾次,比較好判斷回應裡的某些特性,是運氣好有出現,還是穩定出現。

2023-03-10

cai 01:16:23
https://cofacts.tw/article/kPwQsoYBC7Q3lHuU3kOd
這篇講法有點像捏造的,可是你又不可能去問警方說有沒有這個案件
手法是匯錯錢冒名貸款此篇的變形 https://tfc-taiwan.org.tw/articles/6308 只是他攔截成功
https://cofacts.tw/article/v_w1vIYBC7Q3lHuUYEwh 這篇也是類似的,標題寫他被騙了,最後又說是轉述的

台灣事實查核中心

【錯誤】網傳「新型詐騙...有人會突然匯一筆錢到你的銀行戶頭,是對方透過非法途徑買到了你的個資,幫你申請一筆貸款,以轉錯帳藉口,請你還錢,之後會收到貸款機構的催款電話」?

【報告將隨時更新 2023/2/7版】 一、警政署表示,近期並未收到傳言敘述的犯罪通報案件。 二、銀行公會與律師均指出,傳言描述的犯罪手法有諸多不合理之處。 三、銀行公會指出,處理誤匯款的標準流程,是由雙方銀行居中聯繫,不可能有匯款人取得另一方個資。民眾在不知情的狀況下被盜用身份申請貸款,受侵害的是銀行的財產權,被盜用身份者無須繳納貸款費用。 傳言描述的犯罪手法有諸多不合理之處,是捏造的假治安提醒,因此,為「錯誤」訊息。 【查核聲明】資訊若有更新,本報告亦會同步更新。

這是變形沒錯
原本銀行已經闢謠,影片卻改口變成地下錢莊
欸不對,TFC 那篇就是寫地下錢莊
這兩個影片裡面的狀況就是 TFC 裡說的那樣
目前 Cofacts 上的回應好像比較偏向解釋,用假資訊放貸者不可能是銀行。但兩個影片都聲稱是錢莊。MyGoPen 當時問警政署,警政署表示

1. 當時沒案例。
2. 但民間借貸機構是否會這樣放款,並不確定。
https://www.mygopen.com/2021/09/bank-fraud.html

其實 2021 年中國發生的那個事件,我也覺得有東西沒有講清楚 。即使該篇中國受害者把錢匯回,那也應該是直接匯回原帳戶,也就是網貸帳戶,也就像是還錢那樣。
抖音上這兩個新影片的特性是
1. 最後都是在為自己的帳號宣傳
2. 揭露的資訊都沒有超過 2021 年的網傳訊息。若真有這件事情發生,他們手上應有很多值得分享的資訊,例如會給他的帳號,對方要求匯回的帳號,出示報案三聯單等等,不太可能兩個人表現此案的方法,都像是在照著 2021 年版的照本宣科。
3. 聲稱有報警,但印象中 165 反詐騙近期沒有發表與此手法相關的資訊。
IG 版,一樣是媽媽接到電話,帶去警察局備案https://cofacts.tw/article/X6TF4YcBpPlTXSoGI34h
https://www.instagram.com/p/CpsATFlhoWD/ IG留言直接有人說不要抄襲文本 😆
我發現 TFC 跟 MyGoPen 的查核報告有更新,所以就寫了回應。

我參考 TFC 下面的 comment,增加了真正詐騙案例。相比之下,謠言影片裡面的詐騙集團也太辛苦,除了被害人連錢莊也要騙;而謠言裡的錢莊也太愚蠢這麼輕鬆就放貸出去,不怕倒帳ㄇ。
cai 01:16:23
https://cofacts.tw/article/kPwQsoYBC7Q3lHuU3kOd
這篇講法有點像捏造的,可是你又不可能去問警方說有沒有這個案件
手法是此篇的變形 https://tfc-taiwan.org.tw/articles/6308 只是他攔截成功
https://cofacts.tw/article/v_w1vIYBC7Q3lHuUYEwh 這篇也是類似的,標題寫他被騙了,最後又說是轉述的
這是變形沒錯
原本銀行已經闢謠,影片卻改口變成地下錢莊
欸不對,TFC 那篇就是寫地下錢莊
這兩個影片裡面的狀況就是 TFC 裡說的那樣
目前 Cofacts 上的回應好像比較偏向解釋,用假資訊放貸者不可能是銀行。但兩個影片都聲稱是錢莊。MyGoPen 當時問警政署,警政署表示

1. 當時沒案例。
2. 但民間借貸機構是否會這樣放款,並不確定。
https://www.mygopen.com/2021/09/bank-fraud.html

其實 2021 年中國發生的那個事件,我也覺得有東西沒有講清楚 。即使該篇中國受害者把錢匯回,那也應該是直接匯回原帳戶,也就是網貸帳戶,也就像是還錢那樣。
抖音上這兩個新影片的特性是
1. 最後都是在為自己的帳號宣傳
2. 揭露的資訊都沒有超過 2021 年的網傳訊息。若真有這件事情發生,他們手上應有很多值得分享的資訊,例如會給他的帳號,對方要求匯回的帳號,出示報案三聯單等等,不太可能兩個人表現此案的方法,都像是在照著 2021 年版的照本宣科。
3. 聲稱有報警,但印象中 165 反詐騙近期沒有發表與此手法相關的資訊。
IG 版,一樣是媽媽接到電話,帶去警察局備案https://cofacts.tw/article/X6TF4YcBpPlTXSoGI34h
https://www.instagram.com/p/CpsATFlhoWD/ IG留言直接有人說不要抄襲文本 😆
我發現 TFC 跟 MyGoPen 的查核報告有更新,所以就寫了回應。

我參考 TFC 下面的 comment,增加了真正詐騙案例。相比之下,謠言影片裡面的詐騙集團也太辛苦,除了被害人連錢莊也要騙;而謠言裡的錢莊也太愚蠢這麼輕鬆就放貸出去,不怕倒帳ㄇ。
mrorz 09:17:03
目前 Cofacts 上的回應好像比較偏向解釋,用假資訊放貸者不可能是銀行。但兩個影片都聲稱是錢莊。MyGoPen 當時問警政署,警政署表示

1. 當時沒案例。
2. 但民間借貸機構是否會這樣放款,並不確定。
https://www.mygopen.com/2021/09/bank-fraud.html

其實 2021 年中國發生的那個事件,我也覺得有東西沒有講清楚 。即使該篇中國受害者把錢匯回,那也應該是直接匯回原帳戶,也就是網貸帳戶,也就像是還錢那樣。

MyGoPen

【查證】用你個資貸款的新型詐騙?不明匯款到你銀行戶頭?若接到自稱是匯款人的電話都要當心!

網傳「有人會突然匯一筆錢到你的銀行戶頭,然後你會接到一通電話,對方會說他不小心錯把錢轉入你的帳戶」的訊息。經查證,警方表示,一般來說是不太可能拿別人個資去幫別人貸款的,都會要求本人要到場;而民眾如果匯錯款項,也是由銀行跟郵局代為聯繫對方,所以如果在收到不明款項後接到自稱是匯款人的電話,很高機率是詐騙

mrorz 14:01:35
最近看 AI 相關的東西時,也思考了一下 embedding 與相關的東西如何可以改善我們在 multimedia 上的搜尋效果
記錄在舊文件的新段落
Vector / embedding based similarity
Metadata (包含 OCR text) extraction implementation
mrorz 14:01:35
最近看 AI 相關的東西時,也思考了一下 embedding 與相關的東西如何可以改善我們在 multimedia 上的搜尋效果
記錄在舊文件的新段落,下週三聊一下
Vector / embedding based similarity
Metadata (包含 OCR text) extraction implementation

HackMD

Cofacts reasearch &amp; design docs - HackMD

# Cofacts reasearch &amp; design docs :::info - Design docs: Implementation documents with requiremen

g0v.hackmd.io

Cofacts multimedia support research - HackMD

mrorz 14:02:38
ChatGPT 相關的東西實作起來其實也是要改滿多地方的
先開個 design doc 放段落,下週三前補起來跟大家 review 一下
https://g0v.hackmd.io/WwinEyGBRYmi_iKu8cSprQ

g0v.hackmd.io

ChatGPT integration - HackMD

gary96302000.eecs96 16:12:52
Hi @mrorz ,關於如果要用 embedding 做 search 的話,我這邊有些經驗也可以分享:
• 如果考慮比較不花錢的方案,可以用 SBert 這個 package:https://www.sbert.net/
• model 有多國語言的,中文的效果可能要測試看看,但是在英文效果蠻不錯的
• 在 production 時,還要考慮到 inference 的效率,單純 SBERT 用 CPU 是跑的了的(但還是不夠快,大概數十到數百 ms per query on CPU machine)
• 還可以進一步加快 inference 的速度,搭配 onnx, triton server 可以壓到 個位數 ms per query on CPU machine
大概是這樣~
對耶我只考慮到 vector search 沒考慮到產生 vector 的 inference time
感謝 insight

其實我有點懷疑在 Cofacts 的情境下,用 embedding 的 cosine similarity 做出來的 similarity list,跟用傳統 IR 的 TF-IDF score (Elasticsearch relevance) 相比,有多少優勢
Elasticsearch 8.6 也可以 TF-IDF 跟 KNN similarity 混合算 score
gary96302000.eecs96 2023-03-10 17:08:54
可以試試看 往往都有預想之上的成效 SBERT 的效果是很不錯的 在很多比賽都會用 當然如果不考慮$$ OpenAI 給的 embedding 當然是更好就是了 🐛
(不過我們要從現在的 ES 6.8 往上升,可能要花點功伕 XD)
OpenAI 給的 embedding 好像有點太長,超過 ES 6.8 支援的 1024 維 XD
gary96302000.eecs96 2023-03-10 17:09:29
好奇問一下 現在 Cofacts DB 裡面文章的量級大概是怎樣
gary96302000.eecs96 2023-03-10 17:10:05
有超過 1M 的數量嗎
沒有超過 1M,但是是很髒的 97K (茶
髒到國內有些人拿來做論文
發現在 dataset 裡做得不錯的,放到 cofacts 上都變很爛那種
希望我們的 opendata 沒阻礙到對方畢業
gary96302000.eecs96 2023-03-10 17:14:52
哈哈 那真的值得試試看 現在算 similarity 也有很多很快的套件 像是 faissannoy
Elasticsearch 內建的是 HNSW
(其實我有點沒概念這有多快,但印象中都是 approximate kNN 的 indexing & search)
gary96302000.eecs96 2023-03-10 17:23:05
應該也行 這兩種我就不知道哪個更快 但是如果是想要保有 ES 的 flow 那應該就找 ES 的比較方便些
想問 https://www.sbert.net/docs/pretrained_models.html#image-text-models 這個是 multimodal 的嗎
就是圖片跟中文文字丟給他做 embeddings
圖片的 embedding 跟文字的 embedding 彼此之間也能拿來算距離這樣
gary96302000.eecs96 2023-03-10 17:26:06
yap
gary96302000.eecs96 2023-03-10 17:26:24
不過這個要跑估計硬體需求很高
gary96302000.eecs96 2023-03-10 17:26:56
clip 系列的 model 就是 image & text 的 multimodal
SBERT 的 embedding 有幾維、有沒有 normalize 之類的有寫在文件裡嗎,還是通常這些基本的東西大家就 colab 跑一發後 print 出來看 XD”

(我問的問題好低階 🤦 )
也有點好奇 SBERT 看起來是 optimized for sentenses,Cofacts 有些是一整篇文章這種丟進去算,不知道會發生什麼事情
gary96302000.eecs96 2023-03-10 17:31:33
會寫 但不是全部模型都有寫:https://www.sbert.net/docs/pretrained_models.html

沒寫的點進去抱抱臉的頁面應該查得到
gary96302000.eecs96 2023-03-10 17:32:25
點一下那個 model 他會展開
原來藏在 (i) 裡面!!
感謝感謝 m(_ _)m
gary96302000.eecs96 2023-03-10 17:34:00
文章的話,有幾種做法:
1. 不管就直接丟,過長的他會 truncate 掉沒有資訊
2. 自己先做好 sentence segmentation 後,每個句子丟給他然後加起來平均當作這篇文章的 embedding
原來 embedding 是可以自己加起來平均的嗎 XDD
gary96302000.eecs96 2023-03-10 17:34:33
恩啊
好像也是有道理
畢竟都能算 cosine similarity xk7
gary96302000.eecs96 2023-03-10 17:35:01
意外的有點效果 直覺有時候會覺得掉了一些資訊
沒 normalize 的那些 embedding 是代表說,有些資訊會在他的長度上面,所以不能隨便亂 normalize 這樣嗎
gary96302000.eecs96 2023-03-10 17:41:05
應該是他在 train 的時候用的 loss function 有沒有 normalize 我記得
gary96302000.eecs96 2023-03-10 17:41:20
cosine 跟 dot 的差異
gary96302000.eecs96 2023-03-10 17:41:58
剛剛問維度的那個問題
gary96302000.eecs96 2023-03-10 17:42:04
以這個為例來說
gary96302000.eecs96 2023-03-10 17:42:43
應該是這個 hidden_size 是多少 就是他的維度
gary96302000.eecs96 2023-03-10 17:43:52
大概就是去 model card 裡面找到 config.json,會寫 model 架構的一些資訊
gary96302000.eecs96 2023-03-10 17:46:34
```沒 normalize 的那些 embedding 是代表說,有些資訊會在他的長度上面,所以不能隨便亂 normalize 這樣嗎```
然後這個還有個梗就是算分數的時候,內積沒有 normalize 的 embedding 他的值域會是 R,有 normalize 的才會在 0~1 之間,所以有的為了要有可比性,都會用 cosine 比較多
嗯嗯,那我拿到沒 normalize 的 embedding 可以自己 normalize 到長度為 1 之後存起來嗎
如果我只會拿它來算 cosine similarity 的話,是不是就可以一律 normalize to 1,這樣就能用內積來取代 cosine similairty
gary96302000.eecs96 2023-03-10 17:58:57
可以的歐 但是這其中有個細節,會影響到你算出來的分數:
• 你計算要同除的數,是要所有人一起除,還是 by 個別文章除自己的
• 理論上全部除同樣一個感覺比較合理,但是這個 cost 稍微高一些,而且文章一變多又要算一次
想說個別文章除自己的
gary96302000.eecs96 2023-03-10 18:03:41
因為每個文章他的 emb length 會不太一樣,個別除自己的就不見得在分數上可以原音重現,舉例來說 a, b, c 三個 emb,他們個別的長度假設是 2, 4, 7,原本的分數是直接乘起來,但如果個別 normalize 會是 a/2, b/4, c/7 倆倆乘積,這樣 pair 算出來的 score ranking 會和原本的不太一樣才對,但是如果都 /7 那就沒有差別
喔喔喔喔 懂了
感謝感謝 m(_ _)m
gary96302000.eecs96 2023-03-10 18:07:31
不會 最近 ChatGPT 風口浪尖 原本就碰了不少 vector space search 的東西 剛好看到這邊有提到 哈哈
是說 @gary96302000.eecs96 有接觸到當時 rumors-ai 的 deployment 嗎

我們準備了一包新的 ground truth 放在
https://github.com/cofacts/ground-truth

label 有些更新(把數字改成 category ID,所以 infer 完之後不用再過 mapping table 把數字轉回 category ID)
@ggm 好像還沒有把它拿來 train 並且放到 production 環境 QQ
gary96302000.eecs96 2023-03-10 18:27:06
deploy 應該是有碰一部分 不過當時跟現在模型已經進步很多了 有考慮要重新弄一個模型嗎 比原本 BERT 好又可以看看要不要用 CPU 能跑的架構就好 直接拿掉 GPU 那塊
gary96302000.eecs96 2023-03-10 18:30:27
我還記得我之前是把 google 的 code 拿來魔改才能跑在我們的資料框架 現在抱抱臉那邊都搞得很好用了 配 SBERT 應該也不錯
聽起來很棒!
方便指個路給一竅不通的前端工程師嗎 QQ
gary96302000.eecs96 2023-03-10 18:40:34
思路跟步驟大概是這樣:
1. 根據現在定義的 article vs id 的架構,準備好訓練資料
2. fine tune BERT-like models:https://www.sbert.net/docs/training/overview.html
3. 存下訓練好的模型
4. 把模型用 onnx 後放進 triton server,這樣就可以用 CPU 快速 inference
5. given 一個 new article,打 API 到這個 triton server 做 inference 出他是哪個 id
大概是這樣
gary96302000.eecs96 2023-03-10 18:42:51
第四步不見得要,因為 article categorizer 不是 real-time demand
1~3 聽起來可以在 google colab 上做,應該可以試試看
4, 5 等前三步做得出來再說 XD
感謝感謝
我看 https://www.sbert.net/index.html 的 Usage 看到滿多文字轉 embedding 之後用在 clustering 跟 retrieval
但沒有看到如何 tune 成 N 個可以複選的 label 的 classifier 耶 QQ
gary96302000.eecs96 2023-03-10 20:20:36
那應該要再接一層出來 做分類
如果我有 `k` 個分類
Network 就是 BERT --> pooling --> dense --> `k` 維 這樣嗎
每一維對應到一個分類的機率 0~1
gary96302000.eecs96 2023-03-10 21:49:33
嗯嗯 如果只要標一個答案 用 softmax 就只會有一個最大且全部加起來是1
不過其實我是想要每個 topic label 各自都 0-1 XD
1 1
gary96302000.eecs96 16:12:52
Hi @mrorz ,關於如果要用 embedding 做 search 的話,我這邊有些經驗也可以分享:
• 如果考慮比較不花錢的方案,可以用 SBert 這個 package:https://www.sbert.net/
• model 有多國語言的,中文的效果可能要測試看看,但是在英文效果蠻不錯的
• 在 production 時,還要考慮到 inference 的效率,單純 SBERT 用 CPU 是跑的了的(但還是不夠快,大概數十到數百 ms per query on CPU machine)
• 還可以進一步加快 inference 的速度,搭配 onnx, triton server 可以壓到 個位數 ms per query on CPU machine
大概是這樣~
對耶我只考慮到 vector search 沒考慮到產生 vector 的 inference time
感謝 insight

其實我有點懷疑在 Cofacts 的情境下,用 embedding 的 cosine similarity 做出來的 similarity list,跟用傳統 IR 的 TF-IDF score (Elasticsearch relevance) 相比,有多少優勢
Elasticsearch 8.6 也可以 TF-IDF 跟 KNN similarity 混合算 score
gary96302000.eecs96 2023-03-10 17:08:54
可以試試看 往往都有預想之上的成效 SBERT 的效果是很不錯的 在很多比賽都會用 當然如果不考慮$$ OpenAI 給的 embedding 當然是更好就是了 🐛
(不過我們要從現在的 ES 6.8 往上升,可能要花點功伕 XD)
OpenAI 給的 embedding 好像有點太長,超過 ES 6.8 支援的 1024 維 XD
gary96302000.eecs96 2023-03-10 17:09:29
好奇問一下 現在 Cofacts DB 裡面文章的量級大概是怎樣
gary96302000.eecs96 2023-03-10 17:10:05
有超過 1M 的數量嗎
沒有超過 1M,但是是很髒的 97K (茶
髒到國內有些人拿來做論文
發現在 dataset 裡做得不錯的,放到 cofacts 上都變很爛那種
希望我們的 opendata 沒阻礙到對方畢業
gary96302000.eecs96 2023-03-10 17:14:52
哈哈 那真的值得試試看 現在算 similarity 也有很多很快的套件 像是 faissannoy
Elasticsearch 內建的是 HNSW
(其實我有點沒概念這有多快,但印象中都是 approximate kNN 的 indexing & search)
gary96302000.eecs96 2023-03-10 17:23:05
應該也行 這兩種我就不知道哪個更快 但是如果是想要保有 ES 的 flow 那應該就找 ES 的比較方便些
想問 https://www.sbert.net/docs/pretrained_models.html#image-text-models 這個是 multimodal 的嗎
就是圖片跟中文文字丟給他做 embeddings
圖片的 embedding 跟文字的 embedding 彼此之間也能拿來算距離這樣
gary96302000.eecs96 2023-03-10 17:26:06
yap
gary96302000.eecs96 2023-03-10 17:26:24
不過這個要跑估計硬體需求很高
gary96302000.eecs96 2023-03-10 17:26:56
clip 系列的 model 就是 image & text 的 multimodal
SBERT 的 embedding 有幾維、有沒有 normalize 之類的有寫在文件裡嗎,還是通常這些基本的東西大家就 colab 跑一發後 print 出來看 XD”

(我問的問題好低階 🤦 )
也有點好奇 SBERT 看起來是 optimized for sentenses,Cofacts 有些是一整篇文章這種丟進去算,不知道會發生什麼事情
gary96302000.eecs96 2023-03-10 17:31:33
會寫 但不是全部模型都有寫:https://www.sbert.net/docs/pretrained_models.html

沒寫的點進去抱抱臉的頁面應該查得到
gary96302000.eecs96 2023-03-10 17:32:25
點一下那個 model 他會展開
原來藏在 (i) 裡面!!
感謝感謝 m(_ _)m
gary96302000.eecs96 2023-03-10 17:34:00
文章的話,有幾種做法:
1. 不管就直接丟,過長的他會 truncate 掉沒有資訊
2. 自己先做好 sentence segmentation 後,每個句子丟給他然後加起來平均當作這篇文章的 embedding
原來 embedding 是可以自己加起來平均的嗎 XDD
gary96302000.eecs96 2023-03-10 17:34:33
恩啊
好像也是有道理
畢竟都能算 cosine similarity xk7
gary96302000.eecs96 2023-03-10 17:35:01
意外的有點效果 直覺有時候會覺得掉了一些資訊
沒 normalize 的那些 embedding 是代表說,有些資訊會在他的長度上面,所以不能隨便亂 normalize 這樣嗎
gary96302000.eecs96 2023-03-10 17:41:05
應該是他在 train 的時候用的 loss function 有沒有 normalize 我記得
gary96302000.eecs96 2023-03-10 17:41:20
cosine 跟 dot 的差異
gary96302000.eecs96 2023-03-10 17:41:58
剛剛問維度的那個問題
gary96302000.eecs96 2023-03-10 17:42:04
以這個為例來說
gary96302000.eecs96 2023-03-10 17:42:43
應該是這個 hidden_size 是多少 就是他的維度
gary96302000.eecs96 2023-03-10 17:43:52
大概就是去 model card 裡面找到 config.json,會寫 model 架構的一些資訊
gary96302000.eecs96 2023-03-10 17:46:34
```沒 normalize 的那些 embedding 是代表說,有些資訊會在他的長度上面,所以不能隨便亂 normalize 這樣嗎```
然後這個還有個梗就是算分數的時候,內積沒有 normalize 的 embedding 他的值域會是 R,有 normalize 的才會在 0~1 之間,所以有的為了要有可比性,都會用 cosine 比較多
嗯嗯,那我拿到沒 normalize 的 embedding 可以自己 normalize 到長度為 1 之後存起來嗎
如果我只會拿它來算 cosine similarity 的話,是不是就可以一律 normalize to 1,這樣就能用內積來取代 cosine similairty
gary96302000.eecs96 2023-03-10 17:58:57
可以的歐 但是這其中有個細節,會影響到你算出來的分數:
• 你計算要同除的數,是要所有人一起除,還是 by 個別文章除自己的
• 理論上全部除同樣一個感覺比較合理,但是這個 cost 稍微高一些,而且文章一變多又要算一次
想說個別文章除自己的
gary96302000.eecs96 2023-03-10 18:03:41
因為每個文章他的 emb length 會不太一樣,個別除自己的就不見得在分數上可以原音重現,舉例來說 a, b, c 三個 emb,他們個別的長度假設是 2, 4, 7,原本的分數是直接乘起來,但如果個別 normalize 會是 a/2, b/4, c/7 倆倆乘積,這樣 pair 算出來的 score ranking 會和原本的不太一樣才對,但是如果都 /7 那就沒有差別
喔喔喔喔 懂了
感謝感謝 m(_ _)m
gary96302000.eecs96 2023-03-10 18:07:31
不會 最近 ChatGPT 風口浪尖 原本就碰了不少 vector space search 的東西 剛好看到這邊有提到 哈哈
是說 @gary96302000.eecs96 有接觸到當時 rumors-ai 的 deployment 嗎

我們準備了一包新的 ground truth 放在
https://github.com/cofacts/ground-truth

label 有些更新(把數字改成 category ID,所以 infer 完之後不用再過 mapping table 把數字轉回 category ID)
@ggm 好像還沒有把它拿來 train 並且放到 production 環境 QQ
gary96302000.eecs96 2023-03-10 18:27:06
deploy 應該是有碰一部分 不過當時跟現在模型已經進步很多了 有考慮要重新弄一個模型嗎 比原本 BERT 好又可以看看要不要用 CPU 能跑的架構就好 直接拿掉 GPU 那塊
gary96302000.eecs96 2023-03-10 18:30:27
我還記得我之前是把 google 的 code 拿來魔改才能跑在我們的資料框架 現在抱抱臉那邊都搞得很好用了 配 SBERT 應該也不錯
聽起來很棒!
方便指個路給一竅不通的前端工程師嗎 QQ
gary96302000.eecs96 2023-03-10 18:40:34
思路跟步驟大概是這樣:
1. 根據現在定義的 article vs id 的架構,準備好訓練資料
2. fine tune BERT-like models:https://www.sbert.net/docs/training/overview.html
3. 存下訓練好的模型
4. 把模型用 onnx 後放進 triton server,這樣就可以用 CPU 快速 inference
5. given 一個 new article,打 API 到這個 triton server 做 inference 出他是哪個 id
大概是這樣
gary96302000.eecs96 2023-03-10 18:42:51
第四步不見得要,因為 article categorizer 不是 real-time demand
1~3 聽起來可以在 google colab 上做,應該可以試試看
4, 5 等前三步做得出來再說 XD
感謝感謝
我看 https://www.sbert.net/index.html 的 Usage 看到滿多文字轉 embedding 之後用在 clustering 跟 retrieval
但沒有看到如何 tune 成 N 個可以複選的 label 的 classifier 耶 QQ
gary96302000.eecs96 2023-03-10 20:20:36
那應該要再接一層出來 做分類
如果我有 `k` 個分類
Network 就是 BERT --> pooling --> dense --> `k` 維 這樣嗎
每一維對應到一個分類的機率 0~1
gary96302000.eecs96 2023-03-10 21:49:33
嗯嗯 如果只要標一個答案 用 softmax 就只會有一個最大且全部加起來是1
不過其實我是想要每個 topic label 各自都 0-1 XD

2023-03-11

Dingo 10:51:21
@imdingo has joined the channel

2023-03-13

cai 23:59:57
https://cofacts.tw/article/oPzEzoYBC7Q3lHuUSV2b
這篇我剛有找到原始的影片
https://www.facebook.com/TheFoodRangerShow/videos/this-is-how-century-eggs-are-made-i-cant-stop-watching/3370344996558092/
他寫century eggs
可是我整部看完看起來比較像是鹹蛋?

facebook.com

This is how century eggs are made, I can't stop watching | This is how century eggs are made, I can't stop watching | By The Food Ranger Show | Facebook

13M views, 40K likes, 1.2K loves, 3.4K comments, 18K shares, Facebook Watch Videos from The Food Ranger Show: This is how century eggs are made, I can't stop watching

查影片的好耗時間.......
耗時間 +1
我比較想要找到 surrounding text 但找不到囧

2023-03-14

mrorz 12:30:28
ping
mrorz 12:30:28
ping
mrorz 14:00:54
GA4 Chatbot LIFF migration PR:
https://github.com/cofacts/rumors-line-bot/pull/344

還剩下 chatbot webhook 改 bigquery 以及 api 的收資料的 script

2023-03-15

mrorz 13:15:21
今日議程

2023-03-16

2023-03-17

cai 12:35:56
又被發6000的洗版了
cai 19:27:46
接下來會有一輪電的嗎 🤔

2023-03-20

2023-03-21

2023-03-22

bil 11:37:26
shufabu6000.com 不知道為什麼被連到cofacts

https://www.storm.mg/lifestyle/4685630

過去數發部的詐騙簡訊是shuweibu6000.com
圖卡中的http://shufabu6000.com/moda.gov.tw/也被連到cofacts

這實在是很可疑啊
cai 17:56:42
針對6000網站資安疑慮的,共同點是中央銀行退休
https://cofacts.tw/article/2fhr2drj9ajgr
https://cofacts.tw/article/tnv27x8mej45

2023-03-23

2023-03-24

2023-03-25

2023-03-26

mrorz 00:05:59
週三會議的時候,我們談到 Cofacts 在 docker hub 上是 free team plan,之後會被收費,要提出 open source 申請的事情。

後來 Docker 反悔了 ._.

https://www.docker.com/blog/no-longer-sunsetting-the-free-team-plan/

2023-03-27

mrorz 11:22:08
Staging 的 LINE bot 沒回過的文字訊息現在有 chatgpt response 了,可以傳還沒人回的文字訊息到 staging LINE bot 來玩玩看~

目前實作到 design doc 所規劃的部分 phase 0 與部分 phase 1 chatbot

TODO / known issue
• error handling 還沒處理
◦ 如果有兩人同時送訊息進來,稍晚的那位會拿到 `status=LOADING` 的 `AIReply`,目前會有錯。理論上這個 edge case 下,chatbot 應該裝作沒這回事就好 (?)
◦ 如果 `status=ERROR` 應該要允許重送,目前不會
• unit test 還沒寫完
◦ 還沒人回的圖片好像也會觸發 gpt response,要追 code 確認一下⋯⋯

2023-03-28

2023-03-29

mrorz 09:23:30
2:13 開始掛掉

真的假的 <http://cofacts.g0v.tw|cofacts.g0v.tw> - <http://cofacts.g0v.tw|cofacts.g0v.tw>

Your site went down! *Code:* 0 - *Reason:* Timeout / Connection Refused

mrorz 10:38:51
url-resolver 沒起來……
cai 13:09:18
https://cofacts.tw/article/30kjzo0plrgpr
https://cofacts.tw/article/fPz8JYcBC7Q3lHuUpbNj
綠色浪潮海報這要怎麼回才不會太嗆阿 😅