NLClassifier
API Task Library mengklasifikasikan teks input ke dalam berbagai
serta merupakan API serbaguna dan dapat dikonfigurasi yang dapat menangani sebagian besar
model klasifikasi.
Fitur utama NLClassifier API
Mengambil satu {i>string<i} sebagai {i>input<i}, melakukan klasifikasi dengan {i>string<i} dan output <label, score=""> pasangan sebagai hasil klasifikasi.</label,>
Tokenisasi Regex opsional tersedia untuk teks input.
Dapat dikonfigurasi untuk menyesuaikan berbagai model klasifikasi.
Model NLClassifier yang didukung
Model berikut dijamin akan kompatibel dengan NLClassifier
Compute Engine API.
Sentimen ulasan film klasifikasi model transformer.
Model dengan spesifikasi
average_word_vec
yang dibuat oleh TensorFlow Lite Model Maker untuk Klasifikasi teks.Model kustom yang memenuhi kompatibilitas model persyaratan.
Menjalankan inferensi di Java
Lihat Referensi Klasifikasi Teks
aplikasi
untuk contoh cara menggunakan NLClassifier
di aplikasi Android.
Langkah 1: Impor dependensi Gradle dan setelan lainnya
Salin file model .tflite
ke direktori aset modul Android
tempat model akan dijalankan. Tentukan bahwa file tidak boleh dikompresi, dan
tambahkan library TensorFlow Lite ke file build.gradle
modul:
android {
// Other settings
// Specify tflite 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-text:0.4.4'
// Import the GPU delegate plugin Library for GPU inference
implementation 'org.tensorflow:tensorflow-lite-gpu-delegate-plugin:0.4.4'
}
Langkah 2: Jalankan inferensi menggunakan API
// Initialization, use NLClassifierOptions to configure input and output tensors
NLClassifierOptions options =
NLClassifierOptions.builder()
.setBaseOptions(BaseOptions.builder().useGpu().build())
.setInputTensorName(INPUT_TENSOR_NAME)
.setOutputScoreTensorName(OUTPUT_SCORE_TENSOR_NAME)
.build();
NLClassifier classifier =
NLClassifier.createFromFileAndOptions(context, modelFile, options);
// Run inference
List<Category> results = classifier.classify(input);
Lihat sumber
kode
guna mendapatkan opsi selengkapnya untuk mengonfigurasi NLClassifier
.
Menjalankan inferensi di Swift
Langkah 1: Impor CocoaPods
Menambahkan pod TensorFlowLiteTaskText di Podfile
target 'MySwiftAppWithTaskAPI' do
use_frameworks!
pod 'TensorFlowLiteTaskText', '~> 0.4.4'
end
Langkah 2: Jalankan inferensi menggunakan API
// Initialization
var modelOptions:TFLNLClassifierOptions = TFLNLClassifierOptions()
modelOptions.inputTensorName = inputTensorName
modelOptions.outputScoreTensorName = outputScoreTensorName
let nlClassifier = TFLNLClassifier.nlClassifier(
modelPath: modelPath,
options: modelOptions)
// Run inference
let categories = nlClassifier.classify(text: input)
Lihat sumber kode untuk mengetahui detail selengkapnya.
Menjalankan inferensi di C++
// Initialization
NLClassifierOptions options;
options.mutable_base_options()->mutable_model_file()->set_file_name(model_path);
std::unique_ptr<NLClassifier> classifier = NLClassifier::CreateFromOptions(options).value();
// Run inference with your input, `input_text`.
std::vector<core::Category> categories = classifier->Classify(input_text);
Lihat sumber kode untuk mengetahui detail selengkapnya.
Menjalankan inferensi di Python
Langkah 1: Instal paket pip
pip install tflite-support
Langkah 2: Menggunakan model
# Imports
from tflite_support.task import text
# Initialization
classifier = text.NLClassifier.create_from_file(model_path)
# Run inference
text_classification_result = classifier.classify(text)
Lihat sumber
kode
guna mendapatkan opsi selengkapnya untuk mengonfigurasi NLClassifier
.
Hasil contoh
Berikut ini contoh hasil klasifikasi dari ulasan film model.
Input: "Buang-buang waktu saya."
Output:
category[0]: 'Negative' : '0.81313'
category[1]: 'Positive' : '0.18687'
Cobalah alat demo CLI sederhana untuk NLClassifier dengan model dan data uji Anda sendiri.
Persyaratan kompatibilitas model
Bergantung pada kasus penggunaannya, NLClassifier
API dapat memuat model TFLite dengan
atau tanpa Metadata Model TFLite. Lihat contoh
pembuatan metadata untuk pengklasifikasi natural language menggunakan TensorFlow Lite
Penulis Metadata
Google Cloud Platform.
Model yang kompatibel harus memenuhi persyaratan berikut:
Tensor input: (kTfLiteString/kTfLiteInt32)
- Input model harus berupa input mentah tensor kTfLiteString string atau tensor kTfLiteInt32 untuk indeks token ekspresi reguler {i>string<i}.
- Jika jenis input adalah kTfLiteString, tidak Metadata diperlukan untuk model.
- Jika jenis input adalah kTfLiteInt32,
RegexTokenizer
harus disiapkan di atribut tensor input Metadata.
Tensor skor output: (kTfLiteUInt8/kTfLiteInt8/kTfLiteInt16/kTfLiteFloat32/kTfLiteFloat64)
Tensor output wajib untuk skor setiap kategori yang diklasifikasikan.
Jika jenis adalah salah satu dari jenis Int, dequantisasi menjadi double/float platform terkait
Dapat memiliki file terkait opsional dalam tensor output Metadata yang sesuai untuk kategori label, file harus berupa file teks biasa dengan satu label per baris, dan jumlah label harus sesuai dengan jumlah kategori sebagaimana output model. Lihat label contoh .
Tensor label output: (kTfLiteString/kTfLiteInt32)
Tensor output opsional untuk label setiap kategori, harus dari sama dengan tensor skor output. Jika tensor ini tidak ada, API menggunakan indeks skor sebagai nama kelas.
Akan diabaikan jika file label terkait ada dalam skor output Metadata tensor.