تحمِّل واجهة برمجة التطبيقات في "مكتبة المهام BertQuestionAnswerer
" نموذج Bert وإجاباته.
الأسئلة بناءً على محتوى فقرة معينة. لمزيد من المعلومات، يُرجى الاطّلاع على
لنموذج الأسئلة والأجوبة.
الميزات الرئيسية لواجهة برمجة تطبيقات BertQuestionAnswerer
استخدام إدخالين نصيين كسؤال وسياق وإخراج قائمة بالخيارات المحتملة إجابات.
تُجري عمليات إنشاء رموز مميّزة خارج حدود الكلمات أو الجملة عند الإدخال. النص.
نماذج BertQuestionAnswerer المتوافقة
النماذج التالية متوافقة مع BertNLClassifier
API.
نماذج أنشأها TensorFlow Lite النماذج Maker لإجابات عن أسئلة BERT.
تشير رسالة الأشكال البيانية نماذج BERT المدرّبة مسبقًا على TensorFlow Hub.
تتوافق النماذج المخصصة التي تلبي متطلبات توافق النموذج.
تنفيذ الاستنتاج باستخدام 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
BertQuestionAnswererOptions options =
BertQuestionAnswererOptions.builder()
.setBaseOptions(BaseOptions.builder().setNumThreads(4).build())
.build();
BertQuestionAnswerer answerer =
BertQuestionAnswerer.createFromFileAndOptions(
androidContext, modelFile, options);
// Run inference
List<QaAnswer> answers = answerer.answer(contextOfTheQuestion, questionToAsk);
يمكنك الاطّلاع على رمز المصدر لمزيد من التفاصيل.
تنفيذ الاستنتاج باستخدام نظام Swift
الخطوة 1: استيراد CocoaPods
إضافة لوحة TensorFlowLiteTaskText المتسلسلة في Podfile
target 'MySwiftAppWithTaskAPI' do
use_frameworks!
pod 'TensorFlowLiteTaskText', '~> 0.4.4'
end
الخطوة 2: تنفيذ الاستنتاج باستخدام واجهة برمجة التطبيقات
// Initialization
let mobileBertAnswerer = TFLBertQuestionAnswerer.questionAnswerer(
modelPath: mobileBertModelPath)
// Run inference
let answers = mobileBertAnswerer.answer(
context: context, question: question)
يمكنك الاطّلاع على رمز المصدر لمزيد من التفاصيل.
تنفيذ الاستنتاج بلغة C++
// Initialization
BertQuestionAnswererOptions options;
options.mutable_base_options()->mutable_model_file()->set_file_name(model_path);
std::unique_ptr<BertQuestionAnswerer> answerer = BertQuestionAnswerer::CreateFromOptions(options).value();
// Run inference with your inputs, `context_of_question` and `question_to_ask`.
std::vector<QaAnswer> positive_results = answerer->Answer(context_of_question, question_to_ask);
يمكنك الاطّلاع على رمز المصدر لمزيد من التفاصيل.
تنفيذ الاستنتاج في بايثون
الخطوة 1: تثبيت حزمة pip
pip install tflite-support
الخطوة 2: استخدام النموذج
# Imports
from tflite_support.task import text
# Initialization
answerer = text.BertQuestionAnswerer.create_from_file(model_path)
# Run inference
bert_qa_result = answerer.answer(context, question)
يمكنك الاطّلاع على
رمز المصدر
لمزيد من الخيارات لضبط BertQuestionAnswerer
.
أمثلة النتائج
فيما يلي مثال على نتائج إجابة طراز ALBERT
السياق: "غابة الأمازون المطيرة، أو "غابة الأمازون"، المعروفة أيضًا في الإنجليزية مثل الأمازون، هي غابة مطيرة استوائية رطبة واسع الشجر في الأمازون منطقة حيوية تغطي معظم مساحة حوض الأمازون في أمريكا الجنوبية. هذا الحوض تبلغ 7000000 كم2 (2700000 ميل مربع)، منها تغطي الغابات المطيرة مساحة 5,500,000 كيلومتر مربع (2,100,000 ميل مربع). هذه المنطقة يشمل أراضي تنتمي إلى تسع دول".
سؤال: "أين غابات الأمازون المطيرة؟"
الإجابات:
answer[0]: 'South America.'
logit: 1.84847, start_index: 39, end_index: 40
answer[1]: 'most of the Amazon basin of South America.'
logit: 1.2921, start_index: 34, end_index: 40
answer[2]: 'the Amazon basin of South America.'
logit: -0.0959535, start_index: 36, end_index: 40
answer[3]: 'the Amazon biome that covers most of the Amazon basin of South America.'
logit: -0.498558, start_index: 28, end_index: 40
answer[4]: 'Amazon basin of South America.'
logit: -0.774266, start_index: 37, end_index: 40
جرب البساطة أداة إصدار واجهة سطر الأوامر (CLI) التجريبية لـ BertQuestionAnswerer باستخدام نموذجك الخاص وبيانات الاختبار.
متطلبات توافق النموذج
تتوقع واجهة برمجة التطبيقات BertQuestionAnswerer
نموذج TFLite مع
البيانات الوصفية لنماذج TFLite:
يجب أن تستوفي البيانات الوصفية المتطلبات التالية:
input_process_units
لبرنامج الترميز المميّز لقطعة النص أو الجملة3 تمرينات إدخال تحمل أسماء "ids" و"mask" و"segment_ids" لمخرجات أداة إنشاء الرموز المميّزة
ملفان للمخرجات يحملان الاسمين "end_logits" و"start_logits" للإشارة إلى الموضع النسبي للإجابة في السياق