Text generation के लिए evaluation metrics

PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

Shubham Jain

Instructor

Text generation का मूल्यांकन

  • Text Generation टास्क मानव-जैसा टेक्स्ट बनाते हैं
  • Accuracy, F1 जैसे स्टैंडर्ड मेट्रिक्स इन टास्क के लिए पर्याप्त नहीं होते
  • हमें ऐसे मेट्रिक्स चाहिए जो जनरेटेड टेक्स्ट की गुणवत्ता आँकें
  • BLEU और ROUGE

टेक्स्ट जनरेशन के लिए Dalle चैटबॉट

PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

BLEU (Bilingual Evaluation Understudy)

  • जनरेटेड टेक्स्ट को रेफरेंस टेक्स्ट से तुलना करता है
  • n-grams की उपस्थिति जाँची जाती है
  • वाक्य "The cat is on the mat" में
    • 1-grams (uni-gram): [the, cat, is, on, the, mat]
    • 2-grams (bi-gram): ["the cat", "cat is", "is on", "on the", "the mat"]
    • और ऐसे ही आगे n-grams के लिए
  • परफेक्ट मैच: स्कोर 1.0
    • 0 का मतलब कोई मैच नहीं
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

PyTorch से BLEU स्कोर निकालना

from torchmetrics.text import BLEUScore

generated_text = ['the cat is on the mat'] real_text = [['there is a cat on the mat', 'a cat is on the mat']]
bleu = BLEUScore() bleu_metric = bleu(generated_text, real_text) print("BLEU Score: ", bleu_metric.item())
BLEU Score: tensor(0.7598)
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

ROUGE (Recall-Oriented Understudy for Gisting Evaluation)

  • जनरेटेड टेक्स्ट को रेफरेंस टेक्स्ट से दो तरीकों से तुलना करता है
  • ROUGE-N: दोनों टेक्स्ट में ओवरलैपिंग n-grams (N=1 यूनिग्राम, 2 बिग्राम, आदि) देखता है
  • ROUGE-L: टेक्स्ट के बीच सबसे लंबा कॉमन सबसीक्वेंस (LCS) देखता है
  • ROUGE मेट्रिक्स:
    • F-measure: precision और recall का हार्मोनिक मीन
    • Precision: जनरेटेड टेक्स्ट के n-grams का रेफरेंस में मैच
    • Recall: रेफरेंस टेक्स्ट के n-grams का जनरेटेड में मैच
  • 'rouge1', 'rouge2', और 'rougeL' प्रीफिक्स क्रमशः 1-gram, 2-gram, या LCS को दर्शाते हैं
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

PyTorch से ROUGE स्कोर निकालना

from torchmetrics.text import  ROUGEScore

generated_text='Hello, how are you doing?' real_text= "Hello, how are you?"
rouge = ROUGEScore()
rouge_score = rouge([generated_text], [[real_text]]) print("ROUGE Score:", rouge_score)
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

ROUGE स्कोर: आउटपुट

ROUGE Score: {'rouge1_fmeasure': tensor(0.8889), 
              'rouge1_precision': tensor(0.8000), 
              'rouge1_recall': tensor(1.),

'rouge2_fmeasure': tensor(0.8571), 'rouge2_precision': tensor(0.7500), 'rouge2_recall': tensor(1.),
'rougeL_fmeasure': tensor(0.8889), 'rougeL_precision': tensor(0.8000), 'rougeL_recall': tensor(1.),
'rougeLsum_fmeasure': tensor(0.8889), 'rougeLsum_precision': tensor(0.8000), 'rougeLsum_recall': tensor(1.)}
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

ध्यान रखने योग्य बातें और सीमाएँ

  • शब्दों की उपस्थिति आँकते हैं, अर्थ-समझ नहीं
  • जनरेटेड टेक्स्ट की लंबाई से संवेदनशील
  • रेफरेंस टेक्स्ट की गुणवत्ता से स्कोर प्रभावित होते हैं
PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

अभ्यास करते हैं!

PyTorch के साथ टेक्स्ट के लिए डीप लर्निंग

Preparing Video For Download...