在 Keras IMDB 示例中使用字符串作为输入

Use string as input in Keras IMDB example

我在看 Keras IMDB Movie reviews sentiment classification example (and the corresponding model on github),它学会了判断评论是正面的还是负面的。

数据已经过预处理,因此每条评论都被编码为一个整数序列,例如评论 "This movie is awesome!" 将是 [11, 17, 6, 1187],对于此输入,模型给出输出 'positive'.

数据集还提供了用于编码序列的单词索引,即我知道地图

This: 11
movie: 17
is: 6
awesome: 1187
...

我能否以某种方式将这些知识包含到模型中,使其输入是一个字符串,即它根据输入给出预测 "This movie is awesome!"?

首先,神经网络的输入绝不是字符串,它恰好是词汇表中单词(或字符)索引的列表。模型通常做的第一件事是嵌入转换(参见 the example),进一步将这些索引转换为(可训练的)浮点向量。

你真正的意思是数据预处理步骤,将用户的原始输入(可以是文本、图像像素、录音等)转换成一种格式适合和方便的模型。数据预处理就像模型本身一样是机器学习应用程序的重要组成部分,应该单独存储。如果您打算使用 imdb 数据集,词汇表已经过预处理。您可以在 keras 中调用 imdb.get_word_index() 来获取单词索引,或者您可以直接使用 vocabulary json file