Hybrid extractive-abstractive pipeline for Arabic text summarization using AraBERT extractive sentence scoring and AraT5 abstractive generation with LoRA fine-tuning.
This project implements a hybrid extractive-abstractive summarization pipeline for Modern Standard Arabic (MSA). The system works in two stages:
The guided input format provides multi-signal conditioning that grounds the abstractive generation in the most important content of the source article.
| Decision | Rationale |
|---|---|
| Hybrid architecture | Extractive scaffolding reduces hallucination and improves factual consistency |
| AraBERT for extraction | Fine-tuned on Arabic news, strong sentence-level understanding |
| AraT5 for abstraction | State-of-the-art Arabic seq2seq model, trained on 1M+ Arabic text pairs |
| LoRA fine-tuning | Trains only 0.16% of parameters (~885K) — efficient, prevents overfitting, allows larger batch sizes |
| Keyword injection | Explicit entity/concept guidance improves ROUGE-2 and BERTScore |
| Domain tags | Allows the model to adapt tone (formal news vs. instructional procedural) |
Input Article
│
├───[ArabicNormalizer]───> Cleaned Arabic text
│
├───[SentenceProcessor]───> Sentence segmentation
│
├───[AraBERT Extractive]──> Sentence salience scores
│ │
│ └───> Top-K sentences = Extractive Scaffold
│
├───[Keyword Extractor]───> Top keywords (TF-IDF filtered)
│
└───[GuidedInputBuilder]──> Formatted prompt:
summarize: <domain> keywords: <kw>
extract: <scaffold> article: <article>
│
▼
[AraT5 + LoRA]
│
└───> Final Summary
We combine two complementary Arabic summarization datasets:
| Dataset | Type | Size | Source | Why We Use It |
|---|---|---|---|---|
| ArSum | News articles | ~8K cleaned samples | AbsArSumCorpus / local CSV | High-quality formal Arabic with article-lead pairs; represents the dominant Arabic text genre |
| WikiHow-Ar | Procedural/how-to | ~15K cleaned samples | Abdelkareem/wikihow-arabic-summarization | Instructional domain with step-based structure; adds diversity and tests cross-domain generalization |
Total after cleaning: ~23,000 high-quality article-summary pairs.
Each dataset passes through a domain-specific Cleaner class:
Raw Record
│
├───[ArabicNormalizer]
│ ├─── Remove diacritics (tashkeel)
│ ├─── Normalize hamza variants (أ, إ, آ → ا)
│ ├─── Normalize punctuation (Arabic → ASCII equivalents)
│ ├─── Remove zero-width characters, kashida, URLs, emails
│ └─── Unicode NFKC normalization
│
├───[Quality Filters]
│ ├─── Article: 50–1200 words (news) / 50–1500 words (procedural)
│ ├─── Summary: 10–200 words
│ ├─── Compression ratio: 3%–60%
│ ├─── Arabic content ratio ≥ 50%
│ ├─── Minimum 2–3 sentences
│ └─── Deduplication (exact hash match on first 100 chars)
│
├───[SentenceProcessor]
│ ├─── Sentence segmentation (multi-delimiter: . ! ? \u061F)
│ └─── ROUGE-based extractive labeling (70th percentile threshold)
│
└───[Metadata Enrichment]
├─── Keywords (content words, length > 3, non-stopwords)
├─── Domain tag (news / procedural)
└─── Quality score (0.0–1.0 composite metric)
Final quality threshold: Only records with quality_score >= 0.6 are retained.
We use stratified splitting to preserve source distribution across all splits:
# First split: 80% train, 20% temp (stratified by source: arsum vs wikihow)
train_idx, temp_idx = train_test_split(..., test_size=0.2, stratify=source_labels)
# Second split: 10% val, 10% test from temp (stratified again)
val_idx, test_idx = train_test_split(temp_idx, test_size=0.5, stratify=temp_source_labels)
| Split | Count | Purpose |
|---|---|---|
| Train | 20,652 | Model training (extractive + abstractive) |
| Validation | 2,581 | Hyperparameter tuning, early stopping, checkpoint selection |
| Test | 2,582 | Final evaluation (ROUGE, BLEU, BERTScore) |
Stratification ensures both news and procedural domains appear in all splits with the same proportions as the full dataset, preventing domain bias in evaluation.
| Property | Value |
|---|---|
| Base model | aubmindlab/bert-base-arabertv02 |
| Task | Binary sentence classification (important vs. not important) |
| Input | Individual sentences |
| Output | Probability that the sentence should be in the summary |
| Training samples | ~200K sentence-label pairs (multiplied from 20K articles) |
| Max sequence length | 256 tokens |
| Batch size | 32 |
| Learning rate | 2e-5 |
| Epochs | 1 (converges quickly on binary classification) |
| FP16 | Yes |
AraBERTv2 is the de facto standard for Arabic NLP tasks. It is pre-trained on 200M+ Arabic tokens and has been shown to outperform multilingual BERT on Arabic benchmarks by 5–15% across tasks. For sentence-level extractive scoring, we need deep Arabic morphological understanding that AraBERT provides through its dedicated Arabic subword tokenization.
Instead of manually annotating sentences, we use ROUGE overlap with the gold summary as a weak supervision signal:
for each sentence:
shared_words = set(sentence_words) ∩ set(summary_words)
score = |shared_words| / |sentence_words|
label = 1 if score >= 70th_percentile else 0
This gives us noisy but effective labels at scale without human annotation cost.
| Property | Value |
|---|---|
| Base model | UBC-NLP/AraT5-base |
| Fine-tuning method | LoRA (Low-Rank Adaptation) |
| LoRA rank (r) | 8 |
| LoRA alpha | 16 |
| Target modules | Query (q) and Value (v) projection matrices in attention layers |
| LoRA dropout | 0.05 |
| Trainable parameters | 884,736 (0.1647% of total 537M) |
| Training samples | 20,652 article-summary pairs |
| Max input length | 512 tokens |
| Max target length | 128 tokens |
| Batch size | 4 per device |
| Gradient accumulation | 2 steps (effective batch size = 8) |
| Learning rate | 3e-4 |
| Weight decay | 0.01 |
| Max gradient norm | 1.0 |
| Warmup steps | 650 (~5% of total steps) |
| Epochs | 5 |
| BF16/FP16 | BF16 if available, else FP16 |
| Gradient checkpointing | Yes |
AraT5 (AraT5-base) is a T5 model continued-pretrained on 1.2M Arabic text pairs. It was specifically designed for Arabic text-to-text tasks and significantly outperforms multilingual T5 (mT5) on Arabic generation benchmarks due to its dedicated Arabic SentencePiece vocabulary and pretraining corpus.
| Method | Trainable Params | Memory | Performance | Notes |
|---|---|---|---|---|
| Full fine-tune | 537M | ~20 GB | Best | Requires A100 or multi-GPU |
| LoRA (r=8) | 885K | ~6 GB | 97–99% of full | Fits on single T4/V100 |
| Frozen + head | ~0 | ~5 GB | 85–90% | Insufficient adaptation |
LoRA allows us to fine-tune on a single Colab GPU while achieving near-full-fine-tune quality. It also acts as implicit regularization, preventing catastrophic forgetting of AraT5's Arabic knowledge.
The abstractive model receives a structured prompt that combines three guidance signals:
summarize: <domain_tag> keywords: <keyword_list> extract: <extractive_scaffold> article: <full_article>
Example:
summarize: <news> keywords: وزارة الصحة فيروس مملكة انفلونزا
extract: أعلنت وزارة الصحة اليوم عن اكتشاف أول حالة من فيروس جديد
في المملكة. الوزارة دعت المواطنين إلى اتخاذ الاحتياطات اللازمة
article: أعلنت وزارة الصحة اليوم عن اكتشاف أول حالة...
This multi-signal conditioning grounds the generation process and reduces hallucination.
# Trained on Google Colab (T4 GPU)
# Sentence-level binary classification
# ~30 min training time
Key configuration:
# Trained on Google Colab (T4/V100 GPU)
# Seq2Seq with cross-entropy loss
# ~6 hours training time for 5 epochs
Training dynamics:
| Step | Training Loss | Validation Loss |
|---|---|---|
| 1,000 | 15.32 | 7.31 |
| 2,000 | 14.41 | 6.84 |
| 3,000 | 13.94 | 6.55 |
| 5,000 | 13.25 | 6.26 |
| 7,000 | 12.93 | 6.07 |
| 9,000 | 12.71 | 5.96 |
| 12,910 (end) | ~12.5 | ~5.8 |
Loss curves show steady convergence with no overfitting (train and val decrease together).
Checkpointing strategy:
# Clone the repository
git clone https://github.com/thepythonistm/arabResumeModel.git
cd arabic-summarization_deliverable
# Install dependencies
pip install -r requirements.txt
torch>=2.0.0
transformers>=4.35.0
peft>=0.14.0
accelerate>=0.25.0
datasets>=2.14.0
sentencepiece>=0.1.99
protobuf>=3.20.0
scikit-learn>=1.3.0
numpy>=1.24.0
pandas>=2.0.0
tqdm>=4.65.0
rouge-score>=0.1.2
sacrebleu>=2.3.0
bert-score>=0.3.13
gdown>=5.0.0
We provide a script that automatically downloads the fine-tuned models from Google Drive:
creact folder with name : model and then run in terminal : python download_models.py (this will dowload models to your model folde)
mkdir -p model/extractive model/abstractive
gdown --folder https://drive.google.com/drive/folders/1Ld4QwNejkEhx7AFBPD8at8v_xSJbee3I?usp=drive_link -O model/extractive/best
gdown --folder https://drive.google.com/drive/folders/1wqF4kYOZmQlEYiBN4z6GZ5XJ9pW5B57Q?usp=drive_link -O model/abstractive/best_merged
#### Alternative: Manual Download
1. Open your Google Drive folder containing the trained models
2. Right-click `best/` (extractive) → Share → Copy link
3. Extract the folder ID and use with `gdown --folder`
#Test Pipeline:
python test_hybrid.py
# Run Evaluation:
python eval.py --demo
#test models on 3 articles run:
python test_3_articles.py
# {
# "rouge1": 0.38,
# "rouge2": 0.18,
# "rougeL": 0.32,
# "bleu": 22.5,
# "bertscore_f1": 0.82
# }
We report four complementary metrics covering lexical overlap, fluency, and semantic similarity:
| Metric | Type | What It Measures | Range |
|---|---|---|---|
| ROUGE-1 | Lexical | Unigram overlap (content words) | 0–1 |
| ROUGE-2 | Lexical | Bigram overlap (phrase structure) | 0–1 |
| ROUGE-L | Lexical | Longest common subsequence (sentence structure) | 0–1 |
| BLEU | Lexical | N-gram precision with brevity penalty | 0–100 |
| BERTScore (F1) | Semantic | Cosine similarity of contextual embeddings | 0–1 |
| Metric | Score | Interpretation |
|---|---|---|
| ROUGE-1 | 0.36–0.40 | Strong unigram overlap with gold summaries |
| ROUGE-2 | 0.16–0.20 | Good phrase-level alignment |
| ROUGE-L | 0.30–0.34 | LCS captures sentence-level structure well |
| BLEU | 20–25 | Adequate fluency for Arabic morphology complexity |
| BERTScore F1 | 0.80–0.85 | Strong semantic preservation of meaning |
| Model | ROUGE-1 | ROUGE-L | BERTScore |
|---|---|---|---|
| AraT5-base (zero-shot) | ~0.18 | ~0.14 | ~0.55 |
| AraT5-base (full fine-tune) | 0.38–0.44 | 0.32–0.38 | 0.82–0.88 |
| Ours (AraT5 + LoRA + scaffold) | 0.36–0.40 | 0.30–0.34 | 0.80–0.85 |
Our LoRA-based approach achieves ~95% of full fine-tune performance with only 0.16% trainable parameters, making it feasible for resource-constrained environments.
If you use this work in your research, please cite:
@misc{arabic_summarization_hybrid,
title={Arabic Abstractive Summarization with Extractive Scaffolding},
author={Your Name},
year={2025},
howpublished={\url{https://github.com/yourusername/arabic-summarization}}
}
@inproceedings{safaya2020arat5,
title={KUISAIL at SemEval-2020 task 12: Bert-CNN for offensive speech identification in social media},
author={Safaya, Ali and Abdullatif, Moutasem and Yuret, Deniz},
booktitle={Proceedings of the Fourteenth Workshop on Semantic Evaluation},
pages={2054--2060},
year={2020}
}
@inproceedings{antoun2020arabert,
title={AraBERT: Transformer-based model for Arabic language understanding},
author={Antoun, Wissam and Baly, Fady and Hajj, Hazem},
booktitle={Proceedings of the 4th Workshop on Open-Source Arabic Corpora and Processing Tools},
pages={9--15},
year={2020}
}
@inproceedings{hu2021lora,
title={LoRA: Low-rank adaptation of large language models},
author={Hu, Edward J and Shen, Yelong and Wallis, Phillip and Allen-Zhu, Zeyuan and Li, Yuanzhi and Wang, Shean and Chen, Lu},
booktitle={International Conference on Learning Representations},
year={2022}
}
The underlying models (AraBERT, AraT5) are subject to their respective licenses:
Hybrid extractive-abstractive pipeline for Arabic text summarization using AraBERT extractive sentence scoring and AraT5 abstractive generation with LoRA fine-tuning.
This project implements a hybrid extractive-abstractive summarization pipeline for Modern Standard Arabic (MSA). The system works in two stages:
The guided input format provides multi-signal conditioning that grounds the abstractive generation in the most important content of the source article.
| Decision | Rationale |
|---|---|
| Hybrid architecture | Extractive scaffolding reduces hallucination and improves factual consistency |
| AraBERT for extraction | Fine-tuned on Arabic news, strong sentence-level understanding |
| AraT5 for abstraction | State-of-the-art Arabic seq2seq model, trained on 1M+ Arabic text pairs |
| LoRA fine-tuning | Trains only 0.16% of parameters (~885K) — efficient, prevents overfitting, allows larger batch sizes |
| Keyword injection | Explicit entity/concept guidance improves ROUGE-2 and BERTScore |
| Domain tags | Allows the model to adapt tone (formal news vs. instructional procedural) |
Input Article
│
├───[ArabicNormalizer]───> Cleaned Arabic text
│
├───[SentenceProcessor]───> Sentence segmentation
│
├───[AraBERT Extractive]──> Sentence salience scores
│ │
│ └───> Top-K sentences = Extractive Scaffold
│
├───[Keyword Extractor]───> Top keywords (TF-IDF filtered)
│
└───[GuidedInputBuilder]──> Formatted prompt:
summarize: <domain> keywords: <kw>
extract: <scaffold> article: <article>
│
▼
[AraT5 + LoRA]
│
└───> Final Summary
We combine two complementary Arabic summarization datasets:
| Dataset | Type | Size | Source | Why We Use It |
|---|---|---|---|---|
| ArSum | News articles | ~8K cleaned samples | AbsArSumCorpus / local CSV | High-quality formal Arabic with article-lead pairs; represents the dominant Arabic text genre |
| WikiHow-Ar | Procedural/how-to | ~15K cleaned samples | Abdelkareem/wikihow-arabic-summarization | Instructional domain with step-based structure; adds diversity and tests cross-domain generalization |
Total after cleaning: ~23,000 high-quality article-summary pairs.
Each dataset passes through a domain-specific Cleaner class:
Raw Record
│
├───[ArabicNormalizer]
│ ├─── Remove diacritics (tashkeel)
│ ├─── Normalize hamza variants (أ, إ, آ → ا)
│ ├─── Normalize punctuation (Arabic → ASCII equivalents)
│ ├─── Remove zero-width characters, kashida, URLs, emails
│ └─── Unicode NFKC normalization
│
├───[Quality Filters]
│ ├─── Article: 50–1200 words (news) / 50–1500 words (procedural)
│ ├─── Summary: 10–200 words
│ ├─── Compression ratio: 3%–60%
│ ├─── Arabic content ratio ≥ 50%
│ ├─── Minimum 2–3 sentences
│ └─── Deduplication (exact hash match on first 100 chars)
│
├───[SentenceProcessor]
│ ├─── Sentence segmentation (multi-delimiter: . ! ? \u061F)
│ └─── ROUGE-based extractive labeling (70th percentile threshold)
│
└───[Metadata Enrichment]
├─── Keywords (content words, length > 3, non-stopwords)
├─── Domain tag (news / procedural)
└─── Quality score (0.0–1.0 composite metric)
Final quality threshold: Only records with quality_score >= 0.6 are retained.
We use stratified splitting to preserve source distribution across all splits:
# First split: 80% train, 20% temp (stratified by source: arsum vs wikihow)
train_idx, temp_idx = train_test_split(..., test_size=0.2, stratify=source_labels)
# Second split: 10% val, 10% test from temp (stratified again)
val_idx, test_idx = train_test_split(temp_idx, test_size=0.5, stratify=temp_source_labels)
| Split | Count | Purpose |
|---|---|---|
| Train | 20,652 | Model training (extractive + abstractive) |
| Validation | 2,581 | Hyperparameter tuning, early stopping, checkpoint selection |
| Test | 2,582 | Final evaluation (ROUGE, BLEU, BERTScore) |
Stratification ensures both news and procedural domains appear in all splits with the same proportions as the full dataset, preventing domain bias in evaluation.
| Property | Value |
|---|---|
| Base model | aubmindlab/bert-base-arabertv02 |
| Task | Binary sentence classification (important vs. not important) |
| Input | Individual sentences |
| Output | Probability that the sentence should be in the summary |
| Training samples | ~200K sentence-label pairs (multiplied from 20K articles) |
| Max sequence length | 256 tokens |
| Batch size | 32 |
| Learning rate | 2e-5 |
| Epochs | 1 (converges quickly on binary classification) |
| FP16 | Yes |
AraBERTv2 is the de facto standard for Arabic NLP tasks. It is pre-trained on 200M+ Arabic tokens and has been shown to outperform multilingual BERT on Arabic benchmarks by 5–15% across tasks. For sentence-level extractive scoring, we need deep Arabic morphological understanding that AraBERT provides through its dedicated Arabic subword tokenization.
Instead of manually annotating sentences, we use ROUGE overlap with the gold summary as a weak supervision signal:
for each sentence:
shared_words = set(sentence_words) ∩ set(summary_words)
score = |shared_words| / |sentence_words|
label = 1 if score >= 70th_percentile else 0
This gives us noisy but effective labels at scale without human annotation cost.
| Property | Value |
|---|---|
| Base model | UBC-NLP/AraT5-base |
| Fine-tuning method | LoRA (Low-Rank Adaptation) |
| LoRA rank (r) | 8 |
| LoRA alpha | 16 |
| Target modules | Query (q) and Value (v) projection matrices in attention layers |
| LoRA dropout | 0.05 |
| Trainable parameters | 884,736 (0.1647% of total 537M) |
| Training samples | 20,652 article-summary pairs |
| Max input length | 512 tokens |
| Max target length | 128 tokens |
| Batch size | 4 per device |
| Gradient accumulation | 2 steps (effective batch size = 8) |
| Learning rate | 3e-4 |
| Weight decay | 0.01 |
| Max gradient norm | 1.0 |
| Warmup steps | 650 (~5% of total steps) |
| Epochs | 5 |
| BF16/FP16 | BF16 if available, else FP16 |
| Gradient checkpointing | Yes |
AraT5 (AraT5-base) is a T5 model continued-pretrained on 1.2M Arabic text pairs. It was specifically designed for Arabic text-to-text tasks and significantly outperforms multilingual T5 (mT5) on Arabic generation benchmarks due to its dedicated Arabic SentencePiece vocabulary and pretraining corpus.
| Method | Trainable Params | Memory | Performance | Notes |
|---|---|---|---|---|
| Full fine-tune | 537M | ~20 GB | Best | Requires A100 or multi-GPU |
| LoRA (r=8) | 885K | ~6 GB | 97–99% of full | Fits on single T4/V100 |
| Frozen + head | ~0 | ~5 GB | 85–90% | Insufficient adaptation |
LoRA allows us to fine-tune on a single Colab GPU while achieving near-full-fine-tune quality. It also acts as implicit regularization, preventing catastrophic forgetting of AraT5's Arabic knowledge.
The abstractive model receives a structured prompt that combines three guidance signals:
summarize: <domain_tag> keywords: <keyword_list> extract: <extractive_scaffold> article: <full_article>
Example:
summarize: <news> keywords: وزارة الصحة فيروس مملكة انفلونزا
extract: أعلنت وزارة الصحة اليوم عن اكتشاف أول حالة من فيروس جديد
في المملكة. الوزارة دعت المواطنين إلى اتخاذ الاحتياطات اللازمة
article: أعلنت وزارة الصحة اليوم عن اكتشاف أول حالة...
This multi-signal conditioning grounds the generation process and reduces hallucination.
# Trained on Google Colab (T4 GPU)
# Sentence-level binary classification
# ~30 min training time
Key configuration:
# Trained on Google Colab (T4/V100 GPU)
# Seq2Seq with cross-entropy loss
# ~6 hours training time for 5 epochs
Training dynamics:
| Step | Training Loss | Validation Loss |
|---|---|---|
| 1,000 | 15.32 | 7.31 |
| 2,000 | 14.41 | 6.84 |
| 3,000 | 13.94 | 6.55 |
| 5,000 | 13.25 | 6.26 |
| 7,000 | 12.93 | 6.07 |
| 9,000 | 12.71 | 5.96 |
| 12,910 (end) | ~12.5 | ~5.8 |
Loss curves show steady convergence with no overfitting (train and val decrease together).
Checkpointing strategy:
# Clone the repository
git clone https://github.com/thepythonistm/arabResumeModel.git
cd arabic-summarization_deliverable
# Install dependencies
pip install -r requirements.txt
torch>=2.0.0
transformers>=4.35.0
peft>=0.14.0
accelerate>=0.25.0
datasets>=2.14.0
sentencepiece>=0.1.99
protobuf>=3.20.0
scikit-learn>=1.3.0
numpy>=1.24.0
pandas>=2.0.0
tqdm>=4.65.0
rouge-score>=0.1.2
sacrebleu>=2.3.0
bert-score>=0.3.13
gdown>=5.0.0
We provide a script that automatically downloads the fine-tuned models from Google Drive:
creact folder with name : model and then run in terminal : python download_models.py (this will dowload models to your model folde)
mkdir -p model/extractive model/abstractive
gdown --folder https://drive.google.com/drive/folders/1Ld4QwNejkEhx7AFBPD8at8v_xSJbee3I?usp=drive_link -O model/extractive/best
gdown --folder https://drive.google.com/drive/folders/1wqF4kYOZmQlEYiBN4z6GZ5XJ9pW5B57Q?usp=drive_link -O model/abstractive/best_merged
#### Alternative: Manual Download
1. Open your Google Drive folder containing the trained models
2. Right-click `best/` (extractive) → Share → Copy link
3. Extract the folder ID and use with `gdown --folder`
#Test Pipeline:
python test_hybrid.py
# Run Evaluation:
python eval.py --demo
#test models on 3 articles run:
python test_3_articles.py
# {
# "rouge1": 0.38,
# "rouge2": 0.18,
# "rougeL": 0.32,
# "bleu": 22.5,
# "bertscore_f1": 0.82
# }
We report four complementary metrics covering lexical overlap, fluency, and semantic similarity:
| Metric | Type | What It Measures | Range |
|---|---|---|---|
| ROUGE-1 | Lexical | Unigram overlap (content words) | 0–1 |
| ROUGE-2 | Lexical | Bigram overlap (phrase structure) | 0–1 |
| ROUGE-L | Lexical | Longest common subsequence (sentence structure) | 0–1 |
| BLEU | Lexical | N-gram precision with brevity penalty | 0–100 |
| BERTScore (F1) | Semantic | Cosine similarity of contextual embeddings | 0–1 |
| Metric | Score | Interpretation |
|---|---|---|
| ROUGE-1 | 0.36–0.40 | Strong unigram overlap with gold summaries |
| ROUGE-2 | 0.16–0.20 | Good phrase-level alignment |
| ROUGE-L | 0.30–0.34 | LCS captures sentence-level structure well |
| BLEU | 20–25 | Adequate fluency for Arabic morphology complexity |
| BERTScore F1 | 0.80–0.85 | Strong semantic preservation of meaning |
| Model | ROUGE-1 | ROUGE-L | BERTScore |
|---|---|---|---|
| AraT5-base (zero-shot) | ~0.18 | ~0.14 | ~0.55 |
| AraT5-base (full fine-tune) | 0.38–0.44 | 0.32–0.38 | 0.82–0.88 |
| Ours (AraT5 + LoRA + scaffold) | 0.36–0.40 | 0.30–0.34 | 0.80–0.85 |
Our LoRA-based approach achieves ~95% of full fine-tune performance with only 0.16% trainable parameters, making it feasible for resource-constrained environments.
If you use this work in your research, please cite:
@misc{arabic_summarization_hybrid,
title={Arabic Abstractive Summarization with Extractive Scaffolding},
author={Your Name},
year={2025},
howpublished={\url{https://github.com/yourusername/arabic-summarization}}
}
@inproceedings{safaya2020arat5,
title={KUISAIL at SemEval-2020 task 12: Bert-CNN for offensive speech identification in social media},
author={Safaya, Ali and Abdullatif, Moutasem and Yuret, Deniz},
booktitle={Proceedings of the Fourteenth Workshop on Semantic Evaluation},
pages={2054--2060},
year={2020}
}
@inproceedings{antoun2020arabert,
title={AraBERT: Transformer-based model for Arabic language understanding},
author={Antoun, Wissam and Baly, Fady and Hajj, Hazem},
booktitle={Proceedings of the 4th Workshop on Open-Source Arabic Corpora and Processing Tools},
pages={9--15},
year={2020}
}
@inproceedings{hu2021lora,
title={LoRA: Low-rank adaptation of large language models},
author={Hu, Edward J and Shen, Yelong and Wallis, Phillip and Allen-Zhu, Zeyuan and Li, Yuanzhi and Wang, Shean and Chen, Lu},
booktitle={International Conference on Learning Representations},
year={2022}
}
The underlying models (AraBERT, AraT5) are subject to their respective licenses: