Downloads · 30 days
9
18% of all-time downloads
Aditya109/us-openfda-drug-embed-v1
us-openfda-drug-embed-v1 is a sentence similarity model from Aditya109. Use it when you need a score for how close two texts are. It is set up for sentence-transformers.
This experimental model was fine-tuned on structured drug-product records from the official openFDA National Drug Code Directory. Training text includes brand name, active ingredients, strength, dosage form, and route.
Downloads · 30 days
9
18% of all-time downloads
All-time downloads
50
Public
Parameters
109M
438 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors438 MB · 100%
From the Hugging Face model README
This experimental model was fine-tuned on structured drug-product records from the official openFDA National Drug Code Directory. Training text includes brand name, active ingredients, strength, dosage form, and route.
The openFDA source data is generally available under CC0/public-domain terms; the base model and software dependencies retain their own terms. This model is for research and catalog-matching experiments. It must not be used for diagnosis, prescribing, dosage decisions, interaction checks, or automatic medicine substitution.
Held-out evaluation:
This is a sentence-transformers model finetuned from FremyCompany/BioLORD-2023 on the pairs and triplets datasets. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, classification, clustering, and more.
SentenceTransformer(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'MPNetModel'})
(1): Pooling({'embedding_dimension': 768, '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("sentence_transformers_model_id")
# Run inference
sentences = [
'Brand: smart care island mango hand sanitizer. Ingredients: alcohol. Strength: 70 ml/100ml. Form: spray. Route: topical.',
'Brand: ashleybelle moisturizing hand sanitizer cranberry sage. Ingredients: alcohol. Strength: 70 ml/100ml. Form: spray. Route: topical.',
'Brand: walgreens dandruff itchy dry scalp defense anti-dandruff. Ingredients: pyrithione zinc. Strength: 10 mg/ml. Form: shampoo. Route: topical.',
]
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.8526, 0.4529],
# [0.8526, 1.0000, 0.4206],
# [0.4529, 0.4206, 1.0000]])
<!--
### 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.*
-->
comp| Metric | Value |
|---|---|
| same | 0.9165 |
| diff | 0.5142 |
| margin | 0.4023 |
| margin_norm | 2.819 |
| nn_accuracy | 0.8171 |
val| Metric | Value |
|---|---|
| cosine_accuracy | 0.9416 |
| anchor | positive | |
|---|---|---|
| type | string | string |
| modality | text | text |
| details | <ul><li>min: 27 tokens</li><li>mean: 31.86 tokens</li><li>max: 32 tokens</li></ul> | <ul><li>min: 28 tokens</li><li>mean: 31.86 tokens</li><li>max: 32 tokens</li></ul> |
| anchor | positive |
|---|---|
| <code>Brand: gps topical anesthetic. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: dental.</code> | <code>Brand: primo topical anesthetic. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: dental.</code> |
| <code>Brand: bencocaine topical anesthetic. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: dental.</code> | <code>Brand: tiger supply inc topical anesthetic. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: dental.</code> |
| <code>Brand: safco sensicaine ultra topical anesthetic gel. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: dental.</code> | <code>Brand: advance topical anesthetic gel. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: dental.</code> |
{
"guide": "SentenceTransformer(None)",
"temperature": 0.01,
"mini_batch_size": 64,
"mini_batch_num_tokens": null,
"margin_strategy": "absolute",
"margin": 0.0,
"contrast_anchors": true,
"contrast_positives": true,
"gather_across_devices": false
}
| anchor | positive | negative | |
|---|---|---|---|
| type | string | string | string |
| modality | text | text | text |
| details | <ul><li>min: 27 tokens</li><li>mean: 31.8 tokens</li><li>max: 32 tokens</li></ul> | <ul><li>min: 28 tokens</li><li>mean: 31.88 tokens</li><li>max: 32 tokens</li></ul> | <ul><li>min: 28 tokens</li><li>mean: 31.61 tokens</li><li>max: 32 tokens</li></ul> |
| anchor | positive | negative |
|---|---|---|
| <code>Brand: candee caine topical anesthetic. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: dental.</code> | <code>Brand: advance topical anesthetic gel. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: dental.</code> | <code>Brand: 7 select oral pain maximum strength relief. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: topical.</code> |
| <code>Brand: kolorz topical anesthetic blue rasberry. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: dental.</code> | <code>Brand: kolorz topical anesthetic triple mint. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: dental.</code> | <code>Brand: lubelife climax control delay. Ingredients: benzocaine. Strength: 7.5 g/100ml. Form: spray. Route: topical.</code> |
| <code>Brand: quala topical anesthetic gel. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: dental.</code> | <code>Brand: kolorz topical anesthetic cotton candy. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: dental.</code> | <code>Brand: hurricaine topical anesthetic. Ingredients: benzocaine. Strength: 200 mg/g. Form: gel. Route: dental | periodontal.</code> |
{
"guide": "SentenceTransformer(None)",
"temperature": 0.01,
"mini_batch_size": 64,
"mini_batch_num_tokens": null,
"margin_strategy": "absolute",
"margin": 0.0,
"contrast_anchors": true,
"contrast_positives": true,
"gather_across_devices": false
}
per_device_train_batch_size: 512num_train_epochs: 1.0learning_rate: 1e-05warmup_steps: 0.1bf16: Trueload_best_model_at_end: Truebatch_sampler: no_duplicatesper_device_train_batch_size: 512num_train_epochs: 1.0max_steps: -1learning_rate: 1e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0.1optim: adamw_torch_fusedoptim_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: Truefp16: 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: no_duplicatesmulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss | comp_nn_accuracy | val_cosine_accuracy |
|---|---|---|---|---|
| -1 | -1 | - | 0.6585 | 0.8995 |
| 0.6173 | 50 | 0.6714 | - | - |
| 1.0 | 81 | - | 0.8171 | 0.9416 |
@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",
}
<!--
## 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.*
-->