Zanim będzie można trenować model na danych tekstowych, zazwyczaj trzeba przetworzyć (lub wstępnie przetworzyć) tekst. W wielu przypadkach tekst musi zostać poddany tokenizacji i wektoryzacji, zanim będzie można go wprowadzić do modelu, aw niektórych przypadkach tekst wymaga dodatkowych kroków przetwarzania wstępnego, takich jak normalizacja i wybór cech.
Po przetworzeniu tekstu do odpowiedniego formatu można go używać w przepływach pracy przetwarzania języka naturalnego (NLP), takich jak klasyfikacja tekstu, generowanie tekstu, streszczanie i tłumaczenie.
TensorFlow udostępnia dwie biblioteki do przetwarzania tekstu i języka naturalnego: KerasNLP ( GitHub ) i TensorFlow Text ( GitHub ).
KerasNLP to biblioteka wysokiego poziomu do modelowania NLP, która zawiera wszystkie najnowsze modele oparte na transformatorach, a także narzędzia do tokenizacji niższego poziomu. Jest to zalecane rozwiązanie dla większości przypadków użycia NLP. Zbudowany na TensorFlow Text, KerasNLP wyodrębnia operacje przetwarzania tekstu niskiego poziomu w interfejs API zaprojektowany z myślą o łatwości użytkowania. Ale jeśli wolisz nie pracować z interfejsem API Keras lub potrzebujesz dostępu do operacji przetwarzania tekstu niższego poziomu, możesz bezpośrednio użyć TensorFlow Text.
KerasNLP
Najłatwiejszym sposobem rozpoczęcia przetwarzania tekstu w TensorFlow jest użycie KerasNLP . KerasNLP to biblioteka przetwarzania języka naturalnego, która obsługuje przepływy pracy zbudowane z modułowych komponentów, które mają najnowocześniejsze wstępnie ustawione wagi i architektury. Możesz używać komponentów KerasNLP z ich gotową konfiguracją. Jeśli potrzebujesz większej kontroli, możesz łatwo dostosować komponenty. KerasNLP zapewnia obliczenia na wykresie dla wszystkich przepływów pracy, dzięki czemu można oczekiwać łatwej produkcji przy użyciu ekosystemu TensorFlow.
KerasNLP zawiera kompleksowe implementacje popularnych architektur modelowych, takich jak BERT i FNet . Korzystając z modeli, warstw i tokenizatorów KerasNLP, można wykonać wiele najnowocześniejszych przepływów pracy NLP, w tym tłumaczenie maszynowe , generowanie tekstu , klasyfikację tekstu i szkolenie modeli transformatorów .
KerasNLP jest rozszerzeniem podstawowego API Keras, a każdy moduł KerasNLP wysokiego poziomu jest Layer
lub Model
. Jeśli znasz Keras, rozumiesz już większość KerasNLP.
Tekst TensorFlow
KerasNLP zapewnia moduły przetwarzania tekstu wysokiego poziomu, które są dostępne jako warstwy lub modele. Jeśli potrzebujesz dostępu do narzędzi niższego poziomu, możesz użyć TensorFlow Text . TensorFlow Text zapewnia operacje i biblioteki ułatwiające pracę z nieprzetworzonymi ciągami tekstowymi i dokumentami. TensorFlow Text może regularnie wykonywać wstępne przetwarzanie wymagane przez modele tekstowe, a także zawiera inne funkcje przydatne do modelowania sekwencji.
Korzystając z TensorFlow Text, możesz wykonać następujące czynności:
- Zastosuj bogate w funkcje tokenizery, które mogą dzielić ciągi znaków na białe znaki, oddzielać słowa i znaki interpunkcyjne oraz zwracać przesunięcia bajtów za pomocą tokenów, dzięki czemu wiesz, gdzie ciąg można znaleźć w tekście źródłowym.
- Sprawdź, czy token pasuje do określonego wzorca ciągu. Możesz sprawdzić wielkość liter, interpunkcję, dane liczbowe i inne funkcje tokenów.
- Połącz żetony w n-gramy.
- Przetwórz tekst na grafie TensorFlow, tak aby tokenizacja podczas uczenia była zgodna z tokenizacją podczas wnioskowania.
Gdzie zacząć
Poniższe zasoby pomogą Ci rozpocząć pracę z przetwarzaniem tekstu TensorFlow:
- Tekst TensorFlow : samouczki, przewodniki i inne zasoby ułatwiające przetwarzanie tekstu za pomocą TensorFlow Text i KerasNLP.
- KerasNLP : Dokumentacja i zasoby dla KerasNLP.
- Samouczki TensorFlow : podstawowa dokumentacja TensorFlow (ten przewodnik) zawiera kilka samouczków dotyczących przetwarzania tekstu.
- Google Machine Learning: przewodnik po klasyfikacji tekstu : wprowadzenie krok po kroku do klasyfikacji tekstu. To dobre miejsce na rozpoczęcie, jeśli dopiero zaczynasz korzystać z uczenia maszynowego.