คุณใช้ ML Kit เพื่อระบุภาษาของสตริงข้อความได้ คุณสามารถ รับภาษาที่เป็นไปได้มากที่สุดของสตริง หรือรับคะแนนความเชื่อมั่นสำหรับค่าใกล้เคียงทั้งหมด ภาษาที่เป็นไปได้ของสตริง
ML Kit จดจำข้อความในสคริปต์ในภาษาต่างๆ ได้ถึง 103 ภาษา นอกจากนี้ ตัวอักษรภาษาอังกฤษสามารถจดจำสำหรับภาษาอาหรับ บัลแกเรีย ภาษาจีน กรีก ฮินดี ญี่ปุ่น และรัสเซีย
ก่อนเริ่มต้น
- หากคุณยังไม่ได้ดำเนินการ เพิ่ม Firebase ลงในโปรเจ็กต์ Android
 - เพิ่มทรัพยากร Dependency สำหรับไลบรารี ML Kit Android ลงในโมดูล
  ไฟล์ Gradle (ระดับแอป) (ปกติราคา 
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 แล้วส่งสตริงไปยัง
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.
              // ...
            }
          });
หากการโทรสำเร็จ
รหัสภาษา BCP-47 คือ
ที่ส่งไปยังผู้ฟังที่ประสบความสำเร็จ โดยระบุภาษาของข้อความ โปรดดู
รายการภาษาที่รองรับทั้งหมด หากไม่ใช่
สามารถตรวจพบภาษาได้อย่างมั่นใจ รหัส und (ไม่กำหนด) จะถูกส่ง
โดยค่าเริ่มต้น ML Kit จะแสดงผลค่าอื่นที่ไม่ใช่ und เฉพาะเมื่อมีการระบุ
ภาษาที่มีค่าความเชื่อมั่นอย่างน้อย 0.5 คุณสามารถเปลี่ยนแปลง
เกณฑ์โดยการส่งออบเจ็กต์ FirebaseLanguageIdentificationOptions ไปยัง
getLanguageIdentification():
FirebaseLanguageIdentification languageIdentifier = FirebaseNaturalLanguage
        .getInstance()
        .getLanguageIdentification(
                new FirebaseLanguageIdentificationOptions.Builder()
                        .setIdentifyLanguageConfidenceThreshold(0.34f)
                        .build());
ดูภาษาที่เป็นไปได้ของสตริง
หากต้องการค่าความเชื่อมั่นของภาษาที่มีแนวโน้มมากที่สุดของสตริง ให้ใช้
อินสแตนซ์ของ 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 ของภาษาและ
แสดงว่ามีสตริงอยู่ในภาษานั้น โปรดดู
รายการภาษาที่รองรับทั้งหมด โปรดทราบว่า
ค่าเหล่านี้แสดงถึงความเชื่อมั่นว่าสตริงทั้งหมดอยู่ในรูปแบบ
ภาษา; ML Kit จะระบุหลายภาษาในสตริงเดียวไม่ได้
โดยค่าเริ่มต้น ML Kit จะแสดงผลเฉพาะภาษาที่มีค่าความเชื่อมั่นอย่างน้อย
0.01 คุณสามารถเปลี่ยนเกณฑ์นี้ได้โดยการส่ง
FirebaseLanguageIdentificationOptions ออบเจ็กต์ที่
getLanguageIdentification():
FirebaseLanguageIdentification languageIdentifier = FirebaseNaturalLanguage
        .getInstance()
        .getLanguageIdentification(
                new FirebaseLanguageIdentificationOptions.Builder()
                        .setIdentifyAllLanguagesConfidenceThreshold(0.5f)
                        .build());
หากไม่มีภาษาที่ตรงกับเกณฑ์นี้ รายการจะมี 1 รายการพร้อมค่า
und