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

我在查看Keras IMDB电影评论情感分类示例以及GitHub上对应的模型),该示例学习判断评论是正面还是负面的。

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

数据集还提供了用于编码序列的词索引,即我知道映射关系

这: 11电影: 17是: 6很棒: 1187...

我能否将这种知识纳入模型,使其输入成为字符串,即根据输入“这部电影很棒!”进行预测?


回答:

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

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

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注