Tugas Detektor Bahasa MediaPipe memungkinkan Anda mengidentifikasi bahasa pada sebuah teks. Ini petunjuk menunjukkan cara menggunakan Detektor 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 terkait kemampuan, model, dan opsi konfigurasi. tugas ini, lihat Ringkasan.
Contoh kode
Kode contoh untuk Detektor Bahasa memberikan implementasi lengkap dari tugas di JavaScript untuk referensi Anda. Kode ini membantu Anda menguji tugas ini dan mulai membuat fitur pendeteksi bahasa Anda sendiri. Anda dapat melihat, menjalankan, dan edit Kode contoh Pendeteksi Bahasa hanya dengan menggunakan {i>browser<i} web.
Penyiapan
Bagian ini menjelaskan langkah-langkah utama untuk menyiapkan lingkungan pengembangan dan memberi kode pada proyek secara khusus untuk menggunakan Pendeteksi Bahasa. Untuk informasi umum tentang menyiapkan lingkungan pengembangan untuk menggunakan tugas MediaPipe, termasuk persyaratan versi platform, lihat Panduan penyiapan untuk Web.
Paket JavaScript
Kode Pendeteksi Bahasa tersedia melalui
@mediapipe/tasks-text
paket. Anda bisa menemukan dan mendownload library ini dari link yang disediakan dalam
peron
Panduan penyiapan.
Anda dapat menginstal paket yang diperlukan dengan kode berikut untuk staging lokal menggunakan perintah berikut:
npm install @mediapipe/tasks-text
Jika Anda ingin men-deploy ke server, Anda dapat menggunakan pengiriman konten jaringan (CDN), seperti jsDelivr, untuk tambahkan kode langsung ke halaman HTML Anda, seperti 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 Anda. Untuk mengetahui informasi selengkapnya tentang model terlatih yang tersedia untuk Pendeteksi Bahasa, 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 objek baseOptions
modelAssetPath
, seperti yang ditunjukkan di bawah ini:
baseOptions: {
modelAssetPath: `/app/shared/models/language_detector.tflite`
}
Membuat tugas
Gunakan salah satu fungsi Pendeteksi Bahasa LanguageDetector.createFrom...()
untuk
mempersiapkan tugas untuk menjalankan inferensi. Anda dapat menggunakan createFromModelPath()
dengan jalur relatif atau absolut ke file model terlatih. Kode
contoh di bawah menunjukkan penggunaan fungsi createFromOptions()
. Untuk selengkapnya
informasi tentang konfigurasi tugas,
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 Web dan JavaScript aplikasi:
Nama Opsi | Deskripsi | Rentang Nilai | Nilai Default |
---|---|---|---|
maxResults |
Menetapkan jumlah maksimum opsional prediksi bahasa dengan skor tertinggi untuk kembali. Jika nilai ini kurang dari nol, semua hasil yang tersedia akan ditampilkan. | Semua angka positif | -1 |
scoreThreshold |
Menetapkan ambang batas skor prediksi yang menggantikan skor yang diberikan dalam metadata model (jika ada). Hasil di bawah nilai ini ditolak. | Float mana pun | Tidak ditetapkan |
categoryAllowlist |
Menetapkan daftar opsional kode bahasa yang diizinkan. Jika tidak kosong,
prediksi bahasa yang kode bahasanya tidak ada dalam kumpulan ini akan
disaring. Opsi ini sama-sama bersifat eksklusif
categoryDenylist dan menggunakan keduanya akan menghasilkan error. |
String apa pun | Tidak ditetapkan |
categoryDenylist |
Menetapkan daftar opsional kode bahasa yang tidak diizinkan. Jika
prediksi bahasa yang tidak kosong yang kode bahasanya dalam kumpulan ini akan difilter
posisi-posisi ini. Opsi ini sama-sama bersifat eksklusif dengan categoryAllowlist dan
menggunakan keduanya
akan menghasilkan kesalahan. |
String apa pun | Tidak ditetapkan |
Menyiapkan data
Pendeteksi Bahasa berfungsi dengan data teks (string
). Tugas tersebut menangani
pra-pemrosesan input data, termasuk tokenisasi dan pra-pemrosesan tensor.
Semua pra-pemrosesan ditangani dalam fungsi detect
. Tidak perlu
untuk pra-pemrosesan tambahan terhadap teks input.
const inputText = "The input text for the detector.";
Menjalankan tugas
Pendeteksi Bahasa menggunakan fungsi detect
untuk memicu inferensi. Untuk bahasa
deteksi, ini berarti mengembalikan bahasa yang mungkin untuk teks input.
Kode berikut menunjukkan cara menjalankan pemrosesan dengan tugas model:
// Wait to run the function until inner text is set
const detectionResult = languageDetector.detect(inputText);
Menangani dan menampilkan hasil
Tugas Pendeteksi Bahasa menghasilkan LanguageDetectorResult
yang terdiri dari daftar
prediksi bahasa beserta probabilitas prediksi tersebut. Tujuan
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."
.
Contoh kode yang diperlukan untuk memproses dan memvisualisasikan hasil untuk tugas ini, lihat Aplikasi contoh web.