NLP / NaturalLanguage: यह क्या है, iOS में टेक्स्ट प्रोसेसिंग फ्रेमवर्क

लेखक: IT Sectr प्रकाशित: 2026-07-19 पढ़ने का समय: 8 मिनट

NaturalLanguage Apple का एक फ्रेमवर्क है जो iOS और macOS उपकरणों पर प्राकृतिक भाषा प्रसंस्करण के लिए है, जो टोकनाइज़ेशन, भाषा पहचान, भाषण भाग टैगिंग, लेमेटाइज़ेशन और नामित इकाई पहचान तक पहुँच प्रदान करता है। Apple WWDC 2020 के अनुसार, फ्रेमवर्क सभी विश्लेषण डिवाइस पर ही करता है, बिना सर्वर पर डेटा भेजे, जो उपयोगकर्ता डेटा की गोपनीयता सुनिश्चित करता है। NaturalLanguage 30 से अधिक भाषाओं का समर्थन करता है और कस्टम NLP मॉडल के लिए Core ML के साथ एकीकृत होता है।

मुख्य बिंदु

  • NaturalLanguage Apple का ऑन-डिवाइस NLP फ्रेमवर्क है जो क्लाउड पर डेटा भेजे बिना काम करता है।
  • टोकनाइज़ेशन, भाषा पहचान, लेमेटाइज़ेशन, भाषण भाग टैगिंग और NER का समर्थन करता है।
  • 30+ भाषाओं के साथ काम करता है, जिसमें रूसी, अंग्रेज़ी, चीनी और अरबी शामिल हैं।
  • NLTokenizer टेक्स्ट को शब्दों, वाक्यों, पैराग्राफ और दस्तावेज़ों में विभाजित करता है।
  • NLLanguageRecognizer प्रत्येक विकल्प के लिए संभावना के साथ टेक्स्ट की भाषा निर्धारित करता है।

iOS में NaturalLanguage क्या है?

NaturalLanguage (NL) Apple का एक मशीन लर्निंग फ्रेमवर्क है जो प्राकृतिक भाषा विश्लेषण के लिए है, जो Foundation का हिस्सा है और iOS 12+, macOS 10.14+ और watchOS 5+ पर उपलब्ध है। फ्रेमवर्क कस्टम मॉडल प्रशिक्षित करने की आवश्यकता के बिना उपयोग के लिए तैयार NLP क्षमताएँ प्रदान करता है।

क्लाउड NLP सेवाओं (Google Cloud NLP, Amazon Comprehend) के विपरीत, NaturalLanguage सभी विश्लेषण डिवाइस पर करता है। इसका मतलब है शून्य नेटवर्क विलंबता, ऑफ़लाइन संचालन और पूर्ण डेटा गोपनीयता — टेक्स्ट कभी भी उपयोगकर्ता के डिवाइस को नहीं छोड़ता।

Apple ML Research 2023 के अनुसार, A12+ चिप्स पर ऑन-डिवाइस NLP समान क्लाउड समाधानों की तुलना में 3–5 गुना तेज़ी से अनुरोधों को संसाधित करता है, जबकि बुनियादी कार्यों के लिए 85% से अधिक सटीकता बनाए रखता है। फ्रेमवर्क Neural Engine के लिए अनुकूलित है, जो आधुनिक उपकरणों पर प्रति सेकंड 100 अनुरोधों तक प्रसंस्करण में सक्षम है।

NaturalLanguage का उपयोग iOS अनुप्रयोगों में समीक्षा विश्लेषण, स्मार्ट खोज, ऑटोकम्प्लीट, सामग्री मॉडरेशन और असंरचित टेक्स्ट से संरचित डेटा निकालने के लिए किया जाता है। फ्रेमवर्क 30 से अधिक भाषाओं का समर्थन करता है, जिसमें रूसी, यूक्रेनी, तुर्की और अरबी शामिल हैं।

NLTokenizer के साथ टेक्स्ट टोकनाइज़ेशन

