การตรวจจับภาษาใน Chrome ด้วย AI ในตัว

เผยแพร่เมื่อวันที่ 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

แหล่งข้อมูล