You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ML-For-Beginners/translations/mr/6-NLP/1-Introduction-to-NLP
leestott f915efe2b4
🌐 Update translations via Co-op Translator
2 weeks ago
..
README.md 🌐 Update translations via Co-op Translator 2 weeks ago
assignment.md 🌐 Update translations via Co-op Translator 3 weeks ago

README.md

नैसर्गिक भाषा प्रक्रिया परिचय

ही धडा नैसर्गिक भाषा प्रक्रिया या संगणकीय भाषाशास्त्र उपक्षेत्राचा थोडक्यात इतिहास आणि महत्त्वाच्या संकल्पनांचा आढावा घेते.

पूर्व-व्याख्यान प्रश्नमंजुषा

परिचय

NLP, ज्याला सामान्यतः ओळखले जाते, हे मशीन लर्निंग जिथे लागू केले गेले आहे आणि उत्पादन सॉफ्टवेअरमध्ये वापरले गेले आहे अशा सर्वात प्रसिद्ध क्षेत्रांपैकी एक आहे.

तुम्ही दररोज वापरत असलेल्या अशा सॉफ्टवेअरबद्दल विचार करू शकता ज्यामध्ये कदाचित काही NLP समाविष्ट आहे? तुमच्या शब्द प्रक्रिया प्रोग्राम्स किंवा मोबाईल अ‍ॅप्सबद्दल काय जे तुम्ही नियमितपणे वापरता?

तुम्ही शिकाल:

  • भाषांचा विचार. भाषांचा विकास कसा झाला आणि अभ्यासाचे प्रमुख क्षेत्र कोणते आहेत.
  • परिभाषा आणि संकल्पना. तुम्ही संगणक मजकूर कसा प्रक्रिया करतो याबद्दल परिभाषा आणि संकल्पना देखील शिकाल, ज्यामध्ये पार्सिंग, व्याकरण, आणि नाम व क्रियापद ओळखणे समाविष्ट आहे. या धड्यात काही कोडिंग कार्ये आहेत आणि काही महत्त्वाच्या संकल्पना सादर केल्या जातात ज्या तुम्ही पुढील धड्यांमध्ये कोड करायला शिकाल.

संगणकीय भाषाशास्त्र

संगणकीय भाषाशास्त्र हे अनेक दशकांपासून संशोधन आणि विकासाचे क्षेत्र आहे जे अभ्यास करते की संगणक भाषांसोबत कसे कार्य करू शकतात, समजू शकतात, भाषांतर करू शकतात आणि संवाद साधू शकतात. नैसर्गिक भाषा प्रक्रिया (NLP) हे संबंधित क्षेत्र आहे जे संगणक 'नैसर्गिक', किंवा मानवी, भाषा कशा प्रक्रिया करू शकतात यावर लक्ष केंद्रित करते.

उदाहरण - फोन डिक्टेशन

जर तुम्ही कधी टाइप करण्याऐवजी तुमच्या फोनवर बोलले असेल किंवा व्हर्च्युअल सहाय्यकाला प्रश्न विचारला असेल, तर तुमचे भाषण मजकूर स्वरूपात रूपांतरित केले गेले आणि नंतर तुम्ही बोललेल्या भाषेतून प्रक्रिया किंवा पार्स केले गेले. ओळखलेले कीवर्ड नंतर फोन किंवा सहाय्यक समजू शकतील आणि त्यावर कृती करू शकतील अशा स्वरूपात प्रक्रिया केली गेली.

समज

खऱ्या भाषाशास्त्रीय समजणे कठीण आहे! प्रतिमा Jen Looper यांच्याकडून

ही तंत्रज्ञान कसे शक्य झाले?

हे शक्य झाले कारण कोणीतरी संगणक प्रोग्राम लिहिला. काही दशकांपूर्वी, काही विज्ञान कल्पनारम्य लेखकांनी भाकीत केले होते की लोक मुख्यतः त्यांच्या संगणकांशी बोलतील आणि संगणक नेहमीच त्यांना काय म्हणायचे आहे ते अचूकपणे समजतील. दुर्दैवाने, हे अनेकांनी कल्पना केलेल्या समस्येपेक्षा कठीण समस्या ठरले, आणि जरी आज ही समस्या चांगल्या प्रकारे समजली गेली आहे, तरीही वाक्याचा अर्थ समजून घेण्याच्या बाबतीत 'परिपूर्ण' नैसर्गिक भाषा प्रक्रिया साध्य करण्यात महत्त्वपूर्ण आव्हाने आहेत. विनोद समजणे किंवा वाक्यातील व्यंग ओळखणे यासारख्या भावना समजून घेणे ही विशेषतः कठीण समस्या आहे.

