Panduan deteksi bahasa untuk Python

Tugas Detektor Bahasa MediaPipe memungkinkan Anda mengidentifikasi bahasa teks. Petunjuk ini menunjukkan cara menggunakan Pendeteksi Bahasa dengan Python. 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 implementasi lengkap tugas ini di Python sebagai referensi Anda. Kode ini membantu Anda menguji tugas ini dan mulai membangun fitur deteksi bahasa Anda sendiri. Anda dapat melihat, menjalankan, dan mengedit kode contoh Pendeteksi Bahasa 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 Python.

Paket

Language Detector menggunakan paket pip mediapipe. Anda dapat menginstal dependensi dengan kode berikut:

$ python -m pip install mediapipe

Impor

Impor class berikut untuk mengakses fungsi tugas Language Detector:

import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text

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, baca bagian Model ringkasan tugas.

Pilih dan download model, lalu simpan dalam direktori project:

model_path = '/absolute/path/to/language_detector.tflite'

Tentukan jalur model dengan parameter model_asset_path objek BaseOptions, seperti yang ditunjukkan di bawah:

base_options = BaseOptions(model_asset_path=model_path)

Membuat tugas

Tugas Detektor Bahasa MediaPipe menggunakan fungsi create_from_options untuk menyiapkan tugas. Fungsi create_from_options menerima nilai untuk opsi konfigurasi guna menetapkan opsi detektor. Anda juga dapat menginisialisasi tugas menggunakan fungsi factory create_from_model_path. Fungsi create_from_model_path menerima jalur relatif atau absolut ke file model yang telah dilatih. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi tugas, lihat Opsi konfigurasi.

Kode berikut menunjukkan cara membangun dan mengonfigurasi tugas ini.

base_options = python.BaseOptions(model_asset_path=model_path)
options = text.LanguageDetectorOptions(base_options=base_options)

Opsi konfigurasi

Tugas ini memiliki opsi konfigurasi berikut untuk aplikasi Python:

Nama Opsi Deskripsi Rentang Nilai Nilai Default
max_results 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
score_threshold 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
category_allowlist 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 category_denylist dan menggunakan keduanya akan menghasilkan error. String apa pun Tidak ditetapkan
category_denylist 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 category_allowlist dan menggunakan keduanya akan menghasilkan error. String apa pun Tidak ditetapkan

Menyiapkan data

Pendeteksi Bahasa berfungsi dengan data teks (str). Tugas ini menangani pra-pemrosesan input data, termasuk tokenisasi dan pra-pemrosesan tensor. Semua prapemrosesan ditangani dalam fungsi detect. Tidak perlu pemrosesan teks input tambahan terlebih dahulu.

input_text = 'The input text to be classified.'

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.

with python.text.LanguageDetector.create_from_options(options) as detector:
  detection_result = detector.detect(input_text)

Menangani dan menampilkan hasil

Pendeteksi Bahasa menghasilkan LanguageDetectorResult yang terdiri dari daftar prediksi bahasa beserta probabilitas untuk prediksi tersebut. Berikut ini 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 Python.