| 31 | self.cls_linear = torch.nn.Linear(args.lstm_dim*4, args.class_num) |
| 32 | |
| 33 | def _get_embedding(self, sentence_tokens, mask): |
| 34 | gen_embed = self.gen_embedding(sentence_tokens) |
| 35 | domain_embed = self.domain_embedding(sentence_tokens) |
| 36 | embedding = torch.cat([gen_embed, domain_embed], dim=2) |
| 37 | embedding = self.dropout1(embedding) |
| 38 | embedding = embedding * mask.unsqueeze(2).float().expand_as(embedding) |
| 39 | return embedding |
| 40 | |
| 41 | def _lstm_feature(self, embedding, lengths): |
| 42 | embedding = pack_padded_sequence(embedding, lengths, batch_first=True) |