【问题标题】:Loading Text Data from a CSV and Applying a Tokenizer in Keras从 CSV 加载文本数据并在 Keras 中应用分词器
【发布时间】:2020-10-28 18:25:12
【问题描述】:

对于一个看似简单的问题,我提前道歉;但是,我是使用 Tensorflow 和 Keras 的新手,我无法从教程或以前提出的问题中找到解决方案。

我正在尝试加载包含文章标题和情绪分数的数据集,并在文本数据上使用标记器进行分类。我的代码如下:

import keras
import sklearn
import pandas as pd
import numpy as np
from keras import preprocessing
from keras import models
from keras import layers

from google.colab import drive
drive.mount("/content/drive")

!ls drive/'My Drive'/'Dat'/Data

data = pd.read_csv("drive/My Drive/Dat/Data/stock_sentiments.csv", header=[0])

dataset = data.values 

X = dataset[:, :-1]
y = dataset[:, -1]

from keras.preprocessing.text import Tokenizer
from keras.preprocessing.sequence import pad_sequences

tokenizer = Tokenizer(num_words=1000, filters='0123456789!"#$%&()*+,-./:;<=>?@[\]^_`{|}~', lower=True) #this code works
tokenizer.fit_on_texts(X) #this code returns the error

sequences = tokenizer.texts_to_sequences(X) #this also returns and error

word_index = tokenizer.word_index

word_index

当我尝试拟合标记器时,我收到以下错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-21-0c427a3ac01d> in <module>()
      2 
      3 tokenizer = Tokenizer(num_words=1000, filters='0123456789!"#$%&()*+,-./:;<=>?@[\]^_`{|}~', lower=True) #this code works
----> 4 tokenizer.fit_on_texts(X) #this code returns the error

1 frames
/usr/local/lib/python3.6/dist-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: 'numpy.ndarray' object has no attribute 'lower'

当我打印出 X 时,它返回一个标题数组,由逗号和 [括号] 分隔,这正是我所期望的。当我打印出 y 时,它会打印一个由 0 和 1 组成的数组,用逗号分隔,这也是我所期望的。

我确定我错过了导致此错误的明显内容,但我觉得我已经走到了死胡同。任何帮助或澄清表示赞赏。

【问题讨论】:

    标签: python pandas tensorflow keras


    【解决方案1】:

    我最终使用了

    text = X.reshape(-1)
    

    这解决了问题。

    【讨论】:

      猜你喜欢
      • 2017-07-22
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      • 1970-01-01
      • 2017-03-18
      • 2011-02-02
      • 2015-11-12
      • 2019-01-31
      相关资源
      最近更新 更多