|  | --- | 
					
						
						|  | library_name: transformers | 
					
						
						|  | license: apache-2.0 | 
					
						
						|  | base_model: bert-base-uncased | 
					
						
						|  | tags: | 
					
						
						|  | - paraphrase-detection | 
					
						
						|  | - sentence-pair-classification | 
					
						
						|  | - glue | 
					
						
						|  | - mrpc | 
					
						
						|  | metrics: | 
					
						
						|  | - accuracy | 
					
						
						|  | - f1 | 
					
						
						|  | model-index: | 
					
						
						|  | - name: bert_paraphrase | 
					
						
						|  | results: | 
					
						
						|  | - task: | 
					
						
						|  | name: Paraphrase Detection | 
					
						
						|  | type: text-classification | 
					
						
						|  | dataset: | 
					
						
						|  | name: GLUE MRPC | 
					
						
						|  | type: glue | 
					
						
						|  | config: mrpc | 
					
						
						|  | split: validation | 
					
						
						|  | metrics: | 
					
						
						|  | - name: Accuracy | 
					
						
						|  | type: accuracy | 
					
						
						|  | value: 0.8676 | 
					
						
						|  | - name: F1 | 
					
						
						|  | type: f1 | 
					
						
						|  | value: 0.9078 | 
					
						
						|  | language: | 
					
						
						|  | - en | 
					
						
						|  | --- | 
					
						
						|  |  | 
					
						
						|  | <!-- This model card has been generated automatically according to the information the Trainer had access to. You | 
					
						
						|  | should probably proofread and complete it, then remove this comment. --> | 
					
						
						|  |  | 
					
						
						|  | # bert_paraphrase | 
					
						
						|  |  | 
					
						
						|  | This model is a fine-tuned version of [bert-base-uncased](https://huggingface.co/bert-base-uncased) on the **Microsoft Research Paraphrase Corpus (MRPC)**, a subset of the [GLUE benchmark](https://huggingface.co/datasets/glue). | 
					
						
						|  |  | 
					
						
						|  | It is trained to determine whether **two sentences are semantically equivalent (paraphrases) or not**. | 
					
						
						|  |  | 
					
						
						|  | ## 📊 Evaluation Results | 
					
						
						|  | - Loss: 0.4042 | 
					
						
						|  | - Accuracy: 0.8676 | 
					
						
						|  | - F1: 0.9078 | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | ## 🧾 Model Description | 
					
						
						|  |  | 
					
						
						|  | - **Model type:** BERT-base (uncased) | 
					
						
						|  | - **Task:** Binary classification (paraphrase vs not paraphrase) | 
					
						
						|  | - **Languages:** English | 
					
						
						|  | - **Labels:** | 
					
						
						|  | - `0` → Not paraphrase | 
					
						
						|  | - `1` → Paraphrase | 
					
						
						|  |  | 
					
						
						|  | --- | 
					
						
						|  |  | 
					
						
						|  | ## ✅ Intended Uses & Limitations | 
					
						
						|  |  | 
					
						
						|  | ## Intended uses & limitations | 
					
						
						|  |  | 
					
						
						|  | ### Intended uses | 
					
						
						|  | - Detect if two sentences convey the same meaning. | 
					
						
						|  | - Useful for: | 
					
						
						|  | - Duplicate question detection (e.g., Quora, FAQ bots). | 
					
						
						|  | - Semantic similarity search. | 
					
						
						|  | - Improving information retrieval systems. | 
					
						
						|  |  | 
					
						
						|  | ### Limitations | 
					
						
						|  | - Only trained on English (MRPC dataset). | 
					
						
						|  | - May not generalize well to other domains (e.g., legal, medical). | 
					
						
						|  | - Binary labels only (no "degree of similarity"). | 
					
						
						|  |  | 
					
						
						|  | --- | 
					
						
						|  |  | 
					
						
						|  | ## 📚 How to Use | 
					
						
						|  |  | 
					
						
						|  | You can use this model with the Hugging Face `pipeline` for quick inference: | 
					
						
						|  |  | 
					
						
						|  | ```python | 
					
						
						|  | from transformers import pipeline | 
					
						
						|  |  | 
					
						
						|  | paraphrase_detector = pipeline( | 
					
						
						|  | "text-classification", | 
					
						
						|  | model="azherali/bert_paraphrase", | 
					
						
						|  | tokenizer="azherali/bert_paraphrase" | 
					
						
						|  | ) | 
					
						
						|  |  | 
					
						
						|  | single_pair = [ | 
					
						
						|  | {"text": "The car is red.", "text_pair": "The automobile is red."}, | 
					
						
						|  | ] | 
					
						
						|  | result = paraphrase_detector(single_pair) | 
					
						
						|  | print( result) | 
					
						
						|  | [{'label': 'paraphrase', 'score': 0.9801033139228821}] | 
					
						
						|  |  | 
					
						
						|  | # Test pairs | 
					
						
						|  | pairs = [ | 
					
						
						|  | {"text": "The car is red.", "text_pair": "The automobile is red."}, | 
					
						
						|  | {"text": "He enjoys playing football.", "text_pair": "She likes cooking."}, | 
					
						
						|  | ] | 
					
						
						|  | result = paraphrase_detector(pairs) | 
					
						
						|  | print( result) | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | [{'label': 'paraphrase', 'score': 0.9801033139228821}, {'label': 'not_paraphrase', 'score': 0.9302119016647339}] | 
					
						
						|  | ``` | 
					
						
						|  |  | 
					
						
						|  | Using AutoModel & AutoTokenizer: | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | ```python | 
					
						
						|  | from transformers import AutoTokenizer, AutoModelForSequenceClassification | 
					
						
						|  | import torch | 
					
						
						|  |  | 
					
						
						|  | tokenizer = AutoTokenizer.from_pretrained("azherali/bert_paraphrase") | 
					
						
						|  | model = AutoModelForSequenceClassification.from_pretrained("azherali/bert_paraphrase") | 
					
						
						|  |  | 
					
						
						|  | # Example sentences | 
					
						
						|  | sent1 = "The quick brown fox jumps over the lazy dog." | 
					
						
						|  | sent2 = "A fast brown fox leaps over a lazy dog." | 
					
						
						|  |  | 
					
						
						|  | inputs = tokenizer(sent1, sent2, return_tensors="pt") | 
					
						
						|  | outputs = model(**inputs) | 
					
						
						|  |  | 
					
						
						|  | logits = outputs.logits | 
					
						
						|  | predicted_class = torch.argmax(logits, dim=1).item() | 
					
						
						|  |  | 
					
						
						|  | print("Prediction:", model.config.id2label[predicted_class]) | 
					
						
						|  | Prediction: paraphrase | 
					
						
						|  | ``` | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | ## Training and evaluation data | 
					
						
						|  |  | 
					
						
						|  | More information needed | 
					
						
						|  |  | 
					
						
						|  | ## Training procedure | 
					
						
						|  |  | 
					
						
						|  | ### Training hyperparameters | 
					
						
						|  |  | 
					
						
						|  | The following hyperparameters were used during training: | 
					
						
						|  | - learning_rate: 2e-05 | 
					
						
						|  | - train_batch_size: 16 | 
					
						
						|  | - eval_batch_size: 16 | 
					
						
						|  | - seed: 42 | 
					
						
						|  | - optimizer: Use OptimizerNames.ADAMW_TORCH_FUSED with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments | 
					
						
						|  | - lr_scheduler_type: linear | 
					
						
						|  | - num_epochs: 3 | 
					
						
						|  |  | 
					
						
						|  | ### Training results | 
					
						
						|  |  | 
					
						
						|  | | Training Loss | Epoch | Step | Validation Loss | Accuracy | F1     | | 
					
						
						|  | |:-------------:|:-----:|:----:|:---------------:|:--------:|:------:| | 
					
						
						|  | | No log        | 1.0   | 230  | 0.3894          | 0.8309   | 0.8836 | | 
					
						
						|  | | No log        | 2.0   | 460  | 0.3511          | 0.8505   | 0.8964 | | 
					
						
						|  | | 0.4061        | 3.0   | 690  | 0.4042          | 0.8676   | 0.9078 | | 
					
						
						|  |  | 
					
						
						|  |  | 
					
						
						|  | ### Framework versions | 
					
						
						|  |  | 
					
						
						|  | - Transformers 4.55.2 | 
					
						
						|  | - Pytorch 2.8.0+cu126 | 
					
						
						|  | - Datasets 4.0.0 | 
					
						
						|  | - Tokenizers 0.21.4 |