या टप्प्यावर, तुम्हाला शाळेतील वर्ग आठवत असतील जिथे शिक्षकाने वाक्यातील व्याकरणाचे भाग शिकवले होते. काही देशांमध्ये, विद्यार्थ्यांना व्याकरण आणि भाषाशास्त्र एक समर्पित विषय म्हणून शिकवले जाते, परंतु अनेकांमध्ये, हे विषय भाषा शिकण्याचा भाग म्हणून समाविष्ट केले जातात: प्राथमिक शाळेत तुमची पहिली भाषा (वाचणे आणि लिहिणे शिकणे) आणि कदाचित माध्यमिक शाळेत दुसरी भाषा. नाम आणि क्रियापद किंवा क्रियाविशेषण आणि विशेषण यामधील फरक ओळखण्यात तुम्हाला अडचण येत असल्यास काळजी करू नका!

जर तुम्हाला साधा वर्तमानकाळ आणि वर्तमान प्रगत यामधील फरक समजण्यात अडचण येत असेल, तर तुम्ही एकटे नाही. हे अनेक लोकांसाठी, अगदी भाषेचे मूळ बोलणाऱ्यांसाठीही आव्हानात्मक आहे. चांगली बातमी म्हणजे संगणक औपचारिक नियम लागू करण्यात खूप चांगले आहेत, आणि तुम्ही कोड लिहायला शिकाल जे वाक्य पार्स करू शकते तसेच माणूस करू शकतो. मोठे आव्हान तुम्ही नंतर तपासाल ते म्हणजे वाक्याचा अर्थ आणि भावना समजून घेणे.

पूर्वअटी

या धड्यासाठी मुख्य पूर्वअट म्हणजे या धड्याची भाषा वाचणे आणि समजणे. येथे कोणतेही गणिताचे प्रश्न किंवा समीकरणे सोडवायची नाहीत. मूळ लेखकाने हा धडा इंग्रजीत लिहिला असला तरी तो इतर भाषांमध्येही अनुवादित केला आहे, त्यामुळे तुम्ही अनुवाद वाचत असाल. काही उदाहरणे आहेत जिथे अनेक वेगवेगळ्या भाषांचा वापर केला जातो (वेगवेगळ्या व्याकरण नियमांची तुलना करण्यासाठी). हे अनुवादित नाहीत, परंतु स्पष्टीकरणात्मक मजकूर अनुवादित आहे, त्यामुळे अर्थ स्पष्ट असावा.

कोडिंग कार्यांसाठी, तुम्ही Python वापराल आणि उदाहरणे Python 3.8 वापरून आहेत.

या विभागात, तुम्हाला आवश्यक असेल आणि तुम्ही वापराल:

  • Python 3 समज. Python 3 मध्ये प्रोग्रामिंग भाषा समज, या धड्यात इनपुट, लूप्स, फाइल वाचन, अ‍ॅरे वापरले जातात.

  • Visual Studio Code + विस्तार. आम्ही Visual Studio Code आणि त्याचा Python विस्तार वापरू. तुम्ही तुमच्या पसंतीच्या Python IDE देखील वापरू शकता.

  • TextBlob. TextBlob ही Python साठी एक सोपी मजकूर प्रक्रिया लायब्ररी आहे. तुमच्या सिस्टमवर ते स्थापित करण्यासाठी TextBlob साइटवरील सूचनांचे अनुसरण करा (खाली दाखवल्याप्रमाणे कॉर्पोरा देखील स्थापित करा):

    pip install -U textblob
    python -m textblob.download_corpora
    

💡 टिप: तुम्ही Python थेट VS Code वातावरणात चालवू शकता. अधिक माहितीसाठी docs तपासा.

मशीनशी संवाद साधणे

संगणकांना मानवी भाषा समजून घेण्याचा प्रयत्न करण्याचा इतिहास अनेक दशकांपूर्वीचा आहे, आणि नैसर्गिक भाषा प्रक्रिया विचार करणारे सर्वात पहिले शास्त्रज्ञ Alan Turing होते.

'ट्युरिंग चाचणी'

जेव्हा ट्युरिंग 1950 च्या दशकात कृत्रिम बुद्धिमत्ता संशोधन करत होते, तेव्हा त्यांनी विचार केला की मानवी आणि संगणक (टाइप केलेल्या पत्रव्यवहाराद्वारे) यांना संभाषण चाचणी दिली जाऊ शकते जिथे संभाषणातील माणसाला खात्री नसते की ते दुसऱ्या माणसाशी बोलत आहेत की संगणकाशी.

