【问题标题】:textsum beam search decoder gives all <UNK> results文本光束搜索解码器给出了所有结果
【发布时间】:2016-09-28 08:34:08
【问题描述】:

我一直在使用二进制数据和 gigaword 数据测试 textsum,训练模型并进行测试。波束搜索解码器为我提供了包含数据集和模型的所有“UNK”结果。我使用的是默认参数设置。

我首先更改了data.py和batch_reader.py中的数据接口,从gigaword数据集中读取和解析文章和摘要。我在大约 170 万个文档上训练了一个包含超过 90K 小批量的模型。然后我在不同的测试集上测试了模型,但它返回了所有结果。 decoder result from model trained with gigaword

然后我使用 textsum 代码附带的二进制数据来训练一个少于 1k 小批量的小型模型。我测试了相同的二进制数据。它给出了解码文件中的所有结果,除了一些“for”和“.”。 decoder result from model trained with binary data 我还查看了关于训练损失的张量板,它显示训练收敛。

在训练和测试中,我没有更改任何默认设置。 有没有人和我尝试过同样的事情并发现了同样的问题?

【问题讨论】:

  • 我也看到了同样的事情。不幸的是,我无法访问 gigaword 数据集,但是当尝试对玩具数据集进行训练然后运行解码时,我也看到类似于“使用二进制数据训练的模型的解码器结果”链接的结果。我也打算在这里发帖,问我是否遗漏了一些东西,并看到你已经发布了。有什么运气能解决这个问题吗?
  • 是的,“”问题是由词汇引起的。我在 gigaword 数据上重新生成了词汇并对其进行了训练。现在它有了一些有意义的结果。

标签: tensorflow textsum


【解决方案1】:

我想我找到了为什么至少在给定的玩具数据集上会发生这种情况。就我而言,我使用给定的相同玩具集(数据和词汇文件)进行了训练和测试。我在解码器结果中得到 [UNK] 的原因是词汇文件不包含玩具数据集摘要中出现的任何单词。由于这个原因,解码器找不到要解码的单词,因此在最终结果中使用 [UNK]

【讨论】:

  • 是的,你是对的。后来我也发现并重新生成了词汇。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多