View source on GitHub
|
Text tokenization utility class.
tf.keras.preprocessing.text.Tokenizer(
num_words=None,
filters='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n',
lower=True,
split=' ',
char_level=False,
oov_token=None,
analyzer=None,
**kwargs
)
This class allows to vectorize a text corpus, by turning each text into either a sequence of integers (each integer being the index of a token in a dictionary) or into a vector where the coefficient for each token could be binary, based on word count, based on tf-idf...
By default, all punctuation is removed, turning the texts into
space-separated sequences of words
(words maybe include the ' character). These sequences are then
split into lists of tokens. They will then be indexed or vectorized.
0 is a reserved index that won't be assigned to any word.
Methods
fit_on_sequences
fit_on_sequences(
sequences
)
Updates internal vocabulary based on a list of sequences.
Required before using sequences_to_matrix
(if fit_on_texts was never called).
| Args | |
|---|---|
sequences
|
A list of sequence. A "sequence" is a list of integer word indices. |
fit_on_texts
fit_on_texts(
texts
)
Updates internal vocabulary based on a list of texts.
In the case where texts contains lists, we assume each entry of the lists to be a token.
Required before using texts_to_sequences or texts_to_matrix.
| Args | |
|---|---|
texts
|
can be a list of strings, a generator of strings (for memory-efficiency), or a list of list of strings. |
get_config
get_config()
Returns the tokenizer configuration as Python dictionary.
The word count dictionaries used by the tokenizer get serialized into plain JSON, so that the configuration can be read by other projects.
| Returns | |
|---|---|
| A Python dictionary with the tokenizer configuration. |
sequences_to_matrix
sequences_to_matrix(
sequences, mode='binary'
)
Converts a list of sequences into a Numpy matrix.
| Args | |
|---|---|
sequences
|
list of sequences (a sequence is a list of integer word indices). |
mode
|
one of "binary", "count", "tfidf", "freq" |
| Returns | |
|---|---|
| A Numpy matrix. |
| Raises | |
|---|---|
ValueError
|
In case of invalid mode argument,
or if the Tokenizer requires to be fit to sample data.
|
sequences_to_texts
sequences_to_texts(
sequences
)
Transforms each sequence into a list of text.
Only top num_words-1 most frequent words will be taken into account.
Only words known by the tokenizer will be taken into account.
| Args | |
|---|---|
sequences
|
A list of sequences (list of integers). |
| Returns | |
|---|---|
| A list of texts (strings) |
sequences_to_texts_generator
sequences_to_texts_generator(
sequences
)
Transforms each sequence in sequences to a list of texts(strings).
Each sequence has to a list of integers. In other words, sequences should be a list of sequences
Only top num_words-1 most frequent words will be taken into account.
Only words known by the tokenizer will be taken into account.
| Args | |
|---|---|
sequences
|
A list of sequences. |
| Yields | |
|---|---|
| Yields individual texts. |
texts_to_matrix
texts_to_matrix(
texts, mode='binary'
)
Convert a list of texts to a Numpy matrix.
| Args | |
|---|---|
texts
|
list of strings. |
mode
|
one of "binary", "count", "tfidf", "freq". |
| Returns | |
|---|---|
| A Numpy matrix. |
texts_to_sequences
texts_to_sequences(
texts
)
Transforms each text in texts to a sequence of integers.
Only top num_words-1 most frequent words will be taken into account.
Only words known by the tokenizer will be taken into account.
| Args | |
|---|---|
texts
|
A list of texts (strings). |
| Returns | |
|---|---|
| A list of sequences. |
texts_to_sequences_generator
texts_to_sequences_generator(
texts
)
Transforms each text in texts to a sequence of integers.
Each item in texts can also be a list, in which case we assume each item of that list to be a token.
Only top num_words-1 most frequent words will be taken into account.
Only words known by the tokenizer will be taken into account.
| Args | |
|---|---|
texts
|
A list of texts (strings). |
| Yields | |
|---|---|
| Yields individual sequences. |
to_json
to_json(
**kwargs
)
Returns a JSON string containing the tokenizer configuration.
To load a tokenizer from a JSON string, use
keras.preprocessing.text.tokenizer_from_json(json_string).
| Args | |
|---|---|
**kwargs
|
Additional keyword arguments
to be passed to json.dumps().
|
| Returns | |
|---|---|
| A JSON string containing the tokenizer configuration. |
View source on GitHub