|
Download README.md from zacanadir/wsbt-sequence-classifier: direct link, hf CLI and curl.
- Browser
- Download file 3.42 kB
-
https://huggingface.co/zacanadir/wsbt-sequence-classifier/resolve/main/README.md
- Command line
-
hf download hf://zacanadir/wsbt-sequence-classifier/README.md
-
curl -L -o README.md https://huggingface.co/zacanadir/wsbt-sequence-classifier/resolve/main/README.md
3.42 kB
| # 🧠 BERT-based 4-Class News Classifier | |
| A fine-tuned [BERT-base-uncased](https://huggingface.co/bert-base-uncased) model for classifying news articles into four categories: **World**, **Sport**, **Business**, and **Science & Technology**. | |
| ## 📖 Model Overview | |
| This model adapts BERT for multi-class sequence classification. | |
| It was trained on a labeled news dataset with four categories and achieves strong performance on short text snippets such as news headlines or article summaries. | |
| | Label ID | Category | | |
| |-----------|-----------| | |
| | 0 | World | | |
| | 1 | Sport | | |
| | 2 | Business | | |
| | 3 | Science & Technology | | |
| ## ⚙️ Training Details | |
| - **Base model:** `bert-base-uncased` | |
| - **Task:** Sequence classification (4 classes) | |
| - **Training environment:** Google Colab (T4 GPU) | |
| - **Max sequence length:** 200 | |
| - **Batch size:** 8 | |
| - **Epochs:** 3 | |
| - **Optimizer:** AdamW (lr=2e-5) | |
| - **Framework:** PyTorch + 🤗 Transformers Trainer API | |
| The dataset was tokenized using `AutoTokenizer` with truncation and dynamic padding enabled. | |
| Model and tokenizer were saved using `save_pretrained()` and uploaded to the Hugging Face Hub. | |
| ## 🧩 Usage | |
| You can load and use the model directly with the 🤗 Transformers library: | |
| ```python | |
| from transformers import AutoTokenizer, AutoModelForSequenceClassification | |
| import torch | |
| # Load model from the Hub | |
| model_name = "zacanadir/wsbt-sequence-classifier" | |
| tokenizer = AutoTokenizer.from_pretrained(model_name) | |
| model = AutoModelForSequenceClassification.from_pretrained(model_name) | |
| MAX_LENGTH = 200 | |
| def predict_text(text_list): | |
| encodings = tokenizer( | |
| text_list, | |
| padding=True, | |
| truncation=True, | |
| max_length=MAX_LENGTH, | |
| return_tensors="pt" | |
| ).to(model.device) | |
| model.eval() | |
| with torch.no_grad(): | |
| outputs = model(**encodings) | |
| preds = torch.argmax(outputs.logits, dim=-1) | |
| return preds.tolist() | |
| # Example | |
| sample_texts = [ | |
| "Nvidia becomes the first chipmaker to top $5 trillion in market value.", | |
| "The Raja of Casablanca advances to the semi final of the African Champions' League." | |
| ] | |
| label_to_category = { | |
| 0: "World", | |
| 1: "Sport", | |
| 2: "Business", | |
| 3: "Science & Technology" | |
| } | |
| preds = predict_text(sample_texts) | |
| predicted_categories = [label_to_category[int(i)] for i in preds] | |
| print(predicted_categories) | |
| 🧾 Output Example | |
| ['Business', 'Sport'] | |
| 🚀 How to Reuse / Fine-tune Further | |
| If you’d like to fine-tune this model on your own dataset: | |
| from transformers import Trainer, TrainingArguments, AutoTokenizer, AutoModelForSequenceClassification | |
| from datasets import load_dataset | |
| tokenizer = AutoTokenizer.from_pretrained("zacanadir/wsbt-sequence-classifier") | |
| model = AutoModelForSequenceClassification.from_pretrained("zacanadir/wsbt-sequence-classifier", num_labels=4) | |
| # Load your dataset and fine-tune | |
| 📦 Files Included | |
| File Description | |
| config.json Model architecture & label mapping | |
| pytorch_model.bin Trained weights | |
| tokenizer.json, vocab.txt, special_tokens_map.json Tokenizer files | |
| training_args.bin Trainer configuration (epochs, LR, etc.) | |
| ✨ Acknowledgements | |
| Hugging Face Transformers | |
| Google Colab for free GPU training | |
| PyTorch | |
| Trained and deployed with ❤️ using Hugging Face and Google Colab. |