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

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

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

कोड का उदाहरण

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

सेटअप

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

पैकेज

भाषा का पता लगाने वाला टूल, MediaPipe पीआईपी पैकेज का इस्तेमाल करता है. इन चीज़ों के साथ डिपेंडेंसी इंस्टॉल की जा सकती है:

$ python -m pip install mediapipe

इंपोर्ट

भाषा का पता लगाने वाले टास्क के फ़ंक्शन ऐक्सेस करने के लिए, नीचे दी गई क्लास इंपोर्ट करें:

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text

मॉडल

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

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

model_path = '/absolute/path/to/language_detector.tflite'

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

base_options = BaseOptions(model_asset_path=model_path)

टास्क बनाएं

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

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

base_options = python.BaseOptions(model_asset_path=model_path)
options = text.LanguageDetectorOptions(base_options=base_options)

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

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

विकल्प का नाम ब्यौरा वैल्यू रेंज डिफ़ॉल्ट मान
max_results नतीजे दिखाने के लिए, सबसे ज़्यादा स्कोर किए गए भाषा के सुझावों की ज़्यादा से ज़्यादा वैकल्पिक संख्या सेट करता है. अगर यह वैल्यू शून्य से कम है, तो सभी उपलब्ध नतीजे दिखाए जाते हैं. कोई भी पॉज़िटिव नंबर -1
score_threshold अनुमान के स्कोर का थ्रेशोल्ड सेट करता है, जो मॉडल मेटाडेटा (अगर कोई है) में दिए गए स्कोर को बदलता है. इस वैल्यू से कम के नतीजे अस्वीकार कर दिए गए हैं. कोई भी फ़्लोट सेट नहीं किया गया है
category_allowlist अनुमति वाली भाषा के कोड की वैकल्पिक सूची सेट करता है. अगर यह खाली नहीं है, तो ऐसे भाषा के अनुमान फ़िल्टर कर दिए जाएँगे जिनका भाषा कोड इस सेट में नहीं है. यह विकल्प category_denylist के साथ म्यूचुअली एक्सक्लूसिव है और इसके दोनों नतीजों का इस्तेमाल करने में गड़बड़ी है. कोई भी स्ट्रिंग सेट नहीं किया गया है
category_denylist उन भाषा कोड की वैकल्पिक सूची सेट करता है जिनकी अनुमति नहीं है. अगर यह खाली नहीं है, तो ऐसे भाषा के अनुमान फ़िल्टर करके बाहर कर दिए जाएंगे जिनका भाषा कोड इस सेट में होगा. यह विकल्प category_allowlist के साथ म्यूचुअली एक्सक्लूसिव है और दोनों नतीजों का इस्तेमाल करने में गड़बड़ी होती है. कोई भी स्ट्रिंग सेट नहीं किया गया है

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

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

input_text = 'The input text to be classified.'

टास्क चलाएं

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

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

with python.text.LanguageDetector.create_from_options(options) as detector:
  detection_result = detector.detect(input_text)

नतीजे मैनेज करें और दिखाएं

भाषा का पता लगाने वाला टूल, 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.".

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