NLTokenizer टेक्स्ट को भाषाई इकाइयों में विभाजित करने के लिए एक क्लास है: शब्द, वाक्य, पैराग्राफ या दस्तावेज़। टोकनाइज़ेशन लगभग किसी भी NLP पाइपलाइन का पहला कदम है, और NaturalLanguage इसे तैयार प्रदान करता है।

NLTokenizer भाषा-विशिष्ट विशेषताओं को ध्यान में रखता है: यह जापानी (शब्दों के बीच कोई स्थान नहीं), अरबी (दाएँ-से-बाएँ लिपि) और चीनी (लॉगोग्राफ़िक लेखन) के लिए टोकनाइज़ेशन को सही ढंग से संभालता है। अंग्रेज़ी और रूसी के लिए, टोकनाइज़र रिक्त स्थान और विराम चिह्नों द्वारा काम करता है, लेकिन संकुचनों को ध्यान में रखता है (don't → do + n't)।

swift
import NaturalLanguage

let text = "NaturalLanguage processes text on-device. It supports 30+ languages!"
let tokenizer = NLTokenizer(unit: .word)
tokenizer.string = text

tokenizer.enumerateTokens(in: text.startIndex..<text.endIndex) { range, _ in
    print(text[range])
    return true
}

वाक्य स्तर पर टोकनाइज़ेशन बड़े टेक्स्ट को आगे के विश्लेषण से पहले तार्किक ब्लॉकों में विभाजित करने के लिए उपयोगी है। NLTokenizer वाक्य सीमाएँ निर्धारित करेगा भले ही अंत में कोई अवधि न हो या प्रश्नवाचक वाक्य मौजूद हों।

swift
let sentenceTokenizer = NLTokenizer(unit: .sentence)
sentenceTokenizer.string = text

sentenceTokenizer.enumerateTokens(in: text.startIndex..<text.endIndex) { range, _ in
    print("Sentence: \\(text[range])")
    return true
}

NLTokenizer NaturalLanguage की अन्य सभी क्षमताओं का आधार है। टोकनाइज़ेशन के बाद, टेक्स्ट भाषा पहचान, टैगिंग और लेमेटाइज़ेशन के लिए तैयार होता है।

NLLanguageRecognizer के साथ भाषा पहचान

NLLanguageRecognizer टेक्स्ट की भाषा निर्धारित करता है और विश्वास स्कोर के साथ सबसे संभावित विकल्प लौटाता है। फ्रेमवर्क 30 से अधिक भाषाओं का समर्थन करता है और किसी भी लंबाई के टेक्स्ट के साथ काम कर सकता है — एक शब्द से लेकर पूरे दस्तावेज़ तक।

NLLanguageRecognizer एल्गोरिदम कैरेक्टर n-grams का विश्लेषण करता है और उनकी तुलना भाषा प्रोफ़ाइलों से करता है। छोटे टेक्स्ट (50 कैरेक्टर तक) के लिए, सटीकता कम हो जाती है, इसलिए Apple विश्वसनीय भाषा पहचान के लिए कम से कम 100–200 कैरेक्टर सबमिट करने की सलाह देता है।

swift
import NaturalLanguage

let recognizer = NLLanguageRecognizer()
recognizer.processString("Hello, how are you? I am learning NaturalLanguage.")

if let language = recognizer.dominantLanguage {
    print("Dominant language: \\(language.rawValue)") // "ru"
}

let hypotheses = recognizer.languageHypotheses(withMaximum: 3)
for (lang, prob) in hypotheses {
    print("\\(lang.rawValue): \\(prob)")
}

languageHypotheses विधि अवरोही क्रम में संभावनाओं के साथ भाषाओं का एक शब्दकोश लौटाती है। यह तब उपयोगी होता है जब टेक्स्ट में भाषाओं का मिश्रण हो या जब आपको उपयोगकर्ता को केवल प्रमुख भाषा के बजाय चुनने के लिए कई विकल्प दिखाने की आवश्यकता हो।

