使用内置数据集时如何在keras中输入新文本进行预测
How to input new text for prediction in keras while using an inbuilt dataset
我正在浏览 keras 中的示例,我 运行 使用 LSTM 对内置 imdb 数据集 (https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py) 上的情绪进行分类的示例。
在检查数据时,每条评论都被描述为一个数字数组,我假设它们是使用该数据集构建的词汇表中的索引。
但是我的问题是如何将一段新文本(我自己编的)输入到这个模型中以获得预测?我将如何获得这些词汇表?
之后我可以通过将文本输入到数字数组中进行预处理并将其输入。谢谢!
数据集还提供了用于编码序列的单词索引:
word_index = reuters.get_word_index(path="reuters_word_index.pkl")
它也是 return 一个字典,其中键是单词 (str),值是索引(整数)。例如。 word_index["giraffe"]
可能 return 1234.
预测新文本时,您必须按照与训练相同的步骤进行操作。
- 预处理这个新句子。
- 使用 word_index
将文本转换为矢量
- 使用您在训练期间指定的相同长度填充向量
- 展开数组并将其作为输入传递给您的模型
sentences = clean_text(text)
word_index = imdb.get_word_index()
x_test = [[self.word_index[w] for w in sentences if w in self.word_index]]
x_test = pad_sequences(x_test, maxlen=maxlen) # Should be same which you used for training data
vector = np.array([x_test.flatten()])
model.predict_classes(vector)
我正在浏览 keras 中的示例,我 运行 使用 LSTM 对内置 imdb 数据集 (https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py) 上的情绪进行分类的示例。
在检查数据时,每条评论都被描述为一个数字数组,我假设它们是使用该数据集构建的词汇表中的索引。
但是我的问题是如何将一段新文本(我自己编的)输入到这个模型中以获得预测?我将如何获得这些词汇表?
之后我可以通过将文本输入到数字数组中进行预处理并将其输入。谢谢!
数据集还提供了用于编码序列的单词索引:
word_index = reuters.get_word_index(path="reuters_word_index.pkl")
它也是 return 一个字典,其中键是单词 (str),值是索引(整数)。例如。 word_index["giraffe"]
可能 return 1234.
预测新文本时,您必须按照与训练相同的步骤进行操作。
- 预处理这个新句子。
- 使用 word_index 将文本转换为矢量
- 使用您在训练期间指定的相同长度填充向量
- 展开数组并将其作为输入传递给您的模型
sentences = clean_text(text)
word_index = imdb.get_word_index()
x_test = [[self.word_index[w] for w in sentences if w in self.word_index]]
x_test = pad_sequences(x_test, maxlen=maxlen) # Should be same which you used for training data
vector = np.array([x_test.flatten()])
model.predict_classes(vector)