Open Nana2929 opened 9 months ago
data 欄位名 user_id, item_id, pos_aspect_tag, neg_aspect_tag, rating
需要改
[x] data/my_dataloader.py
[x] data/my_batchify.py
[x] model/my_sulm.py
[x] one_tag_predict.py
[x] trainer/my_trainer.py
(ongoing)
[x] 平行化處理 negative sampling (takes 1hr to complete for GEST)
[x] 將 user_id, itemid encode 為 0, 1, 2, ... 的 int,這一步驟應該在 `convert{dataset_name}.py` 完成
self.user = torch.tensor(user, dtype=torch.int64)
self.item = torch.tensor(item, dtype=torch.int64)
Traceback (most recent call last):
File "/home/P76114511/projects/reasoner2023.github.io/one_tag_predict.py", line 83, in
(bibimbap, pos)
(kimchi, neg)
(gige, pos)
轉成 (Korean, +)2, (Korean, -) 1, voting 過後變成 (Korean, +) 這樣的方式來處理多重情緒出現在 aspect 的情況。
必須重新把 service, atmosphere,... 的分類安排回去。
-> Solution: 2-stage aspect classify, 使用 SemEval Aspect Category 輔以 yelp 的分類重新分類,詳情見 https://github.com/Nana2929/enrich_rec_dataset/blob/main/aspect_classify_2stage.py
最後實驗的數據不好(尤其是 neg 根本沒有學到)於是改寫成 TwoTag
Idea [OneTag]
pos, neg, unmentioned/neutral tags 都作為同一個 tag set,用 0, 0.3(?), 1 做預測 bce 任務。這是基本上完全照官方的方法改。 算分數時,pos_tags, neg_tags 拔出來分開算。
Reasoner sulm: 預測 tag 有無的俩分類任務,weighted loss,sulm 使用 bce loss。
https://github.com/REASONER2023/reasoner2023.github.io/blob/main/trainer/trainer.py#L97-L103