/ Модель

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

Контекст
512 токенов
Параметры
137 млн
Архитектура
bert · dense
Базовая модель
finbert
Библиотека
sentence-transformers
Опубликована
13 ноя 2025

numens-finbert

ЭмбеддингиТекст → embedding

Дообученный на финансовых парах текстов Sentence Transformer для сопоставления коротких меток операций с описаниями транзакций и их семантического поиска.

108скачиваний за 30 дней0лайковвеса обновлены13 ноя 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

taxstreem/numens-finbert — модель Sentence Transformer, разработанная на основе ProsusAI/finbert и дообученная на парах текстов из CSV-датасета. Она преобразует предложения и абзацы в плотные векторы размерностью 768 для поиска семантически близких финансовых текстов; сходство можно оценивать по косинусной мере. Архитектура состоит из BERT-трансформера и слоя усреднённого пулинга токенов. Модель содержит 136,7 млн параметров, принимает текст длиной до 512 токенов и выдаёт векторы.

Обучающие примеры связывают короткие метки «debit» и «credit» с более длинными описаниями транзакций. Поэтому модель подходит для семантического поиска и сопоставления таких финансовых описаний, а также для кластеризации и поиска перефразировок. В README приведены результаты оценки информационного поиска, однако они низкие: cosine_accuracy@5 составляет 0,0482, а nDCG@10 — 0,0529, поэтому качество на целевых сценариях может быть ограниченным. Лицензия в предоставленных данных не указана.

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

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

Ограничения

Показатели приведённой оценки информационного поиска низкие: cosine_accuracy@5 — 0,0482, nDCG@10 — 0,0529. Обучение основано на небольшом датасете из 662 пар, поэтому качество на других финансовых текстах может быть ограниченным.

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

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

Открыть на Hugging Face

SentenceTransformer based on ProsusAI/finbert

This is a sentence-transformers model finetuned from ProsusAI/finbert on the csv dataset. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: ProsusAI/finbert
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 dimensions
  • Similarity Function: Cosine Similarity
  • Training Dataset:
    • csv

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False, 'architecture': 'BertModel'})
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("taxstreem/numens-finbert")
# Run inference
sentences = [
    'debit',
    'fuel_purchase_at_oando_filling_station_-_company_car',
    'purchase_of_office_stationery_-_b.o.s.s._(pos)',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.9331, 0.9395],
#         [0.9331, 1.0000, 0.9727],
#         [0.9395, 0.9727, 1.0000]])

Evaluation

Metrics

Information Retrieval

MetricValue
cosine_accuracy@10.012
cosine_accuracy@30.0241
cosine_accuracy@50.0482
cosine_accuracy@100.1205
cosine_precision@10.012
cosine_precision@30.008
cosine_precision@50.0096
cosine_precision@100.012
cosine_recall@10.012
cosine_recall@30.0241
cosine_recall@50.0482
cosine_recall@100.1205
cosine_ndcg@100.0529
cosine_mrr@100.0332
cosine_map@1000.059

Training Details

Training Dataset

csv

  • Dataset: csv
  • Size: 662 training samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 662 samples:
    anchorpositive
    typestringstring
    detailsmin: 3 tokensmean: 3.49 tokensmax: 4 tokensmin: 8 tokensmean: 18.69 tokensmax: 31 tokens
  • Samples:
    anchorpositive
    debitpetrol_purchase_at_mrs_filling_station
    creditcredit_from_customer_for_rental_income_-_banana_island_property
    debitpurchase_of_foreign_currency_(euro)_-_bdc_aboki
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "gather_across_devices": false
    }
    

Evaluation Dataset

csv

  • Dataset: csv
  • Size: 83 evaluation samples
  • Columns: anchor and positive
  • Approximate statistics based on the first 83 samples:
    anchorpositive
    typestringstring
    detailsmin: 3 tokensmean: 3.54 tokensmax: 4 tokensmin: 9 tokensmean: 18.67 tokensmax: 30 tokens
  • Samples:
    anchorpositive
    debitpayment_for_website_design_service_-_creative_hub_ng
    debitpension_remittance_for_staff_-_stanbic_ibtc
    creditpayment_received_via_palmpay_for_graphic_design_work
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim",
        "gather_across_devices": false
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: steps
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • num_train_epochs: 4
  • warmup_ratio: 0.1

