python-tr-en-retriever
поиск параллельных фрагментов документации Python
Это encoder на базе sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 (0,12 млрд параметров), дообученный искать параллельные passages в документации Python на английском и турецком. Автор адаптировал последний transformer block на 1 027 парах из 34 файлов документации; обучение — одна эпоха с symmetric contrastive loss.
⚙ Ключевые особенности
- 🔍 Ищет параллельные фрагменты Python-документации между английским и турецким.
- ⚙ База — sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2; дообучен последний transformer block.
- 📊 На held-out файлах English → Turkish first match: 674/721 против 669/721 у базы; Turkish → English: 688/721 против 684/721.
- 📌 Обучение: 1 027 пар из 34 файлов документации, одна эпоха, symmetric contrastive loss, другие переводы в батче как negatives.
- ⚠ В CV-диагностике результаты смешанные; модель не оценивает пригодность кандидата.
💻 Пример
import torch
from transformers import AutoModel, AutoTokenizer
repo = "rezanicgil/python-tr-en-retriever"; tok = AutoTokenizer.from_pretrained(repo); model = AutoModel.from_pretrained(repo).eval()
texts = ["Look up values by key.", "Değerleri anahtara göre ara."]
t = tok(texts, padding=True, truncation=True, max_length=128, return_tensors="pt")
with torch.inference_mode():
m = t.attention_mask.unsqueeze(-1); v = torch.nn.functional.normalize((model(**t).last_hidden_state * m).sum(1) / m.sum(1))
print((v[0] @ v[1]).item())
Подробнее
📊 На held-out документации English → Turkish: 674/721 против 669/721 у базы; Turkish → English: 688/721 против 684/721.⚠ В CV-диагностике 5/10 для job condition против 30 fictional CV passages; внешний рейтинг: 64,58% против 63,25% у базы для CV и 65,11% против 66,18% для jobs.
📌 Оценка ограничена одним training run и авторскими CV-таргетами; пригодность кандидата и hiring outcomes не измерялись.








Комментарии