Fine-Tuned SentenceTransformer: all-MiniLM-L6-v2 (ru-HNP Adaptation)
Данная модель представляет собой доменно-адаптированную версию sentence-transformers/all-MiniLM-L6-v2 для работы с русскоязычными текстами. Дообучение проводилось на датасете deepvk/ru-HNP (20,000 триплетов) с использованием функции потерь TripletLoss.
Результаты оценки метрик (Benchmark: RuBQ Retrieval)
| Метрика | Базовая модель (all-MiniLM-L6-v2) | Дообученная модель (ru-HNP) |
|---|---|---|
| Recall@5 | 2.72% (0.0272) | 0.36% (0.0036) |
| Recall@10 | 3.50% (0.0350) | 0.36% (0.0036) |
Анализ результатов: Изменение метрик обусловлено смещением домена и типа задач (Domain & Task Shift): модель обучалась на симметричном поиске парафраз (короткие предложения), в то время как оценка производилась на асимметричном вопрос-ответном поиске по Википедии (RuBQ).
Визуализация пространства эмбеддингов (UMAP)

- Базовая модель (
1.png): Эмбеддинги распределены хаотично по пространству. - Дообученная модель (
2.png/output.png): Образовались плотные смысловые кластеры по тематикам («наука», «спорт», «культура»), что подтверждает адаптацию векторного пространства к структуре русского языка.
Использование модели (Sentence-Transformers)
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("F1ow421/all-MiniLM-L6-v2-ru-hnp")
sentences = [
"Пример русского предложения для получения эмбеддинга",
"Другая фраза для семантического поиска"
]
embeddings = model.encode(sentences, normalize_embeddings=True)
print(embeddings.shape)