เผยแพร่เมื่อวันที่ 24 กันยายน 2024
ก่อนแปลข้อความจากภาษาหนึ่งเป็นภาษาอื่น คุณต้องระบุภาษาที่ใช้ในข้อความนั้นๆ ก่อน ก่อนหน้านี้ คุณต้องอัปโหลดข้อความไปยังบริการระบบคลาวด์ การใช้การอนุมานในอุปกรณ์จะช่วยปรับปรุงเรื่องราวความเป็นส่วนตัวของคุณได้ แม้ว่าจะส่งไลบรารีที่ดำเนินการดังกล่าวได้ แต่จะต้องดาวน์โหลดทรัพยากรเพิ่มเติม
ข้อเสนอเกี่ยวกับตัวตรวจจับภาษาและ Translator API มีจุดประสงค์เพื่อแก้ปัญหานี้ด้วยการปรับแต่งโมเดลให้เหมาะกับงานนี้โดยเฉพาะ โดยมี API ในตัวเบราว์เซอร์
ตัวอย่าง Use Case
Language Detector API มีประโยชน์อย่างยิ่งในสถานการณ์ต่อไปนี้
- ระบุภาษาของข้อความที่ป้อนเพื่อให้แปลได้
- กำหนดภาษาของข้อความที่ป้อน เพื่อให้ระบบโหลดโมเดลที่ถูกต้องสำหรับงานเฉพาะภาษา เช่น การตรวจจับสารพิษ
- กำหนดภาษาของอินพุตเพื่อให้ติดป้ายกำกับได้อย่างถูกต้อง เช่น ในเว็บไซต์โซเชียลเน็ตเวิร์กออนไลน์
- กำหนดภาษาของอินพุตข้อความเพื่อให้ปรับอินเทอร์เฟซของแอปได้ตามใจ ตัวอย่างเช่น ในเว็บไซต์เบลเยียมเพื่อแสดงอินเทอร์เฟซที่เกี่ยวข้องกับผู้ใช้ที่พูดภาษาฝรั่งเศสเท่านั้น
ใช้ Language Detector API
Language Detector API เป็นส่วนหนึ่งของครอบครัว Translator API ที่ใหญ่กว่า ก่อนอื่น ให้เรียกใช้การตรวจหาฟีเจอร์เพื่อดูว่าเบราว์เซอร์รองรับ API ตัวตรวจจับภาษาหรือไม่
if ('translation' in self && 'canDetect' in self.translation) {
// The Language Detector API is available.
}
การดาวน์โหลดโมเดล
การตรวจหาภาษาขึ้นอยู่กับโมเดลที่ได้รับการปรับแต่งอย่างละเอียดสําหรับงานการตรวจหาภาษาที่เฉพาะเจาะจง แม้ว่า API จะสร้างขึ้นในเบราว์เซอร์ แต่ระบบจะดาวน์โหลดโมเดลแบบออนดีมานด์เมื่อเว็บไซต์พยายามใช้ API เป็นครั้งแรก ใน Chrome รูปแบบนี้มีจำนวนน้อยมากเมื่อเทียบกับรูปแบบอื่นๆ อันที่จริงแล้ว อาจมีอยู่แล้วเนื่องจากฟีเจอร์ของเบราว์เซอร์ Chrome ก็ใช้รูปแบบนี้ด้วย
หากต้องการดูว่าโมเดลพร้อมใช้งานหรือไม่ ให้เรียกใช้ฟังก์ชันแบบแอซิงโครนัส translation.canDetect()
มีคำตอบที่เป็นไปได้ 3 แบบดังนี้
'no'
: เบราว์เซอร์ปัจจุบันรองรับ Language Detector API แต่ใช้งานไม่ได้ในขณะนี้ เช่น เพราะมีเนื้อที่ว่างบนดิสก์ไม่เพียงพอที่จะดาวน์โหลดโมเดล'readily'
: เบราว์เซอร์ปัจจุบันรองรับ Language Detector API และสามารถใช้งานได้ทันที'after-download'
: เบราว์เซอร์ปัจจุบันรองรับ Language Detector API แต่ต้องดาวน์โหลดโมเดลก่อน
หากต้องการเรียกให้ดาวน์โหลดและสร้างอินสแตนซ์ของเครื่องมือตรวจจับภาษา ให้เรียกใช้ฟังก์ชัน translation.createDetector()
แบบแอซิงโครนัส หากการตอบกลับ canDetect()
คือ 'after-download'
แนวทางปฏิบัติแนะนำคือให้รอดูความคืบหน้าในการดาวน์โหลดเพื่อแจ้งให้ให้ผู้ใช้ทราบได้ในกรณีที่การดาวน์โหลดใช้เวลานาน
ตัวอย่างต่อไปนี้แสดงวิธีเริ่มต้นเครื่องมือตรวจจับภาษา
const canDetect = await translation.canDetect();
let detector;
if (canDetect === 'no') {
// The language detector isn't usable.
return;
}
if (canDetect === 'readily') {
// The language detector can immediately be used.
detector = await translation.createDetector();
} else {
// The language detector can be used after model download.
detector = await translation.createDetector();
detector.addEventListener('downloadprogress', (e) => {
console.log(e.loaded, e.total);
});
await detector.ready;
}
เรียกใช้ตัวตรวจหาภาษา
Language Detector API ใช้โมเดลการจัดอันดับเพื่อระบุว่ามีแนวโน้มว่าข้อความหนึ่งๆ จะใช้ภาษาใดมากที่สุด การจัดอันดับคือการเรียนรู้ของเครื่องประเภทหนึ่งที่มีวัตถุประสงค์เพื่อจัดเรียงรายการ ในกรณีนี้ API ตัวตรวจจับภาษาจะจัดอันดับภาษาจากความน่าจะเป็นสูงสุดไปต่ำสุด
ฟังก์ชัน detect()
สามารถแสดงผลลัพธ์แรก คำตอบที่เป็นไปได้มากที่สุด หรือวนซ้ำรายการที่เป็นไปได้ตามลําดับความมั่นใจ
ผลลัพธ์นี้จะแสดงเป็นรายการออบเจ็กต์ {detectedLanguage, confidence}
รายการ ระดับ confidence
จะแสดงเป็นค่าระหว่าง 0.0
(ความเชื่อมั่นต่ำสุด) กับ 1.0
(ความเชื่อมั่นสูงสุด)
const someUserText \= 'Hallo und herzlich willkommen\!';
const results \= await detector.detect(someUserText);
for (const result of results) {
// Show the full list of potential languages with their likelihood, ranked
// from most likely to least likely. In practice, one would pick the top
// language(s) that cross a high enough threshold.
console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...
สาธิต
ดูตัวอย่าง API ตัวตรวจจับภาษาในการสาธิต ป้อนข้อความที่เขียนเป็นภาษาต่างๆ ในกล่องข้อความ
ลงชื่อสมัครทดลองใช้จากต้นทาง
ลงทะเบียนเข้าร่วมการทดลองใช้ Language Detector API เพื่อเริ่มทดสอบ API นี้กับผู้ใช้ของคุณ ช่วงทดลองใช้จากต้นทางนี้จะเริ่มตั้งแต่ Chrome 130 ถึง 135
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีการทำงานของช่วงทดลองใช้จากต้นทาง
ความพยายามในการทำให้มาตรฐาน
Language Detector API ได้ย้ายไปยังกลุ่มชุมชน Web Incubator ของ W3C หลังจากที่ข้อเสนอที่เกี่ยวข้องได้รับการสนับสนุนมากพอ API นี้เป็นส่วนหนึ่งของข้อเสนอ Translation API ที่ใหญ่ขึ้น ทีม Chrome ได้ขอความคิดเห็นจากกลุ่มสถาปัตยกรรมทางเทคนิคของ W3C และสอบถาม Mozilla และ WebKit เกี่ยวกับจุดยืนด้านมาตรฐานของผู้ให้บริการเบราว์เซอร์รายนั้นๆ
แชร์ความคิดเห็น
หากคุณมีความคิดเห็นเกี่ยวกับการใช้งาน Chrome โปรดยื่นข้อบกพร่อง Chromium แชร์ความคิดเห็นเกี่ยวกับรูปแบบ API ของ Language Detector API โดยแสดงความคิดเห็นในปัญหาที่มีอยู่หรือเปิดปัญหาใหม่ในที่เก็บ GitHub ของ Translation API