sbert-base-ja / README.md
LeoChiuu's picture
Add new SentenceTransformer model.
ebb2033 verified
metadata
base_model: colorfulscoop/sbert-base-ja
datasets: []
language: []
library_name: sentence-transformers
metrics:
  - cosine_accuracy
  - cosine_accuracy_threshold
  - cosine_f1
  - cosine_f1_threshold
  - cosine_precision
  - cosine_recall
  - cosine_ap
  - dot_accuracy
  - dot_accuracy_threshold
  - dot_f1
  - dot_f1_threshold
  - dot_precision
  - dot_recall
  - dot_ap
  - manhattan_accuracy
  - manhattan_accuracy_threshold
  - manhattan_f1
  - manhattan_f1_threshold
  - manhattan_precision
  - manhattan_recall
  - manhattan_ap
  - euclidean_accuracy
  - euclidean_accuracy_threshold
  - euclidean_f1
  - euclidean_f1_threshold
  - euclidean_precision
  - euclidean_recall
  - euclidean_ap
  - max_accuracy
  - max_accuracy_threshold
  - max_f1
  - max_f1_threshold
  - max_precision
  - max_recall
  - max_ap
pipeline_tag: sentence-similarity
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:124
  - loss:MultipleNegativesRankingLoss
widget:
  - source_sentence: なにも要らない
    sentences:
      - 欲しくない
      - 暖炉を調べよう
      - キャンドルがいいな
  - source_sentence: 試すため
    sentences:
      - 誰にもらったやつ?
      - スカーフはナイトスタンドにある?
      - ためすため
  - source_sentence: ビーフシチュー作った?
    sentences:
      - 昨日作ったのはビーフシチュー?
      - キャンドル要らない
      - 昨日夕飯にビーフシチュー食べた?
  - source_sentence: あれってキミのスカーフ?
    sentences:
      - あの木の上にあるやつはなに?
      - あれってレオのスカーフ?
      - どっちをさがせばいい?
  - source_sentence: どっちも欲しくない
    sentences:
      - 気にスカーフがひっかかってる
      - 花壇を調べよう
      - タイマツ要らない
model-index:
  - name: SentenceTransformer based on colorfulscoop/sbert-base-ja
    results:
      - task:
          type: binary-classification
          name: Binary Classification
        dataset:
          name: custom arc semantics data
          type: custom-arc-semantics-data
        metrics:
          - type: cosine_accuracy
            value: 0.967741935483871
            name: Cosine Accuracy
          - type: cosine_accuracy_threshold
            value: 0.2947738766670227
            name: Cosine Accuracy Threshold
          - type: cosine_f1
            value: 0.9836065573770492
            name: Cosine F1
          - type: cosine_f1_threshold
            value: 0.2947738766670227
            name: Cosine F1 Threshold
          - type: cosine_precision
            value: 1
            name: Cosine Precision
          - type: cosine_recall
            value: 0.967741935483871
            name: Cosine Recall
          - type: cosine_ap
            value: 0.9999999999999998
            name: Cosine Ap
          - type: dot_accuracy
            value: 0.967741935483871
            name: Dot Accuracy
          - type: dot_accuracy_threshold
            value: 144.98019409179688
            name: Dot Accuracy Threshold
          - type: dot_f1
            value: 0.9836065573770492
            name: Dot F1
          - type: dot_f1_threshold
            value: 144.98019409179688
            name: Dot F1 Threshold
          - type: dot_precision
            value: 1
            name: Dot Precision
          - type: dot_recall
            value: 0.967741935483871
            name: Dot Recall
          - type: dot_ap
            value: 0.9999999999999998
            name: Dot Ap
          - type: manhattan_accuracy
            value: 0.967741935483871
            name: Manhattan Accuracy
          - type: manhattan_accuracy_threshold
            value: 585.5504150390625
            name: Manhattan Accuracy Threshold
          - type: manhattan_f1
            value: 0.9836065573770492
            name: Manhattan F1
          - type: manhattan_f1_threshold
            value: 585.5504150390625
            name: Manhattan F1 Threshold
          - type: manhattan_precision
            value: 1
            name: Manhattan Precision
          - type: manhattan_recall
            value: 0.967741935483871
            name: Manhattan Recall
          - type: manhattan_ap
            value: 0.9999999999999998
            name: Manhattan Ap
          - type: euclidean_accuracy
            value: 0.967741935483871
            name: Euclidean Accuracy
          - type: euclidean_accuracy_threshold
            value: 26.343276977539062
            name: Euclidean Accuracy Threshold
          - type: euclidean_f1
            value: 0.9836065573770492
            name: Euclidean F1
          - type: euclidean_f1_threshold
            value: 26.343276977539062
            name: Euclidean F1 Threshold
          - type: euclidean_precision
            value: 1
            name: Euclidean Precision
          - type: euclidean_recall
            value: 0.967741935483871
            name: Euclidean Recall
          - type: euclidean_ap
            value: 0.9999999999999998
            name: Euclidean Ap
          - type: max_accuracy
            value: 0.967741935483871
            name: Max Accuracy
          - type: max_accuracy_threshold
            value: 585.5504150390625
            name: Max Accuracy Threshold
          - type: max_f1
            value: 0.9836065573770492
            name: Max F1
          - type: max_f1_threshold
            value: 585.5504150390625
            name: Max F1 Threshold
          - type: max_precision
            value: 1
            name: Max Precision
          - type: max_recall
            value: 0.967741935483871
            name: Max Recall
          - type: max_ap
            value: 0.9999999999999998
            name: Max Ap

