CoolFace
Datasetpublic

rejauldu/bengali-wikipedia

πŸ“š Bengali Wikipedia Language Modeling Dataset (For GPT-2 Training) πŸ“ Dataset Summary This dataset contains a large Bengali text corpus collected from Bengali Wikipedia.It is cleaned, sentence-segmented, and formatted for next-token prediction language modeling tasks such as GPT-2 training. It includes train and validation splits, suitable for transformer-based Bengali language models. πŸ“Š Dataset Details Property Value Language Bengali… See the full description on the dataset page: https://huggingface.co/datasets/rejauldu/bengali-wikipedia.

sourceHugging Facecc-by-3.0updated 11mo agoView on Hugging Face
0likes69downloads
Dataset Card

πŸ“š Bengali Wikipedia Language Modeling Dataset (For GPT-2 Training)

πŸ“ Dataset Summary

This dataset contains a large Bengali text corpus collected from Bengali Wikipedia. It is cleaned, sentence-segmented, and formatted for next-token prediction language modeling tasks such as GPT-2 training.

It includes train and validation splits, suitable for transformer-based Bengali language models.


πŸ“Š Dataset Details

PropertyValue
LanguageBengali (বাংলা)
SourceBengali Wikipedia dump
Total Size~1.5 GB text
Total Articles178,286 articles processed
Task TypeCausal Language Modeling
FormatPlain text (.txt), UTF-8
LicenseCC BY-SA 3.0 (Wikipedia license)
Intended ModelsGPT-2, GPT-Neo, LLaMA-style autoregressive models

πŸ”§ Preprocessing

  • β€”Non-article/irrelevant pages removed (redirects, templates, etc.)
  • β€”Special markup cleaned (HTML/wiki tags)
  • β€”Kept Unicode Bengali characters with character coverage 0.9995
  • β€”Split into lines of clean sentences
  • β€”Tokenizer-friendly format (no artificial spaces)

πŸ”€ Dataset Splits

SplitPercentagePurpose
train90%Main LM training
validation10%Perplexity and tuning

Example code to load splits:

python
from datasets import load_dataset

dataset = load_dataset("rejauldu/bengali-wikipedia")
print(dataset)
print(dataset['train'][0])

🧩 Tokenization Recommendation

Suitable for training with:

βœ… SentencePiece β€” Unigram (recommended for pure Bengali) βœ… SentencePiece BPE β€” for mixed English-Bengali text βœ… GPT-2 Byte-Level BPE β€” if replicating original GPT-2 behavior

Example SP training config:

bash
spm_train \
  --input=bn_corpus_train.txt \
  --model_prefix=bn_unigram \
  --vocab_size=50000 \
  --model_type=unigram \
  --character_coverage=0.9995 \
  --user_defined_symbols=<bos>,<eos>,<pad>

βœ… Example Usage (for GPT-2 Fine-tuning)

python
from transformers import GPT2TokenizerFast, GPT2LMHeadModel, Trainer, TrainingArguments
from datasets import load_dataset

dataset = load_dataset("rejauldu/bengali-wikipedia")

tokenizer = GPT2TokenizerFast.from_pretrained("path/to/spiece/model")
tokenizer.pad_token = tokenizer.eos_token

def tokenize(batch):
    return tokenizer(batch["text"], truncation=True, padding="max_length", max_length=512)

dataset = dataset.map(tokenize, batched=True, num_proc=4)
dataset.set_format(type="torch", columns=["input_ids", "attention_mask"])

model = GPT2LMHeadModel.from_pretrained("gpt2")
model.resize_token_embeddings(len(tokenizer))

πŸ“Œ Ethical Considerations

  • β€”Text from Wikipedia may contain biases, outdated info, or culturally sensitive entities.
  • β€”Use responsibly; apply additional filtering for safety-critical deployments.

🏷️ Citation

If you use this dataset, please cite:

Wikipedia contributors. (CC BY-SA 3.0).
Bengali Wikipedia dump.
https://bn.wikipedia.org/