टेक्स्ट एम्बेडर की मदद से, टेक्स्ट को हाई-डाइमेंशन वाले फ़ीचर वेक्टर में एम्बेड किया जा सकता है के सिमैंटिक मतलब को दिखाता है, जिसकी तुलना इस सुविधा से की जा सकती है वेक्टर का इस्तेमाल किया जा सकता है, ताकि वे वाक्य समान रूप से समझ सकें.
इसके उलट टेक्स्ट की खोज, टेक्स्ट एम्बेडर, तुरंत ही टेक्स्ट के बीच समानता की गणना करने की सुविधा देता है के बजाय किसी कॉर्पस (संग्रह) से बने पहले से बने इंडेक्स में खोजें.
अपनी पसंद के मुताबिक टेक्स्ट एम्बेडर को डिप्लॉय करने के लिए, टास्क लाइब्रेरी TextEmbedder
एपीआई का इस्तेमाल करें
आपके मोबाइल ऐप्लिकेशन.
TextEmbedder API की मुख्य सुविधाएं
इनपुट टेक्स्ट प्रोसेसिंग, जिसमें इन-ग्राफ़ या आउट-ऑफ़-ग्राफ़ शामिल है वर्डपीस या सेंटेंसपीस इनपुट टेक्स्ट पर टोकनाइज़ेशन.
यह कैलकुलेट करने के लिए, पहले से मौजूद यूटिलिटी फ़ंक्शन इनके बीच कोसाइन (cosine) फ़ीचर वेक्टर.
साथ काम करने वाले टेक्स्ट एम्बेडर मॉडल
ये मॉडल, TextEmbedder
के साथ काम करते हैं
एपीआई.
कॉन्टेंट बनाने TensorFlow हब का Universal सेंटेंस एन्कोडर TFLite मॉडल
शर्तें पूरी करने वाले कस्टम मॉडल मॉडल के साथ काम करने से जुड़ी ज़रूरी शर्तें.
C++ में अनुमान चलाएं
// Initialization.
TextEmbedderOptions options:
options.mutable_base_options()->mutable_model_file()->set_file_name(model_path);
std::unique_ptr<TextEmbedder> text_embedder = TextEmbedder::CreateFromOptions(options).value();
// Run inference with your two inputs, `input_text1` and `input_text2`.
const EmbeddingResult result_1 = text_embedder->Embed(input_text1);
const EmbeddingResult result_2 = text_embedder->Embed(input_text2);
// Compute cosine similarity.
double similarity = TextEmbedder::CosineSimilarity(
result_1.embeddings[0].feature_vector()
result_2.embeddings[0].feature_vector());
ज़्यादा जानकारी के लिए,
सोर्स कोड
TextEmbedder
को कॉन्फ़िगर करने के ज़्यादा विकल्पों के बारे में जानें.
Python में इन्फ़रेंस चलाना
पहला चरण: TensorFlow Lite का Pypi पैकेज इंस्टॉल करें.
TensorFlow Lite का सहायता Pypi पैकेज इंस्टॉल करने के लिए, इनका इस्तेमाल करें: आदेश:
pip install tflite-support
दूसरा चरण: मॉडल का इस्तेमाल करना
from tflite_support.task import text
# Initialization.
text_embedder = text.TextEmbedder.create_from_file(model_path)
# Run inference on two texts.
result_1 = text_embedder.embed(text_1)
result_2 = text_embedder.embed(text_2)
# Compute cosine similarity.
feature_vector_1 = result_1.embeddings[0].feature_vector
feature_vector_2 = result_2.embeddings[0].feature_vector
similarity = text_embedder.cosine_similarity(
result_1.embeddings[0].feature_vector, result_2.embeddings[0].feature_vector)
ज़्यादा जानकारी के लिए,
सोर्स कोड
TextEmbedder
को कॉन्फ़िगर करने के ज़्यादा विकल्पों के बारे में जानें.
परिणामों के उदाहरण
नॉर्मलाइज़्ड फ़ीचर वेक्टर के बीच कोसाइन की समानता -1 के बीच का स्कोर देती है और 1. ज़्यादा वैल्यू बेहतर होती है. इसका मतलब है कि कोसाइन (cosine) के बीच 1 का मतलब है कि दोनों वेक्टर एक जैसा.
Cosine similarity: 0.954312
आसान तरीके आज़माएं TextEmbedder के लिए सीएलआई डेमो टूल की मदद से कैसे डिज़ाइन किया गया है.
मॉडल के साथ काम करने से जुड़ी ज़रूरी शर्तें
TextEmbedder
API के लिए, TFLite मॉडल ज़रूरी है.
TFLite मॉडल का मेटाडेटा.
तीन मुख्य तरह के मॉडल का इस्तेमाल किया जा सकता है:
BERT-आधारित मॉडल (देखें सोर्स कोड ज़्यादा जानकारी के लिए):
ठीक तीन इनपुट टेंसर (kTfLiteString)
- आईडी टेंसर, जिसके मेटाडेटा का नाम "ids" है,
- टेंसर को मास्क करें, जिसके मेटाडेटा का नाम "मास्क" हो.
- सेगमेंट आईडी टेंसर, जिसका मेटाडेटा नाम "segment_ids" है
सिर्फ़ एक आउटपुट टेंसर (kTfLiteUInt8/kTfLiteFloat32)
- के
N
घटकों के साथN
आयाम से इस आउटपुट लेयर के लिए फ़ीचर वेक्टर दिखाया गया. - दो या चार डाइमेंशन, जैसे कि
[1 x N]
या[1 x 1 x 1 x N]
.
- के
वर्डपीस/सेंटेंसपीस टोकनाइज़र के लिए Input_process_units
यूनिवर्सल सेंटेंस एन्कोडर पर आधारित मॉडल (देखें सोर्स कोड ज़्यादा जानकारी के लिए):
ठीक तीन इनपुट टेंसर (kTfLiteString)
- क्वेरी टेक्स्ट टेंसर, जिसके मेटाडेटा का नाम "inp_text" है.
- रिस्पॉन्स कॉन्टेक्स्ट टेंसर, जिसका मेटाडेटा नाम "res_context" है.
- रिस्पॉन्स टेक्स्ट टेंसर, मेटाडेटा नाम "res_text" के साथ.
ठीक दो आउटपुट टेंसर (kTfLiteUInt8/kTfLiteFloat32)
- क्वेरी एन्कोडिंग टेंसर, मेटाडेटा नाम "query_encoding" के साथ.
- रिस्पॉन्स कोड में बदलने वाला टेंसर, जिसके मेटाडेटा का नाम "response_encoding" है.
- दोनों में, इसके
N
डाइमेंशन से जुड़ेN
कॉम्पोनेंट हैं इस आउटपुट लेयर के लिए फ़ीचर वेक्टर दिखाया गया. - दो या चार डाइमेंशन के साथ,
[1 x N]
या[1 x 1 x 1 x N]
.
ऐसा कोई भी टेक्स्ट एम्बेडर मॉडल जिसमें:
- इनपुट टेक्स्ट टेंसर (kTfLiteString)
कम से कम एक आउटपुट एम्बेड करने वाला टेंसर (kTfLiteUInt8/kTfLiteFloat32)
- के
N
घटकों के साथN
आयाम से इस आउटपुट लेयर के लिए फ़ीचर वेक्टर दिखाया गया. - दो या चार डाइमेंशन, जैसे कि
[1 x N]
या[1 x 1 x 1 x N]
.
- के