Fill-Mask
Transformers
Safetensors
English
bert
domain-adaptation
religious-text
biblical-corpus
masked-language-modeling
nlp
text-classification
question-answering
sentence-similarity
Instructions to use LucasLicht/religion-bert with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use LucasLicht/religion-bert with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("fill-mask", model="LucasLicht/religion-bert")# Load model directly from transformers import AutoTokenizer, AutoModelForMaskedLM tokenizer = AutoTokenizer.from_pretrained("LucasLicht/religion-bert") model = AutoModelForMaskedLM.from_pretrained("LucasLicht/religion-bert") - Notebooks
- Google Colab
- Kaggle
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,199 +1,219 @@
|
|
| 1 |
---
|
| 2 |
library_name: transformers
|
| 3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
---
|
| 5 |
|
| 6 |
-
#
|
| 7 |
|
| 8 |
-
|
| 9 |
|
|
|
|
| 10 |
|
|
|
|
| 11 |
|
| 12 |
## Model Details
|
| 13 |
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
- **Finetuned from model [optional]:** [More Information Needed]
|
| 27 |
-
|
| 28 |
-
### Model Sources [optional]
|
| 29 |
-
|
| 30 |
-
<!-- Provide the basic links for the model. -->
|
| 31 |
|
| 32 |
-
-
|
| 33 |
-
- **Paper [optional]:** [More Information Needed]
|
| 34 |
-
- **Demo [optional]:** [More Information Needed]
|
| 35 |
-
|
| 36 |
-
## Uses
|
| 37 |
-
|
| 38 |
-
<!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
|
| 39 |
-
|
| 40 |
-
### Direct Use
|
| 41 |
|
| 42 |
-
|
| 43 |
|
| 44 |
-
|
| 45 |
|
| 46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
|
| 48 |
-
|
| 49 |
|
| 50 |
-
|
| 51 |
|
| 52 |
-
##
|
| 53 |
|
| 54 |
-
|
|
|
|
|
|
|
| 55 |
|
| 56 |
-
|
|
|
|
| 57 |
|
| 58 |
-
|
|
|
|
| 59 |
|
| 60 |
-
|
|
|
|
| 61 |
|
| 62 |
-
[
|
|
|
|
|
|
|
|
|
|
|
|
|
| 63 |
|
| 64 |
-
|
| 65 |
|
| 66 |
-
|
|
|
|
|
|
|
| 67 |
|
| 68 |
-
|
|
|
|
| 69 |
|
| 70 |
-
|
|
|
|
|
|
|
| 71 |
|
| 72 |
-
Use
|
|
|
|
|
|
|
| 73 |
|
| 74 |
-
|
| 75 |
|
| 76 |
## Training Details
|
| 77 |
|
| 78 |
-
### Training
|
| 79 |
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
[More Information Needed]
|
| 83 |
|
| 84 |
### Training Procedure
|
| 85 |
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 96 |
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
<!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
|
| 100 |
-
|
| 101 |
-
[More Information Needed]
|
| 102 |
|
| 103 |
## Evaluation
|
| 104 |
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
### Testing Data, Factors & Metrics
|
| 108 |
-
|
| 109 |
-
#### Testing Data
|
| 110 |
|
| 111 |
-
|
| 112 |
|
| 113 |
-
|
|
|
|
|
|
|
|
|
|
| 114 |
|
| 115 |
-
|
| 116 |
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
[More Information Needed]
|
| 120 |
-
|
| 121 |
-
#### Metrics
|
| 122 |
-
|
| 123 |
-
<!-- These are the evaluation metrics being used, ideally with a description of why. -->
|
| 124 |
-
|
| 125 |
-
[More Information Needed]
|
| 126 |
-
|
| 127 |
-
### Results
|
| 128 |
-
|
| 129 |
-
[More Information Needed]
|
| 130 |
-
|
| 131 |
-
#### Summary
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
## Model Examination [optional]
|
| 136 |
-
|
| 137 |
-
<!-- Relevant interpretability work for the model goes here -->
|
| 138 |
-
|
| 139 |
-
[More Information Needed]
|
| 140 |
-
|
| 141 |
-
## Environmental Impact
|
| 142 |
-
|
| 143 |
-
<!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
|
| 144 |
-
|
| 145 |
-
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
|
| 146 |
-
|
| 147 |
-
- **Hardware Type:** [More Information Needed]
|
| 148 |
-
- **Hours used:** [More Information Needed]
|
| 149 |
-
- **Cloud Provider:** [More Information Needed]
|
| 150 |
-
- **Compute Region:** [More Information Needed]
|
| 151 |
-
- **Carbon Emitted:** [More Information Needed]
|
| 152 |
-
|
| 153 |
-
## Technical Specifications [optional]
|
| 154 |
|
| 155 |
-
###
|
| 156 |
|
| 157 |
-
|
| 158 |
|
| 159 |
-
###
|
| 160 |
|
| 161 |
-
|
|
|
|
|
|
|
|
|
|
| 162 |
|
| 163 |
-
####
|
| 164 |
|
| 165 |
-
|
|
|
|
|
|
|
|
|
|
| 166 |
|
| 167 |
-
####
|
| 168 |
|
| 169 |
-
|
|
|
|
|
|
|
|
|
|
| 170 |
|
| 171 |
-
|
| 172 |
|
| 173 |
-
|
| 174 |
|
| 175 |
-
|
| 176 |
|
| 177 |
-
|
| 178 |
|
| 179 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 180 |
|
| 181 |
-
|
| 182 |
|
| 183 |
-
##
|
| 184 |
|
| 185 |
-
|
|
|
|
|
|
|
|
|
|
| 186 |
|
| 187 |
-
|
| 188 |
|
| 189 |
-
##
|
| 190 |
|
| 191 |
-
|
| 192 |
|
| 193 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 194 |
|
| 195 |
-
|
| 196 |
|
| 197 |
-
##
|
| 198 |
|
| 199 |
-
|
|
|
|
| 1 |
---
|
| 2 |
library_name: transformers
|
| 3 |
+
language:
|
| 4 |
+
- en
|
| 5 |
+
tags:
|
| 6 |
+
- bert
|
| 7 |
+
- domain-adaptation
|
| 8 |
+
- religious-text
|
| 9 |
+
- biblical-corpus
|
| 10 |
+
- masked-language-modeling
|
| 11 |
+
- nlp
|
| 12 |
+
- text-classification
|
| 13 |
+
- question-answering
|
| 14 |
+
- sentence-similarity
|
| 15 |
+
license: apache-2.0
|
| 16 |
+
base_model: bert-base-uncased
|
| 17 |
+
pipeline_tag: fill-mask
|
| 18 |
---
|
| 19 |
|
| 20 |
+
# ReligionBERT
|
| 21 |
|
| 22 |
+
ReligionBERT is a domain-adapted BERT model produced by continued masked language modelling (MLM) pre-training on the English Bible corpus. Starting from `bert-base-uncased`, the model was trained for 30,000 steps on 62,197 verses drawn from the King James Version and World English Bible translations. It is designed for downstream NLP tasks involving religious and biblical text, where general-purpose BERT models underperform due to archaic language, theological vocabulary, and long-range intertextual dependencies.
|
| 23 |
|
| 24 |
+
A companion multilingual model, [MultiReligionBERT](https://huggingface.co/LucasLicht/multi-religion-bert), covers 12 languages and supports cross-lingual zero-shot transfer for African language religious NLP.
|
| 25 |
|
| 26 |
+
---
|
| 27 |
|
| 28 |
## Model Details
|
| 29 |
|
| 30 |
+
| Field | Details |
|
| 31 |
+
|---|---|
|
| 32 |
+
| **Model type** | BERT (encoder-only, masked language model) |
|
| 33 |
+
| **Base model** | `bert-base-uncased` (109M parameters) |
|
| 34 |
+
| **Pre-training objective** | Continued MLM (15% token masking) |
|
| 35 |
+
| **Pre-training corpus** | English Bible (KJV + WEB), 62,197 verses |
|
| 36 |
+
| **Training steps** | 30,000 |
|
| 37 |
+
| **Final validation loss** | 1.164 |
|
| 38 |
+
| **Language** | English |
|
| 39 |
+
| **License** | Apache 2.0 |
|
| 40 |
+
| **Developed by** | Lucas Licht |
|
| 41 |
+
| **Institution** | Koforidua Technical University, Ghana |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
|
| 43 |
+
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 44 |
|
| 45 |
+
## Intended Use
|
| 46 |
|
| 47 |
+
ReligionBERT is intended for NLP tasks on religious and biblical text, including:
|
| 48 |
|
| 49 |
+
- **Semantic similarity** between Bible verses or passages
|
| 50 |
+
- **Book and section classification** of biblical text
|
| 51 |
+
- **Extractive question answering** over religious passages
|
| 52 |
+
- **Feature extraction** for downstream religious NLP pipelines
|
| 53 |
+
- **Masked language modelling** for biblical text generation and completion
|
| 54 |
|
| 55 |
+
It is not recommended for general-domain NLP tasks where `bert-base-uncased` is likely a stronger baseline.
|
| 56 |
|
| 57 |
+
---
|
| 58 |
|
| 59 |
+
## How to Get Started
|
| 60 |
|
| 61 |
+
```python
|
| 62 |
+
from transformers import AutoTokenizer, AutoModelForMaskedLM
|
| 63 |
+
import torch
|
| 64 |
|
| 65 |
+
tokenizer = AutoTokenizer.from_pretrained("LucasLicht/religion-bert")
|
| 66 |
+
model = AutoModelForMaskedLM.from_pretrained("LucasLicht/religion-bert")
|
| 67 |
|
| 68 |
+
text = "For God so loved the [MASK] that he gave his only begotten Son."
|
| 69 |
+
inputs = tokenizer(text, return_tensors="pt")
|
| 70 |
|
| 71 |
+
with torch.no_grad():
|
| 72 |
+
outputs = model(**inputs)
|
| 73 |
|
| 74 |
+
masked_index = (inputs["input_ids"] == tokenizer.mask_token_id).nonzero(as_tuple=True)[1]
|
| 75 |
+
logits = outputs.logits[0, masked_index]
|
| 76 |
+
predicted_token = tokenizer.decode(torch.argmax(logits, dim=-1))
|
| 77 |
+
print(predicted_token) # "world"
|
| 78 |
+
```
|
| 79 |
|
| 80 |
+
For sentence embeddings or downstream fine-tuning:
|
| 81 |
|
| 82 |
+
```python
|
| 83 |
+
from transformers import AutoTokenizer, AutoModel
|
| 84 |
+
import torch
|
| 85 |
|
| 86 |
+
tokenizer = AutoTokenizer.from_pretrained("LucasLicht/religion-bert")
|
| 87 |
+
model = AutoModel.from_pretrained("LucasLicht/religion-bert")
|
| 88 |
|
| 89 |
+
inputs = tokenizer("The Lord is my shepherd; I shall not want.", return_tensors="pt")
|
| 90 |
+
with torch.no_grad():
|
| 91 |
+
outputs = model(**inputs)
|
| 92 |
|
| 93 |
+
# Use CLS token as sentence representation
|
| 94 |
+
cls_embedding = outputs.last_hidden_state[:, 0, :]
|
| 95 |
+
```
|
| 96 |
|
| 97 |
+
---
|
| 98 |
|
| 99 |
## Training Details
|
| 100 |
|
| 101 |
+
### Pre-Training Corpus
|
| 102 |
|
| 103 |
+
The corpus was sourced from the [christos-c/bible-corpus](https://github.com/christos-c/bible-corpus) repository. All 66 books of the King James Version and World English Bible translations were extracted via XML parsing, yielding 62,197 verses.
|
|
|
|
|
|
|
| 104 |
|
| 105 |
### Training Procedure
|
| 106 |
|
| 107 |
+
| Hyperparameter | Value |
|
| 108 |
+
|---|---|
|
| 109 |
+
| Base model | `bert-base-uncased` |
|
| 110 |
+
| Training steps | 30,000 |
|
| 111 |
+
| Effective batch size | 32 (16 per device, 2 gradient accumulation steps) |
|
| 112 |
+
| Learning rate | 3e-5 (linear warmup, 500 steps) |
|
| 113 |
+
| Weight decay | 0.01 (AdamW) |
|
| 114 |
+
| MLM masking probability | 15% |
|
| 115 |
+
| Max sequence length | 128 tokens |
|
| 116 |
+
| Precision | FP16 mixed precision |
|
| 117 |
+
| Hardware | NVIDIA Tesla T4 / A100 (Google Colab) |
|
| 118 |
+
| Framework | HuggingFace Transformers 5.0.0 |
|
| 119 |
+
|
| 120 |
+
Training was conducted across multiple sessions with checkpoint recovery. A `PermanentDeleteCallback` retained only the two most recent checkpoints to prevent storage exhaustion. All metrics were logged to Weights and Biases.
|
| 121 |
+
|
| 122 |
+
### Training Loss Curve
|
| 123 |
+
|
| 124 |
+
| Step | Validation Loss |
|
| 125 |
+
|---|---|
|
| 126 |
+
| 500 | 1.806 |
|
| 127 |
+
| 5,000 | 1.451 |
|
| 128 |
+
| 10,000 | 1.339 |
|
| 129 |
+
| 15,000 | 1.272 |
|
| 130 |
+
| 20,000 | 1.204 |
|
| 131 |
+
| 25,000 | 1.156 |
|
| 132 |
+
| 28,500 | **1.129** (best) |
|
| 133 |
+
| 30,000 | 1.164 (final) |
|
| 134 |
|
| 135 |
+
---
|
|
|
|
|
|
|
|
|
|
|
|
|
| 136 |
|
| 137 |
## Evaluation
|
| 138 |
|
| 139 |
+
### Perplexity on Held-out Religious Text
|
|
|
|
|
|
|
|
|
|
|
|
|
| 140 |
|
| 141 |
+
Perplexity was computed on 500 held-out English Bible verses not seen during pre-training.
|
| 142 |
|
| 143 |
+
| Model | Perplexity (lower is better) |
|
| 144 |
+
|---|---|
|
| 145 |
+
| `bert-base-uncased` | 15.48 |
|
| 146 |
+
| **ReligionBERT** | **3.73** |
|
| 147 |
|
| 148 |
+
ReligionBERT achieves a **75.9% reduction** in perplexity, confirming successful domain alignment.
|
| 149 |
|
| 150 |
+
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 151 |
|
| 152 |
+
### Downstream Task Results
|
| 153 |
|
| 154 |
+
Three fine-tuning tasks were evaluated using three automatically constructed datasets. All results are on held-out test sets. ReligionBERT is compared to its generic baseline (`bert-base-uncased`).
|
| 155 |
|
| 156 |
+
#### Semantic Similarity (21,994 verse pairs)
|
| 157 |
|
| 158 |
+
| Model | Pearson | Spearman |
|
| 159 |
+
|---|---|---|
|
| 160 |
+
| bert-base-uncased | 0.9569 | 0.6556 |
|
| 161 |
+
| **ReligionBERT** | **0.9623** | **0.6591** |
|
| 162 |
|
| 163 |
+
#### Book Classification (7,726 samples, 66 classes)
|
| 164 |
|
| 165 |
+
| Model | Accuracy | Macro F1 |
|
| 166 |
+
|---|---|---|
|
| 167 |
+
| bert-base-uncased | 0.4075 | 0.3144 |
|
| 168 |
+
| **ReligionBERT** | **0.4347** | **0.3381** |
|
| 169 |
|
| 170 |
+
#### Extractive Question Answering (1,199 LLM-assisted examples)
|
| 171 |
|
| 172 |
+
| Model | Exact Match (%) | Token F1 (%) |
|
| 173 |
+
|---|---|---|
|
| 174 |
+
| bert-base-uncased | 32.50 | 58.91 |
|
| 175 |
+
| **ReligionBERT** | **40.00** | **60.48** |
|
| 176 |
|
| 177 |
+
ReligionBERT outperforms `bert-base-uncased` on **5 of 6 metrics**, with the strongest gain of **+7.50 Exact Match points** on extractive QA.
|
| 178 |
|
| 179 |
+
---
|
| 180 |
|
| 181 |
+
## Datasets
|
| 182 |
|
| 183 |
+
The three fine-tuning datasets used in this study are described below. They are derived automatically from the Bible corpus without manual annotation (except for the QA human verification step).
|
| 184 |
|
| 185 |
+
| Dataset | Task | Size | Notes |
|
| 186 |
+
|---|---|---|---|
|
| 187 |
+
| Verse Similarity | Semantic similarity (STS) | 21,994 pairs | Cross-translation and intra-corpus pairs; balanced subset 6,392 |
|
| 188 |
+
| Bible Book Classification | Text classification | 7,726 samples | 66 classes (all Bible books); 80/10/10 split |
|
| 189 |
+
| Bible QA | Extractive QA | 1,199 examples | LLM-assisted via Llama 3.3 70B; SQuAD v2 format; 100% human-verified quality |
|
| 190 |
|
| 191 |
+
---
|
| 192 |
|
| 193 |
+
## Limitations
|
| 194 |
|
| 195 |
+
- Pre-training is limited to the English Bible (KJV and WEB translations). Performance on other religious traditions (Quran, Vedas, Buddhist sutras) has not been evaluated.
|
| 196 |
+
- The model inherits biases present in `bert-base-uncased` and may reflect theological perspectives embedded in the King James Version.
|
| 197 |
+
- The QA fine-tuning dataset is relatively small (959 training examples); downstream QA performance may benefit from larger domain-specific QA datasets.
|
| 198 |
+
- The model is not intended for general-domain tasks.
|
| 199 |
|
| 200 |
+
---
|
| 201 |
|
| 202 |
+
## Citation
|
| 203 |
|
| 204 |
+
If you use this model, please cite:
|
| 205 |
|
| 206 |
+
```bibtex
|
| 207 |
+
@misc{licht2025religionbert,
|
| 208 |
+
title = {ReligionBERT: Domain-Adaptive Pre-Training of BERT on Biblical Corpora for Religious NLP Tasks},
|
| 209 |
+
author = {Licht, Lucas},
|
| 210 |
+
year = {2025},
|
| 211 |
+
note = {Koforidua Technical University, Ghana. Model available at https://huggingface.co/LucasLicht/religion-bert}
|
| 212 |
+
}
|
| 213 |
+
```
|
| 214 |
|
| 215 |
+
---
|
| 216 |
|
| 217 |
+
## Contact
|
| 218 |
|
| 219 |
+
For questions or collaboration, reach out via HuggingFace or GitHub: [@Licht005](https://github.com/Licht005)
|