Rilevamento della lingua in Chrome con l'AI integrata

Data di pubblicazione: 24 settembre 2024

Prima di tradurre un testo da una lingua all'altra, devi prima determinare la lingua utilizzata nel testo in questione. In precedenza, la traduzione richiedeva il caricamento del testo su un servizio cloud, l'esecuzione della traduzione sul server e il download dei risultati.

L'API Language Detector utilizza l'inferenza sul dispositivo per consentirti di migliorare la tua privacy. Sebbene sia possibile inviare una libreria specifica che lo faccia, il download richiederebbe risorse aggiuntive.

Disponibilità

Registrati per la prova dell'origine

Per iniziare a utilizzare l'API Language Detector:

  1. Accetta le Norme relative agli usi vietati dell'IA generativa di Google.
  2. Vai alla prova dell'origine dell'API Language Detector.
  3. Fai clic su Registrati e compila il modulo.
    • Nel campo Origine web, fornisci l'origine o l'ID estensione chrome-extension://YOUR_EXTENSION_ID.
  4. Per inviare, fai clic su Registrati.
  5. Copia il token fornito e aggiungilo a ogni pagina web dell'origine o del file per l'estensione su cui vuoi attivare la prova.
  6. Inizia a utilizzare l'API Language Detection.

Scopri di più su come iniziare a utilizzare le prove dell'origine.

Aggiungere il supporto a localhost

Per accedere all'API di rilevamento della lingua su localhost durante la prova dell'origine, devi aggiornare Chrome alla versione più recente. A tale scopo, procedi nel seguente modo:

  1. Apri Chrome su una di queste piattaforme: Windows, Mac o Linux.
  2. Vai a chrome://flags/#language-detection-api.
  3. Seleziona Attivata.
  4. Fai clic su Riavvia o riavvia Chrome.

Esempi di casi d'uso

L'API Language Detector è utile principalmente nei seguenti scenari:

  • Determina la lingua del testo inserito in modo che possa essere tradotto.
  • Determina la lingua del testo di input, in modo da poter caricare il modello corretto per attività specifiche per lingua, come il rilevamento della tossicità.
  • Determina la lingua del testo inserito in modo che possa essere etichettato correttamente, ad esempio nei siti di social network online.
  • Determina la lingua del testo inserito, in modo che l'interfaccia di un'app possa essere modificata di conseguenza. Ad esempio, su un sito belga per mostrare solo l'interfaccia pertinente agli utenti che parlano francese.

Utilizzare l'API Language Detector

L'API Language Detector fa parte della famiglia più grande dell'API Translator. Innanzitutto, esegui il rilevamento delle funzionalità per verificare se il browser supporta l'API LanguageDetector.

if ('translation' in self && 'canDetect' in self.translation) {
  // The Language Detector API is available.
}  

Download del modello

Il rilevamento della lingua dipende da un modello ottimizzato per il compito specifico di rilevare le lingue. Sebbene l'API sia integrata nel browser, il modello viene scaricato on demand la prima volta che un sito tenta di utilizzare l'API. In Chrome, questo modello è molto piccolo rispetto ad altri modelli. In effetti, potrebbe essere già presente dato che questo modello viene utilizzato anche dalle funzionalità del browser Chrome.

Per verificare se il modello è pronto per l'uso, chiama la funzione asincrona translation.canDetect(). Esistono tre possibili risposte:

  • 'no': il browser attuale supporta l'API Language Detector, ma al momento non può essere utilizzato. Ad esempio, perché non è disponibile spazio libero su disco sufficiente per scaricare il modello.
  • 'readily': il browser corrente supporta l'API Language Detector e può essere utilizzato immediatamente.
  • 'after-download': il browser corrente supporta l'API Language Detector, ma deve prima scaricare il modello.

Per attivare il download e creare un'istanza del rilevatore di lingua, chiama la funzione translation.createDetector() asincrona. Se la risposta a canDetect() è 'after-download', è buona prassi monitorare l'avanzamento del download in modo da poter informare l'utente nel caso in cui il download richieda tempo.

L'esempio seguente mostra come inizializzare il rilevatore di lingua.

const canDetect = await translation.canDetect();
let detector;
if (canDetect === 'no') {
  // The language detector isn't usable.
  return;
}
if (canDetect === 'readily') {
  // The language detector can immediately be used.
  detector = await translation.createDetector();
} else {
  // The language detector can be used after model download.
  detector = await translation.createDetector();
  detector.addEventListener('downloadprogress', (e) => {
 console.log(e.loaded, e.total);
  });
  await detector.ready;
}

Esegui il rilevatore della lingua

L'API Language Detector utilizza un modello di ranking per determinare la lingua più probabile utilizzata in un determinato testo. Il ranking è un tipo di apprendimento automatico il cui scopo è ordinare un elenco di elementi. In questo caso, l'API Language Detector assegna un ranking alle lingue dalla probabilità più alta a quella più bassa.

La funzione detect() può restituire il primo risultato, la risposta più probabile o eseguire l'iterazione sui candidati classificati con il livello di confidenza. Viene restituito sotto forma di elenco di oggetti {detectedLanguage, confidence}. Il livelloconfidence è espresso come un valore compreso tra 0.0 (confidenza minima) e 1.0 (confidenza massima).

const someUserText \= 'Hallo und herzlich willkommen\!';
const results \= await detector.detect(someUserText);
for (const result of results) {
  // Show the full list of potential languages with their likelihood, ranked
  // from most likely to least likely. In practice, one would pick the top
  // language(s) that cross a high enough threshold.
  console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...

Demo

Visualizza l'anteprima dell'API Language Detector nella nostra demo. Inserisci il testo scritto in lingue diverse nell'area di testo.

Impegno di standardizzazione

L'API Language Detector è stata spostata nel gruppo della community W3C Web Incubator dopo che la proposta corrispondente ha ricevuto un supporto sufficiente. L'API fa parte di una proposta più ampia per l'API Translation.

Il team di Chrome ha richiesto un feedback al W3C Technical Architecture Group e a Mozilla e WebKit per conoscere le loro opinioni sugli standard.

Condividi il tuo feedback

Se hai un feedback sull'implementazione di Chrome, segnala un bug di Chromium. Condividi il tuo feedback sulla forma dell'API dell'API Language Detector commentando un problema esistente o aprendone uno nuovo nel repository GitHub dell'API Translation.