वेब के लिए भाषा का पता लगाने की गाइड

MediaPipe लैंग्वेज डिटेक्टर टास्क से, आपको किसी टेक्स्ट की भाषा पहचानने में मदद मिलती है. ये निर्देश आपको वेब और JavaScript ऐप्लिकेशन के लिए भाषा डिटेक्टर का इस्तेमाल करने का तरीका दिखाते हैं. इन निर्देशों में बताया गया कोड सैंपल यहां उपलब्ध है GitHub.

आप डेमो के लिए उपलब्ध है. क्षमताओं, मॉडल, और कॉन्फ़िगरेशन के विकल्पों के बारे में ज़्यादा जानकारी पाने के लिए इस टास्क की खास जानकारी देखें.

कोड का उदाहरण

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

सेटअप

इस सेक्शन में, आपके डेवलपमेंट एनवायरमेंट को सेट अप करने और कोड प्रोजेक्ट को खास तौर पर लैंग्वेज डिटेक्टर का इस्तेमाल करने के लिए बनाया जाता है. इस पर सामान्य जानकारी के लिए MediaPipe के टास्क इस्तेमाल करने के लिए डेवलपमेंट एनवायरमेंट सेट अप करना. इसमें ये भी शामिल हैं प्लैटफ़ॉर्म वर्शन की ज़रूरी शर्तें पूरी करते हैं. इसके बारे में ज़्यादा जानने के लिए, वेब के लिए सेटअप गाइड.

JavaScript पैकेज

भाषा डिटेक्टर कोड इनके ज़रिए उपलब्ध है: @mediapipe/tasks-text पैकेज. आप इन लाइब्रेरी को यहां दिए गए लिंक से ढूंढकर डाउनलोड कर सकते हैं: प्लैटफ़ॉर्म सेटअप गाइड.

लोकल स्टेजिंग के लिए, नीचे दिए गए कोड के साथ ज़रूरी पैकेज इंस्टॉल किए जा सकते हैं ऐसा करने के लिए:

npm install @mediapipe/tasks-text

अगर आपको इन्हें सर्वर पर डिप्लॉय करना है, तो कॉन्टेंट डिलीवरी का इस्तेमाल करें नेटवर्क (सीडीएन) सेवा, जैसे कि jsDelivr, सीधे अपने HTML पेज पर कोड जोड़ने का तरीका यहां दिया गया है:

<head>
  <script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/index.js"
    crossorigin="anonymous"></script>
</head>

मॉडल

MediaPipe लैंग्वेज डिटेक्टर टास्क के लिए, एक प्रशिक्षित मॉडल की ज़रूरत है, जो टास्क. भाषा की पहचान करने वाले टूल के लिए उपलब्ध प्रशिक्षित मॉडल के बारे में ज़्यादा जानकारी के लिए, देखें टास्क की खास जानकारी मॉडल सेक्शन.

कोई मॉडल चुनें और डाउनलोड करें, और फिर उसे अपनी प्रोजेक्ट डायरेक्ट्री में सेव करें:

<dev-project-root>/app/shared/models

baseOptions ऑब्जेक्ट modelAssetPath के साथ मॉडल का पाथ बताएं पैरामीटर, जैसा कि नीचे दिखाया गया है:

baseOptions: {
        modelAssetPath: `/app/shared/models/language_detector.tflite`
      }

टास्क बनाएं

इन कामों के लिए, भाषा की पहचान करने वाले LanguageDetector.createFrom...() फ़ंक्शन में से किसी एक का इस्तेमाल करें अनुमान लगाने के लिए टास्क तैयार करें. createFromModelPath() का इस्तेमाल किया जा सकता है फ़ंक्शन के लिए तैयार मॉडल फ़ाइल के रिलेटिव या ऐब्सलूट पाथ का इस्तेमाल करें. कोड नीचे दिया गया उदाहरण createFromOptions() फ़ंक्शन का इस्तेमाल करके दिखाया गया है. ज़्यादा के लिए टास्क कॉन्फ़िगर करने के बारे में जानकारी, देखें कॉन्फ़िगरेशन के विकल्प.

