sentence-transformers/stsb
Viewer • Updated • 8.63k • 16.2k • 26
How to use Zlovoblachko/bert-base-uncased-augmentation-indomain-bm25-sts with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("Zlovoblachko/bert-base-uncased-augmentation-indomain-bm25-sts")
sentences = [
"The man talked to a girl over the internet camera.",
"A group of elderly people pose around a dining table.",
"A teenager talks to a girl over a webcam.",
"There is no 'still' that is not relative to some other object."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from google-bert/bert-base-uncased. 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.
SentenceTransformer(
(0): Transformer({'max_seq_length': 128, '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})
)
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("Zlovoblachko/bert-base-uncased-augmentation-indomain-bm25-sts")
# Run inference
sentences = [
'While Queen may refer to both Queen regent (sovereign) or Queen consort, the King has always been the sovereign.',
'There is a very good reason not to refer to the Queen\'s spouse as "King" - because they aren\'t the King.',
'A man sitting on the floor in a room is strumming a guitar.',
]
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.7510, 0.5198],
# [0.7510, 1.0000, 0.5726],
# [0.5198, 0.5726, 1.0000]])
sts-testEmbeddingSimilarityEvaluator| Metric | Value |
|---|---|
| pearson_cosine | 0.479 |
| spearman_cosine | 0.4729 |
sentence1, sentence2, and score| sentence1 | sentence2 | score | |
|---|---|---|---|
| type | string | string | float |
| details |
|
|
|
| sentence1 | sentence2 | score |
|---|---|---|
A plane is taking off. |
An air plane is taking off. |
1.0 |
A man is playing a large flute. |
A man is playing a flute. |
0.76 |
A man is spreading shreded cheese on a pizza. |
A man is spreading shredded cheese on an uncooked pizza. |
0.76 |
CosineSimilarityLoss with these parameters:{
"loss_fct": "torch.nn.modules.loss.MSELoss"
}
sentence1, sentence2, and score| sentence1 | sentence2 | score | |
|---|---|---|---|
| type | string | string | float |
| details |
|
|
|
| sentence1 | sentence2 | score |
|---|---|---|
A man with a hard hat is dancing. |
A man wearing a hard hat is dancing. |
1.0 |
A young child is riding a horse. |
A child is riding a horse. |
0.95 |
A man is feeding a mouse to a snake. |
The man is feeding a mouse to the snake. |
1.0 |
CosineSimilarityLoss with these parameters:{
"loss_fct": "torch.nn.modules.loss.MSELoss"
}
| Epoch | Step | sts-test_spearman_cosine |
|---|---|---|
| -1 | -1 | 0.4729 |
@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",
}
Base model
google-bert/bert-base-uncased