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

เผยแพร่เมื่อวันที่ 24 กันยายน 2024

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

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

ความพร้อมใช้งาน

ลงชื่อสมัครทดลองใช้จากต้นทาง

หากต้องการเริ่มใช้ Language Detector API ให้ทําตามขั้นตอนต่อไปนี้

  1. รับทราบนโยบายการใช้งานที่ไม่อนุญาตสำหรับ Generative AI ของ Google
  2. ไปที่ช่วงทดลองใช้ Language Detector API จากต้นทาง
  3. คลิกลงทะเบียน แล้วกรอกแบบฟอร์ม
    • ในช่องต้นทางของเว็บ ให้ระบุต้นทางหรือรหัสส่วนขยาย chrome-extension://YOUR_EXTENSION_ID
  4. คลิกลงทะเบียนเพื่อส่งข้อมูล
  5. คัดลอกโทเค็นที่ระบุ แล้วเพิ่มลงในหน้าเว็บทุกหน้าในต้นทางหรือไฟล์ของส่วนขยายที่คุณต้องการเปิดใช้ช่วงทดลองใช้
  6. เริ่มใช้ Language Detection API

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีเริ่มต้นใช้งานการทดสอบต้นทาง

เพิ่มการรองรับ localhost

หากต้องการเข้าถึง Language Detection API ใน localhost ในระหว่างช่วงทดลองใช้จากต้นทาง คุณต้องอัปเดต Chrome เป็นเวอร์ชันล่าสุด จากนั้น ดำเนินการตามขั้นตอนเหล่านี้:

  1. เปิด Chrome ในแพลตฟอร์ม Windows, Mac หรือ Linux
  2. ไปที่ chrome://flags/#language-detection-api
  3. เลือกเปิดใช้
  4. คลิกเปิดใหม่หรือรีสตาร์ท Chrome

ตัวอย่าง Use Case

Language Detector API มีประโยชน์อย่างยิ่งในสถานการณ์ต่อไปนี้

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

ใช้ Language Detector API

Language Detector API เป็นส่วนหนึ่งของครอบครัว Translator API ที่ใหญ่ขึ้น ก่อนอื่น ให้เรียกใช้การตรวจหาฟีเจอร์เพื่อดูว่าเบราว์เซอร์รองรับ Language detector 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 ใช้โมเดลการจัดอันดับเพื่อระบุว่ามีแนวโน้มว่าข้อความหนึ่งๆ จะใช้ภาษาใดมากที่สุด การจัดอันดับคือการเรียนรู้ของเครื่องประเภทหนึ่งที่มีวัตถุประสงค์เพื่อจัดเรียงรายการ ในกรณีนี้ Language Detector 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
// ...

สาธิต

ดูตัวอย่าง Language Detector API ในเดโม ป้อนข้อความที่เขียนเป็นภาษาต่างๆ ในกล่องข้อความ

ความพยายามในการทำให้มาตรฐาน

Language Detector API ได้ย้ายไปยังกลุ่มชุมชน Web Incubator ของ W3C หลังจากที่ข้อเสนอที่เกี่ยวข้องได้รับการสนับสนุนมากพอ API นี้เป็นส่วนหนึ่งของข้อเสนอ Translation API ที่ใหญ่ขึ้น

ทีม Chrome ได้ขอความคิดเห็นจากกลุ่มสถาปัตยกรรมทางเทคนิคของ W3C และสอบถามMozilla และ WebKit เกี่ยวกับจุดยืนด้านมาตรฐาน

แชร์ความคิดเห็น

หากมีความคิดเห็นเกี่ยวกับการใช้งาน Chrome ให้รายงานข้อบกพร่อง Chromium แชร์ความคิดเห็นเกี่ยวกับรูปแบบ API ของ Language Detector API โดยแสดงความคิดเห็นในปัญหาที่มีอยู่หรือเปิดปัญหาใหม่ในที่เก็บ GitHub ของ Translation API