看到下面有篇大神有討論到這次 Dcard ML 實習作業,因為沒有收到團隊的具體反饋
想和大家討論作業的狀況
題目是用結構資料,包含標題、看板資訊以及1-6小時的愛心數和評論數等等
來預測發文後 24 小時的愛心數
因為當時是期中,我只大概花了五天約二十個小時來做
我的作法大致如下
首先先用 XGBoost LightGBM 把量化資料做出 baseline
但沒辦法處理最重要的標題資訊
所以就直接拿 Huggingface BERT 來做
直接把資料餵進去的訓練是無法收斂的
後來也嘗試一些 Emsemble 和 training tricks
但也都沒辦法收斂,甚至達不到 baseline 的效果
認為是資料量的問題
到這邊沒什麼特別想法就直接寫報告了
我一直都主要是做 CV ,碩論跑去做 3D
對 NLP 非常不熟悉,不知道是否有漏掉關鍵操作
想請同有拿到作業的大神指點
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.171.131.209 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1683998999.A.DBB.htmlchangecandy1樓你用BERT做了什麼以及什麼東西無法收斂? 05/14 03:05
任務如文中所述,是迴歸問題,目標是文章發文後24小時的愛心數
因為有中文標題,故直覺想到就是 BERT,將中文標題 tokenize 後
連同其他 feature 一同 concatenate,送入BERT直接 end2end 訓練出愛心數
Tommnny2樓這邊跪等神人分享 我們實驗室沒有人上 05/14 10:49
Bujo3樓這個案例建議使用LSTM序列 05/14 12:01
謝謝提供思路,但LSTM的話要如何考慮中文標題?
一樣使用word2vec或tokenizer嗎?
cilovwx4樓雖然我也沒上,但我自己還有另外萃取出判斷個版跟標題是 05/14 13:05
→ cilovwx5樓否有分類之類的feature,這兩項做關聯度分析,相關性也 05/14 13:05
→ cilovwx6樓不低 05/14 13:05
謝謝,確實我幾乎沒有做 feature engineering
是否方便請教後續是用什麼方法回歸出愛心數?
DrTech7樓你這樣 concatenate bert出來的維度那麼大,變成嚴重主導 05/14 14:36
→ DrTech8樓預測結果。但實際上 05/14 14:36
→ DrTech9樓但標題實際上根本不太會影響愛心與評論數。光看這點,就覺 05/14 14:38
→ DrTech10樓得你沒有從最基本的業務理解business understanding來解了 05/14 14:38
→ DrTech11樓。 05/14 14:38
→ DrTech12樓對了,資料量有多打? 資料量少,用複雜的模型根本沒用。 05/14 14:41
→ DrTech13樓資料量少的話,例如少於幾萬筆,對標題做任何處理可能都沒 05/14 14:46
→ DrTech14樓太大意義。 05/14 14:46
→ DrTech15樓這題,愛心數,評論數的特徵,相較於標題,標題絕對是雜訊 05/14 14:48
→ DrTech16樓。 05/14 14:48
→ DrTech17樓HuggingFace tokenizer出來的標題維度很大的,只會讓標題 05/14 14:51
→ DrTech18樓雜訊主導一切。當然沒辦法收斂,很正常。 05/14 14:51
→ DrTech19樓資料量確實是問題。但人是否會根據標題就評論或點愛心,是 05/14 14:58
→ DrTech20樓你優先需要思考到的。 05/14 14:58
謝謝DrTech大的回復,tokenizer出來的embeddings我是有再downsampling的
當時也有考慮到這件事情,我也測試過downsample到4 - 16或其他一些奇淫巧技
也有對tokenizer做regularization等等,但對訓練幫助都不大
至於標題是否影響愛心數,確實實際上不一定
但該資料集提供的特徵數很少,其餘大多都是scalar
相信他們一定希望受試者去分析標題,當然處理整個標題可能不是個好辦法
1-6小時愛心數與24小時愛心數的相關性非常高
故我也在BERT之中嘗試建立使用這些高相關feature的MLP迴歸模型
以及和 XGBoost LightGBM 的 Ensemble
但對訓練並無明顯益處
我在寫這份測驗的時候,並不覺得量化結果會多好,因為僅有約五萬筆資料(文章)
而同時也要展現工程能力,譬如我用 Pytorch-lightning 架構整個
training, monitoring, evaluation pipeline
實作上的能力可能會區分我與其他一部分的面試者
但結果看來可能是有大神直接幹出很好的模型和訓練結果
後續評分項如解題思路、報告呈現和實作能力都沒有被考量了
才很好奇進入面試的大神是怎麼得出很好的預測方法的
感謝您的回覆
cilovwx21樓我自己對於標題的作法是單純直接用snownlp去做sentiment 05/14 16:44
→ cilovwx22樓polarity 而已,因為我自己認為標題其實只是吸引大家點 05/14 16:44
→ cilovwx23樓進去的機率,但按愛心的數量跟內容比較有相關。我的model 05/14 16:44
→ cilovwx24樓部分,我記得我一開始用xgboost效果不是很好,所以我後 05/14 16:44
→ cilovwx25樓來改用SVR跟一個我自己建的NN模型。但是我那時候也在準 05/14 16:44
→ cilovwx26樓備其他事情,所以好像也沒有fine-tuned 得很好 05/14 16:44
hsuchengmath27樓遇到這種 一定是先做基本的統計分析啊,先看 24小 05/14 17:01
→ hsuchengmath28樓時愛心數的分佈,然後分成 多愛心數 和 少愛心數的 05/14 17:01
→ hsuchengmath29樓,然後看哪些特徵 是有用的,最後才建模啊,別在直 05/14 17:01
→ hsuchengmath30樓接套膜了,不會進步的xdd 05/14 17:01