भावना विश्लेषण आश्चर्यजनक रूप से सटीक है और आप इसे आज़माने के लिए यह सरल टिंकर ऐप बना सकते हैं।

भावना विश्लेषण पाठ के एक टुकड़े के भावनात्मक स्वर को निर्धारित करने की एक तकनीक है। यह प्राकृतिक भाषा प्रसंस्करण, पाठ विश्लेषण और कम्प्यूटेशनल भाषाविज्ञान का उपयोग करता है। इसका उपयोग करके आप स्वर को सकारात्मक, तटस्थ या नकारात्मक में वर्गीकृत कर सकते हैं। इससे व्यवसायों को सोशल मीडिया, समीक्षाओं और सर्वेक्षणों पर ग्राहकों की प्रतिक्रिया का विश्लेषण करने में मदद मिलती है।

इस डेटा के आधार पर, वे अपने उत्पादों और अभियानों को अधिक प्रभावी ढंग से रणनीति बना सकते हैं। जानें कि आप पायथन का उपयोग करके भावनाओं का पता लगाने वाला एप्लिकेशन कैसे बना सकते हैं।

टिंकर और वेडरसेंटिमेंट मॉड्यूल

टिंकर आपको डेस्कटॉप एप्लिकेशन बनाने की अनुमति देता है। यह बटन, लेबल और टेक्स्ट बॉक्स जैसे विभिन्न प्रकार के विजेट प्रदान करता है जो ऐप्स विकसित करना आसान बनाता है। आप इसके लिए टिंकर का उपयोग कर सकते हैं पायथन में एक डिक्शनरी ऐप बनाएं या करने के लिए अपना स्वयं का समाचार एप्लिकेशन बनाएं जो एपीआई के माध्यम से कहानियों को अपडेट करता है.

instagram viewer

टिंकर स्थापित करने के लिए, एक टर्मिनल खोलें और चलाएं:

पिप इंस्टॉल टिंकर

VADER (वैलेंस अवेयर डिक्शनरी और सेंटीमेंट रीज़नर) एक शब्दकोष और नियम-आधारित भावना विश्लेषण उपकरण है। यह पूर्व-निर्मित है और व्यापक रूप से उपयोग किया जाता है प्राकृतिक भाषा प्रसंस्करण. एल्गोरिदम में पूर्वनिर्धारित शब्दों का एक सेट होता है जो विभिन्न भावनाओं का प्रतिनिधित्व करता है। वाक्य में पाए गए शब्दों के आधार पर, यह एल्गोरिदम एक ध्रुवीयता स्कोर देता है। इस स्कोर का उपयोग करके, आप पहचान सकते हैं कि वाक्य सकारात्मक है, नकारात्मक है या तटस्थ है।

पायथन में vaderSentiment पैकेज स्थापित करने के लिए, यह टर्मिनल कमांड चलाएँ:

पिप इंस्टाल vaderSentiment

पायथन का उपयोग करके भावनाओं का पता कैसे लगाएं

आप इस नमूना प्रोग्राम का स्रोत कोड इसमें पा सकते हैं गिटहब रिपॉजिटरी.

आवश्यक VADER और tkinter मॉड्यूल आयात करके प्रारंभ करें:

से vaderSentiment.vaderSentiment आयात सेंटिमेंटइंटेंसिटी एनालाइज़र
से tkinter आयात *

फिर एक फ़ंक्शन परिभाषित करें, सभी साफ करें(). इसका उद्देश्य इनपुट फ़ील्ड साफ़ करना है, जो आप इसका उपयोग करके कर सकते हैं मिटाना() के आरंभिक सूचकांक से विधि 0 अंतिम सूचकांक तक, अंत.

डीईएफ़सभी साफ करें():
NegativeField.delete(0, अंत)
न्यूट्रलफ़ील्ड.डिलीट(0, अंत)
पॉजिटिवफ़ील्ड.डिलीट(0, अंत)
समग्रफ़ील्ड.डिलीट(0, अंत)
टेक्स्टएरिया.डिलीट(1.0, अंत)

एक फ़ंक्शन परिभाषित करें, पता लगाएं_भावना(). में दर्ज शब्द को लाने के लिए get विधि का उपयोग करें पाठ क्षेत्र विजेट बनाएं और एक ऑब्जेक्ट बनाएं सेंटिमेंटइंटेंसिटी एनालाइज़र कक्षा। उपयोग ध्रुवीयता_स्कोर आपके द्वारा प्राप्त पाठ पर विधि और VADER भावना विश्लेषण एल्गोरिदम लागू करें।

डीईएफ़डिटेक्ट_सेंटिमेंट():
वाक्य = textArea.get("1.0", "अंत")
भावना_ओबीजे = सेंटिमेंटइंटेंसिटीएनालाइज़र()
सेंटीमेंट_डिक्ट = सेंटीमेंट_ओबीजे.पोलारिटी_स्कोर्स (वाक्य)

