# text_input = batch_size x 2000
# entity_input = batch_size x 31 (1 pos, 30 neg samples)
# entity_embedding.shape[1] = 300
# linear W = 300x300, linear Bias = 300
 def forward(self, text_input, entity_input):
		sentence_embedding = self.linear(F.normalize(torch.sum(self.word_embedding(text_input), dim=1), dim =-1))
        denominator = logsumexp(torch.sum(self.entity_embedding(entity_input) * sentence_embedding.unsqueeze(1), 2), 1)
        numerator = torch.sum(self.entity_embedding(entity_input)[:,0,:] * sentence_embedding, 1)
        return torch.sum(denominator - numerator)