Python के लिए टेक्स्ट एम्बेड करने की गाइड

MediaPipe Text Embedder टास्क की मदद से, टेक्स्ट डेटा को संख्या के तौर पर निरूपित किया जा सकता है उनके मतलब को कैप्चर करें. ये निर्देश आपको वेब ब्राउज़र पर Python के साथ टेक्स्ट एम्बेडर.

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

कोड का उदाहरण

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

सेटअप

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

पैकेज

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

$ python -m pip install mediapipe

आयात

Text Embedder टास्क फ़ंक्शन को ऐक्सेस करने के लिए इन क्लास को इंपोर्ट करें:

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

मॉडल

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

कोई मॉडल चुनें और डाउनलोड करें, और फिर उसे लोकल डायरेक्ट्री में स्टोर करें. Google Analytics 4 पर माइग्रेट करने के लिए, सुझाया गया UniversalSentenceEncoder मॉडल.

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

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

base_options = BaseOptions(model_asset_path=model_path)

टास्क बनाएं

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

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

import mediapipe as mp

BaseOptions = mp.tasks.BaseOptions
TextEmbedder = mp.tasks.text.TextEmbedder
TextEmbedderOptions = mp.tasks.text.TextEmbedderOptions

# For creating a text embedder instance:
options = TextEmbedderOptions(
    base_options=BaseOptions(model_asset_path=model_path),
    quantize=True)
text_embedder = TextEmbedder.create_from_options(options)

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

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

विकल्प का नाम ब्यौरा मान की सीमा डिफ़ॉल्ट मान
l2_normalize क्या लौटाए गए फ़ीचर वेक्टर को L2 मानदंड के साथ नॉर्मलाइज़ करना है. इस विकल्प का उपयोग केवल तभी करें, जब मॉडल में पहले से कोई नेटिव नेटिव न हो L2_NORMALIZATION TFLite Op. ज़्यादातर मामलों में, पहले से ही ऐसा होता है और इसलिए, L2 नॉर्मलाइज़ेशन को TFLite अनुमान की मदद से बिना किसी ज़रूरत के पूरा किया जाता है इस विकल्प के लिए. Boolean False
quantize क्या लौटाए गए एम्बेड की संख्या को स्केलर क्वांटाइज़ेशन. एम्बेडिंग को अस्पष्ट रूप से इकाई-नॉर्म और इसलिए, किसी भी डाइमेंशन की वैल्यू [-1.0, 1.0] होने की गारंटी होती है. इस्तेमाल की जाने वाली चीज़ें तो l2_normalize विकल्प चुनना होगा. Boolean False

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

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

सभी प्री-प्रोसेसिंग को embed फ़ंक्शन में हैंडल किया जाता है. कोई ज़रूरत नहीं है का इस्तेमाल करें.

input_text = "The input text to be embedded."

टास्क को पूरा करें

टेक्स्ट एम्बेडर, अनुमानों को ट्रिगर करने के लिए embed फ़ंक्शन का इस्तेमाल करता है. टेक्स्ट के लिए एम्बेड करना, इसका मतलब इनपुट टेक्स्ट के लिए एम्बेडिंग वेक्टर दिखाना है.

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

# Perform text embedding on the provided input text.
embedding_result = text_embedder.embed(input_text)

नतीजों को हैंडल करना और दिखाना

टेक्स्ट एम्बेडर एक TextEmbedderResult दिखाता है, जिसमें एम्बेडिंग (फ़्लोटिंग-पॉइंट या स्केलर-क्वांटाइज़्ड) का इस्तेमाल किया जा सकता है.

इस टास्क के आउटपुट डेटा का एक उदाहरण नीचे दिया गया है:

TextEmbedderResult:
  Embedding #0 (sole embedding head):
    float_embedding: {0.2345f, 0.1234f, ..., 0.6789f}
    head_index: 0

दो एम्बेडिंग की सिमेंटिक समानता की तुलना करने के लिए, TextEmbedder.cosine_similarity फ़ंक्शन का इस्तेमाल करना होगा. नीचे दी गई कोड में जाकर उदाहरण के लिए.

# Compute cosine similarity.
similarity = TextEmbedder.cosine_similarity(
  embedding_result.embeddings[0],
  other_embedding_result.embeddings[0])