|
2 weeks ago | |
---|---|---|
.. | ||
solution | 3 weeks ago | |
README.md | 2 weeks ago | |
assignment.md | 3 weeks ago |
README.md
मशीन लर्निंग के साथ अनुवाद और भावना विश्लेषण
पिछले पाठों में आपने TextBlob
का उपयोग करके एक बुनियादी बॉट बनाना सीखा, जो एक लाइब्रेरी है जो पीछे से मशीन लर्निंग का उपयोग करके संज्ञा वाक्यांश निकालने जैसे बुनियादी प्राकृतिक भाषा प्रसंस्करण (NLP) कार्य करती है। कंप्यूटेशनल भाषाविज्ञान में एक और महत्वपूर्ण चुनौती है एक भाषा से दूसरी भाषा में वाक्य का सटीक अनुवाद।
प्री-लेक्चर क्विज़
अनुवाद एक बहुत कठिन समस्या है, क्योंकि दुनिया में हजारों भाषाएँ हैं और प्रत्येक की व्याकरणिक नियम बहुत अलग हो सकते हैं। एक दृष्टिकोण यह है कि एक भाषा, जैसे अंग्रेज़ी, के औपचारिक व्याकरण नियमों को एक गैर-भाषा-निर्भर संरचना में परिवर्तित किया जाए, और फिर इसे दूसरी भाषा में वापस परिवर्तित करके अनुवाद किया जाए। इस दृष्टिकोण में निम्नलिखित चरण शामिल होते हैं:
- पहचान। इनपुट भाषा के शब्दों को संज्ञा, क्रिया आदि में टैग करें।
- अनुवाद बनाना। लक्ष्य भाषा प्रारूप में प्रत्येक शब्द का सीधा अनुवाद तैयार करें।
उदाहरण वाक्य, अंग्रेज़ी से आयरिश
'अंग्रेज़ी' में, वाक्य I feel happy तीन शब्दों में होता है:
- विषय (I)
- क्रिया (feel)
- विशेषण (happy)
हालांकि, 'आयरिश' भाषा में, वही वाक्य का व्याकरणिक ढांचा बहुत अलग होता है - भावनाओं जैसे "happy" या "sad" को आप पर होने के रूप में व्यक्त किया जाता है।
अंग्रेज़ी वाक्य I feel happy
का आयरिश में अनुवाद Tá athas orm
होगा। इसका शाब्दिक अनुवाद होगा Happy is upon me
।
एक आयरिश वक्ता जो अंग्रेज़ी में अनुवाद कर रहा है, वह कहेगा I feel happy
, न कि Happy is upon me
, क्योंकि वह वाक्य का अर्थ समझता है, भले ही शब्द और वाक्य संरचना अलग हों।
आयरिश में वाक्य का औपचारिक क्रम है:
- क्रिया (Tá या is)
- विशेषण (athas, या happy)
- विषय (orm, या upon me)
अनुवाद
एक साधारण अनुवाद प्रोग्राम केवल शब्दों का अनुवाद कर सकता है, वाक्य संरचना को नज़रअंदाज करते हुए।
✅ यदि आपने वयस्क के रूप में दूसरी (या तीसरी या अधिक) भाषा सीखी है, तो आपने शायद अपनी मूल भाषा में सोचकर शुरुआत की होगी, अपने दिमाग में एक अवधारणा को शब्द दर शब्द दूसरी भाषा में अनुवाद किया होगा, और फिर अपनी अनुवादित बात को बोल दिया होगा। यह वही है जो साधारण अनुवाद कंप्यूटर प्रोग्राम करते हैं। इस चरण को पार करना और प्रवाह प्राप्त करना महत्वपूर्ण है!
साधारण अनुवाद खराब (और कभी-कभी मज़ेदार) गलत अनुवादों की ओर ले जाता है: I feel happy
का शाब्दिक अनुवाद आयरिश में Mise bhraitheann athas
होता है। इसका मतलब (शाब्दिक रूप से) me feel happy
है और यह एक वैध आयरिश वाक्य नहीं है। भले ही अंग्रेज़ी और आयरिश दो निकटवर्ती द्वीपों पर बोली जाने वाली भाषाएँ हैं, वे बहुत अलग भाषाएँ हैं जिनके व्याकरणिक ढांचे अलग हैं।
आप आयरिश भाषाई परंपराओं के बारे में कुछ वीडियो देख सकते हैं जैसे यह
मशीन लर्निंग दृष्टिकोण
अब तक, आपने प्राकृतिक भाषा प्रसंस्करण के औपचारिक नियम दृष्टिकोण के बारे में सीखा है। एक और दृष्टिकोण यह है कि शब्दों के अर्थ को नज़रअंदाज किया जाए, और इसके बजाय मशीन लर्निंग का उपयोग करके पैटर्न का पता लगाया जाए। यदि आपके पास बहुत सारे पाठ (एक कॉर्पस) या मूल और लक्ष्य भाषाओं में पाठ (कॉर्पोरा) हैं, तो यह अनुवाद में काम कर सकता है।
उदाहरण के लिए, Pride and Prejudice का मामला लें, जो 1813 में जेन ऑस्टेन द्वारा लिखित एक प्रसिद्ध अंग्रेज़ी उपन्यास है। यदि आप पुस्तक को अंग्रेज़ी में और फ्रेंच में पुस्तक के मानव अनुवाद को देखते हैं, तो आप एक में वाक्यांशों का पता लगा सकते हैं जो दूसरे में मुहावरेदार रूप से अनुवादित हैं। आप इसे कुछ ही समय में करेंगे।
उदाहरण के लिए, जब अंग्रेज़ी वाक्यांश I have no money
का शाब्दिक अनुवाद फ्रेंच में किया जाता है, तो यह Je n'ai pas de monnaie
बन सकता है। "Monnaie" एक मुश्किल फ्रेंच 'false cognate' है, क्योंकि 'money' और 'monnaie' समानार्थी नहीं हैं। एक बेहतर अनुवाद जो एक मानव कर सकता है वह होगा Je n'ai pas d'argent
, क्योंकि यह बेहतर तरीके से यह अर्थ व्यक्त करता है कि आपके पास पैसे नहीं हैं (न कि 'loose change' जो 'monnaie' का अर्थ है)।
छवि Jen Looper द्वारा
यदि किसी ML मॉडल के पास पर्याप्त मानव अनुवाद हैं जिन पर मॉडल बनाया जा सकता है, तो यह उन पाठों में सामान्य पैटर्न की पहचान करके अनुवाद की सटीकता में सुधार कर सकता है जिन्हें पहले दोनों भाषाओं के विशेषज्ञ मानव वक्ताओं द्वारा अनुवादित किया गया है।
अभ्यास - अनुवाद
आप वाक्यों का अनुवाद करने के लिए TextBlob
का उपयोग कर सकते हैं। Pride and Prejudice की प्रसिद्ध पहली पंक्ति आज़माएं:
from textblob import TextBlob
blob = TextBlob(
"It is a truth universally acknowledged, that a single man in possession of a good fortune, must be in want of a wife!"
)
print(blob.translate(to="fr"))
TextBlob
अनुवाद का काफी अच्छा काम करता है: "C'est une vérité universellement reconnue, qu'un homme célibataire en possession d'une bonne fortune doit avoir besoin d'une femme!".
यह तर्क दिया जा सकता है कि TextBlob का अनुवाद वास्तव में 1932 में V. Leconte और Ch. Pressoir द्वारा पुस्तक के फ्रेंच अनुवाद की तुलना में कहीं अधिक सटीक है:
"C'est une vérité universelle qu'un célibataire pourvu d'une belle fortune doit avoir envie de se marier, et, si peu que l'on sache de son sentiment à cet egard, lorsqu'il arrive dans une nouvelle résidence, cette idée est si bien fixée dans l'esprit de ses voisins qu'ils le considèrent sur-le-champ comme la propriété légitime de l'une ou l'autre de leurs filles."
इस मामले में, ML द्वारा सूचित अनुवाद मानव अनुवादक से बेहतर काम करता है, जो 'स्पष्टता' के लिए मूल लेखक के शब्दों में अनावश्यक रूप से शब्द जोड़ रहा है।
यहाँ क्या हो रहा है? और TextBlob अनुवाद में इतना अच्छा क्यों है? खैर, पर्दे के पीछे, यह Google Translate का उपयोग कर रहा है, एक परिष्कृत AI जो लाखों वाक्यांशों को पार्स करके कार्य के लिए सबसे अच्छे स्ट्रिंग्स की भविष्यवाणी करने में सक्षम है। यहाँ कुछ भी मैनुअल नहीं हो रहा है और आपको
blob.translate
का उपयोग करने के लिए इंटरनेट कनेक्शन की आवश्यकता है।
✅ कुछ और वाक्य आज़माएं। कौन बेहतर है, ML या मानव अनुवाद? किन मामलों में?
भावना विश्लेषण
मशीन लर्निंग बहुत अच्छी तरह से भावना विश्लेषण में भी काम कर सकती है। भावना का एक गैर-ML दृष्टिकोण यह है कि 'सकारात्मक' और 'नकारात्मक' शब्दों और वाक्यांशों की पहचान की जाए। फिर, दिए गए नए पाठ के लिए, सकारात्मक, नकारात्मक और तटस्थ शब्दों के कुल मान की गणना करें ताकि समग्र भावना की पहचान की जा सके।
यह दृष्टिकोण आसानी से धोखा खा सकता है जैसा कि आपने Marvin कार्य में देखा होगा - वाक्य Great, that was a wonderful waste of time, I'm glad we are lost on this dark road
एक व्यंग्यात्मक, नकारात्मक भावना वाला वाक्य है, लेकिन सरल एल्गोरिदम 'great', 'wonderful', 'glad' को सकारात्मक और 'waste', 'lost' और 'dark' को नकारात्मक के रूप में पहचानता है। समग्र भावना इन विरोधाभासी शब्दों से प्रभावित होती है।
✅ एक पल रुकें और सोचें कि हम मानव वक्ताओं के रूप में व्यंग्य कैसे व्यक्त करते हैं। स्वर का उतार-चढ़ाव इसमें बड़ी भूमिका निभाता है। वाक्य "Well, that film was awesome" को अलग-अलग तरीकों से कहने की कोशिश करें ताकि पता चले कि आपकी आवाज़ अर्थ कैसे व्यक्त करती है।
ML दृष्टिकोण
ML दृष्टिकोण यह होगा कि नकारात्मक और सकारात्मक पाठों को मैन्युअल रूप से इकट्ठा किया जाए - ट्वीट्स, या मूवी समीक्षाएँ, या कुछ भी जहाँ मानव ने एक स्कोर और एक लिखित राय दी हो। फिर NLP तकनीकों को राय और स्कोर पर लागू किया जा सकता है, ताकि पैटर्न उभरें (जैसे, सकारात्मक मूवी समीक्षाओं में 'Oscar worthy' वाक्यांश नकारात्मक मूवी समीक्षाओं की तुलना में अधिक होता है, या सकारात्मक रेस्तरां समीक्षाएँ 'gourmet' शब्द का उपयोग 'disgusting' की तुलना में अधिक करती हैं)।
⚖️ उदाहरण: यदि आप किसी राजनेता के कार्यालय में काम करते हैं और कोई नया कानून बहस के लिए है, तो नागरिक कार्यालय को उस विशेष नए कानून के समर्थन में या उसके खिलाफ ईमेल लिख सकते हैं। मान लें कि आपको ईमेल पढ़ने और उन्हें 2 ढेरों में छाँटने का काम सौंपा गया है, समर्थन में और विरोध में। यदि ईमेल की संख्या अधिक हो, तो आप सभी को पढ़ने के प्रयास में अभिभूत हो सकते हैं। क्या यह अच्छा नहीं होगा कि एक बॉट सभी को पढ़ सके, उन्हें समझ सके और आपको बता सके कि प्रत्येक ईमेल किस ढेर में है?
इसे प्राप्त करने का एक तरीका मशीन लर्निंग का उपयोग करना है। आप मॉडल को विरोध में ईमेल और समर्थन में ईमेल के एक हिस्से के साथ प्रशिक्षित करेंगे। मॉडल वाक्यांशों और शब्दों को विरोध पक्ष और समर्थन पक्ष के साथ जोड़ने की प्रवृत्ति रखेगा, लेकिन यह किसी भी सामग्री को नहीं समझेगा, केवल यह कि कुछ शब्द और पैटर्न विरोध में या समर्थन में ईमेल में अधिक संभावना से दिखाई देते हैं। आप इसे कुछ ईमेल के साथ परीक्षण कर सकते हैं जिन्हें आपने मॉडल को प्रशिक्षित करने के लिए उपयोग नहीं किया था, और देख सकते हैं कि क्या यह आपके द्वारा किए गए निष्कर्ष पर आता है। फिर, एक बार जब आप मॉडल की सटीकता से संतुष्ट हो जाते हैं, तो आप भविष्य के ईमेल को पढ़े बिना ही प्रोसेस कर सकते हैं।
✅ क्या यह प्रक्रिया उन प्रक्रियाओं जैसी लगती है जिन्हें आपने पिछले पाठों में उपयोग किया है?
अभ्यास - भावनात्मक वाक्य
भावना को पोलारिटी के साथ -1 से 1 तक मापा जाता है, जिसका अर्थ है -1 सबसे नकारात्मक भावना है, और 1 सबसे सकारात्मक। भावना को 0 - 1 स्कोर के साथ वस्तुनिष्ठता (0) और व्यक्तिपरकता (1) के लिए भी मापा जाता है।
जेन ऑस्टेन की Pride and Prejudice पर फिर से नज़र डालें। पाठ यहाँ Project Gutenberg पर उपलब्ध है। नीचे दिया गया नमूना एक छोटा प्रोग्राम दिखाता है जो पुस्तक की पहली और अंतिम पंक्तियों की भावना का विश्लेषण करता है और इसकी भावना पोलारिटी और व्यक्तिपरकता/वस्तुनिष्ठता स्कोर प्रदर्शित करता है।
आपको इस कार्य में TextBlob
लाइब्रेरी (ऊपर वर्णित) का उपयोग करके sentiment
निर्धारित करना चाहिए (आपको अपना खुद का भावना कैलकुलेटर लिखने की आवश्यकता नहीं है)।
from textblob import TextBlob
quote1 = """It is a truth universally acknowledged, that a single man in possession of a good fortune, must be in want of a wife."""
quote2 = """Darcy, as well as Elizabeth, really loved them; and they were both ever sensible of the warmest gratitude towards the persons who, by bringing her into Derbyshire, had been the means of uniting them."""
sentiment1 = TextBlob(quote1).sentiment
sentiment2 = TextBlob(quote2).sentiment
print(quote1 + " has a sentiment of " + str(sentiment1))
print(quote2 + " has a sentiment of " + str(sentiment2))
आप निम्नलिखित आउटपुट देखते हैं:
It is a truth universally acknowledged, that a single man in possession of a good fortune, must be in want # of a wife. has a sentiment of Sentiment(polarity=0.20952380952380953, subjectivity=0.27142857142857146)
Darcy, as well as Elizabeth, really loved them; and they were
both ever sensible of the warmest gratitude towards the persons
who, by bringing her into Derbyshire, had been the means of
uniting them. has a sentiment of Sentiment(polarity=0.7, subjectivity=0.8)
चुनौती - भावना पोलारिटी की जाँच करें
आपका कार्य भावना पोलारिटी का उपयोग करके यह निर्धारित करना है कि Pride and Prejudice में बिल्कुल सकारात्मक वाक्य अधिक हैं या बिल्कुल नकारात्मक। इस कार्य के लिए, आप मान सकते हैं कि पोलारिटी स्कोर 1 या -1 बिल्कुल सकारात्मक या नकारात्मक है।
चरण:
- Pride and Prejudice की एक प्रति को Project Gutenberg से .txt फ़ाइल के रूप में डाउनलोड करें। फ़ाइल की शुरुआत और अंत में मेटाडेटा को हटा दें, केवल मूल पाठ छोड़ दें।
- फ़ाइल को Python में खोलें और सामग्री को एक स्ट्रिंग के रूप में निकालें।
- पुस्तक स्ट्रिंग का उपयोग करके एक TextBlob बनाएं।
- पुस्तक में प्रत्येक वाक्य का एक लूप में विश्लेषण करें।
- यदि पोलारिटी 1 या -1 है तो वाक्य को सकारात्मक या नकारात्मक संदेशों की एक सूची में संग्रहीत करें।
- अंत में, सभी सकारात्मक वाक्य और नकारात्मक वाक्य (अलग-अलग) और प्रत्येक की संख्या प्रिंट करें।
यहाँ एक नमूना समाधान है।
✅ ज्ञान जाँच
- भावना वाक्य में उपयोग किए गए शब्दों पर आधारित है, लेकिन क्या कोड शब्दों को समझता है?
- क्या आपको लगता है कि भावना पोलारिटी सटीक है, या दूसरे शब्दों में, क्या आप स्कोर से सहमत हैं?
- विशेष रूप से, क्या आप निम्नलिखित वाक्यों की बिल्कुल सकारात्मक पोलारिटी से सहमत हैं या असहमत हैं?
- “What an excellent father you have, girls!” said she, when the door was shut.
- “Your examination of Mr. Darcy is over, I presume,” said Miss Bingley; “and pray what is the result?” “I am perfectly convinced by it that Mr. Darcy has no defect.
- How wonderfully these sort of things occur!
- I have the greatest dislike in the world to that sort of thing.
- Charlotte is an excellent manager, I dare say.
- “This is delightful indeed!
- I am so happy!
- Your idea of the ponies is delightful.
- अगले 3 वाक्यों को बिल्कुल सकारात्मक भावना के साथ स्कोर किया गया था, लेकिन करीब से पढ़ने पर, वे सकारात्मक वाक्य नहीं हैं। भावना विश्लेषण ने उन्हें सकारात्मक वाक्य क्यों समझा?
- Happy shall I be, when his stay at Netherfield is over!” “I wish I could say anything to comfort you,” replied Elizabeth; “but it is wholly out of my power.
- If I could but see you as happy!
- Our distress, my dear Lizzy, is very great.
- क्या आप निम्नलिखित वाक्यों की बिल्कुल नकारात्मक पोलारिटी से सहमत हैं या असहमत हैं?
- Everybody is disgusted with his pride.
- “I should like to know how he behaves among strangers.” “You shall hear then—but prepare yourself for something very dreadful.
- The pause was to Elizabeth’s feelings dreadful.
- It would be dreadful!
- विशेष रूप से, क्या आप निम्नलिखित वाक्यों की बिल्कुल सकारात्मक पोलारिटी से सहमत हैं या असहमत हैं?
✅ जेन ऑस्टेन के किसी भी प्रशंसक को समझ में आएगा कि वह अक्सर अपनी पुस्तकों का उपयोग अंग्रेज़ी रीजेंसी समाज के अधिक हास्यास्पद पहलुओं की आलोचना करने के लिए करती हैं। Pride and Prejudice की मुख्य पात्र एलिज़ाबेथ बेनेट एक तेज सामाजिक पर्यवेक्षक हैं (जैसे कि लेखक) और उनकी भाषा अक्सर बहुत सूक्ष्म होती है। यहां तक कि मिस्टर डार्सी (कहानी का प्रेम पात्र) भी एलिज़ाबेथ की चंचल और चिढ़ाने वाली भाषा का उपयोग नोट करते हैं: "I have had the pleasure of your acquaintance long enough to know that you find great enjoyment in occasionally professing opinions which in fact are not your own."
🚀चुनौती
क्या आप Marvin को और बेहतर बना सकते हैं उपयोगकर्ता इनपुट से अन्य विशेषताओं को निकालकर?
पोस्ट-लेक्चर क्विज़
समीक्षा और स्व-अध्ययन
पाठ से भावना निकालने के कई तरीके हैं। उन व्यावसायिक अनुप्रयोगों के बारे में सोचें जो इस तकनीक का उपयोग कर सकते हैं। यह कैसे गलत हो सकता है, इस पर विचार करें। उन उन्नत एंटरप्राइज़-रेडी सिस्टम के बारे में अधिक पढ़ें जो भावना का विश्लेषण करते हैं, जैसे Azure Text Analysis। ऊपर दिए गए Pride and Prejudice के कुछ वाक्यों का परीक्षण करें और देखें कि क्या यह सूक्ष्मता का पता लगा सकता है।
असाइनमेंट
अस्वीकरण:
यह दस्तावेज़ AI अनुवाद सेवा Co-op Translator का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयासरत हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को आधिकारिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।