ArgueBot — Unified Argument Scheme & Fallacy Classifier

A fine-tuned RoBERTa-large model that classifies text into one of 24 categories: - 11 argument scheme types (valid argumentative patterns from Walton's taxonomy) - 13 logical fallacy types (common informal fallacies) The model determines both whether an argument is valid or fallacious and which specific type it is — in a single inference pass.

Model Details

Property Value
Base model roberta-large
Task 24-class text classification
Scheme classes 11
Fallacy classes 13
Datasets EthiX + Macagno (argument schemes), Fallacy dataset (13 types)
Epochs trained 5 (early stopping)
Best val metric 1.8465 (val_loss)

Labels

✅ Argument Schemes (valid arguments)

  • argument from alternatives
  • argument from analogy
  • argument from cause to effect
  • argument from commitment
  • argument from example
  • argument from expert opinion
  • argument from negative consequences
  • argument from positive consequences
  • argument from practical reasoning
  • argument from sign
  • argument from values

âš¡ Fallacy Types

  • ad hominem
  • ad populum
  • appeal to emotion
  • circular reasoning
  • equivocation
  • fallacy of credibility
  • fallacy of extension
  • fallacy of logic
  • fallacy of relevance
  • false causality
  • false dilemma
  • faulty generalization
  • intentional

How to Use

from transformers import RobertaTokenizer, RobertaForSequenceClassification
import torch, json
 
model_id = "your-username/arguebot-argument-fallacy-classifier"
tokenizer = RobertaTokenizer.from_pretrained(model_id)
model     = RobertaForSequenceClassification.from_pretrained(model_id)
model.eval()
 
# Load label metadata
import requests
meta      = requests.get(
    f"https://huggingface.co/{model_id}/resolve/main/metadata.json"
).json()
label_map    = {int(k): v for k, v in meta["label_map"].items()}
scheme_ids   = set(meta["scheme_ids"])
fallacy_ids  = set(meta["fallacy_ids"])
 
def predict(text):
    enc = tokenizer(text, return_tensors="pt",
                    truncation=True, max_length=128)
    with torch.no_grad():
        logits = model(**enc).logits
    probs   = torch.softmax(logits, dim=1).squeeze()
    pred_id = int(probs.argmax())
    label   = label_map[pred_id]
    verdict = "Valid Argument" if pred_id in scheme_ids else "Fallacy"
    return {
        "verdict":    verdict,
        "label":      label,
        "confidence": float(round(probs[pred_id].item(), 4)),
    }
 
print(predict("According to NASA, global temperatures will rise 2°C by 2050."))
# {'verdict': 'Valid Argument', 'label': 'argument from expert opinion', 'confidence': 0.94}
 
print(predict("Don't trust him — he was caught lying before."))
# {'verdict': 'Fallacy', 'label': 'ad hominem', 'confidence': 0.88}

Training Details

  • Deduplication: exact + near-duplicate removal, min 5 words per sample
  • Class balancing: sklearn compute_class_weight("balanced") + weighted cross-entropy loss
  • Batch strategy: custom InterleavedSampler alternates scheme/fallacy samples per batch
  • Early stopping: patience=3, min_delta=0.001, monitor=val_loss
  • Optimiser: AdamW, lr=3e-05, weight_decay=0.01
  • Scheduler: linear warmup (15% of steps)

Intended Uses

  • Debate analysis and argumentation quality assessment
  • Educational tools for teaching critical thinking and informal logic
  • AI-assisted fact-checking and media literacy tools
  • Research in computational argumentation

Limitations

  • Trained on English text only
  • Short texts (< 5 words) may produce unreliable predictions
  • Some fallacy types (e.g. intentional, equivocation) are harder to distinguish without broader context
  • Not suitable for legal or medical decision-making

Citation

If you use this model in your research, please cite: @misc{arguebot2025, title = {ArgueBot: Unified Argument Scheme and Fallacy Classification}, author = {Isabel}, year = {2025}, url = {https://huggingface.co/your-username/arguebot-argument-fallacy-classifier} }

Built with RoBERTa-large · EthiX + Macagno datasets · Walton's Argumentation Schemes

Downloads last month
24
Safetensors
Model size
0.4B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Evaluation results