Freigeben über


Erkennen von Sprachen mit der Spracherkennungs-API

Die Spracherkennungs-API ist eine experimentelle Web-API, mit der Sie die Sprache von Text mithilfe eines in Microsoft Edge integrierten Modells anhand von JavaScript-Code in Ihrer Website oder Browsererweiterung erkennen können.

Ausführlicher Inhalt:

Einführung

Einführungsinformationen zur Spracherkennungs-API finden Sie unter:

Verwenden der Spracherkennungs-API mit der Übersetzer-API

Um die Übersetzung von vom Benutzer bereitgestelltem Text in eine andere Sprache zu erleichtern, verwenden Sie die Spracherkennungs-API in Verbindung mit der Übersetzer-API.

Weitere Informationen zur Übersetzer-API finden Sie unter Übersetzen von Text mit der Übersetzer-API.

Verfügbarkeit der Spracherkennungs-API

Die Spracherkennungs-API ist ab Version 147.0.3897.0 als Entwicklervorschau in den Microsoft Edge Canary- oder Dev-Kanälen verfügbar. Um einen Vorschaukanal von Microsoft Edge (Beta, Dev oder Canary) herunterzuladen, wechseln Sie zu Microsoft Edge-Insider werden.

Vorteile der Spracherkennungs-API

Die Spracherkennungs-API verwendet ein Spracherkennungsmodell, das auf demselben Gerät ausgeführt wird, auf dem die Eingaben und Ausgaben des Modells (also lokal) verwendet werden. Dieser Ansatz bietet im Vergleich zu cloudbasierten Lösungen die folgenden Vorteile:

  • Reduzierte Kosten: Für die Verwendung eines Cloudspracherkennungsdiensts fallen keine Kosten an.

  • Netzwerkunabhängigkeit: Abgesehen vom anfänglichen Modelldownload gibt es keine Netzwerklatenz, wenn diese API zum Erkennen von Sprachen verwendet wird, und die API kann auch verwendet werden, wenn das Gerät offline ist.

  • Verbesserter Datenschutz: Die Dateneingabe in das Modell verlässt nie das Gerät und wird nicht zum Trainieren anderer KI-Modelle gesammelt.

Das Spracherkennungsmodell wird heruntergeladen, wenn die API zum ersten Mal in Microsoft Edge verwendet wird, und anschließend für alle Websites im Browser freigegeben. Der Zugriff auf das Modell erfolgt über eine einfache Web-API, die keine Kenntnisse über Frameworks von Drittanbietern erfordert und keine Ki- oder Machine Learning-Kenntnisse (ML) erfordert.

Alternativen zur Spracherkennungs-API

Sie können Netzwerkanforderungen mit komplexeren Funktionen an cloudbasierte Spracherkennungsdienste senden. Weitere Informationen finden Sie in der Dokumentation Azure KI Language.

Als Alternative auf dem Gerät bietet die Eingabeaufforderungs-API mehr benutzerdefinierte Szenarien mit einem kleinen Sprachmodell, das in Microsoft Edge integriert ist. Weitere Informationen finden Sie unter Eingabeaufforderung für ein integriertes Sprachmodell mit der Eingabeaufforderungs-API.

Haftungsausschluss

Wie andere Machine Learning-Modelle kann das Spracherkennungsmodell in Microsoft Edge potenziell Ergebnisse erzeugen, die für bestimmte Eingaben, z. B. kurzer Text oder einzelne Wörter, ungenau oder unzuverlässig sind.

Modellverfügbarkeit

Ein erster Download des Modells ist erforderlich, wenn eine Website die Spracherkennungs-API zum ersten Mal aufruft. Sie können den Modelldownload überwachen, indem Sie die Option monitor verwenden, wenn Sie eine neue Spracherkennungs-API-Sitzung erstellen. Siehe Überwachen des Status des Modelldownloads (Monitor) weiter unten.

Aktivieren der Spracherkennungs-API

Um die Spracherkennungs-API in Microsoft Edge zu verwenden, legen Sie das Flag wie folgt fest:

  1. Wechseln Sie in Microsoft Edge zu edge://version, und stellen Sie sicher, dass Sie Version 147.0.3897.0 oder höher von Microsoft Edge verwenden, z. B. den Canary- oder Dev-Vorschaukanal von Microsoft Edge.

    Um einen Vorschaukanal von Microsoft Edge (Beta, Dev oder Canary) herunterzuladen, wechseln Sie zu Microsoft Edge-Insider werden.

  2. Öffnen Sie in dieser Version von Microsoft Edge eine neue Registerkarte oder ein neues Fenster, und wechseln Sie zu edge://flags.

  3. Beginnen Sie oben im Textfeld Suchflags mit der Eingabe der Webplattform-API für die Spracherkennung:

    Seite

    Das folgende Flag ist aufgeführt:

    • Spracherkennungs-Webplattform-API

      Dieser Eintrag zeigt #edge-language-detection-api (links zu edge://flags/#edge-language-detection-api).

  4. Wählen Sie unter Sprachenerkennungs-Webplattform-APIdie Option Aktiviert aus.

    Unten rechts wird die Schaltfläche Neu starten angezeigt.

  5. Klicken Sie auf die Schaltfläche Neu starten .