नकारात्मक भावना स्कोर निकालें('नकारात्मक') और इसे प्रतिशत में परिवर्तित करें। प्राप्त मान को इसमें डालें नकारात्मक फ़ील्ड स्थिति 10 से शुरू. तटस्थ भावना स्कोर के लिए यही प्रक्रिया दोहराएँ('न्यू') और सकारात्मक भावना स्कोर('स्थिति').

 स्ट्रिंग = स्ट्र (सेंटीमेंट_डिक्ट['नकारात्मक'] * 100)
NegativeField.insert(10, डोरी)

स्ट्रिंग = स्ट्र (सेंटीमेंट_डिक्ट['न्यू'] * 100)
न्यूट्रलफील्ड.इन्सर्ट(10, डोरी)

स्ट्रिंग = स्ट्र (सेंटीमेंट_डिक्ट['स्थिति'] * 100)
PositiveField.insert(10, डोरी)

उस यौगिक कुंजी का मान निकालें जिसमें वाक्य की समग्र भावना समाहित हो। यदि मान 0.05 से अधिक या उसके बराबर है, तो वाक्य सकारात्मक है। यदि मान -0.05 से कम या उसके बराबर है, तो वाक्य नकारात्मक है। -0.05 और 0.05 के बीच के मानों के लिए, यह एक तटस्थ कथन है।

अगर भावना_निर्देश['मिश्रण'] >= 0.05:
स्ट्रिंग = "सकारात्मक"
एलिफ़ भावना_निर्देश['मिश्रण'] <= - 0.05:
स्ट्रिंग = "नकारात्मक"
अन्य:
स्ट्रिंग = "तटस्थ"

परिणाम को इसमें डालें समग्र फ़ील्ड 10वें स्थान से:

 समग्र फ़ील्ड.सम्मिलित करें(10, डोरी)

टिंकर का उपयोग करके एक ग्राफिकल यूजर इंटरफ़ेस विंडो प्रारंभ करें। पृष्ठभूमि का रंग, शीर्षक और विंडो के आयाम सेट करें। पाँच लेबल बनाएँ. एक जो उपयोगकर्ता से एक वाक्य दर्ज करने के लिए कहता है और दूसरा चार अलग-अलग भावनाओं के लिए कहता है। वह मूल तत्व सेट करें जिसमें आप उसे रखना चाहते हैं, वह पाठ जो उसे प्रदर्शित होना चाहिए, और पृष्ठभूमि रंग के साथ उसमें फ़ॉन्ट शैली होनी चाहिए।

उपयोगकर्ता से वाक्य प्राप्त करने के लिए एक टेक्स्ट विजेट परिभाषित करें। वह मूल तत्व सेट करें जिसमें आप इसे रखना चाहते हैं, इसकी ऊंचाई, चौड़ाई, फ़ॉन्ट शैली और पृष्ठभूमि का रंग जो इसमें होना चाहिए। तीन बटन परिभाषित करें. एक भावना विश्लेषण करने के लिए, एक उपयोग के बाद सामग्री को साफ़ करने के लिए, और एक एप्लिकेशन से बाहर निकलने के लिए। इसकी मूल विंडो, इसे प्रदर्शित होने वाला टेक्स्ट, इसकी पृष्ठभूमि का रंग, फ़ॉन्ट शैली और क्लिक करने पर आप जिस कमांड को निष्पादित करना चाहते हैं उसे सेट करें।

अगर __नाम__ == "__मुख्य__":
गुई = टीके()
gui.config (पृष्ठभूमि="#A020f0")
गुई.शीर्षक("VADER भावना विश्लेषक")
गुई.ज्योमेट्री("400x700")
EnterText = लेबल (gui, text="अपना वाक्य दर्ज करें:",फ़ॉन्ट="एरियल 15 बोल्ड",बीजी="#A020f0")
नकारात्मक = लेबल (गुई, टेक्स्ट="नकारात्मक प्रतिशत:", फ़ॉन्ट="एरियल 15",बीजी="#A020f0")
तटस्थ = लेबल (गुई, पाठ="न्यूट्रल प्रतिशत:", फ़ॉन्ट="एरियल 15",बीजी="#A020f0")
सकारात्मक = लेबल (गुई, पाठ="सकारात्मक प्रतिशत:", फ़ॉन्ट="एरियल 15",बीजी="#A020f0")
समग्र = लेबल (गुई, टेक्स्ट="कुल मिलाकर वाक्य है:", फ़ॉन्ट="एरियल 15",बीजी="#A020f0")
टेक्स्टएरिया = टेक्स्ट (गुई, ऊंचाई=5, चौड़ाई=25, फ़ॉन्ट="एरियल 15", बीजी="#cf9fff")
चेक = बटन (गुई, टेक्स्ट ="भावना की जाँच करें", बीजी="#e7305b", फ़ॉन्ट=("एरियल", 12, "निडर"), कमांड=डिटेक्ट_सेंटिमेंट)
स्पष्ट = बटन (गुई, पाठ ="साफ़", बीजी="#e7305b", फ़ॉन्ट=("एरियल", 12, "निडर"), कमांड = सभी साफ़ करें)
बाहर निकलें = बटन (गुई, टेक्स्ट ="बाहर निकलना", बीजी="#e7305b", फ़ॉन्ट=("एरियल", 12, "निडर"), कमांड=निकास)

