Zadanie Wykrywacz języka MediaPipe pozwala określić język tekstu. Te instrukcje pokazują, jak używać narzędzia do wykrywania języka w Pythonie. Przykładowy kod opisany w tych instrukcjach jest dostępny na GitHub.
Aby zobaczyć, jak działa to zadanie, obejrzyj prezentację. Więcej informacji o możliwościach, modelach i opcjach konfiguracji tego zadania znajdziesz w sekcji Omówienie.
Przykładowy kod
Przykładowy kod narzędzia do wykrywania języka zawiera pełną implementację tego zadania w Pythonie. Ten kod pomoże Ci przetestować to zadanie i rozpocząć tworzenie własnej funkcji wykrywania języka. Przykładowy kod do wykrywania języka możesz wyświetlać, uruchamiać i edytować tylko w przeglądarce.
Konfiguracja
W tej sekcji opisujemy najważniejsze czynności, jakie należy wykonać, aby skonfigurować środowisko programistyczne i projekty kodu z myślą o wykrywaniu języka. Ogólne informacje o konfigurowaniu środowiska programistycznego na potrzeby zadań MediaPipe, w tym o wymaganiach dotyczących wersji platformy, znajdziesz w przewodniku konfiguracji dla Pythona.
Pakiety
Detektor języka korzysta z pakietu pip Mediapipe. Możesz zainstalować zależność, używając tego kodu:
$ python -m pip install mediapipe
Importowane dane
Aby uzyskać dostęp do funkcji wykrywania języka, zaimportuj te klasy:
import mediapipe as mp
from mediapipe.tasks import python
from mediapipe.tasks.python import text
Model
Zadanie MediaPipe Language Detector wymaga wytrenowanego modelu, który jest zgodny z tym zadaniem. Więcej informacji o dostępnych wytrenowanych modelach funkcji wykrywania języka znajdziesz w sekcji przeglądu zadań na stronie Modele.
Wybierz i pobierz model, a następnie zapisz go w katalogu projektu:
model_path = '/absolute/path/to/language_detector.tflite'
Określ ścieżkę modelu za pomocą parametru model_asset_path
obiektu BaseOptions
, jak poniżej:
base_options = BaseOptions(model_asset_path=model_path)
Tworzenie zadania
Wykrywacz języka MediaPipe korzysta z funkcji create_from_options
do skonfigurowania tego zadania. Funkcja create_from_options
akceptuje wartości opcji konfiguracji w celu ustawiania opcji detektora. Możesz też zainicjować zadanie za pomocą funkcji fabrycznej create_from_model_path
. Funkcja create_from_model_path
akceptuje ścieżkę względną lub bezwzględną do wytrenowanego pliku modelu.
Więcej informacji o konfigurowaniu zadań znajdziesz w artykule o opcjach konfiguracji.
Poniższy kod pokazuje, jak skompilować i skonfigurować to zadanie.
base_options = python.BaseOptions(model_asset_path=model_path)
options = text.LanguageDetectorOptions(base_options=base_options)
Opcje konfiguracji
To zadanie ma następujące opcje konfiguracji aplikacji w Pythonie:
Nazwa opcji | Opis | Zakres wartości | Wartość domyślna |
---|---|---|---|
max_results |
Określa opcjonalną maksymalną liczbę prognozowanych języków o najwyższych wynikach do zwrócenia. Jeśli ta wartość jest mniejsza niż 0, zwracane są wszystkie dostępne wyniki. | Dowolne liczby dodatnie | -1 |
score_threshold |
Ustawia próg wyniku prognozy, który zastępuje próg podany w metadanych modelu (jeśli istnieją). Wyniki poniżej tej wartości zostały odrzucone. | Dowolna liczba zmiennoprzecinkowa | Nie ustawiono |
category_allowlist |
Ustawia opcjonalną listę dozwolonych kodów języków. Jeśli nie będzie pusty, podpowiedzi języka, których kodu języka nie ma w tym zestawie, zostaną odfiltrowane. Ta opcja wzajemnie się wyklucza category_denylist i korzystanie z obu daje błąd. |
Dowolne ciągi | Nie ustawiono |
category_denylist |
Ustawia opcjonalną listę niedozwolonych kodów języków. Jeśli nie są puste, prognozy języka, których kod języka jest w tym zbiorze, zostaną odfiltrowane. Ta opcja wzajemnie się wyklucza z category_allowlist , a korzystanie z obu daje błąd. |
Dowolne ciągi | Nie ustawiono |
Przygotuj dane
Wykrywacz języka obsługuje dane tekstowe (str
). To zadanie obsługuje wstępne przetwarzanie danych wejściowych, w tym tokenizację i wstępne przetwarzanie tensorów. Przetwarzanie wstępne jest realizowane w ramach funkcji detect
. Nie ma potrzeby wcześniejszego wstępnego przetwarzania tekstu wejściowego.
input_text = 'The input text to be classified.'
Uruchamianie zadania
Detektor języka używa funkcji detect
do aktywowania wnioskowania. Na potrzeby wykrywania języka zwracana jest lista możliwych języków dla tekstu wejściowego.
Poniższy kod pokazuje, jak wykonać przetwarzanie za pomocą modelu zadań.
with python.text.LanguageDetector.create_from_options(options) as detector:
detection_result = detector.detect(input_text)
Obsługa i wyświetlanie wyników
Wykrywacz języka generuje element LanguageDetectorResult
zawierający listę przewidywanych języków wraz z prawdopodobieństwem tych prognoz.
Poniżej znajdziesz przykład danych wyjściowych z tego zadania:
LanguageDetectorResult:
LanguagePrediction #0:
language_code: "fr"
probability: 0.999781
Wynik jest uzyskany przez uruchomienie modelu na tekście wejściowym: "Il y a beaucoup de bouches qui parlent et fort peu de têtes qui pensent."
.
Przykład kodu wymaganego do przetwarzania i wizualizacji wyników tego zadania znajdziesz w artykule o przykładowej aplikacji w Pythonie.