segmentations predicted using the morphological segmenters from MORPH-SEGMENT. For the models trained
from scratch the models are split into word- and sentence-level.
-
-
-
-
-
-
-
-
-
Modal title
-
-
-
- ...
-
-
-
-
-
-
-
-
-
-
Results on Expert Annotated Data
+
Results on Gold Standard Canonical Segmentations
@@ -459,138 +430,208 @@
Results on Expert Annotated Data
+
+
+
+
+
Results on Gold Standard Surface Segmentations
+
+
+
+
+
+
+
Model
+
isiNdebele
+
siSwati
+
isiXhosa
+
isiZulu
+
+
+
+
Micro F1
+
Macro F1
+
Micro F1
+
Macro F1
+
Micro F1
+
Macro F1
+
Micro F1
+
Macro F1
+
+
+
+
+
Models Trained from Scratch
+
+
+
Bi-LSTM, morpheme
0.911
0.677
0.905
0.657
0.952
0.767
0.912
0.659
+
+
+
Bi-LSTM, char-sum
0.903
0.650
0.894
0.613
0.903
0.747
0.907
0.626
+
+
+
+
+
+
+
+
+
+
+
+
End-to-End Results on Predicted Canonical Segmentations
+
+
+
+
+
+
+
Model
+
isiNdebele
+
siSwati
+
isiXhosa
+
isiZulu
+
+
+
+
Micro F1
+
Macro F1
+
Micro F1
+
Macro F1
+
Micro F1
+
Macro F1
+
Micro F1
+
Macro F1
+
+
+
+
+
Baselines
+
+
+
ZulMorph
+
-
-
-
-
-
-
0.6471
0.3378
+
+
-
-
End-to-End Results on Predicted Canonical Segmentations
-
-
-
-
-
Model
-
isiNdebele
-
siSwati
-
isiXhosa
-
isiZulu
-
-
-
-
Micro F1
-
Macro F1
-
Micro F1
-
Macro F1
-
Micro F1
-
Macro F1
-
Micro F1
-
Macro F1
-
-
-
-
-
Baselines
-
-
-
ZulMorph
-
-
-
-
-
-
-
0.6471
0.3378
-
-
-
-
-
-
Models Trained from Scratch
-
-
-
Bi-LSTM, morpheme
-
0.8084
0.5769
0.8230
0.5717
0.9110
0.6807
0.8250
0.5936
-
-
-
Bi-LSTM, char-sum
-
0.8094
0.6816
0.8289
0.5760
0.9107
0.6816
0.8248
0.6033
-
-
-
-
Bi-LSTM, morpheme (Sentence-level)
-
0.8059
0.5834
0.8274
0.5792
0.9172
0.7171
0.8265
0.5989
-
-
-
Bi-LSTM, char-sum (Sentence-level)
-
0.8010
0.5814
0.8238
0.5749
0.9135
0.7020
0.8184
0.5903
-
-
-
CRF, morpheme (Sentence-level)
-
0.8049
0.5961
0.8301
0.5860
0.9190
0.7224
0.8280
0.5991
-
-
-
CRF, char-sum (Sentence-level)
-
0.8081
0.5893
0.8271
0.5782
0.9181
0.7084
0.8246
0.5973
-
-
-
-
Pre-trained Language Models
-
-
-
XLM-RoBERTa
-
0.8151
0.5509
0.8280
0.5278
0.9137
0.6346
0.8251
0.5438
-
-
-
Afro-XLMR
-
0.8137
0.5413
0.8273
0.5296
0.9140
0.6423
0.8269
0.5469
-
-
-
Nguni-XLMR
-
0.8144
0.5468
0.8264
0.5285
0.9155
0.6390
0.8272
0.5495
-
-
-
-
-
-
End-to-End Results on Predicted Surface Segmentations
-
-
-
-
Model
-
isiNdebele
-
siSwati
-
isiXhosa
-
isiZulu
-
-
-
-
Micro F1
-
Macro F1
-
Micro F1
-
Macro F1
-
Micro F1
-
Macro F1
-
Micro F1
-
Macro F1
-
-
-
-
-
Models Trained from Scratch
-
-
-
Bi-LSTM, morpheme
0.7830
0.5409
0.8129
0.5274
0.8661
0.6724
0.8023
0.5529
-
-
-
Bi-LSTM, char-sum
0.7742
0.5238
0.8053
0.5212
0.7994
0.6054
0.7976
0.5511
-
-
-
Pre-trained Language Models
-
-
-
XLM-RoBERTa
0.7282
0.4868
0.5107
0.2231
0.7244
0.5208
0.6759
0.4349
-
-
-
Afro-XLMR
0.7275
0.4832
0.5216
0.2412
0.7273
0.5300
0.6794
0.4495
-
-
-
Nguni-XLMR
0.7258
0.4746
0.5328
0.2505
0.7309
0.5270
0.6818
0.4512
-
-
-
+
+
Models Trained from Scratch
+
+
+
Bi-LSTM, morpheme
+
0.8084
0.5769
0.8230
0.5717
0.9110
0.6807
0.8250
0.5936
+
+
+
Bi-LSTM, char-sum
+
0.8094
0.6816
0.8289
0.5760
0.9107
0.6816
0.8248
0.6033
+
+
+
+
Bi-LSTM, morpheme (Sentence-level)
+
0.8059
0.5834
0.8274
0.5792
0.9172
0.7171
0.8265
0.5989
+
+
+
Bi-LSTM, char-sum (Sentence-level)
+
0.8010
0.5814
0.8238
0.5749
0.9135
0.7020
0.8184
0.5903
+
+
+
CRF, morpheme (Sentence-level)
+
0.8049
0.5961
0.8301
0.5860
0.9190
0.7224
0.8280
0.5991
+
+
+
CRF, char-sum (Sentence-level)
+
0.8081
0.5893
0.8271
0.5782
0.9181
0.7084
0.8246
0.5973
+
+
+
+
Pre-trained Language Models
+
+
+
XLM-RoBERTa
+
0.8151
0.5509
0.8280
0.5278
0.9137
0.6346
0.8251
0.5438
+
+
+
Afro-XLMR
+
0.8137
0.5413
0.8273
0.5296
0.9140
0.6423
0.8269
0.5469
+
+
+
Nguni-XLMR
+
0.8144
0.5468
0.8264
0.5285
0.9155
0.6390
0.8272
0.5495
+
+
+
+
+
+
+
+
+
+
+
+
+
+
End-to-End Results on Predicted Surface Segmentations
+
+
+
+
+
+
+
Model
+
isiNdebele
+
siSwati
+
isiXhosa
+
isiZulu
+
+
+
+
Micro F1
+
Macro F1
+
Micro F1
+
Macro F1
+
Micro F1
+
Macro F1
+
Micro F1
+
Macro F1
+
+
+
+
+
Models Trained from Scratch
+
+
+
Bi-LSTM, morpheme
0.7830
0.5409
0.8129
0.5274
0.8661
0.6724
0.8023
0.5529
+
+
+
Bi-LSTM, char-sum
0.7742
0.5238
0.8053
0.5212
0.7994
0.6054
0.7976
0.5511
+
+
+
Pre-trained Language Models
+
+
+
XLM-RoBERTa
0.7282
0.4868
0.5107
0.2231
0.7244
0.5208
0.6759
0.4349
+
+
+
Afro-XLMR
0.7275
0.4832
0.5216
0.2412
0.7273
0.5300
0.6794
0.4495
+
+
+
Nguni-XLMR
0.7258
0.4746
0.5328
0.2505
0.7309
0.5270
0.6818
0.4512
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Discussion
Models Trained from Scratch
diff --git a/docs/script.js b/docs/script.js
index 99a4275..1d90ce9 100644
--- a/docs/script.js
+++ b/docs/script.js
@@ -53,84 +53,3 @@ window.addEventListener("DOMContentLoaded", function () {
document.querySelector("header").classList.remove("open");
});
});
-
-// this is to highlight all the best scores when the column or row is hovered over. Makes the data even more readable and easy to understand
-// How it works (for my understanding):
-// get all the th elements in the tr element with the class "score-heading" and log out their values (and index in the parent) when element is hovered over
-// when that happens highlight the cells in the table of the same index as the th element hovered over with the class "best"
-// when the mouse leaves the th element remove the highlight from the cells in the table
-
-const scoreHeadings = document.querySelectorAll('tr.score-heading');
-scoreHeadings.forEach(scoreHeading => {
- const thElements = scoreHeading.querySelectorAll('th');
- thElements.forEach(th => {
- th.addEventListener('mouseover', () => {
- console.log(th.textContent);
- const index = Array.from(th.parentElement.children).indexOf(th);
- // get the current table
- const table = th.closest('table');
- const tableRows = table.querySelectorAll('tr');
- tableRows.forEach(row => {
- const cells = row.querySelectorAll('td.best');
- cells.forEach((cell, i) => {
- const cellIndex = Array.from(cell.parentElement.children).indexOf(cell);
- if (cellIndex === index) {
- cell.style.backgroundColor = '#FFF59D';
- cell.style.boxShadow = '0 0 15px #FFF59D';
- }
- });
- });
- });
- });
-});
-
-scoreHeadings.forEach(scoreHeading => {
- const thElements = scoreHeading.querySelectorAll('th');
- thElements.forEach(th => {
- th.addEventListener('mouseout', () => {
- console.log(th.textContent);
- const index = Array.from(th.parentElement.children).indexOf(th);
- const tableRows = document.querySelectorAll('table tr');
- tableRows.forEach(row => {
- const cells = row.querySelectorAll('td.best');
- cells.forEach((cell, i) => {
- const cellIndex = Array.from(cell.parentElement.children).indexOf(cell);
- if (cellIndex === index) {
- cell.style.backgroundColor = '';
- cell.style.boxShadow = '';
- }
- });
- });
- });
- });
-});
-
-
-
-
-// Function to highlight table row cells with class "best"
-function highlightBestCells(event) {
- const row = event.currentTarget;
- const bestCells = row.querySelectorAll('td.best');
- bestCells.forEach(cell => {
- cell.style.backgroundColor = '#FFF59D';
- cell.style.boxShadow = '0 0 15px #FFF59D';
- });
-}
-
-// Function to remove highlight from table row cells with class "best"
-function removeHighlightBestCells(event) {
- const row = event.currentTarget;
- const bestCells = row.querySelectorAll('td.best');
- bestCells.forEach(cell => {
- cell.style.backgroundColor = '';
- cell.style.boxShadow = '';
- });
-}
-
-// Adding event listeners to each table row
-const tableRows = document.querySelectorAll('table tr');
-tableRows.forEach(row => {
- row.addEventListener('mouseover', highlightBestCells);
- row.addEventListener('mouseout', removeHighlightBestCells);
-});
\ No newline at end of file
diff --git a/docs/styles.css b/docs/styles.css
index 7ff8b46..56f32d6 100644
--- a/docs/styles.css
+++ b/docs/styles.css
@@ -112,7 +112,7 @@ body {
font-family: 'Roboto', sans-serif;
margin: 0;
padding: 0;
- background: #FDF7ED;
+ --bs-body-bg: rgb(238, 242, 251);
}
h1, h2, h3, h4, h5 {
@@ -454,6 +454,19 @@ u {
color: #5bc0de;
}
+tr:hover td.best {
+ background-color: #FFF59D;
+ box-shadow: 0 0 15px #FFF59D;
+}
+
+#extended-results {
+ margin: 20px auto;
+ width: 50%;
+ display: grid;
+ grid-template: auto auto / auto auto;
+ grid-gap: 16px;
+}
+
/* Responsive table element to it with smaller fonts and less padding */
@media (max-width: 768px) {
table {