টেনসরফ্লো লাইট এবং ফায়ারবেস - অ্যান্ড্রয়েড কোডল্যাব সহ আপনার অ্যাপে অন-ডিভাইস টেক্সট ক্লাসিফিকেশন যোগ করুন

1. ওভারভিউ

text-classification-result.png

TensorFlow Lite এবং Firebase কোডল্যাবের সাথে টেক্সট ক্লাসিফিকেশনে স্বাগতম। এই কোডল্যাবে আপনি শিখবেন কিভাবে TensorFlow Lite এবং Firebase ব্যবহার করতে হয় এবং আপনার অ্যাপে একটি টেক্সট ক্লাসিফিকেশন মডেল প্রশিক্ষিত করতে হয়। এই কোডল্যাবটি এই টেনসরফ্লো লাইট উদাহরণের উপর ভিত্তি করে তৈরি করা হয়েছে।

পাঠ্য শ্রেণিবিন্যাস হল পাঠ্যের বিষয়বস্তু অনুসারে ট্যাগ বা বিভাগ নির্ধারণের প্রক্রিয়া। এটি ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP) এর মৌলিক কাজগুলির মধ্যে একটি যা বিস্তৃত অ্যাপ্লিকেশন যেমন সেন্টিমেন্ট বিশ্লেষণ, বিষয় লেবেলিং, স্প্যাম সনাক্তকরণ এবং অভিপ্রায় সনাক্তকরণ।

অনুভূতি বিশ্লেষণ হল পাঠ্য বিশ্লেষণ কৌশল ব্যবহার করে পাঠ্য ডেটার মধ্যে আবেগের (ইতিবাচক, নেতিবাচক এবং নিরপেক্ষ) ব্যাখ্যা এবং শ্রেণীবিভাগ। সেন্টিমেন্ট বিশ্লেষণ ব্যবসাগুলিকে অনলাইন কথোপকথন এবং প্রতিক্রিয়াতে পণ্য, ব্র্যান্ড বা পরিষেবাগুলির প্রতি গ্রাহকের অনুভূতি সনাক্ত করতে দেয়।

এই টিউটোরিয়ালটি দেখায় কিভাবে অনুভূতি বিশ্লেষণের জন্য একটি মেশিন লার্নিং মডেল তৈরি করা যায়, বিশেষ করে পাঠ্যকে ইতিবাচক বা নেতিবাচক হিসাবে শ্রেণীবদ্ধ করা। এটি বাইনারি-বা দ্বি-শ্রেণীর-শ্রেণীবিভাগের একটি উদাহরণ, একটি গুরুত্বপূর্ণ এবং ব্যাপকভাবে প্রযোজ্য ধরনের মেশিন লার্নিং সমস্যা।

আপনি কি শিখবেন

  • TF Lite মডেল মেকারের সাথে একটি TF Lite অনুভূতি বিশ্লেষণ মডেল প্রশিক্ষণ দিন
  • Firebase ML-এ TF Lite মডেল স্থাপন করুন এবং আপনার অ্যাপ থেকে সেগুলি অ্যাক্সেস করুন
  • TF Lite টাস্ক লাইব্রেরি ব্যবহার করে আপনার অ্যাপে TF Lite সেন্টিমেন্ট বিশ্লেষণ মডেলগুলিকে একীভূত করুন

আপনি কি প্রয়োজন হবে

  • সর্বশেষ অ্যান্ড্রয়েড স্টুডিও সংস্করণ।
  • নমুনা কোড।
  • Android 5.0+ এবং Google Play পরিষেবা 9.8 বা তার পরবর্তী সংস্করণের একটি পরীক্ষামূলক ডিভাইস বা Google Play পরিষেবাগুলির 9.8 বা তার পরে একটি এমুলেটর
  • যদি একটি ডিভাইস ব্যবহার করে, একটি সংযোগ তারের.

আপনি কিভাবে এই টিউটোরিয়াল ব্যবহার করবেন?

শুধুমাত্র মাধ্যমে এটি পড়ুন এটি পড়ুন এবং ব্যায়াম সম্পূর্ণ করুন

অ্যান্ড্রয়েড অ্যাপ তৈরি করার বিষয়ে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবেন?

নবজাতক মধ্যবর্তী দক্ষ

2. নমুনা কোড পান

কমান্ড লাইন থেকে GitHub সংগ্রহস্থল ক্লোন করুন।

$ git clone https://github.com/FirebaseExtended/codelab-textclassification-android.git

আপনার যদি গিট ইনস্টল না থাকে তবে আপনি নমুনা প্রকল্পটি এর GitHub পৃষ্ঠা থেকে বা এই লিঙ্কে ক্লিক করে ডাউনলোড করতে পারেন।

3. স্টার্টার অ্যাপ আমদানি করুন

অ্যান্ড্রয়েড স্টুডিও থেকে, codelab-textclassification-android-master ডিরেক্টরি নির্বাচন করুন ( android_studio_folder.png ) নমুনা কোড ডাউনলোড থেকে ( ফাইল > খুলুন > .../codelab-textclassification-android-master/start)।

আপনার এখন অ্যান্ড্রয়েড স্টুডিওতে স্টার্ট প্রজেক্ট খোলা থাকা উচিত।

4. স্টার্টার অ্যাপ চালান

