keras文本预处理

Tokenizer分词器

keras.preprocessing.text.Tokenizer(num_words=None, filters='!"#$%&()*+,-./:;<=>?@[\]^_`{|}~ ', lower=True, split=' ', char_level=False, oov_token=None)

Tokenizer是一个对文本语料库进行向量化的类,方法是将每个文本转换成一个整数序列(每个整数都是字典中一个分词的索引),或者将每个文本转换成一个向量,其中每个分词的系数可以是基于单词计数(word count)、基于tfidf等等的二进制。

  Arguments

    • num_words:None或整数,处理的最大单词数量。若被设置为整数,则分词器将被限制为待处理数据集中最常见的num_words个单词。
    • filters:一个字符串,其中每个元素都是要从文本中过滤的字符,默认是所有的标点符号,加上制表符、换行符,不包括“”。
    • lower:布尔变量,是否将字符转换为小写。
    • split:字符串,分词的分隔符。
    • char_level:如果为 True, 每个字符将被视为一个分词。
    • oov_token:如果给定,它将被添加到word_index中,用于在text_to_sequence调用期间替换词汇表外的单词。

  默认情况下,删除所有标点符号,把文本转换成空格分割的词序列(单词可能包括 ‘ 字符)。然后将这些序列分割成tokens列表。然后将它们编入索引或向量化。

  0是一个保留索引,不会分配给任何单词。

  类方法

    • fit_on_texts(texts)

      • texts:要用以训练的文本列表。
    • texts_to_sequences(texts)

      • texts:待转为序列的文本列表。

      • 返回值:序列的列表,列表中每个序列对应于一段输入文本。

    • texts_to_sequences_generator(texts)

      • 本函数是texts_to_sequences的生成器函数版

      • texts:待转为序列的文本列表

      • 返回值:每次调用返回对应于一段输入文本的序列

    • texts_to_matrix(texts, mode):

      • texts:待向量化的文本列表

      • mode:‘binary’,‘count’,‘tfidf’,‘freq’之一,默认为‘binary’

      • 返回值:形如(len(texts), nb_words)的numpy array

    • fit_on_sequences(sequences):

      • sequences:要用以训练的序列列表
    • sequences_to_matrix(sequences):

      • sequences:待向量化的序列列表

      • mode:‘binary’,‘count’,‘tfidf’,‘freq’之一,默认为‘binary’

      • 返回值:形如(len(sequences), nb_words)的numpy array

  属性

    • word_counts:字典,将单词(字符串)映射为它们在训练期间出现的次数。仅在调用fit_on_texts之后设置。
    • word_docs: 字典,将单词(字符串)映射为它们在训练期间所出现的文档或文本的数量。仅在调用fit_on_texts之后设置。
    • word_index: 字典,将单词(字符串)映射为它们的排名或者索引。仅在调用fit_on_texts之后设置。
    • document_count: 整数。分词器被训练的文档(文本或者序列)数量。仅在调用fit_on_texts或fit_on_sequences之后设置。

hashing_trick

one_hot

text_to_word_sequence

---恢复内容结束---

posted @ 2018-07-24 01:29  LifeExp  阅读(516)  评论(0)    收藏  举报