使用 model.predict 测试 Keras 情感分类

Testing the Keras sentiment classification with model.predict

我已经在我的电脑上训练了 imdb_lstm.py。 现在我想通过输入我自己的一些文本来测试经过训练的网络。我该怎么做? 谢谢!

这可能会有所帮助。 http://keras.io/models/

这是一个示例用法。 How to use keras for XOR

可能你必须先将你的语料库转换成 ndarray 然后把它扔到你的 model.predict

从目前看来,model.predict 训练模型的输入应该是 100 个单词语料库,代表字典中每个单词的索引。所以如果你想用你的语料库训练它,你必须根据那些字典转换你的语料库,看看结果是 0 还是 1

所以你基本上需要做的是:

  1. Tokenize sequnces:将字符串转换为单词(特征):例如:"hello my name is georgio" to ["hello", "my", "name", "is" , "georgio"].
  2. 接下来,您要删除停用词(检查 Google 了解停用词是什么)。
  3. 这个阶段是可选的,它可能会导致错误的结果,但我认为值得一试。阻止你的话(功能),这样你会减少功能的数量,从而导致更快 运行。同样,这是可选的,可能会导致一些失败,例如:如果您将 'parking' 词干化,您会得到具有不同含义的 'park'。
  4. 下一步是创建字典(检查 Google)。每个单词都有一个唯一的编号,从现在开始我们将只使用这个编号。
  5. 计算机只理解数字,所以我们需要用他们的语言交谈。我们将从阶段 4 中获取字典,并用匹配的数字替换我们语料库中的每个单词。
  6. 现在我们需要将数据集分成两组:训练集和测试集。一个(训练)将训练我们的神经网络模型,第二个(测试)将帮助我们弄清楚我们的神经网络有多好。您可以使用 Keras 的交叉验证功能。
  7. 接下来的事情是定义我们的神经网络可以作为输入获得的最大特征数。 Keras 调用此参数 - 'maxlen'。但您实际上不必手动执行此操作,Keras 只需搜索语料库中最长的句子即可自动执行此操作。
  8. 接下来,假设 Keras 发现你的语料库中最长的句子有 20 个词(特征),你的一个句子是第一阶段的例子,它的长度是 5(如果我们删除停用词会更短),在这种情况下我们需要添加零,实际上是 15 个零。这称为填充序列,我们这样做是为了使每个输入序列的长度相同。