পাইথনের জন্য ভাষা সনাক্তকরণ নির্দেশিকা

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

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

কোড উদাহরণ

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

সেটআপ

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

প্যাকেজ

ভাষা সনাক্তকারী মিডিয়াপাইপ পাইপ প্যাকেজ ব্যবহার করে। আপনি নিম্নলিখিতগুলির সাথে নির্ভরতা ইনস্টল করতে পারেন:

$ python -m pip install mediapipe

আমদানি

ল্যাঙ্গুয়েজ ডিটেক্টর টাস্ক ফাংশন অ্যাক্সেস করতে নিম্নলিখিত ক্লাস ইমপোর্ট করুন:

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text

মডেল

MediaPipe ল্যাঙ্গুয়েজ ডিটেক্টর টাস্কের জন্য একটি প্রশিক্ষিত মডেল প্রয়োজন যা এই কাজের সাথে সামঞ্জস্যপূর্ণ। ল্যাঙ্গুয়েজ ডিটেক্টরের জন্য উপলব্ধ প্রশিক্ষিত মডেল সম্পর্কে আরও তথ্যের জন্য, টাস্ক ওভারভিউ মডেল বিভাগটি দেখুন।

মডেল নির্বাচন করুন এবং ডাউনলোড করুন, এবং তারপর আপনার প্রকল্প ডিরেক্টরির মধ্যে এটি সংরক্ষণ করুন:

model_path = '/absolute/path/to/language_detector.tflite'

BaseOptions অবজেক্ট model_asset_path প্যারামিটার সহ মডেলের পাথ নির্দিষ্ট করুন, যেমনটি নীচে দেখানো হয়েছে:

base_options = BaseOptions(model_asset_path=model_path)

টাস্ক তৈরি করুন

মিডিয়াপাইপ ল্যাঙ্গুয়েজ ডিটেক্টর টাস্কটি সেট আপ করতে create_from_options ফাংশন ব্যবহার করে। create_from_options ফাংশন ডিটেক্টর অপশন সেট করতে কনফিগারেশন বিকল্পের মান গ্রহণ করে। আপনি create_from_model_path ফ্যাক্টরি ফাংশন ব্যবহার করে কাজটি শুরু করতে পারেন। create_from_model_path ফাংশন প্রশিক্ষিত মডেল ফাইলের আপেক্ষিক বা পরম পথ গ্রহণ করে। কাজগুলি কনফিগার করার বিষয়ে আরও তথ্যের জন্য, কনফিগারেশন বিকল্পগুলি দেখুন।

নিম্নলিখিত কোডটি এই কাজটি কীভাবে তৈরি এবং কনফিগার করতে হয় তা প্রদর্শন করে।

base_options = python.BaseOptions(model_asset_path=model_path)
options = text.LanguageDetectorOptions(base_options=base_options)

কনফিগারেশন বিকল্প

এই টাস্কে পাইথন অ্যাপ্লিকেশনের জন্য নিম্নলিখিত কনফিগারেশন বিকল্প রয়েছে:

বিকল্পের নাম বর্ণনা মান পরিসীমা ডিফল্ট মান
max_results ফিরতে সর্বোচ্চ স্কোর করা ভাষার পূর্বাভাসের ঐচ্ছিক সংখ্যা সেট করে। এই মান শূন্যের কম হলে, সমস্ত উপলব্ধ ফলাফল ফেরত দেওয়া হয়। যেকোনো ইতিবাচক সংখ্যা -1
score_threshold ভবিষ্যদ্বাণী স্কোর থ্রেশহোল্ড সেট করে যা মডেল মেটাডেটাতে প্রদত্ত একটিকে ওভাররাইড করে (যদি থাকে)। এই মানের নিচের ফলাফল প্রত্যাখ্যান করা হয়। কোন ভাসা সেট করা হয়নি
category_allowlist অনুমোদিত ভাষা কোডের ঐচ্ছিক তালিকা সেট করে। যদি খালি না থাকে, ভাষার ভবিষ্যদ্বাণী যার ভাষার কোড এই সেটে নেই সেগুলি ফিল্টার করা হবে৷ এই বিকল্পটি category_denylist সাথে পারস্পরিক একচেটিয়া এবং একটি ত্রুটিতে উভয় ফলাফল ব্যবহার করে। কোনো স্ট্রিং সেট করা হয়নি
category_denylist অনুমোদিত নয় এমন ভাষা কোডের ঐচ্ছিক তালিকা সেট করে। যদি খালি না থাকে, ভাষার ভবিষ্যদ্বাণী যার ভাষার কোড এই সেটে আছে তা ফিল্টার করা হবে। এই বিকল্পটি category_allowlist সাথে পারস্পরিকভাবে একচেটিয়া এবং একটি ত্রুটিতে উভয় ফলাফল ব্যবহার করে। কোনো স্ট্রিং সেট করা হয়নি

ডেটা প্রস্তুত করুন

ভাষা আবিষ্কারক টেক্সট ( str ) ডেটা দিয়ে কাজ করে। টাস্কটি টোকেনাইজেশন এবং টেনসর প্রিপ্রসেসিং সহ ডেটা ইনপুট প্রিপ্রসেসিং পরিচালনা করে। সমস্ত প্রিপ্রসেসিং detect ফাংশনের মধ্যে পরিচালিত হয়। আগে থেকে ইনপুট পাঠ্যের অতিরিক্ত প্রিপ্রসেসিংয়ের প্রয়োজন নেই।

input_text = 'The input text to be classified.'

টাস্ক চালান

ল্যাঙ্গুয়েজ ডিটেক্টর অনুমানগুলিকে ট্রিগার করতে detect ফাংশন ব্যবহার করে। ভাষা সনাক্তকরণের জন্য, এর অর্থ ইনপুট পাঠ্যের জন্য সম্ভাব্য ভাষাগুলি ফিরিয়ে দেওয়া।

নিম্নলিখিত কোডটি প্রদর্শন করে কিভাবে টাস্ক মডেলের সাথে প্রক্রিয়াকরণ চালানো যায়।

with python.text.LanguageDetector.create_from_options(options) as detector:
  detection_result = detector.detect(input_text)

হ্যান্ডেল এবং প্রদর্শন ফলাফল

ল্যাঙ্গুয়েজ ডিটেক্টর সেই ভবিষ্যদ্বাণীগুলির সম্ভাব্যতা সহ ভাষার ভবিষ্যদ্বাণীগুলির একটি তালিকা সমন্বিত একটি LanguageDetectorResult প্রকাশ করে। নিম্নলিখিত এই টাস্ক থেকে আউটপুট ডেটার একটি উদাহরণ দেখায়:

LanguageDetectorResult:
  LanguagePrediction #0:
    language_code: "fr"
    probability: 0.999781

ইনপুট টেক্সটে মডেলটি চালানোর মাধ্যমে এই ফলাফলটি পাওয়া গেছে: "Il ya beaucoup de bouches qui parlent et fort peu de têtes qui pensent." .

এই টাস্কের ফলাফল প্রক্রিয়া এবং কল্পনা করার জন্য প্রয়োজনীয় কোডের উদাহরণের জন্য, পাইথন নমুনা অ্যাপটি দেখুন।