Guida al rilevamento della lingua per Python

L'attività MediaPipe Language Detector ti consente di identificare la lingua di una porzione di testo. Questi istruzioni mostrano come utilizzare Language Detector con Python. Esempio di codice descritti in queste istruzioni sono disponibili su GitHub.

Puoi vedere questa attività in azione visualizzando la demo. Per ulteriori informazioni su funzionalità, modelli e opzioni di configurazione di questa attività, consulta la Panoramica.

Esempio di codice

Il codice di esempio per Language Detector fornisce un'implementazione completa un'attività in Python come riferimento. Questo codice ti consente di testare l'attività e ottenere a creare la tua funzionalità di rilevamento della lingua. Puoi visualizzare, eseguire modifica il rilevatore della lingua esempio di codice usando solo il browser web.

Configurazione

Questa sezione descrive i passaggi chiave per configurare l'ambiente di sviluppo e per i progetti di codice specificatamente per l'uso di Language Detector. Per informazioni generali su configurare l'ambiente di sviluppo per l'utilizzo delle attività di MediaPipe, tra cui: i requisiti di versione della piattaforma, consulta Guida alla configurazione per Python.

Pacchetti

Language Detector utilizza il pacchetto pip mediapipe. Puoi installare la dipendenza con quanto segue:

$ python -m pip install mediapipe

Importazioni

Importa le seguenti classi per accedere alle funzioni dell'attività Language Detector:

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

Modello

L'attività di rilevamento del linguaggio MediaPipe richiede un modello addestrato che sia compatibile con dell'attività. Per ulteriori informazioni sui modelli addestrati disponibili per Language Detector, vedi nella sezione Modelli della panoramica dell'attività.

Seleziona e scarica il modello, quindi archivialo nella directory del progetto:

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

Specifica il percorso del modello con l'oggetto BaseOptions model_asset_path come mostrato di seguito:

base_options = BaseOptions(model_asset_path=model_path)

Crea l'attività

L'attività di rilevamento della lingua di MediaPipe utilizza la funzione create_from_options per configurare dell'attività. La funzione create_from_options accetta valori per la configurazione per impostare le opzioni del rilevatore. Puoi anche inizializzare l'attività utilizzando la funzione di fabbrica create_from_model_path. create_from_model_path accetta un percorso relativo o assoluto al file del modello addestrato. Per ulteriori informazioni sulla configurazione delle attività, consulta Opzioni di configurazione.

Il codice seguente illustra come creare e configurare questa attività.

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

Opzioni di configurazione

Questa attività include le seguenti opzioni di configurazione per le applicazioni Python:

Nome opzione Descrizione Intervallo di valori Valore predefinito
max_results Imposta il numero massimo facoltativo di previsioni per lingua con il punteggio più alto su per tornare indietro. Se questo valore è inferiore a zero, vengono restituiti tutti i risultati disponibili. Qualsiasi numero positivo -1
score_threshold Imposta la soglia del punteggio di previsione che sostituisce quella fornita in gli eventuali metadati del modello. I risultati al di sotto di questo valore vengono rifiutati. Qualsiasi numero in virgola mobile Non impostato
category_allowlist Consente di impostare l'elenco facoltativo dei codici lingua consentiti. Se il campo non è vuoto, le previsioni linguistiche il cui codice lingua non è in questo set saranno esclusi. Questa opzione si esclude a vicenda con category_denylist e l'utilizzo di entrambi generano un errore. Qualsiasi stringa Non impostato
category_denylist Consente di impostare un elenco facoltativo di codici lingua non consentiti. Se non vuote, le previsioni del linguaggio il cui codice lingua è incluso in questo set verranno filtrate fuori. Questa opzione si esclude a vicenda con category_allowlist e se utilizzi entrambi, genera un errore. Qualsiasi stringa Non impostato

Preparazione dei dati

Language Detector funziona con i dati di testo (str). L'attività gestisce l'input dei dati pre-elaborazione, tra cui la tokenizzazione e la pre-elaborazione dei tensori. Tutti la pre-elaborazione viene gestita all'interno della funzione detect. Non è necessario un'ulteriore pre-elaborazione del testo di input.

input_text = 'The input text to be classified.'

Esegui l'attività

Il rilevatore della lingua utilizza la funzione detect per attivare le inferenze. Per la lingua di input, ciò significa che vengono restituite le possibili lingue per il testo di input.

Il codice seguente mostra come eseguire l'elaborazione con l'attività un modello di machine learning.

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

Gestire e visualizzare i risultati

Il rilevatore di lingue restituisce un LanguageDetectorResult composto da un elenco di previsioni linguistiche insieme alle probabilità di tali previsioni. Di seguito è riportato un esempio dei dati di output di questa attività:

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

Questo risultato è stato ottenuto eseguendo il modello sul testo di input: "Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent.".

Ecco un esempio del codice necessario per elaborare e visualizzare i risultati di questa attività, controlla App Python di esempio.