1. সংক্ষিপ্ত বিবরণ

TensorFlow Lite এবং Firebase codelab এর টেক্সট ক্লাসিফিকেশনে আপনাকে স্বাগতম। এই কোডল্যাবে আপনি শিখবেন কিভাবে TensorFlow Lite এবং Firebase ব্যবহার করে আপনার অ্যাপে টেক্সট ক্লাসিফিকেশন মডেল প্রশিক্ষণ এবং স্থাপন করতে হয়। এই কোডল্যাবটি TensorFlow Lite এর উদাহরণের উপর ভিত্তি করে তৈরি।
টেক্সট ক্লাসিফিকেশন হলো টেক্সটের বিষয়বস্তু অনুসারে ট্যাগ বা বিভাগ নির্ধারণের প্রক্রিয়া। এটি ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP) এর মৌলিক কাজগুলির মধ্যে একটি, যার বিস্তৃত প্রয়োগ রয়েছে যেমন সেন্টিমেন্ট বিশ্লেষণ, বিষয় লেবেলিং, স্প্যাম সনাক্তকরণ এবং অভিপ্রায় সনাক্তকরণ।
সেন্টিমেন্ট বিশ্লেষণ হল টেক্সট বিশ্লেষণ কৌশল ব্যবহার করে টেক্সট ডেটার মধ্যে আবেগের (ইতিবাচক, নেতিবাচক এবং নিরপেক্ষ) ব্যাখ্যা এবং শ্রেণীবিভাগ। সেন্টিমেন্ট বিশ্লেষণ ব্যবসাগুলিকে অনলাইন কথোপকথন এবং প্রতিক্রিয়ার মাধ্যমে পণ্য, ব্র্যান্ড বা পরিষেবার প্রতি গ্রাহকের অনুভূতি সনাক্ত করতে সহায়তা করে।
এই টিউটোরিয়ালটি দেখায় কিভাবে অনুভূতি বিশ্লেষণের জন্য একটি মেশিন লার্নিং মডেল তৈরি করতে হয়, বিশেষ করে টেক্সটকে ইতিবাচক বা নেতিবাচক হিসেবে শ্রেণীবদ্ধ করা। এটি বাইনারি—অথবা দুই-শ্রেণীর—শ্রেণীবিভাগের একটি উদাহরণ, যা একটি গুরুত্বপূর্ণ এবং ব্যাপকভাবে প্রযোজ্য ধরণের মেশিন লার্নিং সমস্যা।
তুমি কি শিখবে
- TF Lite Model Maker দিয়ে একটি TF Lite সেন্টিমেন্ট বিশ্লেষণ মডেল প্রশিক্ষণ দিন
- Firebase ML-এ TF Lite মডেল স্থাপন করুন এবং আপনার অ্যাপ থেকে সেগুলি অ্যাক্সেস করুন।
- Firebase Analytics ব্যবহার করে মডেলের নির্ভুলতা পরিমাপ করতে ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করুন
- Firebase পারফরম্যান্স মনিটরিংয়ের মাধ্যমে প্রোফাইল মডেলের পারফরম্যান্স
- রিমোট কনফিগের মাধ্যমে একাধিক স্থাপন করা মডেলের মধ্যে কোনটি লোড করা হয়েছে তা নির্বাচন করুন।
- Firebase A/B পরীক্ষার মাধ্যমে বিভিন্ন মডেল নিয়ে পরীক্ষা-নিরীক্ষা করুন
তোমার যা লাগবে
- এক্সকোড ১১ (বা উচ্চতর)
- কোকোপডস ১.৯.১ (বা উচ্চতর)
আপনি এই টিউটোরিয়ালটি কীভাবে ব্যবহার করবেন?
অ্যান্ড্রয়েড অ্যাপ তৈরির ক্ষেত্রে আপনার অভিজ্ঞতা কেমন হবে?
2. Firebase কনসোল প্রকল্প তৈরি করুন
প্রকল্পে Firebase যোগ করুন
- ফায়ারবেস কনসোলে যান।
- নতুন প্রকল্প তৈরি করুন নির্বাচন করুন এবং আপনার প্রকল্পের নাম দিন "Firebase ML iOS Codelab"।
৩. নমুনা প্রকল্পটি পান
কোডটি ডাউনলোড করুন
নমুনা প্রকল্পটি ক্লোন করে এবং প্রকল্প ডিরেক্টরিতে pod update চালানোর মাধ্যমে শুরু করুন:
git clone https://github.com/FirebaseExtended/codelab-textclassification-ios.git cd codelab-textclassification-ios pod install --repo-update
যদি আপনার গিট ইনস্টল না থাকে, তাহলে আপনি এর গিটহাব পৃষ্ঠা থেকে অথবা এই লিঙ্কে ক্লিক করে নমুনা প্রকল্পটি ডাউনলোড করতে পারেন। প্রকল্পটি ডাউনলোড করার পরে, এটি Xcode এ চালান এবং এটি কীভাবে কাজ করে তা অনুভব করার জন্য পাঠ্য শ্রেণিবিন্যাসের সাথে খেলুন।
ফায়ারবেস সেট আপ করুন
একটি নতুন Firebase প্রকল্প তৈরি করতে ডকুমেন্টেশন অনুসরণ করুন। আপনার প্রকল্পটি হয়ে গেলে, Firebase কনসোল থেকে আপনার প্রকল্পের GoogleService-Info.plist ফাইলটি ডাউনলোড করুন এবং এটিকে Xcode প্রকল্পের রুটে টেনে আনুন।

