我一直在用二进制数据和千兆字数据,经过训练的模型和测试来测试文本。光束搜索解码器给了我所有的UNK'两组数据和模型的结果。我使用的是默认参数设置。
我首先更改了data.py和batch_reader.py中的数据接口,以便从gigaword数据集中读取和解析文章和摘要。我在大约170万份文件上训练了一个超过90K小批量的模型。然后我在不同的测试集上测试了模型,但它返回了所有结果。 decoder result from model trained with gigaword
然后我使用了文本代码附带的二进制数据来训练一个小批量小于1k的小模型。我测试了相同的二进制数据。它会在解码文件中提供所有结果,除了少数几个' for'和'。'。 decoder result from model trained with binary data 我还看到了关于训练损失的张量板,它显示了训练融合。
在培训和测试中,我没有更改任何默认设置。 有没有人尝试过和我一样的事情并发现同样的问题?
答案 0 :(得分:2)
我想我发现为什么它至少会发生给定的玩具数据集。就我而言,我使用相同的玩具组(数据和词汇文件)进行训练和测试。我在解码器结果中获得[UNK]的原因是词汇文件不包含出现在玩具数据集摘要中的任何单词。由于这个原因,解码器无法找到要解码的字,因此在最终结果中使用[UNK]