BanGBook: A Multimodal Bengali Book Dataset for Genre Classification

Published: 14 July 2026| Version 1 | DOI: 10.17632/j5c43nfrnm.1
Contributors:
,
,

Description

BanGBook-2501 is a publicly available multimodal Bengali book dataset developed for automatic book genre classification. The dataset contains 2,501 Bengali books categorized into six genres: Adventure, Horror, Mystery, Religious, Romance, and Thriller. Each record includes three complementary modalities: the book title, plot summary, and cover image, enabling research in multimodal machine learning, natural language processing, computer vision, and information retrieval. The textual metadata were collected from publicly available Bengali online bookstores, while the corresponding book cover images were obtained from the respective product pages. The dataset was cleaned by removing duplicate records, validating Unicode text, and ensuring image integrity. It contains no missing textual information and includes cover images for all books. This dataset was developed to support reproducible research on Bengali book genre classification and serves as the benchmark dataset used in the accompanying research paper: "BanGBook: A Multimodal Bengali Book Genre Classification Benchmark Using TF-IDF and ResNet50 Features Across Classical Classifiers." Researchers can use this dataset for multimodal classification, text classification, image classification, feature fusion, transfer learning, benchmark evaluation, and other Bengali NLP and computer vision applications.

Files

Steps to reproduce

1. Download the dataset and extract all files. 2. The dataset contains book metadata (title and summary) together with the corresponding cover images. 3. Load the metadata file (.xlsx or .csv) using Python (Pandas). 4. Apply Unicode normalization (NFC), punctuation removal, and whitespace normalization to the textual fields. 5. Extract TF-IDF features from the title, summary, or combined title-summary text. 6. Resize cover images to 224×224 pixels and extract image embeddings using a pretrained ResNet50 model with global average pooling. 7. Construct unimodal and multimodal feature combinations (Title, Summary, Cover, Title+Summary, Title+Cover, Summary+Cover, and Title+Summary+Cover). 8. Split the dataset using an 80:20 stratified train-test split with random_state = 42. 9. Train the machine learning models (Naive Bayes, Logistic Regression, Linear SVM, Random Forest, and XGBoost). 10. Evaluate the models using Accuracy, Precision, Recall, Macro F1-score, ROC-AUC, and 5-fold cross-validation as described in the accompanying paper.

Institutions

Categories

Artificial Intelligence, Computer Vision, Natural Language Processing, Machine Learning

Licence