আপনার পডফাইলে ফায়ারবেস যোগ করুন এবং পড ইনস্টল চালান।
pod 'FirebaseMLModelDownloader', '9.3.0-beta'
আপনার AppDelegate এর didFinishLaunchingWithOptions পদ্ধতিতে, ফাইলের শীর্ষে Firebase আমদানি করুন
import FirebaseCore
এবং Firebase কনফিগার করার জন্য একটি কল যোগ করুন।
FirebaseApp.configure()
অ্যাপটি সঠিকভাবে কনফিগার করা আছে এবং লঞ্চের সময় ক্র্যাশ না হয় তা নিশ্চিত করতে প্রকল্পটি আবার চালান।
৪. একটি অনুভূতি বিশ্লেষণ মডেল প্রশিক্ষণ দিন
আমরা একটি টেক্সট ক্লাসিফিকেশন মডেল প্রশিক্ষণের জন্য TensorFlow Lite Model Maker ব্যবহার করব যাতে একটি প্রদত্ত টেক্সটের অনুভূতি পূর্বাভাস দেওয়া যায়।
এই ধাপটি একটি পাইথন নোটবুক হিসেবে উপস্থাপন করা হয়েছে যা আপনি Google Colab-এ খুলতে পারবেন।
কোলাবে খুলুন
এই ধাপটি শেষ করার পর, আপনার কাছে একটি টেনসরফ্লো লাইট সেন্টিমেন্ট বিশ্লেষণ মডেল থাকবে যা একটি মোবাইল অ্যাপে স্থাপনের জন্য প্রস্তুত।
৫. ফায়ারবেস এমএল-এ একটি মডেল স্থাপন করুন
Firebase ML-এ একটি মডেল স্থাপন করা দুটি প্রধান কারণে কার্যকর:
- আমরা অ্যাপ ইনস্টলের আকার ছোট রাখতে পারি এবং প্রয়োজনে শুধুমাত্র মডেলটি ডাউনলোড করতে পারি।
- মডেলটি নিয়মিত আপডেট করা যেতে পারে এবং পুরো অ্যাপের চেয়ে আলাদা রিলিজ চক্র সহ।
মডেলটি কনসোলের মাধ্যমে অথবা প্রোগ্রাম্যাটিকভাবে, Firebase Admin SDK ব্যবহার করে স্থাপন করা যেতে পারে। এই ধাপে আমরা কনসোলের মাধ্যমে স্থাপন করব।
প্রথমে, Firebase Console খুলুন এবং বাম দিকের নেভিগেশন প্যানেলে Machine Learning-এ ক্লিক করুন। যদি আপনি প্রথমবার খুলছেন তাহলে 'Get Started'-এ ক্লিক করুন। তারপর "Custom"-এ নেভিগেট করুন এবং "Add model" বোতামে ক্লিক করুন।
অনুরোধ করা হলে, মডেলটির নাম দিন sentiment_analysis এবং আগের ধাপে Colab থেকে ডাউনলোড করা ফাইলটি আপলোড করুন।