Sehen Sie sich ein funktionierendes Beispiel an

So sehen Sie die Spracherkennungs-API in Aktion und zeigen vorhandenen Code an, der diese API verwendet:

  1. Aktivieren Sie die Spracherkennungs-API, wie oben beschrieben.

  2. Wechseln Sie in Microsoft Edge Canary oder Dev in einem neuen Fenster oder einer neuen Registerkarte zum Spracherkennungs-API-Playground .

  3. Überprüfen Sie im Informationsbanner oben die status: Zunächst lautet es: On-Device-API und -Modell verfügbar.

  4. Im Textfeld Zu analysierende Text können Sie den Text optional ändern.

  5. Klicken Sie auf die Schaltfläche Sprache erkennen .

    Das Modell beginnt mit der Erkennung der Textsprache.

    Die Ausgabe wird im Antwortabschnitt der Seite generiert.

    Die Ausgabe zeigt Folgendes an:

    • Der Name der erkannten Sprache.
    • Die prozentual vertrauenswürdige Sprache.

    Die Demoseite der Spracherkennung mit Einstellungen und einer Schaltfläche

Siehe auch:

  • /built-in-ai/ – Quellcode und Infodatei für die Demo zu integrierten KI-Playgrounds.

Verwenden der Spracherkennungs-API

In den nächsten Abschnitten geht es um die Verwendung der Spracherkennungs-API.

Überprüfen, ob die Spracherkennungs-API aktiviert ist

Bevor Sie die Spracherkennungs-API im Code Ihrer Website verwenden, überprüfen Sie, ob die API aktiviert ist, indem Sie das Vorhandensein des LanguageDetector Objekts testen:

if (!LanguageDetector) {
  // The Language Detector API is not available.
} else {
  // The Language Detector API is available.
}

Überprüfen, ob das Modell verwendet werden kann (availability())

Die Spracherkennungs-API kann verwendet werden, wenn das Modell und die Modelllaufzeit von Microsoft Edge heruntergeladen wurden.

Rufen availability()Sie auf, um zu überprüfen, ob die API verwendet werden kann:

const availability = await LanguageDetector.availability();

if (availability == "unavailable") {
  // The model is not available.
}

if (availability == "downloadable" || availability == "downloading") {
  // The model can be used, but it needs to be downloaded first.
}

if (availability == "available") {
  // The model is available and can be used.
}

Erstellen einer neuen Sitzung (create())

Beim Erstellen einer Sitzung wird der Browser angewiesen, das Spracherkennungsmodell in den Arbeitsspeicher zu laden, damit das Modell verwendet werden kann. Bevor Sie die Sprache erkennen können, erstellen Sie mithilfe der create() -Methode eine neue Sitzung:

// Create a Language Detector session.
const session = await LanguageDetector.create();

Zum Anpassen der Modellsitzung können Sie Optionen an die create() -Methode übergeben:

// Create a Language Detector session with options.
const session = await LanguageDetector.create({
  expectedInputLanguages: ["en", "es", "fr"]
  monitor: monitorProgress
});

Folgende Optionen sind verfügbar:

Option Beschreibung
expectedInputLanguages Ein Array von Sprachcodes. Wenn bestimmte Sprachen vorhanden sind, die Sie für Ihren Anwendungsfall erkennen müssen, fügen Sie diese in die expectedInputLanguages Option ein. Dadurch kann Microsoft Edge bei Bedarf zusätzliche Ressourcen herunterladen, um die Genauigkeit zu verbessern. Die Sprachcodes sollten im BCP 47-Format vorliegen (z. B "en" . für Englisch, "es" Spanisch oder "fr" Französisch).
monitor Eine Funktion, die verwendet wird, um den Fortschritt des Modelldownloads zu überwachen. Weitere Informationen finden Sie weiter unten unter Überwachen des Status des Modelldownloads (Monitor).

Überwachen des Fortschritts des Modelldownloads (monitor)

Sie können den Fortschritt des Modelldownloads verfolgen, indem Sie die monitor Option verwenden. Dies ist nützlich, wenn das Modell noch nicht vollständig auf das Gerät heruntergeladen wurde, auf dem es verwendet wird, um die Benutzer Ihrer Website darüber zu informieren, dass sie warten sollten.

// Create a Language Detector session with the monitor option to monitor the
// model download.
const session = await LanguageDetector.create({
  monitor: m => {
    // Use the monitor object argument to add a listener for the 
    // downloadprogress event.
    m.addEventListener("downloadprogress", event => {
      // The event is an object with the loaded and total properties.
      if (event.loaded == event.total) {
        // The model is fully downloaded.
      } else {
        // The model is still downloading.
        const percentageComplete = (event.loaded / event.total) * 100;
      }
    });
  }
});

