আপনি ML Kit ব্যবহার করে কোনও টেক্সট স্ট্রিংয়ের ভাষা শনাক্ত করতে পারবেন। আপনি স্ট্রিংয়ের সবচেয়ে সম্ভাব্য ভাষা এবং স্ট্রিংয়ের সব সম্ভাব্য ভাষার জন্য কনফিডেন্স স্কোর পেতে পারেন।
ML Kit ১০০টিরও বেশি আলাদা আলাদা ভাষায় টেক্সট শনাক্ত করতে পারে। এছাড়াও, রোমান হরফে লেখা টেক্সট আরবি, বুলগেরিয়ান, চাইনিজ, গ্রিক, হিন্দি, জাপানি ও রাশিয়ান ভাষার ক্ষেত্রে শনাক্ত করা যেতে পারে। কাজ করে এমন ভাষা ও স্ক্রিপ্টের সম্পূর্ণ তালিকা দেখুন।
এটি ব্যবহার করে দেখুন
- এই API-এর ব্যবহারিক উদাহরণ দেখতে স্যাম্পেল অ্যাপ ব্যবহার করে দেখুন।
শুরু করার আগে
- আপনার Podfile-এ নিম্নলিখিত ML Kit পড অন্তর্ভুক্ত করুন:
pod 'GoogleMLKit/LanguageID', '8.0.0'
- আপনার প্রোজেক্টের Pod ইনস্টল বা আপডেট করার পরে, এর
.xcworkspaceব্যবহার করে আপনার Xcode প্রোজেক্ট খুলুন। Xcode ভার্সন 12.4 বা তার পরের যেকোনও ভার্সনে ML Kit কাজ করে।
স্ট্রিংয়ের ভাষা শনাক্ত করা
কোনও স্ট্রিংয়ের ভাষা শনাক্ত করতে,
LanguageIdentification-এর একটি ইনস্ট্যান্স পান এবং তারপরে স্ট্রিংটি
identifyLanguage(for:) পদ্ধতিতে পাস করুন।
যেমন:
Swift
let languageId = NaturalLanguage.languageIdentification() languageId.identifyLanguage(for: text) { (languageCode, error) in if let error = error { print("Failed with error: \(error)") return } if let languageCode = languageCode, languageCode != "und" { print("Identified Language: \(languageCode)") } else { print("No language was identified") } }
Objective-C
MLKLanguageIdentification *languageId = [MLKLanguageIdentification languageIdentification]; [languageId identifyLanguageForText:text completion:^(NSString * _Nullable languageCode, NSError * _Nullable error) { if (error != nil) { NSLog(@"Failed with error: %@", error.localizedDescription); return; } if (![languageCode isEqualToString:@"und"] ) { NSLog(@"Identified Language: %@", languageCode); } else { NSLog(@"No language was identified"); } }];
কলটি সফল হলে, টেক্সটের ভাষা নির্দেশ করে, একটি
BCP-47 ভাষা কোড
সম্পূর্ণতা হ্যান্ডলারে পাস করা হয়। কোনও
ভাষা সম্পর্কে নিশ্চিত হওয়া না গেলে, und (নির্ধারণ করা যায়নি) কোডটি পাস করা হয়।
ডিফল্ট হিসেবে, ML Kit শুধুমাত্র তখনই একটি নন-und মান রিটার্ন করে যখন এটি কমপক্ষে ০.৫-এর কনফিডেন্স ভ্যালু সহ ভাষা শনাক্ত করে। আপনি LanguageIdentificationOptions অবজেক্টকে
languageIdentification(options:)-এ পাস করানোর মাধ্যমে এই থ্রেশহোল্ড
পরিবর্তন করতে পারবেন:
Swift
let options = LanguageIdentificationOptions(confidenceThreshold: 0.4) let languageId = NaturalLanguage.languageIdentification(options: options)
Objective-C
MLKLanguageIdentificationOptions *options = [[MLKLanguageIdentificationOptions alloc] initWithConfidenceThreshold:0.4]; MLKLanguageIdentification *languageId = [MLKLanguageIdentification languageIdentificationWithOptions:options];
কোনও স্ট্রিংয়ের সম্ভাব্য ভাষা পান
কোনও স্ট্রিংয়ের সবচেয়ে সম্ভাব্য ভাষার কনফিডেন্স ভ্যালু পেতে, LanguageIdentification-এর একটি
ইনস্ট্যান্স পান এবং তারপরে স্ট্রিংটিকে
identifyPossibleLanguages(for:) পদ্ধতিতে পাস করুন।
যেমন:
Swift
let languageId = NaturalLanguage.languageIdentification() languageId.identifyPossibleLanguages(for: text) { (identifiedLanguages, error) in if let error = error { print("Failed with error: \(error)") return } guard let identifiedLanguages = identifiedLanguages, !identifiedLanguages.isEmpty, identifiedLanguages[0].languageCode != "und" else { print("No language was identified") return } print("Identified Languages:\n" + identifiedLanguages.map { String(format: "(%@, %.2f)", $0.languageCode, $0.confidence) }.joined(separator: "\n")) }
Objective-C
MLKLanguageIdentification *languageId = [MLKLanguageIdentification languageIdentification]; [languageId identifyPossibleLanguagesForText:text completion:^(NSArray* _Nonnull identifiedLanguages, NSError * _Nullable error) { if (error != nil) { NSLog(@"Failed with error: %@", error.localizedDescription); return; } if (identifiedLanguages.count == 1 && [identifiedLanguages[0].languageCode isEqualToString:@"und"] ) { NSLog(@"No language was identified"); return; } NSMutableString *outputText = [NSMutableString stringWithFormat:@"Identified Languages:"]; for (MLKIdentifiedLanguage *language in identifiedLanguages) { [outputText appendFormat:@"\n(%@, %.2f)", language.languageCode, language.confidence]; } NSLog(outputText); }];
কল সফল হলে, IdentifiedLanguage অবজেক্টের একটি তালিকা
কন্টিনিউয়েশন হ্যান্ডলারের কাছে পাঠানো হয়। প্রতিটি অবজেক্ট থেকে, আপনি ভাষার BCP-47 কোড
এবং স্ট্রিংটি সেই ভাষায় আছে কিনা তা নিশ্চিত করতে পারবেন। মনে রাখবেন যে
এইসব ভ্যালু থেকে বোঝা যায় যে সম্পূর্ণ স্ট্রিংটি প্রদত্ত ভাষায় আছে কিনা;
ML Kit একটি স্ট্রিংয়ে একাধিক ভাষা শনাক্ত করে না।
ডিফল্ট হিসেবে, ML Kit শুধুমাত্র সেইসব ভাষা রিটার্ন করে যেগুলির কনফিডেন্স ভ্যালু অন্তত
০.০১। আপনি languageIdentification(options:)-এ একটি
LanguageIdentificationOptions অবজেক্ট পাস করে এই থ্রেশহোল্ড পরিবর্তন করতে পারেন:
Swift
let options = LanguageIdentificationOptions(confidenceThreshold: 0.4) let languageId = NaturalLanguage.languageIdentification(options: options)
Objective-C
MLKLanguageIdentificationOptions *options = [[MLKLanguageIdentificationOptions alloc] initWithConfidenceThreshold:0.4]; MLKLanguageIdentification *languageId = [MLKLanguageIdentification languageIdentificationWithOptions:options];
কোনও ভাষা এই থ্রেশহোল্ড পূরণ করতে না পারলে, তালিকায় একটি আইটেম থাকে, যার ভ্যালু হল
und.