Przewodnik po zadaniach klasyfikacji tekstu

Przykładowy interfejs z pozytywną recenzją filmu jako wejściem i pięcioma gwiazdkami oraz kciuk w górę jako wyjściem

Za pomocą zadania MediaPipe Text Classifier możesz klasyfikować tekst według zestawu zdefiniowanych kategorii, takich jak pozytywne lub negatywne nastawienie. Kategorie są definiowane podczas trenowania modelu. To zadanie działa na danych tekstowych z modelem uczenia maszynowego (ML) jako dane statyczne i wypisuje listę kategorii oraz ich prawdopodobieństwa.

Wypróbuj to!

Rozpocznij

Aby zacząć korzystać z tego zadania, postępuj zgodnie z jednym z tych przewodników dotyczących wdrażania na platformie, na której pracujesz:

Te przewodniki dotyczące poszczególnych platform zawierają podstawowe informacje o wdrażaniu tej funkcji, w tym zalecany model i przykład kodu z zalecanymi opcjami konfiguracji.

Szczegóły działania

W tej sekcji opisano możliwości, dane wejściowe, dane wyjściowe i opcje konfiguracji tego zadania.

Funkcje

  • Przetwarzanie tekstu wejściowego – obsługa tokenizacji poza grafem dla modeli bez tokenizacji w grafu.
  • Wiele nagłówków klasyfikacji – każdy nagłówek może używać własnego zestawu kategorii.
  • Etykieta mapy – lokalizacja – ustaw język używany do wyświetlania nazw.
  • Progień wyniku – filtrowanie wyników na podstawie wyników prognozy.
  • Najlepsze wyniki klasyfikacji – filtrowanie liczby wyników wykrywania
  • Lista dozwolonych i zablokowanych etykiet – określ wykryte kategorie.
Dane wejściowe zadania Dane wyjściowe
Klasyfikator tekstu obsługuje te typy danych wejściowych:
  • Ciąg znaków
Klasyfikator tekstu zwraca listę kategorii zawierającą:
  • Indeks kategorii: indeks kategorii w danych wyjściowych modelu.
  • Wynik: wskaźnik ufności w danej kategorii wyrażony jako prawdopodobieństwo w przedziale od 0 do 1 w postaci liczby zmiennoprzecinkowej.
  • Nazwa kategorii (opcjonalnie): nazwa kategorii określona w metadanych modelu TensorFlow Lite (jeśli są dostępne).
  • Wyświetlana nazwa kategorii (opcjonalnie): wyświetlana nazwa kategorii określona w metadanych modelu TensorFlow Lite w języku określonym za pomocą opcji języka wyświetlanych nazw (jeśli są dostępne).

Opcje konfiguracji

To zadanie ma te opcje konfiguracji:

Nazwa opcji Opis Zakres wartości Wartość domyślna
displayNamesLocale Określa język etykiet, których należy używać do wyświetlanych nazw podanych w metadanych modelu zadania (jeśli są dostępne). Wartość domyślna to en w przypadku języka angielskiego. Możesz dodawać zlokalizowane etykiety do metadanych modelu niestandardowego, korzystając z interfejsu TensorFlow Lite Metadata Writer API. Kod języka en
maxResults Określa opcjonalną maksymalną liczbę najlepszych wyników klasyfikacji do zwrócenia. Jeśli wartość jest mniejsza od 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 metadanych modelu (jeśli takie istnieją). Wyniki poniżej tej wartości są odrzucane. Dowolna liczba zmiennych typu float Nie ustawiono
categoryAllowlist Ustawia opcjonalną listę dozwolonych nazw kategorii. Jeśli wyniki klasyfikacji nie są puste, a nazwa kategorii nie znajduje się w tym zbiorze, zostaną odfiltrowane. Powtarzające się lub nieznane nazwy kategorii są ignorowane. Ta opcja jest wzajemnie wykluczająca się z opcją categoryDenylist. Użycie obu spowoduje błąd. dowolne ciągi znaków; Nie ustawiono
categoryDenylist Ustawia opcjonalną listę nazw kategorii, które są niedozwolone. Jeśli nie jest pusty, wyniki klasyfikacji, których nazwa kategorii znajduje się w tym zbiorze, zostaną odfiltrowane. Powtarzające się lub nieznane nazwy kategorii są ignorowane. Ta opcja jest wzajemnie wykluczająca się z opcją categoryAllowlist, a użycie obu spowoduje błąd. dowolne ciągi znaków; Nie ustawiono

Modele

Klasyfikator tekstu może być używany z kilkoma modelami ML. Gdy zaczniesz tworzyć aplikację w ramach tego zadania, zacznij od domyślnego, zalecanego modelu na platformę docelową. Inne dostępne modele zwykle stanowią kompromis między wydajnością, dokładnością, rozdzielczością i wymaganiami dotyczącymi zasobów, a w niektórych przypadkach obejmują dodatkowe funkcje.

Wytrenowane wstępnie modele są przeznaczone do analizy nastawienia i przewidują, czy nastawienie tekstu wejściowego jest pozytywne czy negatywne. Modele zostały wytrenowane na zbiorze danych SST-2 (Stanford Sentiment Treebank), który zawiera recenzje filmów oznaczone jako pozytywne lub negatywne. Pamiętaj, że modele obsługują tylko język angielski. Zostały one wytrenowane na zbiorze danych z recenzjami filmów, więc jakość tekstu obejmującego inne tematy może być niższa.

Ten model korzysta z architektury opartej na BERT (w szczególności z modelu MobileBERT) i jest zalecany ze względu na wysoką dokładność. Zawiera metadane, które umożliwiają zadaniu wykonanie tokenizacji BERT poza grafem.

Nazwa modelu Kształt wejściowy Typ kwantowania Wersje
BERT-classifier [1x128],[1x128],[1x128] dynamic range Najnowsze

Średni model wektora dystrybucyjnego słowa

Ten model wykorzystuje średnią architekturę osadzania słów. Ten model ma mniejszy rozmiar i krótszy czas przetwarzania, ale w odróżnieniu od klasyfikatora BERT ma niższą dokładność prognozowania. Dostosowywanie tego modelu przez dodatkowe trenowanie jest też szybsze niż trenowanie klasyfikatora opartego na BERT. Ten model zawiera metadane, które umożliwiają zadaniu tokenizację za pomocą wyrażenia regularnego poza grafem.

Nazwa modelu Kształt wejściowy Typ kwantowania Wersje
Średni wektor dystrybucyjny słowa 1 x 256 Brak (float32) Najnowsze

Porównania zadań

Poniżej znajdziesz benchmarki zadań dla całego przepływu danych opartego na wytrenowanych wstępnie modelach. Wynik opóźnienia to średnie opóźnienie na Pixelu 6 z wykorzystaniem procesora CPU lub GPU.

Nazwa modelu Czas oczekiwania procesora Opóźnienie GPU
Średni wektor dystrybucyjny słowa 0,14 ms -
Klasyfikator BERT 57,68 ms -

Modele niestandardowe

Jeśli chcesz poprawić lub zmienić możliwości dostępnych modeli, możesz użyć do tego celu niestandardowego modelu AI. Za pomocą Kreatora modeli możesz modyfikować istniejące modele lub tworzyć nowe za pomocą narzędzi takich jak TensorFlow. Modele niestandardowe używane z MediaPipe muszą być w formacie TensorFlow Lite i mieć określone metadata opisujące parametry operacyjne modelu. Przed utworzeniem własnych modeli warto użyć Model Makera, aby zmodyfikować udostępnione modele w ramach tego zadania.