CoolFace
Modelpublic

stel42/bs-faq-finetune-baai-bgem3

sourceHugging Faceupdated 11mo agoView on Hugging Face
0likes15downloads
Model Card

SentenceTransformer based on BAAI/bge-m3

This is a sentence-transformers model finetuned from BAAI/bge-m3. It maps sentences & paragraphs to a 1024-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: BAAI/bge-m3 <!-- at revision 5617a9f61b028005a4858fdac845db406aefb181 -->
  • —Maximum Sequence Length: 8192 tokens
  • —Output Dimensionality: 1024 dimensions
  • —Similarity Function: Cosine Similarity <!-- - Training Dataset: Unknown --> <!-- - Language: Unknown --> <!-- - License: Unknown -->

Model Sources

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False, 'architecture': 'XLMRobertaModel'})
  (1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
  (2): Normalize()
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

bash
pip install -U sentence-transformers

Then you can load this model and run inference.

python
from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("stel42/bs-faq-finetune-baai-bgem3")
# Run inference
queries = [
    "RSUSW itu singkatan dari apa?",
]
documents = [
    'RSU Syubbanul Wathon adalah kepanjangan dari RSUSW',
    'Lokasinya di Jl. Magelang - Kopeng km 08 Tegalrejo Kabupaten Magelang 56192',
    'Nama lain Siloam Hospitals Bangka Belitung adalah SHBB atau Siloam Pangkalan Baru',
]
query_embeddings = model.encode_query(queries)
document_embeddings = model.encode_document(documents)
print(query_embeddings.shape, document_embeddings.shape)
# [1, 1024] [3, 1024]

# Get the similarity scores for the embeddings
similarities = model.similarity(query_embeddings, document_embeddings)
print(similarities)
# tensor([[0.7324, 0.1836, 0.2039]])

<!--

Direct Usage (Transformers)

<details><summary>Click to see the direct usage in Transformers</summary>

</details> -->

<!--

Downstream Usage (Sentence Transformers)

You can finetune this model on your own dataset.

<details><summary>Click to expand</summary>

</details> -->

<!--

Out-of-Scope Use

List how the model may foreseeably be misused and address what users ought not to do with the model. -->

Evaluation

Metrics

Triplet
MetricValue
cosine_accuracy0.9768

<!--

Bias, Risks and Limitations

What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model. -->

<!--

Recommendations

What are recommendations with respect to the foreseeable issues? For example, filtering explicit content. -->

Training Details

Training Dataset

Unnamed Dataset
  • —Size: 2,718 training samples
  • —Columns: <code>query</code>, <code>answerpositive</code>, and <code>answernegative</code>
  • —Approximate statistics based on the first 1000 samples: | | query | answerpositive | answernegative | |:--------|:----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------| | type | string | string | string | | details | <ul><li>min: 5 tokens</li><li>mean: 10.88 tokens</li><li>max: 20 tokens</li></ul> | <ul><li>min: 8 tokens</li><li>mean: 35.04 tokens</li><li>max: 401 tokens</li></ul> | <ul><li>min: 8 tokens</li><li>mean: 28.66 tokens</li><li>max: 150 tokens</li></ul> |
  • —Samples: | query | answerpositive | answernegative | |:-----------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | <code>RS Jantung Diagram Cinere punya sebutan lain?</code> | <code>Nama lain RS Jantung Diagram Cinere adalah SHCN atau Siloam Cinere</code> | <code>Lokasinya di Jl. Kompol Maksum No.296, Peterongan, Kec. Semarang Sel., Kota Semarang, Jawa Tengah 50242</code> | | <code>aplikasi mysiloam itu fungsinya apa</code> | <code>Aplikasi MySiloam adalah aplikasi mobile untuk membantu pengguna menikmati kemudahan layanan kesehatan yang disediakan oleh Rumah Sakit Siloam. Beberapa fitur yang sudah membantu banyak orang adalah, pembuatan janji temu dokter, pemesanan tes dan layanan kesehatan, emergency, dan ambulance call.</code> | <code>Lokasinya di JL. Mampang Prapatan XVI, Kel. Duren Tiga, Kec. Pancoran, Kota Adm. Jakarta Selatan, Prov. DKI Jakarta</code> | | <code>Mau ke Siloam Surabaya, alamatnya apa?</code> | <code>Lokasinya di Jl. Raya Gubeng No.70, Gubeng, Kec. Gubeng, Kota SBY, Jawa Timur 60281</code> | <code>Ya, Anda dapat menanyakan kepada staff registrasi kami untuk mendapatkan perkiraan biaya sebelum perawatan Anda. Harap dicatat bahwa ada kemungkinan bahwa perkiraan biaya yang diberikan berbeda dari biaya akhir.</code> |
  • —Loss: <code>MultipleNegativesRankingLoss</code> with these parameters:
json
  {
      "scale": 20.0,
      "similarity_fct": "cos_sim",
      "gather_across_devices": false
  }

Evaluation Dataset

Unnamed Dataset
  • —Size: 302 evaluation samples
  • —Columns: <code>query</code>, <code>answerpositive</code>, and <code>answernegative</code>
  • —Approximate statistics based on the first 302 samples: | | query | answerpositive | answernegative | |:--------|:----------------------------------------------------------------------------------|:----------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------| | type | string | string | string | | details | <ul><li>min: 5 tokens</li><li>mean: 10.95 tokens</li><li>max: 18 tokens</li></ul> | <ul><li>min: 8 tokens</li><li>mean: 33.9 tokens</li><li>max: 255 tokens</li></ul> | <ul><li>min: 14 tokens</li><li>mean: 26.95 tokens</li><li>max: 54 tokens</li></ul> |
  • —Samples: | query | answerpositive | answernegative | |:-----------------------------------------------------|:------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | <code>SHPL ada di jalan apa?</code> | <code>Lokasinya di Jl. POM IX, Lorok Pakjo, Kec. Ilir Bar. I, Kota Palembang, Sumatera Selatan 30137</code> | <code>Pendaftaran MCU / Medical Check Up melalui Pembayaran pada pendaftaran MCU / Medical Check Up dapat dilakukan dengan transfer ke rekening Bank, Credit Card, dan pembayaran cash pada saat melakukan registrasi.</code> | | <code>Dimana Siloam TB Simatupang?</code> | <code>Lokasinya di Jl. RA. Kartini No. 8, Cilandak Jakarta Selatan</code> | <code>Lama waktu yang dibutuhkan untuk menjalankan MCU / Medical Check Up sekitar 2-6 jam tergantung dari jenis paket pemeriksaan yang dijalankan.</code> | | <code>siloam putera bahagia disebut apa lagi?</code> | <code>Nama lain Siloam Hospitals Putera Bahagia adalah SHCB atau Siloam Harjamukti</code> | <code>Lokasinya di Jl. Kelapa Dua Raya No.1001, Klp. Dua, Kec. Klp. Dua, Kabupaten Tangerang, Banten 15810</code> |
  • —Loss: <code>MultipleNegativesRankingLoss</code> with these parameters:
json
  {
      "scale": 20.0,
      "similarity_fct": "cos_sim",
      "gather_across_devices": false
  }

Training Logs

EpochStepfaq-test_cosine_accuracy
-1-10.9768

Framework Versions

  • —Python: 3.12.12
  • —Sentence Transformers: 5.1.2
  • —Transformers: 4.57.1
  • —PyTorch: 2.8.0+cu126
  • —Accelerate: 1.11.0
  • —Datasets: 4.0.0
  • —Tokenizers: 0.22.1

Citation

BibTeX

Sentence Transformers
bibtex
@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
bibtex
@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}
}

<!--

Glossary

Clearly define terms in order to be accessible across audiences. -->

<!--

Model Card Authors

Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction. -->

<!--

Model Card Contact

Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors. -->