Ausführen der Spracherkennungs-API (detect())

Nachdem Sie eine Modellsitzung erstellt haben, können Sie die Sprache des Texts erkennen. Die Spracherkennungs-API stellt die detect() Methode zum Erkennen von Sprachen bereit:

// Create a Language Detector session.
const session = await LanguageDetector.create();

// Detect the language of the text.
const results = await session.detect(someUserText);

// Use the results.
for (const result of results) {
  // Show the full list of potential languages with their likelihood, ranked
  // from most likely to least likely.
  console.log(result.detectedLanguage, result.confidence);
}

Die detect() -Methode gibt eine Zusage zurück, die in ein Array von Spracherkennungsergebnissen aufgelöst wird. Jedes Ergebnis ist ein -Objekt mit den folgenden Eigenschaften:

Eigenschaft Beschreibung
detectedLanguage Das BCP 47-Sprachtag der erkannten Sprache (z. B "en" . für Englisch, "es" spanisch oder "und" für unbestimmt).
confidence Eine Zahl zwischen 0,0 und 1,0, die das Konfidenzniveau der Erkennung angibt. Höhere Werte deuten auf eine höhere Zuverlässigkeit hin.

Die Ergebnisse werden nach Vertrauen in absteigender Reihenfolge sortiert, wobei die wahrscheinlichste Sprache zuerst verwendet wird. Der letzte Eintrag im Ergebnisarray ist immer die unbestimmte Sprache ("und"). Der undetermined Member im Array stellt die Prozentuale Zuverlässigkeit dar, dass der Text in keiner der Sprachen vorhanden ist, die das Modell kennt.

Grundlegendes zu den Zuverlässigkeitsbewertungen

Die von der Spracherkennungs-API zurückgegebenen Zuverlässigkeitsbewertungen weisen die folgenden Merkmale auf:

  • Bereich: Jede Zuverlässigkeitsbewertung ist eine Zahl zwischen 0 (niedrigste Konfidenz) und 1 (höchste Konfidenz), einschließlich.

  • Sortierte Ergebnisse: Die Ergebnisse werden von der höchsten bis zur niedrigsten Konfidenz sortiert.

  • Filterung mit niedriger Zuverlässigkeit: Sprachen mit sehr geringer Konfidenz werden automatisch herausgefiltert, um Rauschen zu reduzieren. Niedrige Zuverlässigkeit ist in der Regel weniger als 1 % oder weniger sicher als die Kategorie "unbestimmt".

  • Summe der Bewertungen: Die Summe aller Konfidenzbewertungen kann kleiner als 1 sein, da Sprachen mit niedriger Wahrscheinlichkeit in den Ergebnissen weggelassen werden.

Zerstören einer Sitzung (destroy())

Nachdem Sprachen erkannt wurden, zerstören Sie die Sitzung. Dadurch wird der Browser darüber informiert, dass Sie das Sprachmodell nicht mehr benötigen, sodass das Modell aus dem Arbeitsspeicher entladen werden kann.

Sie können eine Sitzung auf zwei verschiedene Arten zerstören:

  • Mithilfe der destroy() -Methode.
  • Mithilfe von AbortController.

Details finden Sie unten.

Zerstören einer Sitzung durch Aufrufen von destroy()

So zerstören Sie eine Sitzung, indem Sie mit einer Sitzung aufrufen destroy()LanguageDetector :

const session = await LanguageDetector.create();

// Later, destroy the session by using the destroy method.
session.destroy();

Zerstören einer Sitzung mithilfe von AbortController

Um eine Sitzung durch Erstellen eines -Objekts zu AbortController zerstören, erstellen Sie eine LanguageDetector Sitzung, und rufen Sie dann auf abort():

// Create an AbortController object.
const controller = new AbortController();

// Create a Language Detector session and pass the 
// AbortController object by using the signal option.
const session = await LanguageDetector.create({
  signal: controller.signal
});

// Later, perhaps when the user interacts with the UI, destroy the session by
// calling the abort() function of the AbortController object.
controller.abort();

Feedback senden

Wir sind daran interessiert, mehr über Folgendes zu erfahren:

  • Die Bandbreite der Szenarien, für die Sie die Spracherkennungs-API verwenden möchten.
  • Alle Probleme, die mit der API oder dem Spracherkennungsmodell auftreten.
  • Gibt an, ob andere aufgabenspezifische, integrierte APIs nützlich wären.

Um Feedback zu Ihren Szenarien und den Aufgaben zu senden, die Sie ausführen möchten, fügen Sie einen Kommentar zum Problem mit der Spracherkennungs-API hinzu.

Wenn Sie probleme bei der Verwendung der API feststellen, melden Sie dies im Repository.

Sie können auch an der Diskussion über den Entwurf der Spracherkennungs-API im W3C Web Machine Learning Working Group-Repository mitwirken.

Siehe auch

Microsoft Edge abrufen:

Github:

Azure-Dokumentation:

Demosrepository: