احضر ندوة النساء في غسل الأموال في 7 ديسمبر. سجل الآن

دمج مصنف اللغة الطبيعية BERT

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

تتشابه واجهة برمجة تطبيقات BertNLClassifier لمكتبة المهام مع NLClassifier الذي يصنف نص الإدخال إلى فئات مختلفة ، باستثناء أن واجهة برمجة التطبيقات هذه مصممة خصيصًا للنماذج ذات الصلة بـ Bert التي تتطلب رموز Wordpiece و Sentencepiece خارج نموذج TFLite.

الملامح الرئيسية لواجهة برمجة تطبيقات BertNLClassifier

نماذج BertNLClassifier المدعومة

النماذج التالية متوافقة مع BertNLClassifier API.

تشغيل الاستدلال في 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 (NNAPI is included)
    implementation 'org.tensorflow:tensorflow-lite-task-text:0.3.0'
}

الخطوة 2: قم بتشغيل الاستدلال باستخدام 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);

انظر شفرة المصدر لمزيد من التفاصيل.

تشغيل الاستدلال في Swift

الخطوة 1: استيراد CocoaPods

أضف حجرة TensorFlowLiteTaskText في Podfile

target 'MySwiftAppWithTaskAPI' do
  use_frameworks!
  pod 'TensorFlowLiteTaskText', '~> 0.2.0'
end

الخطوة 2: قم بتشغيل الاستدلال باستخدام API

// 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 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 من Model Maker.

المدخلات: "إنها رحلة ساحرة وغالبًا ما تكون مؤثرة"

انتاج:

category[0]: 'negative' : '0.00006'
category[1]: 'positive' : '0.99994'

جرب أداة CLI التجريبية البسيطة لتصنيف BertNLC مع نموذجك وبيانات الاختبار.

متطلبات توافق النموذج

تتوقع API BetNLClassifier نموذج TFLite مع بيانات تعريف إلزامية لنموذج TFLite .

يجب أن تستوفي البيانات الوصفية المتطلبات التالية:

  • input_process_units لـ Wordpiece / Sentencepiece Tokenizer

  • 3 موترلات إدخال بأسماء "معرفات" و "قناع" و "معرفات مقاطع" لإخراج الرمز المميز

  • 1 موتر الإخراج من النوع float32 ، مع ملف تسمية مرفق اختياريًا. إذا تم إرفاق ملف تسمية ، يجب أن يكون الملف عبارة عن ملف نصي عادي مع تسمية واحدة لكل سطر ويجب أن يتطابق عدد الملصقات مع عدد الفئات مثل مخرجات النموذج.