আপনি ML Kit ব্যবহার করে একটি স্ট্রিং টেক্সটের ভাষা শনাক্ত করতে পারেন। আপনি স্ট্রিংটির সম্ভাব্য ভাষা এবং স্ট্রিং-এর সম্ভাব্য সকল ভাষার জন্য আত্মবিশ্বাসের স্কোর পেতে পারেন।
ML Kit ১০০ টিরও বেশি ভাষার টেক্সটকে তাদের স্থানীয় লিপিতে স্বীকৃতি দেয়। এছাড়াও, আরবি, বুলগেরিয়ান, চীনা, গ্রীক, হিন্দি, জাপানি এবং রাশিয়ান ভাষার জন্য রোমানাইজড টেক্সটকে স্বীকৃতি দেওয়া যেতে পারে। সমর্থিত ভাষা এবং স্ক্রিপ্টের সম্পূর্ণ তালিকা দেখুন।
| বান্ডিলযুক্ত | আনবান্ডেলড | |
|---|---|---|
| লাইব্রেরির নাম | com.google.mlkit:language-id | com.google.android.gms:play-services-mlkit-language-id | 
| বাস্তবায়ন | মডেলটি তৈরির সময় আপনার অ্যাপের সাথে স্ট্যাটিক্যালি লিঙ্ক করা থাকে। | মডেলটি গুগল প্লে সার্ভিসেসের মাধ্যমে গতিশীলভাবে ডাউনলোড করা হয়। | 
| অ্যাপের আকারের প্রভাব | প্রায় ৯০০ কিলোবাইট আকার বৃদ্ধি। | প্রায় ২০০ কিলোবাইট আকার বৃদ্ধি। | 
| আরম্ভের সময় | মডেলটি অবিলম্বে পাওয়া যাচ্ছে। | প্রথম ব্যবহারের আগে মডেলটি ডাউনলোড হওয়ার জন্য অপেক্ষা করতে হতে পারে। | 
চেষ্টা করে দেখো
- এই API এর একটি উদাহরণ ব্যবহারের জন্য নমুনা অ্যাপটি ব্যবহার করুন।
শুরু করার আগে
- আপনার প্রজেক্ট-লেভেল - build.gradleফাইলে, আপনার- buildscriptএবং- allprojectsউভয় বিভাগেই Google এর Maven রিপোজিটরি অন্তর্ভুক্ত করতে ভুলবেন না।
- আপনার মডিউলের অ্যাপ-লেভেল গ্রেডল ফাইলে ML কিট অ্যান্ড্রয়েড লাইব্রেরির জন্য নির্ভরতা যোগ করুন, যা সাধারণত - app/build.gradleহয়। আপনার প্রয়োজনের উপর ভিত্তি করে নিম্নলিখিত নির্ভরতাগুলির মধ্যে একটি বেছে নিন:- আপনার অ্যাপের সাথে মডেলটি বান্ডেল করার জন্য: - dependencies { // ... // Use this dependency to bundle the model with your app implementation 'com.google.mlkit:language-id:17.0.6' }- গুগল প্লে সার্ভিসে মডেলটি ব্যবহারের জন্য: - dependencies { // ... // Use this dependency to use the dynamically downloaded model in Google Play Services implementation 'com.google.android.gms:play-services-mlkit-language-id:17.0.0' }
- যদি আপনি Google Play Services-এ মডেলটি ব্যবহার করতে চান , তাহলে Play Store থেকে আপনার অ্যাপটি ইনস্টল করার পরে ডিভাইসে স্বয়ংক্রিয়ভাবে মডেলটি ডাউনলোড করার জন্য আপনি আপনার অ্যাপটি কনফিগার করতে পারেন। এটি করার জন্য, আপনার অ্যাপের - AndroidManifest.xmlফাইলে নিম্নলিখিত ঘোষণাটি যোগ করুন:- <application ...> ... <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="langid" > <!-- To use multiple models: android:value="langid,model2,model3" --> </application>- আপনি Google Play পরিষেবা ModuleInstallClient API এর মাধ্যমে মডেলের উপলব্ধতা স্পষ্টভাবে পরীক্ষা করতে পারেন এবং ডাউনলোডের অনুরোধ করতে পারেন। - যদি আপনি ইনস্টল-টাইম মডেল ডাউনলোড সক্ষম না করেন বা স্পষ্ট ডাউনলোডের অনুরোধ না করেন, তাহলে প্রথমবার শনাক্তকারী চালানোর সময় মডেলটি ডাউনলোড হয়ে যাবে। ডাউনলোড সম্পূর্ণ হওয়ার আগে আপনার করা অনুরোধগুলি কোনও ফলাফল দেয় না। 
একটি স্ট্রিংয়ের ভাষা শনাক্ত করুন
 একটি স্ট্রিং এর ভাষা শনাক্ত করতে, LanguageIdentifier এর একটি উদাহরণ পেতে LanguageIdentification.getClient() কল করুন, এবং তারপর স্ট্রিংটি LanguageIdentifier এর identifyLanguage() পদ্ধতিতে পাস করুন।
উদাহরণস্বরূপ:
কোটলিন
val languageIdentifier = LanguageIdentification.getClient() languageIdentifier.identifyLanguage(text) .addOnSuccessListener { languageCode -> if (languageCode == "und") { Log.i(TAG, "Can't identify language.") } else { Log.i(TAG, "Language: $languageCode") } } .addOnFailureListener { // Model couldn’t be loaded or other internal error. // ... }
জাভা
LanguageIdentifier languageIdentifier = LanguageIdentification.getClient(); languageIdentifier.identifyLanguage(text) .addOnSuccessListener( new OnSuccessListener<String>() { @Override public void onSuccess(@Nullable String languageCode) { if (languageCode.equals("und")) { Log.i(TAG, "Can't identify language."); } else { Log.i(TAG, "Language: " + languageCode); } } }) .addOnFailureListener( new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { // Model couldn’t be loaded or other internal error. // ... } });
 যদি কলটি সফল হয়, তাহলে একটি BCP-47 ভাষা কোড সফল শ্রোতার কাছে পাঠানো হবে, যা টেক্সটের ভাষা নির্দেশ করবে। যদি কোনও ভাষা আত্মবিশ্বাসের সাথে সনাক্ত না করা হয়, তাহলে কোড und (অনির্ধারিত) পাস করা হবে।
 ডিফল্টরূপে, ML Kit শুধুমাত্র তখনই und ছাড়া অন্য একটি মান প্রদান করে যখন এটি কমপক্ষে 0.5 এর আত্মবিশ্বাস মানের সাথে ভাষা সনাক্ত করে। আপনি getClient() এ LanguageIdentificationOptions অবজেক্ট পাস করে এই থ্রেশহোল্ড পরিবর্তন করতে পারেন: 
কোটলিন
val languageIdentifier = LanguageIdentification .getClient(LanguageIdentificationOptions.Builder() .setConfidenceThreshold(0.34f) .build())
জাভা
LanguageIdentifier languageIdentifier = LanguageIdentification.getClient( new LanguageIdentificationOptions.Builder() .setConfidenceThreshold(0.34f) .build());
একটি স্ট্রিংয়ের সম্ভাব্য ভাষাগুলি পান
 একটি স্ট্রিংয়ের সম্ভাব্য ভাষার আত্মবিশ্বাসের মান পেতে, LanguageIdentifier এর একটি উদাহরণ পান এবং তারপর স্ট্রিংটিকে identifyPossibleLanguages() পদ্ধতিতে পাস করুন।
উদাহরণস্বরূপ:
কোটলিন
val languageIdentifier = LanguageIdentification.getClient() languageIdentifier.identifyPossibleLanguages(text) .addOnSuccessListener { identifiedLanguages -> for (identifiedLanguage in identifiedLanguages) { val language = identifiedLanguage.languageTag val confidence = identifiedLanguage.confidence Log.i(TAG, "$language $confidence") } } .addOnFailureListener { // Model couldn’t be loaded or other internal error. // ... }
জাভা
LanguageIdentifier languageIdentifier = LanguageIdentification.getClient(); languageIdentifier.identifyPossibleLanguages(text) .addOnSuccessListener(new OnSuccessListener<List<IdentifiedLanguage>>() { @Override public void onSuccess(List<IdentifiedLanguage> identifiedLanguages) { for (IdentifiedLanguage identifiedLanguage : identifiedLanguages) { String language = identifiedLanguage.getLanguageTag(); float confidence = identifiedLanguage.getConfidence(); Log.i(TAG, language + " (" + confidence + ")"); } } }) .addOnFailureListener( new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { // Model couldn’t be loaded or other internal error. // ... } });
 যদি কলটি সফল হয়, তাহলে IdentifiedLanguage অবজেক্টের একটি তালিকা সাকসেস লিসেনারের কাছে পাঠানো হয়। প্রতিটি অবজেক্ট থেকে, আপনি ভাষার BCP-47 কোড এবং স্ট্রিংটি সেই ভাষায় রয়েছে কিনা তা নিশ্চিত করতে পারেন। মনে রাখবেন যে এই মানগুলি নির্দেশ করে যে সম্পূর্ণ স্ট্রিংটি প্রদত্ত ভাষায় রয়েছে; ML Kit একটি একক স্ট্রিংয়ে একাধিক ভাষা সনাক্ত করে না।
 ডিফল্টরূপে, ML Kit কেবলমাত্র সেই ভাষাগুলি ফেরত দেয় যেখানে কমপক্ষে 0.01 এর আত্মবিশ্বাসের মান থাকে। আপনি getClient() এ LanguageIdentificationOptions অবজেক্ট পাস করে এই থ্রেশহোল্ড পরিবর্তন করতে পারেন: 
কোটলিন
val languageIdentifier = LanguageIdentification .getClient(LanguageIdentificationOptions.Builder() .setConfidenceThreshold(0.5f) .build())
জাভা
LanguageIdentifier languageIdentifier = LanguageIdentification.getClient( new LanguageIdentificationOptions.Builder() .setConfidenceThreshold(0.5f) .build());
 যদি কোনও ভাষা এই সীমা পূরণ না করে, তাহলে তালিকায় একটি আইটেম থাকবে, যার মান und ।
