Mit der Aufgabe „MediaPipe Language Detector“ können Sie die Sprache eines Textabschnitts ermitteln. In dieser Anleitung erfahren Sie, wie Sie den Language Detector mit Python verwenden. Das in dieser Anleitung beschriebene Codebeispiel ist auf GitHub verfügbar.
In der Demo können Sie sich diese Aufgabe in Aktion ansehen. Weitere Informationen zu den Funktionen, Modellen und Konfigurationsoptionen dieser Aufgabe finden Sie in der Übersicht.
Codebeispiel
Der Beispielcode für Language Detector enthält eine vollständige Implementierung dieser Aufgabe in Python zu Referenzzwecken. Mit diesem Code können Sie diese Aufgabe testen und mit dem Erstellen Ihres eigenen Spracherkennungsfeatures beginnen. Sie können den Beispielcode für die Spracherkennung nur mit Ihrem Webbrowser aufrufen, ausführen und bearbeiten.
Einrichtung
In diesem Abschnitt werden die wichtigsten Schritte zum Einrichten Ihrer Entwicklungsumgebung und Codeprojekte speziell für die Verwendung von Language Detector beschrieben. Allgemeine Informationen zum Einrichten der Entwicklungsumgebung für die Verwendung von MediaPipe-Aufgaben, einschließlich der Anforderungen an die Plattformversion, finden Sie im Einrichtungsleitfaden für Python.
Pakete
Der Language Detector verwendet das mediapipe-Pip-Paket. So können Sie die Abhängigkeit installieren:
$ python -m pip install mediapipe
Importe
Importieren Sie die folgenden Klassen, um auf die Funktionen der Language Detector-Aufgaben zuzugreifen:
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text
Modell
Die MediaPipe-Spracherkennung erfordert ein trainiertes Modell, das mit dieser Aufgabe kompatibel ist. Weitere Informationen zu verfügbaren trainierten Modellen für Language Detector finden Sie in der Aufgabenübersicht im Abschnitt Modelle.
Wählen Sie das Modell aus, laden Sie es herunter und speichern Sie es dann in Ihrem Projektverzeichnis:
model_path = '/absolute/path/to/language_detector.tflite'
Geben Sie den Pfad des Modells mit dem Parameter BaseOptions
für das model_asset_path
-Objekt an:
base_options = BaseOptions(model_asset_path=model_path)
Aufgabe erstellen
Die MediaPipe-Spracherkennungsaufgabe verwendet die Funktion create_from_options
, um die Aufgabe einzurichten. Die Funktion create_from_options
akzeptiert Werte für Konfigurationsoptionen, um die Detektoroptionen festzulegen. Sie können die Aufgabe auch mit der Factory-Funktion create_from_model_path
initialisieren. Die Funktion create_from_model_path
akzeptiert einen relativen oder absoluten Pfad zur Datei des trainierten Modells.
Weitere Informationen zum Konfigurieren von Aufgaben finden Sie unter Konfigurationsoptionen.
Im folgenden Codebeispiel wird gezeigt, wie diese Aufgabe erstellt und konfiguriert wird.
base_options = python.BaseOptions(model_asset_path=model_path)
options = text.LanguageDetectorOptions(base_options=base_options)
Konfigurationsoptionen
Diese Aufgabe bietet die folgenden Konfigurationsoptionen für Python-Anwendungen:
Option | Beschreibung | Wertebereich | Standardwert |
---|---|---|---|
max_results |
Legt die optionale maximale Anzahl von Sprachvorhersagen mit den besten Bewertungen fest, die zurückgegeben werden sollen. Wenn dieser Wert kleiner als null ist, werden alle verfügbaren Ergebnisse zurückgegeben. | Beliebige positive Zahlen | -1 |
score_threshold |
Legt den Schwellenwert für den Vorhersagewert fest, der den in den Modellmetadaten angegebenen Grenzwert überschreibt (falls vorhanden). Ergebnisse unter diesem Wert werden abgelehnt. | Beliebige Gleitkommazahl | Nicht festgelegt |
category_allowlist |
Legt die optionale Liste der zulässigen Sprachcodes fest. Wenn das Feld nicht leer ist, werden Sprachvorhersagen herausgefiltert, deren Sprachcode nicht in diesem Dataset enthalten ist. Diese Option und category_denylist schließen sich gegenseitig aus und die Verwendung beider Werte führt zu einem Fehler. |
Beliebige Strings | Nicht festgelegt |
category_denylist |
Legt die optionale Liste der unzulässigen Sprachcodes fest. Wenn das Feld nicht leer ist, werden Sprachvorhersagen herausgefiltert, deren Sprachcode in diesem Satz enthalten ist. Diese Option und category_allowlist schließen sich gegenseitig aus und die Verwendung beider Werte führt zu einem Fehler. |
Beliebige Strings | Nicht festgelegt |
Daten vorbereiten
Language Detector arbeitet mit Textdaten (str
). Die Aufgabe übernimmt die Vorverarbeitung der Dateneingabe, einschließlich Tokenisierung und Tensor-Vorverarbeitung. Die gesamte Vorverarbeitung erfolgt in der detect
-Funktion. Es ist keine zusätzliche Vorverarbeitung des Eingabetexts im Voraus erforderlich.
input_text = 'The input text to be classified.'
Task ausführen
Der Language Detector verwendet die Funktion detect
, um Inferenzen auszulösen. Für die Spracherkennung werden die möglichen Sprachen für den Eingabetext zurückgegeben.
Der folgende Code zeigt, wie die Verarbeitung mit dem Aufgabenmodell ausgeführt wird.
with python.text.LanguageDetector.create_from_options(options) as detector:
detection_result = detector.detect(input_text)
Ergebnisse verarbeiten und anzeigen
Der Sprachdetektor gibt eine LanguageDetectorResult
aus, die aus einer Liste von Sprachvorhersagen und den Wahrscheinlichkeiten für diese Vorhersagen besteht.
Im Folgenden sehen Sie ein Beispiel für die Ausgabedaten dieser Aufgabe:
LanguageDetectorResult:
LanguagePrediction #0:
language_code: "fr"
probability: 0.999781
Dieses Ergebnis erhalten Sie, indem Sie das Modell für den Eingabetext ausführen: "Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent."
.
Ein Beispiel für den Code, der zum Verarbeiten und Visualisieren der Ergebnisse dieser Aufgabe erforderlich ist, finden Sie in der Python-Beispielanwendung.