งาน MediaPipe Language Detector ให้คุณระบุภาษาของข้อความ เหล่านี้ แสดงวิธีใช้ตัวตรวจจับภาษาสำหรับแอป JavaScript และเว็บ ตัวอย่างโค้ดที่อธิบายไว้ในวิธีการเหล่านี้มีอยู่ใน GitHub
คุณสามารถดูการทำงานนี้โดยดูที่ การสาธิต สำหรับข้อมูลเพิ่มเติมเกี่ยวกับความสามารถ โมเดล และตัวเลือกการกำหนดค่า ของงานนี้ โปรดดูภาพรวม
ตัวอย่างโค้ด
โค้ดตัวอย่างสำหรับตัวตรวจจับภาษาแสดงการติดตั้งใช้งานอย่างสมบูรณ์ ใน JavaScript เพื่อเป็นข้อมูลอ้างอิง โค้ดนี้จะช่วยคุณทดสอบงานนี้และ เริ่มสร้างฟีเจอร์ เครื่องมือตรวจจับภาษาของคุณเอง คุณสามารถดู เรียกใช้ และแก้ไข โค้ดตัวอย่างตัวตรวจจับภาษา โดยใช้แค่เว็บเบราว์เซอร์
ตั้งค่า
ส่วนนี้จะอธิบายขั้นตอนสำคัญในการตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ และ โค้ดเพื่อใช้ตัวตรวจจับภาษาโดยเฉพาะ สำหรับข้อมูลทั่วไปเกี่ยวกับ การตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ของคุณสำหรับการใช้งาน MediaPipe ซึ่งรวมถึง โปรดดูข้อกำหนดเวอร์ชันของแพลตฟอร์ม คู่มือการตั้งค่าสำหรับเว็บ
แพ็กเกจ JavaScript
โค้ดตัวตรวจจับภาษามีให้บริการผ่าน
@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 Language Detector ต้องการโมเดลที่ได้รับการฝึกที่สามารถทำงานร่วมกับ งาน ดูข้อมูลเพิ่มเติมเกี่ยวกับโมเดลที่ผ่านการฝึกที่ใช้ได้สําหรับเครื่องมือตรวจจับภาษาได้ที่ ภาพรวมงานส่วนโมเดล
เลือกและดาวน์โหลดโมเดล แล้วเก็บไว้ในไดเรกทอรีโปรเจ็กต์ของคุณ:
<dev-project-root>/app/shared/models
ระบุเส้นทางของโมเดลด้วยออบเจ็กต์ baseOptions
modelAssetPath
ตามที่แสดงด้านล่าง
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."
สำหรับตัวอย่างของโค้ดที่จำเป็นในการประมวลผลและแสดงภาพผลลัพธ์ของ งานนี้ ดู ตัวอย่างแอปบนเว็บ