NaturalLanguage 100 कैरेक्टर या उससे अधिक के टेक्स्ट के लिए रूसी को 95% सटीकता से पहचानता है। छोटे टेक्स्ट (1–2 शब्द) के लिए, सटीकता 60–70% तक गिर जाती है — ऐसे मामलों में, languageHypotheses का उपयोग करना और शीर्ष 3 विकल्प दिखाना बेहतर होता है।

भाषण भाग टैगिंग और लेमेटाइज़ेशन

NLTagScheme भाषाई विश्लेषण के लिए टैगिंग योजनाएँ प्रदान करता है: भाषण के भाग (संज्ञा, क्रिया, विशेषण), लेमा (शब्द का मूल रूप), इकाई प्रकार (व्यक्ति, संगठन, स्थान) और अन्य श्रेणियाँ।

लेमेटाइज़ेशन एक शब्द को उसके शब्दकोश रूप में कम करता है: «दौड़ा» → «दौड़ना», «बेहतर» → «अच्छा», «books» → «book». यह खोज और टेक्स्ट विश्लेषण के लिए अत्यंत महत्वपूर्ण है — लेमेटाइज़ेशन के बिना, «बिल्ली» और «बिल्लियाँ» को अलग-अलग टोकन माना जाता है, जिससे NLP पाइपलाइनों की गुणवत्ता कम हो जाती है।

swift
import NaturalLanguage

let tagger = NLTagger(tagSchemes: [.lemma, .lexicalClass])
tagger.string = "The cats were running quickly."