All Hyperparameters

  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: steps
  • prediction_loss_only: True
  • per_device_train_batch_size: 32
  • per_device_eval_batch_size: 32
  • per_gpu_train_batch_size: None
  • per_gpu_eval_batch_size: None
  • gradient_accumulation_steps: 1
  • eval_accumulation_steps: None
  • torch_empty_cache_steps: None
  • learning_rate: 5e-05
  • weight_decay: 0.0
  • adam_beta1: 0.9
  • adam_beta2: 0.999
  • adam_epsilon: 1e-08
  • max_grad_norm: 1.0
  • num_train_epochs: 4
  • max_steps: -1
  • lr_scheduler_type: linear
  • lr_scheduler_kwargs: {}
  • warmup_ratio: 0.1
  • warmup_steps: 0
  • log_level: passive
  • log_level_replica: warning
  • log_on_each_node: True
  • logging_nan_inf_filter: True
  • save_safetensors: True
  • save_on_each_node: False
  • save_only_model: False
  • restore_callback_states_from_checkpoint: False
  • no_cuda: False
  • use_cpu: False
  • use_mps_device: False
  • seed: 42
  • data_seed: None
  • jit_mode_eval: False
  • bf16: False
  • fp16: False
  • fp16_opt_level: O1
  • half_precision_backend: auto
  • bf16_full_eval: False
  • fp16_full_eval: False
  • tf32: None
  • local_rank: 0
  • ddp_backend: None
  • tpu_num_cores: None
  • tpu_metrics_debug: False
  • debug: []
  • dataloader_drop_last: False
  • dataloader_num_workers: 0
  • dataloader_prefetch_factor: None
  • past_index: -1
  • disable_tqdm: False
  • remove_unused_columns: True
  • label_names: None
  • load_best_model_at_end: False
  • ignore_data_skip: False
  • fsdp: []
  • fsdp_min_num_params: 0
  • fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
  • fsdp_transformer_layer_cls_to_wrap: None
  • accelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
  • parallelism_config: None
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch_fused
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • project: huggingface
  • trackio_space_id: trackio
  • ddp_find_unused_parameters: None
  • ddp_bucket_cap_mb: None
  • ddp_broadcast_buffers: False
  • dataloader_pin_memory: True
  • dataloader_persistent_workers: False
  • skip_memory_metrics: True
  • use_legacy_prediction_loop: False
  • push_to_hub: False
  • resume_from_checkpoint: None
  • hub_model_id: None
  • hub_strategy: every_save
  • hub_private_repo: None
  • hub_always_push: False
  • hub_revision: None
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • include_for_metrics: []
  • eval_do_concat_batches: True
  • fp16_backend: auto
  • push_to_hub_model_id: None
  • push_to_hub_organization: None
  • mp_parameters:
  • auto_find_batch_size: False
  • full_determinism: False
  • torchdynamo: None
  • ray_scope: last
  • ddp_timeout: 1800
  • torch_compile: False
  • torch_compile_backend: None
  • torch_compile_mode: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: no
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • use_liger_kernel: False
  • liger_kernel_config: None
  • eval_use_gather_object: False
  • average_tokens_across_devices: True
  • prompts: None
  • batch_sampler: batch_sampler
  • multi_dataset_batch_sampler: proportional
  • router_mapping: {}
  • learning_rate_mapping: {}

Training Logs

EpochSteptask1_ir_eval_cosine_ndcg@10
-1-10.0529

Framework Versions

  • Python: 3.10.19
  • Sentence Transformers: 5.1.2
  • Transformers: 4.57.1
  • PyTorch: 2.9.1+cu128
  • Accelerate: 1.11.0
  • Datasets: 4.4.1
  • Tokenizers: 0.22.1

Citation

BibTeX

Sentence Transformers

@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}

MultipleNegativesRankingLoss

@misc{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply},
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
BertModel
Ревизия весов
89e444d

0 моделей