MediaPipe Text Classifier टास्क की मदद से, टेक्स्ट को तय की गई कैटगरी में बांटा जा सकता है जैसे, अच्छी या बुरी भावना. कैटगरी, मॉडल के हिसाब से तय की जाती हैं मॉडल को ट्रेनिंग कैसे दी गई थी. ये निर्देश आपको Python के साथ टेक्स्ट क्लासिफ़ायर.
आप वेब डेमो. सुविधाओं, मॉडल, और इस टास्क के कॉन्फ़िगरेशन के विकल्पों के बारे में ज़्यादा जानने के लिए, खास जानकारी देखें.
कोड का उदाहरण
टेक्स्ट क्लासिफ़ायर के उदाहरण में दिए गए कोड में इसे पूरी तरह लागू किया जाता है Python में आज़माएं. यह कोड, इस टास्क की जांच करने और यह पाने में आपकी मदद करता है ने अपना खुद का टेक्स्ट क्लासिफ़िकेशन ऐप्लिकेशन बनाना शुरू किया है. आपके पास रिपोर्ट को देखने, चलाने, और टेक्स्ट क्लासिफ़ायर में बदलाव करें कोड का उदाहरण बस अपने वेब ब्राउज़र का इस्तेमाल करके.
अगर आप Raspberry Pi के लिए टेक्स्ट क्लासिफ़ायर इस्तेमाल कर रहे हैं, तो इन्हें देखें Raspberry Pi का उदाहरण ऐप्लिकेशन है.
सेटअप
इस सेक्शन में, आपके डेवलपमेंट एनवायरमेंट को सेट अप करने और कोड प्रोजेक्ट का इस्तेमाल किया जा सकता है. इस पर सामान्य जानकारी के लिए MediaPipe Tasks का इस्तेमाल करने के लिए अपना डेवलपमेंट एनवायरमेंट सेट अप करना. इसमें प्लैटफ़ॉर्म वर्शन की ज़रूरी शर्तें पूरी करते हैं. इसके बारे में ज़्यादा जानने के लिए, Python के लिए सेटअप गाइड.
पैकेज
टेक्स्ट क्लासिफ़ायर, मीडियापाइप पीआईपी पैकेज का इस्तेमाल करता है. आप इंस्टॉल कर सकते हैं के साथ ये डिपेंडेंसी:
$ python -m pip install mediapipe
आयात
टेक्स्ट क्लासिफ़ायर के टास्क फ़ंक्शन ऐक्सेस करने के लिए, इन क्लास को इंपोर्ट करें:
from mediapipe.tasks import python
from mediapipe.tasks.python import text
मॉडल
MediaPipe टेक्स्ट क्लासिफ़ायर टास्क के लिए एक प्रशिक्षित मॉडल की ज़रूरत है, जो इसके साथ काम कर सके टास्क. टेक्स्ट की कैटगरी तय करने वाले टूल के लिए उपलब्ध ट्रेन किए गए मॉडल के बारे में ज़्यादा जानकारी के लिए, यहां देखें टास्क की खास जानकारी मॉडल सेक्शन.
कोई मॉडल चुनें और डाउनलोड करें, और फिर उसे लोकल डायरेक्ट्री में स्टोर करें:
model_path = '/absolute/path/to/text_classifier.tflite'
BaseOptions
ऑब्जेक्ट model_asset_path
के साथ मॉडल का पाथ बताएं
पैरामीटर, जैसा कि नीचे दिखाया गया है:
base_options = BaseOptions(model_asset_path=model_path)
टास्क बनाएं
MediaPipe Text Classifier टास्क, 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.TextClassifierOptions(base_options=base_options)
with python.text.TextClassifier.create_from_options(options) as classifier:
classification_result = classifier.classify(text)
कॉन्फ़िगरेशन विकल्प
इस टास्क में Android ऐप्लिकेशन के लिए, नीचे दिए गए कॉन्फ़िगरेशन के विकल्प मौजूद हैं:
विकल्प का नाम | ब्यौरा | मान की सीमा | डिफ़ॉल्ट मान |
---|---|---|---|
display_names_locale |
यह नीति, दिए गए डिसप्ले नेम के लिए लेबल की भाषा सेट करती है
अगर उपलब्ध हो, तो टास्क के मॉडल का मेटाडेटा. इसके लिए डिफ़ॉल्ट en है
अंग्रेज़ी. आप कस्टम मॉडल के मेटाडेटा में स्थानीय जगह के अनुसार लेबल जोड़ सकते हैं
TensorFlow Lite Metadata Writer API का इस्तेमाल करें
| स्थान-भाषा कोड | en |
max_results |
सबसे ज़्यादा स्कोर वाले क्लासिफ़िकेशन नतीजों की वैकल्पिक ज़्यादा से ज़्यादा संख्या को इस पर सेट करता है वापसी. यदि < कोई समस्या नहीं है, तो सभी उपलब्ध नतीजे दिखाए जाएंगे. | कोई भी धनात्मक संख्या | -1 |
score_threshold |
अनुमान के लिए स्कोर का थ्रेशोल्ड सेट करता है, जो इसमें दिए गए स्कोर को ओवरराइड करता है मॉडल मेटाडेटा (अगर कोई है). इस वैल्यू से कम के नतीजे अस्वीकार कर दिए जाते हैं. | कोई भी फ़्लोट | सेट नहीं है |
category_allowlist |
अनुमति वाली कैटगरी के नामों की वैकल्पिक सूची सेट करता है. अगर खाली नहीं है,
ऐसे वर्गीकरण परिणाम होंगे जिनका श्रेणी नाम इस सेट में नहीं है
फ़िल्टर करके बाहर किया गया. श्रेणी के डुप्लीकेट या अज्ञात नामों पर ध्यान नहीं दिया जाता.
यह विकल्प, category_denylist और इसका इस्तेमाल करने वाले उपयोगकर्ताओं के लिए अलग-अलग है
दोनों में गड़बड़ी होती है. |
कोई भी स्ट्रिंग | सेट नहीं है |
category_denylist |
ऐसी कैटगरी के नामों की वैकल्पिक सूची सेट करता है जिनकी अनुमति नहीं है. अगर आपने
खाली नहीं है, इसलिए डेटा को अलग-अलग ग्रुप में बांटने के ऐसे नतीजे फ़िल्टर कर दिए जाएंगे जिनकी कैटगरी का नाम इस सेट में होगा
बाहर. श्रेणी के डुप्लीकेट या अज्ञात नामों पर ध्यान नहीं दिया जाता. यह विकल्प म्यूचुअली है
सिर्फ़ category_allowlist इस्तेमाल करने पर, दोनों नतीजे इस्तेमाल करने में गड़बड़ी होती है. |
कोई भी स्ट्रिंग | सेट नहीं है |
डेटा तैयार करें
टेक्स्ट क्लासिफ़ायर, टेक्स्ट (str
) डेटा के साथ काम करता है. यह टास्क, डेटा इनपुट मैनेज करता है
प्री-प्रोसेसिंग, जिसमें टोकनाइज़ेशन और टेंसर प्री-प्रोसेसिंग शामिल है.
सभी प्री-प्रोसेसिंग को classify
फ़ंक्शन में हैंडल किया जाता है. कोई ज़रूरत नहीं है
का इस्तेमाल करें.
input_text = 'The input text to be classified.'
टास्क को पूरा करें
टेक्स्ट क्लासिफ़ायर, अनुमानों को ट्रिगर करने के लिए classify
फ़ंक्शन का इस्तेमाल करता है. टेक्स्ट के लिए
क्लासिफ़िकेशन है, तो इसका मतलब इनपुट टेक्स्ट के लिए संभावित कैटगरी दिखाना है.
नीचे दिया गया कोड बताता है कि टास्क की मदद से प्रोसेसिंग कैसे की जाए मॉडल.
with python.text.TextClassifier.create_from_options(options) as classifier:
classification_result = classifier.classify(text)
नतीजों को हैंडल करना और दिखाना
टेक्स्ट क्लासिफ़ायर एक सूची वाला TextClassifierResult
ऑब्जेक्ट दिखाता है
की कैटगरी में बांट देता है. कैटगरी
इसलिए, अगर आपको अलग-अलग कैटगरी चाहिए, तो कोई दूसरा मॉडल चुनें,
या किसी मौजूदा गतिविधि के बारे में फिर से बताएं.
इस टास्क के आउटपुट डेटा का एक उदाहरण नीचे दिया गया है:
TextClassificationResult:
Classification #0 (single classification head):
ClassificationEntry #0:
Category #0:
category name: "positive"
score: 0.8904
index: 0
Category #1:
category name: "negative"
score: 0.1096
index: 1
यह नतीजा, इनपुट टेक्स्ट पर BERT-क्लासिफ़ायर चलाकर मिला है:
"an imperfect but overall entertaining mystery"
.