पहले से मौजूद एआई की मदद से, भाषा की पहचान करने की सुविधा

पब्लिश करने की तारीख: 24 सितंबर, 2024, पिछली बार अपडेट करने की तारीख: 10 दिसंबर, 2024

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

भाषा का पता लगाने वाला एपीआई, डिवाइस पर अनुमान लगाने की सुविधा का इस्तेमाल करता है, ताकि आप अपनी निजता को बेहतर बना सकें. ऐसा करने वाली कोई लाइब्रेरी शिप की जा सकती है, लेकिन उसे डाउनलोड करने के लिए अतिरिक्त संसाधनों की ज़रूरत होगी.

उपलब्धता

ऑरिजिन ट्रायल के लिए साइन अप करना

Language Detector API का इस्तेमाल शुरू करने के लिए, यह तरीका अपनाएं:

  1. जनरेटिव एआई के इस्तेमाल से जुड़ी पाबंदी की Google की नीति स्वीकार करें.
  2. Language Detector API के ऑरिजिन ट्रायल पर जाएं.
  3. रजिस्टर करें पर क्लिक करें और फ़ॉर्म भरें.
    • वेब ऑरिजिन फ़ील्ड में, अपना ऑरिजिन या एक्सटेंशन आईडी, chrome-extension://YOUR_EXTENSION_ID डालें.
  4. सबमिट करने के लिए, रजिस्टर करें पर क्लिक करें.
  5. दिए गए टोकन को कॉपी करें और अपने एक्सटेंशन के लिए, ऑरिजिन या फ़ाइल के हर उस वेब पेज पर जोड़ें जिस पर आपको ट्रायल की सुविधा चालू करनी है.
  6. भाषा की पहचान करने वाले एपीआई का इस्तेमाल शुरू करें.

ऑरिजिन ट्रायल शुरू करने के तरीके के बारे में ज़्यादा जानें.

localhost के लिए सहायता जोड़ना

ऑरिजिन ट्रायल के दौरान, localhost पर भाषा का पता लगाने वाले एपीआई को ऐक्सेस करने के लिए, आपको Chrome को सबसे नए वर्शन में अपडेट करना होगा. फिर, इन स्तरो का पालन करें:

  1. chrome://flags/#language-detection-api पर जाएं.
  2. चालू है को चुनें.
  3. फिर से लॉन्च करें पर क्लिक करें या Chrome को रीस्टार्ट करें.

इस्तेमाल के उदाहरण

भाषा की पहचान करने वाला एपीआई, मुख्य तौर पर इन स्थितियों में काम आता है:

  • इनपुट टेक्स्ट की भाषा तय करना, ताकि उसका अनुवाद किया जा सके.
  • इनपुट टेक्स्ट की भाषा का पता लगाता है, ताकि भाषा के हिसाब से टास्क के लिए सही मॉडल लोड किया जा सके. जैसे, बुरे बर्ताव का पता लगाना.
  • इनपुट टेक्स्ट की भाषा तय करना, ताकि उसे सही तरीके से लेबल किया जा सके. उदाहरण के लिए, ऑनलाइन सोशल नेटवर्किंग साइटों पर.
  • इनपुट टेक्स्ट की भाषा तय करना, ताकि ऐप्लिकेशन के इंटरफ़ेस को उसके हिसाब से अडजस्ट किया जा सके. उदाहरण के लिए, बेल्जियम की किसी साइट पर, सिर्फ़ फ़्रेंच बोलने वाले उपयोगकर्ताओं के लिए इंटरफ़ेस दिखाना.

Language Detector API का इस्तेमाल करना

Language Detector API, Translator API के बड़े परिवार का हिस्सा है. सबसे पहले, सुविधा का पता लगाने की सुविधा चलाकर देखें कि ब्राउज़र में Language Detector API काम करता है या नहीं.

if ('ai' in self && 'languageDetector' in self.ai)
  // The Language Detector API is available.
}  

मॉडल डाउनलोड करना

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

यह देखने के लिए कि मॉडल इस्तेमाल के लिए तैयार है या नहीं, असाइनोक्रोनस self.ai.languageDetector.capabilities() फ़ंक्शन को कॉल करें और available फ़ील्ड की जांच करें. इसके तीन संभावित जवाब हो सकते हैं:

  • 'no': मौजूदा ब्राउज़र, Language Detector API के साथ काम करता है. हालांकि, फ़िलहाल इसका इस्तेमाल नहीं किया जा सकता. उदाहरण के लिए, मॉडल डाउनलोड करने के लिए डिस्क में ज़रूरत के मुताबिक खाली जगह न होना.
  • 'readily': आपका मौजूदा ब्राउज़र, Language Detector API के साथ काम करता है और इसका इस्तेमाल तुरंत किया जा सकता है.
  • 'after-download': मौजूदा ब्राउज़र, Language Detector API के साथ काम करता है. हालांकि, इसके लिए पहले मॉडल को डाउनलोड करना ज़रूरी है.