৬. Firebase ML থেকে মডেল ডাউনলোড করুন
Firebase থেকে রিমোট মডেলটি কখন আপনার অ্যাপে ডাউনলোড করবেন তা বেছে নেওয়া জটিল হতে পারে কারণ TFLite মডেলগুলি তুলনামূলকভাবে বড় হতে পারে। আদর্শভাবে আমরা অ্যাপটি চালু হওয়ার সাথে সাথেই মডেলটি লোড করা এড়াতে চাই, কারণ যদি আমাদের মডেলটি শুধুমাত্র একটি বৈশিষ্ট্যের জন্য ব্যবহার করা হয় এবং ব্যবহারকারী কখনও সেই বৈশিষ্ট্যটি ব্যবহার না করে, তাহলে আমরা কোনও কারণ ছাড়াই উল্লেখযোগ্য পরিমাণে ডেটা ডাউনলোড করব। আমরা ডাউনলোড বিকল্পগুলিও সেট করতে পারি যেমন ওয়াইফাইয়ের সাথে সংযুক্ত থাকাকালীন শুধুমাত্র মডেলগুলি আনা। আপনি যদি নিশ্চিত করতে চান যে মডেলটি নেটওয়ার্ক সংযোগ ছাড়াই উপলব্ধ, তাহলে ব্যাকআপ হিসাবে অ্যাপ ছাড়াই এটি বান্ডিল করাও গুরুত্বপূর্ণ।
সহজতার জন্য, আমরা ডিফল্ট বান্ডেলড মডেলটি সরিয়ে দেব এবং অ্যাপটি প্রথমবার শুরু হলে সর্বদা Firebase থেকে একটি মডেল ডাউনলোড করব। এইভাবে, সেন্টিমেন্ট বিশ্লেষণ চালানোর সময় আপনি নিশ্চিত হতে পারবেন যে Firebase থেকে প্রদত্ত মডেলের সাথে অনুমানটি চলছে।
ModelLoader.swift এর উপরে, Firebase মডিউলটি আমদানি করুন।
import FirebaseCore import FirebaseMLModelDownloader
তারপর নিম্নলিখিত পদ্ধতিগুলি বাস্তবায়ন করুন।
static func downloadModel(named name: String,
completion: @escaping (CustomModel?, DownloadError?) -> Void) {
guard FirebaseApp.app() != nil else {
completion(nil, .firebaseNotInitialized)
return
}
guard success == nil && failure == nil else {
completion(nil, .downloadInProgress)
return
}
let conditions = ModelDownloadConditions(allowsCellularAccess: false)
ModelDownloader.modelDownloader().getModel(name: name, downloadType: .localModelUpdateInBackground, conditions: conditions) { result in
switch (result) {
case .success(let customModel):
// Download complete.
// The CustomModel object contains the local path of the model file,
// which you can use to instantiate a TensorFlow Lite classifier.
return completion(customModel, nil)
case .failure(let error):
// Download was unsuccessful. Notify error message.
completion(nil, .downloadFailed(underlyingError: error))
}
}
}
ViewController.swift এর viewDidLoad এ, loadModel() এর কলটি আমাদের নতুন মডেল ডাউনলোড পদ্ধতি দিয়ে প্রতিস্থাপন করুন।
// Download the model from Firebase
print("Fetching model...")
ModelLoader.downloadModel(named: "sentiment_analysis") { (customModel, error) in
guard let customModel = customModel else {
if let error = error {
print(error)
}
return
}
print("Model download complete")
// TODO: Initialize an NLClassifier from the downloaded model
}
আপনার অ্যাপটি পুনরায় চালান। কয়েক সেকেন্ড পরে, আপনি Xcode-এ একটি লগ ইন দেখতে পাবেন যা নির্দেশ করে যে রিমোট মডেলটি সফলভাবে ডাউনলোড হয়েছে। কিছু টেক্সট টাইপ করার চেষ্টা করুন এবং নিশ্চিত করুন যে অ্যাপটির আচরণ পরিবর্তিত হয়নি।
৭. আপনার অ্যাপে মডেলটি একীভূত করুন
Tensorflow Lite Task Library আপনাকে মাত্র কয়েকটি লাইন কোড ব্যবহার করে TensorFlow Lite মডেলগুলিকে আপনার অ্যাপে একীভূত করতে সাহায্য করে। আমরা Firebase থেকে ডাউনলোড করা TensorFlow Lite মডেল ব্যবহার করে একটি TFLNLClassifier ইনস্ট্যান্স শুরু করব। তারপর আমরা অ্যাপ ব্যবহারকারীদের কাছ থেকে টেক্সট ইনপুট শ্রেণীবদ্ধ করতে এবং UI তে ফলাফল দেখাতে এটি ব্যবহার করব।
নির্ভরতা যোগ করুন
অ্যাপের পডফাইলে যান এবং অ্যাপের নির্ভরতাগুলিতে TensorFlow Lite Task Library (Text) যোগ করুন। target 'TextClassification' ঘোষণার অধীনে নির্ভরতা যোগ করুন।
pod 'TensorFlowLiteTaskText', '~> 0.2.0'
নতুন নির্ভরতা ইনস্টল করতে pod install চালান।
একটি টেক্সট ক্লাসিফায়ার শুরু করুন
তারপর আমরা টাস্ক লাইব্রেরির NLClassifier ব্যবহার করে Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট বিশ্লেষণ মডেলটি লোড করব।
ভিউকন্ট্রোলার.সুইফট
আসুন একটি TFLNLClassifier ইনস্ট্যান্স ভেরিয়েবল ঘোষণা করি। ফাইলের উপরে, নতুন নির্ভরতা আমদানি করুন:
import TensorFlowLiteTaskText
শেষ ধাপে আমরা যে পদ্ধতিটি পরিবর্তন করেছি তার উপরে এই মন্তব্যটি খুঁজুন:
// TODO: Add a TFLNLClassifier property.
নিম্নলিখিত কোড দিয়ে TODO প্রতিস্থাপন করুন:
private var classifier: TFLNLClassifier?
Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট বিশ্লেষণ মডেল দিয়ে textClassifier ভেরিয়েবলটি শুরু করুন। শেষ ধাপে আমরা যে মন্তব্যটি যোগ করেছি তা খুঁজুন:
// TODO: Initialize an NLClassifier from the downloaded model
নিম্নলিখিত কোড দিয়ে TODO প্রতিস্থাপন করুন:
let options = TFLNLClassifierOptions()
self.classifier = TFLNLClassifier.nlClassifier(modelPath: customModel.path, options: options)
টেক্সট শ্রেণীবদ্ধ করুন
একবার classifier ইনস্ট্যান্স সেট আপ হয়ে গেলে, আপনি একটি একক পদ্ধতি কল দিয়ে সেন্টিমেন্ট বিশ্লেষণ চালাতে পারেন।
ভিউকন্ট্রোলার.সুইফট
classify(text:) পদ্ধতিতে, TODO মন্তব্যটি খুঁজুন:
// TODO: Run sentiment analysis on the input text
মন্তব্যটি নিম্নলিখিত কোড দিয়ে প্রতিস্থাপন করুন:
guard let classifier = self.classifier else { return }
// Classify the text
let classifierResults = classifier.classify(text: text)
// Append the results to the list of results
let result = ClassificationResult(text: text, results: classifierResults)
results.append(result)
৮. চূড়ান্ত অ্যাপটি চালান
আপনি অ্যাপটিতে সেন্টিমেন্ট বিশ্লেষণ মডেলটি ইন্টিগ্রেটেড করেছেন, তাই আসুন এটি পরীক্ষা করি। আপনার iOS ডিভাইসটি সংযুক্ত করুন এবং Run (
) Xcode টুলবারে।
অ্যাপটি আপনার লেখা সিনেমার পর্যালোচনার অনুভূতি সঠিকভাবে অনুমান করতে সক্ষম হওয়া উচিত।