जर, विशिष्ट कालावधीच्या संभाषणानंतर, माणूस हे ठरवू शकला नाही की उत्तर संगणकाकडून आले आहे की नाही, तर संगणकाला विचार करणे म्हणता येईल का?

प्रेरणा - 'द इमिटेशन गेम'

याची कल्पना एका पार्टी गेममधून आली ज्याला द इमिटेशन गेम म्हणतात जिथे एक चौकशी करणारा एका खोलीत एकटा असतो आणि त्याला ठरवायचे असते की दुसऱ्या खोलीतील दोन व्यक्तींपैकी कोण पुरुष आहे आणि कोण स्त्री आहे. चौकशी करणारा नोट्स पाठवू शकतो आणि अशा प्रश्नांचा विचार करावा लागतो जिथे लिखित उत्तरांमधून रहस्यमय व्यक्तीचे लिंग उघड होते. अर्थात, दुसऱ्या खोलीतील खेळाडू चौकशी करणाऱ्याला गोंधळात टाकण्यासाठी किंवा दिशाभूल करण्यासाठी प्रश्नांची उत्तरे देण्याचा प्रयत्न करतात, तसेच प्रामाणिकपणे उत्तर देण्याचे स्वरूप देतात.

एलिझा विकसित करणे

1960 च्या दशकात MIT च्या एका शास्त्रज्ञाने Joseph Weizenbaum यांनी Eliza नावाचा संगणक 'थेरपिस्ट' विकसित केला जो मानवी प्रश्न विचारेल आणि त्यांच्या उत्तरांना समजून घेण्याचे स्वरूप देईल. तथापि, जरी एलिझा वाक्य पार्स करू शकत असे आणि विशिष्ट व्याकरणात्मक रचना आणि कीवर्ड ओळखू शकत असे जेणेकरून योग्य उत्तर दिले जाऊ शकते, तरीही त्याला वाक्य समजले असे म्हणता येणार नाही. जर एलिझाला "I am sad" या स्वरूपाचे वाक्य सादर केले गेले तर ते वाक्याचे शब्द पुनर्रचना आणि बदलून "How long have you been sad" असे उत्तर तयार करू शकते.

यामुळे असे वाटले की एलिझाला विधान समजले आणि पुढील प्रश्न विचारला, तर प्रत्यक्षात, ते काळ बदलत होते आणि काही शब्द जोडत होते. जर एलिझाला कीवर्ड ओळखता आला नाही ज्यासाठी त्याच्याकडे उत्तर होते, तर ते त्याऐवजी एक यादृच्छिक उत्तर देईल जे अनेक वेगवेगळ्या विधानांसाठी लागू होऊ शकते. एलिझाला सहजपणे फसवले जाऊ शकते, उदाहरणार्थ जर वापरकर्त्याने "You are a bicycle" असे लिहिले तर ते "How long have I been a bicycle?" असे उत्तर देईल, अधिक तर्कसंगत उत्तर देण्याऐवजी.

एलिझाशी गप्पा

🎥 वरील प्रतिमेवर क्लिक करा मूळ ELIZA प्रोग्रामबद्दल व्हिडिओसाठी

टीप: तुम्ही 1966 मध्ये प्रकाशित Eliza चे मूळ वर्णन ACM खाते असल्यास वाचू शकता. पर्यायाने, wikipedia वर एलिझाबद्दल वाचा.

व्यायाम - मूलभूत संवादात्मक बॉट कोडिंग

संवादात्मक बॉट, एलिझासारखा, हा एक प्रोग्राम आहे जो वापरकर्त्याचा इनपुट घेतो आणि समजून घेतल्यासारखे आणि बुद्धिमत्तेने प्रतिसाद देतो. एलिझाच्या विपरीत, आमच्या बॉटमध्ये बुद्धिमान संभाषण असल्याचे स्वरूप देणारे अनेक नियम असणार नाहीत. त्याऐवजी, आमच्या बॉटमध्ये एकच क्षमता असेल, यादृच्छिक प्रतिसादांसह संभाषण चालू ठेवणे जे जवळजवळ कोणत्याही सामान्य संभाषणात कार्य करू शकते.

योजना

