Tugas Detektor Bahasa MediaPipe memungkinkan Anda mengidentifikasi bahasa teks. Petunjuk ini menunjukkan cara menggunakan Pendeteksi Bahasa 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 Pendeteksi Bahasa menyediakan penerapan 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 kode contoh Language Detector hanya menggunakan browser web.
Penyiapan
Bagian ini menjelaskan langkah-langkah utama untuk menyiapkan lingkungan pengembangan dan project kode khusus untuk menggunakan Pendeteksi Bahasa. Untuk informasi umum tentang menyiapkan lingkungan pengembangan Anda untuk menggunakan tugas MediaPipe, termasuk persyaratan versi platform, lihat Panduan penyiapan untuk Web.
Paket JavaScript
Kode Pendeteksi Bahasa 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 staging lokal menggunakan perintah berikut:
npm install @mediapipe/tasks-text
Jika ingin melakukan deployment 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 Detektor Bahasa MediaPipe memerlukan model terlatih yang kompatibel dengan tugas ini. Untuk mengetahui informasi selengkapnya tentang model terlatih yang tersedia untuk Language Detector, lihat ringkasan tugas bagian Model.
Pilih dan download model, lalu simpan dalam direktori project Anda:
<dev-project-root>/app/shared/models
Tentukan jalur model dengan parameter modelAssetPath
objek baseOptions
, seperti yang ditunjukkan di bawah:
baseOptions: {
modelAssetPath: `/app/shared/models/language_detector.tflite`
}
Membuat tugas
Gunakan salah satu fungsi LanguageDetector.createFrom...()
Pendeteksi Bahasa untuk
menyiapkan tugas guna menjalankan inferensi. Anda dapat menggunakan fungsi createFromModelPath()
dengan jalur relatif atau absolut ke file model yang telah dilatih. Contoh kode di bawah ini menunjukkan penggunaan fungsi createFromOptions()
. Untuk mengetahui informasi
selengkapnya tentang cara mengonfigurasi tugas, lihat
Opsi konfigurasi.
Kode berikut menunjukkan cara membangun 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 teratas 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 skor yang diberikan dalam metadata model (jika ada). Hasil di bawah nilai ini ditolak. | Semua float | Tidak ditetapkan |
categoryAllowlist |
Menetapkan daftar opsional kode bahasa yang diizinkan. Jika tidak kosong, prediksi bahasa yang kode bahasanya tidak ada dalam kumpulan ini akan difilter. Opsi ini sama-sama bersifat eksklusif dengan
categoryDenylist dan menggunakan 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 kumpulan ini akan difilter. Opsi ini sama-sama bersifat eksklusif dengan categoryAllowlist dan
menggunakan keduanya akan menghasilkan error. |
String apa pun | Tidak ditetapkan |
Menyiapkan data
Pendeteksi Bahasa berfungsi dengan data teks (string
). Tugas ini menangani
prapemrosesan input data, termasuk tokenisasi dan pra-pemrosesan tensor.
Semua pra-pemrosesan ditangani dalam fungsi detect
. Tidak perlu
pemrosesan teks input tambahan terlebih dahulu.
const inputText = "The input text for the detector.";
Menjalankan tugas
Pendeteksi Bahasa menggunakan fungsi detect
untuk memicu inferensi. Untuk deteksi bahasa, 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 bersama dengan 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 Aplikasi contoh Web.