Chrome में पहले से मौजूद एआई की मदद से, भाषा का पता लगाना

पब्लिश होने की तारीख: 24 सितंबर, 2024

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

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

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

भाषा डिटेक्टर एपीआई मुख्य रूप से इन स्थितियों में काम करता है:

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

भाषा डिटेक्टर एपीआई का इस्तेमाल करना

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

if ('translation' in self && 'canDetect' in self.translation) {
  // The Language Detector API is available.
}  

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

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

यह देखने के लिए कि मॉडल इस्तेमाल के लिए तैयार है या नहीं, असाइनोक्रोनस translation.canDetect() फ़ंक्शन को कॉल करें. तीन तरह के जवाब मिल सकते हैं:

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

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

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

const canDetect = await translation.canDetect();
let detector;
if (canDetect === 'no') {
  // The language detector isn't usable.
  return;
}
if (canDetect === 'readily') {
  // The language detector can immediately be used.
  detector = await translation.createDetector();
} else {
  // The language detector can be used after model download.
  detector = await translation.createDetector();
  detector.addEventListener('downloadprogress', (e) => {
 console.log(e.loaded, e.total);
  });
  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 के ट्रायल के लिए रजिस्टर करें. यह ऑरिजिन ट्रायल, Chrome के वर्शन 130 से 135 तक चलता है.

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

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

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

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

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

संसाधन