Middle
18
Почему такой подход был выбран (SentenceTransformer + cosine similarity)?
Companies where asked
Мир Квестов
Answer from AI
sobes.tech AI
Использование SentenceTransformer вместе с косинусной близостью обусловлено следующими причинами:
- SentenceTransformer преобразует предложения или тексты в векторные представления, которые учитывают семантику, а не только поверхностные совпадения слов.
- Косинусная близость позволяет измерить степень схожести между двумя векторами, игнорируя их длину, что удобно для сравнения текстов разной длины.
Такой подход эффективен для задач поиска похожих текстов, кластеризации или рекомендаций, где важно учитывать смысл, а не только точные совпадения слов.
Пример на Python с использованием библиотеки sentence-transformers:
from sentence_transformers import SentenceTransformer
from sklearn.metrics.pairwise import cosine_similarity
model = SentenceTransformer('all-MiniLM-L6-v2')
sentences = ["Я люблю программировать", "Мне нравится кодить"]
embeddings = model.encode(sentences)
similarity = cosine_similarity([embeddings[0]], [embeddings[1]])[0][0]
print(f"Косинусная близость: {similarity:.4f}")