Panduan deteksi bahasa untuk Web

Dengan tugas MediaPipe Language Detector, Anda dapat mengidentifikasi bahasa suatu teks. Petunjuk ini menunjukkan cara menggunakan Language Detector untuk aplikasi web dan JavaScript. Contoh kode yang dijelaskan dalam petunjuk ini tersedia di GitHub.

Anda dapat melihat cara kerja tugas ini dengan melihat demo. Untuk mengetahui informasi selengkapnya tentang kemampuan, model, dan opsi konfigurasi tugas ini, lihat Ringkasan.

Contoh kode

Kode contoh untuk Language Detector menyediakan implementasi lengkap tugas ini di JavaScript sebagai referensi Anda. Kode ini membantu Anda menguji tugas ini dan mulai membuat fitur detektor bahasa Anda sendiri. Anda dapat melihat, menjalankan, dan mengedit contoh hanya menggunakan browser web.

Penyiapan

Bagian ini menjelaskan langkah-langkah utama untuk menyiapkan lingkungan pengembangan dan project kode secara khusus untuk menggunakan Language Detector. Untuk mengetahui informasi umum tentang cara menyiapkan lingkungan pengembangan untuk menggunakan tugas MediaPipe, termasuk persyaratan versi platform, lihat Panduan penyiapan untuk Web.

Paket JavaScript

Kode Language Detector tersedia melalui paket @mediapipe/tasks-text. Anda dapat menemukan dan mendownload library ini dari link yang disediakan di Panduan penyiapan platform.

Anda dapat menginstal paket yang diperlukan dengan kode berikut untuk penyiapan lokal menggunakan perintah berikut:

npm install @mediapipe/tasks-text

Jika ingin men-deploy ke server, Anda dapat menggunakan layanan jaringan penayangan konten (CDN), seperti jsDelivr, untuk menambahkan kode langsung ke halaman HTML Anda, sebagai berikut:

<head>
  <script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/index.js"
    crossorigin="anonymous"></script>
</head>

Model

Tugas MediaPipe Language Detector memerlukan model terlatih yang kompatibel dengan tugas ini. Untuk mengetahui informasi selengkapnya tentang model terlatih yang tersedia untuk Language Detector, lihat bagian Model di ringkasan tugas.

Pilih dan download model, lalu simpan dalam direktori project Anda:

<dev-project-root>/app/shared/models

Tentukan jalur model dengan parameter baseOptions objek modelAssetPath, seperti yang ditunjukkan di bawah ini:

baseOptions: {
        modelAssetPath: `/app/shared/models/language_detector.tflite`
      }

Buat tugas

Gunakan salah satu fungsi Language Detector LanguageDetector.createFrom...() untuk menyiapkan tugas untuk menjalankan inferensi. Anda dapat menggunakan fungsi createFromModelPath() dengan jalur relatif atau absolut ke file model terlatih. Contoh kode di bawah menunjukkan penggunaan fungsi createFromOptions(). Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi tugas, lihat Opsi konfigurasi.

Kode berikut menunjukkan cara membuat dan mengonfigurasi tugas ini.

async function createDetector() {
  const textFiles = await FilesetResolver.forTextTasks(
      "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm/");
  languageDetector = await languageDetector.createFromOptions(
    textFiles,
    {
      baseOptions: {
        modelAssetPath: `https://storage.googleapis.com/mediapipe-models/language_detector/language_detector/float32/1/language_detector.tflite`
      },
    }
  );
}
createDetector();

Opsi konfigurasi

Tugas ini memiliki opsi konfigurasi berikut untuk aplikasi Web dan JavaScript:

Nama Opsi Deskripsi Rentang Nilai Nilai Default
maxResults Menetapkan jumlah maksimum prediksi bahasa dengan skor tertinggi opsional yang akan ditampilkan. Jika nilai ini kurang dari nol, semua hasil yang tersedia akan ditampilkan. Semua bilangan positif -1
scoreThreshold Menetapkan nilai minimum skor prediksi yang menggantikan nilai minimum yang diberikan dalam metadata model (jika ada). Hasil di bawah nilai ini ditolak. Float apa pun Tidak ditetapkan
categoryAllowlist Menetapkan daftar opsional kode bahasa yang diizinkan. Jika tidak kosong, prediksi bahasa yang kode bahasanya tidak ada dalam set ini akan dikecualikan. Opsi ini bertolak belakang dengan categoryDenylist dan penggunaan keduanya akan menghasilkan error. String apa pun Tidak ditetapkan
categoryDenylist Menetapkan daftar opsional kode bahasa yang tidak diizinkan. Jika tidak kosong, prediksi bahasa yang kode bahasanya ada dalam set ini akan difilter keluar. Opsi ini tidak dapat digunakan bersama dengan categoryAllowlist dan penggunaan keduanya akan menghasilkan error. String apa pun Tidak ditetapkan

Menyiapkan data

Language Detector berfungsi dengan data teks (string). Tugas ini menangani pra-pemrosesan input data, termasuk tokenisasi dan pra-pemrosesan tensor. Semua praproses ditangani dalam fungsi detect. Tidak perlu melakukan praproses tambahan pada teks input sebelumnya.

const inputText = "The input text for the detector.";

Jalankan tugas

Detektor Bahasa menggunakan fungsi detect untuk memicu inferensi. Untuk deteksi bahasa, hal ini berarti menampilkan kemungkinan bahasa untuk teks input.

Kode berikut menunjukkan cara menjalankan pemrosesan dengan model tugas:

// Wait to run the function until inner text is set
const detectionResult = languageDetector.detect(inputText);

Menangani dan menampilkan hasil

Tugas Language Detector menghasilkan LanguageDetectorResult yang terdiri dari daftar prediksi bahasa beserta probabilitas untuk prediksi tersebut. Berikut menunjukkan contoh data output dari tugas ini:

LanguageDetectorResult:
  LanguagePrediction #0:
    language_code: "fr"
    probability: 0.999781

Hasil ini diperoleh dengan menjalankan model pada teks input: "Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent.".

Untuk contoh kode yang diperlukan untuk memproses dan memvisualisasikan hasil tugas ini, lihat contoh.