Ошибка при попытке токенизации текста в Keras? - PullRequest
0 голосов
/ 24 декабря 2018

Очень новичок в Keras и глубокое изучение, но я следую онлайн-руководству, и я пытаюсь токенизировать свой текст, чтобы я мог получить доступ к «фигуре» для использования в качестве «input_shape» при создании слоев для нейронной сети,Вот мой код:

df = pd.read_csv(pathname, encoding = "ISO-8859-1")
df = df[['content_cleaned', 'meaningful']]
df = df.sample(frac=1)

#Transposed columns into numpy arrays 
X = np.asarray(df[['content_cleaned']])
y = np.asarray(df[['meaningful']])

#Split into training and testing set
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=21) 

# Create tokenizer
tokenizer = Tokenizer(num_words=100) #No row has more than 100 words.

#Tokenize the predictors (text)
X_train = np.concatenate(tokenizer.sequences_to_matrix(int(X_train), mode="binary"))
X_test = np.concatenate(tokenizer.sequences_to_matrix(int(X_test), mode="binary"))

#Convert the labels to the binary
encoder = LabelBinarizer()
encoder.fit(y_train) 
y_train = encoder.transform(y_train)
y_test = encoder.transform(y_test)

Подсветка ошибки:

X_train = tokenizer.sequences_to_matrix(int(X_train), mode="binary")

Сообщение об ошибке:

TypeError: only length-1 arrays can be converted to Python scalars

Может кто-нибудь уловить мою ошибку ивозможно предоставить решение этой проблемы?Я новичок в этом и не смог обойти эту проблему.

Я хочу иметь возможность вызывать "X_train.shape", чтобы я мог передать это в input_shape, когда я создаю слои для сети.

Любая помощь будет отличной!

1 Ответ

0 голосов
/ 24 декабря 2018

Вы пытаетесь преобразовать числовой массив в целое число Python, что, конечно, невозможно и выдает ошибку (ошибка не связана с Keras).Что вы действительно хотите сделать, это изменить dtype этого массива numpy на int.Попробуйте следующее:

X_train.astype(np.int32)

вместо int(X_train)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...