【问题标题】:Testing the Keras sentiment classification with model.predict使用 model.predict 测试 Keras 情感分类
【发布时间】:2016-02-05 19:02:16
【问题描述】:

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

【问题讨论】:

    标签: python sentiment-analysis lstm keras


    【解决方案1】:

    那么你基本上需要做的事情如下:

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

    【讨论】:

      【解决方案2】:

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

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

      可能您必须先将您的语料库转换为 ndarray 并将其扔到您的 model.predict 中

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

      【讨论】:

      • @PanuwatAssawinjaipetch 请编辑您的答案,以丰富您评论中的信息。
      猜你喜欢
      • 1970-01-01
      • 2018-08-28
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      • 2018-10-11
      • 1970-01-01
      • 2018-02-05
      • 1970-01-01
      相关资源
      最近更新 更多