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

เผยแพร่: 24 กันยายน 2024 อัปเดตล่าสุด: 10 ธันวาคม 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://flags/#language-detection-api
  2. เลือกเปิดใช้
  3. คลิกเปิดใหม่หรือรีสตาร์ท Chrome

ตัวอย่าง Use Case

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

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

ใช้ Language Detector API

Language Detector API เป็นส่วนหนึ่งของครอบครัว Translator API ที่ใหญ่ขึ้น ก่อนอื่น ให้เรียกใช้การตรวจหาฟีเจอร์เพื่อดูว่าเบราว์เซอร์รองรับ Language Detector API หรือไม่

if ('ai' in self && 'languageDetector' in self.ai)
  // The Language Detector API is available.
}  

การดาวน์โหลดโมเดล

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

หากต้องการตรวจสอบว่าโมเดลพร้อมใช้งานหรือไม่ ให้เรียกใช้ฟังก์ชันแบบแอซิงโครนัส self.ai.languageDetector.capabilities() และตรวจสอบช่อง available การตอบกลับที่เป็นไปได้มี 3 รูปแบบดังนี้

  • 'no': เบราว์เซอร์ปัจจุบันรองรับ Language Detector API แต่ใช้งานไม่ได้ในขณะนี้ เช่น เพราะมีเนื้อที่ว่างบนดิสก์ไม่เพียงพอที่จะดาวน์โหลดโมเดล
  • 'readily': เบราว์เซอร์ปัจจุบันรองรับ Language Detector API และสามารถใช้งานได้ทันที
  • 'after-download': เบราว์เซอร์ปัจจุบันรองรับ Language Detector API แต่ต้องดาวน์โหลดโมเดลก่อน

หากต้องการเรียกให้ดาวน์โหลดและสร้างอินสแตนซ์ของโปรแกรมตรวจจับภาษา ให้เรียกใช้ฟังก์ชัน self.ai.languageDetector.create() แบบแอซิงโครนัส หากการตอบสนองต่อ capabilities() คือ 'after-download' แนวทางปฏิบัติแนะนำคือให้รอฟังความคืบหน้าการดาวน์โหลดเพื่อให้แจ้งผู้ใช้ได้ในกรณีที่การดาวน์โหลดใช้เวลานาน

หากต้องการดูว่าระบบตรวจจับภาษาหนึ่งๆ ได้หรือไม่ ให้เรียกใช้ฟังก์ชัน languageAvailable()

const languageDetectorCapabilities = await self.ai.languageDetector.capabilities();
languageDetectorCapabilities.languageAvailable('es');
// 'readily'

ตัวอย่างต่อไปนี้แสดงวิธีเริ่มต้นตัวตรวจจับภาษา

const languageDetectorCapabilities = await self.ai.languageDetector.capabilities();
const canDetect = languageDetectorCapabilities.capabilities;
let detector;
if (canDetect === 'no') {
  // The language detector isn't usable.
  return;
}
if (canDetect === 'readily') {
  // The language detector can immediately be used.
  detector = await self.ai.languageDetector.create();
} else {
  // The language detector can be used after model download.
  detector = await self.ai.languageDetector.create({
    monitor(m) {
      m.addEventListener('downloadprogress', (e) => {
        console.log(`Downloaded ${e.loaded} of ${e.total} bytes.`);
      });
    },
  });
  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