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

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

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

कोड का उदाहरण

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

सेटअप

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

पैकेज

भाषा डिटेक्टर, मीडियापाइप पीआईपी पैकेज का इस्तेमाल करता है. डिपेंडेंसी इंस्टॉल की जा सकती है होगा:

$ 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 सैंपल ऐप्लिकेशन.