Panduan deteksi bahasa untuk Python

Tugas Detektor Bahasa MediaPipe memungkinkan Anda mengidentifikasi bahasa pada sebuah teks. Ini menunjukkan cara menggunakan Detektor 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 terkait kemampuan, model, dan opsi konfigurasi. tugas ini, lihat Ringkasan.

Contoh kode

Kode contoh untuk Detektor Bahasa memberikan implementasi lengkap dari di Python untuk referensi Anda. Kode ini membantu Anda menguji tugas ini dan mendapatkan mulai membangun fitur deteksi bahasa Anda sendiri. Anda dapat melihat, menjalankan, dan edit Pendeteksi Bahasa kode contoh 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 Python.

Paket

Pendeteksi Bahasa menggunakan paket pip mediapipe. Anda dapat menginstal dependensi dengan yang berikut:

$ python -m pip install mediapipe

Impor

Impor class berikut untuk mengakses fungsi tugas Detektor Bahasa:

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 Anda. Untuk mengetahui informasi selengkapnya tentang model terlatih yang tersedia untuk Pendeteksi Bahasa, lihat bagian ringkasan tugas Model.

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

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

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

base_options = BaseOptions(model_asset_path=model_path)

Membuat tugas

Tugas MediaPipe Language Detector menggunakan fungsi create_from_options untuk menyiapkan tugas Anda. Fungsi create_from_options menerima nilai untuk konfigurasi opsi untuk mengatur opsi pendeteksi. Anda juga dapat menginisialisasi tugas menggunakan fungsi factory create_from_model_path. create_from_model_path menerima jalur relatif atau absolut ke file model yang dilatih. Untuk informasi selengkapnya tentang mengkonfigurasi 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 opsional prediksi bahasa dengan skor tertinggi untuk kembali. Jika nilai ini kurang dari nol, semua hasil yang tersedia akan ditampilkan. Semua angka positif -1
score_threshold 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
category_allowlist 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 category_denylist dan menggunakan keduanya akan menghasilkan error. String apa pun Tidak ditetapkan
category_denylist 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 category_allowlist dan menggunakan keduanya akan menghasilkan kesalahan. String apa pun Tidak ditetapkan

Menyiapkan data

Pendeteksi Bahasa berfungsi dengan data teks (str). Tugas ini menangani input data pra-pemrosesan, termasuk tokenisasi dan pra-pemrosesan tensor. Semua pra-pemrosesan ini akan ditangani dalam fungsi detect. Anda tidak perlu teks input.

input_text = 'The input text to be classified.'

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

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

Contoh kode yang diperlukan untuk memproses dan memvisualisasikan hasil tugas ini, lihat Aplikasi contoh Python.