Task Library BertNLClassifier
API sangat mirip dengan NLClassifier
yang mengklasifikasikan teks input ke dalam berbagai kategori, kecuali API ini
dirancang khusus untuk model terkait BERT yang membutuhkan kata
Tokenisasi potongan kalimat di luar model TFLite.
Fitur utama BertNLClassifier 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,>
Menampilkan WordPotongan di luar grafik atau Bagian kalimat tokenisasi pada teks input.
Model BertNLClassifier yang didukung
Model berikut kompatibel dengan BertNLClassifier
API.
Model BERT yang dibuat oleh TensorFlow Lite Model Maker untuk teks Klasifikasi.
Model kustom yang memenuhi kompatibilitas model persyaratan.
Menjalankan inferensi di Java
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 Text Library dependency
implementation 'org.tensorflow:tensorflow-lite-task-text:0.4.4'
}
Langkah 2: Jalankan inferensi menggunakan API
// Initialization
BertNLClassifierOptions options =
BertNLClassifierOptions.builder()
.setBaseOptions(BaseOptions.builder().setNumThreads(4).build())
.build();
BertNLClassifier classifier =
BertNLClassifier.createFromFileAndOptions(context, modelFile, options);
// Run inference
List<Category> results = classifier.classify(input);
Lihat sumber kode untuk mengetahui detail selengkapnya.
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
let bertNLClassifier = TFLBertNLClassifier.bertNLClassifier(
modelPath: bertModelPath)
// Run inference
let categories = bertNLClassifier.classify(text: input)
Lihat sumber kode untuk mengetahui detail selengkapnya.
Menjalankan inferensi di C++
// Initialization
BertNLClassifierOptions options;
options.mutable_base_options()->mutable_model_file()->set_file_name(model_path);
std::unique_ptr<BertNLClassifier> classifier = BertNLClassifier::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.BertNLClassifier.create_from_file(model_path)
# Run inference
text_classification_result = classifier.classify(text)
Lihat sumber
kode
guna mendapatkan opsi selengkapnya untuk mengonfigurasi BertNLClassifier
.
Hasil contoh
Berikut adalah contoh hasil klasifikasi resensi film dengan menggunakan MobileBert dari Model Maker.
Input: "perjalanan yang menawan dan sering memengaruhi"
Output:
category[0]: 'negative' : '0.00006'
category[1]: 'positive' : '0.99994'
Cobalah alat demo CLI sederhana untuk BertNLClassifier dengan model dan data uji Anda sendiri.
Persyaratan kompatibilitas model
API BetNLClassifier
mengharapkan model TFLite dengan Model TFLite wajib
Metadata.
Metadata harus memenuhi persyaratan berikut:
input_process_units untuk WordPotongan/SentencePotongan Tokenizer
3 tensor input dengan nama "ids", "mask" dan "segment_ids" untuk output tokenizer
1 tensor output berjenis float32, dengan file label yang dilampirkan secara opsional. Jika dilampirkan, file harus berupa file teks biasa dengan satu label per baris dan jumlah label harus sesuai dengan jumlah kategori seperti output model.