आप रोज़ाना AI से बात करते हैं — Siri से मौसम पूछना, किसी कस्टमर सर्विस बॉट से चैट करना, या ChatGPT को कुछ प्रॉम्प्ट देना। लेकिन क्या आपने कभी सोचा है कि मशीन आपकी बात कैसे समझती है?
इसका जवाब है Natural Language Processing (NLP) — AI की वह शाखा जो मशीनों को इंसानी भाषा पढ़ने, समझने और बनाने की क्षमता देती है।
Natural Language Processing भाषाविज्ञान, कंप्यूटर विज्ञान और AI के संगम पर स्थित है। इसका लक्ष्य सुनने में सरल है: कंप्यूटर को भाषा उसी तरह समझाना जैसे इंसान समझते हैं। यह इतना कठिन क्यों है? क्योंकि भाषा बड़ी उलझी हुई होती है:
पृथ्वी पर लगभग 7,000 भाषाएँ बोली जाती हैं, हर एक की अपनी व्याकरण, मुहावरे और सांस्कृतिक बारीकियाँ हैं। GPT-4 जैसे आधुनिक NLP मॉडल 100 से अधिक भाषाओं को संभाल सकते हैं — लेकिन हज़ारों भाषाएँ अभी भी असमर्थित हैं।
NLP तीन प्रमुख युगों से गुज़रा है:
Google शोधकर्ताओं के 2017 के पेपर "Attention Is All You Need" ने Transformer आर्किटेक्चर की शुरुआत की। यह ChatGPT से लेकर Google Translate और GitHub Copilot तक — लगभग हर आधुनिक भाषा AI की नींव है।
मशीन किसी वाक्य को समझने से पहले उसे छोटी इकाइयों यानी टोकन में तोड़ती है।
# Simple word-level tokenisation
sentence = "AI is transforming healthcare!"
tokens = sentence.lower().split()
print(tokens)
# Output: ['ai', 'is', 'transforming', 'healthcare!']
# Modern subword tokenisation (like GPT uses)
# "unhappiness" → ["un", "happiness"]
# "ChatGPT" → ["Chat", "G", "PT"]
# This handles words the model has never seen before!
आधुनिक मॉडल सबवर्ड टोकनाइज़ेशन का उपयोग करते हैं — ये शब्दों को अर्थपूर्ण टुकड़ों में तोड़ते हैं। इसीलिए कोई मॉडल ऐसे शब्दों को भी संभाल सकता है जो उसने पहले कभी नहीं देखे: वह उप-भागों को पहचान लेता है। इसे लेगो की तरह सोचिए: भले ही आपने कभी कोई विशेष किला न देखा हो, आप अलग-अलग ईंटों को समझ सकते हैं।
मशीनें शब्द नहीं समझतीं — वे संख्याएँ समझती हैं। एम्बेडिंग्स हर टोकन को एक वेक्टर में बदलती हैं जो उसका अर्थ दर्शाता है।
# Conceptual example: word embeddings
# Each word becomes a vector in high-dimensional space
embeddings = {
"king": [0.8, 0.2, -0.5, 0.9],
"queen": [0.7, 0.3, -0.5, 0.8],
"man": [0.9, 0.1, 0.4, 0.2],
"woman": [0.8, 0.2, 0.4, 0.1],
}
# The magic: king - man + woman ≈ queen
# Similar meanings → nearby vectors in this number space
एम्बेडिंग्स की खूबसूरत बात: समान अर्थ वाले शब्द इस संख्या-स्थान में एक-दूसरे के पास होते हैं। "खुश" और "प्रसन्न" पड़ोसी होंगे; "खुश" और "भूकंप" बहुत दूर।
अगर एम्बेडिंग्स अर्थ को संख्याओं में कैद करती हैं, तो क्या होता है जब किसी शब्द के कई अर्थ हों? "बैंक" (नदी का किनारा बनाम वित्तीय बैंक) को संदर्भ के अनुसार अलग-अलग वेक्टर चाहिए। यही वह समस्या है जिसे अगला चरण — अटेंशन — हल करता है।
अटेंशन मैकेनिज़्म आधुनिक NLP का गुप्त हथियार है। यह मॉडल को यह पता लगाने देता है कि वाक्य में कौन-से शब्द एक-दूसरे से सबसे अधिक संबंधित हैं। देखिए: "बिल्ली चटाई पर बैठी क्योंकि वह थकी हुई थी।"
"वह" किसे दर्शाता है? बिल्ली को, चटाई को, या बैठने की क्रिया को? आप जानते हैं कि बिल्ली को — और अटेंशन मॉडल को भी यही समझने में मदद करता है।
कल्पना कीजिए कि आप एक शोरगुल वाली पार्टी में हैं। आप एक बातचीत पर "ध्यान" दे सकते हैं और बाकी को अनदेखा कर सकते हैं। AI में अटेंशन भी ऐसे ही काम करता है:
# Simplified attention intuition
sentence = ["The", "cat", "sat", "because", "it", "was", "tired"]
# When processing "it", attention scores might look like:
attention_for_it = {
"The": 0.02, # barely relevant
"cat": 0.65, # highly relevant — "it" refers to "cat"
"sat": 0.10, # somewhat relevant
"because": 0.03, # barely relevant
"it": 0.05, # self-reference
"was": 0.05, # grammar link
"tired": 0.10, # connected to "it"
}
# The model "attends" most to "cat" — correctly linking the pronoun
GPT-4 में लगभग 120 अटेंशन लेयर्स हैं, जिनमें से हर एक टेक्स्ट को अलग नज़रिए से देखती है — व्याकरण, अर्थ, लहज़ा, तथ्यात्मक संबंध। यह ऐसा है जैसे 120 विशेषज्ञ एक ही टेक्स्ट पढ़ें और अपने नोट्स साझा करें।
चैटबॉट NLP के विभिन्न घटकों को मिलाकर एक संवाद प्रणाली बनाता है:
"मौसम कैसा है?" → इंटेंट: get_weather
"लंदन में कल मौसम कैसा रहेगा?" → एंटिटीज़: city=London, date=tomorrow
जवाब ढूँढें और उसे सही प्रारूप में प्रस्तुत करें।
# A simple rule-based chatbot skeleton
def simple_chatbot(user_message):
"""A basic chatbot using intent and entity extraction."""
message = user_message.lower()
# Intent recognition (simplified)
if any(word in message for word in ["weather", "temperature", "rain"]):
intent = "get_weather"
elif any(word in message for word in ["hello", "hi", "hey"]):
intent = "greeting"
elif any(word in message for word in ["bye", "goodbye", "see you"]):
intent = "farewell"
else:
intent = "unknown"
# Entity extraction (simplified)
cities = ["london", "paris", "tokyo", "hyderabad", "amsterdam"]
detected_city = next((c for c in cities if c in message), None)
# Response generation
responses = {
"greeting": "Hello! How can I help you today? 😊",
"farewell": "Goodbye! Have a great day! 👋",
"get_weather": f"Checking weather for {detected_city or 'your area'}... 🌤️",
"unknown": "I'm not sure I understand. Could you rephrase? 🤔",
}
return responses[intent]
# Try it out
print(simple_chatbot("Hi there!"))
print(simple_chatbot("What's the weather in Tokyo?"))
print(simple_chatbot("Tell me a joke"))
| वर्ष | सिस्टम | दृष्टिकोण | क्षमता | |------|--------|----------|--------| | 1966 | ELIZA | पैटर्न मैचिंग | साधारण टेक्स्ट प्रतिस्थापन से थेरेपिस्ट की नकल | | 1995 | ALICE | नियम-आधारित (AIML) | अधिक नियम, फिर भी असली समझ नहीं | | 2011 | Siri | सांख्यिकीय NLP | वेब सर्च के साथ वॉइस-एक्टिवेटेड असिस्टेंट | | 2016 | Alexa / Google Assistant | डीप लर्निंग NLP | संदर्भ और फ़ॉलो-अप सवालों में बेहतर | | 2018 | BERT (Google) | Transformer (द्विदिशात्मक) | दोनों दिशाओं में संदर्भ समझने में सक्षम | | 2022 | ChatGPT (OpenAI) | Transformer (जनरेटिव) | धाराप्रवाह, संदर्भयुक्त बहु-चरण संवाद | | 2024 | GPT-4, Claude, Gemini | मल्टीमोडल ट्रांसफ़ॉर्मर्स | टेक्स्ट, इमेज, कोड और तर्क-शक्ति |
ELIZA (1966) ने कुछ उपयोगकर्ताओं को यह विश्वास दिला दिया कि वे एक असली थेरेपिस्ट से बात कर रहे हैं — इसलिए नहीं कि यह बुद्धिमान था, बल्कि इसलिए कि इंसान स्वाभाविक रूप से बातचीत करने वाले साथी में समझ का अनुमान लगाते हैं। इसे ELIZA प्रभाव कहते हैं, और यह आज भी लागू होता है जब हम अनुमान लगाते हैं कि चैटबॉट्स वाकई में क्या "समझते" हैं।
आधुनिक भाषा मॉडल प्रभावशाली हैं, लेकिन उनकी वास्तविक सीमाएँ हैं:
मॉडल कभी-कभी आत्मविश्वास से भरी लेकिन पूरी तरह गलत जानकारी उत्पन्न करते हैं। वे तथ्य "जानते" नहीं — वे सबसे संभावित अगले शब्द की भविष्यवाणी करते हैं।
भाषा मॉडल ने कभी दुनिया को देखा, छुआ या अनुभव नहीं किया है। वह केवल टेक्स्ट से भाषा के पैटर्न जानता है।
मॉडल एक बार में सीमित मात्रा में टेक्स्ट पर विचार कर सकते हैं। लंबी बातचीत में वे पहले के संदर्भ को "भूल" सकते हैं।
अगर प्रशिक्षण डेटा में पूर्वाग्रह हैं, तो मॉडल उन्हें दोहराता और कभी-कभी बढ़ा भी देता है।
# Illustrating the hallucination concept
def language_model_intuition(prompt):
"""
A language model doesn't retrieve facts — it predicts probable words.
Prompt: "The capital of France is ___"
The model has seen "Paris" follow this pattern thousands of times,
so it predicts "Paris" — not because it 'knows' geography,
but because it's the statistically likely next word.
For rare or ambiguous prompts, it may confidently predict
something entirely wrong — that's a hallucination.
"""
pass # Real models use billions of parameters for this prediction
जब कोई चैटबॉट कहता है "मुझे लगता है" या "मेरा मानना है," तो क्या वह वाकई सोचता या मानता है? यह जानकर कि वह बस अगले शब्द की भविष्यवाणी कर रहा है, आप उसके जवाबों को कैसे समझेंगे? क्या चैटबॉट्स को यह बताना अनिवार्य होना चाहिए कि वे AI हैं?
अब आप समझ गए हैं कि मशीनें भाषा कैसे प्रोसेस करती हैं। अगले पाठ में हम कंप्यूटर विज़न को समझेंगे — मशीनों को देखना सिखाना। आप जानेंगे कि AI कैसे चेहरे पहचानता है, गाड़ियाँ चलाता है, और आपके फ़ोन पर AR फ़िल्टर्स को शक्ति प्रदान करता है!