SentenceTransformer based on colorfulscoop/sbert-base-ja

This is a sentence-transformers model finetuned from colorfulscoop/sbert-base-ja. 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: colorfulscoop/sbert-base-ja
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: 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("LeoChiuu/sbert-base-ja")
# Run inference
sentences = [
    'どっちも欲しくない',
    'タイマツ要らない',
    '花壇を調べよう',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Evaluation

Metrics

Binary Classification

Metric Value
cosine_accuracy 0.9677
cosine_accuracy_threshold 0.2948
cosine_f1 0.9836
cosine_f1_threshold 0.2948
cosine_precision 1.0
cosine_recall 0.9677
cosine_ap 1.0
dot_accuracy 0.9677
dot_accuracy_threshold 144.9802
dot_f1 0.9836
dot_f1_threshold 144.9802
dot_precision 1.0
dot_recall 0.9677
dot_ap 1.0
manhattan_accuracy 0.9677
manhattan_accuracy_threshold 585.5504
manhattan_f1 0.9836
manhattan_f1_threshold 585.5504
manhattan_precision 1.0
manhattan_recall 0.9677
manhattan_ap 1.0
euclidean_accuracy 0.9677
euclidean_accuracy_threshold 26.3433
euclidean_f1 0.9836
euclidean_f1_threshold 26.3433
euclidean_precision 1.0
euclidean_recall 0.9677
euclidean_ap 1.0
max_accuracy 0.9677
max_accuracy_threshold 585.5504
max_f1 0.9836
max_f1_threshold 585.5504
max_precision 1.0
max_recall 0.9677
max_ap 1.0

Training Details

Training Dataset

Unnamed Dataset

  • Size: 124 training samples
  • Columns: text1, text2, and label
  • Approximate statistics based on the first 1000 samples:
    text1 text2 label
    type string string int
    details
    • min: 4 tokens
    • mean: 8.59 tokens
    • max: 14 tokens
    • min: 5 tokens
    • mean: 8.58 tokens
    • max: 14 tokens
    • 1: 100.00%
  • Samples:
    text1 text2 label
    昨晩何を食べたの? 昨夜何を食べたの? 1
    スリッパをはいたの? スリッパはいてた? 1
    家の中 家の中へ行こう 1
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Evaluation Dataset

Unnamed Dataset

  • Size: 31 evaluation samples
  • Columns: text1, text2, and label
  • Approximate statistics based on the first 1000 samples:
    text1 text2 label
    type string string int
    details
    • min: 5 tokens
    • mean: 8.39 tokens
    • max: 14 tokens
    • min: 4 tokens
    • mean: 9.06 tokens
    • max: 14 tokens
    • 1: 100.00%
  • Samples:
    text1 text2 label
    花壇 花壇を調べよう 1
    タイマツ要らない キャンドル要らない 1
    なにも要らない 欲しくない 1
  • Loss: MultipleNegativesRankingLoss with these parameters:
    {
        "scale": 20.0,
        "similarity_fct": "cos_sim"
    }
    

Training Hyperparameters

Non-Default Hyperparameters

  • eval_strategy: epoch
  • learning_rate: 2e-05
  • num_train_epochs: 13
  • warmup_ratio: 0.1
  • fp16: True
  • batch_sampler: no_duplicates

All Hyperparameters

Click to expand
  • overwrite_output_dir: False
  • do_predict: False
  • eval_strategy: epoch
  • prediction_loss_only: True
  • per_device_train_batch_size: 8
  • per_device_eval_batch_size: 8
  • 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: 2e-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: 13
  • 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
  • use_ipex: False
  • bf16: False
  • fp16: True
  • 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}
  • deepspeed: None
  • label_smoothing_factor: 0.0
  • optim: adamw_torch
  • optim_args: None
  • adafactor: False
  • group_by_length: False
  • length_column_name: length
  • 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: False
  • hub_always_push: False
  • gradient_checkpointing: False
  • gradient_checkpointing_kwargs: None
  • include_inputs_for_metrics: False
  • 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
  • dispatch_batches: None
  • split_batches: None
  • include_tokens_per_second: False
  • include_num_input_tokens_seen: False
  • neftune_noise_alpha: None
  • optim_target_modules: None
  • batch_eval_metrics: False
  • eval_on_start: False
  • eval_use_gather_object: False
  • batch_sampler: no_duplicates
  • multi_dataset_batch_sampler: proportional

Training Logs

Epoch Step Training Loss loss custom-arc-semantics-data_max_ap
None 0 - - 1.0000
1.0 16 0.5617 0.5022 1.0000
2.0 32 0.2461 0.3870 1.0000
3.0 48 0.0968 0.3929 1.0000
4.0 64 0.0408 0.4012 1.0000
5.0 80 0.0151 0.4023 1.0000
6.0 96 0.0118 0.3851 1.0000
7.0 112 0.0087 0.3637 1.0000
8.0 128 0.0053 0.3662 1.0000
9.0 144 0.0046 0.3799 1.0000
10.0 160 0.002 0.3772 1.0000
11.0 176 0.0025 0.3765 1.0000
12.0 192 0.0021 0.3751 1.0000
13.0 208 0.0015 0.3752 1.0000

Framework Versions

  • Python: 3.10.14
  • Sentence Transformers: 3.0.1
  • Transformers: 4.44.2
  • PyTorch: 2.4.0+cu121
  • Accelerate: 0.34.0
  • Datasets: 2.20.0
  • Tokenizers: 0.19.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}
}