/ Модель

Характеристики

Контекст
514 токенов
Параметры
305 млн
Лицензия
MIT
Архитектура
xlm-roberta · dense
Базовая модель
multilingual-e5-base
Библиотека
sentence-transformers
Опубликована
16 апр 2026

keywordsextraction

ЭмбеддингиТекст → embedding9 профессий

Модель на базе multilingual-e5-base извлекает ключевые слова из украинских научных и деловых документов, ранжируя их по сходству с готовым индексом.

159скачиваний за 30 дней0лайковвеса обновлены13 авг 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Эмбеддинги» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Это модель Sentence Transformers, разработанная авторами репозитория ipsnan/keywordsextraction для извлечения ключевых слов из украинских научных и деловых документов. Она дообучена на базе intfloat/multilingual-e5-base и использует энкодер XLM-RoBERTa с усреднением токеновых представлений и L2-нормализацией. Модель содержит около 305,2 млн параметров, выдаёт эмбеддинги размерности 768 и обрабатывает последовательности длиной до 514 токенов по метаданным; в README указан предел 512 токенов.

Модель кодирует документ и сопоставляет его с заранее подготовленными эмбеддингами ключевых слов, ранжируя совпадения по косинусному сходству. Она предназначена для поиска ключевых слов в научных текстах, академических материалах и деловых документах, а также для использования в семантическом поиске и сопоставлении предложений. В комплекте репозитория есть индекс ключевых слов и скрипт обработки PDF.

Модель лучше всего работает с текстами на украинском языке и возвращает только слова из имеющегося индекса; для нового набора ключевых слов индекс нужно подготовить заново. Качество зависит от того, насколько первые примерно 3000 символов документа отражают его тему. Модель распространяется по лицензии MIT.

Сценарии применения

  • извлечение ключевых слов из украинских научных статей
  • подбор терминов для академических текстов и аннотаций
  • индексация украинских деловых документов
  • получение ранжированного списка тем документа из PDF

Ограничения

Модель возвращает только ключевые слова, уже включённые в индекс, и лучше всего работает с украинскими текстами. Результат зависит от того, насколько первые примерно 3000 символов документа представляют его содержание.

Для каких профессий подходит9

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

🇺🇦 Keyword Extraction via Bi-Encoder Retrieval (Ukrainian)

📌 Overview

This repository contains a sentence-transformers bi-encoder fine-tuned for extracting keywords from Ukrainian scientific and business documents.

Unlike a generative LLM, this model does not write keywords — it retrieves them. The document is encoded into the same vector space as a pre-built index of candidate keywords, and the closest keywords by cosine similarity are returned. This makes the model much smaller and faster than a generative LoRA-tuned LLM, while reaching very high retrieval accuracy on the evaluation set (see Evaluation).

ℹ️ This replaces the previous generative approach (LoRA adapter on meta-llama/Llama-3.1-8B-Instruct) with a dedicated retrieval model.


🧠 Base Model

  • Base model: intfloat/multilingual-e5-base
  • Architecture: XLM-RoBERTa encoder + mean pooling + L2 normalization
  • Fine-tuning method: Full fine-tuning with MultipleNegativesRankingLoss
  • Library: Sentence Transformers
  • Output dimensionality: 768
  • Max sequence length: 512 tokens
  • Similarity function: Cosine similarity

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False, 'architecture': 'XLMRobertaModel'})
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_mean_tokens': True})
  (2): Normalize()
)

📊 Dataset & Training

  • Training pairs: 78,648 (document, keyword) samples built from a corpus of Ukrainian scientific/business documents (see dataset_full.jsonl used at training time — not included in this repo, only the resulting keyword index is).
  • Query/passage format follows the E5 convention:
    • Documents are prefixed with query:
    • Keywords are prefixed with passage:
  • Loss: MultipleNegativesRankingLoss (in-batch negatives, scale=20.0)
  • Epochs: 3, batch size 96 (grad. accumulation 2), learning rate 2e-5, bf16

Training Logs

EpochStepTraining Losscosine_ndcg@10
1.0410–0.9085
2.0820–0.9157
3.01230–0.9184

📈 Evaluation

Evaluated with InformationRetrievalEvaluator on held-out (document, keyword) pairs:

MetricValue
cosine_accuracy@10.965
cosine_accuracy@50.995
cosine_accuracy@100.995
cosine_precision@50.7835
cosine_precision@100.464
cosine_recall@50.8075
cosine_recall@100.9143
cosine_ndcg@100.9184
cosine_mrr@100.9773
cosine_map@100.8754

🚀 Usage

1. Raw embeddings (Sentence Transformers)

pip install -U sentence-transformers
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("ipsnan/keywordsextraction")

sentences = [
    "query: Штучний інтелект активно використовується у промисловості для автоматизації процесів...",
    "passage: штучний інтелект",
    "passage: автоматизація процесів",
]
embeddings = model.encode(sentences)
print(embeddings.shape)  # [3, 768]

similarities = model.similarity(embeddings, embeddings)
print(similarities)

2. Full keyword extraction pipeline (PDF → keywords)

This repository also ships keyword_index.pkl — embeddings of every unique keyword seen during training — and infer_keywords.py, the retrieval script used to go from a raw PDF document straight to a ranked keyword list.

pip install -U sentence-transformers pymupdf numpy

python infer_keywords.py /path/to/file.pdf
python infer_keywords.py /path/to/file.pdf --top-k 10 --threshold 0.5

Under the hood the script:

  1. Extracts and cleans text from the PDF (1fullsourcedata.py).
  2. Encodes the first ~3000 characters of the document with this model, prefixed with query: .
  3. Looks up the nearest keyword vectors in keyword_index.pkl by cosine similarity.
  4. Returns the top-K keywords above --threshold.

To rebuild the keyword index from scratch you need the original dataset_full.jsonl training corpus and can run python infer_keywords.py <pdf> --rebuild-index.


🎯 Task

Keyword extraction (Ukrainian NLP), optimized for:

  • scientific texts
  • academic content
  • business documents

⚠️ Limitations

  • Works best with Ukrainian-language texts.
  • Can only return keywords that already exist in keyword_index.pkl (it is a retrieval model, not a generative one) — rebuild the index on your own keyword set to extend coverage.
  • Performance depends on how representative the first ~3000 characters of the document are (title + abstract).

📦 Repository Contents

  • model.safetensors, config.json, config_sentence_transformers.json, modules.json, sentence_bert_config.json, tokenizer.json, tokenizer_config.json, 1_Pooling/, 2_Normalize/ — the Sentence Transformers model
  • keyword_index.pkl — pre-computed keyword embeddings used for retrieval
  • infer_keywords.py — end-to-end PDF → keywords inference script
  • 1fullsourcedata.py — PDF text extraction/cleaning helper used by infer_keywords.py

📜 License

🙌 Acknowledgments

Download model

Download them in the Files & versions tab.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · sentence-transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
XLMRobertaModel
Ревизия весов
ebda712

0 моделей