Text Preprocessing
Tokenizer
keras.preprocessing.text.Tokenizer(
num_words=None,
filters=’!»#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n’,
lower=True,
split=’ ‘,
char_level=False,
oov_token=None,
document_count=0)
Служебный класс токенизации текста.
Этот класс позволяет выполнить векторизацию текстовых данных, превращая каждый элемент текста либо в последовательность целых чисел (где каждое целое число является индексом токена (лексемы) в словаре), либо в вектор,
в котором значение каждого токена может быть бинарным, либо представлено на основании метода “мешка слов”, либо на основании метода tf-idf…
Параметры класса
num_words: максимальное количество слов, для которых нужно провести токенизацию, основываясь на частоте слов в тексте. Будут переведены
в токены только самые распространенные слова в количестве num_words-1.
filters: строка, содержащая символы, которые будут исключены из текста.
По умолчанию используются все символы пунктуации, плюс символы табуляции
и разрыва строки, но исключая символ ‘ (одиночный апостроф).
lower: логическое значение. Следует ли приводить текст к нижнему регистру.
split: строка. Символ, по которому будет происходить разделение слов в тексте.
char_level: если указано значение True, тогда каждый символ будет рассматриваться как токен.
oov_token: если передан этот параметр, то он будет добавлен в word_index
и будет использован для замены слов, не входящих в словарь, во время вызовов text_to_sequence.
По умолчанию вся пунктуация удаляется и текст превращается
в последовательности слов, разделенные пробелами (слова могут включать символ ‘ — одиночный апостроф). Затем эти последовательности разбиваются на списки из токенов. Затем они будут индексированы или векторизованы.
0 — это зарезервированный индекс, который не будет присвоен ни одному слову.
hashing_trick
keras.preprocessing.text.hashing_trick(
text,
n,
hash_function=None,
filters=’!»#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n’,
lower=True,
split=’ ‘)
Преобразует текст в последовательность индексов в пространстве хэширования фиксированного размера.
Параметры метода
text: Текст для преобразования (в виде строки).
n: целое число. Размерность пространства хеширования.
hash_function: по умолчанию используется функция python hash. Может быть использована функция md5 или любая другая функция, которая принимает
на вход строку и возвращает целое число (int). Обратите внимание на тот факт,
что функция hash не является стабильной функцией хеширования, поэтому
её значения могут отличаться при различных вызовах используемого метода,
в то время как функция md5 является стабильной функцией хеширования.
filters: список (или конкатенация) символов, подлежащих фильтрации, например знаков препинания. По умолчанию включены символы: !»#$%&()*+,-./:;<=>?@[\]^_`{|}~\t\n, а также основные знаки препинания, табуляции и символы новой строки.
lower: логическое значение. Следует ли приводить текст к нижнему регистру.
split: строка. Символ, по которому будет происходить разделение слов в тексте.
Значения, возвращаемые методом
Список числовых индексов слово (уникальность не гарантируется).
0 — это зарезервированный индекс, который не будет присвоен ни одному слову.
Двум и более словам могут быть присвоены одинаковые индексы из-за возможных коллизий при работе функции хеширования. Вероятность подобных коллизий зависит от размера пространства хеширования и количества отдельных объектов.
one_hot
keras.preprocessing.text.one_hot(
text,
n,
filters=’!»#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n’,
lower=True,
split=’ ‘)
One-hot кодирует текст в список индексов слов c размером n.
Этот метод является обёрткой для метода hashing_trick, использующего хэш-функцию hash; уникальность сопоставления слова и его индекса
не гарантируется.
Параметры метода
text: Текст для преобразования (в виде строки).
n: целое число. Размерность пространства хеширования.
filters: список (или конкатенация) символов, подлежащих фильтрации, например знаков препинания. По умолчанию включены символы: !»#$%&()*+,-./:;<=>?@[\]^_`{|}~\t\n, а также основные знаки препинания, табуляции и символы новой строки.
lower: логическое значение. Следует ли приводить текст к нижнему регистру.
split: строка. Символ, по которому будет происходить разделение слов в тексте.
Значения, возвращаемые методом
Список целых чисел в интервале [1, n]. Каждое целое число кодирует одно слово (уникальность индексов слов не гарантируется).
text_to_word_sequence
keras.preprocessing.text.text_to_word_sequence(
text,
filters=’!»#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n’,
lower=True,
split=’ ‘)
Преобразует текст в последовательность слов (или токенов).
Параметры метода
text: Текст для преобразования (в виде строки).
filters: список (или конкатенация) символов, подлежащих фильтрации, например знаков препинания. По умолчанию включены символы: !»#$%&()*+,-./:;<=>?@[\]^_`{|}~\t\n, а также основные знаки препинания, табуляции и символы новой строки.
lower: логическое значение. Следует ли приводить текст к нижнему регистру.
split: строка. Символ, по которому будет происходить разделение слов в тексте.
Значения, возвращаемые методом
Список слов (или токенов).
Оригинал: https://keras.io/preprocessing/text/