小编典典

Keras Tokenizer方法到底能做什么?

python

有时,我们需要执行以下操作:

from keras.preprocessing.text import Tokenizer
tokenizer = Tokenizer(num_words=my_max)

然后,我们总是吟诵此咒语:

tokenizer.fit_on_texts(text) 
sequences = tokenizer.texts_to_sequences(text)

尽管我(或多或少)了解了总的效果,但是无论我做了多少研究(显然包括文档),我都无法弄清楚每个人分别做什么。我想我从来没有见过一个没有另一个。

那么,每个做什么?在任何情况下,您会使用其中一个而不使用另一个吗?如果不是,为什么不将它们简单地合并为:

sequences = tokenizer.fit_on_texts_to_sequences(text)

很抱歉,如果我缺少明显的内容,但是我对此很陌生。


阅读 272

收藏
2021-01-20

共1个答案

小编典典

源代码

  1. fit_on_texts 根据文本列表更新内部词汇。 该方法根据词频创建词汇索引。因此,如果您给它类似“猫坐在垫子上”的字样。它将创建一个字典,word_index["the"] = 1; word_index["cat"] = 2它是单词->索引字典,因此每个单词都会获得一个唯一的整数值。0保留用于填充。因此,较低的整数表示更频繁的单词(通常前几个是停用词,因为它们出现的次数很多)。
  2. texts_to_sequences 将文本中的每个文本转换为整数序列。 因此,它基本上接受文本中的每个单词,并将其替换为word_index字典中相应的整数值。仅此而已,当然也不会涉及任何魔术。

为什么不合并它们? 因为您几乎总是适合 一次多次
转换为序列。您将适合您的训练语料库,并word_index在训练/评估/测试/预测时使用完全相同的词典将实际文本转换为序列,以将其输入网络。因此,将这些方法分开是有意义的。

2021-01-20