--- language: - en --- ### Model Description This model is a Binary classification model trained on the Liar 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. The model classifies the input text into 2 classes, True (Real News) or False (Fake News). The original labels include 'true', 'mostly-true', 'half-true', 'barely-true', 'false', and 'pants-fire'. In this custom mapping, statements labeled as 'true', 'mostly-true', and 'half-true' are all categorized as 'true', while 'barely-true', 'false', and 'pants-fire' are grouped under the 'false' category. This mapping simplifies the classification task into a binary problem, aiming to distinguish between truthful and non-truthful statements. 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 # Load the pre-trained model and tokenizer tokenizer = AutoTokenizer.from_pretrained( "Arjun24420/BERT-FakeNews-BinaryClassification") model = AutoModelForSequenceClassification.from_pretrained( "Arjun24420/BERT-FakeNews-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 = { 0: 'reliable', 1: 'unreliable', } ```