Spracherkennung mit integrierter KI

Veröffentlicht: 24. September 2024, letzte Aktualisierung: 10. Dezember 2024

Erklärvideo Web Erweiterungen Chrome-Status Absicht
GitHub Hinter einer Flagge Origin-Testversion Hinter einer Flagge Origin-Testversion Ansicht Testabsicht

Bevor Sie Text von einer Sprache in eine andere übersetzen, müssen Sie zuerst die Sprache des Texts ermitteln. Bisher musste der Text für die Übersetzung in einen Cloud-Dienst hochgeladen, auf dem Server übersetzt und dann heruntergeladen werden.

Die Language Detector API nutzt die On-Device-Inferenz, um den Datenschutz zu verbessern. Es ist zwar möglich, eine bestimmte Bibliothek zu verwenden, die dies tut, aber das würde zusätzliche Ressourcen für den Download erfordern.

Jetzt starten

Nehmen Sie am Ursprungstest der Language Detector API teil, der in Chrome 132 bis 135 ausgeführt wird, um die API in der Produktion mit echten Nutzern zu testen. Bei Origin Trials ist die Funktion für alle Nutzer in Chrome aktiviert.

Für den Ursprungstest registrieren

So verwenden Sie die Language Detector API:

  1. Sie bestätigen, dass Sie die Google-Richtlinie zur unzulässigen Nutzung von generativer KI gelesen und verstanden haben.
  2. Rufen Sie den Ursprungstest der Language Detector API auf.
  3. Klicken Sie auf Registrieren und füllen Sie das Formular aus.
    • Geben Sie im Feld Web-Ursprung Ihren Ursprung oder die Erweiterungs-ID chrome-extension://YOUR_EXTENSION_ID ein.
  4. Klicken Sie auf Registrieren, um die Änderungen zu senden.
  5. Kopieren Sie das bereitgestellte Token und fügen Sie es auf jeder Webseite in Ihrem Ursprung oder in der Datei für Ihre Erweiterung ein, auf der der Test aktiviert werden soll.
  6. Verwenden Sie die Language Detection API.

Weitere Informationen zum Einstieg in Tests für Quellen

Unterstützung für localhost hinzufügen

Wenn Sie während des Ursprungstests auf die Language Detection API auf localhost zugreifen möchten, müssen Sie Chrome auf die neueste Version aktualisieren. Folgen Sie anschließend dieser Anleitung:

  1. Öffnen Sie chrome://flags/#language-detection-api.
  2. Wählen Sie Aktiviert aus.
  3. Klicken Sie auf Neu starten oder starten Sie Chrome neu.

Beispielanwendungsfälle

Die Language Detector API ist in folgenden Szenarien besonders nützlich:

  • Die Sprache des Eingabetexts wird ermittelt, damit er übersetzt werden kann.
  • Die Sprache des Eingabetexts wird ermittelt, damit das richtige Modell für sprachspezifische Aufgaben wie die Erkennung schädlicher Sprache geladen werden kann.
  • Die Sprache des Eingabetexts wird ermittelt, damit er beispielsweise in Online-Sozialen Netzwerken richtig gekennzeichnet werden kann.
  • Die Sprache des Eingabetexts wird ermittelt, damit die Benutzeroberfläche einer App entsprechend angepasst werden kann. So können Sie beispielsweise auf einer belgischen Website nur die Benutzeroberfläche anzeigen, die für französischsprachige Nutzer relevant ist.

Language Detector API verwenden

Die Language Detector API ist Teil der größeren Translator API-Familie. Führen Sie zuerst die Funktionserkennung aus, um zu prüfen, ob der Browser die Language Detector API unterstützt.

if ('ai' in self && 'languageDetector' in self.ai)
  // The Language Detector API is available.
}  

Modelldownload