डाउनलोड को ट्रिगर करने और भाषा का पता लगाने वाले टूल को इंस्टैंशिएट करने के लिए, एक साथ काम न करने वाले self.ai.languageDetector.create() फ़ंक्शन को कॉल करें. अगर capabilities() के लिए जवाब 'after-download' है, तो डाउनलोड की प्रोग्रेस को सुनना सबसे सही तरीका है. इससे, डाउनलोड में लगने वाले समय के बारे में उपयोगकर्ता को बताया जा सकता है.

यह देखने के लिए कि किसी भाषा का पता लगाया जा सकता है या नहीं, languageAvailable() फ़ंक्शन को कॉल करें.

const languageDetectorCapabilities = await self.ai.languageDetector.capabilities();
languageDetectorCapabilities.languageAvailable('es');
// 'readily'

इस उदाहरण में, भाषा का पता लगाने वाले टूल को शुरू करने का तरीका बताया गया है.

const languageDetectorCapabilities = await self.ai.languageDetector.capabilities();
const canDetect = languageDetectorCapabilities.capabilities;
let detector;
if (canDetect === 'no') {
  // The language detector isn't usable.
  return;
}
if (canDetect === 'readily') {
  // The language detector can immediately be used.
  detector = await self.ai.languageDetector.create();
} else {
  // The language detector can be used after model download.
  detector = await self.ai.languageDetector.create({
    monitor(m) {
      m.addEventListener('downloadprogress', (e) => {
        console.log(`Downloaded ${e.loaded} of ${e.total} bytes.`);
      });
    },
  });
  await detector.ready;
}

भाषा का पता लगाने वाले टूल को चलाना

Language Detector API, रैंकिंग मॉडल का इस्तेमाल करके यह तय करता है कि किसी टेक्स्ट में किस भाषा का इस्तेमाल किया गया है. रैंकिंग, मशीन लर्निंग का एक टाइप है. इसका मकसद, आइटम की सूची को क्रम से लगाना है. ऐसे मामले में, Language Detector API, भाषाओं को सबसे ज़्यादा से लेकर सबसे कम संभावना के हिसाब से रैंक करता है.

detect() फ़ंक्शन, पहला नतीजा या सबसे सही जवाब दिखा सकता है. इसके अलावा, यह कॉन्फ़िडेंस लेवल के हिसाब से रैंक किए गए उम्मीदवारों को भी दिखा सकता है. यह {detectedLanguage, confidence} ऑब्जेक्ट की सूची के तौर पर दिखता है. confidence लेवल को 0.0 (सबसे कम कॉन्फ़िडेंस) और 1.0 (सबसे ज़्यादा कॉन्फ़िडेंस) के बीच की वैल्यू के तौर पर दिखाया जाता है.

const someUserText \= 'Hallo und herzlich willkommen\!';
const results \= await detector.detect(someUserText);
for (const result of results) {
  // Show the full list of potential languages with their likelihood, ranked
  // from most likely to least likely. In practice, one would pick the top
  // language(s) that cross a high enough threshold.
  console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...

डेमो

हमारे डेमो में, Language Detector API की झलक देखें. टेक्स्टएरिया में, अलग-अलग भाषाओं में लिखा गया टेक्स्ट डालें.

स्टैंडर्ड बनाने की कोशिश

इससे जुड़े प्रस्ताव को ज़रूरत के मुताबिक समर्थन मिलने के बाद, भाषा पहचानने वाले एपीआई को W3C वेब इनक्यूबेटर कम्यूनिटी ग्रुप में शामिल कर लिया गया है. यह एपीआई, Translation API के बड़े प्रस्ताव का हिस्सा है.

Chrome की टीम ने W3C के तकनीकी आर्किटेक्चर ग्रुप से सुझाव, राय या शिकायत मांगी. साथ ही, Mozilla और WebKit से स्टैंडर्ड के बारे में जानकारी मांगी.

सुझाव/राय दें या शिकायत करें

अगर आपको Chrome में इस सुविधा के लागू होने के बारे में सुझाव, शिकायत या राय देनी है, तो Chromium बग दर्ज करें. भाषा का पता लगाने वाले एपीआई के एपीआई शेप के बारे में अपना सुझाव या राय दें. इसके लिए, किसी मौजूदा टिप्पणी पर टिप्पणी करें या Translation API के GitHub डेटा स्टोर में नई समस्या दर्ज करें.