Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Paper • 1908.10084 • Published • 15
How to use swardiantara/bert-tiny-amazon_reviews-k3-fixed-cosine with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("swardiantara/bert-tiny-amazon_reviews-k3-fixed-cosine")
sentences = [
"It doesn’t work Just they take money ! sorry for amazon to sell like this items .",
"Broke after one use. Whenever you hit it, the light would go out. Not worth your money.",
"Shipping was late box came open and missing pieces. Very bad experience. Came dirty and a stain on umbrella, not balanced at all so if you dont get weights it will not stand at all.",
"Shipping was late box came open and missing pieces. Very bad experience. Came dirty and a stain on umbrella, not balanced at all so if you dont get weights it will not stand at all."
]
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-amazon_reviews-k3-fixed-cosine")
# Run inference
sentences = [
"This eyeglasses smells soooo bad. Smell nasty chemical. I would have kept it even if it didn't work for me as other people claimed. I washed them with soap and warm water many times, chemical smell wont go away, so it made me decide to return them.",
'I ordered two of these. One came broken. It was packaged okay, so I believe it was broken due to the mail carrier tossing it onto my porch. The one that did not break, I love. It looks nice on my counter and serves its purpose. Updated review: Ok so the salt cellar that did not break during shipping pretty much shattered at the lightest touch after 3 weeks on my counter. I can no longer recommend this item, clearly they are not very durable at all.',
'Broke after one use. Whenever you hit it, the light would go out. Not worth your money.',
]
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.9934, 0.9923],
# [0.9934, 1.0000, 0.9955],
# [0.9923, 0.9955, 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 |
|---|---|---|
Arrived broken. Manufacturer defect. Two of the legs of the base were not completely formed, so there was no way to insert the casters. I unpackaged the entire chair and hardware before noticing this. So, I'll spend twice the amount of time boxing up the whole useless thing and send it back with a 1-star review of part of a chair I never got to sit in. I will go so far as to include a picture of what their injection molding and quality assurance process missed though. I will be hesitant to buy again. It makes me wonder if there aren't missing structures and supports that don't impede the assembly process. |
I ordered two of these. One came broken. It was packaged okay, so I believe it was broken due to the mail carrier tossing it onto my porch. The one that did not break, I love. It looks nice on my counter and serves its purpose. Updated review: Ok so the salt cellar that did not break during shipping pretty much shattered at the lightest touch after 3 weeks on my counter. I can no longer recommend this item, clearly they are not very durable at all. |
[1.0, 0.0] |
the cabinet dot were all detached from backing... got me |
Shipping was late box came open and missing pieces. Very bad experience. Came dirty and a stain on umbrella, not balanced at all so if you dont get weights it will not stand at all. |
[1.0, 0.0] |
I received my first order of this product and it was broke so I ordered it again. The second one was broke in more places than the first. I can't blame the shipping process as it's shrink wrapped and boxed. |
I ordered two of these. One came broken. It was packaged okay, so I believe it was broken due to the mail carrier tossing it onto my porch. The one that did not break, I love. It looks nice on my counter and serves its purpose. Updated review: Ok so the salt cellar that did not break during shipping pretty much shattered at the lightest touch after 3 weeks on my counter. I can no longer recommend this item, clearly they are not very durable at all. |
[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 |
|---|---|---|
| 1.0 | 196 | - |
| 2.0 | 392 | - |
| 2.5510 | 500 | 0.0016 |
| 3.0 | 588 | - |
| 4.0 | 784 | - |
@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