Перейти к содержанию

Предобработка текста

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/