टेक्स्ट सर्च की मदद से, कॉर्पस (संग्रह) में शब्दार्थी तौर पर मिलते-जुलते टेक्स्ट को खोजा जा सकता है. यह काम करता है इसके लिए, खोज क्वेरी को हाई-डाइमेंशन वाले वेक्टर में एम्बेड किया जाता है जो किसी क्वेरी का सिमैंटिक मतलब, जिसके बाद पहले से तय किसी क्वेरी में समानता की खोज की जाती है, इसका इस्तेमाल करके कस्टम इंडेक्स बनाएं ScaNN (बड़े और नज़दीकी पड़ोसी)
टेक्स्ट की कैटगरी तय करने के बजाय (जैसे, बर्ट नेचुरल लैंग्वेज क्लासिफ़ायर), पहचान किए जा सकने वाले आइटम की संख्या बढ़ाने के लिए फिर से ट्रेनिंग करने की ज़रूरत नहीं होती पूरा मॉडल. इंडेक्स को फिर से बनाने पर, नए आइटम जोड़े जा सकते हैं. यह भी बड़े (1 लाख से ज़्यादा आइटम) कॉर्पस के साथ काम करने में मदद करता है.
अपनी पसंद के मुताबिक टेक्स्ट खोजने वाले टूल को इनमें डिप्लॉय करने के लिए, टास्क लाइब्रेरी TextSearcher
एपीआई का इस्तेमाल करें
आपके मोबाइल ऐप्लिकेशन.
TextSearcher API की मुख्य सुविधाएं
इनपुट के रूप में एक स्ट्रिंग लेता है, एम्बेड करके एक्सट्रैक्शन करता है और सबसे नज़दीकी-पड़ोसी की खोज मिलती है.
इनपुट टेक्स्ट प्रोसेसिंग, जिसमें इन-ग्राफ़ या आउट-ऑफ़-ग्राफ़ शामिल है वर्डपीस या सेंटेंसपीस इनपुट टेक्स्ट पर टोकनाइज़ेशन.
ज़रूरी शर्तें
TextSearcher
एपीआई का इस्तेमाल करने से पहले, आपको इस आधार पर इंडेक्स बनाना होगा कि
खोज करने के लिए टेक्स्ट का कस्टम संग्रह. ऐसा करने के लिए
मॉडल मेकर सर्चर एपीआई
बदलाव करके,
ट्यूटोरियल.
इसके लिए आपको इनकी ज़रूरत होगी:
- TFLite टेक्स्ट एम्बेडर मॉडल, जैसे कि यूनिवर्सल सेंटेंस एन्कोडर. इसके लिए
उदाहरण के लिए,
- यह एक इस ट्रेनिंग को फिर से ट्रेनिंग दी Colab, जिसे डिवाइस के अनुमान के लिए ऑप्टिमाइज़ किया गया है. एक क्वेरी करने में सिर्फ़ 6 मि॰से॰ लगते हैं टेक्स्ट स्ट्रिंग मौजूद है.
- यह संख्या में बदला जा सकता है .
- टेक्स्ट का संग्रह.
इस चरण के बाद, आपके पास एक स्टैंडअलोन TFLite सर्च करने वाला मॉडल होना चाहिए (उदाहरण के लिए,
mobilenet_v3_searcher.tflite
), जो इस सुविधा के साथ ओरिजनल टेक्स्ट एम्बेडर मॉडल है
तो इंडेक्स करने के लिए,
TFLite मॉडल का मेटाडेटा.
Java में अनुमान चलाएं
पहला चरण: Gradle डिपेंडेंसी और अन्य सेटिंग इंपोर्ट करना
.tflite
सर्चर मॉडल की फ़ाइल को, Android की ऐसेट डायरेक्ट्री में कॉपी करें
मॉड्यूल जहां मॉडल चलाया जाएगा. बताएं कि फ़ाइल
कंप्रेस किया हुआ है और TensorFlow Lite लाइब्रेरी को मॉड्यूल के build.gradle
में जोड़ें
फ़ाइल:
android {
// Other settings
// Specify tflite index file should not be compressed for the app apk
aaptOptions {
noCompress "tflite"
}
}
dependencies {
// Other dependencies
// Import the Task Vision Library dependency
implementation 'org.tensorflow:tensorflow-lite-task-vision:0.4.4'
// Import the GPU delegate plugin Library for GPU inference
implementation 'org.tensorflow:tensorflow-lite-gpu-delegate-plugin:0.4.4'
}
दूसरा चरण: मॉडल का इस्तेमाल करना
// Initialization
TextSearcherOptions options =
TextSearcherOptions.builder()
.setBaseOptions(BaseOptions.builder().useGpu().build())
.setSearcherOptions(
SearcherOptions.builder().setL2Normalize(true).build())
.build();
TextSearcher textSearcher =
textSearcher.createFromFileAndOptions(context, modelFile, options);
// Run inference
List<NearestNeighbor> results = textSearcher.search(text);
ज़्यादा जानकारी के लिए,
सोर्स कोड और javadoc
TextSearcher
को कॉन्फ़िगर करने के ज़्यादा विकल्पों के बारे में जानें.
C++ में अनुमान चलाएं
// Initialization
TextSearcherOptions options;
options.mutable_base_options()->mutable_model_file()->set_file_name(model_path);
options.mutable_embedding_options()->set_l2_normalize(true);
std::unique_ptr<TextSearcher> text_searcher = TextSearcher::CreateFromOptions(options).value();
// Run inference with your input, `input_text`.
const SearchResult result = text_searcher->Search(input_text).value();
ज़्यादा जानकारी के लिए,
सोर्स कोड
TextSearcher
को कॉन्फ़िगर करने के ज़्यादा विकल्पों के बारे में जानें.
Python में इन्फ़रेंस चलाना
पहला चरण: TensorFlow Lite का Pypi पैकेज इंस्टॉल करें.
TensorFlow Lite का सहायता Pypi पैकेज इंस्टॉल करने के लिए, इनका इस्तेमाल करें: आदेश:
pip install tflite-support
दूसरा चरण: मॉडल का इस्तेमाल करना
from tflite_support.task import text
# Initialization
text_searcher = text.TextSearcher.create_from_file(model_path)
# Run inference
result = text_searcher.search(text)
ज़्यादा जानकारी के लिए,
सोर्स कोड
TextSearcher
को कॉन्फ़िगर करने के ज़्यादा विकल्पों के बारे में जानें.
परिणामों के उदाहरण
Results:
Rank#0:
metadata: The sun was shining on that day.
distance: 0.04618
Rank#1:
metadata: It was a sunny day.
distance: 0.10856
Rank#2:
metadata: The weather was excellent.
distance: 0.15223
Rank#3:
metadata: The cat is chasing after the mouse.
distance: 0.34271
Rank#4:
metadata: He was very happy with his newly bought car.
distance: 0.37703
आसान तरीके आज़माएं TextSearcher के लिए सीएलआई डेमो टूल की मदद से कैसे डिज़ाइन किया गया है.