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,
document_count=0, **kwargs
)
Этот класс позволяет векторизовать текстовый корпус, преобразуя каждый текст либо в последовательность целых чисел (каждое целое число — индекс токена в словаре), либо в вектор, где коэффициент для каждого токена может быть бинарным, основанным на количестве слов, основанном на tf-idf...
| Аргументы | |
|---|---|
num_words | максимальное количество слов для сохранения, основанное на частоте слов. Будут сохранены только самые распространённые num_words-1 слов. |
filters | строка, где каждый элемент — символ, который будет отфильтрован из текстов. По умолчанию это все знаки пунктуации, плюс табуляции и переводы строк, минус символ ' . |
lower | логическое значение. Нужно ли преобразовать тексты в нижний регистр. |
split | строка. Разделитель для разделения слов. |
char_level | если True, каждый символ будет обрабатываться как токен. |
oov_token | если задано, оно будет добавлено в word_index и использовано для замены слов, отсутствующих в словаре, во время вызовов text_to_sequence. |
По умолчанию удаляются все знаки пунктуации, превращая тексты в последовательности слов, разделённые пробелами (слова могут включать символ '). Затем эти последовательности разделяются на списки токенов. После чего они будут индексированы или векторизованы.
0 — это резервированный индекс, который не будет назначен ни одному слову.
Методы
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, содержащая конфигурацию токенизатора. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/keras/preprocessing/text/Tokenizer