L'attività di rilevamento della lingua di MediaPipe consente di identificare la lingua di un testo. Queste istruzioni mostrano come utilizzare Language Detector per app web e JavaScript. L'esempio di codice descritto in queste istruzioni è disponibile su GitHub.
Puoi vedere questa attività in azione visualizzando la demo. Per saperne di più sulle funzionalità, sui modelli e sulle opzioni di configurazione di questa attività, consulta la panoramica.
Codice di esempio
Il codice di esempio per Language Detector fornisce un'implementazione completa di questa attività in JavaScript come riferimento. Questo codice ti aiuta a testare questa attività e a iniziare a creare la tua funzionalità di rilevamento della lingua. Puoi visualizzare, eseguire e modificare l'esempio utilizzando solo il browser web.
Configurazione
Questa sezione descrive i passaggi chiave per configurare l'ambiente di sviluppo e i progetti di codice specifici per l'utilizzo di Language Detector. Per informazioni generali sulla configurazione dell'ambiente di sviluppo per l'utilizzo delle attività MediaPipe, inclusi i requisiti della versione della piattaforma, consulta la Guida alla configurazione per il web.
Pacchetti JavaScript
Il codice di Language Detector è disponibile tramite il pacchetto
@mediapipe/tasks-text. Puoi trovare e scaricare queste librerie dai link forniti nella
guida
di configurazione della piattaforma.
Puoi installare i pacchetti richiesti con il seguente codice per lo staging locale utilizzando il seguente comando:
npm install @mediapipe/tasks-text
Se vuoi eseguire il deployment su un server, puoi utilizzare un servizio di rete CDN (Content Delivery Network), come jsDelivr, per aggiungere il codice direttamente alla tua pagina HTML, come segue:
<head>
<script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/index.js"
crossorigin="anonymous"></script>
</head>
Modello
L'attività di rilevamento della lingua di MediaPipe richiede un modello addestrato compatibile con questa attività. Per saperne di più sui modelli addestrati disponibili per Language Detector, consulta la sezione Modelli della panoramica dell'attività.
Seleziona e scarica un modello, quindi archivialo nella directory del progetto:
<dev-project-root>/app/shared/models
Specifica il percorso del modello con il parametro baseOptions object modelAssetPath, come mostrato di seguito:
baseOptions: {
modelAssetPath: `/app/shared/models/language_detector.tflite`
}
Creare l'attività
Utilizza una delle funzioni di Language Detector LanguageDetector.createFrom...() per
preparare l'attività per l'esecuzione delle inferenze. Puoi utilizzare la funzione createFromModelPath()
con un percorso relativo o assoluto al file del modello addestrato. L'esempio di codice
riportato di seguito mostra l'utilizzo della funzione createFromOptions(). Per saperne
di più sulla configurazione delle attività, vedi
Opzioni di configurazione.
Il seguente codice mostra come creare e configurare questa attività.
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();
Opzioni di configurazione
Questa attività ha le seguenti opzioni di configurazione per le applicazioni web e JavaScript:
| Nome opzione | Descrizione | Intervallo di valori | Valore predefinito |
|---|---|---|---|
maxResults |
Imposta il numero massimo facoltativo di previsioni della lingua con il punteggio più alto da restituire. Se questo valore è inferiore a zero, vengono restituiti tutti i risultati disponibili. | Qualsiasi numero positivo | -1 |
scoreThreshold |
Imposta la soglia del punteggio di previsione che sostituisce quella fornita nei metadati del modello (se presenti). I risultati inferiori a questo valore vengono rifiutati. | Qualsiasi numero in virgola mobile | Non impostato |
categoryAllowlist |
Imposta l'elenco facoltativo dei codici lingua consentiti. Se non è vuoto,
le previsioni della lingua il cui codice lingua non è presente in questo insieme verranno
filtrate. Questa opzione si esclude a vicenda con
categoryDenylist e l'utilizzo di entrambe genera un errore. |
Qualsiasi stringa | Non impostato |
categoryDenylist |
Imposta l'elenco facoltativo di codici lingua non consentiti. Se
non è vuoto, le previsioni della lingua il cui codice lingua è presente in questo insieme verranno filtrate. Questa opzione si esclude a vicenda con categoryAllowlist e
l'utilizzo di entrambe genera un errore. |
Qualsiasi stringa | Non impostato |
Preparazione dei dati
Language Detector funziona con i dati di testo (string). L'attività gestisce la
pre-elaborazione dell'input di dati, inclusa la tokenizzazione e la pre-elaborazione dei tensori.
Tutta la pre-elaborazione viene gestita all'interno della funzione detect. Non è necessario
un ulteriore pre-elaborazione del testo di input.
const inputText = "The input text for the detector.";
Esegui l'attività
Language Detector utilizza la funzione detect per attivare le inferenze. Per il rilevamento della lingua, ciò significa restituire le possibili lingue per il testo di input.
Il seguente codice mostra come eseguire l'elaborazione con il modello di attività:
// Wait to run the function until inner text is set
const detectionResult = languageDetector.detect(inputText);
Gestire e visualizzare i risultati
L'attività Rilevamento lingua restituisce un LanguageDetectorResult costituito da un elenco
di previsioni della lingua insieme alle probabilità per queste 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.".
Per un esempio del codice necessario per elaborare e visualizzare i risultati di questa attività, vedi l'esempio.