টাস্ক লাইব্রেরি BertQuestionAnswerer
API একটি বার্ট মডেল লোড করে এবং একটি প্রদত্ত প্যাসেজের বিষয়বস্তুর উপর ভিত্তি করে প্রশ্নের উত্তর দেয়। আরও তথ্যের জন্য, এখানে প্রশ্ন-উত্তর মডেলের ডকুমেন্টেশন দেখুন।
BertQuestionAnswerer API-এর মূল বৈশিষ্ট্য
প্রশ্ন এবং প্রসঙ্গ হিসাবে দুটি পাঠ্য ইনপুট নেয় এবং সম্ভাব্য উত্তরগুলির একটি তালিকা আউটপুট করে।
ইনপুট টেক্সটে আউট-অফ-গ্রাফ ওয়ার্ডপিস বা সেন্টেন্সপিস টোকেনাইজেশন সম্পাদন করে।
সমর্থিত BertQuestionAnswerer মডেল
নিম্নলিখিত মডেলগুলি BertNLClassifier
API-এর সাথে সামঞ্জস্যপূর্ণ।
BERT প্রশ্নের উত্তরের জন্য TensorFlow Lite Model Maker দ্বারা তৈরি মডেলগুলি৷
কাস্টম মডেল যা মডেল সামঞ্জস্যের প্রয়োজনীয়তা পূরণ করে।
জাভাতে অনুমান চালান
ধাপ 1: Gradle নির্ভরতা এবং অন্যান্য সেটিংস আমদানি করুন
.tflite
মডেল ফাইলটি Android মডিউলের সম্পদ ডিরেক্টরিতে অনুলিপি করুন যেখানে মডেলটি চালানো হবে৷ নির্দিষ্ট করুন যে ফাইলটি সংকুচিত করা উচিত নয় এবং মডিউলের build.gradle
ফাইলে TensorFlow Lite লাইব্রেরি যোগ করুন:
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
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);
আরো বিস্তারিত জানার জন্য সোর্স কোড দেখুন.
সুইফটে অনুমান চালান
ধাপ 1: কোকোপড আমদানি করুন
Podfile এ TensorFlowLiteTaskText পড যোগ করুন
target 'MySwiftAppWithTaskAPI' do
use_frameworks!
pod 'TensorFlowLiteTaskText', '~> 0.2.0'
end
ধাপ 2: API ব্যবহার করে অনুমান চালান
// 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_file);
std::unique_ptr<BertQuestionAnswerer> answerer = BertQuestionAnswerer::CreateFromOptions(options).value();
// Run inference
std::vector<QaAnswer> positive_results = answerer->Answer(context_of_question, question_to_ask);
আরো বিস্তারিত জানার জন্য সোর্স কোড দেখুন.
উদাহরণ ফলাফল
এখানে ALBERT মডেলের উত্তর ফলাফলের একটি উদাহরণ।
প্রসঙ্গ: "অ্যামাজন রেইনফরেস্ট, বিকল্পভাবে, আমাজন জঙ্গল, ইংরেজিতে অ্যামাজনিয়া নামেও পরিচিত, আমাজন বায়োমের একটি আর্দ্র বিস্তৃত গ্রীষ্মমন্ডলীয় রেইনফরেস্ট যা দক্ষিণ আমেরিকার বেশিরভাগ অ্যামাজন অববাহিকা জুড়ে রয়েছে৷ এই অববাহিকাটি 7,000,000 km2 (2,00,000 milesq) জুড়ে রয়েছে৷ ), যার মধ্যে 5,500,000 km2 (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
আপনার নিজস্ব মডেল এবং পরীক্ষার ডেটা সহ BertQuestionAnswerer-এর জন্য সাধারণ CLI ডেমো টুল ব্যবহার করে দেখুন।
মডেল সামঞ্জস্যের প্রয়োজনীয়তা
BertQuestionAnswerer
API বাধ্যতামূলক TFLite মডেল মেটাডেটা সহ একটি TFLite মডেল আশা করে।
মেটাডেটা নিম্নলিখিত প্রয়োজনীয়তা পূরণ করা উচিত:
input_process_units
/Sentencepiece Tokenizer-এর জন্য input_process_unitsটোকেনাইজারের আউটপুটের জন্য "আইডি", "মাস্ক" এবং "সেগমেন্ট_আইডিস" নামের 3টি ইনপুট টেনসর
প্রসঙ্গে উত্তরের আপেক্ষিক অবস্থান নির্দেশ করতে "end_logits" এবং "start_logits" নামের 2টি আউটপুট টেনসর