คู่มือการตรวจหาภาษาสำหรับเว็บ

งานตรวจหาภาษาของ MediaPipe ช่วยให้คุณระบุภาษาของข้อความได้ วิธีการเหล่านี้จะแสดงวิธีใช้เครื่องมือตรวจหาภาษาสำหรับเว็บและแอป JavaScript ตัวอย่างโค้ดที่อธิบายไว้ในวิธีการเหล่านี้พร้อมให้บริการบน GitHub

คุณดูการทำงานของงานนี้ได้โดยดูการสาธิต ดูข้อมูลเพิ่มเติมเกี่ยวกับความสามารถ โมเดล และตัวเลือกการกำหนดค่า ของงานนี้ได้ที่ภาพรวม

ตัวอย่างโค้ด

ตัวอย่างโค้ดสำหรับเครื่องมือตรวจหาภาษาจะแสดงการใช้งานที่สมบูรณ์ของงานนี้ใน JavaScript เพื่อให้คุณใช้อ้างอิง โค้ดนี้จะช่วยให้คุณทดสอบงานนี้และ เริ่มต้นสร้างฟีเจอร์ตรวจหาภาษาของคุณเองได้ คุณสามารถดู เรียกใช้ และแก้ไข ตัวอย่าง ได้โดยใช้เพียงเว็บเบราว์เซอร์

ตั้งค่า

ส่วนนี้จะอธิบายขั้นตอนสำคัญในการตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์และโปรเจ็กต์โค้ดเพื่อใช้เครื่องมือตรวจหาภาษาโดยเฉพาะ ดูข้อมูลทั่วไปเกี่ยวกับการตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์สำหรับการใช้ MediaPipe Tasks รวมถึงข้อกำหนดด้านเวอร์ชันแพลตฟอร์มได้ที่คู่มือการตั้งค่าสำหรับเว็บ

แพ็กเกจ JavaScript

โค้ด Language Detector พร้อมใช้งานผ่านแพ็กเกจ @mediapipe/tasks-text คุณสามารถค้นหาและดาวน์โหลดไลบรารีเหล่านี้ได้จากลิงก์ที่ระบุไว้ใน แพลตฟอร์ม คู่มือการตั้งค่า

คุณติดตั้งแพ็กเกจที่จำเป็นได้ด้วยโค้ดต่อไปนี้สำหรับการจัดเตรียมในเครื่อง โดยใช้คำสั่งต่อไปนี้

npm install @mediapipe/tasks-text

หากต้องการติดตั้งใช้งานในเซิร์ฟเวอร์ คุณสามารถใช้บริการเครือข่ายนำส่งข้อมูล (CDN) เช่น jsDelivr เพื่อเพิ่มโค้ดลงในหน้า HTML โดยตรงได้ ดังนี้

<head>
  <script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/index.js"
    crossorigin="anonymous"></script>
</head>

รุ่น

งานตรวจหาภาษาของ MediaPipe ต้องใช้โมเดลที่ผ่านการฝึกซึ่งเข้ากันได้กับงานนี้ ดูข้อมูลเพิ่มเติมเกี่ยวกับโมเดลที่ผ่านการฝึกที่มีให้ใช้งานสำหรับเครื่องมือตรวจหาภาษาได้ที่ ภาพรวมของงานส่วนโมเดล

เลือกและดาวน์โหลดโมเดล จากนั้นจัดเก็บไว้ในไดเรกทอรีโปรเจ็กต์

<dev-project-root>/app/shared/models

ระบุเส้นทางของโมเดลด้วยพารามิเตอร์ออบเจ็กต์ baseOptionsmodelAssetPath ดังที่แสดงด้านล่าง

baseOptions: {
        modelAssetPath: `/app/shared/models/language_detector.tflite`
      }

สร้างงาน

ใช้ฟังก์ชันตรวจหาภาษา LanguageDetector.createFrom...() อย่างใดอย่างหนึ่งเพื่อ เตรียมงานสำหรับการเรียกใช้การอนุมาน คุณสามารถใช้ฟังก์ชัน createFromModelPath() กับเส้นทางแบบสัมพัทธ์หรือเส้นทางแบบสัมบูรณ์ไปยังไฟล์โมเดลที่ฝึกแล้ว ตัวอย่างโค้ด ด้านล่างแสดงการใช้ฟังก์ชัน createFromOptions() ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่างานได้ที่ตัวเลือกการกำหนดค่า

โค้ดต่อไปนี้แสดงวิธีสร้างและกำหนดค่างานนี้

