FatimahEmadEldin commited on
Commit
c80bc5b
Β·
verified Β·
1 Parent(s): ea1a330

Align card with camera-ready paper: title, authors, official test results; mark as development-phase checkpoint

Browse files
Files changed (1) hide show
  1. README.md +204 -171
README.md CHANGED
@@ -1,171 +1,204 @@
1
- ---
2
- language: ar
3
- license: apache-2.0
4
- tags:
5
- - arabic
6
- - ner
7
- - nested-ner
8
- - wojood
9
- - konooz
10
- - knowledgegrapheval-2026
11
- - arabicnlp-2026
12
- - adaptner
13
- - experiments
14
- - reproducibility
15
- ---
16
-
17
- # NAMAA Community β€” KnowledgeGraphEval 2026 AdaptNER: Experiments
18
-
19
- **KnowledgeGraphEval 2026 Β· Subtask 1 (AdaptNER) Β· ArabicNLP 2026**
20
-
21
- This is the experiment record behind the NAMAA Community system paper. It holds the training
22
- and inference notebooks, the per-run metrics and configurations, the Konooz development-set
23
- predictions and submissions for every system in the paper, the evaluation scripts, and the
24
- software environment.
25
-
26
- The fine-tuned weights are in their own model repositories:
27
-
28
- | Checkpoint | Formulation | Wojood val F1 | Wojood test F1 | Konooz dev F1 |
29
- |---|---|---:|---:|---:|
30
- | [`KnowledgeGraphEval-2026-AdaptNER-AraBERTv02-Nested`](https://huggingface.co/NAMAA-Space/KnowledgeGraphEval-2026-AdaptNER-AraBERTv02-Nested) | nested, multi-label | 0.9245 | **0.9284** | **0.73** |
31
- | [`KnowledgeGraphEval-2026-AdaptNER-MARBERTv2-Nested`](https://huggingface.co/NAMAA-Space/KnowledgeGraphEval-2026-AdaptNER-MARBERTv2-Nested) | nested, multi-label | 0.9071 | 0.9092 | 0.67 |
32
- | [`KnowledgeGraphEval-2026-AdaptNER-AraBERTv02-Flat`](https://huggingface.co/NAMAA-Space/KnowledgeGraphEval-2026-AdaptNER-AraBERTv02-Flat) | flat, single-label | 0.9003 | not recorded | 0.69 |
33
-
34
- All scores are entity-level strict micro-F1.
35
-
36
- ---
37
-
38
- ## Repository layout
39
-
40
- ```
41
- β”œβ”€β”€ experiments/ per-run metrics + full config (repro_bundle.json)
42
- β”‚ β”œβ”€β”€ EXP-001_AraBERTv02_Flat/
43
- β”‚ β”œβ”€β”€ EXP-001_AraBERTv02_Nested/
44
- β”‚ β”œβ”€β”€ EXP-002_MARBERTv2_Flat/ weights not released; test predictions kept here
45
- β”‚ └── EXP-002_MARBERTv2_Nested/
46
- β”œβ”€β”€ notebooks/
47
- β”‚ β”œβ”€β”€ training/ Wojood fine-tuning, one notebook per run
48
- β”‚ β”œβ”€β”€ konooz_dev_inference/ load weights from the Hub, predict Konooz dev, write submission
49
- β”‚ β”œβ”€β”€ blind_test_inference/ blind-test inference for the ARBERTv2 (unweighted) system
50
- β”‚ └── eda/ Wojood + Konooz exploratory analysis
51
- β”œβ”€β”€ konooz_dev_predictions/
52
- β”‚ β”œβ”€β”€ namaa_wojood_runs/ EXP-001/002 predictions + submission zips
53
- β”‚ β”œβ”€β”€ backbone_sweep/ the nested backbone comparison (paper Table 4)
54
- β”‚ └── ensembles_and_llm/ top-3 / top-4 voting ensembles, LLM run
55
- β”œβ”€β”€ evaluation/ per-entity-type and per-domain scorers + results
56
- β”œβ”€β”€ scripts/ ensemble voting, Konooz EDA, hosted-LLM baseline
57
- └── environment/pip_freeze.txt
58
- ```
59
-
60
- ---
61
-
62
- ## 1. Wojood experiments (in-domain)
63
-
64
- Same recipe for all four runs, taken from `repro_bundle.json`: 8 epochs, learning rate 3e-5,
65
- batch 32, warmup 0.1, weight decay 0.01, AdamW, bf16, max length 256, seed 42, early-stopping
66
- patience 3. The nested runs use a 42-way sigmoid head (21 types Γ— {B, I}) with a 0.5 threshold.
67
- The flat runs use a softmax BIO head.
68
-
69
- | Run | Encoder | Formulation | Val P | Val R | **Val F1** | Test P | Test R | **Test F1** |
70
- |---|---|---|---:|---:|---:|---:|---:|---:|
71
- | EXP-001 | AraBERTv02 | flat | 0.8908 | 0.9101 | 0.9003 | β€” | β€” | β€” |
72
- | EXP-001 | AraBERTv02 | **nested** | 0.9178 | 0.9313 | **0.9245** | 0.9208 | 0.9362 | **0.9284** |
73
- | EXP-002 | MARBERTv2 | flat | 0.8876 | 0.9087 | 0.8980 | 0.8979 | 0.9171 | 0.9074 |
74
- | EXP-002 | MARBERTv2 | nested | 0.9042 | 0.9100 | 0.9071 | 0.9058 | 0.9127 | 0.9092 |
75
-
76
- The EXP-001 flat run did not log test-split metrics. Flat and nested scores are measured on
77
- different variants of Wojood, so compare them as indicative only.
78
-
79
- **Per-entity-type macro-F1 on the Wojood test split** (`evaluation/pertype_results.json`):
80
-
81
- | | AraBERTv02 nested | MARBERTv2 nested |
82
- |---|---:|---:|
83
- | micro-F1 | 0.9284 | 0.9092 |
84
- | **macro-F1 (21 types)** | **0.8411** | **0.5877** |
85
-
86
- MARBERTv2 nested makes no predictions at all for `PERCENT`, `PRODUCT`, `UNIT` and `QUANTITY`,
87
- so their F1 is 0.0000. These types are 0.6% of mentions, which is why a 2-point micro-F1 gap
88
- becomes a 25-point macro-F1 gap. AraBERTv02 scores higher on all 21 types and on all 13
89
- Wojood sub-corpora. `evaluation/compute_pertype.py` and `compute_perdomain.py` regenerate these
90
- numbers from each model's `test_predictions_conll.txt`. The recomputed precision matches the
91
- original scorer exactly, and micro-F1 matches it to within 0.001.
92
-
93
- ---
94
-
95
- ## 2. Konooz development leaderboard (cross-domain, official)
96
-
97
- Team results from the paper (Table 1). The best AdaptNER system ranked **1st**.
98
-
99
- | System | Konooz dev F1 | Predictions in this repo |
100
- |---|---:|---|
101
- | Ensemble (top-3, weighted vote) | **0.74** | `ensembles_and_llm/submission_ensemble_top3.zip` |
102
- | ARBERTv2 (unweighted) β€” *1st place* | **0.74** | `backbone_sweep/arbertv2-unweighted_*` |
103
- | AraBERTv02, nested (EXP-001) | 0.73 | `namaa_wojood_runs/exp001_nested_konooz/` |
104
- | ARBERTv2 (class-weighted) | 0.72 | `backbone_sweep/arbertv2-weighted_*` |
105
- | XLM-R large | 0.71 | `backbone_sweep/xlm-roberta-large_*` |
106
- | AraBERTv02, flat (EXP-001) | 0.69 | `namaa_wojood_runs/exp001_flat_konooz/` |
107
- | MARBERT | 0.68 | `backbone_sweep/marbert_*` |
108
- | mDeBERTa-v3 base | 0.67 | `backbone_sweep/mdeberta-v3-base_*` |
109
- | MARBERTv2 | 0.67 | `backbone_sweep/marbertv2_*` |
110
- | ARBERTv2 + Konooz-MLM (last-3) | 0.65 | `backbone_sweep/arbertv2-konooz-adapted-last3_*` |
111
- | AraBERTv02 baseline † | 0.61 | β€” |
112
- | Qwen3-235B (zero-shot) | 0.26 | β€” |
113
-
114
- † Organiser reference baseline. The top-3 ensemble matches the best single system on
115
- micro-F1 but raises macro-F1 from 0.49 to 0.55 (P = 0.75, R = 0.74).
116
-
117
- `backbone_sweep/` also contains predictions for CAMeLBERT-mix and ARBERTv2 + Konooz-MLM (full).
118
- These two runs were scored only on Wojood validation (paper Table 4) and were not submitted
119
- to the Konooz leaderboard.
120
-
121
- **Submission format:** one token per line, followed by 21 space-separated IOB2 columns in this
122
- order:
123
-
124
- ```
125
- CARDINAL CURR DATE EVENT FAC GPE LANGUAGE LAW LOC MONEY NORP
126
- OCC ORDINAL ORG PERCENT PERS PRODUCT QUANTITY TIME UNIT WEBSITE
127
- ```
128
-
129
- ---
130
-
131
- ## 3. Reproducing
132
-
133
- 1. Get Wojood 1.1 and the Konooz development and blind-test data from
134
- [SinaLab, Birzeit University](https://sina.birzeit.edu/knowledgegraph_sharedtask2026/).
135
- They are not redistributed here.
136
- 2. Training: run `notebooks/training/<run>.ipynb`. They were written for Google Colab (A100 or T4).
137
- Each run's exact configuration and library versions are in `experiments/<run>/repro_bundle.json`.
138
- 3. Konooz inference: `notebooks/konooz_dev_inference/` loads the released checkpoints from the
139
- Hub by name.
140
- 4. Ensemble: `scripts/ensemble_predictions.py` does a weighted vote over per-system prediction files.
141
-
142
- The notebooks read the Hub token from a Colab Secret or the `HF_TOKEN` environment variable.
143
- No credentials are stored in this repository.
144
-
145
- ---
146
-
147
- ## Citation
148
-
149
- ```bibtex
150
- @inproceedings{namaa-knowledgegrapheval-2026,
151
- title = {{NAMAA} Community at {KnowledgeGraphEval} 2026: Multi-Label Nested {NER}
152
- and Entity-Pair Relation Extraction for Cross-Domain Arabic
153
- Knowledge Graph Construction},
154
- author = {Fathallah, Mahmoud and Zaytoon, Mohamed and Emad Eldin, Fatimah and
155
- Abdelazim, Mona and Nacer, Omar},
156
- booktitle = {Proceedings of the Fourth Arabic Natural Language Processing Conference
157
- (ArabicNLP 2026)},
158
- year = {2026},
159
- address = {Budapest, Hungary},
160
- publisher = {Association for Computational Linguistics}
161
- }
162
- ```
163
-
164
- The corpus citations (Wojood, Konooz) and backbone citations are in the model cards linked
165
- above.
166
-
167
- ## License
168
-
169
- Apache-2.0 covers the code, notebooks and predictions in this repository. Wojood and Konooz
170
- remain under SinaLab's original terms. Prediction files contain corpus tokens, so follow those
171
- terms if you redistribute them.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language: ar
3
+ license: apache-2.0
4
+ tags:
5
+ - arabic
6
+ - ner
7
+ - nested-ner
8
+ - wojood
9
+ - konooz
10
+ - knowledgegrapheval-2026
11
+ - arabicnlp-2026
12
+ - adaptner
13
+ - experiments
14
+ - reproducibility
15
+ ---
16
+
17
+ # NAMAA β€” KnowledgeGraphEval 2026 AdaptNER: Development-Phase Experiments
18
+
19
+ **KnowledgeGraphEval 2026 Β· Subtask 1 (AdaptNER) Β· ArabicNLP 2026**
20
+
21
+ This is the **development-phase** experiment record of team NAMAA. It holds the training and
22
+ inference notebooks, the per-run metrics and configurations, the Konooz development-set
23
+ predictions and submissions for every candidate system, the evaluation scripts, and the
24
+ software environment.
25
+
26
+ > **How this relates to the paper.** These experiments come before the submitted systems
27
+ > described in the camera-ready paper. The submitted AdaptNER system **ranked 1st (test
28
+ > micro-F1 75.96)**. It is an exact-span majority vote over ARBERTv2 + CRF, XLM-R-large + CRF and
29
+ > ARBERTv2 + GlobalPointer. The submitted RE system **ranked 2nd (93.48)**. It is a majority
30
+ > vote over LoRA-fine-tuned Qwen3-8B, Qwen3.5-4B and Llama-3.1-8B-Instruct. Full test tables
31
+ > are in [Β§2](#2-official-test-results-camera-ready-paper).
32
+
33
+ The fine-tuned weights are in their own model repositories:
34
+
35
+ | Checkpoint | Formulation | Wojood val F1 | Wojood test F1 | Konooz dev F1 |
36
+ |---|---|---:|---:|---:|
37
+ | [`KnowledgeGraphEval-2026-AdaptNER-AraBERTv02-Nested`](https://huggingface.co/NAMAA-Space/KnowledgeGraphEval-2026-AdaptNER-AraBERTv02-Nested) | nested, multi-label | 0.9245 | **0.9284** | **0.73** |
38
+ | [`KnowledgeGraphEval-2026-AdaptNER-MARBERTv2-Nested`](https://huggingface.co/NAMAA-Space/KnowledgeGraphEval-2026-AdaptNER-MARBERTv2-Nested) | nested, multi-label | 0.9071 | 0.9092 | 0.67 |
39
+ | [`KnowledgeGraphEval-2026-AdaptNER-AraBERTv02-Flat`](https://huggingface.co/NAMAA-Space/KnowledgeGraphEval-2026-AdaptNER-AraBERTv02-Flat) | flat, single-label | 0.9003 | not recorded | 0.69 |
40
+
41
+ All scores are entity-level strict micro-F1.
42
+
43
+ ---
44
+
45
+ ## Repository layout
46
+
47
+ ```
48
+ β”œβ”€β”€ experiments/ per-run metrics + full config (repro_bundle.json)
49
+ β”‚ β”œβ”€β”€ EXP-001_AraBERTv02_Flat/
50
+ β”‚ β”œβ”€β”€ EXP-001_AraBERTv02_Nested/
51
+ β”‚ β”œβ”€β”€ EXP-002_MARBERTv2_Flat/ weights not released; test predictions kept here
52
+ β”‚ └── EXP-002_MARBERTv2_Nested/
53
+ β”œβ”€β”€ notebooks/
54
+ β”‚ β”œβ”€β”€ training/ Wojood fine-tuning, one notebook per run
55
+ β”‚ β”œβ”€β”€ konooz_dev_inference/ load weights from the Hub, predict Konooz dev, write submission
56
+ β”‚ β”œβ”€β”€ blind_test_inference/ blind-test inference for the ARBERTv2 (unweighted) system
57
+ β”‚ └── eda/ Wojood + Konooz exploratory analysis
58
+ β”œβ”€β”€ konooz_dev_predictions/
59
+ β”‚ β”œβ”€β”€ namaa_wojood_runs/ EXP-001/002 predictions + submission zips
60
+ β”‚ β”œβ”€β”€ backbone_sweep/ the nested backbone comparison (paper Table 4)
61
+ β”‚ └── ensembles_and_llm/ top-3 / top-4 voting ensembles, LLM run
62
+ β”œβ”€β”€ evaluation/ per-entity-type and per-domain scorers + results
63
+ β”œβ”€β”€ scripts/ ensemble voting, Konooz EDA, hosted-LLM baseline
64
+ └── environment/pip_freeze.txt
65
+ ```
66
+
67
+ ---
68
+
69
+ ## 1. Wojood experiments (in-domain)
70
+
71
+ Same recipe for all four runs, taken from `repro_bundle.json`: 8 epochs, learning rate 3e-5,
72
+ batch 32, warmup 0.1, weight decay 0.01, AdamW, bf16, max length 256, seed 42, early-stopping
73
+ patience 3. The nested runs use a 42-way sigmoid head (21 types Γ— {B, I}) with a 0.5 threshold.
74
+ The flat runs use a softmax BIO head.
75
+
76
+ | Run | Encoder | Formulation | Val P | Val R | **Val F1** | Test P | Test R | **Test F1** |
77
+ |---|---|---|---:|---:|---:|---:|---:|---:|
78
+ | EXP-001 | AraBERTv02 | flat | 0.8908 | 0.9101 | 0.9003 | β€” | β€” | β€” |
79
+ | EXP-001 | AraBERTv02 | **nested** | 0.9178 | 0.9313 | **0.9245** | 0.9208 | 0.9362 | **0.9284** |
80
+ | EXP-002 | MARBERTv2 | flat | 0.8876 | 0.9087 | 0.8980 | 0.8979 | 0.9171 | 0.9074 |
81
+ | EXP-002 | MARBERTv2 | nested | 0.9042 | 0.9100 | 0.9071 | 0.9058 | 0.9127 | 0.9092 |
82
+
83
+ The EXP-001 flat run did not log test-split metrics. Flat and nested scores are measured on
84
+ different variants of Wojood, so compare them as indicative only.
85
+
86
+ **Per-entity-type macro-F1 on the Wojood test split** (`evaluation/pertype_results.json`):
87
+
88
+ | | AraBERTv02 nested | MARBERTv2 nested |
89
+ |---|---:|---:|
90
+ | micro-F1 | 0.9284 | 0.9092 |
91
+ | **macro-F1 (21 types)** | **0.8411** | **0.5877** |
92
+
93
+ MARBERTv2 nested makes no predictions at all for `PERCENT`, `PRODUCT`, `UNIT` and `QUANTITY`,
94
+ so their F1 is 0.0000. These types are 0.6% of mentions, which is why a 2-point micro-F1 gap
95
+ becomes a 25-point macro-F1 gap. AraBERTv02 scores higher on all 21 types and on all 13
96
+ Wojood sub-corpora. `evaluation/compute_pertype.py` and `compute_perdomain.py` regenerate these
97
+ numbers from each model's `test_predictions_conll.txt`. The recomputed precision matches the
98
+ original scorer exactly, and micro-F1 matches it to within 0.001.
99
+
100
+ ---
101
+
102
+ ## 2. Official test results (camera-ready paper)
103
+
104
+ Entity-level micro-averages under exact span-and-type matching, in percent.
105
+
106
+ **Subtask 1 β€” AdaptNER** (Konooz test). **Ranked 1st.**
107
+
108
+ | System | Recall | Precision | Micro-F1 |
109
+ |---|---:|---:|---:|
110
+ | Shared-task baseline | 63.87 | 62.30 | 63.00 |
111
+ | ARBERTv2 + CRF | 70.08 | 80.69 | 75.01 |
112
+ | XLM-R-large + CRF | 71.12 | 79.41 | 75.04 |
113
+ | ARBERTv2 + GlobalPointer | 66.17 | 84.02 | 74.03 |
114
+ | **Exact-span ensemble** | 69.44 | 83.83 | **75.96** |
115
+
116
+ **Subtask 2 β€” Relation Extraction** (WojoodRelations). **Ranked 2nd.**
117
+
118
+ | System | Recall | Precision | Micro-F1 |
119
+ |---|---:|---:|---:|
120
+ | Shared-task baseline | – | – | 93.09 |
121
+ | Qwen3-8B (LoRA) | 89.35 | 95.59 | 92.36 |
122
+ | Qwen3.5-4B (LoRA) | 89.58 | 96.20 | 92.77 |
123
+ | Llama-3.1-8B-Instruct (LoRA) | 89.03 | 96.21 | 92.48 |
124
+ | **Majority-vote ensemble** | 90.38 | 96.80 | **93.48** |
125
+
126
+ The checkpoints for these submitted systems are not in this repository.
127
+
128
+ ## 3. Development-phase Konooz leaderboard
129
+
130
+ These are the team's scores on the Konooz **development** set (100 sentences) during
131
+ development. They are not reported in the camera-ready paper.
132
+
133
+ | System | Konooz dev F1 | Predictions in this repo |
134
+ |---|---:|---|
135
+ | Ensemble (top-3, weighted vote) | **0.74** | `ensembles_and_llm/submission_ensemble_top3.zip` |
136
+ | ARBERTv2 (unweighted) | **0.74** | `backbone_sweep/arbertv2-unweighted_*` |
137
+ | AraBERTv02, nested (EXP-001) | 0.73 | `namaa_wojood_runs/exp001_nested_konooz/` |
138
+ | ARBERTv2 (class-weighted) | 0.72 | `backbone_sweep/arbertv2-weighted_*` |
139
+ | XLM-R large | 0.71 | `backbone_sweep/xlm-roberta-large_*` |
140
+ | AraBERTv02, flat (EXP-001) | 0.69 | `namaa_wojood_runs/exp001_flat_konooz/` |
141
+ | MARBERT | 0.68 | `backbone_sweep/marbert_*` |
142
+ | mDeBERTa-v3 base | 0.67 | `backbone_sweep/mdeberta-v3-base_*` |
143
+ | MARBERTv2 (sweep run, not the released EXP-002 checkpoint) | 0.67 | `backbone_sweep/marbertv2_*` |
144
+ | ARBERTv2 + Konooz-MLM (last-3) | 0.65 | `backbone_sweep/arbertv2-konooz-adapted-last3_*` |
145
+ | AraBERTv02 baseline † | 0.61 | β€” |
146
+ | Qwen3-235B (zero-shot) | 0.26 | β€” |
147
+
148
+ † Organiser reference baseline. On the development set, the top-3 ensemble matches the best single system on
149
+ micro-F1 but raises macro-F1 from 0.49 to 0.55 (P = 0.75, R = 0.74).
150
+
151
+ `backbone_sweep/` also contains predictions for CAMeLBERT-mix and ARBERTv2 + Konooz-MLM (full).
152
+ These two runs were scored only on Wojood validation (paper Table 4) and were not submitted
153
+ to the Konooz leaderboard.
154
+
155
+ **Submission format:** one token per line, followed by 21 space-separated IOB2 columns in this
156
+ order:
157
+
158
+ ```
159
+ CARDINAL CURR DATE EVENT FAC GPE LANGUAGE LAW LOC MONEY NORP
160
+ OCC ORDINAL ORG PERCENT PERS PRODUCT QUANTITY TIME UNIT WEBSITE
161
+ ```
162
+
163
+ ---
164
+
165
+ ## 4. Reproducing
166
+
167
+ 1. Get Wojood 1.1 and the Konooz development and blind-test data from
168
+ [SinaLab, Birzeit University](https://sina.birzeit.edu/knowledgegraph_sharedtask2026/).
169
+ They are not redistributed here.
170
+ 2. Training: run `notebooks/training/<run>.ipynb`. They were written for Google Colab (A100 or T4).
171
+ Each run's exact configuration and library versions are in `experiments/<run>/repro_bundle.json`.
172
+ 3. Konooz inference: `notebooks/konooz_dev_inference/` loads the released checkpoints from the
173
+ Hub by name.
174
+ 4. Ensemble: `scripts/ensemble_predictions.py` does a weighted vote over per-system prediction files.
175
+
176
+ The notebooks read the Hub token from a Colab Secret or the `HF_TOKEN` environment variable.
177
+ No credentials are stored in this repository.
178
+
179
+ ---
180
+
181
+ ## Citation
182
+
183
+ ```bibtex
184
+ @inproceedings{namaa-knowledgegrapheval-2026,
185
+ title = {{NAMAA} at {KnowledgeGraphEval} 2026: Entity-Span Voting and Constrained
186
+ {LLM} Ensembles for {A}rabic Knowledge Graph Construction},
187
+ author = {Fathallah, Mahmoud and Zaytoon, Mohamed and Emad Eldin, Fatimah and
188
+ A.azim, Mona and Nacar, Omer},
189
+ booktitle = {Proceedings of the Fourth Arabic Natural Language Processing Conference
190
+ (ArabicNLP 2026)},
191
+ year = {2026},
192
+ address = {Budapest, Hungary},
193
+ publisher = {Association for Computational Linguistics}
194
+ }
195
+ ```
196
+
197
+ The corpus citations (Wojood, Konooz) and backbone citations are in the model cards linked
198
+ above.
199
+
200
+ ## License
201
+
202
+ Apache-2.0 covers the code, notebooks and predictions in this repository. Wojood and Konooz
203
+ remain under SinaLab's original terms. Prediction files contain corpus tokens, so follow those
204
+ terms if you redistribute them.