Spaces:
Runtime error
Runtime error
| """ | |
| This is a simple application for sentence embeddings: semantic search | |
| We have a corpus with various sentences. Then, for a given query sentence, | |
| we want to find the most similar sentence in this corpus. | |
| This script outputs for various queries the top 5 most similar sentences in the corpus. | |
| """ | |
| from sentence_transformers import util | |
| import torch | |
| def get_sorted_keywords(embedder, text, keywords): | |
| top_k = len(keywords) | |
| keywords_embedding = embedder.encode(keywords, convert_to_tensor=True) | |
| text_embedding = embedder.encode(text, convert_to_tensor=True) | |
| cos_scores = util.cos_sim(keywords_embedding, text_embedding).squeeze(dim=1) | |
| # print(cos_scores.size()) | |
| top_results = torch.topk(cos_scores, k=top_k) | |
| return [(keywords[idx], top_results[0][index].item()) for index, idx in enumerate(top_results[1])] | |
| # return [keywords[idx] for idx in top_results[1]] | |
| # for score, idx in zip(top_results[0], top_results[1]): | |
| # print(keywords[idx], "(Score: {:.4f})".format(score)) | |