当我运行此脚本时 ->
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("空")