تشبه واجهة برمجة تطبيقات مكتبة مهام BertNLClassifier
واجهة برمجة التطبيقات NLClassifier
إلى حد كبير.
تصنف نص الإدخال إلى فئات مختلفة، باستثناء أن واجهة برمجة التطبيقات هذه
تم تصميمها خصيصًا للنماذج ذات الصلة بـ Bert والتي تتطلب Wordnote
عمليات إنشاء رموز مميّزة لأجزاء الجمل خارج نموذج TFLite.
الميزات الرئيسية لواجهة برمجة التطبيقات BertNLClassifier API
يتم أخذ سلسلة واحدة كمدخل، ويتم إجراء التصنيف مع السلسلة المخرجات <label, Score=""> الأزواج كنتائج تصنيف.</label,>
تنفيذ نصوص Word خارج الرسم البياني أو الجملة عمليات إنشاء رموز مميّزة على النص المُدخَل.
طُرز BertNLClassifier المتوافقة
النماذج التالية متوافقة مع BertNLClassifier
API.
نماذج Bert التي أنشأها TensorFlow Lite model Maker من أجل النص التصنيف:
الطُرز المخصصة التي تتوافق مع توافق النماذج متطلبات المشروع.
تنفيذ الاستنتاج باستخدام Java
الخطوة 1: استيراد تبعية Gradle والإعدادات الأخرى
انسخ ملف النموذج .tflite
إلى دليل مواد العرض في وحدة Android.
ومكان تطبيق النموذج. حدِّد أنّه يجب عدم ضغط الملف.
إضافة مكتبة TensorFlow Lite إلى ملف build.gradle
الخاص بالوحدة:
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'
}
الخطوة 2: تنفيذ الاستنتاج باستخدام واجهة برمجة التطبيقات
// 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);
اطّلِع على المصدر الرمز لمزيد من التفاصيل.
تنفيذ الاستنتاج باستخدام نظام Swift
الخطوة 1: استيراد CocoaPods
إضافة لوحة TensorFlowLiteTaskText المتسلسلة في Podfile
target 'MySwiftAppWithTaskAPI' do
use_frameworks!
pod 'TensorFlowLiteTaskText', '~> 0.4.4'
end
الخطوة 2: تنفيذ الاستنتاج باستخدام واجهة برمجة التطبيقات
// Initialization
let bertNLClassifier = TFLBertNLClassifier.bertNLClassifier(
modelPath: bertModelPath)
// Run inference
let categories = bertNLClassifier.classify(text: input)
اطّلِع على المصدر الرمز لمزيد من التفاصيل.
تنفيذ الاستنتاج بلغة 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);
اطّلِع على المصدر الرمز لمزيد من التفاصيل.
تنفيذ الاستنتاج في بايثون
الخطوة 1: تثبيت حزمة pip
pip install tflite-support
الخطوة 2: استخدام النموذج
# Imports
from tflite_support.task import text
# Initialization
classifier = text.BertNLClassifier.create_from_file(model_path)
# Run inference
text_classification_result = classifier.classify(text)
اطّلِع على المصدر
الرمز
لمزيد من الخيارات لضبط BertNLClassifier
.
أمثلة النتائج
فيما يلي مثال على نتائج تصنيف مراجعات الأفلام باستخدام التصنيف MobileBert من مصمم النماذج.
الإدخال: "إنّها رحلة ساحرة ومؤثّرة في كثير من الأحيان"
إخراج:
category[0]: 'negative' : '0.00006'
category[1]: 'positive' : '0.99994'
جرِّب استخدام أداة CLI التجريبية البسيطة BertNLClassifier باستخدام نموذجك الخاص وبيانات الاختبار.
متطلبات توافق النموذج
تتوقع واجهة برمجة التطبيقات BetNLClassifier
نموذج TFLite مع نموذج TFLite الإلزامي.
البيانات الوصفية:
يجب أن تستوفي البيانات الوصفية المتطلبات التالية:
enter_process_units لأداة إنشاء رموز مميّزة لقطعة الكلمات/الجمل
3 تمرينات إدخال تحمل أسماء "ids" و"mask" و"segment_ids" لمخرجات أداة إنشاء الرموز المميّزة
موتر الناتج واحد من النوع float32، مع ملف تصنيف مرفق اختياريًا. إذا تم إرفاق ملف التصنيف، يجب أن يكون الملف ملفًا نصيًا عاديًا بتصنيف واحد لكل سطر وعدد التسميات يجب أن يتطابق مع عدد الفئات مخرجات النموذج.