songyouwei / ABSA-PyTorch

Aspect Based Sentiment Analysis, PyTorch Implementations. 基于方面的情感分析,使用PyTorch实现。
MIT License
1.99k stars 522 forks source link

关于ASGCN-BERT中的aspect_double_idx #218

Open wkk-nlp opened 1 year ago

wkk-nlp commented 1 year ago

如果我用BERT预训练做ASGCN,aspect_double_idx修改成aspect_double_idx = torch.cat([left_len.unsqueeze(1), (left_len+aspect_len-1).unsqueeze(1)], dim=1)是正确的嘛,我按照上述修改会报错。 File "/root/autodl-tmp/ABSA-PyTorch-master/models/asgcn_bert.py", line 75, in mask mask = torch.tensor(mask, dtype=torch.float).unsqueeze(2).to(self.opt.device) ValueError: expected sequence of length 85 at dim 1 (got 90)

wkk-nlp commented 1 year ago

text_bert_indices, aspect_bert_indices, left_bert_indices, adj = inputs text_len = torch.sum(text_bert_indices != 0, dim=-1) aspect_len = torch.sum(aspect_bert_indices != 0, dim=-1) left_len = torch.sum(left_bert_indices != 0, dim=-1)

GeneZC commented 1 year ago

bert tokenizer 和普通的tokenizer不太一样,可以print出来debug下

itsceleste7 commented 6 months ago

如果我用BERT预训练做ASGCN,aspect_double_idx修改成aspect_double_idx = torch.cat([left_len.unsqueeze(1), (left_len+aspect_len-1).unsqueeze(1)], dim=1)是正确的嘛,我按照上述修改会报错。 File "/root/autodl-tmp/ABSA-PyTorch-master/models/asgcn_bert.py", line 75, in mask mask = torch.tensor(mask, dtype=torch.float).unsqueeze(2).to(self.opt.device) ValueError: expected sequence of length 85 at dim 1 (got 90)

请问你有试过做ASGCN-BERT嘛?模型的输入应该怎么改呢?