CoolFace
Modelpublic

bilalzafar/IslamicBank-HCDi-RoBERTa

sourceHugging Facemitupdated 4mo agoView on Hugging Face
0likes9downloads
Model Card

IslamicBank-HCDi-RoBERTa

Model description

IslamicBank-HCDi-RoBERTa is a RoBERTa-based NLP transformer model fine-tuned to classify dimensions of human capital disclosure in Islamic banking. The model identifies whether a text segment is substantively related to human capital and assigns it to one of six human capital disclosure dimensions or to a separate Not related class.

The model is based on FacebookAI/roberta-base and was fine-tuned using a supervised seven-class text classification design. It is intended for research on human capital disclosure, Islamic banking, sustainability reporting, corporate disclosure, workforce disclosure and computational text analysis.


Labels and Training data

The model was fine-tuned on a labelled text classification dataset developed from Islamic banking disclosure text. Candidate text segments were extracted using a human capital lexicon and then classified into human capital disclosure dimensions.

The final labelled dataset contained 13,218 observations across seven classes:

Label IDClassNumber of observations
0Not related2,500
1Diversity, Equity, and Inclusion1,106
2Compensation and Benefits2,000
3Labour Relations and Organisational Culture2,000
4Health, Safety, and Well-being1,731
5Workforce Demographics1,881
6Training, Development, and Human Capital Investment2,000

The dataset was split using a stratified 80:10:10 train-validation-test design:

SplitNumber of observations
Training10,574
Validation1,322
Test1,322

Training procedure

The model was fine-tuned using the Hugging Face Transformers library.

ParameterValue
Base modelFacebookAI/roberta-base
TaskSupervised multi-class text classification
Number of labels7
Maximum sequence length128
Epochs5
Learning rate2e-5
Weight decay0.01
Loss functionClass-weighted cross-entropy
Train-validation-test split80:10:10
Selection metricValidation macro-F1
HardwareNVIDIA Tesla T4 GPU

Class-weighted cross-entropy loss was used to address class imbalance.

Evaluation results

The selected RoBERTa model achieved the following performance:

MetricValidationTest
Macro-F10.8950.890
Weighted-F10.8910.888
Accuracy0.8910.888

Class-wise test performance

Label IDClassPrecisionRecallF1-scoreSupport
0Not related0.8880.8520.869250
1Diversity, Equity, and Inclusion0.9170.9010.909111
2Compensation and Benefits0.9140.9550.934200
3Labour Relations and Organisational Culture0.8410.7950.817200
4Health, Safety, and Well-being0.9250.9250.925173
5Workforce Demographics0.8810.9040.892188
6Training, Development, and Human Capital Investment0.8660.9050.885200

Model comparison

Four transformer models were fine-tuned and compared under the same experimental setup.

ModelValidation Macro-F1Test Macro-F1Test Accuracy
RoBERTa base0.8950.8900.888
BERT base0.8940.8830.881
DeBERTa V3 base0.8550.8480.845
FinBERT pretrain0.8410.8520.849

RoBERTa base was selected because it achieved the highest validation macro-F1 and strongest overall test performance.


GitHub repository and related model

Pipeline notebooks, data preparation files, outputs and reproducible experiments are available on GitHub:

GitHub: bilalezafar/IslamicBank-HCDi-RoBERTa

A related binary human capital classifier is also available on Hugging Face. This model classifies text into two labels: HC and Non-HC.

Related model: bilalzafar/HC-BERT-IFIs


Citation

If you use this model, please cite:

bibtex
@misc{zafar2026_islamicbank_hcdi_roberta,
  title        = {IslamicBank-HCDi-RoBERTa: A Transformer Model for Classifying Dimensions of Human Capital Disclosure in Islamic Banking},
  author       = {Zafar, Muhammad Bilal},
  year         = {2026},
  publisher    = {Hugging Face},
  howpublished = {\url{https://huggingface.co/bilalzafar/IslamicBank-HCDi-RoBERTa}}
}

How to use

python
from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline

model_id = "bilalzafar/IslamicBank-HCDi-RoBERTa"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSequenceClassification.from_pretrained(model_id)

classifier = pipeline(
    "text-classification",
    model=model,
    tokenizer=tokenizer,
    top_k=None,
    truncation=True,
    max_length=128
)

text = "The Bank provides regular training programmes to enhance employees' professional and Shariah-related competencies."

predictions = classifier(text)

best_prediction = max(predictions[0], key=lambda x: x["score"])

print(f"Dimension: {best_prediction['label']} | Prediction score: {best_prediction['score']:.4f}")

# Output {Dimension: Training, Development, and Human Capital Investment | Prediction score: 0.9986}