Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 15
How to use swardiantara/bert-tiny-yelp-k3-fixed-cosine with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("swardiantara/bert-tiny-yelp-k3-fixed-cosine")
sentences = [
"I wish I could return a haircut.\\n\\nUnfortunately Kelly, Melissa, and Jen were not there so I settled for whoever was free at the time. \\n\\nWorst trim of my life:\\nshe cut off over an inch more than just the dead/split ends\\nshe did not cut the hair how I described initially\\nshe did not change the cut to how I repeated during the cut when I noticed she was cutting it straight across instead of curving it in the back, which does NOT mix well with my curly hair\\nafter retelling her how I wanted it cut, she compared this tragedy to deaths of family/friends and how I should get over it\\nthe beautiful long layers I had and wanted again are now choppy, medium layers\\nmy left side is even choppier than the right side of my hair\\nI fear straightening my hair to make this unevenness less evident\\n\\nI regret tipping her because I understand how the service industry works because my minimum tip of 20% for all service people is undeserved for her lack of work.\\n\\nI want everyone to know how the only good hair stylists there are Kelly (who moved to Philly), Melissa and Jen. If they are not available, do NOT risk going.\\n\\nAlso, the Supercuts Oakland location is horrible at waxing eyebrows unless you are lucky to get the only woman of color there.\\n\\nWhile it was a $20 cut (after the 20% tip), I know had to buy biotin to grow my hair faster so it is more expensive to me in the end. I hope this proves helpful to all perspective customers!",
"WOW! Just try it. Delicious! Best Spring Roll I've had in a long time. The Phnom Penh soup was exotic and fabulous. The owners obviously care about their food and their homeland. I will definitely go back soon.",
"Just came back from my second visit to The Main Ingredient, and I definitely plan to return! I'd been to this location a few times when it was Lisa G.'s, and I'm happy to report that MI is superior (I always found Lisa G.'s a little pretentious and overpriced). \\n\\nSandwiches are great - the Jive Turkey and Tuna sandwiches are delicious and very flavorful - and the service is excellent! I came in with a group of 5 co-workers on our lunch break and there weren't any tables available for our party but the waitress was really nice and apologetic and told us she would seat us soon. She took our orders in advance because we were in a bit of a hurry and seated us within a few minutes. She offered to give us separate checks and brought them shortly after our food arrived; of course, saying \\\"no rush,\\\" but just trying to be helpful because we were pressed for time. Finally, a restaurant that doesn't act like it's the hugest hassle in the world to provide separate checks! It's a reality of modern dining and I love it when restaurants don't treat you like a pariah for requesting your own ticket. It makes things so much less awkward/complicated when you're out for a quick bite to eat with friends or coworkers.\\n\\nDefinitely check out the Main Ingredient next time you're looking for good food and service in a cute, cozy environment.",
"No, it's not worth it! Bellagio overcharged me and their accounting department never got back to me (I asked them for an itemized receipt 2 weeks ago). When I called them, I was (twice!) put on this music-less \\\"dead\\\" hold for 30-40 minutes. They're so full of themselves, they don't provide good customer service. Their wi-fi needed fixing when I stayed there. And by the way, the woman at the buffet was super rude to me. Finally, the famous waterworks never happened while I was standing outside in the cold waiting (though i asked the staff and they said they're up and running). No, don't waste your money! I won't and won't let my family and friends do that either."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from google/bert_uncased_L-2_H-128_A-2. It maps sentences & paragraphs to a 128-dimensional dense vector space and can be used for retrieval.
SentenceTransformer(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'BertModel'})
(1): Pooling({'embedding_dimension': 128, 'pooling_mode': 'mean', '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("swardiantara/bert-tiny-yelp-k3-fixed-cosine")
# Run inference
sentences = [
'I wish we had a way to hold this corporation accountable for its crimes against our society.',
'No, it\'s not worth it! Bellagio overcharged me and their accounting department never got back to me (I asked them for an itemized receipt 2 weeks ago). When I called them, I was (twice!) put on this music-less \\"dead\\" hold for 30-40 minutes. They\'re so full of themselves, they don\'t provide good customer service. Their wi-fi needed fixing when I stayed there. And by the way, the woman at the buffet was super rude to me. Finally, the famous waterworks never happened while I was standing outside in the cold waiting (though i asked the staff and they said they\'re up and running). No, don\'t waste your money! I won\'t and won\'t let my family and friends do that either.',
"This is an older retail store. I normally have a loving relationship with Eat 'n Park, but this one just didn't hit home for me. I came during the Sunday Brunch Buffet; my friend partook, I abstained after seeing the fare. I ordered two eggs over-easy with a side of toast. Getting beyond the murky, dated feel of the store, it was actually fairly clean on the interior and in the restrooms. \\n\\nI received my food and the eggs were cooked perfectly. Maybe not a big deal for some, but you would be surprised at how often over-easy comes out over-hard or, worse, uncooked. I think the real reason I enjoy Eat 'n Park most of the time is the normal salad bar items.",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 128]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.9917, 0.9904],
# [0.9917, 1.0000, 0.9988],
# [0.9904, 0.9988, 1.0000]])
text_a, text_b, and label| text_a | text_b | label | |
|---|---|---|---|
| type | string | string | list |
| modality | text | text | |
| details |
|
|
|
| text_a | text_b | label |
|---|---|---|
dr. goldberg offers everything i look for in a general practitioner. he's nice and easy to talk to without being patronizing; he's always on time in seeing his patients; he's affiliated with a top-notch hospital (nyu) which my parents have explained to me is very important in case something happens and you need surgery; and you can get referrals to see specialists without having to see him first. really, what more do you need? i'm sitting here trying to think of any complaints i have about him, but i'm really drawing a blank. |
I am an old school Vegas guy when it comes to service in this town. This place has only been open for a couple weeks and all I can say is wow! I've witnessed the owner and GM personally go to each customer to see how everything was going. I've seen this on ALL of the four times I have visited. The hardest things to convey to a service staff is to anticipate guests needs and recover from mistakes. They have obviously done a great job of that. Kudos!\n\nI love the Cajun style fish and shrimp tacos. Really fresh on perfectly soft, corn tacos. BTW, their happy hour is pretty freakin awesome to take advantage on their indoor-outdoor patio. Way more of a bargain and laid back atmosphere than Kona Grill --in the same lot. I just hope the Lambo-driving, Affliction/True Religion wearing-Summerlin douche bags- that scare away all the cute girls away, don't ruin my new favorite spot. |
[1.0, 0.0] |
Unfortunately, the frustration of being Dr. Goldberg's patient is a repeat of the experience I've had with so many other doctors in NYC -- good doctor, terrible staff. It seems that his staff simply never answers the phone. It usually takes 2 hours of repeated calling to get an answer. Who has time for that or wants to deal with it? I have run into this problem with many other doctors and I just don't get it. You have office workers, you have patients with medical needs, why isn't anyone answering the phone? It's incomprehensible and not work the aggravation. It's with regret that I feel that I have to give Dr. Goldberg 2 stars. |
Let me start by saying I have no idea about the food here, it could be amazing and knock my socks off, but I will not be back to find out.\n\nWe came here on a Saturday night and it was annoying. The service was decent, the drinks pretty strong....that's all that I can say in the good arena here. \n\nThe atmosphere is boring and uninspired, the decor blah and the clientele douchey. (if that's even a word) Prime example: a 45 year old guy in an Affliction shirt with a sparkly peace sign on the back...what?! There have to be better places to hang out in Scottsdale. |
[1.0, 0.0] |
Been going to Dr. Goldberg for over 10 years. I think I was one of his 1st patients when he started at MHMG. He's been great over the years and is really all about the big picture. It is because of him, not my now former gyn Dr. Markoff, that I found out I have fibroids. He explores all options with you and is very patient and understanding. He doesn't judge and asks all the right questions. Very thorough and wants to be kept in the loop on every aspect of your medical health and your life. |
Just came back from my second visit to The Main Ingredient, and I definitely plan to return! I'd been to this location a few times when it was Lisa G.'s, and I'm happy to report that MI is superior (I always found Lisa G.'s a little pretentious and overpriced). \n\nSandwiches are great - the Jive Turkey and Tuna sandwiches are delicious and very flavorful - and the service is excellent! I came in with a group of 5 co-workers on our lunch break and there weren't any tables available for our party but the waitress was really nice and apologetic and told us she would seat us soon. She took our orders in advance because we were in a bit of a hurry and seated us within a few minutes. She offered to give us separate checks and brought them shortly after our food arrived; of course, saying "no rush," but just trying to be helpful because we were pressed for time. Finally, a restaurant that doesn't act like it's the hugest hassle in the world to provide separate checks! It's a reality of mod... |
[1.0, 0.0] |
main.OrdinalProxyContrastiveLossper_device_train_batch_size: 1024num_train_epochs: 10learning_rate: 2e-05load_best_model_at_end: Trueper_device_train_batch_size: 1024num_train_epochs: 10max_steps: -1learning_rate: 2e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0optim: adamw_torchoptim_args: Noneweight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08optim_target_modules: Nonegradient_accumulation_steps: 1average_tokens_across_devices: Truemax_grad_norm: 1.0label_smoothing_factor: 0.0bf16: Falsefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Nonetorch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneuse_liger_kernel: Falseliger_kernel_config: Noneuse_cache: Falseneftune_noise_alpha: Nonetorch_empty_cache_steps: Noneauto_find_batch_size: Falselog_on_each_node: Truelogging_nan_inf_filter: Trueinclude_num_input_tokens_seen: nolog_level: passivelog_level_replica: warningdisable_tqdm: Falseproject: huggingfacetrackio_space_id: Nonetrackio_bucket_id: Nonetrackio_static_space_id: Noneper_device_eval_batch_size: 8prediction_loss_only: Trueeval_on_start: Falseeval_do_concat_batches: Trueeval_use_gather_object: Falseeval_accumulation_steps: Noneinclude_for_metrics: []batch_eval_metrics: Falsesave_only_model: Falsesave_on_each_node: Falseenable_jit_checkpoint: Falsepush_to_hub: Falsehub_private_repo: Nonehub_model_id: Nonehub_strategy: every_savehub_always_push: Falsehub_revision: Noneload_best_model_at_end: Trueignore_data_skip: Falserestore_callback_states_from_checkpoint: Falsefull_determinism: Falseseed: 42data_seed: Noneuse_cpu: Falseaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedataloader_drop_last: Falsedataloader_num_workers: 0dataloader_pin_memory: Truedataloader_persistent_workers: Falsedataloader_prefetch_factor: Noneremove_unused_columns: Truelabel_names: Nonetrain_sampling_strategy: randomlength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falseddp_static_graph: Noneddp_backend: Noneddp_timeout: 1800fsdp: Nonefsdp_config: Nonedeepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss |
|---|---|---|
| 0.8741 | 500 | 0.0006 |
| 1.0 | 572 | - |
| 1.7483 | 1000 | 0.0001 |
| 2.0 | 1144 | - |
| 2.6224 | 1500 | 0.0000 |
| 3.0 | 1716 | - |
@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_uncased_L-2_H-128_A-2