tagger.enumerateTags(in: tagger.string!.startIndex..<tagger.string!.endIndex,
    unit: .word,
    scheme: .lexicalClass) { tag, range in
    print("\\(tagger.string![range]): \\(tag?.rawValue ?? "unknown")"
}

आउटपुट उदाहरण: cats → संज्ञा, were → क्रिया, quickly → क्रियाविशेषण। लेमेटाइज़ेशन और भाषण भागों को संयोजित करके, आप स्मार्ट खोज बना सकते हैं जो «दौड़ती बिल्लियाँ» को «दौड़ बिल्ली» क्वेरी से ढूँढता है।

NLTagScheme.lemma NaturalLanguage द्वारा समर्थित सभी भाषाओं के लिए काम करता है, जिसमें रूसी भी शामिल है। यह NLTagger को प्रत्येक भाषा के लिए अलग-अलग मॉडल लोड करने की आवश्यकता के बिना बहुभाषी अनुप्रयोगों के लिए एक बहुमुखी उपकरण बनाता है।

NaturalLanguage में नामित इकाई पहचान

नामित इकाई पहचान (NER) टेक्स्ट से नामित इकाइयाँ निकालने का कार्य है: लोगों के नाम, संगठनों के नाम, भौगोलिक स्थान और व्यक्तिगत डेटा। NaturalLanguage NLTagScheme.nameType के माध्यम से NER का समर्थन करता है।

NLTagScheme.nameType तीन प्रकार की इकाइयों को अलग करता है: PersonalName, OrganizationName और PlaceName। यह समाचार, ईमेल और समीक्षाओं से संरचित डेटा का स्वचालित निष्कर्षण सक्षम करता है।

swift
let nerTagger = NLTagger(tagSchemes: [.nameType])
nerTagger.string = "Tim Cook announced Apple's new headquarters in Cupertino."

nerTagger.enumerateTags(in: nerTagger.string!.startIndex..<nerTagger.string!.endIndex,
    unit: .word,
    scheme: .nameType) { tag, range in
    if tag != nil {
        print("\\(nerTagger.string![range]): \\(tag!.rawValue)"
    }
}

परिणाम: Tim Cook → PersonalName, Apple → OrganizationName, Cupertino → PlaceName। NaturalLanguage NER को कस्टम प्रशिक्षण की आवश्यकता नहीं है और यह अंग्रेज़ी, फ्रेंच, जर्मन, स्पेनिश और अन्य भाषाओं के लिए तुरंत काम करता है।

रूसी के लिए, NER समर्थित है लेकिन सटीकता कुछ कम है — अंग्रेज़ी के लिए 85% की तुलना में लगभग 70–75%। यदि रूसी के लिए उच्च सटीकता की आवश्यकता है, तो Apple Create ML का उपयोग करके अपने स्वयं के डेटा पर एक कस्टम Core ML मॉडल प्रशिक्षित करने की सलाह देता है।

NLModel के साथ भावना विश्लेषण

NLModel प्रशिक्षित Core ML NLP मॉडल के साथ काम करने के लिए एक क्लास है, जिसमें Apple द्वारा पूर्व-प्रशिक्षित अंतर्निहित भावना विश्लेषण मॉडल शामिल है। मॉडल टेक्स्ट की भावना निर्धारित करता है: सकारात्मक, नकारात्मक या तटस्थ।

अंतर्निहित भावना विश्लेषण मॉडल App Store समीक्षाओं पर प्रशिक्षित है और अंग्रेज़ी, फ्रेंच, जर्मन, इतालवी, स्पेनिश, पुर्तगाली, चीनी और जापानी के लिए काम करता है। रूसी के लिए, मॉडल पूर्व-प्रशिक्षित नहीं है — आपको Create ML और अपने स्वयं के लेबल किए गए डेटा की आवश्यकता है।

swift
import NaturalLanguage

let sentimentPredictor = try NLModel(mlModel: SentimentModel().model)
let sentiment = sentimentPredictor.predictedLabel(for: "This app is amazing!")
print("Sentiment: \\(sentiment ?? "neutral")") // "positive"

NLModel Create ML के माध्यम से प्रशिक्षित कस्टम मॉडल का भी समर्थन करता है। आप अपने स्वयं के डेटा (उत्पाद श्रेणियाँ, समर्थन टिकट प्रकार, भाषा शैलियाँ) पर एक टेक्स्ट वर्गीकरण मॉडल प्रशिक्षित कर सकते हैं और इसे उसी NLModel इंटरफ़ेस के माध्यम से उपयोग कर सकते हैं।

Apple Create ML दस्तावेज़ीकरण 2024 के अनुसार, एक कस्टम टेक्स्ट मॉडल 80–95% सटीकता प्राप्त करने के लिए 500–5000 उदाहरणों पर प्रशिक्षित होता है। NaturalLanguage मॉडल को एक बार लोड करता है और बाद के कॉल के लिए इसे कैश करता है, जिससे बार-बार अनुरोधों के लिए विलंबता कम हो जाती है।

NLP कार्यNaturalLanguage क्लासरूसी समर्थन
टोकनाइज़ेशनNLTokenizerहाँ
भाषा पहचानNLLanguageRecognizerहाँ
लेमेटाइज़ेशनNLTagger + .lemmaहाँ
भाषण भागNLTagger + .lexicalClassहाँ
NERNLTagger + .nameTypeसीमित
भावनाNLModel (पूर्व-प्रशिक्षित)नहीं

अक्सर पूछे जाने वाले प्रश्न

NaturalLanguage NLP के लिए Core ML से कैसे अलग है?

NaturalLanguage प्रशिक्षण की आवश्यकता के बिना तैयार NLP मॉडल प्रदान करता है: टोकनाइज़ेशन, भाषा पहचान, NER। Core ML को अपने स्वयं के डेटा पर मॉडल प्रशिक्षित करने की आवश्यकता होती है और विशिष्ट कार्यों के लिए अधिक लचीलापन प्रदान करता है। NaturalLanguage बुनियादी तैयार कार्यों के लिए बेहतर है, जबकि Core ML अत्यधिक विशिष्ट कार्यों के लिए है।

क्या NaturalLanguage ऑफ़लाइन काम करता है?

हाँ, NaturalLanguage इंटरनेट कनेक्शन के बिना पूरी तरह से डिवाइस पर काम करता है। सभी मॉडल iOS और macOS में निर्मित हैं, और डेटा सर्वर को नहीं भेजा जाता है। यह क्लाउड NLP सेवाओं पर एक प्रमुख लाभ है जिन्हें नेटवर्क एक्सेस की आवश्यकता होती है और गोपनीयता जोखिम पैदा करती हैं।

NaturalLanguage किन भाषाओं का समर्थन करता है?

NaturalLanguage 30 से अधिक भाषाओं का समर्थन करता है, जिसमें रूसी, अंग्रेज़ी, स्पेनिश, फ्रेंच, जर्मन, इतालवी, पुर्तगाली, चीनी, जापानी, कोरियाई, अरबी, तुर्की और यूक्रेनी शामिल हैं। सभी समर्थित भाषाओं के लिए टोकनाइज़ेशन और लेमेटाइज़ेशन सटीकता उच्च है, जबकि NER और भावना विश्लेषण मुख्य रूप से अंग्रेज़ी के लिए हैं।

मैं NaturalLanguage के लिए अपना खुद का NLP मॉडल कैसे प्रशिक्षित करूँ?

Create ML का उपयोग करें — प्रोग्रामिंग के बिना मशीन लर्निंग मॉडल प्रशिक्षित करने के लिए Apple का एप्लिकेशन। एक लेबल किया गया डेटासेट (CSV या JSON) अपलोड करें, टेक्स्ट वर्गीकरण या टैगिंग कार्य चुनें, मॉडल को प्रशिक्षित करें और Core ML फ़ॉर्मेट (.mlmodel) में निर्यात करें। फिर कोड में NLModel(mlModel:) के माध्यम से मॉडल लोड करें।

क्या NaturalLanguage सभी Apple उपकरणों पर काम करता है?

NaturalLanguage iOS 12+, macOS 10.14+, watchOS 5+ और tvOS 12+ पर उपलब्ध है। A12+ चिप और Neural Engine वाले उपकरणों पर, प्रदर्शन अधिक होता है — हार्डवेयर-त्वरित मशीन लर्निंग के कारण टेक्स्ट प्रसंस्करण 3–5 गुना तेज़ होता है। पुराने उपकरणों (A11 और पहले) पर, फ्रेमवर्क काम करता है लेकिन धीमा है।

सारांश

  • NaturalLanguage Apple का ऑन-डिवाइस NLP फ्रेमवर्क है जो क्लाउड पर डेटा भेजे बिना टोकनाइज़ेशन, भाषा पहचान, लेमेटाइज़ेशन, POS टैगिंग और NER के लिए है।
  • NLTokenizer जापानी और अरबी सहित 30+ भाषाओं की विशिष्टताओं को ध्यान में रखते हुए टेक्स्ट को शब्दों, वाक्यों, पैराग्राफ और दस्तावेज़ों में विभाजित करता है।
  • NLLanguageRecognizer टेक्स्ट की प्रमुख भाषा निर्धारित करता है और बहुभाषी परिदृश्यों के लिए संभावनाओं के साथ परिकल्पनाएँ लौटाता है।
  • NLTagger .lexicalClass और .lemma के साथ भाषण भाग टैगिंग और लेमेटाइज़ेशन करता है — खोज और विश्लेषण में सुधार के लिए शब्दों को उनके शब्दकोश रूप में कम करना।
  • नामित इकाई पहचान NLTagScheme.nameType के माध्यम से अंग्रेज़ी, फ्रेंच, जर्मन और अन्य भाषाओं में टेक्स्ट से नाम, संगठन और स्थान निकालती है।
  • NLModel पूर्व-प्रशिक्षित और कस्टम Core ML मॉडल के लिए एक इंटरफ़ेस प्रदान करता है, जिसमें 7 भाषाओं में समीक्षाओं के लिए एक अंतर्निहित भावना विश्लेषण मॉडल शामिल है।
  • रूसी के लिए, टोकनाइज़ेशन, भाषा पहचान, लेमेटाइज़ेशन और POS टैगिंग उपलब्ध हैं; NER और भावना विश्लेषण एक कस्टम Core ML मॉडल के माध्यम से बेहतर कार्यान्वित किए जाते हैं।

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें