টাস্ক লাইব্রেরি 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
implementation 'org.tensorflow:tensorflow-lite-task-text:0.4.4'
}
ধাপ 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.4.4'
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_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 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 মডেলের উত্তর ফলাফলের একটি উদাহরণ।
প্রসঙ্গ: "অ্যামাজন রেইনফরেস্ট, বিকল্পভাবে, অ্যামাজন জঙ্গল, ইংরেজিতে অ্যামাজনিয়া নামেও পরিচিত, আমাজন বায়োমের একটি আর্দ্র বিস্তৃত গ্রীষ্মমন্ডলীয় রেইনফরেস্ট যা দক্ষিণ আমেরিকার বেশিরভাগ আমাজন অববাহিকা জুড়ে রয়েছে৷ এই অববাহিকাটি 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 মডেল আশা করে।
মেটাডেটা নিম্নলিখিত প্রয়োজনীয়তা পূরণ করা উচিত:
Wordpiece/Sentencepiece Tokenizer-এর জন্য
input_process_units
টোকেনাইজারের আউটপুটের জন্য "আইডি", "মাস্ক" এবং "সেগমেন্ট_আইডিস" নামের 3টি ইনপুট টেনসর
প্রসঙ্গে উত্তরের আপেক্ষিক অবস্থান নির্দেশ করতে "end_logits" এবং "start_logits" নামের 2টি আউটপুট টেনসর