elmadany commited on
Commit
e31c354
·
verified ·
1 Parent(s): 263f533

Update server.js

Browse files
Files changed (1) hide show
  1. server.js +31 -9
server.js CHANGED
@@ -40,11 +40,36 @@ async function loadAndProcessData() {
40
  // Map code key to full metadata object
41
  metaList.forEach(m => { langMap[m.lang_code_key] = m; });
42
 
43
- // 2. Load Others
44
  const ttsData = await fetchHFFile("final_results/tts_results.jsonl");
45
- const slidData = await fetchHFFile("final_results/slid_results.jsonl");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
 
47
- // 3. Load ASR
48
  const files = await listHFFiles("final_results");
49
  let asrRecords = [];
50
  for (const file of files) {
@@ -76,7 +101,7 @@ async function loadAndProcessData() {
76
  familyData[fam][mod][meta.name] = {
77
  wer: (r.datasets_avg_wer || 0) * 100,
78
  cer: (r.datasets_avg_cer || 0) * 100,
79
- iso: meta.lang_code_key // Store ISO here
80
  };
81
  });
82
 
@@ -89,13 +114,11 @@ async function loadAndProcessData() {
89
  const langMapForFamily = new Map();
90
  Object.values(modData).forEach(m => {
91
  Object.keys(m).forEach(langName => {
92
- // Get ISO from the stored data object
93
  const iso = m[langName].iso;
94
  langMapForFamily.set(langName, iso);
95
  });
96
  });
97
 
98
- // Create array of objects: { name: "Amharic", iso: "amh" }
99
  const languages = Array.from(langMapForFamily.keys()).sort().map(name => ({
100
  name: name,
101
  iso: langMapForFamily.get(name)
@@ -137,7 +160,7 @@ async function loadAndProcessData() {
137
  const meta = langMap[r.lang_code] || { name: r.lang_code, family: 'Unknown', lang_code_key: r.lang_code };
138
  rows.push({
139
  Language: meta.name,
140
- ISO: meta.lang_code_key, // Include ISO
141
  Family: meta.family,
142
  WER: (r.datasets_avg_wer || 0) * 100,
143
  CER: (r.datasets_avg_cer || 0) * 100
@@ -154,7 +177,6 @@ async function loadAndProcessData() {
154
  ttsData.forEach(r => {
155
  ttsModels.add(r.model);
156
  if(!ttsGrouped[r.model]) ttsGrouped[r.model] = [];
157
- // Add ISO if available in metadata, else guess or use code
158
  const meta = langMap[r.lang_code] || { lang_code_key: r.lang_code };
159
  r.iso = meta.lang_code_key;
160
  ttsGrouped[r.model].push(r);
@@ -168,7 +190,7 @@ async function loadAndProcessData() {
168
  },
169
  asr: { by_family: asrByFamily, by_model: asrByModel },
170
  tts: ttsGrouped,
171
- slid: slidData
172
  };
173
  console.log("Data Ready.");
174
  }
 
40
  // Map code key to full metadata object
41
  metaList.forEach(m => { langMap[m.lang_code_key] = m; });
42
 
43
+ // 2. Load TTS & SLID
44
  const ttsData = await fetchHFFile("final_results/tts_results.jsonl");
45
+ const slidRecords = await fetchHFFile("final_results/slid_results.jsonl");
46
+
47
+ // --- NEW SLID PROCESSING LOGIC ---
48
+ // Pivot from Long Format -> Wide Format for Frontend
49
+ const slidMap = {};
50
+ slidRecords.forEach(r => {
51
+ // r = { task: "SLID", lang_code: "bin", model_name: "MMS...", f1_score: 6.25 }
52
+ const code = r.lang_code;
53
+
54
+ // Find language name from metadata, fallback to code if missing
55
+ const meta = langMap[code] || { name: code, family: 'Unknown' };
56
+
57
+ if (!slidMap[code]) {
58
+ slidMap[code] = {
59
+ Language: meta.name,
60
+ ISO: code
61
+ // Model columns will be added dynamically below
62
+ };
63
+ }
64
+
65
+ // Assign score to the model key (e.g., row["MMS-LID-1024"] = 6.25)
66
+ slidMap[code][r.model_name] = r.f1_score;
67
+ });
68
+ // Convert Map back to Array
69
+ const slidFinal = Object.values(slidMap);
70
+
71
 
72
+ // 3. Load ASR Files
73
  const files = await listHFFiles("final_results");
74
  let asrRecords = [];
75
  for (const file of files) {
 
101
  familyData[fam][mod][meta.name] = {
102
  wer: (r.datasets_avg_wer || 0) * 100,
103
  cer: (r.datasets_avg_cer || 0) * 100,
104
+ iso: meta.lang_code_key
105
  };
106
  });
107
 
 
114
  const langMapForFamily = new Map();
115
  Object.values(modData).forEach(m => {
116
  Object.keys(m).forEach(langName => {
 
117
  const iso = m[langName].iso;
118
  langMapForFamily.set(langName, iso);
119
  });
120
  });
121
 
 
122
  const languages = Array.from(langMapForFamily.keys()).sort().map(name => ({
123
  name: name,
124
  iso: langMapForFamily.get(name)
 
160
  const meta = langMap[r.lang_code] || { name: r.lang_code, family: 'Unknown', lang_code_key: r.lang_code };
161
  rows.push({
162
  Language: meta.name,
163
+ ISO: meta.lang_code_key,
164
  Family: meta.family,
165
  WER: (r.datasets_avg_wer || 0) * 100,
166
  CER: (r.datasets_avg_cer || 0) * 100
 
177
  ttsData.forEach(r => {
178
  ttsModels.add(r.model);
179
  if(!ttsGrouped[r.model]) ttsGrouped[r.model] = [];
 
180
  const meta = langMap[r.lang_code] || { lang_code_key: r.lang_code };
181
  r.iso = meta.lang_code_key;
182
  ttsGrouped[r.model].push(r);
 
190
  },
191
  asr: { by_family: asrByFamily, by_model: asrByModel },
192
  tts: ttsGrouped,
193
+ slid: slidFinal // Pass the pivoted data
194
  };
195
  console.log("Data Ready.");
196
  }