keras库preprocessing.text文本预处理

举报
Python新视野 发表于 2021/09/09 22:42:59 2021/09/09
【摘要】 文本预处理 Tokenizer(分词器) keras.preprocessing.text.Tokenizer(num_words=None, ...

文本预处理

Tokenizer(分词器)

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

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

该类允许使用两种方法向量化一个文本语料库:将每个文本转化为一个整数序列(每个整数都是词典中标记的索引);或者将其转化为一个向量,其中每个标记的系数可以是二进制值、词频、TF-IDF权重等。
参数

  • num_words: 需要保留的最大词数,基于词频。只有最常出现的 num_words 词会被保留。
  • filters: 一个字符串,其中每个元素是一个将从文本中过滤掉的字符。默认值是所有标点符号,加上制表符和换行符,减去 ’ 字符。
  • lower: 布尔值。是否将文本转换为小写。
  • split: 字符串。按该字符串切割文本。
  • char_level: 如果为 True,则每个字符都将被视为标记。
  • oov_token: 如果给出,它将被添加到 word_index 中,并用于在 text_to_sequence 调用期间替换词汇表外的单词。

默认情况下,删除所有标点符号,将文本转换为空格分隔的单词序列(单词可能包含 ’ 字符)。 这些序列然后被分割成标记列表。然后它们将被索引或向量化。0 是不会被分配给任何单词的保留索引。
在这里插入图片描述

hashing_trick

hashing_trick将文本转换为固定大小散列空间中的索引序列。

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

  
 
  • 1
  • 2
  • 3
  • 4

参数

  • text: 输入文本(字符串)。
  • n: 散列空间维度。
  • hash_function: 默认为 python 散列函数,可以是 ‘md5’ 或任意接受输入字符串并返回整数的函数。注意 ‘hash’ 不是稳定的散列函数,所以它在不同的运行中不一致,而 ‘md5’ 是一个稳定的散列函数。
  • filters: 要过滤的字符列表(或连接),如标点符号。默认:!"#$%&()*+,-./:;<=>?@[]^_{|}~,包含基本标点符号,制表符和换行符。
  • lower: 布尔值。是否将文本转换为小写。
  • split: 字符串。按该字符串切割文本。

返回值
整数词索引列表(唯一性无法保证)。

0 是不会被分配给任何单词的保留索引。
由于哈希函数可能发生冲突,可能会将两个或更多字分配给同一索引。 碰撞的概率与散列空间的维度和不同对象的数量有关。
在这里插入图片描述

one_hot

One-hot将文本编码为大小为 n 的单词索引列表。这是 hashing_trick函数的一个封装, 使用 hash 作为散列函数;单词索引映射无保证唯一性。

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

  
 
  • 1
  • 2
  • 3
  • 4

参数
text: 输入文本(字符串)。
n: 整数。词汇表尺寸。
filters: 要过滤的字符列表(或连接),如标点符号。默认:!"#$%&()*+,-./:;<=>?@[]^_{|}~,包含基本标点符号,制表符和换行符。
lower: 布尔值。是否将文本转换为小写。
split: 字符串。按该字符串切割文本。

返回值
[1, n] 之间的整数列表。每个整数编码一个词(唯一性无法保证)。

在这里插入图片描述

text_to_word_sequence

text_to_word_sequence将文本转换为单词(或标记)的序列。

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

  
 
  • 1
  • 2
  • 3
  • 4

参数
text: 输入文本(字符串)。
filters: 要过滤的字符列表(或连接),如标点符号。默认:!"#$%&()*+,-./:;<=>?@[]^_{|}~,包含基本标点符号,制表符和换行符。
lower: 布尔值。是否将文本转换为小写。
split: 字符串。按该字符串切割文本。

返回值
词或标记的列表。
在这里插入图片描述

keras中文文档

文章来源: blog.csdn.net,作者:Dream丶Killer,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_43965708/article/details/114042679

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。