KERAS令牌化(适合文本)



当我运行此脚本时 ->

tokenizer.fit_on_texts(df['text'].values)
sequences = tokenizer.texts_to_sequences(df['text'].values)
word_index = tokenizer.word_index
print('Found %s unique tokens.' % len(word_index))

我遇到此错误

AttributeError                            Traceback (most recent call 
last)
<ipython-input-4-7c08b89b116a> in <module>()
  ----> 1 tokenizer.fit_on_texts(df['text'].values)
        2 sequences = tokenizer.texts_to_sequences(df['text'].values)
        3 word_index = tokenizer.word_index
        4 print('Found %s unique tokens.' % len(word_index))
 /opt/conda/lib/python3.6/site-packages/keras_preprocessing/text.py in 
 fit_on_texts(self, texts)
     220                                             self.filters,
     221                                             self.lower,
 --> 222                                             self.split)
     223             for w in seq:
     224                 if w in self.word_counts:
 /opt/conda/lib/python3.6/site-packages/keras_preprocessing/text.py in 
 text_to_word_sequence(text, filters, lower, split)
      41     """
      42     if lower:
 ---> 43         text = text.lower()
      44 
      45     if sys.version_info < (3,):
 AttributeError: 'float' object has no attribute 'lower'

我的CSV文件的大小是6970963,当我减小尺寸起作用时,keras tokenizer的尺寸限制是否有任何尺寸限制

我想文件大小不是问题,请尝试使用试用块并查看您正在传递的数据。使用这样的东西而不是行

#instead of this
tokenizer.fit_on_texts(df['text'].values)
#use this to look at the data when it is causing that error.
try:
   tokenizer.fit_on_texts(df['text'].values)
except Exception as e:
   print("exceiption is", e)
   print("data passedin ", df['text'].values)

然后,您可以相应地修复所遇到的错误。

检查您要安装令牌的文本的数据类型。它将其视为浮子而不是字符串。在安装令牌之前,您需要将其转换为字符串。尝试这样的事情: train_x = [str(x [1])在train_x中的x]

尽管它是一个旧线程,但仍然可以回答。

您的数据可能具有NAN,它们被解释为浮点而不是NAN。将类型施加为str(word)或使用data删除NAN.fillna("空")

相关内容

  • 没有找到相关文章

最新更新