Przewodnik wykrywania języka w internecie

Zadanie MediaPipe Language Detector pozwala określić język tekstu. Te instrukcje pokazują, jak używać Wykrywacza języka w aplikacjach internetowych i JavaScript. Przykładowy kod opisany w tych instrukcjach jest dostępny na GitHub

Aby zobaczyć, jak działa to zadanie, wyświetl demo. Więcej informacji o funkcjach, modelach i opcjach konfiguracji zapoznaj się z Przeglądem.

Przykładowy kod

Przykładowy kod Wykrywanie języka zapewnia pełną implementację tego w JavaScripcie. Ten kod pomoże Ci przetestować to zadanie i zacznij tworzyć własną funkcję wykrywania języka. Możesz wyświetlać, uruchamiać i edytuj Przykładowy kod wykrywania języka tylko za pomocą przeglądarki.

Konfiguracja

W tej sekcji opisujemy najważniejsze czynności związane z konfigurowaniem środowiska programistycznego oraz w projektach kodu służących do wykrywania języka. Ogólne informacje na temat: skonfigurować środowisko programistyczne do korzystania z zadań MediaPipe, w tym wymagań wersji platformy, patrz Przewodnik po konfiguracji stron internetowych

Pakiety JavaScript

Kod wzorca do wykrywania języka jest dostępny w @mediapipe/tasks-text pakietu SDK. Biblioteki te możesz znaleźć i pobrać za pomocą linków podanych w platforma Przewodnik po konfiguracji

Wymagane pakiety możesz zainstalować za pomocą tego kodu lokalnego środowiska przejściowego. za pomocą tego polecenia:

npm install @mediapipe/tasks-text

Jeśli chcesz wdrożyć aplikację na serwerze, możesz skorzystać z narzędzia Dostawy treści z usługi sieciowej (CDN), takiej jak jsDelivr, w dodaj kod bezpośrednio do strony HTML w następujący sposób:

<head>
  <script src="https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/index.js"
    crossorigin="anonymous"></script>
</head>

Model

Zadanie wykrywania języka MediaPipe wymaga wytrenowanego modelu zgodnego z tym zadanie. Więcej informacji o dostępnych wytrenowanych modelach z Wykrywaczem języka znajdziesz w sekcji artykułu zapoznaj się z omówieniem zadania sekcją Modele.

Wybierz i pobierz model, a następnie zapisz go w katalogu projektu:

<dev-project-root>/app/shared/models

Określ ścieżkę modelu za pomocą obiektu baseOptions modelAssetPath Jak poniżej:

baseOptions: {
        modelAssetPath: `/app/shared/models/language_detector.tflite`
      }

Tworzenie zadania

Użyj jednej z funkcji wykrywania języka LanguageDetector.createFrom...(), aby: przygotować zadanie do uruchamiania wniosków. Za pomocą usługi createFromModelPath() ze ścieżką względną lub bezwzględną do pliku wytrenowanego modelu. Kod poniżej pokazujemy, jak używać funkcji createFromOptions(). Więcej informacji na temat konfigurowania zadań, zobacz Opcje konfiguracji:

Poniższy kod pokazuje, jak skompilować i skonfigurować to zadanie.

async function createDetector() {
  const textFiles = await FilesetResolver.forTextTasks(
      "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-text@latest/wasm/");
  languageDetector = await languageDetector.createFromOptions(
    textFiles,
    {
      baseOptions: {
        modelAssetPath: `https://storage.googleapis.com/mediapipe-models/language_detector/language_detector/float32/1/language_detector.tflite`
      },
    }
  );
}
createDetector();

Opcje konfiguracji

To zadanie zawiera poniższe opcje konfiguracji dla stron internetowych i JavaScriptu aplikacje:

Nazwa opcji Opis Zakres wartości Wartość domyślna
maxResults Ustawia opcjonalną maksymalną liczbę prognoz dotyczących najlepiej ocenianych języków na . Jeśli ta wartość jest mniejsza niż 0, zwracane są wszystkie dostępne wyniki. Dowolne liczby dodatnie -1
scoreThreshold Ustawia próg wyniku prognozy, który zastępuje próg podany w polu metadane modelu (jeśli występują). Wyniki poniżej tej wartości zostały odrzucone. Dowolna liczba zmiennoprzecinkowa Nie ustawiono
categoryAllowlist Ustawia opcjonalną listę dozwolonych kodów języków. Jeśli pole nie jest puste, prognozy dotyczące języka, których kod języka nie znajduje się w tym zestawie, zostaną zostały odfiltrowane. Ta opcja wyklucza się wzajemnie z: categoryDenylist i użycie obu spowoduje błąd. Dowolne ciągi Nie ustawiono
categoryDenylist Ustawia opcjonalną listę niedozwolonych kodów języków. Jeśli niepuste, prognozy dotyczące języka, których kod języka znajduje się w tym zestawie, zostaną odfiltrowane na zewnątrz. Ta opcja nie działa z: categoryAllowlist i użycie obydwu spowoduje błąd. Dowolne ciągi Nie ustawiono

Przygotuj dane

Wykrywanie języka obsługuje dane tekstowe (string). Zadanie obsługuje wstępne przetwarzanie danych wejściowych, w tym tokenizację i wstępne przetwarzanie Tensor. Całe wstępne przetwarzanie odbywa się w ramach funkcji detect. Nie ma potrzeby aby wstępnie przetworzyć tekst wejściowy.

const inputText = "The input text for the detector.";

Uruchamianie zadania

Wykrywanie języka używa funkcji detect do aktywowania wniosków. Język oznacza zwrócenie możliwych języków do wprowadzania tekstu.

Ten kod pokazuje, jak wykonać przetwarzanie za pomocą zadania model:

// Wait to run the function until inner text is set
const detectionResult = languageDetector.detect(inputText);

Obsługa i wyświetlanie wyników

Zadanie Wykrywacz języka zwraca wynik LanguageDetectorResult składający się z listy między prognozami językowymi a prawdopodobieństwem. poniżej znajdziesz przykład danych wyjściowych zadania:

LanguageDetectorResult:
  LanguagePrediction #0:
    language_code: "fr"
    probability: 0.999781

Ten wynik uzyskano 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, zobacz Przykładowa aplikacja internetowa