rockingdingo / deepnlp

Deep Learning NLP Pipeline implemented on Tensorflow
MIT License
1.35k stars 712 forks source link

textsum 结果都是_UNK #13

Open strayly opened 7 years ago

strayly commented 7 years ago

textsum的ckpt下的文件解压后似乎少一个.meta文件 不管我用news/train目录下数据,还是用自己的语料训练 结果都是_UNK

DavidDota commented 7 years ago

你好 后来你找到输出都是_UNK的问题了吗?@strayly

JuruoMP commented 7 years ago

注意需要自己构造词表,如果不更新词表输出只可能是_UNK

DavidDota commented 7 years ago

我是自己构造的词表,并且词表对数据集的覆盖率达到了95%@li-yuntao

JuruoMP commented 7 years ago

@DavidDota 我自己训练的时候也会出现一些_UNK,但是还是能输出一部分正常结果的。 我用的训练集是LCSTS和搜狗全网新闻,训练了2m轮左右,模型收敛了,但是结果并没有像样例里那么好

DavidDota commented 7 years ago

@li-yuntao 那你的模型收敛时,困惑度大概是多少呢? 还有就是你用的数据集是多大的?

JuruoMP commented 7 years ago

@DavidDota 最小的bucket 1.47,平均2.46

DavidDota commented 7 years ago

@li-yuntao 谢谢! 那你的数据集大概是多少条呢?

42binwang commented 7 years ago

我用他提供的模型,输出也全是_UNK。请问,你们运行的tensorflow版本是多少?

DavidDota commented 7 years ago

1.0版本!

ericxsun commented 7 years ago

用你的代码,跑 sogou 的语料预测出来全是 _UNK, 或标点符号,或者“的”之类的停用词。你能详细说下你的数据处理及模型参数优化吗?谢谢

我训练的时候用 100w 条样本,收敛时困惑度是 6 左右

sunjinguo commented 7 years ago

@li-yuntao @DavidDota 您好,想问一下训练自己的模型的时候,news下的dev中的content-dev.txt 与 title-dev.txt作用是什么,看代码说是development data,但是不太懂,求教,谢谢!

DavidDota commented 7 years ago

@li-yuntao dev就是开发集

sunjinguo commented 7 years ago

@DavidDota 谢谢!请问您训练的自己的模型效果怎么样呢?

DavidDota commented 7 years ago

@sunjinguo 我的效果不是很好, 我觉得还是跟数据规模以及预处理数据的质量有关,但是当时由于时间关系,就没有继续做优化了

sunjinguo commented 7 years ago

@DavidDota 恩,我是刚接触深度学习应用与文本处理这方面,很多东西不太了解。想问一下,你是基于工作应用去做文本自动摘要的吗?deepnlp项目里面其他的子项目(分词、标注等)也都利用自己的语料实现过吗?

DavidDota commented 7 years ago

@sunjinguo 没有,我是在学校时研究了一下,但是现在实习了并没有从事NLP,自己动手的话也就做过分词和摘要,

sunjinguo commented 7 years ago

@li-yuntao 你好,请问你现在还在做文本自动摘要方面的优化吗?都从哪些角度改善呢?效果好吗?

JuruoMP commented 7 years ago

@sunjinguo 考虑一下加强attention的方法和对input的记忆能力,这个框架实际上并不能很好的记下来输入的全部信息,特别是当输入文本长于一个paragraph的时候。

JuruoMP commented 7 years ago

@sunjinguo 1w的训练数据是什么数据?我的经验是这个数据量在代码中的参数下会有一定的过拟合,但是你的情况比较奇怪。能不能发一个详细一点的信息,比如:数据集是什么,enc dec词表的大小,词表在两部分的覆盖程度,使用的模型参数

sunjinguo commented 7 years ago

@li-yuntao 谢谢!想问一下,您在预处理阶段特殊符号处理,分词,跟这个开源代码的处理是一样的吗?我开始是想用小量数据试一下结果,用的是微博文本数据。将微博文本做了特殊符合、日期、时间的标签替换(自己觉得标签替换会损失太多的信息了)做了文本及标题的结巴分词作为训练集和开发集,词表的大小用的是50000的那个,是代码里面headline.py设置的参数,都没有改过(初学者对代码有点陌生,所以没改动)关于词表对两部分的覆盖程度,请教一下这个需要怎么分析呢?谢谢!

yuyang9999 commented 7 years ago

我在data_utils.py 的137行改成 return [vocabulary.get(re.sub(_DIGIT_RE, b"0", w).decode('utf8'), UNK_ID) for w in words] 例子就跑通了

angeliababy commented 5 years ago

@li-yuntao 自己构造的词表是全部的分词结果吗,我用3w多的新闻语料分词数达到了20w多。感觉词表数太多了