文字搜尋可讓使用者搜尋語料庫中語意相似的文字。可以正常運作 也就是將搜尋查詢嵌入代表圖片的高維度向量 查詢的語意含義,後面接著在預先定義、 自訂索引 ScaNN (可大規模擴充的最近鄰點)。
與文字分類 (例如 BERT 自然語言分類器) 擴大可辨識的辨識項目數量,不需要重新訓練 整個模型如要加入新的項目,只需重新建構索引即可。這也 協助大型公司 (超過 10 萬件) 企業合作。
使用工作程式庫 TextSearcher
API 將自訂文字搜尋工具部署至
您的行動應用程式
TextSearcher API 的主要功能
必要條件
使用 TextSearcher
API 前,必須先根據
要搜尋的文字語料庫此功能可以使用
Model Maker Searcher API
遵循並調整
教學課程)
為此,您需要符合以下條件:
- TFLite 文字嵌入程式模型,例如 Universal Sentence Encoder適用對象 例如
- 文字語料庫
完成這個步驟後,您應該擁有獨立的 TFLite 搜尋工具模型 (例如
mobilenet_v3_searcher.tflite
),這是含有 Transformer 的原始文字嵌入器模型
附加至
TFLite 模型中繼資料。
在 Java 中執行推論
步驟 1:匯入 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'
}
步驟 2:使用模型
// 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 中執行推論
步驟 1:安裝 TensorFlow Lite Support Pypi 套件。
您可以使用下列指令安裝 TensorFlow Lite Support Pypi 套件 指令:
pip install tflite-support
步驟 2:使用模型
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 適用的 CLI 示範工具 使用自己的模型與測試資料