टेक्स्ट खोजने वालों को शामिल करें

टेक्स्ट सर्च की मदद से, कॉर्पस (संग्रह) में शब्दार्थी तौर पर मिलते-जुलते टेक्स्ट को खोजा जा सकता है. यह काम करता है इसके लिए, खोज क्वेरी को हाई-डाइमेंशन वाले वेक्टर में एम्बेड किया जाता है जो किसी क्वेरी का सिमैंटिक मतलब, जिसके बाद पहले से तय किसी क्वेरी में समानता की खोज की जाती है, इसका इस्तेमाल करके कस्टम इंडेक्स बनाएं 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 के लिए सीएलआई डेमो टूल की मदद से कैसे डिज़ाइन किया गया है.