| # ============================================================ | |
| # SIMPLE EXAMPLE: How to Use Your Trained Model | |
| # ============================================================ | |
| ```python | |
| from transformers import AutoTokenizer, AutoModelForSequenceClassification | |
| import torch | |
| # Step 1: Load the model and tokenizer from the local directory | |
| # (This assumes you ran Cell 18 earlier to save the model) | |
| model_path = "optimized-bert-model" | |
| model = AutoModelForSequenceClassification.from_pretrained(model_path) | |
| tokenizer = AutoTokenizer.from_pretrained(model_path) | |
| # Step 2: Put model in evaluation mode | |
| model.eval() | |
| # Step 3: Test on simple examples using a helper function | |
| def predict_paraphrase(sentence1, sentence2): | |
| """ | |
| Predicts whether two sentences are paraphrases and returns prediction and confidence. | |
| """ | |
| inputs = tokenizer(sentence1, sentence2, return_tensors="pt", | |
| truncation=True, padding=True, max_length=128) | |
| with torch.no_grad(): | |
| outputs = model(**inputs) | |
| logits = outputs.logits | |
| prediction = torch.argmax(logits, dim=1).item() | |
| confidence = torch.softmax(logits, dim=1)[0].max().item() | |
| return prediction, confidence | |
| def display_result(example_idx, sentence1, sentence2): | |
| prediction, confidence = predict_paraphrase(sentence1, sentence2) | |
| print("="*60) | |
| print(f"EXAMPLE {example_idx} - Are these paraphrases?") | |
| print("="*60) | |
| print(f"Sentence 1: {sentence1}") | |
| print(f"Sentence 2: {sentence2}") | |
| print(f"Prediction: {'YES (paraphrases)' if prediction == 1 else 'NO (not paraphrases)'}") | |
| print(f"Confidence: {confidence:.4f}") | |
| print() | |
| # Example 1: Two sentences that ARE paraphrases | |
| sentence1_1 = "The cat is sleeping on the mat" | |
| sentence2_1 = "The cat is napping on the mat" | |
| display_result(1, sentence1_1, sentence2_1) | |
| # Example 2: Two sentences that are NOT paraphrases | |
| sentence1_2 = "The dog is barking loudly" | |
| sentence2_2 = "I love eating pizza" | |
| display_result(2, sentence1_2, sentence2_2) | |
| print("="*60) | |
| # ----------------------- | |
| # Try your own examples! | |
| # ----------------------- | |
| # Uncomment and edit the sentences below to test your own custom examples: | |
| # user_sentence1 = "Your first sentence here." | |
| # user_sentence2 = "Your second sentence here." | |
| # display_result("USER", user_sentence1, user_sentence2) | |
| ``` | |
| # ------------------------------------------------------------ | |
| # How to call/use this model: | |
| # ------------------------------------------------------------ | |
| # 1. Make sure you have the saved model files in the directory 'optimized-bert-model' | |
| # 2. Run this script in your Python environment (with 'transformers' and 'torch' installed) | |
| # 3. Change the example sentences inside the code block above to your own inputs to test paraphrase detection | |
| # 4. The script prints whether the sentences are paraphrases and gives a confidence score | |
| # Sample Output: | |
| # ============================================================ | |
| # EXAMPLE 1 - Are these paraphrases? | |
| # ============================================================ | |
| # Sentence 1: The cat is sleeping on the mat | |
| # Sentence 2: The cat is napping on the mat | |
| # Prediction: YES (paraphrases) | |
| # Confidence: 0.9998 | |
| # | |
| # ============================================================ | |
| # EXAMPLE 2 - Are these paraphrases? | |
| # ============================================================ | |
| # Sentence 1: The dog is barking loudly | |
| # Sentence 2: I love eating pizza | |
| # Prediction: NO (not paraphrases) | |
| # Confidence: 0.9584 | |
| # ============================================================ |