संवादात्मक बॉट तयार करताना तुमचे पायऱ्या:

  1. वापरकर्त्याला बॉटशी संवाद कसा साधायचा याबद्दल सूचना प्रिंट करा
  2. लूप सुरू करा
    1. वापरकर्त्याचा इनपुट स्वीकारा
    2. जर वापरकर्त्याने बाहेर पडण्याची विनंती केली असेल, तर बाहेर पडा
    3. वापरकर्त्याचा इनपुट प्रक्रिया करा आणि प्रतिसाद ठरवा (या प्रकरणात, प्रतिसाद संभाव्य सामान्य प्रतिसादांच्या यादीमधून यादृच्छिक निवड आहे)
    4. प्रतिसाद प्रिंट करा
  3. चरण 2 वर परत जा

बॉट तयार करणे

आता बॉट तयार करूया. आपण काही वाक्ये परिभाषित करून सुरुवात करू.

  1. खालील यादृच्छिक प्रतिसादांसह Python मध्ये स्वतः हा बॉट तयार करा:

    random_responses = ["That is quite interesting, please tell me more.",
                        "I see. Do go on.",
                        "Why do you say that?",
                        "Funny weather we've been having, isn't it?",
                        "Let's change the subject.",
                        "Did you catch the game last night?"]
    

    येथे काही नमुना आउटपुट आहे ज्याने तुम्हाला मार्गदर्शन केले पाहिजे (वापरकर्ता इनपुट > ने सुरू होणाऱ्या ओळींवर आहे):

    Hello, I am Marvin, the simple robot.
    You can end this conversation at any time by typing 'bye'
    After typing each answer, press 'enter'
    How are you today?
    > I am good thanks
    That is quite interesting, please tell me more.
    > today I went for a walk     
    Did you catch the game last night?
    > I did, but my team lost
    Funny weather we've been having, isn't it?
    > yes but I hope next week is better
    Let's change the subject.
    > ok, lets talk about music
    Why do you say that?
    > because I like music!
    Why do you say that?
    > bye
    It was nice talking to you, goodbye!
    

    कार्याचे एक संभाव्य समाधान येथे आहे.

    थांबा आणि विचार करा

    1. तुम्हाला वाटते का की यादृच्छिक प्रतिसाद 'फसवतील' कोणाला वाटेल की बॉटने त्यांना प्रत्यक्षात समजले आहे?
    2. बॉट अधिक प्रभावी होण्यासाठी त्याला कोणत्या वैशिष्ट्यांची आवश्यकता असेल?
    3. जर बॉटला वाक्याचा अर्थ खरोखर 'समजला' असेल, तर त्याला संभाषणातील मागील वाक्यांचा अर्थ 'लक्षात ठेवणे' आवश्यक असेल का?

🚀आव्हान

वरील "थांबा आणि विचार करा" घटकांपैकी एक निवडा आणि त्यांना कोडमध्ये अंमलात आणण्याचा प्रयत्न करा किंवा पेपरवर सोल्यूशन लिहा ज्यामध्ये स्यूडोकोड वापरा.

पुढील धड्यात, तुम्ही नैसर्गिक भाषा पार्सिंग आणि मशीन लर्निंगसाठी इतर अनेक पद्धतींबद्दल शिकाल.

व्याख्यानानंतर प्रश्नमंजुषा

पुनरावलोकन आणि स्व-अभ्यास

खाली दिलेल्या संदर्भांवर एक नजर टाका जे पुढील वाचनाच्या संधी म्हणून आहेत.

संदर्भ

  1. Schubert, Lenhart, "Computational Linguistics", The Stanford Encyclopedia of Philosophy (Spring 2020 Edition), Edward N. Zalta (ed.), URL = https://plato.stanford.edu/archives/spr2020/entries/computational-linguistics/.
  2. Princeton University "About WordNet." WordNet. Princeton University. 2010.

असाइनमेंट

बॉट शोधा


अस्वीकरण:
हा दस्तऐवज AI भाषांतर सेवा Co-op Translator चा वापर करून भाषांतरित करण्यात आला आहे. आम्ही अचूकतेसाठी प्रयत्नशील असलो तरी, कृपया लक्षात घ्या की स्वयंचलित भाषांतरांमध्ये त्रुटी किंवा अचूकतेचा अभाव असू शकतो. मूळ भाषेतील दस्तऐवज हा अधिकृत स्रोत मानला जावा. महत्त्वाच्या माहितीसाठी व्यावसायिक मानवी भाषांतराची शिफारस केली जाते. या भाषांतराचा वापर केल्यामुळे उद्भवलेल्या कोणत्याही गैरसमज किंवा चुकीच्या अर्थासाठी आम्ही जबाबदार राहणार नाही.