Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 16
How to use tomaarsen/st-v3-test-mpnet-base-allnli-stsb with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("tomaarsen/st-v3-test-mpnet-base-allnli-stsb")
sentences = [
"Really? No kidding! ",
"yeah really no kidding",
"At the end of the fourth century was when baked goods flourished.",
"The campaigns seem to reach a new pool of contributors."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from microsoft/mpnet-base on the multi_nli, snli and stsb datasets. 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': 384, 'do_lower_case': False}) with Transformer model: MPNetModel
(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("tomaarsen/st-v3-test-mpnet-base-allnli-stsb")
# Run inference
sentences = [
"He ran like an athlete.",
" Then he ran.",
"yeah i mean just when uh the they military paid for her education",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
sts-devEmbeddingSimilarityEvaluator| Metric | Value |
|---|---|
| pearson_cosine | 0.7331 |
| spearman_cosine | 0.7435 |
| pearson_manhattan | 0.7389 |
| spearman_manhattan | 0.7474 |
| pearson_euclidean | 0.7356 |
| spearman_euclidean | 0.7436 |
| pearson_dot | 0.7093 |
| spearman_dot | 0.715 |
| pearson_max | 0.7389 |
| spearman_max | 0.7474 |
sts-testEmbeddingSimilarityEvaluator| Metric | Value |
|---|---|
| pearson_cosine | 0.6751 |
| spearman_cosine | 0.6616 |
| pearson_manhattan | 0.6718 |
| spearman_manhattan | 0.6589 |
| pearson_euclidean | 0.6693 |
| spearman_euclidean | 0.6578 |
| pearson_dot | 0.649 |
| spearman_dot | 0.6335 |
| pearson_max | 0.6751 |
| spearman_max | 0.6616 |
premise, hypothesis, and label| premise | hypothesis | label | |
|---|---|---|---|
| type | string | string | int |
| details |
|
|
|
| premise | hypothesis | label |
|---|---|---|
Conceptually cream skimming has two basic dimensions - product and geography. |
Product and geography are what make cream skimming work. |
1 |
you know during the season and i guess at at your level uh you lose them to the next level if if they decide to recall the the parent team the Braves decide to call to recall a guy from triple A then a double A guy goes up to replace him and a single A guy goes up to replace him |
You lose the things to the following level if the people recall. |
0 |
One of our number will carry out your instructions minutely. |
A member of my team will execute your orders with immense precision. |
0 |
sentence_transformers.losses.SoftmaxLoss.SoftmaxLosssnli_premise, hypothesis, and label| snli_premise | hypothesis | label | |
|---|---|---|---|
| type | string | string | int |
| details |
|
|
|
| snli_premise | hypothesis | label |
|---|---|---|
A person on a horse jumps over a broken down airplane. |
A person is training his horse for a competition. |
1 |
A person on a horse jumps over a broken down airplane. |
A person is at a diner, ordering an omelette. |
2 |
A person on a horse jumps over a broken down airplane. |
A person is outdoors, on a horse. |
0 |
sentence_transformers.losses.SoftmaxLoss.SoftmaxLosssentence1, sentence2, and label| sentence1 | sentence2 | label | |
|---|---|---|---|
| type | string | string | float |
| details |
|
|
|
| sentence1 | sentence2 | label |
|---|---|---|
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 |
sentence_transformers.losses.CosineSimilarityLoss.CosineSimilarityLoss with these parameters:{
"loss_fct": "torch.nn.modules.loss.MSELoss"
}
premise, hypothesis, and label| premise | hypothesis | label | |
|---|---|---|---|
| type | string | string | int |
| details |
|
|
|
| premise | hypothesis | label |
|---|---|---|
The new rights are nice enough |
Everyone really likes the newest benefits |
1 |
This site includes a list of all award winners and a searchable database of Government Executive articles. |
The Government Executive articles housed on the website are not able to be searched. |
2 |
uh i don't know i i have mixed emotions about him uh sometimes i like him but at the same times i love to see somebody beat him |
I like him for the most part, but would still enjoy seeing someone beat him. |
0 |
sentence_transformers.losses.SoftmaxLoss.SoftmaxLosssnli_premise, hypothesis, and label| snli_premise | hypothesis | label | |
|---|---|---|---|
| type | string | string | int |
| details |
|
|
|
| snli_premise | hypothesis | label |
|---|---|---|
Two women are embracing while holding to go packages. |
The sisters are hugging goodbye while holding to go packages after just eating lunch. |
1 |
Two women are embracing while holding to go packages. |
Two woman are holding packages. |
0 |
Two women are embracing while holding to go packages. |
The men are fighting outside a deli. |
2 |
sentence_transformers.losses.SoftmaxLoss.SoftmaxLosssentence1, sentence2, and label| sentence1 | sentence2 | label | |
|---|---|---|---|
| type | string | string | float |
| details |
|
|
|
| sentence1 | sentence2 | label |
|---|---|---|
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 |
sentence_transformers.losses.CosineSimilarityLoss.CosineSimilarityLoss with these parameters:{
"loss_fct": "torch.nn.modules.loss.MSELoss"
}
| Epoch | Step | Training Loss | multi nli loss | snli loss | stsb loss | sts-dev spearman cosine |
|---|---|---|---|---|---|---|
| 0.0493 | 10 | 0.9199 | 1.1019 | 1.1017 | 0.3016 | 0.6324 |
| 0.0985 | 20 | 1.0063 | 1.1000 | 1.0966 | 0.2635 | 0.6093 |
| 0.1478 | 30 | 1.002 | 1.0995 | 1.0908 | 0.1766 | 0.5328 |
| 0.1970 | 40 | 0.7946 | 1.0980 | 1.0913 | 0.0923 | 0.5991 |
| 0.2463 | 50 | 0.9891 | 1.0967 | 1.0781 | 0.0912 | 0.6457 |
| 0.2956 | 60 | 0.784 | 1.0938 | 1.0699 | 0.0934 | 0.6629 |
| 0.3448 | 70 | 0.6735 | 1.0940 | 1.0728 | 0.0640 | 0.7538 |
| 0.3941 | 80 | 0.7713 | 1.0893 | 1.0676 | 0.0612 | 0.7653 |
| 0.4433 | 90 | 0.9772 | 1.0870 | 1.0573 | 0.0636 | 0.7621 |
| 0.4926 | 100 | 0.8613 | 1.0862 | 1.0515 | 0.0632 | 0.7583 |
| 0.5419 | 110 | 0.7528 | 1.0814 | 1.0397 | 0.0617 | 0.7536 |
| 0.5911 | 120 | 0.6541 | 1.0854 | 1.0329 | 0.0657 | 0.7512 |
| 0.6404 | 130 | 1.051 | 1.0658 | 1.0211 | 0.0607 | 0.7340 |
| 0.6897 | 140 | 0.8516 | 1.0631 | 1.0171 | 0.0587 | 0.7467 |
| 0.7389 | 150 | 0.7484 | 1.0563 | 1.0122 | 0.0556 | 0.7537 |
| 0.7882 | 160 | 0.7368 | 1.0534 | 1.0100 | 0.0588 | 0.7526 |
| 0.8374 | 170 | 0.8373 | 1.0498 | 1.0030 | 0.0565 | 0.7491 |
| 0.8867 | 180 | 0.9311 | 1.0387 | 0.9981 | 0.0588 | 0.7302 |
| 0.9360 | 190 | 0.5445 | 1.0357 | 0.9967 | 0.0565 | 0.7382 |
| 0.9852 | 200 | 0.9154 | 1.0359 | 0.9964 | 0.0556 | 0.7435 |
Carbon emissions were measured using CodeCarbon.
@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
microsoft/mpnet-base