tf.keras.preprocessing.text.Tokenizer
| Просмотреть исходный код на GitHub |
Утилитарный класс для токенизации текста.
tf.keras.preprocessing.text.Tokenizer(
num_words=None,
filters='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n',
lower=True,
split=' ',
char_level=False,
oov_token=None,
analyzer=None,
**kwargs
)
Этот класс позволяет векторизовать текстовый корпус, преобразуя каждый текст либо в последовательность целых чисел (каждое целое число — индекс токена в словаре), либо в вектор, где коэффициент для каждого токена может быть двоичным, основанным на количестве слов, основанным на tf-idf и т. д.
По умолчанию удаляются все знаки препинания, преобразуя тексты в последовательности слов, разделенных пробелами (слова могут включать символ '). Затем эти последовательности разбиваются на списки токенов. Затем они будут индексированы или векторизованы.
0 — это зарезервированный индекс, который не будет назначен ни одному слову.
| Аргументы | |
|---|---|
num_words | максимальное количество слов для сохранения, основанное на частоте слов. Будут сохранены только самые распространенные num_words-1 слов. |
filters | строка, где каждый элемент — символ, который будет отфильтрован из текстов. По умолчанию это все знаки препинания, плюс табуляции и переводы строк, за исключением символа '. |
lower | булево значение. Преобразовывать ли тексты в нижний регистр. |
split | строка. Разделитель для разделения слов. |
char_level | если True, каждый символ будет обрабатываться как токен. |
oov_token | если указано, оно будет добавлено в word_index и используется для замены слов вне словаря при вызовах text_to_sequence. |
analyzer | функция. Пользовательский анализатор для разделения текста. По умолчанию анализатор — text_to_word_sequence |
Методы
fit_on_sequences
fit_on_sequences(
sequences
)
Обновляет внутренний словарь на основе списка последовательностей.
Требуется перед использованием sequences_to_matrix (если fit_on_texts никогда не вызывался).
| Аргументы | |
|---|---|
sequences | Список последовательностей. Последовательность — это список целочисленных индексов слов. |
fit_on_texts
fit_on_texts(
texts
)
Обновляет внутренний словарь на основе списка текстов.
В случае, если texts содержит списки, мы предполагаем, что каждый элемент списков является токеном.
Требуется перед использованием texts_to_sequences или texts_to_matrix.
| Аргументы | |
|---|---|
texts | может быть списком строк, генератором строк (для экономии памяти) или списком списков строк. |
get_config
get_config()
Возвращает конфигурацию токенизатора в виде словаря Python.
Словари частоты слов, используемые токенизатором, сериализуются в простой JSON, чтобы конфигурацию можно было прочитать в других проектах.
| Возвращает | |
|---|---|
| Словарь Python с конфигурацией токенизатора. |
sequences_to_matrix
sequences_to_matrix(
sequences, mode='binary'
)
Преобразует список последовательностей в матрицу Numpy.
| Аргументы | |
|---|---|
sequences | список последовательностей (последовательность — это список целочисленных индексов слов). |
mode | одно из "binary", "count", "tfidf", "freq" |
| Возвращает | |
|---|---|
| Матрица Numpy. |
| Возможные исключения | |
|---|---|
ValueError | В случае неверного аргумента mode, или если для токенизатора требуется подгонка к данным выборки. |
sequences_to_texts
sequences_to_texts(
sequences
)
Преобразует каждую последовательность в список текстов.
Будут учтены только самые часто встречающиеся num_words-1 слова. Будут учтены только слова, известные токенизатору.
| Аргументы | |
|---|---|
sequences | Список последовательностей (список целых чисел). |
| Возвращает | |
|---|---|
| Список текстов (строки) |
sequences_to_texts_generator
sequences_to_texts_generator(
sequences
)
Преобразует каждую последовательность в sequences в список текстов (строк).
Каждая последовательность должна быть списком целых чисел. Другими словами, последовательности должны быть списком последовательностей.
Будут учтены только самые часто встречающиеся num_words-1 слова. Будут учтены только слова, известные токенизатору.
| Аргументы | |
|---|---|
sequences | Список последовательностей. |
| Возвращает | |
|---|---|
| Возвращает отдельные тексты. |
texts_to_matrix
texts_to_matrix(
texts, mode='binary'
)
Преобразует список текстов в матрицу Numpy.
| Аргументы | |
|---|---|
texts | список строк. |
mode | одно из "binary", "count", "tfidf", "freq". |
| Возвращает | |
|---|---|
| Матрица Numpy. |
texts_to_sequences
texts_to_sequences(
texts
)
Преобразует каждый текст в texts в последовательность целых чисел.
Будут учтены только самые часто встречающиеся num_words-1 слова. Будут учтены только слова, известные токенизатору.
| Аргументы | |
|---|---|
texts | Список текстов (строки). |
| Возвращает | |
|---|---|
| Список последовательностей. |
texts_to_sequences_generator
texts_to_sequences_generator(
texts
)
Преобразует каждый текст в texts в последовательность целых чисел.
Каждый элемент в texts также может быть списком, в этом случае мы предполагаем, что каждый элемент этого списка — токен.
Будут учтены только самые часто встречающиеся num_words-1 слова. Будут учтены только слова, известные токенизатору.
| Аргументы | |
|---|---|
texts | Список текстов (строки). |
| Возвращает | |
|---|---|
| Возвращает отдельные последовательности. |
to_json
to_json(
**kwargs
)
Возвращает строку JSON, содержащую конфигурацию токенизатора.
Чтобы загрузить токенизатор из строки JSON, используйте keras.preprocessing.text.tokenizer_from_json(json_string).
| Аргументы | |
|---|---|
**kwargs | Дополнительные ключевые аргументы, которые нужно передать в json.dumps(). |
| Возвращаемое значение | |
|---|---|
| Строка JSON, содержащая конфигурацию токенизатора. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/keras/preprocessing/text/Tokenizer