नीचे दिया गया कोड इस टास्क को बनाने और कॉन्फ़िगर करने का तरीका बताता है.

async function createDetector() {
  const textFiles = await FilesetResolver.forTextTasks(
      "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm/");
  languageDetector = await languageDetector.createFromOptions(
    textFiles,
    {
      baseOptions: {
        modelAssetPath: `https://storage.googleapis.com/mediapipe-models/language_detector/language_detector/float32/1/language_detector.tflite`
      },
    }
  );
}
createDetector();

कॉन्फ़िगरेशन विकल्प

इस टास्क में वेब और JavaScript के लिए ये कॉन्फ़िगरेशन विकल्प मौजूद हैं ऐप्लिकेशन:

विकल्प का नाम ब्यौरा मान की सीमा डिफ़ॉल्ट मान
maxResults सबसे ज़्यादा स्कोर किए गए भाषा के अनुमानों की वैकल्पिक ज़्यादा से ज़्यादा संख्या को इस पर सेट करता है वापसी. अगर यह वैल्यू शून्य से कम है, तो सभी उपलब्ध नतीजे दिखाए जाते हैं. कोई भी धनात्मक संख्या -1
scoreThreshold अनुमान के लिए स्कोर का थ्रेशोल्ड सेट करता है, जो इसमें दिए गए स्कोर को ओवरराइड करता है मॉडल मेटाडेटा (अगर कोई है). इस वैल्यू से कम के नतीजे अस्वीकार कर दिए जाते हैं. कोई भी फ़्लोट सेट नहीं है
categoryAllowlist अनुमति वाली भाषाओं के कोड की वैकल्पिक सूची सेट करता है. अगर खाली नहीं है, वह भाषा पूर्वानुमान जिसका भाषा कोड इस सेट में नहीं है फ़िल्टर करके बाहर किया गया. यह विकल्प इनके साथ म्यूचुअली एक्सक्लूसिव है categoryDenylist का इस्तेमाल करने पर कोई गड़बड़ी होती है. कोई भी स्ट्रिंग सेट नहीं है
categoryDenylist यह नीति उन भाषाओं के कोड की वैकल्पिक सूची सेट करती है जिनकी अनुमति नहीं है. अगर आपने खाली नहीं है, इस सेट में मौजूद भाषा के अनुमान को फ़िल्टर कर दिया जाएगा जिसका भाषा कोड इस सेट में होगा बाहर. यह विकल्प, categoryAllowlist और दोनों का इस्तेमाल करने पर गड़बड़ी होती है. कोई भी स्ट्रिंग सेट नहीं है

डेटा तैयार करें

भाषा डिटेक्टर, टेक्स्ट (string) डेटा के साथ काम करता है. यह टास्क डेटा इनपुट प्री-प्रोसेसिंग, जिसमें टोकनाइज़ेशन और टेंसर प्री-प्रोसेसिंग शामिल है. सभी प्री-प्रोसेसिंग को detect फ़ंक्शन में हैंडल किया जाता है. कोई ज़रूरत नहीं है का इस्तेमाल करें.

const inputText = "The input text for the detector.";

टास्क को पूरा करें

लैंग्वेज डिटेक्टर, अनुमान को ट्रिगर करने के लिए detect फ़ंक्शन का इस्तेमाल करता है. भाषा के लिए पहचान है, तो इसका अर्थ है इनपुट टेक्स्ट के लिए संभावित भाषाएं लौटाना.

नीचे दिया गया कोड बताता है कि टास्क की मदद से प्रोसेसिंग कैसे की जाए मॉडल:

// Wait to run the function until inner text is set
const detectionResult = languageDetector.detect(inputText);

नतीजों को हैंडल करना और दिखाना

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

LanguageDetectorResult:
  LanguagePrediction #0:
    language_code: "fr"
    probability: 0.999781

यह नतीजा, इनपुट टेक्स्ट पर मॉडल चलाकर मिला है: "Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent.".

के परिणामों को प्रोसेस और विज़ुअलाइज़ करने के लिए ज़रूरी कोड के उदाहरण के लिए इस टास्क के लिए, वेब सैंपल ऐप्लिकेशन.