jfrery-zama commited on
Commit
0412efe
·
unverified ·
1 Parent(s): b63a234

better confidence score

Browse files
Files changed (1) hide show
  1. wasm-demo.js +18 -18
wasm-demo.js CHANGED
@@ -493,32 +493,32 @@ $('btnDecrypt').onclick = () => {
493
  console.log('[Main] Decryption successful');
494
  console.log(`[Main] Result - flag: ${flag}, raw_score: ${rawScore}, total_g: ${total_g}`);
495
 
496
- // Convert to confidence value between 0 and 1
497
- const confidence = Math.max(0, Math.min(1, rawScore));
 
 
 
498
 
499
- // Determine result based on confidence ranges
500
- let resultText, confidenceText, resultClass;
501
 
502
- if (confidence < 0.5) {
503
- // Problematic range - should not be addressed according to user
504
- resultText = '⚠️ Inconclusive';
505
- confidenceText = `Confidence: ${(confidence * 100).toFixed(1)}% (insufficient token(s))`;
 
 
 
506
  resultClass = 'inconclusive';
507
- } else if (confidence >= 0.5 && confidence < 0.6) {
508
- // Very likely to be watermarked (close to 0.5)
509
- resultText = '✅ AI-Generated (Watermarked)';
510
- confidenceText = `Confidence: ${(confidence * 100).toFixed(1)}%`;
511
- resultClass = 'watermarked';
512
  } else {
513
- // Between 0.6 and 1 - highly likely to be AI generated
514
- resultText = '🤖 AI-Generated';
515
- confidenceText = `Confidence: ${(confidence * 100).toFixed(1)}%`;
516
- resultClass = 'ai-generated';
517
  }
518
 
519
  $('decResult').innerHTML = `
520
  <div class="watermark-flag ${resultClass}">${resultText}</div>
521
- <div class="watermark-score">${confidenceText}</div>
522
  `;
523
  } catch (e) {
524
  console.error('[Main] Decryption error:', e);
 
493
  console.log('[Main] Decryption successful');
494
  console.log(`[Main] Result - flag: ${flag}, raw_score: ${rawScore}, total_g: ${total_g}`);
495
 
496
+ // Convert raw score to watermark probability
497
+ // rawScore: 0.5 = not watermarked, 1.0 = watermarked
498
+ // Transform to: 0% = not watermarked, 100% = watermarked
499
+ const watermarkProbability = Math.max(0, Math.min(1, 2 * (rawScore - 0.5)));
500
+ const probabilityPercent = watermarkProbability * 100;
501
 
502
+ // Determine result based on watermark probability ranges
503
+ let resultText, probabilityText, resultClass;
504
 
505
+ if (probabilityPercent < 30) {
506
+ resultText = '👤 Likely Human-Generated';
507
+ probabilityText = `Probability of being watermarked: ${probabilityPercent.toFixed(1)}%`;
508
+ resultClass = 'inconclusive';
509
+ } else if (probabilityPercent >= 30 && probabilityPercent < 70) {
510
+ resultText = '⚠️ Uncertain';
511
+ probabilityText = `Probability of being watermarked: ${probabilityPercent.toFixed(1)}%`;
512
  resultClass = 'inconclusive';
 
 
 
 
 
513
  } else {
514
+ resultText = '✅ Likely AI-Generated (Watermarked)';
515
+ probabilityText = `Probability of being watermarked: ${probabilityPercent.toFixed(1)}%`;
516
+ resultClass = 'watermarked';
 
517
  }
518
 
519
  $('decResult').innerHTML = `
520
  <div class="watermark-flag ${resultClass}">${resultText}</div>
521
+ <div class="watermark-score">${probabilityText}</div>
522
  `;
523
  } catch (e) {
524
  console.error('[Main] Decryption error:', e);