--- language: ru pipeline_tag: sentence-similarity tags: - sentence-transformers - feature-extraction - sentence-similarity - triplet-loss - domain-adaptation library_name: sentence-transformers license: apache-2.0 --- # 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) ![UMAP Сравнение](output.png) - **Базовая модель (`1.png`)**: Эмбеддинги распределены хаотично по пространству. - **Дообученная модель (`2.png` / `output.png`)**: Образовались плотные смысловые кластеры по тематикам («наука», «спорт», «культура»), что подтверждает адаптацию векторного пространства к структуре русского языка. ## Использование модели (Sentence-Transformers) ```python 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) ```