我需要将两组数据传递给tokenizer.fit_on_texts()
,但遇到无法识别文本的问题。tokenizer.word_index()
返回的是数字 2。我怀疑问题发生在tokenizer.fit_on_texts()
我向它传递一个带有 (33481, 2) 字符串的数据帧时。我看过的大多数示例都使用了 IMBD 数据集。
附加信息:我目前正在试验多分类问题,其中有带有标签的标题-文章对(同意、不同意、讨论、不相关)。我计划使用 LSTM 和预训练的 Glove 创建映射到已知嵌入的单词索引。
f_data
-
数据框 (33481, 2)
列 = ['标题','articleBody']。
从另外两个 df [ x_train
(26784, 2), val_train
(6697, 2)]创建
f_data[0]
回报
['kim yo jong 接替了 kim jong un role north ko...', 'san francisco marketwatch north korean leader...']
这是创作的片段f_data
:
# This df will be fed into the fit_on_texts()
# Creating df to contain the train and validation set
f_data = pd.DataFrame(columns = ['Headline', 'articleBody'])
# Adding data from x_train to f_data
f_data['Headline'] = x_train['Headline']
f_data['articleBody'] = x_train['articleBody']
# Appending x_val headline and article body columns
f_data = f_data.append(x_val[['Headline', 'articleBody']])
f_data
Keras/TF 代码问题
问题:我遇到的问题是,当我打印出 word_index 的长度时,它返回 2:
tokenizer.fit_on_texts(f_data[['Headline', 'articleBody']]
sequences = tokenizer.texts_to_sequences(f_data[['Headline', 'articleBody']])
word_index = tokenizer.word_index
print('Vocab size:', len(word_index))
>> Vocab size: 2
data = pad_sequences(sequences, padding = 'post', maxlen = MAX_SEQ_LEN)
print('Shape of data tensor:', data.shape)
print('Shape of label tensor:', y_train_cat.shape)
我试过变成f_datandarray 但得到一个属性错误。
f_data_2 = np.array(f_data[['Headline', 'articleBody']]) # ndarray
sequences = tokenizer.texts_to_sequences(apple)
AttributeError: 'numpy.ndarray' object has no attribute 'lower'
有什么建议么?我看过其他一些问题,但他们正在处理一个字符串列表
解决方案: 我想我终于有了一些工作,但我不完全确定这是正确的。
f_data = np.c_[(np.array(f_data['Headline']), np.array(f_data['articleBody']))]
f_data= f_data.tolist()
....
狐的传说
相关分类