विभिन्न भावनाओं के लिए चार प्रवेश फ़ील्ड परिभाषित करें और उनकी मूल विंडो और फ़ॉन्ट शैलियाँ सेट करें।

 नकारात्मक फ़ील्ड = प्रविष्टि (gui, फ़ॉन्ट ="एरियल 15")
न्यूट्रलफ़ील्ड = प्रवेश (गुई, फ़ॉन्ट="एरियल 15")
सकारात्मक फ़ील्ड = प्रवेश (गुई, फ़ॉन्ट ="एरियल 15")
समग्र फ़ील्ड = प्रविष्टि (गुई, फ़ॉन्ट ="एरियल 15")

समग्र लेआउट के लिए 13 पंक्तियों और तीन स्तंभों वाले ग्रिड का उपयोग करें। विभिन्न तत्वों जैसे लेबल, पाठ प्रविष्टि फ़ील्ड और बटन को विभिन्न पंक्तियों और स्तंभों में दर्शाए अनुसार रखें। जहां भी आवश्यक हो, आवश्यक पैडिंग जोड़ें। ठीक चिपचिपा का विकल्प "डब्ल्यू" इसके सेल के अंदर टेक्स्ट को बाएँ संरेखित करने के लिए।

 EnterText.grid (पंक्ति=0, स्तंभ=2, पैडी=15)
textArea.grid (पंक्ति=1, स्तंभ=2, पैडएक्स=60, पैडी=10, चिपचिपा=डब्ल्यू)
चेक.ग्रिड (पंक्ति=2, स्तंभ=2, पैडी=10)
नकारात्मक.ग्रिड (पंक्ति=3, स्तंभ=2, पैडी=10)
न्यूट्रल.ग्रिड (पंक्ति=5, स्तंभ=2, पैडी=10)
सकारात्मक.ग्रिड (पंक्ति=7, स्तंभ=2, पैडी=10)
समग्र.ग्रिड (पंक्ति=9, स्तंभ=2, पैडी=5)
NegativeField.grid (पंक्ति=4, स्तंभ=2)
न्यूट्रलफ़ील्ड.ग्रिड (पंक्ति=6, स्तंभ=2)
PositiveField.grid (पंक्ति=8, स्तंभ=2)
समग्र फ़ील्ड.ग्रिड (पंक्ति =10, स्तंभ=2, पैडी=10)
क्लियर.ग्रिड (पंक्ति=11, स्तंभ=2, पैडी=10)
बाहर निकलें.ग्रिड (पंक्ति=12, स्तंभ=2, पैडी=10)

मुख्य घेरा() फ़ंक्शन पायथन को टिंकर ईवेंट लूप चलाने और विंडो बंद करने तक ईवेंट सुनने के लिए कहता है।

 gui.mainloop()

सभी कोड को एक साथ रखें और आप भावनाओं का पता लगाने के लिए परिणामी संक्षिप्त प्रोग्राम का उपयोग कर सकते हैं।

पायथन का उपयोग करके भावनाओं का पता लगाने का आउटपुट

इस प्रोग्राम को चलाने पर, VADER सेंटीमेंट एनालाइज़र विंडो प्रकट होती है। जब हमने एक सकारात्मक वाक्य पर प्रोग्राम का परीक्षण किया, तो उसने 79% की सटीकता के साथ इसका पता लगाया। एक तटस्थ कथन और एक नकारात्मक कथन का प्रयास करने पर, प्रोग्राम क्रमशः 100% और 64.3% सटीकता के साथ पता लगाने में सक्षम था।

पायथन का उपयोग करके भावना विश्लेषण के लिए विकल्प

आप भावना विश्लेषण, भाषण टैगिंग और पाठ वर्गीकरण के लिए टेक्स्टब्लॉब का उपयोग कर सकते हैं। इसमें एक सुसंगत एपीआई और एक अंतर्निहित भावना ध्रुवता वर्गीकरणकर्ता है। एनएलटीके एक व्यापक एनएलपी लाइब्रेरी है जिसमें पाठ विश्लेषण के लिए उपकरणों की एक विस्तृत श्रृंखला शामिल है लेकिन शुरुआती लोगों के लिए इसमें सीखने की तीव्र गति है।

सबसे लोकप्रिय उपकरणों में से एक आईबीएम वॉटसन एनएलयू है। यह क्लाउड-आधारित है, कई भाषाओं का समर्थन करता है, और इसमें इकाई पहचान और कुंजी निष्कर्षण जैसी सुविधाएं हैं। जीपीटी की शुरूआत के साथ, आप ओपनएआई एपीआई का उपयोग कर सकते हैं और वास्तविक समय में सटीक और विश्वसनीय ग्राहक भावनाएं प्राप्त करने के लिए इसे अपने अनुप्रयोगों में एकीकृत कर सकते हैं।