我正在浏览keras中的示例,并运行了使用LSTM对内置imdb数据集(https://github.com/fchollet/keras/blob/master/examples/imdb_lstm.py)中的情绪进行分类的示例。
在检查数据时,每个评论都被描述为一个数字数组,我假设它们是使用此数据集构建的词汇表的索引。
然而,我的问题是如何在这个模型中输入一段新文本(我组成的东西)来预测?我怎样才能访问这些单词词汇?
之后我可以通过输入文本预处理成一个数字数组并将其输入。谢谢!
答案 0 :(得分:6)
在预测新文本时,您必须按照您为培训所做的相同步骤。
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)
答案 1 :(得分:2)
数据集还提供用于编码序列的单词索引:
word_index = reuters.get_word_index(path="reuters_word_index.pkl")
它还返回一个字典,其中键是单词(str),值是索引(整数)。例如。 word_index["giraffe"]
可能会返回1234。