प्राकृतिक भाषा प्रसंस्करण में मूल्यांकन मेट्रिक्स - BLEU
पदों की इस श्रृंखला में, हम मूल्यांकन मेट्रिक्स पर चर्चा करने जा रहे हैं जो प्राकृतिक भाषा प्रसंस्करण के क्षेत्र में उपयोग-मामलों के लिए विशिष्ट हैं। एनएलपी में सबसे आम कार्य स्वचालित सारांश, प्रश्न-उत्तर, मशीनी अनुवाद हैं। इन मेट्रिक्स का लक्ष्य इनपुट टेक्स्ट दिए जाने पर अनुमानित टेक्स्ट की गुणवत्ता की पहचान करना है। अनुमानित पाठ को उम्मीदवार के रूप में जाना जाता है और संभावित सही या लक्ष्य ग्रंथों को संदर्भ कहा जाता है।
ये मेट्रिक्स कुछ बुनियादी मेट्रिक्स जैसे रिकॉल, प्रेसिजन और एफ1-स्कोर पर आधारित हैं। यदि आप इन मैट्रिक्स के बारे में नहीं जानते हैं, तो उन्हें कवर करने वाला यह लेख देखें: Recall, Precision, F1-Score । इन मेट्रिक्स की गणना और समझने के लिए एन-ग्राम की अवधारणा भी आवश्यक है।
नीचे दिए गए मेट्रिक्स आमतौर पर मशीन अनुवाद या स्वचालित सारांश के लिए उपयोग किए जाते हैं लेकिन उन्हें किसी भी अन्य कार्य पर लागू किया जा सकता है जिसमें इनपुट और लक्ष्य टेक्स्ट जोड़े शामिल होते हैं। मॉडल के मूल्यांकन के साथ-साथ, इन मेट्रिक्स का उपयोग मशीन लर्निंग मॉडल के हाइपरपैरामीटर ट्यूनिंग के लिए भी किया जा सकता है। पहली पोस्ट में, हम BLEU मीट्रिक पर चर्चा करेंगे जो अक्सर मशीन अनुवाद का मूल्यांकन करने के लिए उपयोग की जाती है।
द्विभाषी मूल्यांकन अध्ययन (BLEU)
संदर्भों के एक सेट की तुलना में BLEU स्कोर उम्मीदवार के रूप में संदर्भित अनुमानित पाठ की गुणवत्ता को मापता है। सीक्वेंस टू सीक्वेंस कार्यों में एक उम्मीदवार के लिए एक से अधिक सही/संदर्भ हो सकते हैं। इसलिए, यह महत्वपूर्ण है कि संदर्भों को सावधानी से चुना जाए और सभी संभावित संदर्भों को शामिल किया जाए। BLEU स्कोर एक सटीक आधारित माप है और यह 0 से 1 तक होता है। मान 1 के जितना करीब होगा, भविष्यवाणी उतनी ही बेहतर होगी। 1 का मान प्राप्त करना संभव नहीं है और आमतौर पर 0.3 से अधिक मान को एक अच्छा स्कोर माना जाता है।
अगले खंड में, हम चित्रण के लिए एकल पूर्वानुमानित वाक्य पर BLEU की गणना देखते हैं और उसके बाद एक कॉर्पस की गणना करते हैं।
शुद्धता
यदि हम अपनी पिछली पोस्ट से परिशुद्धता की परिभाषा को याद करते हैं, तो यह ट्रू पॉजिटिव / (ट्रू पॉजिटिव + फाल्स पॉजिटिव) है। इस संदर्भ में, सच्चे सकारात्मक उम्मीदवार और संदर्भ के बीच सभी मेल खाने वाले एन-ग्राम हैं। यहां झूठी सकारात्मकताओं को उम्मीदवार में दिखाई देने वाले एन-ग्राम के रूप में देखा जा सकता है लेकिन संदर्भ में मौजूद नहीं हैं। इसका मतलब यह है कि उम्मीदवार में एन-ग्राम की कुल संख्या से मेल खाने वाले एन-ग्राम की संख्या को विभाजित करके सटीकता प्राप्त की जा सकती है।
Reference: "Transformers make everything quick and efficient"
Candidate: "Transformers Transformers Transformers Transformers"
संशोधित प्रेसिजन (एमपी)
संशोधित शुद्धता की गणना के लिए, एन-ग्राम की गिनती संदर्भों में दिखाई देने वाली अधिकतम संख्या के आधार पर क्लिप की जाती है। इसे नीचे दिखाए गए सूत्र में Max_Ref_Count द्वारा दर्शाया गया है।
पिछले अनुभाग में हमारे उदाहरण में, ट्रांसफॉर्मर संदर्भों में केवल एक बार और उम्मीदवार में 4 बार दिखाई देता है। न्यूनतम (4, 1) माना जाता है और संशोधित परिशुद्धता अब 1/4 = 0.25 है। यह मान कम है और इसलिए हमें भविष्यवाणी की गुणवत्ता का बेहतर अनुमान देता है।
सामान्यीकरण करने के लिए, MP का सूत्र नीचे दिया गया है। कॉर्पस में सभी उम्मीदवारों के लिए, संदर्भों के साथ मिलान किए गए एन-ग्राम की संख्या की गणना की जाती है और उनका योग किया जाता है। यह संदर्भों में सभी एन-ग्राम की गणना के योग से विभाजित है।
संक्षिप्तता दंड (बीपी)
कभी-कभी, लंबे वाक्यों के लिए उम्मीदवार बहुत छोटे हो सकते हैं और संदर्भ के संबंध में महत्वपूर्ण जानकारी गायब हो सकती है। नीचे दिए गए उदाहरण पर विचार करें:
Reference: "Transformers make everything quick and efficient through
parallel computation of self-attention heads"
Candidate: "Transformers make everything quick and efficient"
दर्ज करें, ब्रेविटी पेनल्टी (बीपी)। इस शब्द का उपयोग उन भविष्यवाणियों को दंडित करने के लिए किया जाता है जो संदर्भों की तुलना में बहुत कम हैं। यह 1 है यदि उम्मीदवार की लंबाई संदर्भ लंबाई से अधिक है। यदि उम्मीदवार की लंबाई संदर्भ से कम है तो r/c > 1, (1 - (r/c)) कम है और एक घातीय क्षय है।
अंतिम बीएलईयू स्कोर प्राप्त करने के लिए एन की गणना और बीपी के साथ गुणा किए जाने तक सभी संशोधित परिशुद्धताओं का ज्यामितीय माध्य। यहां एन एन-ग्राम ऑर्डर है जिसका उपयोग गणना के लिए किया जाना है। सामान्य तौर पर यह 4 होता है यानी गणना के लिए यूनी, बाई, ट्राई और टेट्रा ग्राम सभी पर विचार किया जाता है। उन्हें w_1, w_2,… द्वारा निरूपित भार द्वारा भारित किया जाता है, जो N के आधार पर 1 तक जोड़ते हैं। N = 4 के लिए, वे w_1 = w_2 = w_3 = w_4 = 1/4 हैं।
उपरोक्त उदाहरण वाक्य के लिए, हम देख सकते हैं कि BP की गणना exp(1 — (reference_length/translation_length)) = exp(1 — (6/12)) = 0.37 के रूप में की जाती है। एमपी (1, चूंकि हम केवल यूनीग्राम का उपयोग कर रहे हैं) द्वारा गुणा किया गया यह मान 1 के बजाय 0.37 का बहुत कम BLEU स्कोर देता है, जो लापता एन-ग्राम के लिए खाता है।
इस पोस्ट में हमने गणना में आसानी के लिए यूनिग्राम का उपयोग किया है। हालांकि वे अक्सर उम्मीदवारों का मूल्यांकन करने के लिए पर्याप्त नहीं होते हैं क्योंकि यहां शब्द क्रम को नजरअंदाज कर दिया जाता है। उदाहरण के लिए, उम्मीदवार "कुशल ट्रांसफॉर्मर त्वरित भविष्यवाणी करते हैं" वाक्य का अर्थ बदल देता है लेकिन एक उच्च एमपी स्कोर (0.6) देता है क्योंकि संदर्भ में मिलान करने वाले शब्द हैं। इससे बचने के लिए, 2-4 ग्राम के साथ स्कोर का आकलन करना बेहतर होता है।
कॉर्पस BLEU
आसानी से समझने के लिए, हमने अब तक एक टेक्स्ट-जोड़ी का उपयोग किया है, लेकिन BLEU स्कोर की गणना आमतौर पर प्रत्येक उम्मीदवार के लिए एक या अधिक संदर्भों के साथ पूरे कॉर्पस के लिए की जाती है।
आइए अब हम नीचे कॉर्पस के लिए BLEU स्कोर की गणना करें। मान लें कि उम्मीदवार एक अनुवाद प्रणाली के परिणाम हैं।
import evaluate
bleu = evaluate.load('bleu')
predictions = ["Transformers Transformers are fast plus efficient",
"Good Morning", "I am waiting for new Transformers"]
references = [
["HuggingFace Transformers are quick, efficient and awesome",
"Transformers are awesome because they are fast to execute"],
["Good Morning Transformers", "Morning Transformers"],
["People are eagerly waiting for new Transformer models",
"People are very excited about new Transformers"]
]
results = bleu.compute(predictions=predictions, references=references,
max_order = 2)
print(results)
{'bleu': 0.5037930378757725,
'precisions': [0.7142857142857143, 0.5454545454545454],
'brevity_penalty': 0.8071177470053892, 'length_ratio': 0.8235294117647058,
'translation_length': 14, 'reference_length': 17}
इसी तरह, संशोधित परिशुद्धता की गणना बिग्राम के साथ करें जो आउटपुट में सटीक सरणी में दूसरा मान है।
यहाँ वजन w_1 हैं, w_2 1/2 हैं क्योंकि अधिकतम क्रम केवल 2 है। अंतिम स्कोर प्राप्त करने के लिए सटीक मानों के ज्यामितीय माध्य को BP से गुणा किया जाता है। बीपी की गणना करने के लिए, कुल उम्मीदवार की लंबाई 14 (सी) है और प्रभावी संदर्भ लंबाई 17 (आर) है। प्रभावी संदर्भ लंबाई की गणना उन संदर्भों में एन-ग्राम को जोड़ कर की जाती है जो उम्मीदवार के करीब हैं। यहां, संदर्भ के लिए - 1 पहला वाक्य 8 टोकन के साथ चुना गया है, संदर्भ -2 और 3 में 2 और 7 टोकन उनके दूसरे वाक्यों में हैं।
अंतिम BLEU गणना,
Total MP = (0.7142857142857143)^0.5 * (0.5454545454545454)^0.5
Total MP = 0.6241878
Since c < r,
BP = exp(1 - (17/14)) = 0.8071177
BLEU = BP * Total MP = 0.8071177 * 0.6241878 = 0.503793
Rounded BLEU score = 0.5
- BLEU स्कोर की गणना करना आसान है और इसका व्यापक रूप से उपयोग किया जाता है।
- भविष्यवाणी की गुणवत्ता के मानवीय निर्णय के साथ BLEU स्कोर का उच्च सहसंबंध देखा गया है।
- एन-ग्राम के पर्यायवाची तब तक नहीं माने जाते जब तक कि वे संदर्भों में से एक के रूप में मौजूद न हों। ऐसा इसलिए है क्योंकि एन-ग्राम के अर्थ पर ध्यान नहीं दिया जा रहा है। उदाहरण के लिए, "ट्रांसफ़ॉर्मर त्वरित और कुशल हैं" और "ट्रांसफ़ॉर्मर्स का तेज़ निष्पादन समय है" का एक समान अर्थ है लेकिन BLEU-1 स्कोर केवल 0.2 है।
- केवल उच्च-क्रम एन-ग्राम का उपयोग करके शब्द क्रम की समस्या को हल नहीं किया जा सकता है। उदाहरण के लिए, उम्मीदवार "त्वरित और कुशल ट्रांसफॉर्मर हैं" संदर्भ के साथ "ट्रांसफॉर्मर त्वरित और कुशल हैं" उच्च BLEU-2 स्कोर (0.87) देता है लेकिन अनुवाद को सही नहीं माना जा सकता है।
- संदर्भों की संख्या, सामान्यीकरण और टोकन तकनीक आदि जैसे कारकों के आधार पर BLEU स्कोर बहुत भिन्न होता है, इस कारण से विभिन्न तकनीकों का उपयोग करने वाले डेटासेट में तुलना के लिए उनका उपयोग करना मुश्किल होता है।
संदर्भ
मैं डेटा साइंस @ टीयू डॉर्टमुंड में मास्टर्स का छात्र हूं। मेरी पोस्ट या किसी पेशेवर संचार पर किसी भी प्रतिक्रिया के लिए लिंक्डइन पर मुझसे बेझिझक जुड़ें ।