Deteksi bahasa di Chrome dengan AI bawaan

Dipublikasikan: 24 September 2024

Sebelum menerjemahkan teks dari satu bahasa ke bahasa lain, Anda harus menentukan bahasa yang digunakan dalam teks yang diberikan terlebih dahulu. Sebelumnya, terjemahan memerlukan upload teks ke layanan cloud, melakukan terjemahan di server, lalu mendownload hasilnya.

Language Detector API menggunakan inferensi di perangkat sehingga Anda dapat meningkatkan kualitas privasi. Meskipun Anda dapat mengirimkan library tertentu yang melakukan hal ini, Anda memerlukan resource tambahan untuk mendownloadnya.

Ketersediaan

Mendaftar untuk uji coba origin

Untuk mulai menggunakan Language Detector API, ikuti langkah-langkah berikut:

  1. Konfirmasi Kebijakan Penggunaan Terlarang untuk AI Generatif Google.
  2. Buka Uji coba origin Language Detector API.
  3. Klik Daftar dan isi formulir.
    • Di kolom Asal web, berikan asal atau ID ekstensi Anda, chrome-extension://YOUR_EXTENSION_ID.
  4. Untuk mengirim, klik Daftar.
  5. Salin token yang diberikan, lalu tambahkan ke setiap halaman web di origin atau file untuk Ekstensi Anda, tempat Anda ingin mengaktifkan uji coba.
  6. Mulai menggunakan Language Detection API.

Pelajari lebih lanjut cara memulai uji coba origin.

Menambahkan dukungan ke localhost

Untuk mengakses Language Detection API di localhost selama uji coba origin, Anda harus mengupdate Chrome ke versi terbaru. Selanjutnya, ikuti langkah-langkah berikut:

  1. Buka Chrome di salah satu platform berikut: Windows, Mac, atau Linux.
  2. Buka chrome://flags/#language-detection-api.
  3. Pilih Enabled.
  4. Klik Luncurkan kembali atau mulai ulang Chrome.

Contoh kasus penggunaan

Language Detector API terutama berguna dalam skenario berikut:

  • Tentukan bahasa teks input, sehingga dapat diterjemahkan.
  • Tentukan bahasa teks input, sehingga model yang benar dapat dimuat untuk tugas khusus bahasa, seperti deteksi toksisitas.
  • Tentukan bahasa teks input, sehingga dapat diberi label dengan benar, misalnya, di situs jejaring sosial online.
  • Tentukan bahasa teks input, sehingga antarmuka aplikasi dapat disesuaikan sesuai kebutuhan. Misalnya, di situs Belgia untuk hanya menampilkan antarmuka yang relevan bagi pengguna yang berbicara bahasa Prancis.

Menggunakan Language Detector API

Language Detector API adalah bagian dari keluarga Translator API yang lebih besar. Pertama, jalankan deteksi fitur untuk melihat apakah browser mendukung Language Detector API.

if ('translation' in self && 'canDetect' in self.translation) {
  // The Language Detector API is available.
}  

Download model

Deteksi bahasa bergantung pada model yang disesuaikan untuk tugas tertentu dalam mendeteksi bahasa. Meskipun API dibuat di browser, model didownload on-demand saat pertama kali situs mencoba menggunakan API. Di Chrome, model ini sangat kecil jika dibandingkan dengan model lain. Bahkan, kode ini mungkin sudah ada mengingat model ini juga digunakan oleh fitur browser Chrome.

Untuk melihat apakah model siap digunakan, panggil fungsi translation.canDetect() asinkron. Ada tiga kemungkinan respons:

  • 'no': Browser saat ini mendukung Language Detector API, tetapi tidak dapat digunakan saat ini. Misalnya, karena tidak ada cukup ruang disk kosong yang tersedia untuk mendownload model.
  • 'readily': Browser saat ini mendukung Language Detector API, dan dapat langsung digunakan.
  • 'after-download': Browser saat ini mendukung Language Detector API, tetapi perlu mendownload model terlebih dahulu.

Untuk memicu download dan membuat instance pendeteksi bahasa, panggil fungsi translation.createDetector() asinkron. Jika respons untuk canDetect() adalah 'after-download', praktik terbaiknya adalah memproses progres download, sehingga Anda dapat memberi tahu pengguna jika download memerlukan waktu.

Contoh berikut menunjukkan cara melakukan inisialisasi pendeteksi bahasa.

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;
}

Menjalankan detektor bahasa

Language Detector API menggunakan model peringkat untuk menentukan bahasa yang paling mungkin digunakan dalam teks tertentu. Pemberian peringkat adalah jenis pembelajaran mesin, yang tujuannya adalah mengurutkan daftar item. Dalam hal ini, Language Detector API memberi peringkat bahasa dari probabilitas tertinggi ke terendah.

Fungsi detect() dapat menampilkan hasil pertama, jawaban yang paling mungkin, atau melakukan iterasi pada kandidat yang diberi peringkat dengan tingkat keyakinan. Ini ditampilkan sebagai daftar objek {detectedLanguage, confidence}. Tingkat confidence dinyatakan sebagai nilai antara 0.0 (keyakinan terendah) dan 1.0 (keyakinan tertinggi).

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
// ...

Demo

Lihat pratinjau Language Detector API di demo kami. Masukkan teks yang ditulis dalam berbagai bahasa di textarea.

Upaya standardisasi

Language Detector API dipindahkan ke W3C Web Incubator Community Group setelah proposal yang sesuai menerima cukup dukungan. API ini adalah bagian dari proposal Translation API yang lebih besar.

Tim Chrome meminta masukan dari W3C Technical Architecture Group dan meminta Mozilla dan WebKit untuk mengetahui posisi standar mereka.

Beri masukan

Jika Anda memiliki masukan tentang penerapan Chrome, laporkan bug Chromium. Bagikan masukan Anda tentang bentuk API Language Detector API dengan memberikan komentar pada Masalah yang ada atau membuka Masalah baru di repositori GitHub Translation API.