| import numpy as np | |
| from sentence_transformers import SentenceTransformer | |
| model = SentenceTransformer("paraphrase-MiniLM-L3-v2") | |
| def compute_weighted_embedding(symptoms): | |
| names = [s[0] for s in symptoms] | |
| weights = np.array([s[1] for s in symptoms]) | |
| vectors = model.encode(names) | |
| return np.average(vectors, axis=0, weights=weights) | |