Closed shengqiangzhang closed 3 years ago
@xiongma 你好,我将你的代码中关于数据的预处理部分,改成适应英文数据集输入的,更改的部分如下:
list(sent1)
sent1.split(" ")
sent2.split(" ")
max1
max2
400
50
rouge = RougeCalculator(stopwords=True, lang="zh")
rouge = RougeCalculator(stopwords=True, lang="en")
以上是我预处理更改的部分,并且查看了输出的token,确实是以英文word为划分的。 模型部分我没有任何更改。
我的问题是:
beamsearch
copy机制
train loss
以下是相关截图:
train loss(train loss从6.5降到1.7,并且会继续下降,由于时间关系我只截了下降到1.7的部分)
pred生成的句子(train loss为1.7时所保存的模型,第一行为预测的句子,第二行为参考句子)
我目前正在看你的代码中关于beamsearch和copy机制这两部分,打算先将copy部分去掉,看看能不能回归到正常seq2seq模型的效果。
copy
seq2seq
请问你觉得大概是什么原因导致了以上情况呢?
我使用了https://github.com/lipiji/TranSummar的代码,目前效果正常。
@xiongma 你好,我将你的代码中关于数据的预处理部分,改成适应英文数据集输入的,更改的部分如下:
list(sent1)
和list(sent1)
操作分别改成sent1.split(" ")
,sent2.split(" ")
。这里是为了适应英文分词,以空格为区分,并且输入粒度是word级别。max1
和max2
的大小,这里我根据我的数据集设定max1
为400
,max2
为50
。rouge = RougeCalculator(stopwords=True, lang="zh")
改成rouge = RougeCalculator(stopwords=True, lang="en")
以上是我预处理更改的部分,并且查看了输出的token,确实是以英文word为划分的。 模型部分我没有任何更改。
我的问题是:
max1
和max2
,其余超参没做改动。beamsearch
和copy机制
这两部分需要改动呢,原因是train loss
其实是正常下降的,但是eval和pred生成的句子质量非常差。以下是相关截图:
train loss(train loss从6.5降到1.7,并且会继续下降,由于时间关系我只截了下降到1.7的部分)
pred生成的句子(train loss为1.7时所保存的模型,第一行为预测的句子,第二行为参考句子)
我目前正在看你的代码中关于
beamsearch
和copy机制
这两部分,打算先将copy
部分去掉,看看能不能回归到正常seq2seq
模型的效果。请问你觉得大概是什么原因导致了以上情况呢?