Die Spracherkennung basiert auf einem Modell, das für die spezifische Aufgabe der Spracherkennung optimiert ist. Die API ist im Browser eingebunden, das Modell wird jedoch on-demand heruntergeladen, wenn eine Website zum ersten Mal versucht, die API zu verwenden. In Chrome ist dieses Modell im Vergleich zu anderen Modellen sehr klein. Möglicherweise ist es bereits vorhanden, da dieses Modell von anderen Chrome-Funktionen verwendet wird.

Rufen Sie die asynchrone Funktion self.ai.languageDetector.availability() auf und prüfen Sie das resultierende Promise, um zu sehen, ob das Modell einsatzbereit ist. Es gibt drei mögliche Antworten:

  • "unavailable": Die angeforderten Optionen werden nicht unterstützt oder das Modell kann nicht aufgefordert werden.
  • "downloadable": Die Anfrage wird unterstützt, aber es sind zusätzliche Downloads erforderlich, bevor Sie eine Sitzung erstellen können. Diese Downloads können das Sprachmodell oder die Feinabstimmung umfassen.
  • "downloading": Die Anfrage wird unterstützt und ein Download ist in Bearbeitung. Er muss abgeschlossen sein, bevor eine Sitzung erstellt werden kann.
  • "available": Die Anfrage wird unterstützt und Sie können eine Sitzung erstellen.

Rufen Sie die asynchrone Funktion self.ai.languageDetector.create() auf, um den Download auszulösen und den Sprachdetektor zu instanziieren. Wenn die Antwort auf availability() 'downloadable' oder 'downloading' war, solltest du den Downloadfortschritt im Blick behalten, damit du den Nutzer informieren kannst, falls der Download länger dauert.

Im folgenden Beispiel wird gezeigt, wie der Sprachdetektor initialisiert wird.

const availability = await self.ai.languageDetector.availability();

let detector;
if (availability === 'unavailable') {
  // The language detector isn't usable.
  return;
}
if (availability === 'available') {
  // The language detector can immediately be used.
  detector = await self.ai.languageDetector.create();
} else {
  // The language detector can be used after model download.
  detector = await self.ai.languageDetector.create({
    monitor(m) {
      m.addEventListener('downloadprogress', (e) => {
        console.log(`Downloaded ${e.loaded * 100}%`);
      });
    },
  });
  await detector.ready;
}

Spracherkennung ausführen

Die Language Detection API verwendet ein Ranking-Modell, um zu ermitteln, welche Sprache in einem bestimmten Text am wahrscheinlichsten verwendet wird. Das Ranking ist eine Art von maschinellem Lernen, bei dem eine Liste von Elementen sortiert werden soll. In diesem Fall sortiert die Language Detector API die Sprachen nach der höchsten Wahrscheinlichkeit.

Die Funktion detect() kann entweder das erste Ergebnis, die wahrscheinlichste Antwort, zurückgeben oder die sortierten Kandidaten mit dem Konfidenzniveau durchgehen. Diese werden als Liste von {detectedLanguage, confidence}-Objekten zurückgegeben. Das confidence-Level wird als Wert zwischen 0.0 (niedrigste Sicherheit) und 1.0 (höchste Sicherheit) ausgedrückt.

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

Eine Vorschau der Language Detector API finden Sie in unserer Demo. Geben Sie in das Textfeld Text in verschiedenen Sprachen ein.

Standardisierungsaufwand

Die Language Detector API wurde in die W3C Web Incubator Community Group verschoben, nachdem der entsprechende Vorschlag ausreichend Unterstützung erhalten hatte. Die API ist Teil eines größeren Translation API-Vorschlags.

Das Chrome-Team hat Feedback von der W3C Technical Architecture Group angefordert und Mozilla und WebKit um ihre Positionierung zu den Standards gebeten.

Feedback geben

Wenn Sie Feedback zur Implementierung in Chrome haben, können Sie einen Chromium-Fehler melden. Teilen Sie uns Ihr Feedback zur API-Form der Language Detector API mit, indem Sie einen vorhandenen Kommentar kommentieren oder ein neues Problem im GitHub-Repository der Translation API eröffnen.