এখন আপনি অ্যান্ড্রয়েড স্টুডিওতে প্রকল্পটি আমদানি করেছেন, আপনি প্রথমবারের জন্য অ্যাপটি চালানোর জন্য প্রস্তুত৷ আপনার অ্যান্ড্রয়েড ডিভাইস সংযোগ করুন, এবং রান ক্লিক করুন ( execute.png অ্যান্ড্রয়েড স্টুডিও টুলবারে।

অ্যাপটি আপনার ডিভাইসে চালু করা উচিত। এটিতে শুধুমাত্র একটি সাধারণ UI রয়েছে যা পরবর্তী ধাপে পাঠ্য শ্রেণিবিন্যাস মডেলগুলিকে একীভূত করা এবং পরীক্ষা করা সহজ করে তোলে৷ এই মুহুর্তে, আপনি যদি অনুভূতির ভবিষ্যদ্বাণী করার চেষ্টা করেন তবে অ্যাপটি শুধুমাত্র কিছু ডামি ফলাফল ফিরিয়ে দেবে।

2fb4e69fafb2e3ed.png

5. ফায়ারবেস কনসোল প্রকল্প তৈরি করুন

প্রকল্পে Firebase যোগ করুন

  1. ফায়ারবেস কনসোলে যান।
  2. প্রকল্প যোগ করুন নির্বাচন করুন।
  3. একটি প্রকল্পের নাম নির্বাচন করুন বা লিখুন।
  4. Firebase কনসোলে অবশিষ্ট সেটআপ পদক্ষেপগুলি অনুসরণ করুন, তারপরে প্রজেক্ট তৈরি করুন (বা যদি আপনি একটি বিদ্যমান Google প্রকল্প ব্যবহার করেন তবে Firebase যোগ করুন) ক্লিক করুন।

6. অ্যাপে Firebase যোগ করুন

  1. আপনার নতুন প্রকল্পের ওভারভিউ স্ক্রীন থেকে, সেটআপ ওয়ার্কফ্লো চালু করতে Android আইকনে ক্লিক করুন।
  2. কোডল্যাবের প্যাকেজের নাম লিখুন: org.tensorflow.lite.codelabs.textclassification

আপনার অ্যাপে google-services.json ফাইল যোগ করুন

প্যাকেজের নাম যোগ করার পরে এবং নিবন্ধন** নির্বাচন করার পরে, আপনার Firebase অ্যান্ড্রয়েড কনফিগার ফাইলটি পেতে ডাউনলোড google-services.json** ক্লিক করুন তারপর আপনার প্রকল্পের * app * ডিরেক্টরিতে google-services.json ফাইলটি অনুলিপি করুন।

আপনার অ্যাপে google-services প্লাগইন যোগ করুন

আপনার অ্যাপে Firebase যোগ করতে build.gradle.kts ফাইল আপডেট করার জন্য Firebase কনসোলের নির্দেশাবলী অনুসরণ করুন।

Firebase ব্যবহার করার জন্য আপনার অ্যাপ্লিকেশন কনফিগার করতে google-services প্লাগইনটি google-services.json ফাইল ব্যবহার করে।

গ্রেডল ফাইলের সাথে আপনার প্রকল্প সিঙ্ক করুন

আপনার অ্যাপে সমস্ত নির্ভরতা উপলব্ধ রয়েছে তা নিশ্চিত করার জন্য, আপনাকে এই মুহুর্তে গ্রেডল ফাইলগুলির সাথে আপনার প্রকল্প সিঙ্ক করা উচিত। অ্যান্ড্রয়েড স্টুডিও টুলবার থেকে ফাইল > গ্রেডল ফাইলের সাথে সিঙ্ক প্রজেক্ট নির্বাচন করুন।

7. Firebase দিয়ে অ্যাপটি চালান

এখন আপনি আপনার JSON ফাইলের সাথে google-services প্লাগইন কনফিগার করেছেন, আপনি Firebase এর সাথে অ্যাপটি চালানোর জন্য প্রস্তুত। আপনার অ্যান্ড্রয়েড ডিভাইস সংযোগ করুন, এবং রান ক্লিক করুন ( execute.png অ্যান্ড্রয়েড স্টুডিও টুলবারে।

অ্যাপটি আপনার ডিভাইসে চালু করা উচিত। এই মুহুর্তে, আপনার অ্যাপটি এখনও সফলভাবে তৈরি করা উচিত।

8. একটি অনুভূতি বিশ্লেষণ মডেল প্রশিক্ষণ

একটি প্রদত্ত পাঠ্যের অনুভূতির পূর্বাভাস দেওয়ার জন্য একটি পাঠ্য শ্রেণিবিন্যাসের মডেলকে প্রশিক্ষণ দিতে আমরা TensorFlow Lite Model Maker ব্যবহার করব।

এই ধাপটি একটি পাইথন নোটবুক হিসেবে উপস্থাপন করা হয়েছে যা আপনি Google Colab-এ খুলতে পারেন। আপনি একবারে সমস্ত নোটবুক চালানোর জন্য রানটাইম > সমস্ত চালান বেছে নিতে পারেন।

Colab-এ খুলুন

এই ধাপটি শেষ করার পরে, আপনার কাছে একটি TensorFlow Lite সেন্টিমেন্ট বিশ্লেষণ মডেল থাকবে যা একটি মোবাইল অ্যাপে স্থাপনের জন্য প্রস্তুত।

9. Firebase ML-এ একটি মডেল স্থাপন করুন

Firebase ML-এ একটি মডেল স্থাপন করা দুটি প্রধান কারণের জন্য দরকারী:

  1. আমরা অ্যাপের ইন্সটল সাইজ ছোট রাখতে পারি এবং প্রয়োজন হলে শুধুমাত্র মডেলটি ডাউনলোড করতে পারি
  2. মডেলটি নিয়মিত আপডেট করা যেতে পারে এবং সম্পূর্ণ অ্যাপের থেকে আলাদা রিলিজ চক্রের সাথে

ফায়ারবেস অ্যাডমিন SDK ব্যবহার করে মডেলটি কনসোলের মাধ্যমে বা প্রোগ্রাম্যাটিকভাবে স্থাপন করা যেতে পারে। এই ধাপে আমরা কনসোলের মাধ্যমে স্থাপন করব।

প্রথমে, ফায়ারবেস কনসোল খুলুন এবং বাম নেভিগেশন প্যানেলে মেশিন লার্নিং-এ ক্লিক করুন। আপনি যদি এটি প্রথমবার খুলছেন তবে 'শুরু করুন' এ ক্লিক করুন। তারপর "কাস্টম" এ নেভিগেট করুন এবং "মডেল যোগ করুন" বোতামে ক্লিক করুন।

প্রম্পট করা হলে, sentiment_analysis মডেলটির নাম দিন এবং আগের ধাপে Colab থেকে ডাউনলোড করা ফাইলটি আপলোড করুন।

3c3c50e6ef12b3b.png

10. Firebase ML থেকে মডেল ডাউনলোড করুন

আপনার অ্যাপে Firebase থেকে রিমোট মডেল কখন ডাউনলোড করতে হবে তা বেছে নেওয়া কঠিন হতে পারে কারণ TFLite মডেলগুলি তুলনামূলকভাবে বড় হতে পারে। আদর্শভাবে আমরা অ্যাপটি চালু হওয়ার সাথে সাথে মডেলটি লোড করা এড়াতে চাই, যেহেতু আমাদের মডেলটি শুধুমাত্র একটি বৈশিষ্ট্যের জন্য ব্যবহার করা হয় এবং ব্যবহারকারী কখনই সেই বৈশিষ্ট্যটি ব্যবহার না করে, আমরা বিনা কারণেই উল্লেখযোগ্য পরিমাণ ডেটা ডাউনলোড করব। আমরা ডাউনলোডের বিকল্পগুলিও সেট করতে পারি যেমন wifi এর সাথে সংযুক্ত থাকাকালীন শুধুমাত্র মডেলগুলি আনা। আপনি যদি নিশ্চিত করতে চান যে মডেলটি এমনকি নেটওয়ার্ক সংযোগ ছাড়াই উপলব্ধ, তবে এটিকে ব্যাকআপ হিসাবে অ্যাপ ছাড়াই বান্ডিল করাও গুরুত্বপূর্ণ৷

সরলতার জন্য, আমরা ডিফল্ট বান্ডিল করা মডেলটি সরিয়ে দেব এবং অ্যাপটি প্রথমবার শুরু হলে সর্বদা Firebase থেকে একটি মডেল ডাউনলোড করব। এইভাবে সেন্টিমেন্ট বিশ্লেষণ চালানোর সময় আপনি নিশ্চিত হতে পারেন যে ফায়ারবেস থেকে প্রদত্ত মডেলের সাথে অনুমান চলছে।

app/build.gradle.kts ফাইলে, Firebase মেশিন লার্নিং নির্ভরতা যোগ করুন।

app/build.gradle.kts

এই মন্তব্য খুঁজুন:

// TODO 1: Add Firebase ML dependency

তারপর যোগ করুন:

implementation(platform("com.google.firebase:firebase-bom:32.0.0"))
implementation("com.google.firebase:firebase-ml-modeldownloader:24.1.2")

অ্যান্ড্রয়েড স্টুডিও আপনার প্রোজেক্ট সিঙ্ক করতে বললে, সিঙ্ক নাও বেছে নিন।

তারপর ফায়ারবেস থেকে মডেলটি ডাউনলোড করার জন্য কিছু কোড যোগ করা যাক।

MainActivity.java

এই মন্তব্য খুঁজুন:

// TODO 2: Implement a method to download TFLite model from Firebase

তারপর যোগ করুন:

  /** Download model from Firebase ML. */
  private synchronized void downloadModel(String modelName) {
      CustomModelDownloadConditions conditions = new CustomModelDownloadConditions.Builder()
            .requireWifi()
            .build();
      FirebaseModelDownloader.getInstance()
              .getModel("sentiment_analysis", DownloadType.LOCAL_MODEL, conditions)
              .addOnSuccessListener(model -> {
                  try {
                      // TODO 6: Initialize a TextClassifier with the downloaded model

                      predictButton.setEnabled(true);
                  } catch (IOException e) {
                      Log.e(TAG, "Failed to initialize the model. ", e);
                      Toast.makeText(
                              MainActivity.this,
                              "Model initialization failed.",
                              Toast.LENGTH_LONG)
                              .show();
                      predictButton.setEnabled(false);
                  }
              })
              .addOnFailureListener(e -> {
                      Log.e(TAG, "Failed to download the model. ", e);
                      Toast.makeText(
                              MainActivity.this,
                              "Model download failed, please check your connection.",
                              Toast.LENGTH_LONG)
                              .show();

                      }
              );

}

এরপর, কার্যকলাপের onCreate পদ্ধতিতে downloadModel পদ্ধতিতে কল করুন।

MainActivity.java

এই মন্তব্য খুঁজুন:

// TODO 3: Call the method to download TFLite model

তারপর যোগ করুন:

downloadModel("sentiment_analysis");

11. আপনার অ্যাপে মডেলটি সংহত করুন

টেনসরফ্লো লাইট টাস্ক লাইব্রেরি আপনাকে কোডের কয়েকটি লাইন দিয়ে আপনার অ্যাপে টেনসরফ্লো লাইট মডেলগুলিকে একীভূত করতে সাহায্য করে। আমরা Firebase থেকে ডাউনলোড করা TensorFlow Lite মডেল ব্যবহার করে একটি NLClassifier ইনস্ট্যান্স শুরু করব। তারপরে আমরা অ্যাপ ব্যবহারকারীদের কাছ থেকে টেক্সট ইনপুট শ্রেণীবদ্ধ করতে এবং UI-তে ফলাফল দেখাতে এটি ব্যবহার করব।

নির্ভরতা যোগ করুন

অ্যাপের গ্রেডল ফাইলে যান এবং অ্যাপের নির্ভরতায় টেনসরফ্লো লাইট টাস্ক লাইব্রেরি (টেক্সট) যোগ করুন।

app/build.gradle

এই মন্তব্য খুঁজুন:

// TODO 4: Add TFLite Task API (Text) dependency

তারপর যোগ করুন:

implementation("org.tensorflow:tensorflow-lite-task-text:0.3.0")

অ্যান্ড্রয়েড স্টুডিও আপনার প্রোজেক্ট সিঙ্ক করতে বললে, সিঙ্ক নাও বেছে নিন।

একটি টেক্সট ক্লাসিফায়ার শুরু করুন

তারপর আমরা টাস্ক লাইব্রেরির NLClassifier ব্যবহার করে Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট অ্যানালাইসিস মডেলটি লোড করব।

MainActivity.java

আসুন একটি NLCclassifier ইনস্ট্যান্স ভেরিয়েবল ঘোষণা করি। এই মন্তব্য খুঁজুন:

// TODO 5: Define a NLClassifier variable

তারপর যোগ করুন:

private NLClassifier textClassifier;

Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট অ্যানালাইসিস মডেলের সাথে textClassifier ভেরিয়েবল শুরু করুন। এই মন্তব্য খুঁজুন:

// TODO 6: Initialize a TextClassifier with the downloaded model

তারপর যোগ করুন:

textClassifier = NLClassifier.createFromFile(model.getFile());

পাঠ্য শ্রেণিবদ্ধ করুন

একবার textClassifier ইন্সট্যান্স সেট আপ হয়ে গেলে, আপনি একটি একক পদ্ধতি কলের মাধ্যমে সেন্টিমেন্ট বিশ্লেষণ চালাতে পারেন।

MainActivity.java

এই মন্তব্য খুঁজুন:

// TODO 7: Run sentiment analysis on the input text

তারপর যোগ করুন:

List<Category> results = textClassifier.classify(text);

পোস্ট-প্রসেসিং বাস্তবায়ন করুন

অবশেষে, আমরা মডেলের আউটপুটকে স্ক্রিনে দেখানোর জন্য একটি বর্ণনামূলক পাঠ্যে রূপান্তর করব।

MainActivity.java

এই মন্তব্য খুঁজুন:

// TODO 8: Convert the result to a human-readable text

ডামি ফলাফল পাঠ্য তৈরি করে এমন কোডটি সরান:

String textToShow = "Dummy classification result.\n";

তারপর যোগ করুন:

String textToShow = "Input: " + text + "\nOutput:\n";
for (int i = 0; i < results.size(); i++) {
  Category result = results.get(i);
  textToShow += String.format("    %s: %s\n", result.getLabel(),
                              result.getScore());
}
textToShow += "---------\n";

12. চূড়ান্ত অ্যাপটি চালান

আপনি অনুভূতি বিশ্লেষণ মডেলটি অ্যাপটিতে সংহত করেছেন, তাই আসুন এটি পরীক্ষা করি। আপনার অ্যান্ড্রয়েড ডিভাইস সংযোগ করুন, এবং রান ক্লিক করুন ( execute.png অ্যান্ড্রয়েড স্টুডিও টুলবারে।

অ্যাপটি আপনার প্রবেশ করা মুভি পর্যালোচনার অনুভূতি সঠিকভাবে অনুমান করতে সক্ষম হওয়া উচিত।

img/text-classification-result.png

13. আরও ফায়ারবেস বৈশিষ্ট্য সহ অ্যাপটিকে শক্তিশালী করুন৷

আপনার TFLite মডেলগুলি হোস্ট করার পাশাপাশি, Firebase আপনার মেশিন লার্নিং ব্যবহারের কেসগুলিকে শক্তিশালী করতে আরও বেশ কিছু বৈশিষ্ট্য সরবরাহ করে:

  • ব্যবহারকারীদের ডিভাইসে চলমান আপনার মডেল অনুমান গতি পরিমাপ করতে Firebase পারফরম্যান্স মনিটরিং।
  • ব্যবহারকারীর প্রতিক্রিয়া পরিমাপ করে আপনার মডেল উৎপাদনে কতটা ভালো পারফর্ম করে তা পরিমাপ করতে Firebase Analytics।
  • আপনার মডেলের একাধিক সংস্করণ পরীক্ষা করার জন্য Firebase A/B পরীক্ষা
  • আপনার কি মনে আছে আমরা আগে আমাদের TFLite মডেলের দুটি সংস্করণ প্রশিক্ষিত করেছি? কোন সংস্করণ উৎপাদনে ভালো পারফর্ম করে তা খুঁজে বের করার জন্য A/B পরীক্ষা একটি ভালো উপায়!

আপনার অ্যাপে এই বৈশিষ্ট্যগুলি কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও জানতে, নীচের কোডল্যাবগুলি দেখুন:

14. অভিনন্দন!

এই কোডল্যাবে, আপনি শিখেছেন কিভাবে একটি অনুভূতি বিশ্লেষণ TFLite মডেলকে প্রশিক্ষণ দিতে হয় এবং Firebase ব্যবহার করে আপনার মোবাইল অ্যাপে এটি স্থাপন করতে হয়। TFLite এবং Firebase সম্পর্কে আরও জানতে, অন্যান্য TFLite নমুনা এবং Firebase শুরু করার নির্দেশিকাগুলি দেখুন।

আমরা কভার করেছি কি

  • টেনসরফ্লো লাইট
  • ফায়ারবেস এমএল

পরবর্তী পদক্ষেপ

  • ফায়ারবেস পারফরম্যান্স মনিটরিংয়ের মাধ্যমে আপনার মডেলের অনুমানের গতি পরিমাপ করুন।
  • Firebase ML মডেল ম্যানেজমেন্ট API-এর মাধ্যমে Colab থেকে সরাসরি Firebase-এ মডেলটি স্থাপন করুন।
  • ভবিষ্যদ্বাণী ফলাফলের উপর ব্যবহারকারীদের প্রতিক্রিয়া জানাতে এবং ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করতে Firebase Analytics ব্যবহার করার অনুমতি দেওয়ার জন্য একটি প্রক্রিয়া যোগ করুন।
  • A/B ফায়ারবেস A/B পরীক্ষার মাধ্যমে গড় ওয়ার্ড ভেক্টর মডেল এবং MobileBERT মডেল পরীক্ষা করে।

আরও জানুন

একটি প্রশ্ন আছে?

রিপোর্ট সমস্যা

,

1. ওভারভিউ

text-classification-result.png

TensorFlow Lite এবং Firebase কোডল্যাবের সাথে টেক্সট ক্লাসিফিকেশনে স্বাগতম। এই কোডল্যাবে আপনি শিখবেন কিভাবে TensorFlow Lite এবং Firebase ব্যবহার করতে হয় এবং আপনার অ্যাপে একটি টেক্সট ক্লাসিফিকেশন মডেল প্রশিক্ষিত করতে হয়। এই কোডল্যাবটি এই টেনসরফ্লো লাইট উদাহরণের উপর ভিত্তি করে তৈরি করা হয়েছে।

পাঠ্য শ্রেণিবিন্যাস হল পাঠ্যের বিষয়বস্তু অনুসারে ট্যাগ বা বিভাগ নির্ধারণের প্রক্রিয়া। এটি ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP) এর মৌলিক কাজগুলির মধ্যে একটি যা বিস্তৃত অ্যাপ্লিকেশন যেমন সেন্টিমেন্ট বিশ্লেষণ, বিষয় লেবেলিং, স্প্যাম সনাক্তকরণ এবং অভিপ্রায় সনাক্তকরণ।

অনুভূতি বিশ্লেষণ হল পাঠ্য বিশ্লেষণ কৌশল ব্যবহার করে পাঠ্য ডেটার মধ্যে আবেগের (ইতিবাচক, নেতিবাচক এবং নিরপেক্ষ) ব্যাখ্যা এবং শ্রেণীবিভাগ। সেন্টিমেন্ট বিশ্লেষণ ব্যবসাগুলিকে অনলাইন কথোপকথন এবং প্রতিক্রিয়াতে পণ্য, ব্র্যান্ড বা পরিষেবাগুলির প্রতি গ্রাহকের অনুভূতি সনাক্ত করতে দেয়।

এই টিউটোরিয়ালটি দেখায় কিভাবে অনুভূতি বিশ্লেষণের জন্য একটি মেশিন লার্নিং মডেল তৈরি করা যায়, বিশেষ করে পাঠ্যকে ইতিবাচক বা নেতিবাচক হিসাবে শ্রেণীবদ্ধ করা। এটি বাইনারি-বা দ্বি-শ্রেণীর-শ্রেণীবিভাগের একটি উদাহরণ, একটি গুরুত্বপূর্ণ এবং ব্যাপকভাবে প্রযোজ্য ধরনের মেশিন লার্নিং সমস্যা।

আপনি কি শিখবেন

  • TF Lite মডেল মেকারের সাথে একটি TF Lite অনুভূতি বিশ্লেষণ মডেল প্রশিক্ষণ দিন
  • Firebase ML-এ TF Lite মডেল স্থাপন করুন এবং আপনার অ্যাপ থেকে সেগুলি অ্যাক্সেস করুন
  • TF Lite টাস্ক লাইব্রেরি ব্যবহার করে আপনার অ্যাপে TF Lite সেন্টিমেন্ট বিশ্লেষণ মডেলগুলিকে একীভূত করুন

আপনি কি প্রয়োজন হবে

  • সর্বশেষ অ্যান্ড্রয়েড স্টুডিও সংস্করণ।
  • নমুনা কোড।
  • Android 5.0+ এবং Google Play পরিষেবা 9.8 বা তার পরবর্তী সংস্করণের একটি পরীক্ষামূলক ডিভাইস বা Google Play পরিষেবাগুলির 9.8 বা তার পরে একটি এমুলেটর
  • যদি একটি ডিভাইস ব্যবহার করে, একটি সংযোগ তারের.

আপনি কিভাবে এই টিউটোরিয়াল ব্যবহার করবেন?

শুধুমাত্র মাধ্যমে এটি পড়ুন এটি পড়ুন এবং ব্যায়াম সম্পূর্ণ করুন

অ্যান্ড্রয়েড অ্যাপ তৈরি করার বিষয়ে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবেন?

নবজাতক মধ্যবর্তী দক্ষ

2. নমুনা কোড পান

কমান্ড লাইন থেকে GitHub সংগ্রহস্থল ক্লোন করুন।

$ git clone https://github.com/FirebaseExtended/codelab-textclassification-android.git

আপনার যদি গিট ইনস্টল না থাকে তবে আপনি নমুনা প্রকল্পটি এর GitHub পৃষ্ঠা থেকে বা এই লিঙ্কে ক্লিক করে ডাউনলোড করতে পারেন।

3. স্টার্টার অ্যাপ আমদানি করুন

অ্যান্ড্রয়েড স্টুডিও থেকে, codelab-textclassification-android-master ডিরেক্টরি নির্বাচন করুন ( android_studio_folder.png ) নমুনা কোড ডাউনলোড থেকে ( ফাইল > খুলুন > .../codelab-textclassification-android-master/start)।

আপনার এখন অ্যান্ড্রয়েড স্টুডিওতে স্টার্ট প্রজেক্ট খোলা থাকা উচিত।

4. স্টার্টার অ্যাপ চালান

এখন আপনি অ্যান্ড্রয়েড স্টুডিওতে প্রকল্পটি আমদানি করেছেন, আপনি প্রথমবারের জন্য অ্যাপটি চালানোর জন্য প্রস্তুত৷ আপনার অ্যান্ড্রয়েড ডিভাইস সংযোগ করুন, এবং রান ক্লিক করুন ( execute.png অ্যান্ড্রয়েড স্টুডিও টুলবারে।

অ্যাপটি আপনার ডিভাইসে চালু করা উচিত। এটিতে শুধুমাত্র একটি সাধারণ UI রয়েছে যা পরবর্তী ধাপে পাঠ্য শ্রেণিবিন্যাস মডেলগুলিকে একীভূত করা এবং পরীক্ষা করা সহজ করে তোলে৷ এই মুহুর্তে, আপনি যদি অনুভূতির ভবিষ্যদ্বাণী করার চেষ্টা করেন তবে অ্যাপটি শুধুমাত্র কিছু ডামি ফলাফল ফিরিয়ে দেবে।

2fb4e69fafb2e3ed.png

5. ফায়ারবেস কনসোল প্রকল্প তৈরি করুন

প্রকল্পে Firebase যোগ করুন

  1. ফায়ারবেস কনসোলে যান।
  2. প্রকল্প যোগ করুন নির্বাচন করুন।
  3. একটি প্রকল্পের নাম নির্বাচন করুন বা লিখুন।
  4. Firebase কনসোলে অবশিষ্ট সেটআপ পদক্ষেপগুলি অনুসরণ করুন, তারপরে প্রজেক্ট তৈরি করুন (বা যদি আপনি একটি বিদ্যমান Google প্রকল্প ব্যবহার করেন তবে Firebase যোগ করুন) ক্লিক করুন।

6. অ্যাপে Firebase যোগ করুন

  1. আপনার নতুন প্রকল্পের ওভারভিউ স্ক্রীন থেকে, সেটআপ ওয়ার্কফ্লো চালু করতে Android আইকনে ক্লিক করুন।
  2. কোডল্যাবের প্যাকেজের নাম লিখুন: org.tensorflow.lite.codelabs.textclassification

আপনার অ্যাপে google-services.json ফাইল যোগ করুন

প্যাকেজের নাম যোগ করার পরে এবং নিবন্ধন** নির্বাচন করার পরে, আপনার Firebase অ্যান্ড্রয়েড কনফিগার ফাইলটি পেতে ডাউনলোড google-services.json** ক্লিক করুন তারপর আপনার প্রকল্পের * app * ডিরেক্টরিতে google-services.json ফাইলটি অনুলিপি করুন।

আপনার অ্যাপে google-services প্লাগইন যোগ করুন

আপনার অ্যাপে Firebase যোগ করতে build.gradle.kts ফাইল আপডেট করার জন্য Firebase কনসোলের নির্দেশাবলী অনুসরণ করুন।

Firebase ব্যবহার করার জন্য আপনার অ্যাপ্লিকেশন কনফিগার করতে google-services প্লাগইনটি google-services.json ফাইল ব্যবহার করে।

গ্রেডল ফাইলের সাথে আপনার প্রকল্প সিঙ্ক করুন

আপনার অ্যাপে সমস্ত নির্ভরতা উপলব্ধ রয়েছে তা নিশ্চিত করার জন্য, আপনাকে এই মুহুর্তে গ্রেডল ফাইলগুলির সাথে আপনার প্রকল্প সিঙ্ক করা উচিত। অ্যান্ড্রয়েড স্টুডিও টুলবার থেকে ফাইল > গ্রেডল ফাইলের সাথে সিঙ্ক প্রজেক্ট নির্বাচন করুন।

7. Firebase দিয়ে অ্যাপটি চালান

এখন আপনি আপনার JSON ফাইলের সাথে google-services প্লাগইন কনফিগার করেছেন, আপনি Firebase এর সাথে অ্যাপটি চালানোর জন্য প্রস্তুত। আপনার অ্যান্ড্রয়েড ডিভাইস সংযোগ করুন, এবং রান ক্লিক করুন ( execute.png অ্যান্ড্রয়েড স্টুডিও টুলবারে।

অ্যাপটি আপনার ডিভাইসে চালু করা উচিত। এই মুহুর্তে, আপনার অ্যাপটি এখনও সফলভাবে তৈরি করা উচিত।

8. একটি অনুভূতি বিশ্লেষণ মডেল প্রশিক্ষণ

একটি প্রদত্ত পাঠ্যের অনুভূতির পূর্বাভাস দেওয়ার জন্য একটি পাঠ্য শ্রেণিবিন্যাসের মডেলকে প্রশিক্ষণ দিতে আমরা TensorFlow Lite Model Maker ব্যবহার করব।

এই ধাপটি একটি পাইথন নোটবুক হিসেবে উপস্থাপন করা হয়েছে যা আপনি Google Colab-এ খুলতে পারেন। আপনি একবারে সমস্ত নোটবুক চালানোর জন্য রানটাইম > সমস্ত চালান বেছে নিতে পারেন।

Colab-এ খুলুন

এই ধাপটি শেষ করার পরে, আপনার কাছে একটি TensorFlow Lite সেন্টিমেন্ট বিশ্লেষণ মডেল থাকবে যা একটি মোবাইল অ্যাপে স্থাপনের জন্য প্রস্তুত।

9. Firebase ML-এ একটি মডেল স্থাপন করুন

Firebase ML-এ একটি মডেল স্থাপন করা দুটি প্রধান কারণের জন্য দরকারী:

  1. আমরা অ্যাপের ইন্সটল সাইজ ছোট রাখতে পারি এবং প্রয়োজন হলে শুধুমাত্র মডেলটি ডাউনলোড করতে পারি
  2. মডেলটি নিয়মিত আপডেট করা যেতে পারে এবং সম্পূর্ণ অ্যাপের থেকে আলাদা রিলিজ চক্রের সাথে

ফায়ারবেস অ্যাডমিন SDK ব্যবহার করে মডেলটি কনসোলের মাধ্যমে বা প্রোগ্রাম্যাটিকভাবে স্থাপন করা যেতে পারে। এই ধাপে আমরা কনসোলের মাধ্যমে স্থাপন করব।

প্রথমে, ফায়ারবেস কনসোল খুলুন এবং বাম নেভিগেশন প্যানেলে মেশিন লার্নিং-এ ক্লিক করুন। আপনি যদি এটি প্রথমবার খুলছেন তবে 'শুরু করুন' এ ক্লিক করুন। তারপর "কাস্টম" এ নেভিগেট করুন এবং "মডেল যোগ করুন" বোতামে ক্লিক করুন।

প্রম্পট করা হলে, sentiment_analysis মডেলটির নাম দিন এবং আগের ধাপে Colab থেকে ডাউনলোড করা ফাইলটি আপলোড করুন।

3c3c50e6ef12b3b.png

10. Firebase ML থেকে মডেল ডাউনলোড করুন

আপনার অ্যাপে Firebase থেকে রিমোট মডেল কখন ডাউনলোড করতে হবে তা বেছে নেওয়া কঠিন হতে পারে কারণ TFLite মডেলগুলি তুলনামূলকভাবে বড় হতে পারে। আদর্শভাবে আমরা অ্যাপটি চালু হওয়ার সাথে সাথে মডেলটি লোড করা এড়াতে চাই, যেহেতু আমাদের মডেলটি শুধুমাত্র একটি বৈশিষ্ট্যের জন্য ব্যবহার করা হয় এবং ব্যবহারকারী কখনই সেই বৈশিষ্ট্যটি ব্যবহার না করে, আমরা বিনা কারণেই উল্লেখযোগ্য পরিমাণ ডেটা ডাউনলোড করব। আমরা ডাউনলোডের বিকল্পগুলিও সেট করতে পারি যেমন wifi এর সাথে সংযুক্ত থাকাকালীন শুধুমাত্র মডেলগুলি আনা। আপনি যদি নিশ্চিত করতে চান যে মডেলটি এমনকি নেটওয়ার্ক সংযোগ ছাড়াই উপলব্ধ, তবে এটিকে ব্যাকআপ হিসাবে অ্যাপ ছাড়াই বান্ডিল করাও গুরুত্বপূর্ণ৷

সরলতার জন্য, আমরা ডিফল্ট বান্ডিল করা মডেলটি সরিয়ে দেব এবং অ্যাপটি প্রথমবার শুরু হলে সর্বদা Firebase থেকে একটি মডেল ডাউনলোড করব। এইভাবে সেন্টিমেন্ট বিশ্লেষণ চালানোর সময় আপনি নিশ্চিত হতে পারেন যে ফায়ারবেস থেকে প্রদত্ত মডেলের সাথে অনুমান চলছে।

app/build.gradle.kts ফাইলে, Firebase মেশিন লার্নিং নির্ভরতা যোগ করুন।

app/build.gradle.kts

এই মন্তব্য খুঁজুন:

// TODO 1: Add Firebase ML dependency

তারপর যোগ করুন:

implementation(platform("com.google.firebase:firebase-bom:32.0.0"))
implementation("com.google.firebase:firebase-ml-modeldownloader:24.1.2")

অ্যান্ড্রয়েড স্টুডিও আপনার প্রোজেক্ট সিঙ্ক করতে বললে, সিঙ্ক নাও বেছে নিন।

তারপর ফায়ারবেস থেকে মডেলটি ডাউনলোড করার জন্য কিছু কোড যোগ করা যাক।

MainActivity.java

এই মন্তব্য খুঁজুন:

// TODO 2: Implement a method to download TFLite model from Firebase

তারপর যোগ করুন:

  /** Download model from Firebase ML. */
  private synchronized void downloadModel(String modelName) {
      CustomModelDownloadConditions conditions = new CustomModelDownloadConditions.Builder()
            .requireWifi()
            .build();
      FirebaseModelDownloader.getInstance()
              .getModel("sentiment_analysis", DownloadType.LOCAL_MODEL, conditions)
              .addOnSuccessListener(model -> {
                  try {
                      // TODO 6: Initialize a TextClassifier with the downloaded model

                      predictButton.setEnabled(true);
                  } catch (IOException e) {
                      Log.e(TAG, "Failed to initialize the model. ", e);
                      Toast.makeText(
                              MainActivity.this,
                              "Model initialization failed.",
                              Toast.LENGTH_LONG)
                              .show();
                      predictButton.setEnabled(false);
                  }
              })
              .addOnFailureListener(e -> {
                      Log.e(TAG, "Failed to download the model. ", e);
                      Toast.makeText(
                              MainActivity.this,
                              "Model download failed, please check your connection.",
                              Toast.LENGTH_LONG)
                              .show();

                      }
              );

}

এরপর, কার্যকলাপের onCreate পদ্ধতিতে downloadModel পদ্ধতিতে কল করুন।

MainActivity.java

এই মন্তব্য খুঁজুন:

// TODO 3: Call the method to download TFLite model

তারপর যোগ করুন:

downloadModel("sentiment_analysis");

11. আপনার অ্যাপে মডেলটি সংহত করুন

টেনসরফ্লো লাইট টাস্ক লাইব্রেরি আপনাকে কোডের কয়েকটি লাইন দিয়ে আপনার অ্যাপে টেনসরফ্লো লাইট মডেলগুলিকে একীভূত করতে সাহায্য করে। আমরা Firebase থেকে ডাউনলোড করা TensorFlow Lite মডেল ব্যবহার করে একটি NLClassifier ইনস্ট্যান্স শুরু করব। তারপরে আমরা অ্যাপ ব্যবহারকারীদের কাছ থেকে টেক্সট ইনপুট শ্রেণীবদ্ধ করতে এবং UI-তে ফলাফল দেখাতে এটি ব্যবহার করব।

নির্ভরতা যোগ করুন

অ্যাপের গ্রেডল ফাইলে যান এবং অ্যাপের নির্ভরতায় টেনসরফ্লো লাইট টাস্ক লাইব্রেরি (টেক্সট) যোগ করুন।

app/build.gradle

এই মন্তব্য খুঁজুন:

// TODO 4: Add TFLite Task API (Text) dependency

তারপর যোগ করুন:

implementation("org.tensorflow:tensorflow-lite-task-text:0.3.0")

অ্যান্ড্রয়েড স্টুডিও আপনার প্রোজেক্ট সিঙ্ক করতে বললে, সিঙ্ক নাও বেছে নিন।

একটি টেক্সট ক্লাসিফায়ার শুরু করুন

তারপর আমরা টাস্ক লাইব্রেরির NLClassifier ব্যবহার করে Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট অ্যানালাইসিস মডেলটি লোড করব।

MainActivity.java

আসুন একটি NLCclassifier ইনস্ট্যান্স ভেরিয়েবল ঘোষণা করি। এই মন্তব্য খুঁজুন:

// TODO 5: Define a NLClassifier variable

তারপর যোগ করুন:

private NLClassifier textClassifier;

Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট অ্যানালাইসিস মডেলের সাথে textClassifier ভেরিয়েবল শুরু করুন। এই মন্তব্য খুঁজুন:

// TODO 6: Initialize a TextClassifier with the downloaded model

তারপর যোগ করুন:

textClassifier = NLClassifier.createFromFile(model.getFile());

পাঠ্য শ্রেণিবদ্ধ করুন

একবার textClassifier ইন্সট্যান্স সেট আপ হয়ে গেলে, আপনি একটি একক পদ্ধতি কলের মাধ্যমে সেন্টিমেন্ট বিশ্লেষণ চালাতে পারেন।

MainActivity.java

এই মন্তব্য খুঁজুন:

// TODO 7: Run sentiment analysis on the input text

তারপর যোগ করুন:

List<Category> results = textClassifier.classify(text);

পোস্ট-প্রসেসিং বাস্তবায়ন করুন

অবশেষে, আমরা মডেলের আউটপুটকে স্ক্রিনে দেখানোর জন্য একটি বর্ণনামূলক পাঠ্যে রূপান্তর করব।

MainActivity.java

এই মন্তব্য খুঁজুন:

// TODO 8: Convert the result to a human-readable text

ডামি ফলাফল পাঠ্য তৈরি করে এমন কোডটি সরান:

String textToShow = "Dummy classification result.\n";

তারপর যোগ করুন:

String textToShow = "Input: " + text + "\nOutput:\n";
for (int i = 0; i < results.size(); i++) {
  Category result = results.get(i);
  textToShow += String.format("    %s: %s\n", result.getLabel(),
                              result.getScore());
}
textToShow += "---------\n";

12. চূড়ান্ত অ্যাপটি চালান

আপনি অনুভূতি বিশ্লেষণ মডেলটি অ্যাপটিতে সংহত করেছেন, তাই আসুন এটি পরীক্ষা করি। আপনার অ্যান্ড্রয়েড ডিভাইস সংযোগ করুন, এবং রান ক্লিক করুন ( execute.png অ্যান্ড্রয়েড স্টুডিও টুলবারে।

অ্যাপটি আপনার প্রবেশ করা মুভি পর্যালোচনার অনুভূতি সঠিকভাবে অনুমান করতে সক্ষম হওয়া উচিত।

img/text-classification-result.png

13. আরও ফায়ারবেস বৈশিষ্ট্য সহ অ্যাপটিকে শক্তিশালী করুন৷

আপনার TFLite মডেলগুলি হোস্ট করার পাশাপাশি, Firebase আপনার মেশিন লার্নিং ব্যবহারের কেসগুলিকে শক্তিশালী করতে আরও বেশ কিছু বৈশিষ্ট্য সরবরাহ করে:

  • ব্যবহারকারীদের ডিভাইসে চলমান আপনার মডেল অনুমান গতি পরিমাপ করতে Firebase পারফরম্যান্স মনিটরিং।
  • ব্যবহারকারীর প্রতিক্রিয়া পরিমাপ করে আপনার মডেল উৎপাদনে কতটা ভালো পারফর্ম করে তা পরিমাপ করতে Firebase Analytics।
  • আপনার মডেলের একাধিক সংস্করণ পরীক্ষা করার জন্য Firebase A/B পরীক্ষা
  • আপনার কি মনে আছে আমরা আগে আমাদের TFLite মডেলের দুটি সংস্করণ প্রশিক্ষিত করেছি? কোন সংস্করণ উৎপাদনে ভালো পারফর্ম করে তা খুঁজে বের করার জন্য A/B পরীক্ষা একটি ভালো উপায়!

আপনার অ্যাপে এই বৈশিষ্ট্যগুলি কীভাবে ব্যবহার করবেন সে সম্পর্কে আরও জানতে, নীচের কোডল্যাবগুলি দেখুন:

14. অভিনন্দন!

এই কোডল্যাবে, আপনি শিখেছেন কিভাবে একটি অনুভূতি বিশ্লেষণ TFLite মডেলকে প্রশিক্ষণ দিতে হয় এবং Firebase ব্যবহার করে আপনার মোবাইল অ্যাপে এটি স্থাপন করতে হয়। TFLite এবং Firebase সম্পর্কে আরও জানতে, অন্যান্য TFLite নমুনা এবং Firebase শুরু করার নির্দেশিকাগুলি দেখুন।

আমরা কভার করেছি কি

  • টেনসরফ্লো লাইট
  • ফায়ারবেস এমএল

পরবর্তী পদক্ষেপ

  • ফায়ারবেস পারফরম্যান্স মনিটরিংয়ের মাধ্যমে আপনার মডেলের অনুমানের গতি পরিমাপ করুন।
  • Firebase ML মডেল ম্যানেজমেন্ট API-এর মাধ্যমে Colab থেকে সরাসরি Firebase-এ মডেলটি স্থাপন করুন।
  • ভবিষ্যদ্বাণী ফলাফলের উপর ব্যবহারকারীদের প্রতিক্রিয়া জানাতে এবং ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করতে Firebase Analytics ব্যবহার করার অনুমতি দেওয়ার জন্য একটি প্রক্রিয়া যোগ করুন।
  • A/B ফায়ারবেস A/B পরীক্ষার মাধ্যমে গড় ওয়ার্ড ভেক্টর মডেল এবং MobileBERT মডেল পরীক্ষা করে।

আরও জানুন

একটি প্রশ্ন আছে?

রিপোর্ট সমস্যা

,

1. ওভারভিউ

text-classification-result.png

TensorFlow Lite এবং Firebase কোডল্যাবের সাথে টেক্সট ক্লাসিফিকেশনে স্বাগতম। এই কোডল্যাবে আপনি শিখবেন কিভাবে TensorFlow Lite এবং Firebase ব্যবহার করতে হয় এবং আপনার অ্যাপে একটি টেক্সট ক্লাসিফিকেশন মডেল প্রশিক্ষিত করতে হয়। এই কোডল্যাবটি এই টেনসরফ্লো লাইট উদাহরণের উপর ভিত্তি করে তৈরি করা হয়েছে।

পাঠ্য শ্রেণিবিন্যাস হল পাঠ্যের বিষয়বস্তু অনুসারে ট্যাগ বা বিভাগ নির্ধারণের প্রক্রিয়া। এটি ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP) এর মৌলিক কাজগুলির মধ্যে একটি যা বিস্তৃত অ্যাপ্লিকেশন যেমন সেন্টিমেন্ট বিশ্লেষণ, বিষয় লেবেলিং, স্প্যাম সনাক্তকরণ এবং অভিপ্রায় সনাক্তকরণ।

অনুভূতি বিশ্লেষণ হল পাঠ্য বিশ্লেষণ কৌশল ব্যবহার করে পাঠ্য ডেটার মধ্যে আবেগের (ইতিবাচক, নেতিবাচক এবং নিরপেক্ষ) ব্যাখ্যা এবং শ্রেণীবিভাগ। সেন্টিমেন্ট বিশ্লেষণ ব্যবসাগুলিকে অনলাইন কথোপকথন এবং প্রতিক্রিয়াতে পণ্য, ব্র্যান্ড বা পরিষেবাগুলির প্রতি গ্রাহকের অনুভূতি সনাক্ত করতে দেয়।

এই টিউটোরিয়ালটি দেখায় কিভাবে অনুভূতি বিশ্লেষণের জন্য একটি মেশিন লার্নিং মডেল তৈরি করা যায়, বিশেষ করে পাঠ্যকে ইতিবাচক বা নেতিবাচক হিসাবে শ্রেণীবদ্ধ করা। এটি বাইনারি-বা দ্বি-শ্রেণীর-শ্রেণীবিভাগের একটি উদাহরণ, একটি গুরুত্বপূর্ণ এবং ব্যাপকভাবে প্রযোজ্য ধরনের মেশিন লার্নিং সমস্যা।

আপনি কি শিখবেন

  • TF Lite মডেল মেকারের সাথে একটি TF Lite অনুভূতি বিশ্লেষণ মডেল প্রশিক্ষণ দিন
  • Firebase ML-এ TF Lite মডেল স্থাপন করুন এবং আপনার অ্যাপ থেকে সেগুলি অ্যাক্সেস করুন
  • TF Lite টাস্ক লাইব্রেরি ব্যবহার করে আপনার অ্যাপে TF Lite সেন্টিমেন্ট বিশ্লেষণ মডেলগুলিকে একীভূত করুন

আপনি কি প্রয়োজন হবে

  • সর্বশেষ অ্যান্ড্রয়েড স্টুডিও সংস্করণ।
  • নমুনা কোড।
  • Android 5.0+ এবং Google Play পরিষেবা 9.8 বা তার পরবর্তী সংস্করণের একটি পরীক্ষামূলক ডিভাইস বা Google Play পরিষেবাগুলির 9.8 বা তার পরে একটি এমুলেটর
  • যদি একটি ডিভাইস ব্যবহার করে, একটি সংযোগ তারের.

আপনি কিভাবে এই টিউটোরিয়াল ব্যবহার করবেন?

শুধুমাত্র মাধ্যমে এটি পড়ুন এটি পড়ুন এবং ব্যায়াম সম্পূর্ণ করুন

অ্যান্ড্রয়েড অ্যাপ তৈরি করার বিষয়ে আপনার অভিজ্ঞতাকে কীভাবে মূল্যায়ন করবেন?

নবজাতক মধ্যবর্তী দক্ষ

2. নমুনা কোড পান

কমান্ড লাইন থেকে GitHub সংগ্রহস্থল ক্লোন করুন।

$ git clone https://github.com/FirebaseExtended/codelab-textclassification-android.git

আপনার যদি গিট ইনস্টল না থাকে তবে আপনি নমুনা প্রকল্পটি এর GitHub পৃষ্ঠা থেকে বা এই লিঙ্কে ক্লিক করে ডাউনলোড করতে পারেন।

3. স্টার্টার অ্যাপ আমদানি করুন

অ্যান্ড্রয়েড স্টুডিও থেকে, codelab-textclassification-android-master ডিরেক্টরি নির্বাচন করুন ( android_studio_folder.png ) নমুনা কোড ডাউনলোড থেকে ( ফাইল > খুলুন > .../codelab-textclassification-android-master/start)।

আপনার এখন অ্যান্ড্রয়েড স্টুডিওতে স্টার্ট প্রজেক্ট খোলা থাকা উচিত।

4. স্টার্টার অ্যাপ চালান

এখন আপনি অ্যান্ড্রয়েড স্টুডিওতে প্রকল্পটি আমদানি করেছেন, আপনি প্রথমবারের জন্য অ্যাপটি চালানোর জন্য প্রস্তুত৷ আপনার অ্যান্ড্রয়েড ডিভাইস সংযোগ করুন, এবং রান ক্লিক করুন ( execute.png অ্যান্ড্রয়েড স্টুডিও টুলবারে।

অ্যাপটি আপনার ডিভাইসে চালু করা উচিত। এটিতে শুধুমাত্র একটি সাধারণ UI রয়েছে যা পরবর্তী ধাপে পাঠ্য শ্রেণিবিন্যাস মডেলগুলিকে একীভূত করা এবং পরীক্ষা করা সহজ করে তোলে৷ এই মুহুর্তে, আপনি যদি অনুভূতির ভবিষ্যদ্বাণী করার চেষ্টা করেন তবে অ্যাপটি শুধুমাত্র কিছু ডামি ফলাফল ফিরিয়ে দেবে।

2fb4e69fafb2e3ed.png

5. ফায়ারবেস কনসোল প্রকল্প তৈরি করুন

প্রকল্পে Firebase যোগ করুন

  1. ফায়ারবেস কনসোলে যান।
  2. প্রকল্প যোগ করুন নির্বাচন করুন।
  3. একটি প্রকল্পের নাম নির্বাচন করুন বা লিখুন।
  4. Firebase কনসোলে অবশিষ্ট সেটআপ পদক্ষেপগুলি অনুসরণ করুন, তারপরে প্রজেক্ট তৈরি করুন (বা যদি আপনি একটি বিদ্যমান Google প্রকল্প ব্যবহার করেন তবে Firebase যোগ করুন) ক্লিক করুন।

6. অ্যাপে Firebase যোগ করুন

  1. আপনার নতুন প্রকল্পের ওভারভিউ স্ক্রীন থেকে, সেটআপ ওয়ার্কফ্লো চালু করতে Android আইকনে ক্লিক করুন।
  2. কোডল্যাবের প্যাকেজের নাম লিখুন: org.tensorflow.lite.codelabs.textclassification

আপনার অ্যাপে google-services.json ফাইল যোগ করুন

প্যাকেজের নাম যোগ করার পরে এবং নিবন্ধন** নির্বাচন করার পরে, আপনার Firebase অ্যান্ড্রয়েড কনফিগার ফাইলটি পেতে ডাউনলোড google-services.json** ক্লিক করুন তারপর আপনার প্রকল্পের * app * ডিরেক্টরিতে google-services.json ফাইলটি অনুলিপি করুন।

আপনার অ্যাপে google-services প্লাগইন যোগ করুন

আপনার অ্যাপে Firebase যোগ করতে build.gradle.kts ফাইল আপডেট করার জন্য Firebase কনসোলের নির্দেশাবলী অনুসরণ করুন।

Firebase ব্যবহার করার জন্য আপনার অ্যাপ্লিকেশন কনফিগার করতে google-services প্লাগইনটি google-services.json ফাইল ব্যবহার করে।

গ্রেডল ফাইলের সাথে আপনার প্রকল্প সিঙ্ক করুন

আপনার অ্যাপে সমস্ত নির্ভরতা উপলব্ধ রয়েছে তা নিশ্চিত করার জন্য, আপনাকে এই মুহুর্তে গ্রেডল ফাইলগুলির সাথে আপনার প্রকল্প সিঙ্ক করা উচিত। অ্যান্ড্রয়েড স্টুডিও টুলবার থেকে ফাইল > গ্রেডল ফাইলের সাথে সিঙ্ক প্রজেক্ট নির্বাচন করুন।

7. Firebase দিয়ে অ্যাপটি চালান

এখন আপনি আপনার JSON ফাইলের সাথে google-services প্লাগইন কনফিগার করেছেন, আপনি Firebase এর সাথে অ্যাপটি চালানোর জন্য প্রস্তুত। আপনার অ্যান্ড্রয়েড ডিভাইস সংযোগ করুন, এবং রান ক্লিক করুন ( execute.png অ্যান্ড্রয়েড স্টুডিও টুলবারে।

অ্যাপটি আপনার ডিভাইসে চালু করা উচিত। এই মুহুর্তে, আপনার অ্যাপটি এখনও সফলভাবে তৈরি করা উচিত।

8. একটি অনুভূতি বিশ্লেষণ মডেল প্রশিক্ষণ

একটি প্রদত্ত পাঠ্যের অনুভূতির পূর্বাভাস দেওয়ার জন্য একটি পাঠ্য শ্রেণিবিন্যাসের মডেলকে প্রশিক্ষণ দিতে আমরা TensorFlow Lite Model Maker ব্যবহার করব।

এই ধাপটি একটি পাইথন নোটবুক হিসেবে উপস্থাপন করা হয়েছে যা আপনি Google Colab-এ খুলতে পারেন। আপনি একবারে সমস্ত নোটবুক চালানোর জন্য রানটাইম > সমস্ত চালান বেছে নিতে পারেন।

Colab-এ খুলুন

এই ধাপটি শেষ করার পরে, আপনার কাছে একটি TensorFlow Lite সেন্টিমেন্ট বিশ্লেষণ মডেল থাকবে যা একটি মোবাইল অ্যাপে স্থাপনের জন্য প্রস্তুত।

9. Firebase ML-এ একটি মডেল স্থাপন করুন

Firebase ML-এ একটি মডেল স্থাপন করা দুটি প্রধান কারণের জন্য দরকারী:

  1. আমরা অ্যাপের ইন্সটল সাইজ ছোট রাখতে পারি এবং প্রয়োজন হলে শুধুমাত্র মডেলটি ডাউনলোড করতে পারি
  2. মডেলটি নিয়মিত আপডেট করা যেতে পারে এবং সম্পূর্ণ অ্যাপের থেকে আলাদা রিলিজ চক্রের সাথে

ফায়ারবেস অ্যাডমিন SDK ব্যবহার করে মডেলটি কনসোলের মাধ্যমে বা প্রোগ্রাম্যাটিকভাবে স্থাপন করা যেতে পারে। এই ধাপে আমরা কনসোলের মাধ্যমে স্থাপন করব।

প্রথমে, ফায়ারবেস কনসোল খুলুন এবং বাম নেভিগেশন প্যানেলে মেশিন লার্নিং-এ ক্লিক করুন। আপনি যদি এটি প্রথমবার খুলছেন তবে 'শুরু করুন' এ ক্লিক করুন। তারপর "কাস্টম" এ নেভিগেট করুন এবং "মডেল যোগ করুন" বোতামে ক্লিক করুন।

প্রম্পট করা হলে, sentiment_analysis মডেলটির নাম দিন এবং আগের ধাপে Colab থেকে ডাউনলোড করা ফাইলটি আপলোড করুন।

3c3c50e6ef12b3b.png

10. Firebase ML থেকে মডেল ডাউনলোড করুন

আপনার অ্যাপে Firebase থেকে রিমোট মডেল কখন ডাউনলোড করতে হবে তা বেছে নেওয়া কঠিন হতে পারে কারণ TFLite মডেলগুলি তুলনামূলকভাবে বড় হতে পারে। আদর্শভাবে আমরা অ্যাপটি চালু হওয়ার সাথে সাথে মডেলটি লোড করা এড়াতে চাই, যেহেতু আমাদের মডেলটি শুধুমাত্র একটি বৈশিষ্ট্যের জন্য ব্যবহার করা হয় এবং ব্যবহারকারী কখনই সেই বৈশিষ্ট্যটি ব্যবহার না করে, আমরা বিনা কারণেই উল্লেখযোগ্য পরিমাণ ডেটা ডাউনলোড করব। আমরা ডাউনলোডের বিকল্পগুলিও সেট করতে পারি যেমন wifi এর সাথে সংযুক্ত থাকাকালীন শুধুমাত্র মডেলগুলি আনা। আপনি যদি নিশ্চিত করতে চান যে মডেলটি এমনকি নেটওয়ার্ক সংযোগ ছাড়াই উপলব্ধ, তবে এটিকে ব্যাকআপ হিসাবে অ্যাপ ছাড়াই বান্ডিল করাও গুরুত্বপূর্ণ৷

সরলতার জন্য, আমরা ডিফল্ট বান্ডিল করা মডেলটি সরিয়ে দেব এবং অ্যাপটি প্রথমবার শুরু হলে সর্বদা Firebase থেকে একটি মডেল ডাউনলোড করব। এইভাবে সেন্টিমেন্ট বিশ্লেষণ চালানোর সময় আপনি নিশ্চিত হতে পারেন যে ফায়ারবেস থেকে প্রদত্ত মডেলের সাথে অনুমান চলছে।

app/build.gradle.kts ফাইলে, Firebase মেশিন লার্নিং নির্ভরতা যোগ করুন।

app/build.gradle.kts

এই মন্তব্য খুঁজুন:

// TODO 1: Add Firebase ML dependency

তারপর যোগ করুন:

implementation(platform("com.google.firebase:firebase-bom:32.0.0"))
implementation("com.google.firebase:firebase-ml-modeldownloader:24.1.2")

অ্যান্ড্রয়েড স্টুডিও আপনার প্রোজেক্ট সিঙ্ক করতে বললে, সিঙ্ক নাও বেছে নিন।

তারপর ফায়ারবেস থেকে মডেলটি ডাউনলোড করার জন্য কিছু কোড যোগ করা যাক।

MainActivity.java

এই মন্তব্য খুঁজুন:

// TODO 2: Implement a method to download TFLite model from Firebase

তারপর যোগ করুন:

  /** Download model from Firebase ML. */
  private synchronized void downloadModel(String modelName) {
      CustomModelDownloadConditions conditions = new CustomModelDownloadConditions.Builder()
            .requireWifi()
            .build();
      FirebaseModelDownloader.getInstance()
              .getModel("sentiment_analysis", DownloadType.LOCAL_MODEL, conditions)
              .addOnSuccessListener(model -> {
                  try {
                      // TODO 6: Initialize a TextClassifier with the downloaded model

                      predictButton.setEnabled(true);
                  } catch (IOException e) {
                      Log.e(TAG, "Failed to initialize the model. ", e);
                      Toast.makeText(
                              MainActivity.this,
                              "Model initialization failed.",
                              Toast.LENGTH_LONG)
                              .show();
                      predictButton.setEnabled(false);
                  }
              })
              .addOnFailureListener(e -> {
                      Log.e(TAG, "Failed to download the model. ", e);
                      Toast.makeText(
                              MainActivity.this,
                              "Model download failed, please check your connection.",
                              Toast.LENGTH_LONG)
                              .show();

                      }
              );

}

এরপর, কার্যকলাপের onCreate পদ্ধতিতে downloadModel পদ্ধতিতে কল করুন।

MainActivity.java

এই মন্তব্য খুঁজুন:

// TODO 3: Call the method to download TFLite model

তারপর যোগ করুন:

downloadModel("sentiment_analysis");

11. আপনার অ্যাপে মডেলটি সংহত করুন

টেনসরফ্লো লাইট টাস্ক লাইব্রেরি আপনাকে কোডের কয়েকটি লাইন দিয়ে আপনার অ্যাপে টেনসরফ্লো লাইট মডেলগুলিকে একীভূত করতে সাহায্য করে। আমরা Firebase থেকে ডাউনলোড করা TensorFlow Lite মডেল ব্যবহার করে একটি NLClassifier ইনস্ট্যান্স শুরু করব। তারপরে আমরা অ্যাপ ব্যবহারকারীদের কাছ থেকে টেক্সট ইনপুট শ্রেণীবদ্ধ করতে এবং UI-তে ফলাফল দেখাতে এটি ব্যবহার করব।

নির্ভরতা যোগ করুন

অ্যাপের গ্রেডল ফাইলে যান এবং অ্যাপের নির্ভরতায় টেনসরফ্লো লাইট টাস্ক লাইব্রেরি (টেক্সট) যোগ করুন।

app/build.gradle

এই মন্তব্য খুঁজুন:

// TODO 4: Add TFLite Task API (Text) dependency

তারপর যোগ করুন:

implementation("org.tensorflow:tensorflow-lite-task-text:0.3.0")

অ্যান্ড্রয়েড স্টুডিও আপনার প্রোজেক্ট সিঙ্ক করতে বললে, সিঙ্ক নাও বেছে নিন।

একটি টেক্সট ক্লাসিফায়ার শুরু করুন

তারপর আমরা টাস্ক লাইব্রেরির NLClassifier ব্যবহার করে Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট অ্যানালাইসিস মডেলটি লোড করব।

MainActivity.java

আসুন একটি NLCclassifier ইনস্ট্যান্স ভেরিয়েবল ঘোষণা করি। এই মন্তব্য খুঁজুন:

// TODO 5: Define a NLClassifier variable

তারপর যোগ করুন:

private NLClassifier textClassifier;

Firebase থেকে ডাউনলোড করা সেন্টিমেন্ট অ্যানালাইসিস মডেলের সাথে textClassifier ভেরিয়েবল শুরু করুন। এই মন্তব্য খুঁজুন:

// TODO 6: Initialize a TextClassifier with the downloaded model

তারপর যোগ করুন:

textClassifier = NLClassifier.createFromFile(model.getFile());

পাঠ্য শ্রেণিবদ্ধ করুন

textClassifier উদাহরণটি সেট আপ হয়ে গেলে, আপনি একটি একক পদ্ধতি কল দিয়ে সংবেদন বিশ্লেষণ চালাতে পারেন।

MainActivity.java

এই মন্তব্যটি সন্ধান করুন:

// TODO 7: Run sentiment analysis on the input text

তারপরে যোগ করুন:

List<Category> results = textClassifier.classify(text);

পোস্ট-প্রসেসিং প্রয়োগ করুন

অবশেষে, আমরা স্ক্রিনে দেখানোর জন্য মডেলটির আউটপুটটিকে বর্ণনামূলক পাঠ্যে রূপান্তর করব।

MainActivity.java

এই মন্তব্যটি সন্ধান করুন:

// TODO 8: Convert the result to a human-readable text

ডামি ফলাফলের পাঠ্য তৈরি করে এমন কোডটি সরান:

String textToShow = "Dummy classification result.\n";

তারপরে যোগ করুন:

String textToShow = "Input: " + text + "\nOutput:\n";
for (int i = 0; i < results.size(); i++) {
  Category result = results.get(i);
  textToShow += String.format("    %s: %s\n", result.getLabel(),
                              result.getScore());
}
textToShow += "---------\n";

12। চূড়ান্ত অ্যাপটি চালান

আপনি অ্যাপ্লিকেশনটিতে সংবেদন বিশ্লেষণ মডেলটি সংহত করেছেন, সুতরাং আসুন এটি পরীক্ষা করুন। আপনার অ্যান্ড্রয়েড ডিভাইসটি সংযুক্ত করুন এবং রান ক্লিক করুন ( ecute.png ) অ্যান্ড্রয়েড স্টুডিও টুলবারে।

অ্যাপ্লিকেশনটি আপনি যে মুভি পর্যালোচনা প্রবেশ করেছেন তার অনুভূতির সঠিকভাবে পূর্বাভাস দিতে সক্ষম হওয়া উচিত।

আইএমজি/পাঠ্য-শ্রেণিবদ্ধকরণ-ফলাফল.পিএনজি

13। আরও ফায়ারবেস বৈশিষ্ট্য সহ অ্যাপটি পাওয়ার আপ করুন

আপনার টিফ্লাইট মডেলগুলি হোস্টিংয়ের পাশাপাশি, ফায়ারবেস আপনার মেশিন লার্নিং ব্যবহারের ক্ষেত্রে পাওয়ার জন্য আরও বেশ কয়েকটি বৈশিষ্ট্য সরবরাহ করে:

  • ব্যবহারকারীদের ডিভাইসে চলমান আপনার মডেল অনুমানের গতি পরিমাপ করতে ফায়ারবেস পারফরম্যান্স মনিটরিং।
  • আপনার মডেল ব্যবহারকারীর প্রতিক্রিয়া পরিমাপ করে উত্পাদনে কতটা ভাল সম্পাদন করে তা পরিমাপ করতে ফায়ারবেস অ্যানালিটিক্স।
  • আপনার মডেলের একাধিক সংস্করণ পরীক্ষা করতে ফায়ারবেস এ/বি টেস্টিং
  • আপনি কি মনে আছে আমরা আমাদের টিএফএলাইট মডেলের দুটি সংস্করণ আগে প্রশিক্ষণ দিয়েছি? এ/বি টেস্টিং কোন সংস্করণটি উত্পাদনে আরও ভাল সম্পাদন করে তা জানার একটি ভাল উপায়!

আপনার অ্যাপ্লিকেশনটিতে এই বৈশিষ্ট্যগুলি কীভাবে উপার্জন করবেন সে সম্পর্কে আরও জানতে, নীচের কোডল্যাবগুলি দেখুন:

14। অভিনন্দন!

এই কোডল্যাব -এ, আপনি কীভাবে একটি সংবেদন বিশ্লেষণ টিফ্লাইট মডেলটি প্রশিক্ষণ দিতে এবং ফায়ারবেস ব্যবহার করে এটি আপনার মোবাইল অ্যাপে স্থাপন করতে শিখেছেন। টিফ্লাইট এবং ফায়ারবেস সম্পর্কে আরও জানতে, অন্যান্য টিফ্লাইট নমুনা এবং ফায়ারবেস শুরু করা গাইডগুলি একবার দেখুন।

আমরা কি covered েকে রেখেছি

  • টেনসরফ্লো লাইট
  • ফায়ারবেস এমএল

পরবর্তী পদক্ষেপ

  • ফায়ারবেস পারফরম্যান্স মনিটরিংয়ের সাথে আপনার মডেল অনুমানের গতি পরিমাপ করুন।
  • ফায়ারবেস এমএল মডেল ম্যানেজমেন্ট এপিআইয়ের মাধ্যমে সরাসরি ফায়ারবেসে মডেলটি ফায়ারবেসে মোতায়েন করুন।
  • ব্যবহারকারীদের ভবিষ্যদ্বাণী ফলাফলের বিষয়ে প্রতিক্রিয়া জানাতে একটি প্রক্রিয়া যুক্ত করুন এবং ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করতে ফায়ারবেস অ্যানালিটিক্স ব্যবহার করুন।
  • এ/বি পরীক্ষা গড় শব্দ ভেক্টর মডেল এবং ফায়ারবেস এ/বি পরীক্ষার সাথে মোবাইলবার্ট মডেল।

আরও জানুন

একটি প্রশ্ন আছে?

রিপোর্ট সমস্যা

,

1. ওভারভিউ

পাঠ্য-শ্রেণিবদ্ধকরণ-ফলাফল.পিএনজি

টেনসরফ্লো লাইট এবং ফায়ারবেস কোডল্যাব সহ পাঠ্য শ্রেণিবিন্যাসে আপনাকে স্বাগতম। এই কোডল্যাবটিতে আপনি কীভাবে আপনার অ্যাপ্লিকেশনটিতে একটি পাঠ্য শ্রেণিবদ্ধকরণ মডেল প্রশিক্ষণ এবং স্থাপন করতে টেনসরফ্লো লাইট এবং ফায়ারবেস ব্যবহার করবেন তা শিখবেন। এই কোডল্যাবটি এই টেনসরফ্লো লাইট উদাহরণের উপর ভিত্তি করে।

পাঠ্য শ্রেণিবিন্যাস হল পাঠ্যের বিষয়বস্তু অনুসারে ট্যাগ বা বিভাগ নির্ধারণের প্রক্রিয়া। সংবেদন বিশ্লেষণ, বিষয় লেবেলিং, স্প্যাম সনাক্তকরণ এবং অভিপ্রায় সনাক্তকরণের মতো বিস্তৃত অ্যাপ্লিকেশন সহ এটি প্রাকৃতিক ভাষা প্রক্রিয়াকরণ (এনএলপি) এর অন্যতম মৌলিক কাজ।

সংবেদন বিশ্লেষণ হ'ল পাঠ্য বিশ্লেষণ কৌশলগুলি ব্যবহার করে পাঠ্য ডেটার মধ্যে আবেগের ব্যাখ্যা এবং শ্রেণিবিন্যাস (ধনাত্মক, নেতিবাচক এবং নিরপেক্ষ)। সংবেদন বিশ্লেষণ ব্যবসায়গুলিকে অনলাইন কথোপকথন এবং প্রতিক্রিয়াতে পণ্য, ব্র্যান্ড বা পরিষেবাগুলির প্রতি গ্রাহক সংবেদন সনাক্ত করতে দেয়।

এই টিউটোরিয়ালটি দেখায় যে কীভাবে সংবেদন বিশ্লেষণের জন্য একটি মেশিন লার্নিং মডেল তৈরি করা যায়, বিশেষত শ্রেণিবদ্ধকরণ পাঠ্যকে ইতিবাচক বা নেতিবাচক হিসাবে। এটি বাইনারি-বা দ্বি-শ্রেণীর-শ্রেণিবিন্যাসের একটি উদাহরণ, একটি গুরুত্বপূর্ণ এবং ব্যাপকভাবে প্রযোজ্য ধরণের মেশিন লার্নিং সমস্যার।

আপনি কি শিখবেন

  • টিএফ লাইট মডেল প্রস্তুতকারকের সাথে একটি টিএফ লাইট সংবেদন বিশ্লেষণ মডেলগুলি প্রশিক্ষণ দিন
  • টিএফ লাইট মডেলগুলি ফায়ারবেস এমএল এবং আপনার অ্যাপ্লিকেশন থেকে সেগুলি অ্যাক্সেস করতে মোতায়েন করুন
  • টিএফ লাইট টাস্ক লাইব্রেরি ব্যবহার করে আপনার অ্যাপ্লিকেশনটিতে টিএফ লাইট সংবেদন বিশ্লেষণ মডেলগুলি সংহত করুন

আপনি কি প্রয়োজন হবে

  • সর্বশেষ অ্যান্ড্রয়েড স্টুডিও সংস্করণ।
  • নমুনা কোড।
  • অ্যান্ড্রয়েড 5.0+ এবং গুগল প্লে পরিষেবাদি 9.8 বা তার পরে একটি পরীক্ষা ডিভাইস, বা গুগল প্লে পরিষেবাদি 9.8 বা তার পরে একটি এমুলেটর
  • যদি কোনও ডিভাইস ব্যবহার করে তবে একটি সংযোগ কেবল।

আপনি কিভাবে এই টিউটোরিয়াল ব্যবহার করবেন?

শুধুমাত্র মাধ্যমে এটি পড়ুন এটি পড়ুন এবং ব্যায়াম সম্পূর্ণ করুন

অ্যান্ড্রয়েড অ্যাপ্লিকেশনগুলি তৈরির সাথে আপনার অভিজ্ঞতা কীভাবে রেট দেবে?

নবজাতক মধ্যবর্তী দক্ষ

2. নমুনা কোড পান

কমান্ড লাইন থেকে গিটহাব সংগ্রহস্থলটি ক্লোন করুন।

$ git clone https://github.com/FirebaseExtended/codelab-textclassification-android.git

আপনার যদি গিট ইনস্টল না থাকে তবে আপনি নমুনা প্রকল্পটি এর গিটহাব পৃষ্ঠা থেকে বা এই লিঙ্কটি ক্লিক করেও ডাউনলোড করতে পারেন।

3। স্টার্টার অ্যাপটি আমদানি করুন

অ্যান্ড্রয়েড স্টুডিও থেকে, codelab-textclassification-android-master ডিরেক্টরি নির্বাচন করুন ( অ্যান্ড্রয়েড_স্টুডিও_ফোল্ডার.পিএনজি ) নমুনা কোড ডাউনলোড থেকে ( ফাইল > ওপেন > .../কোডল্যাব-টেক্সটক্ল্যাসিফিকেশন-অ্যান্ড্রয়েড-মাস্টার/স্টার্ট)।

আপনার এখন অ্যান্ড্রয়েড স্টুডিওতে শুরু প্রকল্পটি খোলা থাকা উচিত।

4। স্টার্টার অ্যাপটি চালান

এখন আপনি অ্যান্ড্রয়েড স্টুডিওতে প্রকল্পটি আমদানি করেছেন, আপনি প্রথমবারের জন্য অ্যাপটি চালাতে প্রস্তুত। আপনার অ্যান্ড্রয়েড ডিভাইসটি সংযুক্ত করুন এবং রান ক্লিক করুন ( ecute.png ) অ্যান্ড্রয়েড স্টুডিও টুলবারে।

অ্যাপ্লিকেশনটি আপনার ডিভাইসে চালু করা উচিত। এটিতে কেবল একটি সাধারণ ইউআই রয়েছে যা পরবর্তী পদক্ষেপগুলিতে পাঠ্য শ্রেণিবিন্যাসের মডেলগুলিকে সংহত করা এবং পরীক্ষা করা সহজ করে তোলে। এই মুহুর্তে, আপনি যদি অনুভূতিগুলির পূর্বাভাস দেওয়ার চেষ্টা করেন তবে অ্যাপটি কেবল কিছু ডামি ফলাফল ফিরিয়ে দেবে।

2fb4e69fafb2e3ed.png

5। ফায়ারবেস কনসোল প্রকল্প তৈরি করুন

প্রকল্পে ফায়ারবেস যুক্ত করুন

  1. ফায়ারবেস কনসোলে যান।
  2. প্রকল্প যুক্ত করুন নির্বাচন করুন।
  3. একটি প্রকল্পের নাম নির্বাচন করুন বা লিখুন।
  4. ফায়ারবেস কনসোলে অবশিষ্ট সেটআপ পদক্ষেপগুলি অনুসরণ করুন, তারপরে প্রকল্পটি তৈরি করুন ক্লিক করুন (বা আপনি যদি কোনও বিদ্যমান গুগল প্রকল্প ব্যবহার করেন তবে ফায়ারবেস যুক্ত করুন)।

6 .. অ্যাপটিতে ফায়ারবেস যুক্ত করুন

  1. আপনার নতুন প্রকল্পের ওভারভিউ স্ক্রিন থেকে, সেটআপ ওয়ার্কফ্লো চালু করতে অ্যান্ড্রয়েড আইকনে ক্লিক করুন।
  2. কোডল্যাবের প্যাকেজের নাম লিখুন: org.tensorflow.lite.codelabs.textclassification

আপনার অ্যাপ্লিকেশনটিতে গুগল-সার্ভিস.জসন ফাইল যুক্ত করুন

প্যাকেজের নাম যুক্ত করার পরে এবং রেজিস্টার ** নির্বাচন করার পরে, ডাউনলোড করুন গুগল-সার্ভিস.জসন ** ডাউনলোড ক্লিক করুন আপনার ফায়ারবেস অ্যান্ড্রয়েড কনফিগার ফাইলটি পেতে তারপরে আপনার প্রকল্পের* app * ডিরেক্টরিতে google-services.json ফাইলটি অনুলিপি করুন।

আপনার অ্যাপ্লিকেশনটিতে গুগল-পরিষেবা প্লাগইন যুক্ত করুন

আপনার অ্যাপ্লিকেশনটিতে ফায়ারবেস যুক্ত করতে ফায়ারবেস কনসোলটি build.gradle.kts ফাইলগুলি আপডেট করার নির্দেশাবলী অনুসরণ করুন।

গুগল-পরিষেবা প্লাগইন ফায়ারবেস ব্যবহার করতে আপনার অ্যাপ্লিকেশনটি কনফিগার করতে গুগল-সার্ভিসস.জসন ফাইল ব্যবহার করে।

গ্রেড ফাইলের সাথে আপনার প্রকল্পটি সিঙ্ক করুন

আপনার অ্যাপ্লিকেশনটিতে সমস্ত নির্ভরতা উপলব্ধ কিনা তা নিশ্চিত হওয়ার জন্য, আপনার এই প্রকল্পটি এই মুহুর্তে গ্রেড ফাইলের সাথে সিঙ্ক করা উচিত। অ্যান্ড্রয়েড স্টুডিও সরঞ্জামদণ্ড থেকে গ্রেড ফাইল সহ ফাইল> সিঙ্ক প্রকল্প নির্বাচন করুন।

7। ফায়ারবেস দিয়ে অ্যাপটি চালান

এখন আপনি আপনার জেএসএন ফাইলের সাথে google-services প্লাগইনটি কনফিগার করেছেন, আপনি ফায়ারবেস দিয়ে অ্যাপটি চালাতে প্রস্তুত। আপনার অ্যান্ড্রয়েড ডিভাইসটি সংযুক্ত করুন এবং রান ক্লিক করুন ( ecute.png ) অ্যান্ড্রয়েড স্টুডিও টুলবারে।

অ্যাপ্লিকেশনটি আপনার ডিভাইসে চালু করা উচিত। এই মুহুর্তে, আপনার অ্যাপ্লিকেশনটি এখনও সফলভাবে তৈরি করা উচিত।

8। একটি সংবেদন বিশ্লেষণ মডেল প্রশিক্ষণ

আমরা প্রদত্ত পাঠ্যের অনুভূতির পূর্বাভাস দেওয়ার জন্য একটি পাঠ্য শ্রেণিবিন্যাসের মডেলকে প্রশিক্ষণ দিতে টেনসরফ্লো লাইট মডেল নির্মাতাকে ব্যবহার করব।

এই পদক্ষেপটি একটি পাইথন নোটবুক হিসাবে উপস্থাপিত হয়েছে যা আপনি গুগল কোলাবে খুলতে পারেন। আপনি একবারে সমস্ত নোটবুক কার্যকর করতে রানটাইম> সমস্ত চালাতে পারেন।

Colab-এ খুলুন

এই পদক্ষেপটি শেষ করার পরে, আপনার কাছে একটি টেনসরফ্লো লাইট সংবেদন বিশ্লেষণ মডেল থাকবে যা একটি মোবাইল অ্যাপে স্থাপনার জন্য প্রস্তুত।

9। ফায়ারবেস এমএল একটি মডেল স্থাপন করুন

ফায়ারবেস এমএল -তে একটি মডেল স্থাপন করা দুটি প্রধান কারণে দরকারী:

  1. আমরা অ্যাপটি ইনস্টল আকারটি ছোট রাখতে পারি এবং প্রয়োজনে কেবল মডেলটি ডাউনলোড করতে পারি
  2. মডেলটি নিয়মিত এবং পুরো অ্যাপ্লিকেশনটির চেয়ে আলাদা প্রকাশের চক্র সহ আপডেট করা যেতে পারে

ফায়ারবেস অ্যাডমিন এসডিকে ব্যবহার করে মডেলটি কনসোলের মাধ্যমে বা প্রোগ্রামিকভাবে মোতায়েন করা যেতে পারে। এই পদক্ষেপে আমরা কনসোলের মাধ্যমে স্থাপন করব।

প্রথমে ফায়ারবেস কনসোলটি খুলুন এবং বাম নেভিগেশন প্যানেলে মেশিন লার্নিংয়ে ক্লিক করুন। আপনি যদি এই প্রথমবার খুলছেন তবে 'শুরু করুন' ক্লিক করুন। তারপরে "কাস্টম" এ নেভিগেট করুন এবং "মডেল যুক্ত করুন" বোতামে ক্লিক করুন।

যখন অনুরোধ জানানো হয়, মডেলটি sentiment_analysis নাম দিন এবং পূর্ববর্তী পদক্ষেপে আপনি কোলাব থেকে ডাউনলোড করা ফাইলটি আপলোড করুন।

3C3C50E6EF12B3B.PNG

10। ফায়ারবেস এমএল থেকে মডেল ডাউনলোড করুন

আপনার অ্যাপ্লিকেশনটিতে ফায়ারবেস থেকে রিমোট মডেলটি কখন ডাউনলোড করবেন তা নির্বাচন করা জটিল হতে পারে যেহেতু টিএফএলাইট মডেলগুলি তুলনামূলকভাবে বড় হতে পারে। আদর্শভাবে আমরা অ্যাপ্লিকেশনটি চালু হওয়ার সাথে সাথে আমরা মডেলটি লোড করা এড়াতে চাই, যেহেতু যদি আমাদের মডেলটি কেবলমাত্র একটি বৈশিষ্ট্যের জন্য ব্যবহৃত হয় এবং ব্যবহারকারী কখনও সেই বৈশিষ্ট্যটি ব্যবহার করেন না, আমরা অকারণে উল্লেখযোগ্য পরিমাণে ডেটা ডাউনলোড করব। আমরা ওয়াইফাইয়ের সাথে সংযুক্ত থাকাকালীন কেবল ডাউনলোড করার মতো মডেলগুলিও ডাউনলোড বিকল্পগুলি সেট করতে পারি। আপনি যদি নিশ্চিত করতে চান যে মডেলটি কোনও নেটওয়ার্ক সংযোগ ছাড়াই উপলব্ধ রয়েছে, তবে ব্যাকআপ হিসাবে অ্যাপটি ছাড়াই এটি বান্ডিল করাও গুরুত্বপূর্ণ।

সরলতার স্বার্থে, আমরা ডিফল্ট বান্ডিল মডেলটি সরিয়ে ফেলব এবং অ্যাপ্লিকেশনটি প্রথমবারের মতো শুরু হওয়ার পরে সর্বদা ফায়ারবেস থেকে একটি মডেল ডাউনলোড করব। এইভাবে সংবেদন বিশ্লেষণ চালানোর সময় আপনি নিশ্চিত হতে পারেন যে ফায়ারবেস থেকে সরবরাহিত মডেলটির সাথে অনুমানটি চলছে।

app/build.gradle.kts ফাইলে, ফায়ারবেস মেশিন লার্নিং নির্ভরতা যুক্ত করুন।

app/build.gradle.kts

এই মন্তব্যটি সন্ধান করুন:

// TODO 1: Add Firebase ML dependency

তারপরে যোগ করুন:

implementation(platform("com.google.firebase:firebase-bom:32.0.0"))
implementation("com.google.firebase:firebase-ml-modeldownloader:24.1.2")

অ্যান্ড্রয়েড স্টুডিওর দ্বারা আপনার প্রকল্পটি সিঙ্ক করার জন্য জিজ্ঞাসা করা হলে, এখনই সিঙ্ক চয়ন করুন।

তারপরে ফায়ারবেস থেকে মডেলটি ডাউনলোড করতে কিছু কোড যুক্ত করা যাক।

MainActivity.java

এই মন্তব্যটি সন্ধান করুন:

// TODO 2: Implement a method to download TFLite model from Firebase

তারপরে যোগ করুন:

  /** Download model from Firebase ML. */
  private synchronized void downloadModel(String modelName) {
      CustomModelDownloadConditions conditions = new CustomModelDownloadConditions.Builder()
            .requireWifi()
            .build();
      FirebaseModelDownloader.getInstance()
              .getModel("sentiment_analysis", DownloadType.LOCAL_MODEL, conditions)
              .addOnSuccessListener(model -> {
                  try {
                      // TODO 6: Initialize a TextClassifier with the downloaded model

                      predictButton.setEnabled(true);
                  } catch (IOException e) {
                      Log.e(TAG, "Failed to initialize the model. ", e);
                      Toast.makeText(
                              MainActivity.this,
                              "Model initialization failed.",
                              Toast.LENGTH_LONG)
                              .show();
                      predictButton.setEnabled(false);
                  }
              })
              .addOnFailureListener(e -> {
                      Log.e(TAG, "Failed to download the model. ", e);
                      Toast.makeText(
                              MainActivity.this,
                              "Model download failed, please check your connection.",
                              Toast.LENGTH_LONG)
                              .show();

                      }
              );

}

এরপরে, ক্রিয়াকলাপের onCreate পদ্ধতিতে downloadModel পদ্ধতিতে কল করুন।

MainActivity.java

এই মন্তব্যটি সন্ধান করুন:

// TODO 3: Call the method to download TFLite model

তারপরে যোগ করুন:

downloadModel("sentiment_analysis");

11 আপনার অ্যাপ্লিকেশনটিতে মডেলটি সংহত করুন

টেনসরফ্লো লাইট টাস্ক লাইব্রেরি আপনাকে কোডের কয়েকটি লাইনের সাথে আপনার অ্যাপে টেনসরফ্লো লাইট মডেলগুলিকে সংহত করতে সহায়তা করে। আমরা ফায়ারবেস থেকে ডাউনলোড করা টেনসরফ্লো লাইট মডেলটি ব্যবহার করে একটি NLClassifier উদাহরণ শুরু করব। তারপরে আমরা এটি অ্যাপ ব্যবহারকারীদের কাছ থেকে পাঠ্য ইনপুট শ্রেণিবদ্ধ করতে এবং ইউআই -তে ফলাফল প্রদর্শন করতে ব্যবহার করব।

নির্ভরতা যোগ করুন

অ্যাপের গ্রেডল ফাইলে যান এবং অ্যাপের নির্ভরতাগুলিতে টেনসরফ্লো লাইট টাস্ক লাইব্রেরি (পাঠ্য) যুক্ত করুন।

app/build.gradle

এই মন্তব্যটি সন্ধান করুন:

// TODO 4: Add TFLite Task API (Text) dependency

তারপরে যোগ করুন:

implementation("org.tensorflow:tensorflow-lite-task-text:0.3.0")

অ্যান্ড্রয়েড স্টুডিওর দ্বারা আপনার প্রকল্পটি সিঙ্ক করার জন্য জিজ্ঞাসা করা হলে, এখনই সিঙ্ক চয়ন করুন।

একটি পাঠ্য শ্রেণিবদ্ধ শুরু করুন

তারপরে আমরা টাস্ক লাইব্রেরির NLClassifier ব্যবহার করে ফায়ারবেস থেকে ডাউনলোড করা সংবেদন বিশ্লেষণ মডেলটি লোড করব।

MainActivity.java

আসুন একটি nlclassifier উদাহরণ ভেরিয়েবল ঘোষণা করি। এই মন্তব্যটি সন্ধান করুন:

// TODO 5: Define a NLClassifier variable

তারপরে যোগ করুন:

private NLClassifier textClassifier;

ফায়ারবেস থেকে ডাউনলোড করা সংবেদন বিশ্লেষণ মডেলের সাথে textClassifier ভেরিয়েবলটি আরম্ভ করুন। এই মন্তব্যটি সন্ধান করুন:

// TODO 6: Initialize a TextClassifier with the downloaded model

তারপরে যোগ করুন:

textClassifier = NLClassifier.createFromFile(model.getFile());

পাঠ্য শ্রেণিবদ্ধ করুন

textClassifier উদাহরণটি সেট আপ হয়ে গেলে, আপনি একটি একক পদ্ধতি কল দিয়ে সংবেদন বিশ্লেষণ চালাতে পারেন।

MainActivity.java

এই মন্তব্যটি সন্ধান করুন:

// TODO 7: Run sentiment analysis on the input text

তারপরে যোগ করুন:

List<Category> results = textClassifier.classify(text);

পোস্ট-প্রসেসিং প্রয়োগ করুন

অবশেষে, আমরা স্ক্রিনে দেখানোর জন্য মডেলটির আউটপুটটিকে বর্ণনামূলক পাঠ্যে রূপান্তর করব।

MainActivity.java

এই মন্তব্যটি সন্ধান করুন:

// TODO 8: Convert the result to a human-readable text

ডামি ফলাফলের পাঠ্য তৈরি করে এমন কোডটি সরান:

String textToShow = "Dummy classification result.\n";

তারপরে যোগ করুন:

String textToShow = "Input: " + text + "\nOutput:\n";
for (int i = 0; i < results.size(); i++) {
  Category result = results.get(i);
  textToShow += String.format("    %s: %s\n", result.getLabel(),
                              result.getScore());
}
textToShow += "---------\n";

12। চূড়ান্ত অ্যাপটি চালান

আপনি অ্যাপ্লিকেশনটিতে সংবেদন বিশ্লেষণ মডেলটি সংহত করেছেন, সুতরাং আসুন এটি পরীক্ষা করুন। আপনার অ্যান্ড্রয়েড ডিভাইসটি সংযুক্ত করুন এবং রান ক্লিক করুন ( ecute.png ) অ্যান্ড্রয়েড স্টুডিও টুলবারে।

অ্যাপ্লিকেশনটি আপনি যে মুভি পর্যালোচনা প্রবেশ করেছেন তার অনুভূতির সঠিকভাবে পূর্বাভাস দিতে সক্ষম হওয়া উচিত।

আইএমজি/পাঠ্য-শ্রেণিবদ্ধকরণ-ফলাফল.পিএনজি

13। আরও ফায়ারবেস বৈশিষ্ট্য সহ অ্যাপটি পাওয়ার আপ করুন

আপনার টিফ্লাইট মডেলগুলি হোস্টিংয়ের পাশাপাশি, ফায়ারবেস আপনার মেশিন লার্নিং ব্যবহারের ক্ষেত্রে পাওয়ার জন্য আরও বেশ কয়েকটি বৈশিষ্ট্য সরবরাহ করে:

  • ব্যবহারকারীদের ডিভাইসে চলমান আপনার মডেল অনুমানের গতি পরিমাপ করতে ফায়ারবেস পারফরম্যান্স মনিটরিং।
  • আপনার মডেল ব্যবহারকারীর প্রতিক্রিয়া পরিমাপ করে উত্পাদনে কতটা ভাল সম্পাদন করে তা পরিমাপ করতে ফায়ারবেস অ্যানালিটিক্স।
  • আপনার মডেলের একাধিক সংস্করণ পরীক্ষা করতে ফায়ারবেস এ/বি টেস্টিং
  • আপনি কি মনে আছে আমরা আমাদের টিএফএলাইট মডেলের দুটি সংস্করণ আগে প্রশিক্ষণ দিয়েছি? এ/বি টেস্টিং কোন সংস্করণটি উত্পাদনে আরও ভাল সম্পাদন করে তা জানার একটি ভাল উপায়!

আপনার অ্যাপ্লিকেশনটিতে এই বৈশিষ্ট্যগুলি কীভাবে উপার্জন করবেন সে সম্পর্কে আরও জানতে, নীচের কোডল্যাবগুলি দেখুন:

14। অভিনন্দন!

এই কোডল্যাব -এ, আপনি কীভাবে একটি সংবেদন বিশ্লেষণ টিফ্লাইট মডেলটি প্রশিক্ষণ দিতে এবং ফায়ারবেস ব্যবহার করে এটি আপনার মোবাইল অ্যাপে স্থাপন করতে শিখেছেন। টিফ্লাইট এবং ফায়ারবেস সম্পর্কে আরও জানতে, অন্যান্য টিফ্লাইট নমুনা এবং ফায়ারবেস শুরু করা গাইডগুলি একবার দেখুন।

আমরা কি covered েকে রেখেছি

  • টেনসরফ্লো লাইট
  • ফায়ারবেস এমএল

পরবর্তী পদক্ষেপ

  • ফায়ারবেস পারফরম্যান্স মনিটরিংয়ের সাথে আপনার মডেল অনুমানের গতি পরিমাপ করুন।
  • ফায়ারবেস এমএল মডেল ম্যানেজমেন্ট এপিআইয়ের মাধ্যমে সরাসরি ফায়ারবেসে মডেলটি ফায়ারবেসে মোতায়েন করুন।
  • ব্যবহারকারীদের ভবিষ্যদ্বাণী ফলাফলের বিষয়ে প্রতিক্রিয়া জানাতে একটি প্রক্রিয়া যুক্ত করুন এবং ব্যবহারকারীর প্রতিক্রিয়া ট্র্যাক করতে ফায়ারবেস অ্যানালিটিক্স ব্যবহার করুন।
  • এ/বি পরীক্ষা গড় শব্দ ভেক্টর মডেল এবং ফায়ারবেস এ/বি পরীক্ষার সাথে মোবাইলবার্ট মডেল।

আরও জানুন

একটি প্রশ্ন আছে?

রিপোর্ট সমস্যা