首页 > 解决方案 > 在 Keras IMDB 示例中使用字符串作为输入

问题描述

我正在查看Keras IMDB 电影评论情感分类示例以及 github 上的相应模型),它学会了判断评论是正面的还是负面的。

数据已经过预处理,因此每个评论都被编码为整数序列,例如评论“这部电影太棒了!” 将是[11, 17, 6, 1187],对于这个输入,模型给出输出“正”。

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

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

我能否以某种方式将这些知识包含到模型中,使其输入是一个字符串,即它根据输入“这部电影太棒了!”给出预测?

标签: tensorflowmachine-learningnlpkerastensorflow-serving

解决方案


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

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


推荐阅读