Przetwarzanie tekstu i języka naturalnego za pomocą TensorFlow

Zanim będzie można wytrenować model na danych tekstowych, zazwyczaj konieczne jest przetworzenie (lub wstępne przetworzenie) tekstu. W wielu przypadkach tekst musi zostać tokenizowany i wektoryzowany, zanim będzie można go wprowadzić do modelu, a w niektórych przypadkach tekst wymaga dodatkowych kroków wstępnego przetwarzania, takich jak normalizacja i selekcja cech.

Po przetworzeniu tekstu do odpowiedniego formatu można go wykorzystać w procesach przetwarzania języka naturalnego (NLP), takich jak klasyfikacja tekstu, generowanie tekstu, podsumowywanie i tłumaczenie.

TensorFlow udostępnia dwie biblioteki do przetwarzania tekstu i języka naturalnego: KerasNLP ( GitHub ) i TensorFlow Text ( GitHub ).

KerasNLP to biblioteka modelowania NLP wysokiego poziomu, 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 zastosowań NLP. Zbudowany na bazie TensorFlow Text, KerasNLP abstrahuje operacje przetwarzania tekstu niskiego poziomu do interfejsu API zaprojektowanego z myślą o łatwości użytkowania. Jeśli jednak wolisz nie korzystać z API Keras lub potrzebujesz dostępu do operacji przetwarzania tekstu niższego poziomu, możesz skorzystać bezpośrednio z TensorFlow Text.

KerasNLP

Najprostszym sposobem na rozpoczęcie przetwarzania tekstu w TensorFlow jest użycie KerasNLP . KerasNLP to biblioteka do przetwarzania języka naturalnego, która obsługuje przepływy pracy zbudowane z modułowych komponentów o najnowocześniejszych, predefiniowanych wagach i architekturach. Komponentów KerasNLP można używać z ich gotową konfiguracją. Jeśli potrzebujesz większej kontroli, możesz je łatwo dostosować. KerasNLP oferuje obliczenia w grafie dla wszystkich przepływów pracy, dzięki czemu możesz oczekiwać łatwej produkcji z wykorzystaniem ekosystemu TensorFlow.

KerasNLP zawiera kompleksowe implementacje popularnych architektur modelowych, takich jak BERT i FNet . Korzystając z modeli, warstw i tokenizerów KerasNLP, można realizować wiele najnowocześniejszych procesów przetwarzania języka naturalnego (NLP), w tym tłumaczenie maszynowe , generowanie tekstu , klasyfikację tekstu i trenowanie modelu transformatorowego .

KerasNLP to rozszerzenie podstawowego API Keras, a każdy moduł KerasNLP wysokiego poziomu jest Layer lub Model . Jeśli znasz Keras, rozumiesz już większość funkcji KerasNLP.

Tekst TensorFlow

KerasNLP oferuje moduły przetwarzania tekstu wysokiego poziomu, 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 udostępnia operacje i biblioteki ułatwiające pracę z surowymi ciągami tekstowymi i dokumentami. TensorFlow Text może wykonywać preprocesowanie wymagane w modelach tekstowych, a także zawiera inne funkcje przydatne w modelowaniu sekwencji.

Za pomocą TensorFlow Text możesz wykonać następujące czynności:

  • Zastosuj bogate w funkcje tokenizatory, które potrafią dzielić ciągi znaków według odstępów, oddzielać słowa i znaki interpunkcyjne, a także zwracać przesunięcia bajtowe za pomocą tokenów. Dzięki temu wiesz, gdzie znajduje się ciąg znaków w tekście źródłowym.
  • Sprawdź, czy token pasuje do określonego wzorca ciągu znaków. Możesz sprawdzić kapitalizację, interpunkcję, dane liczbowe i inne cechy tokena.
  • Łączenie tokenów w n-gramy.
  • Przetwarzaj tekst w grafie TensorFlow tak, aby tokenizacja w trakcie szkolenia odpowiadała tokenizacji w trakcie wnioskowania.

Od czego zacząć

Poniższe zasoby pomogą Ci rozpocząć korzystanie z przetwarzania tekstu TensorFlow: