Google 致力于为黑人社区推动种族平等。查看具体举措
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

आईओएस पर एमएल किट के साथ पाठ की भाषा को पहचानें

आप एक स्ट्रिंग की भाषा की पहचान करने के लिए एमएल किट का उपयोग कर सकते हैं। आप स्ट्रिंग की सबसे अधिक संभावना वाली भाषा प्राप्त कर सकते हैं या स्ट्रिंग की सभी संभावित भाषाओं के लिए आत्मविश्वास स्कोर प्राप्त कर सकते हैं।

एमएल किट अपनी मूल लिपियों में 103 अलग-अलग भाषाओं में पाठ को पहचानता है। इसके अलावा, रोमन पाठ को अरबी, बल्गेरियाई, चीनी, ग्रीक, हिंदी, जापानी और रूसी के लिए पहचाना जा सकता है।

शुरू करने से पहले

  1. यदि आपने अपने ऐप में पहले से ही फायरबेस को नहीं जोड़ा है, तो आरंभ किए गए गाइड में दिए चरणों का पालन करके ऐसा करें।
  2. अपने पॉडफाइल में एमएल किट लाइब्रेरी को शामिल करें:
    pod 'Firebase/MLNaturalLanguage', '6.25.0'
    pod 'Firebase/MLNLLanguageID', '6.25.0'
    
    अपने प्रोजेक्ट के पॉड्स को स्थापित या अपडेट करने के बाद, अपने .xcworkspace का उपयोग करके अपने Xcode प्रोजेक्ट को खोलना सुनिश्चित करें।
  3. आपके एप्लिकेशन में, Firebase आयात करें:

    तीव्र

    import Firebase

    उद्देश्य सी

    @import Firebase;

एक स्ट्रिंग की भाषा को पहचानें

किसी स्ट्रिंग की भाषा की पहचान करने के लिए, LanguageIdentification का एक उदाहरण प्राप्त करें, और फिर स्ट्रिंग को identifyLanguage(for:) विधि के लिए पास करें।

उदाहरण के लिए:

तीव्र

0 ए 64 ए 6 सी 280

उद्देश्य सी

FIRNaturalLanguage *naturalLanguage = [FIRNaturalLanguage naturalLanguage];
FIRLanguageIdentification *languageId = [naturalLanguage languageIdentification];

[languageId identifyLanguageForText:text
                         completion:^(NSString * _Nullable languageCode,
                                      NSError * _Nullable error) {
                           if (error != nil) {
                             NSLog(@"Failed with error: %@", error.localizedDescription);
                             return;
                           }
                           if (languageCode != nil
                               && ![languageCode isEqualToString:@"und"] ) {
                             NSLog(@"Identified Language: %@", languageCode);
                           } else {
                             NSLog(@"No language was identified");
                           }
                         }];

यदि कॉल सफल होता है, तो बीसीपी -47 भाषा कोड पूरा हैंडलर को दिया जाता है, जो पाठ की भाषा को दर्शाता है। समर्थित भाषाओं की पूरी सूची देखें। यदि कोई भाषा आत्मविश्वास से पता नहीं लगा सकती है, तो कोड und (अनिर्धारित) पारित किया जाता है।

डिफ़ॉल्ट रूप से, एमएल किट एक गैर- und मान तभी लौटाता है, जब वह कम से कम 0.5 के विश्वास मूल्य के साथ भाषा की पहचान करता है। आप LanguageIdentificationOptions लिए LanguageIdentificationOptions ऑब्जेक्ट पास करके इस सीमा को बदल सकते languageIdentification(options:) :

तीव्र

let options = LanguageIdentificationOptions(confidenceThreshold: 0.4)
let languageId = NaturalLanguage.naturalLanguage().languageIdentification(options: options)
है

उद्देश्य सी

FIRNaturalLanguage *naturalLanguage = [FIRNaturalLanguage naturalLanguage];
FIRLanguageIdentificationOptions *options =
    [[FIRLanguageIdentificationOptions alloc] initWithConfidenceThreshold:0.4];
FIRLanguageIdentification *languageId =
    [naturalLanguage languageIdentificationWithOptions:options];

एक स्ट्रिंग की संभावित भाषाएं प्राप्त करें

एक स्ट्रिंग की सबसे अधिक संभावना वाली भाषाओं के विश्वास मूल्यों को प्राप्त करने के लिए, LanguageIdentification का एक उदाहरण प्राप्त करें, और फिर स्ट्रिंग को identifyPossibleLanguages(for:) विधि से पास करें।

उदाहरण के लिए:

तीव्र

let languageId = NaturalLanguage.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"))
}

उद्देश्य सी

FIRNaturalLanguage *naturalLanguage = [FIRNaturalLanguage naturalLanguage];
FIRLanguageIdentification *languageId = [naturalLanguage languageIdentification];

[languageId identifyPossibleLanguagesForText:text
                                  completion:^(NSArray<FIRIdentifiedLanguage *> * _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 (FIRIdentifiedLanguage *language in identifiedLanguages) {
    [outputText appendFormat:@"\n(%@, %.2f)", language.languageCode, language.confidence];
  }
  NSLog(outputText);
}];

यदि कॉल सफल होता है, तो IdentifiedLanguage ऑब्जेक्ट्स की एक सूची निरंतर हैंडलर को पास की जाती है। प्रत्येक ऑब्जेक्ट से, आप भाषा का BCP-47 कोड प्राप्त कर सकते हैं और यह विश्वास दिला सकते हैं कि स्ट्रिंग उस भाषा में है। समर्थित भाषाओं की पूरी सूची देखें। ध्यान दें कि ये मान इस विश्वास को इंगित करते हैं कि पूरी स्ट्रिंग दी गई भाषा में है; एमएल किट एक स्ट्रिंग में कई भाषाओं की पहचान नहीं करता है।

डिफ़ॉल्ट रूप से, एमएल किट कम से कम 0.01 के विश्वास मूल्यों के साथ केवल भाषाओं को लौटाता है। आप LanguageIdentificationOptions लिए LanguageIdentificationOptions ऑब्जेक्ट पास करके इस सीमा को बदल सकते languageIdentification(options:) :

तीव्र

let options = LanguageIdentificationOptions(confidenceThreshold: 0.4)
let languageId = NaturalLanguage.naturalLanguage().languageIdentification(options: options)
है

उद्देश्य सी

FIRNaturalLanguage *naturalLanguage = [FIRNaturalLanguage naturalLanguage];
FIRLanguageIdentificationOptions *options =
    [[FIRLanguageIdentificationOptions alloc] initWithConfidenceThreshold:0.4];
FIRLanguageIdentification *languageId =
    [naturalLanguage languageIdentificationWithOptions:options];

यदि कोई भाषा इस सीमा से नहीं मिलती है, तो सूची में एक आइटम होगा, जिसमें मान und