async function createDetector() {
  const textFiles = await FilesetResolver.forTextTasks(
      "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm/");
  languageDetector = await languageDetector.createFromOptions(
    textFiles,
    {
      baseOptions: {
        modelAssetPath: `https://storage.googleapis.com/mediapipe-models/language_detector/language_detector/float32/1/language_detector.tflite`
      },
    }
  );
}
createDetector();

ตัวเลือกการกำหนดค่า

งานนี้มีตัวเลือกการกำหนดค่าต่อไปนี้สำหรับแอปพลิเคชันบนเว็บและ JavaScript

ชื่อตัวเลือก คำอธิบาย ช่วงค่า ค่าเริ่มต้น
maxResults กำหนดจำนวนสูงสุดของการคาดการณ์ภาษาที่มีคะแนนสูงสุด (ไม่บังคับ) ที่จะ แสดงผล หากค่านี้ต่ำกว่า 0 ระบบจะแสดงผลลัพธ์ทั้งหมดที่ใช้ได้ ตัวเลขที่เป็นจำนวนบวกใดก็ได้ -1
scoreThreshold กำหนดเกณฑ์คะแนนการคาดการณ์ที่จะลบล้างเกณฑ์ที่ระบุไว้ใน ข้อมูลเมตาของโมเดล (หากมี) ระบบจะปฏิเสธผลลัพธ์ที่ต่ำกว่าค่านี้ ทศนิยมใดก็ได้ ไม่ได้ตั้งค่า
categoryAllowlist ตั้งค่ารายการรหัสภาษาที่อนุญาตที่ไม่บังคับ หากไม่ว่างเปล่า ระบบจะกรอง การคาดการณ์ภาษาที่มีรหัสภาษาไม่อยู่ในชุดนี้ออก ตัวเลือกนี้ใช้ร่วมกับ categoryDenylist ไม่ได้ และการใช้ทั้ง 2 ตัวเลือกจะทำให้เกิดข้อผิดพลาด สตริงใดก็ได้ ไม่ได้ตั้งค่า
categoryDenylist ตั้งค่ารายการรหัสภาษาที่ไม่ได้รับอนุญาต (ไม่บังคับ) หาก ไม่ว่าง ระบบจะกรองการคาดการณ์ภาษาที่มีรหัสภาษาอยู่ในชุดนี้ออก ตัวเลือกนี้ใช้ร่วมกับ categoryAllowlist ไม่ได้ และ การใช้ทั้ง 2 อย่างจะทำให้เกิดข้อผิดพลาด สตริงใดก็ได้ ไม่ได้ตั้งค่า

เตรียมข้อมูล

เครื่องมือตรวจหาภาษาจะทำงานกับข้อมูลข้อความ (string) โดยงานนี้จะจัดการการประมวลผลล่วงหน้าของอินพุตข้อมูล ซึ่งรวมถึงการแปลงข้อมูลเป็นโทเค็นและการประมวลผลล่วงหน้าของ Tensor การประมวลผลล่วงหน้าทั้งหมดจะได้รับการจัดการภายในฟังก์ชัน detect ไม่จำเป็นต้อง ประมวลผลข้อความนำเข้าล่วงหน้าเพิ่มเติม

const inputText = "The input text for the detector.";

เรียกใช้งาน

เครื่องมือตรวจหาภาษาใช้ฟังก์ชัน detect เพื่อทริกเกอร์การอนุมาน สำหรับการตรวจหาภาษา หมายถึงการแสดงภาษาที่อาจเป็นไปได้สำหรับข้อความที่ป้อน

โค้ดต่อไปนี้แสดงวิธีดำเนินการประมวลผลด้วยโมเดลงาน

// Wait to run the function until inner text is set
const detectionResult = languageDetector.detect(inputText);

จัดการและแสดงผลลัพธ์

งานตรวจหาภาษาจะแสดงผล LanguageDetectorResult ซึ่งประกอบด้วยรายการ การคาดการณ์ภาษาพร้อมกับความน่าจะเป็นของการคาดการณ์เหล่านั้น ต่อไปนี้เป็นตัวอย่างข้อมูลเอาต์พุตจากงานนี้

LanguageDetectorResult:
  LanguagePrediction #0:
    language_code: "fr"
    probability: 0.999781

ผลลัพธ์นี้ได้มาจากการเรียกใช้โมเดลในข้อความอินพุตต่อไปนี้ "Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent."

ดูตัวอย่างโค้ดที่จำเป็นในการประมวลผลและแสดงภาพผลลัพธ์ของ งานนี้ได้ที่ ตัวอย่าง