|
## Model Details |
|
This model is a Binary classification model fine-tuned on the Fake and Real News Dataset using the BERT (bert-base-uncased) architecture. The primary task is to classify news articles into different categories, making it suitable for fake news detection. BERT (Bidirectional Encoder Representations from Transformers) is a transformer-based model known for its effectiveness in natural language processing tasks. |
|
|
|
It takes the title of the news article and classifies it into Reliable or Unreliable news. |
|
|
|
Bias: The model may inherit biases present in the training data, and it's important to be aware of potential biases in the predictions. |
|
|
|
## Code Implementation |
|
```python |
|
# Load model directly |
|
from transformers import AutoTokenizer, AutoModelForSequenceClassification |
|
|
|
tokenizer = AutoTokenizer.from_pretrained("Arjun24420/BERT-FakeOrReal-BinaryClassification") |
|
model = AutoModelForSequenceClassification.from_pretrained("Arjun24420/BERT-FakeOrReal-BinaryClassification") |
|
|
|
def predict(text): |
|
# Tokenize the input text and move tensors to the GPU if available |
|
inputs = tokenizer(text, padding=True, truncation=True, |
|
max_length=512, return_tensors="pt") |
|
|
|
# Get model output (logits) |
|
outputs = model(**inputs) |
|
|
|
probs = outputs.logits.softmax(1) |
|
# Get the probabilities for each class |
|
class_probabilities = {class_mapping[i]: probs[0, i].item() |
|
for i in range(probs.shape[1])} |
|
|
|
return class_probabilities |
|
|
|
# Define class labels mapping |
|
class_mapping = { |
|
1: 'Reliable', |
|
0: 'Unreliable', |
|
} |
|
|
|
``` |
|
|