Xenova HF Staff commited on
Commit
7e6736c
·
verified ·
1 Parent(s): 3c1ffc3

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +0 -67
index.html CHANGED
@@ -78,12 +78,6 @@
78
  id="text-input"
79
  placeholder="Each line is treated as one sentence"
80
  ></textarea>
81
- <h3>Labels:</h3>
82
- <textarea
83
- id="labels-input"
84
- placeholder="Each line is treated as one label"
85
- style="max-height: 200px"
86
- ></textarea>
87
  <button id="embed-btn">Embed & Plot</button>
88
  <p
89
  id="status"
@@ -231,17 +225,6 @@
231
 
232
  document.getElementById("text-input").value = sentences.join("\n");
233
 
234
- const labels = [
235
- "Weather",
236
- "Technology",
237
- "Cooking",
238
- "Sports",
239
- "Finance",
240
- "Music",
241
- "History",
242
- ];
243
- document.getElementById("labels-input").value = labels.join("\n");
244
-
245
  const statusEl = document.getElementById("status");
246
  const embed = await pipeline(
247
  "feature-extraction",
@@ -284,56 +267,6 @@
284
 
285
  statusEl.textContent = "Plotting projection...";
286
 
287
- const labelInput = document
288
- .getElementById("labels-input")
289
- .value.trim();
290
- const labelTexts = labelInput
291
- .split("\n")
292
- .map((s) => s.trim())
293
- .filter((s) => s);
294
-
295
- let labelEmbeddings = [];
296
- if (labelTexts.length) {
297
- statusEl.textContent = "Embedding labels...";
298
- const lblOut = await embed(
299
- labelTexts.map((x) => `Category: ${x}`),
300
- { pooling: "cls", normalize: true },
301
- );
302
- labelEmbeddings = lblOut.tolist();
303
- }
304
- const threshold = 0.1;
305
- const assigned = embeddings.map((sentEmb) => {
306
- if (!labelEmbeddings.length) return "Other";
307
- const sims = labelEmbeddings.map((lblEmb) =>
308
- sentEmb.reduce((sum, v, i) => sum + v * lblEmb[i], 0),
309
- );
310
- let maxSim = -Infinity,
311
- idx = -1;
312
- for (let i = 0; i < sims.length; i++) {
313
- if (sims[i] > maxSim) {
314
- maxSim = sims[i];
315
- idx = i;
316
- }
317
- }
318
- return maxSim >= threshold ? labelTexts[idx] : "Other";
319
- });
320
-
321
- // Build one trace per label category
322
- const uniq = Array.from(new Set(assigned));
323
- const data = uniq.map((lbl) => {
324
- const inds = assigned
325
- .map((a, i) => (a === lbl ? i : -1))
326
- .filter((i) => i >= 0);
327
- return {
328
- x: inds.map((i) => coords[i][0]),
329
- y: inds.map((i) => coords[i][1]),
330
- mode: "markers",
331
- type: "scatter",
332
- name: lbl,
333
- text: inds.map((i) => sentences[i]),
334
- marker: { size: 12 },
335
- };
336
- });
337
  const layout = {
338
  title: { text: "Labels" },
339
  margin: { l: 0, r: 0, t: 0, b: 0 },
 
78
  id="text-input"
79
  placeholder="Each line is treated as one sentence"
80
  ></textarea>
 
 
 
 
 
 
81
  <button id="embed-btn">Embed & Plot</button>
82
  <p
83
  id="status"
 
225
 
226
  document.getElementById("text-input").value = sentences.join("\n");
227
 
 
 
 
 
 
 
 
 
 
 
 
228
  const statusEl = document.getElementById("status");
229
  const embed = await pipeline(
230
  "feature-extraction",
 
267
 
268
  statusEl.textContent = "Plotting projection...";
269
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
270
  const layout = {
271
  title: { text: "Labels" },
272
  margin: { l: 0, r: 0, t: 0, b: 0 },