৯. আরও Firebase বৈশিষ্ট্য সহ অ্যাপটিকে শক্তিশালী করুন
আপনার TFLite মডেলগুলি হোস্ট করার পাশাপাশি, Firebase আপনার মেশিন লার্নিং ব্যবহারের ক্ষেত্রে আরও বেশ কয়েকটি বৈশিষ্ট্য সরবরাহ করে:
- ব্যবহারকারীর ডিভাইসে চলমান আপনার মডেল ইনফারেন্স গতি পরিমাপ করার জন্য ফায়ারবেস পারফরম্যান্স মনিটরিং।
- ব্যবহারকারীর প্রতিক্রিয়া পরিমাপ করে আপনার মডেল উৎপাদনে কতটা ভালো পারফর্ম করে তা পরিমাপ করার জন্য ফায়ারবেস অ্যানালিটিক্স।
- আপনার মডেলের একাধিক সংস্করণ পরীক্ষা করার জন্য Firebase A/B পরীক্ষা
- তোমার কি মনে আছে আমরা আগে আমাদের TFLite মডেলের দুটি সংস্করণ প্রশিক্ষণ দিয়েছিলাম? A/B পরীক্ষা হল কোন সংস্করণটি উৎপাদনে ভালো পারফর্ম করে তা খুঁজে বের করার একটি ভালো উপায়!
আপনার অ্যাপে এই বৈশিষ্ট্যগুলি কীভাবে কাজে লাগাবেন সে সম্পর্কে আরও জানতে, নীচের কোডল্যাবগুলি দেখুন:
১০. অভিনন্দন!
এই কোডল্যাবে, আপনি শিখেছেন কিভাবে একটি সেন্টিমেন্ট বিশ্লেষণ TFLite মডেল প্রশিক্ষণ দিতে হয় এবং Firebase ব্যবহার করে এটি আপনার মোবাইল অ্যাপে স্থাপন করতে হয়। TFLite এবং Firebase সম্পর্কে আরও জানতে, অন্যান্য TFLite নমুনা এবং Firebase শুরু করার নির্দেশিকাগুলি দেখুন।
আমরা যা কভার করেছি
- টেনসরফ্লো লাইট
- ফায়ারবেস এমএল
পরবর্তী পদক্ষেপ
- Firebase পারফরম্যান্স মনিটরিং দিয়ে আপনার মডেল ইনফারেন্স গতি পরিমাপ করুন।
- Firebase ML মডেল ম্যানেজমেন্ট API এর মাধ্যমে Colab থেকে সরাসরি Firebase-এ মডেলটি স্থাপন করুন।
- ব্যবহারকারীদের ভবিষ্যদ্বাণীর ফলাফল সম্পর্কে প্রতিক্রিয়া জানাতে একটি ব্যবস্থা যোগ করুন এবং ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করতে Firebase Analytics ব্যবহার করুন।
- A/B পরীক্ষাটি Average Word Vector মডেল এবং MobileBERT মডেলটি Firebase A/B পরীক্ষার মাধ্যমে করুন।
আরও জানুন
- ফায়ারবেস মেশিন লার্নিং ডকুমেন্টেশন
- টেনসরফ্লো লাইট ডকুমেন্টেশন
- Firebase দিয়ে অ্যাপের কর্মক্ষমতা পরিমাপ করুন
- Firebase ব্যবহার করে A/B টেস্টিং মডেল