Esempio n. 1
0
def make_scores_lstm(my_rnn, query, answers, emb_size=768, hidden_size=64):
    query_embs = bc.encode((clean_punct(cleanhtml(query))).split())
    tensor_query_embs = torch.tensor(query_embs)

    all_query_hidden, (last_query_hidden, last_query_state) = my_rnn(
        tensor_query_embs.unsqueeze(0))
    print("all_query_hidden")
    #last_answers_hidden = [my_rnn(torch.tensor(bc.encode((clean_punct(cleanhtml(answer))).split())).unsqueeze(0))[1] for answer in answers]
    last_answers_hidden = []
    for ind, answer in enumerate(answers):
        print(ind)
        last_answers_hidden.append(
            my_rnn(create_tensor(answer).unsqueeze(0))[1][0])

    aa = last_query_hidden.detach().numpy()
    print("last_answers_hidden")
    bb = last_answers_hidden[0].detach().numpy()
    #print ("bb shape", bb.shape)

    scores = [
        cosine_similarity(
            last_query_hidden.squeeze(0).detach().numpy(),
            last_answer_hidden.squeeze(0).detach().numpy())[0][0]
        for last_answer_hidden in last_answers_hidden
    ]
    return scores
Esempio n. 2
0
def create_tensor(strng):
    #print ((clean_punct(cleanhtml(strng))).split())
    arr = bc.encode((clean_punct(cleanhtml(strng))).split())
    return torch.tensor(np.copy(arr))