आप एक स्ट्रिंग की भाषा की पहचान करने के लिए एमएल किट का उपयोग कर सकते हैं। आप स्ट्रिंग की सबसे अधिक संभावना वाली भाषा प्राप्त कर सकते हैं या स्ट्रिंग के सभी संभावित भाषाओं के लिए आत्मविश्वास स्कोर प्राप्त कर सकते हैं।
एमएल किट अपनी मूल लिपियों में 103 अलग-अलग भाषाओं में पाठ को पहचानता है। इसके अलावा, रोमन पाठ को अरबी, बल्गेरियाई, चीनी, ग्रीक, हिंदी, जापानी और रूसी के लिए पहचाना जा सकता है।
शुरू करने से पहले
- यदि आप पहले से नहीं हैं, तो अपने Android प्रोजेक्ट में Firebase जोड़ें ।
- अपने मॉड्यूल (ऐप-स्तरीय) ग्रेड फ़ाइल (आमतौर पर
app/build.gradle
) के लिए एमएल किट एंड्रॉइड लाइब्रेरी के लिए निर्भरताएं जोड़ें:apply plugin: 'com.android.application' apply plugin: 'com.google.gms.google-services' dependencies { // ... implementation 'com.google.firebase:firebase-ml-natural-language:22.0.0' implementation 'com.google.firebase:firebase-ml-natural-language-language-id-model:20.0.7' }
एक स्ट्रिंग की भाषा को पहचानें
किसी स्ट्रिंग की भाषा की पहचान करने के लिए, FirebaseLanguageIdentification
का एक उदाहरण प्राप्त करें, और फिर स्ट्रिंग को FirebaseLanguageIdentification
identifyLanguage()
विधि से पास करें।
उदाहरण के लिए:
FirebaseLanguageIdentification languageIdentifier =
FirebaseNaturalLanguage.getInstance().getLanguageIdentification();
languageIdentifier.identifyLanguage(text)
.addOnSuccessListener(
new OnSuccessListener<String>() {
@Override
public void onSuccess(@Nullable String languageCode) {
if (languageCode != "und") {
Log.i(TAG, "Language: " + languageCode);
} else {
Log.i(TAG, "Can't identify language.");
}
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Model couldn’t be loaded or other internal error.
// ...
}
});
यदि कॉल सफल होता है, तो बीसीपी -47 भाषा कोड सफलता श्रोता के पास जाता है, जो पाठ की भाषा को दर्शाता है। समर्थित भाषाओं की पूरी सूची देखें। यदि कोई भाषा आत्मविश्वास से पता नहीं लगा सकती है, तो कोड und
(अनिर्धारित) पारित किया जाता है।
डिफ़ॉल्ट रूप से, एमएल किट के अलावा किसी अन्य मान देता है und
केवल जब यह कम से कम 0.5 की एक आत्मविश्वास मूल्य के साथ भाषा की पहचान। आप इस सीमा को FirebaseLanguageIdentificationOptions
ऑब्जेक्ट को getLanguageIdentification()
पास करके बदल सकते हैं:
FirebaseLanguageIdentification languageIdentifier = FirebaseNaturalLanguage
.getInstance()
.getLanguageIdentification(
new FirebaseLanguageIdentificationOptions.Builder()
.setIdentifyLanguageConfidenceThreshold(0.34f)
.build());
एक स्ट्रिंग की संभावित भाषाएं प्राप्त करें
एक स्ट्रिंग की सबसे अधिक संभावना वाली भाषाओं के आत्मविश्वास मूल्यों को प्राप्त करने के लिए, FirebaseLanguageIdentification
का एक उदाहरण प्राप्त करें, और फिर स्ट्रिंग को FirebaseLanguageIdentification
identifyAllLanguages()
विधि से पास करें।
उदाहरण के लिए:
FirebaseLanguageIdentification languageIdentifier =
FirebaseNaturalLanguage.getInstance().getLanguageIdentification();
languageIdentifier.identifyAllLanguages(text)
.addOnSuccessListener(
new OnSuccessListener<String>() {
@Override
public void onSuccess(List<IdentifiedLanguage> identifiedLanguages) {
for (IdentifiedLanguage identifiedLanguage : identifiedLanguages) {
String language = identifiedLanguage.getLanguageCode();
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 कोड प्राप्त कर सकते हैं और यह विश्वास दिला सकते हैं कि स्ट्रिंग उस भाषा में है। समर्थित भाषाओं की पूरी सूची देखें। ध्यान दें कि ये मान इस विश्वास को इंगित करते हैं कि पूरी स्ट्रिंग दी गई भाषा में है; एमएल किट एक स्ट्रिंग में कई भाषाओं की पहचान नहीं करता है।
डिफ़ॉल्ट रूप से, एमएल किट कम से कम 0.01 के आत्मविश्वास मूल्यों के साथ केवल भाषाओं को वापस करता है। आप इस सीमा को FirebaseLanguageIdentificationOptions
ऑब्जेक्ट को getLanguageIdentification()
पास करके बदल सकते हैं:
यदि कोई भाषा इस सीमा से नहीं मिलती है, तो सूची में एक आइटम होगा, जिसमें मान und
।